792755 Commits

Author SHA1 Message Date
Kershaw Chang
9fa0fc717a Bug 1762201 - Make sure ConfirmationContext::RecordEvent is locked, r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D144022
2022-04-22 09:39:31 +00:00
Bernard Igiri
3a0848129e Bug 1763430 - Add Expiration Pill to Colorway Closet Modal r=dao
Added Expiration Date pill to Colorway Closet modal dialog.

Differential Revision: https://phabricator.services.mozilla.com/D144052
2022-04-22 09:35:09 +00:00
Gerald Squelart
c0482a75ea Bug 1765922 - Ensure/ReleaseBufferForMainThreadAddMarker from main thread in profiler_start/stop - r=florian
In child processes, Gecko Profiler's profiler_start/stop are running OFF the main thread, so the calls to Ensure/ReleaseBufferForMainThreadAddMarker should be dispatched to the main thread for them to actually create/destroy the main-thread buffer.

Note that this is not done in the Base Profiler, because it should always run on the main thread, and if it wasn't there would be no way to dispatch a task to the main thread -- and it wouldn't be too much of an issue anyway, there are few markers running outside of Gecko Profiler sessions.

Differential Revision: https://phabricator.services.mozilla.com/D144387
2022-04-22 09:26:11 +00:00
Jon Coppeard
3b93439362 Bug 1765338 - Don't force the result of JS_CloneObject to be tenured r=jandem
Depends on D144019

Differential Revision: https://phabricator.services.mozilla.com/D144305
2022-04-22 09:09:26 +00:00
Jon Coppeard
a39971b580 Bug 1765338 - Allow transplanting of nursery objects r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D144019
2022-04-22 09:09:25 +00:00
Timothy Nikkel
5702c6bb2c Bug 1765116. Don't ignore any potential invalidation rect from calling UpdateState in FrameAnimator::ResetAnimation. r=aosmond
I added this in bug 1676990, I'm not sure why I ignored the rect return value, probably should have either asserted it was empty if I thought that or dealt with the return value.

Depends on D143894

Differential Revision: https://phabricator.services.mozilla.com/D143895
2022-04-22 09:00:42 +00:00
Emilio Cobos Álvarez
6755393273 Bug 1765714 - Move Wayland popup bounds check to LayoutPopup(). r=stransky
It is the right place to do it, otherwise we don't have the guarantee of
it invalidating ancestor sizes or anything.

It's also what we invalidate in WaylandPopupPropagateChangesToLayout().

We otherwise do not have the guarantee of SetPopupPosition running
before or after layout, if sizes do not change. That caused the popup
size to remain big, which caused a resize loop.

Differential Revision: https://phabricator.services.mozilla.com/D144314
2022-04-22 08:44:58 +00:00
Julian Descottes
dfb8d25b1d Bug 1750446 - [devtools] Wait for the proper mutation in browser_rules_custom.js r=nchevobbe
We usually need three mutations to reach the final state of addProperty and usually the 2nd and 3rd come in the same batch.
Meaning that simply waiting for receivedMutations >= 2 works in most cases.

But the intermittent screenshots show that the markup view was not updated yet with the correct content meaning it either didn't receive or processed the last
mutation.
Let's try to wait for the proper mutation instead of using an arbitrary number. Hopefully this fixes it.

Differential Revision: https://phabricator.services.mozilla.com/D144181
2022-04-22 08:17:02 +00:00
ui.sayuree
b68c90a4d2 Bug 1666456 - [remote] added tests to Assert.positiveNumber. r=whimboo,jdescottes,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D144315
2022-04-22 08:15:49 +00:00
Zhao Jiazhong
67e246b6b4 Bug 1765946 - [loong64] Fix some typos. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D144394
2022-04-22 08:06:27 +00:00
Jan de Mooij
90e3a57c35 Bug 1765773 part 3 - Move outerization into the caller that needs it. r=iain
InternalCall has two callers and only one of them needs this extra step.
CallFromStack is used for calls from JS and Window is never exposed to script.

Depends on D144288

Differential Revision: https://phabricator.services.mozilla.com/D144289
2022-04-22 07:54:20 +00:00
Jan de Mooij
c8b7d6543e Bug 1765773 part 2 - Add a fast path for non-global-objects. r=iain
In most cases, the |this| object isn't a global and in that case we don't have
to do anything.

