playwright-core 1.56.0-alpha-2025-09-18 → 1.56.0-alpha-1758292576000

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 (33) hide show
  1. package/browsers.json +1 -1
  2. package/lib/client/browserContext.js +1 -1
  3. package/lib/client/consoleMessage.js +2 -3
  4. package/lib/client/electron.js +1 -1
  5. package/lib/client/page.js +9 -0
  6. package/lib/client/worker.js +1 -1
  7. package/lib/generated/injectedScriptSource.js +1 -1
  8. package/lib/generated/pollingRecorderSource.js +1 -1
  9. package/lib/protocol/validator.js +17 -0
  10. package/lib/server/bidi/bidiExecutionContext.js +4 -4
  11. package/lib/server/bidi/bidiFirefox.js +2 -0
  12. package/lib/server/bidi/bidiPage.js +1 -1
  13. package/lib/server/chromium/crPage.js +2 -2
  14. package/lib/server/dispatchers/browserContextDispatcher.js +1 -12
  15. package/lib/server/dispatchers/pageDispatcher.js +19 -0
  16. package/lib/server/firefox/ffPage.js +1 -2
  17. package/lib/server/page.js +26 -13
  18. package/lib/server/webkit/wkPage.js +1 -2
  19. package/lib/utils/isomorphic/protocolMetainfo.js +2 -0
  20. package/lib/vite/htmlReport/index.html +36 -27
  21. package/lib/vite/recorder/assets/{codeMirrorModule-Cd2xO0gi.js → codeMirrorModule-Ba8ryMC6.js} +1 -1
  22. package/lib/vite/recorder/assets/index-DkR8nwDU.js +193 -0
  23. package/lib/vite/recorder/index.html +1 -1
  24. package/lib/vite/traceViewer/assets/{codeMirrorModule-DhpE2H4B.js → codeMirrorModule-CH3lnpjO.js} +1 -1
  25. package/lib/vite/traceViewer/assets/defaultSettingsView-DgM9VrMC.js +265 -0
  26. package/lib/vite/traceViewer/{index.Crh0qFFe.js → index.Cttd86pV.js} +1 -1
  27. package/lib/vite/traceViewer/index.html +2 -2
  28. package/lib/vite/traceViewer/{uiMode.FHTK_3hI.js → uiMode.D_Oj-H2U.js} +1 -1
  29. package/lib/vite/traceViewer/uiMode.html +2 -2
  30. package/package.json +1 -1
  31. package/types/types.d.ts +12 -0
  32. package/lib/vite/recorder/assets/index-7GrUNblV.js +0 -184
  33. package/lib/vite/traceViewer/assets/defaultSettingsView-DS7Ulphs.js +0 -256
