@theia/core 1.21.0-next.17 → 1.21.0-next.21
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/lib/browser/common-frontend-contribution.d.ts +5 -2
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +21 -4
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/dialogs.d.ts +1 -0
- package/lib/browser/dialogs.d.ts.map +1 -1
- package/lib/browser/dialogs.js +11 -1
- package/lib/browser/dialogs.js.map +1 -1
- package/lib/browser/frontend-application.d.ts +15 -2
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js +8 -1
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.js +2 -2
- package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +0 -13
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +1 -16
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +2 -0
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +13 -6
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/window/default-window-service.d.ts +19 -2
- package/lib/browser/window/default-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-window-service.js +67 -12
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window/default-window-service.spec.js +3 -3
- package/lib/browser/window/default-window-service.spec.js.map +1 -1
- package/lib/browser/window/test/mock-window-service.d.ts +3 -1
- package/lib/browser/window/test/mock-window-service.d.ts.map +1 -1
- package/lib/browser/window/test/mock-window-service.js +3 -1
- package/lib/browser/window/test/mock-window-service.js.map +1 -1
- package/lib/browser/window/window-service.d.ts +20 -6
- package/lib/browser/window/window-service.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -0
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +6 -0
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.d.ts +7 -5
- package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +20 -42
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/messaging/electron-messages.d.ts +27 -0
- package/lib/electron-common/messaging/electron-messages.d.ts.map +1 -1
- package/lib/electron-common/messaging/electron-messages.js +24 -1
- package/lib/electron-common/messaging/electron-messages.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +9 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +57 -14
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/package.json +3 -3
- package/src/browser/common-frontend-contribution.ts +23 -6
- package/src/browser/dialogs.ts +9 -0
- package/src/browser/frontend-application.ts +19 -2
- package/src/browser/shell/application-shell-mouse-tracker.ts +2 -2
- package/src/browser/shell/application-shell.ts +1 -18
- package/src/browser/shell/shell-layout-restorer.ts +12 -6
- package/src/browser/window/default-window-service.spec.ts +3 -3
- package/src/browser/window/default-window-service.ts +69 -13
- package/src/browser/window/test/mock-window-service.ts +3 -1
- package/src/browser/window/window-service.ts +22 -8
- package/src/electron-browser/menu/electron-menu-contribution.ts +6 -1
- package/src/electron-browser/window/electron-window-service.ts +21 -41
- package/src/electron-common/messaging/electron-messages.ts +29 -0
- package/src/electron-main/electron-main-application.ts +74 -15
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
import { Event, Emitter } from '../../common';
|
|
17
17
|
import { CorePreferences } from '../core-preferences';
|
|
18
18
|
import { ContributionProvider } from '../../common/contribution-provider';
|
|
19
|
-
import { FrontendApplicationContribution, FrontendApplication } from '../frontend-application';
|
|
19
|
+
import { FrontendApplicationContribution, FrontendApplication, OnWillStopAction } from '../frontend-application';
|
|
20
20
|
import { WindowService } from './window-service';
|
|
21
21
|
export declare class DefaultWindowService implements WindowService, FrontendApplicationContribution {
|
|
22
22
|
protected frontendApplication: FrontendApplication;
|
|
23
|
+
protected allowVetoes: boolean;
|
|
23
24
|
protected onUnloadEmitter: Emitter<void>;
|
|
24
25
|
get onUnload(): Event<void>;
|
|
25
26
|
protected readonly corePreferences: CorePreferences;
|
|
@@ -27,11 +28,26 @@ export declare class DefaultWindowService implements WindowService, FrontendAppl
|
|
|
27
28
|
onStart(app: FrontendApplication): void;
|
|
28
29
|
openNewWindow(url: string): undefined;
|
|
29
30
|
openNewDefaultWindow(): void;
|
|
30
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Returns a list of actions that {@link FrontendApplicationContribution}s would like to take before shutdown
|
|
33
|
+
* It is expected that this will succeed - i.e. return an empty array - at most once per session. If no vetoes are received
|
|
34
|
+
* during any cycle, no further checks will be made. In that case, shutdown should proceed unconditionally.
|
|
35
|
+
*/
|
|
36
|
+
protected collectContributionUnloadVetoes(): OnWillStopAction[];
|
|
31
37
|
/**
|
|
32
38
|
* Implement the mechanism to detect unloading of the page.
|
|
33
39
|
*/
|
|
34
40
|
protected registerUnloadListeners(): void;
|
|
41
|
+
isSafeToShutDown(): Promise<boolean>;
|
|
42
|
+
setSafeToShutDown(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Called when the `window` is about to `unload` its resources.
|
|
45
|
+
* At this point, the `document` is still visible and the [`BeforeUnloadEvent`](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event)
|
|
46
|
+
* event will be canceled if the return value of this method is `false`.
|
|
47
|
+
*
|
|
48
|
+
* In Electron, handleCloseRequestEvent is is run instead.
|
|
49
|
+
*/
|
|
50
|
+
protected handleBeforeUnloadEvent(event: BeforeUnloadEvent): string | void;
|
|
35
51
|
/**
|
|
36
52
|
* Notify the browser that we do not want to unload.
|
|
37
53
|
*
|
|
@@ -42,5 +58,6 @@ export declare class DefaultWindowService implements WindowService, FrontendAppl
|
|
|
42
58
|
* @param event The beforeunload event
|
|
43
59
|
*/
|
|
44
60
|
protected preventUnload(event: BeforeUnloadEvent): string | void;
|
|
61
|
+
reload(): void;
|
|
45
62
|
}
|
|
46
63
|
//# sourceMappingURL=default-window-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"default-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBACa,oBAAqB,YAAW,aAAa,EAAE,+BAA+B;IAEvF,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACnD,SAAS,CAAC,WAAW,UAAQ;IAE7B,SAAS,CAAC,eAAe,gBAAuB;IAChD,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAE1B;IAGD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAIpD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAExF,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAKvC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAKrC,oBAAoB,IAAI,IAAI;IAI5B;;;;OAIG;IACH,SAAS,CAAC,+BAA+B,IAAI,gBAAgB,EAAE;IAwB/D;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IASnC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB1C,iBAAiB,IAAI,IAAI;IAIzB;;;;;;OAMG;IACH,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAU1E;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAMhE,MAAM,IAAI,IAAI;CAGjB"}
|
|
@@ -31,8 +31,10 @@ const core_preferences_1 = require("../core-preferences");
|
|
|
31
31
|
const contribution_provider_1 = require("../../common/contribution-provider");
|
|
32
32
|
const frontend_application_1 = require("../frontend-application");
|
|
33
33
|
const window_1 = require("../../common/window");
|
|
34
|
+
const dialogs_1 = require("../dialogs");
|
|
34
35
|
let DefaultWindowService = class DefaultWindowService {
|
|
35
36
|
constructor() {
|
|
37
|
+
this.allowVetoes = true;
|
|
36
38
|
this.onUnloadEmitter = new common_1.Emitter();
|
|
37
39
|
}
|
|
38
40
|
get onUnload() {
|
|
@@ -49,32 +51,82 @@ let DefaultWindowService = class DefaultWindowService {
|
|
|
49
51
|
openNewDefaultWindow() {
|
|
50
52
|
this.openNewWindow(`#${window_1.DEFAULT_WINDOW_HASH}`);
|
|
51
53
|
}
|
|
52
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Returns a list of actions that {@link FrontendApplicationContribution}s would like to take before shutdown
|
|
56
|
+
* It is expected that this will succeed - i.e. return an empty array - at most once per session. If no vetoes are received
|
|
57
|
+
* during any cycle, no further checks will be made. In that case, shutdown should proceed unconditionally.
|
|
58
|
+
*/
|
|
59
|
+
collectContributionUnloadVetoes() {
|
|
53
60
|
var _a;
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
const vetoes = [];
|
|
62
|
+
if (this.allowVetoes) {
|
|
63
|
+
const shouldConfirmExit = this.corePreferences['application.confirmExit'];
|
|
64
|
+
for (const contribution of this.contributions.getContributions()) {
|
|
65
|
+
const veto = (_a = contribution.onWillStop) === null || _a === void 0 ? void 0 : _a.call(contribution, this.frontendApplication);
|
|
66
|
+
if (veto && shouldConfirmExit !== 'never') { // Ignore vetoes if we should not prompt the user on exit.
|
|
67
|
+
if (frontend_application_1.OnWillStopAction.is(veto)) {
|
|
68
|
+
vetoes.push(veto);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
vetoes.push({ reason: 'No reason given', action: () => false });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (vetoes.length === 0 && shouldConfirmExit === 'always') {
|
|
76
|
+
vetoes.push({ reason: 'application.confirmExit preference', action: () => dialogs_1.confirmExit() });
|
|
77
|
+
}
|
|
78
|
+
if (vetoes.length === 0) {
|
|
79
|
+
this.allowVetoes = false;
|
|
59
80
|
}
|
|
60
81
|
}
|
|
61
|
-
return
|
|
82
|
+
return vetoes;
|
|
62
83
|
}
|
|
63
84
|
/**
|
|
64
85
|
* Implement the mechanism to detect unloading of the page.
|
|
65
86
|
*/
|
|
66
87
|
registerUnloadListeners() {
|
|
67
|
-
window.addEventListener('beforeunload', event =>
|
|
68
|
-
if (!this.canUnload()) {
|
|
69
|
-
return this.preventUnload(event);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
88
|
+
window.addEventListener('beforeunload', event => this.handleBeforeUnloadEvent(event));
|
|
72
89
|
// In a browser, `unload` is correctly fired when the page unloads, unlike Electron.
|
|
73
90
|
// If `beforeunload` is cancelled, the user will be prompted to leave or stay.
|
|
74
91
|
// If the user stays, the page won't be unloaded, so `unload` is not fired.
|
|
75
92
|
// If the user leaves, the page will be unloaded, so `unload` is fired.
|
|
76
93
|
window.addEventListener('unload', () => this.onUnloadEmitter.fire());
|
|
77
94
|
}
|
|
95
|
+
async isSafeToShutDown() {
|
|
96
|
+
const vetoes = this.collectContributionUnloadVetoes();
|
|
97
|
+
if (vetoes.length === 0) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
console.debug('Shutdown prevented by', vetoes.map(({ reason }) => reason).join(', '));
|
|
101
|
+
const resolvedVetoes = await Promise.allSettled(vetoes.map(({ action }) => action()));
|
|
102
|
+
if (resolvedVetoes.every(resolution => resolution.status === 'rejected' || resolution.value === true)) {
|
|
103
|
+
console.debug('OnWillStop actions resolved; allowing shutdown');
|
|
104
|
+
this.allowVetoes = false;
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
setSafeToShutDown() {
|
|
112
|
+
this.allowVetoes = false;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Called when the `window` is about to `unload` its resources.
|
|
116
|
+
* At this point, the `document` is still visible and the [`BeforeUnloadEvent`](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event)
|
|
117
|
+
* event will be canceled if the return value of this method is `false`.
|
|
118
|
+
*
|
|
119
|
+
* In Electron, handleCloseRequestEvent is is run instead.
|
|
120
|
+
*/
|
|
121
|
+
handleBeforeUnloadEvent(event) {
|
|
122
|
+
const vetoes = this.collectContributionUnloadVetoes();
|
|
123
|
+
if (vetoes.length) {
|
|
124
|
+
// In the browser, we don't call the functions because this has to finish in a single tick, so we treat any desired action as a veto.
|
|
125
|
+
console.debug('Shutdown prevented by', vetoes.map(({ reason }) => reason).join(', '));
|
|
126
|
+
return this.preventUnload(event);
|
|
127
|
+
}
|
|
128
|
+
console.debug('Shutdown will proceed.');
|
|
129
|
+
}
|
|
78
130
|
/**
|
|
79
131
|
* Notify the browser that we do not want to unload.
|
|
80
132
|
*
|
|
@@ -89,6 +141,9 @@ let DefaultWindowService = class DefaultWindowService {
|
|
|
89
141
|
event.preventDefault();
|
|
90
142
|
return '';
|
|
91
143
|
}
|
|
144
|
+
reload() {
|
|
145
|
+
window.location.reload();
|
|
146
|
+
}
|
|
92
147
|
};
|
|
93
148
|
__decorate([
|
|
94
149
|
inversify_1.inject(core_preferences_1.CorePreferences),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAAsD;AACtD,yCAA8C;AAC9C,0DAAsD;AACtD,8EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"default-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ describe('DefaultWindowService', () => {
|
|
|
53
53
|
];
|
|
54
54
|
const windowService = setupWindowService('never', frontendContributions);
|
|
55
55
|
assert(frontendContributions.every(contribution => !contribution.onWillStopCalled), 'contributions should not be called yet');
|
|
56
|
-
assert(windowService
|
|
56
|
+
assert(windowService['collectContributionUnloadVetoes']().length === 0, 'there should be no vetoes');
|
|
57
57
|
assert(frontendContributions.every(contribution => contribution.onWillStopCalled), 'contributions should have been called');
|
|
58
58
|
});
|
|
59
59
|
it('onWillStop should be called on every contribution (ifRequired)', () => {
|
|
@@ -64,7 +64,7 @@ describe('DefaultWindowService', () => {
|
|
|
64
64
|
];
|
|
65
65
|
const windowService = setupWindowService('ifRequired', frontendContributions);
|
|
66
66
|
assert(frontendContributions.every(contribution => !contribution.onWillStopCalled), 'contributions should not be called yet');
|
|
67
|
-
assert(
|
|
67
|
+
assert(windowService['collectContributionUnloadVetoes']().length > 0, 'There should be vetoes');
|
|
68
68
|
assert(frontendContributions.every(contribution => contribution.onWillStopCalled), 'contributions should have been called');
|
|
69
69
|
});
|
|
70
70
|
it('onWillStop should be called on every contribution (always)', () => {
|
|
@@ -74,7 +74,7 @@ describe('DefaultWindowService', () => {
|
|
|
74
74
|
];
|
|
75
75
|
const windowService = setupWindowService('always', frontendContributions);
|
|
76
76
|
assert(frontendContributions.every(contribution => !contribution.onWillStopCalled), 'contributions should not be called yet');
|
|
77
|
-
assert(
|
|
77
|
+
assert(windowService['collectContributionUnloadVetoes']().length > 0, 'there should be vetoes');
|
|
78
78
|
assert(frontendContributions.every(contribution => contribution.onWillStopCalled), 'contributions should have been called');
|
|
79
79
|
});
|
|
80
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-window-service.spec.js","sourceRoot":"","sources":["../../../src/browser/window/default-window-service.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,yCAAsC;AACtC,yCAAoD;AACpD,0DAAsD;AACtD,kEAA0E;AAC1E,qEAAgE;AAChE,iCAAkC;AAElC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,MAAM,mCAAmC;QACrC,YAAoB,aAAsB;YAAtB,kBAAa,GAAb,aAAa,CAAS;YAC1C,qBAAgB,GAAG,KAAK,CAAC;QADqB,CAAC;QAE/C,UAAU;YACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;KACJ;IACD,SAAS,kBAAkB,CAAC,WAAuD,EAAE,qBAAwD;QACzI,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACjE,SAAS,CAAC,IAAI,CAAiE,6BAAoB,CAAC;aAC/F,eAAe,CAAC;YACb,gBAAgB,EAAE,GAAG,EAAE,CAAC,qBAAqB;SAChD,CAAC;aACD,eAAe,CAAC,sDAA+B,CAAC,CAAC;QACtD,SAAS,CAAC,IAAI,CAA2B,kCAAe,CAAC;aACpD,eAAe,CAAC;YACb,yBAAyB,EAAE,WAAW;SACzC,CAAC,CAAC;QACP,OAAO,SAAS,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,qBAAqB,GAA0C;YACjE,uCAAuC;YACvC,IAAI,mCAAmC,CAAC,IAAI,CAAC;SAChD,CAAC;QACF,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACzE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,wCAAwC,CAAC,CAAC;QAC9H,MAAM,CAAC,aAAa,CAAC,
|
|
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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"}
|
|
@@ -3,7 +3,9 @@ import { WindowService } from '../window-service';
|
|
|
3
3
|
export declare class MockWindowService implements WindowService {
|
|
4
4
|
openNewWindow(): undefined;
|
|
5
5
|
openNewDefaultWindow(): void;
|
|
6
|
-
|
|
6
|
+
reload(): void;
|
|
7
|
+
isSafeToShutDown(): Promise<boolean>;
|
|
8
|
+
setSafeToShutDown(): void;
|
|
7
9
|
get onUnload(): Event<void>;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=mock-window-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-window-service.d.ts","sourceRoot":"","sources":["../../../../src/browser/window/test/mock-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBACa,iBAAkB,YAAW,aAAa;IACnD,aAAa,IAAI,SAAS;IAC1B,oBAAoB,IAAI,IAAI;IAC5B,
|
|
1
|
+
{"version":3,"file":"mock-window-service.d.ts","sourceRoot":"","sources":["../../../../src/browser/window/test/mock-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBACa,iBAAkB,YAAW,aAAa;IACnD,aAAa,IAAI,SAAS;IAC1B,oBAAoB,IAAI,IAAI;IAC5B,MAAM,IAAI,IAAI;IACd,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IACpC,iBAAiB,IAAI,IAAI;IACzB,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAuB;CACrD"}
|
|
@@ -27,7 +27,9 @@ const event_1 = require("../../../common/event");
|
|
|
27
27
|
let MockWindowService = class MockWindowService {
|
|
28
28
|
openNewWindow() { return undefined; }
|
|
29
29
|
openNewDefaultWindow() { }
|
|
30
|
-
|
|
30
|
+
reload() { }
|
|
31
|
+
isSafeToShutDown() { return Promise.resolve(true); }
|
|
32
|
+
setSafeToShutDown() { }
|
|
31
33
|
get onUnload() { return event_1.Event.None; }
|
|
32
34
|
};
|
|
33
35
|
MockWindowService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-window-service.js","sourceRoot":"","sources":["../../../../src/browser/window/test/mock-window-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AACvC,iDAA8C;AAI9C,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAC1B,aAAa,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;IAChD,oBAAoB,KAAW,CAAC;IAChC,
|
|
1
|
+
{"version":3,"file":"mock-window-service.js","sourceRoot":"","sources":["../../../../src/browser/window/test/mock-window-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AACvC,iDAA8C;AAI9C,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAC1B,aAAa,KAAgB,OAAO,SAAS,CAAC,CAAC,CAAC;IAChD,oBAAoB,KAAW,CAAC;IAChC,MAAM,KAAW,CAAC;IAClB,gBAAgB,KAAuB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,iBAAiB,KAAW,CAAC;IAC7B,IAAI,QAAQ,KAAkB,OAAO,aAAK,CAAC,IAAI,CAAC,CAAC,CAAC;CACrD,CAAA;AAPY,iBAAiB;IAD7B,sBAAU,EAAE;GACA,iBAAiB,CAO7B;AAPY,8CAAiB"}
|
|
@@ -31,16 +31,30 @@ export interface WindowService {
|
|
|
31
31
|
* - In electron and in the browser it will open the default window without a pre-defined content.
|
|
32
32
|
*/
|
|
33
33
|
openNewDefaultWindow(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Called when the `window` is about to `unload` its resources.
|
|
36
|
-
* At this point, the `document` is still visible and the [`BeforeUnloadEvent`](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event)
|
|
37
|
-
* event will be canceled if the return value of this method is `false`.
|
|
38
|
-
*/
|
|
39
|
-
canUnload(): boolean;
|
|
40
34
|
/**
|
|
41
35
|
* Fires when the `window` unloads. The unload event is inevitable. On this event, the frontend application can save its state and release resource.
|
|
42
36
|
* Saving the state and releasing any resources must be a synchronous call. Any asynchronous calls invoked after emitting this event might be ignored.
|
|
43
37
|
*/
|
|
44
38
|
readonly onUnload: Event<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Checks `FrontendApplicationContribution#willStop` for impediments to shutdown and runs any actions returned.
|
|
41
|
+
* Can be used safely in browser and Electron when triggering reload or shutdown programmatically.
|
|
42
|
+
* Should _only_ be called before a shutdown - if this returns `true`, `FrontendApplicationContribution#willStop`
|
|
43
|
+
* will not be called again in the current session. I.e. if this return `true`, the shutdown should proceed without
|
|
44
|
+
* further condition.
|
|
45
|
+
*/
|
|
46
|
+
isSafeToShutDown(): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Will prevent subsequent checks of `FrontendApplicationContribution#willStop`. Should only be used after requesting
|
|
49
|
+
* user confirmation.
|
|
50
|
+
*
|
|
51
|
+
* This is primarily intended programmatic restarts due to e.g. change of display language. It allows for a single confirmation
|
|
52
|
+
* of intent, rather than one warning and then several warnings from other contributions.
|
|
53
|
+
*/
|
|
54
|
+
setSafeToShutDown(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Reloads the window according to platform.
|
|
57
|
+
*/
|
|
58
|
+
reload(): void;
|
|
45
59
|
}
|
|
46
60
|
//# sourceMappingURL=window-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,MAAM,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAElE;;;OAGG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAClB"}
|
|
@@ -19,6 +19,7 @@ import { ApplicationShell, KeybindingContribution, KeybindingRegistry, FrontendA
|
|
|
19
19
|
import { ElectronMainMenuFactory } from './electron-main-menu-factory';
|
|
20
20
|
import { FrontendApplicationStateService } from '../../browser/frontend-application-state';
|
|
21
21
|
import { BrowserMenuBarContribution } from '../../browser/menu/browser-menu-plugin';
|
|
22
|
+
import { WindowService } from '../../browser/window/window-service';
|
|
22
23
|
import '../../../src/electron-browser/menu/electron-menu-style.css';
|
|
23
24
|
export declare namespace ElectronCommands {
|
|
24
25
|
const TOGGLE_DEVELOPER_TOOLS: Command;
|
|
@@ -43,6 +44,7 @@ export declare class ElectronMenuContribution extends BrowserMenuBarContribution
|
|
|
43
44
|
protected readonly factory: ElectronMainMenuFactory;
|
|
44
45
|
protected shell: ApplicationShell;
|
|
45
46
|
protected readonly stateService: FrontendApplicationStateService;
|
|
47
|
+
protected readonly windowService: WindowService;
|
|
46
48
|
protected titleBarStyleChangeFlag: boolean;
|
|
47
49
|
protected titleBarStyle?: string;
|
|
48
50
|
constructor(factory: ElectronMainMenuFactory, shell: ApplicationShell);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAC3B,iBAAiB,EAAE,gBAAgB,EACxD,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAA0B,sBAAsB,EAAE,kBAAkB,EAC3D,mBAAmB,EAAE,+BAA+B,EAChF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAA4B,MAAM,0CAA0C,CAAC;AAIrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,OAAO,EACH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAC3B,iBAAiB,EAAE,gBAAgB,EACxD,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,gBAAgB,EAA0B,sBAAsB,EAAE,kBAAkB,EAC3D,mBAAmB,EAAE,+BAA+B,EAChF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAA4B,MAAM,0CAA0C,CAAC;AAIrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,4DAA4D,CAAC;AAEpE,yBAAiB,gBAAgB,CAAC;IACvB,MAAM,sBAAsB,SAGjC,CAAC;IACI,MAAM,MAAM,SAGjB,CAAC;IACI,MAAM,OAAO,SAGlB,CAAC;IACI,MAAM,QAAQ,SAGnB,CAAC;IACI,MAAM,UAAU,SAGrB,CAAC;IACI,MAAM,YAAY,SAGvB,CAAC;IACI,MAAM,kBAAkB,SAI7B,CAAC;CACN;AAED,yBAAiB,aAAa,CAAC;IACpB,MAAM,WAAW,UAAkC,CAAC;IACpD,MAAM,SAAS,UAAgC,CAAC;CAC1D;AAED,yBAAiB,aAAa,CAAC;IACpB,MAAM,WAAW,UAAoC,CAAC;CAChE;AAED,yBAAiB,aAAa,CAAC;IACpB,MAAM,UAAU,UAA8C,CAAC;CACzE;AAED,qBACa,wBAAyB,SAAQ,0BAA2B,YAAW,+BAA+B,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB;IAYzI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,uBAAuB;IAC1D,SAAS,CAAC,KAAK,EAAE,gBAAgB;IAV/D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;IAGjE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,uBAAuB,UAAS;IAC1C,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAGuB,OAAO,EAAE,uBAAuB,EAChD,KAAK,EAAE,gBAAgB;IAK/D,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IA2BvC,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAwBrD,qBAAqB,IAAI,IAAI;IAO7B;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IActD,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,YAAY,GAAE,QAAQ,CAAC,IAAI,GAAG,IAA2C,EACjH,cAAc,GAAE,QAAQ,CAAC,aAAkD,GAAG,IAAI;IAatF,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAiBtG,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,GAAG,IAAI;IAc5E,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,WAAW;cAQ3D,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAwDjD,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAiCvD,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CA0BnD"}
|
|
@@ -38,6 +38,7 @@ const frontend_application_config_provider_1 = require("../../browser/frontend-a
|
|
|
38
38
|
const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
|
|
39
39
|
const electron_window_preferences_1 = require("../window/electron-window-preferences");
|
|
40
40
|
const browser_menu_plugin_1 = require("../../browser/menu/browser-menu-plugin");
|
|
41
|
+
const window_service_1 = require("../../browser/window/window-service");
|
|
41
42
|
require("../../../src/electron-browser/menu/electron-menu-style.css");
|
|
42
43
|
var ElectronCommands;
|
|
43
44
|
(function (ElectronCommands) {
|
|
@@ -223,6 +224,7 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
|
|
|
223
224
|
cancel: browser_1.Dialog.CANCEL
|
|
224
225
|
});
|
|
225
226
|
if (await dialog.open()) {
|
|
227
|
+
this.windowService.setSafeToShutDown();
|
|
226
228
|
electron.ipcRenderer.send(electron_messages_1.Restart);
|
|
227
229
|
}
|
|
228
230
|
}
|
|
@@ -333,6 +335,10 @@ __decorate([
|
|
|
333
335
|
inversify_1.inject(frontend_application_state_1.FrontendApplicationStateService),
|
|
334
336
|
__metadata("design:type", frontend_application_state_1.FrontendApplicationStateService)
|
|
335
337
|
], ElectronMenuContribution.prototype, "stateService", void 0);
|
|
338
|
+
__decorate([
|
|
339
|
+
inversify_1.inject(window_service_1.WindowService),
|
|
340
|
+
__metadata("design:type", Object)
|
|
341
|
+
], ElectronMenuContribution.prototype, "windowService", void 0);
|
|
336
342
|
ElectronMenuContribution = __decorate([
|
|
337
343
|
inversify_1.injectable(),
|
|
338
344
|
__param(0, inversify_1.inject(electron_main_menu_factory_1.ElectronMainMenuFactory)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-menu-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"electron-menu-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { NewWindowOptions } from '../../common/window';
|
|
|
17
17
|
import { DefaultWindowService } from '../../browser/window/default-window-service';
|
|
18
18
|
import { ElectronMainWindowService } from '../../electron-common/electron-main-window-service';
|
|
19
19
|
import { ElectronWindowPreferences } from './electron-window-preferences';
|
|
20
|
+
import { CloseRequestArguments } from '../../electron-common/messaging/electron-messages';
|
|
20
21
|
export declare class ElectronWindowService extends DefaultWindowService {
|
|
21
22
|
/**
|
|
22
23
|
* Lock to prevent multiple parallel executions of the `beforeunload` listener.
|
|
@@ -31,16 +32,17 @@ export declare class ElectronWindowService extends DefaultWindowService {
|
|
|
31
32
|
openNewWindow(url: string, { external }?: NewWindowOptions): undefined;
|
|
32
33
|
openNewDefaultWindow(): void;
|
|
33
34
|
protected init(): void;
|
|
34
|
-
registerUnloadListeners(): void;
|
|
35
|
+
protected registerUnloadListeners(): void;
|
|
35
36
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
37
|
+
* Run when ElectronMain detects a `close` event and emits a `close-requested` event.
|
|
38
|
+
* Should send an event to `electron.ipcRenderer` on the event's `confirmChannel` if it is safe to exit
|
|
39
|
+
* after running FrontentApplication `onWillStop` handlers or on the `cancelChannel` if it is not safe to exit.
|
|
39
40
|
*/
|
|
40
|
-
protected
|
|
41
|
+
protected handleCloseRequestedEvent(event: CloseRequestArguments): Promise<void>;
|
|
41
42
|
/**
|
|
42
43
|
* Updates the window zoom level based on the preference value.
|
|
43
44
|
*/
|
|
44
45
|
protected updateWindowZoomLevel(): void;
|
|
46
|
+
reload(): void;
|
|
45
47
|
}
|
|
46
48
|
//# sourceMappingURL=electron-window-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-window-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-window-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAA+D,MAAM,mDAAmD,CAAC;AAEvJ,qBACa,qBAAsB,SAAQ,oBAAoB;IAE3D;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,OAAO,CAAS;IAEvC;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAGzC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAExE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAE,gBAAqB,GAAG,SAAS;IAK1E,oBAAoB,IAAI,IAAI;IAK5B,SAAS,CAAC,IAAI,IAAI,IAAI;IAStB,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAKzC;;;;OAIG;cACa,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtF;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC,MAAM,IAAI,IAAI;CAGjB"}
|
|
@@ -26,10 +26,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.ElectronWindowService = void 0;
|
|
28
28
|
const inversify_1 = require("inversify");
|
|
29
|
-
const
|
|
29
|
+
const electron = require("../../../shared/electron");
|
|
30
30
|
const default_window_service_1 = require("../../browser/window/default-window-service");
|
|
31
31
|
const electron_main_window_service_1 = require("../../electron-common/electron-main-window-service");
|
|
32
32
|
const electron_window_preferences_1 = require("./electron-window-preferences");
|
|
33
|
+
const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
|
|
33
34
|
let ElectronWindowService = class ElectronWindowService extends default_window_service_1.DefaultWindowService {
|
|
34
35
|
constructor() {
|
|
35
36
|
super(...arguments);
|
|
@@ -58,60 +59,37 @@ let ElectronWindowService = class ElectronWindowService extends default_window_s
|
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
61
|
registerUnloadListeners() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
// Unloading process ongoing, do nothing:
|
|
64
|
-
return this.preventUnload(event);
|
|
65
|
-
}
|
|
66
|
-
else if (this.closeOnUnload || this.canUnload()) {
|
|
67
|
-
// Let the window close and notify clients:
|
|
68
|
-
delete event.returnValue;
|
|
69
|
-
this.onUnloadEmitter.fire();
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.isUnloading = true;
|
|
74
|
-
// Fix https://github.com/eclipse-theia/theia/issues/8186#issuecomment-742624480
|
|
75
|
-
// On Electron/Linux doing `showMessageBoxSync` does not seems to block the closing
|
|
76
|
-
// process long enough and closes the window no matter what you click on (yes/no).
|
|
77
|
-
// Instead we'll prevent closing right away, ask for confirmation and finally close.
|
|
78
|
-
setTimeout(() => {
|
|
79
|
-
if (this.shouldUnload()) {
|
|
80
|
-
this.closeOnUnload = true;
|
|
81
|
-
window.close();
|
|
82
|
-
}
|
|
83
|
-
this.isUnloading = false;
|
|
84
|
-
});
|
|
85
|
-
return this.preventUnload(event);
|
|
86
|
-
}
|
|
87
|
-
});
|
|
62
|
+
electron.ipcRenderer.on(electron_messages_1.CLOSE_REQUESTED_SIGNAL, (_event, closeRequestEvent) => this.handleCloseRequestedEvent(closeRequestEvent));
|
|
63
|
+
window.addEventListener('unload', () => this.onUnloadEmitter.fire());
|
|
88
64
|
}
|
|
89
65
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
66
|
+
* Run when ElectronMain detects a `close` event and emits a `close-requested` event.
|
|
67
|
+
* Should send an event to `electron.ipcRenderer` on the event's `confirmChannel` if it is safe to exit
|
|
68
|
+
* after running FrontentApplication `onWillStop` handlers or on the `cancelChannel` if it is not safe to exit.
|
|
93
69
|
*/
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
return response === 0; // 'Yes', close the window.
|
|
70
|
+
async handleCloseRequestedEvent(event) {
|
|
71
|
+
const safeToClose = await this.isSafeToShutDown();
|
|
72
|
+
if (safeToClose) {
|
|
73
|
+
console.debug(`Shutting down because of ${electron_messages_1.StopReason[event.reason]} request.`);
|
|
74
|
+
electron.ipcRenderer.send(event.confirmChannel);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
electron.ipcRenderer.send(event.cancelChannel);
|
|
78
|
+
}
|
|
104
79
|
}
|
|
105
80
|
/**
|
|
106
81
|
* Updates the window zoom level based on the preference value.
|
|
107
82
|
*/
|
|
108
83
|
updateWindowZoomLevel() {
|
|
109
84
|
const preferredZoomLevel = this.electronWindowPreferences['window.zoomLevel'];
|
|
110
|
-
const webContents =
|
|
85
|
+
const webContents = electron.remote.getCurrentWindow().webContents;
|
|
111
86
|
if (webContents.getZoomLevel() !== preferredZoomLevel) {
|
|
112
87
|
webContents.setZoomLevel(preferredZoomLevel);
|
|
113
88
|
}
|
|
114
89
|
}
|
|
90
|
+
reload() {
|
|
91
|
+
electron.ipcRenderer.send(electron_messages_1.RELOAD_REQUESTED_SIGNAL);
|
|
92
|
+
}
|
|
115
93
|
};
|
|
116
94
|
__decorate([
|
|
117
95
|
inversify_1.inject(electron_main_window_service_1.ElectronMainWindowService),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"electron-window-service.js","sourceRoot":"","sources":["../../../src/electron-browser/window/electron-window-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAA8D;AAC9D,qDAAqD;AAErD,wFAAmF;AACnF,qGAA+F;AAC/F,+EAA0E;AAC1E,yFAAuJ;AAGvJ,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,6CAAoB;IAA/D;;QAEI;;WAEG;QACO,gBAAW,GAAY,KAAK,CAAC;QAEvC;;WAEG;QACO,kBAAa,GAAY,KAAK,CAAC;IA6D7C,CAAC;IArDG,aAAa,CAAC,GAAW,EAAE,EAAE,QAAQ,KAAuB,EAAE;QAC1D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACzC,CAAC;IAGS,IAAI;QACV,gFAAgF;QAChF,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,CAAC,cAAc,KAAK,kBAAkB,EAAE;gBACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,uBAAuB;QAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,0CAAsB,EAAE,CAAC,MAAM,EAAE,iBAAwC,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACzJ,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,yBAAyB,CAAC,KAA4B;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClD,IAAI,WAAW,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,8BAAU,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/E,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACnD;aAAM;YACH,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAClD;IACL,CAAC;IAED;;OAEG;IACO,qBAAqB;QAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC;QACnE,IAAI,WAAW,CAAC,YAAY,EAAE,KAAK,kBAAkB,EAAE;YACnD,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;SAChD;IACL,CAAC;IAED,MAAM;QACF,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,2CAAuB,CAAC,CAAC;IACvD,CAAC;CACJ,CAAA;AA1DG;IADC,kBAAM,CAAC,wDAAyB,CAAC;;uDACqB;AAGvD;IADC,kBAAM,CAAC,uDAAyB,CAAC;;wEACsC;AAYxE;IADC,yBAAa,EAAE;;;;iDAQf;AAnCQ,qBAAqB;IADjC,sBAAU,EAAE;GACA,qBAAqB,CAuEjC;AAvEY,sDAAqB"}
|
|
@@ -17,4 +17,31 @@ export declare const RequestTitleBarStyle = "requestTitleBarStyle";
|
|
|
17
17
|
export declare const TitleBarStyleChanged = "titleBarStyleChanged";
|
|
18
18
|
export declare const TitleBarStyleAtStartup = "titleBarStyleAtStartup";
|
|
19
19
|
export declare const Restart = "restart";
|
|
20
|
+
/**
|
|
21
|
+
* Emitted by main when close requested.
|
|
22
|
+
*/
|
|
23
|
+
export declare const CLOSE_REQUESTED_SIGNAL = "close-requested";
|
|
24
|
+
/**
|
|
25
|
+
* Emitted by window when a reload is requested.
|
|
26
|
+
*/
|
|
27
|
+
export declare const RELOAD_REQUESTED_SIGNAL = "reload-requested";
|
|
28
|
+
export declare enum StopReason {
|
|
29
|
+
/**
|
|
30
|
+
* Closing the window with no prospect of restart.
|
|
31
|
+
*/
|
|
32
|
+
Close = 0,
|
|
33
|
+
/**
|
|
34
|
+
* Reload without closing the window.
|
|
35
|
+
*/
|
|
36
|
+
Reload = 1,
|
|
37
|
+
/**
|
|
38
|
+
* Reload that includes closing the window.
|
|
39
|
+
*/
|
|
40
|
+
Restart = 2
|
|
41
|
+
}
|
|
42
|
+
export interface CloseRequestArguments {
|
|
43
|
+
confirmChannel: string;
|
|
44
|
+
cancelChannel: string;
|
|
45
|
+
reason: StopReason;
|
|
46
|
+
}
|
|
20
47
|
//# sourceMappingURL=electron-messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-messages.d.ts","sourceRoot":"","sources":["../../../src/electron-common/messaging/electron-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,OAAO,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"electron-messages.d.ts","sourceRoot":"","sources":["../../../src/electron-common/messaging/electron-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC;;GAEG;AACH,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AACxD;;GAEG;AACH,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAE1D,oBAAY,UAAU;IAClB;;OAEG;IACH,KAAK,IAAA;IACL;;OAEG;IACH,MAAM,IAAA;IACN;;OAEG;IACH,OAAO,IAAA;CACV;AAED,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACtB"}
|