Per spec https://drafts.csswg.org/css-sizing-3/#intrinsic-contribution,
for the replaced elements with no intrinsic size and no preferred aspect
ratio, the fallback size is '300px' for the width and '150px' for the
height, regardless of the writing-mode value.
Without this patch, Firefox fails the last two subtests when the svg
image has the vertical writing-mode with no intrinsic size and no aspect
ratio. Both Chrome and Safari render all the subtests as 300x150.
This patch fixed the last two subtests.
Differential Revision: https://phabricator.services.mozilla.com/D96259
CSSPixel::ToAppUnits() requires computation at runtime. Since most of
the layout computations require `nscoord`, this patch defines extra
intrinsic sizes in app units.
Differential Revision: https://phabricator.services.mozilla.com/D96258
This is a preparation of the next part.
Technically, we only need the nsSize's two-argument constructor and
BaseCoord's operator* to be 'constexpr', but for the sake of
completeness, I also make all other BaseCoord's methods 'constexpr'.
Differential Revision: https://phabricator.services.mozilla.com/D96257
This also introduces a thread_sanitizer feature to gkrust for any other
crates that need similar special handling. (`cfg(sanitizer="thread")` is
unfortunately an unstable feature, so it isn't useful here.)
Differential Revision: https://phabricator.services.mozilla.com/D95950
This makes --enable-thread-sanitizer turn on Rust tsan (-Zsanitizer=thread).
This requires changing SpiderMonkey tsan to use the tsan rust nightly.
In future changes, more Rust tsan integration will key off of MOZ_TSAN.
Differential Revision: https://phabricator.services.mozilla.com/D96453
This patch adds profiler markers to surface when
- The MediaFormatReader detects a change in stream id.
- The MediaChangeMonitor classes for h264 and/or vpx detect a stream change.
These scenarios typically take place before a decoder is recreated.
Because recreating a decoder is a non-trivial process that can fail and/or
result in performance issues, having these markers helps us relate such issues
to decoder recreation in profiles.
Differential Revision: https://phabricator.services.mozilla.com/D94621
This stops the log leaking into other files during the unified build this is
desirable to avoid
- Other files relying on this log macro and then breaking when unified build
boundaries shift.
- Other files getting this LOG definition unexpectedly and logging incorrectly
and/or emitting warnings due to macro redefinitions.
Differential Revision: https://phabricator.services.mozilla.com/D94743
This field is equivalent to checking that FunctionBox::index() matched
CompilationInfo::TopLevelIndex.
Depends on D96445
Differential Revision: https://phabricator.services.mozilla.com/D96446
This makes the vsync times more consistent.
On a Pixel 2 running Android 11, the callback was called between 1ms and 6ms
after the vsync timestamp in my tests. Having the vsync timestamp slightly in
the past is what the rest of our vsync infrastructure expects.
Differential Revision: https://phabricator.services.mozilla.com/D96279
"distutils" builds packages to fit the architectures of the active
python.
However, the system Mac SDK doesn't always support all the same
architectures as the local Python binary.
To resolve this, we explicitly influence the build to only compile for
the specific architecture that the system runs on.
Assumes that "platform.machine()" will always line up with the "-arch"
flag of compilers.
Differential Revision: https://phabricator.services.mozilla.com/D96276
I want to start with 3 so that we initially get a good look at how things run
with multiple processes, but when we easily hit the limit. We'll increase to
our final process count in a future bug.
Differential Revision: https://phabricator.services.mozilla.com/D94884
Since e10s-multi is going to be enabled by default, this gives us the ability
to run junit in a secondary, e10s-single configuration so that we can see them
both side-by-side for a little while, at least until we're settled in with the
e10s-multi configuration.
Differential Revision: https://phabricator.services.mozilla.com/D94883