chromium-bidi 0.4.8 → 0.4.10

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 (110) hide show
  1. package/.browser +1 -0
  2. package/README.md +2 -3
  3. package/lib/cjs/bidiMapper/BidiServer.js +5 -2
  4. package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
  5. package/lib/cjs/bidiMapper/CdpConnection.d.ts +10 -0
  6. package/lib/cjs/bidiMapper/CommandProcessor.d.ts +1 -0
  7. package/lib/cjs/bidiMapper/CommandProcessor.js +10 -3
  8. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  9. package/lib/cjs/bidiMapper/bidiMapper.d.ts +2 -2
  10. package/lib/cjs/bidiMapper/bidiMapper.js.map +1 -1
  11. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts +16 -5
  12. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js +26 -7
  13. package/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js.map +1 -1
  14. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +4 -3
  15. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +64 -42
  16. package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
  17. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +2 -1
  18. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +40 -43
  19. package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
  20. package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +5 -4
  21. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +71 -40
  22. package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -1
  23. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
  24. package/lib/cjs/bidiMapper/domains/network/networkRequest.js +2 -2
  25. package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +1 -1
  26. package/lib/cjs/bidiMapper/domains/script/realm.d.ts +5 -4
  27. package/lib/cjs/bidiMapper/domains/script/realm.js +28 -18
  28. package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
  29. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts +2 -2
  30. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js +37 -13
  31. package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map +1 -1
  32. package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
  33. package/lib/cjs/bidiServer/bidiServerRunner.js +5 -3
  34. package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
  35. package/lib/cjs/bidiServer/index.js +2 -1
  36. package/lib/cjs/bidiServer/index.js.map +1 -1
  37. package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
  38. package/lib/cjs/bidiTab/bidiTab.js +6 -3
  39. package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
  40. package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
  41. package/lib/cjs/cdp/cdpClient.d.ts +7 -5
  42. package/lib/cjs/cdp/cdpClient.js +8 -3
  43. package/lib/cjs/cdp/cdpClient.js.map +1 -1
  44. package/lib/cjs/cdp/cdpConnection.d.ts +4 -1
  45. package/lib/cjs/cdp/cdpConnection.js +15 -8
  46. package/lib/cjs/cdp/cdpConnection.js.map +1 -1
  47. package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
  48. package/lib/cjs/protocol/protocol.d.ts +27 -9
  49. package/lib/cjs/protocol/protocol.js +0 -1
  50. package/lib/cjs/protocol/protocol.js.map +1 -1
  51. package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
  52. package/lib/cjs/protocol-parser/protocol-parser.d.ts +1 -0
  53. package/lib/cjs/protocol-parser/protocol-parser.js +38 -13
  54. package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
  55. package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
  56. package/lib/cjs/utils/EventEmitter.d.ts +4 -4
  57. package/lib/cjs/utils/EventEmitter.js.map +1 -1
  58. package/lib/cjs/utils/buffer.js +2 -2
  59. package/lib/cjs/utils/buffer.js.map +1 -1
  60. package/lib/cjs/utils/deferred.js +7 -5
  61. package/lib/cjs/utils/deferred.js.map +1 -1
  62. package/lib/cjs/utils/processingQueue.d.ts +1 -1
  63. package/lib/cjs/utils/processingQueue.js +1 -4
  64. package/lib/cjs/utils/processingQueue.js.map +1 -1
  65. package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
  66. package/lib/iife/mapperTab.js +2 -2
  67. package/lib/iife/mapperTab.js.map +1 -1
  68. package/package.json +41 -17
  69. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.spec.d.ts +0 -17
  70. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.spec.js +0 -36
  71. package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.spec.js.map +0 -1
  72. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.d.ts +0 -17
  73. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.js +0 -295
  74. package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.js.map +0 -1
  75. package/lib/cjs/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.d.ts +0 -17
  76. package/lib/cjs/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.js +0 -41
  77. package/lib/cjs/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.js.map +0 -1
  78. package/lib/cjs/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.d.ts +0 -17
  79. package/lib/cjs/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.js +0 -354
  80. package/lib/cjs/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.js.map +0 -1
  81. package/lib/cjs/cdp/cdpClient.spec.d.ts +0 -17
  82. package/lib/cjs/cdp/cdpClient.spec.js +0 -194
  83. package/lib/cjs/cdp/cdpClient.spec.js.map +0 -1
  84. package/lib/cjs/cdp/cdpConnection.spec.d.ts +0 -17
  85. package/lib/cjs/cdp/cdpConnection.spec.js +0 -155
  86. package/lib/cjs/cdp/cdpConnection.spec.js.map +0 -1
  87. package/lib/cjs/utils/DefaultMap.spec.d.ts +0 -17
  88. package/lib/cjs/utils/DefaultMap.spec.js +0 -62
  89. package/lib/cjs/utils/DefaultMap.spec.js.map +0 -1
  90. package/lib/cjs/utils/EventEmitter.spec.d.ts +0 -17
  91. package/lib/cjs/utils/EventEmitter.spec.js +0 -104
  92. package/lib/cjs/utils/EventEmitter.spec.js.map +0 -1
  93. package/lib/cjs/utils/buffer.spec.d.ts +0 -17
  94. package/lib/cjs/utils/buffer.spec.js +0 -67
  95. package/lib/cjs/utils/buffer.spec.js.map +0 -1
  96. package/lib/cjs/utils/deferred.spec.d.ts +0 -17
  97. package/lib/cjs/utils/deferred.spec.js +0 -46
  98. package/lib/cjs/utils/deferred.spec.js.map +0 -1
  99. package/lib/cjs/utils/idWrapper.spec.d.ts +0 -17
  100. package/lib/cjs/utils/idWrapper.spec.js +0 -29
  101. package/lib/cjs/utils/idWrapper.spec.js.map +0 -1
  102. package/lib/cjs/utils/processingQueue.spec.d.ts +0 -17
  103. package/lib/cjs/utils/processingQueue.spec.js +0 -106
  104. package/lib/cjs/utils/processingQueue.spec.js.map +0 -1
  105. package/lib/cjs/utils/transportStub.spec.d.ts +0 -28
  106. package/lib/cjs/utils/transportStub.spec.js +0 -44
  107. package/lib/cjs/utils/transportStub.spec.js.map +0 -1
  108. package/lib/cjs/utils/unitConversions.spec.d.ts +0 -17
  109. package/lib/cjs/utils/unitConversions.spec.js +0 -27
  110. package/lib/cjs/utils/unitConversions.spec.js.map +0 -1
