chromium-bidi 0.4.12 → 0.4.14

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 (69) hide show
  1. package/.browser +1 -1
  2. package/README.md +16 -18
  3. package/lib/cjs/bidiMapper/BidiServer.js +3 -5
  4. package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
  5. package/lib/cjs/bidiMapper/CommandProcessor.d.ts +2 -1
  6. package/lib/cjs/bidiMapper/CommandProcessor.js +7 -2
  7. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  8. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts +1 -1
  9. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.d.ts +4 -1
  10. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js +25 -7
  11. package/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js.map +1 -1
  12. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +4 -0
  13. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +74 -25
  14. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
  15. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +4 -31
  16. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +28 -12
  17. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
  18. package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +7 -0
  19. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +21 -6
  20. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -1
  21. package/lib/cjs/bidiMapper/domains/events/EventManager.js +2 -3
  22. package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
  23. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js +12 -14
  24. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
  25. package/lib/cjs/bidiMapper/domains/network/networkRequest.js +22 -12
  26. package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +1 -1
  27. package/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts +19 -7
  28. package/lib/cjs/bidiMapper/domains/script/channelProxy.js +151 -70
  29. package/lib/cjs/bidiMapper/domains/script/channelProxy.js.map +1 -1
  30. package/lib/cjs/bidiMapper/domains/script/realm.d.ts +3 -1
  31. package/lib/cjs/bidiMapper/domains/script/realm.js +14 -1
  32. package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
  33. package/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts +1 -1
  34. package/lib/cjs/bidiMapper/domains/script/realmStorage.js +5 -4
  35. package/lib/cjs/bidiMapper/domains/script/realmStorage.js.map +1 -1
  36. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js +3 -2
  37. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map +1 -1
  38. package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
  39. package/lib/cjs/bidiServer/bidiServerRunner.d.ts +2 -0
  40. package/lib/cjs/bidiServer/bidiServerRunner.js +8 -8
  41. package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
  42. package/lib/cjs/bidiServer/index.js +3 -5
  43. package/lib/cjs/bidiServer/index.js.map +1 -1
  44. package/lib/cjs/bidiServer/mapperServer.js +10 -10
  45. package/lib/cjs/bidiServer/mapperServer.js.map +1 -1
  46. package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
  47. package/lib/cjs/bidiTab/bidiTab.js +6 -5
  48. package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
  49. package/lib/cjs/bidiTab/mapperTabPage.d.ts +2 -2
  50. package/lib/cjs/bidiTab/mapperTabPage.js.map +1 -1
  51. package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
  52. package/lib/cjs/cdp/cdpClient.d.ts +1 -1
  53. package/lib/cjs/cdp/cdpConnection.d.ts +2 -1
  54. package/lib/cjs/cdp/cdpConnection.js +4 -3
  55. package/lib/cjs/cdp/cdpConnection.js.map +1 -1
  56. package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
  57. package/lib/cjs/protocol/protocol.d.ts +39 -25
  58. package/lib/cjs/protocol/protocol.js +9 -13
  59. package/lib/cjs/protocol/protocol.js.map +1 -1
  60. package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
  61. package/lib/cjs/protocol-parser/protocol-parser.d.ts +2 -1
  62. package/lib/cjs/protocol-parser/protocol-parser.js +32 -6
  63. package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
  64. package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
  65. package/lib/cjs/utils/log.d.ts +2 -1
  66. package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
  67. package/lib/iife/mapperTab.js +2 -2
  68. package/lib/iife/mapperTab.js.map +1 -1
  69. package/package.json +1 -1
package/.browser CHANGED
@@ -1 +1 @@
1
- chrome@116.0.5829.0
1
+ chrome@116.0.5840.0
package/README.md CHANGED
@@ -30,14 +30,14 @@ CdpSendCommandCommand = {
30
30
  }
31
31
 
32
32
  CdpSendCommandParameters = {
33
- cdpMethod: text,
34
- cdpParams: any,
35
- cdpSession?: text,
33
+ method: text,
34
+ params: any,
35
+ cession?: text,
36
36
  }
37
37
 
38
38
  CdpSendCommandResult = {
39
39
  result: any,
40
- cdpSession: text,
40
+ session: text,
41
41
  }
