Commit Graph

2514 Commits

Author SHA1 Message Date
Pavel Feldman
51c975b098 chore: group more feature test files 2019-12-08 09:04:07 -08:00
Yury Semikhatsky
9249ccbc77
feat(webkit): extend TargetInfo with information about related targets (#174) 2019-12-07 18:15:31 -07: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
Dmitry Gozman
3fe20ba516 fix(webkit): disable throttling and pass frameId to load/domcontentloaded (#173) 2019-12-07 16:35:32 -08:00
Pavel
5274f2bd3c chore: only test request interception for Chrome & FF 2019-12-06 17:37:45 -08:00
Pavel
1377be2b27 fix: fix new jpeg and png deps 2019-12-06 17:14:08 -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
Yury Semikhatsky
10edb02fb6 feat(webkit): roll to 1016 2019-12-06 16:30:59 -08:00
Pavel
0884e29695 chore: rearrange test spec files 2019-12-06 16:15:47 -08:00
Yury Semikhatsky
6294f0248a feat(webkit): disable back-forward cache when inspector client is connected (#170) 2019-12-06 15:26:50 -08:00
Pavel
b45ea22660 test: fix element.handle nested frames 2019-12-06 15:11:14 -08:00
Joel Einbinder
e727ee0c81 fix(doc): Make browser_patches/contributing.md more straightforward (#167) 2019-12-06 15:56:37 -07: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
57313e3f73
feat: basic d.ts file (#161)
`protocol.d.ts` had to move to `protocol.ts` otherwise typescript refuses to include it in the out directory.

Removed the old d.ts generator. It will need to be rewritten anyway.

These new types include private stuff that they probably shouldn't, and are missing documentation. I'll follow up with a better d.ts generator later.

#6
2019-12-06 11:28:23 -08:00
Joel Einbinder
1c9103e642 test(chrome): failing test for clicking when scroll-behavior is smooth (#136) 2019-12-05 17:58:19 -08:00
Pavel Feldman
2c185e3ead feat(webkit): move quads to float space (#162) 2019-12-05 17:57:21 -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
Andrey Lushnikov
e4fad11c16 chore(ci): use bionic for travis 2019-12-05 15:18:55 -08:00
Andrey Lushnikov
fe34ddf766
chore(ci): attempt to bring back travis to life 2019-12-05 15:13:20 -08:00
Andrey Lushnikov
81c8a43e4b chore(ci): add travis deps to run WebKit Linux (#159) 2019-12-05 15:57:44 -07:00
Dmitry Gozman
e992c7fa7d chore: unify screenshot handling between browsers, introduce Screenshotter everywhere (#156) 2019-12-05 14:48:39 -08:00
Pavel Feldman
69d2d81c05 feat(webkit): emulate background and device scale (#157) 2019-12-05 14:44:35 -08:00
Yury Semikhatsky
b84d3c6cbe chore: do not accumulate protocol messages for debugging (#150) 2019-12-05 14:13:17 -08:00
Andrey Lushnikov
929a5944bd test: fix chromium tests (#155)
3 chromium tests were failing on Linux.
2019-12-05 15:12:22 -07: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
Andrey Lushnikov
ed39499cea
rebaseline(webkit): rebaseline webkit atop of @131efe8ad (#154)
Review URL: 36a589c93d
2019-12-05 14:01:25 -08:00
Joel Einbinder
7af47b6fcb mark: v0.9.1-post 2019-12-05 21:27:17 +00:00
Pavel Feldman
2d77760f01
chore: move tests around after targets extraction (#153) 2019-12-05 13:15:17 -08:00
Joel Einbinder
79d3b5dffd fix: docs for 0.9.1 2019-12-05 21:11:29 +00:00
Joel Einbinder
4d768d6bc3 chore: mark version v0.9.1 2019-12-05 21:10:13 +00:00
Andrey Lushnikov
df55f29373 devops(ci): cleanup travis config 2019-12-05 13:04:41 -08:00
Dmitry Gozman
0a9377e0a9 chore: prepare to npm publish (#148)
- setup .npmignore;
- index.js selecting a browser;
- minor package.json tweaks;
- example script which works against npm pack'ed module.
2019-12-05 11:29:16 -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
Pavel Feldman
4106091870
fix: release webview upon page.close (#147) 2019-12-04 23:28:47 -08:00
Yury Semikhatsky
5061f70300
feat(webkit): roll to 1011 (#145) 2019-12-04 23:25:53 -07:00
Yury Semikhatsky
5432d16052 feat(backend): add go back/forward commands to Page (#143) 2019-12-04 18:14:34 -08:00
Andrey Lushnikov
d54939f861
feat(osx): implement clicks on WebKit (#142)
Review URL: 5a76cd676a

This implements mouse events on WebKit-Mac. This uses a similar
approach to the GTK port, creating a NativeWebMouseEvent without
a backing native event and dispatching it to WebPageProxy.

WebKit WebDriver implementation takes a different approach where they
employ `[nswindow sendEvent:]` method. Unfortunately for us, it's
quite challenging to make this method work for the headless mode
on OSX.

For future reference: chromium has a nice
"event_generator_delegate_mac.mm" that dispatches events right into
`NSResponder`. This approach didn't work as well for us here.
2019-12-04 18:02:39 -08:00
Pavel Feldman
f6e9ea9aec feat(webkit): roll to 1009 2019-12-04 17:59:56 -08:00
Joel Einbinder
9f603c49fb
feat: easy download (#56) 2019-12-04 17:58:38 -08:00
Pavel Feldman
46a46d8da1
feat(webkit): respect default context in gtk (#141) 2019-12-04 17:07:28 -08:00
Pavel
65a52294e2 feat(webkit): roll webkit to 1008 2019-12-04 16:14:48 -08:00
Pavel Feldman
e1c4eaae28
chore: make targets chromium feature (#137) 2019-12-04 16:12:43 -08:00