src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.ts/WebviewWindowDragMonitor/constructor
class WebviewWindowDragMonitor:	constructor(getWebview: () => IWebview | undefined) {
		super();

		this._register(DOM.addDisposableListener(window, DOM.EventType.DRAG_START, () => {
			getWebview()?.windowDidDragStart();
		}));

		const onDragEnd = () => {
			getWebview()?.windowDidDragEnd();
		};

		this._register(DOM.addDisposableListener(window, DOM.EventType.DRAG_END, onDragEnd));
		this._register(DOM.addDisposableListener(window, DOM.EventType.MOUSE_MOVE, currentEvent => {
			if (currentEvent.buttons === 0) {
				onDragEnd();
			}
		}));
	}