Pavel Feldman
049b336800
api(devices): extract isMobile/hasTouch from viewport ( #1415 )
2020-03-17 18:21:02 -07:00
Joel Einbinder
39e5eb7eda
feat(devices): remove name from device objects ( #1414 )
2020-03-17 16:04:42 -07:00
Pavel Feldman
e4225adcc0
feat(permissions): make origin optional ( #1406 )
2020-03-17 15:32:50 -07:00
Pavel Feldman
64b175ce10
api(waitForLoadState): restore it ( #1390 )
2020-03-16 14:39:44 -07:00
Dmitry Gozman
6731d37546
api(network): replace redirectChain with redirectedFrom/redirectedTo ( #1401 )
2020-03-16 13:31:06 -07:00
Joel Einbinder
6dcd6a6eec
fix(types): jsHandle.getProperty should never resolve to null ( #1402 )
...
Added a test to confirm that this was dead code.
2020-03-16 13:23:04 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession ( #1380 )
2020-03-13 16:16:54 -07:00
Dmitry Gozman
a96dec58c8
fix(webkit): emit close on pages before clearing them ( #1386 )
2020-03-13 14:43:49 -07:00
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
26479119b6
fix(setContent): handle inner _waitForLoadState rejection ( #1382 )
2020-03-13 13:09:06 -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
8aba111f1e
api(cdp): rename createSession to newCDPSession ( #1378 )
2020-03-13 09:00:03 -07:00
Pavel Feldman
b1a3b23c38
api(request): make request.response a promise ( #1377 )
2020-03-13 08:54:19 -07:00
Pavel Feldman
24d4fb1e5c
api(click): remove tripleclick, respect clickCount ( #1373 )
2020-03-13 08:09:48 -07:00
Pavel Feldman
8c532bd8da
api(press): remove text option ( #1372 )
...
#1348
2020-03-12 22:02:19 -07:00
Pavel Feldman
e1d3196460
api(*.selectOption): renamed from *.select ( #1371 )
2020-03-12 21:30:12 -07:00
Pavel Feldman
064099ab3c
api(keyboard.insertText): renamed from sendCharaters ( #1370 )
2020-03-12 20:56:52 -07:00
Pavel Feldman
9aa56a6b9e
api(browserType): remove devices, errors ( #1368 )
2020-03-12 17:58:00 -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
e382bb329b
api: remove 'commit' phase, actions to wait until 'domcontentloaded' by default ( #1358 )
2020-03-12 11:20:03 -07:00
Dmitry Gozman
7c59f9ca9a
fix: do not wait for navigations while evaluating injected source ( #1347 )
2020-03-11 22:52:03 -07:00
Pavel Feldman
b43f33f4d3
api(review): misc changes to API. ( #1356 )
2020-03-11 18:10:48 -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
Dmitry Gozman
3dd49459bb
fix(chromium): install binding function during initialization ( #1320 )
2020-03-10 16:19:01 -07:00
Andrey Lushnikov
65d10a5d5d
fix: re-implement slow-mo transport without message serialization ( #1328 )
...
With this implementation, `slowMo` will throttle all `outbound`
messages.
Fixes #1214
2020-03-10 15:57:39 -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
d5a2781e80
fix(chromium): do not await extra promises in initialize() to attach early enough ( #1311 )
2020-03-10 10:06:17 -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
Yury Semikhatsky
0fbc7af26d
chore(targets): create page targets only when attached to them ( #1278 )
2020-03-09 15:53:45 -07:00
Andrey Lushnikov
e650628e3d
fix(chromium): fix device-related media queries ( #1299 )
...
References #1291
2020-03-09 15:53:31 -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
Yohix
bfd32fe6d2
doc: fix typos ( #1284 )
2020-03-07 08:37:47 -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
Dmitry Gozman
aee6324bba
feat(firefox): roll firefox ( #1273 )
2020-03-06 16:49:48 -08:00
Pavel Feldman
3c35d7b058
api(waitFor): click(waitFor) -> click(force) ( #1275 )
2020-03-06 16:24:21 -08:00
Yury Semikhatsky
8211287a23
fix(session): use isolated root session for client page sessions ( #1271 )
2020-03-06 15:11:03 -08:00
Pavel Feldman
3fa000f5f4
api(waitForSelector): bring it back ( #1272 )
2020-03-06 15:02:42 -08:00
Pavel Feldman
119df5a985
feat(nowait): allow waitUntil:nowait for actions ( #1264 )
2020-03-06 14:32:15 -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
49c1161e00
api(press): bump .press to the page/frame level ( #1262 )
2020-03-06 09:38:08 -08:00
Pavel Feldman
2724157c22
feat(waitUntil): allow waiting for navigation from clicks, etc ( #1255 )
2020-03-06 08:24:32 -08:00
Dmitry Gozman
1d770af804
api: waitForElement accepts waitFor: attached|detached|visible|hidden ( #1244 )
...
This includes rename waitForSelector -> waitForElement and removes $wait.
2020-03-05 17:45:41 -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
Pavel Feldman
c734b4b715
feat(click): start wire auto-waiting click in firefox ( #1233 )
2020-03-05 14:47:04 -08:00
Yury Semikhatsky
e770d706a1
fix(chromium): do not create default page and context in headless ( #1247 )
2020-03-05 14:46:12 -08:00
Yury Semikhatsky
665888d579
feat(popups): auto-attach to all pages in Chromium ( #1226 )
2020-03-05 10:45:32 -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
5ee744cd26
api(page.frame): allow looking up frames by name ( #1228 )
2020-03-04 17:53:39 -08:00
Pavel Feldman
5ff660de15
feat(navigation): waitForNavigation/goto should not wait until response finished ( #1225 )
2020-03-04 15:59:26 -08:00
Joel Einbinder
8aa88d5021
fix(doc): check and update optional types in the api ( #1206 )
...
This adds a new check to doclint for whether a member is correctly marked as optional.
part of #6
2020-03-03 17:29:12 -08:00
Dmitry Gozman
f4e9b5079d
api: declare not supporting isMobile on Firefox ( #1207 )
2020-03-03 17:28:31 -08:00
Dmitry Gozman
1c4619e5e0
fix(chromium/webkit): fix a race between Page.enable and Page.getResourceTree ( #1201 )
2020-03-03 17:15:43 -08:00
Dmitry Gozman
15c70c9d61
fix(click): timing out in page while waiting for interactable should have proper error ( #1199 )
...
This fixes flaky 'Page.click should timeout waiting for visible' test.
2020-03-03 17:14:00 -08:00
Joel Einbinder
fcfe887c57
feat(select): don't accept undefined as a value ( #1202 )
...
`page.select` accepting an `undefined` value is a legacy of when `page.select` took `...values`. This matches the way the method is documented in the API.
2020-03-03 16:59:41 -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
342a2cf5cc
fix(selectors): continue matching after first fail for combined selectors ( #1185 )
2020-03-02 15:47:50 -08:00
Dmitry Gozman
1186998bd8
fix(click): wait for element to be displayed before scrolling into view ( #1182 )
...
Otherwise, we may get an error during scrollIntoViewIfNeeded protocol call.
2020-03-02 14:26:38 -08:00
Yury Semikhatsky
a57978a5f0
api(chromium): remove Target from public API ( #1163 )
2020-03-02 13:58:22 -08:00
Yury Semikhatsky
f242e0c74f
fix: make Transport.send() synchronous ( #1177 )
2020-03-02 13:51:32 -08:00
Andrey Lushnikov
08fbc92752
feat: support PLAYWRIGHT_DOWNLOAD_HOST ( #1179 )
...
This patch starts respecting `PLAYWRIGHT_DOWNLOAD_HOST` env variable
in `playwright` package and it's vendored flavors (`playwright-firefox`,
`playwright-chromium` and `playwright-webkit`).
Fixes #1045
2020-03-02 13:45:10 -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
7843c29d32
feat(selectors): auto-detect each selector part ( #1160 )
2020-02-28 14:41:32 -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
Joel Einbinder
857ffd8ea9
fix: text selector should be case insensitive without quotes ( #1151 )
2020-02-27 16:52:30 -08:00
Dmitry Gozman
7682865d73
feat(popups): add BrowserContext.evaluateOnNewDocument ( #1136 )
2020-02-27 16:18:33 -08:00
Pavel Feldman
dc161df063
fix(launch): throw upon page argument when non-persistent ( #1144 )
2020-02-27 14:09:24 -08:00
Yury Semikhatsky
9d6aa967f3
chore(workers): align worker lifecycle evens with other APIs ( #1147 )
2020-02-27 14:02:48 -08:00
Dmitry Gozman
c6fde22b1f
chore(webkit): always attach to all pages, simplify initialization ( #1139 )
2020-02-27 08:49:09 -08:00
Andrey Lushnikov
4ebf419259
fix(yarn): download browsers to package directories ( #1133 )
...
This patch makes it so all our packages, like `playwright` and
browser-specific flavors, download browsers to their
directories rather then using directory of `playwright-core`.
This way yarn@1 caches are not busted: they didn't expect that directory
content might change after packages's explicit install step
is failed, there's that was what we were doing.
Fixes #1085
2020-02-26 15:13:31 -08:00
Andrey Lushnikov
4ab880175a
chore: fix lint
2020-02-26 14:08:21 -08:00
Pavel Feldman
d20f3cac89
feat(webkit): no start window, healthy pipe ( #1113 )
2020-02-26 13:02:15 -08:00
Dmitry Gozman
672f3f9960
feat(popups): introduce BrowserContext.setDefaultHTTPHeaders ( #1116 )
2020-02-26 12:42:20 -08:00
Yury Semikhatsky
4f69930fbe
fix(chromium): make locale overrides work ( #1108 )
2020-02-26 11:01:46 -08:00
Pavel Feldman
3afaeef557
feat(socket): destroy contexts upon disconnect ( #1119 )
2020-02-26 11:01:01 -08:00
Dmitry Gozman
dcdc7db158
feat(chromium): use no-startup-window to not create default context ( #1106 )
2020-02-25 11:43:17 -08:00
Pavel Feldman
ebcaadedf1
feat(log): log only user api calls with DEBUG=pw:api ( #1029 )
2020-02-25 07:09:27 -08:00
Dmitry Gozman
d97ea70804
chore: move more injected code to injected to reduce evaluation size ( #1093 )
2020-02-25 07:06:20 -08:00
Dmitry Gozman
ba29470cc1
fix(api): rename relativePoint to offset, remove unused parameters from input ( #1092 )
2020-02-24 21:12:02 -08:00
aesyondu
fdfec8eb2a
fix(platform) instanceof bug between execution contexts of RegExp object ( #1048 )
...
First encountered at jest-playwright repo:
https://github.com/mmarkelov/jest-playwright/issues/38
Solution based on:
https://stackoverflow.com/questions/4339288/typeof-for-regexp#comment4724685_4339350
2020-02-24 18:32:17 -08:00
Dmitry Gozman
6acc439450
feat(api): move targets from CRBrowser to CRBrowserContext ( #1089 )
...
This makes them work for default context.
2020-02-24 14:35:51 -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
3677818202
fix(api): browser.serviceWorker -> target.serviceWorker ( #1076 )
2020-02-24 08:31:58 -08:00
Dmitry Gozman
1f8508d1ed
feat(waitFor): update various waitFor options to be a single boolean ( #1066 )
2020-02-22 09:16:28 -05:00
Dmitry Gozman
40164298a8
api: remove ElementHandle.visibleRatio ( #1069 )
2020-02-19 16:08:25 -08:00
Dmitry Gozman
33824aa1d7
feat(click): waitForInteractable option, defaults to true ( #934 ) ( #1052 )
2020-02-19 09:34:57 -08:00