Commit graph

574 commits

Author SHA1 Message Date
Joel Einbinder d3677357b8
feat(testrunner): take the first argument as the test root dir (#3423) 2020-08-12 20:01:13 -07:00
Pavel Feldman 962ddc09c4
test: consolidate runner files (#3415) 2020-08-12 13:47:44 -07:00
Pavel Feldman 7e07634cc6
test: use mocha in ci/cd (#3406) 2020-08-12 11:48:30 -07:00
Pavel Feldman bfdb59eada
test: make mocha runner work in parallel (#3383) 2020-08-11 10:57:30 -07:00
Pavel Feldman 823ef86470
test: add support for mocha (#3376) 2020-08-10 20:10:39 -07:00
Dmitry Gozman 3179e71912
feat(rpc): in-process rpc on by default (#3104) 2020-08-10 14:18:58 -07:00
Pavel Feldman 6f09590c9a
test: restore nojest runner (#3359) 2020-08-08 19:43:00 -07:00
Pavel Feldman 5c0b88fb10
feat(test): add dot report for aslushnikov (#3317) 2020-08-05 21:18:20 -07:00
Pavel Feldman 4956054a0f
test: bump jest to 26.2 - per-test progress, slow thresholds (#3314) 2020-08-05 14:17:17 -07:00
Andrey Lushnikov 83539d1ab5
chore: cut v1.3.0-post (#3309) 2020-08-05 12:32:56 -07:00
Dmitry Gozman 126b1f79d4
feat(rpc): run doclint against rpc client (#3260) 2020-07-31 17:00:36 -07:00
Dmitry Gozman 6297f86cfa
feat(rpc): run generate-channels during lint (#3238) 2020-07-30 15:08:21 -07:00
Dmitry Gozman 6cb1e03713
feat(rpc): disallow deps into rpc client from outside (#3199)
For this, common converters are extracted from rpc serializers.
2020-07-28 15:33:38 -07:00
Dmitry Gozman e406119f0c
chore: add check_deps script (#3182)
This will be used to disallow cross-directory imports,
for example from impl to rpc.
2020-07-27 13:02:28 -07:00
Andrey Lushnikov 20b7cff935
fix: update jpeg-js version (#3179) 2020-07-27 10:39:59 -07:00
Dmitry Gozman 68c4f79b02
feat(rpc): convert protocol to yaml (#3102) 2020-07-22 19:38:19 -07:00
Joel Einbinder 773ee08e9d
chore(test): restore api coverage checks (#3068)
* chore(test): restore api coverage checks

* try to catch the correct error on the bots

* try to trick github into taking the new code

* uninstall coverage

* dgozman comments
2020-07-22 09:08:10 -07:00
Yury Semikhatsky 6e75533c63
chore: respect jest params in npm run wtest (#3085) 2020-07-22 08:57:54 -07:00
Pavel Feldman 9d9801192e
test: wire test commands to jest (#3014) 2020-07-17 16:09:27 -07:00
Dmitry Gozman 4c8ba3ed67
chore: remove cli (#2976)
It will be a separate package instead.
2020-07-16 13:13:26 -07:00
Pavel Feldman ecc130c644
test: convert evaluation.spec to jest+fixtures (#2968) 2020-07-16 11:18:38 -07:00
Pavel Feldman 19cd96c46a
test: add the jest-circus experimental runner (#2962) 2020-07-15 16:52:41 -07:00
Pavel Feldman d561465214
devops: use matrix in GHA, add non-linux rpc (#2907) 2020-07-10 13:15:57 -07:00
Yury Semikhatsky b93e0994bc
browser(webkit, firefox): bump versions (#2866) 2020-07-08 17:10:33 -07:00
Joel Einbinder 040c6a6a41
chore(jest): run tests with jest (#2754)
Experimentally run `npx jest` to run our tests with jest.
2020-07-08 11:13:18 -07:00
Joel Einbinder 8611ee8df7
chore(testrunner): typescript test files (#2751)
This lets our spec files be .ts instead of just .js. The typescript files will be checked against the public types. Tests are compiled with babel just in time before running them, emulating the jest experience. TypeScript tests are also linted with eslint.

I converted keyboard.spec.js as the first demo. I'll follow up converting some more more tests.
2020-07-08 00:20:36 -07:00
Joel Einbinder 6ed8b5fcc6
chore(eslint): lint for copyrights on files (#2858) 2020-07-07 11:12:45 -07:00
Andrey Lushnikov ef125e13e2
chore: cut v1.2 (#2850) 2020-07-06 15:12:03 -07:00
Dmitry Gozman 5c4751d5dd
chore: generate protocol during browser roll (#2719)
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.

This makes our installation very shallow:
- build installer;
- download browsers.
2020-07-01 15:22:29 -07:00
Andrey Lushnikov 922cbe6718
chore: roll https-proxy-agent to v5 (#2777)
Co-authored-by: Luke Edwards <luke.edwards05@gmail.com>
2020-06-30 17:03:01 -07:00
Pavel Feldman f2c47b1d33
feat(cli): introduce basic playwright CLI tool (#2571) 2020-06-14 17:24:45 -07:00
Andrey Lushnikov d5c55749d8
chore: cut v1.1.0-post version (#2491) 2020-06-05 18:18:58 -07:00
Pavel Feldman fb058ffe0d
feat(proxy): allow specifying proxy (#2485) 2020-06-05 13:50:15 -07:00
Andrey Lushnikov 505d94ab1a
chore: drop dependency on playwright-core in all our packages (#2318)
This patch:
- drops dependency on playwright-core in all our packages. Instead of
  the dependency, packages are now built with `//packages/build_package.sh`
  script.
- unifies `browsers.json` - now there's a single `//browsers.json` file
  that is used to manage browser revisions.

This patch temporary switches canary publishing to `--dryn-run` from CI/CD so that we
can verify that it does sane things.

We'll unify all our package management scripts under `//packages/` in a
follow-up.

Fixes #2268
2020-05-21 13:18:15 -07:00
Pavel Feldman ffe7084652
feat(electron): experimental electron support (#2166) 2020-05-11 18:00:33 -07:00
Pavel Feldman c5b0baacd1
chore: remove main index.js from playwright-core (#2178) 2020-05-11 09:38:09 -07:00
Tobias Hernstig d39ec35cd7
chore: Add "homepage" to package.json (#2127) 2020-05-07 12:31:59 -07:00
Andrey Lushnikov 7a01bb1f33
chore: bump package.json version to v1.0.0-post (#2128) 2020-05-06 12:13:23 -07:00
Pavel Feldman 41de5bc388 Revert "chore: mark v0.18.0 (#2122)"
(should go only into branch)
This reverts commit 19e8c327ba.
2020-05-05 16:55:55 -07:00
Pavel Feldman 19e8c327ba
chore: mark v0.18.0 (#2122) 2020-05-05 16:52:54 -07:00
Pavel Feldman da903cb5bb chore: cut v0.18.0-post version 2020-05-05 15:07:44 -07:00
Andrey Lushnikov 6eabb95b49
chore: cut v0.17.0-post (#2095) 2020-05-04 12:15:20 -07:00
Andrey Lushnikov 28bbd93f40
chore: cut v0.16.0 (#2065) 2020-04-30 17:41:03 -07:00
Pavel Feldman 2cdf297245
chore: remove uncompiled download-browser (#2018) 2020-04-28 17:06:01 -07:00
Pavel Feldman d52bd92983
chore: read browser revisions off browsers.json (#2009) 2020-04-28 10:37:23 -07:00
Pavel Feldman e534568736
feat(chromium): roll back to r760827 to make headful happy (#2010) 2020-04-27 23:02:30 -07:00
Yury Semikhatsky f58d909db4
fix(firefox): use separate processes for pages in different contexts (#1976) 2020-04-27 10:13:43 -07:00
Pavel df7338c2ce Revert "chore: cut v1.0.0-post (#1966)"
This reverts commit 7afceeb5a6.
2020-04-27 10:05:11 -07:00
Yury Semikhatsky f9bd1d0720
fix(webkit): fix blob downloads on mac (#1972) 2020-04-25 08:46:58 -07:00
Pavel Feldman b60c006c63
chore: simplify and restructure downloads (#1974) 2020-04-24 19:14:10 -07:00
Andrey Lushnikov 7afceeb5a6
chore: cut v1.0.0-post (#1966) 2020-04-24 15:02:25 -07:00
Andrey Lushnikov 5146dfc74b
chore: cut v0.15.0 (#1957) 2020-04-23 20:26:18 -07:00
Andrey Lushnikov 9415dc2216
feat(chromium): roll Chromium to r762211 (#1956)
Just a healthy roll.
2020-04-23 20:21:48 -07:00
Yury Semikhatsky 7c9762fae9
fix: support blob downloads (#1954) 2020-04-23 20:04:19 -07:00
Joel Einbinder f11113f364
feat(firefox): roll to 1085 (#1951) 2020-04-23 14:40:05 -07:00
Andrey Lushnikov 2637805ace
feat(webkit): roll to 1208 (#1948) 2020-04-23 14:20:59 -07:00
Pavel Feldman fa6f738e4c
feat(browser): roll webkit to r1205 (#1922) 2020-04-22 14:50:56 -07:00
Yury Semikhatsky b7afbf819f
fix(webkit): ignore WebSocket certificate errors on Mac (#1900) 2020-04-22 12:41:39 -07:00
Andrey Lushnikov 136173a93d
chore: cut v0.14.0 (#1913)
We will publish release from a branch.
2020-04-22 09:44:04 -07:00
Pavel Feldman 2320d9cbf3
feat(webkit): roll to r1201 (#1897) 2020-04-20 22:25:44 -07:00
Pavel Feldman 47c384112c
chore: bring back DEBUG= logging (#1891) 2020-04-20 20:00:55 -07:00
Andrey Lushnikov 1dff8e818a
chore: bump minimist dependency (#1866) 2020-04-20 16:49:23 -07:00
Yury Semikhatsky fb45c75b98
feat(webkit): simulate device orientation events (#1852) 2020-04-20 14:43:44 -07:00
Pavel Feldman 1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Pavel Feldman 39c9a45219
feat(firefox): roll to r1084 (#1850) 2020-04-17 15:09:48 -07:00
Mathieu 'p01' Henri e8bf5fd928
Update pngjs and jpeg-js dependencies (#1845) 2020-04-17 08:44:33 -07:00
Yury Semikhatsky 55c01da005
fix(firefox): fire "requestfailed" event on network errors (#1817) 2020-04-16 13:35:16 -07:00
Andrey Lushnikov 26018aae25
feat(chromium): roll Chromium to r759486 (#1823)
This roll includes:
- https://crrev.com/759486 - devtools(protocol): Input.dispatchMouseEvent to properly find target widget host

Fixes #1240
2020-04-16 09:38:28 -07:00
Joel Einbinder 69a9867e9e
feat(webkit): roll to 1197 (#1820) 2020-04-16 09:37:19 -07:00
Pavel Feldman 0426354451
feat(firefox): roll to r1082 (#1819) 2020-04-15 19:50:04 -07:00
Yury Semikhatsky 041406a664
fix(firefox): enable remaining focus tests (#1803) 2020-04-15 18:44:38 -07:00
Andrey Lushnikov 52fe02eea6
devops: enforce strict treatment of unhandled rejections (#1789)
Run all our tests with node.js flag `--unhandled-rejections=strict`.
2020-04-14 22:40:33 -07:00
Yury Semikhatsky b232e004f5
fix(firefox): make ElementHandle.scrollIntoViewIfNeeded pass (#1786) 2020-04-14 18:24:17 -07:00
Yury Semikhatsky 1c1d81cf3a
fix(firefox): make scroll&click tests pass (#1760) 2020-04-13 18:30:00 -07:00
Pavel Feldman 9249f33709
feat(webkit): roll WebKit, migrate to Playwright.exe (#1749) 2020-04-10 21:02:28 -07:00
Yury Semikhatsky d0c19e531d
feat(firefox): update to 1076 (#1734) 2020-04-09 19:03:59 -07:00
Yury Semikhatsky 775604d140
feat(webkit): update to 1190 (#1728) 2020-04-09 10:58:47 -07:00
Andrey Lushnikov b385ea8415
chore: bump version to v0.13.0-post (#1721) 2020-04-08 17:30:45 -07:00
Andrey Lushnikov 17e645ad34
chore: mark version v0.13.0 (#1720) 2020-04-08 16:53:44 -07:00
Yury Semikhatsky 685f14d8ba
feat(firefox): update to 1075 (#1705) 2020-04-08 08:46:48 -07:00
Yury Semikhatsky a7ae205254
feat(firefox): support downloads (#1689) 2020-04-07 15:01:42 -07:00
Andrey Lushnikov 949dc7b514
chore: bump extract-zip dependency (#1696)
Fixes #1510
2020-04-07 14:56:30 -07:00
Andrey Lushnikov e15fc08d46
chore: migrate node types to 10.17.17 (#1690) 2020-04-07 07:40:57 -07:00
Pavel Feldman 3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Dmitry Gozman 5673fd7040
feat(firefox): bump to 1071 (#1670) 2020-04-05 08:59:25 -07:00
Pavel Feldman 17039f1649
fix(webkit): fix non-mac screenshots w/ dsf (#1665) 2020-04-03 21:54:43 -07:00
Yury Semikhatsky bebce8faa0
feat(webkit): bump version to 1187 (#1646) 2020-04-03 12:32:58 -07:00
Pavel Feldman 75571e8eb8
feat(downloads): support downloads on cr and wk (#1632) 2020-04-02 17:56:14 -07:00
Joel Einbinder a1f22aae2c
chore: upgrade typescript to 3.8.3 (#1641) 2020-04-02 11:05:53 -07:00
Yury Semikhatsky 7c2ddc2e00
feat(firefox): support timezone override (#1578) 2020-04-01 22:10:56 -07:00
Pavel Feldman e241c1bef8
chore: remove web mode (#1625) 2020-04-01 14:42:47 -07:00
Yury Semikhatsky c218d8c25f
fix(firefox): isolate ignoreHTTPSErrors setting between contexts (#1617) 2020-04-01 12:59:48 -07:00
Pavel Feldman dd4fe906d9
feat(webkit): roll WebKit to r1185 (#1611) 2020-03-31 13:36:43 -07:00
Pavel Feldman 307b33ab7d
feat(chromium): roll to r754895 (#1610) 2020-03-31 13:23:08 -07:00
Joel Einbinder d130479e3c
feat(webkit): roll webkit to 1184 (#1570) 2020-03-30 14:49:40 -07:00
Dmitry Gozman 72ae3a9165
feat(firefox): emulate device size (#1565) 2020-03-26 21:40:38 -07:00
Yury Semikhatsky 59fa2cba90
test(firefox): enable locale tests (#1562) 2020-03-26 18:14:38 -07:00
Andrey Lushnikov b24262b46f
feat(browser): roll Firefox to r1059 (#1551)
This fixes flaky user gesture in evaluation.
2020-03-26 01:16:07 -07:00
Andrey Lushnikov f2d72b3d95
test: enable flaky worker tests on Firefox (#1548)
Drive-by: remove dead websocket test.
2020-03-25 22:46:27 -07:00
Yury Semikhatsky 89e123b708
test(firefox): enable CSP tests that use new Function() (#1542) 2020-03-25 17:49:07 -07:00
Dmitry Gozman 6ee7852f0f
chore: update release guide and helper script (#1521) 2020-03-25 13:15:29 -07:00
Pavel Feldman ef9e04d399
fix(permissions): fix notifications permissions on firefox (#1531) 2020-03-25 11:52:50 -07:00
Pavel Feldman 5bde0b59b5
feat(auth): fix firefox auth flake (#1525) 2020-03-24 23:12:07 -07:00
Andrey Lushnikov dc7d221722
chore: bump version to v0.12.1-post (#1516) 2020-03-24 12:08:02 -07:00
Andrey Lushnikov a7ca2fef09
chore: mark version v0.12.1 (#1515) 2020-03-24 11:28:07 -07:00
Dmitry Gozman ed6e0d5513
chore: bump version to v0.12.0-post (#1512) 2020-03-24 10:46:35 -07:00
Dmitry Gozman 08b94ee67b
chore: mark version v0.12.0 (#1497) 2020-03-24 10:40:02 -07:00
Andrey Lushnikov b778789ba8
feat: re-make global browser installation (#1506)
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.

You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.

Fixes #1102
2020-03-24 00:08:00 -07:00
Pavel Feldman e139d4cae7
feat(firefox): roll to 1051 (#1494) 2020-03-23 14:55:11 -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
Pavel Feldman 15ebe1c339
feat(exposeFunction): implement context-level expose on firefox (#1478) 2020-03-22 22:45:15 -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 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
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 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 c6696746dc
feat(chromium): roll Chromium to 751710 (#1434) 2020-03-19 14:55:40 -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 e4225adcc0
feat(permissions): make origin optional (#1406) 2020-03-17 15:32:50 -07:00
Pavel Feldman 951126a58a
feat(chromium): roll Chromium to r750417 (#1398) 2020-03-14 19:32:26 -07:00
Pavel Feldman 11c3c117de feat(webkit): roll webkit to r1179 2020-03-11 21:19:56 -07:00
Andrey Lushnikov f92c95c1bf
feat(firefox): roll Firefox to r1042 (#1357) 2020-03-11 19:03:19 -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
Andrey Lushnikov 071ee06404
chore: normalize NPM scripts (#1285)
This patch:
- makes `npm run cunit/wunit/funit` and `npm run ctest/ftest/wtest` run
browser-specific tests only
- makes `npm run unit` and `npm run test` run *all* browser tests
- runs *all* our infrastructure tests as part of `npm run lint`

As a result, if there's one test to be tested across all three browsers,
you can focus it and do `npm run test`;
2020-03-07 17:09:38 -08:00
Andrey Lushnikov e78f0f71df
feat(firefox): roll Firefox to r1041 (#1281) 2020-03-07 08:42:33 -08:00
Dmitry Gozman aee6324bba
feat(firefox): roll firefox (#1273) 2020-03-06 16:49:48 -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
Pavel Feldman c734b4b715
feat(click): start wire auto-waiting click in firefox (#1233) 2020-03-05 14:47:04 -08:00
Dmitry Gozman 6fb5168fb2
feat(chromium): roll Chromium to v747023 (#1227) 2020-03-04 17:39:29 -08:00
Andrey Lushnikov 82baf61b19
feat(webkit): roll webKit to r1168 (#1224)
Hopefully this will fix our CI crashes!
2020-03-04 14:15:34 -08:00
Dmitry Gozman dbfeda28a0
feat(webkit): roll to 1167 (#1221) 2020-03-04 12:11:43 -08:00
Andrey Lushnikov 14a7d1c656
chore: bump proxy-from-env dependency (#1210)
Fixes #1184
2020-03-04 11:02:50 -08:00
Yury Semikhatsky 771793f418
test(context): test that context.close() works for empty context (#1205) 2020-03-03 23:04:08 -08:00
Yury Semikhatsky 4a9a155838
test: enable page opener test on WebKit (#1193) 2020-03-03 14:11:17 -08:00
Andrey Lushnikov 57c45f0d1f
fix: properly publish all packages on travis (#1187) 2020-03-02 17:40:48 -08:00
Andrey Lushnikov eb1a9eb2cc chore: rename prepare.js into install-from-github.js
This is what it actually does.
2020-02-28 17:37:05 -08:00
Dmitry Gozman 82a4ede6dc
chore: roll Chromium to 745253 (#1156) 2020-02-28 09:02:26 -08:00
Dmitry Gozman 7682865d73
feat(popups): add BrowserContext.evaluateOnNewDocument (#1136) 2020-02-27 16:18:33 -08:00
Yury Semikhatsky 6b6a671754
fix(webkit): pass popup tests (#1138) 2020-02-27 08:43:01 -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
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 30a4d0e797
feat(webkit): roll to v1155 (#1104) 2020-02-25 08:51:50 -08:00
Joel Einbinder b50e8b377f
chore: fix doclint tests (#1098)
This fixes the doclint tests so that `npm test` works. It also adds all the browsers to npm test.

Fixes #8
2020-02-24 18:24:02 -08:00
Andrey Lushnikov 0ded511d0b
feat(testrunner): better matchers (#1077)
This patch re-implements matching and reporting for test runner.
Among other improvements:
- test failures now show a short snippet from test
- test failures now explicitly say what received and what was expected
- `expect.toBe()` now does text diff when gets strings as input
- `expect.toEqual` now does object diff
2020-02-20 22:55:39 -08:00
Joel Einbinder 8cfdeb99bd
chore: mark v0.11.1-post (#1027) 2020-02-14 19:23:50 -08:00
Joel Einbinder 2037e01b06
chore: mark v0.11.1 (#1025) 2020-02-14 19:13:08 -08:00
Pavel Feldman b1520f7cc5
feat(webkit): roll webkit to r1151 (#1021) 2020-02-14 19:09:51 -08:00
Andrey Lushnikov 39c580a9b1
chore: bump version to 0.11.0-post (#1001) 2020-02-13 19:10:03 -08:00
Andrey Lushnikov f9887e073d
chore: mark version 0.11.0 (#1000) 2020-02-13 18:56:54 -08:00
Yury Semikhatsky e744c533e1
chore(webkit): bump webkit version to 1150 (#991) 2020-02-13 14:15:29 -08:00
Dmitry Gozman 2e0d89e25c
fix(firefox): roll to 1029 and unskip passing tests (#984) 2020-02-13 13:19:25 -08:00
Pavel Feldman 8abf35c8e4
feat(webkit): roll webkit to 1148 (#971) 2020-02-12 21:25:17 -08:00
Andrey Lushnikov c19a7bef07 chore: remove stub types definition
jpeg.js provides their own types - no need to import @types
version.
2020-02-12 17:46:21 -08:00
Pavel Feldman 012bf671b8
feat(webkit): emulate timezone on webkit (#968) 2020-02-12 17:02:59 -08:00
Dmitry Gozman 1d84f38e5e
fix(input): ensure input works as expected with page scale (#962) 2020-02-12 16:13:21 -08:00
Joel Einbinder ee9748ba2f
feat(chromium): roll chromium to r740847 (#964)
Notable patch:
- DevTools: Don't interrupt for Runtime.callFunctionOn, Runtime.runScript - https://chromium-review.googlesource.com/c/chromium/src/+/2050850 

This roll should unflake Chromium workers.
2020-02-12 16:04:01 -08:00
Andrey Lushnikov 79c47633b7
feat(webkit): roll to r1145 (#954)
References #942
2020-02-12 13:52:31 -08:00
Dmitry Gozman 5f24205922
test: add a test for interception + service worker (#951) 2020-02-12 13:02:27 -08:00
Pavel Feldman d05feec740
feat(active): emulate active state on webkit (#941) 2020-02-11 19:10:57 -08:00
Dmitry Gozman da30847c83
feat(firefox): apply emulation to all pages in the browser context (#931) 2020-02-11 18:52:01 -08:00
Andrey Lushnikov 451ec729b4
feat(chromium): roll Chromium to r740289 (#936) 2020-02-11 15:25:59 -08:00
Pavel Feldman 49eea19477
feat(webkit): roll webkit to 1141 (#922) 2020-02-10 20:04:39 -08:00
Andrey Lushnikov 9da0229fd3
chore: bump rimraf to 3.0.2 (#916)
Fixes #808
2020-02-10 11:27:27 -08:00
Pavel Feldman 4d84e35096
fix(upload): detect mime type from file extension (#911) 2020-02-10 10:08:51 -08:00
Pavel Feldman d71c9e03d7
feat(webkit): roll webkit to r1140 (#904) 2020-02-07 17:08:37 -08:00
Pavel Feldman 0ed43e8781
feat(webkit) await the reading from pipe message (#894) 2020-02-07 10:52:59 -08:00
Pavel Feldman d397bb1bc3
feat(chromium): roll chromium to r739261 (#885) 2020-02-06 21:23:28 -08:00
Pavel Feldman fe2431e34b
feat(webkit): roll webkit to r1137 (#884) 2020-02-06 21:06:55 -08:00
Dmitry Gozman c33a12d8f0
feat(firefox): ensure that new pages get browser context userAgent option (#872) 2020-02-06 19:01:03 -08:00
Andrey Lushnikov fa6a5edb31 chore: fix typo in aliases 2020-02-05 17:42:34 -08:00
Andrey Lushnikov 177a1d43b3
chore: add "unit", "wunit" and "funit" aliases (#859)
These are faster to type on the split keyboard :-[
2020-02-05 17:37:44 -08:00
Joel Einbinder 4be39f8af0
chore(types): upgrade to typescript 3.7.5 (#855) 2020-02-05 16:53:36 -08:00
Andrey Lushnikov 6dc88bcb85
feat(webkit): roll WebKit to r1134 (#835) 2020-02-04 19:32:22 -08:00
Andrey Lushnikov fce3842011
chore: bump version to 0.10.0-post (#796) 2020-01-31 18:46:34 -08:00
Andrey Lushnikov 6a97216fff
chore: mark version 0.10.0 (#795) 2020-01-31 18:40:44 -08:00
Joel Einbinder fd3a93084c
fix(webkit): roll webkit to 1127 (#775) 2020-01-30 17:24:23 -08:00
Joel Einbinder 83b5d893ae
fix(firefox): roll firefox to 1021 (#769) 2020-01-30 14:59:22 -08:00
Joel Einbinder 13445962f6
feat(chromium): roll to r737027 (#771) 2020-01-30 14:51:36 -08:00
Pavel Feldman ce7219870b
feat(webkit): roll webkit to 1124 (#736) 2020-01-29 19:13:44 -08:00
Joel Einbinder 9a126da6f3
feat: lower the engine requirement to node 10.15.0 (#750)
Some people are still on 10.15, like the Google cloud. We can relax our supported node version a little bit to support them.
2020-01-29 11:58:29 -08:00
Pavel Feldman 492304be41
feat(firefox): roll firefox to r1020 (#735)
Fixes #705
2020-01-28 22:10:12 -08:00
Joel Einbinder 184b25ff7b
chore: windows bots via github actions (#678)
Mac will come in a follow up!

As a drive-by, removed npm build everywhere, because npm install already runs build.
2020-01-28 18:04:51 -08:00
Yury Semikhatsky 89a93113f0
chore(webkit): bump webkit revision to 1120 (#727) 2020-01-28 16:17:40 -08:00
Pavel Feldman 09e97afd22
feat(wk,ff): amend method & postData upon continue (#703)
Fixes #668
2020-01-28 14:29:46 -08:00
Dmitry Gozman 324874962c fix(webkit): make frames detect their initial load state (#690) 2020-01-28 13:05:38 -08:00
Andrey Lushnikov bd726ee499 chore: bump version to v0.9.24-post 2020-01-27 17:26:23 -08:00
Andrey Lushnikov 3e40b4e9d3 chore: mark version 0.9.24 2020-01-27 17:23:53 -08:00
Andrey Lushnikov ee9c2b0c41 chore: bump version to v0.9.23-post 2020-01-27 14:08:14 -08:00
Andrey Lushnikov 03e2754dce chore: mark version 0.9.23 2020-01-27 13:47:02 -08:00
Andrey Lushnikov d7beaa7068
chore: bump version to 0.9.22-post (#684) 2020-01-27 13:31:43 -08:00
Andrey Lushnikov 0a7005e6e9
chore: mark version v0.9.22 (#682) 2020-01-27 13:28:23 -08:00
Andrey Lushnikov 7f46a0980c feat(webkit): roll to r1011 (#659)
This roll fixes flakiness for the `Interception.setOfflineMode should
work` test. Follow-up to #656.
2020-01-26 13:50:50 -08:00
Pavel Feldman b4b7c5eeef
feat(webkit): enable user-data-dir tests for all platforms (#646)
Fixes #560
2020-01-24 17:42:24 -08:00
Yury Semikhatsky 5fdb3e2f2d chore(webkit): roll to 1111 (#644) 2020-01-24 16:30:38 -08:00
Joel Einbinder 74e9859b00 feat(firefox): roll to 1018 (#604) 2020-01-23 15:00:30 -08:00
Dmitry Gozman 23a668e3be
feat(firefox): support request interception (#571) 2020-01-23 10:38:28 -08:00
Joel Einbinder 7e8bce7911 chore: bump version to v0.9.21-post 2020-01-22 20:35:01 -08:00
Joel Einbinder 372a88fa30 chore: mark version v0.9.21 2020-01-22 20:32:32 -08:00
Joel Einbinder 3b26ae74a0 fix: prepublishOnly ran in the wrong order 2020-01-22 20:31:07 -08:00
Joel Einbinder ef2286cbb5
chore: mark version v0.9.20 (#578) 2020-01-22 20:29:22 -08:00
Joel Einbinder b1de6cec40
fix: clean lib folder before publishing (#577) 2020-01-22 20:25:52 -08:00
Dmitry Gozman 3269358ac8
feat(webkit): covert pipe to websocket when asked (#570) 2020-01-22 17:42:10 -08:00
Pavel Feldman bb4ae87c61 feat(webkit): roll webkit to 1106 (#573) 2020-01-22 17:34:34 -08:00
Andrey Lushnikov 5c5faf35a9 chore: bump version to 0.9.19-post 2020-01-21 18:38:39 -08:00
Andrey Lushnikov 11abcee1d8 chore: mark version v0.9.19 2020-01-21 18:35:14 -08:00
Andrey Lushnikov de77fcca8a chore: bump version to 0.9.18-post 2020-01-21 17:41:45 -08:00
Joel Einbinder fd4a1906d7 chore: mark version 0.9.18 (#554) 2020-01-21 17:29:33 -08:00
Joel Einbinder 4573cd3fec chore(packages): copy readme from root folder into packages/playwright (#552) 2020-01-21 17:24:47 -08:00
Joel Einbinder fa1d286d56
chore: npm packages (#525)
## playwright-chromium
- installs chromium
- exposes chromium api from playwright-core

## playwright-firefox
- installs firefox
- exposes firefox api from playwright-core

## playwright-webkit
- installs webkit
- exposes webkit api from playwright-core

## playwright-core
- downloads no browsers
- contains all of the js code
- designed for internal use

## playwright
- downloads all browsers
- exposes the entire api from playwright-core

## github
- downloads all browsers, generates protocol definitions, builds typescript
- exposes "playwright-core" api
2020-01-21 12:22:17 -08:00
Pavel Feldman 80c3b46a54
feat(websockets): implement support for ws on cr/wk (#542) 2020-01-21 11:48:48 -08:00
Pavel Feldman 614114241c chore: bump version to 0.9.17-post 2020-01-18 16:52:19 -08:00
Pavel Feldman eb79a6e611 feat(webkit): roll to r1102 2020-01-18 10:15:23 -08:00
Andrey Lushnikov bad6e7c149 feat(webkit): roll to r1101 2020-01-17 22:12:10 -08:00
Pavel Feldman def48e7da4 feat(chromium): roll to r733125 (#538) 2020-01-17 20:58:41 -08:00
Pavel Feldman 83d7493f66 chore: bump version to 0.9.16-post 2020-01-17 19:43:46 -08:00
Pavel Feldman 3645f47d38 chore: bump version to 0.9.15-post 2020-01-17 19:02:22 -08:00
Dmitry Gozman d64c38b586 feat(firefox): support workers (#532) 2020-01-17 17:51:02 -08:00
Andrey Lushnikov d51094105c feat(webkit): download both wpe and gtk together 2020-01-17 16:30:19 -08:00
Pavel Feldman e3f69149f1 chore: bump version to 0.9.13-post 2020-01-17 07:26:38 -08:00
Pavel Feldman dae6e7cabc feat(win): download win from CDN (#519) 2020-01-16 19:43:39 -08:00
Dmitry Gozman 82057ac610 test: make api coverage checker work (#517) 2020-01-16 17:46:50 -08:00
Dmitry Gozman 447d76d6cd
fix(firefox): assorted fixes to evaluation and remote objects (#511) 2020-01-16 15:24:37 -08:00
Dmitry Gozman 21510a5b06
feat(firefox): support isolated worlds (#507) 2020-01-16 12:57:28 -08:00
Yury Semikhatsky 6ae6143711
chore: roll webkit 1092 (#506) 2020-01-16 09:01:42 -08:00
Andrey Lushnikov e03f1e4c2c feat(firefox): roll firefox to r1012 (#493)
This roll puts Firefox protocol types under related protocol domains,
so protocol type generator had to be updated as well.
2020-01-14 15:32:31 -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 a1d1f26fb7 chore: more strict type checking (#466) 2020-01-13 13:33:25 -08:00
Pavel Feldman 00057df92b test: uncomment more webkit tests (#461) 2020-01-11 08:37:51 -08:00
Andrey Lushnikov 7a7ff9e994 Revert "Revert "feat(firefox): roll Firefox to r1011 (#452)""
This reverts commit a738af4603.
2020-01-11 02:32:28 +01:00
Pavel Feldman 02af0e5285 chore: bump version to 0.9.12-post 2020-01-10 16:50:14 -08:00
Dmitry Gozman c77fd5e6cb
feat(pw-web): generate playwright/web.js which can be used in the browser (#455) 2020-01-10 16:03:10 -08:00
Yury Semikhatsky fd5c872d7f fix(webkit): switch to unique loader ids (#454) 2020-01-10 15:16:06 -08:00
Pavel Feldman a738af4603 Revert "feat(firefox): roll Firefox to r1011 (#452)"
This reverts commit c1f75f7833.
2020-01-10 12:17:34 -08:00
Andrey Lushnikov c1f75f7833 feat(firefox): roll Firefox to r1011 (#452) 2020-01-10 10:54:24 -08:00
Pavel cc7e77a34a feat(webkit): roll webkit to r1080 2020-01-09 17:27:54 -08:00
Joel Einbinder c01224f249
feat(webkit): roll webkit to 1078 (#438) 2020-01-08 20:11:10 -08:00
Joel Einbinder f161a36a16 feat(webkit): roll webkit to 1076 (#431) 2020-01-08 15:34:35 -08:00
Arjun Attam cd02dd8f88 chore: bump version to 0.9.11-post (#425) 2020-01-08 13:52:11 -08:00
Yury Semikhatsky 80ffd92552
fix(webkit): move UI process agents to page proxy (#416) 2020-01-07 17:16:27 -08:00
Arjun Attam eab5108719
chore: bump version to 0.9.10-post (#414) 2020-01-07 16:16:44 -08:00
Yury Semikhatsky a494efed0f
chore(webkit): delete browser target agent (#402) 2020-01-07 12:41:37 -08:00
Arjun Attam f1b825e6a2 docs: basic readme (#403) 2020-01-07 11:51:22 -08:00
Yury Semikhatsky 52c175f001
feat(webkit): introduce WKPageProxy and use it instead of WKTarget (#394) 2020-01-07 10:39:01 -08:00
Arjun Attam 562e6f5fe1 chore(license): use Apache 2.0 (#389) 2020-01-06 18:22:35 -08:00
Pavel Feldman 15ee47c7b2 feat(auth): roll webkit to 1063, make auth work for headful (#387) 2020-01-06 16:31:38 -08:00
Pavel Feldman 2f3593bd9a
test: uncomment / fix webkit tests that time out (#379) 2020-01-04 22:27:09 -08:00
Pavel Feldman fcd62b9611 feat(webkit): roll webkit to r1060, support target crash (#364) 2020-01-03 11:10:10 -08:00
Pavel Feldman a09235a6e3
feat(webkit): roll to r1059 (#360) 2020-01-03 08:10:36 -08:00
Arjun Attam 27c018da65 chore: bump version to 0.9.9-post (#355) 2020-01-02 15:07:51 -08:00
Pavel Feldman 0fab90be79
feat(evaluate): survive null JSON in WK and FF (#352) 2020-01-02 15:06:28 -08:00
Pavel Feldman 6a04e1f026 feat(offline+auth): enable those in webkit, make them a part of the core API (#346) 2019-12-30 23:09:54 +01:00
Pavel Feldman 654fa22cc7 feat(webkit): enable request interception (#343) 2019-12-30 23:05:28 +01:00
Yury Semikhatsky f56ff07f19
fix(wk): support ElementHandle.ownerFrame (#338) 2019-12-26 14:05:46 -08:00
Pavel Feldman 49fc5a8e52 chore: mark version v0.9.8-post 2019-12-20 15:33:49 -08:00
Pavel Feldman 811ce4cd0c chore: mark version v0.9.7-post 2019-12-19 21:31:56 -08:00
Pavel d4655457e5 chore: remove prepare hook 2019-12-19 16:50:50 -08:00
Pavel Feldman 78e8a22741 chore: mark version v0.9.6-post 2019-12-19 16:06:25 -08:00
Pavel Feldman 60ff0e50eb chore: mark version v0.9.6 2019-12-19 16:05:08 -08:00
Yury Semikhatsky 1d4ebd37b1
tests(webkit): mark Page.navigate to invalid URL test as passing (#293) 2019-12-18 16:49:43 -07:00
Andrey Lushnikov 533d058ea6
fix(firefox): support late attachment and skip a few failing tests (#283) 2019-12-17 17:33:06 -08:00
Yury Semikhatsky 83833f61c1
feat(webkit): support referrer parameter in Page.navigate (#286)
* add test for reference-policy: no-referrer
2019-12-17 18:19:35 -07:00
Yury Semikhatsky e851a27350
feat(webkit): implement ElementHandle.contentFrame (#276) 2019-12-17 12:21:53 -07:00
Yury Semikhatsky 4a5929da55
fix(webkit): mark mixed content test as passing (#260)
* roll WebKit to 1042
2019-12-16 18:47:38 -07:00
Dmitry Gozman 4b7a017456
chore: introduce FrameManager to be reused between browsers (#261) 2019-12-16 15:56:11 -08:00
Yury Semikhatsky 67fc9aeff7 chore(webkit): roll to 1038 (#258) 2019-12-16 14:09:40 -08:00
Pavel Feldman e375749e5e chore: mark version v0.9.5-post 2019-12-14 12:18:18 -08:00
Pavel Feldman 58fa2c7a10 chore: mark version v0.9.5 2019-12-14 12:16:40 -08:00
Pavel Feldman 725407cb19 chore: allow to be installed from npm, more fixes 2019-12-14 12:16:28 -08:00
Pavel Feldman 9144a1ce93 chore: mark version v0.9.4 2019-12-14 12:14:20 -08:00
Pavel Feldman 7d1d0e5c01 chore: allow to be installed from npm 2019-12-14 12:14:00 -08:00
Pavel Feldman 9dee165976 chore: mark version v0.9.3 2019-12-14 11:56:34 -08:00
Pavel Feldman 2c648fcb33 chore: mark version v0.9.2-post 2019-12-14 11:45:49 -08:00
Pavel Feldman d78613e57d chore: mark version v0.9.2 2019-12-14 11:37:08 -08:00
Yury Semikhatsky f539afa2a7
feat(webkit): support ignoreHTTPSErrors launcher option (#243)
Also roll webkit to 1036
2019-12-13 22:46:27 -07:00
Pavel Feldman 32fa26be97
feat: roll chromium to ToT (#241) 2019-12-13 14:57:46 -08:00
Dmitry Gozman 90f0b8c2b0
fix(firefox): setContent to properly listen for lifecycle events (#219) 2019-12-12 20:11:33 -08:00
Pavel 1d2b93771a feat(webkit): bump to 1032 2019-12-12 17:56:29 -08:00
Dmitry Gozman 3b202fb4b8 fix(webkit): handle frameAttached event (#227) 2019-12-12 17:50:37 -08:00
Pavel Feldman 856787a8e6 feat(webkit): roll to 1029 (#222) 2019-12-12 08:59:33 -08:00
Pavel Feldman e42e361d20
feat(webkit): use new bypass csp method (#207) 2019-12-10 19:26:13 -08:00
Andrey Lushnikov 329b34e894
feat: implement mac keyboard (#197)
This list contains all of the default keyboard shortcuts for macos, and the Objective-C selector that they trigger on the [NSStandardKeyBindingResponding](https://developer.apple.com/documentation/appkit/nsstandardkeybindingresponding/3005237-moveleft?language=objc). We need these for basic keyboard functionality like ArrowUp and ArrowDown to work on WebKit for mac. For other browsers on mac, the same list can be used to enable better mac keyboard emulation.

The list was made by constructing NSEvents on a mac and seeing what selectors they triggered on an NSTextView. The conversion from NSEvents to DOM codes was done partially by hand as the code that does this conversion lives across many files in WebKit. There may be some errors or missing commands, but in general this should be a more faithful mac keyboard emulation than what we do in Chromium currently.

Notably absent from the list are Cut, Copy, Paste, Paste Special, Undo, and Redo. They are handled in a slightly different way.
2019-12-10 13:22:01 -08:00
Pavel Feldman 44d6f608ef feat(webkit): use webkit worlds (#194) 2019-12-09 23:24:12 -08:00
Dmitry Gozman b4c89ca0f9
chore: unify frame lifecycle events between browsers (#172) 2019-12-09 16:34:42 -08:00
Pavel 1377be2b27 fix: fix new jpeg and png deps 2019-12-06 17:14:08 -08:00
Yury Semikhatsky 10edb02fb6 feat(webkit): roll to 1016 2019-12-06 16:30:59 -08:00
Pavel Feldman bb1888c86e feat(screenshots): make them work everywhere (#164) 2019-12-06 11:33:24 -08:00
Joel Einbinder 57313e3f73
feat: basic d.ts file (#161)
`protocol.d.ts` had to move to `protocol.ts` otherwise typescript refuses to include it in the out directory.

Removed the old d.ts generator. It will need to be rewritten anyway.

These new types include private stuff that they probably shouldn't, and are missing documentation. I'll follow up with a better d.ts generator later.

#6
2019-12-06 11:28:23 -08:00
Joel Einbinder 7af47b6fcb mark: v0.9.1-post 2019-12-05 21:27:17 +00:00
Joel Einbinder 4d768d6bc3 chore: mark version v0.9.1 2019-12-05 21:10:13 +00:00
Dmitry Gozman 0a9377e0a9 chore: prepare to npm publish (#148)
- setup .npmignore;
- index.js selecting a browser;
- minor package.json tweaks;
- example script which works against npm pack'ed module.
2019-12-05 11:29:16 -08:00
Yury Semikhatsky 5061f70300
feat(webkit): roll to 1011 (#145) 2019-12-04 23:25:53 -07:00