Commit Graph

737670 Commits

Author SHA1 Message Date
Jan de Mooij
4efdce1a1d Bug 1673553 part 97 - Remove more object pre-tenuring code. r=jonco
We can bring this back in the future if needed.

Differential Revision: https://phabricator.services.mozilla.com/D99225
2020-12-10 09:55:08 +00:00
Jan de Mooij
525b22493c Bug 1673553 part 96 - Remove unused GuardGroupHasUnanalyzedNewScript CacheIR op. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D99224
2020-12-10 09:55:05 +00:00
Jan de Mooij
5962800f6d Bug 1673553 part 95 - Remove BaselineCacheIRStubKind. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D99223
2020-12-10 09:54:58 +00:00
Jan de Mooij
0371be7c05 Bug 1673553 part 94 - Remove callTypeUpdateIC, clean up callers. r=iain
The callers no longer need fixed registers, which should improve codegen a little.

In emitStoreDenseElementHole we can simplify the handleAdd case by merging the
"before type update IC" and "after type update IC" code.

In emitArrayPush use AutoOutputRegister, the old code loaded the value in R0 and
then relied on that register matching the IC's output register.

Differential Revision: https://phabricator.services.mozilla.com/D99222
2020-12-10 09:54:50 +00:00
Jan de Mooij
2535397b3c Bug 1673553 part 93 - Remove group-changing code from AddSlot ops. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D99221
2020-12-10 09:54:47 +00:00
Jan de Mooij
cd3a126171 Bug 1673553 part 92 - Inline AddICImpl into its caller. r=iain
Also change the argument type from ICStub* to ICFallbackStub* so that we don't
need the `toFallbackStub()` cast. This required changing the callers to use auto*
so that they pass the derived type.

Drive-by change: add a MOZ_UNLIKELY for the OOM path as this code is somewhat hot.

Differential Revision: https://phabricator.services.mozilla.com/D99220
2020-12-10 09:54:40 +00:00
Jan de Mooij
4380f0f7b8 Bug 1673553 part 91 - De-duplicate more GetProp IC code. r=iain
With TI the preliminary-object handling made this more difficult.

In the IonIC code we can also remove TryAttachIonStub's IC template parameter.

Differential Revision: https://phabricator.services.mozilla.com/D99219
2020-12-10 09:54:32 +00:00
Jan de Mooij
6df69ea548 Bug 1673553 part 90 - Remove remaining code for AMD Bobcat workaround. r=tcampbell
Warp has let us remove the Baseline Type Monitor stubs that triggered the bug.
The workarounds also didn't stop the crashes.

Differential Revision: https://phabricator.services.mozilla.com/D99218
2020-12-10 09:54:24 +00:00
Jan Varga
f9e75bef44 Bug 1680275 - IDB: Change DatabaseActorInfo::mLiveDatabases to use NotNull; r=dom-workers-and-storage-reviewers,sg
Differential Revision: https://phabricator.services.mozilla.com/D98717
2020-12-10 09:36:11 +00:00
Christoph Kerschbaumer
8c7ebbbc65 Bug 1681504: Remove unused argument aPrincipal from AddGeolocationListener() in Pcontent.ipdl r=nika
Differential Revision: https://phabricator.services.mozilla.com/D99217
2020-12-10 09:09:19 +00:00
Dimi Lee
c21d8e13f2 Bug 1676804 - P3. Add testcase r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D98900
2020-12-09 09:20:51 +00:00
Dimi Lee
6d6dbd1b70 Bug 1676804 - P2. Safe Browsing canonicalization should escape # r=gcp
We didn't escape '#' as defined in the Safe Browsing spec
"In the URL, percent-escape all characters that are <= ASCII 32, >= 127, "#", or "%".
The escapes should use uppercase hex characters."

See https://developers.google.com/safe-browsing/v4/urls-hashing