package/.browser ADDED
@@ -0,0 +1 @@
1
+ chrome@115.0.5781.0
package/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
 
5
5
  ![E2E Tests](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/e2e.yml/badge.svg)
6
6
  ![Unit Tests](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/unit.yml/badge.svg)
7
- ![WPT Tests (chromedriver)](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/wpt-chromedriver.yml/badge.svg)
8
- ![WPT Tests (mapper)](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/wpt-mapper.yml/badge.svg)
7
+ ![WPT Tests](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/wpt.yml/badge.svg)
9
8
 
10
9
  ![Generate WPT Report](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/generate-wpt-report.yml/badge.svg)
11
10
  ![Pre-commit](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/pre-commit.yml/badge.svg)
@@ -196,7 +195,7 @@ DEBUG=* npm run server -- --verbose
196
195
 
197
196
  ### Starting on Linux and Mac
198
197
 
199
- TODO: verify if it works on Windows.
198
+ TODO: verify it works on Windows.
200
199
 
201
200
  You can also run the server by using script `./runBiDiServer.sh`. It will write
202
201
  output to the file `log.txt`:
@@ -18,6 +18,7 @@
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.BidiServer = void 0;
20
20
  const EventEmitter_js_1 = require("../utils/EventEmitter.js");
21
+ const log_js_1 = require("../utils/log.js");
21
22
  const processingQueue_js_1 = require("../utils/processingQueue.js");
22
23
  const CommandProcessor_js_1 = require("./CommandProcessor.js");
23
24
  const browsingContextStorage_js_1 = require("./domains/context/browsingContextStorage.js");
@@ -31,7 +32,9 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
31
32
  #realmStorage;
32
33
  #logger;
33
34
  #handleIncomingMessage = (message) => {
34
- this.#commandProcessor.processCommand(message);
35
+ void this.#commandProcessor.processCommand(message).catch((error) => {
36
+ this.#logger?.(log_js_1.LogType.system, error);
37
+ });
35
38
  };
36
39
  #processOutgoingMessage = async (messageEntry) => {
37
40
  const message = messageEntry.message;
@@ -45,7 +48,7 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
45
48
  this.#logger = logger;
46
49
  this.#browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();
47
50
  this.#realmStorage = new realmStorage_js_1.RealmStorage();
48
- this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, () => Promise.resolve(), this.#logger);
51
+ this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);
49
52
  this.#transport = bidiTransport;
50
53
  this.#transport.setOnMessage(this.#handleIncomingMessage);
