playwright/src
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
..
chromium fix(PageEvent): properly wait for initial navigation in chromium and webkit (#1412) 2020-03-18 17:14:18 -07:00
firefox api(eval): allow non-toplevel handles as eval arguments (#1404) 2020-03-18 10:41:46 -07:00
injected fix(click): timing out in page while waiting for interactable should have proper error (#1199) 2020-03-03 17:14:00 -08:00
server devops: remake downloading logic (#1419) 2020-03-19 11:43:35 -07:00
webkit fix(PageEvent): properly wait for initial navigation in chromium and webkit (#1412) 2020-03-18 17:14:18 -07:00
.eslintrc.js chore(lint): add @typescript-eslint/type-annotation-spacing rule (#897) 2020-02-07 13:36:49 -08:00
accessibility.ts fix(docs): fixup and lint optionals and return values in api.md (#1376) 2020-03-18 16:23:25 -07:00
api.ts api(cdp): rename ChromiumSession to CDPSession (#1380) 2020-03-13 16:16:54 -07:00
browser.ts chore(tests): log protocol messages when a test fails on the bots (#963) 2020-02-12 22:35:06 -08:00
browserContext.ts api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
console.ts chore(license): use Apache 2.0 (#389) 2020-01-06 18:22:35 -08:00
deviceDescriptors.ts api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
dialog.ts chore: reuse Dialog between browsers (#115) 2019-12-02 11:53:23 -07:00
dom.ts fix(docs): fixup and lint optionals and return values in api.md (#1376) 2020-03-18 16:23:25 -07:00
errors.ts fix: rename files on case-sensitive fs 2019-12-13 13:57:11 -08:00
events.ts fix(api): fire BrowserContext.Page event in WebKit and Firefox (#1186) 2020-03-02 18:32:56 -08:00
frames.ts chore: rework disposers into a frame task (#1413) 2020-03-18 20:05:35 -07:00
helper.ts api(waitForLoadState): restore it (#1390) 2020-03-16 14:39:44 -07:00
input.ts api(click): remove tripleclick, respect clickCount (#1373) 2020-03-13 08:09:48 -07:00
javascript.ts api(eval): allow non-toplevel handles as eval arguments (#1404) 2020-03-18 10:41:46 -07:00
network.ts api(network): replace redirectChain with redirectedFrom/redirectedTo (#1401) 2020-03-16 13:31:06 -07:00
page.ts chore: rework disposers into a frame task (#1413) 2020-03-18 20:05:35 -07:00
platform.ts api(eval): allow non-toplevel handles as eval arguments (#1404) 2020-03-18 10:41:46 -07:00
screenshotter.ts fix(screenshots): simplify implementation, allow fullPage + clip, add tests (#1194) 2020-03-03 16:09:32 -08:00
selectors.ts api(selectors): pass selector name when registering, allow file path (#1162) 2020-02-28 15:34:07 -08:00
timeoutSettings.ts feat(api): introduce default timeouts on BrowserContext (#992) 2020-02-13 14:18:18 -08:00
transport.ts fix: re-implement slow-mo transport without message serialization (#1328) 2020-03-10 15:57:39 -07:00
types.ts feat(types): better types for nested handles (#1424) 2020-03-18 15:19:58 -07:00
usKeyboardLayout.ts fix(keyboard): Add mac editing commands for NumpadEnter (#1026) 2020-02-14 18:37:02 -08:00
web.ts feat(firefox): roll firefox (#1273) 2020-03-06 16:49:48 -08:00
web.webpack.config.js api(eval): allow non-toplevel handles as eval arguments (#1404) 2020-03-18 10:41:46 -07:00