Dmitry Gozman
c01ad84bd4
fix(fill): use isVisible to be consistent with waitForSelector ( #1539 )
...
Fixes #1442 .
2020-03-25 14:40:42 -07:00
Dmitry Gozman
60942d0af5
chore(selectors): move selectors logic to selectors.ts ( #1536 )
...
This encapsulates selectors logic in one place, in a preparation for more complex scenarios like main-world selectors or piercing frames.
Note: we had `Page.fill should wait for visible visibilty` test, but we do not actually wait for visible in page.fill(). It happened to pass due to lucky evaluation order.
References #1316 .
2020-03-25 14:08:46 -07:00
Pavel Feldman
ef9e04d399
fix(permissions): fix notifications permissions on firefox ( #1531 )
2020-03-25 11:52:50 -07:00
Yury Semikhatsky
2d5b701662
test(firefox): fix should close browser with beforeunload page ( #1532 )
2020-03-25 08:29:29 -07:00
Pavel Feldman
5bde0b59b5
feat(auth): fix firefox auth flake ( #1525 )
2020-03-24 23:12:07 -07:00
Dmitry Gozman
4f89e4031c
test: fix flaky interception test ( #1508 )
2020-03-24 09:08:29 -07:00
Yury Semikhatsky
7efff97753
fix(chromium): properly handle failures to set override ( #1498 )
2020-03-23 17:23:47 -07:00
Pavel Feldman
c0c9b7f137
test: make debugp collect IO (take 2) ( #1493 )
2020-03-23 15:08:02 -07:00
Yury Semikhatsky
afbc2f272a
test(firefox): enable passing "userDataDir option should restore cookies" ( #1487 )
2020-03-23 14:59:29 -07:00
Dmitry Gozman
de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter ( #1490 )
2020-03-23 13:51:11 -07:00
Yury Semikhatsky
45a175d8fe
fix(chromium): ignore lifecycle events for the initial empty page ( #1486 )
2020-03-23 13:50:04 -07:00
Pavel
1ddf05113b
Revert "test: make debugp collect IO ( #1485 )"
...
This reverts commit b1bebdad2e22daf2a49a24d2134905650d8e264c.
2020-03-23 13:48:22 -07:00
Pavel Feldman
b1bebdad2e
test: make debugp collect IO ( #1485 )
2020-03-23 13:42:51 -07:00
Dmitry Gozman
15fddb5177
api(click): rename offset to position ( #1488 )
...
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -07:00
Pavel Feldman
15ebe1c339
feat(exposeFunction): implement context-level expose on firefox ( #1478 )
2020-03-22 22:45:15 -07:00
Pavel Feldman
23e5d80e06
test: uncomment slow ff tests ( #1479 )
2020-03-22 22:16:39 -07:00
Pavel Feldman
c68cee9fb7
feat(offline): implement offline in firefox ( #1476 )
2020-03-22 15:34:30 -07:00
Dmitry Gozman
6e8895fa08
fix(firefox): make interception, locale and geolocation work on browser context level ( #1472 )
2020-03-22 08:56:50 -07:00
Dmitry Gozman
3f90c09e6d
tests: mark popup tests as passing on Firefox ( #1466 )
2020-03-21 19:56:33 -07:00
Pavel Feldman
1b08797c6f
tests(ff): uncomment a couple of firefox tests ( #1465 )
2020-03-21 17:58:33 -07:00
Dmitry Gozman
670ce7a591
chore: remove various watchers, use FrameTask directly ( #1460 )
2020-03-21 13:02:37 -07:00
Dmitry Gozman
60a248ef42
test: add test for Map as eval argument ( #1457 )
2020-03-20 21:24:34 -07:00
Yury Semikhatsky
34cc358ad3
tests(webkit): reenable should await promise from popup ( #1447 )
2020-03-20 21:22:48 -07:00
Dmitry Gozman
e115e8e2a9
tests: mark tests that launch() twice or use fixtures as slow ( #1455 )
2020-03-20 19:49:35 -07:00
Pavel Feldman
5a42cbd491
fix(permissions): manage permissions on the proxy level in webkit ( #1451 )
2020-03-20 19:45:35 -07:00
Pavel Feldman
e210e5601c
feat(lang): emulate language on firefox ( #1453 )
2020-03-20 19:32:27 -07:00
Pavel Feldman
c539325615
feat(geo): implement geo override in ff ( #1438 )
2020-03-20 19:17:46 -07:00
Yury Semikhatsky
bae56ea9d3
fix(chromium): support main resource request interception for popups ( #1449 )
2020-03-20 16:13:42 -07:00
Yury Semikhatsky
4320d4ba83
test: fix link navigation test so that it passes in Chromium ( #1448 )
2020-03-20 15:45:20 -07:00
Dmitry Gozman
16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions ( #1431 )
2020-03-20 15:08:17 -07:00
Joel Einbinder
825555cddf
types: better types ( #1166 )
...
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.
Now types
- only include the public api
- work with older versions of typescript
- include descriptions
- are more consistent
- are more complete
#6
2020-03-20 01:30:35 -07:00
Yury Semikhatsky
535b484637
api(context): get rid of PageEvent ( #1433 )
2020-03-19 16:25:12 -07:00
Yury Semikhatsky
3ed9970b33
api(chromium): add ChromiumBrowserContext.serviceWorkers() ( #1416 )
2020-03-19 16:10:24 -07:00
Andrey Lushnikov
f5ecbff16e
devops: remake downloading logic ( #1419 )
...
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
turned out to be ill-behaving and cannot not be used as we'd like to (see #1085 )
- adds a `browserType.setExecutablePath` method to set a browser
exectuable.
With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
Pavel Feldman
2af07ce475
chore: rework disposers into a frame task ( #1413 )
2020-03-18 20:05:35 -07:00
Dmitry Gozman
7bd924673a
fix(PageEvent): properly wait for initial navigation in chromium and webkit ( #1412 )
2020-03-18 17:14:18 -07:00
Dmitry Gozman
dd850ada89
api(eval): allow non-toplevel handles as eval arguments ( #1404 )
2020-03-18 10:41:46 -07:00
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
Darío Kondratiuk
840146273e
test(web): Remove unused variable ( #1410 )
2020-03-17 09:05:33 -07:00
Dmitry Gozman
aa32d351be
fix(tests): remove flaky load event from auto-waiting tests ( #1399 )
...
We do not guarantee that click resolves before load event comes.
Theoretically, inserting two tasks before resolving load should help,
but seems like a strange contract.
Drive-by: move auto waiting tests to a separate file.
2020-03-16 18:33:39 -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
e4991a1489
tests: add some failing page event tests ( #1394 )
2020-03-14 19:14:46 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession ( #1380 )
2020-03-13 16:16:54 -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
601d57a300
test: add a test for popup with window features ( #1381 )
2020-03-13 13:08:35 -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