Commit Graph

417 Commits

Author SHA1 Message Date
Andrey Lushnikov c1032ae483
devops: simplify building webkit on linux bots (#3127)
Originally there was no way to build both webkit-gtk and webkit-wpe
in the same checkout. As a result, we were:
- building webkit-gtk & uploading it to CDN
- building webkit-wpe & uploading it to CDN
- downloading webkit-gtk & webkit-wpe from CDN and compiling a single
webkit-gtk-wpe folder that we uploaded to CDN

As of today, however, we can build WPE and GTK ports together. This
patch starts using this to drastically simplify build process:
- build webkit-gtk and webkit-wpe
- use `archive.sh` script that compiles a single folder with both ports
- upload archive to the cloud

This should also fix currently failing webkit build that fails to
assemble the `webkit-gtk-wpe` folder (I missed these codepaths while preparing
for Ubuntu-20.04 bot).

References #2745
2020-07-23 15:57:53 -07:00
Andrey Lushnikov 63689e36a6
devops: prepare buildbots to the introduction of Ubuntu 20.04 builder (#3116)
This patch:
- specializes "linux" scripts into "Ubuntu 18.04" scripts
- renames all future linux blobs on CDN:
    * `firefox-linux.zip => firefox-ubuntu-18.04.zip`
    * `minibrowser-gtk.zip => minibrowser-gtk-ubuntu-18.04.zip`
    * `minibrowser-wpe.zip => minibrowser-wpe-ubuntu-18.04.zip`
    * `minibrowser-gtk-wpe.zip => minibrowser-gtk-wpe-ubuntu-18.04.zip`
- updates downloader to deal with the new names

References #2745
2020-07-23 11:59:23 -07:00
Yury Semikhatsky c895c972ae
browser(webkit): kick-off build for #3100 (#3113) 2020-07-23 09:32:22 -07:00
Yury Semikhatsky 1cfba7f582
browser(webkit): periodically capture frames on mac regardless of updates 2020-07-22 23:38:48 -07:00
Yury Semikhatsky 26c57846bb
Rebase (#3096) 2020-07-22 23:34:52 -07:00
Pavel Feldman b271624fcb
browser(webkit): hardcode woff enabled on win (#3103) 2020-07-22 20:46:00 -07:00
Yury Semikhatsky f751ab1791
browser(webkit): write screencast video to .webm instead of .ivf (#3081) 2020-07-21 18:49:52 -07:00
Pavel Feldman de9570ee3a
browser(webkit): roll to ToT 07/21/2020 (#3066) 2020-07-21 12:26:21 -07:00
Yury Semikhatsky eb14c4711f
browser(webkit): do not mask WebGL vendor/renderer info (#3050) 2020-07-20 15:01:40 -07:00
Yury Semikhatsky 1896e8edc0
browser(webkit): send Playwright.pageProxyDestroyed for crashed tabs when deleting context (#2986) 2020-07-16 15:42:07 -07:00
Yury Semikhatsky 31893036e8
browser(webkit): close crashed pages on exit (#2958) 2020-07-15 11:04:13 -07:00
Carlos Alberto Lopez Perez cb8b1bca97
browser(webkit): Reduce binary size of WebKit Linux build bundles (GTK and WPE) (#2880)
This patch changes the build system to use the JHBuild minimal dependency
system introduced in WebKit r264092 <https://trac.webkit.org/r264092>

The build has been tested with Ubuntu-18.04

The binary size of the zip bundles is now: 37M (WPE) and 40M (GTK).
Previously it was 54M and 59M (respectively)
2020-07-09 11:37:13 -07:00
Yury Semikhatsky f5911de93d
browser(webkit): release GTK app only if it has been referenced (#2885) 2020-07-08 16:13:58 -07:00
Yury Semikhatsky 83bba08cc4
browser(webkit): fix touch events on mac after last roll (#2884) 2020-07-08 14:32:39 -07:00
Yury Semikhatsky 64f57216e2
browser(webkit): roll to 07-07-2020 (#2863) 2020-07-07 13:03:07 -07:00
Yury Semikhatsky ea9b82d225
browser(webkit): properly disconnect signal handlers when closing browser (#2849) 2020-07-06 13:59:13 -07:00
Andrey Lushnikov 3dd09f04ef
browser(webkit): close context menu on Windows when closing page (#2825)
Review URL: 358fd983a9
2020-07-02 15:21:12 -07:00
Andrey Lushnikov b1b6d3f531
devops: add signature to BUILD_NUMBER to force rebaseline (#2810)
Currently, it might happen that two different patches clash for the
same build number for the browsers. In this case, authors might
not even know that they need to rebaseline.

This patch starts adding a second line to `BUILD_NUMBER` files - the
signature and date of the `BUILD_NUMBER` change. These are guaranteed
to clash, so it should not be possible to land patches without
re-baselining them.
2020-07-02 12:09:27 -07:00
Joel Einbinder 3d403cb2cd
browser(webkit): force wpe to use the complex text path (#2801) 2020-07-02 10:04:10 -07:00
Andrey Lushnikov 43cdb3ba72
browser(webkit): revert #2755 (#2809)
Review URL: 7d35d22798

This reverts https://github.com/microsoft/playwright/pull/2755/files
Reason:
- it doesn't compile on Windows

References #2699
2020-07-01 22:40:33 -07:00
Andrey Lushnikov 14162f8923
browser(webkit): let web page close when it has open context menu (#2802)
Review URL: 42f86e9d77

Currently, if web page has an open context menu, then it won't close.
This prevents browser from quitting.

In stock safari, this behavior can also be observed in a way that
context menu will stay opened even if related page got closed.

While investigating this behavior on Mac, a crucial observation was
that `[NSMenu popUpContextMenu]` is spawning a nested event loop,
keeping reference to `WebContextMenuProxyMac` instance, which in turn
keeps references on associated `NSView` with `WKWebView`.

To exit the loop, we need to explicitly cancel context menu. For this,
this patch adds a method `hide` on `WebContextMenuProxy` that uses
port-specific code to cancel context menu.

Windows part of this patch is somewhat speculative: I didn't check
it, but given the same symptomps, I applied the same solution.

Fixes #2700
2020-07-01 18:12:11 -07:00
Dmitry Gozman c188118d3a
browser(webkit): do not show popup menu in mac headless (#2803) 2020-07-01 17:52:25 -07:00
Joel Einbinder cd180474ee
browser(webkit): don't show context menus for headless windows (#2755) 2020-07-01 06:50:08 -07:00
Yury Semikhatsky d6338b0cae
docs(webkit): update core dump analisys instructions (#2778) 2020-06-30 17:00:16 -07:00
Yury Semikhatsky c6df8fd507
browser(webkit): abort interception if loader reached termial state (#2776) 2020-06-30 16:47:10 -07:00
Yury Semikhatsky 924a884102
docs: linux core dump instructions (#2690) 2020-06-24 10:04:11 -07:00
Yury Semikhatsky 40b1a14626
browser(webkit): support screencast scale on Mac (#2655) 2020-06-22 14:40:46 -07:00
Yury Semikhatsky 9801135167
browser(webkit): screencast on windows with accelerated compositing (#2670) 2020-06-22 13:46:18 -07:00
Yury Semikhatsky 7af201621d
chore(webkit): add libvpx Windows build instructions (#2649) 2020-06-22 12:49:30 -07:00
Pavel Feldman e0ac11c074
browser(webkit): fix loader after terminal state access (#2654) 2020-06-19 14:43:56 -07:00
Pavel Feldman 2bfb675c41
browser(webkit): make material icons render on Windows (#2650) 2020-06-19 10:34:25 -07:00
Yury Semikhatsky 5043a36f86
browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2541) 2020-06-19 10:24:19 -07:00
Yury Semikhatsky 636e274412
browser(webkit): revert WebCore agent and frame-based implementation (#2635) 2020-06-18 15:47:53 -07:00
Yury Semikhatsky 38089aba88
browser(webkit): support screencast on Mac (#2631) 2020-06-18 14:26:02 -07:00
Pavel Feldman 02704e08c8
Update upstream_status.md 2020-06-17 23:23:51 -07:00
Yury Semikhatsky 7ba72ce3d1
browser(webkit): support screencast on Windows (#2590) 2020-06-17 09:04:43 -07:00
Pavel Feldman dab715b195
browser(webkit): follow-up to the roll, fix the merge (#2600) 2020-06-16 22:30:55 -07:00
Pavel Feldman 0369062717
browser(webkit): roll to Tot 6/16/2020 (#2596) 2020-06-16 21:34:47 -07:00
Yury Semikhatsky 9bc7139cac
browser(webkit): fix windows and mac unified builds after roll (#2595) 2020-06-16 17:41:05 -07:00
Yury Semikhatsky 4b2efd6e3e
browser(webkit): reference GApplication to keep browser alive on GTK (#2593) 2020-06-16 16:20:42 -07:00
Yury Semikhatsky 898f1157ab
browser(webkit): print context leaks when closing browser (#2591) 2020-06-16 15:41:07 -07:00
Yury Semikhatsky e6a4cff05c
browser(webkit): roll to 06/15 (#2581) 2020-06-16 15:04:57 -07:00
Yury Semikhatsky bda6203a91
browser(webkit): configure video scale (#2553) 2020-06-11 19:27:53 -07:00
Yury Semikhatsky dadfe3e876
browser(webkit): add more missing libraries to WPE build (#2546) 2020-06-11 13:08:51 -07:00
Yury Semikhatsky 0e62d72761
browser(webkit): add missing wayland library to WPE build (#2543) 2020-06-11 11:07:32 -07:00
Yury Semikhatsky 855ffa46ca
browser(webkit): fix windows build (#2536) 2020-06-10 21:34:22 -07:00
Pavel Feldman de893c652e
browser(webkit): speculative downloads-related crash fix (#2535) 2020-06-10 20:48:29 -07:00
Yury Semikhatsky 6f048438c1
browser(webkit): preserve compositing mode in WPE web process (#2508) 2020-06-10 19:00:56 -07:00
Yury Semikhatsky d7f867db47
browser(webkit): screencast for WPE (#2516) 2020-06-10 12:50:43 -07:00
Pavel Feldman 6d8f39b318
browser(webkit): return proper error upon missing page proxy (#2519) 2020-06-09 18:44:43 -07:00
Pavel Feldman 492a65f9d3
browser(webkit): include browserContextId in all Playwright* events (#2513) 2020-06-09 14:10:06 -07:00
Yury Semikhatsky 2250e9606f
browser(webkit): fix wpe build (#2501) 2020-06-08 12:50:06 -07:00
Yury Semikhatsky 4cac74f8c2
browser(webkit): continue screecast after cross-process navigation (#2499) 2020-06-08 10:53:09 -07:00
Yury Semikhatsky 71dd9c2f02
Revert "browser(webkit): exclude gstreamer, its plugins and libdrm fr… (#2482)
* Revert "browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2476)"

This reverts commit fc2432a23a.

* Update build num
2020-06-05 10:43:06 -07:00
Yury Semikhatsky fc2432a23a
browser(webkit): exclude gstreamer, its plugins and libdrm from webkit distribution (#2476) 2020-06-05 07:39:28 -07:00
Pavel Feldman 616ae5044d
browser(webkit): support bypass list on Mac (#2479) 2020-06-04 21:01:38 -07:00
Yury Semikhatsky 53f6caf57d
browser(webkit): manually reencode image as multiple frames (#2470) 2020-06-04 14:30:12 -07:00
Pavel Feldman c03b39a30e
browser(webkit): roll back to using same proxy for http & https (#2471) 2020-06-04 13:56:51 -07:00
Joel Einbinder 601eddfa98
browser(webkit): fix scrolling with mobile viewport (#2468) 2020-06-04 12:27:39 -07:00
Yury Semikhatsky 1392dcd680
browser(webkit): add injected bundle to webkit distribution on linux (#2461) 2020-06-03 17:49:57 -07:00
Yury Semikhatsky 18aafc361f
fix(build): respect relative path in archive.sh (#2462) 2020-06-03 17:47:33 -07:00
Yury Semikhatsky 8149e1d9dd
build(webkit): inlcude libvpx.so.5 into the .zip (#2458) 2020-06-03 16:35:45 -07:00
Pavel Feldman a55687d5f5
browser(webkit): pass proxy url as is for https support (#2460) 2020-06-03 15:11:50 -07:00
Yury Semikhatsky 9158ca19a0
browser(webkit): roll to 06/03/20 (#2457) 2020-06-03 12:47:12 -07:00
Yury Semikhatsky fcc5f75baa
Revert "browser(webkit): roll to 06/03/20 (#2455)" (#2456) 2020-06-03 12:21:27 -07:00
Yury Semikhatsky 09b277c3f6
browser(webkit): roll to 06/03/20 (#2455) 2020-06-03 12:10:08 -07:00
Pavel Feldman abfd278461
browser(webkit): allow setting proxy per browser context (#2445) 2020-06-03 08:41:43 -07:00
Yury Semikhatsky a82139bc98
browser(webkit): fix windows and wpe builds (#2443) 2020-06-02 19:13:54 -07:00
Yury Semikhatsky 7edb6b94af
browser(webkit): configure video frame size over the protocol (#2442) 2020-06-02 18:40:16 -07:00
Andrey Lushnikov a3f34fb4b7
chore: export juggler as a standalone folder for browser build (#2432)
This leaves our firefox diff to gecko instrumentation changes only.

Drive-by: rename webkit "src" folder into "embedder".
2020-06-02 16:51:13 -07:00
Yury Semikhatsky 8e8f9786a7
browser(webkit): scale screencast frames on resize (#2441) 2020-06-02 15:20:13 -07:00
Pavel Feldman c02a862b62
browser(webkit): implement support for proxy (#2436) 2020-06-02 10:29:41 -07:00
Yury Semikhatsky 0a34d05b3e
browser(webkit): encode screencast frames on a dedicated thread (#2433) 2020-06-01 15:17:27 -07:00
Andrey Lushnikov 721d56a81e
browser(webkit): report 'eventsource' as resource type (#2423)
Review URL: 77a29015e3

This uses `initiatorIdentifier` to mark resource request as
originating from event source.

This is alternative to #2396.

References #2189
2020-05-31 23:42:19 -07:00
Yury Semikhatsky 3cad857644
browser(webkit): record screenast for non-accelerated compositing (#2418) 2020-05-31 08:06:52 -07:00
Yury Semikhatsky 084d5ff48f
browser(webkit): revert all changes and hacks to Page.navigate (#2411) 2020-05-29 15:12:31 -07:00
Pavel Feldman fc11b59cd3
chore: update WebKit upstream status 2020-05-29 15:09:26 -07:00
Yury Semikhatsky 767f6bfeb9
browser(webkit): report codec init errors to the client (#2410) 2020-05-29 12:33:24 -07:00
Pavel Feldman 4e8a03cd8b
browser(webkit): roll to ToT 5-28-2020 (#2398) 2020-05-28 18:49:45 -07:00
Pavel b62a65587b chore: add webkit upstream status md (proper folder) 2020-05-28 16:35:16 -07:00
Pavel 0ca8065775 chore: add webkit upstream status md 2020-05-28 16:34:11 -07:00
Yury Semikhatsky 91a102b13c
browser(webkit): fix copyright header (#2393) 2020-05-28 15:40:41 -07:00
Yury Semikhatsky 2b21a5f6ad
browser(webkit): fix Windows compilation (#2391)
eeb40e0539
2020-05-28 13:24:02 -07:00
Yury Semikhatsky 9bf6348a27
browser(webkit): GTK screencast recoder based on vp8 (#2388) 2020-05-28 10:42:58 -07:00
Joel Einbinder 2f345c7828
browser(webkit): fix crash when commands are handled in the UIProcess (#2327)
Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-05-21 07:33:38 -07:00
Yury Semikhatsky 9ef7e1300a
browser(webkit): fix mac compilation (#2319) 2020-05-20 18:25:35 -07:00
Yury Semikhatsky d99ebc9265
browser(webkit): fix mac compilation (#2317) 2020-05-20 15:48:31 -07:00
Yury Semikhatsky 9808d8bc03
browser(webkit): add Playwright enable/disable commands (#2314) 2020-05-20 14:54:47 -07:00
Yury Semikhatsky 0bc4906196
browser(webkit): use unsigned long instead of size_t to fix Win (#2295) 2020-05-18 23:38:54 -07:00
Yury Semikhatsky 96f9bbee71
browser(webkit): fix windows build (#2294) 2020-05-18 22:30:47 -07:00
Yury Semikhatsky 5a6973fe69
browser(webkit): support jpeg screencast frames on WPE and Win (#2290) 2020-05-18 18:23:03 -07:00
Yury Semikhatsky 9c7e43a83b browser(webkit): roll to 05/15/20 (#2260) 2020-05-15 13:47:23 -07:00
Yury Semikhatsky 4d27aadb13
browser(webkit): fix compilation on Mac (#2253) 2020-05-14 16:45:39 -07:00
Yury Semikhatsky 8fb2c7e8fa
browser(webkit): fix compilation on Win (#2251) 2020-05-14 16:29:07 -07:00
Yury Semikhatsky 2073bcb867
browser(webkit): fix compilation on Mac (#2249) 2020-05-14 16:14:09 -07:00
Yury Semikhatsky f743cd9763
browser(webkit): introduce screencast agent in web process (#2248) 2020-05-14 15:48:05 -07:00
Pavel Feldman 62ae079035
browser(webkit): destroy main window after the view (#2233) 2020-05-13 22:54:43 -07:00
Pavel Feldman 5c43fb4a96
browser(webkit): unfork windows bits (#2228) 2020-05-13 19:28:59 -07:00
Pavel Feldman 34373b3ace
browser(webkit): compute non-header suggested name on windows (#2227) 2020-05-13 18:24:05 -07:00
Yury Semikhatsky 03cae92ff2
browser(webkit): remove BackendDispatcher::Mode (#2223) 2020-05-13 16:46:25 -07:00