Commit Graph

1646 Commits

Author SHA1 Message Date
Tony Brix
511dcf9d32 feat(browser): Add browser.isConnected() (#4403)
Add `browser.isConnected()` to the public api to be able to tell when the browser is connected

fixes https://github.com/smooth-code/jest-puppeteer/pull/237#issuecomment-490260041
2019-05-09 16:24:52 -07:00
Andrey Lushnikov
13f73b5b3a
feat(chromium): roll Chromium to r656675 (#4389)
This roll includes:
- https://chromium-review.googlesource.com/c/v8/v8/+/1569425 - [debug] Introduce GetCreationContext to debug API

Fix #4263
2019-05-06 00:22:18 -07:00
Andrey Lushnikov
1de9906260
test: add cookie tests (#4365) 2019-04-30 00:35:41 -07:00
Andrey Lushnikov
27c9f754b1
fix(page): teach page.setContent to work with tricky content (#4366)
Fix #4364
2019-04-30 00:35:05 -07:00
Andrey Lushnikov
e2e6b88934
feat(chromium): roll Chromium to r654752 (#4358)
This roll includes:
- https://crrev.com/653809 - FrameLoader: ignore failing provisional loads entirely
- https://crrev.com/654750 - DevTools: make sure Network.requestWillBeSent is emitted on time for sync xhrs

The FrameLoader patch is the reason behind the test change. It's
actually desirable to fail frame navigation if the frame detaches - and
that's consistent with Firefox.

Fixes #4337
2019-04-28 20:19:01 -07:00
Andrey Lushnikov
f3db28c94b
test: add failing test for request interception with sync XHRs (#4350)
`Network.requestWillBeSent` is not issued for the redirect inside
sync XHRs.

References #4337.
2019-04-26 16:28:15 -07:00
Joel Einbinder
d64f700203 fix(docs): screen readers aren't the only kind of assistive technology (#4349)
The docs incorrectly implied that screen readers were the only assistive technology to do filtering on the tree.
@alice
2019-04-26 13:40:08 -07:00
Andrey Lushnikov
1e29e5bc0f
chore: bump version to v1.15.0-post (#4347) 2019-04-26 00:44:58 -07:00
Andrey Lushnikov
b9f4a95175
chore: mark version v1.15.0 (#4346) 2019-04-25 19:25:16 -07:00
Stopkin Sergey
06fdcaeeec docs(troubleshooting): remove unnecessary call (#4327)
Removed unused `rm -rf` call. This directory doesn't exist (and same for all root docker images).
2019-04-23 12:25:55 -07:00
Andrey Lushnikov
5e21ba3cbb
feat: update DeviceDescriptors (#4321)
Fetch new DeviceDescriptors from DevTools front-end.
2019-04-22 16:19:21 -07:00
Darío Kondratiuk
2d536519a4 chore(git): Fix line endings in text files (#4320)
Although we said on #4315 to add just a comment in the CONTRIBUTING.md file. I think this solution will be better for the repository's health.

We could also apply this for `*.js` but it's up to you.

This is what I needed to run after I added this file:
```
git rm --cached -r .
git reset --hard
```

Fixes #4315
2019-04-22 09:03:42 -07:00
Andrey Lushnikov
770411be9d
test: verify overriding postdata and method on navigation (#4317)
References #4309
2019-04-19 18:22:30 -07:00
Andrey Lushnikov
e3abb0aa32
feat(puppeteer): introduce puppeteer.errors and puppeteer.devices (#4312)
These getters are introduced as a more convenient substitute for
a `require('puppeteer/Errors')` and
`require('puppeteer/DeviceDescriptors')`.

This way we can make cross-browser story nicer - a single require
of `puppeteer` or `puppeteer-firefox` fully defines Puppeteer
environment.
2019-04-19 15:33:06 -07:00
Darío Kondratiuk
dde55b0257 test: Make intervention test Edge friendly (#4314)
All tests are green when running against [Microsoft Edge Insider](https://www.microsoftedgeinsider.com/en-us/), except this test.

Edge returns `https://to-be-replaced.invalid/feature/5718547946799104` instead of `https://www.chromestatus.com/feature/5718547946799104`

I think that checking for `feature/5718547946799104` is a small test and will do the job for both browsers.

```
$env:CHROME = "C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe"; node
.\test.js
```
2019-04-19 11:29:29 -07:00
asteinha
2b68c104aa fix: Removing a dead flag. (#4310)
The `--safebrowsing-disable-auto-update` was removed a while ago.

See ba49d00fdd
2019-04-18 12:51:16 -07:00
Andrey Lushnikov
3def8a2558
docs(readme): fix debugging tips (#4304)
Since we migrated to flatten protocol, the `protocol:session` DEBUG
namespace no longer exists.

Fix #4299.
2019-04-18 10:03:30 -07:00
Andrey Lushnikov
0c4d53b293
test: add a test for queryObjects with navigation (#4303)
References #4263
2019-04-18 10:03:06 -07:00
Andrey Lushnikov
a8ffdad76e
feat(chromium): roll Chromium to r650583 (#4284)
This roll includes:
- https://crrev.com/650583 - DevTools: fix DOM.getContentQuads for a
  corner case

Fixes #4281.
2019-04-13 00:28:58 -07:00
Andrey Lushnikov
145e8680b1
test: add failing test for clicking certain elements (#4282)
References #4281
2019-04-13 00:10:48 -04:00
Andrey Lushnikov
8f8e77492d
test: split out request interception tests (#4278) 2019-04-11 21:33:01 -04:00
Andrey Lushnikov
5ee21d97e7
fix(page): intersect content quads with viewport (#4277)
In certain cases inline element children might be positioned
outside of viewport.

In this case, we should intersect all content quads with viewport
before we pick one to click into.

Fixes #4274.
2019-04-11 21:11:20 -04:00
Andrey Lushnikov
20988775bf
fix: gracefully handle multiple contexts for secondary DOM World (#4276)
In case of multiple sessions to the same target, there's a race between
sessions to create a secondary isolated world. As a result, we might
end up having 2 execution contexts created for the needs of the
secondary isolated world.

This patch starts handling this race gracefully: instead of crashing,
we can use either of the execution contexts and ignore the rest.

Notably, the same race condition might happen if page reloads itself
in-between the calls to `page.addEvaluateOnNewDocument` and
`page.createIsolatedWorld`.

Fixes #4197.
2019-04-11 16:26:18 -04:00
Andrey Lushnikov
2265974ce5
refactor: migrate onto Fetch domain (#4265)
Request interception in Network domain is deprecated.
Move on onto Fetch domain - the new bright future.
2019-04-11 15:02:06 -04:00
Travis Weidenbenner
a79b775430 fix: Allow PUPPETEER_EXECUTABLE_PATH to be set in npmrc and package.json (#4270)
This PR sets fixes the PUPPETEER_EXECUTABLE_PATH environment variable so that it can be set in the .npmrc or package.json like the documentation says.

The npm environment is initialized if puppeteer script is run from-inside `npm run` command.
2019-04-11 14:45:00 -04:00
Sergey Bekrin
08e9a4ddaa fix(launcher): support https for browserURL endpoint (#4268)
Certain setups expose remote browser through an HTTPS proxy. This patch
adds support for `https://` urls for `browserURL` option.
2019-04-11 13:46:55 -04:00
Andrey Lushnikov
19606a3b79
fix: cache disabling should stick when toggling request interception (#4260)
This patch:
- refactors `NetworkManager`/`FrameManager` so that they enable all the
relevant domains themselves. This is a preparation for OOPIF support and
migration onto fetch domain.
- moves `networkManager` ownership into `FrameManager`. This way it's clear who owns what.
- stops enabling Security domain: it saves quite some traffic over
websocket since it no longer sends annoying "SecurityStateChanged" events.
Instead, use `Security.setIgnoreCertificateErrors` method.
- consolidates network cache state in network manager. This even fixes a
bug with caching and request interception interop.
2019-04-10 00:42:42 -04:00
Andrey Lushnikov
2a7c3fe3e6
feat(chromium): roll Chromium to r649004 (#4259)
This roll includes:
- https://crrev.com/648988 - perfetto: Emit trace config in TraceEventMetadataSource
2019-04-08 22:37:11 -07:00
Andrey Lushnikov
54cce43aea
fix(ci): another attempt to fix puppeteer@next (#4258)
1. re-logged-in into npm
2. regenerated with:

```sh
travis encrypt <KEY> --add deploy.api_key --com --repo GoogleChrome/puppeteer
```
2019-04-08 16:06:14 -07:00
Andrey Lushnikov
0eb256b16b
fix(ci): fix builds of puppeteer@next (#4257)
Regenerated key with

```sh
travis encrypt <KEY> --add deploy.api_key --com --repo GoogleChrome/puppeteer
```
2019-04-08 14:58:29 -07:00
Joseph Arhar
fd0f58e9c2 fix: Use new requestId for interception request matching (#4248)
Fix #3471
2019-04-08 14:17:57 -07:00
Andrey Lushnikov
9d31068225
feat(chromium): roll Chromium to r648643 (#4256)
This roll includes:
- https://crrev.com/648335 -
[DevTools] Send DevTools request ID through URLLoader
- https://crrev.com/648360 -
[DevTools] Add renderer request ID to requestIntercepted

References #3471
2019-04-08 12:11:35 -07:00
Andrey Lushnikov
080b80975f
docs(contributing): add instructions to build Chromium revisions (#4246) 2019-04-04 15:34:41 -07:00
Andrey Lushnikov
67fbf46e8e
feat(chromium): roll Chromium to r647475 (#4240)
This roll includes:
- https://crrev.com/1549884 - DevTools: disable interception for
  data: URLs
2019-04-03 18:28:17 -07:00
Andrey Lushnikov
1b8769d09e
docs(troubleshooting): launching Chromium on Windows (#4235)
Fixes #3186.
2019-04-02 19:59:17 -07:00
Neil Halelamien
695b30a425 docs(troubleshooting): fix docker example (#3743)
* removing libgconf-2-4 install since no longer needed according to https://bugs.chromium.org/p/chromium/issues/detail?id=795759#c7
* wget is already included in `node:8-slim` image, so removed lines related to install/cleanup
* node 8 has EOL this year, so incremented to node:10-slim
* use "docker run --init" if available (available in docker-engine >= 1.13.0)
* make dumb-init optional
* combine permission changes and 'npm install' of puppeteer into same line to reduce image size by few hundred MB
* overall image size reduction: 1.21GB -> 865MB
2019-04-02 19:30:23 -07:00
John Youngblood
66ff4928eb docs(api.md): Working link to Linux differences (#4232)
A link on line 525 is pointing to a undefined branch (`lkcr`) in `chromium.googlesource.com/chromium/src/`. Change it to point to `lkgr` instead, since it's the closest defined branch in name.
2019-04-02 19:15:20 -07:00
Andrey Lushnikov
0adffcc2cb
docs: add table-of-contents to troubleshooting (#4234)
Drive-by: teach our table-of-contents generator to ignore comments
inside fenced blocks and to de-linkify titles.
2019-04-02 19:08:22 -07:00
Andrey Lushnikov
2c6df6ddd1
chore: bump version to v1.14.0-post (#4224) 2019-03-28 22:50:12 -07:00
Andrey Lushnikov
3fa91cace3
chore: mark version v1.14.0 (#4222) 2019-03-28 22:33:38 -07:00
Alex Sergeyev
26d6e91fd5 docs(troubleshooting.md): Update Alpine example (#4203)
* Refresh documentation for building on Alpine.
* Add ttf-freefont@edge dependency
Without ttf-freefont chrome can't render subscript (CO₂)
2019-03-25 16:33:36 -07:00
Darío Kondratiuk
72866e9467 test: Change cookies unsecure test title (#4187)
I think we wanted to say "HTTP Website" there.
2019-03-20 11:36:27 -07:00
Andrey Lushnikov
0d0e620405
docs(api.md): update ElementHandle example (#4169)
Fix #4150
2019-03-19 12:53:47 -07:00
Andrey Lushnikov
c6c32491ec
feat(chromium): roll Chromium to r641577 (#4178)
Just a healthy roll.
2019-03-19 11:28:06 -07:00
Stephan Rodemeier
11afadc680 fix: Respect the loglevel for logging (#4014)
This adds support for disabling console.log on CI and when
the loglevel asks for it.
2019-03-19 11:27:42 -07:00
Fabio Picheli
28bab53bf6 docs(troubleshooting.md): Add missing depencies (#4182)
https://github.com/GoogleChrome/puppeteer/issues/3019#issuecomment-417227105
2019-03-19 10:42:44 -07:00
Andrey Lushnikov
60567575d2
test: make sure frames are reported from-inside shadow DOM (#4167)
References #4163.
2019-03-15 21:01:36 -07:00
Vse Mozhet Byt
854b1c0912 feat(executioncontext): support bigints transferring (#4016)
Refs: https://chromedevtools.github.io/devtools-protocol/tot/Runtime#type-UnserializableValue
2019-03-15 10:20:48 -07:00
Andrey Lushnikov
27cf8594c2
docs(api.md): add note regarding puppeteer.executablePath() (#4092)
References #4091
2019-03-14 11:32:44 -07:00
Andrey Lushnikov
3511a35fa4
test: fix fixtures test when run with env DUMPIO=1 (#4123)
The DUMPIO env variable is propagated to a spawned process
and results in unfortunate stdout.
2019-03-13 16:26:28 -07:00