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
Dmitry Gozman
270206e2b4
feat(text selector): match button input by value ( #1657 )
...
Inputs of type button and submit are rendered with their value as text,
so we match them by text.
Fixes #1427 .
2020-04-03 14:18:08 -07:00
Meir Blachman
f8ecdffd47
fix: typo in input.ts ( #1653 )
2020-04-03 14:01:40 -07:00
Dmitry Gozman
ea16e55ba3
fix(lint): import errors ( #1649 )
2020-04-02 20:30:52 -07:00
Dmitry Gozman
a9be3c5191
feat(text selector): pierce shadow roots ( #1619 )
2020-04-02 18:03:30 -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
Dmitry Gozman
a7b61a09be
fix(text selector): by default, do a substring match ( #1618 )
2020-03-31 23:04:04 -07:00
Joel Einbinder
6053784188
feat: add missing slowMo to launchPersistentContext ( #1597 )
...
`slowMo` was missing in `launchPersistentContext`, and I refactored the types a bit.
2020-03-31 16:34:59 -07:00
Joel Einbinder
9e85f8d856
chore(waitForEvent): refactor waitForEvent into a single implementation ( #1602 )
...
Moves the `waitForEvent` implementation into an `ExtendedEventEmitter` class.
This is step one if we want to add `waitForEvent` to `Worker`, `Browser`, and `BrowserServer` objects. All of these only have a 'close' event, but I still feel we should be consistent with our event emitters.
2020-03-31 16:18:49 -07:00
Pavel Feldman
307b33ab7d
feat(chromium): roll to r754895 ( #1610 )
2020-03-31 13:23:08 -07:00
Andrey Lushnikov
950d427927
fix: catch websocket error events ( #1595 )
2020-03-30 18:18:38 -07:00
Pavel Feldman
1f08b72a27
test: add web socket leak test coverage ( #1586 )
2020-03-30 13:49:52 -07:00
Joel Einbinder
31f186cc3d
fix(browserFetcher): support macos 10.13 for firefox and chromium ( #1549 )
...
I don't have a macos 10.13 build to test on, and we aren't set up to compile it for WebKit. However there is a good chance this will work for Chromium and Firefox.
I also improved the error message received when on an unsupported platform.
#1535
2020-03-30 13:25:20 -07:00
Pavel Feldman
5499b1844d
feat(websocket): wrap firefox web socket too ( #1580 )
2020-03-28 10:14:59 -07:00
Pavel Feldman
48516ed7ed
feat(websocket): use proxy web socket on chromium ( #1573 )
2020-03-27 15:18:34 -07:00
Pavel Feldman
4e89939ece
chore: do not try/catch buffer.concat ( #1575 )
2020-03-27 15:16:17 -07:00
Pavel Feldman
00cb4e370f
chore: move transport to object messages ( #1567 )
2020-03-26 23:30:55 -07:00
Dmitry Gozman
b473d9dcf7
chore(firefox): remove FFPage._initialize to ensure early initialization ( #1554 )
2020-03-26 16:13:11 -07:00
Dmitry Gozman
bce8fc1343
feat(selectors): allow running selectors in main world ( #1533 )
2020-03-25 20:59:48 -07:00
Dmitry Gozman
c01ad84bd4
fix(fill): use isVisible to be consistent with waitForSelector ( #1539 )
...
Fixes #1442 .
2020-03-25 14:40:42 -07:00
Dmitry Gozman
60942d0af5
chore(selectors): move selectors logic to selectors.ts ( #1536 )
...
This encapsulates selectors logic in one place, in a preparation for more complex scenarios like main-world selectors or piercing frames.
Note: we had `Page.fill should wait for visible visibilty` test, but we do not actually wait for visible in page.fill(). It happened to pass due to lucky evaluation order.
References #1316 .
2020-03-25 14:08:46 -07:00
Max Schmitt
4b1fa2f2f9
feat: show warning on ff & wk if devtools was given ( #1463 )
...
Show just a warning instead of preventing the launch on Firefox and WebKit to minimize the error rate / entry barrier.
Not fully sure if `console.warn` is okay for that.
Closes #1440
2020-03-24 14:42:20 -07:00
Darío Kondratiuk
8d5433c8e3
fix(screenshotter) validateScreeshotOptions typo ( #1509 )
...
There is a type in the function name
2020-03-24 09:08:53 -07:00
Andrey Lushnikov
b778789ba8
feat: re-make global browser installation ( #1506 )
...
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.
You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.
Fixes #1102
2020-03-24 00:08:00 -07:00
Dmitry Gozman
7ef394b345
chore(chromium): remove CRTarget, use CRPage and CRServiceWorker instead ( #1436 )
2020-03-23 21:48:32 -07:00
Yury Semikhatsky
7efff97753
fix(chromium): properly handle failures to set override ( #1498 )
2020-03-23 17:23:47 -07:00
Pavel Feldman
c0c9b7f137
test: make debugp collect IO (take 2) ( #1493 )
2020-03-23 15:08:02 -07:00
Dmitry Gozman
de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter ( #1490 )
2020-03-23 13:51:11 -07:00
Yury Semikhatsky
45a175d8fe
fix(chromium): ignore lifecycle events for the initial empty page ( #1486 )
2020-03-23 13:50:04 -07:00
Pavel
1ddf05113b
Revert "test: make debugp collect IO ( #1485 )"
...
This reverts commit b1bebdad2e
.
2020-03-23 13:48:22 -07:00
Pavel Feldman
b1bebdad2e
test: make debugp collect IO ( #1485 )
2020-03-23 13:42:51 -07:00
Dmitry Gozman
15fddb5177
api(click): rename offset to position ( #1488 )
...
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -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
Dmitry Gozman
670ce7a591
chore: remove various watchers, use FrameTask directly ( #1460 )
2020-03-21 13:02:37 -07:00
Pavel Feldman
5a42cbd491
fix(permissions): manage permissions on the proxy level in webkit ( #1451 )
2020-03-20 19:45:35 -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
Yury Semikhatsky
bae56ea9d3
fix(chromium): support main resource request interception for popups ( #1449 )
2020-03-20 16:13:42 -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
Joel Einbinder
825555cddf
types: better types ( #1166 )
...
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.
Now types
- only include the public api
- work with older versions of typescript
- include descriptions
- are more consistent
- are more complete
#6
2020-03-20 01:30:35 -07:00
Yury Semikhatsky
535b484637
api(context): get rid of PageEvent ( #1433 )
2020-03-19 16:25:12 -07:00
Yury Semikhatsky
3ed9970b33
api(chromium): add ChromiumBrowserContext.serviceWorkers() ( #1416 )
2020-03-19 16:10:24 -07:00
Dmitry Gozman
ea99908bf4
fix(eval): adopt nested handles ( #1430 )
...
We were only adopting top-level handles in FrameExecutionContext. Now we do that universally.
2020-03-19 13:07:33 -07:00
Andrey Lushnikov
f5ecbff16e
devops: remake downloading logic ( #1419 )
...
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
turned out to be ill-behaving and cannot not be used as we'd like to (see #1085 )
- adds a `browserType.setExecutablePath` method to set a browser
exectuable.
With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
Pavel Feldman
2af07ce475
chore: rework disposers into a frame task ( #1413 )
2020-03-18 20:05:35 -07:00
Dmitry Gozman
7bd924673a
fix(PageEvent): properly wait for initial navigation in chromium and webkit ( #1412 )
2020-03-18 17:14:18 -07:00
Joel Einbinder
b0749e3a6d
fix(docs): fixup and lint optionals and return values in api.md ( #1376 )
...
Currently in our API `?` means null, but sometimes it means optional. Linting optional/nulls with this patch is required for #1166 to land nicely.
Previously, return types were not being linted in `api.md`. This is fixed, along with many broken return types.
This patch considers `?` to mean nullable, and has some heuristics to determine optionality. I believe this to be the minimal patch needed to unblock #1166 . After it lands, we can consider changing the api docs to hopefully remove some heuristics and strangeness.
2020-03-18 16:23:25 -07:00
Dmitry Gozman
a1929e20f5
feat(types): better types for nested handles ( #1424 )
...
References #1348 .
2020-03-18 15:19:58 -07:00
Dmitry Gozman
dd850ada89
api(eval): allow non-toplevel handles as eval arguments ( #1404 )
2020-03-18 10:41:46 -07:00
Yury Semikhatsky
b8e79e60c7
chore(chromium): remove obsolete target related code ( #1417 )
2020-03-17 22:07:20 -07:00
Pavel Feldman
049b336800
api(devices): extract isMobile/hasTouch from viewport ( #1415 )
2020-03-17 18:21:02 -07:00
Joel Einbinder
39e5eb7eda
feat(devices): remove name from device objects ( #1414 )
2020-03-17 16:04:42 -07:00
Pavel Feldman
e4225adcc0
feat(permissions): make origin optional ( #1406 )
2020-03-17 15:32:50 -07:00
Pavel Feldman
64b175ce10
api(waitForLoadState): restore it ( #1390 )
2020-03-16 14:39:44 -07:00
Dmitry Gozman
6731d37546
api(network): replace redirectChain with redirectedFrom/redirectedTo ( #1401 )
2020-03-16 13:31:06 -07:00
Joel Einbinder
6dcd6a6eec
fix(types): jsHandle.getProperty should never resolve to null ( #1402 )
...
Added a test to confirm that this was dead code.
2020-03-16 13:23:04 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession ( #1380 )
2020-03-13 16:16:54 -07:00
Dmitry Gozman
a96dec58c8
fix(webkit): emit close on pages before clearing them ( #1386 )
2020-03-13 14:43:49 -07:00
Dmitry Gozman
69be12ae12
api(route): pass Route object instead of Request to route handlers ( #1385 )
...
References #1348 .
2020-03-13 14:30:40 -07:00
Dmitry Gozman
26479119b6
fix(setContent): handle inner _waitForLoadState rejection ( #1382 )
2020-03-13 13:09:06 -07:00
Dmitry Gozman
9b86c631c8
api: make BrowserContext.pages() synchronous ( #1369 )
...
Returns all pages which have been initialized already.
References #1348 .
2020-03-13 11:33:33 -07:00
Pavel Feldman
8aba111f1e
api(cdp): rename createSession to newCDPSession ( #1378 )
2020-03-13 09:00:03 -07:00
Pavel Feldman
b1a3b23c38
api(request): make request.response a promise ( #1377 )
2020-03-13 08:54:19 -07:00
Pavel Feldman
24d4fb1e5c
api(click): remove tripleclick, respect clickCount ( #1373 )
2020-03-13 08:09:48 -07:00
Pavel Feldman
8c532bd8da
api(press): remove text option ( #1372 )
...
#1348
2020-03-12 22:02:19 -07:00
Pavel Feldman
e1d3196460
api(*.selectOption): renamed from *.select ( #1371 )
2020-03-12 21:30:12 -07:00
Pavel Feldman
064099ab3c
api(keyboard.insertText): renamed from sendCharaters ( #1370 )
2020-03-12 20:56:52 -07:00
Pavel Feldman
9aa56a6b9e
api(browserType): remove devices, errors ( #1368 )
2020-03-12 17:58:00 -07:00
Pavel Feldman
cfd3ae25fb
api(addCookies): setCookies -> addCookies ( #1367 )
...
#1348
2020-03-12 17:32:33 -07:00
Dmitry Gozman
3fa4255bc5
api: make request.postData() return null instead of undefined ( #1366 )
2020-03-12 16:53:04 -07:00
Dmitry Gozman
e382bb329b
api: remove 'commit' phase, actions to wait until 'domcontentloaded' by default ( #1358 )
2020-03-12 11:20:03 -07:00
Dmitry Gozman
7c59f9ca9a
fix: do not wait for navigations while evaluating injected source ( #1347 )
2020-03-11 22:52:03 -07:00
Pavel Feldman
b43f33f4d3
api(review): misc changes to API. ( #1356 )
2020-03-11 18:10:48 -07:00
Dmitry Gozman
c1ef683373
api: remove waitForLoadState() in favor of PageEvent.page(options) ( #1323 )
2020-03-11 14:46:52 -07:00
Pavel Feldman
5d4fdd050a
feat(webkit): roll webkit to 1178 ( #1339 )
2020-03-11 14:08:22 -07:00
Dmitry Gozman
3dd49459bb
fix(chromium): install binding function during initialization ( #1320 )
2020-03-10 16:19:01 -07:00
Andrey Lushnikov
65d10a5d5d
fix: re-implement slow-mo transport without message serialization ( #1328 )
...
With this implementation, `slowMo` will throttle all `outbound`
messages.
Fixes #1214
2020-03-10 15:57:39 -07:00
Pavel Feldman
0077b428fc
feat(webkit): emulate device size ( #1318 )
2020-03-10 13:16:33 -07:00
Dmitry Gozman
23cf3be828
api: make request.frame() non-null ( #1319 )
2020-03-10 11:39:35 -07:00
Dmitry Gozman
d5a2781e80
fix(chromium): do not await extra promises in initialize() to attach early enough ( #1311 )
2020-03-10 10:06:17 -07:00
Dmitry Gozman
ea6978a3d8
api(popups): expose BrowserContext.route() ( #1295 )
2020-03-09 21:02:54 -07:00
Yury Semikhatsky
9bd3711394
fix(context): reliably fire BrowserContext.Close event when browser is closing ( #1277 )
2020-03-09 16:53:33 -07:00
Dmitry Gozman
eb2ca70955
api(route): allow fulfilling with a file path ( #1301 )
2020-03-09 16:12:00 -07:00
Yury Semikhatsky
0fbc7af26d
chore(targets): create page targets only when attached to them ( #1278 )
2020-03-09 15:53:45 -07:00
Andrey Lushnikov
e650628e3d
fix(chromium): fix device-related media queries ( #1299 )
...
References #1291
2020-03-09 15:53:31 -07:00
Dmitry Gozman
c43de22193
chore(wk, ff): simplify target management ( #1279 )
2020-03-09 12:32:42 -07:00
Pavel Feldman
2fa2421894
fix(webkit): fail the 204 navigations ( #1260 )
2020-03-09 11:42:56 -07:00
Andrey Lushnikov
d1ef0c8694
fix(wk,ff): properly support getting and setting non-session cookies ( #1280 )
2020-03-07 08:41:57 -08:00
Yohix
bfd32fe6d2
doc: fix typos ( #1284 )
2020-03-07 08:37:47 -08:00
Pavel Feldman
78bd29d558
fix(click): work around input alignment on chromium ( #1282 )
2020-03-07 08:19:31 -08:00
Dmitry Gozman
68b4079748
chore: remove WKPage._sessions ( #1270 )
2020-03-06 16:51:45 -08:00
Dmitry Gozman
aee6324bba
feat(firefox): roll firefox ( #1273 )
2020-03-06 16:49:48 -08:00
Pavel Feldman
3c35d7b058
api(waitFor): click(waitFor) -> click(force) ( #1275 )
2020-03-06 16:24:21 -08:00
Yury Semikhatsky
8211287a23
fix(session): use isolated root session for client page sessions ( #1271 )
2020-03-06 15:11:03 -08:00
Pavel Feldman
3fa000f5f4
api(waitForSelector): bring it back ( #1272 )
2020-03-06 15:02:42 -08:00
Pavel Feldman
119df5a985
feat(nowait): allow waitUntil:nowait for actions ( #1264 )
2020-03-06 14:32:15 -08:00
Andrey Lushnikov
c494944b46
api(popups): move Page.authenticate to BrowserContext.setHTTPCredentials ( #1267 )
...
Drive-by: fixes #720 since it rolls past r1037.
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2020-03-06 13:50:42 -08:00
Dmitry Gozman
d1146204bf
chore: remove WKPageProxy, use WKPage instead ( #1256 )
2020-03-06 11:41:46 -08:00
Pavel Feldman
49c1161e00
api(press): bump .press to the page/frame level ( #1262 )
2020-03-06 09:38:08 -08:00
Pavel Feldman
2724157c22
feat(waitUntil): allow waiting for navigation from clicks, etc ( #1255 )
2020-03-06 08:24:32 -08:00
Dmitry Gozman
1d770af804
api: waitForElement accepts waitFor: attached|detached|visible|hidden ( #1244 )
...
This includes rename waitForSelector -> waitForElement and removes $wait.
2020-03-05 17:45:41 -08:00
Yury Semikhatsky
9bc6dcea1d
feat(api): introduce BrowserContext.waitForEvent ( #1252 )
2020-03-05 17:22:57 -08:00
Dmitry Gozman
e5f82af47c
api(popups): emit PageEvent immediately, and resolve page() once initialized ( #1229 )
...
This way we do not miss any popups, even immediately closed ones.
2020-03-05 15:18:27 -08:00
Pavel Feldman
c734b4b715
feat(click): start wire auto-waiting click in firefox ( #1233 )
2020-03-05 14:47:04 -08:00
Yury Semikhatsky
e770d706a1
fix(chromium): do not create default page and context in headless ( #1247 )
2020-03-05 14:46:12 -08:00
Yury Semikhatsky
665888d579
feat(popups): auto-attach to all pages in Chromium ( #1226 )
2020-03-05 10:45:32 -08:00
Yury Semikhatsky
aabdac8380
api: remove Page.setCacheEnabled ( #1231 )
2020-03-05 10:09:04 -08:00
Pavel Feldman
11f68bac54
feat(cr, wk): make clicks, input and evaluate await scheduled navigations ( #1200 )
2020-03-04 19:15:01 -08:00
Dmitry Gozman
7f9df9488e
api(popups): move Page.setOfflineMode -> BrowserContext.setOffline ( #1223 )
2020-03-04 17:58:12 -08:00
Dmitry Gozman
3bedc60b2b
fix(dispose): do not await inner handle dispose ( #1230 )
2020-03-04 17:57:35 -08:00
Dmitry Gozman
5ee744cd26
api(page.frame): allow looking up frames by name ( #1228 )
2020-03-04 17:53:39 -08:00
Pavel Feldman
5ff660de15
feat(navigation): waitForNavigation/goto should not wait until response finished ( #1225 )
2020-03-04 15:59:26 -08:00
Joel Einbinder
8aa88d5021
fix(doc): check and update optional types in the api ( #1206 )
...
This adds a new check to doclint for whether a member is correctly marked as optional.
part of #6
2020-03-03 17:29:12 -08:00
Dmitry Gozman
f4e9b5079d
api: declare not supporting isMobile on Firefox ( #1207 )
2020-03-03 17:28:31 -08:00
Dmitry Gozman
1c4619e5e0
fix(chromium/webkit): fix a race between Page.enable and Page.getResourceTree ( #1201 )
2020-03-03 17:15:43 -08:00
Dmitry Gozman
15c70c9d61
fix(click): timing out in page while waiting for interactable should have proper error ( #1199 )
...
This fixes flaky 'Page.click should timeout waiting for visible' test.
2020-03-03 17:14:00 -08:00
Joel Einbinder
fcfe887c57
feat(select): don't accept undefined as a value ( #1202 )
...
`page.select` accepting an `undefined` value is a legacy of when `page.select` took `...values`. This matches the way the method is documented in the API.
2020-03-03 16:59:41 -08:00
Dmitry Gozman
6c6cdc033b
api(popup): introduce BrowserContext.exposeFunction ( #1176 )
2020-03-03 16:46:06 -08:00
Dmitry Gozman
1b863c2300
fix(screenshots): simplify implementation, allow fullPage + clip, add tests ( #1194 )
2020-03-03 16:09:32 -08:00
Yury Semikhatsky
31e26a2208
fix(api): fire BrowserContext.Page event in WebKit and Firefox ( #1186 )
2020-03-02 18:32:56 -08:00
Dmitry Gozman
342a2cf5cc
fix(selectors): continue matching after first fail for combined selectors ( #1185 )
2020-03-02 15:47:50 -08:00
Dmitry Gozman
1186998bd8
fix(click): wait for element to be displayed before scrolling into view ( #1182 )
...
Otherwise, we may get an error during scrollIntoViewIfNeeded protocol call.
2020-03-02 14:26:38 -08:00
Yury Semikhatsky
a57978a5f0
api(chromium): remove Target from public API ( #1163 )
2020-03-02 13:58:22 -08:00
Yury Semikhatsky
f242e0c74f
fix: make Transport.send() synchronous ( #1177 )
2020-03-02 13:51:32 -08:00
Andrey Lushnikov
08fbc92752
feat: support PLAYWRIGHT_DOWNLOAD_HOST
( #1179 )
...
This patch starts respecting `PLAYWRIGHT_DOWNLOAD_HOST` env variable
in `playwright` package and it's vendored flavors (`playwright-firefox`,
`playwright-chromium` and `playwright-webkit`).
Fixes #1045
2020-03-02 13:45:10 -08:00
Dmitry Gozman
ac2f04f10f
api(selectors): pass selector name when registering, allow file path ( #1162 )
2020-02-28 15:34:07 -08:00
Dmitry Gozman
7843c29d32
feat(selectors): auto-detect each selector part ( #1160 )
2020-02-28 14:41:32 -08:00
Dmitry Gozman
823bf389a7
api: evaluateOnNewDocument -> addInitScript ( #1152 )
...
Also adds more options to specify the script.
2020-02-27 17:42:14 -08:00
Joel Einbinder
857ffd8ea9
fix: text selector should be case insensitive without quotes ( #1151 )
2020-02-27 16:52:30 -08:00
Dmitry Gozman
7682865d73
feat(popups): add BrowserContext.evaluateOnNewDocument ( #1136 )
2020-02-27 16:18:33 -08:00
Pavel Feldman
dc161df063
fix(launch): throw upon page argument when non-persistent ( #1144 )
2020-02-27 14:09:24 -08:00
Yury Semikhatsky
9d6aa967f3
chore(workers): align worker lifecycle evens with other APIs ( #1147 )
2020-02-27 14:02:48 -08:00
Dmitry Gozman
c6fde22b1f
chore(webkit): always attach to all pages, simplify initialization ( #1139 )
2020-02-27 08:49:09 -08:00
Andrey Lushnikov
4ebf419259
fix(yarn): download browsers to package directories ( #1133 )
...
This patch makes it so all our packages, like `playwright` and
browser-specific flavors, download browsers to their
directories rather then using directory of `playwright-core`.
This way yarn@1 caches are not busted: they didn't expect that directory
content might change after packages's explicit install step
is failed, there's that was what we were doing.
Fixes #1085
2020-02-26 15:13:31 -08:00
Andrey Lushnikov
4ab880175a
chore: fix lint
2020-02-26 14:08:21 -08:00
Pavel Feldman
d20f3cac89
feat(webkit): no start window, healthy pipe ( #1113 )
2020-02-26 13:02:15 -08:00
Dmitry Gozman
672f3f9960
feat(popups): introduce BrowserContext.setDefaultHTTPHeaders ( #1116 )
2020-02-26 12:42:20 -08:00
Yury Semikhatsky
4f69930fbe
fix(chromium): make locale overrides work ( #1108 )
2020-02-26 11:01:46 -08:00
Pavel Feldman
3afaeef557
feat(socket): destroy contexts upon disconnect ( #1119 )
2020-02-26 11:01:01 -08:00
Dmitry Gozman
dcdc7db158
feat(chromium): use no-startup-window to not create default context ( #1106 )
2020-02-25 11:43:17 -08:00
Pavel Feldman
ebcaadedf1
feat(log): log only user api calls with DEBUG=pw:api ( #1029 )
2020-02-25 07:09:27 -08:00
Dmitry Gozman
d97ea70804
chore: move more injected code to injected to reduce evaluation size ( #1093 )
2020-02-25 07:06:20 -08:00
Dmitry Gozman
ba29470cc1
fix(api): rename relativePoint to offset, remove unused parameters from input ( #1092 )
2020-02-24 21:12:02 -08:00
aesyondu
fdfec8eb2a
fix(platform) instanceof bug between execution contexts of RegExp object ( #1048 )
...
First encountered at jest-playwright repo:
https://github.com/mmarkelov/jest-playwright/issues/38
Solution based on:
https://stackoverflow.com/questions/4339288/typeof-for-regexp#comment4724685_4339350
2020-02-24 18:32:17 -08:00
Dmitry Gozman
6acc439450
feat(api): move targets from CRBrowser to CRBrowserContext ( #1089 )
...
This makes them work for default context.
2020-02-24 14:35:51 -08:00
Dmitry Gozman
a43b4095e1
chore: make BrowserContext an interface, with 3 implementations ( #1075 )
...
This is in preparation for moving targets to BrowserContext, so that one can work with targets in default context.
2020-02-24 08:53:30 -08:00
Dmitry Gozman
3677818202
fix(api): browser.serviceWorker -> target.serviceWorker ( #1076 )
2020-02-24 08:31:58 -08:00
Dmitry Gozman
1f8508d1ed
feat(waitFor): update various waitFor options to be a single boolean ( #1066 )
2020-02-22 09:16:28 -05:00
Dmitry Gozman
40164298a8
api: remove ElementHandle.visibleRatio ( #1069 )
2020-02-19 16:08:25 -08:00
Dmitry Gozman
33824aa1d7
feat(click): waitForInteractable option, defaults to true ( #934 ) ( #1052 )
2020-02-19 09:34:57 -08:00
Dmitry Gozman
9f1edadbff
fix(navigation): do not count random failures as navigation cancel ( #1055 )
2020-02-18 19:58:04 -08:00
Dmitry Gozman
223685ee7b
chore: strip out injected script from protocol logs ( #1054 )
2020-02-18 19:56:59 -08:00
Pavel Feldman
1ee657823e
feat(viewport): update defaults to 1280x720, fix Firefox ( #1038 )
2020-02-18 09:16:32 -08:00
Pavel Feldman
f2b2d72693
fix(input): emit change events upon page.setInputFiles ( #1028 )
2020-02-18 09:15:47 -08:00
Daniel Imms
8a7728da3d
docs: document LaunchOptions.dumpio ( #1051 )
2020-02-18 08:56:20 -08:00
Joel Einbinder
3656403f2d
fix(keyboard): Add mac editing commands for NumpadEnter ( #1026 )
...
This should fix NumpadEnter on webkit for mac.
2020-02-14 18:37:02 -08:00
Joel Einbinder
21acb369db
fix(keyboard): correctly press enter on firefox ( #1023 )
2020-02-14 17:42:08 -08:00
Dmitry Gozman
dbb45d443a
Revert "feat(click): waitForInteractable option, defaults to true ( #934 )" ( #1013 )
...
Reason: new tests are flaky on all bots.
2020-02-14 13:05:23 -08:00
Dmitry Gozman
9413351d3f
feat(click): waitForInteractable option, defaults to true ( #934 )
2020-02-14 11:55:34 -08:00
Pavel Feldman
4d7e531520
fix(webkit): wait for the pipe ready on windows ( #997 )
2020-02-13 17:46:40 -08:00
Pavel Feldman
cd4e9da807
feat(coverage): export raw v8 coverage ( #976 )
...
Fixes #955
2020-02-13 17:39:14 -08:00
Dmitry Gozman
25022e4685
feat(api): introduce default timeouts on BrowserContext ( #992 )
2020-02-13 14:18:18 -08:00
Pavel Feldman
f7fb35bdbf
fix(windows): wait for pipe available again ( #993 )
2020-02-13 14:13:10 -08:00
Andrey Lushnikov
f8f818f676
Revert "Revert "feat: do not wait for first page in non-persistent mode ( #939 )""
...
Apparently a good fix is coming: https://github.com/microsoft/playwright/pull/993/
Pavel want to re-revert.
2020-02-13 13:54:01 -08:00
Andrey Lushnikov
71892b4aaa
Revert "feat: do not wait for first page in non-persistent mode ( #939 )"
...
This reverts commit a567123596
.
Reason for revert: WK-Win fails to start if we start talking over the
pipe too early.
2020-02-13 13:44:58 -08:00
Pavel Feldman
c15534ff01
fix(locale): document locale parameter ( #990 )
2020-02-13 13:37:59 -08:00
Dmitry Gozman
2e0d89e25c
fix(firefox): roll to 1029 and unskip passing tests ( #984 )
2020-02-13 13:19:25 -08:00
Pavel Feldman
8ed88c910a
feat(webkit): introduce BrowserContext({language}) ( #972 )
2020-02-13 12:24:17 -08:00
Andrey Lushnikov
8006b2c01f
fix(webkit): avoid UnhandledPromiseRejection ( #986 )
...
* fix(webkit): avoid UnhandledPromiseRejection
If we close a browser before sending first websocket message,
the `this._connect` promise will reject and will not be handled.
This surfaced at https://github.com/microsoft/playwright/pull/976/checks?check_run_id=444445350
* fix
2020-02-13 12:19:41 -08:00
Pavel Feldman
53fa62910a
fix(chromium): emit focus events in headful ( #982 )
...
Fixes #979
2020-02-13 11:29:13 -08:00
Dmitry Gozman
a567123596
feat: do not wait for first page in non-persistent mode ( #939 )
2020-02-13 10:51:17 -08:00
Joel Einbinder
d367a2ed3a
chore(tests): log protocol messages when a test fails on the bots ( #963 )
...
Similarly to how we handle stdio, this captures all protocol messages and logs them when a test fails. Great for when debugging tests in parallel or for bot failures!
Currently I made `DEBUGP=true` turn this on locally, and turned it on always for the CI. Open to
suggestions for a better environment variable. I would turn it on by default always, like the stdio logging, but it adds an enormous amount of noise to our error messages.
2020-02-12 22:35:06 -08:00
Andrey Lushnikov
d735de5347
feat: do not let users pass userDataDir
to browserType.launch()
( #974 )
...
We now have a separate method for this - `browserType.launchPersistent`.
This will probably save our users quite some time.
2020-02-12 19:32:23 -08:00
Pavel Feldman
012bf671b8
feat(webkit): emulate timezone on webkit ( #968 )
2020-02-12 17:02:59 -08:00
Andrey Lushnikov
d26f47bb3b
fix(platform): properly handle websocket error events ( #967 )
2020-02-12 16:59:19 -08:00
Andrey Lushnikov
bfaf191c98
test: add missing tests ( #965 )
...
Chromium tests on Linux now call all our API methods and events at least once!
2020-02-12 16:13:48 -08:00
Andrey Lushnikov
7ce49c2835
chore: remove WebSocket implementation ( #961 )
...
WebSocket implementation currently is very incomplete, lacking
support in WebKit-Win and Firefox.
2020-02-12 15:29:06 -08:00
Andrey Lushnikov
b0c0598510
fix(api): small-case all api event names ( #959 )
2020-02-12 14:59:54 -08:00
Pavel Feldman
d05feec740
feat(active): emulate active state on webkit ( #941 )
2020-02-11 19:10:57 -08:00
Andrey Lushnikov
0d16d144b2
fix(firefox): rely on bundled firefox preferences ( #943 )
...
Since Firefox r1027 we bundle preferences alongside with build.
Fixes #857
2020-02-11 19:10:02 -08:00
Dmitry Gozman
da30847c83
feat(firefox): apply emulation to all pages in the browser context ( #931 )
2020-02-11 18:52:01 -08:00
Pavel Feldman
53237009ad
feat($wait): make $wait a shortcut for waitForSelector ( #932 )
2020-02-11 14:51:09 -08:00
Pavel Feldman
aae5fca237
feat(api): make browser.newPage own the created context ( #930 )
2020-02-11 12:06:58 -08:00
Andrey Lushnikov
ad9d6cc31f
feat: introduce browserType.downloadBrowserIfNeeded() ( #834 )
...
Fixes #823
2020-02-11 11:33:48 -08:00
Pavel Feldman
8a35f4023c
fix(events): deliver page.close upon disconnect in FF ( #929 )
2020-02-11 11:13:08 -08:00
Dmitry Gozman
c69dccf7c1
feat(click): use browser-provided scrollIntoViewIfNeeded ( #893 )
2020-02-11 10:30:09 -08:00
Pavel Feldman
72b9cf010e
feat(context): introduce BrowserContext close event ( #918 )
2020-02-11 10:27:19 -08:00
Pavel Feldman
780235479e
fix(firefox): bring headful window to front on launch ( #923 )
...
Fixes #914
2020-02-10 20:35:58 -08:00
Joel Einbinder
251ad38824
fix(navigations): remove LifecycleWatcher, fix flakes ( #882 )
2020-02-10 18:35:47 -08:00
Pavel Feldman
84f5700294
feat(api): rename browserContext() to context() in the apis, remove url from newPage ( #906 )
2020-02-10 10:41:45 -08:00
Pavel Feldman
4d84e35096
fix(upload): detect mime type from file extension ( #911 )
2020-02-10 10:08:51 -08:00
Pavel Feldman
79b7a8491e
fix(screenshot): be careful w/ default viewport, extract common logic ( #913 )
...
Fixes #887 .
2020-02-10 09:15:15 -08:00
Pavel Feldman
e9c14770d3
fix(webkit): fix remaining tests on windows ( #905 )
2020-02-07 17:39:32 -08:00
Joel Einbinder
73148fda79
chore(lint): add @typescript-eslint/no-unnecessary-type-assertion rule ( #898 )
2020-02-07 13:38:50 -08:00
Joel Einbinder
487d394f3b
chore(lint): add @typescript-eslint/type-annotation-spacing rule ( #897 )
2020-02-07 13:36:49 -08:00
Pavel Feldman
42c2cfc7cc
fix(pipe): sort out pipes on platforms ( #895 )
2020-02-07 11:48:55 -08:00
Pavel Feldman
0ed43e8781
feat(webkit) await the reading from pipe message ( #894 )
2020-02-07 10:52:59 -08:00
Dmitry Gozman
fee83b17c9
fix(api): page.viewport -> page.viewportSize ( #878 )
...
We now only allow to resize the page, leaving isMobile and deviceScaleFactor as browser context options.
2020-02-06 19:02:55 -08:00
Dmitry Gozman
c33a12d8f0
feat(firefox): ensure that new pages get browser context userAgent option ( #872 )
2020-02-06 19:01:03 -08:00
Joel Einbinder
126eb505e8
fix(transport): dispatch messages in separate tasks ( #841 )
...
Fixes a bug in our pipe, and the same one in the non-standard `ws` module. Our protocol messages are I/O events, and therefore they should each be executed in their own task.
2020-02-06 14:14:46 -08:00
Pavel Feldman
a547aa7984
feat(connect): allow multiple webkit connections over web socket ( #863 )
2020-02-06 12:41:43 -08:00
Andrey Lushnikov
a72784a677
fix(test): properly clean input field ( #860 )
2020-02-05 18:11:33 -08:00
Dmitry Gozman
6318ba6e4a
feat(frame): introduce frame.frameElement ( #856 )
...
Fixes #839 .
2020-02-05 17:20:23 -08:00
Joel Einbinder
4be39f8af0
chore(types): upgrade to typescript 3.7.5 ( #855 )
2020-02-05 16:53:36 -08:00
Pavel Feldman
55b6fe241e
feat(launch): introduce client, server & persistent launch modes (3) ( #854 )
2020-02-05 16:36:36 -08:00
Dmitry Gozman
28c4a1697c
fix(chromium): ensure we resume service worker before detaching from it ( #850 )
2020-02-05 16:08:28 -08:00
Pavel Feldman
a2ab645e63
feat(launch): introduce client, server & persistent launch modes (2) ( #840 )
2020-02-05 12:41:55 -08:00
Pavel Feldman
0518625dcc
feat(launch): introduce client, server & persistent launch modes (1) ( #838 )
2020-02-04 19:41:38 -08:00
Pavel Feldman
bdf8e39786
feat(goto): assume http:// for localhost navigations ( #825 )
2020-02-04 19:39:52 -08:00
Dmitry Gozman
8f1df5e1e8
fix(chromium): pause workers on start to not miss any events ( #832 )
2020-02-04 19:36:46 -08:00
Andrey Lushnikov
0c2a2e11fd
fix: properly nullify error stacks ( #836 )
...
`error.stack` is supposed to have error message as the first line.
2020-02-04 19:31:57 -08:00
Pavel Feldman
e3e2da3186
feat(check): introduce page.check/uncheck ( #826 )
2020-02-04 14:39:10 -08:00
Pavel Feldman
05d4746eb5
feat(selectors): temporarily remove zs engine ( #824 )
2020-02-03 16:14:37 -08:00
Pavel Feldman
1059e22f9e
fix(fill): make fill work for input[type=number] ( #819 )
2020-02-03 15:50:45 -08:00
Andrey Lushnikov
b82bc5fbd4
feat: treat selectors with leading '(//' as xpath ( #821 )
...
This starts treating the following selectors as xpath:
- `page.$('//div')`
- `page.$('(//div)[1]')`
- `page.$('((((//div))))[1]')`
(and generally, any number of leading openting parenthesis)
Fixes #817
2020-02-03 14:52:18 -08:00
Pavel Feldman
8028fb052a
feat(route): migrate from request interception w/ events to page.route ( #809 )
2020-02-03 14:23:24 -08:00
Yury Semikhatsky
25f2a32af3
feat: add Page.opener() to the API ( #790 )
...
Fixes #783
2020-01-31 18:38:45 -08:00
Andrey Lushnikov
1489fbdbff
fix: do not recommend yarn ( #794 )
...
There's some confusion around Yarn vs Yarn 2 and their interop, which
apparently causes some [installation issues](https://stackoverflow.com/questions/59918776/playwright-error-firefox-revision-is-not-downloaded-run-npm-install-or-yarn )
2020-01-31 17:23:39 -08:00
Yury Semikhatsky
b8199c0813
chore(webkit): use async/await to make eval more readable ( #789 )
2020-01-31 17:23:17 -08:00
Pavel Feldman
ef1d2fb995
Revert "fix: move offline/cache/interception switches to BrowserContext ( #748 )" ( #793 )
...
This reverts commit 6faf74bc95
.
2020-01-31 16:23:15 -08:00
Yury Semikhatsky
c57fd22382
fix(webkit): unflake Page.setContent ( #786 )
2020-01-31 10:08:45 -08:00
Pavel Feldman
b289bb790b
fix(filechooser): intercept file choosers lazily ( #776 )
...
Fixes #764
2020-01-30 17:43:06 -08:00
Yury Semikhatsky
985faebd12
fix: avoid unhandled promise rejection in WKSession.send ( #770 )
2020-01-30 17:30:47 -08:00
Yury Semikhatsky
1b012e50e9
fix: do actually catch worker initialization exceptions ( #762 )
2020-01-30 11:40:56 -08:00
Yury Semikhatsky
603b9f54dd
fix: make contentFrame cross-frame handles test pass ( #761 )
2020-01-30 11:04:09 -08:00
Pavel Feldman
f44d6607c3
feat(webkit): use consistent user agent for headful and headless ( #756 )
2020-01-29 20:12:09 -08:00
Pavel Feldman
ce7219870b
feat(webkit): roll webkit to 1124 ( #736 )
2020-01-29 19:13:44 -08:00
Dmitry Gozman
0e6b44d337
feat(selectors): selectors.register accepts function ( #753 )
2020-01-29 15:13:43 -08:00
Yury Semikhatsky
6faf74bc95
fix: move offline/cache/interception switches to BrowserContext ( #748 )
2020-01-29 12:51:14 -08:00
tsuemura
fc93b886d9
fix: typo ( #740 )
2020-01-29 09:40:13 -08:00
Andrey Lushnikov
ce7c8d74b5
feat: introduce BrowserType.name() ( #732 )
...
This helps a lot to produce nice logging:
```js
const { chromium, webkit } = require('playwright');
(async () => {
for (const launcher of [chromium, webkit]) {
console.log(`Testing on ${launcher.name()}`);
const browser = await launcher.launch();
// ...
await browser.close();
}
})();
```
2020-01-28 18:09:07 -08:00
Yury Semikhatsky
4c25180912
chore(webkit): do not call setPauseOnStart for each target ( #725 )
2020-01-28 14:51:05 -08:00
Pavel Feldman
09e97afd22
feat(wk,ff): amend method & postData upon continue ( #703 )
...
Fixes #668
2020-01-28 14:29:46 -08:00
Yury Semikhatsky
460527d8cb
fix(webkit): do not poll readyState if target is paused before first navigation ( #721 )
2020-01-28 14:00:36 -08:00
Dmitry Gozman
c04ad140f3
feat(launcher): gracefully close browser on sigint ( #650 )
2020-01-28 13:07:53 -08:00
Dmitry Gozman
324874962c
fix(webkit): make frames detect their initial load state ( #690 )
2020-01-28 13:05:38 -08:00
Dmitry Gozman
2bef4aea03
feat(api): introduce selectors.register method ( #701 )
2020-01-28 11:20:34 -08:00
Yury Semikhatsky
2ddc987854
fix(webkit): initialize popups on start ( #693 )
2020-01-28 11:07:35 -08:00
Sam Yamashita
a64fc0e45f
chore: fix missing device definitions ( #708 )
...
Fixes #606
2020-01-28 10:39:54 -08:00
Dmitry Gozman
89b5d2f7be
fix(setContent): manually reset lifecycyle for all browsers at the right moment ( #679 )
2020-01-27 16:51:52 -08:00
Dmitry Gozman
541fa95ce4
fix(ownerFrame): correctly handle adopted node usecase ( #677 )
2020-01-27 11:43:43 -08:00
Pavel Feldman
6e4bf9561b
fix(install): check macOS version to be 10.14 or higher ( #671 )
...
Fixes #669
2020-01-27 09:37:33 -08:00
Pavel Feldman
b4b7c5eeef
feat(webkit): enable user-data-dir tests for all platforms ( #646 )
...
Fixes #560
2020-01-24 17:42:24 -08:00
Dmitry Gozman
be19ae5e67
feat(browserApp): kill and onclose ( #641 )
2020-01-24 15:58:04 -08:00
Dmitry Gozman
f1d1dfb081
fix(webkit): rewrite global object retrieval errors ( #640 )
2020-01-24 15:56:41 -08:00
Dmitry Gozman
c453851217
api: introduce BrowserType with a single interface, update top-level api ( #636 )
2020-01-24 14:49:47 -08:00
André Abreu
199d094c6d
fix: make launch options in ffPlaywright optional ( #637 )
2020-01-24 13:27:49 -08:00
Dmitry Gozman
060fbf7428
fix(workers): emit workerdestroyed event when clearing workers ( #618 )
2020-01-23 17:52:06 -08:00
Dmitry Gozman
056fbbd53e
fix(api): make pipe connection the default, expose webSocket launch option ( #562 )
2020-01-23 17:45:31 -08:00
Andrey Lushnikov
b4b81bae02
chore: move downloads to Azure CDN ( #615 )
...
This should drastically speedup downloads across the globe.
2020-01-23 16:00:55 -08:00
Dmitry Gozman
866c60254b
fix(firefox): disable ICC color correction based on OS display ( #614 )
...
This way screenshots will be consistent across host environments.
2020-01-23 15:44:31 -08:00
Joel Einbinder
4cf2180506
fix(docs): add docs for the websocket event ( #612 )
2020-01-23 15:26:38 -08:00
Yury Semikhatsky
044ebd7fd8
fix: delete contexts from the map on navigation ( #602 )
2020-01-23 14:58:30 -08:00
Dmitry Gozman
ac2ba3cbd9
fix(api): BrowserServer -> BrowserApp, resuse it between browsers ( #599 )
2020-01-23 14:40:37 -08:00
Pavel Feldman
b4209e9dc8
test: move user-data-dir tests into shared location ( #603 )
2020-01-23 12:18:41 -08:00
Dmitry Gozman
a5019ea69a
fix(api): remove remoteAddress from api ( #601 )
2020-01-23 12:13:58 -08:00
Dmitry Gozman
23a668e3be
feat(firefox): support request interception ( #571 )
2020-01-23 10:38:28 -08:00
Dmitry Gozman
24f5f1f952
fix(wk websocket): do not send messages to a closing websocket ( #593 )
2020-01-23 10:33:05 -08:00
Dmitry Gozman
fa2f321fdd
fix(api): remove BrowserServer.connect ( #574 )
2020-01-23 08:51:43 -08:00
Dmitry Gozman
3269358ac8
feat(webkit): covert pipe to websocket when asked ( #570 )
2020-01-22 17:42:10 -08:00
Yury Semikhatsky
869ffc8afd
chore(webkit): remove _disconnectFromTarget ( #567 )
2020-01-22 16:47:56 -08:00
Yury Semikhatsky
6308dbe01e
fix(webkit): always push state changes to the provisional page ( #564 )
2020-01-22 14:17:44 -08:00
Pavel
1c8b421260
chore: remove web sockets for now, mute failing wpe tests
2020-01-21 18:33:19 -08:00
Joel Einbinder
8127c890e4
fix(firefox): be able to launch on headful+windows ( #553 )
...
Without the `-wait-for-browser` flag, the launcher process immediately exits on windows. Because we listen to 'exit', we think the browser has closed.
We still can't close the Firefox process very well.
For the reference, this is based upon https://wiki.mozilla.org/Platform/Integration/InjectEject/Launcher_Process/
2020-01-21 17:22:48 -08:00
Andrey Lushnikov
b8bb58e48b
chore: migrate browser builds to a new CDN ( #549 )
2020-01-21 15:43:58 -08:00
Yury Semikhatsky
bf6f6741b4
chore(webkit): merge network manager into WKPage ( #548 )
2020-01-21 14:58:12 -08:00
Pavel Feldman
80c3b46a54
feat(websockets): implement support for ws on cr/wk ( #542 )
2020-01-21 11:48:48 -08:00
Dmitry Gozman
ddf47bc291
feat(worker): report workers network activity ( #545 )
2020-01-21 10:41:04 -08:00
Dmitry Gozman
894e91bb68
fix(api): remove $x form the api, $$ works equally good ( #544 )
2020-01-20 11:30:22 -08:00
Yury Semikhatsky
ab806e6274
fix(webkit): clear workers on navigation ( #535 )
2020-01-17 18:46:45 -08:00
Dmitry Gozman
d64c38b586
feat(firefox): support workers ( #532 )
2020-01-17 17:51:02 -08:00
Dmitry Gozman
bb3f12245c
feat(network): ignore favicon requests - these are too unpredictable ( #533 )
2020-01-17 17:14:39 -08:00