Dmitry Gozman
69be12ae12
api(route): pass Route object instead of Request to route handlers ( #1385 )
...
References #1348 .
2020-03-13 14:30:40 -07:00
Dmitry Gozman
9b86c631c8
api: make BrowserContext.pages() synchronous ( #1369 )
...
Returns all pages which have been initialized already.
References #1348 .
2020-03-13 11:33:33 -07:00
Pavel Feldman
b1a3b23c38
api(request): make request.response a promise ( #1377 )
2020-03-13 08:54:19 -07:00
Pavel Feldman
cfd3ae25fb
api(addCookies): setCookies -> addCookies ( #1367 )
...
#1348
2020-03-12 17:32:33 -07:00
Dmitry Gozman
3fa4255bc5
api: make request.postData() return null instead of undefined ( #1366 )
2020-03-12 16:53:04 -07:00
Dmitry Gozman
c1ef683373
api: remove waitForLoadState() in favor of PageEvent.page(options) ( #1323 )
2020-03-11 14:46:52 -07:00
Pavel Feldman
5d4fdd050a
feat(webkit): roll webkit to 1178 ( #1339 )
2020-03-11 14:08:22 -07:00
Pavel Feldman
0077b428fc
feat(webkit): emulate device size ( #1318 )
2020-03-10 13:16:33 -07:00
Dmitry Gozman
23cf3be828
api: make request.frame() non-null ( #1319 )
2020-03-10 11:39:35 -07:00
Dmitry Gozman
ea6978a3d8
api(popups): expose BrowserContext.route() ( #1295 )
2020-03-09 21:02:54 -07:00
Yury Semikhatsky
9bd3711394
fix(context): reliably fire BrowserContext.Close event when browser is closing ( #1277 )
2020-03-09 16:53:33 -07:00
Dmitry Gozman
eb2ca70955
api(route): allow fulfilling with a file path ( #1301 )
2020-03-09 16:12:00 -07:00
Dmitry Gozman
c43de22193
chore(wk, ff): simplify target management ( #1279 )
2020-03-09 12:32:42 -07:00
Pavel Feldman
2fa2421894
fix(webkit): fail the 204 navigations ( #1260 )
2020-03-09 11:42:56 -07:00
Andrey Lushnikov
d1ef0c8694
fix(wk,ff): properly support getting and setting non-session cookies ( #1280 )
2020-03-07 08:41:57 -08:00
Pavel Feldman
78bd29d558
fix(click): work around input alignment on chromium ( #1282 )
2020-03-07 08:19:31 -08:00
Dmitry Gozman
68b4079748
chore: remove WKPage._sessions ( #1270 )
2020-03-06 16:51:45 -08:00
Andrey Lushnikov
c494944b46
api(popups): move Page.authenticate to BrowserContext.setHTTPCredentials ( #1267 )
...
Drive-by: fixes #720 since it rolls past r1037.
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2020-03-06 13:50:42 -08:00
Dmitry Gozman
d1146204bf
chore: remove WKPageProxy, use WKPage instead ( #1256 )
2020-03-06 11:41:46 -08:00
Pavel Feldman
2724157c22
feat(waitUntil): allow waiting for navigation from clicks, etc ( #1255 )
2020-03-06 08:24:32 -08:00
Yury Semikhatsky
9bc6dcea1d
feat(api): introduce BrowserContext.waitForEvent ( #1252 )
2020-03-05 17:22:57 -08:00
Dmitry Gozman
e5f82af47c
api(popups): emit PageEvent immediately, and resolve page() once initialized ( #1229 )
...
This way we do not miss any popups, even immediately closed ones.
2020-03-05 15:18:27 -08:00
Yury Semikhatsky
aabdac8380
api: remove Page.setCacheEnabled ( #1231 )
2020-03-05 10:09:04 -08:00
Pavel Feldman
11f68bac54
feat(cr, wk): make clicks, input and evaluate await scheduled navigations ( #1200 )
2020-03-04 19:15:01 -08:00
Dmitry Gozman
7f9df9488e
api(popups): move Page.setOfflineMode -> BrowserContext.setOffline ( #1223 )
2020-03-04 17:58:12 -08:00
Dmitry Gozman
3bedc60b2b
fix(dispose): do not await inner handle dispose ( #1230 )
2020-03-04 17:57:35 -08:00
Dmitry Gozman
6c6cdc033b
api(popup): introduce BrowserContext.exposeFunction ( #1176 )
2020-03-03 16:46:06 -08:00
Dmitry Gozman
1b863c2300
fix(screenshots): simplify implementation, allow fullPage + clip, add tests ( #1194 )
2020-03-03 16:09:32 -08:00
Yury Semikhatsky
31e26a2208
fix(api): fire BrowserContext.Page event in WebKit and Firefox ( #1186 )
2020-03-02 18:32:56 -08:00
Dmitry Gozman
ac2f04f10f
api(selectors): pass selector name when registering, allow file path ( #1162 )
2020-02-28 15:34:07 -08:00
Dmitry Gozman
823bf389a7
api: evaluateOnNewDocument -> addInitScript ( #1152 )
...
Also adds more options to specify the script.
2020-02-27 17:42:14 -08:00
Dmitry Gozman
7682865d73
feat(popups): add BrowserContext.evaluateOnNewDocument ( #1136 )
2020-02-27 16:18:33 -08:00
Dmitry Gozman
c6fde22b1f
chore(webkit): always attach to all pages, simplify initialization ( #1139 )
2020-02-27 08:49:09 -08:00
Dmitry Gozman
672f3f9960
feat(popups): introduce BrowserContext.setDefaultHTTPHeaders ( #1116 )
2020-02-26 12:42:20 -08:00
Dmitry Gozman
a43b4095e1
chore: make BrowserContext an interface, with 3 implementations ( #1075 )
...
This is in preparation for moving targets to BrowserContext, so that one can work with targets in default context.
2020-02-24 08:53:30 -08:00
Dmitry Gozman
223685ee7b
chore: strip out injected script from protocol logs ( #1054 )
2020-02-18 19:56:59 -08:00
Pavel Feldman
cd4e9da807
feat(coverage): export raw v8 coverage ( #976 )
...
Fixes #955
2020-02-13 17:39:14 -08:00
Andrey Lushnikov
f8f818f676
Revert "Revert "feat: do not wait for first page in non-persistent mode ( #939 )""
...
Apparently a good fix is coming: https://github.com/microsoft/playwright/pull/993/
Pavel want to re-revert.
2020-02-13 13:54:01 -08:00
Andrey Lushnikov
71892b4aaa
Revert "feat: do not wait for first page in non-persistent mode ( #939 )"
...
This reverts commit a567123596 .
Reason for revert: WK-Win fails to start if we start talking over the
pipe too early.
2020-02-13 13:44:58 -08:00
Pavel Feldman
c15534ff01
fix(locale): document locale parameter ( #990 )
2020-02-13 13:37:59 -08:00
Pavel Feldman
8ed88c910a
feat(webkit): introduce BrowserContext({language}) ( #972 )
2020-02-13 12:24:17 -08:00
Dmitry Gozman
a567123596
feat: do not wait for first page in non-persistent mode ( #939 )
2020-02-13 10:51:17 -08:00
Joel Einbinder
d367a2ed3a
chore(tests): log protocol messages when a test fails on the bots ( #963 )
...
Similarly to how we handle stdio, this captures all protocol messages and logs them when a test fails. Great for when debugging tests in parallel or for bot failures!
Currently I made `DEBUGP=true` turn this on locally, and turned it on always for the CI. Open to
suggestions for a better environment variable. I would turn it on by default always, like the stdio logging, but it adds an enormous amount of noise to our error messages.
2020-02-12 22:35:06 -08:00
Pavel Feldman
012bf671b8
feat(webkit): emulate timezone on webkit ( #968 )
2020-02-12 17:02:59 -08:00
Andrey Lushnikov
7ce49c2835
chore: remove WebSocket implementation ( #961 )
...
WebSocket implementation currently is very incomplete, lacking
support in WebKit-Win and Firefox.
2020-02-12 15:29:06 -08:00
Pavel Feldman
d05feec740
feat(active): emulate active state on webkit ( #941 )
2020-02-11 19:10:57 -08:00
Pavel Feldman
aae5fca237
feat(api): make browser.newPage own the created context ( #930 )
2020-02-11 12:06:58 -08:00
Dmitry Gozman
c69dccf7c1
feat(click): use browser-provided scrollIntoViewIfNeeded ( #893 )
2020-02-11 10:30:09 -08:00
Pavel Feldman
72b9cf010e
feat(context): introduce BrowserContext close event ( #918 )
2020-02-11 10:27:19 -08:00
Joel Einbinder
251ad38824
fix(navigations): remove LifecycleWatcher, fix flakes ( #882 )
2020-02-10 18:35:47 -08:00
Pavel Feldman
84f5700294
feat(api): rename browserContext() to context() in the apis, remove url from newPage ( #906 )
2020-02-10 10:41:45 -08:00
Joel Einbinder
73148fda79
chore(lint): add @typescript-eslint/no-unnecessary-type-assertion rule ( #898 )
2020-02-07 13:38:50 -08:00
Joel Einbinder
487d394f3b
chore(lint): add @typescript-eslint/type-annotation-spacing rule ( #897 )
2020-02-07 13:36:49 -08:00
Dmitry Gozman
fee83b17c9
fix(api): page.viewport -> page.viewportSize ( #878 )
...
We now only allow to resize the page, leaving isMobile and deviceScaleFactor as browser context options.
2020-02-06 19:02:55 -08:00
Pavel Feldman
a547aa7984
feat(connect): allow multiple webkit connections over web socket ( #863 )
2020-02-06 12:41:43 -08:00
Dmitry Gozman
6318ba6e4a
feat(frame): introduce frame.frameElement ( #856 )
...
Fixes #839 .
2020-02-05 17:20:23 -08:00
Joel Einbinder
4be39f8af0
chore(types): upgrade to typescript 3.7.5 ( #855 )
2020-02-05 16:53:36 -08:00
Pavel Feldman
a2ab645e63
feat(launch): introduce client, server & persistent launch modes (2) ( #840 )
2020-02-05 12:41:55 -08:00
Pavel Feldman
0518625dcc
feat(launch): introduce client, server & persistent launch modes (1) ( #838 )
2020-02-04 19:41:38 -08:00
Andrey Lushnikov
0c2a2e11fd
fix: properly nullify error stacks ( #836 )
...
`error.stack` is supposed to have error message as the first line.
2020-02-04 19:31:57 -08:00
Yury Semikhatsky
25f2a32af3
feat: add Page.opener() to the API ( #790 )
...
Fixes #783
2020-01-31 18:38:45 -08:00
Yury Semikhatsky
b8199c0813
chore(webkit): use async/await to make eval more readable ( #789 )
2020-01-31 17:23:17 -08:00
Pavel Feldman
ef1d2fb995
Revert "fix: move offline/cache/interception switches to BrowserContext ( #748 )" ( #793 )
...
This reverts commit 6faf74bc95 .
2020-01-31 16:23:15 -08:00
Yury Semikhatsky
c57fd22382
fix(webkit): unflake Page.setContent ( #786 )
2020-01-31 10:08:45 -08:00
Pavel Feldman
b289bb790b
fix(filechooser): intercept file choosers lazily ( #776 )
...
Fixes #764
2020-01-30 17:43:06 -08:00
Yury Semikhatsky
985faebd12
fix: avoid unhandled promise rejection in WKSession.send ( #770 )
2020-01-30 17:30:47 -08:00
Yury Semikhatsky
1b012e50e9
fix: do actually catch worker initialization exceptions ( #762 )
2020-01-30 11:40:56 -08:00
Pavel Feldman
f44d6607c3
feat(webkit): use consistent user agent for headful and headless ( #756 )
2020-01-29 20:12:09 -08:00
Pavel Feldman
ce7219870b
feat(webkit): roll webkit to 1124 ( #736 )
2020-01-29 19:13:44 -08:00
Yury Semikhatsky
6faf74bc95
fix: move offline/cache/interception switches to BrowserContext ( #748 )
2020-01-29 12:51:14 -08:00
Yury Semikhatsky
4c25180912
chore(webkit): do not call setPauseOnStart for each target ( #725 )
2020-01-28 14:51:05 -08:00
Pavel Feldman
09e97afd22
feat(wk,ff): amend method & postData upon continue ( #703 )
...
Fixes #668
2020-01-28 14:29:46 -08:00
Yury Semikhatsky
460527d8cb
fix(webkit): do not poll readyState if target is paused before first navigation ( #721 )
2020-01-28 14:00:36 -08:00
Dmitry Gozman
324874962c
fix(webkit): make frames detect their initial load state ( #690 )
2020-01-28 13:05:38 -08:00
Yury Semikhatsky
2ddc987854
fix(webkit): initialize popups on start ( #693 )
2020-01-28 11:07:35 -08:00
Dmitry Gozman
89b5d2f7be
fix(setContent): manually reset lifecycyle for all browsers at the right moment ( #679 )
2020-01-27 16:51:52 -08:00
Dmitry Gozman
541fa95ce4
fix(ownerFrame): correctly handle adopted node usecase ( #677 )
2020-01-27 11:43:43 -08:00
Dmitry Gozman
f1d1dfb081
fix(webkit): rewrite global object retrieval errors ( #640 )
2020-01-24 15:56:41 -08:00
Yury Semikhatsky
044ebd7fd8
fix: delete contexts from the map on navigation ( #602 )
2020-01-23 14:58:30 -08:00
Dmitry Gozman
ac2ba3cbd9
fix(api): BrowserServer -> BrowserApp, resuse it between browsers ( #599 )
2020-01-23 14:40:37 -08:00
Dmitry Gozman
a5019ea69a
fix(api): remove remoteAddress from api ( #601 )
2020-01-23 12:13:58 -08:00
Dmitry Gozman
3269358ac8
feat(webkit): covert pipe to websocket when asked ( #570 )
2020-01-22 17:42:10 -08:00
Yury Semikhatsky
869ffc8afd
chore(webkit): remove _disconnectFromTarget ( #567 )
2020-01-22 16:47:56 -08:00
Yury Semikhatsky
6308dbe01e
fix(webkit): always push state changes to the provisional page ( #564 )
2020-01-22 14:17:44 -08:00
Yury Semikhatsky
bf6f6741b4
chore(webkit): merge network manager into WKPage ( #548 )
2020-01-21 14:58:12 -08:00
Pavel Feldman
80c3b46a54
feat(websockets): implement support for ws on cr/wk ( #542 )
2020-01-21 11:48:48 -08:00
Yury Semikhatsky
ab806e6274
fix(webkit): clear workers on navigation ( #535 )
2020-01-17 18:46:45 -08:00
Yury Semikhatsky
f76db837c9
fix(webkit): make interception work with cross-process navigation ( #529 )
2020-01-17 16:48:50 -08:00
Yury Semikhatsky
444f0d88f1
fix(webkit): forward network messages from provisional to committed page ( #527 )
2020-01-17 15:33:55 -08:00
Yury Semikhatsky
fc9ddb7c3c
chore(webkit): simplify session init logic ( #523 )
...
* chore(webkit): simplify session init logic
* update remaining license headers
2020-01-17 14:02:57 -08:00
Yury Semikhatsky
6a0dba7b56
fix(webkit): make interception tests pass ( #516 )
2020-01-16 17:00:02 -08:00
Dmitry Gozman
057e466a65
fix(api): remove network events for data: urls ( #512 )
2020-01-16 16:58:02 -08:00
Yury Semikhatsky
a2c7553518
fix(webkit): unflake frame detach tests ( #509 )
2020-01-16 11:10:46 -08:00
Pavel Feldman
6f92d19cdd
test: rebaseline with win32 in mind ( #499 )
2020-01-15 13:40:44 -08:00
Joel Einbinder
aaa1c9203e
feat(firefox&webkit): support root in accessibility.snapshot ( #495 )
...
This adds support for `root` in accessibility.snapshot
firefox role names are now normalized to aria roles where they match
webkit roledescriptions are less noisey on mac
webkit mac/linux results are further defined
interestingOnly tests are replaced by one that doesn't rely on undefined behavior
the main accessibility test was split up a bit for more refined testing.
2020-01-14 16:54:50 -08:00
Dmitry Gozman
a4151c9bc2
fix(webkit): interception should tolerate page close or request abort race ( #491 )
2020-01-14 15:34:43 -08:00
Yury Semikhatsky
5fa39dde3f
fix(webkit): use cross-process loader ids ( #486 )
2020-01-14 11:46:08 -08:00
Yury Semikhatsky
ff904d3a61
Revert "fix(webkit): use cross-process loader ids ( #484 )" ( #485 )
...
This reverts commit d341b43023 .
2020-01-14 09:49:49 -08:00
Yury Semikhatsky
d341b43023
fix(webkit): use cross-process loader ids ( #484 )
2020-01-14 09:48:36 -08:00
Dmitry Gozman
fb1b3d9a89
chore: finish strict type checks across src ( #482 )
2020-01-13 22:08:35 -08:00