Commit Graph

2983 Commits

Author SHA1 Message Date
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
Andrey Lushnikov
fcc1680f98
devops: revision Chromium repackaged builds separately (#3698)
Currently, we mirror Chromium revisions from gbuckets to our cdn and
name them same way as Chromium revision.

However, with the upcoming bundling of FFMPEG, we'd like to revision
Chromium packages separately, since our Chromium package will depend from
a number of factors:
- chromium upstream revision
- ffmpeg version
- extra files to add to the package or remove from the package

We should be able to produce a new Chromium build once any of these changes.

With this patch, to roll Chromium browser:
- update chromium revision number in the
`//browser_patches/chromium/UPSTREAM_CONFIG.sh`
- bump the build number in the `//browser_patches/chromium/BUILD_NUMBER`

Reference #3680
2020-08-31 10:44:33 -07:00
Amit Zur
8f37d78fd3
Add Applitools SDK to the showcase (#3694)
* Add Applitools

* Add Applitools
2020-08-31 09:52:21 -07:00
Yury Semikhatsky
8ec55e1fb2
feat(screencast): use ffmpeg to produce webm in chromium (#3668) 2020-08-31 08:43:14 -07:00
Joel Einbinder
3cc91093a1
chore(testrunner): move out of the repo (#3687) 2020-08-29 08:27:32 -07:00
Pavel Feldman
555a8d0d10
fix(testrunner): include fixture teardown into timeout, add global timeout (#3685) 2020-08-28 19:27:49 -07:00
Pavel Feldman
c47af2d4f3
fix(testrunner): report unhandled rejection ones, allow retry (#3686) 2020-08-28 18:25:09 -07:00
Joel Einbinder
abb50a79bd
browser(firefox): fix request frame attribution (#3657)
Firefox will sometimes send multiple requests with the same http channel id. When a frame is loaded, the favicon is requested in the parent frame, but with the same channel id. This can cause the document request to report the wrong frame, causing the test 'should capture iframe navigation request' to fail. It fails consistently on my computer.

This patch adds the content policy type into the http channelId to better distinguish requests. Maybe there is something better we can do? It looks like we use channelId has request ids, so there might be more bugs with these favicon requests in playwright?
2020-08-28 17:55:05 -07:00
Joel Einbinder
6a93cb9749
fix(types): don't show types that we don't export (#3185)
Today we have a bunch of types used by the d.ts file that are not exported. We don't want to export them because it would greatly increase our semver API surface area, so this patch inlines them. Now users will not see names of types they can't import.
2020-08-28 17:53:03 -07:00
Joel Einbinder
4e5007ae1a
fix(rpc): nice error stacks when running tests (#3507) 2020-08-28 16:47:06 -07:00
Max Schmitt
c2cd963407
chore: added envinfo to the bug issue template (#2237)
* chore: added envinfo to the bug issue template

* Update bug.md

Co-authored-by: Arjun Attam <arjunattam@gmail.com>
2020-08-28 16:24:42 -07:00
Pavel Feldman
657cc9b630
feat(test): use metafunc in describes (#3682) 2020-08-28 15:45:09 -07:00
Arjun Attam
fb6d1ad591
docs(docker): add link to mcr status ui (#3679) 2020-08-28 14:30:51 -07:00
Andrey Lushnikov
45e178f8b5
fix: support IP:PORT short notation to specify proxy server (#3568)
Short notation implies `http://` scheme.

Fixes #3233
2020-08-28 14:17:16 -07:00
Pavel Feldman
97e4561ee1
feat(test): introduce metafunc for skip (#3676) 2020-08-28 13:53:47 -07:00
Dmitry Gozman
e5ff283a40
fix(trace): only enable on separate tracing bots (#3677) 2020-08-28 13:50:06 -07:00
Max Schmitt
63a0e0c1d0
chore: bump dev dependencies (#3659) 2020-08-28 13:43:57 -07:00
Dmitry Gozman
7b1fac90bb
test: mark all crash tests as flaky on firefox win (#3675)
All crash tests do not actually crash sometimes on firefox win.
2020-08-28 12:05:11 -07:00
Dmitry Gozman
3d6051adb7
test: mark "should work for webgl" as fixme on webkit linux (#3674)
It sometimes fails all 3 retries.
2020-08-28 12:05:01 -07:00