Commit graph

840 commits

Author SHA1 Message Date
Max Schmitt 9dfe9348ac
feat: Request.postDataJSON (#2368) 2020-05-27 18:43:49 -07:00
Pavel Feldman e168fddac8
fix(evaluate): consistently serialize json values (#2377) 2020-05-27 17:19:05 -07:00
Dmitry Gozman 609bc4cfb0
chore: add stack trace utilities and tests (#2371) 2020-05-27 14:26:44 -07:00
Dmitry Gozman 1e2b46437d
feat(debug): when debugging, use zero as default timeout (#2362)
Otherwise, operations always time out while stepping in debugger.
2020-05-27 13:25:57 -07:00
Dmitry Gozman 8f0f32b5e6
chore: move debug-related code to src/debug (#2309) 2020-05-26 14:08:32 -07:00
Dmitry Gozman 27d30fe162
chore: encapsulate more launching logic in BrowserType (#2339) 2020-05-22 16:06:00 -07:00
Dmitry Gozman aac5bf24ec
fix(popups): do not override popup size from window features (#2139)
We usually force window size from the browser context. However,
popups that have window features insist on a specific window size,
so we respect that.
2020-05-22 15:56:37 -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
Dmitry Gozman 55d47fd48f
chore: unify launching server between browser types (#2338) 2020-05-22 07:03:42 -07:00
Dmitry Gozman 3aca21c13b
chore: simplify launch routine a bit more (#2336) 2020-05-21 19:16:13 -07:00
Pavel Feldman 5ee6494032
feat(evaluate): return user-readable error from evaluate (#2329) 2020-05-21 16:00:55 -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 2ede4bce12
chore: further unify launching and connection (#2320) 2020-05-21 09:43:10 -07:00
Yury Semikhatsky 9154f4b6e0
feat(webktt): explicitly enable Playwright domain on start (#2315) 2020-05-21 08:44:57 -07:00
Pavel Feldman f9b437a49e
chore: pull common functionality into the BrowserTypeBase (#2312) 2020-05-20 16:30:04 -07:00
Pavel Feldman aa0d844c76
chore: introduce utility script for evaluate helpers (#2306) 2020-05-20 15:55:33 -07:00
Dmitry Gozman 48440f7ed7
test: unflake fixtures test (#2313)
Drive-by: ensure we call onkill before manually exiting the process.
2020-05-20 14:58:27 -07:00
Pavel Feldman e558f0516b
chore: print the launch error message to console (#2304) 2020-05-20 00:10:10 -07:00
Andrey Lushnikov e312845ba9
fix: less confusing error message (#2305)
Fixes #2283
2020-05-19 17:47:46 -07:00
Andrey Lushnikov 545c43d28d
fix: better hittarget testing for clicking (#2217)
While checking for hittarget, we first bubble from a target element
up to find the first element without `pointer-events: none` style.

This bubbling does not make much sense: we risk desperately clicking
"body" element, when we were actually asked to click some deeply-nested
"span".

Additionally, in many cases the original intent is to click a button. In this
case, we should use the enclosing "button" as a hit target directly.

Fixes #2175
2020-05-19 16:27:56 -07:00
Dmitry Gozman de606b9553
fix(chromium): handle various exception values in pageerror (#2293) 2020-05-19 15:20:49 -07:00
Dmitry Gozman 7efc22c062
fix(chromium): websocket wrapper leaks child sessions (#2291)
When a parent session is detached, we do not always get Target.detachedFromTarget
for child sessions. This is especially true when the socket disconnects, leaving
all child sessions in the maps.

Flakily reproducible by browserType.connect multiclient tests.
2020-05-19 15:02:13 -07:00
Dmitry Gozman 481643409e
feat(debug): persist devtools preferences in Chromium (#2266)
We store devtools-preferences.json file in the downloaded browser directory.
2020-05-19 14:55:11 -07:00
Dmitry Gozman 8957c86837
feat(debug): add source maps to evaluates in debug mode (#2267)
When PLAYWRIGHT_DEBUG_UI is set, we try to find the source
of the function in the current file and source map it.
2020-05-19 08:40:45 -07:00
Dmitry Gozman 82cab094e8
feat(logging): add logging to websocket transport (#2289) 2020-05-18 19:00:38 -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
Dmitry Gozman 359cb3a740
fix(oopif): adopt main requests into oopifs (#2284)
Main request for an OOPIF starts in the parent session, and the oopif
session is create only after the response has been received. Therefore,
we should adopt the request after oopif session is created.
2020-05-18 17:13:51 -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 4bf5742d47
fix(chromium): abort fetch requests that lack networkId (#2254)
These requests are usually internal ones, and we can safely abort them.
An example would be DevTools loading cached resources to show the content.
There will never be a matching Network.requestWillBeSent event, so we do not
report them to the user.
2020-05-15 15:22:29 -07:00
Pavel Feldman 99b7aaace8
chore: refactor injected script harness (#2259) 2020-05-15 15:21:49 -07:00
Andrey Lushnikov a38ac3fb62
fix: report hash in page.url() (#2252)
Fixes #2247
2020-05-14 17:23:19 -07:00
Andrey Lushnikov e035bf3b33
fix: update webkit version (#2250)
Fix #2245
2020-05-14 16:47:18 -07:00
Dmitry Gozman 63cc126805
fix(webkit): do not swallow init errors (#2242)
This is a speculative fix to the following issue from the bots:

NON-TEST ERROR #0: UNHANDLED ERROR
  TypeError: Cannot read property 'url' of undefined
      at WKPage._onTargetCreated (/Users/runner/runners/2.169.1/work/playwright/playwright/src/webkit/wkPage.ts:274:12)
      at process._tickCallback (internal/process/next_tick.js:68:7)

I assume that _initializeSession did swallow an error, so we erroneously
consider Page to be fully initialized (and having main frame).
2020-05-14 15:43:23 -07:00
Dmitry Gozman e8e761f77f
chore: use internal BrowserOptions to unify browsers (#2230) 2020-05-14 13:22:33 -07:00
Dmitry Gozman 76e106605f
fix(screenshot): use innerW/H instead of offsetW/H to determine viewport size (#2229)
When capturing a screenshot with null viewport, we determine the screenshot size
based on body.offsetHeight. This is a very large number for long pages. We should
use window.innerHeight instead.
2020-05-13 20:53:11 -07:00
Joel Einbinder dbef7de42a
feat(electron): types (#2231) 2020-05-13 20:51:53 -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
Yury Semikhatsky e081ba7256
chore: improve error message (#2222) 2020-05-13 15:57:26 -07:00
Pavel Feldman f63ea3ffd2
feat(downloads): expose suggested filename (#2062) 2020-05-12 19:23:08 -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
Yury Semikhatsky f10e8c4d47
chore(chromium): nicer error when running as root without --no-sandbox (#2214) 2020-05-12 16:43:15 -07:00
Pavel Feldman 624ca4d85d
chore: restore copyright for SerializedAXNode type 2020-05-12 15:33:51 -07:00
Pavel Feldman 414ae0025e
fix(electron): handle in-event await errors (#2207) 2020-05-12 15:28:37 -07:00
Dmitry Gozman 28845e5ccc
feat(firefox): bump and use context setters (#2194) 2020-05-12 15:13:48 -07:00
Pavel Feldman cb465bc698
fix(abort): abort waiting with error upon disconnect (#2204) 2020-05-12 13:38:24 -07:00
Pavel Feldman 3f8dfed67f
feat(electron): add app.firstWindow convenience method (#2195) 2020-05-12 08:43:41 -07:00
Pavel Feldman ffe7084652
feat(electron): experimental electron support (#2166) 2020-05-11 18:00:33 -07:00
Dmitry Gozman a2bee2ca73
fix(launch): handle timeout and exceptions during launch (#2185) 2020-05-11 15:00:13 -07:00
Pavel Feldman 9895cd0a31
chore: optionally create downloads folder (#2188) 2020-05-11 14:42:13 -07:00
Dmitry Gozman 8c083486a0
fix(launch): handle websocket connect exceptions (#2184) 2020-05-11 13:49:57 -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
Pavel Feldman 8e59031078
chore: introduce debugAssert (#2160) 2020-05-08 10:37:54 -07:00
Pavel Feldman 7a8dd2c361
feat(console): allow page.on('console', console.log) (#2145) 2020-05-07 15:34:09 -07:00
Dmitry Gozman 51fe84922c
fix(css selector): support comma-separated selector lists (#2120) 2020-05-07 13:36:54 -07:00
Pavel Feldman 793a2bf7d4
fix(firefox): do not run firefox as a part of the installation process (#2125) 2020-05-06 10:42:27 -07:00
Pavel Feldman d95891ebad
fix(install): only install browsers needed by this revision (#2112) 2020-05-04 22:24:40 -07:00
Dmitry Gozman 33ebe66ad4
fix(webkit): allow contenttype with charset in interception (#2108) 2020-05-04 21:49:54 -07:00
Pavel Feldman 1c17929bd8
chore: add input logging and timeout debugging hints (#2109) 2020-05-04 21:44:33 -07:00
Pavel Feldman f6210ae996
fix(webkit): click moving targets on windows (#2101) 2020-05-04 16:30:19 -07:00
Pavel Feldman 710c156d48
fix(chromium): disable same site by default and improved controls (#2097) 2020-05-04 13:43:44 -07:00
Pavel Feldman bcce48362a
api(waitForSelector): make "state: visible" default, includes rename to state (#2091) 2020-05-04 11:03:44 -07:00
Pavel Feldman 1f0217986e
feat(firefox): cache firefox pre-compiled scripts (#2087) 2020-05-04 09:34:59 -07:00
Yury Semikhatsky 03ca297890
fix(webkit): make click work with cross-process _blank target (#2083) 2020-05-02 10:57:33 -07:00
Pavel Feldman f8bea85c88
feat(webkit): disable pause on click (#2077) 2020-05-01 12:59:18 -07:00
Dmitry Gozman d7a1e013c6
fix(chromium): do not wait forever for navigations that target another tab/download (#2068) 2020-04-30 21:24:03 -07:00
Pavel Feldman 9c67ce5289
test: simplify pausing tests (#2056) 2020-04-30 14:13:47 -07:00
Dmitry Gozman 953dd36d38
feat(api): remove 'mutation' polling option (#2048)
It is not compatible with shadow dom.
2020-04-29 21:34:14 -07:00
Dmitry Gozman 4afd39117a
fix(waitForSelector): use raf polling instead of mutation (#2047)
MutationObserver does not work with mutations in the shadow, so we cannot use it for selectors that pierce shadows.
2020-04-29 20:46:42 -07:00
Pavel Feldman 9f62f29946
feat(install): use shared installation folder by default (#2044) 2020-04-29 18:59:20 -07:00
Pavel Feldman c55db6d315
browser(webkit): roll webkit to 1213 (#2045) 2020-04-29 18:40:18 -07:00
Yury Semikhatsky 78b44ed2a0
fix: report new window downloads (#2019) 2020-04-29 18:36:24 -07:00
Yury Semikhatsky 5993a6a0e0
fix: throw from eval methods if >1 argument is passed (#2043) 2020-04-29 18:35:04 -07:00
Pavel Feldman 0228ba4992
feat(registry): implement download registry (#1979) 2020-04-29 17:19:21 -07:00
Pavel cccf3f7248 chore: bringing back paused=true 2020-04-29 17:02:24 -07:00
Pavel Feldman c01e554edd
test: add more pausing tests (#2040) 2020-04-29 16:17:03 -07:00
Pavel Feldman 534857269b
fix(console): respect repeat count in webkit (#2032) 2020-04-29 12:13:57 -07:00
Dmitry Gozman b11d7f15bb
feat(input): retry when hit target check fails, prepare for page pause (#2020) 2020-04-29 11:05:23 -07:00
Pavel Feldman 6c94f604d8
feat(chromium): roll to r763809 (#2028) 2020-04-29 08:44:09 -07:00
Pavel Feldman 2cdf297245
chore: remove uncompiled download-browser (#2018) 2020-04-28 17:06:01 -07:00
Dmitry Gozman 7f5d89009c
test(click): add a test for 'Element has moved' exception (#2017) 2020-04-28 11:58:22 -07:00
Pavel Feldman d52bd92983
chore: read browser revisions off browsers.json (#2009) 2020-04-28 10:37:23 -07:00
Dmitry Gozman f662686fcd
chore(css selector): temporarily remove light dom shortcut (#2008) 2020-04-27 20:23:31 -07:00
Dmitry Gozman 8aab725813
fix(css selector): properly parse quoted attributes when querying in shadow (#2007) 2020-04-27 19:50:11 -07:00
Dmitry Gozman 031587a9cf
fix(visibility): unify visibilty checks (#1998)
This applies a common definition of visibility to clicks and waitfors:
- non-empty bounding box - implies non-empty content and no display:none;
- no visibility:hidden.
2020-04-27 15:40:46 -07:00
Pavel Feldman 7f8aa703dd
api(waitFor): remove waitFor, use specialized wait functions (#1995) 2020-04-27 12:08:29 -07:00
Dmitry Gozman f9f5fd03b0
feat(selectors): allow to capture intermediate result (#1978)
This introduces the `*name=body` syntax to capture intermediate result.
For example, `*css=section >> "Title"` will capture a section that contains "Title".
2020-04-27 10:14:09 -07:00
Dmitry Gozman 7ecf252dd6
feat(text selector): concat sibling text nodes when calculating text (#1969)
Text that is split into multiple text nodes now matches.
2020-04-24 20:49:29 -07:00
Pavel Feldman b60c006c63
chore: simplify and restructure downloads (#1974) 2020-04-24 19:14:10 -07:00
Yury Semikhatsky 7c9762fae9
fix: support blob downloads (#1954) 2020-04-23 20:04:19 -07:00
Dmitry Gozman 5ac7f0e4ec
fix(text selector): allow single quoted text (#1952) 2020-04-23 18:48:53 -07:00
Pavel Feldman c1c0237d4e
api(dispatchEvent): page, frame and handle versions added (#1932) 2020-04-23 14:58:37 -07:00
Joel Einbinder 671cfa0a54
fix(types): support objects with typed keys and values (#1752)
There are a few places in the API where we use objects as maps. This patch adds them to docs and the types.

For `env`, we accept booleans and numbers as well because they are often used for their string values.
2020-04-23 14:45:57 -07:00
Dmitry Gozman 793586e42c
fix(click): throw instead of timing out when the element has moved (#1942) 2020-04-23 14:44:06 -07:00
Pavel Feldman 2fcc2b5552
chore(chromium): resize browser frame when emulating viewport (#1924) 2020-04-23 10:38:58 -07:00
Ross Wollman 53c78a8a29
fix(downloads): fix acceptDownloads complaint (#1777) (#1923) 2020-04-22 17:02:15 -07:00
Yury Semikhatsky 00e8d88777
fix: do not auto wait for downloads (#1921) 2020-04-22 15:08:39 -07:00
Pavel Feldman 6ecac8c164
chore: restore networkidle0 alias (#1920) 2020-04-22 10:52:01 -07:00
Pavel Feldman 5b085fdf03
feat(logger): introduce context-level logger (#1896) 2020-04-20 23:24:53 -07:00
Pavel Feldman 47c384112c
chore: bring back DEBUG= logging (#1891) 2020-04-20 20:00:55 -07:00
Pavel Feldman 0656771167
api(networkidle): remove networkidle2 (#1883) 2020-04-20 16:52:26 -07:00
Yury Semikhatsky fb45c75b98
feat(webkit): simulate device orientation events (#1852) 2020-04-20 14:43:44 -07:00
Dmitry Gozman d1a95518be
chore: remove old TODOs, add a test (#1879) 2020-04-20 13:01:06 -07:00
Dmitry Gozman 649f37f885
fix(pageerror): report correct error message and stack (#1862)
The error stack matches the browser format.
2020-04-20 11:37:02 -07:00
Dmitry Gozman effeaaf852
fix(click): force any hover effects before waiting for hit target (#1869)
This way, any on-hover animations or click blockers will be accounted for.
2020-04-20 10:07:59 -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
Pavel Feldman 022bc67c07
chore(chromium): allow passing --remote-debugging-port for debugging (#1857) 2020-04-18 19:06:42 -07:00
Dmitry Gozman 55b4bc99bd
feat(actions): requery the element when it was detached during the action (#1853) 2020-04-18 18:29:31 -07:00
Yury Semikhatsky 2b96b85e05
fix(firefox): throw error when added script blocked by CSP (#1841) 2020-04-17 08:51:54 -07:00
Pavel Feldman a248430af8
reapply api(waitUntil): remove waitUntil options from the actions (#1842) 2020-04-16 20:31:04 -07:00
Andrey Lushnikov 31460b18b8
Revert "api(waitUntil): remove waitUntil options from the actions (#1834)" (#1840)
This reverts commit d0b8710670.

Reason: multiple test failures on all Linux bots
- https://app.circleci.com/pipelines/github/microsoft/playwright/613/workflows/50dc6e2d-23b0-41d2-9765-42983b0ed91d/jobs/610
- https://travis-ci.com/github/microsoft/playwright/builds/160648417
- https://github.com/microsoft/playwright/pull/1839/checks?check_run_id=594015893
2020-04-16 18:46:10 -07:00
Pavel Feldman d0b8710670
api(waitUntil): remove waitUntil options from the actions (#1834) 2020-04-16 16:04:10 -07:00
Dmitry Gozman af2340c35e
fix(click): explicitly fail when element detached during click (#1835)
We used to timeout instead.
2020-04-16 15:38:41 -07:00
Dmitry Gozman f5942295d4
feat(api): wait for popups and downloads when performing actions (#1744) 2020-04-16 13:09:24 -07:00
Joel Einbinder 036f9e50fa
fix(webkit): allow fufilling requests to redirects (#1830) 2020-04-16 12:36:00 -07:00
Dmitry Gozman 5e18378df7
fix(webkit): do not access mainFrame when initialization has failed (#1825) 2020-04-16 10:59:27 -07:00
Pavel Feldman 08c8a74e09
docs(network): polish network docs (#1826) 2020-04-16 10:48:38 -07:00
Pavel Feldman 2280126344
api(setInputFiles): introduce page/frame helpers, document, break compat (#1818) 2020-04-16 10:25:28 -07:00
Joel Einbinder 1b0467fb86
fix(chromium): get headers from browser process when intercepting (#1809) 2020-04-15 23:18:16 -07:00
Dmitry Gozman ba36860d79
feat(api): page.unroute to remove routes (#1813) 2020-04-15 19:55:22 -07:00
Dmitry Gozman 56aa4c2e71
fix(selectors): do not automatically enter shadow roots with >> (#1812)
Now that we have shadow-aware selector engines, this extra logic adds confusion
and does not help to actually query the element.
2020-04-15 16:12:45 -07:00
Dmitry Gozman b0d79d5124
feat(shadow): make css pierce shadow by default (#1784)
We leave css:light, text:light, id:light, and similar to opt-out from the shadow dom piercing. The notable exception is xpath that is always light.
2020-04-15 10:16:29 -07:00
Andrey Lushnikov 0ba823dd6f
feat: introduce page.on('crash') event (#1782)
Currently, whenever the page crashes, it emits an `'error'` event.
Error event is a special type of event in node.js; if unhandled,
it crashes the process.

Instead of emitting `'error'` event, this patch switches to emitting
`'crash'` event. Playwright users are free to handle the event
however they like, or just to ignore it.
2020-04-15 00:04:35 -07:00
Pavel Feldman e9b470096d
chore: assert selector is a string (#1795)
Fixes #1735
2020-04-14 23:16:37 -07:00
Andrey Lushnikov d07105aa0b
fix: do not capture exceptions while emitting events (#1790)
This could've caught user-land exception.
2020-04-14 22:41:45 -07:00
Craig Nishina 3167f2d34c
fix(chromium): prevent errors when frame does not exist when detaching from oopif (#1767)
When navigating away from the page loaded in `goto`, the frame no longer
exists. Page.removeFrameSession is called and throws an error. Instead
of calling the helper.assert method, moved removeChildFramesRecursively
into a conditional.

closes #1762
2020-04-14 19:01:01 -07:00
Pavel Feldman da683b2752
feat(selectAll): allow selecting all in the inputs and in the plain dom (#1783) 2020-04-14 17:09:26 -07:00
Pavel Feldman 9d05038a82
feat(hints): hint at how waitFor(time) is bad for production (#1781) 2020-04-14 15:00:10 -07:00
Dmitry Gozman 2e6f544342
chore(webkit): stop using windowOpen signal to determine initial empty page (#1776) 2020-04-14 14:51:23 -07:00
Pavel Feldman c2fc4035ba
doc(keyboard): document Shift+ArrowLeft notation (#1771) 2020-04-14 13:11:02 -07:00
Dmitry Gozman 9542f47511
feat(selectors): deep selector which pierces open shadow roots (#1738) 2020-04-13 13:04:27 -07:00
Joel Einbinder a7572c7f09
feat: nicer error message for page.addScriptTag (#1754) 2020-04-12 18:46:53 -07:00
Pavel Feldman 368e1cc49b
chore(input): refactor keyboard layout, extract pure layout (#1681) 2020-04-11 00:24:17 -07:00
Pavel Feldman 9249f33709
feat(webkit): roll WebKit, migrate to Playwright.exe (#1749) 2020-04-10 21:02:28 -07:00
Yury Semikhatsky a1ffed6052
fix(firefox): do not create first window on start (#1727) 2020-04-10 14:12:30 -07:00
Pavel Feldman 3584205086
fix(chromium): associate navigation requests with navigations (#1724) 2020-04-09 19:03:06 -07:00
Pavel Feldman 78abf5cb40
feat(api): add getAttribute, innerText, innerHTML, textContent (#1717) 2020-04-09 16:49:23 -07:00
Dmitry Gozman 5b4d32d375
fix(chromium): fix a race in persistent context launch (#1702)
We should stop attaching to existing targets immediately after Target.setAutoAttach response arrives, otherwise we have a window for double attach.
2020-04-08 11:18:06 -07:00
Yury Semikhatsky a7ae205254
feat(firefox): support downloads (#1689) 2020-04-07 15:01:42 -07:00
Andrey Lushnikov 949dc7b514
chore: bump extract-zip dependency (#1696)
Fixes #1510
2020-04-07 14:56:30 -07:00
Pavel Feldman c6f580faf8
chore: migrate from timeouts to deadlines internally (#1695) 2020-04-07 14:35:34 -07:00
Dmitry Gozman e683c086de
fix(fill): make fill work with date/time inputs (#1676)
Date/time inputs are locale-specific, and also do not work with insertText. We just set the value on them and emulate input/change events. Note that some browsers do not support these input types just yet.
2020-04-07 10:07:06 -07:00
Andrey Lushnikov e15fc08d46
chore: migrate node types to 10.17.17 (#1690) 2020-04-07 07:40:57 -07:00
Pavel Feldman 889cf8f7b6
fix(input): climb dom for pointer-events:none targets (#1666) 2020-04-06 20:44:54 -07:00
Pavel Feldman 3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Dmitry Gozman aeeac55732
feat(chromium): support oopifs (#1664)
Splits CRPage into CRPage and FrameSession, carefully broadcasting or picking the right session for each operation.
2020-04-06 15:09:43 -07:00
Andrey Lushnikov 65ca87cd9a
fix: fix PLAYWRIGHT_BROWSERS_PATH treatment (#1662)
Drive-by: introduce installation tests that use `npm pack`
to simulate installation from NPM registry.

Fixes #1651
2020-04-03 23:16:14 -07:00
Dmitry Gozman a91304a37a
feat(selectors): attribute selectors pierce open shadow roots (#1656)
References #1375.
2020-04-03 20:47:08 -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 f216ab98e7
chore(chromium): small improvement with updating touch (#1659) 2020-04-03 15:34:36 -07:00