Dmitry Gozman
2cf4caa4cf
chore: implement mixins in protocol.yml ( #5932 )
2021-03-24 06:37:10 -07:00
Pavel Feldman
543582b4ca
chore: expose channel name literals for types ( #5922 )
2021-03-23 13:21:03 -07:00
Andrey Lushnikov
ec6453d1b2
fix: installer compilation ( #5908 )
...
For some reason typescript can't find electron types when using
nested tsconfig - workaround the bug.
Drive-by: surface installer compilation problems.
2021-03-22 17:39:03 -07:00
Andrey Lushnikov
2064d27dc6
fix(installer): retain browsers installed via Playwrigth CLI ( #5904 )
...
Browser registry is responsible for 3 things:
1. Remove downloaded browsers if there are no packages that refer to them
2. Install default browsers needed for the current package
3. Install browsers on-demand when used through Playwright CLI
Currently, registry relies on a single "download" field in `browsers.json`
to carry both (1) and (2). However, browsers in (3) are marked as
`download: false` so that they aren't installed automatically in (2), so
auto-remove procedure in (1) removes them on subsequent installation.
One possible approach to fix this would be modifying package's `browsers.json` to
change `download: false` to `true` when browsers are installed with
Playwright CLI. This approach was explored here:
bc04a51800
We decided against this since we have a history of issues related to
package modifications after NPM installation. This breaks all
sorts of yarn/npm caching mechanisms.
Instead, this patch is a two-step refactor:
- remove the "download" field in `browsers.json`. Now, all registries
(including old ones from previously-released versions) will retain any
browsers that are mentioned in the `browsers.json`.
- add a new flag "installByDefault", that is **only used** for default
installation.
With this change, the registry tasks are done like this:
- (1) auto-removal: if browser has a back reference, it is retained,
otherwise it is removed from registry
- (2) default installation: use only `installByDefault` to carry default installations
- (3) CLI installation: simply installs browsers. Since we retain
everythings that's referenced in (1), browsers aren't removed.
Fixes #5902
2021-03-22 11:43:29 -07:00
Yury Semikhatsky
67c29e8155
chore: add missing await to floating promises ( #5813 )
2021-03-22 09:59:39 -07:00
Andrey Lushnikov
9a50304dc1
fix: work-around electron's broken event loop ( #5867 )
...
Since `setImmediate` doesn't create a new task in Electron,
we have to fallback to `setTimeout` instead.
See https://github.com/electron/electron/issues/28261 for details.
Fixes #5228
2021-03-18 09:29:37 -07:00
Pavel Feldman
d53cea7029
fix(pageOrError): throw in launchPersistentContext if context page has errors ( #5868 )
2021-03-18 08:14:57 -07:00
Andrey Lushnikov
bb21faf450
fix: disable firefox's webrender on Darwin ( #5870 )
...
References #5721
2021-03-18 00:23:23 -07:00
Pavel Feldman
2367039a2c
chore(stable): throw user-friendly message when ffmpeg is missing ( #5865 )
2021-03-17 19:19:44 -07:00
Pavel Feldman
84efdfcbc9
chore(autowait): auto-wait for top level navigations only ( #5861 )
2021-03-17 14:47:51 -07:00
Pavel Feldman
5ae731a3fb
chore(evaluate): respect signals when evaluating on handle ( #5847 )
2021-03-17 12:03:21 -07:00
Pavel Feldman
7011e5737a
chore(evaluate): explicitly annotate methods that wait for signals ( #5859 )
2021-03-17 10:47:07 -07:00
Andrey Lushnikov
ae460f01fc
devops: start downloading webkit fork on Mac 10.14 ( #5837 )
...
References #5833
2021-03-17 09:34:09 -07:00
Andrey Lushnikov
e8a33c4039
feat(firefox): roll Firefox to r1237 ( #5849 )
...
This patch rolls Firefox to r1237. Upstream firefox still struggles
with crashes with certain videos: https://bugzilla.mozilla.org/show_bug.cgi?id=1697004
This PR also workarounds this crash by disabling webrender.
References #5721
2021-03-16 23:27:39 -07:00
Pavel Feldman
bf36b487fc
fix(rimraf): allow 10 retires when removing the profile folder ( #5826 )
2021-03-16 19:31:35 -07:00
Yury Semikhatsky
8df4dcb0de
feat(webkit): bump to 1446 ( #5844 )
2021-03-16 17:23:42 -07:00
Pavel Feldman
d81ebff414
fix(inspector): do not collect action signals while on pause ( #5843 )
2021-03-16 12:06:12 -07:00
Pavel Feldman
5cf13612cf
chore: pretty print storage state ( #5830 )
2021-03-15 19:03:09 -07:00
Pavel Feldman
c2db8da4df
fix(inspector): await inspector init to avoid races ( #5829 )
2021-03-15 19:02:38 -07:00
E
095ad6339c
chore: update error message when using userDataDir arg ( #5814 )
2021-03-15 16:58:46 -07:00
Pavel Feldman
ea32ad2b09
infra(channel): add edge stable bot ( #5825 )
2021-03-15 16:00:52 -07:00
Pavel Feldman
95affe9387
chore: do not delete unused browsers when PLAYWRIGHT_SKIP_BROWSER_GC is specified ( #5827 )
2021-03-15 16:00:18 -07:00
Joel Einbinder
defd1a33be
fix(chromium): fix crash if connecting to a browser with a serviceworker ( #5803 )
2021-03-15 09:50:17 -07:00
Pavel Feldman
1dd6bd3316
infra(channel): wire release channel to all tests ( #5820 )
2021-03-15 08:07:57 -07:00
Pavel Feldman
a96d6a7dbb
feat: allow to pick stable channel ( #5817 )
2021-03-13 14:02:39 -08:00
Pavel Feldman
c4578f19f2
chore: organize per-browser dependencies ( #5787 )
2021-03-11 20:22:50 -08:00
Oleg Lebedev
a185da9d14
chore: allow skipping host requirements validation ( #5806 )
2021-03-11 18:46:31 -08:00
Gilberto Saraiva
7fcb89269e
fix(firefox): ensure a exception catch when async send call to a dead object; ( #5805 )
2021-03-11 16:04:08 -08:00
Pavel Feldman
ad69b2af83
chore: unify recorder & tracer uis ( #5791 )
2021-03-11 11:22:59 -08:00
Yury Semikhatsky
ddfdf8a76a
fix: install chromium along with ffmpeg ( #5774 )
2021-03-10 14:01:35 -08:00
Pavel Feldman
fea6669473
feat(trace): highlight action target ( #5776 )
2021-03-10 11:43:26 -08:00
Pavel Feldman
1d6feb2ab8
fix(inspect): highlight on explore input change ( #5726 )
2021-03-09 07:44:10 -08:00
Max Schmitt
d311058245
fix(BrowserContext): race between continue and close ( #5729 )
2021-03-08 19:53:19 -08:00
Pavel Feldman
1a94ea5f6c
chore: refactor trace viewer to reuse snapshot storage ( #5756 )
2021-03-08 19:49:57 -08:00
Pavel Feldman
9e20566244
fix(postData): do not require content type when retrieving post data ( #5736 )
2021-03-05 21:25:14 -08:00
Dmitry Gozman
b3561e6c41
feat(chromium): bump to 857950 ( #5742 )
2021-03-05 18:09:38 -08:00
Yury Semikhatsky
976f35aaf7
fix: update codegen to produce set* instead of with* ( #5738 )
2021-03-05 14:05:48 -08:00
Yury Semikhatsky
26b7db964c
feat(cli): launch-server command ( #5713 )
2021-03-04 10:32:06 -08:00
Pavel Feldman
2af8b8ac74
chore: inspector snapshot nits ( #5676 )
2021-03-03 22:25:34 -08:00
Pavel Feldman
a9238ce2e1
feat(debug): introduce npx playwright debug ( #5679 )
2021-03-03 22:25:14 -08:00
Pavel Feldman
d3eff50386
feat(java): implement codegen ( #5692 )
2021-03-03 14:32:09 -08:00
Dmitry Gozman
d87522f2e6
fix(text selector): revert quoted match to match by text nodes only ( #5690 )
2021-03-03 10:51:10 -08:00
Dmitry Gozman
e4d33f56f4
fix(click): do not retarget from label to control when clicking ( #5683 )
...
And in other carefully considered cases.
2021-03-02 17:29:03 -08:00
Dmitry Gozman
ff243f1af5
fix(addInitScript): make it work on new pages without navigations ( #5675 )
2021-03-02 16:03:48 -08:00
Yury Semikhatsky
2cdb6b49cd
fix(inspector): inlcude sdkLang in the error ( #5682 )
2021-03-02 12:16:04 -08:00
Yury Semikhatsky
1a0ccc1383
feat(webkit): bump to 1443 ( #5665 )
2021-03-02 09:15:07 -08:00
Pavel Feldman
b253ee80c0
chore(snapshot): brush up, start adding tests ( #5646 )
2021-03-01 12:20:04 -08:00
Pavel Feldman
aeb2b2f605
feat(inspector): wire snapshots to inspector ( #5628 )
2021-02-26 14:16:32 -08:00
Andrey Lushnikov
c652794b5a
chore: bump webkit version ( #5637 )
...
Aligning with the latest Safari Technology Preview.
2021-02-26 12:15:15 -08:00
Yury Semikhatsky
4b541749ac
feat(webkit): bump to 1442 ( #5622 )
2021-02-25 23:39:48 -08:00
Pavel Feldman
992f808210
chore(snapshot): implement in-memory snapshot ( #5624 )
2021-02-25 13:09:26 -08:00
Dmitry Gozman
f7e5db4d6e
chore: remove ProgressController.abort ( #5620 )
...
It is used in a few places, but we can do a Promise.race.
This change will allow us to pass existing progress to
multi-step operations.
2021-02-25 10:00:54 -08:00
Pavel Feldman
2ff6d54f26
chore: extract snapshotter from trace viewer ( #5618 )
2021-02-25 09:33:32 -08:00
Pavel Feldman
af89ab7a6f
chore: make trace server generic ( #5616 )
2021-02-25 08:25:52 -08:00
Pavel Feldman
f72b098a04
chore: encapsulate parsed snapshot id in the trace viewer ( #5607 )
2021-02-24 19:29:16 -08:00
Dmitry Gozman
ca8998b11e
feat(log): prepend browser pid to browser logs ( #5569 )
...
To differentiate between multiple browsers.
2021-02-24 19:21:47 -08:00
Pavel Feldman
5ae2661134
chore: simplify overrides management in trace viewer ( #5606 )
2021-02-24 18:38:04 -08:00
Dmitry Gozman
0102e080f6
fix(text selector): make quoted selector match by text nodes ( #5603 )
...
This change turns quoted match to be case-sensitive (as before),
but not strictly full-string for the whole element's text.
This is a fix for a case where element contains text nodes and child elements:
```html
<div>text1<span>child node</span>text2</div>
```
We now match this div by `text="text1"` and `text="text2"`.
2021-02-24 16:32:38 -08:00
Pavel Feldman
8906ba332c
chore: spell overridden ( #5605 )
2021-02-24 15:11:34 -08:00
Pavel Feldman
c91159f3f7
chore: make stack filtering playwright dev-friendly ( #5604 )
2021-02-24 14:33:08 -08:00
Pavel Feldman
6bf3fe8432
chore: make trace model a class ( #5600 )
2021-02-24 14:22:34 -08:00
Pavel Feldman
f71bf9a42a
chore: move trace viewer into server ( #5597 )
2021-02-24 13:39:51 -08:00
Pavel Feldman
5fb77935ee
chore: move logic from sw to server ( #5582 )
2021-02-24 11:52:59 -08:00
Max Schmitt
070cfdcdb8
fix(inspector): skip stack trace playwright/src lines only under tests ( #5594 )
2021-02-24 11:34:48 -08:00
Max Schmitt
fefe37e96f
fix(inspector): stacktrace with browser specific NPM package ( #5589 )
2021-02-24 08:08:27 -08:00
Pavel Feldman
48c237b3cf
chore: move trace to server ( #5565 )
2021-02-23 22:08:14 -08:00
Joel Einbinder
8ef6cb731e
feat(codegen): use the name attribute for more elements ( #5376 )
2021-02-23 16:24:45 -08:00
Pavel Feldman
096ddab972
fix(inspector): hide drawer when recording ( #5548 )
2021-02-22 15:35:38 -08:00
Dmitry Gozman
b42c3690d3
fix(codegen): replace html lib with createElement ( #5531 )
...
We are not using html that much, since most of our UI moved
to the Recorder App. Getting rid of `innerHTML` assignment
fixes the TrustedTypes issue.
2021-02-22 11:38:49 -08:00
Andrey Lushnikov
eb9c8ce20c
feat(chromium): roll Chromium to Dev @ Feb 19, 2021 ( #5536 )
2021-02-22 11:17:55 -08:00
Pavel Feldman
6ec77dca9d
fix(inspector): fix the wait for event error rendering ( #5517 )
2021-02-20 14:36:19 -08:00
Yury Semikhatsky
1e327d4cb2
fix(bindings): unflake TestBrowserContextExposeFunction.shouldWork in java ( #5532 )
2021-02-19 18:58:32 -08:00
Pavel Feldman
600f731a67
feat(inspector): render api names from metainfo ( #5530 )
2021-02-19 18:12:33 -08:00
Pavel Feldman
f154a827c5
feat(inspector): send api names along with metainfo ( #5518 )
2021-02-19 16:21:39 -08:00
Dmitry Gozman
46c8c29f7a
fix(logs): restore pw:browser logs after launch has finished ( #5527 )
2021-02-19 16:09:38 -08:00
Yury Semikhatsky
5f9acfaccb
feat(webkit): bump to 1436 ( #5513 )
2021-02-19 13:47:47 -08:00
Zev Isert
cbcc609fa1
fix: return non-secure cookies with HTTPS URLs ( #5507 )
...
Cookies have a "Secure" attribute which tells the browsers
that a given cookie should only be sent via HTTPS. In it's
absense "Secure" is falsy and these cookies should be sent
with both HTTP and HTTPS requests. Playwright now returns
only the "Non-Secure" cookies for HTTP URLs, and both
"Secure" and "Non-Secure" cookies for HTTPS URLs.
Fixes #5504
2021-02-19 11:50:59 -08:00
Pavel Feldman
bb2b29631a
feat(inspector): pause on page/context close ( #5319 )
2021-02-19 09:33:24 -08:00
Dmitry Gozman
8a9048c2b5
feat(inspector): selector input ( #5502 )
2021-02-19 07:25:08 -08:00
Pavel Feldman
15833ee039
feat(inspector): render params and durations in log ( #5489 )
2021-02-17 22:10:13 -08:00
Dmitry Gozman
da135c2abb
fix(trace viewer): follow up with recent instrumentation changes ( #5488 )
...
- List all actions we are interested in
- Fix timeline hover flicker
- Extract tabbed pane component
- Preview snapshots without clicking on the action
2021-02-17 17:51:57 -08:00
Pavel Feldman
3248c2449c
feat(inspector): collapse completed items ( #5484 )
2021-02-17 17:28:02 -08:00
Dmitry Gozman
dc51536bca
feat(waitForResponse): print regex pattern when waiting for request/response ( #5485 )
2021-02-17 15:11:23 -08:00
Pavel Feldman
b2227c1bcf
feat(inspector): allow selecting file ( #5483 )
2021-02-17 14:05:41 -08:00
Naresh
cc749fe679
fix(android): added recent apps button ( #5331 )
2021-02-16 19:37:46 -08:00
Pavel Feldman
30e68f6d1f
chore: simplify code generation ( #5466 )
2021-02-16 18:13:26 -08:00
Andrey Lushnikov
b6bd7c0d6a
feat(chromium): roll Chromium to r851527 ( #5434 )
...
Fixes #5197
2021-02-16 14:21:47 -08:00
Andrey Lushnikov
f2b25fe6bd
fix: do not rely on $PATH when resolving executables ( #5475 )
...
Since CRON jobs reset $PATH to a very basic one, we should
use only direct paths to system executables.
Fixes #5469
2021-02-16 10:23:38 -08:00
Andrey Lushnikov
6b40d75d03
fix: allow setting input files for detached <input> elements ( #5467 )
...
Fixes #5403
2021-02-16 10:22:46 -08:00
Pavel Feldman
0c7da44465
test(inspector): add some tests ( #5461 )
2021-02-15 08:32:13 -08:00
Dmitry Gozman
1f3449c7da
fix(download): do not stall BrowserContext.close waiting for downloads ( #5424 )
...
We might not ever get the "download finished" event when closing the context:
- in Chromium, for any ongoing download;
- in all browsers, for failed downloads.
This should not prevent closing the context. Instead of waiting for the
download and then deleting it, we force delete it immediately and reject
any promises waiting for the download completion.
2021-02-14 16:46:26 -08:00
Pavel Feldman
8b9a2afd3d
feat(inspector): render errors ( #5459 )
2021-02-13 22:13:51 -08:00
Pavel Feldman
ae2ffb3fb9
feat(inspector): instrument wait for event ( #5457 )
2021-02-13 20:31:06 -08:00
Pavel Feldman
ecd15e6175
fix(inspector): restore point highlight ( #5455 )
2021-02-12 22:06:45 -08:00
Pavel Feldman
0782b25272
test: fix recorder downloads test ( #5454 )
2021-02-12 20:26:22 -08:00
Pavel Feldman
3c877374c7
feat: add replay log ( #5452 )
2021-02-12 18:53:46 -08:00
Dmitry Gozman
ac1599cc2c
fix(registry): handle relative registry path ( #5406 )
...
We get relative registry path when PLAYWRIGHT_BROWSERS_PATH or HOME is relative.
In this case, it would be good to resolve to the same absolute path
during installation and execution, and we can usually do that using INIT_CWD.
2021-02-12 11:12:06 -08:00
Pavel Feldman
aef052aecc
chore: pause on input in pwdebug mode ( #5427 )
2021-02-12 10:11:30 -08:00
Dmitry Gozman
3e7b8e3d74
test: add basic end-to-end driver test ( #5426 )
...
- Introduce internal "out of process" start()/stop() mode.
- This mode is used both in regular tests and installation tests.
- Emulate basic driver installation, browser download and running.
2021-02-12 09:05:32 -08:00
Pavel Feldman
449adfd3ae
chore(recorder): move recording output into the gui app ( #5425 )
2021-02-11 17:46:54 -08:00