Граф коммитов

729721 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 3c8d434ae6 Bug 1668870 - Ignore touch listeners in the system group for event retargeting. r=smaug
The audio/video controls element has touch listeners on the scrubber, which
steals events when we don't want it to. So let's ignore those listeners.

Ignoring system group listeners for the purposes of event retargeting seems
reasonable in the general case, because those listeners are coming from the
browser itself. If we're relying on the event retargeting to make those browser
elements easy to hit, then we should not be doing that and instead just make
them bigger.

Test coverage for this change is provided by the android-components tests that
failed in bug 1668112. The next patch re-enables touch event retargeting and
exercises this code in the context of those tests.

Depends on D92436

Differential Revision: https://phabricator.services.mozilla.com/D92437
2020-10-06 18:03:25 +00:00
Kartikaya Gupta 8c7b5f9965 Bug 1668905 - Replace the nsRangeFrame dummy listener with setting a flag on CompositorHitTestInfo directly. r=miko
The purpose of the dummy listener was to make APZ aware of the fact that
the range frame handles touch events without having any other explicit touch
listener. But we can do that more simply/cheaply by setting the eApzAwareListener
flag directly without the dummy listener.

Differential Revision: https://phabricator.services.mozilla.com/D92436
2020-10-07 19:48:23 +00:00
David Teller 07dbd0300f Bug 1669497 - Fix isFissionExperimentEnabled;r=nika
Differential Revision: https://phabricator.services.mozilla.com/D92808
2020-10-07 20:08:38 +00:00
Bobby Holley daf490c526 Bug 1669556 - Remove nsIXPCScriptable enumerate hook. r=mccr8
NewEnumerate is used, but Enumerate isn't.

Differential Revision: https://phabricator.services.mozilla.com/D92685
2020-10-07 20:06:18 +00:00
Bobby Holley e3c690c7da Bug 1669556 - Miscellaneous dead code removal. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D92684
2020-10-07 20:06:16 +00:00
Bobby Holley 80dc7d0169 Bug 1669556 - Simplify FilteringWrapper. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D92683
2020-10-07 20:06:13 +00:00
Bobby Holley ca99f17aad Bug 1669556 - Simplify PreCreate handling WrapperFactory. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D92682
2020-10-07 20:06:06 +00:00
Bobby Holley 347101914e Bug 1669556 - Remove XrayUtils::HasNativeProperty. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D92681
2020-10-07 20:06:03 +00:00
Kris Maglione 00b133dff8 Bug 1669538: Expose reason for Fission enablement decision in nsIXULRuntime. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D92676
2020-10-07 18:40:35 +00:00
emcminn ca0617ab87 Bug 1669608 - Bring bundled css up to date r=pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D92787
2020-10-07 19:04:15 +00:00
Emilio Cobos Álvarez cba105ff25 Bug 1669554 - Fix parsing of initialBrowsingContextGroupId attribute. r=nika
The browsing context group id needs to be an 64-bit integer. Otherwise
when having a browsing context created by a child process, if it goes
over INT32_MAX, parsing fails, and we end up creating a new BCG, which
can end up in the wrong process, etc.

Differential Revision: https://phabricator.services.mozilla.com/D92803
2020-10-07 19:23:39 +00:00
Mark Striemer 36db5d2ba0 Bug 1661984 - Add a browser mochitest to make sure printing in a container tab doesn't crash. r=emilio,hiro
Differential Revision: https://phabricator.services.mozilla.com/D88927
2020-10-07 19:23:42 +00:00
Mark Striemer afd2699f5d Bug 1666776 - Start print with Enter when select is focused r=Jamie,emalysz
Pressing Enter with the initial focus of the print destination select element
will now start the print.
Move a couple :focus rules to use :-moz-focusring for consistency in the print UI.

Differential Revision: https://phabricator.services.mozilla.com/D91839
2020-10-07 03:16:22 +00:00
Dragana Damjanovic 226b522fe0 Bug 1669680 - Read from a neqo stream in a loop until all data re read or thee stream consumer can not handle more data. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D92753
2020-10-07 18:24:31 +00:00
Chris Martin 950eddbf30 Bug 1658416 - Defer simulated gamepad adds until monitoring starts r=handyman
Since the test code will be waiting on a promise from the addGamepad message,
we can simply defer fulfilling the promise until monitoring starts if it
hasn't already.

Since every other message relies on the index given by the fulfilled promise,
it ensures that we won't get any simulated events until monitoring starts