51
54
  this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(this.#realmStorage, cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, parser, this.#browsingContextStorage, this.#logger);
@@ -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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"}
@@ -27,6 +27,16 @@ export interface CdpConnection {
27
27
  getCdpClient(sessionId: string): CdpClient;
28
28
  }
29
29
  export interface CdpClient extends EventEmitter<CdpEvents> {
30
+ /**
31
+ * Provides an unique way to detect if an error was caused by the closure of a
32
+ * Target or Session.
33
+ *
34
+ * @example
35
+ * During the creation of a subframe we navigate the main frame.
36
+ * The subframe Target is closed while initialized commands are in-flight.
37
+ * In this case we want to swallow the thrown error.
38
+ */
39
+ isCloseError(err: unknown): boolean;
30
40
  sendCommand<CdpMethod extends keyof ProtocolMapping.Commands>(method: CdpMethod, ...params: ProtocolMapping.Commands[CdpMethod]['paramsType']): Promise<ProtocolMapping.Commands[CdpMethod]['returnType']>;
31
41
  }
32
42
  export {};
@@ -36,6 +36,7 @@ export interface BidiParser {
36
36
  parseGetSessionParams(params: object): CDP.GetSessionParams;
37
37
  parseSubscribeParams(params: object): Session.SubscriptionRequest;
38
38
  parseNavigateParams(params: object): BrowsingContext.NavigateParameters;
39
+ parseReloadParams(params: object): BrowsingContext.ReloadParameters;
39
40
  parseGetTreeParams(params: object): BrowsingContext.GetTreeParameters;
40
41
  parseCreateParams(params: object): BrowsingContext.CreateParameters;
41
42
  parseCloseParams(params: object): BrowsingContext.CloseParameters;
@@ -53,6 +53,9 @@ class BidiNoOpParser {
53
53
  parseNavigateParams(params) {
54
54
  return params;
55
55
  }
56
+ parseReloadParams(params) {
57
+ return params;
58
+ }
56
59
  parseGetTreeParams(params) {
57
60
  return params;
58
61
  }
@@ -112,6 +115,8 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
112
115
  return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(commandData.params));
113
116
  case 'browsingContext.print':
114
117
  return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));
118
+ case 'browsingContext.reload':
119
+ return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(commandData.params));
115
120
  case 'script.addPreloadScript':
116
121
  return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(commandData.params));
117
122
  case 'script.removePreloadScript':
@@ -128,9 +133,11 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
128
133
  return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(commandData.params));
129
134
  case 'cdp.getSession':
130
135
  return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(commandData.params));
131
- default:
132
- throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);
133
136
  }
137
+ // Intentionally kept outside of the switch statement to ensure that
138
+ // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new
139
+ // command is added.
140
+ throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);
134
141
  }
135
142
  async processCommand(command) {
136
143
  try {
@@ -149,7 +156,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
149
156
  else {
150
157
  const error = e;
151
158
  this.#logger?.(log_js_1.LogType.bidi, error);
152
- this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.ErrorResponse(protocol_js_1.Message.ErrorCode.UnknownError, error.message).toErrorResponse(command.id), command.channel ?? null));
159
+ this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.UnknownErrorException(error.message).toErrorResponse(command.id), command.channel ?? null));
153
160
  }
154
161
  }