Depends on D144287

Differential Revision: https://phabricator.services.mozilla.com/D144288
2022-04-22 07:54:20 +00:00
Jan de Mooij
18f4a97f06 Bug 1765773 part 1 - Add CalleeNeedsOuterizedThisObject helper function. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D144287
2022-04-22 07:54:19 +00:00
jaia
0b5143a5da Bug 1762459 - disclaimer in the quick ref page that links to the setup page for a more detailed tutorial r=firefox-source-docs-reviewers,sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D142631
2022-04-22 07:03:15 +00:00
Mozilla Releng Treescript
5b74d58ae2 no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD
es-AR -> 14e4e1211725b28e1435b122ed337df8264b659e
hye -> 6fb2b93bb8aa19d3a484d206e5cbc2daccc7506c
sv-SE -> 7f862588705770e79f210a97dac34832e65750f7
2022-04-22 06:58:42 +00:00
Florian Quèze
257c2cbade Bug 1763474 - Report thread wake-ups and CPU time per thread through glean, r=gerald,chutten
Differential Revision: https://phabricator.services.mozilla.com/D141147
2022-04-22 06:20:51 +00:00
Bas Schouten
a46cd6bcd5 Bug 1751693 - Followup: Address missed review comment by glandium. r=glandium DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D144386
2022-04-22 04:59:07 +00:00
Feng Yu
a8a85d4031 Bug 1554914 Simplify devtools/server/actors/object.js and remove eslint-disable complexity r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D143834
2022-04-22 04:47:27 +00:00
Bas Schouten
6932a162a8 Bug 1751693: Add telemetry probe to measure glyph rasterization time and the required plumbing for WR. r=jrmuizel,nical
Differential Revision: https://phabricator.services.mozilla.com/D140681
2022-04-22 04:39:52 +00:00
Norisz Fay
cc03ccd836 Merge autoland to mozilla-central. a=merge 2022-04-22 06:37:47 +03:00
Glenn Watson
02380d6fd1 Bug 1764875 - Fix scale factors for perspective surfaces when not specified by Gecko r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D144339
2022-04-22 03:15:13 +00:00
Steve Fink
4531b772d7 Bug 1440727 - Disallow extra data at the end of serialized data buffer r=decoder,jonco
Differential Revision: https://phabricator.services.mozilla.com/D141391
2022-04-22 03:08:47 +00:00
Norisz Fay
76f39a8bdc Merge mozilla-central to autoland. CLOSED TREE 2022-04-22 06:49:57 +03:00
Hiroyuki Ikezoe
64bbee7d38 Bug 1765895 - Make presshellId start from 1 rather than 0. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D144351
2022-04-22 02:06:12 +00:00
Hiroyuki Ikezoe
ed84f0e2c9 Bug 1765895 - s/IsRegistereddWithCurrentPresShell/IsRegisteredWithCurrentPresShell. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D144350
2022-04-22 02:06:11 +00:00
Jed Davis
272d93bb18 Bug 1759196 - Fix the Linux sandbox's handling of 32-bit arguments on 64-bit platforms. r=gcp,bobowen
Background: When 32-bit types are passed in registers on x86-64 (and
probably other platforms?), the function call ABI does not specify the
contents of the upper half, and the Linux kernel syscall ABI appears to
have the same behavior.

In practice, the upper half is usually zero (or maybe sign-extended from
the lower half), because 64-bit operations aren't cheaper than 32-bit,
and 32-bit operations zero-extend their outputs; therefore, this case
usually doesn't happen in the first place, and any kind of spill or
register move will zero the upper half.  However, arbitrary values are
possible, and a case like this has occurred with the Firefox profiler
using `clock_gettime`.  (This paragraph is applicable to x86-64 and
ARM64; other 64-bit architecutures may behave differently.)

But the Chromium seccomp-bpf compiler, when testing the value of a 32-bit
argument on a 64-bit platform, requires that the value be zero-extended
or sign-extended, and (incorrectly, as far as I can tell) considers
anything else an ABI violation.