Differential Revision: https://phabricator.services.mozilla.com/D86748
2020-10-07 17:25:24 +00:00
Chris Martin 079c0ec673 Bug 1658416 - Allow gamepad test channel to observe gamepad monitoring state r=handyman
Each existing GamepadTestChannel needs to know when gamepad monitoring is
started or stopped so it knows whether it's safe to deliver messages.

Differential Revision: https://phabricator.services.mozilla.com/D86747
2020-10-07 17:25:26 +00:00
Chris Martin 5781802e5a Bug 1658416 - Remove current pending events handling r=baku
The "pending events" functionality is going to be taken by the test channel
itself, so this code is no longer needed

Differential Revision: https://phabricator.services.mozilla.com/D86746
2020-10-07 17:25:39 +00:00
Eitan Isaacson f050b91638 Bug 1669599 - Support AXEditableAncestor and make it text event target. r=morgan
Depends on D92689

Differential Revision: https://phabricator.services.mozilla.com/D92690
2020-10-07 00:13:34 +00:00
Eitan Isaacson c173a1f486 Bug 1669596 - Allow subdoc GeckoTextMarker to be demarshalled in top document. r=morgan
Depends on D92688

Differential Revision: https://phabricator.services.mozilla.com/D92689
2020-10-06 23:31:32 +00:00
Eitan Isaacson 16d2fdfadc Bug 1669595 - Use top AXWebArea as text event source. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D92688
2020-10-07 18:38:52 +00:00
Dennis Schubert c04e8879a7 Bug 1663967 - Ship v16.0.0 of webcompat system addon. r=ksenia,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92795
2020-10-07 18:27:25 +00:00
Jared Wein 78056aee58 Bug 1668755 - Don't show the default browser notification bar in private windows. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D92794
2020-10-07 18:27:13 +00:00
Chris Fallin 9de8522ff7 Bug 1655042: Support Cranelift-based Wasm validation. r=jseward
This patch is an update of Benjamin Bouvier's WIP patch that supports
Cranelift's new Wasm validator functionality, as introduced in
bytecodealliance/wasmtime#2059.

Previously, Baldrdash allowed SpiderMonkey to validate Wasm function
bodies before invoking Cranelift. The Cranelift PR now causes validation
to happen in the function-body compiler.  Because the Cranelift backend
now takes on this responsibility, we no longer need to invoke the
SpiderMonkey function-body validator. This requires some significant new
glue in the Baldrdash bindings to allow Cranelift's Wasm frontend to
access module type information.

Co-authored-by: Benjamin Bouvier <benj@benj.me>

Differential Revision: https://phabricator.services.mozilla.com/D92504
2020-10-07 17:46:18 +00:00
Chris Fallin 7a5957abe6 Bug 1669055: Vendor Cranelift e22e2c3722f2fbccd3c8d3230119fa04c332c69c. r=jseward
This patch pulls in an updated Cranelift with a new validation strategy,
introduced by bytecodealliance/wasmtime#2059. This new design validates
the Wasm module as it parses the function bodies. A subsequent patch
will adapt Baldrdash to work with this.

Differential Revision: https://phabricator.services.mozilla.com/D92503
2020-10-07 06:25:50 +00:00
Henrik Skupin a82c2aca89 Bug 1628589 - [remote] Enable puppeteer job for all builds on trunk. r=ahal
Instead of running the tests only for changes under /remote
they need to be executed for each changeset on trunk.

Differential Revision: https://phabricator.services.mozilla.com/D92559
2020-10-07 17:23:53 +00:00
Jeff Gilbert e7dc5b9af5 Bug 1669383 - Force default mochitest-webgl runs to use webgl.out-of-process:false. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92530
2020-10-07 17:33:13 +00:00
Kartikaya Gupta f246440880 Bug 1669778 - Add a couple more presets for minimal tier-1 builds. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92786
2020-10-07 17:30:06 +00:00
Kartikaya Gupta edb02da630 Bug 1669547 - Use the currently-running python executable for the preview command. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92656
2020-10-07 17:28:35 +00:00
Jed Davis 567fc3fb12 Bug 1664922 - Allow CPU information in the "utility" sandbox policy, for nsSystemInfo. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D90603
2020-10-07 17:31:37 +00:00
Jed Davis 8805b6cb8f Bug 1662564 - Use RAII for the memory mapping in IPC base::SharedMemory, and default its constructors. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D90602
2020-10-07 17:31:34 +00:00
Jed Davis 679d26c651 Bug 1662564 - Change IPC base::SharedMemory to use RAII for file descriptors/handles. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D90601
2020-10-07 17:31:32 +00:00
Andreea Pavel 4dbb01e9eb Bug 1666843 - disable browser_pointerlock_warning.js on Linux debug fission DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D92776
2020-10-07 17:20:31 +00:00
Stephen A Pohl 12750afc8e Bug 1656004: Change padding for option to match the non-native theming spec. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85303
2020-10-07 17:13:16 +00:00
Harry Twyford a576962a26 Bug 1668389 - Only set #urlbar[open] if we are sure there will be either results or one-offs. r=mak
This was more difficult to solve than I expected. The main issue is that the
`[open]` attribute on `#urlbar` wasn't accurate when the view was "open" but
there were no results or one-offs, so it was in fact closed. This broke a few
style rules.

