@theia/core 1.74.0 → 1.74.1

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.
Files changed (59) hide show
  1. package/README.md +6 -6
  2. package/lib/browser/catalog.json +86 -5
  3. package/lib/browser/common-frontend-contribution.d.ts +3 -0
  4. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  5. package/lib/browser/common-frontend-contribution.js +15 -3
  6. package/lib/browser/common-frontend-contribution.js.map +1 -1
  7. package/lib/browser/common-frontend-contribution.spec.d.ts +2 -0
  8. package/lib/browser/common-frontend-contribution.spec.d.ts.map +1 -0
  9. package/lib/browser/common-frontend-contribution.spec.js +71 -0
  10. package/lib/browser/common-frontend-contribution.spec.js.map +1 -0
  11. package/lib/browser/frontend-application-contribution.d.ts +1 -1
  12. package/lib/browser/frontend-application-module.d.ts +2 -2
  13. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  14. package/lib/browser/frontend-application-module.js +4 -2
  15. package/lib/browser/frontend-application-module.js.map +1 -1
  16. package/lib/browser/tree/tree-consistency.spec.js +103 -0
  17. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  18. package/lib/browser/tree/tree.d.ts.map +1 -1
  19. package/lib/browser/tree/tree.js +6 -0
  20. package/lib/browser/tree/tree.js.map +1 -1
  21. package/lib/browser/widgets/select-component.d.ts +13 -0
  22. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  23. package/lib/browser/widgets/select-component.js +44 -12
  24. package/lib/browser/widgets/select-component.js.map +1 -1
  25. package/lib/browser/window/default-secondary-window-service.d.ts +2 -0
  26. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  27. package/lib/browser/window/default-secondary-window-service.js +8 -2
  28. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  29. package/lib/browser/window/default-window-service.d.ts +19 -0
  30. package/lib/browser/window/default-window-service.d.ts.map +1 -1
  31. package/lib/browser/window/default-window-service.js +34 -5
  32. package/lib/browser/window/default-window-service.js.map +1 -1
  33. package/lib/browser/window/default-window-service.spec.js +22 -0
  34. package/lib/browser/window/default-window-service.spec.js.map +1 -1
  35. package/lib/browser/window/secondary-window-service.d.ts +7 -0
  36. package/lib/browser/window/secondary-window-service.d.ts.map +1 -1
  37. package/lib/browser/window/window-service.d.ts +1 -1
  38. package/lib/electron-browser/menu/electron-menu-contribution.js +1 -1
  39. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  40. package/lib/electron-browser/window/electron-secondary-window-service.js +1 -1
  41. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  42. package/lib/electron-browser/window/electron-window-service.js +3 -3
  43. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  44. package/package.json +6 -6
  45. package/src/browser/common-frontend-contribution.spec.ts +84 -0
  46. package/src/browser/common-frontend-contribution.ts +15 -3
  47. package/src/browser/frontend-application-contribution.ts +1 -1
  48. package/src/browser/frontend-application-module.ts +4 -2
  49. package/src/browser/tree/tree-consistency.spec.ts +119 -0
  50. package/src/browser/tree/tree.ts +6 -0
  51. package/src/browser/widgets/select-component.tsx +49 -12
  52. package/src/browser/window/default-secondary-window-service.ts +8 -2
  53. package/src/browser/window/default-window-service.spec.ts +22 -0
  54. package/src/browser/window/default-window-service.ts +37 -5
  55. package/src/browser/window/secondary-window-service.ts +7 -0
  56. package/src/browser/window/window-service.ts +1 -1
  57. package/src/electron-browser/menu/electron-menu-contribution.ts +1 -1
  58. package/src/electron-browser/window/electron-secondary-window-service.ts +1 -1
  59. package/src/electron-browser/window/electron-window-service.ts +3 -3