With this patch, when that case is detected, we use the `SIGSYS` handler
to zero-extend the problematic argument and re-issue the syscall.

(It would also be possible to just ignore the upper half, and that would
be faster, but that could lead to subtle security holes if the type
used in `bpf_dsl` is incorrect and the kernel really does treat it as
64-bit.)

Differential Revision: https://phabricator.services.mozilla.com/D143964
2022-04-22 02:00:51 +00:00
Mike Hommey
51ac12e4a3 Bug 1764509 - Update builders to clang 14.0.1. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D143570
2022-04-22 01:52:43 +00:00
Mike Hommey
407fae9455 Bug 1765474 - Fix unused-but-set-variable warning in OggDemuxer.cpp. r=media-playback-reviewers,padenot
dom/media/ogg/OggDemuxer.cpp:1905:7: error: variable 'hops' set but not used [-Werror,-Wunused-but-set-variable]
  int hops = 0;
      ^

Differential Revision: https://phabricator.services.mozilla.com/D144147
2022-04-22 01:25:08 +00:00
Mike Hommey
0e99daec55 Bug 1765474 - Fix unused-but-set-variable warning in TestBaseProfiler.cpp. r=gerald
mozglue/tests/TestBaseProfiler.cpp:2188:12: error: variable 'chunk1ReuseCount' set but not used [-Werror,-Wunused-but-set-variable]
  unsigned chunk1ReuseCount = 0;
           ^

Differential Revision: https://phabricator.services.mozilla.com/D144146
2022-04-22 01:25:08 +00:00
Mike Hommey
f0ff0bc3aa Bug 1765474 - Fix deprecated-non-prototype warnings in editline. r=jandem
js/src/editline/editline.c:147:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
TTYput(c)
^
js/src/editline/editline.c:158:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
TTYputs(p)
^
js/src/editline/editline.c:166:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
TTYshow(c)
^
js/src/editline/editline.c:187:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
TTYstring(p)
^
js/src/editline/editline.c:212:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
TTYbackn(n)
^
js/src/editline/editline.c:288:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
left(Change)
^
js/src/editline/editline.c:305:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
right(Change)
^
js/src/editline/editline.c:322:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
do_macro(c)
^
js/src/editline/editline.c:340:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
do_forward(move)
^
js/src/editline/editline.c:365:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
do_case(type)
^
js/src/editline/editline.c:441:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
insert_string(p)
^
js/src/editline/editline.c:502:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
do_insert_hist(p)
^
js/src/editline/editline.c:515:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
do_hist(move)
^
js/src/editline/editline.c:557:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
substrcmp(text, pat, len)
^
js/src/editline/editline.c:607:14: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
        if ((*match)((char *)H.Lines[H.Pos], pat, len) == 0)
                    ^
js/src/editline/editline.c:573:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
search_hist(search, move)
^
js/src/editline/editline.c:663:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
save_yank(begin, i)
^
js/src/editline/editline.c:682:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
delete_string(count)
^
js/src/editline/editline.c:781:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
insert_char(c)
^
js/src/editline/editline.h:81:13: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
extern void     rl_add_slash();
                ^
js/src/editline/sysunix.c:36:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
rl_ttyset(Reset)
^
js/src/editline/sysunix.c:139:1: error: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
rl_add_slash(path, p)
^

Differential Revision: https://phabricator.services.mozilla.com/D144145
2022-04-22 01:25:07 +00:00
Mike Hommey
b225d730f0 Bug 1765474 - Fix unused-but-set-variable warnings in netwerk/. r=necko-reviewers,dragana
netwerk/protocol/http/Http2Compression.cpp:326:12: error: variable 'removedCount' set but not used [-Werror,-Wunused-but-set-variable]
  uint32_t removedCount = 0;
           ^
netwerk/streamconv/converters/nsDirIndexParser.cpp:376:11: error: variable 'numItems' set but not used [-Werror,-Wunused-but-set-variable]
  int32_t numItems = 0;
          ^

