727054 Commits

Author SHA1 Message Date
Kris Maglione
0ae5bf64c5 Bug 1655866: Part 4 - Handle OOP beforeunload listeners in PermitUnload(). r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88317
2020-09-21 22:41:01 +00:00
Kris Maglione
aa7e3fbdb4 Bug 1655866: Part 3 - Refactor PermitUnload to simplify handling OOP frames. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88316
2020-09-21 22:40:53 +00:00
Kris Maglione
fb3a9daf66 Bug 1655866: Part 2 - Move HasBeforeUnload flag to WindowContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88315
2020-09-21 22:40:51 +00:00
Kris Maglione
2d863e9e4c Bug 1655866: Part 1 - Add async version of beforeUnloadCheck prompt. r=geckoview-reviewers,Gijs,agi
Differential Revision: https://phabricator.services.mozilla.com/D88314
2020-09-21 22:40:42 +00:00
Glenn Watson
3e0a30ea57 Bug 1664719 - Pt 3 - Ensure that we don't use nested iframes as scroll roots. r=nical
This is a rare edge case, but it affects which clips are able to be considered
as shared clips. Fixing this makes the shared clips more likely to be consistent,
which will be important for the follow up patches in this bug. This mostly
only affects Gecko when running with Fission enabled.

Differential Revision: https://phabricator.services.mozilla.com/D90330
2020-09-21 00:08:45 +00:00
Mihai Alexandru Michis
a9f468308c Backed out 2 changesets (bug 1663747) for causing xpcshell failures in ThrottledEventQueue.
CLOSED TREE

Backed out changeset 643aa6baf458 (bug 1663747)
Backed out changeset 491472fe44f4 (bug 1663747)
2020-09-22 03:54:59 +03:00
Aaron Klotz
fd928bd229 Bug 1651705: Part 7 - Update MediaSessionSupport to work with NativeWeakPtr; r=geckoview-reviewers,agi
This patch is similar to part 4 but for MediaSessionSupport.

Conversions over to `NativeWeakPtr` are pretty straight forward thanks to the
type system. Basically we take a `NativeWeakPtr`, call `Access()` on it, and
if the accessor is truthy, then we call whatever methods we need to call.

Creation of new pointers is done using `NativeWeakPtrHolder::Attach()` and
detaching of strong references is done by `NativeWeakPtr::Detach()`.

Differential Revision: https://phabricator.services.mozilla.com/D88088
2020-09-21 21:49:02 +00:00
Aaron Klotz
ee56e6a4b2 Bug 1651705: Part 6 - Update Android a11y to work with NativeWeakPtr; r=eeejay
This patch is similar to part 4 but for Android a11y.

Conversions over to `NativeWeakPtr` are pretty straight forward thanks to the
type system. Basically we take a `NativeWeakPtr`, call `Access()` on it, and
if the accessor is truthy, then we call whatever methods we need to call.

Creation of new pointers is done using `NativeWeakPtrHolder::Attach()` and
detaching of strong references is done by `NativeWeakPtr::Detach()`.

Differential Revision: https://phabricator.services.mozilla.com/D87365
2020-09-21 21:48:53 +00:00
Aaron Klotz
6b99ab27cb Bug 1651705: Part 5 - GeckoEditableSupport updates to support NativeWeakPtr; r=m_kato,geckoview-reviewers
This patch is similar to part 4 but for `GeckoEditableSupport`.

Conversions over to `NativeWeakPtr` are pretty straight forward thanks to the
type system.  Basically we take a `NativeWeakPtr`, call `Access()` on it, and
if the accessor is truthy, then we call whatever methods we need to call.

Creation of new pointers is done using `NativeWeakPtrHolder::Attach()` and
detaching of strong references is done by `NativeWeakPtr::Detach()`.

Differential Revision: https://phabricator.services.mozilla.com/D87364
2020-09-21 21:48:44 +00:00
Aaron Klotz
1cb3208c3b Bug 1651705: Part 4 - Convert nsWindow to use NativeWeakPtr; r=geckoview-reviewers,agi
These conversions are pretty straight forward thanks to the type system.
Basically we take a `NativeWeakPtr`, call `Access()` on it, and if the
accessor is truthy, then we call whatever methods we need to call.

Creation of new pointers is done using `NativeWeakPtrHolder::Attach()` and
detaching of strong references is done by `NativeWeakPtr::Detach()`.

