Commit Graph

724408 Commits

Author SHA1 Message Date
Emily McDonough
08abe47ebf Bug 1661785 - Check for both CUPS_PRINT_COLOR_MODE_COLOR and CUPS_PRINT_COLOR_MODE_AUTO for CUPS color printing support. r=nordzilla
This may fix bug 1660658. It's pretty harmless if it turns out to be redundant
to make this check.

Differential Revision: https://phabricator.services.mozilla.com/D88654
2020-08-28 19:15:21 +00:00
Micah Tigley
b6fba802e1 Bug 1660060 - Add a keypress listener to the percentScale element. r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D88446
2020-08-28 18:58:24 +00:00
Ricky Stewart
89acae267e Bug 1661783 - Disable test_rst.py on Linux r=ahal
This test begins to fail due to a `pip` installation issue after bug 1660351. It's already disabled on macOS (also due to what the comment says is a `pip` installation issue), so it's very possible the custom `requirements.txt` that this test installs is deficient in some way that surfaces in certain `virtualenv`s under certain circumstances. I can't diagnose the failure, but what I have seen is that bug 1659539 will fix that problem entirely with no extra intervention required, so we should be able to re-enable this for Linux (and maybe macOS as well?) when that patch lands.

Differential Revision: https://phabricator.services.mozilla.com/D88653
2020-08-28 18:57:20 +00:00
Adam Vandolder
833163a200 Bug 1658318 - Add Reflect[@@toStringTag]. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D87874
2020-08-28 16:33:02 +00:00
Narcis Beleuzu
3361c24c23 Backed out 7 changesets (bug 1651705) for mochitest failures on test_resizers_resizing_elements.html . CLOSED TREE
Backed out changeset 7fd32a3fb6e7 (bug 1651705)
Backed out changeset de4edbcb15c1 (bug 1651705)
Backed out changeset 531e71369f68 (bug 1651705)
Backed out changeset 84590e96de88 (bug 1651705)
Backed out changeset 7d9d2d44b2ee (bug 1651705)
Backed out changeset 9ffca762753c (bug 1651705)
Backed out changeset 2d79f4348b36 (bug 1651705)
2020-08-28 23:06:39 +03:00
Luca Greco
bf5f2935f7 Bug 1568597 - RemoteWorkerManager::SelectTargetActorForSharedWorker should select an actor that is kept alive. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D88412
2020-08-28 18:11:22 +00:00
Luca Greco
4190f9f233 Bug 1568597 - Defer RemoteWorkerService init to ContentChild::RecvRemoteType. r=asuth,nika
I did notice this issue while investigating a test failure on
browser/components/contextualidentity/test/browser/browser_serviceworkers.js

The issue seems to be triggered when we are using a preallocated child process
for a call to RemoteWorkerManager::LaunchNewContentProcess, when that happens
we do expect that the new process is going to call RemoteWorkerManager::RegisterActor
once its RemoteWorkerService is being initialized in the new child process,
but when we are reusing a preallocated child process the RemoteWorkerService
was already initialized and RegisterActor was already called while the
remoteType for the child process was still "prealloc".

This patch fix the failure by deferring initializing RemoteWorkerService in
child processes to when we do receive a non "prealloc" remoteType in
ContentChild::RecvRemoteType.

Differential Revision: https://phabricator.services.mozilla.com/D86590
2020-08-28 17:59:15 +00:00
Luca Greco
6d677ee9c2 Bug 1568597 - Make RemoteWorkerManager::GetRemoteType/MatchRemoteType fission-aware. r=asuth,nika
Differential Revision: https://phabricator.services.mozilla.com/D81373
2020-08-28 17:58:58 +00:00
Luca Greco
5422f2e135 Bug 1568597 - Allow extension principal workers to run in the main process if remote extensions are disabled by pref. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D86710
2020-08-28 17:58:37 +00:00
Andrew Halberstadt
3c28444d2d Bug 1660506 - Move backstop determination to the decision task and store it in a parameter, r=marco,taskgraph-reviewers,jmaher
We want to be able to retroactively tell whether a push was a backstop or not.
This patch stores whether or not a push was a "backstop" directly in the
parameters. The optimization strategy now simply returns 'not
params["backstop"]'.

For simplicity, I'm not counting the 'optimized-backstop' as a backstop. It's
unclear if we'll want to be able to detect these types of the pushes in the
future or not, but we can cross that bridge when we get there.

Differential Revision: https://phabricator.services.mozilla.com/D88151
2020-08-26 21:56:05 +00:00
Andrew Halberstadt
0def0cc961 Bug 1660506 - Drop the 'remove_on_projects' feature from the Backstop optimization, r=marco
In the past, the 'backstop' optimization was applied to tasks by default across
all projects, even though it only really made sense on autoland. To choose what
would happen on non-autoland branches, we invented this 'remove_on_projects'
concept.

These days, we only apply the backstop optimization in the first place for
autoland. So 'remove_on_projects' is no longer necessary.

