Commit Graph

1406 Commits

Author SHA1 Message Date
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 b1bebdad2e.
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
Andrey Lushnikov
a74e23a257
feat: support PLAYWRIGHT_GLOBAL_INSTALL=1 env variable (#1470)
You can install playwright with

```
PLAYWRIGHT_GLOBAL_INSTALL=1 npm i playwright
```

to make it use a single shared location for all browser
downloads.

Fixes #1102
2020-03-23 12:49:53 -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
Arjun Attam
a570290740
docs(examples): update main readme to point to examples + add a file uploads example (#1484) 2020-03-23 10:39:43 -07:00
Pavel Feldman
9826fd652e
browser(firefox): disable update, setting sync and other non-testing features (#1480) 2020-03-22 23:52:59 -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
049fdf708c
browser(firefox): implement Browser.addBinding (#1477) 2020-03-22 21:10:00 -07:00
Pavel Feldman
c68cee9fb7
feat(offline): implement offline in firefox (#1476) 2020-03-22 15:34:30 -07:00
Pavel Feldman
ac5852f302
browser(firefox): implement offline emulation (#1475) 2020-03-22 13:51:49 -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
Max Schmitt
93954fe919
chore: fix .local-browsers path into .gitignore (#1464) 2020-03-21 21:53:32 -07:00
Dmitry Gozman
fb7b919bd4
browser(firefox): make interception, locale and geolocation work on browser context level (#1469) 2020-03-21 21:35:13 -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
Arjun Attam
9e9584441c
docs(troubleshooting): add dependencies for firefox and webkit (#1461) 2020-03-21 17:58:08 -07:00
Dmitry Gozman
ac02a6b69c
browser(firefox): issue Page.ready at the right time (#1462)
This covers new pages and popups. Special handling is needed for window.open() with no url.
2020-03-21 17:56:15 -07:00
Dmitry Gozman
670ce7a591
chore: remove various watchers, use FrameTask directly (#1460) 2020-03-21 13:02:37 -07:00
Arjun Attam
00c27ea348
docs(readme): fix link to examples 2020-03-21 12:26:43 -07:00
Arjun Attam
6df17c69e2
docs(examples): setup get started with examples guide (#1441) 2020-03-21 12:05: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
Andrey Lushnikov
96c9c81581
browser(firefox): fix bug in Juggler with clashing method names (#1456) 2020-03-20 19:35:58 -07:00
Pavel Feldman
e210e5601c
feat(lang): emulate language on firefox (#1453) 2020-03-20 19:32:27 -07:00
Andrey Lushnikov
21630d6de4
devops: strictly configure build folder for Firefox builds (#1454)
This strictly defines Firefox build folder as `obj-build-playwright`.

Currently, Firefox build folder encodes current Mac OS version including
patch versions, and thus we might end up with multiple different build
folders.
2020-03-20 19:24:38 -07:00
Pavel Feldman
c539325615
feat(geo): implement geo override in ff (#1438) 2020-03-20 19:17:46 -07:00
Pavel Feldman
840e69b85c
browser(firefox): emulate language (#1452)
1e29e6f231
2020-03-20 17:03:20 -07:00
Pavel Feldman
5fc1a04412
browser(webkit): manager permissions on the proxy level (#1450) 2020-03-20 16:42:03 -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
053bab1afd
browser(webkit): correctly detect Promise created in another window (#1446) 2020-03-20 15:53:04 -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
Pavel Feldman
fcdfa9ca24
browser(firefox): implement geolocation overrides (#1437) 2020-03-20 11:14:42 -07:00
Joel Einbinder
fa02b841a9
test(types): add test for types (#1445) 2020-03-20 10:40:02 -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
f1d97b0466
chore(docs): remove remaining mentions of Chromium targets (#1435) 2020-03-19 20:25:31 -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
Yury Semikhatsky
c6696746dc
feat(chromium): roll Chromium to 751710 (#1434) 2020-03-19 14:55:40 -07:00
Dmitry Gozman
ea99908bf4
fix(eval): adopt nested handles (#1430)
We were only adopting top-level handles in FrameExecutionContext. Now we do that universally.
2020-03-19 13:07:33 -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
Joel Einbinder
b0749e3a6d
fix(docs): fixup and lint optionals and return values in api.md (#1376)
Currently in our API `?` means null, but sometimes it means optional. Linting optional/nulls with this patch is required for #1166 to land nicely.

Previously, return types were not being linted in `api.md`. This is fixed, along with many broken return types.

This patch considers `?` to mean nullable, and has some heuristics to determine optionality. I believe this to be the minimal patch needed to unblock #1166. After it lands, we can consider changing the api docs to hopefully remove some heuristics and strangeness.
2020-03-18 16:23:25 -07:00
Joel Einbinder
741e2d19d6
fix(docs): lint and fix all internal links in api.md
We have had a lot of churn in the api, which has caused a lot of our links to break.
2020-03-18 15:34:53 -07:00