Dmitry Gozman
4cad34509f
fix(oopifs): do not emulate focus in oopifs ( #5270 )
...
- We don't need this, since it should propagate from the main frame.
- Forcing focus in oopif immediately focuses it and blurs currently
focused frame. This leads to undesired side effects, e.g. selects
being closed.
2021-02-03 08:47:52 -08:00
Dmitry Gozman
1a464c732c
feat(video): switch vp8 in ffmpeg to realtime ( #5260 )
...
This switches vp8 to "realtime" mode that works fast, adapting to
the speed of incoming frames, and produces the best quality in can
given realtime constraints.
In practice, this gives 2x larger video files but no noticible quality
difference. It also eliminates huge delays for encoding the video.
Drive-by: document our ffmpeg option choices and add some links
to documentation for future use.
2021-02-02 17:14:39 -08:00
Dmitry Gozman
9e09bd369d
fix(oopifs): ignore target closure when broadcasting across oopifs ( #5246 )
2021-02-02 10:21:42 -08:00
Pavel Feldman
1db5ef24a8
docs: document electron api ( #5229 )
2021-02-01 11:43:26 -08:00
Pavel Feldman
bf8c30a88b
feat(ui): extract recorder sidebar into a window ( #5223 )
2021-01-31 16:37:13 -08:00
Pavel Feldman
975519150e
chore: centralize playwright creation, bind context listeners to instance ( #5217 )
2021-01-29 16:00:56 -08:00
Pavel Feldman
2e290be40b
chore: remove source maps in pwdebug mode ( #5148 )
2021-01-25 16:36:57 -08:00
Dmitry Gozman
beed9a79a3
feat(chromium): bump to 845618 ( #5138 )
2021-01-25 07:45:21 -08:00
Dmitry Gozman
0a7b917ee3
feat(chromium): bump to 844399 ( #5044 )
2021-01-17 17:28:06 -08:00
Dmitry Gozman
afaec552dd
feat(trace): show dialogs, navigations and misc events ( #5025 )
2021-01-15 18:30:55 -08:00
Yury Semikhatsky
0a2fe62cb7
fix(extensions): do not enable screencast for background pages ( #4919 )
2021-01-06 15:08:28 -08:00
Pavel Feldman
97be66b15c
fix(adb): enable newPage in mobile browser ( #4728 )
2020-12-15 15:14:16 -08:00
Dmitry Gozman
495085cbb2
fix(chromium): make interception work with dedicated workers ( #4658 )
2020-12-10 15:04:57 -08:00
Dmitry Gozman
be16ce4bd2
feat(errors): append recent browser logs when browser disconnects ( #4625 )
2020-12-08 09:35:28 -08:00
Joel Einbinder
ea833daa89
chore: fix internal binding ( #4598 )
2020-12-08 08:38:29 -08:00
Dmitry Gozman
c36f5fa33a
feat(chromium): roll to 833159 ( #4626 )
2020-12-07 15:55:22 -08:00
Joel Einbinder
3624e3e315
chore: add internal method for utility context bindings ( #4566 )
...
* internal binding extracted from dnd patch
* refactor it into the page
* dgozman comments 1
2020-12-02 13:43:16 -08:00
Pavel Feldman
a0587949a5
feat(chromium): roll to r828656 ( #4503 )
2020-11-20 08:10:27 -08:00
Dmitry Gozman
aea106b28e
chore: simplify server screencast code ( #4501 )
...
Currently, we always throw from FrameSession._stopScreencast
when not running with video, and immediately catch it in
CRPage.didClose (thanks to debugger to point that).
Overall, we have code prepared for start/stop API, which
we never did, so it makes sense to simplify code a bit,
and throw if something goes wrong.
2020-11-19 19:26:53 -08:00
Dmitry Gozman
38fadcaded
fix(chromium): use frameDetached reason ( #4468 )
...
This fixes the local -> remote frame swap when
Page.frameDetached arrives before Target.attachedToTarget.
Instead of error-prone logic we do currently, new CDP exposes
frame detach reason that we can use.
2020-11-17 10:24:13 -08:00
Yury Semikhatsky
dfe3552b59
feat(route): support URL overrides in continue ( #4438 )
2020-11-16 09:59:00 -08:00
Pavel Feldman
9404d2abb6
fix(debug): do not generate source urls for anonymous scripts ( #3691 )
2020-11-13 14:47:55 -08:00
Pavel Feldman
b0d174fd9a
revert: lifecycle refactoring, it breaks setContent ( #4420 )
2020-11-12 16:13:55 -08:00
Pavel Feldman
5d47214e2c
chore: register frameless listeners separately ( #4407 )
2020-11-12 13:44:38 -08:00
Pavel Feldman
bd7507e133
chore: unify new page handling across vendors ( #4411 )
2020-11-12 12:41:23 -08:00
Yury Semikhatsky
eee82a7fca
fix(oopif): store child frame id between frameDetached and attachedToTarget ( #4410 )
2020-11-12 09:51:17 -08:00
Dmitry Gozman
138680f93c
fix(launchServer): stream protocol logs into options.logger ( #4403 )
...
fix(launchServer): stream protocol logs into options.logger
This has regressed in v1.4.
2020-11-11 15:12:10 -08:00
Pavel Feldman
28f6547d67
chore: add adb-based connectivity ( #4375 )
2020-11-06 16:31:11 -08:00
Dmitry Gozman
3db8b23b25
fix(chromium): lifecycle events race ( #4369 )
2020-11-06 13:37:15 -08:00
Dmitry Gozman
5faf6f9e69
feat(firefox): switch to use pipe instead of websocket ( #3279 )
2020-11-05 14:15:25 -08:00
Dmitry Gozman
e942138913
fix: do not report errored pages after context closure ( #4346 )
...
Consider the following sequence:
- page opens a popup;
- popup target is attached, we start initializing it;
- user calls browser.close();
- browser is closed, and popup initialization fails;
- we report "errored page" on the already closed context;
- RPC client cannot make sense of this:
"Cannot find parent object BrowserContext@guid to create Frame@guid"
This issue was revealed during Firefox pipe migration.
2020-11-04 16:23:38 -08:00
Andrey Lushnikov
65009dc867
feat(chromium): roll Chromium to r823944 ( #4341 )
...
Fixes #4021
2020-11-04 11:20:02 -08:00
Dmitry Gozman
1c39689dd6
api(videos): introduce a single recordVideo option bag ( #4309 )
...
api(videos): introduce a single recordVideo option bag
Currently contains `dir` and `size`, previously known as
`videosPath` and `videoSize`.
2020-11-02 19:42:05 -08:00
Dmitry Gozman
f80f81545e
feat(chromium): bump to 823078 ( #4308 )
2020-11-02 14:34:08 -08:00
Pavel Feldman
914f6372ec
feat(proxy): enable per-context http proxy ( #4280 )
2020-10-29 16:12:30 -07:00
Pavel Feldman
7bedbb2d78
feat(browser): roll WebKit to r1370 ( #4257 )
2020-10-28 13:46:05 -07:00
Pavel Feldman
be8428475d
feat(websocket): implement Web Sockets for Chromium & WebKit ( #4234 )
2020-10-26 22:20:43 -07:00
Pavel Feldman
72320275ab
fix(headers): report raw request headers on Chromium ( #4207 )
2020-10-22 08:49:16 -07:00
Pavel Feldman
8a42cdad30
feat(timing): introduce resource timing ( #4204 )
2020-10-21 23:25:57 -07:00
Joel Einbinder
92dda698f8
feat: tap ( #4097 )
2020-10-19 10:07:33 -07:00
Pavel Feldman
bbdba42d30
chore(screencast): respect i/o backpressure when writing into ffmpeg ( #4164 )
2020-10-16 10:04:14 -07:00
Pavel Feldman
e9f5477d52
fix(screencast): await for the first video frame on Chromium ( #4145 )
2020-10-14 15:09:36 -07:00
Pavel Feldman
46a49d0809
fix(screencast): bump chromium video quality ( #4146 )
2020-10-14 15:02:32 -07:00
Yury Semikhatsky
bb981fc0cc
fix(screencast): correctly process videos with 1 frame ( #4144 )
2020-10-14 14:10:35 -07:00
Pavel Feldman
3f68713f1e
chore: locate binaries in case of cli deployment ( #4107 )
2020-10-09 15:56:03 -07:00
Joel Einbinder
9801be6401
feat(chromium): roll to 815036 ( #4099 )
2020-10-09 11:45:45 -07:00
Andrey Lushnikov
80773fa96b
fix: disable chromium sandbox by default ( #4090 )
...
Certain environments, e.g. Azure Pipelines, override default user
inside container with a custom one, whereas fail to pass proper
seccomp profile for the docker image.
As a result, chromium sandboxing fails.
To ease life of devops deploying tests in various CI's, this patch
disables Chromium sandbox by default.
References #4084
2020-10-09 11:28:22 -07:00
Pavel Feldman
ad58e49201
Revert "feat(firefox): migrate to the pipe channel ( #4068 )" ( #4073 )
...
Mac sporadically hangs on browser close.
2020-10-06 21:16:50 -07:00
Pavel Feldman
ce7aa7a608
feat(firefox): migrate to the pipe channel ( #4068 )
2020-10-06 14:40:09 -07:00
Dmitry Gozman
4a77363af7
api: update videos api, hide tracing ( #4015 )
2020-10-01 11:06:19 -07:00
Pavel Feldman
cd0a123e78
feat(chromium): roll to v808777 ( #3942 )
2020-09-21 15:51:14 -07:00
Joel Einbinder
75edc61531
feat(emulation): emulate a mouse pointer in headless chrome ( #3922 )
2020-09-21 08:20:05 -07:00
Dmitry Gozman
df777344a3
api(video): simplify video api ( #3924 )
...
- This leaves just `recordVideos` and `videoSize` options on the context.
- Videos are saved to `artifactsPath`. We also save their ids to trace.
- `context.close()` waits for the processed videos.
2020-09-18 17:36:43 -07:00
Dmitry Gozman
01a4060665
chore: move action instrumentation per-context ( #3908 )
...
This allows tracing to expose plugin-like api.
This also remove Progress -> ActionMetadata dependency, leaving
Progress a low-level utility.
2020-09-17 09:32:54 -07:00
Yury Semikhatsky
5507553173
fix(screencast): repeat previous frame instead of current ( #3890 )
2020-09-15 15:21:50 -07:00
Andrey Lushnikov
430f2bedaa
devops: stop relying on ubuntu stock ffmpeg ( #3882 )
...
This patch bakes ffmpeg-linux r1001 into our NPM package.
This increases NPM package size from 4.2MB to 6.7MB.
Fixes #3845
2020-09-14 19:22:00 -07:00
Yury Semikhatsky
e5c6b19c00
fix(launcher): check for ffmpeg only when starting screencast ( #3874 )
2020-09-14 10:26:44 -07:00
Yury Semikhatsky
40323aa94d
fix(screencast): use viewport as default size ( #3844 )
2020-09-11 15:14:31 -07:00
Dmitry Gozman
ed3b00efdf
chore: merge BrowserType and BrowserTypeBase, remove logName ( #3837 )
...
- We do not need the public BrowserType different from BrowserTypeBase anymore.
- Removing 'logName' parameter from runAbortableTask - it will
be used for metadata instead.
2020-09-10 15:34:13 -07:00
Andrey Lushnikov
868740067b
refactor: consolidate ffmpeg-related files in third_party/ffmpeg ( #3815 )
...
This patch:
- moves ffmpeg binaries from `//bin/` to `//third_party/ffmpeg`
- adds [COPYING.GPLv3](https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.GPLv3 )
ffmpeg license
- changes npm packaging to include `//third_party/ffmpeg` only in `playwright` and `playwrihgt-chromium` a
2020-09-09 09:51:28 -07:00
Andrey Lushnikov
e8cf89572a
feat(chromium): roll Chromium to r799411 ( #3811 )
2020-09-09 00:58:25 -07:00
Joel Einbinder
1791be6d16
fix(input): send keypress event for enter key in chromium ( #3796 )
2020-09-08 20:04:14 -07:00
Yury Semikhatsky
af58c8acb2
fix(screencast): ensure that _videostarted is fired after newPage ( #3807 )
2020-09-08 17:01:00 -07:00
Yury Semikhatsky
8f81868b9c
fix(screencast): tune ffmpeg params for better quality ( #3798 )
2020-09-08 15:39:18 -07:00
Andrey Lushnikov
143adc1634
refactor: bake ffmpeg into npm instead of CDN ( #3799 )
2020-09-08 15:10:36 -07:00
Yury Semikhatsky
66985fc5f6
feat(screencast): add expreimental public API on context ( #3766 )
2020-09-04 22:37:38 -07:00
Andrey Lushnikov
bbe2233f08
feat(chromium): use bundled ffmpeg instead of npm deps ( #3771 )
...
Fixes #3680
2020-09-04 04:17:51 -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
Yury Semikhatsky
0976732ec6
fix(screencast): remove white padding in headless chromium ( #3746 )
2020-09-02 17:28:08 -07:00
Yury Semikhatsky
fc29623508
feat(screencast): use system ffmpeg on linux ( #3724 )
2020-09-02 08:47:43 -07:00
Yury Semikhatsky
db9b8a003f
fix(screencast): dont throw from frameAck if target is closed ( #3702 )
2020-08-31 17:43:23 -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
8ec55e1fb2
feat(screencast): use ffmpeg to produce webm in chromium ( #3668 )
2020-08-31 08:43:14 -07:00
Yury Semikhatsky
22b9246692
chore(context): unify browser context id handling ( #3629 )
2020-08-25 16:33:16 -07:00
Dmitry Gozman
cd220daa83
chore: move src files to server ( #3593 )
2020-08-24 06:51:51 -07:00
Dmitry Gozman
73e53b21df
chore: move injected and debug to src/server ( #3591 )
2020-08-23 20:25:59 -07:00
Dmitry Gozman
2e1493a5fa
chore: move browserPaths to utils, enforce more deps ( #3584 )
2020-08-22 21:15:03 -07:00
Dmitry Gozman
f4e8f34c96
chore: move chromium to src/server/chromium, enfore installer deps ( #3582 )
2020-08-22 15:46:42 -07:00