Dmitry Gozman
20c6b85178
chore: remove route/unroute from the server side ( #3518 )
...
We only use a global "intercept all requests" handler on
page and browser context, instead of granular ones.
2020-08-18 17:34:04 -07:00
Dmitry Gozman
aeadf50165
chore: use HeadersArray instead of Headers object on the server side ( #3512 )
...
This simplifies implementation and avoids multiple conversions.
Also adding some tests around lowercase and wrong types.
2020-08-18 15:38:29 -07:00
Dmitry Gozman
9790ea5b5d
chore: align more server-side options with rpc protocol ( #3506 )
...
This touches:
- noDefaultViewport;
- ignoreAllDefaultArgs;
- env;
- validateXYZ logic that was copying objects - we do not need that anymore;
- shuffles some converters closer to their usage.
2020-08-18 09:37:40 -07:00
Dmitry Gozman
58fc6b4003
chore: align some server-side methods with rpc calls ( #3504 )
...
- Never write to console on the server side - we use stdout for
communication. This includes logPolitely and deprecate.
- Pass undefined instead of null in some BrowserContext methods.
- Use explicit _setFileChooserIntercepted instead of on/off magic.
2020-08-17 16:19:21 -07:00
Dmitry Gozman
141a255a07
chore: remove unused methods from server side ( #3502 )
...
Most of these were api methods that are no longer called directly.
2020-08-17 14:36:51 -07:00
Dmitry Gozman
1e9c0eb705
chore: remove logger infrastructure from server side ( #3487 )
...
We do not implement LoggerSink on the server, so we can
use a simple debugLogger.
2020-08-17 14:12:31 -07:00
Dmitry Gozman
bc23324878
chore: remove apiName plumbing and some unused methods from server side ( #3481 )
...
We append apiName where needed on the client instead.
2020-08-14 18:25:32 -07:00
Yury Semikhatsky
d8d845afcc
feat(screencast): add private recording APIs and basic test ( #3296 )
2020-08-10 21:22:57 -07:00
Dmitry Gozman
b1a5a02154
feat(rpc): client-side parameters validation ( #3069 )
2020-07-22 18:05:07 -07:00
Dmitry Gozman
ced0bc2d1b
api: make clear the use of null in page.emulateMedia ( #3078 )
...
We can pass null to disable emulating particular feature.
This change updates the docs and rpc protocol accordingly.
2020-07-21 18:56:41 -07:00
Dmitry Gozman
1553f19bab
chore: update error messages to match future rpc validator ( #3075 )
2020-07-21 15:25:31 -07:00
Pavel Feldman
99658c2d32
feat(bringToFront): enable on all browsers ( #3052 )
2020-07-21 09:36:54 -07:00
Pavel Feldman
424f11d165
test: convert some tests to the jest+fixtures ( #2983 )
2020-07-16 16:59:45 -07:00
Dmitry Gozman
198ecee875
api(exposeBinding): allow handles in the binding result ( #2970 )
2020-07-15 20:05:11 -07:00
Dmitry Gozman
1b84ec9023
fix(binding): dispatch binding after the page has been initialized ( #2938 )
...
... but not after it was closed.
2020-07-14 13:34:49 -07:00
Dmitry Gozman
c63b706aac
fix(events): avoid firing events after close/detach ( #2919 )
2020-07-10 16:38:01 -07:00
Pavel Feldman
c89c30e333
fix(popup): do not report frameless pages ( #2910 )
2020-07-10 13:15:39 -07:00
Dmitry Gozman
2a86ead0ac
chore: replace FrameTask with internal events on Frame ( #2856 )
...
We now use a few helper.waitForEvent calls to wait for internal
events kNavigationEvent and kLifecycleEvent. With these events,
we should be able to replicate logic over rpc.
2020-07-07 15:22:05 -07:00
Dmitry Gozman
ff1fe3ac39
fix(close): actually mark the page as closing ( #2798 )
...
Currently double-closing flakiness is seen on Firefox bots.
2020-07-01 16:05:56 -07:00
Pavel Feldman
e29f7b9f58
chore(rpc): support workers, file chooser, browser server ( #2766 )
2020-06-30 10:55:11 -07:00
Pavel Feldman
5bb018e0e5
chore(rpc): attribute calles to page, ignore USES_HOOKS ( #2764 )
2020-06-29 18:58:09 -07:00
Dmitry Gozman
38236b4f29
fix(close): ensure close() can be called twice ( #2744 )
...
... without any exceptions.
2020-06-29 16:26:32 -07:00
Pavel Feldman
71618a9e2b
chore(rpc): implement input, a11y, console ( #2722 )
2020-06-25 18:01:18 -07:00
Dmitry Gozman
ab6a6c9b82
chore: run most actions through page._runAbortableTask ( #2721 )
...
This introduces a single place for future snapshots.
2020-06-25 16:57:21 -07:00
Dmitry Gozman
807dc1f324
fix(crash): improve documentation for crash, reject waitForEvent ( #2694 )
2020-06-25 09:53:56 -07:00
Pavel Feldman
bc3050776e
chore: prepare library types for rpc ( #2706 )
2020-06-25 08:30:56 -07:00
Dmitry Gozman
39ce35e154
fix(errors): strict error handling around element operations ( #2567 )
...
- Gave all possible dom errors distinct names, and throw them on the node side.
- Separated errors into FatalDOMError and RetargetableDOMError.
Fatal errors are unrecoverable. Retargetable errors
could be resolved by requerying the selector.
- This exposed a number of unhandled 'notconnected' cases.
- Added helper functions to handle errors and ensure TypeScript catches
unhandled ones.
2020-06-24 15:12:17 -07:00
Dmitry Gozman
355305d31d
feat(screenshot): accept timeout, migrate to Progress, wait for visible ( #2679 )
...
Element screenshot now waits for the element to become visible and
throws on detach.
Both screenshot methods accept a timeout and capture logs using Progress.
Also, carefully handling exceptions and restoring the viewport.
2020-06-24 10:16:54 -07:00
Pavel Feldman
fca514d74e
chore: move non-trivial types out of types.ts ( #2680 )
2020-06-23 14:51:06 -07:00
Joel Einbinder
9000ccb3b2
fix(click): don't timeout when innerWidth is modified ( #2669 )
...
We were evaluating `innerWidth` in the main context, where it could be modified.
2020-06-22 14:03:31 -07:00
Pavel Feldman
eac7dab8b7
fix(cors): allow intercepting cors requests on chromium ( #2643 )
2020-06-19 17:14:32 -07:00
Pavel Feldman
c220fc7f46
chore(logs): rework logs for simplicity ( #2592 )
2020-06-16 17:11:19 -07:00
Pavel Feldman
61b11252b4
chore(debug): various debug mode improvements ( #2561 )
2020-06-13 13:17:12 -07:00
Dmitry Gozman
d4c466868b
chore: explicitly plumb various errors through the retries ( #2554 )
...
We are about to have more errors, so explicit plumbing helps with visibility.
2020-06-12 14:59:26 -07:00
Pavel Feldman
894826dec0
chore: form the debug script for authoring hints / helpers ( #2551 )
2020-06-11 18:18:33 -07:00
Pavel Feldman
e287f19493
feat(debug): add basic recording helper infra ( #2533 )
2020-06-11 11:42:52 -07:00
Dmitry Gozman
5e97acde0c
fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs ( #2542 )
2020-06-11 11:41:36 -07:00
Dmitry Gozman
1bb33650b0
chore: remove ExtendedEventEmitter and inline waitForEvent ( #2529 )
2020-06-10 15:12:50 -07:00
Darío Kondratiuk
e3f34f6ae2
fix(selectOption): allow passing null to unselect all ( #2405 )
2020-06-10 09:37:29 -07:00
Dmitry Gozman
80705ff5e9
chore: simplify logging a bit ( #2512 )
...
This merges a few classes and stops inheriting from InnerLogger.
2020-06-09 16:11:17 -07:00
Dmitry Gozman
300099734c
chore: migrate waitForEvent to Progress ( #2483 )
...
Drive-by: remove/simplify some helper code.
2020-06-05 14:14:19 -07:00
Dmitry Gozman
d5c992e1db
chore: unify evaluations across browsers even more ( #2459 )
...
This moves all the logic around UtilityScript to javascript.ts.
Also uncovers a bug in WebKit where we cannot returnByValue after navigation.
2020-06-03 17:50:16 -07:00
Dmitry Gozman
8e6375f532
chore: reduce the number of evaluate methods, improve types ( #2454 )
...
Types can now handle non-trivial tuples with handles inside.
2020-06-03 13:22:05 -07:00
Dmitry Gozman
de0bbd3031
chore: remove page pause support ( #2431 )
2020-06-01 11:14:16 -07:00
Dmitry Gozman
e2972ad5ba
feat(click): retry when the element it outside of the viewport ( #2330 )
...
The element might get animated into the viewport.
2020-05-22 11:15:57 -07:00
Andrey Lushnikov
f24696be62
feat: add page convenience methods for textContent and getAttribute ( #2235 )
...
This patch adds:
- `page.innerText()` / `frame.innerText()`
- `page.innerHTML()` / `frame.innerHTML()`
- `page.textContent()` / `frame.textContent()`
- `page.getAttribute()` / `frame.getAttribute()`
Fixes #2143
2020-05-18 17:58:23 -07:00
Pavel Feldman
2bd427ad1d
feat(exposeBinding): a more powerful exposeFunction with source attribution ( #2263 )
2020-05-18 14:28:06 -07:00
Dmitry Gozman
072dcba94a
api(viewport): do not allow isMobile and deviceScaleFactor for null viewports ( #2190 )
...
Also make sure we do not alter viewport when passed null.
2020-05-12 18:31:17 -07:00
Pavel Feldman
f6210ae996
fix(webkit): click moving targets on windows ( #2101 )
2020-05-04 16:30:19 -07:00
Yury Semikhatsky
5993a6a0e0
fix: throw from eval methods if >1 argument is passed ( #2043 )
2020-04-29 18:35:04 -07:00