Commit graph

960 commits

Author SHA1 Message Date
Playwright Service b7e66d2b14
feat(firefox): roll to r1335 (#15434)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-07 05:51:41 -07:00
Playwright Service 72c3574943
feat(firefox-beta): roll to r1335 (#15433)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-07-07 05:49:40 -07:00
Pavel Feldman f71b620de7
chore: unregister handlers when dispatcher goes (#15425) 2022-07-06 20:32:31 -07:00
Pavel Feldman b9e41df0a5
chore: respect event name in removeAllListeners (#15430) 2022-07-06 15:04:27 -07:00
Andrey Lushnikov e9d66535ba
browser(firefox): move screenshots to browser-side (#15230)
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
  caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Dmitry Gozman 0142bdce76
test: mark driver mode as remote (#15402)
Otherwise we are passing buffers as objects, not as base64.
2022-07-06 09:20:07 -07:00
Playwright Service 26ef9dddb3
feat(firefox): roll to r1334 (#15399)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:19:22 -07:00
Playwright Service 22b82a5dd0
feat(firefox-beta): roll to r1334 (#15403)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-06 04:17:58 -07:00
Dmitry Gozman d60b8aba23
fix(codegen): handle more context options (#15319)
The following options now work across languages:
- `recordHar`
- `serviceWorkers`

In addition, object properties are now sorted alphabetically.
Drive-by: fixed `--target` help message to include all available targets.
2022-07-05 13:30:46 -07:00
Ross Wollman 5f03bd9477
chore(test-runner): increase jpeg-js max mem allowance (#15381)
Resolves #14255.

PNGs should be preferred as they are deterministic, but increasing this
limit should be fine for JPEG users. (Looking through jpeg-js source code, the actual memory allocation is based on the size of the image—so unless a user is hitting this limit already—this should not impact the memory consumption of Playwright.
2022-07-05 13:25:54 -07:00
Playwright Service 449b66591d
feat(firefox): roll to r1333 (#15382)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-05 12:16:56 -07:00
Dmitry Gozman 4eccb89a79
chore: do not serialize buffers into base64 in local mode (#15316) 2022-07-05 08:58:34 -07:00
Sean Doyle ef5a56ce18
feat(evaluate): serialized URL instances (#15023)
Add support for returning [URL][] instances from `page.evaluate` calls.
Follow the patterns established by `Date` and `RegExp` serialization.

[URL]: https://developer.mozilla.org/en-US/docs/Web/API/URL
2022-07-05 17:53:02 +02:00
Max Schmitt 35a2792bb4
fix(html-report): listen on 127.0.0.1 only (#15361)
Fixes #11568
2022-07-05 08:48:30 -07:00
Maël Nison 7609785d53
fix: Detects React 17+ first (#15343) 2022-07-05 07:49:31 -07:00
Pavel Feldman 9e62cc4da9
fix(test): speculative attempt to fix trace viewer test flakiness (3) (#15342) 2022-07-03 11:55:18 -07:00
Dmitry Gozman 71dcad3b2e
test: fix some flaky failures (#15314)
- Never use open shadow root for highlight. This messes up
  our selectors that accidentally match internal preview elements.
- Remove failing electron test that we do not care about.
- Skip `channels.spec.ts` in non-default mode.
2022-07-01 13:57:33 -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 82032be368
chore(server): validate/convert protocol both ways (#14811)
Previously, we only validated/converted on the way to the server,
but not from the server.

Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Playwright Service 3e86c7af95
feat(chromium): roll to r1013 (#15303)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 15:18:58 +02:00
Playwright Service 64e6688e84
feat(firefox-beta): roll to r1333 (#15292)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:30 -07:00
Playwright Service 2e96db4655
feat(firefox): roll to r1332 (#15291)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-07-01 05:24:10 -07:00
Pavel Feldman 6425ab9e78
fix(ff): allow more time to launch browser (#15290) 2022-06-30 18:07:25 -07:00
Max Schmitt 3d1d723c56
fix(esm): show codeframe when errors get reported (#15262) 2022-06-30 21:17:08 +02:00
Yury Semikhatsky 4de14e7d2c
feat(webkit): roll to r1673 (#15276) 2022-06-30 12:07:33 -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
Max Schmitt 71fc53bbf8
fix(matchers): toHaveClass on SVG elements (#15267)
Fixes #15260
2022-06-30 07:01:26 -07:00
Ross Wollman 9cafab382b
docs: clarify use of browser.close (#15255) 2022-06-29 18:41:21 -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
Max Schmitt b3c31f5b13
fix: do not throw on removeListener without listener (#15224)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Playwright Service b554344907
feat(chromium-tip-of-tree): roll to r1019 (#15172)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-29 13:29:28 +02:00
Dmitry Gozman 8220ab1379
feat(firefox): roll ff 1328 and ff-beta 1330 (#15185) 2022-06-29 03:04:46 -07:00
Max Schmitt e34fa4feeb
fix(evaluate): fallback to toJSON if it exists when serializing (#15188)
* fix(evaluate): fallback to toJSON if it exists when serializing

* fix test in ff

* window.performance test
2022-06-29 08:07:32 +02:00
Pavel Feldman 6a8d835145
chore: allow updating har while routing (#15197) 2022-06-28 15:09:36 -07:00
Sébastien Règne f43fe4855d
docs: fix route.fallback typo (#15173) 2022-06-28 13:46:54 -07:00
Max Schmitt aa1e736f3f
chore: print response body when browser download failed (#15101) 2022-06-28 18:19:31 +02:00
Pavel Feldman 8c590cb2af
chore: undeprecate sync headers() (#15152) 2022-06-27 10:34:32 -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
Dmitry Gozman 2f11807552
fix(click): no element should intercept events over the target frame (#15043)
When target element is inside a non-main frame, there could be an
overlay in some of the parent frames that intercepts pointer events.
However, we never detected this case.
2022-06-24 13:17:25 -07:00
Pavel Feldman ae6f48c4b8
fix(route): match against updated url while chaining (#15112) 2022-06-24 10:48:16 -07:00
Stuart Lang eba2bdffb9
docs: fix typo: surved -> served (#15105) 2022-06-24 15:06:57 +02:00
Pavel Feldman 7bd72716f9
feat(har): introduce the slim mode (#15053) 2022-06-22 14:44:12 -07:00
Dmitry Gozman 033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec (#15046)
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00
Playwright Service 01abff2090
feat(chromium-tip-of-tree): roll to r1017 (#15008)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-22 19:38:38 +02:00
Max Schmitt fb441faab1
fix: request/response events with backgroundPages (#15032) 2022-06-22 17:23:51 +02:00
Pavel Feldman 9525bedc1f
feat(har): re-add routeFromHAR (#15024) 2022-06-21 22:12:37 -07:00
Playwright Service da17490972
feat(webkit): roll to r1668 (#15012)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-21 17:22:09 -07:00
Playwright Service c0c1ada9fe
feat(webkit): roll to r1667 (#14960) 2022-06-21 14:04:52 -07:00
Dmitry Gozman 6af6fab84a
fix(har): internal redirect in renderer-initiated navigations (#15000)
fix(har): internal redirect in renderer-initiated navigations
2022-06-21 11:01:01 -07:00
Max Schmitt 3a61938628
chore: mark 1.24-next (#14857) 2022-06-21 19:32:15 +02:00
Tommi Finnilä 6b1bd6ec16
fix: Add Ubuntu 22.04 deps for arm64 (#15007) 2022-06-21 13:51:19 +02:00
Elias Sørensen 6ca18b3bb8
chore: support Pop!_OS 22.04 versioning (#14859)
Co-authored-by: Elias Sorensen <elias.soerensen@usercentrics.com>
2022-06-21 03:02:48 -07:00
Ross Wollman 0f8114f6a8
docs: replace serviceWorkers workaround (#14902) 2022-06-20 19:31:19 -07:00
Pavel Feldman 5e6b493bc9
doc(har): add more details into the har doc (#14998) 2022-06-20 17:54:39 -07: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
Pavel Feldman 883e4d449a
test(har): add more har tests (#14997) 2022-06-20 17:22:32 -07:00
Pavel Feldman aaafb77036
feat(har): disambiguate using matching headers (#14995) 2022-06-20 16:41:53 -07:00
Pavel Feldman b5524aa756
chore(har): brush up post data serialization (#14994) 2022-06-20 15:29:13 -07:00
Dmitry Gozman e3da3ebfa4
feat(har): do not expose HAR types, remove HARResponse fulfill (#14992) 2022-06-20 15:19:54 -07:00
Pavel Feldman eb87966441
feat(har): disambiguate requests by post data (#14993) 2022-06-20 14:14:40 -07:00
Ross Wollman c3bbf8963d
test: installation test for CDN failover (#14963) 2022-06-20 11:24:23 -07:00
Pavel Feldman 920f1d52fc
chore: allow routing by uncompressed har (#14987) 2022-06-20 11:07:53 -07:00
Pavel Feldman e5372c3421
chore: move har router into local utils (#14967) 2022-06-18 20:24:55 -07:00
Yury Semikhatsky ed6b14f0f4
fix(har): restart redirected navigation (#14939) 2022-06-17 21:17:30 -07:00
Pavel Feldman 030e7d211c
chore(har): allow replaying from zip har (#14962) 2022-06-17 16:11:22 -07:00
Max Schmitt 822b86d8a4
chore: add CDN download fallbacks (#14933) 2022-06-17 11:47:32 -07:00
Playwright Service 466d50e3e3
feat(chromium): roll to r1011 (#14948)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-17 18:41:06 +02:00
dependabot[bot] 36c9abfb2e
chore(deps): bump jpeg-js from 0.4.3 to 0.4.4 in /packages/playwright-core/bundles/utils (#14942)
* chore(deps): bump jpeg-js in /packages/playwright-core/bundles/utils

Bumps [jpeg-js](https://github.com/eugeneware/jpeg-js) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/eugeneware/jpeg-js/releases)
- [Commits](https://github.com/eugeneware/jpeg-js/compare/v0.4.3...v0.4.4)

---
updated-dependencies:
- dependency-name: jpeg-js
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* license

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-17 18:40:20 +02:00
Pavel Feldman e9069bef6b
fix(body): fetch body explicitly for prefetched scripts (#14941) 2022-06-16 22:07:43 -07:00
Pavel Feldman be64e9ce66
chore(har): attach resources for .zip hars (#14938) 2022-06-16 18:27:25 -07:00
Pavel Feldman 245c33a5d4
feat(har): allow storing content as separate files (#14934) 2022-06-16 16:33:32 -07:00
Yury Semikhatsky 2bdb0998bd
feat(cli): block-service-workers option (#14931) 2022-06-16 16:03:35 -07:00
Playwright Service c17dbe3ab3
feat(chromium-tip-of-tree): roll to r1016 (#14912)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-16 19:36:37 +02:00
Dmitry Gozman cddf3293cf
docs: mention chaining in locator.filter (#14920) 2022-06-16 10:05:30 -07:00
Dmitry Gozman cdb862767f
fix(page): "load" event should fire before "waitForLoadState" resolves (#14897)
Currently, `loadstate` and `load` are two separate events in the protocol,
and are fired in this order. As a result, `waitForLoadState()` sometimes
resolves before the `'load'` event is fired, which is unexpected.

Also fixes a flaky test that assumed `load` event comes after `domcontentloaded`
for the empty page, which is not always a case in Chromium.
2022-06-16 09:35:53 -07:00
Yury Semikhatsky 79378dd1eb
fix: add pw:api logging to har router (#14903) 2022-06-16 07:48:57 -07:00
Yury Semikhatsky c349c1d57f
feat: newContext.har (#14892)
Replaced {Page,BrowserContext}.(un)routeFromHar with browser.newContext.har.
2022-06-15 16:35:44 -07:00
Pavel Feldman 225ab68d1c
fix(test): fix the route test (#14890) 2022-06-15 16:15:45 -07:00
Pavel Feldman b8fece7204
chore: allow joining async handlers (#14893) 2022-06-15 15:27:31 -07:00
Yury Semikhatsky df63ae9dce
docs: update strict routeFromHar default value (#14886) 2022-06-15 09:32:40 -07:00
Pavel Feldman 464cbb7457
feat(chromium): allow attaching to other targets as to pages (#14873) 2022-06-15 09:31:32 -07:00
Yury Semikhatsky 259c8d64a5
feat: Page.routeFromHar (#14870) 2022-06-15 08:41:46 -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
Yury Semikhatsky e00a26a11d
feat(route): fulfill with HARResponse (#14865) 2022-06-14 15:07:22 -07:00
Playwright Service c8283cf9de
feat(chromium): roll to r1010 (#14863)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-14 23:18:03 +02:00
Playwright Service 81eaf764fc
feat(webkit): roll to r1666 (#14868) 2022-06-14 13:57:57 -07:00
Dmitry Gozman e640f553b5
fix(connectOverCDP): make sure downloads work in default context (#14864) 2022-06-14 12:36:35 -07:00
Pavel Feldman 48f98673ef chore: remove stray fallback overrides check 2022-06-13 18:06:01 -07:00
Pavel Feldman 9cf068ad06
feat(fallback): allow falling back w/ overrides (#14849) 2022-06-13 17:56:16 -07:00
Ross Wollman 3974d1b359
revert(#14797): fix(test runner): collect artifacts when calling browser.close() (#14846)
Revert "fix(test runner): collect artifacts when calling `browser.close()` (#14797)"

This reverts commit c7a28ac7e9.

Looks like it broke a bunch of tracing tests:

* Good: https://github.com/microsoft/playwright/runs/6838098316?check_suite_focus=true
* First Bad: https://github.com/microsoft/playwright/runs/6838104691?check_suite_focus=true
* Still bad on HEAD (88664c39c9): https://github.com/microsoft/playwright/runs/6868333846?check_suite_focus=true
2022-06-13 17:20:59 -07:00
Andrew Branch 26e22c9a89
fix(types): compilation error in TypeScript 4.8 (#14847) 2022-06-13 16:39:55 -07:00
Ross Wollman 61536098be
docs: fix serviceWorkers formatting (#14845) 2022-06-13 15:18:24 -07:00
Pavel Feldman dcdd3c3cdb
feat(route): explicitly fall back to the next handler (#14834) 2022-06-13 12:30:51 -07:00
Playwright Service 939e1877fb
feat(webkit): roll to r1663 (#14775) 2022-06-13 11:19:44 -07:00
Playwright Service dbc90b23ea
feat(chromium-tip-of-tree): roll to r1015 (#14832)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-13 19:35:26 +02:00
Max Schmitt 48b48ee8e8
chore: hide Buffer deprecation warning during tests (#14767) 2022-06-13 19:31:30 +02:00
Pavel Feldman c7b3f4646f
fix(strict): escape css class names when generating selectors (#14810) 2022-06-12 09:39:30 -07:00
Pavel Feldman 76abb3a5be
chore: unify tab generation (#14802) 2022-06-10 17:34:31 -07:00
Dmitry Gozman 7c0bff15ca
feat(fulfill): improve fulfilling from har (#14789)
- `har` option is now an object `{ path, fallback }`.
- Allows falling back to `abort()`, `continue()` or throwing.
- Matches based on url + method.
- Follows redirects in the HAR file.
- Nice error/stack when throwing.
- Tests.
2022-06-10 14:26:45 -07:00
Dmitry Gozman c7a28ac7e9
fix(test runner): collect artifacts when calling browser.close() (#14797)
Previously, we only collected artifacts on context closure.
However, in serial mode it is possible to close the browser instead.
2022-06-10 14:11:34 -07:00
Dmitry Gozman 868e00253f
feat(har): store textual content without base64 encoding (#14772) 2022-06-10 14:10:52 -07:00
Pavel Feldman 7a568a2952
feat(route): chain routes (#14771) 2022-06-10 09:06:39 -07:00
Playwright Service a98394033c
feat(chromium-tip-of-tree): roll to r1014 (#14742)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-10 15:59:49 +02:00
Dmitry Gozman 6822d03f0b
fix(cli): default to no timeout (#14769) 2022-06-09 21:07:57 -07:00
Max Schmitt a2e8c17fbf
chore: fix WK ubuntu 22 deps on Docker (#14770) 2022-06-10 00:00:05 +02:00
Max Schmitt 3853014fa7
chore: add ubuntu 22 support (#14588) 2022-06-09 13:20:18 +02:00
Playwright Service d5e5a28c31
feat(webkit): roll to r1659 (#14727)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-09 10:07:09 +02:00
Dmitry Gozman e975aef961
feat(route): fulfill from har (#14720)
feat(route): fulfill from har

This allows to use pre-recorded HAR file to fulfill routes.
2022-06-08 20:29:03 -07:00
Ross Wollman 85d03714d9
feat: add allow/block serviceWorkers option (#14714)
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.

Includes plumbing for Playwright Test's `use`.

Resolves #14522.

Relates #1090.
Supercedes #14321.
2022-06-08 18:27:51 -04:00
Ross Wollman fccee89b41
feat: add Response.fromServiceWorker flag (#14715)
Resolves #14666.

Relates #1090.
Supercedes #14321.
2022-06-08 17:34:19 -04:00
Dmitry Gozman 176ab7e48b
chore: make LocalUtils easily available on the client (#14717)
Instead of plumbing it around, expose it through Connection.
2022-06-08 13:22:05 -07:00
Dmitry Gozman 6c739eb345
feat(cli): option to record har (#14696)
`npx playwright open --save-har=file.har` produces a HAR file that
can be later inspected or used for mocks.
`--save-har-glob="**/*.{png,woff2}"` option can be used to
produce a smaller har that only contains entries matching the glob.
2022-06-08 10:59:50 -07:00
Yury Semikhatsky 7f026dd64c
feat(webkit): roll to r1658 (#14709)
Language override behavior changed upstream in WebKit/WebKit@039ebd9
New logic is closer to the actual behavior of WebKit on macOS, meaning that when the user changes system language the actual locale changes according to some weird OS rules:
ru-RU => navigator.language === 'ru'
fr-CH => navigator.language === 'fr-FR'
es-MX => navigator.language === 'es-MX'
Our locale emulation is aligned with that, so setting locale to fr-CH will result in fr-FR etc.
2022-06-08 10:16:49 -07:00
Dmitry Gozman fdcdd58d7f
feat(har): introduce urlFilter (#14693)
This is a glob or regex pattern that filters entries recorder in the HAR.
2022-06-07 18:09:47 -07:00
Playwright Service c1a489ee4e
feat(firefox-beta): roll to r1329 (#14612)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:31 +02:00
Playwright Service 712ad4ec12
feat(firefox): roll to r1327 (#14614)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-07 17:42:08 +02: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
Pavel Feldman ca2afaaebd
chore: update babel (#14646) 2022-06-06 15:49:31 -07:00
Sébastien Règne 4c2fc6b6eb
feat(browser): add Browser.BrowserType() method (#14468) 2022-06-06 09:46:08 -07:00
Max Schmitt ee0782b538
fix: hide DeprecationWarning of fd-slicer (#14638) 2022-06-04 17:49:35 +02:00
Playwright Service c7eabf659b
feat(firefox-beta): roll to r1328 (#14602) 2022-06-03 16:35:58 -07:00
Playwright Service 67ac3d31bf
feat(firefox): roll to r1326 (#14604) 2022-06-03 16:34:27 -07:00
Dmitry Gozman 40bfdb0f4e
fix(codegen): use name attribute for frame elements (#14609) 2022-06-02 21:14:01 -07:00
Ross Wollman 978854b859
chore: move multi-select assertion to toHaveValues (#14595)
Follow-up to e0a87e52d7
2022-06-02 16:01:34 -04:00
Elijah dbc2494e54
fix: sanitize URLs with vbscript: (#14325)
fix: sanitize URLs with vbscript:

The vbscript: protocols can be used to run scripts in much the same way as the javascript: protocol. This PR adds in validation for those aforementioned protocols in snapshotterInjected.ts and snapshotRenderer.ts.
2022-06-02 12:25:59 -07:00
Playwright Service 321db57e96
feat(chromium-tip-of-tree): roll to r1012 (#14581)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 18:23:52 +02:00
Ross Wollman e0a87e52d7
feat: support multi-select/combo box with toHaveValue (#14555) 2022-06-02 12:10:28 -04:00
Dmitry Gozman d00efa0dfe
feat(expect): add ignoreCase option to toHaveText and toContainText (#14534) 2022-06-02 05:52:53 -07:00
Playwright Service 82f8af3ff6
feat(chromium-tip-of-tree): roll to r1011 (#14515)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-02 13:53:56 +02:00
Dmitry Gozman c4581e54c0
fix(click): detect iframe overlays that cover target element (#13876)
This restores the old hit target check, in addition to the new
hit target interceptor.

This way, we got some coverage for iframes and other quirky cases,
but keep the bullet-proof hit target check in place.
2022-06-01 15:23:41 -07:00
Dmitry Gozman dbcf039717
chore: remove experimental types (#14560) 2022-06-01 15:22:43 -07:00
Playwright Service c53676e605
feat(firefox): roll to r1325 (#14512)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-06-01 01:39:28 -07:00
Playwright Service ad42dac56f
feat(firefox-beta): roll to r1327 (#14507)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-31 05:46:53 -07: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
Playwright Service 962d933c78
feat(chromium-tip-of-tree): roll to r1010 (#14446)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-27 21:49:19 +02:00
Pavel Feldman 6efb1ec40c
fix(ts): export types explicitly (#14428) 2022-05-26 13:09:32 -07:00
Ross Wollman cfc9aa64a6
chore: produce meaningful bundle notice diffs (#14396) 2022-05-24 22:19:54 -07:00
Pavel Feldman 2fab2c1ca1
fix(tracing): invalidate non-stalling evaluates on crash (#14392) 2022-05-24 14:02:32 -07:00
Playwright Service c12a9077d5
feat(chromium): roll to r1007 (#14307)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-24 11:26:20 +03:00
Max Schmitt e02e5e66f0
chore: bump TypeScript to 4.6 (#14358) 2022-05-23 22:59:33 +03:00
Playwright Service ae37decd73
feat(webkit): roll to r1648 (#14318) 2022-05-23 09:08:57 -07:00
Pavel Feldman a1324bd935
fix(route): support route w/ async handler & times (#14317) 2022-05-21 21:55:46 -07:00
Pavel Feldman b92163176d
chore: render titles on all matching nodes (#14316) 2022-05-20 22:09:10 -07:00
Ross Wollman fbb364c1cd
fix: page.locator.focus() and page.locator(…).type(…) (#14267)
Fixes focus and blur management when `page.locator(…).focus()`  and  `page.locator(…).type(…)` are used which was regressed by 7a5b070 (#13510).

#13510 relied on an implicit assumption that this (conditional) [`blur`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L672)) call would always be followed by a call that resulted in a newly focused element via this [`focus`](7a5b070e95/packages/playwright-core/src/server/injected/injectedScript.ts (L674)) call.

However, some elements are [not focusable](https://html.spec.whatwg.org/multipage/interaction.html#focusable-area), so we were blurring incorrectly, and losing focus that we should have maintained.

Two regression tests were added that pass on the commit prior to 7a5b070e95 (and match manual testing/expectations):

* `page.locator(…).focus()`: _keeps focus on element when attempting to focus a non-focusable element_
* `page.locator(…).type(…)`: _should type repeatedly in input in shadow dom_

Additionally, a third test (_should type repeatedly in input in shadow dom_) was added to check the invariant from #13510 that states:

> This affects [contenteditable] elements, but not input elements.

and allows us to introduce the targeted fix (contenteditble check before blur) without breaking FF again.

And _should type repeatedly in contenteditable in shadow dom with nested elements_ was added to ensure the above fix works with nest contenteditble detection.

Fixes #14254.
2022-05-19 14:31:56 -07:00
Andrey Lushnikov 9a73dfe773
feat(chromium-tip-of-tree): roll Chromium TOT to 1008 (#14279) 2022-05-19 09:29:44 -07:00
github-actions[bot] d6780c5b29
feat(chromium-tip-of-tree): roll to r1007 (#14225)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-19 07:10:18 -07:00
Pavel Feldman d5ea1b38f0
fix(recorder): remove waitForNavigation from codegen (#14166) 2022-05-18 10:02:09 -07:00
Pavel Feldman b5beeab98b
fix(click): climb the hit target hierarchy to anchor (#14235)
fix(click): climb the hit target hierarcchy to anchor
2022-05-18 10:01:34 -07:00