Differential Revision: https://phabricator.services.mozilla.com/D87363
2020-09-21 21:48:35 +00:00
Aaron Klotz
66f053ebc4 Bug 1651705: Part 3 - Move nested classes out of nsWindow, switch over to NativeWeakPtr in those class definitions; r=geckoview-reviewers,agi
* Having `AndroidView` and `GeckoViewSupport` as nested classes inside of
  `nsWindow` make it impossible to forward declare them. We move those classes
  into their own headers. We also move `WindowEvent` into its own header.

* We remove the old `NativePtr` and `WindowPtr` implementations from `nsWindow`
  and convert the class definitions in this patch to use the new `NativeWeakPtr`.

* `GeckoViewSupport` had a unique quirk where it was owned by `nsWindow`
  instead of its Java counterpart. To make `GeckoViewSupport`'s ownership work
  like the other classes that use `NativeWeakPtr` (and to substantially simplify
  the implementation of `NativeWeakPtr` itself), I have reversed that: now
  `nsWindow` holds a `NativeWeakPtr` to `GeckoViewSupport`, while
  `GeckoViewSupport` is owned by its Java counterpart and holds a strong ref to
  the `nsWindow`.

* `GeckoViewSupport` no longer inherits from `SupportsWeakPtr`, since using it
  with `NativeWeakPtr` provides stronger and safer guarantees.

Differential Revision: https://phabricator.services.mozilla.com/D87362
2020-09-21 21:48:26 +00:00
Aaron Klotz
b5dc829a43 Bug 1651705: Part 2 - Create NativeWeakPtr to safely access native objects owned by Java objects across multiple threads; r=geckoview-reviewers,agi
* We rename the existing `NativePtr` struct to `NativePtrTraits`, as that is
  more descriptive of what that code actually does;
* We introduce `NativeWeakPtr` as a smart pointer type that holds a pointer
  to an object and allows its access in a thread-safe way. See comments.
* We replace some explicit uses of template types with type deduction via
  `auto` and `decltype(auto)`. This allows for more use of forward declarations.

Differential Revision: https://phabricator.services.mozilla.com/D87361
2020-09-21 21:48:12 +00:00
Aaron Klotz
77d65fb576 Bug 1651705: Part 1 - Make JNIObject.mHandle volatile; r=geckoview-reviewers,snorp
Given the access patterns involved on the native side, I think it is safest
to ensure that this field is access atomically by the VM.

Differential Revision: https://phabricator.services.mozilla.com/D87360
2020-09-21 21:48:03 +00:00
Mitchell Hentges
862d284885 Bug 1666032: ensure java from PATH == java from JDK_BIN_DIR r=rstewart
In the build process, there's two ways that java is used:
* From the path
* From the java-bin-path specified in the mozconfig

Before, to assert that both "java" usages would be consistent, the
implementation assumed that there was only a single "java" binary
per-JDK-version, and all duplicate "binaries" were symlinks to the
original.

However, in Fedora, it has two identical full binaries: one in
$JDK/bin, and one in $JDK/jre/bin. The symlink theory was incorrect.

So instead, we can assert that both "java" usages are consistent
by checking their versions and asserting that they are equivalent.

Differential Revision: https://phabricator.services.mozilla.com/D90918
2020-09-21 20:59:32 +00:00
Olli Pettay
fe776d35ce Bug 1653561, Get URIWasModified from mLoadingEntry when it is available, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D90871
2020-09-21 21:03:26 +00:00
Reid Shinabarker
f450922096 Bug 1620899 - Arrow keys don't work in picture-in-picture window after tabbing unless play/pause is pressed. r=mconley,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90047
2020-09-21 21:43:21 +00:00
Ryan Hunt
5b516a52a9 Bug 1665106 - wasm: Only save the module name if the subsection finishes validation correctly. r=lth
In a name section of length 0, the first call to DecodeModuleNameSubsection will decode a name
but fail when finishNameSubsection detects the currentOffset is past the declared length of the
section. This failure result will bubble to the finish label of DecodeNameSection and be ignored.
This is okay, but we need to not set the moduleName until the subsection is completely validated.

