@codingame/monaco-vscode-host-service-override 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-host-service-override",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,6 +18,6 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@2.0.3"
21
+ "vscode": "npm:@codingame/monaco-vscode-api@2.1.0"
22
22
  }
23
23
  }
@@ -8,7 +8,7 @@ import { pathsToEditors, isResourceEditorInput } from 'vscode/vscode/vs/workbenc
8
8
  import { whenEditorClosed } from 'vscode/vscode/vs/workbench/browser/editor';
9
9
  import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
10
10
  import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label';
11
- import { ModifierKeyEmitter, onDidRegisterWindow, trackFocus, getActiveDocument, getWindowId, disposableWindowInterval } from 'vscode/vscode/vs/base/browser/dom';
11
+ import { ModifierKeyEmitter, onDidRegisterWindow, trackFocus, getActiveDocument, getWindowId, disposableWindowInterval, EventType, addDisposableListener, detectFullscreen, addDisposableThrottledListener } from 'vscode/vscode/vs/base/browser/dom';
12
12
  import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
13
13
  import { IBrowserWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/browser/environmentService';
14
14
  import { memoize } from 'vscode/vscode/vs/base/common/decorators';
@@ -28,6 +28,7 @@ import { Schemas } from 'vscode/vscode/vs/base/common/network';
28
28
  import { IUserDataProfileService } from 'vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile';
29
29
  import { coalesce } from 'vscode/vscode/vs/base/common/arrays';
30
30
  import { mainWindow, isAuxiliaryWindow } from 'vscode/vscode/vs/base/browser/window';
31
+ import { isIOS, isMacintosh } from 'vscode/vscode/vs/base/common/platform';
31
32
  import { IDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
32
33
 
33
34
  var HostShutdownReason;
@@ -129,6 +130,18 @@ let BrowserHostService = class BrowserHostService extends Disposable {
129
130
  }, { window: mainWindow, disposables: this._store }));
130
131
  return Event.latch(emitter.event, undefined, this._store);
131
132
  }
133
+ get onDidChangeFullScreen() {
134
+ const emitter = this._register(( new Emitter()));
135
+ this._register(Event.runAndSubscribe(onDidRegisterWindow, ({ window, disposables }) => {
136
+ const windowId = getWindowId(window);
137
+ const viewport = isIOS && window.visualViewport ? window.visualViewport : window ;
138
+ for (const event of [EventType.FULLSCREEN_CHANGE, EventType.WK_FULLSCREEN_CHANGE]) {
139
+ disposables.add(addDisposableListener(window.document, event, () => emitter.fire({ windowId, fullscreen: !!detectFullscreen(window) })));
140
+ }
141
+ disposables.add(addDisposableThrottledListener(viewport, EventType.RESIZE, () => emitter.fire({ windowId, fullscreen: !!detectFullscreen(window) }), undefined, isMacintosh ? 2000 : 800 ));
142
+ }, { window: mainWindow, disposables: this._store }));
143
+ return emitter.event;
144
+ }
132
145
  openWindow(arg1, arg2) {
133
146
  if (Array.isArray(arg1)) {
134
147
  return this.doOpenWindow(arg1, arg2);
@@ -393,6 +406,9 @@ BrowserHostService.__decorator = ( __decorate([
393
406
  BrowserHostService.__decorator = ( __decorate([
394
407
  memoize
395
408
  ], BrowserHostService.prototype, "onDidChangeActiveWindow", null));
409
+ BrowserHostService.__decorator = ( __decorate([
410
+ memoize
411
+ ], BrowserHostService.prototype, "onDidChangeFullScreen", null));
396
412
  BrowserHostService = ( __decorate([
397
413
  ( __param(0, ILayoutService)),
398
414
  ( __param(1, IConfigurationService)),
@@ -10,10 +10,10 @@ class BrowserHostColorSchemeService extends Disposable {
10
10
  this.registerListeners();
11
11
  }
12
12
  registerListeners() {
13
- addMatchMediaChangeListener('(prefers-color-scheme: dark)', () => {
13
+ addMatchMediaChangeListener(mainWindow, '(prefers-color-scheme: dark)', () => {
14
14
  this._onDidSchemeChangeEvent.fire();
15
15
  });
16
- addMatchMediaChangeListener('(forced-colors: active)', () => {
16
+ addMatchMediaChangeListener(mainWindow, '(forced-colors: active)', () => {
17
17
  this._onDidSchemeChangeEvent.fire();
18
18
  });
19
19
  }