42
42
  ```
43
43
 
@@ -58,24 +58,24 @@ CdpGetSessionParameters = {
58
58
  }
59
59
 
60
60
  CdpGetSessionResult = {
61
- cdpSession: text,
61
+ session: text,
62
62
  }
63
63
  ```
64
64
 
65
65
  The command returns the default CDP session for the selected browsing context.
66
66
 
67
- ### Event `cdp.eventReceived`
67
+ ### Events `cdp`
68
68
 
69
69
  ```cddl
70
70
  CdpEventReceivedEvent = {
71
- method: "cdp.eventReceived",
72
- params: ScriptEvaluateParameters,
71
+ method: "cdp.<CDP Event Name>",
72
+ params: CdpEventReceivedParameters,
73
73
  }
74
74
 
75
75
  CdpEventReceivedParameters = {
76
- cdpMethod: text,
77
- cdpParams: any,
78
- cdpSession: string,
76
+ event: text,
77
+ params: any,
78
+ session: string,
79
79
  }
80
80
  ```
81
81
 
@@ -180,10 +180,10 @@ CHANNEL=dev npm run server
180
180
  npm run server -- --channel=dev
181
181
  ```
182
182
 
183
- Use the CLI argument `--verbose` to have CDP events printed to the console. Note: you have to enable debugging output `bidiMapper:mapperDebug:*` as well.
183
+ Use the CLI argument `--verbose` to have CDP events printed to the console. Note: you have to enable debugging output `bidi:mapper:debug:*` as well.
184
184
 
185
185
  ```sh
186
- DEBUG=bidiMapper:mapperDebug:* npm run server -- --verbose
186
+ DEBUG=bidi:mapper:debug:* npm run server -- --verbose
187
187
  ```
188
188
 
189
189
  or
@@ -366,11 +366,9 @@ new command, add it to `_processCommand`, write and call processor for it.
366
366
 
367
367
  ### Publish new `npm` release
368
368
 
369
- #### Semi-automatic release
369
+ #### Automatic release
370
370
 
371
- Go to [GitHub Actions](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/create-release-pr.yml) and trigger a run with the correct SemVer
372
- type.
373
- That will create a PR. Once that is merge a new tag and release will be created.
371
+ We use [release-please](https://github.com/googleapis/release-please) to automate releases. When a release should be done, check for the release PR in our [pull requests](https://github.com/GoogleChromeLabs/chromium-bidi/pulls) and merge it.
374
372
 
375
373
  #### Manual release
376
374
 
@@ -383,7 +381,7 @@ That will create a PR. Once that is merge a new tag and release will be created.
383
381
  1. Open a PR bumping the chromium-bidi version number in `package.json` for review:
384
382
 
385
383
  ```sh