Differential Revision: https://phabricator.services.mozilla.com/D98899
2020-12-09 09:17:15 +00:00
Dimi Lee
0f3bd5a3be Bug 1676804 - P1. Safe Browsing canonicalization should not include query string r=gcp
In the Safe Browsing spec, it says "Do not apply these path canonicalizations to the query parameters.",
we should follow it.

Differential Revision: https://phabricator.services.mozilla.com/D98898
2020-12-09 07:43:30 +00:00
Simon Giesecke
8d2b7cd0bf Bug 1681087 - Remove logspam from localstorage shutdown. r=janv,dom-workers-and-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D99319
2020-12-10 08:44:50 +00:00
Butkovits Atila
c05a4ae674 Bug 1533760- lint fix. a=fix. CLOSED TREE 2020-12-10 10:48:22 +02:00
Petr Sumbera
f595ff8f0f Bug 1533760 - Solaris should use linker symbols file too r=glandium
This was missed from fix for:
  Bug 1651082 - Add support for Solaris linker

Differential Revision: https://phabricator.services.mozilla.com/D97876
2020-12-10 07:50:32 +00:00
Julian Seward
7564a2282f Bug 1681485 - Revendor Cranelift to 3334d92350da40b90d2529c147db3ea44918b558. r=lth.
Revendor Cranelift to 3334d92350da40b90d2529c147db3ea44918b558
from https://github.com/mozilla-spidermonkey/wasmtime branch firefox85.
The (only) purpose is to pull in this fix for an apparently rare but serious
LICM bug:

Fix missing modification of jump table in LICM.
See https://github.com/bytecodealliance/wasmtime/pull/1697

Differential Revision: https://phabricator.services.mozilla.com/D99230
2020-12-10 06:51:48 +00:00
Butkovits Atila
e405e7af27 Bug 1675676- Lint fix. a=fix. CLOSED TREE 2020-12-10 09:44:21 +02:00
Edmund Wong
d9f8f4beaa Bug 1675676 - Add --with-crashreporter-url for ac_add_options to allow specifying alternative crash-stats server url. r=glandium,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D96322
2020-12-08 11:38:38 +00:00
Mike Hommey
a5ae57fe22 Bug 1681441 - Update valgrind package to Debian's 3.16.1. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D99182
2020-12-09 15:50:05 +00:00
Christoph Kerschbaumer
92319b0661 Bug 1681510: Remove unused argument aPrincipal from CopyFavicon() in Pcontent.ipdl r=nika
Differential Revision: https://phabricator.services.mozilla.com/D99226
2020-12-10 05:53:17 +00:00
Chris Peterson
4415bec7a4 Bug 1681242 - Remove obsolete CGEvent workaround needed for macOS versions < 10.10.2. r=haik,spohl
This workaround is no longer needed because Firefox >= 79 requires macOS >= 10.12.

Differential Revision: https://phabricator.services.mozilla.com/D99019
2020-12-09 19:31:23 +00:00
Mark Striemer
c9ae71083c Bug 1676388 - Part 3: Disable print setting inputs while loading printer settings r=sfoster
When loading a printer's settings it can take a few seconds for physical printers. If
this happens then changes made while the settings are being fetched could be thrown
away. Disable the form while we're loading settings for a printer to avoid losing
settings changes.

Differential Revision: https://phabricator.services.mozilla.com/D99156
2020-12-10 04:34:42 +00:00
Mark Striemer
b289835ef1 Bug 1676388 - Part 2: Only listen to input events in print dialog r=sfoster
This removes all the change event listeners so that all the elements listen
for just the input event. Listening to both could cause two settings change
events to be dispatched and requires writing code to ignore change events
in many components.

Differential Revision: https://phabricator.services.mozilla.com/D99136
2020-12-10 04:34:39 +00:00
Mark Striemer
79cefbe880 Bug 1676388 - Part 1: Don't update to new printer settings if printer has since changed r=sfoster
When changing printers one of them could be slower than another. If you change
to a slow printer and back to an already loaded/fast printer then the slow
printer shouldn't overwrite the settings once it finally loads.

