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
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
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
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
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
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
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
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
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
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