Commit graph

131 commits

Author SHA1 Message Date
Playwright Service b740aa04e7
feat(chromium): roll to r1044 (#20137)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-16 13:44:28 +01:00
Pavel Feldman d1c161ce99
chore: merge the util exports (#20110) 2023-01-13 13:50:38 -08:00
Oren 59e1437d7f
fix(serviceworker): network inspection works without options.serviceWorkers set (#19870) 2023-01-04 13:20:47 -08:00
Playwright Service 2714e728d0
feat(chromium): roll to r1042 (#19799)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-02 14:11:44 +01:00
Playwright Service e576bd17df
feat(chromium): roll to r1038 (#19237)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-03 13:03:43 -08:00
Dmitry Gozman 190ed9465f
fix(chromium): detach from shared workers (#18976)
This prevents shared workers from stalling upon restart.

We receive `Inspector.targetCrashed` and
`Inspector.targetReloadedAfterCrash` events that assume
`Runtime.runIfWaitingForDebugger` from any attached client. It is easier
and more stable to just detach from shared workers, because we do not
inspect them.

For service workers, we should actually issue
`Runtime.runIfWaitingForDebugger` in such cases, because we attach to
them.

Fixes #18932.
2022-11-22 15:20:42 -08:00
Pavel Feldman dbf3fc5089
fix(electron): stall node while browser is starting (#18804)
Fixes https://github.com/microsoft/playwright/issues/17765
2022-11-14 22:01:54 -08:00
Andrey Lushnikov 7685c929bf
chore: use '--disable-component-update' flag to avoid component updates (#18745) 2022-11-11 13:44:09 -08:00
Pavel Feldman d5eb74fa5d
chore: allow toggling recorder/traceviewer color modes (#18718)
Fixes: https://github.com/microsoft/playwright/issues/18700
2022-11-10 17:20:09 -08:00
Dmitry Gozman c56877032d
fix(persistent): close browser instead of pages (#18485)
Previously, we closed pages one by one before closing the browser when
shutting down the persistent context. This logic was introduced in
https://github.com/microsoft/playwright/pull/4040 to properly finish
video recordings in persistent context.

Such a process makes it unnecessary brittle to close the persistent
context. For example, Chromium headless is sometimes unable to close the
last persistent page for unknown reasons.

Instead, we can just stop video recordings manually and close the
browser right away.

Fixes #18229.
2022-11-01 14:26:38 -07:00
Pavel Feldman a7f5f2d7a1
chore: allow not overriding media when creating context (#18413) 2022-10-31 09:09:52 -07:00
Playwright Service 2e2698fa9d
feat(chromium): roll to r1032 (#18437)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-30 21:03:06 -07:00
Dmitry Gozman d4053abd29
fix(video): do not produce frames much faster than desired fps (#18228)
Otherwise, we get very long but slow videos.

Fixes #18198.
2022-10-21 14:30:14 -07:00
Yury Semikhatsky 7219a68b12
fix: exception in exposeFunction when oopif detaches (#18078)
The test is racy but it was reliably failing several times in 100
iterations.

Fixes https://github.com/microsoft/playwright/issues/18067
2022-10-14 08:37:42 -07:00
Playwright Service 4a32010dbc
feat(chromium): roll to r1028 (#17749)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-30 23:53:16 +02:00
Yury Semikhatsky 72a24973f3
fix: ignore timing data when request served from memory cache (#17595)
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.

Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Playwright Service 04f77f2319
feat(chromium): roll to r1026 (#17545)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-22 23:24:16 +02:00
Pavel Feldman df143031e7
chore: move protocol and trace types into the top-level packages (#17486) 2022-09-20 18:41:51 -07:00
Max Schmitt 5e56bc413a
chore: set default http request timeouts (#17200)
* chore: set default http request timeouts

* Update chromium.ts
2022-09-09 06:18:57 +02:00
Playwright Service f051948400
feat(chromium): roll to r1023 (#17061)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-09-03 11:24:25 +02:00
Dmitry Gozman fea8772d95
fix: emit load/domcontentloaded events as reported by the browser (#16861)
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.

This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
  ready when passing `{ waitUntil: 'domcontentloaded' }`.

`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
Max Schmitt 7e2aec7454
chore: align more ESLint rules with VSCode formatting (#16647) 2022-08-18 20:12:33 +02:00
Max Schmitt ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron (#16383) 2022-08-09 23:18:15 +02:00
Playwright Service 53917f43e1
feat(chromium): roll to r1019 (#16335)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-07 15:32:38 +02:00
Pavel Feldman 8eca6339c2
feat(reuse): account for the browser launch args when reusing the bro… (#16229)
feat(reuse): account for the browser launch args when reusing the browsers
2022-08-03 17:32:29 -07:00
Pavel Feldman 74f7005c02
chore: preserve window while reusing window (#16225) 2022-08-03 16:14:28 -07:00
Max Schmitt 0ef7e9803d
chore: disable Translate feature in Chromium (#16136) 2022-08-02 11:07:04 +02:00
Making Stuffs 6f47f0f22a
fix(chromium): Add error message to asset when there is one. (#15892)
[196] -- Provide the assert function with with either the error message in the provided object or undefined if there isn't one
2022-07-28 14:45:25 -07:00
Ross Wollman 732b8f4760
chore: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS and doc clarifications (#15688) 2022-07-14 17:40:22 -07:00
Ross Wollman 8858162692
fix: Service Workers+Interception: missing page-level Network events (#15549)
Fixes #15474.

Notes:

* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
2022-07-12 13:23:35 -07:00
Pavel Feldman 5fc637e44a
chore: experimental resetForReuse (#15432) 2022-07-11 13:10:08 -07:00
Pavel Feldman 0781d04a5e
chore: get rid of page state overrides (#15470) 2022-07-07 16:28:20 -07:00
Pavel Feldman cc6f415933
chore: share grant permissions init among browser types (#15457) 2022-07-07 11:39:05 -07:00
Ross Wollman 6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection (#14716)
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).

Resolves #1090.
Depends on #14714 and #14714.
Supercedes #14321.
Follow up #14711.

Landed upstream patches:
- https://chromium-review.googlesource.com/c/chromium/src/+/3510917
- https://chromium-review.googlesource.com/c/chromium/src/+/3526571
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3566669
- https://chromium-review.googlesource.com/c/chromium/src/+/3544685
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3610924
- https://chromium-review.googlesource.com/c/chromium/src/+/3689949
2022-07-01 12:49:43 -07:00
Dmitry Gozman 0254cd3be7
fix(firefox): launch races (#15259)
Potential fixes to avoid startup races:
- Wait for "juggler listening" message.
- Make sure `transport.onclose` is called when connecting to the transport after the actual pipe closure.
2022-06-30 10:58:22 -07:00
Dmitry Gozman ff2647cfa3
fix(network): remove races from sizes calculation (#15208)
- Do not resolve raw headers upon `loadingFinished`, since they may still come later in
  `responseReceivedExtraInfo`.
- Introduce separate promises for `encodedBodySize`, `transferSize` and `responseHeadersSize`.
- Make sure we resolve each of them either with data available
  from the browser, or a fallback calculation.
- Set raw response headers for redirects on WebKit.
- Do not stall on cached responses in Chromium, they have erroneously set `hasExtraInfo` flag.
- Use `transferSize` that is available in Firefox protocol.
2022-06-29 18:11:22 -07:00
Playwright Service fab12c70f7
feat(chromium): roll to r1012 (#15111)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-27 10:01:10 +02:00
Dmitry Gozman 660516d22a
fix(network): make allHeaders wait until all headers are available (#15094)
fix(network): make allHeaders wait until all header are available

Before, calling `allHeaders()` from `page.on('request')` would yield
provisional headers instead.

With these changes:
- In Firefox, all headers are available immediately.
- In Chromium, all headers are available upon requestWillBeSentExtraInfo.
- In WebKit, all headers are available upon responseReceived.
- In all browsers, intercepted requests use "provisional" headers
  as all headers, since there is no network stack to change the headers.

Drive-by: migrated Chromium to `hasExtraInfo` flags that simplifies
the logic quite a bit.
2022-06-24 13:51:09 -07:00
Max Schmitt fb441faab1
fix: request/response events with backgroundPages (#15032) 2022-06-22 17:23:51 +02:00
Dmitry Gozman bff90b5abb
fix(chromium): disable back-forward cache (#14996)
Otherwise, back/forward navigation does not intercept requests.
2022-06-20 17:27:45 -07:00
Yury Semikhatsky ed6b14f0f4
fix(har): restart redirected navigation (#14939) 2022-06-17 21:17:30 -07:00
Pavel Feldman e9069bef6b
fix(body): fetch body explicitly for prefetched scripts (#14941) 2022-06-16 22:07:43 -07:00
Pavel Feldman 464cbb7457
feat(chromium): allow attaching to other targets as to pages (#14873) 2022-06-15 09:31:32 -07:00
Dmitry Gozman 06c8d8e31c
chore: use channels types instead of a copy in server (#14874)
This is to avoid duplicating types for no reason.
2022-06-14 22:02:15 -07:00
Dmitry Gozman e640f553b5
fix(connectOverCDP): make sure downloads work in default context (#14864) 2022-06-14 12:36:35 -07:00
Ross Wollman fccee89b41
feat: add Response.fromServiceWorker flag (#14715)
Resolves #14666.

Relates #1090.
Supercedes #14321.
2022-06-08 17:34:19 -04:00
Playwright Service cf2c6ee81d
feat(chromium): roll to r1009 (#14620)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-07 17:38:13 +02:00
Playwright Service f087e39c01
feat(chromium): roll to r1008 (#14448)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-30 15:04:05 +02:00
Yury Semikhatsky abced7223c
fix: filechooser interception in OOPIFs (#14432) 2022-05-27 13:04:58 -07:00
Pavel Feldman c99ca17199
chore: disable AvoidUnnecessaryBeforeUnloadCheckSync on chromium (#14080) 2022-05-10 14:55:44 -07:00