Commit Graph

767380 Commits

Author SHA1 Message Date
Julian Descottes
077a35b79f Bug 1726240 - [devtools] Wait for target switching in RDM navigation helpers r=Honza
Wait for target available to be fully processed by responsive UI in tests

Differential Revision: https://phabricator.services.mozilla.com/D123326
2021-08-25 07:11:58 +00:00
Ting-Yu Lin
eb00182e36 Bug 1469649 Part 3 - Upgrade the assertion to MOZ_ASSERT, and update its comments. r=dholbert
The assertion is testing the sign of `availableFreeSpace` and `isUsingFlexGrow`.
After we use 64-bit arithmetic, it's likely that the stronger assertion holds.

Differential Revision: https://phabricator.services.mozilla.com/D123519
2021-08-25 06:43:34 +00:00
Ting-Yu Lin
1162baafb1 Bug 1469649 Part 2 - Use 64-bit coord type when resolving the main size for flex items. r=dholbert
The idea of this patch is to use 64-bit coord type when resolving the
main size for flex items to avoid integer overflow when individual flex
items have huge hypothetical main sizes, which can happen with
percent-width table-layout:fixed descendants. We have to avoid integer
overflow to shrink flex items properly in that scenario.

Delete the "Note:" in `AddLastItemToMainSizeTotals()` since we remove
`AddChecked()` in favor of regular 64-bit addition for
`mTotalOuterHypotheticalMainSize`.

The wpt testcase is adapted from bug 1469649 comment 12.

Differential Revision: https://phabricator.services.mozilla.com/D123268
2021-08-25 06:43:34 +00:00
Ting-Yu Lin
1902424bff Bug 1469649 Part 1 - Promote floating point precision when computing the weight of flex items. r=dholbert
The precision of `double` is needed when we are distributing large
`sizeDelta` via `availableFreeSpace * myShareOfRemainingSpace`.

Without this patch, the wpt test added in Part 2 will fail.

Differential Revision: https://phabricator.services.mozilla.com/D123267
2021-08-25 06:43:33 +00:00
Matt Woodrow
00be3c92c2 Bug 1727172 - Use doubles instead of ints when computing video scale for fallback painting. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123411
2021-08-25 04:18:01 +00:00
Jeff Muizelaar
179512798b Bug 1727435 - Remove some remnants of ClientLayerManager. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123558
2021-08-25 03:56:46 +00:00
Jon Bauman
82058ef232 Bug 1727448 - Temporarily relax AVIF compliance strictness. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D123577
2021-08-25 01:17:15 +00:00
criss
16e50a39dd Backed out changeset 41b40872b77a (bug 1727435)for causing clang non unified build bustages. CLOSED TREE 2021-08-25 04:49:17 +03:00
criss
58591696b7 Backed out 2 changesets (bug 1727423) for causing build bustages
Backed out changeset 9b2ca95a6527 (bug 1727423)
Backed out changeset 1f01fcbd46a8 (bug 1727423)
2021-08-25 04:41:35 +03:00
criss
96498febad Backed out changeset b9116770d9b1 (bug 1727172) for causing failures in layout/reftests/bugs/1727172 2021-08-25 04:38:49 +03:00
Jeff Muizelaar
ad77ed3d1b Bug 1727447 - Stop using PushGroupAndCopyBackground when painting masks. r=mattwoodrow
We don't support COMPONENT_ALPHA anymore.

Differential Revision: https://phabricator.services.mozilla.com/D123576
2021-08-25 01:11:45 +00:00
Matt Woodrow
59e71b6c78 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 01:04:26 +00:00
Matt Woodrow
2aa361b420 Bug 1727423 - Convert some usage of LayerManager to WindowRenderer in image/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123554
2021-08-25 01:04:25 +00:00
Gerald Squelart
90bd552555 Bug 1716959 - Don't use lock from profiler_capture_backtrace_into - r=canaltinova
`profiler_capture_backtrace_into` now only uses thread-safe functions: ThreadRegistration::WithOnThreadRefOf, Register::SyncPopulate, DoSyncSample.
So we don't need to lock the main profiler mutex anymore.

This means that on-thread sampling (typically used in markers) can happen at the same time the periodic sampler has locked the profiler mutex and is sampling this and other threads.

Differential Revision: https://phabricator.services.mozilla.com/D122089
2021-08-25 00:56:01 +00:00
Gerald Squelart
ca8279e285 Bug 1716959 - Remove compulsory proof-of-lock in DoNativeBacktrace and DoSyncSample - r=canaltinova
Since these functions don't need to access profiler functions requiring a lock, they themselves don't need that lock anymore.

