Commit graph

107 commits

Author SHA1 Message Date
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
Andrey Lushnikov 2db97e3b2d
feat(firefox): migrate to protocol-based proxy implementation (#3362)
This migrates Firefox to the protocol-based proxy implementation.

Benefits:
- supports secure web proxies (already supported by Chromium)
- unlocks support for SOCKS proxies with authentication
2020-08-11 11:36:27 -07:00
Dmitry Gozman 97c10002e7
api: introduce Browser.version() (#3177) 2020-07-27 13:41:35 -07:00
Pavel Feldman c89c30e333
fix(popup): do not report frameless pages (#2910) 2020-07-10 13:15:39 -07:00
Dmitry Gozman ac2185a9d9
test: update http credentials tests (#2806) 2020-07-06 11:28:07 -07:00
Andrey Lushnikov 55a07dbf4d
fix: follow-up with offline comments on implementation of deprecation (#2770)
This moves all extra deprecation messages from vendor implementations
into a single vendor-neutral land.
2020-06-30 11:02:12 -07:00
Andrey Lushnikov 0963c1979e
chore: deprecate method context.setHTTPCredentials() (#2763)
This will start emitting deprecation warning once
`context.setHTTPCredentials` is called.
2020-06-29 16:37:01 -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 bc3050776e
chore: prepare library types for rpc (#2706) 2020-06-25 08:30:56 -07:00
Joel Einbinder b88fabab13
test: add another test for browserContext.addInitScript (#2285) 2020-06-18 12:27:48 -07:00
Pavel Feldman c220fc7f46
chore(logs): rework logs for simplicity (#2592) 2020-06-16 17:11:19 -07:00
Pavel Feldman fb058ffe0d
feat(proxy): allow specifying proxy (#2485) 2020-06-05 13:50:15 -07:00
Dmitry Gozman ece4789165
feat(debug): expose playwright object in console (#2365)
- playwright.$ and playwright.$$ to query elements;
- playwright.inspect to reveal an element;
- playwright.clear to remove highlight.
2020-05-27 22:16:54 -07:00
Dmitry Gozman aae3f1e75d
feat(default context): support selected options for default context (#2177) 2020-05-21 15:13:16 -07:00
Pavel Feldman f9b437a49e
chore: pull common functionality into the BrowserTypeBase (#2312) 2020-05-20 16:30:04 -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 e8e761f77f
chore: use internal BrowserOptions to unify browsers (#2230) 2020-05-14 13:22:33 -07:00
Dmitry Gozman 650d73445c
fix(actions): do not wait for the created popups (#2219)
Since we are recommending Promise.all pattern anyway, this special
logic just adds to the possibility of timeout if something goes wrong.

For example, Firefox sometimes send Page.willOpenNewWindowAsynchronously
later than the new target arrives and input action just hangs.
2020-05-13 17:20:33 -07:00
Pavel Feldman f63ea3ffd2
feat(downloads): expose suggested filename (#2062) 2020-05-12 19:23:08 -07:00
Dmitry Gozman 28845e5ccc
feat(firefox): bump and use context setters (#2194) 2020-05-12 15:13:48 -07:00
Dmitry Gozman ae8d97cdf9
feat(persistent context): ensure initial about:blank (#2161)
We declare only the initial about:blank to be a supported usecase, so that
we can support options for the default context in the future.
2020-05-10 15:23:53 -07:00
Yury Semikhatsky 78b44ed2a0
fix: report new window downloads (#2019) 2020-04-29 18:36:24 -07:00
Pavel Feldman 5b085fdf03
feat(logger): introduce context-level logger (#1896) 2020-04-20 23:24:53 -07:00
Dmitry Gozman d1a95518be
chore: remove old TODOs, add a test (#1879) 2020-04-20 13:01:06 -07:00
Pavel Feldman 1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Yury Semikhatsky c359116a3b
fix: create _defaultContext only in persistent mode (#1854) 2020-04-18 19:58:11 -07:00
Dmitry Gozman f5942295d4
feat(api): wait for popups and downloads when performing actions (#1744) 2020-04-16 13:09:24 -07:00
Dmitry Gozman ba36860d79
feat(api): page.unroute to remove routes (#1813) 2020-04-15 19:55:22 -07:00
Yury Semikhatsky a7ae205254
feat(firefox): support downloads (#1689) 2020-04-07 15:01:42 -07:00
Pavel Feldman 3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Joel Einbinder b7d0c32338
fix(browser): wait for the pipe to disconnect in browser.close (#1652)
With WebKit, sometimes the process closes before the stdio is streams are closed. I explicitly wait for the browser disconnect event now when closing.
2020-04-03 16:34:07 -07:00
Dmitry Gozman ea16e55ba3
fix(lint): import errors (#1649) 2020-04-02 20:30:52 -07:00
Pavel Feldman 75571e8eb8
feat(downloads): support downloads on cr and wk (#1632) 2020-04-02 17:56:14 -07:00
Joel Einbinder 3d6d9db44a
fix: wait for the process to close when closing the browser (#1629) 2020-04-02 16:57:12 -07:00
Yury Semikhatsky 7c2ddc2e00
feat(firefox): support timezone override (#1578) 2020-04-01 22:10:56 -07:00
Pavel Feldman e241c1bef8
chore: remove web mode (#1625) 2020-04-01 14:42:47 -07:00
Yury Semikhatsky c218d8c25f
fix(firefox): isolate ignoreHTTPSErrors setting between contexts (#1617) 2020-04-01 12:59:48 -07:00
Pavel Feldman 00cb4e370f
chore: move transport to object messages (#1567) 2020-03-26 23:30:55 -07:00
Pavel Feldman 15ebe1c339
feat(exposeFunction): implement context-level expose on firefox (#1478) 2020-03-22 22:45:15 -07:00
Pavel Feldman c68cee9fb7
feat(offline): implement offline in firefox (#1476) 2020-03-22 15:34:30 -07:00
Dmitry Gozman 6e8895fa08
fix(firefox): make interception, locale and geolocation work on browser context level (#1472) 2020-03-22 08:56:50 -07:00
Pavel Feldman 1b08797c6f
tests(ff): uncomment a couple of firefox tests (#1465) 2020-03-21 17:58:33 -07:00
Pavel Feldman e210e5601c
feat(lang): emulate language on firefox (#1453) 2020-03-20 19:32:27 -07:00
Pavel Feldman c539325615
feat(geo): implement geo override in ff (#1438) 2020-03-20 19:17:46 -07:00
Dmitry Gozman 16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions (#1431) 2020-03-20 15:08:17 -07:00