Clean up some base/browser files

This commit is contained in:
Alex Dima
2016-02-03 10:51:38 +01:00
parent 70297de1d6
commit 9dfc48fd90
7 changed files with 147 additions and 334 deletions

View File

@@ -4,10 +4,10 @@
*--------------------------------------------------------------------------------------------*/
'use strict';
import Lifecycle = require('vs/base/common/lifecycle');
import DomUtils = require('vs/base/browser/dom');
import Mouse = require('vs/base/browser/mouseEvent');
import IframeUtils = require('vs/base/browser/iframe');
import * as DomUtils from 'vs/base/browser/dom';
import {IDisposable, disposeAll} from 'vs/base/common/lifecycle';
import {StandardMouseEvent} from 'vs/base/browser/mouseEvent';
import {IframeUtils} from 'vs/base/browser/iframe';
export interface IStandardMouseMoveEventData {
leftButton:boolean;
@@ -28,7 +28,7 @@ export interface IOnStopCallback {
}
export function standardMouseMoveMerger(lastEvent:IStandardMouseMoveEventData, currentEvent:MouseEvent):IStandardMouseMoveEventData {
var ev = new Mouse.StandardMouseEvent(currentEvent);
let ev = new StandardMouseEvent(currentEvent);
ev.preventDefault();
return {
leftButton: ev.leftButton,
@@ -37,9 +37,9 @@ export function standardMouseMoveMerger(lastEvent:IStandardMouseMoveEventData, c
};
}
export class GlobalMouseMoveMonitor<R> implements Lifecycle.IDisposable {
export class GlobalMouseMoveMonitor<R> implements IDisposable {
private hooks:Lifecycle.IDisposable[];
private hooks:IDisposable[];
private mouseMoveEventMerger:IEventMerger<R>;
private mouseMoveCallback:IMouseMoveCallback<R>;
private onStopCallback:IOnStopCallback;
@@ -62,10 +62,10 @@ export class GlobalMouseMoveMonitor<R> implements Lifecycle.IDisposable {
}
// Unhook
this.hooks = Lifecycle.disposeAll(this.hooks);
this.hooks = disposeAll(this.hooks);
this.mouseMoveEventMerger = null;
this.mouseMoveCallback = null;
var onStopCallback = this.onStopCallback;
let onStopCallback = this.onStopCallback;
this.onStopCallback = null;
if (invokeStopCallback) {
@@ -90,9 +90,9 @@ export class GlobalMouseMoveMonitor<R> implements Lifecycle.IDisposable {
this.mouseMoveCallback = mouseMoveCallback;
this.onStopCallback = onStopCallback;
var windowChain = IframeUtils.getSameOriginWindowChain();
for (var i = 0; i < windowChain.length; i++) {
this.hooks.push(DomUtils.addDisposableThrottledListener(windowChain[i].window.document, 'mousemove',
let windowChain = IframeUtils.getSameOriginWindowChain();
for (let i = 0; i < windowChain.length; i++) {
this.hooks.push(DomUtils.addDisposableThrottledListener(windowChain[i].window.document, 'mousemove',
(data:R) => this.mouseMoveCallback(data),
(lastEvent:R, currentEvent:MouseEvent) => this.mouseMoveEventMerger(lastEvent, currentEvent)
));
@@ -100,18 +100,18 @@ export class GlobalMouseMoveMonitor<R> implements Lifecycle.IDisposable {
}
if (IframeUtils.hasDifferentOriginAncestor()) {
var lastSameOriginAncestor = windowChain[windowChain.length - 1];
let lastSameOriginAncestor = windowChain[windowChain.length - 1];
// We might miss a mouse up if it happens outside the iframe
// This one is for Chrome
this.hooks.push(DomUtils.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseout', (browserEvent:MouseEvent) => {
var e = new Mouse.StandardMouseEvent(browserEvent);
let e = new StandardMouseEvent(browserEvent);
if (e.target.tagName.toLowerCase() === 'html') {
this.stopMonitoring(true);
}
}));
// This one is for FF
this.hooks.push(DomUtils.addDisposableListener(lastSameOriginAncestor.window.document, 'mouseover', (browserEvent:MouseEvent) => {
var e = new Mouse.StandardMouseEvent(browserEvent);
let e = new StandardMouseEvent(browserEvent);
if (e.target.tagName.toLowerCase() === 'html') {
this.stopMonitoring(true);
}
@@ -122,4 +122,4 @@ export class GlobalMouseMoveMonitor<R> implements Lifecycle.IDisposable {
}));
}
}
}
}