Commit Graph

65 Commits

Author SHA1 Message Date
Andrey Lushnikov
c4a3d44221 Roll chromium to r499413 (#731)
The new chromium:
- supports executionContextId in Runtime.callFunctionOn protocol method
- supports passing objects as arguments in Runtime.callFuntionOn
  protocol method

This roll also fixes #487.
2017-09-09 09:48:09 -07:00
Andrey Lushnikov
113bdafbf0 Bump version to 0.11.0-alpha 2017-09-08 13:37:47 -07:00
Andrey Lushnikov
2817130fe0 Mark version 0.10.2 2017-09-01 21:02:08 -07:00
Andrey Lushnikov
bf66696770 correct license to be a valid SPDX license expression 2017-08-31 11:16:28 -07:00
Gregory Linford
a052cdb464 Update package.json with Apache License 2.0 (#632)
The license used is Apache License 2.0, so I think it makes sense to update the package.json file with the correct string as a some software use this field to approve or not packages.
2017-08-31 09:57:29 -07:00
Andrey Lushnikov
223a1066bb Drop deasync: this is a left-over from phantomShim (#607) 2017-08-29 23:34:00 -07:00
Andrey Lushnikov
74c53f3758 Roll chromium to r497674 (#588) 2017-08-28 22:19:07 -07:00
Andrey Lushnikov
39b9081747 Bump version to 0.10.2-alpha (#566) 2017-08-28 11:15:11 -07:00
Andrey Lushnikov
ea4f8d78fc Mark version 0.10.1 2017-08-25 19:37:53 -07:00
JoelEinbinder
cd81944e66 Test node6 on travis (#551)
This patch starts running all puppeteer tests with node6 on travis-ci.
2017-08-25 19:28:49 -07:00
JoelEinbinder
bd5b4fe963 Phantom shim mention (#552)
Remote remaining mentions of PhantomShim
2017-08-25 16:30:48 -07:00
Andrey Lushnikov
e8f8a1ad1f Kill PhantomShim. (#533)
This patch kills PhantomShim, a lightweight layer that helped to
bootstrap Puppeteer API.

At this point, PhantomShim:
- passes 139 phantomJS tests
- fails 13 tests
- lacks capabilities to run 26

The failings and unsupported tests don't have any value for Puppeteer
API, so it doesn't make sense to maintain PhantomShim any longer.
2017-08-25 15:15:34 -07:00
Andrey Lushnikov
be4da580d4 Bump tip-of-tree version to 0.10.1-alpha (#534)
This patch:
- bumps tip-of-tree version to 0.10.1-alpha
- updates api.md to refer to released API and fix a nit in README.md
2017-08-24 22:47:57 -07:00
Andrey Lushnikov
751164c69f Mark version 0.10.0 2017-08-24 18:11:43 -07:00
JoelEinbinder
9212863b92 Node 6 support (#484)
This patch:
- introduces a transpiler which substitutes async/await logic with
generators.
- starts using the transpiler to generate a node6-compatible version of puppeteer
- introduces a runtime-check to decide which version of code to use

Fixes #316.
2017-08-24 12:20:05 -07:00
Eric Bidelman
a330c8eeba Bump version to 0.9.1-alpha
This patch bumps version to 0.9.1-alpha.
This should emphasize that the documentation is related to the tip-of-tree
version of puppeteer, not to the latest release.
2017-08-23 13:39:35 -07:00
Paul Hawxby
a00ba6a3d9 Adding proxy support for ChromiumDownloader (#455)
This patch teaches puppeteer to download chromium over the
HTTP proxy, if any.

Fixes #448.
2017-08-23 08:33:29 -07:00
Andrey Lushnikov
ce08fc77b1 Roll chromium to r496140 (#465)
This patch rolls chromium to r496140. This includes the r496130 that
introduces multiple sessions for single target.

With this patch, it is possible to run puppeteer in headful mode
and open devtools over the automated pages without puppeteer losing
connection to the page.
2017-08-22 14:15:02 -07:00
Andrey Lushnikov
3ce173c16b Roll chromium to r494755 (#286)
Fixes #285.
2017-08-16 07:21:26 -07:00
Paul Irish
6a1fb26196 Add .npmignore (#282) 2017-08-15 22:30:56 -07:00
Pavel Feldman
9c5c38e49a Roll chromium to r494685 (#281) 2017-08-15 22:10:08 -07:00
Aleksey
56eab00fa7 Roll chromium to r494365 (#271)
This patch:
- rolls chromium to r494365
- starts using Runtime.evaluate(awaitPromise: true), with new semantic
  we can avoid additional Runtime.awaitPromise call
- stops resolving promises for Console event
2017-08-15 17:35:59 -07:00
Andrey Lushnikov
1e5d9fd8c0 Proofreading documentation (#274)
This patch fixes documentation in a few places.
2017-08-15 17:33:03 -07:00
Andrey Lushnikov
4269f6a1bb Roll chromium to r493985 (#251)
This patch:
- rolls chromium to r493985
- migrates Browser.version() puppeteer method to use newly added
  Browser.getVersion() protocol method

References #227
2017-08-12 22:04:39 -07:00
JoelEinbinder
497baf0198 Roll chromium to r493673 (#240)
Mouse events are no longer racy. Enabling touch no longer converts all mouse events into touches. Promises in destroyed execution contexts are rejected immediately.
2017-08-11 01:21:02 -07:00
Andrey Lushnikov
fe06c896eb Roll chromium to 492629 (#230)
This patch
- rolls chromium to 492629
- migrates connection establishing to use browser target. This migration means
  that now we have a single websocket connection to browser (implemented
  in Connection class). A connection to a particular target is
  incapsulated in a new Session class.
2017-08-09 16:14:00 -07:00
Andrey Lushnikov
d8dd6ea140 Add more tests to cover Page.pdf() method (#196) (#200)
This patch adds sanity tests to make sure Page.pdf() produces
sane results.

Fixes #166.
2017-08-03 14:10:52 -07:00
Andrey Lushnikov
fc22b5d888 Revert "Add more tests to cover Page.pdf() method (#196)" (#199)
This reverts commit 403362eaf1.
2017-08-03 13:42:38 -07:00
Andrey Lushnikov
403362eaf1 Add more tests to cover Page.pdf() method (#196)
This patch adds sanity tests to make sure Page.pdf() produces
sane results.

Fixes #166.
2017-08-03 13:37:20 -07:00
Andrey Lushnikov
dbe8660082 Roll chromium to r491334 (#187)
This patch rolls chromium to r491334

This revision includes @pavelfeldman changes to make dialogs
work in headless.
2017-08-02 13:12:44 -07:00
Andrey Lushnikov
3ada7e1adb [doclint] Implement simple markdown preprocessor
This patch implements simple markdown preprocessor. The goal
is to generate certain parts of markdown, such as:
- puppeteer version
- chromium revision
- table-of-contents
- copy/paste parts of documentation (for shortcut methods)
2017-07-31 02:06:27 -07:00
Andrey Lushnikov
75a8d7b0c3 [doclint] Prepare doclint for more checks
This patch refactors doclint so that more checks and more generators
could be added.

This patch:
- Introduces 'Source' class, which holds file content in-memory and
  allows it to be updated.
- Introduces 'Message' class - which is a pair of a text and a type.
  Messages could have either 'error' type or 'warning' type.
2017-07-31 00:10:59 -07:00
Pavel Feldman
7fdf800a39 Simplify frame manager, do not fetch resources upfront (#159)
This patch:
- gets rid of Page.getResourceTree() protocol method
- rolls chromium to 490379

Fixes #127
2017-07-28 16:52:38 -07:00
Andrey Lushnikov
91785d97f3 Add missing LICENSE headers to the source files
This patch:
- adds missing LICENSE headers to the source files
- set's puppeteer version to 0.1.0
- set's repository field in package.json
2017-07-28 01:09:26 -07:00
JoelEinbinder
a2e0d27fb6 Implement public API coverage
This patch:
- implements a basic public API coverage based on 'helper.tracePublicAPI' methods
- adds `npm run coverage` command which reports coverage after running all of the unit tests

References #50.
2017-07-27 16:16:37 -07:00
Andrey Lushnikov
91cbe561ba Roll chromium to r488994
This patch rolls chromium past the r488926 which prevents chromium from
going to sleep on Mac OS X.

Fixes #100.
2017-07-24 18:28:34 -07:00
Andrey Lushnikov
63e928f4cd Roll chromium to r488823 2017-07-24 01:13:49 -07:00
Andrey Lushnikov
0960dc38d1 Automatically generate table-of-contents for markdown
This patch teaches doclint to regenerate table of contents
automatically whenever it's needed.

This patch:
- splits lint.js into lint.js and cli.js
- teaches cli.js to generate table-of-contents
- removes the test for table-of-contents errors from doclint
- adds a test for doclint failing to parse object destructuring in
  method parameters.
2017-07-21 11:12:05 -07:00
Andrey Lushnikov
40c66d1f2a Roll chromium to r487285 2017-07-19 00:23:23 -07:00
Andrey Lushnikov
0414dfa98b Introduce DEBUG module
This patch re-introduces the DEBUG module to expose some of
the puppeteer's internals.

Currently, only the protocol message communication is exposed under
the 'puppeteer:protocol' namespace.
2017-07-17 15:15:07 -07:00
Pavel Feldman
4581ada210 Roll chromium to r486981. (#87)
This patch rolls chromium to r486981 and prepares
for the introduction of device emulation.
2017-07-17 12:15:06 -07:00
Andrey Lushnikov
d99031ba46 [doclint] Move doclint under utils/
This patch:
- moves doclint under utils/ folder
- adds tests to verify doclint basic functionality

This patch also drops the jasmine as a spec runner for the doclint
checks. It turned out it's hard to customize jasmine's behavior,
so instead this patch implements a dummy spec runner.

The dummy spec runner allows us:
- to format messages however we want (the custom jasmine reporter would
  also allow us to do this)
- to avoid `beforeAll` functions which pollute global to pass
  initialized variables over to specs

References #14
2017-07-13 00:28:52 -07:00
Andrey Lushnikov
b0a2cf662e Roll chromium to r485143 2017-07-11 19:38:20 -07:00
Andrey Lushnikov
a0eeb415f2 Introduce yarn debug-unit command
The command runs the puppeteer testsuite with the '--inspect-brk' node
flag. This makes it possible to connect to the testsuite with
Chrome DevTools and debug it.

Fixes #57.
2017-07-07 13:08:36 -07:00
Andrey Lushnikov
193f0d85cb Enable documentation linting (#56)
This patch enables documentation linting as a part of `npm run lint`
command.

References #14.
2017-07-07 21:53:55 +03:00
Andrey Lushnikov
62cacbe5f5 Implement documentation linter (#47)
This patch implements documentation linter, which leaves under `test/doclint`
folder.

The documentation linter works like this:
1. Parse javascript source code with esprima and construct a "documentation" out of source code
2. Generate HTML out of `api.md` and traverse the HTML with puppeteer.
3. Make sure javascript aligns nicely with HTML

The documentation linter adds the following commands:
- `yarn doc` - to test that documentation covers all the relevant apis
- `yarn generate-toc` - to update the table-of-contents for the `api.md`
2017-07-07 19:36:45 +03:00
Andrey Lushnikov
0d2c32e8cd Roll chromium to r484159 2017-07-05 17:02:58 -07:00
Andrey Lushnikov
175963182e Implement FrameManager
This patch implements FrameManager which is responsible for maintaining
the frame tree. FrameManager is quite basic: it sends FrameAttached,
FrameDetached and FrameNavigated events, and can report mainFrame and
all frames.

The next step would be moving certain Page API's to the Frame. For
example, such method as Page.evaluate, Page.navigate and others should
be available on Frame object as well.

References #4
2017-06-21 14:11:52 -07:00
Paul Irish
a66480a416 Fix ESLint failures (#34)
References #33
2017-06-21 14:11:52 -07:00
Paul Irish
a033b1b7ac Add travis config (#29)
This patch: 
- adds travis
- adds eslint as required in devdeps
- cleans up travis yml
2017-06-21 14:11:52 -07:00