Commit graph

1141 commits

Author SHA1 Message Date
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