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
Dmitry Gozman
cf6f04893c
fix(browserContext): make a copy of passed options object ( #370 )
2020-01-03 14:42:18 -08:00
Pavel Feldman
62888d8543
revert(json): revert WK null-json mode, joel has a better fix ( #372 )
2020-01-03 14:06:55 -08:00
Dmitry Gozman
32edca7395
fix(networkidle): ignore favicons and keep track of requests ( #368 )
...
This counters Firefox not cancelling existing requests on navigation.
2020-01-03 12:59:27 -08:00
Dmitry Gozman
f1d6fe6bd8
chore: remove non-input related stuff from input ( #369 )
2020-01-03 12:59:06 -08:00
Joel Einbinder
790e38a678
feat(webkit): accessibility ( #350 )
...
* move accessibility out of features
* feat(webkit): accessibility
2020-01-03 11:15:43 -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
2d14d1ec1f
feat(geo): enable geolocation overrides on WK ( #361 )
2020-01-03 10:14:50 -08:00
Pavel Feldman
0d9638fe20
feat(webkit): support pageerror event ( #362 )
2020-01-03 10:07:49 -08:00
Pavel Feldman
a09235a6e3
feat(webkit): roll to r1059 ( #360 )
2020-01-03 08:10:36 -08:00
Yury Semikhatsky
ebd11fe380
chore(wk): make _connection private to session ( #357 )
2020-01-02 17:04:51 -08:00
Pavel Feldman
0fab90be79
feat(evaluate): survive null JSON in WK and FF ( #352 )
2020-01-02 15:06:28 -08:00
Arjun Attam
682e2be15f
fix: allow email type in input for fill action ( #353 )
2020-01-02 14:10:01 -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
Yury Semikhatsky
845c0af42f
chore: avoid downcast of delegate to <Browser>Page ( #334 )
2019-12-23 12:10:07 -08:00
Yury Semikhatsky
27ddb017e2
chore: rename CR/FF/WKFrameManager to CR/FF/WKPage ( #333 )
2019-12-23 11:39:57 -08:00
Yury Semikhatsky
c301623e9e
chore(wk): get rid of targetSymbol ( #332 )
2019-12-23 11:10:37 -08:00
Yury Semikhatsky
6e0bb2585e
fix(wk): wait for bootstrap scripts command response ( #328 )
2019-12-23 10:40:34 -08:00
Pavel Feldman
4638019902
feat(api): use good old inheritance instead of feature detection ( #329 )
2019-12-21 09:03:52 -08:00
Pavel Feldman
0ffc9fd4f5
docs: more iterations on the docs
2019-12-20 20:28:35 -08:00
Pavel Feldman
8f480a3987
docs: more docs update ( #327 )
2019-12-20 16:57:21 -08:00
Yury Semikhatsky
701b5db452
fix(wk): make evaluateOnNewDocument work with PSON ( #326 )
2019-12-20 16:16:32 -08:00
Dmitry Gozman
735d3eeed7
feat(navigation): introduce waitForNavigationIfNeeded ( #310 )
...
This one waits for current navigation to finish, matching by url if asked.
If there is no current navigation or current navigation/url does not match,
it waits for the next matching one.
2019-12-20 15:32:30 -08:00
Pavel
d094c602a7
doc: even more documentation fixes
2019-12-20 15:32:03 -08:00
Dmitry Gozman
92ef4c173e
fix: async stacks should work now ( #325 )
2019-12-20 15:31:20 -08:00
Dmitry Gozman
56a48559c2
fix(setContent): call window.stop() before setting new content ( #323 )
...
This ensures that previous loading activity is suppressed and all network requests are canceled.
2019-12-20 15:30:12 -08:00
Pavel
2673ea90d9
doc: more documentation fixes
2019-12-20 15:26:18 -08:00
Pavel Feldman
9cfa404c87
feat: trim down url matching ( #322 )
2019-12-20 14:38:54 -08:00
Yury Semikhatsky
6b60b510b3
test: make fixture tests pass in all browsers ( #321 )
2019-12-20 14:10:13 -08:00
Pavel Feldman
ad22a46fde
feat: move permissions back into the context ( #320 )
2019-12-20 13:07:14 -08:00
Dmitry Gozman
dd6ba432ab
chore: update index.d.ts and index.js ( #318 )
2019-12-20 12:44:15 -08:00
Pavel Feldman
a4cb386b70
chore: fix page import
2019-12-19 22:09:21 -08:00
Pavel Feldman
536c50db78
docs: started working on the api.md (2)
2019-12-19 20:14:19 -08:00
Pavel
ae86a0be17
docs: started working on the api.md
2019-12-19 18:03:52 -08:00
Pavel
c7d205d416
chore: rename the world (3)
2019-12-19 17:03:27 -08:00
Pavel
b20e87d9d0
chore: rename the world (2)
2019-12-19 16:53:24 -08:00
Pavel
91c309797d
chore: rename the world
2019-12-19 16:46:42 -08:00
Dmitry Gozman
12ac458614
fix(elementhandle): contentFrame and ownerFrame work in various scenarios ( #311 )
...
Drive-by: use evaluateInUtility for various utility evals.
2019-12-19 15:19:22 -08:00
Dmitry Gozman
7e90292834
fix(networkidle): make it (almost) work with setContent ( #307 )
2019-12-19 15:07:57 -08:00
Pavel Feldman
331f0e603a
feat: introduce BrowserServer ( #308 )
2019-12-19 14:51:49 -08:00
Dmitry Gozman
b378bc7f6c
feature(evaluate): support cross-context element handles ( #295 )
2019-12-19 11:44:07 -08:00
Pavel Feldman
4ef9f84ab5
chore: simplify the launcher routine ( #306 )
2019-12-19 10:21:26 -08:00
Dmitry Gozman
c172a7e7e0
feature: $wait similar to waitForFunction, but taking a selector ( #303 )
2019-12-18 18:11:02 -08:00
Pavel Feldman
d570fc7809
feat: further strip the browser api ( #304 )
2019-12-18 18:07:11 -08:00
Dmitry Gozman
3669dad243
feat(urlmatch): support url matching in waitForNavigation ( #300 )
2019-12-18 18:03:02 -08:00
Yury Semikhatsky
ff474b88e0
fix(wk): call setViewport on the new session ( #302 )
2019-12-18 17:37:27 -08:00
Pavel Feldman
0e3328218d
feat(context): remove the notion of incognito context ( #299 )
2019-12-18 16:44:02 -08:00
Yury Semikhatsky
da051a72a8
fix: strip off hash from request urls ( #297 )
2019-12-18 16:27:20 -08:00
Pavel Feldman
b5e9086576
chore: remove browser from the api ( #296 )
2019-12-18 16:23:05 -08:00
Dmitry Gozman
9afd35d3a1
feature(waitfor): waitFor visible or any by default ( #284 )
2019-12-18 14:28:16 -08:00
Pavel
1c3ff0bd52
fix(ff): await for configuration promises
2019-12-18 14:00:35 -08:00
Dmitry Gozman
7750db97fe
api: remove ExecutionContext from api ( #290 )
...
In the current state, it is superseeded by Frame and JSHandle.
2019-12-18 13:51:45 -08:00
Pavel Feldman
6d0dfd0abf
feat(context): start moving overrides to the context level
2019-12-18 12:23:33 -08:00
Dmitry Gozman
0f8333ba89
feature(filechooser): move waitForFileChooser to common waitForEvent ( #281 )
2019-12-17 17:34:32 -08: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
Dmitry Gozman
fd927000ea
feature: update api around selectors ( #280 )
...
- Selector is again a string.
- Most methods taking selector also accept waitFor option.
- Available waitFor options are: 'visible', 'hidden', 'any' === true, false === undefined.
- waitForXPath is removed.
- waitForSelector is replaced by $(selector, { waitFor: true }).
2019-12-17 14:30:02 -08:00
Dmitry Gozman
75ae9bfeee
feature(waitFor): use URLMatch to match request/response, waitForEvent for generic ( #278 )
2019-12-17 14:00:39 -08:00
Dmitry Gozman
24eb6d8671
chore: simplify extra http headers handling across browsers ( #274 )
2019-12-17 11:31:52 -08:00
Dmitry Gozman
916158656c
chore: unify reload/goBack/goForward across browsers ( #273 )
2019-12-17 11:28:09 -08:00
Yury Semikhatsky
e851a27350
feat(webkit): implement ElementHandle.contentFrame ( #276 )
2019-12-17 12:21:53 -07:00
Dmitry Gozman
5a60a96410
chore: reuse navigation methods between browsers ( #271 )
2019-12-16 22:02:33 -08:00
Dmitry Gozman
48be99a56e
feat(selectors): add id selectors ( #270 )
2019-12-16 20:49:18 -08:00
Yury Semikhatsky
974f82073f
feat(webkit): allow to run beforeunload when closing page ( #264 )
2019-12-16 17:33:36 -08:00
Yury Semikhatsky
bfb8df29bb
feat(webkit): reload page after updating user agent ( #268 )
2019-12-16 18:29:40 -07:00
Dmitry Gozman
03e2336d49
chore: various cleanup ( #266 )
2019-12-16 16:43:28 -08:00
Dmitry Gozman
f9f7d5c55a
feature(navigation): implement networkilde0 and networkidle2 ( #263 )
2019-12-16 16:32:04 -08:00
Dmitry Gozman
4b7a017456
chore: introduce FrameManager to be reused between browsers ( #261 )
2019-12-16 15:56:11 -08:00
Pavel Feldman
df95b9ddb4
feat(waitFor): allow actions to wait for selector; make visible requirement default ( #254 )
2019-12-14 20:13:22 -07:00
Pavel Feldman
a9568af21d
feat: create FF default profile prefs dynamically ( #250 )
2019-12-14 11:55:21 -08:00
Dmitry Gozman
09bf6b1906
fix(navigation): expect navigation on navigation request ( #248 )
2019-12-14 08:20:51 -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
0b5c0a76ab
feat(webkit): support emulating color scheme ( #247 )
2019-12-13 17:34:02 -08:00
Dmitry Gozman
dd2ce94de9
fix(navigation): waitForNavigation to pick up aborted navigation ( #244 )
2019-12-13 16:35:10 -08:00
Pavel Feldman
32fa26be97
feat: roll chromium to ToT ( #241 )
2019-12-13 14:57:46 -08:00
Pavel
cde81aaf5a
fix: account for linux treatment of canceled requests
2019-12-13 14:06:00 -08:00
Pavel
aaa8f88f3c
fix: rename files on case-sensitive fs
2019-12-13 13:57:11 -08:00
Pavel Feldman
046d015782
chore: unify transports, serialize events with acks ( #239 )
2019-12-13 14:53:49 -07:00
Dmitry Gozman
39fb556f27
fix(webkit): detect expected/aborted navigations based on network requests ( #238 )
2019-12-13 13:03:52 -08:00
Dmitry Gozman
f8426fdf95
chore: move frame id to Frame, remove unused events ( #235 )
2019-12-13 10:52:33 -08:00
Pavel Feldman
bae8cd3fae
chrome: co-locate transport types ( #236 )
2019-12-12 21:30:49 -08:00
Dmitry Gozman
97c50c22ab
chore: inherit FrameExecutionContext from ExecutionContext ( #234 )
2019-12-12 21:11:52 -08:00
Pavel Feldman
5822de844a
chore: rename common files to start with lower case
2019-12-12 20:55:29 -08:00
Pavel Feldman
5377f7a2d8
lint: eslint fixes
2019-12-12 20:21:29 -08:00
Pavel Feldman
c7cf4886ea
api: s/createIncognitoBrowserContext/newContext/
2019-12-12 20:14:50 -08:00
Dmitry Gozman
90f0b8c2b0
fix(firefox): setContent to properly listen for lifecycle events ( #219 )
2019-12-12 20:11:33 -08:00
Andrey Lushnikov
ee1f4784c6
feat(firefox): implement browser.firefox.wsEndpoint() ( #233 )
...
This lets us pass the fixtures test for browser shutdown.
2019-12-12 18:40:48 -08:00
Dmitry Gozman
28cf2595fb
fix: follow up with process launcher ( #232 )
2019-12-12 17:55:54 -08:00
Dmitry Gozman
d378a8d3fc
chore: reuse processLauncher between browsers ( #231 )
...
Drive-by: improve test runner to always exit and kill browsers
2019-12-12 17:52:13 -08:00
Dmitry Gozman
39fa313535
chore: merge DOMWorldDelegate and PageDelegate ( #228 )
2019-12-12 17:51:05 -08:00
Dmitry Gozman
3b202fb4b8
fix(webkit): handle frameAttached event ( #227 )
2019-12-12 17:50:37 -08:00
Dmitry Gozman
59b0900321
feat(selectors): introduce zs selector engine ( #214 )
2019-12-12 09:02:37 -08:00
Dmitry Gozman
3c7181a545
fix(webkit): fix ordering of provisional messages relative to the rest ( #225 )
2019-12-12 09:59:08 -07:00
Pavel Feldman
cca2659578
test: update console tests ( #223 )
2019-12-12 08:58:37 -08:00
Pavel Feldman
19cac9a0c1
test: rebaseline wk/mac network tests
2019-12-11 19:32:07 -08:00
Pavel Feldman
7c7c13e89d
fix(webkit): fix a couple of navigation tests ( #217 )
2019-12-11 17:46:26 -08:00
Pavel Feldman
6440323003
fix(webkit): wait for main response on subresource-free goto ( #216 )
2019-12-11 16:19:37 -08:00
Pavel Feldman
4824a25cc6
fix(csp): fix some of the csp tests ( #211 )
2019-12-11 13:51:03 -08:00
Dmitry Gozman
b70eebc4b2
chore: merge PageDelegate, FrameDelegate and ScreenshotterDelegate ( #213 )
2019-12-11 13:36:41 -07:00
Yury Semikhatsky
ce21019c7d
fix(webkit): make sure each message is dispatch in separate task ( #212 )
2019-12-11 12:06:11 -08:00
Pavel Feldman
357e175964
fix(webkit): fullPage screenshot w/o viewport ( #210 )
2019-12-11 11:26:34 -08:00
Dmitry Gozman
58336d3eb9
chore: get rid of <Browser> templating ( #209 )
2019-12-11 07:18:43 -08:00
Dmitry Gozman
57acdfd860
chore: reuse LifecycleWatcher between browsers ( #208 )
2019-12-11 07:17:32 -08:00
Pavel Feldman
e42e361d20
feat(webkit): use new bypass csp method ( #207 )
2019-12-10 19:26:13 -08:00
Pavel
3146d47de8
fix(compile): include debugError in webkit/FrameManager
2019-12-10 16:34:06 -08:00
Pavel Feldman
8c548ed9e9
feat(webkit): implement page.exposeFunction ( #195 )
2019-12-10 15:17:42 -08:00
Dmitry Gozman
5ffb710d7d
chore: reuse BrowserContext across browsers ( #201 )
2019-12-10 15:13:56 -08:00
Joel Einbinder
0af3b9dfc8
feat(webkit): page.on('popup') ( #202 )
2019-12-10 15:07:00 -08:00
Yury Semikhatsky
e8ec7e5118
feat(webkit): pause and configure provisional pages on creation ( #200 )
2019-12-10 15:34:36 -07: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
Yury Semikhatsky
c9bc103a00
chore(webkit): remove url from Connection ( #199 )
2019-12-10 13:11:55 -08:00
Dmitry Gozman
f1f9dc166b
chore: remove unneeded files, reuse events between browsers, no implicit any ( #191 )
2019-12-10 11:15:14 -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
Dmitry Gozman
e5a85e4e67
chore(webkit): migrate to common Page ( #189 )
2019-12-09 15:45:32 -08:00
Dmitry Gozman
640646b794
chore(firefox): migrate to common Page ( #188 )
2019-12-09 14:53:17 -08:00
Joel Einbinder
e3f34bd69a
fix(fill): throw when the element isn't fillable ( #160 )
...
An element is fillable if its:
- In dom
- Not display:none or visibility:hidden
- textarea or input or contenteditable
if textarea or input it must also be
- not readOnly
- not disabled
#133
2019-12-09 14:51:19 -08:00
Yury Semikhatsky
37540179de
chore(webkit): pass session to Target constructor ( #187 )
2019-12-09 14:41:20 -08:00
Dmitry Gozman
c323a3e50b
chore(chromium): move Page to common, implement PageDelegate ( #184 )
2019-12-09 14:08:20 -07:00
Yury Semikhatsky
f9d5a18d05
chore(webkit): remove unused fields from Target ( #183 )
2019-12-09 12:13:19 -08:00
Dmitry Gozman
88aea0a886
fix: fix races in didClose and didDisconnect across browsers ( #182 )
...
Also merge initialize and swapSessionOnNavigation in webkit.
2019-12-09 10:16:30 -08:00
Dmitry Gozman
b3817aab2a
chore(webkit): remove most session usages from Page ( #181 )
...
These are moved to FrameManager, so that we can reuse Page between browsers.
2019-12-09 10:48:54 -07:00
Pavel Feldman
f5cd742b79
test: rebaseline some click tests ( #179 )
2019-12-08 17:17:49 -08:00
Dmitry Gozman
f38ab5d80f
chore: reuse BrowserFetcher between browsers ( #177 )
2019-12-08 13:29:03 -08:00
Dmitry Gozman
0d0f6b7d03
fix(webkit): improve target swap handling ( #175 )
...
- Fix "page closed twice" race.
- Do not fire 'disconnected' on swapped out sessions.
- Use a different error for commands sent to swapped out targets.
This allows callers to detect this situation and retry/throw/catch.
- Restore more state on swap: extra http headers, user agent, emulated media.
2019-12-07 16:58:23 -08:00
Yury Semikhatsky
02e29219fd
fix(webkit): make go back/forard return null on error ( #171 )
2019-12-06 16:38:23 -08:00
Dmitry Gozman
5ab0faab93
chore: remove most usages of session from firefox Page ( #169 )
2019-12-06 17:34:27 -07:00
Pavel
0884e29695
chore: rearrange test spec files
2019-12-06 16:15:47 -08:00
Pavel
b45ea22660
test: fix element.handle nested frames
2019-12-06 15:11:14 -08:00
Pavel
bcb62de4b2
fix(test): make click tests pass everywhere
2019-12-06 14:48:41 -08:00
Dmitry Gozman
14f078308d
chore: remove some usage of client from Page ( #163 )
...
This brings us closer to reusing Page between browsers.
2019-12-06 13:36:47 -08:00
Pavel
349ce22565
lint: follow up with lints
2019-12-06 12:04:11 -08:00
Pavel Feldman
bb1888c86e
feat(screenshots): make them work everywhere ( #164 )
2019-12-06 11:33:24 -08:00
Joel Einbinder
39b22b41c5
feat: make JSHandle generic ( #140 )
...
This makes it so that JSHandles and ElementHandles are aware of what types they point to. As a fun bonus, `$eval('input')` knows its going to get an HTMLInputElement.
Most of this patch is casting things where previously we just assumed ElementHandles held the right kind of node. This gets us closer to being able to turn on `noImplicityAny` as well.
#6
2019-12-05 16:26:09 -08:00
Dmitry Gozman
e992c7fa7d
chore: unify screenshot handling between browsers, introduce Screenshotter everywhere ( #156 )
2019-12-05 14:48:39 -08:00
Yury Semikhatsky
b84d3c6cbe
chore: do not accumulate protocol messages for debugging ( #150 )
2019-12-05 14:13:17 -08:00
Dmitry Gozman
51ca756efe
chore: encapsulate target business in Browser class ( #151 )
...
Page and BrowserContext are now closer to be reused between browsers.
2019-12-05 14:11:48 -08:00
Pavel Feldman
2d77760f01
chore: move tests around after targets extraction ( #153 )
2019-12-05 13:15:17 -08:00
Joel Einbinder
4478c653fd
fix(install): generate new protocol.d.ts when browsers are downloaded ( #149 )
2019-12-05 12:21:55 -07:00
Dmitry Gozman
d4f0084f67
chore: move element coordinates handling to common ( #139 )
...
Browser now implement boundingBox(), contentQuads() and layoutViewport().
2019-12-05 09:54:50 -08:00
Dmitry Gozman
3f554b3273
fix: handle failures of adoptElementHandle ( #134 )
...
There is no way to trigger this issue through the api just yet, but there will be
once we support handles as selectors.
2019-12-05 09:45:36 -07:00
Yury Semikhatsky
25af050bd4
feat(webkit): add page back/forward commands ( #144 )
2019-12-05 08:32:52 -08:00
Yury Semikhatsky
b5af3cac11
fix(install): print version of the browser being downloaded ( #146 )
2019-12-05 08:30:58 -08:00
Joel Einbinder
9f603c49fb
feat: easy download ( #56 )
2019-12-04 17:58:38 -08:00
Pavel Feldman
e1c4eaae28
chore: make targets chromium feature ( #137 )
2019-12-04 16:12:43 -08:00
Yury Semikhatsky
3305363f2a
fix(webkit): pass --headless only on Mac ( #135 )
2019-12-04 17:08:35 -07:00
Dmitry Gozman
fc5898892b
feat(selectors): support optional "visible" property in all selectors ( #129 )
2019-12-04 13:11:10 -08:00
Joel Einbinder
492f539310
chore(firefox): lint against the juggler protocol ( #94 )
2019-12-04 10:33:29 -08:00
Pavel Feldman
01b321d014
feat(webkit): implement headless on Mac ( #128 )
2019-12-03 14:10:01 -08:00
Dmitry Gozman
e124d44a55
chore: rework wait task to accept arbitrary task on dom world ( #126 )
2019-12-03 11:51:41 -07:00
Yury Semikhatsky
ba54ad46b3
feat(page): add Page.setJavaScriptEnabled for WebKit ( #125 )
2019-12-03 10:47:02 -08:00
Dmitry Gozman
6b3c2632e7
feat(selectors): support various selectors in waitFor methods ( #122 )
2019-12-03 10:43:13 -08:00
Dmitry Gozman
bb1433a143
feat(selectors): support various kinds of selectors ( #118 )
...
This adds support for generic "engine=body [>> engine=body]*" selector syntax
and auto-detects simple css or xpath.
2019-12-02 17:33:44 -08:00
Pavel Feldman
505c9e3660
test: uncomment more cookies tests
2019-12-02 17:02:33 -08:00
Pavel Feldman
8989da6c16
fix(cookies): follow up to make all platform tests pass
2019-12-02 16:48:38 -08:00
Pavel Feldman
040f93faa2
feat(cookies): implement cookies across the board ( #121 )
2019-12-02 16:36:46 -08:00
Yury Semikhatsky
2ca2a4cb18
feat(launcher): throw on browser launch failure, default args ( #119 )
2019-12-02 16:17:53 -08:00
Dmitry Gozman
ffaf7326ab
chore: put remoteObject directly on JSHandle ( #113 )
2019-12-02 13:12:28 -08:00
Dmitry Gozman
113ffd6808
chore: reuse ConsoleMessage between browsers ( #116 )
2019-12-02 13:01:01 -08:00
Dmitry Gozman
b6c892842b
feat(screenshot): multiple element screenshots are now taken sequentially ( #114 )
...
This makes multiple element screenshots to not fight for the page viewport
by putting viewport manipulation under screenshot task queue.
Drive-by: encapsulated all screenshot logic in Screenshotter.
2019-12-02 10:53:58 -08:00
Dmitry Gozman
76ab83f581
chore: reuse Dialog between browsers ( #115 )
2019-12-02 11:53:23 -07:00
Dmitry Gozman
8efd258e40
chore: encapsulate dom-related logic to DOMWorld, part 1 ( #112 )
2019-11-28 12:50:52 -08:00
Pavel Feldman
336338c97e
test: fix webkit tests ( #111 )
2019-11-27 16:23:46 -08:00
Dmitry Gozman
961556a596
chore: cleanup multiple definitions and types ( #109 )
2019-11-27 16:03:51 -08:00
Dmitry Gozman
c3393039b0
chore: reuse ElementHandle between browsers ( #108 )
2019-11-27 16:02:31 -08:00
Dmitry Gozman
b596f36bad
chore: separate common part of ElementHandle from chromium-specific ( #106 )
2019-11-27 14:26:46 -08:00
Pavel Feldman
56b4f009ac
chore: refactor the file chooser api ( #107 )
2019-11-27 14:26:30 -08:00
Pavel Feldman
cf9c4d153a
feat(webkit): implement file chooser interception (frontend) ( #98 )
2019-11-27 13:50:24 -08:00
Pavel Feldman
1a1732407f
chore: follow up to the execution context changes ( #104 )
2019-11-27 13:31:13 -08:00
Dmitry Gozman
b2c31b7317
chore: reuse network Request and Response between browsers ( #101 )
2019-11-27 12:44:12 -08:00
Dmitry Gozman
490db5bc18
chore: reuse JSHandle between browsers ( #103 )
2019-11-27 12:41:26 -08:00
Dmitry Gozman
06ba0f7a7f
chore: reuse ExecutionContext between browsers ( #102 )
2019-11-27 12:39:53 -08:00
Dmitry Gozman
dfc5592910
chore: reuse Frame between browsers ( #100 )
2019-11-27 12:38:26 -08:00
Joel Einbinder
49f8963bf1
feat(webkit): dialogs ( #75 )
2019-11-27 12:24:52 -08:00
Pavel Feldman
72b1bb783b
feat(chromium): roll chromium to r719491, lint, test ( #99 )
2019-11-26 22:53:34 -08:00
Dmitry Gozman
35c27bfa45
chore: remove Frame dependecies on the chromium-specific things ( #95 )
2019-11-26 16:19:43 -08:00
Dmitry Gozman
c48b39345a
chore: merge DOMWorld into Frame ( #93 )
...
This allows us to reuse Frame between browsers.
2019-11-26 15:37:25 -08:00
Pavel Feldman
cc41377fe2
chore: move emulateTimeZone and setGeolocation to Overrides ( #92 )
2019-11-26 15:13:49 -08:00
Pavel Feldman
c7a07ea2a8
chore: move more unsupported apis to interception ( #91 )
2019-11-26 15:01:27 -08:00
Pavel Feldman
0494c4c04e
chore: export FileChooser api for the dashboard ( #90 )
2019-11-26 14:31:09 -08:00
Pavel Feldman
64d3e83ddf
chrome(filechooser): align file chooser implementations ( #88 )
2019-11-26 14:29:21 -08:00
Pavel Feldman
a4e24c718b
feat(cookies): move cookie management to BrowserContext ( #82 )
2019-11-26 11:23:13 -08:00
Dmitry Gozman
3decf1f996
chore: move waitFor methods from DOMWorld to Frame ( #87 )
...
This almost removes the DOMWorld, so we can unify them across the browsers.
2019-11-26 11:16:20 -08:00
Pavel Feldman
2eb653740a
feat(headful): remove bringToFront ( #84 )
2019-11-26 11:00:54 -08:00
Dmitry Gozman
6e78e12d90
chore: move meaningful methods with a single callsite from DOMWorld to Frame ( #68 )
2019-11-26 08:57:53 -08:00
Pavel Feldman
991f4a9072
docs: fix the docs validator ( #86 )
2019-11-26 08:52:47 -08:00
Pavel Feldman
66d3dd8626
lint: fixes ( #85 )
2019-11-26 08:19:02 -08:00
Dmitry Gozman
0db3101013
chore: reuse waitForSelectorOrXPath between browsers ( #81 )
2019-11-26 07:55:34 -08:00
Dmitry Gozman
cefebb3938
chore: use types for eval functions in webkit ( #79 )
2019-11-26 07:53:48 -08:00
Dmitry Gozman
432116ba80
chore: move Mouse to common input with RawMouseImpl per vendor ( #73 )
2019-11-26 07:52:55 -08:00
Dmitry Gozman
cc9b58878b
chore: reuse WaitTask between browsers ( #67 )
2019-11-25 20:28:34 -08:00
Dmitry Gozman
72b252e5e9
chore: make WaitTask not depend on DOMWorld ( #66 )
...
This opens up opportunity for reuse.
2019-11-25 16:55:03 -08:00
Dmitry Gozman
371394ff2f
chore: use eval types in firefox ( #77 )
2019-11-25 16:42:37 -08:00
Pavel Feldman
a1d71d0de7
feat(csp): support bypass csp on ff ( #74 )
2019-11-25 15:26:03 -08:00
Dmitry Gozman
038e24c089
chore: common types for evaluate functions ( #72 )
2019-11-25 15:06:52 -08:00
Pavel Feldman
2e581f1625
feat(emulate): implement emulateMedia color scheme in FF ( #71 )
2019-11-25 15:00:04 -08:00
Pavel Feldman
eaa5e93b8b
feat(filechooser): supported file chooser in FF ( #70 )
2019-11-25 13:56:39 -08:00
Dmitry Gozman
d5ad3960c3
chore: move Keyboard to common, with RawKeyboardImpl per vendor ( #69 )
2019-11-25 11:19:20 -08:00
Dmitry Gozman
025c1fc7bc
feat(engines): introduce xpath engine, switch $x to use it ( #64 )
2019-11-22 17:27:09 -08:00
Pavel Feldman
3190044c00
feat(firefox): implemented *.fill ( #63 )
2019-11-22 16:55:35 -08:00
Pavel Feldman
c4c8d498bd
chore: reuse input code across vendors ( #62 )
2019-11-22 16:47:50 -08:00
Yury Semikhatsky
ef847b1941
fix(page): support multiple bootstrap scripts ( #59 )
2019-11-22 16:25:36 -08:00
Dmitry Gozman
7c69f8c457
feat(engines): move querySelectorAll to css engine ( #61 )
2019-11-22 16:21:30 -08:00
Dmitry Gozman
a9cd015fdb
feat(engines): introduce a css selector engine and a way to query it ( #50 )
2019-11-22 15:36:17 -08:00
Pavel Feldman
ef464e447f
feat(input): dblclick/trippleclick feature parity ( #60 )
2019-11-22 14:46:34 -08:00
Yury Semikhatsky
37a9c17d3e
fix ( #58 )
2019-11-22 14:04:04 -08:00
Yury Semikhatsky
ac01262c88
feat(page): support Page.evaluateOnNewDocument for WebKit ( #55 )
2019-11-22 13:14:07 -08:00
Dmitry Gozman
e04910501b
feat(select): use ElementHandle instead of 'id=foo' when choosing options ( #54 )
2019-11-22 11:54:49 -08:00
Pavel Feldman
b66b005b1f
chore: move wsEndpoint and browser target APIs to features/ ( #52 )
2019-11-22 11:25:53 -08:00
Pavel Feldman
508c1960dd
chore: unify emulateMedia APIs ( #53 )
2019-11-22 11:24:56 -08:00
Pavel Feldman
c26166203e
chore: remove connection / session redundancy ( #51 )
2019-11-22 10:05:32 -08:00
Dmitry Gozman
7783400156
feat(select): allow to select options by value/label/id/index ( #46 )
2019-11-21 21:19:21 -08:00
Joel Einbinder
6fcb4d2f30
feat: remove all environment variables and references to puppeteer-core ( #47 )
...
* feat: remove all environment variables and references to puppeteer-core
* fixup install
2019-11-21 21:17:23 -08:00
Pavel Feldman
f223a98e3d
feat(chromium): roll Chromium to r717627 ( #49 )
2019-11-21 21:16:00 -08:00
Pavel Feldman
1e91257d6e
chore: group chromium-specific features ( #45 )
2019-11-21 16:54:10 -08:00
Dmitry Gozman
57bbd81824
chore: introduce injected source lazily evaluated by execution context ( #42 )
2019-11-21 14:43:30 -08:00
Pavel Feldman
e3dcac1d46
chore: move interception API into features/ ( #43 )
2019-11-21 14:41:38 -08:00
Joel Einbinder
92a6500b23
feat(webkit): page.fill and friends ( #40 )
2019-11-20 16:57:37 -08:00
Pavel Feldman
e869b12f46
chore: remove touchscreen API ( #41 )
2019-11-20 16:55:02 -08:00
Joel Einbinder
206cf7b83f
feat(webkit): pass all keyboard tests ( #39 )
...
Add `keyboard.sendCharacter` and fixes up all of the keyboard tests.
Drive-by to actually allow selectively installing browsers.
2019-11-20 16:39:12 -08:00
Pavel Feldman
f9a89eb313
chore: split vendor APIs ( #38 )
2019-11-20 15:16:57 -08:00
Pavel Feldman
1fe1e150f3
chore: move geolocation into features/ ( #37 )
2019-11-20 14:18:05 -08:00
Pavel Feldman
cf97e2c140
chore: remove handle.boxModel API ( #36 )
2019-11-20 14:15:19 -08:00
Pavel Feldman
653b4b9df3
chore: remove SecurityDetails API ( #35 )
2019-11-20 13:53:27 -08:00
Pavel Feldman
a216063829
chore: remove Request.fromCache/ServiceWorker APIs ( #34 )
2019-11-20 11:57:21 -08:00
Pavel Feldman
76eb289f54
chore: move permissions API into features/ ( #33 )
...
- drive-by accessibility spec moved to a shared folder
2019-11-20 09:40:26 -08:00
Pavel Feldman
48a78b2c8a
chore: remove page.queryObjects API ( #31 )
2019-11-20 09:28:40 -08:00
Pavel Feldman
35e6d10517
chore: remove page.metrics API ( #30 )
2019-11-20 09:28:22 -08:00
Pavel Feldman
83ed65dce8
chore: move workers into features/ ( #29 )
2019-11-19 17:32:43 -08:00
Pavel Feldman
85035fedea
chore: move pdf, tracing, coverage, a11y into featuress/ ( #28 )
2019-11-19 16:29:28 -08:00
Pavel Feldman
60f332d01b
doc: fix doc linter ( #2 )
2019-11-19 13:59:52 -08:00
Pavel Feldman
4b13b5e3c6
chore: remove page.pdf API ( #25 )
2019-11-19 13:50:23 -08:00
Pavel Feldman
9ba375c063
Initial commit
2019-11-19 10:58:15 -08:00