386
- npm version patch -m 'Release v%s' --no-git-tag-version
384
+ npm version patch -m 'chore: Release v%s' --no-git-tag-version
387
385
  ```
388
386
 
389
387
  Instead of `patch`, use `minor` or `major` [as needed](https://semver.org/).
@@ -28,8 +28,8 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
28
28
  #messageQueue;
29
29
  #transport;
30
30
  #commandProcessor;
31
- #browsingContextStorage;
32
- #realmStorage;
31
+ #browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();
32
+ #realmStorage = new realmStorage_js_1.RealmStorage();
33
33
  #logger;
34
34
  #handleIncomingMessage = (message) => {
35
35
  void this.#commandProcessor.processCommand(message).catch((error) => {
@@ -46,12 +46,10 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
46
46
  constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {
47
47
  super();
48
48
  this.#logger = logger;
49
- this.#browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();
50
- this.#realmStorage = new realmStorage_js_1.RealmStorage();
51
49
  this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);
52
50
  this.#transport = bidiTransport;
53
51
  this.#transport.setOnMessage(this.#handleIncomingMessage);
54
- this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(this.#realmStorage, cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, parser, this.#browsingContextStorage, this.#logger);
52
+ this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, parser, this.#browsingContextStorage, this.#realmStorage, this.#logger);
55
53
  this.#commandProcessor.on('response', (response) => {
56
54
  this.emitOutgoingMessage(response);
57
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
@@ -42,12 +42,13 @@ export interface BidiParser {
42
42
  parseCloseParams(params: object): BrowsingContext.CloseParameters;
43
43
  parseCaptureScreenshotParams(params: object): BrowsingContext.CaptureScreenshotParameters;
44
44
  parsePrintParams(params: object): BrowsingContext.PrintParameters;
45
+ parseSetViewportParams(params: object): BrowsingContext.SetViewportParameters;
45
46
  parsePerformActionsParams(params: object): Input.PerformActionsParameters;
46
47
  parseReleaseActionsParams(params: object): Input.ReleaseActionsParameters;
47
48
  }
48
49
  export declare class CommandProcessor extends EventEmitter<CommandProcessorEvents> {
49
50
  #private;
50
- constructor(realmStorage: RealmStorage, cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, parser: BidiParser | undefined, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn);
51
+ constructor(cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, parser: BidiParser | undefined, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, logger?: LoggerFn);
51
52
  processCommand(command: Message.RawCommandRequest): Promise<void>;
52
53
  }
53
54
  export {};
@@ -77,17 +77,20 @@ class BidiNoOpParser {
77
77
  parseReleaseActionsParams(params) {
78
78
  return params;
79
79
  }
80
+ parseSetViewportParams(params) {
81
+ return params;
82
+ }
80
83
  }
81
84
  class CommandProcessor extends EventEmitter_js_1.EventEmitter {
82
85
  #contextProcessor;
83
86
  #eventManager;
84
87
  #parser;
85
88
  #logger;
86
- constructor(realmStorage, cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, logger) {
89
+ constructor(cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, realmStorage, logger) {
87
90
  super();
88
91
  this.#eventManager = eventManager;
89
92
  this.#logger = logger;
90
- this.#contextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(realmStorage, cdpConnection, selfTargetId, eventManager, browsingContextStorage, logger);
93
+ this.#contextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, logger);
91
94
  this.#parser = parser;
92
95
  }
93
96
  static #process_session_status() {
@@ -123,6 +126,8 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
123
126
  return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));
124
127
  case 'browsingContext.reload':
125
128
  return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(commandData.params));
129
+ case 'browsingContext.setViewport':
130
+ return this.#contextProcessor.process_browsingContext_setViewport(this.#parser.parseSetViewportParams(commandData.params));
126
131
  case 'script.addPreloadScript':
127
132
  return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(commandData.params));
128
133
  case 'script.removePreloadScript':
@@ -1 +1 @@
1
- {"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CommonDataTypes } from '../../../protocol/protocol.js';
2
2
  import type { CdpTarget } from './cdpTarget.js';
3
- import { BidiPreloadScript } from './bidiPreloadScript.js';
3
+ import type { BidiPreloadScript } from './bidiPreloadScript.js';
4
4
  /**
5
5
  * BidiPreloadScripts can be filtered by either context ID, BiDi ID or
6
6
  * target ID.
@@ -1,4 +1,5 @@
1
1
  import type { CommonDataTypes, Script } from '../../../protocol/protocol.js';
2
+ import { ChannelProxy } from '../script/channelProxy.js';
2
3
  import type { CdpTarget } from './cdpTarget.js';
3
4
  /**
4
5
  * BiDi IDs are generated by the server and are unique within the context.
@@ -16,6 +17,8 @@ export declare class BidiPreloadScript {
16
17
  get contextId(): CommonDataTypes.BrowsingContext | null;
17
18
  get targetIds(): Set<string>;
18
19
  constructor(params: Script.AddPreloadScriptParameters);
20
+ /** Channels of the preload script. */
21
+ get channels(): ChannelProxy[];
19
22
  /**
20
23
  * Adds the script to the given CDP targets by calling the
21
24
  * `Page.addScriptToEvaluateOnNewDocument` command.
@@ -38,5 +41,5 @@ export declare class BidiPreloadScript {
38
41
  /**
39
42
  * Removes the provided cdp target from the list of cdp preload scripts.
40
43
  */
41
- cdpTargetIsGone(cdpTargetId: string): Promise<void>;
44
+ cdpTargetIsGone(cdpTargetId: string): void;
42
45
  }
@@ -19,6 +19,7 @@
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.BidiPreloadScript = void 0;
21
21
  const uuid_js_1 = require("../../../utils/uuid.js");
22
+ const channelProxy_js_1 = require("../script/channelProxy.js");
22
23
  /**
23
24
  * BiDi IDs are generated by the server and are unique within the context.
24
25
  *
@@ -40,6 +41,8 @@ class BidiPreloadScript {
40
41
  #contextId;
41
42
  /** Targets, in which the preload script is initialized. */
42
43
  #targetIds = new Set();
44
+ /** Channels to be added as arguments to functionDeclaration. */
45
+ #channels;
43
46
  get id() {
44
47
  return this.#id;
45
48
  }
@@ -54,13 +57,15 @@ class BidiPreloadScript {
54
57
  // TODO: Handle sandbox.
55
58
  throw new Error('Sandbox is not supported yet');
56
59
  }
57
- if (params.arguments !== undefined && params.arguments.length > 0) {
58
- // TODO: Handle arguments.
59
- throw new Error('add preload script arguments are not supported');
60
- }
60
+ this.#channels =
61
+ params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];
61
62
  this.#functionDeclaration = params.functionDeclaration;
62
63
  this.#contextId = params.context ?? null;
63
64
  }
65
+ /** Channels of the preload script. */
66
+ get channels() {
67
+ return this.#channels;
68
+ }
64
69
  /**
65
70
  * Adds the script to the given CDP targets by calling the
66
71
  * `Page.addScriptToEvaluateOnNewDocument` command.
@@ -68,13 +73,26 @@ class BidiPreloadScript {
68
73
  async initInTargets(cdpTargets) {
69
74
  await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget)));
70
75
  }
76
+ /**
77
+ * String to be evaluated. Wraps user-provided function so that the following
78
+ * steps are run:
79
+ * 1. Create channels.
80
+ * 2. Store the created channels in window.
81
+ * 3. Call the user-provided function with channels as arguments.
82
+ */
83
+ #getEvaluateString() {
84
+ const channelsArgStr = `[${this.channels
85
+ .map((c) => c.getEvalInWindowStr())
86
+ .join(', ')}]`;
87
+ return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;
88
+ }
71
89
  /**
72
90
  * Adds the script to the given CDP target by calling the
73
91
  * `Page.addScriptToEvaluateOnNewDocument` command.
74
92
  */
75
93
  async initInTarget(cdpTarget) {
76
94
  const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {
77
- source: `(${this.#functionDeclaration})();`,
95
+ source: this.#getEvaluateString(),
78
96
  });