155
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAMiC;AACjC,4CAAkD;AAClD,8DAAsD;AAEtD,+FAAuF;AAIvF,qEAA6D;AA+B7D,MAAM,cAAc;IAClB,2BAA2B,CACzB,MAAc;QAEd,OAAO,MAA2C,CAAC;IACrD,CAAC;IAED,8BAA8B,CAC5B,MAAc;QAEd,OAAO,MAA8C,CAAC;IACxD,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,uBAAuB,CAAC,MAAc;QACpC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,sBAAsB,CAAC,MAAc;QACnC,OAAO,MAA+B,CAAC;IACzC,CAAC;IACD,qBAAqB,CAAC,MAAc;QAClC,OAAO,MAA8B,CAAC;IACxC,CAAC;IACD,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAqC,CAAC;IAC/C,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,kBAAkB,CAAC,MAAc;QAC/B,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,4BAA4B,CAC1B,MAAc;QAEd,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,MAAyC,CAAC;IACnD,CAAC;CACF;AAED,MAAa,gBAAiB,SAAQ,8BAAoC;IACxE,iBAAiB,CAA2B;IAC5C,aAAa,CAAgB;IAC7B,OAAO,CAAa;IACpB,OAAO,CAAY;IAEnB,YACE,YAA0B,EAC1B,aAA4B,EAC5B,YAA2B,EAC3B,YAAoB,EACpB,SAAqB,IAAI,cAAc,EAAE,EACzC,sBAA8C,EAC9C,MAAiB;QAEjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,sDAAwB,CACnD,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAC,EAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAmC,EACnC,OAAsB;QAEtB,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAChC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,MAAmC,EACnC,OAAsB;QAEtB,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAClC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,WAAsC;QAEtC,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC1B,KAAK,gBAAgB;gBACnB,OAAO,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;YACpD,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,0BAA0B,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,EACrD,WAAW,CAAC,OAAO,IAAI,IAAI,CAC5B,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,4BAA4B,CACtC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,EACrD,WAAW,CAAC,OAAO,IAAI,IAAI,CAC5B,CAAC;YAEJ,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,CAC1D,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CACnD,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAClD,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAC3D,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CACpD,CAAC;YACJ,KAAK,0BAA0B;gBAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAC5D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,mCAAmC;gBACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CACrE,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,MAAM,CAAC,CAC9D,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAClD,CAAC;YAEJ,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAC3D,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,WAAW,CAAC,MAAM,CAAC,CAC7D,CAAC;YACJ,KAAK,4BAA4B;gBAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,kCAAkC,CAC9D,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,WAAW,CAAC,MAAM,CAAC,CAChE,CAAC;YACJ,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CACpD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CACtD,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CACvD,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CACnD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CACnD,CAAC;YAEJ,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CACnD,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CACxD,CAAC;YACJ,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAClD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CACvD,CAAC;YAEJ;gBACE,MAAM,IAAI,qBAAO,CAAC,uBAAuB,CACvC,oBAAoB,WAAW,CAAC,MAAM,IAAI,CAC3C,CAAC;SACL;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAkC;QACrD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,MAAM;aACV,CAAC;YAEF,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CACtE,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,qBAAO,CAAC,aAAa,EAAE;gBACtC,MAAM,aAAa,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAChC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EACzC,OAAO,CAAC,OAAO,IAAI,IAAI,CACxB,CACF,CAAC;aACH;iBAAM;gBACL,MAAM,KAAK,GAAG,CAAU,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAChC,IAAI,qBAAO,CAAC,aAAa,CACvB,qBAAO,CAAC,SAAS,CAAC,YAAY,EAC9B,KAAK,CAAC,OAAO,CACd,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B,OAAO,CAAC,OAAO,IAAI,IAAI,CACxB,CACF,CAAC;aACH;SACF;IACH,CAAC;CACF;AAnLD,4CAmLC"}
1
+ {"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  /**
18
- * The entry point to the BiDi Mapper namespace.
18
+ * @fileoverview The entry point to the BiDi Mapper namespace.
19
19
  * Other modules should only access exports defined in this file.
20
- * TODO: eslint rule for this.
20
+ * XXX: eslint rule for this.
21
21
  */
22
22
  export { CdpConnection, CdpClient } from './CdpConnection.js';
23
23
  export { BidiServer } from './BidiServer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"bidiMapper.js","sourceRoot":"","sources":["../../../src/bidiMapper/bidiMapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AASH,iDAA2C;AAAnC,2GAAA,UAAU,OAAA;AAElB,4DAAsD;AAA9C,+GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"bidiMapper.js","sourceRoot":"","sources":["../../../src/bidiMapper/bidiMapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAQH,iDAA2C;AAAnC,2GAAA,UAAU,OAAA;AAElB,4DAAsD;AAA9C,+GAAA,YAAY,OAAA"}
@@ -13,13 +13,22 @@ export type BidiPreloadScript = {
13
13
  contextId: CommonDataTypes.BrowsingContext | null;
14
14
  };
15
15
  /** BidiPreloadScripts can be filtered by either context ID or BiDi ID. */
16
- export type BidiPreloadScriptFilter = Partial<Pick<BidiPreloadScript, 'contextId'> & Pick<BidiPreloadScript, 'id'>>;
16
+ export type BidiPreloadScriptFilter = Partial<Pick<BidiPreloadScript, 'contextId'> & Pick<BidiPreloadScript, 'id'>> & {
17
+ contextIds?: (CommonDataTypes.BrowsingContext | null)[];
18
+ };
17
19
  export type CdpPreloadScript = {
18
- /** CDP target. */
20
+ /** CDP target. Includes session ID and target ID. */
19
21
  target: CdpTarget;
20
22
  /** CDP preload script ID. */
21
23
  preloadScriptId: Script.PreloadScript;
22
24
  };
25
+ /** CdpPreloadScripts can be filtered by CDP session ID or target ID. */
26
+ export type CdpPreloadScriptFilter = {
27
+ /** CDP session ID. */
28
+ sessionId?: string;
29
+ /** CDP target ID. */
30
+ targetId?: string;
31
+ };
23
32
  /**
24
33
  * Container class for preload scripts.
25
34
  *
@@ -52,7 +61,9 @@ export declare class PreloadScriptStorage {
52
61
  * Keeps track of the given CDP preload script in the given BiDi preload
53
62
  * script.
54
63
  */
55
- appendPreloadScript(script: BidiPreloadScript, cdpPreloadScript: CdpPreloadScript): void;
56
- /** Deletes all entries that match the given filter. */
57
- removePreloadScripts(filter?: BidiPreloadScriptFilter): void;
64
+ appendCdpPreloadScript(script: BidiPreloadScript, cdpPreloadScript: CdpPreloadScript): void;
65
+ /** Deletes all BiDi preload script entries that match the given filter. */
66
+ removeBiDiPreloadScripts(filter?: BidiPreloadScriptFilter): void;
67
+ /** Deletes all CDP preload script entries that match the given filter. */
68
+ removeCdpPreloadScripts(filter?: CdpPreloadScriptFilter): void;
58
69
  }
