Commit graph

1741 commits

Author SHA1 Message Date
Andrey Lushnikov 7c3a037b86
browser(ff-beta): backport response interception patches (#7965) 2021-08-03 06:11:12 -07:00
Andrey Lushnikov 3757b59aa4
browser(chromium): build Chromium r906442 (#7962) 2021-08-03 03:28:38 -07:00
Yury Semikhatsky 961724d704
browser(webkit): give access to intercepted response body (#7954) 2021-08-02 16:07:44 -07:00
Max Schmitt a050c00b6c
Revert "browser(winldd): attempt to fix dependency loading on windows (#7790)" (#7948)
This reverts commit c1d6c4b25e.
2021-08-02 16:28:16 +02:00
Max Schmitt 5cf1a3e4ef
chore(webkit): use GitHub as a remote origin (#7476) 2021-07-30 10:50:09 +02:00
Diego Pino d02573e7c6
browser(webkit): roll to 07/28/21 (#7886) 2021-07-28 23:11:22 -07:00
Pavel Feldman e9d2ef0ebd
browser(webkit): speculative win fix for new settings (#7794) 2021-07-22 07:38:26 -07:00
Andrey Lushnikov c1d6c4b25e
browser(winldd): attempt to fix dependency loading on windows (#7790)
References #7560
2021-07-22 06:39:14 -07:00
Pavel Feldman c0f3b19f60
browser(webkit): fix compilation (#7782) 2021-07-21 21:30:03 -07:00
Pavel Feldman 3786cf8746
browser(webkit): implement more modernizr features (#7780) 2021-07-21 18:04:18 -07:00
Joel Einbinder de5df934d4
browser(webkit): undo ios changes to frame.mm (#7774) 2021-07-21 19:47:31 -05:00
Daniel Kolesa 99363ae28e
browser(webkit): roll to 07/21/21 (#7772)
3-way diff: b8114e12a0

test suites were ran and come out the same as pre-rebase
2021-07-21 09:35:50 -07:00
Max Schmitt d03a54da64
browser(firefox): revert devtools flag CLI command (#7717)
revert 786f6c4d31
2021-07-19 17:01:06 +02:00
Andrey Lushnikov 64ef88999e
devops: fix chromium build script (#7669) 2021-07-16 02:36:49 -07:00
Joel Einbinder 91fa838969
browser(webkit): support event.buttons for MacOS (#7599) 2021-07-15 12:28:57 -05:00
Pavel Feldman f8bc2cf41e
browser(webkit): roll to ToT 7/14/2021 (#7617) 2021-07-14 13:39:13 -07:00
Andrey Lushnikov fc083dfc2e
browser(chromium): build Chromium r901522 (#7615) 2021-07-14 10:17:58 -07:00
Andrey Lushnikov e801442f1e
browser(firefox): roll to match Firefox 90 release (#7605)
References #7583
2021-07-14 09:26:43 -07:00
Pavel Feldman 6e5a03059f
browser(webkit): speculative win fix (#7613) 2021-07-14 09:15:05 -07:00
Pavel Feldman 43ecb8aa94
browser(webkit): compile device orientation on mac (#7595) 2021-07-13 21:13:17 -07:00
Andrey Lushnikov 34777853f7
devops: enforce hard xcode version match for browser builds (#7591)
Browsers require particular xcode versions to be installed on the host
machine to produce successful build.

This patch starts using explicit xcode versions for all mac browser
builds.
2021-07-13 18:12:53 -07:00
Pavel Feldman 77afd6bdad
browser(webkit): pass some of the modernizr checks (#7593) 2021-07-13 17:45:00 -07:00
Andrey Lushnikov c602a50b4c
Revert "browser(webkit): pass some of the modernizr checks (#7589)" (#7592)
This reverts commit 12be38204c.

Reason: build fails.
2021-07-13 17:29:30 -07:00
Pavel Feldman 12be38204c
browser(webkit): pass some of the modernizr checks (#7589)
0bf40de916
2021-07-13 17:03:39 -07:00
Max Schmitt 786f6c4d31
browser(firefox): introduce auto-open-devtools-for-tabs CLI flag (#7580) 2021-07-13 18:29:35 +02:00
Yury Semikhatsky efb21b9e9f
browser(firefox): support response interception (#7509) 2021-07-09 05:41:53 -07:00
Daniel Kolesa 2bdd823a52
browser(webkit): roll to 07/08/21 (#7516) 2021-07-08 23:40:34 -07:00
Max Schmitt 4c219add0c
browser(webkit): add support to cancel a download (#7432) 2021-07-05 09:02:40 +02:00
Andrey Lushnikov c9e9100ff0
browser(firefox-beta): roll Firefox-beta to 90.0b13 (#7423) 2021-07-01 16:43:28 -07:00
Daniel Kolesa 1771caee8b
browser(webkit): roll to 07/01/21 (#7426) 2021-07-01 13:43:56 -07:00
Dmitry Gozman fca965cb98
browser(firefox): properly handle HSTS redirects (#7391)
When Firefox decides to perform an http->https redirect based on HSTS
information, it issues an "internal" redirect and cancels the http request.

Since there is no response for the http request, we forge 307 redirect
in this case, following Chromium lead.

The relevant code is in nsHttpChannel::StartRedirectChannelToHttps.
2021-06-30 12:59:27 -07:00
Max Schmitt 18266722a1
browser(firefox): add Download.cancel (#7390) 2021-06-30 01:29:58 +02:00
Max Schmitt a270fc5206
browser(firefox-beta): add transferSize to Network.requestFinished (#7369) 2021-06-29 09:46:42 +02:00
Max Schmitt 8fa93ae6be
browser(firefox): add transferSize to Network.requestFinished (#7355) 2021-06-28 21:22:55 +02:00
Pavel Feldman b963dbbe3c
browser(webkit): add app icon on Mac (#7315) 2021-06-24 23:26:48 -07:00
Pavel Feldman a0946afb6b
browser(webkit): add app icon on Linux (#7313) 2021-06-24 22:20:58 -07:00
Daniel Kolesa 80eb64594b
browser(webkit): roll to 06/23/21 (#7278) 2021-06-24 13:41:22 -07:00
Andrey Lushnikov 0d9cfd76c3
browser(chromium): roll Chromium to r895386 (#7287) 2021-06-23 18:55:29 -07:00
Andrey Lushnikov f342d8b0b1
devops: fix prepare checkout script on pristine machine (#7270)
Fixes #7269
2021-06-23 03:31:51 -07:00
Yury Semikhatsky b9c619206f
browser(webkit): fix mac compilation (#7253) 2021-06-21 11:20:19 -07:00
Yury Semikhatsky 47341dc1a9
feat(webkit): intercepted response body (#7228) 2021-06-21 10:53:29 -07:00
Diego Pino 1a9a5d8e9a
browser(webkit): roll to 06/17/21 (#7202)
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2021-06-17 12:05:05 -07:00
Andrey Lushnikov 5002420a6f
chore: further enhanced repack-juggler script (#7188)
With this change, the script is now 2-stage:
- first, prepare browser build with `repack-juggler.js --prepare`
- afterwards, run the script to repack tot juggler version with the
  bubild
2021-06-16 17:32:37 -07:00
Andrey Lushnikov bc850b9ef9
feat: enhance repack-juggler.js to autodetect current platform (#7183)
This steals some parts of `//src/util/registry.ts`.
2021-06-16 15:13:51 -07:00
Andrey Lushnikov 04de4ad93e
devops: cleanup browser build configs (#7180)
- certain builds weren't listed in EXPECTED_BUILDS
- wekbit had one unused build configuration
2021-06-16 12:22:33 -07:00
Andrey Lushnikov 53ac9066da
devops: fix missing host in build scripts (#7178) 2021-06-16 10:38:00 -07:00
Andrey Lushnikov 331c431f5f
browser(chromium): roll Chromium to r891964 (#7162) 2021-06-15 18:19:35 -07:00
Andrey Lushnikov 65777aebf6
browser(firefox-beta): roll Firefox-Beta to 90.08b - June 15, 2021 (#7160) 2021-06-15 16:24:03 -07:00
Andrey Lushnikov 312fd3ed4e
devops: fix reporting for chromium-with-symbols (#7159)
Chromium-with-symbols is the first time we produce a second set of
builds for the same browser.

This patch adds support for this usecase to report build progress
appropriately.
2021-06-15 16:01:11 -07:00
Andrey Lushnikov bb5da5061c
devops: support building chromium with symbols (#7131)
References #7130
2021-06-15 01:18:00 -07:00
Andrey Lushnikov 58878b584a
devops: introduce repack-juggler script (#7092)
This patch adds a new script -
`//browser_patches/firefox/repack-juggler.mjs`

This script lets you test Firefox changes if they are Juggler-specific
without firefox checkout / compilation.

The `repack-juggler.mjs` script does the following:
- downloads the latest build of Firefox-with-juggler
- finds an `omni.ja` file with Juggler files inside
- replaces juggler in omni.ja with the current juggler files in the index
2021-06-15 01:08:13 -07:00
Andrey Lushnikov eda097f5e5
devops: fix Firefox build on Apple Silicon (#7068) 2021-06-11 02:04:08 -07:00
Max Schmitt 9b9091b3fe
browser(firefox): fixed Array.prototype.toJSON workaround (#7018)
References #7015
2021-06-10 17:21:20 -07:00
Yury Semikhatsky ab4398e60a
browser(webkit): initialize fetchStart in Curl to fix network metrics (#7052) 2021-06-10 16:06:30 -07:00
Max Schmitt 226159defc
browser(firefox): forced-colors media query emulation (#6902) 2021-06-09 01:00:15 +02:00
Yury Semikhatsky 316f17f2f0
browser(webkit): fix win linkage of libyuv (#6970) 2021-06-08 14:21:40 -07:00
Yury Semikhatsky 4c70856252
browser(webkit): roll to 06/08/21 (#6958) 2021-06-08 11:48:38 -07:00
Yury Semikhatsky 2b474e57f9
browser(webkit): add Playwright.setLocalStorageData command (#6949) 2021-06-08 00:03:50 -07:00
Andrey Lushnikov 838576b8bf
browser(firefox-beta): roll to Firefox to 90.0b5 - Jun 7, 2021 (#6954) 2021-06-08 00:03:16 -07:00
Andrey Lushnikov 12d8c54e99
chore: swap firefox-stable and firefox (#6950)
With this patch:
- `//browser_patches/firefox` becomes firefox-stable
- `//browser_patches/firefox-stable` becomes firefox-beta

References #6817
2021-06-07 17:05:51 -07:00
Andrey Lushnikov 15668f04a8
chore: make WebKit @ MacOS 10.14 error more prominent (#6943)
The new message is much more prominent in the logs:

```
aslushnikov:~/prog/playwright(make-deprecation-error-more-prominent)$ node a.js
node:internal/process/promises:246
          triggerUncaughtException(err, true /* fromPromise */);
          ^

browserType.launch: Protocol error (Playwright.enable): Browser closed.
==================== Browser output: ====================
<launching> /Users/aslushnikov/prog/playwright/browser_patches/deprecated-webkit-mac-10.14/pw_run.sh --inspector-pipe --headless --no-startup-window
<launched> pid=5120
[pid=5120][out] ****************************************************************
[pid=5120][out] ****************************************************************
[pid=5120][out]
[pid=5120][out] ERROR: MacOS version is too old!
[pid=5120][out]
[pid=5120][out] This version of Playwright does not support running
[pid=5120][out] WebKit on MacOS 10.14. Please either:
[pid=5120][out] - update your operating system to version 10.15 or higher
[pid=5120][out] - use Playwright v1.11 or older
[pid=5120][out]
[pid=5120][out] ****************************************************************
[pid=5120][out] ****************************************************************
[pid=5120] <process did exit: exitCode=1, signal=null>
[pid=5120] starting temporary directories cleanup
```
2021-06-07 14:23:06 -07:00
Yury Semikhatsky 657aa04bf2
browser(webkit): import <optional> to fix win compilation (#6895) 2021-06-03 17:35:24 -07:00
Yury Semikhatsky 2663c0bfd4
browser(webkit): import <optional> to fix mac compilation (#6894) 2021-06-03 17:17:09 -07:00
Yury Semikhatsky cce62da3b2
browser(webkit): roll to 06/03 (#6889) 2021-06-03 16:21:39 -07:00
Andrey Lushnikov 8a81b11d33
devops: replace WebKit for MacOS 10.14 build with a stub (#6886)
This patch will produce a stub build of WebKit for MacOS 10.14 with a
stub that errors out with a descriptive error.

References #6879
2021-06-03 15:36:31 -07:00
Yury Semikhatsky d7c202ca3c
browser(webkit): fix time formatting and mac compilation (#6875) 2021-06-03 12:03:32 -07:00
Yury Semikhatsky 4fa792ee89
browser(webkit): getLocalStorageData command (#6858) 2021-06-02 16:30:00 -07:00
Max Schmitt 79b244a2f4
chore: use bash instead of sh in code blocks (#6847) 2021-06-02 18:23:06 +02:00
Andrey Lushnikov d767fc2f91
browser(firefox-stable): disable proton UI in firefox stable (#6838)
See f4b8c3a848 for details.
2021-06-01 19:08:03 -07:00
Yury Semikhatsky b4ffe86fd1
browser(webkit): add missing override annotations (#6829) 2021-06-01 15:23:08 -07:00
Yury Semikhatsky 9b81dccc39
browser(webkit): add awaitPromise parameter to Runtime.callFunctionOn (#6828) 2021-06-01 14:56:46 -07:00
Andrey Lushnikov 531d35f945
browser(chromium): revert swiftshader fixes (#6824)
References #6818, references #6390
2021-06-01 13:55:58 -07:00
Andrey Lushnikov 0f7a7604bc
browser(firefox): roll Firefox-stable to 89 (#6823) 2021-06-01 13:16:45 -07:00
Yury Semikhatsky 58e74b477a
browser(webkit): fix compilation on Ubuntu 18 (#6794) 2021-05-28 18:20:24 -07:00
Yury Semikhatsky 040e9013a6
browser(webkit): roll to 05/27/21 (#6787) 2021-05-28 11:52:56 -07:00
Max Schmitt c54c487166
docs(build): add more logging hints to the cheatsheet (#6785) 2021-05-28 09:23:52 -07:00
Yury Semikhatsky 2f36feefc8
browser(firefox-stable): merge do not use Array.prototype.toJSON for serialization (#6783) 2021-05-27 16:37:13 -07:00
Yury Semikhatsky c8ee008aa1
browser(webkit): fix headless popup window crash (#6782) 2021-05-27 16:31:00 -07:00
Yury Semikhatsky f60b79a311
browser(firefox): do not use Array.prototype.toJSON for serialization (#6767) 2021-05-26 15:38:53 -07:00
Andrey Lushnikov 9b5bcba1d7
devops: fix goma to use new authentication (#6747) 2021-05-25 15:16:23 -07:00
Yury Semikhatsky 4076110e4f
browser(webkit): fix jpeg encoding on mac after last roll (#6732) 2021-05-24 18:42:18 -07:00
Yury Semikhatsky 8770c64601
browser(webkit): fix mac compilation after latest roll (#6727) 2021-05-24 14:56:10 -07:00
Yury Semikhatsky adf87fe9c6
browser(webkit): roll to 05/24/21 (#6722) 2021-05-24 12:50:33 -07:00
Andrey Lushnikov 08773e836b
browser(firefox-beta): roll Firefox to 89.0b15 (#6689) 2021-05-20 15:29:00 -07:00
Andrey Lushnikov f8981962bd
browser(chromium): build Chromium r885250 (#6687) 2021-05-20 15:20:42 -07:00
Max Schmitt b2b45afc22
browser(firefox): override reduced motion no-preference (#6683) 2021-05-20 21:07:39 +02:00
Joel Einbinder 2f9b057525
browser(firefox): partially revert scrollbars patch (#6670) 2021-05-19 18:59:57 -07:00
Max Schmitt 277eca1b98
devops: install all FF system dependencies with --full on build (#6657)
Before that it actually didn't install all needed dependencies and failed after that when starting the compiler suite. WebKit also installs dependencies with apt, so it should be fine to install them on OS level.
2021-05-19 15:16:33 -07:00
Andrey Lushnikov 4e979fd95e
browser(chromium): roll to latests Chromium (#6661) 2021-05-19 14:43:42 -07:00
Max Schmitt 8d4e6168aa
browser(webkit): added reduced motion emulation (#6645) 2021-05-19 22:42:54 +02:00
Yury Semikhatsky 5076cb3241
browsr(webkit): cherry-pick(mac-14): bootstrap script in utility world (#6591) (#6655) 2021-05-19 11:11:09 -07:00
Yury Semikhatsky c2de35e016
browser(webkit): roll to 05-18-21 (#6643) 2021-05-18 14:30:35 -07:00
Max Schmitt c4a6c2bcab
browser(firefox): added reduced motion emulation (#6618) 2021-05-18 21:23:12 +02:00
Andrey Lushnikov debffa7476
browser(firefox): make Juggler types compliant with protocol viewer (#6626)
Protocol viewer can't handle anonymous objects since it's not clear how
to refer to them.
2021-05-17 21:40:29 -07:00
Yury Semikhatsky ffa83f1f17
browser(webkit): bootstrap script in utility world (#6591) 2021-05-15 09:51:38 -07:00
Yury Semikhatsky 37d03e8b7b
browser(webkit): roll to safari-612.1.15-branch (#6587) 2021-05-14 13:06:55 -07:00
Joel Einbinder 5b223f92c8
browser(firefox): Browser.setScrollbarsHidden (#6457) 2021-05-14 08:06:34 -07:00
Andrey Lushnikov 654446a757
devops: fix Chromium windows archiving logic (#6568)
Turns out MINGW environment doesn't support Python-for-Windows
through shebang. Call python explicitly.
2021-05-13 15:10:08 -07:00
Andrey Lushnikov d02472a9e0
browser(firefox): fix uploads of large files in Firefox (#6547)
- to read post data of requests, we have to read stream
- to restore the stream later on, we have to rewind it back
- however, if the stream is large enough, it cannot be rewound back

This patch starts cloning post data streams if possible to avoid
back-rewinding them later on.

References #4704
2021-05-12 16:27:53 -07:00
Dmitry Gozman d627376147
browser(webkit): use correct request when navigation turns into download (#6516)
Currently, WebPageProxy uses `m_decidePolicyForResponseRequest` to create
the DownloadProxy form the navigation. However, this field is not properly
set for the following callstack:

```log
1 WebKit::WebProcessPool::createDownloadProxy(WebKit::WebsiteDataStore&, WebCore::ResourceRequest const&, WebKit::WebPageProxy*, WebKit::FrameInfoData const&)
2 WebKit::WebPageProxy::receivedPolicyDecision(WebCore::PolicyAction, API::Navigation*, WTF::RefPtr<API::WebsitePolicies, WTF::RawPtrTraits<API::WebsitePolicies>, WTF::DefaultRefDerefTraits<API::WebsitePolicies> >&&, WTF::Variant<WTF::Ref<API::NavigationResponse, WTF::RawPtrTraits<API::NavigationResponse> >, WTF::Ref<API::NavigationAction, WTF::RawPtrTraits<API::NavigationAction> > >&&, WTF::Ref<WebKit::WebPageProxy::PolicyDecisionSender, WTF::RawPtrTraits<WebKit::WebPageProxy::PolicyDecisionSender> >&&, WTF::Optional<WebKit::SandboxExtension::Handle>, WebKit::WebPageProxy::WillContinueLoadInNewProcess) +1ms
3 WebKit::WebPageProxy::receivedNavigationPolicyDecision(WebCore::PolicyAction, API::Navigation*, WTF::Ref<API::NavigationAction, WTF::RawPtrTraits<API::NavigationAction> >&&, WebKit::ProcessSwapRequestedByClient, WebKit::WebFrameProxy&, WTF::RefPtr<API::WebsitePolicies, WTF::RawPtrTraits<API::WebsitePolicies>, WTF::DefaultRefDerefTraits<API::WebsitePolicies> >&&, WTF::Ref<WebKit::WebPageProxy::PolicyDecisionSender, WTF::RawPtrTraits<WebKit::WebPageProxy::PolicyDecisionSender> >&&) +1ms
4 WebKit::WebPageProxy::decidePolicyForNavigationAction(WTF::Ref<WebKit::WebProcessProxy, WTF::RawPtrTraits<WebKit::WebProcessProxy> >&&, WebKit::WebFrameProxy&, WebKit::FrameInfoData&&, unsigned long long, WebKit::NavigationActionData&&, WebKit::FrameInfoData&&, WTF::Optional<WTF::ObjectIdentifier<WebKit::WebPageProxyIdentifierType> >, WebCore::ResourceRequest const&, WebCore::ResourceRequest&&, IPC::FormDataReference&&, WebCore::ResourceResponse&&, WebKit::UserData const&, WTF::Ref<WebKit::WebPageProxy::PolicyDecisionSender, WTF::RawPtrTraits<WebKit::WebPageProxy::PolicyDecisionSender> >&&)::$_6::operator()(WebCore::PolicyAction, API::WebsitePolicies*, WebKit::ProcessSwapRequestedByClient, WTF::RefPtr<WebKit::SafeBrowsingWarning, WTF::RawPtrTraits<WebKit::SafeBrowsingWarning>, WTF::DefaultRefDerefTraits<WebKit::SafeBrowsingWarning> >&&, WTF::Optional<WebKit::NavigatingToAppBoundDomain>)::'lambda'(WebCore::PolicyAction)::operator()(WebCore::PolicyAction) +0ms
```

This patch updates `m_decidePolicyForResponseRequest` on the above codepath,
and it is reset immediately in `WebPageProxy::receivedPolicyDecision`.
2021-05-12 12:38:59 -07:00
Yury Semikhatsky d540b4478b
browser(firefox-stable): simplify isolated world structures (#6542) 2021-05-12 10:46:19 -07:00
Yury Semikhatsky 84031d4a07
browser(firefox): simplify isolated world structures (#6521) 2021-05-12 08:52:08 -07:00
Yury Semikhatsky 958629fae7
browser(webkit): roll to safari-612.1.14-branch (#6517) 2021-05-11 15:34:28 -07:00
Yury Semikhatsky 269a1b6407
browser(firefox-stable): bindings in isolated worlds (#6504) 2021-05-11 09:34:10 -07:00
Yury Semikhatsky f8039bed10
browser(firefox): bindings in isolated worlds (#6493) 2021-05-11 09:27:39 -07:00
Pavel Feldman 8d21b12454
browser(firefox): fit screencast images into given frame (#6495) 2021-05-10 22:01:41 -07:00
Pavel Feldman a5143ebaa9
browser(webkit): fix the screencast scale and toolbar offset on Mac (#6474) 2021-05-09 14:47:33 -07:00
Dmitry Gozman f1a65820f4
browser(firefox): fix addBinding on pages with CSP (#6470) 2021-05-08 18:06:56 -07:00
Pavel Feldman b4261ec074
browser(ff-stable): pick up screencast changes (#6464) 2021-05-07 21:47:40 -07:00
Pavel Feldman edd2cc807c browser(ff): migrate screencast to client interfaces 2021-05-07 21:01:01 -07:00
Pavel Feldman 78ec057117
browser(firefox): implement screencast (#6452) 2021-05-06 19:11:42 -07:00
Andrey Lushnikov 262824deb7
devops: fix chromium archiving with FILES.cfg (#6450)
- unset `IFS` variable so that it doesn't affect future script execution
- use `\n\r` separator on windows
- fix script to be Python2/Python3 compliant
2021-05-06 13:55:55 -07:00
Pavel Feldman 45d92890af
fix(webkit): quick fix for screencast (#6448) 2021-05-06 13:10:17 -07:00
Andrey Lushnikov 1101268697
devops: fix //browser_patches/export.sh for deprecated-webkit (#6446) 2021-05-06 11:41:07 -07:00
Andrey Lushnikov b1f80bad39
browser(firefox-beta): roll Firefox to v89.0b9 (May 6, 2021) (#6443) 2021-05-06 11:03:58 -07:00
Andrey Lushnikov fa7b5f3cd0
browser(chromium): roll Chromium to 879910 (#6441) 2021-05-06 10:53:20 -07:00
Andrey Lushnikov c7751b9fc3
devops: use chromium's FILES.cfg to compute archive files (#6438)
Since the include list of files to pack with Chromium changes
eventually, we should use their list instead of hardcoded one
on our side.
2021-05-06 10:36:33 -07:00
Yury Semikhatsky e4272fab08
browser(webkit): add stdc++fs lib to wtf to fix Ubuntu 18.04 (#6437) 2021-05-06 10:09:28 -07:00
Pavel Feldman 765d74987f
chore(ff): remove some dead code (#6423) 2021-05-05 13:27:51 -07:00
Yury Semikhatsky 8d66edf6b3
browser(webkit): roll to safari-612.1.13-branch (#6422) 2021-05-05 12:03:40 -07:00
Pavel Feldman 9b8dc4ae00
browser(webkit): fix Ubuntu18, make vp9 build hermetic (#6421) 2021-05-05 11:33:04 -07:00
Andrey Lushnikov 5509527917
devops: do a full browser checkout by default on Dev machines (#6411)
The `git fetch --unshallow` is a non-trivial command to run, so we
should default to a full checkout unless we're on CI.
2021-05-05 01:12:03 -07:00
Pavel Feldman ee835fba6c
fix(webkit): fix screencast compilation on win (#6412) 2021-05-04 18:19:17 -07:00
Andrey Lushnikov 77c1020193
devops: re-use firefox checkout for firefox-stable (#6410)
Every patch to Firefox should also go to firefox-stable. This patch
starts re-using Firefox-beta checkout for firefox-stable, making
possible to easily rebaseline work atop of firefox-stable.

With this patch, working on a patch in Firefox is a 2-step
process:
1. work on a patch against Firefox-Beta
2. rebaseline your work atop of Firefox-Stable

Working on Firefox-Beta is as usual:
- setup an up-to-date firefox checkout:
  ```sh
  $ ./browser_patches/prepare_checkout.sh firefox
  ```
- create a new branch for your firefox work off `playwright-build`:
  ```sh
  $ cd ./browser_patches/firefox/checkout
  $ git checkout -b my-feature
  ```
- once work is done, export your branch:
  ```sh
  $ ./browser_patches/export.sh firefox
  ```

Rebaselining your work for Firefox-Stable takes advantage of a single
checkout:
- prepare a firefox-stable checkout:
  ```sh
  $ ./browser_patches/prepare_checkout.sh ff-stable
  ```
- rebaseline your feature branch atop of stable:
  ```sh
  $ cd ./browser_patches/firefox/checkout
  $ git checkout my-feature
  $ git rebase -i playwright-build
  ```
- make sure firefox-stable compiles:
  ```sh
  $ ./browser_patches/firefox-stable/build.sh
  ```
- export firefox-stable:
  ```sh
  $ ./browser_patches/export.sh ff-stable
  ```
2021-05-04 17:46:24 -07:00
Dmitry Gozman 5c5196104e
browser(firefox-stable): cherry pick recent changes from browser_patches/firefox (#6409) 2021-05-04 17:01:48 -07:00
Pavel Feldman fc9454eb76
browser(webkit): implement screencast (#6404) 2021-05-04 12:57:03 -07:00
Andrey Lushnikov 5326f39021
browser(chromium): build 878941 that reverts shader changes (#6407) 2021-05-04 11:51:45 -07:00
Joel Einbinder 1a58281394
browser(firefox): don't record video outside the viewport (#6361) 2021-05-04 05:33:32 -07:00
Andrey Lushnikov 4e0e13cf05
browser(firefox-beta): roll Firefox to beta 89.0b8 - May 2, 2021 (#6397) 2021-05-04 00:45:07 -07:00
Andrey Lushnikov fd4253991f
devops: fix swiftshader on Chromium Windows (#6391)
References #6390
2021-05-03 11:25:01 -07:00
Andrey Lushnikov 6c04b82256
browser(firefox-beta): roll @ beta Apr 29, 2021 - v89.0b6 (#6368) 2021-04-29 16:37:45 -07:00
Yury Semikhatsky 0abcaf02c8
browser(webkit): roll to safari-612.1.12-branch (#6367) 2021-04-29 15:46:22 -07:00
Yury Semikhatsky b0fae0f831
browser(firefox): merge FrameData into Frame (#6365) 2021-04-29 15:09:10 -07:00
Yury Semikhatsky 3b1bfdff48
devops(chromium): build a new Chromium 876873 (#6349) 2021-04-28 10:19:07 -07:00
Yury Semikhatsky 0039b313b8
browser(webkit): support downloads larger than 16Kb on Windows (#6343) 2021-04-27 16:21:23 -07:00
Yury Semikhatsky 83480850d3
browser(webkit): preserve color scheme override after navigation (#6333) 2021-04-26 16:23:07 -07:00
Andrey Lushnikov f4b8c3a848
browser(firefox): disable proton UI for now (#6327)
The new Proton UI breaks certain screencast tests. Disable
this for now.
2021-04-26 10:59:12 -07:00
Dmitry Gozman 10c76ff56f
browser(firefox): fix race between idleTasksFinishedPromise and window closure (#6308) 2021-04-23 16:05:37 -07:00
Andrey Lushnikov 83758fa48c
devops: add swiftshader DLL to chromium archive (#6305) 2021-04-23 14:36:45 -07:00
Andrey Lushnikov 531bf4dc19
browser(chromium): roll Chromium to new Dev (#6283) 2021-04-22 17:38:53 -07:00
Joel Einbinder f9478b124f
browser(webkit): fix compilation for drag drop and duplicated macro (#6278) 2021-04-22 17:05:17 -07:00
Yury Semikhatsky 2755d5e37d
browser(webkit): fix timezone override on Windows (#6277) 2021-04-22 16:10:12 -07:00
Andrey Lushnikov 111e55992e
devops: roll Chromium to r871980 (#6275)
NOTE: this is a non-dev revision. We roll to it to make sure
that swiftshader issues are fixed now.

See https://crbug.com/1200964
2021-04-22 15:03:48 -07:00
Andrey Lushnikov 59d1d2df2f
devops: add swiftshader file to Chromium builds (#6274)
See https://chromium-review.googlesource.com/c/chromium/src/+/2845811
2021-04-22 14:55:53 -07:00
Yury Semikhatsky 34e03fc77d
browser(webkit): roll to 04-21 (#6257) 2021-04-21 13:00:36 -07:00
Andrey Lushnikov faf39a23ac
devops: fix firefox-stable roll build (#6255) 2021-04-20 16:55:35 -07:00
Andrey Lushnikov 4dd8a1c8f1
browser(firefox-stable): roll to Firefox 88.0 (#6249) 2021-04-20 13:46:46 -07:00
Andrey Lushnikov 09c35adbd5
browser(firefox): roll firefox-beta to Apr 20, 2021 - version 89.0b2 (#6247) 2021-04-20 13:27:57 -07:00
Joel Einbinder ce0098d9eb
devops(chromium): build a new Chromium Dev 870763 (#6203) 2021-04-15 11:58:09 -07:00
Yury Semikhatsky 96cee43861
browser(webkit): roll to safari-612.1.11-branch (#6185) 2021-04-12 12:38:11 -07:00
Andrey Lushnikov 82e8c7226d
devops: fix firefox-stable build script (#6175)
The old mach used `--no-interactive` flag at a different place.
2021-04-09 22:36:24 -07:00
Andrey Lushnikov 17c6406e6c
devops: add firefox-stable channel browser (#6173)
This adds a firefox-stable application to build on our bots.
This is basically a rebaselined version of 66541552d0

The firefox base revision is bb9bf7e886
Which is taken from `about://buildconfig` of a stable Firefox version
on Mac as of Apr 9, 2021.

References #5993
2021-04-09 22:13:19 -07:00
Ross Wollman 957abc49e9
devops(chromium): build a new Chromium Dev 869727 (#6149) 2021-04-09 11:54:14 -07:00
Yury Semikhatsky 5fe3ee13f0
browser(webkit): fix assertion unsafe to ref/deref from different threads (#6163) 2021-04-09 11:36:01 -07:00
Yury Semikhatsky bd0043b8cb
browser(webkit): keep browser process running when all windows closed (#6131) 2021-04-07 19:13:20 -07:00
Yury Semikhatsky d6c415749a
browser(webkit): fix curl compilation (#6115) 2021-04-06 22:24:14 -07:00
Andrey Lushnikov 4bec81b111
browser(firefox): roll Firefox to beta @ Apr 6, 2021 (#6111) 2021-04-06 17:25:18 -07:00
Yury Semikhatsky fb7c703157
browser(webkit): roll to 06-04-21 (#6106) 2021-04-06 14:56:03 -07:00
Andrey Lushnikov 2c6c816a41
devops: add firefox-ubuntu-20.04 as expected build (#6063) 2021-04-02 21:37:12 -07:00
Andrey Lushnikov 5a1974ccad
devops(chromium): build a new Chromium Dev 867878 (#6061) 2021-04-02 16:08:17 -07:00
Andrey Lushnikov 46949cd2df
devops: start doing separate builds for Firefox @ Ubuntu 20.04 (#6058)
This will fix webgl issues with headful firefox on Ubuntu 20.04

See
https://github.com/microsoft/playwright/pull/5951#issuecomment-8125735670
2021-04-02 14:16:25 -07:00
Joel Einbinder 2357f0b562
browser(firefox): fix bootstrap on bots with --no-interactive (#6047)
The command --no-interactive moved and broke our build. See https://bugzilla.mozilla.org/show_bug.cgi?id=1695272
2021-04-02 07:52:42 -07:00
Andrey Lushnikov d662eba86a
browser(firefox): roll Firefox to beta @ Apr 1, 2021 (#6041)
Merging conflicts:
038f367c30

After this roll, we no longer require our custom `onFrameLocationChanged` instrumentation
since gecko now fixed the `NOTIFY_LOCATION` behavior so that it works
for same-document navigations inside iframes.
2021-04-01 16:49:01 -07:00
Dmitry Gozman 66541552d0
browser(firefox): make dpr emulation optional, take screenshots at 1x (#5555)
- deviceScaleFactor is now optional, so we can use host machine's dpr.
- Screenshots are not scaled up by dpr.
- Removed unused methods.
2021-04-01 14:51:02 -07:00
Joel Einbinder d71c147af7
browser(firefox): fix some missing mac edit commands (#6034) 2021-04-01 11:27:44 -07:00
Andrey Lushnikov cb15603ccb
browser(firefox): do not report console messages twice. (#6031)
References #6001
2021-04-01 09:29:33 -07:00
Dmitry Gozman 9b2e4ebf73
browser(webkit): make dpr emulation optional, take screenshots at 1x (#5557)
- deviceScaleFactor is now optional, so we can use host machine's dpr.
- Screenshots are not scaled up by dpr.
2021-03-31 21:37:54 -07:00
Pavel Feldman 2f5bf04f51 browser(webkit): fix double deref 2021-03-31 00:12:11 -07:00
Pavel Feldman 3455c3265f browser(webkit): restore occlusion detection disabled 2021-03-30 23:52:11 -07:00
Yury Semikhatsky 93d532b5e1
browser(webkit): fix windows compilation (#6011) 2021-03-30 14:42:23 -07:00
Yury Semikhatsky 97955247a2
browser(webkit): roll to safari-612.1.9-branch (#6002) 2021-03-30 11:29:37 -07:00
Yury Semikhatsky 94252231f0
fix(devops): include libANGLE-shared.dylib into mac archive (#6004) 2021-03-30 11:29:03 -07:00
Yury Semikhatsky 0d3d27d3ee
browser(webkit): trigger new build after updating cleanup script (#5997) 2021-03-29 23:55:07 -07:00
Yury Semikhatsky 9473f39b0b
fix(devops): cleanup now removes entire webkit build dir on mac (#5996) 2021-03-29 23:48:34 -07:00
Ross Wollman 6d6f802e5a
fix: favicon with color pref crashes firefox (#5977) (#5979) 2021-03-29 14:53:18 -07:00
Pavel Feldman 4cf0568ad7
browser(webkit): support safe area insets (#5987) 2021-03-29 11:38:26 -07:00
Yury Semikhatsky 2cce8850b7
browser(webkit): roll to safari-612.1.8-branch (#5965) 2021-03-26 11:54:55 -07:00
Pavel Feldman 6c1d3f65b5
browser(webkit): refresh embedder UI on macOS (#5957) 2021-03-26 09:44:31 -07:00
Yury Semikhatsky 5872d0407a
browser(chromium): build current dev chromium (865012) (#5950) 2021-03-25 09:31:41 -07:00
Yury Semikhatsky 7d7e5ede84
browser(webkit): roll back to safari-612.1.7-branch first commit (#5920) 2021-03-23 13:45:42 -07:00
Andrey Lushnikov 172de4082a
browser(chromium): build current dev chromium (#5911) 2021-03-22 17:38:28 -07:00
Yury Semikhatsky b74af2269f
browser(webkit): fix mac compilation after latest roll (#5909) 2021-03-22 14:34:58 -07:00
Yury Semikhatsky 6dd4d756dc
browser(webkit): roll to 03-22-21 (#5903) 2021-03-22 11:22:56 -07:00
Andrey Lushnikov 1fab84577a
browser(firefox): roll Firefox to beta @ Mar 16, 2021 (#5852) 2021-03-17 00:46:02 -07:00
Andrey Lushnikov 8dc740570a
devops: refactor check_cdn.sh script (#5835)
Introduce `EXPECTED_BUILDS` list in each application folder and use
these lists when determining if all builds are ready.
2021-03-16 01:14:45 -07:00
Andrey Lushnikov e64f66685a
devops: fork webkit into a separate browser (#5834)
Official WebKit no longer supports Mac 10.14. However, since
this system is still very much in use, we want to be able to
keep it running for a while.

This patch adds a new browser that we would compile and maintain
specifically for Mac 10.14: `deprecated-webkit-mac-10.14`. This
browser is a clone of Webkit r1443 that is the last known revision
to compile on Mac 10.14.

As we move on, we're free to modify this browser however we want,
backporting important patches.

References #5833
2021-03-16 01:08:21 -07:00
Andrey Lushnikov 8565e72e63
chore: consolidate browser cheatsheets (#5832) 2021-03-15 17:54:25 -07:00
Yury Semikhatsky 5835c7e537
browser(webkit): fix linux builds, install liblcms2-dev (#5831) 2021-03-15 17:01:51 -07:00
Yury Semikhatsky 226bee01f0
browser(webkit): roll to 03-15-21 (#5828) 2021-03-15 15:33:24 -07:00
Yury Semikhatsky bc3a0fb9bd
browser(webkit): roll to 03-08-21 (#5754) 2021-03-08 11:04:18 -08:00
Joel Einbinder e56f56c11e
browser(firefox): pass null for the data transfer (#5723) 2021-03-04 17:20:45 -08:00
Dmitry Gozman 5903e771da
browser(chromium): roll to 857950 (#5709) 2021-03-03 13:19:57 -08:00
Andrey Lushnikov 28d9f244df
browser(firefox): roll Firefox to Beta @ Feb 28, 2021 (#5659)
Diff merges:
498eaa7a87

Additional changes:
8404fbe1ad
2021-03-02 18:52:19 -08:00
Dmitry Gozman f2a3d21a75
browser(chromium): roll to 858453 (#5670) 2021-03-01 16:33:19 -08:00
Yury Semikhatsky 01abeac43e
browser(webkit): roll to 03/2 (#5656) 2021-03-01 09:59:55 -08:00
Pavel Feldman 8906ba332c
chore: spell overridden (#5605) 2021-02-24 15:11:34 -08:00
Yury Semikhatsky 11d3eb6bfe
browser(webkit): fix mac compilation take 2 (#5567) 2021-02-23 16:03:33 -08:00
Joel Einbinder e677e7ba4e
browser(firefox): pass drag action test (#5560) 2021-02-23 15:21:29 -08:00
Yury Semikhatsky df4b98464f
browser(webkit): fix mac compilation (#5564) 2021-02-23 14:49:28 -08:00
Yury Semikhatsky 4ae4c3cb01
browser(webkit): fix response.requestHeaders instrumentation in libsoup after latest roll (#5549) 2021-02-22 14:26:08 -08:00
Yury Semikhatsky 8316f41030
browser(webkit): roll to 02-22 (#5547) 2021-02-22 12:47:55 -08:00
Andrey Lushnikov a891becfba
chore: remove //browser_patches/buildbots folder (#5535)
Since we migrated all our builders/testers to the GitHub self-hosted
runners, we no longer need scripts to operate our own bots.
2021-02-22 09:09:19 -08:00
Andrey Lushnikov eb3efb3089
fix: do not ship broken symlinks in webkit for mac (#5512)
Since we don't ship things like WebKitPluginAgent, we can
safely remove all the symlinks that point to the missing targets.

Fixes #5472
2021-02-19 21:31:33 -08:00
Andrey Lushnikov 496aeeba79
browser(firefox): follow-up with crash reporter disabling (#5534)
Since we now disable crash reporter compilation and don't ship it
with Firefox anymore, we should not attempt to disable it
with preferences.
2021-02-19 21:30:50 -08:00
Andrey Lushnikov f10d0a8a58
devops: do not create non-removable folders on windows (#5533)
This fixes a bug where the script was creating a folder with a new line
symbol in its name. As a result, Windows was failing to remove  this
folder, and Chromium Windows BuildBot was failing to even initialize
checkout.
2021-02-19 20:18:23 -08:00
Dmitry Gozman d6ac3e6883
browser(webkit): honor Set-Cookie header from intercepted requests (mac) (#5529) 2021-02-19 16:28:54 -08:00
Andrey Lushnikov e2a935b3d6
devops: fix nits in browser compilation infrastructure (#5526)
This patch:
- makes sure that failed runs actually show as failed in GHA
- attempts to use MINGW's `du` and `awk` to get upload size
2021-02-19 14:43:27 -08:00
Andrey Lushnikov c57f1fc390
devops(chromium): missing depot tools in prepare_checkout.sh script (#5525)
Make sure `prepare_checkout.sh` has depot_tools in its PATH.

Drive-by: enable goma compiler proxy auto-restart.
2021-02-19 14:23:09 -08:00
Andrey Lushnikov bba9fabfe3
browser(firefox): roll Firefox to beta @ Feb 19, 2021 (#5521) 2021-02-19 13:11:05 -08:00
Andrey Lushnikov 7ed1d88567
browser(chromium): build Chromium Dev revision (#5522) 2021-02-19 13:10:50 -08:00
Andrey Lushnikov 18ce95632f
devops: fix firefox build (#5516) 2021-02-19 10:52:12 -08:00
Andrey Lushnikov b2d9af5e15
browser(firefox): properly initialize debugging pipe on windows (#5514)
browser(firefox): properly initialize debugging pipe on windows

Firefox on Windows has 2 launch modes:
- default: a special "launcher process" is used to start browser as a
  sub-process
- non-default: browser process starts right away

Firefox has a logic to detect how successful was the use of the
launcher process to do self-recovery when things go wrong. Namely:
- when attempting to use launcher process, firefox records a timestamp
  of the attempt beginning
- once the launcher process successfully launches browser sub-process,
  firefox records another timestamp of the completion

On a new launch, firefox checks what timestamps are present. If there's
a timestamp that signifies start of launcher process, but no successful
timestamp, it decides that last "launcher process" use was not
successful and falls back to launching browser right away.

When launching 2 firefox processes right away, the first process
uses attempts to use launcher process and records the first timestamp.

At the same time, the second instance sees the first timestamp and
doesn't see the second timestamp, and falls back to launching browser
right away. Our debugging pipe code, however, does not support
non-launcher-process code path.

This patch adds support for remote debugging pipe in case of
non-launcher-process startup.

Drive-by:
- disable crashreporter altogether
- remove stray dcheck that breaks firefox debug compilation
- disable compilation of firefox update agent
- do not use WIN32_DISTRIB flag unless doing full builds since
  it kills incremental compilation


References #4660
2021-02-19 10:32:47 -08:00
Joel Einbinder 846fd71121
browser(webkit): fix scrolling in mobile viewports (#5497) 2021-02-18 13:29:17 -08:00
Andrey Lushnikov 8c18b90038
devops: refactor chromium automation scripts (#5486)
Split preparing checkout, archiving and compiling into separate
scripts similarly how we do it with other browsers.
2021-02-17 14:43:19 -08:00
Andrey Lushnikov 4f1d84d6b9
browser(webkit): respect download attribute (#5474)
References #5396
2021-02-16 10:22:19 -08:00
Andrey Lushnikov 027f2ba9e1 devops: enable goma.sh debugging info 2021-02-16 09:34:26 -07:00
Dmitry Gozman 822f7cb1eb
browser(firefox): respect Set-Cookie header from fulfilled request (#5456) 2021-02-15 22:49:57 -08:00
Andrey Lushnikov 2a40d8ec8e
devops: fix goma startup and shutdown (#5447)
Turns out goma scripts have to be called from goma directory.
2021-02-12 11:01:49 -08:00
Andrey Lushnikov 8500592326
devops: fix post-checkout cleanup on windows (#5438)
Turns out empty trailing space in array in bash results in a file
in windows that it fails to remove while during cleanup.
2021-02-12 01:48:11 -08:00
Andrey Lushnikov 539942c803 devops: empty commit to test internal tests 2021-02-12 02:21:39 -07:00
Andrey Lushnikov 2ac93f0a8b devops: another attempt to trigger internal tests (empty commit) 2021-02-12 02:07:22 -07:00
Andrey Lushnikov 17b792bcf5 devops: attempt to trigger internal tests (empty commit) 2021-02-12 02:05:45 -07:00
Andrey Lushnikov f2a31ad8c5
browser(chromium): build Chromium Dev revision as of Feb 12 (#5435) 2021-02-12 00:32:57 -08:00
Andrey Lushnikov a42c46b986
browser(firefox): roll Firefox to beta @ Feb 11, 2021 (#5421) 2021-02-11 14:15:26 -08:00
Andrey Lushnikov 44ff8b518b
devops: fix win archiving logic (#5420)
One can't use "for-of" iteration over bash arrays if values
contain strings :(
2021-02-11 08:18:05 -08:00
Andrey Lushnikov 206432cefd devops: fix goma startup on windows 2021-02-09 11:00:53 -07:00
Andrey Lushnikov db633c4491 devops: fix args.gn syntax with goma 2021-02-09 10:11:03 -07:00
Andrey Lushnikov 32d62a5c2d
devops: fix goma path on windows (#5381)
Convert unix path to win path when running GOMA on windows.
2021-02-09 09:06:50 -08:00
Andrey Lushnikov 909544907c
devops: rename env variable (#5379)
goma searches for all `GOMA_*` env variables and fails if it doesn't
understand any.

To avoid this, rename our `GOMA_LOGIN_COOKIE` env variable into a
`PLAYWRIGHT_GOMA_LOGIN_COOKIE`.
2021-02-09 08:56:29 -08:00
Andrey Lushnikov d5a51a25b0
devops: fix chromium-win build (#5378)
- add missing build targets
- do not copy *.pdb files in folders
2021-02-09 08:49:59 -08:00
Andrey Lushnikov ad557dc6da
devops: introduce goma infrastructure for Chromium builds (#5377)
This patch adds `//browser_patches/chromium/goma.sh` script that
manages goma to build chromium.
2021-02-09 08:33:39 -08:00
Andrey Lushnikov 21c24c2357
devops: do not check for logs existance when building browsers (#5367)
In our *old world*, browser buildbots were polling repo and were
trying to rebuild browsers every 5 minutes. They relied on the presence
of either build or build log on the CDN to avoid continiously
re-building.

In the new world, we trigger builds only when we change the
`BUILD_NUMBER` files, so there's no polling any more.

This patch removes the check for log presence so that those builds that
were failing due to misconfiguration (e.g. Visual Studio license
required updated) could be restarted just from the GitHub UI.
2021-02-08 16:19:37 -08:00
Yury Semikhatsky 551338e953
browser(webkit): roll to 02-08 (#5356) 2021-02-08 11:00:05 -08:00
Andrey Lushnikov 3c657cbae6
browser(chromium): roll to r851527 (#5348) 2021-02-08 01:03:30 -08:00
Andrey Lushnikov f3a5bba2c4
devops: infra to automate chromium builds (#5347) 2021-02-07 23:54:10 -08:00
Joel Einbinder d1aad632ee
browser(webkit): fix scrolling a second time on linux (#5173) 2021-02-04 12:12:04 -08:00
Andrey Lushnikov d851bcead7
devops: bundle ffmpeg license file with our archives (#5301)
References #5278
2021-02-03 19:36:10 -08:00
Yury Semikhatsky 509c3e91b4
browser(webkit): fix ubuntu 18 compilation (#5294) 2021-02-03 15:54:54 -08:00
Andrey Lushnikov bbfbb1b2f7
browser(firefox): fix build on Windows (#5275) 2021-02-03 09:50:35 -08:00
Yury Semikhatsky 9d72d6b625
browser(webkit): roll to 02-03-21 (#5277) 2021-02-03 09:17:21 -08:00
Andrey Lushnikov 985dd5666f devops(chromium): fix chromium linux build 2021-02-03 07:35:29 -07:00
Andrey Lushnikov 8d4dc600f8 devops(firefox): properly cleanup old node.js artifact 2021-02-02 23:59:33 -07:00
Andrey Lushnikov 986bddaecc devops(firefox): fix arm build dependency management 2021-02-02 23:03:54 -07:00
Andrey Lushnikov 11f570be61
devops(firefox): fix Firefox on Apple Silicon (#5272)
As per guide at https://docs.google.com/document/d/1N5yfEVEISofMmjAxfj3xXONGwyQYBSilsfXqux_M6TM/edit
2021-02-02 21:53:23 -08:00
Andrey Lushnikov b392c57a53
devops: attempt to install Firefox build deps on buildbots (#5271) 2021-02-02 21:35:12 -08:00
Yury Semikhatsky 1ffd654d63
browser(webkit): roll to 02-02-21 (#5263) 2021-02-02 15:20:35 -08:00
Andrey Lushnikov e53c9c35db
browser(firefox): roll Firefox to beta @ Feb, 1 2021 (#5248) 2021-02-01 15:50:11 -08:00
Andrey Lushnikov 7b5363198b
devops: fix chromium build on Intel MacBook (#5242) 2021-02-01 09:30:04 -08:00
Joel Einbinder fc405ee8b2
browser(webkit): mac drag and drop (#4994) 2021-02-01 03:30:31 -08:00
Andrey Lushnikov 01bddcd171 devops(chromium): account for terminated / interrupted jobs 2021-01-28 13:15:23 +03:00
Andrey Lushnikov c9fae65400 devops: fix chromium checkout 2021-01-28 12:56:45 +03:00
Andrey Lushnikov 75a0d7a76b
devops(chromium): install depot_tools if missing (#5204) 2021-01-28 01:43:54 -08:00
Andrey Lushnikov a7eea9ffdc
browser(chromium): roll Chromium to r846621 (#5203)
This roll should test Chromium compilation for Mac x86_64 and Linux.
2021-01-28 01:19:00 -08:00
Andrey Lushnikov 51d90c593b
devops: support Chromium mac compilation (#5202) 2021-01-28 01:14:44 -08:00
Andrey Lushnikov b323018881
devops: fetch chromium checkout if it has not been before (#5169)
Checkouts should reside outside of gihtub action working directory
so will be reused between builds.
2021-01-28 00:20:19 -08:00
Andrey Lushnikov 90bc837e55
devops: start compiling Chromium on Linux (#5166) 2021-01-27 08:42:35 -08:00
Dmitry Gozman 77b5f05ef7
browser(webkit): fix scrollIntoViewIfNeeded (#5146)
Last change mistakenly used alignCenterIfNotVisible,
while we should use alignCenterIfNeeded to ensure scrolling
into view when partially visible.
2021-01-25 14:02:16 -08:00
Yury Semikhatsky 7d2293c6ed
browser(webkit): roll to 01-25 (#5141) 2021-01-25 11:27:08 -08:00
Yury Semikhatsky 680689d075
browser(webkit): try to fix Ubuntu 18 build (#5119) 2021-01-22 16:10:01 -08:00
Andrey Lushnikov b88afe5877
devops: fix chromium for arm build (#5117) 2021-01-23 02:23:59 +03:00
Andrey Lushnikov 546454095e
devops: attempt to fix chromium-mac-arm64 build (#5107)
It looks like gn generation should use correct xcode version as well.
2021-01-22 15:47:24 +03:00
Andrey Lushnikov 2f29c6b066
browser(firefox): roll Firefox to beta Jan, 18 2021 (#5106) 2021-01-22 12:41:12 +03:00
Andrey Lushnikov 2096f4248a
devops: fix chromium compilation step (#5102) 2021-01-22 11:31:26 +03:00
Andrey Lushnikov ff75073cc8
devops: automation to compile chromium for mac arm64 (#5101)
References #5067
2021-01-22 11:27:40 +03:00
Dmitry Gozman a7d33b2fec
browser(chromium): roll to 845618 (#5094) 2021-01-21 17:23:19 -08:00
Dmitry Gozman 05568f7420
browser(webkit): change scrollIntoView to only scroll if needed (#5079) 2021-01-20 21:06:29 -08:00
Yury Semikhatsky 449bcdcbf9
browser(webkit): roll to 01-19 (#5064) 2021-01-19 23:18:05 -08:00
Dmitry Gozman d05c091768
chore: roll chromium to 844399 (#5043) 2021-01-17 12:25:39 -08:00
Yury Semikhatsky fdfea2b765
browser(webkit): add another missing include to fix mac after roll to 01-15 (#5037) 2021-01-15 18:56:24 -08:00
Yury Semikhatsky 940cf35d84
browser(webkit): add missing include on mac after roll to 01-15 (#5033) 2021-01-15 14:43:48 -08:00
Yury Semikhatsky 0ab6a53212
browser(webkit): roll to 01-15 (#5032) 2021-01-15 12:53:05 -08:00
Pavel Feldman 19b58d47b1
chore: bump chromium to r843427 (#5022) 2021-01-14 15:37:09 -08:00
Andrey Lushnikov 7665a6ec7f
devops: support apple silicon builds of Firefox (#4979) 2021-01-12 03:57:59 +03:00
Joel Einbinder 36650b1e19
browser(webkit): fix compile on mac (#4977) 2021-01-11 14:30:06 -08:00
Yury Semikhatsky 56f012043b
browser(webkit): fix mac compilation after roll to 01-11 (#4972) 2021-01-11 11:30:54 -08:00
Yury Semikhatsky 62c52e8628
browser(webkit): roll to 01-11 (#4971) 2021-01-11 11:00:07 -08:00
Yury Semikhatsky 5854cadd0b
browser(webkit): fix typo in macro name (#4970) 2021-01-11 10:03:45 -08:00
Joel Einbinder cc1a79eceb
browser(webkit): drag and drop on windows (#4889) 2021-01-06 09:46:35 -08:00
Yury Semikhatsky 2908568f9a
browser(webkit): install new dependency required for openxr on linux (#4906) 2021-01-05 16:05:21 -08:00
Andrey Lushnikov 6b94f5f1b9
browser(firefox): roll Firefox to beta @ Jan 5, 2021 (#4904) 2021-01-06 02:49:28 +03:00
Yury Semikhatsky 5df1c6e560
browser(webkit): roll to 01-05 to pick up upstream Win fix (#4894) 2021-01-05 13:08:52 -08:00
Yury Semikhatsky 849a5b3795
browser(webkit): roll to 01-04 (#4882) 2021-01-05 09:13:13 -08:00
Yury Semikhatsky 3ff81fe172
browser(webkit): do run win build again if first attempt failed (#4881) 2021-01-04 13:40:56 -08:00
Yury Semikhatsky b0b1561c92
browser(webkit): kick off next build (#4878) 2021-01-04 11:01:43 -08:00
Yury Semikhatsky 736ef4e879
browser(webkit): call build.sh twice on Windows (#4875) 2021-01-04 10:49:46 -08:00
Joel Einbinder 75198f044d
browser(chromium): bump to r839741 (#4857)
References #4851
2020-12-30 09:36:14 -08:00
Dmitry Gozman ded2bc2396
browser(webkit): postpone creation of the first page (#4769)
When we create the first page in the default context in headless mode on mac,
it gets NSWindow that is "not visible". Although we call [window setIsVisible:YES],
later on window.isVisible still returns NO.

We create our offscreen "headless" NSWindow directly from applicationDidFinishLaunching:.
Experiments show that delaying this by 100ms makes everything work. As a symptom,
we get applicationDidUnhide: notification that does not happen when we create the window
immediately.

Perhaps, we create the window too early, and there is some essential initialization
that happens after applicationDidFinishLaunching:. However, if we call
[NSApp activateIgnoringOtherApps:YES] like we do in headful mode, everything works.

The only solution that worked so far is creating the first page after a timeout.
2020-12-29 13:49:39 -08:00
Joel Einbinder e7ee426202
yury comments (#4639) 2020-12-23 08:04:59 -08:00
Yury Semikhatsky 73edf13ad6
browser(webkit): roll to 12-21 (#4794) 2020-12-21 16:07:45 -08:00
Yury Semikhatsky b3e7838582
browser(firefox): clear AuthCache when setting context proxy (#4793) 2020-12-21 15:54:15 -08:00
Andrey Lushnikov 761bd78879
browser(firefox): fix build on MacOS (#4758) 2020-12-17 21:02:01 -08:00
Andrey Lushnikov b56dd7deb1
devops: kick ffmpeg build (#4757)
Try building ffmpeg on github self-hosted runner
2020-12-17 18:30:04 -08:00
Yury Semikhatsky e4658ea9c0
browser(webkit): base64 encode request.postData (#4743) 2020-12-16 14:35:05 -08:00
Yury Semikhatsky 94f5002ae4
browser(webkit): install patchelf (required by generate-bundle) (#4741) 2020-12-16 12:53:28 -08:00
Yury Semikhatsky b014fa1855
browser(webkit): roll to 12-16 (#4739) 2020-12-16 09:19:27 -08:00
Yury Semikhatsky 50b0b47993
browser(webkit): mac build fix after roll to 12-15 (#4733) 2020-12-15 23:07:34 -08:00
Andrey Lushnikov 0af34a4f0b
devops: firefox build now requires newer MacOS SDK to build against (#4732) 2020-12-15 16:27:34 -08:00
Yury Semikhatsky eecb798356
browser(webkit): roll to 12-15 (#4727) 2020-12-15 13:00:49 -08:00
Andrey Lushnikov 5f6ccee742
browser(firefox): roll Firefox to beta Dec 14, 2020 (#4716)
Merge conflicts: 57ba98733f
2020-12-14 15:28:48 -08:00
Andrey Lushnikov b486e840ad
devops: revert ability to skip architecture enforcement (#4667) 2020-12-10 08:43:42 -08:00
Andrey Lushnikov add7ce7ffc devops: fix buildbot mac m1 name 2020-12-08 23:51:22 -06:00
Andrey Lushnikov c36af734f5
devops: add old-fashioned scripts to run Mac M1 buildbot (#4649)
Even though we're undergoing migration to GitHub self-hosted runners,
they don't currently support running natively under Arm. The resulting build ends up to be
x86_64.

See https://github.com/actions/runner/issues/805
2020-12-08 20:15:37 -08:00
Andrey Lushnikov 93c362de1b
devops: fix architecture enforcement (#4645) 2020-12-08 18:45:45 -08:00
Andrey Lushnikov 6d3278f1eb
devops: add ability to skip architecture enforcement (#4644)
Github self-hosted runners currently run under rosetta:
https://github.com/actions/runner/issues/805

This patch is an attempt to build arm webkit from-inside rosetta
shell on arm hardware.
2020-12-08 18:31:58 -08:00
Andrey Lushnikov dd9c312b77
devops: start producing WebKit builds for Apple Silicon (#4643)
\m/
2020-12-08 17:15:44 -08:00
Andrey Lushnikov 64a2940a0d
devops: fix webkit archiving (#4642)
Protocol concatenation script did not account for `WK_CHECKOUT_PATH`.
2020-12-08 16:32:45 -08:00
Andrey Lushnikov 17f1b20f39
devops: trigger all builds with new windows buildbot (#4638) 2020-12-08 11:03:11 -08:00
Andrey Lushnikov c1dcef39a3
devops(windows): fix vswhere location (#4636)
%PROGRAMFILES% locations depends on shell bitness; we're migrating from
mingw32 to mingw64.
2020-12-08 10:27:05 -08:00
Dmitry Gozman 99b98d62a6
browser(webkit): do not spam stderr with screencast debug logs (#4635) 2020-12-08 09:59:57 -08:00
Dmitry Gozman e1e000d264
browser(firefox): do not spam stderr with screencast logs (#4630) 2020-12-08 09:30:34 -08:00
Andrey Lushnikov 73982834e7
devops: absolute paths for webkit libraries and output directory (#4627) 2020-12-07 14:30:06 -08:00
Dmitry Gozman e8dcd8767f
browser(chromium): build 833159 (#4623) 2020-12-07 10:58:07 -08:00
Andrey Lushnikov e75ebc1752
browser(firefox): roll Firefox to Dec, 7 2020 (#4622) 2020-12-07 10:27:50 -08:00
Yury Semikhatsky 4be41f2571
browser(webkit): build fix, switch to the new download API (#4621) 2020-12-07 10:10:32 -08:00
Andrey Lushnikov d8520f0695
devops: fix webkit building on windows (#4618) 2020-12-07 09:21:36 -08:00
Andrey Lushnikov 13e2ef1d10
devops: suppport WK_CHECKOUT_PATH variable (#4617)
`WK_CHECKOUT_PATH` defines location of webkit checkout on the
file system. All browser-related scripts, like `prepare_checkout.sh` and
`export.sh` respect this environment variable on all platforms.
2020-12-07 08:42:20 -08:00
Andrey Lushnikov 6fe7d9c19f
devops: support FF_CHECKOUT_PATH to customize browser checkout (#4607)
**Preamble**

1. We're trying to setup a windows-based github self-hosted runner in the
  playwright-internal repo.
1. Commands on Windows are mandated to have total arguments length
  less then 32767 characters.
1. On windows, github self-hosted runner framework puts repository
checkout at `c:\w\playwright-internal\playwright-internal`
1. Our scripts create a checkout at
`c:\w\playwright-internal\playwright-internal\browser_patches\firefox\checkout`
1. One of the scripts in Firefox buildsystem tries to execute a command,
passing lots of absolute paths to various webidl's
1. The command fails due to restriction in (2)

**Problem**

Firefox build fails since checkout is deeply nested and hits max arg
size on windows.

**Solution**

This patch introduces a new variable `FF_CHECKOUT_PATH` that is
respected by all browser-related scripts. This way we'll be able
to checkout firefox to `c:\firefox` and avoid hitting long arguments
limit.
2020-12-04 18:46:20 -08:00
Yury Semikhatsky b6eb8e0a90
browser(webkit): fix mac build (#4605) 2020-12-04 17:45:18 -08:00
Yury Semikhatsky cdbc96ac3a
browser(webkit): roll to 12-04 (#4601) 2020-12-04 16:11:08 -08:00
Andrey Lushnikov 7dc386fa1a
browser(webkit): produce xcode 12.2 build on Mac 10.15 (#4599) 2020-12-04 11:49:07 -08:00
Andrey Lushnikov 8551fff43b
browser(firefox): disable cross-process navigation (#4594)
This disable cross-process navigation until we properly support it.

References #4297
2020-12-04 10:13:50 -08:00
Andrey Lushnikov 31e22dee50
devops(win): fix paths to vswhere.exe in 64-bit shells (#4577)
The `$PROGRAMFILES` variable is defined per the bitness of the
application: 32-bit shells get `C:\Program Files (x86)`, whereas
64-bit shells get `C:\Program Files`.

Visual Studio, however, has only 32-bit build and is always located in
the `C:\Program Files (x86)` folder.

This patch fixes `//browser_patches/firefox/build.sh` on 64-bit windows
shell.
2020-12-03 08:09:05 -08:00
Dmitry Gozman e8419f85b6
browser(firefox): support alertCheck and confirmCheck dialogs (#4553)
These are shown with "prevent this page from showing more dialogs" checkbox.
2020-11-30 20:05:15 -08:00
Yury Semikhatsky 512516c956
browser(webkit): retore changes from #4539 (#4544) 2020-11-30 10:49:27 -08:00
Yury Semikhatsky 8f70c95d6c
browser(webkit): roll to 11-30 (#4541) 2020-11-30 10:17:36 -08:00
Andrey Lushnikov 730f6f87a2
browser(firefox): roll Firefox to beta Nov 30, 2020 (#4542) 2020-11-30 10:17:03 -08:00
Joel Einbinder d96330bbec
browser(webkit): override availWidth with screen width (#4539) 2020-11-30 10:04:28 -08:00
Andrey Lushnikov 51865fe584
chore: bump WebKit build number to test self-hosted runners (#4525) 2020-11-25 08:38:23 -08:00
Joel Einbinder d06afadb8b
browser(firefox): send dragend after drop and survive navigations (#4506) 2020-11-25 03:47:34 -08:00
Andrey Lushnikov 17bec4f6f8
browser(firefox): rebaseline atop of Nov, 23 2020 (#4516) 2020-11-23 16:21:07 -08:00
Dmitry Gozman 14a96ca21f
browser(firefox): ensure detachedFromTarget is always sent (#4505)
browser(firefox): ensure detachedFromTarget is always sent

LinkedBrowser can throw when removing listeners in PageTarget.dispose,
and that prevents BrowserHandler from sending Browser.detachedFromTarget.

Using a try-catch seems good enough.
2020-11-20 10:48:06 -08:00
Pavel Feldman 95aab3b29d
browser(chromium): prepare r828656 (#4499) 2020-11-19 12:44:05 -08:00
Andrey Lushnikov 6bc45d9247
browser(firefox): browser.version() to return full version (#4491)
Currently, browser.version() returns `83.0`, whereas launching firefox
with `--version` flag returns `83.0b3`. This patch alings protocol's
`Browser.version()` with flag output.
2020-11-19 08:24:17 -08:00
Dmitry Gozman 1169c5ab50
browser(webkit): close on pipe disconnect (#4484) 2020-11-18 19:34:33 -08:00
Yury Semikhatsky a11be3e9ef
browser(webkit): roll to 11-18 (#4481) 2020-11-18 13:03:42 -08:00
Andrey Lushnikov cb1f2a38f3
browser(firefox): roll Firefox to Nov 17,2020 (#4477)
Changes accomodate touchEventsOverride that has moved to the
browser side.
2020-11-18 08:19:09 -08:00
Andrey Lushnikov 8860d6d11d
chore: try building webkit on github selfhosted runner (#4476) 2020-11-17 21:03:51 -08:00
Pavel Feldman fc0388813e
browser(chromium): pick 827102 for roll (#4460) 2020-11-16 16:43:37 -08:00
Pavel Feldman 79c592ed7d
browser(webkit): do not create unique page groups for pages (#4456) 2020-11-16 14:31:50 -08:00
Yury Semikhatsky 5509e98ba5
browser(webkit): fix mac build after latest roll (#4455) 2020-11-16 14:25:58 -08:00
Yury Semikhatsky 39fcf1bc54
browser(firefox): do not leak reponses (#4453) 2020-11-16 13:16:20 -08:00
Yury Semikhatsky bd76e9ddbf
browser(webkit): roll to 11-16 (#4451) 2020-11-16 13:02:55 -08:00
Dmitry Gozman 2f73a45e63
browser(chromium): roll to 827767 (#4452) 2020-11-16 12:43:56 -08:00
Joel Einbinder e91140e88c
browser(firefox): force a layout before dispatching a tap (#4428) 2020-11-16 11:07:06 -08:00
Yury Semikhatsky 0167f8c182
browser(firefox): allow to override request url (#4436) 2020-11-13 14:56:27 -08:00
Dmitry Gozman 2e65f78874
browser(firefox): close browser when pipe disconnects (#4437) 2020-11-13 14:51:40 -08:00
Dmitry Gozman 9e1b26f9f9
browser(webkit): close on pipe disconnect (#4421) 2020-11-13 10:02:37 -08:00
Yury Semikhatsky 8f7286175e
browser(webkit): roll to 11-12 (#4417) 2020-11-12 11:10:42 -08:00
Yury Semikhatsky 8488c296f9
browser(firefox): allow to override content-type along with post data (#4416) 2020-11-12 10:41:49 -08:00
Pavel Feldman d3135871e5
browser(chromium): fetch r825625 (#4406) 2020-11-11 12:45:01 -08:00
Yury Semikhatsky 508be0d78f
browser(webkit): fix big sur crashes after latest roll (#4391) 2020-11-09 22:29:52 -08:00
Yury Semikhatsky bd75fb1c55
browser(webkit): roll to 11-09 (#4384) 2020-11-09 11:30:12 -08:00
Dmitry Gozman ae738c1fac
browser(firefox): ignore WebProgress events coming from workers (#4380)
Somehow, we get WebProgress state changes when worker is loaded
with a blob url. This messes up frame navigation detection.

Luckily, it's easy to filter out non-document state changes.
2020-11-09 09:29:34 -08:00
Dmitry Gozman 06c8881dad
browser(firefox): fix videoSessionId (#4374)
PRIx8 produced "%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx%hx",
so video session ids were clashing between pages, and popup videos
did not work.
2020-11-06 15:08:03 -08:00
Joel Einbinder d4fb159154
browser(webkit): fix webcontent startup crash on macos 11 (#4370)
reverts #4357 and provides the real fix. Apple accidentally landed some code that will crash the web process if it is not signed by them. I'm sure they will figure it out once they get test bots for macos 11. But until then, we can just revert.

https://bugs.webkit.org/show_bug.cgi?id=218342
2020-11-06 11:11:19 -08:00
Andrey Lushnikov c522a0dfba
browser(firefox): force always active docshell (#4363)
This forces active docshell for all content processes.

References #4208
2020-11-05 17:53:22 -08:00
Yury Semikhatsky 49e4d9a347
browser(webkit): force rebuild with new redistributable dlls (#4364) 2020-11-05 17:51:28 -08:00
Yury Semikhatsky 040f9b04ca
browser(webkit): copy MS VC++ redistributable libs from VS installation (#4360) 2020-11-05 16:51:42 -08:00
Yury Semikhatsky aafcf932bc
browser(firefox): bundle VS C++ redistributable dlls (#4359) 2020-11-05 13:56:15 -08:00
Andrey Lushnikov bc20bfd4cc
browser(webkit): disable cache compiled sandbox (#4357)
This seems to be broken on BigSur.
2020-11-05 09:25:36 -08:00
Andrey Lushnikov b94a7c0e60
devops: speedup initial browser checkout (#4352)
Instead of checking out the whole repository, we now do a shallow
clone.

We then gradually "unshallow" the clone, looking for the `BASE_REVISION`.

This should fix experimental mac-11 builder.
2020-11-05 02:04:06 -08:00
Andrey Lushnikov 4d8ef423ba
devops: add instructions to build mac on BigSur (#4350) 2020-11-05 00:49:05 -08:00
Yury Semikhatsky 283bc2c7d0
devops: ensure that embedder directory does not exist (#4340)
Otherwise `cp -r from to` will copy content of `from` to a subdirectory in `to`
2020-11-04 11:20:47 -08:00
Andrey Lushnikov 5dc632b82e
chore: mirror Chromium 823944 to our cdn (#4339)
References #4021
2020-11-04 09:44:30 -08:00
Yury Semikhatsky 890add98fe
browser(webkit): do not hang on close when there is a dialog (#4332) 2020-11-03 18:58:57 -08:00
Yury Semikhatsky 031f0bf539
browser(webkit): fix mac build failure caused by touch events (#4330) 2020-11-03 16:21:42 -08:00
Yury Semikhatsky c6b4263e54
browser(webkit): fix timezone overrides after last roll (#4329) 2020-11-03 14:54:28 -08:00
Andrey Lushnikov 799604c085
browser(firefox): roll Firefox to beta @ Nov, 3 (#4327) 2020-11-03 14:51:37 -08:00
Pavel Feldman eae3d93a20
browser(webkit): fix proxy ignore pattern set on context level (#4328) 2020-11-03 14:28:04 -08:00
Yury Semikhatsky 0a9fdc4751
browser(webkit): roll to 11-03 (#4325) 2020-11-03 13:17:03 -08:00
Andrey Lushnikov e3b12b0a0d
browser(firefox): fix closing browser contexts with beforeunload (#4314)
References #4021
2020-11-02 17:29:54 -08:00
Andrey Lushnikov 2b495c9750
browser(firefox): fix SimpleChannel to await initialization (#4311)
As Joel noticed recently, MessageManager in firefox doesn't guarantee
message delivery if the opposite end hasn't been initialized yet. In
this case, message will be silently dropped on the ground.

To fix this, we establish a handshake in SimpleChannel to make sure that
both ends are initialized, end buffer outgoing messages until this
happens.

Drive-by: serialize dialog events to only deliver *after* the
`Page.ready` protocol event. Otherwise, we deliver dialog events to the
unreported page.
2020-11-02 16:21:34 -08:00
Dmitry Gozman 1255289098
browser(chromium): roll to 823078 (#4307) 2020-11-02 13:00:38 -08:00
Yury Semikhatsky 7ef1533cae
browser(webkit): one more mac build fix after last roll (#4298) 2020-10-30 16:15:53 -07:00
Yury Semikhatsky 3577e637c7
browser(webkit): mac build fix after last roll (#4296) 2020-10-30 14:47:53 -07:00
Yury Semikhatsky 5e50fe3d40
browser(webkit): roll to 10-30 (#4294) 2020-10-30 12:42:33 -07:00
Andrey Lushnikov 18c3efe79e
browser(firefox): instrument websockets (#4287) 2020-10-29 16:33:50 -07:00
Andrey Lushnikov c5d3490b34
browser(firefox): roll firefox to beta Oct, 28 (#4274) 2020-10-28 14:47:14 -07:00
Yury Semikhatsky 41d514dfde
browser(webkit): disable gamepad on GTK (#4264) 2020-10-27 16:43:26 -07:00
Pavel Feldman 00d6313f6d
browser(webkit): report raw request headers from didReceiveResponse (#4250) 2020-10-26 22:05:43 -07:00
Andrey Lushnikov b08d3dc9ff
devops: always ensure linux deps when building webkit (#4249) 2020-10-26 21:53:27 -07:00
Yury Semikhatsky 39637a4ab0
browser(webkit): build fix (#4247) 2020-10-26 18:52:25 -07:00
Yury Semikhatsky 1feb041086
browser(webkit): fix mac build after last roll (#4245) 2020-10-26 17:40:31 -07:00
Pavel Feldman c1a64eee02
browser(webkit): serialize set-cookie \n-separated (#4243) 2020-10-26 16:58:40 -07:00
Yury Semikhatsky 4b2a29e23d
browser(webkit): roll to 10-26 (#4241) 2020-10-26 13:00:15 -07:00
Pavel Feldman 437fe17825
browser(firefox): expose resource timing info (#4205) 2020-10-21 13:55:30 -07:00
Yury Semikhatsky 920ea85b99
fix(winldd): make linker set checksum to make antiviruses happy (#4197) 2020-10-20 13:59:44 -07:00
Yury Semikhatsky 092c9905e6
browser(firefox): fix screencast timescale precision (#4196) 2020-10-20 13:39:56 -07:00
Yury Semikhatsky 54e05ac83e
browser(webkit): fix screencast timescale precision (#4195) 2020-10-20 13:09:24 -07:00
Joel Einbinder bf491f12cf
browser(webkit): fix pointer media query on windows (#4176) 2020-10-19 10:08:02 -07:00
Yury Semikhatsky 92cde6cd06
browser(webkit): roll to 10-19 (#4177)
This should fix current build failure on Mac.

5e1333ea77 is necessary to fix the following compilation error:

CMake Error at Source/cmake/WebKitFeatures.cmake:21 (message):
  ENABLE_LEGACY_CSS_VENDOR_PREFIXES is not a valid WebKit option
Call Stack (most recent call first):
  Source/cmake/WebKitFeatures.cmake:40 (_ENSURE_IS_WEBKIT_OPTION)
  Source/cmake/OptionsWPE.cmake:89 (WEBKIT_OPTION_DEFAULT_PORT_VALUE)
  Source/cmake/WebKitCommon.cmake:58 (include)
  CMakeLists.txt:173 (include)
2020-10-19 09:17:24 -07:00
Joel Einbinder 347dd2403b
browser(webkit): fix pointer media query on mac (#4155) 2020-10-19 02:34:47 -07:00
Joel Einbinder 4f7d65fe9c
browser(firefox): report pageerrors without stack properties (#4166) 2020-10-19 02:23:53 -07:00
Pavel Feldman 26442c563c
browser(webkit): fix the datastore leak (#4163) 2020-10-16 08:14:59 -07:00
Joel Einbinder 305d209e82
browser(firefox): always send focus events (#4150) 2020-10-16 01:28:13 -07:00
Yury Semikhatsky 97cb51f3e9
browser(webkit): fix windows compilation after last roll (#4162) 2020-10-15 14:27:02 -07:00
Yury Semikhatsky 6fb6929e36
browser(webkit): roll to 10-15 (#4161) 2020-10-15 13:48:58 -07:00
Andrey Lushnikov 8f8bebb632
browser(firefox): roll Firefox to tip-of-tree Oct, 12 (#4158) 2020-10-15 09:51:21 -07:00
Joel Einbinder a61d07a8e9
browser(webkit): report correct pointer type to css (#3936) 2020-10-15 03:28:45 -07:00
Yury Semikhatsky 3c32c1683a
browser(firefox): use 16-byte long uid instead of ordinal as screencast id (#4147) 2020-10-14 16:14:24 -07:00
Joel Einbinder a169cb63f8
browser(webkit): fix mac compilation errors (#4139) 2020-10-14 10:35:45 -07:00
Joel Einbinder 8c6a2e197a
browser(webkit): Input.dispatchTapEvent (#4102) 2020-10-14 05:53:07 -07:00
Joel Einbinder a4474f6752
browser(firefox): Page.dispatchTapEvent (#4101) 2020-10-13 12:24:11 -07:00
Yury Semikhatsky 71c444c59f
browser(webkit): revert changes to WebAutomationSession.h (#4128) 2020-10-13 11:43:42 -07:00
Andrey Lushnikov 58285f6155
browser(firefox): await browser initialization when closing browser (#4121)
We try to avoid closing firefox too early, fearing that this
might terminate clean shutdown sequence.

Usually we assume that `Browser.enable` is called before `Browser.close`
- however, this is not the case in certain tests. So we have to
ensure browser initialization in `Browser.close` as well.

In my local tests, this fixes the Firefox Pipe problem: it looks like
we were closing browser too quickly.
2020-10-12 22:34:04 -07:00
Yury Semikhatsky b2f4fa914a
browser(webkit): pick process pool for service worker from correct context (#4116) 2020-10-12 15:39:49 -07:00
Yury Semikhatsky 5648eac063
browser(webkit): fix mac build after last roll (#4108) 2020-10-09 16:11:50 -07:00
Yury Semikhatsky db744e28ee
browser(webkit): roll to 10/08 (#4106) 2020-10-09 14:43:36 -07:00
Yury Semikhatsky b85ba62291
browser(webkit): actually fix mac compilation (#4105) 2020-10-09 13:06:25 -07:00
Yury Semikhatsky d6a198a9bb
browser(webkit): speculative build fix for Mac (#4104) 2020-10-09 11:13:02 -07:00
Yury Semikhatsky 8252eb7413
browser(webkit): roll to 09-27 (#4103) 2020-10-09 09:32:36 -07:00
Joel Einbinder e2f77455dd
browser(chromium): roll to 815036 (#4098) 2020-10-08 22:03:39 -07:00
Darío Kondratiuk ff295d10e6
fix(windows): fix dependencies check on windows (#4076) 2020-10-08 09:45:53 -07:00
Andrey Lushnikov 6a7d24469a
devops: fix firefox build (#4088)
New firefox build requires a pre-created python virtual environment.
We should detect it and create if necessary.

References #3995
2020-10-07 14:34:58 -07:00
Andrey Lushnikov 1ccce09a02
browser(firefox): roll Firefox to beta Oct 7, 2020 (#4087)
References #3995
2020-10-07 14:12:19 -07:00
Andrey Lushnikov 6beef551d9
browser(firefox): wait for search and addon manager initialization (#4081)
It looks like terminating browser when search service or addon manager is
not fully initialized results in a broken shutdown sequence. As of
today, this results in multiple errors in the browser STDERR. In future,
this might also result in browser stalling instead of terminating.

This starts awaiting search and addon manager termination.

References #3995
2020-10-07 10:24:16 -07:00
Andrey Lushnikov 3b4232864d
browser(firefox): a different way to emit 'load' event (#4080)
Using WebProgressListener events works in all cases. Currently
used `pageshow` event will stop being emitted in future when loading
was stopped with `window.stop()` api.

References #3995
2020-10-07 09:22:56 -07:00
Andrey Lushnikov e6869edf98
browser(firefox): fix typo in dispatcher teardown (#4069) 2020-10-06 12:06:50 -07:00
Andrey Lushnikov 4ab66a4fe5
browser(firefox): follow-up with assorted simplifications (#4066)
This patch:
- moves `SimpleChannel` to synchronously dispatch buffered commands
  instead of a `await Promise.resolve()` hack
- moves dialog & screencast handling from `PageHandler` to
  `TargetManager`. This leaves `PageHandler` to be concerned solely about
  protocol.
- removes `attach` and `detach` methods for worker channels: since
  channels are buffering messages until the namespace registers, there's
  no chance to loose any events.
- slightly simplifies `PageNetwork` class: it's lifetime is now
  identical to the lifetime of the associated `PageTarget`, so a lot can
  be simplified later on.

References #3995
2020-10-06 01:53:25 -07:00
Andrey Lushnikov c8a64b88e1
browser(firefox): enable document channel (#4065)
In the current tip-of-tree Firefox, document channel is enabled by
default, so we have to enable it in order to roll further.

This patch:
1. Removes content disposition sniffing from content process since it
   crashes renderer with document channel.
2. Merges all page-related handlers in a single `PageHandler` and
   serializes network events wrt the `Page.frameAttached` event.

The serialization mentioned in (2) is necessary: frame attachment is
reported from the content process, and network events are reported from
the browsers process. This is an inherent race, that becomes exposed by
the document channel.

On a side note, (2) makes it possible to synchronously report all
buffered events in `SimpleChannel` (cc offline discussion with @dgozman
that highlighted an unsighty approach that we currently employ there: reporting
events in a subsequent microtask.)

References #3995
2020-10-06 00:15:24 -07:00
Pavel Feldman 857abcfc10
browser(firefox): make pipe work on Windows (#4058) 2020-10-05 10:58:56 -07:00
Dmitry Gozman a7beaf657c
browser(chromium): roll to 813607 (#4052) 2020-10-05 04:23:35 -07:00
Dmitry Gozman 133de10a47
browser(firefox): start screencast in existing pages upon setScreencastOptions (#4045)
This makes it work in persistent context.

To achieve this, we have to move screencast logic into PageTarget and
make PageHandler listen to an event.
2020-10-02 17:16:49 -07:00
Andrey Lushnikov 2c11b10598
browser(firefox): remove multisession logic (#4039)
This patch:
1. Changes `SimpleChannel` to buffer messages to the namespace that
   hasn't been registered yet. This allows us to create `SimpleChannel`
   per target on the browser side right away.
2. Removes multisession support. Now there's only one `PageAgent` in the
   content process, which talks to a single `PageHandler` on the browser
   side. Both ends can be created as-soon-as-needed; thanks to
   `SimpleChannel` bufferring, no messages will be lost and all messages
   will be delivered in proper order. (This is currently the reason why
   build 1178 flakes on windows).
3. Straightens up the target reporting. Targets are reported as soon
   as they appear on the browser side.

**NOTE:** this doesn't yet remove sessions from protocol.

References #3995
2020-10-02 04:13:42 -07:00
Andrey Lushnikov b74a6b78ef
browser(firefox): do not double-attach session to the same target (#4027)
We currently might double-attach to the target in `BrowserHandler` since we iterate over all targets, and then subscribe to the additional event when target is getting initialized.

This patch fixes this race condition and should unblock the roll to r1177.

References #3995
2020-09-30 23:50:02 -07:00
Andrey Lushnikov 974358442d
browser(firefox): move user agent emulation to browser side (#4016)
References #3995
2020-09-30 08:02:22 -07:00
Andrey Lushnikov e28083974d
browser(firefox): simplify PageTarget lifecycle (#4014)
As of today, we create `PageTarget` instances whenever we get a
sync IPC from the content process. This, however, breaks an invariant
that `browserContext.pages` always has all pages (and *browsing contexts* - not to be confused with *browser contexts*), associated with browser context. This invariant will be especially important when we move
user agent emulation to browser-side.

This patch makes `PageTarget` lifecycle symmetrical:
- `PageTarget` instance is created when tab is opened
- `PageTarget` is destroyed when tab is crashed or closed

This should also fix a bunch of race conditions with persistent mode, since sometimes we arrive to the window after its
initialization.

Drive-by: straighten viewport management and put a nice descriptive comment.
2020-09-30 02:10:34 -07:00
Andrey Lushnikov 24bc0e39b8
browser(firefox): remove the hack around setting viewport size (#4010)
Juggler code had a bug where we subscribed to window and tab
events, but did not iterate collections of current windows and tabs.

As a result, we were sometimes failing to set viewport size for the
initial window, and implemented an artificial promise to workaround
the problem.

This patch:
- starts calling `onOpenWindow` and `onOpenTabListener` callbacks
  for *all* windows and tabs - current and future, eliminating the
  race condition.

This worked too well and we started overriding window sizes that
were set by users with `window.open(url, 'width=300;height=400')` (we
have a test for this). To fix this, we now plumb `CHROME_WITH_SIZE`
flag from appWindow and override viewport iff this flag is not set.

After this patch, we will use the `onTabOpened` event to move user
agent emulation to the browser-side.

References #3995
2020-09-30 00:36:46 -07:00
Andrey Lushnikov 2631e1a809
browser(firefox): use browsingContextID for frame IDs (#3999)
BrowsingContextIDs are consistent across the processes, so we can use
them to target frames in both browser and content processes. This will
aid browser-side navigation.

As a nice side-effect, we can drop a round-trip to the content process
for every `requestWillBeSent` event since we *almost* always can
attribute all network events to the proper parent frames.

I say "almost", because we in fact **fail** to correctly attribute requests
from workers that are instantiated by subframes. This, however, is
not working in Chromium ATM, so I consider this to be a minor regression
that is worth the simplification.
2020-09-29 11:22:00 -07:00
Yury Semikhatsky c4a2732515
browser(webkit): another mac fix (#3948) 2020-09-21 19:03:44 -07:00
Yury Semikhatsky ce51af0509
brower(webkit): add missing override markers (#3947) 2020-09-21 17:59:11 -07:00
Yury Semikhatsky 2fbe767142
browser(webkit): roll to 09/21 (#3945) 2020-09-21 16:04:38 -07:00
Andrey Lushnikov 2693c162b8
devops(ffmpeg): compile zlib dependency that is needed for ffmpeg (#3940)
This patch adds zlib compilation that is required for ffmpeg.
2020-09-21 14:54:22 -07:00
Pavel Feldman 731560ccbc
browser(chromium): roll to v808777 (#3941) 2020-09-21 14:40:26 -07:00
Andrey Lushnikov ee7c6230ae
devops: compile ffmpeg with support of video splitting (#3938) 2020-09-21 12:02:47 -07:00
Andrey Lushnikov 9de39b1e85
devops: hardcode build number in winldd executable (#3923)
This will allow us to trace builds back to source code.
2020-09-18 14:51:08 -07:00
Andrey Lushnikov bff9fb21ec devops: fix winldd build 2020-09-18 11:30:53 -06:00
Andrey Lushnikov 6af0aa6763 devops: notify when winldd is built 2020-09-18 11:26:59 -06:00
Andrey Lushnikov fda31dfca2
devops: build winldd on buildbots (#3917)
This patch:
- moves PrintDepsWindows folder to `//browser_patches/winldd`
- adds `build.sh`, `archive.sh`, `clean.sh` and `BUILD_NUMBER` to
  power builds on buildbots
- starts building `winldd-win64` on windows buildbot
2020-09-18 09:43:43 -07:00
Andrey Lushnikov e4e3f82337
devops: fix ffmpeg linux build (#3884)
The `PKG_CONFIG_PATH` variable is important since it is needed
to resolve `.pc` library files.
2020-09-14 17:46:07 -07:00
Andrey Lushnikov 2a66f8a066
devops: build ffmpeg for linux (#3880) 2020-09-14 15:12:35 -07:00
Yury Semikhatsky b8e90a5582
browser(webkit): duplicate each frame duration times (#3856) 2020-09-11 13:48:39 -07:00
Yury Semikhatsky 25b199b40a
browser(firefox): fix screencast start event for popups (#3834) 2020-09-10 14:37:48 -07:00
Yury Semikhatsky d64d0025a4
browser(firefox): fix screencast in first window on mac headful (#3826)
* browser(firefox): fix screencast in first window on mac headful

* Revert only
2020-09-10 00:40:56 -07:00
Andrey Lushnikov 3124a1b600
devops: fine-tune ffmpeg compilation (#3823)
This patch:
- removes `--enable-gpl` and `--enable-version3` flags. This defaults
builds to LGPL2 license
- includes `--disable-autodetect` to ensure determenism
- includes extra version suffix to link from binary files back to these
build scripts
2020-09-09 18:43:38 -07:00
Andrey Lushnikov 29b809887e
devops: fix running docker when executed from cronjob (#3822)
Turns out docker doesn't like faking terminal if STDIN is not attached
to a real terminal.
2020-09-09 17:27:14 -07:00
Andrey Lushnikov 245d1001b1
devops: produce ffmpeg builds on bots (#3820)
This patch moves FFMPEG building to buildbots:
- `ffmpeg-mac.zip` is built on Mac 10.14 machine
- `ffmpeg-win32.zip` and `ffmpeg-win64.zip` are cross-compiled on
  Ubuntu 20.04 machine

All builds across the platforms share the same config:
- the same versions of `ffmpeg` and `libvpx`
- the same build configuration for both `ffmpeg` and `libvpx`

The config could be found in the `//browser_patches/ffmpeg/CONFIG.sh`.

The builds will be then copied manually and committed to the git
repository.
2020-09-09 17:05:08 -07:00
Andrey Lushnikov 6c83266047
browser(firefox): force firefox devtools to open in a separate window (#3816)
References #3470
2020-09-09 09:36:32 -07:00
Dmitry Gozman 5364c6acbc
browser(firefox): fix automatic http->https redirect (#3812)
browser(firefox): fix automatic http->https redirect

Sometimes, Firefox does an automatic http->https redirect without hitting
the network (e.g. for http://wikipedia.org). In this case, the http request
is very strange:
- it does not actually hit the network;
- it is never intercepted;
- we cannot access its response because there was no actual response.

So, we had a bug where:
- redirects inherited the original request's listener;
- that listener was throwing an error.
This lead to the error in the listeners onDataAvailable call chain,
and original listener that renders the response was never called,
resulting in an empty page.

This change:
- ignores the original request that did not hit the network;
- does not inherit the listener;
- adds try/catch around problematic calls.
2020-09-09 09:16:03 -07:00
Andrey Lushnikov b8d7f398b8
browser(chromium): mirror Chromium r799411 to Azure (#3808) 2020-09-08 17:19:14 -07:00
Andrey Lushnikov 638c77c8e2
devops: stop bundling FFMPEG with Chromium (#3806)
- This stops bundling FFMPEG with Chromium
- Stop supporting build numbers as fractional parts for Chromium
revisions
2020-09-08 17:05:21 -07:00
Yury Semikhatsky a5a563659b
browser(webkit): fix basic screencast for accelerated compositing on win (#3803) 2020-09-08 16:00:51 -07:00
Yury Semikhatsky 1d4601b479
browser(webkit): fix screencast scale on Mac headful (#3797) 2020-09-08 14:22:33 -07:00
Andrey Lushnikov bcb4944f1b
devops: auto-detect platform in //browser_patches/chromium/build.sh (#3772)
If there's no platform specified for the chromium build, we should
detect the host platform.

This will make it pleasant to verify Chromium rolls locally.
Assuming there's a `CR` env variable pointing to the local chromium,
rolling would look like this:

- bump a revision in `//browser_patches/chromium/BUILD_NUMBER`
- run `//browser_patches/chromium/build.sh`
- run tests with pulled chromium: `CRPATH=$CR npm run ctest`
2020-09-04 04:23:13 -07:00
Andrey Lushnikov f09145e504 chore: fix typo in build script 2020-09-04 03:16:46 -07:00
Andrey Lushnikov 3cb3c650df
chore: build Chromium version with ffmpeg (#3770) 2020-09-04 03:14:29 -07:00
Andrey Lushnikov a755d100b3
devops: encode build number together with Chromium revision (#3769)
This is an alternative approach to #3698 that was setting up a custom
mapping between chromium revisions and our mirrored builds. For example, we were
taking chromium `792639` and re-packaging it to our CDN as Chromium 1000.

One big downside of this opaque mapping was inability to quickly
understand which Chromium is mirrored to CDN.

To solve this, this patch starts treating browser revision as a fractional number,
with and integer part being a chromium revision, and fractional
part being our build number. For example, we can generate builds `792639`, `792639.1`,
`792639.2` etc, all of which will pick Chromium `792639` and re-package it to our CDN.

In the Playwright code itself, there are a handful of places that treat
browser revision as integer, exclusively to compare revision with some particular
revision numbers. This code would still work as-is, but I changed these places
to use `parseFloat` instead of `parseInt` for correctness.
2020-09-04 03:12:30 -07:00
Andrey Lushnikov dfc0006b3b
devops: bundle ffmpeg with chromium (#3767)
This starts bundling FFMPEG v4.3.1 binary with Chromium archives on the
following platforms:
- chromium-mac
- chromium-win32
- chromium-win64

This specifically doesn't bundle FFMPEG with chromium-linux since we decided to use native ffmpeg on Linux instead. 

FFMPEG binaries are compiled following these instructions:
- windows: https://gist.github.com/aslushnikov/422f1e1a57796a476bf73ebe04f2e5ac
- mac: https://gist.github.com/aslushnikov/abf71be5a0b12c33b320044785fcb3bc

Our versions of FFMPEG are ~2MB zipped.

References #3680
2020-09-04 02:18:36 -07:00
Andrey Lushnikov fa8de99611
Revert "devops: revision Chromium repackaged builds separately (#3698)" (#3763)
This reverts commit fcc1680f98.
2020-09-04 00:43:12 -07:00
Pavel Feldman b6557b9f92
browser(webkit): remove incognito emoji from title (#3765) 2020-09-03 23:33:43 -07:00
Yury Semikhatsky fc7b065b1b
browser(webkit): revert #3360 as it broke many sites (#3764) 2020-09-03 22:09:20 -07:00
Yury Semikhatsky d3c677792c
browser(webkit): force repaint on screencast start (#3757) 2020-09-03 09:56:21 -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
Yury Semikhatsky ee1becd897
browser(firefox): autoscale screencast to fit frame (#3720) 2020-09-01 17:10:06 -07:00
Pavel Feldman 76ab82faa7
browser(webkit): prepend http:// to the schema-less URLs (#3713) 2020-09-01 14:28:21 -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 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
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
Carlos Alberto Lopez Perez 19f21b1bde
browser(webkit): use webkit generate-bundle tool to generate the bundles (#3563)
* This changes the archive.sh script to use the webkit generate-bundle
 tool to generate the MiniBrowser bundles instead of using our custom
 logic.

 * pw_run.sh is simplified because the new bundles include a wrapper
 script that sets the needed LD_LIBRARY_PATH environment variables.
 pw_run.sh now calls this wrapper script (for GTK or WPE) instead of
 calling the MiniBrowser binary directly when running from a bundle.

Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2020-08-28 10:48:57 -07:00
Yury Semikhatsky 80cf7e9fac
browser(webkit): do not crash when opening web inspector (#3631) 2020-08-26 08:55:18 -07:00
Yury Semikhatsky 1a37f8ba7a
browser(webkit): remove browserContextId from some events (#3628) 2020-08-25 17:15:21 -07:00
Yury Semikhatsky 17077fd901
browser(firefox): introduce browser level screencastFinished event (#3625) 2020-08-25 14:50:40 -07:00
Pavel Feldman a0bd8def74
browser(chromium): package r799610 (#3624) 2020-08-25 13:14:31 -07:00
Pavel Feldman c25dfba878
infra: pull chromium 801321 (#3620) 2020-08-25 08:16:03 -07:00
Yury Semikhatsky 14abee2b00
browser(webkit): fix compilation on mac (#3619) 2020-08-25 07:54:05 -07:00
Yury Semikhatsky db7bec36c5
browser(webkit): introduce screencastFinished event on Context (#3611) 2020-08-24 19:59:35 -07:00
Yury Semikhatsky 1c6968269a
browser(webkit): avoid use after free on page close (#3599) 2020-08-24 10:38:39 -07:00
Yury Semikhatsky 4f1f972143
browser(webkit): fix mac compilation (#3598) 2020-08-24 08:56:33 -07:00
Yury Semikhatsky 93d8839947
browser(webkit): explicitly track pages reported for context (#3574) 2020-08-21 19:59:53 -07:00
Carlos Alberto Lopez Perez de5ecc028f
browser(webkit): roll to r266002 08/21/2020 (#3561) 2020-08-21 09:56:10 -07:00
Yury Semikhatsky 9f3a1b5168
browser(firefox): send screencastStarted after attachedToTarget (#3554) 2020-08-20 14:03:05 -07:00
Yury Semikhatsky 5ba0254c99
browser(firefox): make sure response is sent when context is closed (#3553) 2020-08-20 13:26:04 -07:00
Yury Semikhatsky 854d755db5
browser(firefox): make context close wait for sessions to finish (#3550) 2020-08-20 11:04:57 -07:00
Yury Semikhatsky f13cebc66d
browser(firefox): remove redundant checks for PageTarget._browserContext (#3541) 2020-08-19 15:39:46 -07:00
Yury Semikhatsky df50660458
browser(firefox): make tab close listener sync again (#3533) 2020-08-19 12:52:43 -07:00
Yury Semikhatsky 73cd6ecef3
browser(firefox): add screencast control methods to context (#3530) 2020-08-19 12:43:53 -07:00
Yury Semikhatsky 56da4bb027
devops: make sure rust toolchain is installed (#3485)
Otherwise if required version is not installed the build fails with a cryptic message like
`error: toolchain '1.45.0-x86_64-unknown-linux-gnu' does not support components`
2020-08-19 09:11:28 -07:00
Max Schmitt 8ea280090d
devops: first implementation of browser auto-roll bot (#3455)
Relates #3258

After a chat with @aslushnikov we add this in two iterations. The first one (this PR) is about scheduled runs for testing the latest tip-of-tree version of the browsers daily and the next PR is about opening an automated PRs once its passing (not sure if its worth to add for failing too) or sending Telegram/Slack notifications.

Current status is that Firefox (around 2 hours) and WebKit (around 3-4 hours) works.

Known issues which I fix before we merge:
- ~~Changes in `test/base.fixture.ts` will get extracted in #3453~~

Feel free to review, current blockers are before we can merge:
- ~~#3453~~
- potential git clone optimisation by aslushnikov
2020-08-17 11:23:46 -07:00
Andrey Lushnikov 4dde2882e7
browser(firefox): roll Firefox to August 14 beta (#3465) 2020-08-13 23:14:24 -07:00
Yury Semikhatsky ae5700b3f3
browser(webkit): do not crop video on Mac headless (#3457) 2020-08-13 16:50:22 -07:00
Joel Einbinder a4eb86c3df
browser(firefox): update styles when changing color scheme (#3407)
`MediaFeatureValuesChanged` is what their devtools code uses to update the styles. I tried using their code directly, but it doesn't play nicely with navigations so I decided to stick with ours.
2020-08-13 12:16:00 -07:00
Yury Semikhatsky c27e809a61
chore: suppress trailing whitespace warning in prepare_checkout (#3441) 2020-08-13 10:45:27 -07:00
Andrey Lushnikov f2088e068a
devops: fix Chromium repackaging to respect symlinks (#3424) 2020-08-12 18:29:37 -07:00
Andrey Lushnikov 884cef734e
browser(chromium): roll Chromium to r796653 (#3419) 2020-08-12 14:59:12 -07:00
Andrey Lushnikov 915902c858
browser(firefox): roll Firefox to roughly July, 15 (#3411) 2020-08-12 10:09:20 -07:00
Dmitry Gozman da95b73b59
browser(firefox): emit iframe lifecycle when initial navigation fails (#3389) 2020-08-11 16:05:34 -07:00
Yury Semikhatsky f25449892c
browser(webkit): align GTK implementation with Win (#3377) 2020-08-10 17:11:24 -07:00
Yury Semikhatsky 538daf3302
browser(firefox): exclude frame from screencast video (#3372) 2020-08-10 15:10:12 -07:00
Andrey Lushnikov 8f30d15aca
devops: re-packge chromium on windows without interactive_ui_tests.exe (#3375)
This reduces archive size from 145MB to 97MB.

Fixes #3259
2020-08-10 15:00:37 -07:00
Yury Semikhatsky 89ae8e0fd1
browser(webkit): disable accelerated compositing on Windows (#3360) 2020-08-10 08:29:16 -07:00
Andrey Lushnikov 2a0cbda8bc
devops: mirror chromium builds to our CDN (#3357)
Start mirroring chromium builds to our CDN.

References #3259
2020-08-07 16:22:05 -07:00
Andrey Lushnikov a225447653
browser(firefox): introduce global proxy (#3335)
This will be used instead of messing up user preferences for proxy
setup.
2020-08-07 15:38:06 -07:00
Yury Semikhatsky ddd483bdf0
browser(webkit): correctly record video in headless mode Windows (#3354) 2020-08-07 15:27:38 -07:00
Andrey Lushnikov 434b9e107e
devops: support EXPORT_COMPILE_COMMANDS env variable in webkit build.sh (#3334)
We'll use this variable to power kodsearch.
2020-08-06 16:33:34 -07:00
Andrey Lushnikov ca3bd5e2ef
browser(firefox): roll Firefox to June, 24 (#3327)
Review URL: 83e6f0114e

References #3215
2020-08-06 10:32:50 -07:00
Yury Semikhatsky 9effb32650
browser(firefox): always create new process rather than reuse one (#3312) 2020-08-05 15:48:26 -07:00
Yury Semikhatsky 90819fa350
browser(firefox): always create image buffer in headless mode (#3299) 2020-08-04 17:58:57 -07:00
Yury Semikhatsky 7e28c26f6d
browser(firefox): do not complain about SnapshotListener being cleared on Destroy (#3298) 2020-08-04 17:38:46 -07:00
Yury Semikhatsky 8881a521c1
browser(webkit): roll to 8/4 (#3289) 2020-08-04 13:33:32 -07:00
Andrey Lushnikov 25089760fd
devops: fix typo in rustup detection (#3282)
This should bring back docker build.
2020-08-04 00:02:14 -07:00
Dmitry Gozman d3a40be479
browser(firefox): reliably close the pipe (#3280) 2020-08-03 20:15:25 -07:00
Dmitry Gozman 402d1a6a67
browser(firefox): fix win compile 2 (#3277) 2020-08-03 15:26:12 -07:00
Dmitry Gozman e481f378f1
browser(firefox): fix win compile (#3275) 2020-08-03 14:42:16 -07:00
Dmitry Gozman 1148f0b906
browser(firefox): implement RemoteDebuggingPipe (#3273) 2020-08-03 13:27:09 -07:00
Yury Semikhatsky bad4005d7d
chore(devops): do not copy pw_run.sh to subfolders (#3271) 2020-08-03 12:01:57 -07:00
Yury Semikhatsky f62e9b5dc0
browser(webkit): kick-off 1321 build to pick up new WebKitLibraries/win (#3263) 2020-07-31 16:36:39 -07:00
Yury Semikhatsky 8709ad7bf1
chore(tools): update PrintDeps license header (#3254) 2020-07-31 14:10:00 -07:00
Yury Semikhatsky 235c5df8de
docs: add readme file for PrintDepsWindows (#3241)
Also add solution file so that VS doesn't recreate it every time.

#2745
2020-07-30 15:39:29 -07:00
Andrey Lushnikov 9103ce0060
devops: fix firefox build (#3237) 2020-07-30 11:50:52 -07:00
Yury Semikhatsky 88938669e1
devops(windows): add tool for printing library dependencies on Windows (#3224) 2020-07-30 10:51:23 -07:00
Andrey Lushnikov 4961c2ddbb
devops(firefox): fixate rust and cbindgen version (#3223)
Firefox buildchain does not fixate `rust` and `cbindgen` versions,
so we want to fixate them on our end.

A table with matching rust version for every firefox version can
be found at [Rust Update Policy for Firefox](https://wiki.mozilla.org/Rust_Update_Policy_for_Firefox).

Additionally, there are checks in `mozbuild` for the minimum
rust version and minimum `cbindgen` version.
2020-07-30 09:59:39 -07:00
Andrey Lushnikov ae0c3a6d00
docs(devops): update docs for buildbots (#3218) 2020-07-29 23:14:17 -07:00
Yury Semikhatsky c6180edbfe
browser(webkit): print missing dll error to the console (#3214) 2020-07-29 15:01:01 -07:00
Joel Einbinder 3e023f6c3d
Revert "browser(firefox): fix color scheme not updating until reload" (#3198) 2020-07-28 13:46:37 -07:00
Dmitry Gozman 14c6881904
browser(firefox): properly rewrite intercepted request (#3188) 2020-07-28 11:32:44 -07:00
Yury Semikhatsky da25a5b501
browser(firefox): do not capture cursor in screencast (#3118) 2020-07-27 16:22:02 -07:00
Yury Semikhatsky 90ff66710b
browser(webkit): disable high DPI support in Web Process on Windows (#3160) 2020-07-24 16:19:14 -07:00
Joel Einbinder 549a37b939
browser(firefox): fix color scheme not updating until reload (#3157) 2020-07-24 16:01:45 -07:00
Yury Semikhatsky 3162c06f49
browser(webkit): outerWidth/Height on Windows (#3154) 2020-07-24 14:10:32 -07:00
Andrey Lushnikov 678d16454a
devops: normalize blob names on the CDN (#3136)
This establishes a single naming for all our blobs with browser
builds that we upload to CDN: `<browser-name>-<os-version>`

- `<browser-name>` is either `firefox` or `webkit`.
- `os-version` is the OS that was used to produce the build.

References #2745
2020-07-24 00:31:18 -07:00
Andrey Lushnikov 0b9c6473b6
devops: detect completion status (#3135)
Update `//browser_patches/tools/check_cdn.sh` to report when
all builds for a given revision are successfully uploaded to CDN.
2020-07-23 17:32:43 -07:00
Andrey Lushnikov ae574b302f
devops: fix webkit build on ubuntu (#3134)
Sometimes we actually pass one empty argument.
2020-07-23 16:59:45 -07:00
Yury Semikhatsky 74941340be
browser(webkit): correctly report outerWidth/Height on Mac (#3131) 2020-07-23 16:16:31 -07:00
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 21581a4e8b devops: fix buildbot names 2020-07-23 14:44:28 -07:00
Andrey Lushnikov cb77d33a42
devops: add script for ubuntu 20.04 buildbot (#3123)
This will start producing Ubuntu 20.04 webkit builds

References #2745
2020-07-23 14:42:14 -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
Yury Semikhatsky 3d37e4586e
browser(firefox): pass actual frame duration to the codec (#3101)
#1158
2020-07-22 23:27:49 -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 babd0cbcea
browser(firefox): fix Windows build (#3065) 2020-07-21 10:02:14 -07:00
Pavel Feldman 7f29275aa2
browser(firefox): use base64 to deliver post data (#3063) 2020-07-21 09:55:46 -07:00
Yury Semikhatsky a5cb983768
browser(firefox): write video to .webm instead of .ivf (#3062) 2020-07-21 09:26:59 -07:00
Pavel Feldman 726f636b5c
browser(firefox): implement Page.bringToFront (#3051) 2020-07-20 16:47:27 -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 6db8962125
browser(firefox): smooth resize in headless (#3043) 2020-07-20 14:24:52 -07:00
Yury Semikhatsky d1f937d651
browser(firefox): stop video recording if page closed (#3040) 2020-07-20 10:44:11 -07:00
Yury Semikhatsky 562e1e6460
browser(firefox): wait for file write to finish in stopVideoRecording (#3020) 2020-07-17 17:34:09 -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 89ccf99b90
browser(firefox): screencast for Mac headful (#2985) 2020-07-16 15:34:33 -07:00
Yury Semikhatsky b7f7ba9230
browser(firefox): screencast support for Windows headful (#2965) 2020-07-15 16:58:58 -07:00
Yury Semikhatsky 31893036e8
browser(webkit): close crashed pages on exit (#2958) 2020-07-15 11:04:13 -07:00
Yury Semikhatsky 0aff9bef11
browser(firefox): screencast for headless mac (#2956) 2020-07-15 09:37:08 -07:00
Yury Semikhatsky 89ca2db36c
browser(firefox): kick off new build after last commit (#2948) 2020-07-14 12:49:04 -07:00
Yury Semikhatsky de40329126
browser(firefox): add new files for headless screencast (#2947) 2020-07-14 12:25:41 -07:00
Yury Semikhatsky bf6f22d812
browser(firefox): basic screencast for headless (#2931) 2020-07-14 11:20:36 -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 baaa65492b
browser(firefox): resize window when changing viewport (#2861) 2020-07-07 14:04:07 -07:00
Yury Semikhatsky 64f57216e2
browser(webkit): roll to 07-07-2020 (#2863) 2020-07-07 13:03:07 -07:00
Yury Semikhatsky 9640dbf2a6
browser(firefox): exclude browser controls from screencast (#2855) 2020-07-07 09:40:09 -07:00
Yury Semikhatsky ea9b82d225
browser(webkit): properly disconnect signal handlers when closing browser (#2849) 2020-07-06 13:59:13 -07:00
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