79
97
  this.#cdpPreloadScripts.push({
80
98
  target: cdpTarget,
@@ -88,7 +106,7 @@ class BidiPreloadScript {
88
106
  */
89
107
  scheduleEvaluateInTarget(cdpTarget) {
90
108
  void cdpTarget.cdpClient.sendCommand('Runtime.evaluate', {
91
- expression: `(${this.#functionDeclaration})();`,
109
+ expression: this.#getEvaluateString(),
92
110
  });
93
111
  }
94
112
  /**
@@ -106,7 +124,7 @@ class BidiPreloadScript {
106
124
  /**
107
125
  * Removes the provided cdp target from the list of cdp preload scripts.
108
126
  */
109
- async cdpTargetIsGone(cdpTargetId) {
127
+ cdpTargetIsGone(cdpTargetId) {
110
128
  this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);
111
129
  this.#targetIds.delete(cdpTargetId);
112
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/bidiPreloadScript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/bidiPreloadScript.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,oDAA8C;AAC9C,+DAAuD;AAWvD;;;;;;;;;GASG;AACH,MAAa,iBAAiB;IAC5B,gDAAgD;IACvC,GAAG,GAAW,IAAA,gBAAM,GAAE,CAAC;IAChC,2BAA2B;IAC3B,kBAAkB,GAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAClE,oBAAoB,CAAS;IACtC,2BAA2B;IAClB,UAAU,CAAyC;IAC5D,2DAA2D;IAClD,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,gEAAgE;IACvD,SAAS,CAAiB;IAEnC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY,MAAyC;QACnD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,wBAAwB;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,8BAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,sCAAsC;IACtC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,UAA+B;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB;QAChB,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,QAAQ;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;aAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEjB,OAAO,UAAU,IAAI,CAAC,oBAAoB,QAAQ,cAAc,OAAO,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,SAAoB;QACrC,MAAM,yBAAyB,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CACrE,uCAAuC,EACvC;YACE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAClC,CACF,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,yBAAyB,CAAC,UAAU;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,SAAoB;QAC3C,KAAK,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE;YACvD,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC1C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC;YAC5D,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CACnC,0CAA0C,EAC1C;gBACE,UAAU,EAAE,kBAAkB;aAC/B,CACF,CAAC;SACH;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,WAAmB;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACtD,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,KAAK,WAAW,CACxE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;CACF;AA1HD,8CA0HC"}
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import type { Protocol } from 'devtools-protocol';
17
18
  import { BrowsingContext, type CommonDataTypes, Message } from '../../../protocol/protocol.js';
18
19
  import { type LoggerFn } from '../../../utils/log.js';
19
20
  import type { IEventManager } from '../events/EventManager.js';
@@ -25,6 +26,7 @@ export declare class BrowsingContextImpl {
25
26
  #private;
26
27
  private constructor();
27
28
  static create(cdpTarget: CdpTarget, realmStorage: RealmStorage, id: CommonDataTypes.BrowsingContext, parentId: CommonDataTypes.BrowsingContext | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): BrowsingContextImpl;
29
+ static getTimestamp(): number;
28
30
  /**
29
31
  * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
30
32
  */
@@ -54,8 +56,10 @@ export declare class BrowsingContextImpl {
54
56
  awaitUnblocked(): Promise<void>;
55
57
  getOrCreateSandbox(sandbox: string | undefined): Promise<Realm>;
56
58
  serializeToBidiValue(maxDepth?: number, addParentField?: boolean): BrowsingContext.Info;
59
+ onTargetInfoChanged(params: Protocol.Target.TargetInfoChangedEvent): void;
57
60
  navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
58
61
  reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<Message.EmptyResult>;
62
+ setViewport(viewport: BrowsingContext.Viewport | null): Promise<void>;
59
63
  captureScreenshot(): Promise<BrowsingContext.CaptureScreenshotResult>;
60
64
  print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
61
65
  }
@@ -72,6 +72,13 @@ class BrowsingContextImpl {
72
72
  }, context.id);
73
73
  return context;
74
74
  }
75
+ static getTimestamp() {
76
+ // `timestamp` from the event is MonotonicTime, not real time, so
77
+ // the best Mapper can do is to set the timestamp to the epoch time
78
+ // of the event arrived.
79
+ // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime
80
+ return new Date().getTime();
81
+ }
75
82
  /**
76
83
  * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
77
84
  */
@@ -197,47 +204,66 @@ class BrowsingContextImpl {
197
204
  ...(addParentField ? { parent: this.#parentId } : {}),
198
205
  };
199
206
  }
207
+ onTargetInfoChanged(params) {
208
+ this.#url = params.targetInfo.url;
209
+ }
200
210
  #initListeners() {
201
- this.#cdpTarget.cdpClient.on('Target.targetInfoChanged', (params) => {
202
- if (this.id !== params.targetInfo.targetId) {
203
- return;
204
- }
205
- this.#url = params.targetInfo.url;
206
- });
207
211
  this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {
208
212
  if (this.id !== params.frame.id) {
209
213
  return;
210
214
  }
215
+ const timestamp = BrowsingContextImpl.getTimestamp();
211
216
  this.#url = params.frame.url + (params.frame.urlFragment ?? '');
212
217
  // At the point the page is initialized, all the nested iframes from the
213
218
  // previous page are detached and realms are destroyed.
214
219
  // Remove children from context.
215
220
  this.#deleteAllChildren();
221
+ this.#eventManager.registerEvent({
222
+ method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,
223
+ params: {
224
+ context: this.id,
225
+ navigation: this.#loaderId ?? null,
226
+ timestamp,
227
+ url: this.#url,
228
+ },
229
+ }, this.id);
216
230
  });