Example: Start print on PDF printer, switch to a physical printer and back to PDF. If
the physical printer had to be contacted to pull settings this operation could take
a few seconds, at which point the settings from the physical printer could overwrite
the PDF printer settings.

Differential Revision: https://phabricator.services.mozilla.com/D99135
2020-12-10 04:34:37 +00:00
Doug Thayer
70311ae36a Bug 1680258 - Relax startup IPC test for skeleton UI due to paint timings r=florian
I don't have a crystal clear story of why these timings are different with the
skeleton UI enabled. However, it's not remarkably surprising that it changes the
order of some events during startup which come from the core Windows event loop.
I don't think it's worth diving incredibly deep to understand this - looking at
the profile we still only see one of each of these events.

Differential Revision: https://phabricator.services.mozilla.com/D99111
2020-12-10 03:38:37 +00:00
Doug Thayer
0411080eef Bug 1680258 - Ensure we properly clamp values to draw region r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D99110
2020-12-10 03:38:29 +00:00
Doug Thayer
e893f4d2dc Bug 1680258 - Ensure UI state initialized for skeleton UI r=mhowell
This was causing us to have slightly wrong focusring behavior, leading to wpt
failures in focus-visible-005.html.

Differential Revision: https://phabricator.services.mozilla.com/D98479
2020-12-10 03:38:22 +00:00
Doug Thayer
677a93c33e Bug 1680258 - Change first paint notification event when skele UI enabled r=florian
Having the window present earlier changes the ordering of these events, such
that it doesn't come through at the time that the browser_startup test needs it
to. I think this event should be correct anyway, given that we already painted
the skeleton UI?

Differential Revision: https://phabricator.services.mozilla.com/D98478
2020-12-10 03:38:14 +00:00
Doug Thayer
e5fb1240db Bug 1680258 - Don't try to draw rects with 0 width or height r=emalysz
This prevents an assertion from tripping below.

Differential Revision: https://phabricator.services.mozilla.com/D98476
2020-12-10 03:38:07 +00:00
Doug Thayer
e2a2d43d90 Bug 1680258 - Check for problematic env vars for skeleton UI r=Gijs
Some env vars have effects similar to command line arguments which present
problems for the skeleton UI, and we want to treat these env vars similarly.

Differential Revision: https://phabricator.services.mozilla.com/D98475
2020-12-10 03:37:59 +00:00
Doug Thayer
f0e16e432e Bug 1680258 - Improve skeleton UI arg checking for marionette r=Gijs
Previously, we implemented arg checking with `marionette` just carrying a free
pass, so we could let the arguments which typically come when running tests.
However, some marionette tests do like to play with arguments which we do not
want to get a free pass, such as -safe-mode. These changes allow just the
-profile argument through, as that is necessary for running tests.

Differential Revision: https://phabricator.services.mozilla.com/D98474
2020-12-10 03:37:52 +00:00
Adam Gashlin
ad6acb40ef Bug 1681207: Remove unwanted WDBA shortcut on post update and uninstall. r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D99303
2020-12-10 04:28:36 +00:00
Emma Malysz
1746b19e30 Bug 1676199, do not refresh preview for changes to copies or duplex printing r=sfoster
Differential Revision: https://phabricator.services.mozilla.com/D98980
2020-12-10 03:00:38 +00:00
Emilio Cobos Álvarez
1b0b93c8ca Bug 1680716 - Fix a remaining bit of metadata. r=malexandru
Differential Revision: https://phabricator.services.mozilla.com/D99298
2020-12-10 02:45:19 +00:00
Emilio Cobos Álvarez
558087c533 Bug 1681565 - Turn cbindgen asserts on in nightly / early-beta. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D99270
2020-12-09 22:36:02 +00:00
Emilio Cobos Álvarez
ab1ebe2e24 Bug 1681026 - Fix PrintPreviewScrollToPage assert and simplify it. r=hiro
It was off-by-one as the pages are one-indexed.

