Dmitry Gozman
18b2cf5ec7
feat(rpc): use rpc protocol for browserType.connect ( #3380 )
2020-08-13 13:24:49 -07:00
Dmitry Gozman
ef76f5b922
feat(rpc): introduce JSON type in the protocol for arbitrary blobs ( #3367 )
2020-08-10 11:20:32 -07:00
Dmitry Gozman
69c88d8063
feat(rpc): handle screenshot path on the client ( #3352 )
2020-08-07 15:41:34 -07:00
Dmitry Gozman
83f5628549
feat(rpc): misc fixes ( #3351 )
2020-08-07 15:40:21 -07:00
Dmitry Gozman
cdfe73fee3
api(console): make ConsoleMessageLocation properties required ( #3290 )
...
Everywhere in our api, possibly missing properties are nullable.
However, to make things easier for everyone, we just default to an
empty url instead, so that users do not have to null-check it.
2020-08-05 22:25:56 -07:00
Dmitry Gozman
4e5aa3c9c3
feat(rpc): support chromiumSandbox option ( #3251 )
2020-07-31 09:31:55 -07:00
Pavel Feldman
93056ed8ef
chore(rpc): more protocol nits ( #3246 )
2020-07-30 17:51:41 -07:00
Dmitry Gozman
6297f86cfa
feat(rpc): run generate-channels during lint ( #3238 )
2020-07-30 15:08:21 -07:00
Pavel Feldman
1728a3df93
chore: minor protocol fixes ( #3226 )
2020-07-30 11:14:41 -07:00
Max Schmitt
52eb6c609a
fix(rpc): protocol Route.fulfill ( #3200 )
2020-07-29 20:42:14 -07:00
Dmitry Gozman
3bd97776b8
feat(rpc): do not use server types and events in rpc/client ( #3219 )
...
This change removes almost all dependencies from rpc/client
to the rest of the project. The last ones would be utilities
like helper, converters, etc.
2020-07-29 17:26:59 -07:00
Dmitry Gozman
84a17f27eb
fix(rpc): Frame.dblclick is missing notWaitAfter ( #3210 )
2020-07-29 11:45:19 -07:00
Dmitry Gozman
97c10002e7
api: introduce Browser.version() ( #3177 )
2020-07-27 13:41:35 -07:00
Dmitry Gozman
b2179193c6
feat(rpc): replace implicit scopes with explicit dispose ( #3173 )
...
This adds one more protocol message __dispose__
to dispose a scope and all child objects.
Now, client side does not need a notion of scope anymore -
it just disposes the whole object subtree upon __dispose__.
Server, on the other hand, marks some objects as scopes
and disposes them manually, also asserting that all parents
are proper scopes.
2020-07-27 10:21:39 -07:00
Dmitry Gozman
d9890f1102
feat(rpc): make ElectronApplication a scope ( #3159 )
2020-07-24 16:22:20 -07:00
Dmitry Gozman
415e94f410
feat(rpc): server-side validator ( #3150 )
2020-07-24 15:16:33 -07:00
Dmitry Gozman
deccddba24
feat(rpc): update BrowserServer ( #3112 )
...
- Make BrowserServer a scope.
- Plumb exitCode and signal to BrowserServer.on('close').
- Use toImpl in a test.
2020-07-24 10:17:07 -07:00
Dmitry Gozman
68c4f79b02
feat(rpc): convert protocol to yaml ( #3102 )
2020-07-22 19:38:19 -07:00
Dmitry Gozman
b1a5a02154
feat(rpc): client-side parameters validation ( #3069 )
2020-07-22 18:05:07 -07:00
Dmitry Gozman
65002a0ac2
feat(rpc): support firefox user prefs ( #3093 )
...
Also ignore firefoxUserPrefs in launchPersistentContext according to our api.
2020-07-22 17:20:00 -07:00
Pavel Feldman
80c0711d98
feat(firefox): roll firefox to r1137 ( #3095 )
2020-07-22 15:59:37 -07:00
Ross Wollman
d8a17fb0ab
api(download): Add saveAs helper ( #2872 )
2020-07-22 14:55:27 -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
db4e856a57
feat(rpc): use SerializedValue for CDPSession ( #3076 )
...
This is our way to define a schema for arbitrary values.
2020-07-21 15:58:00 -07:00
Dmitry Gozman
18cb1c017a
feat(rpc): inline selectors.register options in the protocol ( #3072 )
2020-07-21 14:41:33 -07:00
Dmitry Gozman
3dd61629e0
feat(rpc): update Response.finished to return string instead of Error ( #3071 )
2020-07-21 14:40:53 -07:00
Dmitry Gozman
3dead4c8d1
feat(rpc): remove last union types from the protocol ( #3059 )
2020-07-21 12:44:30 -07:00
Pavel Feldman
99658c2d32
feat(bringToFront): enable on all browsers ( #3052 )
2020-07-21 09:36:54 -07:00
Dmitry Gozman
2d59a8f9c2
feat(rpc): remove some union types ( #3058 )
2020-07-21 08:26:48 -07:00
Dmitry Gozman
5848ed8f41
feat(rpc): introduce protocol.pdl ( #3054 )
...
We now generate channels.ts from the protocol definition. There are still some shortcomings,
like union types - these will be addressed in follow ups.
2020-07-20 17:38:06 -07:00
Dmitry Gozman
29504c0824
feat(rpc): make SerializedValue format pdl-friendly ( #3007 )
...
This avoids sum types and instead uses different fields
for different types.
2020-07-19 19:46:19 -07:00
Dmitry Gozman
d8bedd851d
chore: explicitly type SerializedArgument, fix rpc dispatchEvent ( #2988 )
...
We now have types for SerializedValue/SerializedArgument. This will
allow us to avoid double parse/serialize for evaluation arguments/results.
Drive-by: typing exposed a bug in ElementHandle.dispatchEvent().
2020-07-17 09:53:13 -07:00
Dmitry Gozman
5cf3e4f0f2
feat(rpc): switch Env to use an array, split ignoreDefaultArgs ( #2984 )
2020-07-17 09:32:27 -07:00
Dmitry Gozman
b890569afc
feat(rpc): move leftover extraHTTPHeaders to HeadersArray ( #2980 )
2020-07-16 13:36:22 -07:00
Dmitry Gozman
439e048a4c
feat(rpc): migrate DeviceDescriptors payload to an array ( #2981 )
...
Currently it is an object with arbitrary keys - that makes it
hard to have a protocol definition.
2020-07-16 13:18:54 -07:00
Dmitry Gozman
aa4c893b09
feat(rpc): implement waitForNavigation on the client ( #2949 )
...
Drive-by: fix electron issues, exposed by the test using
waitForNavigation.
Drive-by: mark some tests skip(CHANNEL) that were mistakenly
marked skip(USES_HOOKS).
2020-07-15 18:48:19 -07:00
Dmitry Gozman
c51ea0afd1
feat(rpc): remove PageAttribution from the protocol, attribute on the client side ( #2957 )
...
This also changes timeout error format to
"page.click: Timeout 5000ms exceeded", so that all errors
can be similarly prefixed with api name.
We can now have different api names in different clients,
and our protocol is more reasonable.
2020-07-15 14:04:39 -07:00
Dmitry Gozman
7f6171579b
feat(rpc): use headers array in the protocol ( #2959 )
2020-07-15 13:21:21 -07:00
Dmitry Gozman
2d5c0328cd
feat(rpc): return objects for every protocol command ( #2950 )
...
For future extensibility, returning objects with fields instead
of plain strings or channels.
2020-07-14 18:26:50 -07:00
Pavel Feldman
d5bd459986
chore(rpc): remove some paths from the channel ( #2934 )
2020-07-14 10:51:37 -07:00
Dmitry Gozman
cc8fe5a763
feat(rpc): support electron ( #2933 )
2020-07-13 21:46:59 -07:00
Dmitry Gozman
9fdb3e23c3
feat(rpc): support selectors ( #2936 )
2020-07-13 17:47:15 -07:00
Dmitry Gozman
65d45c18c3
feat(rpc): introduce Waiter for various waitFor implementations ( #2935 )
...
Use it for waitForEvent and waitForLoadState.
2020-07-13 16:03:24 -07:00
Dmitry Gozman
9fd30e58e2
feat(rpc): ensure feature-detection works as before ( #2898 )
...
For this, some tests are migrated from skip() to feature detection,
like our users would do.
2020-07-13 15:26:09 -07:00
Pavel Feldman
631f76df75
chore(rpc): remove union types from page and handles ( #2912 )
2020-07-10 15:39:11 -07:00
Pavel Feldman
c89c30e333
fix(popup): do not report frameless pages ( #2910 )
2020-07-10 13:15:39 -07:00
Dmitry Gozman
a91ec9a15d
feat(rpc): pass more tests ( #2896 )
...
Includes coverage, tracing and misc close() tests.
2020-07-09 15:33:01 -07:00
Dmitry Gozman
8fe29feb21
feat(rpc): support more chromium-specific apis ( #2883 )
...
This includes page CDPSession, backgroundPages() and serviceWorkers().
This has also revealed an issue with closing order between the context
and the service worker.
2020-07-08 21:36:03 -07:00
Pavel Feldman
b3ca4afd40
chore: misc test fixes ( #2857 )
2020-07-08 18:42:31 -07:00
Pavel Feldman
6209d14f87
chore: misc test fixes ( #2888 )
2020-07-08 18:42:04 -07:00