217
231
  this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {
218
232
  if (this.id !== params.frameId) {
219
233
  return;
220
234
  }
235
+ const timestamp = BrowsingContextImpl.getTimestamp();
221
236
  this.#url = params.url;
222
237
  this.#deferreds.Page.navigatedWithinDocument.resolve(params);
238
+ this.#eventManager.registerEvent({
239
+ method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,
240
+ params: {
241
+ context: this.id,
242
+ navigation: this.#loaderId ?? null,
243
+ timestamp,
244
+ url: this.#url,
245
+ },
246
+ }, this.id);
223
247
  });
224
248
  this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {
225
249
  if (this.id !== params.frameId) {
226
250
  return;
227
251
  }
228
- // `timestamp` from the event is MonotonicTime, not real time, so
229
- // the best Mapper can do is to set the timestamp to the epoch time
230
- // of the event arrived.
231
- // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime
232
- const timestamp = new Date().getTime();
252
+ if (params.name === 'init') {
253
+ this.#documentChanged(params.loaderId);
254
+ this.#deferreds.documentInitialized.resolve();
255
+ return;
256
+ }
257
+ if (params.name === 'commit') {
258
+ this.#loaderId = params.loaderId;
259
+ return;
260
+ }
261
+ // Ignore event from not current navigation.
262
+ if (params.loaderId !== this.#loaderId) {
263
+ return;
264
+ }
265
+ const timestamp = BrowsingContextImpl.getTimestamp();
233
266
  switch (params.name) {
234
- case 'init':
235
- this.#documentChanged(params.loaderId);
236
- this.#deferreds.documentInitialized.resolve();
237
- break;
238
- case 'commit':
239
- this.#loaderId = params.loaderId;
240
- break;
241
267
  case 'DOMContentLoaded':
242
268
  this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);
243
269
  this.#eventManager.registerEvent({
@@ -263,9 +289,6 @@ class BrowsingContextImpl {
263
289
  }, this.id);
