Commit graph

803 commits

Author SHA1 Message Date
Dmitry Gozman 2718123d30
fix(snapshots): define dummy custom elements (#21131)
For all custom elements defined in the page, we preserve their names and
define them in the rendered snapshot.
This makes things like `:defined` css pseudo work.

Fixes #21030.
2023-02-22 21:53:27 -08:00
Pavel Feldman 55c95a4463
chore: do not send stacks as a part of the call metainfo (#21089) 2023-02-22 21:08:47 -08:00
Playwright Service c8f63c04cc
feat(chromium): roll to r1050 (#21118)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-22 19:17:55 -08:00
Yury Semikhatsky d6dae8ea1f
fix: eval serialization w/ overridden URL/RegExp/Date (#21112)
Fixes #21109
2023-02-22 15:45:42 -08:00
Max Schmitt ae369144b6
chore: consolidate http/https fetching (#21104)
Fixes https://github.com/microsoft/playwright/issues/20784
Supersedes https://github.com/microsoft/playwright/pull/21076
2023-02-22 17:09:56 +01:00
Pavel Feldman b07637a316
chore: roll chromium back to 1047 (#21092) 2023-02-22 00:08:54 -08:00
Dmitry Gozman c69a7424b4
chore: split off FrameSelectors helper class (#21042)
This class manages everything related to querying selector for the
frame.
2023-02-21 14:08:51 -08:00
Playwright Service 44eccc0add
feat(chromium): roll to r1049 (#21065)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-21 19:10:00 +01:00
Playwright Service cda830645d
feat(webkit): roll to r1799 (#21045) 2023-02-21 08:18:22 +01:00
Playwright Service b3c4750547
feat(webkit): roll to r1798 (#20975)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-20 12:36:01 +01:00
Andrey Lushnikov 1b441ef4f0
fix: stricter condition for Firefox codegen tests workaround (#20998)
This patch fixes the following tests on WebKit @ Darwin:
- library/inspector/cli-codegen-2.spec.ts:197:7 › cli codegen › should
download files
- library/inspector/cli-codegen-2.spec.ts:428:7 › cli codegen › should
update hover model on action
2023-02-17 12:19:46 -08:00
Pavel Feldman d7a0b3bb4e
chore: implement pick locator in trace viewer (#20965)
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Andrey Lushnikov 1db04f2839
fix: simplify protocol for toBeInViewport (#20960) 2023-02-16 11:02:19 -08:00
Andrey Lushnikov 5f9e2f3db9
chore: fix inspector cli firefox tests flakiness (#20919) 2023-02-15 09:12:37 -08:00
Pavel Feldman 798696a18a
chore: fix context reuse disposal (#20876)
Fixes: https://github.com/microsoft/playwright/issues/20409
2023-02-14 12:56:47 -08:00
Andrey Lushnikov 72942e81d5
chore: fixes to toBeInViewport (#20870) 2023-02-13 15:21:40 -08:00
Andrey Lushnikov 94b859f471
feat: roll Firefox and Firefox Beta (#20878)
Fixes #20791
2023-02-13 15:21:05 -08:00
Andrey Lushnikov 3a685ecae4
fix: hide highlight in recorder before toHaveScreenshot command (#20874)
Fixes #20866
2023-02-13 13:15:55 -08:00
Andrey Lushnikov fdcd7b549d
chore: mark comparator option back as experimental (#20816)
This reverts commit 303c5998f8.

Reason for revert: I tried enabling `ssim-cie94` by default on
ionic-framework test suite, and it proves to be overly strict for their
usecase.
2023-02-13 11:11:44 -08:00
Dmitry Gozman 6b69d23f44
fix(actions): ignore indeterminate for isChecked api (#20834)
Fixes #20190.
2023-02-10 18:56:45 -08:00
Dmitry Gozman 789b1c75e6
fix(expect): report received when timedOut during oneShot (#20806) 2023-02-10 14:59:21 -08:00
Playwright Service e03f0ea309
feat(chromium): roll to r1048 (#20815)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-10 17:27:55 +01:00
Andrey Lushnikov 68e170ef89
feat: implement expect(locator).toBeInViewport() (#20668)
The method accepts a `ratio` option to assert the ratio
of the element in viewport. `ratio` defaults to `Number.MIN_VALUE`.

NOTE: this reverts commit d950f5b6ee and
adds `ratio` option support + does the rename.

Fixes #8740
2023-02-10 04:33:22 -08:00
Pavel Feldman 6b0a7003c4
chore(watch): run by default again (#20763) 2023-02-08 18:53:07 -08:00
Pavel Feldman 0678b6575f
chore(watch): allow toggling browser (#20738) 2023-02-08 08:36:02 -08:00
Dmitry Gozman 2d3e4027e7
fix(chromium): do not pre-populate non-preflight OPTIONS requests (#20684)
Fixes #20469.
2023-02-07 15:10:44 -08:00
Dmitry Gozman fbccc8ef64
fix(role): closed <details> are considered hidden (#20726)
Fixes #20610.
2023-02-07 15:10:18 -08:00
Andrey Lushnikov 303c5998f8
feat: release "comparator" option from experiment (#20720)
The option defines a comparator to be used to compare images.
Possible values are `"pixelmatch"` and `"ssim-cie94"`.

Note: This reverts commit 8167f8bf54.
2023-02-07 08:51:48 -08:00
Andrey Lushnikov d3c5430080
fix: reset SNAP* env variables when launching Firefox (#20692)
Our builds never come from Snap, so Playwright's Firefox should
never consider that it's been installed via SNAP.

Fixes #20555

---------

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-07 01:41:12 -08:00
Andrey Lushnikov 1120b82ba2
feat(firefox): roll Firefox & Firefox Beta (#20670)
Fixes #19685 
Fixes #20093
2023-02-06 14:08:32 -08:00
Andrey Lushnikov 9c6a1a6ff0
fix: make sure screenshots work when main page context is tampered (#20615)
This patch has 2 fixes:
- screenshot code was accidentally using main page context to fetch
  page layout metrics instead of a utility context
- Avoid usage of `self.eval` inside utility context since it escapes
Firefox sandbox. This turns out to be an upstream bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1814898

Fixes #20434
2023-02-03 10:01:23 -08:00
Dmitry Gozman 3180bc9804
fix(types): make most fixtures non-undefined (#20573)
Fixes #20416.
2023-02-02 13:11:50 -08:00
Dmitry Gozman b39079b51e
feat(trace viewer): popout snapshot in a new tab (#20475) 2023-01-30 19:07:52 -08:00
Playwright Service a1c264c476
feat(firefox): roll to r1375 (#20507)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-30 12:21:35 -08:00
Yury Semikhatsky cffe7b65e3
fix: do not hang on submitting target=_blank form (#20458)
Fixes #18392
2023-01-30 11:13:56 -08:00
Max Schmitt 92eb8e5090
chore: make connectOverCDP work with localhost (#20396)
This wraps happy eyeballs in two places, the place where we make the
JSON request to Chromium and the actual CDP WebSocket request.

It required changes inside our happy eyeballs implementation since the
[websocket library does not
set](https://github.com/websockets/ws/blob/master/lib/websocket.js#L714)
the `clientRequestOptions.hostname` field, it just sets the `host` field
where we then fall back to when its not set.

This test would pass before Node.js 18 and fail after Node.js 18 without
my changes.

Fixes https://github.com/microsoft/playwright/issues/20364
2023-01-30 17:44:26 +01:00
Playwright Service 5ad635522c
feat(webkit): roll to r1784 (#20466) 2023-01-30 08:36:02 -08:00
Yury Semikhatsky 532ca3f7b3
fix: throw on tap when hasTouch=false (#20457)
Fixes #20430
2023-01-27 15:51:57 -08:00
Max Schmitt 71752b4b2a
fix(windows): enable socks5 hostname resolution on WebKit (#20435)
Fixes https://github.com/microsoft/playwright/issues/20451
2023-01-27 23:33:06 +01:00
Etienne 252b489a7f
feat(trace-viewer): allow host and port to be specified (#20258) 2023-01-27 14:20:25 -08:00
Dmitry Gozman d458e84f5b
feat(route): match pattern on the server side (#20410)
This avoids client-side roundtrip for requests that are not handled by
any route.

Fixes #19607.
2023-01-27 10:43:19 -08:00
Andrey Lushnikov 2af31edadd
feat: roll Firefox and Firefox-Beta to latest builds (#20449)
These builds initiate browser-side navigation for `page.goto` command.

Drive-by: add a minimal file URL test.
2023-01-27 09:31:45 -08:00
Andrey Lushnikov 9ca9b08d90
fix: better formatting for sparse arrays (#20379)
Right now arrays preview yields all array elements. In case
of a sparse array with a single element on index 10000000,
this results in a large string that OOM Node.js.

This patch changes pretty-printing. For example:

```ts
// Given this array
const a = [];
a[10] = 1;
// Before this patch, pretty printing will yield:
"[,,,,,,,,1]"
// With this patch, pretty printing yields:
"[empty x 9, 1]"
```

The new array pretty-printing is equal to what Chrome DevTools
do to render sparse arrays.

Fixes #20347
2023-01-27 05:07:55 -08:00
Andrey Lushnikov 5b93c1d2f9
chore: truncate long protocol logs (#20412)
This affects the logs in the `DEBUG=pw:protocol` mode so that they
never span more then 10 lines of 80-character-width terminal.
2023-01-27 04:58:13 -08:00
Dmitry Gozman 332dbc5bf6
fix(chromium): enable gpu support in mac headless (#20418) 2023-01-26 13:21:25 -08:00
Playwright Service ff302585d9
feat(chromium): roll to r1046 (#20397)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-26 16:55:45 +01:00
Max Schmitt 05843bdfd9
chore: support Debian 11 arm64 (#19676)
https://github.com/microsoft/playwright/issues/18319
2023-01-23 15:54:25 +01:00
Dmitry Gozman d950f5b6ee
chore: remove toIntersectViewport for the next release (#20232)
Mostly reverts #19901.
2023-01-19 15:04:09 -08:00
Andrey Lushnikov 1b8b20dc25
chore: drop locator.viewportRatio() method (#20131)
As per API review discussion, we'd like to refrain from
exposing this method.
2023-01-19 08:46:45 -08:00
Playwright Service 4b53b1842f
feat(chromium): roll to r1045 (#20219)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-19 14:40:26 +01:00