@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.
Files changed (41) hide show
  1. package/lib/browser/iframe-webview.d.ts.map +1 -1
  2. package/lib/browser/iframe-webview.js +1 -9
  3. package/lib/browser/iframe-webview.js.map +1 -1
  4. package/lib/browser/webview.service.js +1 -1
  5. package/lib/electron-webview/host-channel.d.ts +0 -1
  6. package/lib/electron-webview/host-channel.d.ts.map +1 -1
  7. package/lib/electron-webview/host-channel.js +0 -4
  8. package/lib/electron-webview/host-channel.js.map +1 -1
  9. package/lib/webview-host/common.d.ts +0 -1
  10. package/lib/webview-host/common.d.ts.map +1 -1
  11. package/lib/webview-host/common.js.map +1 -1
  12. package/lib/webview-host/web-preload.d.ts +15 -1
  13. package/lib/webview-host/web-preload.d.ts.map +1 -1
  14. package/lib/webview-host/web-preload.js +63 -3
  15. package/lib/webview-host/web-preload.js.map +1 -1
  16. package/lib/webview-host/webview-manager.d.ts +1 -1
  17. package/lib/webview-host/webview-manager.d.ts.map +1 -1
  18. package/lib/webview-host/webview-manager.js +2 -3
  19. package/lib/webview-host/webview-manager.js.map +1 -1
  20. package/package.json +9 -10
  21. package/src/browser/iframe-webview.ts +1 -11
  22. package/src/browser/webview.service.ts +1 -1
  23. package/src/electron-webview/host-channel.ts +0 -5
  24. package/src/webview-host/common.ts +0 -1
  25. package/src/webview-host/web-preload.ts +73 -2
  26. package/src/webview-host/webview-manager.ts +3 -4
  27. package/lib/browser/iframe/prebuilt.d.ts +0 -2
  28. package/lib/browser/iframe/prebuilt.d.ts.map +0 -1
  29. package/lib/browser/iframe/prebuilt.js +0 -12
  30. package/lib/browser/iframe/prebuilt.js.map +0 -1
  31. package/lib/webview-host/web-iframe-channel.d.ts +0 -19
  32. package/lib/webview-host/web-iframe-channel.d.ts.map +0 -1
  33. package/lib/webview-host/web-iframe-channel.js +0 -83
  34. package/lib/webview-host/web-iframe-channel.js.map +0 -1
  35. package/lib/webview-host/web-preload-builtin.d.ts +0 -2
  36. package/lib/webview-host/web-preload-builtin.d.ts.map +0 -1
  37. package/lib/webview-host/web-preload-builtin.js +0 -7
  38. package/lib/webview-host/web-preload-builtin.js.map +0 -1
  39. package/src/browser/iframe/prebuilt.ts +0 -8
  40. package/src/webview-host/web-iframe-channel.ts +0 -90
  41. 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;AAE1D,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;IA+B5E,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"}
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
- if (this.config.useBuiltinWebview || !this.config.webviewEndpoint) {
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":"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"}
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.fontWeight'];
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;AAIzD,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;IAEnC,IAAI,EAAE,WAEL;;IA6BD,WAAW,CAAC,OAAO,KAAA,EAAE,IAAI,CAAC,KAAA;IAI1B,SAAS,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA;IAI1B,cAAc,CAAC,QAAQ,KAAA;CAWxB"}
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,2EAAqE;AACrE,qEAAsE;AAEtE,MAAa,sBAAsB;IAQjC,IAAI,EAAE;QACJ,OAAO,IAAA,oCAAe,GAAE,CAAC;IAC3B,CAAC;IAED;QAXQ,aAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAG7B,aAAQ,GAAG,KAAK,CAAC;QAEV,wBAAmB,GAAG,KAAK,CAAC;QAOjC,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;AA1DD,wDA0DC;AAED,IAAI,qCAAmB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC"}
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,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,UAkCvC"}
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;AAaH,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
+ {"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
- export {};
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
- /* istanbul ignore file */
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
- new webview_manager_1.WebviewPanelManager(new web_iframe_channel_1.WebIframeChannel(web_iframe_channel_1.getIdFromSearch));
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":";;AAAA,0BAA0B;AAC1B,6DAAyE;AACzE,uDAAwD;AAExD,IAAI,qCAAmB,CAAC,IAAI,qCAAgB,CAAC,oCAAe,CAAC,CAAC,CAAC"}
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"}
@@ -9,7 +9,7 @@ export declare class WebviewPanelManager {
9
9
  private loadTimeout;
10
10
  private pendingMessages;
11
11
  private initialScrollProgress;
12
- get ID(): string;
12
+ private ID;
13
13
  constructor(channel: IWebviewChannel);
14
14
  private init;
15
15
  private setContent;
@@ -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;IAclB,OAAO,CAAC,OAAO;IAb3B,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;IAEtC,IAAI,EAAE,WAEL;gBAEmB,OAAO,EAAE,eAAe;IAI5C,OAAO,CAAC,IAAI;YAiDE,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"}
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-1730085105.0",
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-1730085105.0"
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-1730085105.0",
25
- "@opensumi/ide-core-electron-main": "3.4.5-next-1730085105.0",
26
- "@opensumi/ide-dev-tool": "3.4.5-next-1730085105.0",
27
- "@opensumi/ide-editor": "3.4.5-next-1730085105.0",
28
- "@opensumi/ide-theme": "3.4.5-next-1730085105.0"
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": "05cad6ce00c6e253f074d94fd87845d4bb38158a"
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.fontWeight'];
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')) {
@@ -63,7 +63,6 @@ export interface IWebviewChannel {
63
63
  ready?: Promise<void>;
64
64
  onIframeLoaded?: (iframe: HTMLIFrameElement) => void;
65
65
  fakeLoad: boolean;
66
- id: string;
67
66
  onKeydown?: (event: KeyboardEvent) => void;
68
67
  }
69
68
 
@@ -1,5 +1,76 @@
1
1
  /* istanbul ignore file */
2
- import { WebIframeChannel, getIdFromSearch } from './web-iframe-channel';
2
+ import { IWebviewChannel } from './common';
3
3
  import { WebviewPanelManager } from './webview-manager';
4
4
 
5
- new WebviewPanelManager(new WebIframeChannel(getIdFromSearch));
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,2 +0,0 @@
1
- export declare const createHTML: (channelId: string) => string;
2
- //# sourceMappingURL=prebuilt.d.ts.map
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=web-preload-builtin.d.ts.map
@@ -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));