Differential Revision: https://phabricator.services.mozilla.com/D99212
2020-12-09 21:17:22 +00:00
David Major
56fdf285db Bug 1681582 - Disable Rust CFG on aarch64-windows r=firefox-build-system-reviewers,mhentges
This is bug 1639318 all over again except from Rust rather than C++. It's the same symptom, nsXPTCStub vtables aren't marked as valid targets.

In the earlier bug we disabled CFG for C++ on ARM64. Let's do the same for Rust. According to that bug, "It's not clear why this doesn't happen on x86 builds. Given priorities, I can't really justify investigating this, although I suspect that fixing the underlying issue would be pretty much bug 1483885."

Differential Revision: https://phabricator.services.mozilla.com/D99278
2020-12-10 01:27:38 +00:00
Bryce Seager van Dyk
3c358eec6e Bug 1675360 - Shutdown MediaKeys when parent inner window is destroyed rather than document. r=karlt
Rework the MediaKeys class to shutdown when its parent inner window is destroyed
rather than the document it's created in. This is done to mitigate the case
where a MediaKeys is created in an about:blank document that has not yet
undergone its async load (i.e. blank document that will stay blank, blank
documents loading to other pages will still clobber their keys on load). This
specifically addresses cases where sites could create an iframe, not wait for
load, create a MediaKeys in the iframe, and then find the keys had become
unusable.

This is achieved by associating MediaKeys instances with their inner window and
having the window notify keys when a window is going to be destroyed. I decided
to use this approach rather than have MediaKeys observe for window destruction
for a few reasons:
- The keys would need to support weak references to use the observer service in
  the desired way. Implementing this interface on the MediaKeys adds a
  non-trivial level of complexity and means the keys would implement the WeakPtr
  interface (already in place prior to this patch) and also the NS weak
  reference interface, which I found confusing.
- If the inner window stores pointers to MediaKeys created in it, it can be self
  aware of if EME activity is taking place within it. The allows us to better
  identify EME activity in documents. Historically one of the ways we'd
  determined EME activity by checking if media elements have MediaKeys attached,
  but this had lead to issues where if MediaKeys are created but not attached
  to a media element we overlook them. With this patch's changes, we can also
  have a document check its inner window to see if there are any MediaKeys. This
  patch uses this to extend our check to avoid bfcaching pages with EME content.
- There appears to be prior art using a similar approach for audio contexts and
  peer connections, which I assume is sensible and I'm not reinventing the wheel
  by following.

Differential Revision: https://phabricator.services.mozilla.com/D98641
2020-12-10 01:03:27 +00:00
Bryce Seager van Dyk
8ce34cc674 Bug 1675360 - Have MediaKeys::Init search for load info on the parent if the current doc doesn't have any. r=karlt
If MediaKeys::Init is called before an about:blank doc has performed its async
load, then that document will not have a channel and thus will not have a load
info. This means we cannot look up the top level principal on such a document.

Since we need the top level principal to ensure GMPs are appropriately isolated
from one another, this patch checks the document above the current doc for a
channel and load info in the case the current document does not have one. Since
an about:blank document is considered in the same origin as its parent, this
should be suitable. This process is done recursively to handle edge cases.

Differential Revision: https://phabricator.services.mozilla.com/D97322
2020-12-09 23:55:34 +00:00
Bryce Seager van Dyk
95bee43f32 Bug 1675360 - Add test coverage for createMediaKeys in iframes. r=karlt
Provide coverage that ensures we can:
- Call navigator.requestMediaKeySystemAccess() and receive access
- Call createMediaKeys on the access object
in iframes that are same and different origin.

