@opensumi/ide-webview 3.4.5-next-1730085105.0 → 3.4.5-next-1730102270.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/iframe-webview.d.ts.map +1 -1
- package/lib/browser/iframe-webview.js +1 -9
- package/lib/browser/iframe-webview.js.map +1 -1
- package/lib/browser/webview.service.js +1 -1
- package/lib/electron-webview/host-channel.d.ts +0 -1
- package/lib/electron-webview/host-channel.d.ts.map +1 -1
- package/lib/electron-webview/host-channel.js +0 -4
- package/lib/electron-webview/host-channel.js.map +1 -1
- package/lib/webview-host/common.d.ts +0 -1
- package/lib/webview-host/common.d.ts.map +1 -1
- package/lib/webview-host/common.js.map +1 -1
- package/lib/webview-host/web-preload.d.ts +15 -1
- package/lib/webview-host/web-preload.d.ts.map +1 -1
- package/lib/webview-host/web-preload.js +63 -3
- package/lib/webview-host/web-preload.js.map +1 -1
- package/lib/webview-host/webview-manager.d.ts +1 -1
- package/lib/webview-host/webview-manager.d.ts.map +1 -1
- package/lib/webview-host/webview-manager.js +2 -3
- package/lib/webview-host/webview-manager.js.map +1 -1
- package/package.json +9 -10
- package/src/browser/iframe-webview.ts +1 -11
- package/src/browser/webview.service.ts +1 -1
- package/src/electron-webview/host-channel.ts +0 -5
- package/src/webview-host/common.ts +0 -1
- package/src/webview-host/web-preload.ts +73 -2
- package/src/webview-host/webview-manager.ts +3 -4
- package/lib/browser/iframe/prebuilt.d.ts +0 -2
- package/lib/browser/iframe/prebuilt.d.ts.map +0 -1
- package/lib/browser/iframe/prebuilt.js +0 -12
- package/lib/browser/iframe/prebuilt.js.map +0 -1
- package/lib/webview-host/web-iframe-channel.d.ts +0 -19
- package/lib/webview-host/web-iframe-channel.d.ts.map +0 -1
- package/lib/webview-host/web-iframe-channel.js +0 -83
- package/lib/webview-host/web-iframe-channel.js.map +0 -1
- package/lib/webview-host/web-preload-builtin.d.ts +0 -2
- package/lib/webview-host/web-preload-builtin.d.ts.map +0 -1
- package/lib/webview-host/web-preload-builtin.js +0 -7
- package/lib/webview-host/web-preload-builtin.js.map +0 -1
- package/src/browser/iframe/prebuilt.ts +0 -8
- package/src/webview-host/web-iframe-channel.ts +0 -90
- package/src/webview-host/web-preload-builtin.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframe-webview.d.ts","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,WAAW,EAAuB,MAAM,4BAA4B,CAAC;AAElH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"iframe-webview.d.ts","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA2B,WAAW,EAAuB,MAAM,4BAA4B,CAAC;AAElH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE3D,qBACa,kBAAmB,SAAQ,oBAAqB,YAAW,QAAQ;aAYlD,EAAE,EAAE,MAAM;IAXtC,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAuC;IAE9D,OAAO,CAAC,QAAQ,CAAU;IAG1B,MAAM,EAAE,SAAS,CAAC;gBAEU,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAsB5E,gBAAgB;IAkBhB,UAAU;IAIV,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAsBnD,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,GAAG,WAAW;IAavF,QAAQ,CAAC,SAAS,EAAE,WAAW;IAc/B,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ9C,MAAM;IAWN,KAAK;IAQL,OAAO;CAMR"}
|
|
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
6
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
7
|
const abstract_webview_1 = require("./abstract-webview");
|
|
8
|
-
const prebuilt_1 = require("./iframe/prebuilt");
|
|
9
8
|
let IFrameWebviewPanel = class IFrameWebviewPanel extends abstract_webview_1.AbstractWebviewPanel {
|
|
10
9
|
constructor(id, options = {}) {
|
|
11
10
|
super(id, options);
|
|
@@ -13,20 +12,13 @@ let IFrameWebviewPanel = class IFrameWebviewPanel extends abstract_webview_1.Abs
|
|
|
13
12
|
this._needReload = false;
|
|
14
13
|
this._iframeDisposer = new ide_core_browser_1.Disposable();
|
|
15
14
|
this.iframe = document.createElement('iframe');
|
|
16
|
-
this.iframe.name = `webview-${this.id}`;
|
|
17
|
-
this.iframe.id = `webview-${this.id}`;
|
|
18
15
|
this.iframe.setAttribute('allow', 'autoplay');
|
|
19
16
|
const sandboxRules = new Set(['allow-same-origin', 'allow-scripts']);
|
|
20
17
|
if (options.allowForms) {
|
|
21
18
|
sandboxRules.add('allow-forms');
|
|
22
19
|
}
|
|
23
20
|
this.iframe.setAttribute('sandbox', Array.from(sandboxRules).join(' '));
|
|
24
|
-
|
|
25
|
-
this.iframe.setAttribute('srcdoc', (0, prebuilt_1.createHTML)(this.id));
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.iframe.setAttribute('src', `${this.config.webviewEndpoint}/index.html?id=${this.id}`);
|
|
29
|
-
}
|
|
21
|
+
this.iframe.setAttribute('src', `${this.config.webviewEndpoint}/index.html?id=${this.id}`);
|
|
30
22
|
this.iframe.style.border = 'none';
|
|
31
23
|
this.iframe.style.width = '100%';
|
|
32
24
|
this.iframe.style.position = 'absolute';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iframe-webview.js","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,iEAAkH;AAElH,yDAA0D;
|
|
1
|
+
{"version":3,"file":"iframe-webview.js","sourceRoot":"","sources":["../../src/browser/iframe-webview.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,7 +165,7 @@ let WebviewServiceImpl = class WebviewServiceImpl {
|
|
|
165
165
|
}
|
|
166
166
|
getWebviewThemeData(theme) {
|
|
167
167
|
const editorFontFamily = this.editorPreferences['editor.fontFamily'];
|
|
168
|
-
const editorFontWeight = this.editorPreferences['editor.
|
|
168
|
+
const editorFontWeight = this.editorPreferences['editor.fontFamily'];
|
|
169
169
|
const editorFontSize = this.editorPreferences['editor.fontSize'];
|
|
170
170
|
const exportedColors = (0, color_registry_1.getColorRegistry)()
|
|
171
171
|
.getColors()
|
|
@@ -5,7 +5,6 @@ export declare class ElectronWebviewChannel implements IWebviewChannel {
|
|
|
5
5
|
ready?: Promise<void> | undefined;
|
|
6
6
|
fakeLoad: boolean;
|
|
7
7
|
isInDevelopmentMode: boolean;
|
|
8
|
-
get id(): string;
|
|
9
8
|
constructor();
|
|
10
9
|
postMessage(channel: any, data?: any): void;
|
|
11
10
|
onMessage(channel: any, handler: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-channel.d.ts","sourceRoot":"","sources":["../../src/electron-webview/host-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"host-channel.d.ts","sourceRoot":"","sources":["../../src/electron-webview/host-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,QAAQ,CAAa;IAC7B,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,QAAQ,UAAS;IAEV,mBAAmB,UAAS;;IA6BnC,WAAW,CAAC,OAAO,KAAA,EAAE,IAAI,CAAC,KAAA;IAI1B,SAAS,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA;IAI1B,cAAc,CAAC,QAAQ,KAAA;CAWxB"}
|
|
@@ -2,12 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ElectronWebviewChannel = void 0;
|
|
4
4
|
const electron_1 = require("electron");
|
|
5
|
-
const web_iframe_channel_1 = require("../webview-host/web-iframe-channel");
|
|
6
5
|
const webview_manager_1 = require("../webview-host/webview-manager");
|
|
7
6
|
class ElectronWebviewChannel {
|
|
8
|
-
get id() {
|
|
9
|
-
return (0, web_iframe_channel_1.getIdFromSearch)();
|
|
10
|
-
}
|
|
11
7
|
constructor() {
|
|
12
8
|
this.handlers = new Map();
|
|
13
9
|
this.fakeLoad = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-channel.js","sourceRoot":"","sources":["../../src/electron-webview/host-channel.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAGvC,
|
|
1
|
+
{"version":3,"file":"host-channel.js","sourceRoot":"","sources":["../../src/electron-webview/host-channel.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAGvC,qEAAsE;AAEtE,MAAa,sBAAsB;IAQjC;QAPQ,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAG7B,aAAQ,GAAG,KAAK,CAAC;QAEV,wBAAmB,GAAG,KAAK,CAAC;QAGjC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,EAAE;gBACtF,yBAAyB;gBACzB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO;aACR;YAED,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACL,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,IAAK;QACxB,sBAAW,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,OAAO,EAAE,OAAO;QACxB,sBAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,kDAAkD;QAClD,gFAAgF;QAChF,qCAAqC;QACrC,oBAAoB;QACpB,MAAM;QACN,qDAAqD;QACrD,iDAAiD;QACjD,kBAAkB;QAClB,KAAK;IACP,CAAC;CACF;AAtDD,wDAsDC;AAED,IAAI,qCAAmB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC"}
|
|
@@ -6,7 +6,6 @@ export interface IWebviewChannel {
|
|
|
6
6
|
ready?: Promise<void>;
|
|
7
7
|
onIframeLoaded?: (iframe: HTMLIFrameElement) => void;
|
|
8
8
|
fakeLoad: boolean;
|
|
9
|
-
id: string;
|
|
10
9
|
onKeydown?: (event: KeyboardEvent) => void;
|
|
11
10
|
}
|
|
12
11
|
export declare function getVsCodeApiScript(state: any): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/webview-host/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,qrCAwDrB,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/webview-host/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,qrCAwDrB,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,UAkCvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/webview-host/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDxB,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/webview-host/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDxB,CAAC;AAYH,SAAS,UAAU,CAAC,GAAG;IACrB,4CAA4C;IAC5C,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAK;IACtC,OAAO;;;;;;oBAMW,KAAK,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BzF,CAAC;AACJ,CAAC;AAlCD,gDAkCC"}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { IWebviewChannel } from './common';
|
|
2
|
+
export declare class WebIframeChannel implements IWebviewChannel {
|
|
3
|
+
private handlers;
|
|
4
|
+
focusIframeOnCreate?: boolean | undefined;
|
|
5
|
+
ready?: Promise<void> | undefined;
|
|
6
|
+
fakeLoad: boolean;
|
|
7
|
+
private isInDevelopmentMode;
|
|
8
|
+
private id;
|
|
9
|
+
constructor();
|
|
10
|
+
get inDev(): boolean;
|
|
11
|
+
postMessage(channel: any, data?: any): void;
|
|
12
|
+
onMessage(channel: any, handler: any): void;
|
|
13
|
+
onIframeLoaded(newFrame: any): void;
|
|
14
|
+
onKeydown(event: KeyboardEvent): void;
|
|
15
|
+
}
|
|
2
16
|
//# sourceMappingURL=web-preload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-preload.d.ts","sourceRoot":"","sources":["../../src/webview-host/web-preload.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"web-preload.d.ts","sourceRoot":"","sources":["../../src/webview-host/web-preload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAa;IAC7B,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,QAAQ,UAAS;IACjB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,EAAE,CAA0D;;IA8BpE,IAAI,KAAK,YAER;IAED,WAAW,CAAC,OAAO,KAAA,EAAE,IAAI,CAAC,KAAA;IAM1B,SAAS,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA;IAI1B,cAAc,CAAC,QAAQ,KAAA;IAYvB,SAAS,CAAC,KAAK,EAAE,aAAa;CAO/B"}
|
|
@@ -1,7 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const web_iframe_channel_1 = require("./web-iframe-channel");
|
|
3
|
+
exports.WebIframeChannel = void 0;
|
|
5
4
|
const webview_manager_1 = require("./webview-manager");
|
|
6
|
-
|
|
5
|
+
class WebIframeChannel {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.handlers = new Map();
|
|
8
|
+
this.fakeLoad = false;
|
|
9
|
+
this.isInDevelopmentMode = false;
|
|
10
|
+
this.id = document.location.search.match(/\bid=([\w-]+)/)[1];
|
|
11
|
+
window.addEventListener('message', (e) => {
|
|
12
|
+
if (e.data && (e.data.command === 'onmessage' || e.data.command === 'do-update-state')) {
|
|
13
|
+
// Came from inner iframe
|
|
14
|
+
this.postMessage(e.data.command, e.data.data);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const channel = e.data.channel;
|
|
18
|
+
const handler = this.handlers.get(channel);
|
|
19
|
+
if (handler) {
|
|
20
|
+
handler(e, e.data.data);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
24
|
+
console.log('no handler for ', e);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
this.ready = new Promise(async (resolve) => {
|
|
28
|
+
// TODO 等待service worker完成 未来资源使用service worker时需要加入
|
|
29
|
+
resolve();
|
|
30
|
+
});
|
|
31
|
+
this.onMessage('devtools-opened', () => {
|
|
32
|
+
this.isInDevelopmentMode = true;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
get inDev() {
|
|
36
|
+
return this.isInDevelopmentMode;
|
|
37
|
+
}
|
|
38
|
+
postMessage(channel, data) {
|
|
39
|
+
if (window.parent !== window) {
|
|
40
|
+
window.parent.postMessage({ target: this.id, channel, data }, '*');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
onMessage(channel, handler) {
|
|
44
|
+
this.handlers.set(channel, handler);
|
|
45
|
+
}
|
|
46
|
+
onIframeLoaded(newFrame) {
|
|
47
|
+
// newFrame.contentWindow.onbeforeunload = () => {
|
|
48
|
+
// if (this.isInDevelopmentMode) { // Allow reloads while developing a webview
|
|
49
|
+
// this.postMessage('do-reload');
|
|
50
|
+
// return false;
|
|
51
|
+
// }
|
|
52
|
+
// // Block navigation when not in development mode
|
|
53
|
+
// console.log('prevented webview navigation');
|
|
54
|
+
// return false;
|
|
55
|
+
// };
|
|
56
|
+
}
|
|
57
|
+
onKeydown(event) {
|
|
58
|
+
// 在浏览器上,需要阻止一些默认的keydown快捷键
|
|
59
|
+
if (event.key === 's' && (event.metaKey || event.ctrlKey)) {
|
|
60
|
+
// 阻止保存
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.WebIframeChannel = WebIframeChannel;
|
|
66
|
+
new webview_manager_1.WebviewPanelManager(new WebIframeChannel());
|
|
7
67
|
//# sourceMappingURL=web-preload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-preload.js","sourceRoot":"","sources":["../../src/webview-host/web-preload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-preload.js","sourceRoot":"","sources":["../../src/webview-host/web-preload.ts"],"names":[],"mappings":";;;AAEA,uDAAwD;AAExD,MAAa,gBAAgB;IAQ3B;QAPQ,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAG7B,aAAQ,GAAG,KAAK,CAAC;QACT,wBAAmB,GAAG,KAAK,CAAC;QAC5B,OAAE,GAAG,QAAS,CAAC,QAAS,CAAC,MAAO,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC,CAAC,CAAC,CAAC;QAGlE,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,EAAE;gBACtF,yBAAyB;gBACzB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO;aACR;YAED,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACL,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/C,qDAAqD;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,IAAK;QACxB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;SACpE;IACH,CAAC;IAED,SAAS,CAAC,OAAO,EAAE,OAAO;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,kDAAkD;QAClD,gFAAgF;QAChF,qCAAqC;QACrC,oBAAoB;QACpB,MAAM;QACN,qDAAqD;QACrD,iDAAiD;QACjD,kBAAkB;QAClB,KAAK;IACP,CAAC;IAED,SAAS,CAAC,KAAoB;QAC5B,4BAA4B;QAC5B,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YACzD,OAAO;YACP,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;CACF;AArED,4CAqEC;AAED,IAAI,qCAAmB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview-manager.d.ts","sourceRoot":"","sources":["../../src/webview-host/webview-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,UAAU,CAAC;AAE3E,qBAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"webview-manager.d.ts","sourceRoot":"","sources":["../../src/webview-host/webview-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,UAAU,CAAC;AAE3E,qBAAa,mBAAmB;IAWlB,OAAO,CAAC,OAAO;IAV3B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,EAAE,CAAqB;gBAEX,OAAO,EAAE,eAAe;IAI5C,OAAO,CAAC,IAAI;YAmDE,UAAU;IA4JxB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAIvB,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,aAAa;CA8BtB"}
|
|
@@ -3,9 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WebviewPanelManager = void 0;
|
|
4
4
|
const common_1 = require("./common");
|
|
5
5
|
class WebviewPanelManager {
|
|
6
|
-
get ID() {
|
|
7
|
-
return this.channel.id;
|
|
8
|
-
}
|
|
9
6
|
constructor(channel) {
|
|
10
7
|
this.channel = channel;
|
|
11
8
|
this.activeTheme = 'default';
|
|
@@ -16,6 +13,8 @@ class WebviewPanelManager {
|
|
|
16
13
|
document.addEventListener('DOMContentLoaded', this.init.bind(this));
|
|
17
14
|
}
|
|
18
15
|
init() {
|
|
16
|
+
const idMatch = document.location.search.match(/\bid=([\w-]+)/);
|
|
17
|
+
this.ID = idMatch ? idMatch[1] : undefined;
|
|
19
18
|
if (!document.body) {
|
|
20
19
|
return;
|
|
21
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webview-manager.js","sourceRoot":"","sources":["../../src/webview-host/webview-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webview-manager.js","sourceRoot":"","sources":["../../src/webview-host/webview-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-webview",
|
|
3
|
-
"version": "3.4.5-next-
|
|
3
|
+
"version": "3.4.5-next-1730102270.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -10,25 +10,24 @@
|
|
|
10
10
|
"typings": "lib/index.d.ts",
|
|
11
11
|
"scripts": {
|
|
12
12
|
"prepublishOnly": "yarn run build",
|
|
13
|
-
"build": "tsc --build ../../configs/ts/references/tsconfig.webview.json"
|
|
14
|
-
"bundle-webview": "node ./scripts/bundle-webview.mjs"
|
|
13
|
+
"build": "tsc --build ../../configs/ts/references/tsconfig.webview.json"
|
|
15
14
|
},
|
|
16
15
|
"repository": {
|
|
17
16
|
"type": "git",
|
|
18
17
|
"url": "git@github.com:opensumi/core.git"
|
|
19
18
|
},
|
|
20
19
|
"dependencies": {
|
|
21
|
-
"@opensumi/ide-core-common": "3.4.5-next-
|
|
20
|
+
"@opensumi/ide-core-common": "3.4.5-next-1730102270.0"
|
|
22
21
|
},
|
|
23
22
|
"devDependencies": {
|
|
24
|
-
"@opensumi/ide-core-browser": "3.4.5-next-
|
|
25
|
-
"@opensumi/ide-core-electron-main": "3.4.5-next-
|
|
26
|
-
"@opensumi/ide-dev-tool": "3.4.5-next-
|
|
27
|
-
"@opensumi/ide-editor": "3.4.5-next-
|
|
28
|
-
"@opensumi/ide-theme": "3.4.5-next-
|
|
23
|
+
"@opensumi/ide-core-browser": "3.4.5-next-1730102270.0",
|
|
24
|
+
"@opensumi/ide-core-electron-main": "3.4.5-next-1730102270.0",
|
|
25
|
+
"@opensumi/ide-dev-tool": "3.4.5-next-1730102270.0",
|
|
26
|
+
"@opensumi/ide-editor": "3.4.5-next-1730102270.0",
|
|
27
|
+
"@opensumi/ide-theme": "3.4.5-next-1730102270.0"
|
|
29
28
|
},
|
|
30
29
|
"peerDependencies": {
|
|
31
30
|
"electron": "*"
|
|
32
31
|
},
|
|
33
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "994d7627032f22093cb225cf4ff164ca450922eb"
|
|
34
33
|
}
|
|
@@ -2,7 +2,6 @@ import { Autowired, Injectable } from '@opensumi/di';
|
|
|
2
2
|
import { AppConfig, Disposable, DomListener, IDisposable, URI, getDebugLogger } from '@opensumi/ide-core-browser';
|
|
3
3
|
|
|
4
4
|
import { AbstractWebviewPanel } from './abstract-webview';
|
|
5
|
-
import { createHTML } from './iframe/prebuilt';
|
|
6
5
|
import { IWebview, IWebviewContentOptions } from './types';
|
|
7
6
|
|
|
8
7
|
@Injectable({ multiple: true })
|
|
@@ -22,9 +21,6 @@ export class IFrameWebviewPanel extends AbstractWebviewPanel implements IWebview
|
|
|
22
21
|
super(id, options);
|
|
23
22
|
|
|
24
23
|
this.iframe = document.createElement('iframe');
|
|
25
|
-
this.iframe.name = `webview-${this.id}`;
|
|
26
|
-
this.iframe.id = `webview-${this.id}`;
|
|
27
|
-
|
|
28
24
|
this.iframe.setAttribute('allow', 'autoplay');
|
|
29
25
|
|
|
30
26
|
const sandboxRules = new Set(['allow-same-origin', 'allow-scripts']);
|
|
@@ -33,13 +29,7 @@ export class IFrameWebviewPanel extends AbstractWebviewPanel implements IWebview
|
|
|
33
29
|
sandboxRules.add('allow-forms');
|
|
34
30
|
}
|
|
35
31
|
this.iframe.setAttribute('sandbox', Array.from(sandboxRules).join(' '));
|
|
36
|
-
|
|
37
|
-
if (this.config.useBuiltinWebview || !this.config.webviewEndpoint) {
|
|
38
|
-
this.iframe.setAttribute('srcdoc', createHTML(this.id));
|
|
39
|
-
} else {
|
|
40
|
-
this.iframe.setAttribute('src', `${this.config.webviewEndpoint}/index.html?id=${this.id}`);
|
|
41
|
-
}
|
|
42
|
-
|
|
32
|
+
this.iframe.setAttribute('src', `${this.config.webviewEndpoint}/index.html?id=${this.id}`);
|
|
43
33
|
this.iframe.style.border = 'none';
|
|
44
34
|
this.iframe.style.width = '100%';
|
|
45
35
|
this.iframe.style.position = 'absolute';
|
|
@@ -243,7 +243,7 @@ export class WebviewServiceImpl implements IWebviewService {
|
|
|
243
243
|
|
|
244
244
|
getWebviewThemeData(theme: ITheme): IWebviewThemeData {
|
|
245
245
|
const editorFontFamily = this.editorPreferences['editor.fontFamily'];
|
|
246
|
-
const editorFontWeight = this.editorPreferences['editor.
|
|
246
|
+
const editorFontWeight = this.editorPreferences['editor.fontFamily'];
|
|
247
247
|
const editorFontSize = this.editorPreferences['editor.fontSize'];
|
|
248
248
|
|
|
249
249
|
const exportedColors = getColorRegistry()
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ipcRenderer } from 'electron';
|
|
2
2
|
|
|
3
3
|
import { IWebviewChannel } from '../webview-host/common';
|
|
4
|
-
import { getIdFromSearch } from '../webview-host/web-iframe-channel';
|
|
5
4
|
import { WebviewPanelManager } from '../webview-host/webview-manager';
|
|
6
5
|
|
|
7
6
|
export class ElectronWebviewChannel implements IWebviewChannel {
|
|
@@ -12,10 +11,6 @@ export class ElectronWebviewChannel implements IWebviewChannel {
|
|
|
12
11
|
|
|
13
12
|
public isInDevelopmentMode = false;
|
|
14
13
|
|
|
15
|
-
get id() {
|
|
16
|
-
return getIdFromSearch();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
14
|
constructor() {
|
|
20
15
|
window.addEventListener('message', (e) => {
|
|
21
16
|
if (e.data && (e.data.command === 'onmessage' || e.data.command === 'do-update-state')) {
|
|
@@ -1,5 +1,76 @@
|
|
|
1
1
|
/* istanbul ignore file */
|
|
2
|
-
import {
|
|
2
|
+
import { IWebviewChannel } from './common';
|
|
3
3
|
import { WebviewPanelManager } from './webview-manager';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
export class WebIframeChannel implements IWebviewChannel {
|
|
6
|
+
private handlers = new Map();
|
|
7
|
+
focusIframeOnCreate?: boolean | undefined;
|
|
8
|
+
ready?: Promise<void> | undefined;
|
|
9
|
+
fakeLoad = false;
|
|
10
|
+
private isInDevelopmentMode = false;
|
|
11
|
+
private id = document!.location!.search!.match(/\bid=([\w-]+)/)![1];
|
|
12
|
+
|
|
13
|
+
constructor() {
|
|
14
|
+
window.addEventListener('message', (e) => {
|
|
15
|
+
if (e.data && (e.data.command === 'onmessage' || e.data.command === 'do-update-state')) {
|
|
16
|
+
// Came from inner iframe
|
|
17
|
+
this.postMessage(e.data.command, e.data.data);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const channel = e.data.channel;
|
|
22
|
+
const handler = this.handlers.get(channel);
|
|
23
|
+
if (handler) {
|
|
24
|
+
handler(e, e.data.data);
|
|
25
|
+
} else {
|
|
26
|
+
// eslint-disable-next-line no-console
|
|
27
|
+
console.log('no handler for ', e);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
this.ready = new Promise<void>(async (resolve) => {
|
|
32
|
+
// TODO 等待service worker完成 未来资源使用service worker时需要加入
|
|
33
|
+
resolve();
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
this.onMessage('devtools-opened', () => {
|
|
37
|
+
this.isInDevelopmentMode = true;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get inDev() {
|
|
42
|
+
return this.isInDevelopmentMode;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
postMessage(channel, data?) {
|
|
46
|
+
if (window.parent !== window) {
|
|
47
|
+
window.parent.postMessage({ target: this.id, channel, data }, '*');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
onMessage(channel, handler) {
|
|
52
|
+
this.handlers.set(channel, handler);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
onIframeLoaded(newFrame) {
|
|
56
|
+
// newFrame.contentWindow.onbeforeunload = () => {
|
|
57
|
+
// if (this.isInDevelopmentMode) { // Allow reloads while developing a webview
|
|
58
|
+
// this.postMessage('do-reload');
|
|
59
|
+
// return false;
|
|
60
|
+
// }
|
|
61
|
+
// // Block navigation when not in development mode
|
|
62
|
+
// console.log('prevented webview navigation');
|
|
63
|
+
// return false;
|
|
64
|
+
// };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
onKeydown(event: KeyboardEvent) {
|
|
68
|
+
// 在浏览器上,需要阻止一些默认的keydown快捷键
|
|
69
|
+
if (event.key === 's' && (event.metaKey || event.ctrlKey)) {
|
|
70
|
+
// 阻止保存
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
new WebviewPanelManager(new WebIframeChannel());
|
|
@@ -9,16 +9,15 @@ export class WebviewPanelManager {
|
|
|
9
9
|
private loadTimeout;
|
|
10
10
|
private pendingMessages: any[] = [];
|
|
11
11
|
private initialScrollProgress: number;
|
|
12
|
-
|
|
13
|
-
get ID() {
|
|
14
|
-
return this.channel.id;
|
|
15
|
-
}
|
|
12
|
+
private ID: string | undefined;
|
|
16
13
|
|
|
17
14
|
constructor(private channel: IWebviewChannel) {
|
|
18
15
|
document.addEventListener('DOMContentLoaded', this.init.bind(this));
|
|
19
16
|
}
|
|
20
17
|
|
|
21
18
|
private init() {
|
|
19
|
+
const idMatch = document.location.search.match(/\bid=([\w-]+)/);
|
|
20
|
+
this.ID = idMatch ? idMatch[1] : undefined;
|
|
22
21
|
if (!document.body) {
|
|
23
22
|
return;
|
|
24
23
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prebuilt.d.ts","sourceRoot":"","sources":["../../../src/browser/iframe/prebuilt.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,cAAe,MAAM,WAE3C,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createHTML = void 0;
|
|
4
|
-
/* This file is generated by scripts/bundle-webview.mjs */
|
|
5
|
-
/* eslint-disable */
|
|
6
|
-
/* prettier-ignore */
|
|
7
|
-
const htmlContent = "<!DOCTYPE html>\n<html lang=\"en\" style=\"width: 100%; height: 100%\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>Webview Panel Container</title>\n </head>\n\n <body style=\"margin: 0; overflow: hidden; width: 100%; height: 100%\"></body>\n <script>\n window.channelId = {{channelId}};\n </script>\n <script>\n \"use strict\";(()=>{var u=class{constructor(e){this.getId=e;this.handlers=new Map;this.fakeLoad=!1;this.isInDevelopmentMode=!1;window.addEventListener(\"message\",t=>{if(t.data&&(t.data.command===\"onmessage\"||t.data.command===\"do-update-state\")){this.postMessage(t.data.command,t.data.data);return}let n=t.data.channel,o=this.handlers.get(n);o?o(t,t.data.data):console.log(\"no handler for \",t)}),this.ready=new Promise(t=>{t()}),this.onMessage(\"devtools-opened\",()=>{this.isInDevelopmentMode=!0})}get id(){return this._id||(this._id=this.getId()??\"\"),this._id}get inDev(){return this.isInDevelopmentMode}postMessage(e,t){window.parent!==window&&window.parent.postMessage({target:this.id,channel:e,data:t},\"*\")}onMessage(e,t){this.handlers.set(e,t)}onIframeLoaded(e){}onKeydown(e){e.key===\"s\"&&(e.metaKey||e.ctrlKey)&&e.preventDefault()}};var y=`body {\n background-color: var(--vscode-editor-background);\n color: var(--vscode-editor-foreground);\n font-family: var(--vscode-font-family);\n font-weight: var(--vscode-font-weight);\n font-size: var(--vscode-font-size);\n margin: 0;\n padding: 0 20px;\n}\n\nimg {\n max-width: 100%;\n max-height: 100%;\n}\n\na {\n color: var(--vscode-textLink-foreground);\n}\n\na:hover {\n color: var(--vscode-textLink-activeForeground);\n}\n\na:focus,\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: 1px solid -webkit-focus-ring-color;\n outline-offset: -1px;\n}\n\ncode {\n color: var(--vscode-textPreformat-foreground);\n}\n\nblockquote {\n background: var(--vscode-textBlockQuote-background);\n border-color: var(--vscode-textBlockQuote-border);\n}\n\n::-webkit-scrollbar {\n width: 10px;\n height: 10px;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--vscode-scrollbarSlider-background);\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--vscode-scrollbarSlider-hoverBackground);\n}\n::-webkit-scrollbar-thumb:active {\n background-color: var(--vscode-scrollbarSlider-activeBackground);\n}\n::-webkit-scrollbar-corner {\n background: transparent;\n}`;function M(l){return(l+\"\").replace(/[\\\\\"']/g,\"\\\\$&\").replace(/\\u0000/g,\"\\\\0\")}function b(l){return`\n const acquireVsCodeApi = (function() {\n const originalPostMessage = window.parent.postMessage.bind(window.parent);\n const targetOrigin = '*';\n let acquired = false;\n\n let state = ${l?`JSON.parse(\"${M(JSON.stringify(l))}\")`:void 0};\n\n return () => {\n if (acquired) {\n throw new Error('An instance of the VS Code API has already been acquired');\n }\n acquired = true;\n return Object.freeze({\n postMessage: function(msg) {\n return originalPostMessage({ command: 'onmessage', data: msg }, targetOrigin);\n },\n setState: function(newState) {\n state = newState;\n originalPostMessage({ command: 'do-update-state', data: JSON.parse(JSON.stringify(newState)) }, targetOrigin);\n return newState;\n },\n getState: function() {\n return state;\n }\n });\n };\n })();\n delete window.parent;\n delete window.top;\n delete window.frameElement;\n window.acquireVsCodeApi = acquireVsCodeApi;\n `}var m=class{constructor(e){this.channel=e;this.activeTheme=\"default\";this.isHandlingScroll=!1;this.updateId=0;this.firstLoad=!0;this.pendingMessages=[];document.addEventListener(\"DOMContentLoaded\",this.init.bind(this))}get ID(){return this.channel.id}init(){document.body&&(this.channel.onMessage(\"styles\",(e,t)=>{this.styles=t.styles,this.activeTheme=t.activeTheme;let n=this.getActiveFrame();n&&n.contentDocument&&this.applyStyles(n.contentDocument,n.contentDocument.body)}),this.channel.onMessage(\"focus\",()=>{let e=this.getActiveFrame();e&&e.contentWindow&&e.contentWindow.focus()}),this.channel.onMessage(\"content\",async(e,t)=>this.setContent(t)),this.channel.onMessage(\"message\",(e,t)=>{if(!this.getPendingFrame()){let o=this.getActiveFrame();if(o){o.contentWindow?.postMessage(t,\"*\");return}}this.pendingMessages.push(t)}),this.trackFocus({onFocus:()=>this.channel.postMessage(\"did-focus\"),onBlur:()=>this.channel.postMessage(\"did-blur\")}),this.channel.postMessage(\"webview-ready\",{}))}async setContent(e){let t=++this.updateId;if(await this.channel.ready,t!==this.updateId)return;let n=e.options,o=this.toContentHtml(e),d=this.getActiveFrame(),c=this.firstLoad,f;if(this.firstLoad)this.firstLoad=!1,f=(s,a)=>{isNaN(this.initialScrollProgress)||a.scrollY===0&&a.scroll(0,s.clientHeight*this.initialScrollProgress)};else{let s=d&&d.contentDocument&&d.contentDocument.body?d.contentWindow?.scrollY:0;f=(a,r)=>{r.scrollY===0&&r.scroll(0,s)}}let g=this.getPendingFrame();g&&(g.setAttribute(\"id\",\"\"),document.body.removeChild(g)),c||(this.pendingMessages=[]);let i=document.createElement(\"iframe\");i.setAttribute(\"id\",\"pending-frame\"),i.setAttribute(\"frameborder\",\"0\"),i.setAttribute(\"allow\",\"autoplay; clipboard-read; clipboard-write;\");let h=new Set([\"allow-same-origin\",\"allow-pointer-lock\"]);n.allowScripts&&(h.add(\"allow-scripts\"),h.add(\"allow-downloads\")),n.allowForms&&h.add(\"allow-forms\"),i.setAttribute(\"sandbox\",Array.from(h).join(\" \")),this.channel.fakeLoad&&(i.src=`./fake.html?id=${this.ID}`),i.style.cssText=\"display: block; margin: 0; overflow: hidden; position: absolute; width: 100%; height: 100%; visibility: hidden\",document.body.appendChild(i),this.channel.fakeLoad||i.contentDocument?.open(),i.contentWindow?.addEventListener(\"keydown\",this.handleInnerKeydown.bind(this)),i.contentWindow?.addEventListener(\"DOMContentLoaded\",s=>{this.channel.fakeLoad&&(i.contentDocument?.open(),i.contentDocument?.write(o),i.contentDocument?.close(),v(i));let a=s.target?s.target:void 0;a&&this.applyStyles(a,a.body)});let p=(s,a)=>{s&&s.body&&f(s.body,a);let r=this.getPendingFrame();if(r&&r.contentDocument&&r.contentDocument===s){let w=this.getActiveFrame();w&&document.body.removeChild(w),this.applyStyles(r.contentDocument,r.contentDocument.body),r.setAttribute(\"id\",\"active-frame\"),r.style.visibility=\"visible\",this.channel.focusIframeOnCreate&&r.contentWindow?.focus(),a.addEventListener(\"scroll\",this.handleInnerScroll.bind(this)),this.pendingMessages.forEach(k=>{a.postMessage(k,\"*\")}),this.pendingMessages=[]}},v=s=>{clearTimeout(this.loadTimeout),this.loadTimeout=void 0,this.loadTimeout=setTimeout(()=>{clearTimeout(this.loadTimeout),this.loadTimeout=void 0,p(s.contentDocument,s.contentWindow)},1e3);let a=this;s.contentWindow.addEventListener(\"load\",function(r){a.loadTimeout&&(clearTimeout(a.loadTimeout),a.loadTimeout=void 0,p(r.target,this))}),s.contentWindow.addEventListener(\"click\",this.handleInnerClick.bind(this)),this.channel.onIframeLoaded&&this.channel.onIframeLoaded(s)};this.channel.fakeLoad||v(i),this.channel.fakeLoad||(i.contentDocument?.write(o),i.contentDocument?.close()),this.channel.postMessage(\"did-set-content\",void 0)}trackFocus({onFocus:e,onBlur:t}){let o=document.hasFocus();setInterval(()=>{let d=document.hasFocus();d!==o&&(o=d,d?e():t())},50)}getActiveFrame(){return document.getElementById(\"active-frame\")}getPendingFrame(){return document.getElementById(\"pending-frame\")}get defaultCssRules(){return y}applyStyles(e,t){if(e&&(t&&(t.classList.remove(\"vscode-light\",\"vscode-dark\",\"vscode-high-contrast\"),t.classList.add(this.activeTheme)),this.styles))for(let n of Object.keys(this.styles))e.documentElement.style.setProperty(`--${n}`,this.styles[n])}handleInnerClick(e){if(!e||!e.view||!e.view.document)return;let t=e.view.document.getElementsByTagName(\"base\")[0],n=e.target;for(;n;){if(n.tagName&&n.tagName.toLowerCase()===\"a\"&&n.href){if(n.getAttribute(\"href\")===\"#\")e.view.scrollTo(0,0);else if(n.hash&&(n.getAttribute(\"href\")===n.hash||t&&n.href.indexOf(t.href)>=0)){let o=e.view.document.getElementById(n.hash.substr(1,n.hash.length-1));o&&o.scrollIntoView()}else this.channel.postMessage(\"did-click-link\",n.href.baseVal||n.href);e.preventDefault();break}n=n.parentNode}}handleInnerKeydown(e){this.channel.postMessage(\"did-keydown\",{key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat}),this.channel.onKeydown&&this.channel.onKeydown(e)}handleInnerScroll(e){if(!e.target||!e.target.body||this.isHandlingScroll)return;let t=e.currentTarget.scrollY/e.target.body.clientHeight;isNaN(t)||(this.isHandlingScroll=!0,window.requestAnimationFrame(()=>{try{this.channel.postMessage(\"did-scroll\",t)}catch{}this.isHandlingScroll=!1}))}toContentHtml(e){let t=e.options,n=e.contents,o=new DOMParser().parseFromString(n,\"text/html\");if(o.querySelectorAll(\"a\").forEach(c=>{c.title||(c.title=c.getAttribute(\"href\"))}),t.allowScripts){let c=o.createElement(\"script\");c.textContent=b(e.state),o.head.prepend(c)}let d=o.createElement(\"style\");return d.id=\"_defaultStyles\",d.innerHTML=this.defaultCssRules,o.head.prepend(d),this.applyStyles(o,o.body),`<!DOCTYPE html>\n`+o.documentElement.outerHTML}};new m(new u(()=>window.channelId));})();\n\n </script>\n</html>\n";
|
|
8
|
-
const createHTML = (channelId) => {
|
|
9
|
-
return htmlContent.replace('{{channelId}}', JSON.stringify(channelId));
|
|
10
|
-
};
|
|
11
|
-
exports.createHTML = createHTML;
|
|
12
|
-
//# sourceMappingURL=prebuilt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prebuilt.js","sourceRoot":"","sources":["../../../src/browser/iframe/prebuilt.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC1D,oBAAoB;AACpB,qBAAqB;AACrB,MAAM,WAAW,GAAG,m7SAAm7S,CAAC;AAEj8S,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC9C,OAAO,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { IWebviewChannel } from './common';
|
|
2
|
-
export declare const getIdFromSearch: () => string;
|
|
3
|
-
export declare class WebIframeChannel implements IWebviewChannel {
|
|
4
|
-
protected getId: () => string;
|
|
5
|
-
private handlers;
|
|
6
|
-
focusIframeOnCreate?: boolean;
|
|
7
|
-
ready?: Promise<void>;
|
|
8
|
-
fakeLoad: boolean;
|
|
9
|
-
private isInDevelopmentMode;
|
|
10
|
-
private _id;
|
|
11
|
-
get id(): string;
|
|
12
|
-
constructor(getId: () => string);
|
|
13
|
-
get inDev(): boolean;
|
|
14
|
-
postMessage(channel: any, data?: any): void;
|
|
15
|
-
onMessage(channel: any, handler: any): void;
|
|
16
|
-
onIframeLoaded(newFrame: any): void;
|
|
17
|
-
onKeydown(event: KeyboardEvent): void;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=web-iframe-channel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-iframe-channel.d.ts","sourceRoot":"","sources":["../../src/webview-host/web-iframe-channel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,eAAe,cAQ3B,CAAC;AAEF,qBAAa,gBAAiB,YAAW,eAAe;IAe1C,SAAS,CAAC,KAAK,EAAE,MAAM,MAAM;IAdzC,OAAO,CAAC,QAAQ,CAAa;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,UAAS;IACjB,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,GAAG,CAAS;IACpB,IAAI,EAAE,WAKL;gBAEqB,KAAK,EAAE,MAAM,MAAM;IA4BzC,IAAI,KAAK,YAER;IAED,WAAW,CAAC,OAAO,KAAA,EAAE,IAAI,CAAC,KAAA;IAM1B,SAAS,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA;IAI1B,cAAc,CAAC,QAAQ,KAAA;IAYvB,SAAS,CAAC,KAAK,EAAE,aAAa;CAO/B"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebIframeChannel = exports.getIdFromSearch = void 0;
|
|
4
|
-
const getIdFromSearch = () => {
|
|
5
|
-
const params = new URLSearchParams(document.location.search);
|
|
6
|
-
const id = params.get('id');
|
|
7
|
-
if (id) {
|
|
8
|
-
return id;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
throw new Error('Missing "id" parameter in URL');
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.getIdFromSearch = getIdFromSearch;
|
|
15
|
-
class WebIframeChannel {
|
|
16
|
-
get id() {
|
|
17
|
-
var _a;
|
|
18
|
-
if (!this._id) {
|
|
19
|
-
this._id = (_a = this.getId()) !== null && _a !== void 0 ? _a : '';
|
|
20
|
-
}
|
|
21
|
-
return this._id;
|
|
22
|
-
}
|
|
23
|
-
constructor(getId) {
|
|
24
|
-
this.getId = getId;
|
|
25
|
-
this.handlers = new Map();
|
|
26
|
-
this.fakeLoad = false;
|
|
27
|
-
this.isInDevelopmentMode = false;
|
|
28
|
-
window.addEventListener('message', (e) => {
|
|
29
|
-
if (e.data && (e.data.command === 'onmessage' || e.data.command === 'do-update-state')) {
|
|
30
|
-
// Came from inner iframe
|
|
31
|
-
this.postMessage(e.data.command, e.data.data);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const channel = e.data.channel;
|
|
35
|
-
const handler = this.handlers.get(channel);
|
|
36
|
-
if (handler) {
|
|
37
|
-
handler(e, e.data.data);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
// eslint-disable-next-line no-console
|
|
41
|
-
console.log('no handler for ', e);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
this.ready = new Promise((resolve) => {
|
|
45
|
-
// TODO 等待service worker完成 未来资源使用service worker时需要加入
|
|
46
|
-
resolve();
|
|
47
|
-
});
|
|
48
|
-
this.onMessage('devtools-opened', () => {
|
|
49
|
-
this.isInDevelopmentMode = true;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
get inDev() {
|
|
53
|
-
return this.isInDevelopmentMode;
|
|
54
|
-
}
|
|
55
|
-
postMessage(channel, data) {
|
|
56
|
-
if (window.parent !== window) {
|
|
57
|
-
window.parent.postMessage({ target: this.id, channel, data }, '*');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
onMessage(channel, handler) {
|
|
61
|
-
this.handlers.set(channel, handler);
|
|
62
|
-
}
|
|
63
|
-
onIframeLoaded(newFrame) {
|
|
64
|
-
// newFrame.contentWindow.onbeforeunload = () => {
|
|
65
|
-
// if (this.isInDevelopmentMode) { // Allow reloads while developing a webview
|
|
66
|
-
// this.postMessage('do-reload');
|
|
67
|
-
// return false;
|
|
68
|
-
// }
|
|
69
|
-
// // Block navigation when not in development mode
|
|
70
|
-
// console.log('prevented webview navigation');
|
|
71
|
-
// return false;
|
|
72
|
-
// };
|
|
73
|
-
}
|
|
74
|
-
onKeydown(event) {
|
|
75
|
-
// 在浏览器上,需要阻止一些默认的keydown快捷键
|
|
76
|
-
if (event.key === 's' && (event.metaKey || event.ctrlKey)) {
|
|
77
|
-
// 阻止保存
|
|
78
|
-
event.preventDefault();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.WebIframeChannel = WebIframeChannel;
|
|
83
|
-
//# sourceMappingURL=web-iframe-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-iframe-channel.js","sourceRoot":"","sources":["../../src/webview-host/web-iframe-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-preload-builtin.d.ts","sourceRoot":"","sources":["../../src/webview-host/web-preload-builtin.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/* istanbul ignore file */
|
|
4
|
-
const web_iframe_channel_1 = require("./web-iframe-channel");
|
|
5
|
-
const webview_manager_1 = require("./webview-manager");
|
|
6
|
-
new webview_manager_1.WebviewPanelManager(new web_iframe_channel_1.WebIframeChannel(() => window.channelId));
|
|
7
|
-
//# sourceMappingURL=web-preload-builtin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-preload-builtin.js","sourceRoot":"","sources":["../../src/webview-host/web-preload-builtin.ts"],"names":[],"mappings":";;AAAA,0BAA0B;AAC1B,6DAAwD;AACxD,uDAAwD;AAMxD,IAAI,qCAAmB,CAAC,IAAI,qCAAgB,CAAC,GAAG,EAAE,CAAE,MAAoC,CAAC,SAAS,CAAC,CAAC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/* This file is generated by scripts/bundle-webview.mjs */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
/* prettier-ignore */
|
|
4
|
-
const htmlContent = "<!DOCTYPE html>\n<html lang=\"en\" style=\"width: 100%; height: 100%\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\" />\n <title>Webview Panel Container</title>\n </head>\n\n <body style=\"margin: 0; overflow: hidden; width: 100%; height: 100%\"></body>\n <script>\n window.channelId = {{channelId}};\n </script>\n <script>\n \"use strict\";(()=>{var u=class{constructor(e){this.getId=e;this.handlers=new Map;this.fakeLoad=!1;this.isInDevelopmentMode=!1;window.addEventListener(\"message\",t=>{if(t.data&&(t.data.command===\"onmessage\"||t.data.command===\"do-update-state\")){this.postMessage(t.data.command,t.data.data);return}let n=t.data.channel,o=this.handlers.get(n);o?o(t,t.data.data):console.log(\"no handler for \",t)}),this.ready=new Promise(t=>{t()}),this.onMessage(\"devtools-opened\",()=>{this.isInDevelopmentMode=!0})}get id(){return this._id||(this._id=this.getId()??\"\"),this._id}get inDev(){return this.isInDevelopmentMode}postMessage(e,t){window.parent!==window&&window.parent.postMessage({target:this.id,channel:e,data:t},\"*\")}onMessage(e,t){this.handlers.set(e,t)}onIframeLoaded(e){}onKeydown(e){e.key===\"s\"&&(e.metaKey||e.ctrlKey)&&e.preventDefault()}};var y=`body {\n background-color: var(--vscode-editor-background);\n color: var(--vscode-editor-foreground);\n font-family: var(--vscode-font-family);\n font-weight: var(--vscode-font-weight);\n font-size: var(--vscode-font-size);\n margin: 0;\n padding: 0 20px;\n}\n\nimg {\n max-width: 100%;\n max-height: 100%;\n}\n\na {\n color: var(--vscode-textLink-foreground);\n}\n\na:hover {\n color: var(--vscode-textLink-activeForeground);\n}\n\na:focus,\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: 1px solid -webkit-focus-ring-color;\n outline-offset: -1px;\n}\n\ncode {\n color: var(--vscode-textPreformat-foreground);\n}\n\nblockquote {\n background: var(--vscode-textBlockQuote-background);\n border-color: var(--vscode-textBlockQuote-border);\n}\n\n::-webkit-scrollbar {\n width: 10px;\n height: 10px;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--vscode-scrollbarSlider-background);\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--vscode-scrollbarSlider-hoverBackground);\n}\n::-webkit-scrollbar-thumb:active {\n background-color: var(--vscode-scrollbarSlider-activeBackground);\n}\n::-webkit-scrollbar-corner {\n background: transparent;\n}`;function M(l){return(l+\"\").replace(/[\\\\\"']/g,\"\\\\$&\").replace(/\\u0000/g,\"\\\\0\")}function b(l){return`\n const acquireVsCodeApi = (function() {\n const originalPostMessage = window.parent.postMessage.bind(window.parent);\n const targetOrigin = '*';\n let acquired = false;\n\n let state = ${l?`JSON.parse(\"${M(JSON.stringify(l))}\")`:void 0};\n\n return () => {\n if (acquired) {\n throw new Error('An instance of the VS Code API has already been acquired');\n }\n acquired = true;\n return Object.freeze({\n postMessage: function(msg) {\n return originalPostMessage({ command: 'onmessage', data: msg }, targetOrigin);\n },\n setState: function(newState) {\n state = newState;\n originalPostMessage({ command: 'do-update-state', data: JSON.parse(JSON.stringify(newState)) }, targetOrigin);\n return newState;\n },\n getState: function() {\n return state;\n }\n });\n };\n })();\n delete window.parent;\n delete window.top;\n delete window.frameElement;\n window.acquireVsCodeApi = acquireVsCodeApi;\n `}var m=class{constructor(e){this.channel=e;this.activeTheme=\"default\";this.isHandlingScroll=!1;this.updateId=0;this.firstLoad=!0;this.pendingMessages=[];document.addEventListener(\"DOMContentLoaded\",this.init.bind(this))}get ID(){return this.channel.id}init(){document.body&&(this.channel.onMessage(\"styles\",(e,t)=>{this.styles=t.styles,this.activeTheme=t.activeTheme;let n=this.getActiveFrame();n&&n.contentDocument&&this.applyStyles(n.contentDocument,n.contentDocument.body)}),this.channel.onMessage(\"focus\",()=>{let e=this.getActiveFrame();e&&e.contentWindow&&e.contentWindow.focus()}),this.channel.onMessage(\"content\",async(e,t)=>this.setContent(t)),this.channel.onMessage(\"message\",(e,t)=>{if(!this.getPendingFrame()){let o=this.getActiveFrame();if(o){o.contentWindow?.postMessage(t,\"*\");return}}this.pendingMessages.push(t)}),this.trackFocus({onFocus:()=>this.channel.postMessage(\"did-focus\"),onBlur:()=>this.channel.postMessage(\"did-blur\")}),this.channel.postMessage(\"webview-ready\",{}))}async setContent(e){let t=++this.updateId;if(await this.channel.ready,t!==this.updateId)return;let n=e.options,o=this.toContentHtml(e),d=this.getActiveFrame(),c=this.firstLoad,f;if(this.firstLoad)this.firstLoad=!1,f=(s,a)=>{isNaN(this.initialScrollProgress)||a.scrollY===0&&a.scroll(0,s.clientHeight*this.initialScrollProgress)};else{let s=d&&d.contentDocument&&d.contentDocument.body?d.contentWindow?.scrollY:0;f=(a,r)=>{r.scrollY===0&&r.scroll(0,s)}}let g=this.getPendingFrame();g&&(g.setAttribute(\"id\",\"\"),document.body.removeChild(g)),c||(this.pendingMessages=[]);let i=document.createElement(\"iframe\");i.setAttribute(\"id\",\"pending-frame\"),i.setAttribute(\"frameborder\",\"0\"),i.setAttribute(\"allow\",\"autoplay; clipboard-read; clipboard-write;\");let h=new Set([\"allow-same-origin\",\"allow-pointer-lock\"]);n.allowScripts&&(h.add(\"allow-scripts\"),h.add(\"allow-downloads\")),n.allowForms&&h.add(\"allow-forms\"),i.setAttribute(\"sandbox\",Array.from(h).join(\" \")),this.channel.fakeLoad&&(i.src=`./fake.html?id=${this.ID}`),i.style.cssText=\"display: block; margin: 0; overflow: hidden; position: absolute; width: 100%; height: 100%; visibility: hidden\",document.body.appendChild(i),this.channel.fakeLoad||i.contentDocument?.open(),i.contentWindow?.addEventListener(\"keydown\",this.handleInnerKeydown.bind(this)),i.contentWindow?.addEventListener(\"DOMContentLoaded\",s=>{this.channel.fakeLoad&&(i.contentDocument?.open(),i.contentDocument?.write(o),i.contentDocument?.close(),v(i));let a=s.target?s.target:void 0;a&&this.applyStyles(a,a.body)});let p=(s,a)=>{s&&s.body&&f(s.body,a);let r=this.getPendingFrame();if(r&&r.contentDocument&&r.contentDocument===s){let w=this.getActiveFrame();w&&document.body.removeChild(w),this.applyStyles(r.contentDocument,r.contentDocument.body),r.setAttribute(\"id\",\"active-frame\"),r.style.visibility=\"visible\",this.channel.focusIframeOnCreate&&r.contentWindow?.focus(),a.addEventListener(\"scroll\",this.handleInnerScroll.bind(this)),this.pendingMessages.forEach(k=>{a.postMessage(k,\"*\")}),this.pendingMessages=[]}},v=s=>{clearTimeout(this.loadTimeout),this.loadTimeout=void 0,this.loadTimeout=setTimeout(()=>{clearTimeout(this.loadTimeout),this.loadTimeout=void 0,p(s.contentDocument,s.contentWindow)},1e3);let a=this;s.contentWindow.addEventListener(\"load\",function(r){a.loadTimeout&&(clearTimeout(a.loadTimeout),a.loadTimeout=void 0,p(r.target,this))}),s.contentWindow.addEventListener(\"click\",this.handleInnerClick.bind(this)),this.channel.onIframeLoaded&&this.channel.onIframeLoaded(s)};this.channel.fakeLoad||v(i),this.channel.fakeLoad||(i.contentDocument?.write(o),i.contentDocument?.close()),this.channel.postMessage(\"did-set-content\",void 0)}trackFocus({onFocus:e,onBlur:t}){let o=document.hasFocus();setInterval(()=>{let d=document.hasFocus();d!==o&&(o=d,d?e():t())},50)}getActiveFrame(){return document.getElementById(\"active-frame\")}getPendingFrame(){return document.getElementById(\"pending-frame\")}get defaultCssRules(){return y}applyStyles(e,t){if(e&&(t&&(t.classList.remove(\"vscode-light\",\"vscode-dark\",\"vscode-high-contrast\"),t.classList.add(this.activeTheme)),this.styles))for(let n of Object.keys(this.styles))e.documentElement.style.setProperty(`--${n}`,this.styles[n])}handleInnerClick(e){if(!e||!e.view||!e.view.document)return;let t=e.view.document.getElementsByTagName(\"base\")[0],n=e.target;for(;n;){if(n.tagName&&n.tagName.toLowerCase()===\"a\"&&n.href){if(n.getAttribute(\"href\")===\"#\")e.view.scrollTo(0,0);else if(n.hash&&(n.getAttribute(\"href\")===n.hash||t&&n.href.indexOf(t.href)>=0)){let o=e.view.document.getElementById(n.hash.substr(1,n.hash.length-1));o&&o.scrollIntoView()}else this.channel.postMessage(\"did-click-link\",n.href.baseVal||n.href);e.preventDefault();break}n=n.parentNode}}handleInnerKeydown(e){this.channel.postMessage(\"did-keydown\",{key:e.key,keyCode:e.keyCode,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,repeat:e.repeat}),this.channel.onKeydown&&this.channel.onKeydown(e)}handleInnerScroll(e){if(!e.target||!e.target.body||this.isHandlingScroll)return;let t=e.currentTarget.scrollY/e.target.body.clientHeight;isNaN(t)||(this.isHandlingScroll=!0,window.requestAnimationFrame(()=>{try{this.channel.postMessage(\"did-scroll\",t)}catch{}this.isHandlingScroll=!1}))}toContentHtml(e){let t=e.options,n=e.contents,o=new DOMParser().parseFromString(n,\"text/html\");if(o.querySelectorAll(\"a\").forEach(c=>{c.title||(c.title=c.getAttribute(\"href\"))}),t.allowScripts){let c=o.createElement(\"script\");c.textContent=b(e.state),o.head.prepend(c)}let d=o.createElement(\"style\");return d.id=\"_defaultStyles\",d.innerHTML=this.defaultCssRules,o.head.prepend(d),this.applyStyles(o,o.body),`<!DOCTYPE html>\n`+o.documentElement.outerHTML}};new m(new u(()=>window.channelId));})();\n\n </script>\n</html>\n";
|
|
5
|
-
|
|
6
|
-
export const createHTML = (channelId: string) => {
|
|
7
|
-
return htmlContent.replace('{{channelId}}', JSON.stringify(channelId));
|
|
8
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
import { IWebviewChannel } from './common';
|
|
3
|
-
|
|
4
|
-
export const getIdFromSearch = () => {
|
|
5
|
-
const params = new URLSearchParams(document.location.search);
|
|
6
|
-
const id = params.get('id');
|
|
7
|
-
if (id) {
|
|
8
|
-
return id;
|
|
9
|
-
} else {
|
|
10
|
-
throw new Error('Missing "id" parameter in URL');
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export class WebIframeChannel implements IWebviewChannel {
|
|
15
|
-
private handlers = new Map();
|
|
16
|
-
focusIframeOnCreate?: boolean;
|
|
17
|
-
ready?: Promise<void>;
|
|
18
|
-
fakeLoad = false;
|
|
19
|
-
private isInDevelopmentMode = false;
|
|
20
|
-
|
|
21
|
-
private _id: string;
|
|
22
|
-
get id() {
|
|
23
|
-
if (!this._id) {
|
|
24
|
-
this._id = this.getId() ?? '';
|
|
25
|
-
}
|
|
26
|
-
return this._id;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
constructor(protected getId: () => string) {
|
|
30
|
-
window.addEventListener('message', (e) => {
|
|
31
|
-
if (e.data && (e.data.command === 'onmessage' || e.data.command === 'do-update-state')) {
|
|
32
|
-
// Came from inner iframe
|
|
33
|
-
this.postMessage(e.data.command, e.data.data);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const channel = e.data.channel;
|
|
38
|
-
const handler = this.handlers.get(channel);
|
|
39
|
-
if (handler) {
|
|
40
|
-
handler(e, e.data.data);
|
|
41
|
-
} else {
|
|
42
|
-
// eslint-disable-next-line no-console
|
|
43
|
-
console.log('no handler for ', e);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
this.ready = new Promise<void>((resolve) => {
|
|
48
|
-
// TODO 等待service worker完成 未来资源使用service worker时需要加入
|
|
49
|
-
resolve();
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
this.onMessage('devtools-opened', () => {
|
|
53
|
-
this.isInDevelopmentMode = true;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
get inDev() {
|
|
58
|
-
return this.isInDevelopmentMode;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
postMessage(channel, data?) {
|
|
62
|
-
if (window.parent !== window) {
|
|
63
|
-
window.parent.postMessage({ target: this.id, channel, data }, '*');
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
onMessage(channel, handler) {
|
|
68
|
-
this.handlers.set(channel, handler);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
onIframeLoaded(newFrame) {
|
|
72
|
-
// newFrame.contentWindow.onbeforeunload = () => {
|
|
73
|
-
// if (this.isInDevelopmentMode) { // Allow reloads while developing a webview
|
|
74
|
-
// this.postMessage('do-reload');
|
|
75
|
-
// return false;
|
|
76
|
-
// }
|
|
77
|
-
// // Block navigation when not in development mode
|
|
78
|
-
// console.log('prevented webview navigation');
|
|
79
|
-
// return false;
|
|
80
|
-
// };
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
onKeydown(event: KeyboardEvent) {
|
|
84
|
-
// 在浏览器上,需要阻止一些默认的keydown快捷键
|
|
85
|
-
if (event.key === 's' && (event.metaKey || event.ctrlKey)) {
|
|
86
|
-
// 阻止保存
|
|
87
|
-
event.preventDefault();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
import { WebIframeChannel } from './web-iframe-channel';
|
|
3
|
-
import { WebviewPanelManager } from './webview-manager';
|
|
4
|
-
|
|
5
|
-
interface ExtendedWindow extends Window {
|
|
6
|
-
channelId: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
new WebviewPanelManager(new WebIframeChannel(() => (window as unknown as ExtendedWindow).channelId));
|