Commit graph

374 commits

Author SHA1 Message Date
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