Merge from master

This commit is contained in:
Raj Musuku
2019-02-21 17:56:04 -08:00
parent 5a146e34fa
commit 666ae11639
11482 changed files with 119352 additions and 255574 deletions

View File

@@ -2,12 +2,11 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
import * as dom from 'vs/base/browser/dom';
import { IframeUtils } from 'vs/base/browser/iframe';
import { StandardMouseEvent } from 'vs/base/browser/mouseEvent';
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
export interface IStandardMouseMoveEventData {
leftButton: boolean;
@@ -40,9 +39,9 @@ export function standardMouseMoveMerger(lastEvent: IStandardMouseMoveEventData,
export class GlobalMouseMoveMonitor<R> extends Disposable {
private hooks: IDisposable[];
private mouseMoveEventMerger: IEventMerger<R>;
private mouseMoveCallback: IMouseMoveCallback<R>;
private onStopCallback: IOnStopCallback;
private mouseMoveEventMerger: IEventMerger<R> | null;
private mouseMoveCallback: IMouseMoveCallback<R> | null;
private onStopCallback: IOnStopCallback | null;
constructor() {
super();
@@ -70,7 +69,7 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
let onStopCallback = this.onStopCallback;
this.onStopCallback = null;
if (invokeStopCallback) {
if (invokeStopCallback && onStopCallback) {
onStopCallback();
}
}
@@ -95,8 +94,8 @@ export class GlobalMouseMoveMonitor<R> extends Disposable {
let windowChain = IframeUtils.getSameOriginWindowChain();
for (let i = 0; i < windowChain.length; i++) {
this.hooks.push(dom.addDisposableThrottledListener(windowChain[i].window.document, 'mousemove',
(data: R) => this.mouseMoveCallback(data),
(lastEvent: R, currentEvent) => this.mouseMoveEventMerger(lastEvent, currentEvent as MouseEvent)
(data: R) => this.mouseMoveCallback!(data),
(lastEvent: R, currentEvent) => this.mouseMoveEventMerger!(lastEvent, currentEvent as MouseEvent)
));
this.hooks.push(dom.addDisposableListener(windowChain[i].window.document, 'mouseup', (e: MouseEvent) => this.stopMonitoring(true)));
}