@opensumi/ide-webview 2.12.1-next-079c1930

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 (72) hide show
  1. package/lib/browser/abstract-webview.d.ts +57 -0
  2. package/lib/browser/abstract-webview.d.ts.map +1 -0
  3. package/lib/browser/abstract-webview.js +167 -0
  4. package/lib/browser/abstract-webview.js.map +1 -0
  5. package/lib/browser/contribution.d.ts +11 -0
  6. package/lib/browser/contribution.d.ts.map +1 -0
  7. package/lib/browser/contribution.js +85 -0
  8. package/lib/browser/contribution.js.map +1 -0
  9. package/lib/browser/editor-webview.d.ts +24 -0
  10. package/lib/browser/editor-webview.d.ts.map +1 -0
  11. package/lib/browser/editor-webview.js +167 -0
  12. package/lib/browser/editor-webview.js.map +1 -0
  13. package/lib/browser/electron-webview-webview.d.ts +21 -0
  14. package/lib/browser/electron-webview-webview.d.ts.map +1 -0
  15. package/lib/browser/electron-webview-webview.js +137 -0
  16. package/lib/browser/electron-webview-webview.js.map +1 -0
  17. package/lib/browser/iframe-webview.d.ts +21 -0
  18. package/lib/browser/iframe-webview.d.ts.map +1 -0
  19. package/lib/browser/iframe-webview.js +118 -0
  20. package/lib/browser/iframe-webview.js.map +1 -0
  21. package/lib/browser/index.d.ts +8 -0
  22. package/lib/browser/index.d.ts.map +1 -0
  23. package/lib/browser/index.js +29 -0
  24. package/lib/browser/index.js.map +1 -0
  25. package/lib/browser/plain-webview.d.ts +45 -0
  26. package/lib/browser/plain-webview.d.ts.map +1 -0
  27. package/lib/browser/plain-webview.js +199 -0
  28. package/lib/browser/plain-webview.js.map +1 -0
  29. package/lib/browser/types.d.ts +171 -0
  30. package/lib/browser/types.d.ts.map +1 -0
  31. package/lib/browser/types.js +10 -0
  32. package/lib/browser/types.js.map +1 -0
  33. package/lib/browser/webview-window.d.ts +33 -0
  34. package/lib/browser/webview-window.d.ts.map +1 -0
  35. package/lib/browser/webview-window.js +104 -0
  36. package/lib/browser/webview-window.js.map +1 -0
  37. package/lib/browser/webview.service.d.ts +76 -0
  38. package/lib/browser/webview.service.d.ts.map +1 -0
  39. package/lib/browser/webview.service.js +380 -0
  40. package/lib/browser/webview.service.js.map +1 -0
  41. package/lib/common/index.d.ts +2 -0
  42. package/lib/common/index.d.ts.map +1 -0
  43. package/lib/common/index.js +5 -0
  44. package/lib/common/index.js.map +1 -0
  45. package/lib/electron-main/index.d.ts +9 -0
  46. package/lib/electron-main/index.d.ts.map +1 -0
  47. package/lib/electron-main/index.js +41 -0
  48. package/lib/electron-main/index.js.map +1 -0
  49. package/lib/electron-webview/host-channel.d.ts +13 -0
  50. package/lib/electron-webview/host-channel.d.ts.map +1 -0
  51. package/lib/electron-webview/host-channel.js +57 -0
  52. package/lib/electron-webview/host-channel.js.map +1 -0
  53. package/lib/electron-webview/host-preload.js +2 -0
  54. package/lib/electron-webview/plain-preload.js +55 -0
  55. package/lib/index.d.ts +2 -0
  56. package/lib/index.d.ts.map +1 -0
  57. package/lib/index.js +5 -0
  58. package/lib/index.js.map +1 -0
  59. package/lib/webview-host/common.d.ts +12 -0
  60. package/lib/webview-host/common.d.ts.map +1 -0
  61. package/lib/webview-host/common.js +97 -0
  62. package/lib/webview-host/common.js.map +1 -0
  63. package/lib/webview-host/web-preload.d.ts +16 -0
  64. package/lib/webview-host/web-preload.d.ts.map +1 -0
  65. package/lib/webview-host/web-preload.js +69 -0
  66. package/lib/webview-host/web-preload.js.map +1 -0
  67. package/lib/webview-host/webview-manager.d.ts +26 -0
  68. package/lib/webview-host/webview-manager.d.ts.map +1 -0
  69. package/lib/webview-host/webview-manager.js +314 -0
  70. package/lib/webview-host/webview-manager.js.map +1 -0
  71. package/lib/webview-host/webview.html +14 -0
  72. package/package.json +35 -0
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElectronWebviewWebviewPanel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
6
+ const abstract_webview_1 = require("./abstract-webview");
7
+ const di_1 = require("@opensumi/di");
8
+ const common_1 = require("../common");
9
+ let ElectronWebviewWebviewPanel = class ElectronWebviewWebviewPanel extends abstract_webview_1.AbstractWebviewPanel {
10
+ constructor(id, options = {}) {
11
+ super(id, options);
12
+ this.id = id;
13
+ this._needReload = false;
14
+ this._iframeDisposer = new ide_core_browser_1.Disposable();
15
+ this.webview = document.createElement('webview');
16
+ this.webview.src = `${common_1.WebviewScheme}://index.html`;
17
+ this.webview.preload = ide_core_browser_1.electronEnv.webviewPreload;
18
+ this.webview.style.border = 'none';
19
+ this.webview.style.width = '100%';
20
+ this.webview.style.position = 'absolute';
21
+ this.webview.style.height = '100%';
22
+ this.webview.style.zIndex = '2';
23
+ super.init();
24
+ }
25
+ prepareContainer() {
26
+ this.clear();
27
+ this._iframeDisposer = new ide_core_browser_1.Disposable();
28
+ this._ready = new Promise((resolve) => {
29
+ // tslint:disable-next-line: no-unused-variable
30
+ const disposer = this._onWebviewMessage('webview-ready', () => {
31
+ if (this._isReady) {
32
+ // 这种情况一般是由于iframe在dom中的位置变动导致了重载。
33
+ // 此时我们需要重新初始化
34
+ // electronWebview不需要重新监听事件
35
+ this.updateStyle();
36
+ this.doUpdateContent();
37
+ }
38
+ this._isReady = true;
39
+ resolve();
40
+ });
41
+ });
42
+ this._needReload = false;
43
+ }
44
+ getDomNode() {
45
+ return this.webview;
46
+ }
47
+ _sendToWebview(channel, data) {
48
+ if (!this._isListening) {
49
+ return;
50
+ }
51
+ this._ready.then(() => {
52
+ if (!this.webview) {
53
+ return;
54
+ }
55
+ this.webview.send(channel, data);
56
+ }).catch((err) => {
57
+ (0, ide_core_browser_1.getDebugLogger)().error(err);
58
+ });
59
+ }
60
+ _onWebviewMessage(channel, listener) {
61
+ return this._iframeDisposer.addDispose(new ide_core_browser_1.DomListener(this.webview, 'ipc-message', (e) => {
62
+ if (!this.webview) {
63
+ return;
64
+ }
65
+ if (e.channel === channel) {
66
+ if (!this._isListening) {
67
+ return;
68
+ }
69
+ listener(e.args[0]);
70
+ }
71
+ }));
72
+ }
73
+ appendTo(container) {
74
+ if (this.webview) {
75
+ if (container.style.position === 'static' || !container.style.position) {
76
+ container.style.position = 'relative';
77
+ }
78
+ container.innerHTML = '';
79
+ container.appendChild(this.webview);
80
+ if (this._needReload) {
81
+ this.init();
82
+ this.doUpdateContent();
83
+ }
84
+ }
85
+ }
86
+ remove() {
87
+ if (this.webview) {
88
+ this.webview.remove();
89
+ this._onRemove.fire();
90
+ // remove 只是视图被销毁,但是html,state等内容保留,因此这里之前是改坏了
91
+ // this.dispose();
92
+ this.clear();
93
+ this._needReload = true;
94
+ }
95
+ }
96
+ clear() {
97
+ if (this._iframeDisposer) {
98
+ this._iframeDisposer.dispose();
99
+ this._iframeDisposer = null;
100
+ }
101
+ this._isReady = false;
102
+ }
103
+ dispose() {
104
+ super.dispose();
105
+ if (this._iframeDisposer) {
106
+ this._iframeDisposer.dispose();
107
+ }
108
+ }
109
+ };
110
+ (0, tslib_1.__decorate)([
111
+ (0, di_1.Autowired)(ide_core_browser_1.AppConfig),
112
+ (0, tslib_1.__metadata)("design:type", Object)
113
+ ], ElectronWebviewWebviewPanel.prototype, "config", void 0);
114
+ ElectronWebviewWebviewPanel = (0, tslib_1.__decorate)([
115
+ (0, di_1.Injectable)({ multiple: true }),
116
+ (0, tslib_1.__metadata)("design:paramtypes", [String, Object])
117
+ ], ElectronWebviewWebviewPanel);
118
+ exports.ElectronWebviewWebviewPanel = ElectronWebviewWebviewPanel;
119
+ // tslint:disable-next-line: no-unused-variable
120
+ const WebviewHTMLStr = `<!DOCTYPE html>
121
+ <html lang="en" style="width: 100%; height: 100%;">
122
+
123
+ <head>
124
+ <meta charset="UTF-8">
125
+ <meta http-equiv="Content-Security-Policy"
126
+ content="default-src 'self'; script-src 'self'; frame-src 'self'; style-src 'unsafe-inline'; worker-src 'self'; img-src * data: ; " />
127
+
128
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
129
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
130
+ <title>Webview Panel Container</title>
131
+ </head>
132
+
133
+ <body style="margin: 0; overflow: hidden; width: 100%; height: 100%">
134
+ </body>
135
+
136
+ </html>`;
137
+ //# sourceMappingURL=electron-webview-webview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electron-webview-webview.js","sourceRoot":"","sources":["../../src/browser/electron-webview-webview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { IWebview, IWebviewContentOptions } from './types';
2
+ import { IDisposable, AppConfig } from '@opensumi/ide-core-browser';
3
+ import { AbstractWebviewPanel } from './abstract-webview';
4
+ export declare class IFrameWebviewPanel extends AbstractWebviewPanel implements IWebview {
5
+ readonly id: string;
6
+ private iframe;
7
+ private _needReload;
8
+ private _iframeDisposer;
9
+ private _isReady;
10
+ config: AppConfig;
11
+ constructor(id: string, options?: IWebviewContentOptions);
12
+ prepareContainer(): void;
13
+ getDomNode(): HTMLIFrameElement;
14
+ protected _sendToWebview(channel: string, data: any): void;
15
+ protected _onWebviewMessage(channel: string, listener: (data: any) => any): IDisposable;
16
+ appendTo(container: HTMLElement): void;
17
+ remove(): void;
18
+ clear(): void;
19
+ dispose(): void;
20
+ }
21
+ //# sourceMappingURL=iframe-webview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-webview.d.ts","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAA2C,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC7G,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,qBACa,kBAAmB,SAAQ,oBAAqB,YAAW,QAAQ;aAalD,EAAE,EAAE,MAAM;IAXtC,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,eAAe,CAAuC;IAE9D,OAAO,CAAC,QAAQ,CAAU;IAG1B,MAAM,EAAE,SAAS,CAAC;gBAEU,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAgB5E,gBAAgB;IAmBhB,UAAU;IAIV,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAiBnD,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,WAAW;IAWvF,QAAQ,CAAC,SAAS,EAAE,WAAW;IAc/B,MAAM;IAWN,KAAK;IAQL,OAAO;CAOR"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IFrameWebviewPanel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
6
+ const abstract_webview_1 = require("./abstract-webview");
7
+ const di_1 = require("@opensumi/di");
8
+ let IFrameWebviewPanel = class IFrameWebviewPanel extends abstract_webview_1.AbstractWebviewPanel {
9
+ constructor(id, options = {}) {
10
+ super(id, options);
11
+ this.id = id;
12
+ this._needReload = false;
13
+ this._iframeDisposer = new ide_core_browser_1.Disposable();
14
+ this.iframe = document.createElement('iframe');
15
+ this.iframe.setAttribute('allow', 'autoplay');
16
+ this.iframe.setAttribute('sandbox', options.allowScripts ? 'allow-scripts allow-forms allow-same-origin' : 'allow-scripts allow-same-origin');
17
+ this.iframe.setAttribute('src', `${this.config.webviewEndpoint}/index.html?id=${this.id}`);
18
+ this.iframe.style.border = 'none';
19
+ this.iframe.style.width = '100%';
20
+ this.iframe.style.position = 'absolute';
21
+ this.iframe.style.height = '100%';
22
+ this.iframe.style.zIndex = '2';
23
+ super.init();
24
+ }
25
+ prepareContainer() {
26
+ this.clear();
27
+ this._iframeDisposer = new ide_core_browser_1.Disposable();
28
+ this._ready = new Promise((resolve) => {
29
+ // tslint:disable-next-line: no-unused-variable
30
+ const disposer = this._onWebviewMessage('webview-ready', () => {
31
+ if (this._isReady) {
32
+ // 这种情况一般是由于iframe在dom中的位置变动导致了重载。
33
+ // 此时我们需要重新初始化
34
+ this.initEvents();
35
+ this.doUpdateContent();
36
+ }
37
+ this._isReady = true;
38
+ resolve();
39
+ });
40
+ });
41
+ this._needReload = false;
42
+ }
43
+ getDomNode() {
44
+ return this.iframe;
45
+ }
46
+ _sendToWebview(channel, data) {
47
+ if (!this._isListening) {
48
+ return;
49
+ }
50
+ this._ready.then(() => {
51
+ if (!this.iframe) {
52
+ return;
53
+ }
54
+ this.iframe.contentWindow.postMessage({
55
+ channel,
56
+ data,
57
+ }, '*');
58
+ }).catch((err) => {
59
+ (0, ide_core_browser_1.getDebugLogger)().error(err);
60
+ });
61
+ }
62
+ _onWebviewMessage(channel, listener) {
63
+ return this._iframeDisposer.addDispose(new ide_core_browser_1.DomListener(window, 'message', (e) => {
64
+ if (e.data && e.data.target === this.id && e.data.channel === channel) {
65
+ if (!this._isListening) {
66
+ return;
67
+ }
68
+ listener(e.data.data);
69
+ }
70
+ }));
71
+ }
72
+ appendTo(container) {
73
+ if (this.iframe) {
74
+ if (container.style.position === 'static' || !container.style.position) {
75
+ container.style.position = 'relative';
76
+ }
77
+ container.innerHTML = '';
78
+ container.appendChild(this.iframe);
79
+ if (this._needReload) {
80
+ this.init();
81
+ this.doUpdateContent();
82
+ }
83
+ }
84
+ }
85
+ remove() {
86
+ if (this.iframe) {
87
+ this.iframe.remove();
88
+ this._onRemove.fire();
89
+ // remove 只是视图被销毁,但是html,state等内容保留,因此这里之前是改坏了
90
+ // this.dispose();
91
+ this.clear();
92
+ this._needReload = true;
93
+ }
94
+ }
95
+ clear() {
96
+ if (this._iframeDisposer) {
97
+ this._iframeDisposer.dispose();
98
+ this._iframeDisposer = null;
99
+ }
100
+ this._isReady = false;
101
+ }
102
+ dispose() {
103
+ super.dispose();
104
+ if (this._iframeDisposer) {
105
+ this._iframeDisposer.dispose();
106
+ }
107
+ }
108
+ };
109
+ (0, tslib_1.__decorate)([
110
+ (0, di_1.Autowired)(ide_core_browser_1.AppConfig),
111
+ (0, tslib_1.__metadata)("design:type", Object)
112
+ ], IFrameWebviewPanel.prototype, "config", void 0);
113
+ IFrameWebviewPanel = (0, tslib_1.__decorate)([
114
+ (0, di_1.Injectable)({ multiple: true }),
115
+ (0, tslib_1.__metadata)("design:paramtypes", [String, Object])
116
+ ], IFrameWebviewPanel);
117
+ exports.IFrameWebviewPanel = IFrameWebviewPanel;
118
+ //# sourceMappingURL=iframe-webview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-webview.js","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Provider } from '@opensumi/di';
2
+ import { BrowserModule } from '@opensumi/ide-core-browser';
3
+ export * from './types';
4
+ export { PlainWebview } from './editor-webview';
5
+ export declare class WebviewModule extends BrowserModule {
6
+ providers: Provider[];
7
+ }
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,qBACa,aAAc,SAAQ,aAAa;IAC9C,SAAS,EAAE,QAAQ,EAAE,CAMnB;CACH"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebviewModule = exports.PlainWebview = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
+ const types_1 = require("./types");
8
+ const webview_service_1 = require("./webview.service");
9
+ const contribution_1 = require("./contribution");
10
+ (0, tslib_1.__exportStar)(require("./types"), exports);
11
+ var editor_webview_1 = require("./editor-webview");
12
+ Object.defineProperty(exports, "PlainWebview", { enumerable: true, get: function () { return editor_webview_1.PlainWebview; } });
13
+ let WebviewModule = class WebviewModule extends ide_core_browser_1.BrowserModule {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.providers = [
17
+ {
18
+ token: types_1.IWebviewService,
19
+ useClass: webview_service_1.WebviewServiceImpl,
20
+ },
21
+ contribution_1.WebviewModuleContribution,
22
+ ];
23
+ }
24
+ };
25
+ WebviewModule = (0, tslib_1.__decorate)([
26
+ (0, di_1.Injectable)()
27
+ ], WebviewModule);
28
+ exports.WebviewModule = WebviewModule;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,iEAA2D;AAC3D,mCAA0C;AAC1C,uDAAuD;AACvD,iDAA2D;AAC3D,uDAAwB;AACxB,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AAGrB,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,gCAAa;IAAhD;;QACE,cAAS,GAAe;YACtB;gBACE,KAAK,EAAE,uBAAe;gBACtB,QAAQ,EAAE,oCAAkB;aAC7B;YACD,wCAAyB;SAC1B,CAAC;IACJ,CAAC;CAAA,CAAA;AARY,aAAa;IADzB,IAAA,eAAU,GAAE;GACA,aAAa,CAQzB;AARY,sCAAa"}
@@ -0,0 +1,45 @@
1
+ import { IPlainWebview } from './types';
2
+ import { Disposable, Emitter, Event } from '@opensumi/ide-core-browser';
3
+ export declare class IframePlainWebview extends Disposable implements IPlainWebview {
4
+ private _url;
5
+ private _iframe;
6
+ private wrapper;
7
+ _onMessage: Emitter<any>;
8
+ onMessage: Event<any>;
9
+ _onRemove: Emitter<void>;
10
+ onRemove: Event<void>;
11
+ _onLoadURL: Emitter<string>;
12
+ onLoadURL: Event<string>;
13
+ private _ready;
14
+ get ready(): Promise<void>;
15
+ constructor();
16
+ get url(): string | undefined;
17
+ loadURL(url: string): Promise<void>;
18
+ getDomNode(): HTMLIFrameElement | null;
19
+ appendTo(container: HTMLElement): void;
20
+ dispose(): void;
21
+ postMessage(message: any): void;
22
+ remove(): void;
23
+ }
24
+ export declare class ElectronPlainWebview extends Disposable implements IPlainWebview {
25
+ private _url;
26
+ private webview;
27
+ private wrapper;
28
+ private webviewDomReady;
29
+ _onMessage: Emitter<any>;
30
+ onMessage: Event<any>;
31
+ _onRemove: Emitter<void>;
32
+ onRemove: Event<void>;
33
+ _onLoadURL: Emitter<string>;
34
+ onLoadURL: Event<string>;
35
+ constructor();
36
+ get url(): string | undefined;
37
+ getDomNode(): HTMLDivElement | null;
38
+ loadURL(url: string): Promise<void>;
39
+ private doLoadURL;
40
+ appendTo(container: HTMLElement): void;
41
+ dispose(): void;
42
+ postMessage(message: any): void;
43
+ remove(): void;
44
+ }
45
+ //# sourceMappingURL=plain-webview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-webview.d.ts","sourceRoot":"","sources":["../../src/browser/plain-webview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,UAAU,EAA4B,OAAO,EAAY,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAE5G,qBAAa,kBAAmB,SAAQ,UAAW,YAAW,aAAa;IAEzE,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO,CAAC,OAAO,CAA2B;IAE1C,OAAO,CAAC,OAAO,CAA2B;IAE1C,UAAU,eAAsB;IAChC,SAAS,aAAyB;IAElC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAuB;IAC/C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAwB;IAE7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAyB;IACpD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyB;IAEjD,OAAO,CAAC,MAAM,CAAwB;IAEtC,IAAI,KAAK,kBAER;;IAwBD,IAAI,GAAG,uBAEN;IAEK,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC,UAAU;IAIV,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAatC,OAAO;IAYP,WAAW,CAAC,OAAO,EAAE,GAAG;IAMxB,MAAM;CAWP;AAED,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,aAAa;IAE3E,OAAO,CAAC,IAAI,CAAqB;IAGjC,OAAO,CAAC,OAAO,CAA6B;IAE5C,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,eAAe,CAAkC;IAEzD,UAAU,eAAsB;IAChC,SAAS,aAAyB;IAElC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAuB;IAC/C,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAwB;IAE7C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAyB;IACpD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyB;;IAcjD,IAAI,GAAG,uBAEN;IAED,UAAU;IAIJ,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAgC3B,SAAS;IAYvB,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAOtC,OAAO;IAOP,WAAW,CAAC,OAAO,EAAE,GAAG;IAMxB,MAAM;CAOP"}
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ElectronPlainWebview = exports.IframePlainWebview = void 0;
4
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
5
+ class IframePlainWebview extends ide_core_browser_1.Disposable {
6
+ constructor() {
7
+ super();
8
+ this._onMessage = new ide_core_browser_1.Emitter();
9
+ this.onMessage = this._onMessage.event;
10
+ this._onRemove = new ide_core_browser_1.Emitter();
11
+ this.onRemove = this._onRemove.event;
12
+ this._onLoadURL = new ide_core_browser_1.Emitter();
13
+ this.onLoadURL = this._onLoadURL.event;
14
+ this._ready = new ide_core_browser_1.Deferred();
15
+ this.wrapper = document.createElement('iframe');
16
+ this.wrapper.setAttribute('src', 'javascript:""');
17
+ this.wrapper.style.width = '100%';
18
+ this.wrapper.style.height = '100%';
19
+ this.wrapper.style.display = 'block';
20
+ this.wrapper.style.position = 'absolute';
21
+ this.wrapper.style.border = 'none';
22
+ this.wrapper.style.zIndex = '2';
23
+ const disposer = this.addDispose(new ide_core_browser_1.DomListener(this.wrapper, 'load', () => {
24
+ this.addDispose(new ide_core_browser_1.DomListener(this.wrapper.contentWindow, 'message', (e) => {
25
+ this._onMessage.fire(e.data);
26
+ }));
27
+ this.wrapper.contentDocument.body.style.margin = '0';
28
+ this._ready.resolve();
29
+ disposer.dispose();
30
+ }));
31
+ this.addDispose(this._onMessage);
32
+ }
33
+ get ready() {
34
+ return this._ready.promise;
35
+ }
36
+ get url() {
37
+ return this._url;
38
+ }
39
+ async loadURL(url) {
40
+ if (!this.wrapper) {
41
+ return;
42
+ }
43
+ await this.ready;
44
+ if (!this.wrapper) {
45
+ return;
46
+ }
47
+ this._url = url;
48
+ if (!this._iframe) {
49
+ this._iframe = document.createElement('iframe');
50
+ this._iframe.style.width = '100%';
51
+ this._iframe.style.height = '100%';
52
+ this._iframe.style.display = 'block';
53
+ this._iframe.style.border = 'none';
54
+ this.wrapper.contentWindow.document.body.appendChild(this._iframe);
55
+ }
56
+ this._iframe.setAttribute('src', url);
57
+ this._onLoadURL.fire(url);
58
+ return new Promise((resolve) => {
59
+ this.addDispose(new ide_core_browser_1.DomListener(this._iframe, 'load', () => {
60
+ resolve();
61
+ }));
62
+ });
63
+ }
64
+ getDomNode() {
65
+ return this.wrapper;
66
+ }
67
+ appendTo(container) {
68
+ if (this.wrapper) {
69
+ if (this.wrapper.parentElement) {
70
+ this.wrapper.remove();
71
+ }
72
+ }
73
+ container.innerHTML = '';
74
+ container.appendChild(this.wrapper);
75
+ if (this._url) {
76
+ this.loadURL(this._url);
77
+ }
78
+ }
79
+ dispose() {
80
+ super.dispose();
81
+ if (this.wrapper) {
82
+ this.wrapper.remove();
83
+ this.wrapper = null;
84
+ }
85
+ if (this._iframe) {
86
+ this._iframe.remove();
87
+ this._iframe = null;
88
+ }
89
+ }
90
+ postMessage(message) {
91
+ if (this._iframe) {
92
+ this._iframe.contentWindow.postMessage(message, '*');
93
+ }
94
+ }
95
+ remove() {
96
+ if (this.wrapper) {
97
+ this.wrapper.remove();
98
+ if (this._iframe) {
99
+ this._iframe.remove();
100
+ this._iframe = null;
101
+ }
102
+ this._onRemove.fire();
103
+ }
104
+ }
105
+ }
106
+ exports.IframePlainWebview = IframePlainWebview;
107
+ class ElectronPlainWebview extends ide_core_browser_1.Disposable {
108
+ constructor() {
109
+ super();
110
+ this.webviewDomReady = new ide_core_browser_1.Deferred();
111
+ this._onMessage = new ide_core_browser_1.Emitter();
112
+ this.onMessage = this._onMessage.event;
113
+ this._onRemove = new ide_core_browser_1.Emitter();
114
+ this.onRemove = this._onRemove.event;
115
+ this._onLoadURL = new ide_core_browser_1.Emitter();
116
+ this.onLoadURL = this._onLoadURL.event;
117
+ this.wrapper = document.createElement('div');
118
+ this.wrapper.style.width = '100%';
119
+ this.wrapper.style.height = '100%';
120
+ this.wrapper.style.display = 'block';
121
+ this.wrapper.style.position = 'absolute';
122
+ this.wrapper.style.border = 'none';
123
+ this.wrapper.style.zIndex = '2';
124
+ this.addDispose(this._onMessage);
125
+ }
126
+ get url() {
127
+ return this._url;
128
+ }
129
+ getDomNode() {
130
+ return this.wrapper;
131
+ }
132
+ async loadURL(url) {
133
+ if (!this.wrapper) {
134
+ return;
135
+ }
136
+ this._url = url;
137
+ if (!this.webview) {
138
+ this.webview = document.createElement('webview');
139
+ this.wrapper.appendChild(this.webview);
140
+ this.webview.style.width = '100%';
141
+ this.webview.style.height = '100%';
142
+ this.webview.style.border = 'none';
143
+ this.webview.style.zIndex = '2';
144
+ this.webview.src = url;
145
+ this.webview.preload = ide_core_browser_1.electronEnv.plainWebviewPreload;
146
+ this.webview.addEventListener('ipc-message', (event) => {
147
+ if (event.channel === 'webview-message') {
148
+ this._onMessage.fire(event.args[0]);
149
+ }
150
+ });
151
+ this.addDispose(new ide_core_browser_1.DomListener(this.webview, 'dom-ready', () => {
152
+ this.webviewDomReady.resolve();
153
+ }));
154
+ this.addDispose(new ide_core_browser_1.DomListener(this.webview, 'destroyed', () => {
155
+ this.webviewDomReady = new ide_core_browser_1.Deferred();
156
+ }));
157
+ }
158
+ this._url = url;
159
+ if (document.body.contains(this.wrapper)) {
160
+ return this.doLoadURL();
161
+ }
162
+ }
163
+ async doLoadURL() {
164
+ return new Promise(async (resolve) => {
165
+ await this.webviewDomReady.promise;
166
+ this.webview.loadURL(this.url);
167
+ const disposer = this.addDispose(new ide_core_browser_1.DomListener(this.webview, 'did-finish-load', () => {
168
+ disposer.dispose();
169
+ this._onLoadURL.fire(this.url);
170
+ resolve();
171
+ }));
172
+ });
173
+ }
174
+ appendTo(container) {
175
+ container.appendChild(this.wrapper);
176
+ if (this._url) {
177
+ this.doLoadURL();
178
+ }
179
+ }
180
+ dispose() {
181
+ this.wrapper.remove();
182
+ this.wrapper = null;
183
+ this.webview.remove();
184
+ this.webview = null;
185
+ }
186
+ postMessage(message) {
187
+ if (this.webview) {
188
+ this.webview.send('webview-message', message);
189
+ }
190
+ }
191
+ remove() {
192
+ if (this.wrapper) {
193
+ this.wrapper.remove();
194
+ this._onRemove.fire();
195
+ }
196
+ }
197
+ }
198
+ exports.ElectronPlainWebview = ElectronPlainWebview;
199
+ //# sourceMappingURL=plain-webview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-webview.js","sourceRoot":"","sources":["../../src/browser/plain-webview.ts"],"names":[],"mappings":"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"}