@@ -32,7 +32,6 @@ const uuid_1 = require("uuid");
32
32
  *
33
33
  * This class does not concern itself with the validity of the IDs.
34
34
  */
35
- // TODO: add unit tests.
36
35
  class PreloadScriptStorage {
37
36
  /** Tracks all BiDi preload scripts. */
38
37
  #scripts = new Set();
@@ -42,11 +41,15 @@ class PreloadScriptStorage {
42
41
  return [...this.#scripts];
43
42
  }
44
43
  return [...this.#scripts].filter((script) => {
45
- if (filter?.id !== undefined && filter?.id !== script.id) {
44
+ if (filter.id !== undefined && filter.id !== script.id) {
46
45
  return false;
47
46
  }
48
- if (filter?.contextId !== undefined &&
49
- filter?.contextId !== script.contextId) {
47
+ if (filter.contextId !== undefined &&
48
+ filter.contextId !== script.contextId) {
49
+ return false;
50
+ }
51
+ if (filter.contextIds !== undefined &&
52
+ !filter.contextIds.includes(script.contextId)) {
50
53
  return false;
51
54
  }
52
55
  return true;
@@ -78,15 +81,31 @@ class PreloadScriptStorage {
78
81
  * Keeps track of the given CDP preload script in the given BiDi preload
79
82
  * script.
80
83
  */
81
- appendPreloadScript(script, cdpPreloadScript) {
84
+ appendCdpPreloadScript(script, cdpPreloadScript) {
82
85
  script.cdpPreloadScripts.push(cdpPreloadScript);
83
86
  }
84
- /** Deletes all entries that match the given filter. */
85
- removePreloadScripts(filter) {
87
+ /** Deletes all BiDi preload script entries that match the given filter. */
88
+ removeBiDiPreloadScripts(filter) {
86
89
  for (const preloadScript of this.findPreloadScripts(filter)) {
87
90
  this.#scripts.delete(preloadScript);
88
91
  }
89
92
  }
93
+ /** Deletes all CDP preload script entries that match the given filter. */
94
+ removeCdpPreloadScripts(filter) {
95
+ for (const preloadScript of this.#scripts) {
96
+ preloadScript.cdpPreloadScripts = preloadScript.cdpPreloadScripts.filter((cdpPreloadScript) => {
97
+ if (filter?.targetId !== undefined &&
98
+ filter.targetId !== cdpPreloadScript.target.targetId) {
99
+ return true;
100
+ }
101
+ if (filter?.sessionId !== undefined &&
102
+ filter.sessionId !== cdpPreloadScript.target.cdpSessionId) {
103
+ return true;
104
+ }
105
+ return false;
106
+ });
107
+ }
108
+ }
90
109
  }
91
110
  exports.PreloadScriptStorage = PreloadScriptStorage;
92
111
  //# sourceMappingURL=PreloadScriptStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreloadScriptStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/PreloadScriptStorage.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,+BAAkC;AA+BlC;;;;;;;;;;;;;GAaG;AACH,wBAAwB;AACxB,MAAa,oBAAoB;IAC/B,wCAAwC;IAC/B,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,qDAAqD;IACrD,kBAAkB,CAAC,MAAgC;QACjD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,EAAE,EAAE,KAAK,SAAS,IAAI,MAAM,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;gBACxD,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,EAAE,SAAS,KAAK,SAAS;gBAC/B,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,EACtC;gBACA,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CACf,SAAiD,EACjD,iBAAqC,EACrC,mBAA2B,EAC3B,OAAgB;QAEhB,wBAAwB;QACxB,MAAM,MAAM,GAAW,IAAA,SAAM,GAAE,CAAC;QAEhC,MAAM,aAAa,GAAG;YACpB,EAAE,EAAE,MAAM;YACV,SAAS;YACT,iBAAiB;YACjB,mBAAmB;YACnB,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEjC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,MAAyB,EACzB,gBAAkC;QAElC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,uDAAuD;IACvD,oBAAoB,CAAC,MAAgC;QACnD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACrC;IACH,CAAC;CACF;AAxED,oDAwEC"}
1
+ {"version":3,"file":"PreloadScriptStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/PreloadScriptStorage.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,+BAAkC;AAuClC;;;;;;;;;;;;;GAaG;AACH,MAAa,oBAAoB;IAC/B,wCAAwC;IAC/B,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,qDAAqD;IACrD,kBAAkB,CAAC,MAAgC;QACjD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EACrC;gBACA,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,UAAU,KAAK,SAAS;gBAC/B,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7C;gBACA,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CACf,SAAiD,EACjD,iBAAqC,EACrC,mBAA2B,EAC3B,OAAgB;QAEhB,wBAAwB;QACxB,MAAM,MAAM,GAAW,IAAA,SAAM,GAAE,CAAC;QAEhC,MAAM,aAAa,GAAG;YACpB,EAAE,EAAE,MAAM;YACV,SAAS;YACT,iBAAiB;YACjB,mBAAmB;YACnB,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEjC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,sBAAsB,CACpB,MAAyB,EACzB,gBAAkC;QAElC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,2EAA2E;IAC3E,wBAAwB,CAAC,MAAgC;QACvD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACrC;IACH,CAAC;IAED,0EAA0E;IAC1E,uBAAuB,CAAC,MAA+B;QACrD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzC,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,MAAM,CACtE,CAAC,gBAAgB,EAAE,EAAE;gBACnB,IACE,MAAM,EAAE,QAAQ,KAAK,SAAS;oBAC9B,MAAM,CAAC,QAAQ,KAAK,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EACpD;oBACA,OAAO,IAAI,CAAC;iBACb;gBACD,IACE,MAAM,EAAE,SAAS,KAAK,SAAS;oBAC/B,MAAM,CAAC,SAAS,KAAK,gBAAgB,CAAC,MAAM,CAAC,YAAY,EACzD;oBACA,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;SACH;IACH,CAAC;CACF;AArGD,oDAqGC"}
@@ -14,7 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { BrowsingContext, CommonDataTypes } from '../../../protocol/protocol.js';
17
+ import { BrowsingContext, CommonDataTypes, Message } from '../../../protocol/protocol.js';
18
18
  import { LoggerFn } from '../../../utils/log.js';
19
19
  import { IEventManager } from '../events/EventManager.js';
20
20
  import { Realm } from '../script/realm.js';
@@ -28,7 +28,7 @@ export declare class BrowsingContextImpl {
28
28
  /**
29
29
  * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
30
30
  */
31
- get navigableId(): string | null;
31
+ get navigableId(): string | undefined;
32
32
  delete(): void;
33
33
  /** Returns the ID of this context. */
34
34
  get id(): CommonDataTypes.BrowsingContext;
@@ -52,8 +52,9 @@ export declare class BrowsingContextImpl {
52
52
  awaitLoaded(): Promise<void>;
53
53
  awaitUnblocked(): Promise<void>;
54
54
  getOrCreateSandbox(sandbox: string | undefined): Promise<Realm>;
55
- serializeToBidiValue(maxDepth?: number, addParentFiled?: boolean): BrowsingContext.Info;
55
+ serializeToBidiValue(maxDepth?: number, addParentField?: boolean): BrowsingContext.Info;
56
56
  navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
57
+ reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<Message.EmptyResult>;
57
58
  captureScreenshot(): Promise<BrowsingContext.CaptureScreenshotResult>;
58
59
  print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
59
60
  }
@@ -33,7 +33,7 @@ class BrowsingContextImpl {
33
33
  /** Direct children browsing contexts. */
34
34
  #children = new Set();
35
35
  #browsingContextStorage;
36
- #defers = {
36
+ #deferreds = {
37
37
  documentInitialized: new deferred_js_1.Deferred(),
38
38
  Page: {
39
39
  navigatedWithinDocument: new deferred_js_1.Deferred(),
@@ -46,7 +46,7 @@ class BrowsingContextImpl {
46
46
  #url = 'about:blank';
47
47
  #eventManager;
48
48
  #realmStorage;
49
- #loaderId = null;
49
+ #loaderId;
50
50
  #cdpTarget;
51
51
  #maybeDefaultRealm;
52
52
  #logger;
@@ -147,7 +147,7 @@ class BrowsingContextImpl {
147
147
  return this.#url;
148
148
  }
149
149
  async awaitLoaded() {
150
- await this.#defers.Page.lifecycleEvent.load;
150
+ await this.#deferreds.Page.lifecycleEvent.load;
151
151
  }
152
152
  awaitUnblocked() {
153
153
  return this.#cdpTarget.targetUnblocked;
@@ -177,14 +177,14 @@ class BrowsingContextImpl {
177
177
  }
178
178
  return maybeSandboxes[0];
179
179
  }
180
- serializeToBidiValue(maxDepth = 0, addParentFiled = true) {
180
+ serializeToBidiValue(maxDepth = 0, addParentField = true) {
181
181
  return {
182
182
  context: this.#id,
183
183
  url: this.url,
184
184
  children: maxDepth > 0
185
185
  ? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))
186
186
  : null,
187
- ...(addParentFiled ? { parent: this.#parentId } : {}),
187
+ ...(addParentField ? { parent: this.#parentId } : {}),
188
188
  };
189
189
  }
190
190
  #initListeners() {
@@ -209,7 +209,7 @@ class BrowsingContextImpl {
209
209
  return;
210
210
  }
211
211
  this.#url = params.url;
212
- this.#defers.Page.navigatedWithinDocument.resolve(params);
212
+ this.#deferreds.Page.navigatedWithinDocument.resolve(params);
213
213
  });
214
214
  this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {
215
215
  if (this.id !== params.frameId) {
@@ -220,43 +220,42 @@ class BrowsingContextImpl {
220
220
  // of the event arrived.
221
221
  // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime
222
222
  const timestamp = new Date().getTime();
223
- if (params.name === 'init') {
224
- this.#documentChanged(params.loaderId);
225
- this.#defers.documentInitialized.resolve();
226
- }
227
- if (params.name === 'commit') {
228
- this.#loaderId = params.loaderId;
229
- return;
230
- }
231
- if (params.loaderId !== this.#loaderId) {
232
- return;
233
- }
234
223
  switch (params.name) {
224
+ case 'init':
225
+ this.#documentChanged(params.loaderId);
226
+ this.#deferreds.documentInitialized.resolve();
227
+ break;
228
+ case 'commit':
229
+ this.#loaderId = params.loaderId;
230
+ break;
235
231
  case 'DOMContentLoaded':
236
- this.#defers.Page.lifecycleEvent.DOMContentLoaded.resolve(params);
232
+ this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);
237
233
  this.#eventManager.registerEvent({
238
234
  method: protocol_js_1.BrowsingContext.EventNames.DomContentLoadedEvent,
239
235
  params: {
240
236
  context: this.id,
241
- navigation: this.#loaderId,
237
+ navigation: this.#loaderId ?? null,
242
238
  timestamp,
243
239
  url: this.#url,
244
240
  },
245
241
  }, this.id);
246
242
  break;
247
243
  case 'load':
248
- this.#defers.Page.lifecycleEvent.load.resolve(params);
244
+ this.#deferreds.Page.lifecycleEvent.load.resolve(params);
249
245
  this.#eventManager.registerEvent({
250
246
  method: protocol_js_1.BrowsingContext.EventNames.LoadEvent,
251
247
  params: {
252
248
  context: this.id,
253
- navigation: this.#loaderId,
249
+ navigation: this.#loaderId ?? null,
254
250
  timestamp,
255
251
  url: this.#url,
256
252
  },
257
253
  }, this.id);
258
254
  break;
259
255
  }
256
+ if (params.loaderId !== this.#loaderId) {
257
+ return;
258
+ }
260
259
  });
261
260
  this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {
262
261
  if (params.context.auxData.frameId !== this.id) {
@@ -267,12 +266,12 @@ class BrowsingContextImpl {
267
266
  return;
268
267
  }
269
268
  const realm = new realm_js_1.Realm(this.#realmStorage, this.#browsingContextStorage, params.context.uniqueId, this.id, params.context.id, this.#getOrigin(params),
270
- // TODO: differentiate types.
269
+ // XXX: differentiate types.
271
270
  'window',
272
271
  // Sandbox name for isolated world.
273
272
  params.context.auxData.type === 'isolated'
274
273
  ? params.context.name
275
- : undefined, this.#cdpTarget.cdpSessionId, this.#cdpTarget.cdpClient, this.#eventManager);
274
+ : undefined, this.#cdpTarget.cdpSessionId, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);
276
275
  if (params.context.auxData.isDefault) {
277
276
  this.#maybeDefaultRealm = realm;
278
277
  }
@@ -303,33 +302,39 @@ class BrowsingContextImpl {
303
302
  #documentChanged(loaderId) {
304
303
  // Same document navigation.
305
304
  if (loaderId === undefined || this.#loaderId === loaderId) {
306
- if (this.#defers.Page.navigatedWithinDocument.isFinished) {
307
- this.#defers.Page.navigatedWithinDocument =
305
+ if (this.#deferreds.Page.navigatedWithinDocument.isFinished) {
306
+ this.#deferreds.Page.navigatedWithinDocument =
308
307
  new deferred_js_1.Deferred();
309
308
  }
309
+ else {
310
+ this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (navigatedWithinDocument)');
311
+ }
310
312
  return;
311
313
  }
312
- if (this.#defers.documentInitialized.isFinished) {
313
- this.#defers.documentInitialized = new deferred_js_1.Deferred();
314
+ this.#resetDeferredsIfFinished();
315
+ this.#loaderId = loaderId;
316
+ }
317
+ #resetDeferredsIfFinished() {
318
+ if (this.#deferreds.documentInitialized.isFinished) {
319
+ this.#deferreds.documentInitialized = new deferred_js_1.Deferred();
314
320
  }
315
321
  else {
316
- this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed');
322
+ this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (document initialized)');
317
323
  }
318
- if (this.#defers.Page.lifecycleEvent.DOMContentLoaded.isFinished) {
319
- this.#defers.Page.lifecycleEvent.DOMContentLoaded =
324
+ if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {
325
+ this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =
320
326
  new deferred_js_1.Deferred();
321
327
  }
322
328
  else {
323
- this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed');
329
+ this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (DOMContentLoaded)');
324
330
  }
325
- if (this.#defers.Page.lifecycleEvent.load.isFinished) {
326
- this.#defers.Page.lifecycleEvent.load =
331
+ if (this.#deferreds.Page.lifecycleEvent.load.isFinished) {
332
+ this.#deferreds.Page.lifecycleEvent.load =
327
333
  new deferred_js_1.Deferred();
328
334
  }
329
335
  else {
330
- this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed');
336
+ this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (load)');
331
337
  }
332
- this.#loaderId = loaderId;
333
338
  }
334
339
  async navigate(url, wait) {
335
340
  await this.awaitUnblocked();
@@ -342,39 +347,56 @@ class BrowsingContextImpl {
342
347
  throw new protocol_js_1.Message.UnknownErrorException(cdpNavigateResult.errorText);
343
348
  }
344
349
  this.#documentChanged(cdpNavigateResult.loaderId);
345
- // Wait for `wait` condition.
346
350
  switch (wait) {
347
351
  case 'none':
348
352
  break;
349
353
  case 'interactive':
350
354
  // No `loaderId` means same-document navigation.
351
355
  if (cdpNavigateResult.loaderId === undefined) {
352
- await this.#defers.Page.navigatedWithinDocument;
356
+ await this.#deferreds.Page.navigatedWithinDocument;
353
357
  }
354
358
  else {
355
- await this.#defers.Page.lifecycleEvent.DOMContentLoaded;
359
+ await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;
356
360
  }
357
361
  break;
358
362
  case 'complete':
359
363
  // No `loaderId` means same-document navigation.
360
364
  if (cdpNavigateResult.loaderId === undefined) {
361
- await this.#defers.Page.navigatedWithinDocument;
365
+ await this.#deferreds.Page.navigatedWithinDocument;
362
366
  }
363
367
  else {
364
- await this.#defers.Page.lifecycleEvent.load;
368
+ await this.awaitLoaded();
365
369
  }
366
370
  break;
367
371
  }
368
372
  return {
369
373
  result: {
370
- navigation: cdpNavigateResult.loaderId || null,
374
+ navigation: cdpNavigateResult.loaderId ?? null,
371
375
  url,
372
376
  },
373
377
  };
374
378
  }
379
+ async reload(ignoreCache, wait) {
380
+ await this.awaitUnblocked();
381
+ await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {
382
+ ignoreCache,
383
+ });
384
+ this.#resetDeferredsIfFinished();
385
+ switch (wait) {
386
+ case 'none':
387
+ break;
388
+ case 'interactive':
389
+ await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;
390
+ break;
391
+ case 'complete':
392
+ await this.awaitLoaded();
393
+ break;
394
+ }
395
+ return { result: {} };
396
+ }
375
397
  async captureScreenshot() {
376
398
  const [, result] = await Promise.all([
377
- // TODO: Either make this a proposal in the BiDi spec, or focus the
399
+ // XXX: Either make this a proposal in the BiDi spec, or focus the
378
400
  // original tab right after the screenshot is taken.
379
401
  // The screenshot command gets blocked until we focus the active tab.
380
402
  this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront'),
@@ -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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"}