Commit Graph

1765 Commits

Author SHA1 Message Date
Mathias Bynens
013a86cf28
feat(chromium): roll Chromium to r722269 (#5289)
This corresponds to Chromium 80.0.3987.0.

This roll includes:

- Implement support for the new ARIA `generic` role
  https://chromium-review.googlesource.com/c/chromium/src/+/1872305
- Expose button's children to accessibility tree
  https://chromium-review.googlesource.com/c/chromium/src/+/1845810
- Remove `Page.handleFileChooser` from CDP
  https://chromium-review.googlesource.com/c/chromium/src/+/1935410
2020-01-27 14:44:53 +01:00
Mathias Bynens
14b2369650
chore: mark puppeteer-firefox version v0.5.1 (#5294) 2020-01-09 16:07:21 +01:00
Mathias Bynens
3a49cfc9f8
chore: move to GitHub hosting for Juggler binaries (#5293) 2020-01-09 15:24:57 +01:00
Lawrence Chou
c7af7ded66 docs(readme): update link for ndb (#5272) 2020-01-08 12:26:22 +01:00
den
5e63254e62 chore: fix typo in test name (#5217) 2019-12-11 15:41:41 +01:00
Danny Guo
80b5c44d89 chore: upgrade https-proxy-agent (#5243)
https-proxy-agent requires agent-base, which currently monkey-patches the core `https` Node module, causing problems in unrelated code. The latest version of https-proxy-agent uses the latest version of agent-base which no longer does this monkey patching.
2019-12-11 15:40:22 +01:00
Mathias Bynens
6091a34a36
fix: prepare jsHandle.uploadFile for CDP Page.handleFileChooser removal (#5196)
* fix: prepare jsHandle.uploadFile for CDP Page.handleFileChooser removal

https://chromium-review.googlesource.com/c/chromium/src/+/1935410
removes Page.handleFileChooser from the CDP.

* fix: improve binary file support

UTF-8-decoding the input file could fail for binary files, and so we
now read the raw file buffer and base64-encode it. To base64-decode it
within the page context, we use the Fetch API in combination with a
data URL. This requires knowing the proper MIME type for the input
file, which we now figure out using the new mime-types dependency.
2019-12-03 09:18:18 +01:00
Mathias Bynens
8b49dc62a6
fix: don’t disable BlinkGenPropertyTrees anymore (#5159)
Ref. #5080.
2019-11-27 12:58:09 +01:00
Darío Kondratiuk
f0bf645c47 test: reduce flakiness for accessibility tests with autofocus (#5116) 2019-11-27 10:36:17 +01:00
Erik Kotsiuba
6cc98a7b63 docs(troubleshooting): recommend using args for heroku (#5197)
Co-Authored-By: Mathias Bynens <mathias@qiwi.be>
2019-11-27 10:01:39 +01:00
Maja Frydrychowicz
35d5ba5830 feat(launcher): Set default Firefox prefs (#5149) (#5195)
Add recommended automation preferences to profile
setup when launching Firefox. This profile can be overridden
by using the `userDataDir` launch option, or individual prefs
can be overwritten with the `extraPrefsFirefox` option.

The preferences have been reviewed by peers at Mozilla
over at https://bugzilla.mozilla.org/show_bug.cgi?id=1596888

Co-Authored-By: Mathias Bynens <mathias@qiwi.be>
2019-11-27 07:57:43 +01:00
Mathias Bynens
eddb23b521
chore: update URLs (#5185) 2019-11-26 13:12:25 +01:00
Maja Frydrychowicz
c5a72e9887 feat(launcher): add option to run Puppeteer with different browsers (#5137)
* feat: Set which browser to launch via PUPPETEER_PRODUCT

This change introduces a PUPPETEER_PRODUCT environment
variable as a first step toward using Puppeteer with
many different browsers. Setting PUPPETEER_PRODUCT=firefox, for
example, enables Firefox-specific Launcher settings.

The state is also exposed as `puppeteer.product` in the API
to support adding other product-specific behaviour as needed.

The bulk of the change is a refactoring in Launcher
to decouple generic browser start-up from product-specific
configuration.

Respecting the puppeteer-core restriction for PUPPETEER_
environment variables, lazily instantiate the Launcher
based on a `product` Puppeteer.launch option, if available.

* test: Distinguish Juggler unit tests from Firefox

The funit script is renamed to fjunit (j for Juggler, which is
used only by the experimental puppeteer-firefox package.

In contrast, the funit script now refers to running Puppeteer
unit tests against the main puppeteer package with Firefox.
To do so with Firefox Nightly, run:

`BINARY=path/to/firefox npm run funit`

A number of changes in this patch make it easier to run
Puppeteer unit tests in Mozilla's CI.
2019-11-26 10:23:19 +01:00
Connor Clark
d17708ba1f fix(types): publish protocol types to npm (#5174)
Co-Authored-By: Mathias Bynens <mathias@qiwi.be>
2019-11-15 20:19:08 -08:00
Darío Kondratiuk
fd43f9c23a docs(api.md): fix defaultArgs link (#5126)
Closes #5094.
2019-11-04 19:43:04 -03:00
Chris Calo
5fa28b585f docs(api.md): fix typo (#5120) 2019-11-02 18:42:29 -04:00
Benj Fassbind
561c99d52a docs(api.md): prefer async/await over Promise#then (#5089)
Fixes #5082.
2019-10-26 11:00:39 +02:00
Mathias Bynens
aaa904d293 docs(contributing): clarify release process 2019-10-24 17:51:51 +02:00
Mathias Bynens
304f4a734c chore: update .npmignore 2019-10-24 17:46:43 +02:00
Mathias Bynens
7032472af7 chore: bump version to v2.0.0-post 2019-10-24 17:38:39 +02:00
Mathias Bynens
aa246973b9
chore: mark version v2.0.0 (#5078) 2019-10-24 14:46:50 +02:00
Mathias Bynens
360c1b4c7d
test: add page.screenshot viewport clipping test (#5079) 2019-10-24 14:05:13 +02:00
theeko
7f3e372b14 docs(api.md): improve page.waitFor docs for the options object (#5021) 2019-10-24 11:22:21 +02:00
Vse Mozhet Byt
8132b39a6c docs(api.md): remove duplicate code from an example (#5072) 2019-10-24 11:21:38 +02:00
Mathias Bynens
1248a19135
feat(api): add page.emulateTimezone(timezoneId) (#4949)
This enables dynamically changing the timezone of the page.
2019-10-23 15:49:39 +02:00
Mathias Bynens
a86363fda6
feat(api): add page.emulateMedia{Type,Features} (#5012) 2019-10-23 13:55:00 +02:00
Mathias Bynens
06dbb72c73
chore: use map instead of plain object (#5068) 2019-10-23 13:12:33 +02:00
Mathias Bynens
81d2600236 feat(chromium): roll Chromium to r705776 (#5058)
This corresponds to Chromium 79.0.3942.0.

This roll includes:

- Support CSS media feature emulation in CDP
  https://chromium-review.googlesource.com/c/chromium/src/+/1821608
- Implement timezone ID verification
  https://chromium-review.googlesource.com/c/chromium/src/+/1822557
- Allow aria-hidden objects into the browser-side ax tree
  https://chromium-review.googlesource.com/c/chromium/src/+/1760862
- Remove pre-BlinkGenPropertyTrees codepaths (affects screenshot clipping)
  https://chromium-review.googlesource.com/c/chromium/src/+/1752244
- Terminate some asynchronous waiting commands on cross-process navigation
  https://chromium-review.googlesource.com/c/chromium/src/+/1766001/21#message-a6a61261b97ffca6ecb180c0a2303b538f7a6476

Per upstream Chromium changes, `page.screenshot` now clips elements to the viewport. This matches the clipping behavior of elements in inner scrollers (i.e., document and overflow scroll clipping now work the same).
2019-10-23 11:41:44 +02:00
Yury Semikhatsky
3773229ac2 fix: avoid unnecessary zero-delays in input code (#4934) 2019-10-21 08:29:56 +02:00
Mathias Bynens
11ff374ca3
chore: drop Node.js v6 support (#5045)
Node.js v6 was end-of-life'd in April, 2019, with AWS Lambda prohibiting updaets to the Node.js v6 runtime since June 30, 2019.

This makes it quite safe for us to remove the Node 6 support from the repository.
2019-10-16 17:00:20 +02:00
Julien Landuré
c0ba8f9a19 docs(troubleshooting): update Alpine Chromium versions (#4980)
Chromium 77 is now the default version installed in Alpine.
2019-10-16 10:05:17 +02:00
Mathias Bynens
25061694a9
docs(contributing): mention manual docs/api updates (#5023)
Ref. #5016.
2019-10-15 11:11:34 +02:00
Mathias Bynens
83c327a0f6
docs(readme): correct Slack link
Fixes #4969.
2019-10-10 14:23:21 +01:00
2kindsofcs
4c62e09a76 fix(comment): fix typo in Launcher.js (#4959) 2019-10-10 11:54:14 +01:00
Darío Kondratiuk
7dbb10859c docs(api): list Chromium version for Puppeteer v1.20.0 (#5015) 2019-10-10 11:44:18 +01:00
Alexander Kachkaev
5b34028e63 chore: bump https-proxy-agent to mitigate a security issue (#5016) 2019-10-10 11:43:06 +01:00
Chris B
dc57d03c19 docs(api): clarify type method examples (#5010) 2019-10-07 08:32:35 +02:00
Mathias Bynens
fff2737e8a doc(contributing): clarify release instructions (#4940) 2019-09-13 19:59:14 -07:00
Mathias Bynens
387a532707 chore: bump version to v1.20.0-post (#4939) 2019-09-13 19:58:13 -07:00
Mathias Bynens
a5f03ce1c8 chore: mark version v1.20.0 (#4928) 2019-09-12 15:21:21 -07:00
Mathias Bynens
f504c042c0 test: mark Page.close test as failing in Firefox (#4929) 2019-09-12 14:29:40 -07:00
Maximilian Tagher
e17d38c61b docs(readme): explain significance of Chromium revision (#4811) 2019-09-11 10:33:01 +02:00
Vitalii Tverdokhlib
93843592da docs(troubleshooting): fix Alpine version link (#4927) 2019-09-11 10:30:59 +02:00
Mathias Bynens
fca9d4585f docs(CONTRIBUTING.md): clarify release process (#4923)
After bumping the package.json version number, maintainers should run `npm run doc` to automatically update README.md and docs/api.md accordingly.
2019-09-10 13:15:45 -07:00
Mathias Bynens
97ff359b0e docs(CONTRIBUTING.md): fix some typos (#4917)
As someone who's new to the project, I read the contributing guide and spotted some things that confused me. Hopefully this patch helps to reduces the confusion for others!
2019-09-09 15:52:52 -07:00
Yury Semikhatsky
c2651c2b5c refactor: Pass FrameManager to NetworkManager constructor (#4907) 2019-09-04 18:11:58 -07:00
Pavel Feldman
73fd7ff822 feat(api): add element.select and element.evaluate for consistency (#4892) 2019-09-04 15:19:34 -07:00
James George
135bb424ba docs: update README.md (#4857)
add issue resolution badge
2019-09-04 15:07:47 -07:00
Artem Sheremet
cba0f98a2a docs(troubleshooting): Fix missing package in Docker instructions (#4877)
`ttf-freefont` is gone -- looks like it's [replaced](https://packages.debian.org/search?keywords=ttf-freefont) by `fonts-freefont-ttf`, which is [available since oldoldstable](https://packages.debian.org/search?keywords=fonts-freefont-ttf).
2019-08-24 20:13:56 -07:00
Joel Einbinder
07eaad9aaa fix(api): tbd release date (#4872) 2019-08-22 15:03:26 -07:00