Differential Revision: https://phabricator.services.mozilla.com/D144144
2022-04-22 01:25:07 +00:00
Mike Hommey
63c7aa24f6 Bug 1765474 - Fix unused-but-set-variable warning in nsSprocketLayout.cpp. r=emilio
layout/xul/nsSprocketLayout.cpp:1116:14: error: variable 'pass' set but not used [-Werror,-Wunused-but-set-variable]
    for (int pass = 1; true == limit; pass++) {
             ^

Differential Revision: https://phabricator.services.mozilla.com/D144143
2022-04-22 01:25:07 +00:00
Mike Hommey
5123b3db30 Bug 1765474 - Disable warnings in modules/zlib. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D144142
2022-04-22 01:25:06 +00:00
Mike Hommey
915625fcba Bug 1765474 - Fix unused-but-set-variable warning in js/src. r=jandem
js/src/frontend/BytecodeEmitter.cpp:4893:12: error: variable 'count' set but not used [-Werror,-Wunused-but-set-variable]
  uint32_t count = cookedOrRaw->count();
           ^
js/src/frontend/BytecodeEmitter.cpp:4910:10: error: variable 'idx' set but not used [-Werror,-Wunused-but-set-variable]
  size_t idx;
         ^
js/src/irregexp/RegExpNativeMacroAssembler.cpp:899:10: error: variable 'pushedNonVolatileRegisters' set but not used [-Werror,-Wunused-but-set-variable]
  size_t pushedNonVolatileRegisters = 0;
         ^

Differential Revision: https://phabricator.services.mozilla.com/D144141
2022-04-22 01:25:06 +00:00
Mike Hommey
7ee709ee45 Bug 1765474 - Fix unused-but-set-variable warning in MIDIUtils.cpp. r=gsvelto
dom/midi/MIDIUtils.cpp:110:12: error: variable 'bytesRead' set but not used [-Werror,-Wunused-but-set-variable]
  uint32_t bytesRead = 0;
           ^

Differential Revision: https://phabricator.services.mozilla.com/D144140
2022-04-22 01:25:05 +00:00
Sean Feng
893710b672 Bug 1765866 - Update the BUG_COMPONENT for Performance APIs to DOM: Performance r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144340
2022-04-22 00:27:38 +00:00
Timothy Nikkel
4ffc0e9581 Bug 1765112. Silence spammy warnings in netwerk/url-classifier/AsyncUrlChannelClassifier.cpp. r=baku,dimi
Depends on D143890

Differential Revision: https://phabricator.services.mozilla.com/D143891
2022-04-22 00:13:09 +00:00
James Teh
cc18ee7d76 Bug 1764500: Fire correct state change events when designMode is changed on a document. r=eeejay
Previously, we used the obs_documentCreated observer message fired by editor.
However, this is fired when an editor is created anywhere in the document, even if it's for a descendant.
This meant that we were firing an editable state change on the document when a descendant became contentEditable.
In turn, this resulted in the document always having the editable state in the cache if there was a contentEditable descendant.

This message also isn't fired if an editor already exists (e.g. for a contentEditable descendant) and designMode is turned on for the document.
This meant that we wouldn't fire an event in that case, resulting in an incorrect cache.

There is no usable equivalent to detect when designMode is turned off.
While there is obs_documentWillBeDestroyed, that doesn't ever seem to get fired.
This meant that we didn't fire a state change when designMode was turned off, also resulting in an incorrect cache.

To fix all of these issues, we now watch for NS_EVENT_STATE_READWRITE changes on the root element of the document.
Because we use the root element (not the body), this should avoid duplicate state changes for contentEditable changes on the body, which get handled by LocalAccessible::DOMAttributeChanged.

Finally, we previously fired only an editable state change, but changing the editable state of a document also impacts the read-only state.
This too resulted in an incorrect cache.
We now fire a read-only state change as well.

Differential Revision: https://phabricator.services.mozilla.com/D143969
2022-04-22 00:02:29 +00:00
Daniel Holbert
be617dbde8 Bug 1765640 part 2: Change reference case select-3-ref.html to use position:absolute instead of fixed, to avoid fuzzy failures due to antialiasing differences. r=hiro
This should still serve as a good reference case for select-3.html, since it's
still simpler-in-structure than that testcase.

To the extent that the testcase really does want to test positioning of select
elements with position:absolute vs. position:fixed (I'm not sure if it does,
but just in case it does): we still have coverage for that, via the new copy of
this reftest called "select-4.html" added in the previous patch in this series.

Differential Revision: https://phabricator.services.mozilla.com/D144226
2022-04-21 23:59:29 +00:00
Daniel Holbert
5e3073dcbb Bug 1765640 part 1: Create a copy of reftest "select-3.html" with transparent text, to avoid antialiasing-related fuzzy failures. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D144225
2022-04-21 23:59:28 +00:00
Dão Gottwald
41e84c4e3a Bug 1765821 - Remove now-redundant !important from in-content common-shared.css xul|tab styling. r=amy
Differential Revision: https://phabricator.services.mozilla.com/D144312
2022-04-21 23:28:49 +00:00
Zaggy1024
48766a7591 Bug 1765769 - Fix compilation errors with --disable-av1 set. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D144343
2022-04-21 23:21:41 +00:00
Scott
54dfbbf5b6 Bug 1765859 - Clear save to Pocket button recent saves if user logs into another Pocket account. r=gvn
Differential Revision: https://phabricator.services.mozilla.com/D144334
2022-04-21 22:42:09 +00:00
Norisz Fay
8f626f6989 Backed out changeset 41bd981c3622 (bug 1651728) for causing bc failures on browser_readerMode_download.js CLOSED TREE 2022-04-22 01:33:29 +03:00
Andrew Erickson
9e72184ac9 Bug 1765482: update linux hostutils r=gbrown
m-c build used: https://treeherder.mozilla.org/jobs?repo=mozilla-central&revision=f78fb89b9c2f6255da18795f55dd420dcb1be6b2

Differential Revision: https://phabricator.services.mozilla.com/D144229
2022-04-21 22:04:43 +00:00
Hunter Jones
738d90142b Bug 1678390: Prevent Picture-in-Picture windows from opening on top of one another r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D97847
2022-04-21 21:58:39 +00:00
Mike Hommey
2e75f81b2e Bug 1765680 - Use toolchain aliases for rust dependencies for toolchains. r=firefox-build-system-reviewers,mhentges
While here, upgrade the rust toolchain used for lowercase. For some
reason it was stuck on 1.47.

Differential Revision: https://phabricator.services.mozilla.com/D144240
2022-04-21 21:55:59 +00:00
Norisz Fay
2accd3d077 Backed out changeset f177a4875b01 (bug 1759196) for causing build bustages on Unified_cpp_sandbox_common0.o CLOSED TREE 2022-04-22 00:29:44 +03:00
Cosmin Sabou
86be8c9fc7 Backed out changeset 252f5225f556 (bug 1764626) for causing bc failures on browser_multistage_spotlight.js. CLOSED TREE 2022-04-22 00:15:02 +03:00
Jed Davis
f8d698d203 Bug 1759196 - Fix the Linux sandbox's handling of 32-bit arguments on 64-bit platforms. r=gcp,bobowen
Background: When 32-bit types are passed in registers on x86-64 (and
probably other platforms?), the function call ABI does not specify the
contents of the upper half, and the Linux kernel syscall ABI appears to
have the same behavior.

In practice, the upper half is usually zero (or maybe sign-extended from
the lower half), because 64-bit operations aren't cheaper than 32-bit,
and 32-bit operations zero-extend their outputs; therefore, this case
usually doesn't happen in the first place, and any kind of spill or
register move will zero the upper half.  However, arbitrary values are
possible, and a case like this has occurred with the Firefox profiler
using `clock_gettime`.  (This paragraph is applicable to x86-64 and
ARM64; other 64-bit architecutures may behave differently.)

But the Chromium seccomp-bpf compiler, when testing the value of a 32-bit
argument on a 64-bit platform, requires that the value be zero-extended
or sign-extended, and (incorrectly, as far as I can tell) considers
anything else an ABI violation.

With this patch, when that case is detected, we use the `SIGSYS` handler
to zero-extend the problematic argument and re-issue the syscall.

(It would also be possible to just ignore the upper half, and that would
be faster, but that could lead to subtle security holes if the type
used in `bpf_dsl` is incorrect and the kernel really does treat it as
64-bit.)

Differential Revision: https://phabricator.services.mozilla.com/D143964
2022-04-21 21:09:52 +00:00