This bug can also be reached when the user has no engines and clears the search
string while in search mode. This includes pressing Accel+K when typing a search
string while not in search mode.

The relationship between the UrlbarView and the one-offs is complex and depends
on a lot of listeners and async calls made in synchronous contexts. Furthermore,
most of the UrlbarView open/close code is synchronous, but checking the number
of engines (to determine if the one-offs will open) is an async operation. These
factors make it difficult for the view to discern any state about the one-offs
and plan accordingly.

First I tried adding a [oneoff] attribute to .urlbarView, set asynchronously when
the one-offs are built. Then I changed CSS rules to check
```
.urlbarView:not([noresults]),
.urlbarView[oneoffs]
```
instead of just `#urlbar[open]`. This approach would've required changing
a bunch of CSS from the simple `#urlbar[open]` to the more complicated CSS
above, which was not good for code readability. Also it would keep `[open]` in
a weird useless state where it couldn't really be trusted. This would've caused
other styling problems.

I settled on adding a `.then` call around the affected UrlbarView opening. The
view opens only if we are sure that we will have either results or one-offs,
so we can once again trust the `[open]` parameter. This approach has its
drawbacks. Mainly, it's a more JavaScript-heavy solution so it's possibly
slow. Thankfully, it's something that can be easily cached.

Differential Revision: https://phabricator.services.mozilla.com/D92526
2020-10-07 15:02:16 +00:00
Kashav Madan 52c2031a79 Bug 1669583 - Make browser_async_window_flushing.js work with SHIP, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D92669
2020-10-07 11:47:10 +00:00
Anny G 3d58b6a993 Bug 1669604 - Make test_bug1422334.html xorigin compatible, r=smaug
When xorigin is enabled, test url is amended with extra query parameters, as a way to send extra information via test runner, which this test does not expect. When we are comparing test url with the url of the iframe it embeds, we need to remove extra query parameters.

Differential Revision: https://phabricator.services.mozilla.com/D92771
2020-10-07 14:54:36 +00:00
Andrew Sutherland c4e657f4da Bug 1662925 - Make SW fetch events properly queue. r=dom-workers-and-storage-reviewers,janv
Excerpting some documentation I wrote up for an OVERVIEW.md for Service
Workers for this exact use situation below.  The basic situation of this patch
is that we were trying to create the FetchEventOpProxyParent immediately
before the managing PRemoteWorker instance existed, which isn't a thing we can
do.  Because FetchEvent ops are more complicated they require somewhat more
unique handling, but it should have been unified with the PendingOp
infrastructure and was not.  The one notable thing going on actor-wise is that
the request body (if present) requires special RemoteLazyInputStream
serialization and this is something that can only be done once we have the
RemoteWorkerParent.  See https://phabricator.services.mozilla.com/D73173 and
its commit message and my "Restating" blocks for more context.


### Threads and Proxies

#### Main Thread

ServiceWorkerManager's authoritative ServiceWorker state lives on the main
thread in the parent process.  This is due to a combination of legacy factors
and that currently the nsHttpChannel AsyncOpen logic where navigation
interception occurs must be on the main thread.

#### IPDL Background Thread

The IPDL Background Thread is the thread where PBackground parent actors are
created.  Because IPDL actors are explicitly tied to the thread they are created
on and PBackground is the only top-level protocol created for use by DOM
Workers, this thread is the natural home for book-keeping and authoritative
state for APIs that are accessed via PBackground-managed protocols.  For
example, IndexedDB and other QuotaManager-managed storage APIs.

The Remote Worker APIs are all PBackground managed and so all messages sent via
the Remote Worker API need to be sent from the IPDL Background thread.

#### Main Thread to IPDL Background Proxies

There are 2 ways to get data from the main thread to the IPDL Background thread:
either via direct runnable dispatch or via IPDL IPC.  We use IPDL IPC (which
has optimizations for same-process communication).

The following interfaces exist exclusively to proxy requests from the
ServiceWorkerManager on the main thread to the IPDL Background thread.
- `PRemoteWorkerController` is a proxy wrapper around the
  `RemoteWorkerController` API exposed on the IPDL Background thread.
