Commit graph

584 commits

Author SHA1 Message Date
Dmitry Gozman 9f1edadbff
fix(navigation): do not count random failures as navigation cancel (#1055) 2020-02-18 19:58:04 -08:00
Dmitry Gozman 223685ee7b
chore: strip out injected script from protocol logs (#1054) 2020-02-18 19:56:59 -08:00
Pavel Feldman 1ee657823e
feat(viewport): update defaults to 1280x720, fix Firefox (#1038) 2020-02-18 09:16:32 -08:00
Pavel Feldman f2b2d72693
fix(input): emit change events upon page.setInputFiles (#1028) 2020-02-18 09:15:47 -08:00
Daniel Imms 8a7728da3d
docs: document LaunchOptions.dumpio (#1051) 2020-02-18 08:56:20 -08:00
Joel Einbinder 3656403f2d
fix(keyboard): Add mac editing commands for NumpadEnter (#1026)
This should fix NumpadEnter on webkit for mac.
2020-02-14 18:37:02 -08:00
Joel Einbinder 21acb369db
fix(keyboard): correctly press enter on firefox (#1023) 2020-02-14 17:42:08 -08:00
Dmitry Gozman dbb45d443a
Revert "feat(click): waitForInteractable option, defaults to true (#934)" (#1013)
Reason: new tests are flaky on all bots.
2020-02-14 13:05:23 -08:00
Dmitry Gozman 9413351d3f
feat(click): waitForInteractable option, defaults to true (#934) 2020-02-14 11:55:34 -08:00
Pavel Feldman 4d7e531520
fix(webkit): wait for the pipe ready on windows (#997) 2020-02-13 17:46:40 -08:00
Pavel Feldman cd4e9da807
feat(coverage): export raw v8 coverage (#976)
Fixes #955
2020-02-13 17:39:14 -08:00
Dmitry Gozman 25022e4685
feat(api): introduce default timeouts on BrowserContext (#992) 2020-02-13 14:18:18 -08:00
Pavel Feldman f7fb35bdbf
fix(windows): wait for pipe available again (#993) 2020-02-13 14:13:10 -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
Dmitry Gozman 2e0d89e25c
fix(firefox): roll to 1029 and unskip passing tests (#984) 2020-02-13 13:19:25 -08:00
Pavel Feldman 8ed88c910a
feat(webkit): introduce BrowserContext({language}) (#972) 2020-02-13 12:24:17 -08:00
Andrey Lushnikov 8006b2c01f
fix(webkit): avoid UnhandledPromiseRejection (#986)
* fix(webkit): avoid UnhandledPromiseRejection

If we close a browser before sending first websocket message,
the `this._connect` promise will reject and will not be handled.

This surfaced at https://github.com/microsoft/playwright/pull/976/checks?check_run_id=444445350

* fix
2020-02-13 12:19:41 -08:00
Pavel Feldman 53fa62910a
fix(chromium): emit focus events in headful (#982)
Fixes #979
2020-02-13 11:29:13 -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
Andrey Lushnikov d735de5347
feat: do not let users pass userDataDir to browserType.launch() (#974)
We now have a separate method for this - `browserType.launchPersistent`.
This will probably save our users quite some time.
2020-02-12 19:32:23 -08:00
Pavel Feldman 012bf671b8
feat(webkit): emulate timezone on webkit (#968) 2020-02-12 17:02:59 -08:00
Andrey Lushnikov d26f47bb3b
fix(platform): properly handle websocket error events (#967) 2020-02-12 16:59:19 -08:00
Andrey Lushnikov bfaf191c98
test: add missing tests (#965)
Chromium tests on Linux now call all our API methods and events at least once!
2020-02-12 16:13:48 -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
Andrey Lushnikov b0c0598510
fix(api): small-case all api event names (#959) 2020-02-12 14:59:54 -08:00
Pavel Feldman d05feec740
feat(active): emulate active state on webkit (#941) 2020-02-11 19:10:57 -08:00
Andrey Lushnikov 0d16d144b2
fix(firefox): rely on bundled firefox preferences (#943)
Since Firefox r1027 we bundle preferences alongside with build.

Fixes #857
2020-02-11 19:10:02 -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
Pavel Feldman 53237009ad
feat($wait): make $wait a shortcut for waitForSelector (#932) 2020-02-11 14:51:09 -08:00
Pavel Feldman aae5fca237
feat(api): make browser.newPage own the created context (#930) 2020-02-11 12:06:58 -08:00
Andrey Lushnikov ad9d6cc31f
feat: introduce browserType.downloadBrowserIfNeeded() (#834)
Fixes #823
2020-02-11 11:33:48 -08:00
Pavel Feldman 8a35f4023c
fix(events): deliver page.close upon disconnect in FF (#929) 2020-02-11 11:13:08 -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
Pavel Feldman 780235479e
fix(firefox): bring headful window to front on launch (#923)
Fixes #914
2020-02-10 20:35:58 -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
Pavel Feldman 4d84e35096
fix(upload): detect mime type from file extension (#911) 2020-02-10 10:08:51 -08:00
Pavel Feldman 79b7a8491e
fix(screenshot): be careful w/ default viewport, extract common logic (#913)
Fixes #887.
2020-02-10 09:15:15 -08:00
Pavel Feldman e9c14770d3
fix(webkit): fix remaining tests on windows (#905) 2020-02-07 17:39:32 -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
Pavel Feldman 42c2cfc7cc
fix(pipe): sort out pipes on platforms (#895) 2020-02-07 11:48:55 -08:00
Pavel Feldman 0ed43e8781
feat(webkit) await the reading from pipe message (#894) 2020-02-07 10:52:59 -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
Dmitry Gozman c33a12d8f0
feat(firefox): ensure that new pages get browser context userAgent option (#872) 2020-02-06 19:01:03 -08:00
Joel Einbinder 126eb505e8
fix(transport): dispatch messages in separate tasks (#841)
Fixes a bug in our pipe, and the same one in the non-standard `ws` module. Our protocol messages are I/O events, and therefore they should each be executed in their own task.
2020-02-06 14:14:46 -08:00
Pavel Feldman a547aa7984
feat(connect): allow multiple webkit connections over web socket (#863) 2020-02-06 12:41:43 -08:00
Andrey Lushnikov a72784a677
fix(test): properly clean input field (#860) 2020-02-05 18:11:33 -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 55b6fe241e
feat(launch): introduce client, server & persistent launch modes (3) (#854) 2020-02-05 16:36:36 -08:00
Dmitry Gozman 28c4a1697c
fix(chromium): ensure we resume service worker before detaching from it (#850) 2020-02-05 16:08:28 -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
Pavel Feldman bdf8e39786
feat(goto): assume http:// for localhost navigations (#825) 2020-02-04 19:39:52 -08:00
Dmitry Gozman 8f1df5e1e8
fix(chromium): pause workers on start to not miss any events (#832) 2020-02-04 19:36:46 -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
Pavel Feldman e3e2da3186
feat(check): introduce page.check/uncheck (#826) 2020-02-04 14:39:10 -08:00
Pavel Feldman 05d4746eb5
feat(selectors): temporarily remove zs engine (#824) 2020-02-03 16:14:37 -08:00
Pavel Feldman 1059e22f9e
fix(fill): make fill work for input[type=number] (#819) 2020-02-03 15:50:45 -08:00
Andrey Lushnikov b82bc5fbd4
feat: treat selectors with leading '(//' as xpath (#821)
This starts treating the following selectors as xpath:
- `page.$('//div')`
- `page.$('(//div)[1]')`
- `page.$('((((//div))))[1]')`

(and generally, any number of leading openting parenthesis)

Fixes #817
2020-02-03 14:52:18 -08:00
Pavel Feldman 8028fb052a
feat(route): migrate from request interception w/ events to page.route (#809) 2020-02-03 14:23:24 -08:00
Yury Semikhatsky 25f2a32af3
feat: add Page.opener() to the API (#790)
Fixes #783
2020-01-31 18:38:45 -08:00
Andrey Lushnikov 1489fbdbff
fix: do not recommend yarn (#794)
There's some confusion around Yarn vs Yarn 2 and their interop, which
apparently causes some [installation issues](https://stackoverflow.com/questions/59918776/playwright-error-firefox-revision-is-not-downloaded-run-npm-install-or-yarn)
2020-01-31 17:23:39 -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
Yury Semikhatsky 603b9f54dd
fix: make contentFrame cross-frame handles test pass (#761) 2020-01-30 11:04:09 -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
Dmitry Gozman 0e6b44d337
feat(selectors): selectors.register accepts function (#753) 2020-01-29 15:13:43 -08:00
Yury Semikhatsky 6faf74bc95
fix: move offline/cache/interception switches to BrowserContext (#748) 2020-01-29 12:51:14 -08:00
tsuemura fc93b886d9
fix: typo (#740) 2020-01-29 09:40:13 -08:00
Andrey Lushnikov ce7c8d74b5
feat: introduce BrowserType.name() (#732)
This helps a lot to produce nice logging:

```js
const { chromium, webkit } = require('playwright');

(async () => {
  for (const launcher of [chromium, webkit]) {
    console.log(`Testing on ${launcher.name()}`);
    const browser = await launcher.launch();
    // ...
    await browser.close();
  }
})();
```
2020-01-28 18:09:07 -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 c04ad140f3 feat(launcher): gracefully close browser on sigint (#650) 2020-01-28 13:07:53 -08:00
Dmitry Gozman 324874962c fix(webkit): make frames detect their initial load state (#690) 2020-01-28 13:05:38 -08:00
Dmitry Gozman 2bef4aea03
feat(api): introduce selectors.register method (#701) 2020-01-28 11:20:34 -08:00
Yury Semikhatsky 2ddc987854 fix(webkit): initialize popups on start (#693) 2020-01-28 11:07:35 -08:00
Sam Yamashita a64fc0e45f chore: fix missing device definitions (#708)
Fixes #606
2020-01-28 10:39:54 -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
Pavel Feldman 6e4bf9561b fix(install): check macOS version to be 10.14 or higher (#671)
Fixes #669
2020-01-27 09:37:33 -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
Dmitry Gozman be19ae5e67 feat(browserApp): kill and onclose (#641) 2020-01-24 15:58:04 -08:00
Dmitry Gozman f1d1dfb081 fix(webkit): rewrite global object retrieval errors (#640) 2020-01-24 15:56:41 -08:00
Dmitry Gozman c453851217
api: introduce BrowserType with a single interface, update top-level api (#636) 2020-01-24 14:49:47 -08:00
André Abreu 199d094c6d fix: make launch options in ffPlaywright optional (#637) 2020-01-24 13:27:49 -08:00
Dmitry Gozman 060fbf7428 fix(workers): emit workerdestroyed event when clearing workers (#618) 2020-01-23 17:52:06 -08:00
Dmitry Gozman 056fbbd53e
fix(api): make pipe connection the default, expose webSocket launch option (#562) 2020-01-23 17:45:31 -08:00
Andrey Lushnikov b4b81bae02
chore: move downloads to Azure CDN (#615)
This should drastically speedup downloads across the globe.
2020-01-23 16:00:55 -08:00
Dmitry Gozman 866c60254b fix(firefox): disable ICC color correction based on OS display (#614)
This way screenshots will be consistent across host environments.
2020-01-23 15:44:31 -08:00
Joel Einbinder 4cf2180506 fix(docs): add docs for the websocket event (#612) 2020-01-23 15:26:38 -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
Pavel Feldman b4209e9dc8
test: move user-data-dir tests into shared location (#603) 2020-01-23 12:18:41 -08:00
Dmitry Gozman a5019ea69a
fix(api): remove remoteAddress from api (#601) 2020-01-23 12:13:58 -08:00
Dmitry Gozman 23a668e3be
feat(firefox): support request interception (#571) 2020-01-23 10:38:28 -08:00
Dmitry Gozman 24f5f1f952
fix(wk websocket): do not send messages to a closing websocket (#593) 2020-01-23 10:33:05 -08:00
Dmitry Gozman fa2f321fdd
fix(api): remove BrowserServer.connect (#574) 2020-01-23 08:51:43 -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
Pavel 1c8b421260 chore: remove web sockets for now, mute failing wpe tests 2020-01-21 18:33:19 -08:00
Joel Einbinder 8127c890e4 fix(firefox): be able to launch on headful+windows (#553)
Without the `-wait-for-browser` flag, the launcher process immediately exits on windows. Because we listen to 'exit', we think the browser has closed.

We still can't close the Firefox process very well.

For the reference, this is based upon https://wiki.mozilla.org/Platform/Integration/InjectEject/Launcher_Process/
2020-01-21 17:22:48 -08:00
Andrey Lushnikov b8bb58e48b chore: migrate browser builds to a new CDN (#549) 2020-01-21 15:43:58 -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
Dmitry Gozman ddf47bc291 feat(worker): report workers network activity (#545) 2020-01-21 10:41:04 -08:00
Dmitry Gozman 894e91bb68 fix(api): remove $x form the api, $$ works equally good (#544) 2020-01-20 11:30:22 -08:00
Yury Semikhatsky ab806e6274
fix(webkit): clear workers on navigation (#535) 2020-01-17 18:46:45 -08:00
Dmitry Gozman d64c38b586 feat(firefox): support workers (#532) 2020-01-17 17:51:02 -08:00
Dmitry Gozman bb3f12245c feat(network): ignore favicon requests - these are too unpredictable (#533) 2020-01-17 17:14:39 -08:00
Yury Semikhatsky f76db837c9 fix(webkit): make interception work with cross-process navigation (#529) 2020-01-17 16:48:50 -08:00
Andrey Lushnikov d51094105c feat(webkit): download both wpe and gtk together 2020-01-17 16:30:19 -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
Andrey Lushnikov 9e27d140c3 devops: rename minibrowser-linux into minibrowser-gtk
This is a preparation for the minibrowser-wpe upcoming build.
2020-01-17 13:42:33 -08:00
Pavel Feldman 2a619db582
fix(webkit): introduce user-data-dir and use it on win (#505) 2020-01-16 22:11:14 -08:00
Pavel Feldman dae6e7cabc feat(win): download win from CDN (#519) 2020-01-16 19:43:39 -08:00
Dmitry Gozman 734c752fea chore: rework log api calls functionality to not replace objects (#518) 2020-01-16 17:48:38 -08:00
Dmitry Gozman 82057ac610 test: make api coverage checker work (#517) 2020-01-16 17:46:50 -08:00
Dmitry Gozman f3c53923ab fix(types): proper types for $wait (#514) 2020-01-16 17:03:32 -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
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 a2c7553518 fix(webkit): unflake frame detach tests (#509) 2020-01-16 11:10:46 -08:00
Dmitry Gozman 9b46014493
fix(launcher): ensure that local browser launch waits for process exit (#489) 2020-01-16 09:32:58 -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
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 81fcb12137
fix(firefox): remove reference to deleted method (#492) 2020-01-14 15:19:22 -08:00
Yury Semikhatsky 5fa39dde3f
fix(webkit): use cross-process loader ids (#486) 2020-01-14 11:46:08 -08:00
Dmitry Gozman 5b1aef4c20 api: remove BrowserFetcher from api, update docs (#487) 2020-01-14 10:07:26 -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
Dmitry Gozman 74b208cae5 feat(selectors): text=foo selector engine (#475) 2020-01-13 17:39:43 -08:00
Dmitry Gozman b388722777
chore: update top-level api (#479)
```
require('playwright').chromium.launch(...)
window.playwrightweb.chromium.connect(...)
```
2020-01-13 17:36:46 -08:00
Joel Einbinder 0ea6e19b09
fix(test): failing ci tests (#478)
disables some failing Firefox tests
Moves newContext error checking before the context is created, to not create zombie contexts
sets CI timeout to 30 seconds
waits for `exit` instead of `close` for processes
2020-01-13 17:16:05 -08:00
Dmitry Gozman 8b09358a56
fix(screenshot): element screenshot should not throw when viewport is null (#472) 2020-01-13 16:29:08 -08:00
Dmitry Gozman a88d30140c fix(geolocation): improve geolocation validation (#471) 2020-01-13 15:39:13 -08:00
Dmitry Gozman 88a11a3fbd fix(getProperties): return empty map for non-objects (#470) 2020-01-13 15:36:22 -08:00
Dmitry Gozman a1d1f26fb7 chore: more strict type checking (#466) 2020-01-13 13:33:25 -08:00
Pavel Feldman d19f10ef42
fix(geolocation): use values from context options (#463) 2020-01-13 13:32:44 -08:00
Andrey Lushnikov 27f32a72e9
devops: migrate to new CDN for browser builds (#467) 2020-01-13 13:27:03 -08:00
Yury Semikhatsky 778ab3deff chore: replace CHROME with CHROMIUM (#465) 2020-01-13 10:13:28 -08:00
Pavel Feldman a8b9920a14 feat(logging): log the API calls (#464) 2020-01-13 09:14:28 -08:00
Dmitry Gozman 67e4214146 feat(navigation): early return when navigation was canceled by another one (#459)
Also added related interception tests.
2020-01-10 17:33:07 -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
Dmitry Gozman 63f16a9ef8
fix(screenshot): provide nice error message during navigation (#456) 2020-01-10 17:25:28 -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 Feldman 4d2a503c44
feat(webkit): rebaseline Joel's pass all viewport tests PR (#440) 2020-01-09 17:06:06 -08:00
Dmitry Gozman 987863cfb8
chore(webkit): remove WKPageProxySession, separate connection from browser session (#447) 2020-01-09 15:14:35 -08:00
Dmitry Gozman 350452c31d
docs: unify XYZPlaywright api and docs (#443) 2020-01-09 14:49:22 -08:00
Dmitry Gozman 6e06472988
chore(webkit): move target management to WKPageProxy (#437)
This allows to remove WKTargetSession and use WKSession instead.
2020-01-09 11:02:55 -08:00
Joel Einbinder d83d3c3851
feat(webkit): basic isMobile viewport support (#348) 2020-01-08 20:15:30 -08:00
Dmitry Gozman 9c90eed90c chore: simplify WKSession by providing a rawSend method (#434) 2020-01-08 16:34:45 -08:00
Joel Einbinder f161a36a16 feat(webkit): roll webkit to 1076 (#431) 2020-01-08 15:34:35 -08:00
Yury Semikhatsky b6f1b17906
fix(webkit): do not fire FrameNavigated when receive resource tree (#432) 2020-01-08 15:32:13 -08:00
Dmitry Gozman 57c3916b0c
docs: support interfaces in doclint (#420) 2020-01-08 14:04:33 -08:00
Dmitry Gozman f31ae5e2ed
docs: fix docs around server apis (#417) 2020-01-08 14:02:53 -08:00
Dmitry Gozman 28bad69093
fix(server): tidy up BrowserServer.close methods (#426) 2020-01-08 13:55:38 -08:00
Dmitry Gozman 66e8a9c04f fix(webkit): band-aid double connection fix to unblock tests (#422) 2020-01-08 07:13:51 -08:00
Yury Semikhatsky 80ffd92552
fix(webkit): move UI process agents to page proxy (#416) 2020-01-07 17:16:27 -08:00
Dmitry Gozman 8697929e39
chore: move webkit server code to src/server (#415) 2020-01-07 16:15:07 -08:00
Dmitry Gozman c3210d0f6d
chore: move firefox server code to src/server (#412) 2020-01-07 16:13:49 -08:00
Dmitry Gozman 6318b1de75 chore: move server-side code to src/server (#411) 2020-01-07 15:27:45 -08:00
Dmitry Gozman f15abadc9e chore: refactor CRBrowserServer (#408) 2020-01-07 14:13:55 -08:00
Dmitry Gozman f7b0db2307 chore: merge crLauncher and crPlaywright (#405) 2020-01-07 13:58:23 -08:00
Pavel Feldman 55f2f5a7ec chore: move capabilities around for better docs (#407) 2020-01-07 13:57:37 -08:00
Arjun Attam 5c1f7cfb0c fix(fill): use HTMLInputElement.select (#406) 2020-01-07 13:57:17 -08:00
Pavel Feldman f75ac45c42
feat(workers): support workers in webkit (#400) 2020-01-07 12:59:01 -08:00
Dmitry Gozman 92b14cf996 chore: cleanup code around device descriptors (#404) 2020-01-07 12:53:06 -08:00
Yury Semikhatsky a494efed0f
chore(webkit): delete browser target agent (#402) 2020-01-07 12:41:37 -08:00
Dmitry Gozman 9c966c8b19
feat(pw-web): introduce platform.ts to absract between node and browser platforms (#392) 2020-01-07 11:55:24 -08:00
Yury Semikhatsky 52c175f001
feat(webkit): introduce WKPageProxy and use it instead of WKTarget (#394) 2020-01-07 10:39:01 -08:00
Joel Einbinder f14409cea9 fix(lint): remove WKTargetSessionEvents from wkTarget.ts (#396) 2020-01-07 09:53:33 -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
Yury Semikhatsky b858ae3316 fix (#386) 2020-01-06 13:49:39 -08:00
Dmitry Gozman 491eeeef7e feat(scrollIntoView): expose scrollIntoViewIfNeeded in api (#382)
This also replaces isIntersectingViewport with visibleRatio for more flexibility.
2020-01-06 13:16:56 -08:00
Dmitry Gozman 98a6f001bb fix(zselector): do not use pseudo-element tag names as cues (#381)
They are not retrievable by querySelector().
2020-01-06 10:30:21 -08:00
Pavel Feldman 38e79f12ec feat(media): remove media emulation from browser context options (#377) 2020-01-05 14:39:16 -08:00
Yury Semikhatsky 2f45ebbb72
chore(webkit): remove WKTarget._type, simplify initialization (#376) 2020-01-04 10:12:40 -08:00
Joel Einbinder 9fb6a68b25 fix(webkit): use protocol to serialize values instead of JSON (#373) 2020-01-03 15:39:01 -08:00