264
290
  break;
265
291
  }
266
- if (params.loaderId !== this.#loaderId) {
267
- return;
268
- }
269
292
  });
270
293
  this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {
271
294
  if (params.context.auxData.frameId !== this.id) {
@@ -284,11 +307,13 @@ class BrowsingContextImpl {
284
307
  : undefined, this.#cdpTarget.cdpSessionId, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);
285
308
  if (params.context.auxData.isDefault) {
286
309
  this.#maybeDefaultRealm = realm;
310
+ // Initialize ChannelProxy listeners for all the channels of all the
311
+ // preload scripts related to this BrowsingContext.
312
+ // TODO: extend for not default realms by the sandbox name.
313
+ void Promise.all(this.#cdpTarget
314
+ .getChannels(this.id)
315
+ .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));
287
316
  }
288
- this.#eventManager.registerEvent({
289
- method: protocol_js_1.Script.EventNames.RealmCreated,
290
- params: realm.toBiDi(),
291
- }, this.id);
292
317
  });
293
318
  this.#cdpTarget.cdpClient.on('Runtime.executionContextDestroyed', (params) => {
294
319
  this.#realmStorage.deleteRealms({
@@ -408,6 +433,30 @@ class BrowsingContextImpl {
408
433
  }
409
434
  return { result: {} };
410
435
  }
436
+ async setViewport(viewport) {
437
+ if (viewport === null) {
438
+ await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');
439
+ }
440
+ else {
441
+ try {
442
+ await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {
443
+ width: viewport.width,
444
+ height: viewport.height,
445
+ deviceScaleFactor: 0,
446
+ mobile: false,
447
+ dontSetVisibleSize: true,
448
+ });
449
+ }
450
+ catch (err) {
451
+ if (err.message.startsWith(
452
+ // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff
453
+ 'Width and height values must be positive')) {
454
+ throw new protocol_js_1.Message.UnsupportedOperationException('Provided viewport dimensions are not supported');
455
+ }
456
+ throw err;
457
+ }
458
+ }
459
+ }
411
460
  async captureScreenshot() {
412
461
  // XXX: Focus the original tab after the screenshot is taken.
413
462
  // This is needed because the screenshot gets blocked until the active tab gets focus.
@@ -1 +1 @@
1
- {"version":3,"file":"browsingContextImpl.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browsingContextImpl.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextImpl.ts"],"names":[],"mappings":"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"}