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 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
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
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
Pavel Feldman
d570fc7809
feat: further strip the browser api ( #304 )
2019-12-18 18:07:11 -08:00
Pavel Feldman
0e3328218d
feat(context): remove the notion of incognito context ( #299 )
2019-12-18 16:44:02 -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
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
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
Dmitry Gozman
5a60a96410
chore: reuse navigation methods between browsers ( #271 )
2019-12-16 22:02:33 -08: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
Dmitry Gozman
09bf6b1906
fix(navigation): expect navigation on navigation request ( #248 )
2019-12-14 08:20:51 -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 Feldman
046d015782
chore: unify transports, serialize events with acks ( #239 )
2019-12-13 14:53:49 -07: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
c7cf4886ea
api: s/createIncognitoBrowserContext/newContext/
2019-12-12 20:14:50 -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
Pavel Feldman
6440323003
fix(webkit): wait for main response on subresource-free goto ( #216 )
2019-12-11 16:19:37 -08:00
Dmitry Gozman
b70eebc4b2
chore: merge PageDelegate, FrameDelegate and ScreenshotterDelegate ( #213 )
2019-12-11 13:36:41 -07: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
Dmitry Gozman
5ffb710d7d
chore: reuse BrowserContext across browsers ( #201 )
2019-12-10 15:13:56 -08:00
Andrey Lushnikov
329b34e894
feat: implement mac keyboard ( #197 )
...
This list contains all of the default keyboard shortcuts for macos, and the Objective-C selector that they trigger on the [NSStandardKeyBindingResponding](https://developer.apple.com/documentation/appkit/nsstandardkeybindingresponding/3005237-moveleft?language=objc ). We need these for basic keyboard functionality like ArrowUp and ArrowDown to work on WebKit for mac. For other browsers on mac, the same list can be used to enable better mac keyboard emulation.
The list was made by constructing NSEvents on a mac and seeing what selectors they triggered on an NSTextView. The conversion from NSEvents to DOM codes was done partially by hand as the code that does this conversion lives across many files in WebKit. There may be some errors or missing commands, but in general this should be a more faithful mac keyboard emulation than what we do in Chromium currently.
Notably absent from the list are Cut, Copy, Paste, Paste Special, Undo, and Redo. They are handled in a slightly different way.
2019-12-10 13:22:01 -08:00
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
640646b794
chore(firefox): migrate to common Page ( #188 )
2019-12-09 14:53:17 -08:00
Dmitry Gozman
c323a3e50b
chore(chromium): move Page to common, implement PageDelegate ( #184 )
2019-12-09 14:08:20 -07: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
f38ab5d80f
chore: reuse BrowserFetcher between browsers ( #177 )
2019-12-08 13:29:03 -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
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
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
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
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
Dmitry Gozman
fc5898892b
feat(selectors): support optional "visible" property in all selectors ( #129 )
2019-12-04 13:11:10 -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
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
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
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
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
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
038e24c089
chore: common types for evaluate functions ( #72 )
2019-11-25 15:06:52 -08:00