- `PFetchEventOp` is paired with `PFetchEventOpProxy` managed by the above
  `PRemoteWorkerController`.  `PFetchEventOp` gets the data to the IPDL
  Background thread from the main thread, then `PFetchEventOpProxy` gets the
  data down to the content process.

## Non-Fetch ServiceWorker events AKA ExtendableEvents
How non-fetch events are dispatched to the serviceworker (including the IPC).

Because ServiceWorkers are intended to be shutdown and restarted on demand and
most event processing is asynchronous, there needs to be a way to track
outstanding requests and for content logic to indicate when it is done
processing requests.  `ExtendableEvent`s are the mechanism for this.  A method
`waitUntil(promise)` adds promises to be track as long as the event is still
"active".

This straightforward lifecycle means that these events map well to our IPC
async return value mechanism.  This is used by
`PRemoteWorker::ExecServiceWorkerOp`.

## Fetch events and FetchEvent.respondWith()

`FetchEvent`s have a different lifecycle and dataflow than regular
`ExtendableEvents`.  They expose a `respondWith()` method that will eventually
resolve with a fetch `Response` object that potentially needs to be propagated
before the ExtendableEvent is no longer active.  (The response will never be
propagated after `waitUntil()` settles because every call to `respondWith()`
implicitly calls `waitUntil()`.)

From an IPC perspective, this means that `FetchEvent` instances need their own
IPC actor rather than being able to depend on the async return value mechanism
of IPDL.  That's why `PFetchEventOpProxy` exists and is managed by
`PRemoteWorker`.

Differential Revision: https://phabricator.services.mozilla.com/D92021
2020-10-07 16:02:24 +00:00
Andrew Sutherland f2243a9fe7 Bug 1662925 - Test enhancements. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D92020
2020-10-07 16:03:48 +00:00
Nika Layzell 52eb306b64 Bug 1662925 - Part 1: Test fetch intercepting spawning a serviceworker process, r=asuth
This is a WIP patch, and currently fails.

Differential Revision: https://phabricator.services.mozilla.com/D91173
2020-10-07 16:05:30 +00:00
Alexandre Poirot c6c98b8cbc Bug 1669592 - [devtools] Cleanup debugger/package.json dependencies list r=jdescottes
This changeset focuses on dependencies, but surprisingly, it has an impact on bundles.
Looks like one dependency uses another revision.

Differential Revision: https://phabricator.services.mozilla.com/D92736
2020-10-07 15:51:36 +00:00
Alexandre Poirot 6bc39d4810 Bug 1669592 - [devtools] Cleanup debugger/package.json. r=jdescottes
This changeset focus on devDependencies, but a similar work can probably be done on dependencies.
Many dependencies are justifies solely because of jest.
In order to run flow, we only need flow, and we need very few things for bin/bundle.
For me, the three things to keep working are:
* flow
* jest
* bin/bundle to rebuild vendors, reps, worker modules
The debugger frontend itself (src/ folder) is built without involving yarn/package.json.

Differential Revision: https://phabricator.services.mozilla.com/D92735
2020-10-07 15:51:05 +00:00
Mark Banner d453a422a7 Bug 1666172 - Update node to 10.22.1. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D91838
2020-09-29 20:42:10 +00:00
Narcis Beleuzu b4021531e8 Backed out changeset 43d2e0a07c33 (bug 1665792) for crashtests failre on 1665792.html CLOSED TREE 2020-10-08 16:02:35 +03:00
Sebastian Hengst e4b8aede3f Bug 1669493 - Windows 7 debug CSS2 expectation updates. CLOSED TREE DONTBUILD 2020-10-08 15:30:19 +02:00
pbz e7019d518b Bug 1667781 - Refactored ETP blocklist dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92269
2020-10-07 18:46:22 +00:00
pbz 5a1511dfb0 Bug 1667781 - Refactored translation dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92268
2020-10-07 18:44:02 +00:00
pbz 65d9212250 Bug 1667781 - Refactored siteDataSettings dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92267
2020-10-07 18:42:49 +00:00
pbz 8a1c7b1c7c Bug 1667781 - Refactored permission preferences dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92263
2020-10-07 18:41:35 +00:00
pbz f074cb218d Bug 1667781 - Refactored container preferences dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92262
2020-10-07 18:39:20 +00:00
pbz 9b18585a93 Bug 1667781 - Refactored ClearSiteData dialog to use dialog element. r=Gijs,fluent-reviewers,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D92261
2020-10-07 18:37:57 +00:00