@@ -28,6 +28,7 @@ const frontend_application_state_1 = require("../../common/frontend-application-
28
28
  let DefaultWindowService = class DefaultWindowService {
29
29
  constructor() {
30
30
  this.allowVetoes = true;
31
+ this.unloaded = false;
31
32
  this.onUnloadEmitter = new common_1.Emitter();
32
33
  }
33
34
  get onUnload() {
@@ -85,12 +86,40 @@ let DefaultWindowService = class DefaultWindowService {
85
86
  * Implement the mechanism to detect unloading of the page.
86
87
  */
87
88
  registerUnloadListeners() {
89
+ // If `beforeunload` is cancelled and the user stays, the page is not unloaded, so `pagehide` is not fired.
88
90
  window.addEventListener('beforeunload', event => this.handleBeforeUnloadEvent(event));
89
- // In a browser, `unload` is correctly fired when the page unloads, unlike Electron.
90
- // If `beforeunload` is cancelled, the user will be prompted to leave or stay.
91
- // If the user stays, the page won't be unloaded, so `unload` is not fired.
92
- // If the user leaves, the page will be unloaded, so `unload` is fired.
93
- window.addEventListener('unload', () => this.onUnloadEmitter.fire());
91
+ this.registerPageHideListener();
92
+ window.addEventListener('pageshow', event => this.handlePageShow(event));
93
+ }
94
+ /**
95
+ * `pagehide` is used instead of the deprecated `unload` event, which Chrome may block
96
+ * via permissions policy (https://developer.chrome.com/docs/web-platform/deprecating-unload),
97
+ * silently skipping the handler and thus e.g. losing the layout.
98
+ */
99
+ registerPageHideListener() {
100
+ window.addEventListener('pagehide', () => this.handlePageHide());
101
+ }
102
+ /**
103
+ * `pagehide` also fires when the page enters the back/forward cache, in which case the frontend
104
+ * has already shut down (state saved, connections closed). Reload to get a working application
105
+ * again if the page is restored from the cache. That shutdown already happened, so the reload
106
+ * must not be vetoed by the contributions.
107
+ */
108
+ handlePageShow(event) {
109
+ if (event.persisted) {
110
+ this.setSafeToShutDown();
111
+ this.reload();
112
+ }
113
+ }
114
+ /**
115
+ * Fires {@link onUnload} at most once per document: `pagehide` fires again for the reload that
116
+ * recovers a page restored from the back/forward cache, but the application is already stopped.
117
+ */
118
+ handlePageHide() {
119
+ if (!this.unloaded) {
120
+ this.unloaded = true;
121
+ this.onUnloadEmitter.fire();
122
+ }
94
123
  }
95
124
  async isSafeToShutDown(stopReason) {
96
125
  const vetoes = this.collectContributionUnloadVetoes();
@@ -1 +1 @@
1
- {"version":3,"file":"default-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAsD;AACtD,yCAAuD;AACvD,oEAAgE;AAChE,8EAA0E;AAC1E,4FAAyG;AAEzG,gDAA0D;AAC1D,wCAAyC;AACzC,wFAAqE;AAI9D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAA1B;QAGO,gBAAW,GAAG,IAAI,CAAC;QAEnB,oBAAe,GAAG,IAAI,gBAAO,EAAQ,CAAC;IAiJpD,CAAC;IAhJG,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACtC,CAAC;IAYD,OAAO,CAAC,GAAwB;QAC5B,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CAAC,GAAW;QACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,4BAAmB,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,WAAW,CAAC,QAAgB;QACxB,6BAA6B;IACjC,CAAC;IAED,KAAK;QACD,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACO,+BAA+B;QACrC,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;YAC1E,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC/D,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjE,IAAI,IAAI,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC,CAAC,0DAA0D;oBACnG,IAAI,oDAAgB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACpE,CAAC;gBACL,CAAC;YACL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAW,GAAE,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACO,uBAAuB;QAC7B,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,oFAAoF;QACpF,8EAA8E;QAC9E,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAsB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACO,uBAAuB,CAAC,KAAwB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,qIAAqI;YACrI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACO,aAAa,CAAC,KAAwB;QAC5C,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACF,IAAI,CAAC,gBAAgB,CAAC,uCAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAtJY,oDAAoB;AAWV;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;;6DAC4B;AAIjC;IAFlB,IAAA,kBAAM,EAAC,4CAAoB,CAAC;IAC5B,IAAA,iBAAK,EAAC,mEAA+B,CAAC;;2DACiD;AAGrE;IADlB,IAAA,kBAAM,EAAC,gBAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,2BAA2B,CAAC;;oDACjB;+BAlB1B,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAsJhC"}
1
+ {"version":3,"file":"default-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":"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"}
@@ -79,5 +79,27 @@ describe('DefaultWindowService', () => {
79
79
  assert(windowService['collectContributionUnloadVetoes']().length > 0, 'there should be vetoes');
80
80
  assert(frontendContributions.every(contribution => contribution.onWillStopCalled), 'contributions should have been called');
81
81
  });
82
+ it('should reload unconditionally when restored from the back/forward cache', () => {
83
+ const frontendContributions = [
84
+ new TestFrontendApplicationContribution(true),
85
+ ];
86
+ const windowService = setupWindowService('always', frontendContributions);
87
+ let reloaded = 0;
88
+ windowService.reload = () => { reloaded++; };
89
+ windowService['handlePageShow']({ persisted: false });
90
+ const reloadsBeforeRestore = reloaded;
91
+ windowService['handlePageShow']({ persisted: true });
92
+ assert(reloadsBeforeRestore === 0, 'a regular page show should not reload');
93
+ assert(reloaded === 1, 'a restored page should reload');
94
+ assert(windowService['collectContributionUnloadVetoes']().length === 0, 'the recovery reload should not be vetoed');
95
+ });
96
+ it('onUnload should fire at most once, even if `pagehide` fires repeatedly', () => {
97
+ const windowService = setupWindowService('never', []);
98
+ let fired = 0;
99
+ windowService.onUnload(() => fired++);
100
+ windowService['handlePageHide']();
101
+ windowService['handlePageHide']();
102
+ assert(fired === 1, `onUnload should have fired once, but fired ${fired} time(s)`);
103
+ });
82
104
  });
83
105
  //# sourceMappingURL=default-window-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-window-service.spec.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-window-service.spec.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.spec.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,13 @@ export interface SecondaryWindowService {
29
29
  */
30
30
  createSecondaryWindow(widget: ExtractableWidget, shell: ApplicationShell): SecondaryWindow | Window | undefined;
31
31
  readonly onWindowOpened: Event<Window>;
32
+ /**
33
+ * Emitted once a secondary window's final document has finished loading. Listeners can safely
34
+ * modify the window's document, unlike with {@link onWindowOpened}: at that point the window
35
+ * still shows the initial `about:blank` document, and anything added to it is discarded when
36
+ * the final document replaces it.
37
+ */
38
+ readonly onWindowLoaded: Event<Window>;
32
39
  readonly onWindowClosed: Event<Window>;
33
40
  readonly beforeWidgetRestore: Event<[Widget, Window]>;
34
41
  /** Handles focussing the given secondary window in the browser and on Electron. */
@@ -1 +1 @@
1
- {"version":3,"file":"secondary-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/secondary-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,8BAAsB,yBAA0B,SAAQ,MAAM;IAC1D,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC;IAC1C,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,GAAG,IAAI;IAC1G,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS;CACzD;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC3C,UAAU,EAAE,yBAAyB,GAAG,SAAS,CAAC;CACrD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAK5E;AAED,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;;OAMG;IACH,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IAChH,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtD,mFAAmF;IACnF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,IAAI,MAAM,EAAE,CAAC;CAC1B"}
1
+ {"version":3,"file":"secondary-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/secondary-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE/D,8BAAsB,yBAA0B,SAAQ,MAAM;IAC1D,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC;IAC1C,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,GAAG,IAAI;IAC1G,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS;CACzD;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC3C,UAAU,EAAE,yBAAyB,GAAG,SAAS,CAAC;CACrD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAK5E;AAED,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;;OAMG;IACH,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;IAChH,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtD,mFAAmF;IACnF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,IAAI,MAAM,EAAE,CAAC;CAC1B"}
@@ -33,7 +33,7 @@ export interface WindowService {
33
33
  */
34
34
  focus(): void;
35
35
  /**
36
- * Fires when the `window` unloads. The unload event is inevitable. On this event, the frontend application can save its state and release resource.
36
+ * Fires when the application is shutting down. On this event, the frontend application can save its state and release resource.
37
37
  * Saving the state and releasing any resources must be a synchronous call. Any asynchronous calls invoked after emitting this event might be ignored.
38
38
  */
39
39
  readonly onUnload: Event<void>;
@@ -111,7 +111,7 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
111
111
  const disposeHandler = window.electronTheiaCore.onWindowEvent('focus', () => {
112
112
  this.setMenu(app);
113
113
  });
114
- window.addEventListener('unload', () => disposeHandler.dispose());
114
+ window.addEventListener('pagehide', () => disposeHandler.dispose());
115
115
  }
116
116
  attachMenuBarVisibilityListener() {
117
117
  this.preferenceService.onPreferenceChanged(e => {
@@ -1 +1 @@
1
- {"version":3,"file":"electron-menu-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAA8D;AAC9D,yCAGsB;AACtB,2CAGuB;AACvB,6EAAuE;AACvE,yFAAqH;AACrH,6GAAuG;AACvG,mGAAsG;AACtG,gFAAoF;AACpF,wEAAoE;AACpE,oFAA+E;AAE/E,sEAAoE;AACpE,mDAAqD;AACrD,8CAAoE;AAEpE,IAAiB,gBAAgB,CA8BhC;AA9BD,WAAiB,gBAAgB;IAChB,uCAAsB,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QACpE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,wBAAwB;KAClC,CAAC,CAAC;IACU,uBAAM,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QACpD,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,eAAe;KACzB,CAAC,CAAC;IACU,wBAAO,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QACrD,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IACU,yBAAQ,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QACtD,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,UAAU;KACpB,CAAC,CAAC;IACU,2BAAU,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QACxD,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,YAAY;KACtB,CAAC,CAAC;IACU,6BAAY,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QAC1D,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,cAAc;KACxB,CAAC,CAAC;IACU,mCAAkB,GAAG,gBAAO,CAAC,yBAAyB,CAAC;QAChE,EAAE,EAAE,mCAAmC;QACvC,QAAQ,EAAE,wBAAc,CAAC,aAAa;QACtC,KAAK,EAAE,oBAAoB;KAC9B,CAAC,CAAC;AACP,CAAC,EA9BgB,gBAAgB,gCAAhB,gBAAgB,QA8BhC;AAED,IAAiB,aAAa,CAG7B;AAHD,WAAiB,aAAa;IACb,yBAAW,GAAG,CAAC,GAAG,qBAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,uBAAS,GAAG,CAAC,GAAG,qBAAW,CAAC,uBAAuB,EAAE,2BAA2B,CAAC,CAAC;AACnG,CAAC,EAHgB,aAAa,6BAAb,aAAa,QAG7B;AAED,WAAiB,aAAa;IACb,yBAAW,GAAG,CAAC,GAAG,qBAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC,EAFgB,aAAa,6BAAb,aAAa,QAE7B;AAED,WAAiB,aAAa;IACb,wBAAU,GAAG,CAAC,GAAG,qBAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC1E,CAAC,EAFgB,aAAa,6BAAb,aAAa,QAE7B;AAEY,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAIpE,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,gDAA0B;IAiBpE,YACqC,OAA4D;QAE7F,KAAK,CAAC,OAAO,CAAC,CAAC;QAF8C,YAAO,GAAP,OAAO,CAAyB;QAJvF,4BAAuB,GAAG,KAAK,CAAC;IAO1C,CAAC;IAEQ,OAAO,CAAC,GAAwB;QACrC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,cAAK,EAAE,CAAC;YACR,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,sFAAsF;QACtF,iDAAiD;QACjD,IAAI,aAAa,GAA2B,SAAS,CAAC;QACtD,MAAM,oBAAoB,GAAG,CAAC,KAA+B,EAAE,EAAE;YAC7D,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;oBAClB,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QACF,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;YACxC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAES,yBAAyB,CAAC,GAAwB;QACxD,iDAAiD;QACjD,gEAAgE;QAChE,6CAA6C;QAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE;YACxE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAES,+BAA+B;QACrC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,CAAC,cAAc,KAAK,0BAA0B,EAAE,CAAC;gBAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CAAC,GAAwB;QAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC9D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBACvE,MAAM,aAAa,GAAG,OAAO,EAAE,WAAW,KAAK,SAAS,CAAC;gBACzD,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,8DAA8D;uBAC3F,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE,YAAY,CAAC;uBAC/D,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;gBACtE,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,aAAa,EAAE,wBAAe,CAAC,IAAI,CAAC,CAAC;gBACjG,CAAC;gBACD,2DAA2D;gBAC3D,mEAAmE;gBACnE,8DAA8D;gBAC9D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACnJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE;YAChD,IAAI,MAAM,CAAC,cAAc,KAAK,sBAAsB,EAAE,CAAC;gBACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBAC9F,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;oBAC1E,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;oBAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,YAAY,CAAC,GAAwB;QAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,qFAAqF;YACrF,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,iBAAiB,EAAE,CAAC;gBACvC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;gBACvD,MAAM;YACV,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAES,OAAO,CAAC,GAAwB;QACtC,IAAI,CAAC,cAAK,EAAE,CAAC;YACT,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/B,OAAO;YACX,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAES,oBAAoB,CAAC,GAAwB;QACnD,MAAM,SAAS,GAAG,IAAI,gBAAM,EAAE,CAAC;QAC/B,SAAS,CAAC,EAAE,GAAG,kBAAkB,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAChC,QAAQ,CAAC,MAAM,CACX,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAC/E,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAC/E,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,EAChF,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAC5E,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAES,uBAAuB,CAAC,GAAwB;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACL,CAAC;IAES,oBAAoB;QAC1B,oBAAoB,EAAE,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACzE,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAE3E,SAAS,oBAAoB;YACzB,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,EAAU,EAAE,OAAmB;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,CAAC;QAC3B,MAAM,CAAC,SAAS,GAAG,kBAAkB,IAAA,iBAAO,EAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,qBAAqB;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,WAAW,GAAG,YAAG,CAAC,iBAAiB,CAAC,+DAA+D,CAAC,CAAC;QAC7G,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,GAAG,YAAG,CAAC,iBAAiB,CACtC,iEAAiE,EAAE,wEAAiC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;QAChI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,YAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC;YAC7B,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,OAAO;YACZ,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,gBAAM,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACvC,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,QAAyB;QAEtC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YAC9C,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;SAC7C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE;YACpD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE;SAClD,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACnE,8HAA8H;gBAC9H,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,uCAAS,CAAC,SAAS,CAAC,GAAG,uCAAS,CAAC,SAAS,CAAC,GAAG,uCAAS,CAAC,SAAS,CAAC;gBAC7G,IAAI,SAAS,GAAG,uCAAS,CAAC,GAAG,EAAE,CAAC;oBAC5B,SAAS,GAAG,uCAAS,CAAC,GAAG,CAAC;oBAC1B,OAAO;gBACX,CAAC;gBAAA,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,oDAAsB,EAAE,SAAS,EAAE,wBAAe,CAAC,IAAI,CAAC,CAAC;YACxF,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAChD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBACnE,6HAA6H;gBAC7H,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,uCAAS,CAAC,SAAS,CAAC,GAAG,uCAAS,CAAC,SAAS,CAAC,GAAG,uCAAS,CAAC,SAAS,CAAC;gBAC5G,IAAI,SAAS,GAAG,uCAAS,CAAC,GAAG,EAAE,CAAC;oBAC5B,SAAS,GAAG,uCAAS,CAAC,GAAG,CAAC;oBAC1B,OAAO;gBACX,CAAC;gBAAA,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,oDAAsB,EAAE,SAAS,EAAE,wBAAe,CAAC,IAAI,CAAC,CAAC;YACxF,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAClD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,oDAAsB,EAAE,uCAAS,CAAC,OAAO,EAAE,wBAAe,CAAC,IAAI,CAAC;SAC7G,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;YAC1D,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAC5D,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;YAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;SACzC,CAAC,CAAC;IACP,CAAC;IAED,mBAAmB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,mBAAmB,CACxB;YACI,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;YACnD,UAAU,EAAE,SAAS;SACxB,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACnC,UAAU,EAAE,WAAW;SAC1B,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACpC,UAAU,EAAE,WAAW;SAC1B,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACpC,UAAU,EAAE,aAAa;SAC5B,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACrC,UAAU,EAAE,kBAAkB;SACjC,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACrC,UAAU,EAAE,WAAW;SAC1B,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE;YACvC,UAAU,EAAE,WAAW;SAC1B,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE;YACzC,UAAU,EAAE,CAAC,cAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACtF,EACD;YACI,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;YAC/C,UAAU,EAAE,cAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK;SAC/C,CACJ,CAAC;IACN,CAAC;IAED,aAAa,CAAC,QAA2B;QACrC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE;YACnD,SAAS,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;SACxD,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,EAAE;YACnD,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACrC,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE;YACjD,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACtC,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE;YACjD,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACvC,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE;YACjD,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE;YACzC,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE;YAClD,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,kBAAkB,CAAC,qBAAW,CAAC,8BAA8B,EAAE;YACpE,SAAS,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,EAAE;YACjD,KAAK,EAAE,YAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAC3C,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB;QACtB,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAES,gBAAgB,CAAC,iBAAyB;QAChD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,iBAAiB,KAAK,SAAS,CAAC;QAClG,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,CAAmB;QAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC;QAC/E,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC7D,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAA,oBAAY,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;CAEJ,CAAA;AAlWY,4DAAwB;AAGd;IADlB,IAAA,kBAAM,EAAC,4DAA+B,CAAC;sCACP,4DAA+B;8DAAC;AAG9C;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;+DAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,sBAAY,CAAC;sCACY,sBAAY;8DAAC;AAG3B;IADlB,IAAA,kBAAM,EAAC,gCAAwB,CAAC;;0EACqC;mCAZ7D,wBAAwB;IADpC,IAAA,sBAAU,GAAE;IAmBJ,mBAAA,IAAA,kBAAM,EAAC,oDAAuB,CAAC,CAAA;6CAAsC,oDAAuB;GAlBxF,wBAAwB,CAkWpC;AAGM,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,gBAAM;IAczC;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,oBAAoB,CAAC;IACnC,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,CAAC,cAAc,KAAK,0BAA0B,EAAE,CAAC;gBAClD,IAAA,wBAAc,GAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEkB,QAAQ,CAAC,GAAyB;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAEkB,WAAW,CAAC,GAAY;QACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAES,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAES,mBAAmB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACzC,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACnE,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,yCAAyC;YACvE,MAAM,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;YAExD,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAC7B,0EAA0E;YAC1E,uBAAuB;YACvB,IAAI,WAAW,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;gBACxC,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC;gBACnG,iGAAiG;gBACjG,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,UAAU,GAAG,CAAC,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;CACJ,CAAA;AAzEY,8CAAiB;AAGP;IADlB,IAAA,kBAAM,EAAC,wBAAwB,CAAC;sCACY,wBAAwB;mEAAC;AAGnD;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;sCACY,yCAAkB;6DAAC;AAGvC;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACY,0BAAgB;2DAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,0BAAiB,CAAC;;4DAC8B;AAQ9C;IADT,IAAA,yBAAa,GAAE;;;;6CAWf;4BA9BQ,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;;GACA,iBAAiB,CAyE7B"}
1
+ {"version":3,"file":"electron-menu-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ let ElectronSecondaryWindowService = class ElectronSecondaryWindowService extend
51
51
  for (let i = this.secondaryWindows.length - 1; i >= 0; i--) {
52
52
  const windowClosed = new promise_util_1.Deferred();
53
53
  const win = this.secondaryWindows[i];
54
- win.addEventListener('unload', () => {
54
+ win.addEventListener('pagehide', () => {
55
55
  windowClosed.resolve();
56
56
  });
57
57
  promises.push(windowClosed.promise);
@@ -1 +1 @@
1
- {"version":3,"file":"electron-secondary-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-secondary-window-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-secondary-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-secondary-window-service.ts"],"names":[],"mappings":"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"}
@@ -70,9 +70,9 @@ let ElectronWindowService = class ElectronWindowService extends default_window_s
70
70
  }
71
71
  return willShutDown;
72
72
  });
73
- window.addEventListener('unload', () => {
74
- this.onUnloadEmitter.fire();
75
- });
73
+ // Intentionally not calling `super`: in Electron the close request handler above takes the role of
74
+ // `beforeunload`, and there is no back/forward cache, so only the `pagehide` listener is shared.
75
+ this.registerPageHideListener();
76
76
  }
77
77
  /**
78
78
  * Updates the window zoom level based on the preference value.
@@ -1 +1 @@
1
- {"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.74.0",
3
+ "version": "1.74.1",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "@lumino/virtualdom": "^2.0.4",
18
18
  "@lumino/widgets": "2.7.5",
19
19
  "@parcel/watcher": "^2.5.6",
20
- "@theia/application-package": "1.74.0",
21
- "@theia/request": "1.74.0",
20
+ "@theia/application-package": "1.74.1",
21
+ "@theia/request": "1.74.1",
22
22
  "@types/body-parser": "^1.19.6",
23
23
  "@types/express": "^4.17.25",
24
24
  "@types/fs-extra": "^4.0.15",
@@ -218,8 +218,8 @@
218
218
  "watch": "theiaext watch"
219
219
  },
220
220
  "devDependencies": {
221
- "@theia/ext-scripts": "1.74.0",
222
- "@theia/re-exports": "1.74.0",
221
+ "@theia/ext-scripts": "1.74.1",
222
+ "@theia/re-exports": "1.74.1",
223
223
  "@types/react": "^18.3.31",
224
224
  "@types/react-dom": "^18.3.7",
225
225
  "minimist": "^1.2.8",
@@ -230,5 +230,5 @@
230
230
  "nyc": {
231
231
  "extends": "../../configs/nyc.json"
232
232
  },
233
- "gitHead": "7b7376225f0825b4f13d296d686cc13db95fdb69"
233
+ "gitHead": "eb2ffacbac2d76cfb8c0d2dd682d340db746a1b2"
234
234
  }
@@ -0,0 +1,84 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { enableJSDOM } from './test/jsdom';
18
+ let disableJSDOM = enableJSDOM();
19
+
20
+ import { FrontendApplicationConfigProvider } from './frontend-application-config-provider';
21
+ FrontendApplicationConfigProvider.set({});
22
+
23
+ // jsdom does not implement queryCommandSupported, which common-frontend-contribution
24
+ // evaluates at module load to determine cut/copy/paste support.
25
+ document.queryCommandSupported = () => false;
26
+
27
+ import * as chai from 'chai';
28
+ import { Emitter } from '../common/event';
29
+ // Initialize the common barrel before common-frontend-contribution: its import graph contains
30
+ // cycles through the barrel (e.g. shell/tab-bar-toolbar) that leave injection tokens undefined
31
+ // when the contribution module itself is the entry point.
32
+ import '../common';
33
+ import { CLASSNAME_OS_LINUX, CLASSNAME_OS_MAC, CLASSNAME_OS_WINDOWS, CommonFrontendContribution } from './common-frontend-contribution';
34
+ import { SecondaryWindowService } from './window/secondary-window-service';
35
+
36
+ disableJSDOM();
37
+
38
+ const expect = chai.expect;
39
+ const OS_CLASSNAMES = [CLASSNAME_OS_MAC, CLASSNAME_OS_WINDOWS, CLASSNAME_OS_LINUX];
40
+
41
+ describe('CommonFrontendContribution', () => {
42
+
43
+ before(() => {
44
+ disableJSDOM = enableJSDOM();
45
+ document.queryCommandSupported = () => false;
46
+ });
47
+
48
+ after(() => {
49
+ disableJSDOM();
50
+ });
51
+
52
+ describe('setOsClass', () => {
53
+
54
+ let onWindowLoadedEmitter: Emitter<Window>;
55
+ let contribution: CommonFrontendContribution;
56
+
57
+ beforeEach(() => {
58
+ document.body.classList.remove(...OS_CLASSNAMES);
59
+ onWindowLoadedEmitter = new Emitter<Window>();
60
+ // Bypass the constructor: setOsClass only uses the secondary window service,
61
+ // and this keeps the test independent of the constructor's parameter list.
62
+ contribution = Object.create(CommonFrontendContribution.prototype);
63
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
64
+ (contribution as any).secondaryWindowService = <Partial<SecondaryWindowService>>{
65
+ onWindowLoaded: onWindowLoadedEmitter.event
66
+ };
67
+ });
68
+
69
+ it('adds the OS class to the main window body', () => {
70
+ contribution['setOsClass']();
71
+ expect(OS_CLASSNAMES.filter(c => document.body.classList.contains(c))).to.have.lengthOf(1);
72
+ });
73
+
74
+ it('adds the OS class to a secondary window body once its document is loaded', () => {
75
+ contribution['setOsClass']();
76
+ const osClass = OS_CLASSNAMES.find(c => document.body.classList.contains(c))!;
77
+
78
+ const body = document.createElement('body');
79
+ const win = <Partial<Window>>{ document: <Partial<Document>>{ body } };
80
+ onWindowLoadedEmitter.fire(win as Window);
81
+ expect(body.classList.contains(osClass), 'class must be added to the loaded window').to.be.true;
82
+ });
83
+ });
84
+ });
@@ -61,6 +61,7 @@ import { nls } from '../common/nls';
61
61
  import { CurrentWidgetCommandAdapter } from './shell/current-widget-command-adapter';
62
62
  import { ConfirmDialog, confirmExit, ConfirmSaveDialog, Dialog } from './dialogs';
63
63
  import { WindowService } from './window/window-service';
64
+ import { SecondaryWindowService } from './window/secondary-window-service';
64
65
  import { FrontendApplicationConfigProvider } from './frontend-application-config-provider';
65
66
  import { DecorationStyle } from './decoration-style';
66
67
  import { codicon, isPinned, Title, togglePinned, Widget } from './widgets';
@@ -147,6 +148,9 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
147
148
  @inject(WindowService)
148
149
  protected readonly windowService: WindowService;
149
150
 
151
+ @inject(SecondaryWindowService)
152
+ protected readonly secondaryWindowService: SecondaryWindowService;
153
+
150
154
  @inject(UserWorkingDirectoryProvider)
151
155
  protected readonly workingDirProvider: UserWorkingDirectoryProvider;
152
156
 
@@ -218,12 +222,20 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
218
222
  }
219
223
 
220
224
  protected setOsClass(): void {
225
+ const osClass = this.getOsClass();
226
+ document.body.classList.add(osClass);
227
+ // The OS class selects the platform-specific font stacks in os.css. Secondary windows
228
+ // have their own document, so apply it there as well.
229
+ this.secondaryWindowService.onWindowLoaded(win => win.document.body.classList.add(osClass));
230
+ }
231
+
232
+ protected getOsClass(): string {
221
233
  if (isOSX) {
222
- document.body.classList.add(CLASSNAME_OS_MAC);
234
+ return CLASSNAME_OS_MAC;
223
235
  } else if (isWindows) {
224
- document.body.classList.add(CLASSNAME_OS_WINDOWS);
236
+ return CLASSNAME_OS_WINDOWS;
225
237
  } else {
226
- document.body.classList.add(CLASSNAME_OS_LINUX);
238
+ return CLASSNAME_OS_LINUX;
227
239
  }
228
240
  }
229
241
 
@@ -52,7 +52,7 @@ export interface FrontendApplicationContribution {
52
52
  /**
53
53
  * Called when an application is stopped or unloaded.
54
54
  *
55
- * Note that this is implemented using `window.beforeunload` which doesn't allow any asynchronous code anymore.
55
+ * Note that this is implemented using `window.pagehide` which doesn't allow any asynchronous code anymore.
56
56
  * I.e. this is the last tick.
57
57
  */
58
58
  onStop?(app: FrontendApplication): void;
@@ -14,12 +14,14 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
+ // Import Lumino rules first because some conflict with Theia's styles.
18
+ // This ensures Theia rules with equal specificity take precedence (see GH-17872).
19
+ import '@lumino/widgets/style/index.css';
20
+ import 'perfect-scrollbar/css/perfect-scrollbar.css';
17
21
  import '../../src/browser/style/index.css';
18
22
  import '../../src/browser/style/materialcolors.css';
19
- import '@lumino/widgets/style/index.css';
20
23
  import 'font-awesome/css/font-awesome.min.css';
21
24
  import 'file-icons-js/css/style.css';
22
- import 'perfect-scrollbar/css/perfect-scrollbar.css';
23
25
  import '@vscode/codicons/dist/codicon.css';
24
26
 
25
27
  import { ContainerModule } from 'inversify';