Differential Revision: https://phabricator.services.mozilla.com/D90514
2020-09-21 14:31:10 +00:00
Mike Conley
b02b833684 Bug 1666355 - Enable Picture-in-Picture player window controls by default to ride the trains. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90921
2020-09-21 21:27:36 +00:00
Chris Jackson
d3cf2e3120 Bug 1617135 - Fix keyboard shortcut for closing picture in picture window when the player window is focused. r=mconley,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90038
2020-09-21 21:22:01 +00:00
Mihai Alexandru Michis
903eef7389 Backed out changeset bd318d959528 (bug 727668) for causing multiple failures
CLOSED TREE
2020-09-22 03:02:17 +03:00
Tim Huang
a62df35eb6 Bug 1663992 - Add a test. r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D90833
2020-09-21 13:01:01 +00:00
Tim Huang
6957591e22 Bug 1663992 - Check loading principal if there is no browsing context in AntiTrackingUtils::ComputeIsThirdPartyToTopWindow(). r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D90816
2020-09-21 12:41:24 +00:00
Shane Caraveo
3d85606077 Bug 1665150 fix maybeInstallBuiltinAddon promise r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D90597
2020-09-21 19:52:17 +00:00
Andrew Osmond
92a899be07 Bug 1666272 - Use the HW ANGLE failure ID when disabled WebRender due to it. r=jrmuizel
We don't collect telemetry stats on why users don't get HW ANGLE,
however we can just share failure IDs with HW ANGLE when we disable
WebRender with UnavailableNoAngle.

Differential Revision: https://phabricator.services.mozilla.com/D90867
2020-09-21 20:43:20 +00:00
Bas Schouten
ab620ae50d Bug 1661881 - Part 4: Prevent additional event loop churn for NotifyVsync when in the child process. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90863
2020-09-21 14:00:07 +00:00
Henrik Skupin
f9391188b1 Bug 1666198 - [marionette] Stabilize element click unit tests. r=marionette-reviewers,maja_zf
First, by running all the tests in their own tab reduces the risk
of bad interactions between tests.

Also the legacy element click tests actually never tested the
legacy mode because "moz:webdriverClick" has been set to "true"
by default, but the capability for the tests hasn't been changed
to point to false.

Differential Revision: https://phabricator.services.mozilla.com/D90879
2020-09-21 20:38:46 +00:00
Steven Michaud
69821ba2af Bug 1666293 - Flush explicitly before deleting textures. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D90893
2020-09-21 20:24:51 +00:00
Glenn Watson
fbd08da6e1 Bug 1664719 - Pt 2a - Re-enable is_ancestor check. r=nical
This was disabled temporarily to fix a regression. It was resolved
by 1665805, which fixes an unrelated bug in the CoreAnimation
implementation due to coordinate accuracy.

Differential Revision: https://phabricator.services.mozilla.com/D90799
2020-09-21 06:39:40 +00:00
Jeff Muizelaar
0f0c9a9a0c Bug 1666057. Convert qcms to rust. r=aosmond
The conversion was done with c2rust and then manually cleaned up some.
There's still lots of unsafe code remaining but I'd rather do the rest
of the cleanup in-tree so that it's easier to catch and revert
regressions.