Differential Revision: https://phabricator.services.mozilla.com/D122088
2021-08-25 00:56:00 +00:00
Gerald Squelart
e8f70d8971 Bug 1716959 - On-thread sampling uses a per-thread JS frame buffer that's only allocated when there's also a JSContext - r=canaltinova
MergeStack requires a fairly large buffer to store JS frames, too big to be allocated on the stack without risking a stack overflow.
Until now, there was only one buffer, stored in CorePS, and only accessible while holding the Profiler gPSMutex.

Now each thread that has a JSContext, also has its own JS frame buffer, which is accessible on the thread without needing any lock.
The Profiler's Sampler still uses the CorePS buffer for its periodic sampling, but it won't prevent parallel on-thread sampling anymore.

The appropriate buffer is passed to ExtractJsFrames and then MergeStacks.
MergeStacks accepts a null pointer, which happens on threads where there is no JSContext, and therefore no JS to sample.

Differential Revision: https://phabricator.services.mozilla.com/D122087
2021-08-25 00:55:59 +00:00
Gerald Squelart
911112cf23 Bug 1716959 - Pass features to DoSharedSamples to remove lock-dependent feature requests - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D122086
2021-08-25 00:55:59 +00:00
Gerald Squelart
e2e7d28006 Bug 1716959 - Lock is not needed anymore in DoNativeBacktrace - r=canaltinova
All implementations of DoNativeBacktrace are now thread-safe, so it's not necessary to make their use dependent on the Profiler's gPSMutex being locked.

Differential Revision: https://phabricator.services.mozilla.com/D122085
2021-08-25 00:55:59 +00:00
Gerald Squelart
dae03065c6 Bug 1716959 - Make CorePS::mLul atomic, to avoid using the profiler lock to access it - r=canaltinova
Also added extra nullptr checks to avoid surprises if calling code ever tries to use lul before it's first set.

Differential Revision: https://phabricator.services.mozilla.com/D122084
2021-08-25 00:55:58 +00:00
Gerald Squelart
98cd735985 Bug 1716959 - Make Registers::SyncPopulate() re-entrant on Linux, for safe use in parallel stack unwinding calls - r=canaltinova
`Registers::SyncPopulate()` now uses a ucontext_t that's stored with the `Registers` object, so it can safely be called from parallel threads.

Differential Revision: https://phabricator.services.mozilla.com/D122083
2021-08-25 00:55:58 +00:00
criss
bccf559d4b Backed out changeset 8868fe82dafd (bug 1708403) for causing failures on test_drawSnapshot_fixed.html. CLOSED TREE 2021-08-25 04:08:24 +03:00
Scott
d5e1071c25 Bug 1724668 - Ensure Pocket panel closes if location changes with locationSpecific CustomizableUI prop. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D122278
2021-08-25 00:46:01 +00:00
Jeff Muizelaar
b67775d96a Bug 1727435 - Remove some remnants of ClientLayerManager. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123558
2021-08-25 00:45:45 +00:00
Masayuki Nakano
229b5deba5 Bug 1727185 - Add MOZ_DIAGNOSTIC_ASSERT to the constructors of DeleteNodeTransaction and SplitNodeTransaction and make their users return error before hitting it r=m_kato
On Thunderbird, we still have a bug to delete `<html>` and `<body>` elements
(bug 1727201).  However, it's hard to know where deletes the unexpected elements
from warning messages in the log.  Additionally, it's really serious bug
because editor and layout code rely on the basic structure of HTML document.
Therefore, we should block the worst scenario before deleting such nodes.

Differential Revision: https://phabricator.services.mozilla.com/D123418
2021-08-25 00:39:41 +00:00
Matt Woodrow
bb02f9029f Bug 1708403 - Make resetting of scroll position for drawSnapshot opt-in. r=mstange,kmag
Differential Revision: https://phabricator.services.mozilla.com/D117613
2021-08-25 00:21:01 +00:00
Matt Woodrow
e9dfbfe231 Bug 1727172 - Use doubles instead of ints when computing video scale for fallback painting. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123411
2021-08-25 00:14:03 +00:00
Eitan Isaacson
5cbfe86b54 Bug 1727373 - Add state change info in event logging. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D123529
2021-08-24 23:49:59 +00:00
Karl Tomlinson
d86987c6d7 Bug 1705289 require user gesture for screen capture through non-standard mediaSource in getUserMedia() r=jib
for consistency with getDisplayMedia().

System callers are trusted to be excluded from the requirement.
The exclusion may not be strictly necessary for capture previews, but removes
any doubt and simplifies testing.

Differential Revision: https://phabricator.services.mozilla.com/D122193
2021-08-24 23:41:18 +00:00
Karl Tomlinson
faf0659b08 Bug 1705289 revert from sticky to transient activation requirement for getDisplayMedia() r=jib
Backed out changeset 7a50bf09d726

