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

729481 Коммитов

Автор SHA1 Сообщение Дата
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
Nika Layzell c69565e02f Bug 1661364 - Part 6: Give the recycled process background process priority, r=kmag,jesup
Differential Revision: https://phabricator.services.mozilla.com/D89485
2020-09-14 13:45:49 +00:00
Nika Layzell b772ba7bfb Bug 1661364 - Part 5: Remove MarkAsTroubled, r=kmag
This method has no implementation, and is unused.

Differential Revision: https://phabricator.services.mozilla.com/D88629
2020-09-14 13:45:49 +00:00
Nika Layzell bc478ec278 Bug 1661364 - Part 4: Disable process recycling when prealloc is disabled, r=kmag,jesup
Various tests disable process preallocation in order to get "stable" process
counts for testing purposes. In order to keep this behaviour, we need to disable
and shut down the recycled E10S process whenever the preallocator is disabled.

This is accomplished by having the preallocator expose its enabled status to
ContentParent, and by having the preallocator trigger ContentParent shutdown
when it is disabled.

This also has the benefit of hooking the recycler back into memory pressure
notifications, meaning it will be shut down if not in use when a memory pressure
event occurs.

Differential Revision: https://phabricator.services.mozilla.com/D88628
2020-09-14 13:45:48 +00:00
Nika Layzell 6659bba1f6 Bug 1661364 - Part 3: Add a MaybeBeginShutDown method, r=kmag,jesup
This helper method abstracts over the common tasks performed in every normal
shutdown codepath. This will be useful for making process recycling respect
preallocation being disabled.

Differential Revision: https://phabricator.services.mozilla.com/D88627
2020-09-14 13:45:48 +00:00
Nika Layzell 8ba59b4f56 Bug 1661364 - Part 2: Don't recycle web processes with Fission enabled, r=kmag,jesup
It is uncommon to have long-lived "web" processes when Fission is enabled, so in
general we probably don't want to be performing content process recycling.

We also skip recycling web processes when E10s is disabled, as the process
preallocator would be disabled in that case, so recycling processes can lead to
mochitest-chrome test failures.

Differential Revision: https://phabricator.services.mozilla.com/D88626
2020-09-14 13:45:48 +00:00
Nika Layzell bdeb969b66 Bug 1661364 - Part 1: Don't remove recycled content processes from the pool, r=kmag,jesup
Previously, we would use the PreallocatedProcessManager to handle recycled
"web" content processes, which would remove them from the pool and try to make
them act like "prealloc" content processes.

Unlike true preallocated content processes, we can end up having content loaded
in recycled "web" content processes, such as due to a new pop-up being created
at an inconvenient time during process teardown. The complexity around this
semi-prealloc state caused some assertion failures in other related code.

This new approach doesn't remove the recycled process from the process selection
pool. Instead, after process selection decides to spawn a new "web" process, a
pointer to the specific "recycled" content process is fetched and returned by
the process selection algorithm before asking the preallocator.

This new approach should have similar behaviour, but avoids some of the pitfalls
caused by removing the entry from the process selection pool after it has begun
hosting content.

Differential Revision: https://phabricator.services.mozilla.com/D88625
2020-09-14 13:45:48 +00:00
Nika Layzell a008f5cdae Bug 1660342 - Add more assertions around host state, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D87928
2020-09-16 04:43:54 +00:00
Andreea Pavel da3b8233f6 Merge mozilla-central to autoland on a CLOSED TREE 2020-10-07 18:57:31 +03:00
Andreea Pavel 1015fc2548 Merge autoland to mozilla-central a=merge 2020-10-07 18:45:09 +03:00
Andreea Pavel 4e78008f2d Backed out changeset 5bc024234126 (bug 1658308) for breaking bugzilla.mozilla.org a=backout 2020-10-07 17:50:32 +03:00
Simon Giesecke d335ae6911 Bug 1653276 - Ensure that IndexedDB operations are cancelled when nsGlobalWindowInner::FreeInnerObjects is called. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D92209
2020-10-07 14:38:50 +00:00
Sylvestre Ledru 5c7636b11a no bug - Fix more docs warnings (404) r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D92765
2020-10-07 15:30:36 +00:00
Jeff Muizelaar e34b83a0aa Bug 1669726 - Fix WeakTable test. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D92770
2020-10-07 14:55:01 +00:00
Razvan Maries f56817ceee Backed out changeset da4cf62e21fb (bug 1668851) for perma failures on browser_cdp.js. CLOSED TREE 2020-10-07 15:08:01 +03:00
Razvan Maries 16156cddff Backed out changeset 8d5f1790048c (bug 1653276) for very frequently failures on ActorsChild.cpp. CLOSED TREE 2020-10-07 14:57:40 +03:00
Razvan Maries 7ed0fd1168 Backed out 2 changesets (bug 1668825) for build bustages on TracingAPI.h. CLOSED TREE
Backed out changeset 5bc8cb307c61 (bug 1668825)
Backed out changeset 0e6a88c27779 (bug 1668825)
2020-10-07 14:34:10 +03:00
André Bargull 0d11db55c4 Bug 1669181 - Part 40: Move "jit/CompileInfo.h" include in "jit/JitcodeMap.h" to the cpp file. r=jandem
Replace the include with a forward declaration of `InlineScriptTree`.

Depends on D92630

Differential Revision: https://phabricator.services.mozilla.com/D92631
2020-10-07 10:51:46 +00:00