Depends on D88149

Differential Revision: https://phabricator.services.mozilla.com/D88150
2020-08-26 19:11:22 +00:00
Andrew Halberstadt
81eecf7f8c Bug 1660506 - Simplify the backstop optimizations, r=marco
This patch cleans up some of the backstop strategy names. Specifically:

1. Rename 'full-backstop' -> 'backstop'. The old 'backstop' algorithm was
unused anyway, so there is no conflict. It is also just defined directly in
the decorator rather than using 'Alias'.

So now rather than 'full-backstop' and 'optimized-backstop', it's just
'backstop' and 'optimized-backstop'.


2. Remove 'backstop-X-hours-Y-minutes' strategies, and replace them with
the corresponding 'push-interval-X' strategy.

This means we lose the time component in the 'optimized-backstop'. But it isn't
a problem, because we shouldn't be using a time component there at all anyway
(we should just use it with the 'backstop').

Differential Revision: https://phabricator.services.mozilla.com/D88149
2020-08-26 21:40:05 +00:00
Keefer Rourke
b046b1150d Bug 1660835: Add LZ4 compression options to IOUtils read and write methods r=barret,Gijs
NB: This change breaks the IOUtils.read API, requiring that an options
dictionary is passed as the optional second argument, rather than a number
indicating the max bytes to read. This option is not used out of tests however.

Differential Revision: https://phabricator.services.mozilla.com/D88177
2020-08-28 15:57:44 +00:00
Keefer Rourke
9502c4fa57 Bug 1660328: Implement IOUtils::getChildren method r=barret,Gijs
This change introduces a `getChildren` method to the IOUtils interface, which
returns an array of absolute paths pointing to the immediate children of a
directory.

This method should provide equivalent (though not the same) functionality to
iterating directory entries using a new `OS.File.DirectoryIterator`.

Differential Revision: https://phabricator.services.mozilla.com/D87875
2020-08-28 15:49:58 +00:00
Kartikaya Gupta
3fe67ce9e6 Bug 1661492 - Auto-advance migration in the absence of further action. r=jaws,botond
This advances the migration by 25% each release, starting in release 83 and
completing in 86. The migration code can be removed in the 86 nightly cycle
(or anytime after that).

Differential Revision: https://phabricator.services.mozilla.com/D88453
2020-08-28 18:01:33 +00:00
Eitan Isaacson
b07025169e Bug 1661579 - Use previous frame when searching backwards at start of frame. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D88489
2020-08-28 17:55:04 +00:00
Jonathan Watt
9eda8c7403 Bug 1661730. Allow std::function to be specified as a native type in XPIDL. r=nika
std::function requires parenthesis to be supported in the type.

Differential Revision: https://phabricator.services.mozilla.com/D88636
2020-08-28 17:51:36 +00:00
Iain Ireland
91d7a5c7cc Bug 1661530: Attach FunApply and FunCall before scripted calls r=jandem
Despite looking directly at this code while adding the assertion in bug 1660553, I somehow missed that scripted calls were being attached too early. It's not a problem for Ion, because we only inline `FunCall`/`FunApply` if we're calling the jsnative, but it matters for Warp.

Differential Revision: https://phabricator.services.mozilla.com/D88463
2020-08-28 07:53:09 +00:00
Tom Tung
b5b7c7cac5 Bug 1659053 - Have a test to verify the fix; r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D88026
2020-08-28 15:32:58 +00:00
Tom Tung
29ea2d7f88 Bug 1659053 - Restore or remove the origin directory if its directory name is inconsistent with the origin in the directory metadta file; r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D88025
2020-08-28 17:38:35 +00:00
Anny Gakhokidze
6d995898a0 Bug 1589102 - Part 17: Don't set chrome context in Marionette reftest unit tests r=marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D88518
2020-08-28 17:32:16 +00:00
Anny Gakhokidze
652e7457ff Bug 1589102 - Part 16: Fix devtools/sharedbrowser_saveHeapSnapshot_e10s_01.js to wait for the browser to load, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D88232
2020-08-28 17:21:31 +00:00
Anny Gakhokidze
836a19584f Bug 1589102 - Part 15: Make test_continuous_wheel_events.html wait for load event, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88229
2020-08-28 17:21:29 +00:00
Anny Gakhokidze
af962e7815 Bug 1589102 - Part 14: Unskip test test_window_cross_origin_props.html and mark as failing, r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D88228
2020-08-28 17:21:19 +00:00
Anny Gakhokidze
7e764895d7 Bug 1589102 - Part 13: Fix a race in process switching code due to reftest.js forcing a process switch, r=kmag
The race occurs when the parent changes the owner process for a BC, but the
child does not know about it and proceeds to call SetCurrentInnerWindowId on a
BC it no longer owns. To fix this, in child process, whenever we call
SetCurrentInnerWindowId on a BC, check that the BC is in process and that the
docshell has not been notified about an upcoming process change.

