Commit graph

181 commits

Author SHA1 Message Date
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
Pavel Feldman 2e581f1625 feat(emulate): implement emulateMedia color scheme in FF (#71) 2019-11-25 15:00:04 -08:00
Dmitry Gozman d5ad3960c3 chore: move Keyboard to common, with RawKeyboardImpl per vendor (#69) 2019-11-25 11:19:20 -08:00
Dmitry Gozman 025c1fc7bc feat(engines): introduce xpath engine, switch $x to use it (#64) 2019-11-22 17:27:09 -08:00
Pavel Feldman 3190044c00 feat(firefox): implemented *.fill (#63) 2019-11-22 16:55:35 -08:00
Pavel Feldman c4c8d498bd chore: reuse input code across vendors (#62) 2019-11-22 16:47:50 -08:00
Dmitry Gozman 7c69f8c457 feat(engines): move querySelectorAll to css engine (#61) 2019-11-22 16:21:30 -08:00
Dmitry Gozman a9cd015fdb
feat(engines): introduce a css selector engine and a way to query it (#50) 2019-11-22 15:36:17 -08:00
Pavel Feldman ef464e447f
feat(input): dblclick/trippleclick feature parity (#60) 2019-11-22 14:46:34 -08:00
Dmitry Gozman e04910501b
feat(select): use ElementHandle instead of 'id=foo' when choosing options (#54) 2019-11-22 11:54:49 -08:00
Pavel Feldman b66b005b1f chore: move wsEndpoint and browser target APIs to features/ (#52) 2019-11-22 11:25:53 -08:00
Pavel Feldman 508c1960dd
chore: unify emulateMedia APIs (#53) 2019-11-22 11:24:56 -08:00
Pavel Feldman c26166203e chore: remove connection / session redundancy (#51) 2019-11-22 10:05:32 -08:00
Dmitry Gozman 7783400156 feat(select): allow to select options by value/label/id/index (#46) 2019-11-21 21:19:21 -08:00
Joel Einbinder 6fcb4d2f30 feat: remove all environment variables and references to puppeteer-core (#47)
* feat: remove all environment variables and references to puppeteer-core

* fixup install
2019-11-21 21:17:23 -08:00
Pavel Feldman 1e91257d6e chore: group chromium-specific features (#45) 2019-11-21 16:54:10 -08:00
Dmitry Gozman 57bbd81824
chore: introduce injected source lazily evaluated by execution context (#42) 2019-11-21 14:43:30 -08:00
Pavel Feldman e3dcac1d46
chore: move interception API into features/ (#43) 2019-11-21 14:41:38 -08:00
Pavel Feldman e869b12f46 chore: remove touchscreen API (#41) 2019-11-20 16:55:02 -08:00
Pavel Feldman f9a89eb313 chore: split vendor APIs (#38) 2019-11-20 15:16:57 -08:00
Pavel Feldman 1fe1e150f3 chore: move geolocation into features/ (#37) 2019-11-20 14:18:05 -08:00
Pavel Feldman cf97e2c140 chore: remove handle.boxModel API (#36) 2019-11-20 14:15:19 -08:00
Pavel Feldman 653b4b9df3 chore: remove SecurityDetails API (#35) 2019-11-20 13:53:27 -08:00
Pavel Feldman a216063829 chore: remove Request.fromCache/ServiceWorker APIs (#34) 2019-11-20 11:57:21 -08:00
Pavel Feldman 76eb289f54
chore: move permissions API into features/ (#33)
- drive-by accessibility spec moved to a shared folder
2019-11-20 09:40:26 -08:00
Pavel Feldman 48a78b2c8a
chore: remove page.queryObjects API (#31) 2019-11-20 09:28:40 -08:00
Pavel Feldman 35e6d10517
chore: remove page.metrics API (#30) 2019-11-20 09:28:22 -08:00
Pavel Feldman 83ed65dce8 chore: move workers into features/ (#29) 2019-11-19 17:32:43 -08:00
Pavel Feldman 85035fedea chore: move pdf, tracing, coverage, a11y into featuress/ (#28) 2019-11-19 16:29:28 -08:00
Pavel Feldman 60f332d01b
doc: fix doc linter (#2) 2019-11-19 13:59:52 -08:00
Pavel Feldman 4b13b5e3c6 chore: remove page.pdf API (#25) 2019-11-19 13:50:23 -08:00
Pavel Feldman 9ba375c063 Initial commit 2019-11-19 10:58:15 -08:00