feat: Introduce BrowserFetcher class (#1983)

This patch introduces `BrowserFetcher` class that manages
downloaded versions of products.

This patch:
- shapes Downloader API to be minimal yet usable for our needs. This
  includes removing such methods as `Downloader.supportedPlatforms` and
  `Downloader.defaultRevision`.
- makes most of the fs-related methods in Downloader async. The only
  exception is the `Downloader.revisionInfo`: it has stay sync due to the
  `pptr.executablePath()` method being sync.
- updates `install.js` and `utils/check_availability.js` to use new API
- finally, renames `Downloader` into `BrowserFetcher`

Fixes #1748.
This commit is contained in:
Andrey Lushnikov
2018-02-07 12:31:53 -05:00
committed by GitHub
parent 18c975509f
commit a363a733b7
11 changed files with 260 additions and 141 deletions

View File

@@ -22,7 +22,6 @@ const Message = require('../Message');
const EXCLUDE_CLASSES = new Set([
'CSSCoverage',
'Connection',
'Downloader',
'EmulationManager',
'FrameManager',
'JSCoverage',