Differential Revision: https://phabricator.services.mozilla.com/D87934
2020-08-28 17:21:17 +00:00
Anny Gakhokidze
52ff3841e4 Bug 1589102 - Part 12: Fix file_scrollRestoration.html to wait for about:blank to load before proceeding, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D87933
2020-08-28 17:21:14 +00:00
Anny Gakhokidze
f90a2a6d1e Bug 1589102 - Part 11: Make navigating-across-documents/010.html wait for load before running test steps, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87932
2020-08-28 17:21:12 +00:00
Anny Gakhokidze
abc4db9fa9 Bug 1589102 - Part 10: Fix tests failing due to not waiting for the window load events, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D87328
2020-08-28 17:21:09 +00:00
Anny Gakhokidze
11de9b2cee Bug 1589102 - Part 9: Update annotation for iframe-inheritance-about-blank.html test, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85087
2020-08-28 17:21:01 +00:00
Anny Gakhokidze
d9a81f5d99 Bug 1589102 - Part 8: Add a crashtest for navigating remote page to about:blank, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D49427
2020-08-28 17:20:59 +00:00
Anny Gakhokidze
5755a94b86 Bug 1589102 - Part 7: Fix test_browsing_context_structured_clone.js to instead schedule precise gc, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D85086
2020-08-28 17:20:57 +00:00
Anny Gakhokidze
a12aaa2425 Bug 1589102 - Part 6: Do not load more than 2 nested frames in browser_browsingContext-01.js test, r=farre
Creating more than 2 nested iframes is not allowed and is now enforced for
about:blank loads because they now take place via DocumentChannel.

Differential Revision: https://phabricator.services.mozilla.com/D85084
2020-08-28 17:20:52 +00:00
Anny Gakhokidze
aa5ab9056f Bug 1589102 - Part 5: Fix tests that relied on about:blank loads happening instantenously, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85083
2020-08-28 17:20:45 +00:00
Anny Gakhokidze
46b53bc947 Bug 1589102 - Part 4: Allow (de)serialization of nested about: uris, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D85082
2020-08-28 17:20:43 +00:00
Anny Gakhokidze
bd0938ed77 Bug 1589102 - Part 3: Enable about:blank loads to take place via DocumentChannel, r=mattwoodrow
In process selection logic, ensure that we don't use the original URI for
about:blank and instead use the result principal. If the about:blank load has a
null principal, then revert to using the original URI.

Also, remove an extra about:blank load when an nsFrameLoaderOwner is changing
remoteness to prevent races.

Differential Revision: https://phabricator.services.mozilla.com/D85081
2020-08-28 17:20:40 +00:00
Anny Gakhokidze
19d0babe24 Bug 1589102 - Part 2: Fix tests that were broken as a result of about:srcdoc going via DocumentChannel, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85080
2020-08-28 17:20:33 +00:00
Anny Gakhokidze
8b553ecfcf Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-28 17:20:30 +00:00
Eitan Isaacson
0a7569bfd1 Bug 1655784 - Return correct collapsed selection range on inputs. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D88502
2020-08-28 17:22:32 +00:00
Tooru Fujisawa
d5cbb2ceb8 Bug 1660538 - Add SMDOC for async function and async generator. r=jorendorff DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D87896
2020-08-28 16:57:38 +00:00
Aaron Klotz
5dfb75acf7 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-08-27 20:14:56 +00:00
Aaron Klotz
78b90eb9b7 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-08-27 20:14:50 +00:00
Aaron Klotz
dfbdba70df 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-08-27 20:14:45 +00:00
Aaron Klotz
c5bf10fd43 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-08-27 20:14:34 +00:00
Aaron Klotz
6a8ee84bc1 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-08-27 20:14:18 +00:00
Aaron Klotz
738041c798 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-08-27 20:14:06 +00:00
Aaron Klotz
fd8538d823 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-08-27 20:13:56 +00:00
Nick Alexander
d36eacb26b Bug 1661406 - Allow artifact builds without an NDK when working around Android-Gradle plugin bug substituting GeckoView. r=agi,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D88501
2020-08-28 16:51:52 +00:00
Yury Delendik
0e0f07423b Bug 1661331 - Update wasmparser to version 3.1.1 r=bomsy
Differential Revision: https://phabricator.services.mozilla.com/D88325
2020-08-28 16:47:51 +00:00
Francesco Lodolo (:flod)
cbefc75135 Bug 1661640 - Add Fluent migration for bug 1660259, r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D88533
2020-08-28 16:20:50 +00:00
Mitchell Hentges
6263013db0 Bug 1658976: Configure more-accurately detects host triplet r=froydnj
config.guess infers information about the compiler using environment
variables, such as CC. However, we use such environment variables to
configure the tooling for the target.

Differential Revision: https://phabricator.services.mozilla.com/D88085
2020-08-28 15:49:03 +00:00