mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-04 07:15:54 +01:00
Clean up some base/browser files
This commit is contained in:
@@ -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 {
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user