Commit graph

151 commits

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