I've dropped support for SSE1 (Firefox requires SSE2) and Altivec
(not wanting to deal with fixing Rust's Altivec support).

transform_neon.rs manually implements a bunch of intrinsics, this
can be fixed when we can depend on Rust 1.48.

The fuzz target is changed to a cargo-fuzz target.

Some of the gtests are moved to Rust.

Differential Revision: https://phabricator.services.mozilla.com/D90782
2020-09-21 18:40:51 +00:00
Sylvestre Ledru
768d4782c8 Bug 1665854 - fx doc: Update the contributions docs from MDN r=firefox-build-system-reviewers,rstewart
Depends on D90664

Differential Revision: https://phabricator.services.mozilla.com/D90665
2020-09-21 19:31:16 +00:00
Sylvestre Ledru
c89bc81827 Bug 1665854 - Import more contributions docs from MDN r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D90664
2020-09-21 17:57:22 +00:00
Doug Thayer
d61ea08ebb Bug 1665459 - Control pre-xul skele UI registry value via prefs r=mhowell
This patch uses the prefs relevant to the pre-xul skeleton UI to control the
registry value. There are three prefs:

- A new pref intended to be the global toggle once all themes can be handled.
- browser.startup.blankWindow - we currently depend on the code in BrowserGlue.jsm,
  gated on this pref, which immediately specifies the width and height of the
  window and ultimately causes XUL to consume and take ownership of our pre-xul
  window. Without this, we resize to fit a small content area, and then resize
  again back to the correct size.
- extensions.activeThemeID - Given that we have hardcoded layout and colors, we
  need to ensure that we're only presenting the skeleton UI for the default theme.

We're hoping to not need to gate on any prefs other than the new pref that we're
adding, but this allows us to provide a simple direction for users who may want
to dogfood our changes in the mean time: use the default theme, ensure the
browser.startup.blankWindow pref is set, and turn our new pref on.

Differential Revision: https://phabricator.services.mozilla.com/D90884
2020-09-21 19:24:56 +00:00
Kris Maglione
230ad04844 Bug 1663747: Part 2 - Use PastShutdownPhase() in component loader shutdown checks. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89810
2020-09-21 19:20:42 +00:00
Kris Maglione
5ae4ea4f07 Bug 1663747: Part 1 - Fix sCurrentShutdownPhase and add PastShutdownPhase() API. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D89809
2020-09-21 19:18:43 +00:00
Kris Maglione
5d2d807d44 Bug 1665862: Don't use AutoSafeJSContext in XMLHttpRequestWorker. r=nika
It crashes if it fails to create the unprivileged junk scope, which is not
great when it's being used by a fallible function.

Differential Revision: https://phabricator.services.mozilla.com/D90753
2020-09-19 16:39:58 +00:00
Dorel Luca
286cf5c75e Merge mozilla-central to autoland 2020-09-22 00:44:39 +03:00
Dorel Luca
bc089edbb6 Backed out changeset fded12622108 (bug 1663837) as requested by dev. CLOSED TREE 2020-09-22 00:42:45 +03:00
Dorel Luca
958a7c0ba0 Merge autoland to mozilla-central. a=merge 2020-09-22 00:34:52 +03:00
Mozilla Releng Treescript
5aa7b6ef9e Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-09-21 14:12:25 +00:00
Mozilla Releng Treescript
c7d2804125 No bug - tagging cecca8e309497b6a0e7d2ab52a4956d7e48c91f6 with FIREFOX_NIGHTLY_82_END a=release DONTBUILD CLOSED TREE 2020-09-21 14:12:19 +00:00
Jonathan Kew
e0a6811c95 Bug 1665272 - Don't attempt to call OpenPrinter on network printers when collecting the printer list. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D90858
2020-09-21 13:51:10 +00:00
Dylan Roeh
7cffabbe1d Bug 1663756 - Expose STATE_UNBLOCKED_UNSAFE_CONTENT in GV's content blocking API. r=esawin,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D90173
2020-09-21 18:41:42 +00:00
Mozilla Releng Treescript
8604cd9e02 No bug - tagging ddd533d95b7443e06865ba000f1316e8c62d2a71 with FIREFOX_BETA_82_BASE a=release DONTBUILD CLOSED TREE 2020-09-21 13:30:47 +00:00
Narcis Beleuzu
4a31045523 Backed out 4 changesets (bug 1635828) for causing Bug 1666083
Backed out changeset 1f93614c3fde (bug 1635828)
Backed out changeset 04a8f6581dde (bug 1635828)
Backed out changeset 1bfeca8427e6 (bug 1635828)
Backed out changeset 8ec4db600c1f (bug 1635828)
2020-09-20 20:00:45 +03:00
Ben
b9ef9df4b8 Bug 1606626 - Implement STOMP WebSocket message parsing. r=Honza,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D89265
2020-09-20 16:30:59 +00:00
Sylvestre Ledru
fd8b54c40d Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,necko-reviewers,valentin
# ignore-this-changeset

Depends on D90793

Differential Revision: https://phabricator.services.mozilla.com/D90794
2020-09-20 16:09:26 +00:00
Sylvestre Ledru
ec8859e69e Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D90793
2020-09-20 10:14:09 +00:00
Peter Van der Beken
41e9c935de Bug 1665322 - Error page loads should add entries for the original load with session history in the parent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D90393
2020-09-20 13:49:50 +00:00
Jonathan Kew
039d64f49f Bug 1665904 - Rename paperName to paperId for better clarity (front-end). r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90791
2020-09-20 14:09:59 +00:00
Jonathan Kew
7fd751e756 Bug 1665904 - Rename paperName to paperId for better clarity (platform). r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90790
2020-09-19 21:31:05 +00:00