Commit graph

4051 commits

Author SHA1 Message Date
Yury Semikhatsky fc7b065b1b
browser(webkit): revert #3360 as it broke many sites (#3764) 2020-09-03 22:09:20 -07:00
Arjun Attam 921c8d8d8c
docs: add help section (#3741) 2020-09-03 16:57:22 -07:00
Yury Semikhatsky 52fd88b13d
fix(screencast): always send at least one frame in wpe (#3760) 2020-09-03 16:55:54 -07:00
Max Schmitt 190d16daa3
feat: add browser type to device descriptors (#3731) 2020-09-03 13:12:43 -07:00
Andrey Lushnikov 8b9be6bbbe
devops: fix publishing of @next packages to NPM (#3759)
This patch:
- stop relying on stdout from `//packages/build_package.js` to get
output paths. This was a legacy code that's not needed anymore
- remove stray output from `//packages/build_package.js`
2020-09-03 11:59:58 -07:00
Pavel Feldman 91671f5452
chore: remove unused dev dependencies (#3758) 2020-09-03 10:34:22 -07:00
Andrey Lushnikov 5364e3283f
devops: bake commit SHA inside npm package (#3754)
This bakes in `//commitinfo` file with the SHA of the commit that
produced given NPM package.

Fixes #3743
2020-09-03 10:29:43 -07:00
Dmitry Gozman c190310335
fix(setInputFiles): make it work with CSP enabled (#3756)
We used to do fetch() to decode the file buffer. However, this is
blocked by strict CSP policy. Instead, we can use explicit
string -> bytes conversion, and trade performance for CSP compliance.
2020-09-03 10:09:03 -07:00
Dmitry Gozman f232f34dae
test: create a page in fixture tests to exercise browser processes (#3745)
We currently launch and then close the empty browser. This does not
trigger many codepaths related to web page process creation and
browser context.

With opening and navigating a page, we do a more real-life test.
This exposes an issue from #3740.
2020-09-03 10:07:54 -07:00
Yury Semikhatsky d3c677792c
browser(webkit): force repaint on screencast start (#3757) 2020-09-03 09:56:21 -07:00
Pavel Feldman 8df1fe47bc
test: explicitly require expect (#3755) 2020-09-03 09:43:08 -07:00
Pavel Feldman 7ad5bd90a4
test: roll test-runner to 0.2.9 (#3752) 2020-09-02 23:45:42 -07:00
Andrey Lushnikov 84a0066c9f
devops: align release publishing of docker image with dev releases (#3725)
This patch starts using the same approach to docker publishing that we
currently use to publish canary docker images.
2020-09-02 23:33:09 -07:00
Pavel Feldman 42a64048e8
test: roll test-runner to 0.2.9 (#3753) 2020-09-02 23:22:23 -07:00
Pavel Feldman 175fc52747
test: roll test-runner to 0.2.8 (#3748) 2020-09-02 21:43:38 -07:00
Yury Semikhatsky c5c3c75b03
feat(webkit): bump to 1338 (#3751) 2020-09-02 21:29:31 -07:00
Yury Semikhatsky 6b085a349c
browser(webkit): do not clear existing contexts from map when exiting (#3750) 2020-09-02 18:13:03 -07:00
Andrey Lushnikov 7671e8e8be
devops: remove warnings when running under root without sandbox (#3749)
As discussed offline, our testing scenarios assume running trusted
web content - so this warning is just a noise for this usecases.

When it comes to dealing with untrusted web content though, automation
authors need to make sure to not launch browsers under root in the first
place.
2020-09-02 18:02:11 -07:00
Andrey Lushnikov 2d46cd8105
feat(electron): automatically disable electron sandbox when run as root (#3747) 2020-09-02 17:30:10 -07:00
Yury Semikhatsky 0976732ec6
fix(screencast): remove white padding in headless chromium (#3746) 2020-09-02 17:28:08 -07:00
Dmitry Gozman de547d7d65
fix(connect): make selectors.register work in connected browser (#3664)
This is a large rework of selectors:
- Each BrowserContext now has a separate Selectors instance that has its own registrations.
  Most of them share a single sharedSelectors instance, but contexts created for a connected
  browser have their own instance.
- Connected browser now gets a RemoteBrowser object that encapsulates Selectors and Browser.
  This Selectors object is registered with the api selectors.
- Public selectors.register api iterates over all registered Selectors channels
  and registers in each of them.
- createSelector testing method migrated to ElementHandle._createSelectorForTest.
2020-09-02 16:15:43 -07:00
Dmitry Gozman 5c3bf5bf3e
test: add tests for selectors matching root behavior (#3744) 2020-09-02 16:00:15 -07:00
Yury Semikhatsky 469541a0b9
test(screencast): try to unflake tests (#3742) 2020-09-02 15:21:58 -07:00
Max Schmitt 5f6441e6df
chore(docker): use root user in Docker image (#3739)
As discussed offline other big images like Node.js or Nginx use root as the default user and the users in the end can base-off from our image to add their security features.

Not sure if follow up docs changes are required for that.

Fix #3703
Fix #3681
2020-09-02 14:42:01 -07:00
Andrey Lushnikov b7f6a98deb
devops: use a helper script to tag and push docker images (#3737)
It turns out that the new `docker push --all-tags` is not yet available
in the latest docker distribution on Ubuntu 20.04.

This provides a helper script to tag and publish the docker image.
2020-09-02 14:28:01 -07:00
Yury Semikhatsky a588840d99
test(screencast): add auto scale test (#3733) 2020-09-02 13:59:15 -07:00
Dmitry Gozman be5eba0cd8
fix(rpc): improve internal error for unexpected rpc message (#3734)
Sometimes I see "cannot call emit on the undefined" error on the bots.
This change adds some more logging, so we could potentially identify where
the issue comes from.
2020-09-02 12:56:50 -07:00
Andrey Lushnikov df12264655
devops: use ubuntu 20.04 to build & publish docker releases (#3736)
We rely on `docker push --all-tags` flag that exists only in the
new version of docker.

The PR to docker with the flag: https://github.com/docker/cli/pull/2220
2020-09-02 11:46:24 -07:00
Andrey Lushnikov 216db2c9b3
devops: use microsoft/playwright-github-action@v1 everywhere (#3735)
Since we launch browsers as part of the `npm run build`, we need
to prepare environment.
2020-09-02 11:32:59 -07:00
Yury Semikhatsky 1e64efcad1
feat(screencast): autoscale to fit requested size (#3730) 2020-09-02 10:40:50 -07:00
Andrey Lushnikov 9d999ae1f0
devops: push all tags to docker registry (#3732)
Instead of pushing one specific tag, push repository itself.
This should push all the associated tags.
2020-09-02 10:33:54 -07:00
Dmitry Gozman a4563a85ce
fix(snapshot): remove integrity checksum for css (#3729)
Otherwise we cannot override css with cssom changes.
2020-09-02 10:20:52 -07:00
Dmitry Gozman a58812523c
test: call setDevMode in wire tests (#3678) 2020-09-02 10:19:03 -07:00
Yury Semikhatsky fc29623508
feat(screencast): use system ffmpeg on linux (#3724) 2020-09-02 08:47:43 -07:00
Pavel Feldman 659013051f
test: roll test runner to 0.2.5 (#3723) 2020-09-01 20:07:49 -07:00
Andrey Lushnikov 47ea1e07ba
devops: another attempt to figure out docker publishing (#3721) 2020-09-01 17:32:16 -07:00
Yury Semikhatsky ee1becd897
browser(firefox): autoscale screencast to fit frame (#3720) 2020-09-01 17:10:06 -07:00
Andrey Lushnikov 1de4f7fa4c
devops: trigger docker devrelease when github action itself changes (#3719) 2020-09-01 16:59:03 -07:00
Andrey Lushnikov 2dc57c5b3d
chore: fix yaml syntax in the github action (#3718) 2020-09-01 16:54:05 -07:00
Andrey Lushnikov 1f93fb72d7
chore: fix devrelease workflow names (#3717) 2020-09-01 16:51:32 -07:00
Andrey Lushnikov d71d2f5765
devops: install ssh in the docker image (#3716)
References #3681
2020-09-01 16:43:20 -07:00
Yury Semikhatsky f8408cb840
fix(launcher): check libs required for playing h.264 (#3715) 2020-09-01 16:29:38 -07:00
Pavel Feldman 76ab82faa7
browser(webkit): prepend http:// to the schema-less URLs (#3713) 2020-09-01 14:28:21 -07:00
Andrey Lushnikov ba7093cbe8
devops: try to use azure/docker-login instead of manual login (#3714)
Manual login appeared to be successful, but rejected docker push.

References #2926
2020-09-01 14:24:42 -07:00
Yury Semikhatsky fad840d88d
browser(webkit): fit screencast to frame if no scale is specified (#3707) 2020-09-01 12:04:46 -07:00
Andrey Lushnikov ef5c87ccea
devops: switch docker publishing to a bash script (#3704)
It turns out Github Actions have docker pre-installed.

This patch unifies the codepaths that we use to build docker image
locally and to publish it from CI.

As a result, there's no extra `--prepare-context` argument in
`//docs/docker/build.sh` that was used solely on CI.

References #2926
2020-09-01 11:33:19 -07:00
Yury Semikhatsky db9b8a003f
fix(screencast): dont throw from frameAck if target is closed (#3702) 2020-08-31 17:43:23 -07:00
Max Schmitt 1877c29834
devops: remove autoroll (#3684)
We have it in a own dedicated devops repo now.
2020-08-31 17:00:07 -07:00
Yury Semikhatsky a17dd98cf9
feat(screencast): auto recording for new pages in chromium (#3701) 2020-08-31 15:21:02 -07:00
Yury Semikhatsky f23dbfb009
test(screencast): more tests on Chromium, new seek impl (#3699) 2020-08-31 13:18:19 -07:00