Commit Graph

59 Commits

Author SHA1 Message Date
TASNEEM KOUSHAR
e5eed1efaf
chore: add more comments to page class 2021-06-25 13:40:53 +01:00
Yash Ladha
e94a6b73d3
chore: add type to resolve function (#7352) 2021-06-24 08:30:21 +00:00
Brian Misiak
e3699e248b
feat: add a streaming version for page.pdf
Co-authored-by: Jan Scheffler <janscheffler@chromium.org>
2021-06-23 14:51:38 +02:00
Jack Franklin
edc18b46f9
chore: add documentation to page.ts (#7355)
Co-authored-by: Tasneem Koushar <imatasneemkoushar@gmail.com>
2021-06-23 09:23:36 +01:00
Jan Scheffler
4ce4110628
feat: add page.emulateCPUThrottling (#7343) 2021-06-22 11:43:11 +00:00
Dan Park
a91b8aca37 feat: add drag-and-drop support (#7150)
This commit adds drag-and-drop support, leveraging new additions to the CDP Input domain (Input.setInterceptDrags, Input.dispatchDragEvent, and Input.dragIntercepted).
2021-06-07 13:50:34 +02:00
TASNEEM KOUSHAR
0295b1c773
chore(docs): comments for page methods
* fix: modified comment for method product, platform and newPage

* fix: added comment for browsercontext, StartCSSCoverage, StartJSCoverage

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: added comments for some of the method

* fix: added proper comments

* fix: added comment for some methods in page.ts

* fix: rectified the comments

* fix: changed some of the comments

* fix: added comments for 3 more methods of class page

* fix: added comments for 3 more methods of class page

Co-authored-by: Jack Franklin <jacktfranklin@chromium.org>
2021-06-03 08:34:22 +01:00
TASNEEM KOUSHAR
1108b63d82
chore(docs): add comments to page.ts
* fix: modified comment for method product, platform and newPage

* fix: added comment for browsercontext, StartCSSCoverage, StartJSCoverage

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: added comments for some of the method

* fix: added proper comments

* fix: added comment for some methods in page.ts

* fix: rectified the comments

* fix: changed some of the comments

Co-authored-by: Jack Franklin <jacktfranklin@chromium.org>
2021-06-02 13:47:20 +01:00
TASNEEM KOUSHAR
9e0acebb75
chore: add documentation for missing methods
* fix: modified comment for method product, platform and newPage

* fix: added comment for browsercontext, StartCSSCoverage, StartJSCoverage

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: corrected comments for JSONValue, asElement, evaluateHandle

* fix: added comments for some of the method

* fix: added proper comments

Co-authored-by: Jack Franklin <jacktfranklin@chromium.org>
2021-05-26 15:37:38 +01:00
Robin Richtsfeld
d01aa6c84a
feat(requestinterception): remove cacheSafe flag (#7217) 2021-05-20 14:09:56 +02:00
Jack Franklin
523aa0aafa
chore: upgrade and pin prettier dependencies (#7232)
We're seeing odd failures with Prettier on some CI branches; my hunch is that they are installing different versions of the package and therefore getting formatting conflicts. This PR updates them all and pins them to specific versions - something we should probably consider generally, or remove our `package-lock.json` from the gitignore.
2021-05-12 16:48:30 +02:00
Patrick Hulce
cb285a2379
feat: expose other sessions from connection (#6863) 2021-05-07 08:31:39 +00: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
galr52
0e092d2ea0 feat: accept captureBeyondViewport as optional screenshot param (#7063)
Issue: #7063
2021-04-07 09:11:19 +02:00
Ayman Azzam
4152383c2c
docs: fix some tsdoc warning messages (#7059) 2021-04-06 08:58:01 +00: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
Daniel Rowe
dc8ab6d8ca
feat(page): add omitBackground option for page.pdf method (#6981) 2021-03-18 19:57:32 +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
Joel Griffith
5f24f60819
fix: make screenshots work in puppeteer-web (#6936) 2021-03-15 09:05:15 +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
Alex Rudenko
ad5935738d
feat(page): add color-gamut support to Page.emulateMediaFeatures (#6857)
The change updates the validation function to allow color-gamut media
features and updates the documentation.

Issues: #6761
2021-02-11 13:59:50 +00:00
Jack Franklin
63d48b2ecb
fix: expose ScreenshotOptions type in type defs (#6869)
Fixes #6866.
2021-02-11 09:35:26 +00:00
Maksim Sadym
401d84e4a3
feat: use captureBeyondViewport in Page.captureScreenshot (#6805)
BREAKING CHANGE:
- `page.screenshot` makes a screenshot with the clip dimensions, not cutting it by the ViewPort size.
2021-02-03 14:30:46 +01:00
Jan Scheffler
5ea76e9333
feat: add page.emulateNetworkConditions (#6759) 2021-01-21 10:00:57 +01:00
Michael Kebede
b57f3fcd53
feat: support promise as return value for page.waitForResponse predicate (#6624)
Co-authored-by: Joni <josalmi@google.com>
2020-11-25 11:35:47 +01:00
Jack Franklin
e45acce928
chore: run unit tests on node 10.15 + fix fs.promises access (#6550)
* chore: run unit tests on node 10.15

We saw in https://github.com/puppeteer/puppeteer/issues/6548 that the
`fs.promises` module was experimental in Node <10.17 and as such we
introduced issues for users on 10.15.

Until we can drop Node v10 (it's EOL is 30-04-20201
https://github.com/nodejs/Release#release-schedule) we should run our
tests on an old Node 10 to avoid regressing in this area.

* chore: helper for importing fs safely
2020-10-26 11:02:05 +00:00
Johan Bay
5e5fed1deb
fix: ignore spurious bindingCalled events (#6538) 2020-10-23 12:45:47 +02:00
Johan Bay
3afe1935da
feat(a11y-query): extend aria handler with waitFor (#6472)
This commit adds waitFor to the built-in aria handler (#6307).
2020-10-07 10:49:11 +02:00
Jack Franklin
caa9a1cafa
chore(agnostic): Remove use of util.promisify (#6446)
In `src/common` we now use `fs.promises.X` which we can dynamically
`import`. In a browser environment this code will never run because it's
gated on `isNode` (in a future PR we will add tree-shaking to the bundle
step such that this code is eliminated). By using `import`, we ensure
TypeScript still can track types and give good type information.

In `src/node` we continue to use `util.promisify` but that's not a
concern as that code explicitly is never run in the browser.
2020-09-28 10:35:35 +01:00
Yang Guo
96f3d439f5
feat(console): expose stack trace for console messages (#6445) 2020-09-25 15:27:13 +02:00
Mathias Bynens
bb1c5215a8
chore: remove mime dependency (#6415)
Bug: #5026, #6125
2020-09-14 13:39:33 +02:00
Maksim Sadym
17960e5d8d
feat(page): emulate idle state (#6410)
* https://bugs.chromium.org/p/chromium/issues/detail?id=1090802
* added `page.emulateIdleState(...)` allowing emulate or remove emulation of the idle state;
* added test `emulate idle` -> `remove emulation` -> `emulate idle` -> `remove emulation`;
* added launch argument `--enable-blink-features=IdleDetection` to turn IdleDetection on.
2020-09-14 11:31:23 +02:00
Jack Franklin
21552f8fe7
feat: page.waitForTimeout (#6268) 2020-07-28 10:37:49 +02:00
Jack Franklin
13f8fe6e16
chore(docs): page.emulateVisionDeficiency docs (#6231)
This commit also removes our own custom type for defining the vision
deficiencies and uses the protocol's type. Now we generate docs for
those we get the docs generated for free for these. This is better than
us duplicating values for types in doc comments and having them become
outdated. If we use the protocol types directly then we ensure we're up
to date and in-sync.

Long term the docs will also link to the devtools-protocol viewer.
2020-07-22 10:04:53 +01:00
Jack Franklin
9fdf2ba280
chore(docs): migrate page.pdf() docs (#6228)
Also took the opportunity to pull out the PDF types into their own file
to clear up `Page.ts` slightly and give the PDF code a more natural
place to live.
2020-07-17 13:58:56 +01:00
Jack Franklin
ffec2475d0
chore: enforce file extensions on imports (#6202)
* chore: enforce file extensions on imports

To make our output agnostic it should include file extensions in the
output, as per the ESM spec. It's a bit odd for Node packages but makes
it easier to publish a browser build.
2020-07-13 10:22:26 +01:00
Jack Franklin
9b3005c105
feat(types): improve page.evaluate types (#6193) 2020-07-10 11:52:13 +01:00
Jack Franklin
31309b0e20
chore: use devtools-protocol package (#6172)
* chore: Use devtools-protocol package

Rather than maintain our own protocol we can instead use the devtools-protocol package and pin it to the version of Chromium that Puppeteer is shipping with.

The only changes are naming changes between the bespoke protocol that Puppeteer created and the devtools-protocol one.
2020-07-10 11:51:52 +01:00
Jack Franklin
24cb6a28ad
chore(docs): document Frame class (#6188)
* chore: document Frame class
2020-07-09 14:22:58 +01:00
Jack Franklin
19f188a852
chore: forbid importing src/common/Events.ts (#6183)
This file is now deprecated and only used by the coverage tool and
DocLint - these tools will be updated to not rely on it in the future.

We now have events defined per class - e.g. all the events that `Page`
can emit are defined in the `PageEmittedEvents` enum, and similar. We
have to keep `Events.ts` around for the aforementioned tools, but don't
want its usage creeping back into our source code.
2020-07-08 16:03:16 +01:00
Jack Franklin
0e938803ef
chore(docs): migrate Connection + CDP event defs (#6180) 2020-07-08 11:11:01 +01:00
Jack Franklin
74cb2ce7c2
chore: migrate FrameManager events from Events.ts (#6179) 2020-07-08 11:00:11 +01:00
Jack Franklin
12ee70f2cf
chore: migrate NetworkManager events (#6174)
This is part of the effort to remove `Events.ts` in favour of defining
events next to the class that emits them. In this case these events are
internal, so there's no docs changes, but it's still worth doing such
that we can remove the Events.ts file in the long term once all the
different events are migrated.
2020-07-07 16:43:55 +01:00
Jack Franklin
ba7624a6df
chore(docs): migrate & document all Page events (#6154)
* chore(docs): migrate & document all Page events

Rather than a generic `Events.ts` file we can instead document events as
an enum within each individual class. It's easier to document and work
with, and it's clearer where events originate from.
2020-07-06 11:34:55 +01:00
Jack Franklin
5049b83186
feat(types): add types for page.$$eval (#6139)
* feat(types): add types for `page.$$eval`

* Add new-docs for $$eval

* fix example

* linting
2020-07-03 15:23:51 +01:00
Changhao Han
4ebf117116
docs: migrating Page.ts to TSDoc (#6152)
* docs: a small batch of page TSdoc migration

Co-authored-by: Changhao Han <changhaohan@chromium.org>
2020-07-03 13:12:59 +01:00
Jack Franklin
29f7e161b1
chore(docs): reduce warnings when generating docs (#6138)
* chore(docs): reduce warnings when generating docs

This is a bunch of small miscellaneous fixes that reduce the amount of
warnings logged when generating our new docs. The long term goal is to
get this list down to 0 warnings, but I'll do it in multiple PRs.

* satisfy doclint
2020-07-02 12:15:39 +01:00