86 Commits

Author SHA1 Message Date
Andrey Lushnikov
4e2ef0c865
browser(ff-beta): fix packaging manifest (#16451)
Pretty diff: 4e6c70ac0d
2022-08-11 05:13:27 -07:00
Andrey Lushnikov
dd4f5ceaff
browser(ff-beta): roll Firefox Beta to 104.0b5 (#16170)
This roll moves Juggler component registration to a new system that
is used in XPCOM: this is what both RemoteAgent and Marionette use.

Drive-by: we now have to explicitly pass default values to dispatched
mouse events to avoid a `MOZ_ASSERT` trigger inside a drag service
native code.

Manual conflict resolutions: ab3ed0cb2c
2022-08-10 15:34:01 -07:00
Yury Semikhatsky
02aa31048c
browser(firefox): cross thread sync in screencast (#16320)
* nsIScreencastServiceClient is not thread safe refcounted so we make nsScreencastService::Session a thread safe refcounted object and keep it alive while there are inflight frames. Once such frames get handled on the main thread we check if the session has been stopped.
* Removed mCaptureCallbackCs in favor of atomic counter (mClient is not accessed only on the main thread).
* HeadlessWindowCapturer now holds RefPtr to the headless window object to avoid use after free when clearing it as a listener on the widget.
* ScreencastEncoder is not ref counted anymore.

Pretty-diff: 5f5042ff1e
2022-08-05 15:25:26 -07:00
Yury Semikhatsky
4fc05e8374
browser(firefox): run callbacks inside critical section (#16282)
Pretty-diff: yury-s/gecko-dev@688b4a7
2022-08-04 18:52:30 -07:00
Yury Semikhatsky
135971c406
browser(firefox): recompute content-length if body is overridden (#16173) 2022-08-02 13:51:05 -07:00
Andrey Lushnikov
af33d713ad
devops: fix Firefox-Beta build the same way we fix FF Stable (#16146)
Drive-by: add missing `ff-beta-ubuntu-20.04-arm64` build
2022-08-02 07:27:51 -07:00
Dmitry Gozman
94efeed192
browser(firefox): make scrollIntoViewIfNeeded and getContentQuads work with display:contents (#16111) 2022-08-01 14:40:23 -07:00
Yury Semikhatsky
d33455dcca
browser(firefox): dispatch console messages even if there are workers (#16068) 2022-07-29 16:56:17 -07:00
Yury Semikhatsky
b479869ddc
browser(firefox): do not leak vpx codec (#16034) 2022-07-28 13:39:34 -07:00
Andrey Lushnikov
67cea1882c
chore: trigger new browser builds that use new infrastructure (#15955) 2022-07-26 07:44:31 -07:00
Andrey Lushnikov
e9d66535ba
browser(firefox): move screenshots to browser-side (#15230)
* `clip` option is always passed from the client code
* with this change, we can no longer capture screenshot of a blinking
  caret; the browser-side API doesn't have this capability.
2022-07-06 15:02:48 -07:00
Andrey Lushnikov
3b269d0ed7
browser(ff-beta): roll Firefox-Beta to 103.0b5 (#15394) 2022-07-05 15:47:35 -07:00
Dmitry Gozman
268bfec4b9
browser(firefox): disable cross-process navigations for about:blank (#15283) 2022-06-30 14:49:11 -07:00
Andrey Lushnikov
458c9b2207
browser(firefox): fix racy browser.newPage() method (#15251)
It looks like the tabopen callback is async, so we must
make sure it is called when opening new pages.
2022-06-30 11:07:38 -07:00
Andrey Lushnikov
074ae99dc5
browser(firefox): fix browser.newPage crasher (#15247)
`mWindow` might not be initialized.
2022-06-29 13:47:45 -07:00
Dmitry Gozman
141093a1cd
browser(firefox): a11y haspopup is a string, not a boolean (#15056) 2022-06-22 17:01:13 -07:00
Dmitry Gozman
94a0d669b6
browser(firefox): expose Response.fromServiceWorker (#14606)
This property is "true" when network response was fulfilled
by the service worker.
2022-06-02 17:16:19 -07:00
Yury Semikhatsky
d5bfd786b9
browser(firefox): force opener tab to be active (#14568)
> lgtm % null-check for the docshell

The  code is inside following if condition
```
if (auto* browserChild = BrowserChild::GetFrom(root->GetDocShell())) {
```
which ensures that the doc shell is not null.
2022-06-02 09:04:04 -07:00
Andrey Lushnikov
59c7e7aaa4
devops: fix firefox-beta build (#14495)
This patch:
- fixes firefox-beta archiving that requires 2 extra env variables
- attempts to use windows paths to specify `MOZ_FETCHES_DIR` on
  Windows to point to the toolchains folder.
2022-05-31 01:50:04 -07:00
Andrey Lushnikov
f99c3bb977
devops(ff-beta): fix build to use bootstrapped toolchains (#14491)
This is a follow-up to a7a7644bebd69d68d1803bd7b4cf9771bec4d185
that started bootstrapping toolchains from `master` branch.

Now, we have to explicitly use these toolchains when building
Firefox.
2022-05-31 00:22:01 -07:00
Andrey Lushnikov
a7a7644beb
devops: fix firefox-beta build (#14282)
It turns out that we can only bootstrap Firefox toolchains
from latest commits.

So in case of a full build, we have to fetch latest commit
from `master`, bootstrap from it, and then build the commit we'd like.
2022-05-19 08:08:46 -07:00
Andrey Lushnikov
c3d82c278d
browser(ff-beta): roll Firefox beta to 101.0b8 (#14196)
Pretty diff: https://github.com/aslushnikov/juggler/tree/roll-beta-to-101
2022-05-16 08:39:02 -07:00
Andrey Lushnikov
5724d46253
browser(firefox-beta): fix windows compilation (#13774) 2022-04-26 12:03:35 -07:00
Andrey Lushnikov
db524327c4
browser(firefox-beta): roll Firefox-Beta to m100 (#13657)
conflict resolution: 4b055478bf
2022-04-20 09:27:57 -07:00
Andrey Lushnikov
db334a8e71
browser(ff-beta): roll Firefox Beta to 99.0b9 (#13084)
Pretty Diff: 0e75c8a0dc
2022-03-28 15:14:20 -07:00
Yury Semikhatsky
463b4b1c0d
browser(firefox): do not send post data > 10Mb to the client (#12969) 2022-03-23 08:58:29 -07:00
Yury Semikhatsky
96b0a4b993
browser(firefox): fast post body conversion to base64 (#12898) 2022-03-18 18:30:28 -07:00
Andrey Lushnikov
66eda836c9
browser(ff-beta): roll Firefox-Beta to 98b10 (#12421)
Firefox reverted the third-party cookies recently:
https://bugzilla.mozilla.org/show_bug.cgi?id=1751435

Thus changes in tests.

References #12225
2022-03-01 00:17:33 -08:00
Pavel Feldman
618cc66c8d
browser(firefox): manage scripts to evaluate on load on front-end (#12101) 2022-02-14 20:32:12 -08:00
Andrey Lushnikov
b17f2a86da
devops: attempt to build firefox without maintenanceservice.exe (#11663) 2022-01-26 17:29:53 -08:00
Ross Wollman
8f0a5019c0
browser(firefox): fixes empty string postData override (#11529)
Relates #11470
Blocks #11421
2022-01-21 01:19:29 +01:00
Andrey Lushnikov
5d8aa8d5cf
browser(firefox): fix extra HTTP headers in request interception (#11265) 2022-01-08 08:26:11 -08:00
Andrey Lushnikov
a28935dcb8
browser(ff-beta): roll Firefox beta to 96.0b11 (#11139) 2021-12-29 21:18:43 -08:00
Andrey Lushnikov
fba29aa319
browser(firefox): fix HTTP->HTTPS fallback for refused connection (#11123)
In this case, there's no protocol version that we can extract for
nsIHttpChannel.

The code that does the redirect is here: 7f3d9fce41/docshell/base/nsDocShell.cpp (L6079-L6095)

To trigger this codepath, we'd need to run test inside a special
docker container that has https server running on the 443 port. We lack
infrastructure for this kind of tests (but it'll be cool to have it).

References #11118
2021-12-28 12:23:53 -08:00
Andrey Lushnikov
cb79cd88a9
browser(firefox): use pre-downloaded toolchains for release builds (#10929) 2021-12-15 08:31:33 -08:00
Andrey Lushnikov
66292a5895
browser(firefox-beta): roll Firefox beta to 96.0b5 (#10924)
Review URL: 4cedc704b1

Firefox 96 changes default sameSite cookie value, so this patch
updates tests to accomodate for this.
2021-12-14 23:24:25 -08:00
Andrey Lushnikov
2a8801be1e
browser(firefox): fix Firefox crashes (#10904)
Review URL: aff16fc8e4

This patch fixes 2 firefox crashers:
- color scheme override code was not used, but was called
  from multiple threads, which caused a weakptr use violation (cannot
  be used from multiple threads)
- snapshot listener callback was reset asynchronously, so when
  `HeadlessWindowCapturer` was destroyed, it was still occasionally
  called (see `HeadlessWindowCapturer::~HeadlessWindowCapturer`)

With this patch, I no londer experience tracing crashes in firefox.

References #10259
2021-12-13 21:23:25 -08:00
Andrey Lushnikov
2d386ee8e7
browser(firefox): fix proxy auth redirect + resource redirect handling (#10854)
This was breaking a vital invariant in our firefox network code - see
comments.

References #10095
2021-12-10 13:11:58 -08:00
Andrey Lushnikov
2313fcdd91
browser(ff-beta): roll Firefox Beta to M95 (#10089)
Pretty diff: 683d58698f
2021-12-06 15:19:22 -08:00
Max Schmitt
08d31965c6
browser(firefox): ignore console events with attached exception (#10581) 2021-11-29 17:55:15 +01:00
Andrey Lushnikov
851c194098
browser(firefox): disable remote process for certain origins (#10269)
Fixes #10268
2021-11-11 17:43:52 -08:00
Andrey Lushnikov
0fa8073ab6
browser(firefox): fix input composition when TIP is stolen by user (#10238)
When firefox is automated + interacted with manually, input composition
might get stolen from Text Input Processor.

Re-requiring TIP every time seems to fix this.

References #5460
2021-11-11 10:23:00 -08:00
Yury Semikhatsky
091c0065ad
browser(firefox): delete response interception code (#10053) 2021-11-04 12:29:36 -07:00
Yury Semikhatsky
ddda507ccd
browser(firefox): do not crash when browser window is minimized (#9951) 2021-11-01 17:11:21 -07:00
Max Schmitt
6a1e075903
fix(browser): fix downloads with nested frames (#9925) 2021-11-01 09:37:07 -07:00
Yury Semikhatsky
7560f40c77
browser(firefox): set opener for popup opened from iframe (#9837) 2021-10-28 02:16:37 -07:00
Andrey Lushnikov
56b0823269
browser(ff-beta): fix timezone emulation on Win (#9812) 2021-10-27 09:34:16 -07:00
Andrey Lushnikov
9578cda79a
browser(ff-beta): roll Firefox Beta to 94.0b9 (#9631)
The previous roll didn't package well on windows machines.
2021-10-19 17:39:09 -07:00
Andrey Lushnikov
18e690e234
browser(firefox): fix firefox crashes (#9563)
Fixes #9418
2021-10-15 19:37:00 -07:00
Andrey Lushnikov
6ec4f3e398
browser(firefox-beta): fix compilation on win32 (#9517)
I accidentally moved the API declaration under ifdef; reverting the
move.

Pretty diff:
7c7430b53f
2021-10-14 12:08:38 -07:00