Commit graph

624 commits

Author SHA1 Message Date
Yury Semikhatsky fc18f2f38a
browser(firefox): support screencast frame size and scale configuration (#2847) 2020-07-06 11:28:35 -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
Yury Semikhatsky 6aef045fd4
browser(firefox): create new window for each new page (#2823) 2020-07-02 14:46:57 -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
Yury Semikhatsky 605257b1a0
browser(firefox): Win build fix (#2822) 2020-07-02 11:20:25 -07:00
Yury Semikhatsky 024cb1ddc1
browser(firefox): basic screencast implementation for GTK (#2818) 2020-07-02 10:43:04 -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
Dmitry Gozman 5c4751d5dd
chore: generate protocol during browser roll (#2719)
We now commit protocol.ts files during the roll.
New utils/roll_browser.js helps with that.

This makes our installation very shallow:
- build installer;
- download browsers.
2020-07-01 15:22:29 -07:00
Dmitry Gozman 991e8d42c6
browser(firefox): report errors from workers (#2797)
There is no exceptionFlag anymore, so we check the logLevel instead.
2020-07-01 14:49:14 -07:00
Dmitry Gozman c4e3ed85c0
browser(firefox): handle the case when inner window is restored from history (#2791)
When innerWindow is restored from the history state, we do not receive
content-document-global-created notification, but would still like to know
that window is now using a different inner window to reset the state.
This introduces a new notification juggler-dom-window-reused.

At the same time, goBack()/goForward() sometimes do not initiate
navigation synchronously, so our check for pendingNaivgationId() does
not work. Instead, we rely on canGoBack, and assume that client will
not need the navigationId synchronously.
2020-07-01 13:28:13 -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
Dmitry Gozman 687067831a
browser(firefox): do not fail when decoding large responses (#2671) 2020-06-22 16:01:16 -07:00
Dmitry Gozman 3d49af2537
browser(firefox): fix redirect interception (#2672)
We sometimes receive shouldIntercept for redirects,
and should not issue sendOnRequest for the second time.
2020-06-22 15:57:05 -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
Dmitry Gozman 2fa32f7e9c
browser(firefox): rewrite network instrumentation (#2638)
This change introduces NetworkRequest object that encapsulates
internal redirects as they happen in netwerk/ stack.

NetworkRequest now serves as both ResponseBodyListener and NotificationCallbacks.
2020-06-20 20:45:01 -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
Dmitry Gozman c544bffee3
browser(firefox): stop faking intercepting redirects (#2618)
We just cannot do it, so we report redirects as intercepted: false.
2020-06-18 10:40:34 -07:00
Pavel Feldman 02704e08c8
Update upstream_status.md 2020-06-17 23:23:51 -07:00
Andrey Lushnikov 082bb3c3c4
browser(firefox): rely on upstream permission separation per contexts (#2613) 2020-06-17 14:57:47 -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
Dmitry Gozman ab5f5c8b78
browser(firefox): another way to report elements without layout object (#2597) 2020-06-16 21:38:32 -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
Dmitry Gozman f2af30cf90
browser(firefox): properly instrument requests intercepted by service worker (#2594)
When httpChannel is intercepted by Service Worker:
- it gets an internal redirect to another channel with the same id;
- once serivce worker responds, the channel gets the data, but
  does not get any onResponse notifications.

So, we update our ResponseBodyListener (the nsIRequestObserver implementation)
to the new request and force onResponse from there once data is available or
request finishes.
2020-06-16 17:19:01 -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
Dmitry Gozman 9e7ea3ff7b
browser(firefox): Page.scrollIntoViewIfNeeded throws for invisible elements (#2584)
This is similar to other browsers that report distinct errors for
'not connected' vs 'not visible' cases.
2020-06-16 06:13:58 -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
Andrey Lushnikov 3bff136825
chore: bump firefox build number
Bots were updated; kicking all bots to build firefox.
2020-06-09 23:42:10 -07:00
Andrey Lushnikov 31da3d3720
browser(firefox): roll Firefox to TOT beta branch as of Jun 9, 2020 (#2520)
With this roll, we now require MacOS 10.11 SDK to build on Mac.
2020-06-09 22:48:10 -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
Dmitry Gozman ee3379a80f
browser(firefox): remove non-existing files from build (#2507) 2020-06-08 17:04:37 -07:00
Dmitry Gozman ac88f98999
browser(firefox): properly hide scrollbars in all frames (#2505) 2020-06-08 15:54:47 -07:00
Pavel Feldman 4ec215a88b
browser(firefox): allow setting download behavior of default context (#2502) 2020-06-08 13:49:33 -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
Andrey Lushnikov a26311a18a
browser(firefox): support proxy bypass (#2467) 2020-06-04 16:07:45 -07:00
Yury Semikhatsky 53f6caf57d
browser(webkit): manually reencode image as multiple frames (#2470) 2020-06-04 14:30:12 -07:00
Andrey Lushnikov 95ef71c43c
devops: support --juggler argument for firefox/build.sh script (#2472) 2020-06-04 14:26:51 -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
Andrey Lushnikov 3c9699dc7c
browser(firefox): support Browser.setProxy method in juggler (#2464)
This lets us support network proxies per browser context.
2020-06-04 08:52:43 -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
Pavel Feldman fdd8df608f Revert "browser(firefox): allow passing user preferences at launch time (#2416)" 2020-05-29 22:25:25 -07:00
Pavel Feldman a247f7d2a5
browser(firefox): allow passing user preferences at launch time (#2416) 2020-05-29 16:15:36 -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
Arjun Attam 1722dcb8fa
docs: link to wk upstream status 2020-05-29 11:30:17 -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
Andrey Lushnikov 0ed052f9e9
browser(firefox): expose internal request cause along with external one (#2383) 2020-05-28 09:23:14 -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
Dmitry Gozman 5d0b5625fa
browser(firefox): set initial page url to about:blank (#2300) 2020-05-19 10:30:36 -07:00