There was no known value in relaxing the activation constraint because it
didn't resolve the use case that was thought to have regressed, but apparently
didn't.  https://bugzilla.mozilla.org/show_bug.cgi?id=1704278#c24

This restores specified behavior, which is similar to Safari.
https://github.com/w3c/mediacapture-screen-share/issues/167#issuecomment-821068685

Differential Revision: https://phabricator.services.mozilla.com/D122192
2021-08-24 23:41:17 +00:00
Hiroyuki Ikezoe
99412d3e2c Bug 1727434 - Replace GetCrossDocParentFrame nsIFrame::IsVisibleConsideringAncestors with GetCrossDocParentFrameInProcess. r=tnikkel
IsVisibleConsideringAncestors has a PresShell::IsUnderHiddenEmbedderElement which
is representing ancestor's visibility state in different process (but only for
contents processes). so it doesn't need to walk up the frame tree across process
boundaries.

Differential Revision: https://phabricator.services.mozilla.com/D123556
2021-08-24 23:33:07 +00:00
Michelle Goossens
85d4a5f4ed Bug 1727426 - Migrate mochitest-a11y from Windows 10 on AWS to Azure r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D123557
2021-08-24 23:19:24 +00:00
Jeff Muizelaar
b0ee594702 Bug 1727430 - Remove unused LayerSorter. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D123550
2021-08-24 23:12:25 +00:00
Hiroyuki Ikezoe
584b11a7b9 Bug 1727229 - Replace GetCrossDocParentFrame in nsLayoutUtils::GetReferenceFrame with GetCrossDocParentFrameInProcess. r=boris,tnikkel
There are three call sites of nsLayoutUtils::GetReferenceFrame;

1) In CreateAnimationData [1]
2) In nsImageFrame::MaybeDecodeForPredictedSize [2]
3) In ScrollFrameHelper::GetScrolledRect [3]

1) is a piece of code for the layers backend and only used in the case of
   disabling retained-display-list, so it's not a problem at all for Fission.
2) is used for predecting image frame size, since bug 1724808 we properly handle
   cases where ancestor documents get scaled, so it's fine now.