@@ -60,7 +60,8 @@ class Page extends import_instrumentation.SdkObject {
60
60
  this._closedState = "open";
61
61
  this._closedPromise = new import_manualPromise.ManualPromise();
62
62
  this._initializedPromise = new import_manualPromise.ManualPromise();
63
- this._eventsToEmitAfterInitialized = [];
63
+ this._consoleMessages = [];
64
+ this._pageErrors = [];
64
65
  this._crashed = false;
65
66
  this.openScope = new import_utils.LongStandingScope();
66
67
  this._emulatedMedia = {};
@@ -124,9 +125,10 @@ class Page extends import_instrumentation.SdkObject {
124
125
  }
125
126
  this._initialized = error || this;
126
127
  this.emitOnContext(contextEvent, this);
127
- for (const { event, args } of this._eventsToEmitAfterInitialized)
128
- this.browserContext.emit(event, ...args);
129
- this._eventsToEmitAfterInitialized = [];
128
+ for (const pageError of this._pageErrors)
129
+ this.emitOnContext(import_browserContext.BrowserContext.Events.PageError, pageError, this);
130
+ for (const message of this._consoleMessages)
131
+ this.emitOnContext(import_browserContext.BrowserContext.Events.Console, message);
130
132
  if (this.isClosed())
131
133
  this.emit(Page.Events.Close);
132
134
  else
@@ -144,14 +146,6 @@ class Page extends import_instrumentation.SdkObject {
144
146
  return;
145
147
  this.browserContext.emit(event, ...args);
146
148
  }
147
- emitOnContextOnceInitialized(event, ...args) {
148
- if (this.isStorageStatePage)
149
- return;
150
- if (this._initialized)
151
- this.browserContext.emit(event, ...args);
152
- else
153
- this._eventsToEmitAfterInitialized.push({ event, args });
154
- }
155
149
  async resetForReuse(progress) {
156
150
  await this.mainFrame().gotoImpl(progress, "about:blank", {});
157
151
  this._emulatedSize = void 0;
@@ -258,7 +252,22 @@ class Page extends import_instrumentation.SdkObject {
258
252
  args.forEach((arg) => arg.dispose());
259
253
  return;
260
254
  }
261
- this.emitOnContextOnceInitialized(import_browserContext.BrowserContext.Events.Console, message);
255
+ this._consoleMessages.push(message);
256
+ ensureArrayLimit(this._consoleMessages, 200);
257
+ if (this._initialized)
258
+ this.emitOnContext(import_browserContext.BrowserContext.Events.Console, message);
259
+ }
260
+ consoleMessages() {
261
+ return this._consoleMessages;
262
+ }
263
+ addPageError(pageError) {
264
+ this._pageErrors.push(pageError);
265
+ ensureArrayLimit(this._pageErrors, 200);
266
+ if (this._initialized)
267
+ this.emitOnContext(import_browserContext.BrowserContext.Events.PageError, pageError, this);
268
+ }
269
+ pageErrors() {
270
+ return this._pageErrors;
262
271
  }
263
272
  async reload(progress, options) {
264
273
  return this.mainFrame().raceNavigationAction(progress, async () => {
@@ -840,6 +849,10 @@ async function snapshotFrameForAI(progress, frame, frameOrdinal, frameIds) {
840
849
  }
841
850
  return result;
842
851
  }
852
+ function ensureArrayLimit(array, limit) {
853
+ if (array.length > limit)
854
+ array.splice(0, limit / 10);
855
+ }
843
856
  // Annotate the CommonJS export names for ESM import in node:
844
857
  0 && (module.exports = {
845
858
  InitScript,
@@ -39,7 +39,6 @@ var import_eventsHelper = require("../utils/eventsHelper");
39
39
  var import_hostPlatform = require("../utils/hostPlatform");
40
40
  var import_stackTrace = require("../../utils/isomorphic/stackTrace");
41
41
  var import_utilsBundle = require("../../utilsBundle");
42
- var import_browserContext = require("../browserContext");
43
42
  var dialog = __toESM(require("../dialog"));
44
43
  var dom = __toESM(require("../dom"));
45
44
  var import_errors = require("../errors");
@@ -479,7 +478,7 @@ class WKPage {
479
478
  const error = new Error(message);
480
479
  error.stack = stack;
481
480
  error.name = name;
482
- this._page.emitOnContextOnceInitialized(import_browserContext.BrowserContext.Events.PageError, error, this._page);
481
+ this._page.addPageError(error);
483
482
  return;
484
483
  }
485
484
  let derivedType = type || "";
@@ -106,6 +106,7 @@ const methodMetainfo = /* @__PURE__ */ new Map([
106
106
  ["BrowserContext.clockSetSystemTime", { title: 'Set system time "{timeNumber|timeString}"' }],
107
107
  ["Page.addInitScript", { title: "Add init script", group: "configuration" }],
108
108
  ["Page.close", { title: "Close page", pausesBeforeAction: true }],
109
+ ["Page.consoleMessages", { title: "Get console messages", group: "getter" }],
109
110
  ["Page.emulateMedia", { title: "Emulate media", snapshot: true, pausesBeforeAction: true }],
110
111
  ["Page.exposeBinding", { title: "Expose binding", group: "configuration" }],
111
112
  ["Page.goBack", { title: "Go back", slowMo: true, snapshot: true, pausesBeforeAction: true }],
@@ -133,6 +134,7 @@ const methodMetainfo = /* @__PURE__ */ new Map([
133
134
  ["Page.mouseWheel", { title: "Mouse wheel", slowMo: true, snapshot: true, pausesBeforeAction: true }],
134
135
  ["Page.touchscreenTap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeAction: true }],
135
136
  ["Page.accessibilitySnapshot", { title: "Accessibility snapshot", group: "getter" }],
137
+ ["Page.pageErrors", { title: "Get page errors", group: "getter" }],
136
138
  ["Page.pdf", { title: "PDF" }],
137
139
  ["Page.snapshotForAI", { internal: true }],
138
140
  ["Page.startJSCoverage", { title: "Start JS coverage", group: "configuration" }],