puppeteer/phantom_shim
Andrey Lushnikov 13e8580a34 Use puppeteer.launch instead of browser constructor (#255)
This patch:
- split browser launching logic from Browser into `lib/Launcher.js`
- introduce `puppeteer` namespace which currently has a single `launch`
  method to start a browser

With this patch, the browser is no longer created with the `new
Browser(..)` command. Instead, it should be "launched" via the
`puppeteer.launch` method:

```js
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
  ...
});
```

With this approach browser instance lifetime matches the lifetime of
actual browser process. This helps us:
- remove proxy streams, e.g. browser.stderr and browser.stdout
- cleanup browser class and make it possible to connect to remote
  browser
- introduce events on the browser instance, e.g. 'page' event. In case
  of lazy-launching browser, we should've launch browser when an event
  listener is added, which is unneded comlpexity.
2017-08-14 18:08:06 -07:00
..
FileSystem.js Use const a lot fo places (#188) 2017-08-02 12:06:47 -07:00
Phantom.js Use const a lot fo places (#188) 2017-08-02 12:06:47 -07:00
README.md Add separate README.md to phantom_shim (#252) 2017-08-14 10:13:48 -07:00
runner.js Use puppeteer.launch instead of browser constructor (#255) 2017-08-14 18:08:06 -07:00
System.js Use const a lot fo places (#188) 2017-08-02 12:06:47 -07:00
utilities.js Use const a lot fo places (#188) 2017-08-02 12:06:47 -07:00
WebPage.js Introduce new interception API (#242) 2017-08-11 17:24:31 -07:00
WebServer.js Use const a lot fo places (#188) 2017-08-02 12:06:47 -07:00

PhantomShim

PhantomShim is a phantomJS script runner built atop of Puppeteer API.

Q: Can I use PhantomShim to run my scripts?

No.

PhantomShim aims to pass PhantomJS tests rather then to be a valid PhantomJS script runner:

Q: What's the purpose of PhantomShim?

The goal is to prove comprehensiveness of Puppeteer API.

PhantomShim is built atop of Puppeteer API and is used to run PhantomJS tests. Whenever PhantomShim can't implement certain capability to pass phantomJS test, Puppeteer API is improved to make it possible.

Q: Are there plans to evolve PhantomShim into a real PhantomJS script runner?

No.

On the contrary, PhantomShim is likely to be removed from the Puppeteer repository as it passes all interesting PhantomJS tests.