3) was introduced to avoid redundant paints due to a pixel snapping issue in bug
   1012752 (I am thinking it's not only for fixing the redundant paints though),
   the reference frame is used for obtaining the offset from the reference to
   the scroll frame, that's fine on Fission, there's another problem in the pixel
   snapping code in GetPaintedLayerScaleForFrame which will be handled in bug
   1727228.

[1] https://searchfox.org/mozilla-central/rev/912ff8d38996365e8b843cd82ddce348d8b7f78b/gfx/layers/AnimationInfo.cpp#809
[2] https://searchfox.org/mozilla-central/rev/912ff8d38996365e8b843cd82ddce348d8b7f78b/layout/generic/nsImageFrame.cpp#1076
[3] https://searchfox.org/mozilla-central/rev/912ff8d38996365e8b843cd82ddce348d8b7f78b/layout/generic/nsGfxScrollFrame.cpp#7090

Differential Revision: https://phabricator.services.mozilla.com/D123412
2021-08-24 23:06:44 +00:00
Drew Willcoxon
a21508d7d8 Bug 1727392 - Send Firefox Suggest Nimbus exposure ping when a Firefox Suggest result is shown. r=nanj
Differential Revision: https://phabricator.services.mozilla.com/D123517
2021-08-24 22:59:00 +00:00
Brendan Dahl
65f2acf457 Bug 1727189 - Update pdf.js to version 2.11.142 r=Snuffleupagus
Differential Revision: https://phabricator.services.mozilla.com/D123388
2021-08-24 22:56:35 +00:00
criss
ba3d35886e Backed out 7 changesets (bug 1716959) for causing Android build bustages. CLOSED TREE
Backed out changeset e6a849ee0e31 (bug 1716959)
Backed out changeset eb105787f5bd (bug 1716959)
Backed out changeset c39b9c1696aa (bug 1716959)
Backed out changeset ef79ed5f95c1 (bug 1716959)
Backed out changeset 7c84ffb63567 (bug 1716959)
Backed out changeset 2f97ef8a91de (bug 1716959)
Backed out changeset d5607038a5d6 (bug 1716959)
2021-08-25 02:16:26 +03:00
Emma Malysz
3d9df913db Bug 1720835: adjust top margin for menupopups in placestooolbar r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D123546
2021-08-24 22:42:21 +00:00
Rob Lemley
c05d0a3ce0 Bug 1727014 - Add symbols from GLIBCXX_3.4.21 needed for Thunderbird librnp.so. r=firefox-build-system-reviewers,glandium
librnp is used by Thunderbird for OpenPGP support. Until now, official builds
have been built statically linked to Clang/LLVM's libc++ to avoid problems with
libstdc++ symbols.
Recent build changes have narrowed the gap significantly, leaving out_of_range
and invalid_argument called with char const* rather than std::string.

Differential Revision: https://phabricator.services.mozilla.com/D123381
2021-08-24 22:38:06 +00:00
Jon Bauman
6155249a72 Bug 1696045 - Add AVIF telemetry for unimplemented features and performance. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D123378
2021-08-24 22:34:32 +00:00
Eitan Isaacson
a972d7f962 Bug 1726845 - P2: Cache EXPANDABLE state in mozAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D123264
2021-08-24 22:22:26 +00:00
Eitan Isaacson
f840fc077c Bug 1726845 - P1: Remove special summary MOX class and update test. r=morgan
The summary class just had a moxExpanded which we already have in mozAccessible.
I think the former was added before the latter was generalized for aria-expanded usage.

Differential Revision: https://phabricator.services.mozilla.com/D123516
2021-08-24 22:22:25 +00:00
Sebastian Hengst
8136109b66 Bug 1725702 - pretty print dictionary of variables available for reftest annotations. r=gbrown
Depends on D123499

Differential Revision: https://phabricator.services.mozilla.com/D123500
2021-08-24 22:15:04 +00:00
Sebastian Hengst
b33e353ec2 Bug 1725702 - print mozinfo dictionary with environment variables during mochitest execution. r=gbrown
These variables can be used to skip tests conditionally.

Differential Revision: https://phabricator.services.mozilla.com/D123499
2021-08-24 22:15:03 +00:00
Sebastian Hengst
2abb776724 Bug 1724596 - 'ExperimentalFeatures' annotation in crash report should only list enabled ones. r=jaws
Array's `filter` method is synchronous which caused its arrow function to
always return true-ish Promises instead of a Boolean value.

No other `filter(async` can be found in the code base.

Differential Revision: https://phabricator.services.mozilla.com/D122051
2021-08-24 22:06:41 +00:00
Gerald Squelart
a2f14f5c02 Bug 1716959 - Don't use lock from profiler_capture_backtrace_into - r=canaltinova
`profiler_capture_backtrace_into` now only uses thread-safe functions: ThreadRegistration::WithOnThreadRefOf, Register::SyncPopulate, DoSyncSample.
So we don't need to lock the main profiler mutex anymore.

This means that on-thread sampling (typically used in markers) can happen at the same time the periodic sampler has locked the profiler mutex and is sampling this and other threads.

Differential Revision: https://phabricator.services.mozilla.com/D122089
2021-08-24 21:58:44 +00:00
Gerald Squelart
a6575f5d1c Bug 1716959 - Remove compulsory proof-of-lock in DoNativeBacktrace and DoSyncSample - r=canaltinova
Since these functions don't need to access profiler functions requiring a lock, they themselves don't need that lock anymore.

Differential Revision: https://phabricator.services.mozilla.com/D122088
2021-08-24 21:58:44 +00:00
Gerald Squelart
2ab9046c97 Bug 1716959 - On-thread sampling uses a per-thread JS frame buffer that's only allocated when there's also a JSContext - r=canaltinova
MergeStack requires a fairly large buffer to store JS frames, too big to be allocated on the stack without risking a stack overflow.
Until now, there was only one buffer, stored in CorePS, and only accessible while holding the Profiler gPSMutex.

Now each thread that has a JSContext, also has its own JS frame buffer, which is accessible on the thread without needing any lock.
The Profiler's Sampler still uses the CorePS buffer for its periodic sampling, but it won't prevent parallel on-thread sampling anymore.

The appropriate buffer is passed to ExtractJsFrames and then MergeStacks.
MergeStacks accepts a null pointer, which happens on threads where there is no JSContext, and therefore no JS to sample.

Differential Revision: https://phabricator.services.mozilla.com/D122087
2021-08-24 21:58:43 +00:00
Gerald Squelart
f82b0d2ff3 Bug 1716959 - Pass features to DoSharedSamples to remove lock-dependent feature requests - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D122086
2021-08-24 21:58:43 +00:00
Gerald Squelart
b654d8d392 Bug 1716959 - Lock is not needed anymore in DoNativeBacktrace - r=canaltinova
All implementations of DoNativeBacktrace are now thread-safe, so it's not necessary to make their use dependent on the Profiler's gPSMutex being locked.

Differential Revision: https://phabricator.services.mozilla.com/D122085
2021-08-24 21:58:42 +00:00
Gerald Squelart
9964959d01 Bug 1716959 - Make CorePS::mLul atomic, to avoid using the profiler lock to access it - r=canaltinova
Also added extra nullptr checks to avoid surprises if calling code ever tries to use lul before it's first set.

Differential Revision: https://phabricator.services.mozilla.com/D122084
2021-08-24 21:58:42 +00:00