This should work when waiting for an iframe to fire the load event, but I also
provide a case for if we do not wait for load. It's undesirable to not wait for
the load, but we've historically worked in this case (if this was intentional is
not clear to me). So providing such a test allows for coverage of this case as
long as we want to continue supporting it. Said test will be red as of this
patch, but an immediate follow up will restore our compat with this case.

Differential Revision: https://phabricator.services.mozilla.com/D97321
2020-12-09 23:55:28 +00:00
Daniel Holbert
345e76ee7a Bug 1681623: Simplify pages-per-sheet data & logic to only store a single track count (either the row or column count), since the other one is implicit. r=TYLin
This patch doesn't change behavior.  It's just a simplification of the data
that we track for our different pages-per-sheet mode (with some minor
refactoring of the logic involved).

This is a necessary step towards implementing support for 2 and 6
pages-per-sheet (which are referenced in comments included in this patch,
and which will be implemented separately in bug 1669905)

Differential Revision: https://phabricator.services.mozilla.com/D99180
2020-12-10 00:58:43 +00:00
Tooru Fujisawa
89024b30a1 Bug 1657614 - Decouple ObjLiteralWriter and ObjLiteralStencil. r=nbp
ObjLiteralStencil doesn't have to be writable, and the cost of Vector handling
is problematic when decoding.

Decoupled ObjLiteralWriter from ObjLiteralStencil and now ObjLiteralStencil
has a Span that points memory block inside LifoAlloc.
While compiling, the data is copied from ObjLiteralWriter's Vector to LifoAlloc,
and while decoding, the memory is copied from XDR buffer to LifoAlloc.

Differential Revision: https://phabricator.services.mozilla.com/D99052
2020-12-10 00:42:18 +00:00
Tooru Fujisawa
16b6b21b55 Bug 1677260 - Directly use TaggedParserAtomIndex in ObjLiteral code. r=nbp
Now ParserAtom can be referred by single uint32_t data, and we don't have to
store ParserAtom pointer inside ObjLiteralWriter.

Previously the number of atoms referred from object literal was limited to
24-bit, in order to pack opcode + atom in 32-bit, but the limitation is removed,
and now atom always use 32-bit, separated from opcode.

Differential Revision: https://phabricator.services.mozilla.com/D99051
2020-12-09 01:40:56 +00:00
Tooru Fujisawa
f24276613f Bug 1681011 - Make CompilationStencil.moduleMetadata field optional. r=nbp
To suppress ctor/dtor cost of Vectors inside StencilModuleMetadata,
Make CompilationStencil.moduleMetadata Maybe and emplace only when compiling/
decoding module.

Differential Revision: https://phabricator.services.mozilla.com/D99050
2020-12-08 17:18:52 +00:00
Tooru Fujisawa
157d9e67fe Bug 1678170 - Update opcode for bug 1673553. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D99073
2020-12-10 00:47:28 +00:00
Lee Salzman
ea6e9085d8 Bug 1679477 - avoid division by zero W coordinate. r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D99007
2020-12-10 00:43:37 +00:00
Morgan Reschenberg
b96b198d6d Bug 1649720: Ensure XUL trees expose their internal columns to VoiceOver r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D97227
2020-12-10 00:15:38 +00:00
Dana Keeler
dfc8179fe9 Bug 1677851 - simplify DataStorage background task handling r=kjacobs,bbeurdouche
This patch removes the hand-rolled shared background thread in favor of
individual background synchronous event targets. Also, the timer configuration
was moved to the main thread. It now dispatches events to the background task
queue, which makes it easier to reason about.

Differential Revision: https://phabricator.services.mozilla.com/D98977
2020-12-10 00:14:06 +00:00
Kartikaya Gupta
4d5f465adf Bug 1681314 - Update helper_checkerboard_no_multiplier.html to async/await style. r=botond
Depends on D99121

Differential Revision: https://phabricator.services.mozilla.com/D99122
2020-12-09 22:42:37 +00:00