Commit Graph

3327 Commits

Author SHA1 Message Date
Maksim Sadym
0fa0a34802
chore: bump version to v9.0.0-post (#7112) 2021-04-21 11:43:49 +00:00
Maksim Sadym
5872e7178a
chore(release): mark v9.0.0 (#7111) 2021-04-21 11:18:09 +00:00
Maksim Sadym
715e7a8d62
feat(chromium): roll to Chromium 91.0.4469.0 (r869685) (#7110)
* Roll to Chromium 91.0.4469.0 (r869685).
* Update CONTRIBUTING.md.
2021-04-21 10:43:08 +00:00
Henrik Skupin
4607d5a2d3
chore: run "should be able to launch Firefox" only with regular install (#7106) 2021-04-20 08:56:20 +02:00
Mathias Bynens
cf8c08d991 chore: fix lint issues 2021-04-19 13:17:20 +02:00
Pierpaolo Tommasi
ba7c367de3
fix(page): fix mouse.click method (#7097)
The `Page#click` method relies on `Mouse#click` for execution. `Mouse#click` triggers the `move`, `down`, and `up` methods in parallel waiting for all of them to finish, when they should be called sequentially instead.

Issue: #6462, #3347
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-04-19 09:04:37 +02:00
Marvin Hagemeister
c239d9edc7
feat(launcher): fix installation error on Apple M1 chips (#7099)
* feat(launcher): fix installation error on Apple M1 chips

The previous logic assumed that an arm64 arch is only available in Linux. WIth Apple's arm64 M1 Chip this assumption isn't true anymore.

Currently there are no official macOS arm64 chromium builds available, but we can make use of the excellent Rosetta feature in macOS which allows us to run x86 binaries on M1.

Once native macOS arm64 Chromium builds are available we should switch to those.

Issue: #6622
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-04-19 09:00:43 +02:00
Kiko Beats
a22aa5deac
docs(puppeteer-chromium): remove alpine freetype-dev dependency (#7098)
It was added by #4643 but doesn’t seem necessary anymore.
2021-04-19 07:28:01 +02:00
Ayman Azzam
41f23beb0d
docs: fix more tsdoc warnings
* docs: fix most tsdoc warning messages

* docs: i just added spaceline
2021-04-12 14:57:05 +01:00
Pallav Jha
e34a6d5318
feat(page): emit the event after removing the Worker (#7080) 2021-04-12 09:34:06 +02:00
Karl Horky
943477cc1e feat(types): improve type of predicate function (#6997)
From the DefinitelyTyped @types/puppeteer package:

c43191a8f7/types/puppeteer/index.d.ts (L1883-L1885)
2021-04-07 09:11:43 +02:00
Darío Kondratiuk
c39c81d016 test: fix Browser.pages should return all of the pages (#7064) 2021-04-07 09:11:43 +02:00
galr52
0e092d2ea0 feat: accept captureBeyondViewport as optional screenshot param (#7063)
Issue: #7063
2021-04-07 09:11:19 +02:00
David Barton
66a0d5cbcc
docs(api): major grammatical corrections (#7011)
* docs(api): major grammatical corrections

* fix: own typo in Keyboard comment

Co-authored-by: Jack Franklin <jacktfranklin@chromium.org>
2021-04-06 10:10:00 +00:00
Darío Kondratiuk
138ddc3641
chore(test): reorder describes in coverage spec (#7032) 2021-04-06 09:30:55 +00:00
Ayman Azzam
4152383c2c
docs: fix some tsdoc warning messages (#7059) 2021-04-06 08:58:01 +00:00
Alex Rudenko
4426135692
fix(aria): fix parsing of ARIA selectors (#7037) 2021-04-06 10:41:49 +02:00
Jack Franklin
9633e6e392
chore: disable firefox reconnection spec (#7062)
It's constantly failing on CQ - think there's an issue in Firefox
nightly.
2021-04-06 08:19:32 +00:00
David Barton
30c7b3c462
docs(contributing): specify Chromium version format for releases (#6956)
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-03-31 12:43:04 +02:00
Jack Franklin
b349c91e7d
fix: make $ and $$ selectors generic (#6883)
* fix: make `$` and `$$` selectors generic

This means, much like TS's in built `querySelector` type, you can now do:

```ts
const listItems = page.$$<HTMLLIElement>('ul li');
```

And/or:

```ts
const h2 = page.$<HTMLHeadingElement>('h2');
```

And the return value will be of type `ElementHandle<T>|null`, where `T`
is the type you provided. By default `T` is an `Element`, so you don't
have to provide this if you don't care as a consumer about the exact
type you get back.

* chore: fix test assertions
2021-03-25 11:40:34 +00:00
Jack Franklin
866d34ee11
fix: type page event listeners correctly (#6891)
This PR fixes the fact that currently if you have:

```ts
page.on('request', request => {

})
```

Then `request` will be typed as `any`. We can fix this by defining an
interface of event name => callback argument type, and looking that up
when you call `page.on`.

Also includes a drive-by fix to ensure we convert response headers to
strings, and updates the types accordingly.
2021-03-25 11:26:35 +00:00
Christian Bromann
e31e68dfa1
fix(typescript): allow defaultViewport to be 'null' (#6942)
Fixes: #6885

Co-authored-by: Maksim Sadym <69349599+sadym-chromium@users.noreply.github.com>
2021-03-24 12:14:06 +01:00
David Barton
c62b02f177
chore: automate prettier in docs (#7014)
Issue: #7012
Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-03-23 10:02:34 +01:00
David Barton
ff860819a7
docs(api): fix lint in code snippets (#7012) 2021-03-22 07:12:55 +01:00
Daniel Rowe
dc8ab6d8ca
feat(page): add omitBackground option for page.pdf method (#6981) 2021-03-18 19:57:32 +00:00
Julian Descottes
b8d72cb039
chore: skip non-standard cookie asserts on Firefox (#6994) 2021-03-17 16:09:10 +00:00
Robin Richtsfeld
8695759a22
feat(network): request interception and caching compatibility (#6996)
This patch enables developers to also keep the cache on when doing request interception.
2021-03-17 15:42:35 +01:00
Henrik Skupin
bf60a300e7
chore: improve "Page.close should run beforeunload if asked for" unit test for Firefox (#6995) 2021-03-16 15:35:32 +01:00
Joel Griffith
5f24f60819
fix: make screenshots work in puppeteer-web (#6936) 2021-03-15 09:05:15 +00:00
Robin Richtsfeld
1c2479a6cd
fix(network): don't disable cache for auth challenge (#6962)
* fix(network): don't disable cache for auth challenge

* test: page.authenticate does not disable caching

* fix(network): _protocolRequestInterceptionEnabled -> _userRequestInterceptionEnabled

* style(test): fix line breaks

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-03-15 07:02:07 +00:00
Nitin Kumar
56f17fe481
docs(readme): remove inactive slack link (#6986) 2021-03-15 07:48:06 +01:00
Maciej Brencz
35e66c4304
docs(troubleshooting): update Alpine section (#6960)
The latest Chromium provided by Alpine is at version 89.

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
2021-03-09 09:02:24 +01:00
Sri Harsha
9e3fcb9f94
chore(src): fix minor typo (#6961) 2021-03-09 09:01:09 +01:00
Henrik Skupin
669f04a7a6
chore: enable unit tests for Firefox on Windows (#6895)
Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2021-03-05 09:00:56 +00:00
David Barton
abb32801d5
chore: add latest chromium version (#6952) 2021-03-04 07:50:08 +01:00
Darío Kondratiuk
2ba61e04e9
fix(filechooser): cancel is sync (#6937)
BREAKING CHANGE: FileChooser.cancel() is now synchronous.
2021-03-02 15:27:11 +01:00
Alex Rudenko
0c26301bee
chore: bump version to v8.0.0-post (#6929) 2021-02-26 08:51:52 +00:00
Alex Rudenko
0b5969dea9
chore(release): mark v8.0.0 (#6928) 2021-02-26 08:32:27 +00:00
Alex Rudenko
0c688bd75e
feat(chromium): roll Chromium to r856583 (#6927)
* feat(chromium): roll Chromium to r856583

This corresponds to Chromium 90.0.4427.0

This roll includes:
- Add sourceScheme, sourcePort, and sameParty to DevTools backend (https://crbug.com/1170548, https://crbug.com/1142606)
2021-02-26 09:12:43 +01:00
Aurélien Ooms
05c08e7083
docs(api): fix typo in environment variable name (#6918)
`PUPPETEER_SKIP_DOWNLOAD ~ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD`.
2021-02-23 13:36:30 +01:00
su
ebc3e88fce
docs(api): fix typo (#6911)
Issue: #6903
Co-authored-by: susan51531 <804885378@qq.com>
2021-02-20 11:31:37 +01:00
Henrik Skupin
b046fd79bd
chore: run unit tests for Firefox on MacOS (#6896) 2021-02-18 13:44:36 +01:00
Jack Franklin
00d88ef0d8
chore: enable ff unit tests again (#6861) 2021-02-18 11:51:55 +01:00
信鑫-King
d66389ba7e
docs(readme): fix page.pdf code example (#6890)
Ref: `PaperFormat` type.
2021-02-18 09:05:43 +01:00
Mathias Bynens
f7de60be22
fix: move CI npm config out of .npmrc (#6901)
This avoids issues with local `npm commands` trying to use the Wombat registry.
2021-02-17 18:52:22 +01:00
Jack Franklin
ff26c62647
fix: explicit HTTPRequest.resourceType type defs (#6882)
We can use the new `Lowercase` util in TS4 to avoid duplicating the type
and instead lowercase it.

Note we still need to do the work so callbacks are typed correctly:

```ts
page.on('request', request => {

})
```

Right now `request` is `any`, whereas it should be a
`puppeteer.HTTPRequest`. You can manually set the type for now, and I
will work on adding types for events so that this is done automatically
by the compiler in a future release.

Fixes #6854.
2021-02-17 10:14:38 +01:00
Jack Franklin
8adf5b467d
chore: upgrade TypeScript to 4.1.5 (#6889)
We were blocked on doing this because API Extractor didn't support it,
but now it does, so we can bump TS and the API tooling in one go. None
of the breaking changes in TS4 cause us any issues.
2021-02-16 10:43:32 +00:00
Jack Franklin
98c81458c2
fix: improve TS types for launching browsers (#6888)
This commit tidies up the quite confusing state of all the various types
required to launch a browser. As we saw when upgrading DevTools
(https://source.chromium.org/chromium/chromium/src/+/master:third_party/devtools-frontend/src/test/conductor/hooks.ts;l=77),
we had to define our launch options variable like so:

```ts
const opts: puppeteer.LaunchOptions & puppeteer.ChromeArgOptions & puppeteer.BrowserOptions = {
  ...
};
```

This commit fixes that by introducing `AllNodeLaunchOptions`, which is
defined as the intersection of all the above types.

Additionally, the types defined as `ChromeArgOptions` are actually used
for launching both Chrome and Firefox, so I have renamed them to
`BrowserArgOptions`, and therefore this change is breaking because
anyone using `ChromeArgOptions` in their types will need to switch.

BREAKING CHANGE: renamed type `ChromeArgOptions` to `BrowserLaunchArgumentOptions`
BREAKING CHANGE: renamed type `BrowserOptions` to `BrowserConnectOptions`
2021-02-16 09:39:31 +00:00
Jack Franklin
be7c22933c
fix: expose Viewport type (#6881)
Also includes drive-by when I subbed `@default` (not valid) to
`@defaultValue` (valid!) in a few places and exposed types from
`Coverage.ts` so they get exposed too.

Fixes 6876.
2021-02-12 12:32:27 +00:00
Jack Franklin
29c059427e
chore: bump to 7.1.0-post (#6880) 2021-02-12 11:19:06 +00:00