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

44218 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe d32e0125e8 Bug 1794070 - Introduce PanGestureInput::AllowsSwipe(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160437
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe f7ce055162 Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe ebfe7e293e Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-22 06:52:51 +00:00
Hiroyuki Ikezoe 4c8d1c6a7f Bug 1794070 - Check mOverscrollBehaviorAllowsSwipe whether we do the short circuit for swipe. r=botond
Though this isn't a real bug at all since later we check the flag in
nsBaseWidget::MayStartSwipeForAPZ [1], this change includes a browser
mochitest to make sure `overscroll-behavior: contain` prevents swipe
navigations.


[1] https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/widget/nsBaseWidget.cpp#2294

Differential Revision: https://phabricator.services.mozilla.com/D160434
2022-11-22 06:52:51 +00:00
Hiroyuki Ikezoe 329099d5b3 Bug 1794070 - Add "overscrolled" state in APZTestData.additionalData. r=botond
We'd like to use this for testing overscroll state in mochitests.

Differential Revision: https://phabricator.services.mozilla.com/D160433
2022-11-22 06:52:49 +00:00
Hiroyuki Ikezoe 78c3424efe Bug 1794070 - Do the stuff for short circuit of swipe-to-navigation after calling MaybeRequestContentResponse. r=botond
The stuff calls PanGestureBlockState::SetNeedsToWaitForContentResponse which sets
mWaitingForContentResponse flag, but the flag will clobbered in
MaybeRequestContentResponse().

Differential Revision: https://phabricator.services.mozilla.com/D160432
2022-11-22 06:52:49 +00:00
Hiroyuki Ikezoe e46cc3cbef Bug 1794070 - Remove APZEventStat::ProcessClusterHit declaration. r=botond
The implementation got removed in bug 1618545.
https://hg.mozilla.org/mozilla-central/rev/3de8fd99080d63f47da911afe39f489de5864e9e

Differential Revision: https://phabricator.services.mozilla.com/D160431
2022-11-22 06:52:48 +00:00
Shravan Narayan c375efadca Bug 1751818 - Remove use tainted_opaque from callbacks of libGraphite r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D162363
2022-11-22 06:06:36 +00:00
sotaro 71a7be2831 Bug 1801767 - Remove fs::remove_dir_all usage in remove_disk_cache() r=gfx-reviewers,bradwerth
From Bug 1799442, fs::remove_dir_all is not stable on Windows.

Differential Revision: https://phabricator.services.mozilla.com/D162682
2022-11-22 05:35:25 +00:00
Tom Ritter 8e1c983ccd Bug 1800927: Fix the Updatebot linter and offending moz.yaml files r=ahal,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162223
2022-11-21 19:35:16 +00:00
Tom Ritter 31fa1a1d34 Bug 1800722: Let harfbuzz be managed by Updatebot r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D162146
2022-11-21 15:27:50 +00:00
Tom Ritter 809394580a Bug 1800722: Let harfbuzz be vendored by moz.yaml harfbuzz r=jfkthame
This obsoletes update.sh so you now call
./mach vendor gfx/harfbuzz/moz.yaml

It is set to track new tags.

Differential Revision: https://phabricator.services.mozilla.com/D162145
2022-11-21 15:27:50 +00:00
Tom Ritter dc8db985d0 Bug 1800722: Add a moz.yaml for harfbuzz r=jfkthame
Depends on D162131

Differential Revision: https://phabricator.services.mozilla.com/D162144
2022-11-21 15:27:50 +00:00
Jonathan Kew 916053d932 Bug 1787603 - Only pass content lang to fontconfig for CJK & Arabic scripts, to avoid performance quagmire on pages like wikipedia.org. r=jwatt
This in effect reverts part of bug 1756400, so that we only do the full
per-language fontconfig substitution processing for locales that use
CJK or Arabic script. These are the locales where it is likely that
there may be custom per-language/locale font preferences that need to
be respected.

(In theory fontconfig could be set up with per-language rules even for
distinctions like 'en-US' vs 'en-GB', or 'en' vs 'fr' vs 'de', etc.,
and we will no longer respect these. But it is almost vanishingly unlikely
that separate font mappings for such distinctions will really be needed,
and the cost of doing all the lookups separately for every lang tag,
even within simple writing systems like Latin, is excessive.)

No automated tests, as this is heavily dependent on the system configuration.

Differential Revision: https://phabricator.services.mozilla.com/D162304
2022-11-21 15:01:24 +00:00
Nicolas Silva e716fc4f7b Bug 1797975 - Replace wr_notifier_nop_frame_done with an argument in new_frame_ready. r=gfx-reviewers,bradwerth
it started as a single method new_frame_ready with a composite parameter, to be split into two functions that end up calling the same HandleFrameOneDoc with a composite parameter so the extra function doesn't provide anything.

Differential Revision: https://phabricator.services.mozilla.com/D162299
2022-11-21 14:10:29 +00:00
Nicolas Silva ed0908ee88 Bug 1797975 - Simplify the pending frame count tracking code. r=gfx-reviewers,bradwerth
Only transactions that contain the generate_frame flag are tracked by the pending frame and frame build counters.
This patch attempts to make this clearer with two small adjustments:

Firstly by putting the IncPendingFrameCount call right next to Transaction::GenerateFrame.

Secondly, undoing the hack in wr_notifier_wake_up. The latter is called outside of normal rendered/tracked frames and was calling HandleFrameOneDoc which decrements the rendered frame counter. To compensate it had to manually increment both counters via IncPendingFrameCount and manually decrement the built frame counter via DecPendingFrameBuildCount. Instead this patch introduces the aTrackedFrame argument so that HandleFrameOneDoc only fiddles with the counters when needed and wake_up does not have to hack around it.

Differential Revision: https://phabricator.services.mozilla.com/D162298
2022-11-21 14:10:29 +00:00
Nicolas Silva 102d7f184c Bug 1797975 - Reset mSkippedComposite when a composite is sucessfully scheduled. r=gfx-reviewers,bradwerth
mSkippedComposite's purpose is to keep track of the fact that the window is not up to date because the previous composite was skipped. This informs RetrySkippedComposite that a new frame is needed to get the latest changes rendered. As soon as we successfully schedule a composite know that the latest changes are en route to be rendered so we don't need RetrySkippedComposite to push an additional frame later.

Differential Revision: https://phabricator.services.mozilla.com/D162297
2022-11-21 14:10:29 +00:00
Nicolas Silva af16db6234 Bug 1797975 - Remove outdated comments about mIsRendering. r=gfx-reviewers,bradwerth
mIsRendering does not appear to exist (anymore).

Differential Revision: https://phabricator.services.mozilla.com/D162296
2022-11-21 14:10:28 +00:00
Nicolas Silva 5a18024f2b Bug 1797975 - Rename CompositeIfNeeded into RetrySkippedComposite. r=gfx-reviewers,bradwerth
The previous name could have related to any situation where a composite is needed such as when animating or receiving transactions, but the function is actually specifically about scheduling a new composite if the previous one was skipped.

Differential Revision: https://phabricator.services.mozilla.com/D162295
2022-11-21 14:10:28 +00:00
Nicolas Silva 6352b3770e Bug 1797975 - Simplify the compositor throttling logic. r=gfx-reviewers,bradwerth
- Ensure that the pending frame count is decremented by HandleFrameOneDoc even after some of the rare early-outs.
- Always check TooManyPendingFrames in CompositeToTarget.

It is unclear that these will actually catch (all of) the extraneous skipped frames. If anything, the simplification will make further investigation easier.

Differential Revision: https://phabricator.services.mozilla.com/D162294
2022-11-21 14:10:27 +00:00
Butkovits Atila 887a77ba5f Backed out 13 changesets (bug 1794070) for causing failures at browser_test_swipe_gesture.js. CLOSED TREE
Backed out changeset afe487b23e1c (bug 1794070)
Backed out changeset b119052f690d (bug 1794070)
Backed out changeset 733188f6b7ca (bug 1794070)
Backed out changeset 53273c86140a (bug 1794070)
Backed out changeset e2e39e61efbe (bug 1794070)
Backed out changeset 93b240feb781 (bug 1794070)
Backed out changeset 78aea5c32e14 (bug 1794070)
Backed out changeset 158008a6363b (bug 1794070)
Backed out changeset 3c3e76c8bf49 (bug 1794070)
Backed out changeset 39beb7abc321 (bug 1794070)
Backed out changeset 0ded01fbbd9e (bug 1794070)
Backed out changeset cf4552e5e11b (bug 1794070)
Backed out changeset 317ee240609d (bug 1794070)
2022-11-21 13:41:34 +02:00
Jonathan Kew 5c7ab9c2eb Bug 1801248 - Fix up pointer arithmetic. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162496
2022-11-21 10:07:03 +00:00
sotaro 1ba0c7b034 Bug 1782219 - Protect sVideoBridgeFromProcess by StaticDataMutex r=jrmuizel
sVideoBridgeFromProcess is accessed from some threads.

Differential Revision: https://phabricator.services.mozilla.com/D159356
2022-11-21 05:18:36 +00:00
Hiroyuki Ikezoe 024f31065c Bug 1794070 - Make a pan start event wait for the browser gesture code response. r=botond
So that APZ can wait to handle the event to do overscrolling until the browser
responds that the event wasn't used for gestures.

Differential Revision: https://phabricator.services.mozilla.com/D160438
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe ff188b2a0c Bug 1794070 - Ignore overscrollable check in CanScrollTargetHorizontally. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162362
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe 5a42df888d Bug 1794070 - Introduce PanGestureInput::AllowsSwipe(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160437
2022-11-21 03:10:08 +00:00
Hiroyuki Ikezoe 5b39846aeb Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-21 03:10:07 +00:00
Hiroyuki Ikezoe ae5bdfff82 Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-21 03:10:07 +00:00
Hiroyuki Ikezoe 3fb8018d34 Bug 1794070 - Check mOverscrollBehaviorAllowsSwipe whether we do the short circuit for swipe. r=botond
Though this isn't a real bug at all since later we check the flag in
nsBaseWidget::MayStartSwipeForAPZ [1], this change includes a browser
mochitest to make sure `overscroll-behavior: contain` prevents swipe
navigations.


[1] https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/widget/nsBaseWidget.cpp#2294

Differential Revision: https://phabricator.services.mozilla.com/D160434
2022-11-21 03:10:06 +00:00
Hiroyuki Ikezoe 7ad2ff3232 Bug 1794070 - Add "overscrolled" state in APZTestData.additionalData. r=botond
We'd like to use this for testing overscroll state in mochitests.

Differential Revision: https://phabricator.services.mozilla.com/D160433
2022-11-21 03:10:05 +00:00
Hiroyuki Ikezoe 4b63d269b4 Bug 1794070 - Do the stuff for short circuit of swipe-to-navigation after calling MaybeRequestContentResponse. r=botond
The stuff calls PanGestureBlockState::SetNeedsToWaitForContentResponse which sets
mWaitingForContentResponse flag, but the flag will clobbered in
MaybeRequestContentResponse().

Differential Revision: https://phabricator.services.mozilla.com/D160432
2022-11-21 03:10:04 +00:00
Hiroyuki Ikezoe 0ddb04728f Bug 1794070 - Remove APZEventStat::ProcessClusterHit declaration. r=botond
The implementation got removed in bug 1618545.
https://hg.mozilla.org/mozilla-central/rev/3de8fd99080d63f47da911afe39f489de5864e9e

Differential Revision: https://phabricator.services.mozilla.com/D160431
2022-11-21 03:10:04 +00:00
Razvan Cojocaru 5cc3982303 Bug 1800530 - Add CoordTyped overloads of FuzzyEqualsAdditive/Multiplicative. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162221
2022-11-19 02:34:27 +00:00
Nicolas Silva fe402f3369 Bug 1794343 - Return a formatted string if mapping fails in get_pbo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D158925
2022-11-18 21:52:11 +00:00
Makoto Kato 298b02cda5 Bug 1787551 - Disable Android's Font Match API on OPPO, realme and OnePlus. r=jfkthame
According to crash data, some devices by OPPO and realme and OnePlus seem to
crash when using Font Match API. I would like to disable it until root cause
finds.

Differential Revision: https://phabricator.services.mozilla.com/D162185
2022-11-18 15:41:47 +00:00
Chris H-C fc358ad992 Bug 1799442 - Update Glean to v51.8.2, rkv to 0.18 r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162345
2022-11-18 13:56:27 +00:00
Mathew Hodson b7382dce22 Bug 1799319 - Disable mozTextStyle in early beta. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161747
2022-11-18 13:05:23 +00:00
Marian-Vasile Laza 023eed4276 Backed out changeset 75acc8e81d81 (bug 1799442) for causing WR tidy bustage. CLOSED TREE 2022-11-18 14:23:58 +02:00
Chris H-C 7655a12f65 Bug 1799442 - Update Glean to v51.8.2, rkv to 0.18 r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162345
2022-11-18 10:15:40 +00:00
Hiroyuki Ikezoe d682b5dbac Bug 1800973 - Make promiseMoveMouseAndScrollWheelOver wait the proper Promise. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162244
2022-11-17 23:21:38 +00:00
Jeff Muizelaar 2e6c5ff40f Bug 1800930 - Add a pref to disable target independent rasterization with D2D. r=lsalzman
This is useful for comparing D2D to wpf-gpu-raster on hardware that
supports target independent rasterization.

Differential Revision: https://phabricator.services.mozilla.com/D162224
2022-11-17 20:46:18 +00:00
Lee Salzman 5f08669bab Bug 1800826 - Remove all clips when reusing a target in Canvas2D. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162237
2022-11-17 03:10:35 +00:00
Lee Salzman f73a41e1ac Bug 1800581 - Use optimized snapshots for drawImage if canvases share internal context. r=aosmond
By default, BorrowSnapshot is pessimistic and forces DrawTargetWebgl to return a data snapshot on
the assumption that the snapshot might be used off thread. However, if we actually know the DrawTarget
we're going to be drawing the snapshot to, then we can check if they're both DrawTargetWebgls with
the same internal SharedContext. In that case, we can use a SourceSurfaceWebgl snapshot which can
pass through a GPU texture to the target. This requires us to plumb the DrawTarget down through
SurfaceFromElement all the way to DrawTargetWebgl to make this decision.

Differential Revision: https://phabricator.services.mozilla.com/D162176
2022-11-17 03:07:18 +00:00
Chris H-C 6f4c8a8306 Bug 1800741 - Update Glean to v51.8.1 r=perry.mcmanis,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D162150
2022-11-16 14:18:48 +00:00
Emilio Cobos Álvarez 368171d435 Bug 1800684 - Remove print_via_parent. r=dshin
For a while it was true everywhere but android, but it's been true
unconditionally since forever.

Differential Revision: https://phabricator.services.mozilla.com/D162116
2022-11-15 16:19:30 +00:00
Andrew Osmond 8471c103b9 Bug 1799016 - Ensure gfxVar updates are applied to GPU process before recreating compositor sessions. r=jnicol
When we fallback without recreating the GPU process, we should ensure
that the gfxVar updates have been processed before recreating the
compositor sessions. This is achieved by blocking on the sync
PGPU::SendDeviceStatus IPDL message. This additional sync message only
happens during fallback and thus should be fairly cheap.

Differential Revision: https://phabricator.services.mozilla.com/D162020
2022-11-15 14:28:30 +00:00
Jeff Muizelaar fc041b8b9e Bug 1799391. Allow negative XYZ on non-macOS. r=aosmond
It seems like Chrome allows this and it's relatively common.
We don't have a good reason to continue blocking these profiles.

Differential Revision: https://phabricator.services.mozilla.com/D162024
2022-11-15 03:49:04 +00:00
Csoregi Natalia fc5a2ea215 Backed out changeset 56bc7d891bd3 (bug 1519339) for failures on helper_overflowhidden_zoom.html. CLOSED TREE 2022-11-15 03:10:25 +02:00
Botond Ballo 239e18e404 Bug 1519339 - Do not hand off smooth scrolls in an overflow:hidden direction to APZ. r=dlrobertson
APZ cannot currently scroll in directions which are overflow:hidden
(it does not know the full scroll range bounds in those directions).

Therefore, main-thread scrolling in these directions should not be
handed off to APZ.

Differential Revision: https://phabricator.services.mozilla.com/D161351
2022-11-14 22:50:21 +00:00
Emilio Cobos Álvarez 2e7fa64ab1 Bug 1800133 - Difference in appUnitsPerDevPixel only matter when there's a clip chain. r=gfx-reviewers,gw
We might get unnecessary cache misses otherwise.

Depends on D161884

Differential Revision: https://phabricator.services.mozilla.com/D161888
2022-11-14 21:56:36 +00:00
Chris H-C 42f4ca0daf Bug 1784297 Remove "pseudo-main" ping r=TravisLong
Reverts "Bug 1785251 - Submit a Glean 'pseudo-main' ping when Telemetry submits a 'main' ping r=TravisLong"

Differential Revision: https://phabricator.services.mozilla.com/D161847
2022-11-14 19:58:20 +00:00
Florian Queze ea6e6f4fa1 Bug 1671490 - Mark the GPU process as being in the foreground whenever the parent process is in the foreground to make their priorities (and priority boosts) match, r=bas.
Differential Revision: https://phabricator.services.mozilla.com/D161065
2022-11-14 16:05:34 +00:00
Ryan VanderMeulen eec3bcd3cd Bug 1800187 - Part 2: Refactor libpixman moz.build file. r=jfkthame
* Remove workaround for a long-fixed LLVM bug
* Remove extra flags on pixman-mmx.c
* Remove unneeded -Winline flags
* Drop SIMD exceptions for macOS
* Use correct MMX define
* Enable all SIMD optimizations for Intel builds
* Clean up platform-specific logic
* Enable aarch64 optimizations on Android & Linux

Besides removing a lot of old cruft and improving general readability, this
also re-enables MMX optimizations (the define changed upstream and wasn't
updated in moz.build to reflect that) along with unconditionally compiling
with all available Intel SIMD optimization levels. Pixman does runtime CPU
feature detection, so this should be safe. It also enables AArch64
optimizations on Android and Linux.

Depends on D161868

Differential Revision: https://phabricator.services.mozilla.com/D161869
2022-11-14 15:46:34 +00:00
Ryan VanderMeulen ef9215bccb Bug 1800187 - Part 1: Update libpixman to version 0.42.2. r=jfkthame
Depends on D161867

Differential Revision: https://phabricator.services.mozilla.com/D161868
2022-11-14 15:46:33 +00:00
Ryan VanderMeulen 67a586f153 Bug 1800187 - Part 0: Clean up pixman patches. r=jfkthame
Removes patches which are no longer being applied to our import and
updates the patches that are applied to the current upstream.

Differential Revision: https://phabricator.services.mozilla.com/D161867
2022-11-14 15:46:32 +00:00
Emilio Cobos Álvarez 7bec49411b Bug 1800133 - Optimize out empty sublists a bit better. r=tnikkel
This avoids unnecessarily starting clip lists.

Depends on D161890

Differential Revision: https://phabricator.services.mozilla.com/D161891
2022-11-14 13:20:27 +00:00
Emilio Cobos Álvarez 3c6c9b87df Bug 1800133 - GetScrollLayer always returns a space id. r=gfx-reviewers,nical
This is just clean-up.

Depends on D161889

Differential Revision: https://phabricator.services.mozilla.com/D161890
2022-11-14 13:20:26 +00:00
Emilio Cobos Álvarez c1afe63a38 Bug 1800133 - Minor perf improvements to DefineClipChain. r=gfx-reviewers,nical
This removes a redundant hashmap lookup.

Depends on D161888

Differential Revision: https://phabricator.services.mozilla.com/D161889
2022-11-14 13:20:26 +00:00
Nicolas Silva e683cac799 Bug 1800066 - Fix the render task graph dump in frame captures. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161814
2022-11-14 13:09:53 +00:00
Jonathan Kew e32a707e69 Bug 1800367 - For Linux, don't add an FTUserFontData when instantiating an installed variation font. r=lsalzman
This in effect reverts bug 1798036 for desktop Linux, as the fix there
was really only needed for Android, and turns out to conflict with how
the FC-based backend handles variations.

Tested locally; currently no reftest because we cannot assume presence
of an installed variable font.

Differential Revision: https://phabricator.services.mozilla.com/D161958
2022-11-13 21:48:10 +00:00
Lee Salzman cb9096e766 Bug 1799402 - Use WGR to rasterize paths in DrawTargetWebgl. r=jrmuizel
This adds a path vertex buffer where triangle list output from WGR is stored.
Each PathCacheEntry can potentially reference a range of vertexes in this buffer
corresponding to triangles for that entry. When this buffer is full, it gets
orphaned and clears corresponding cache entries, so that it can start anew.

Differential Revision: https://phabricator.services.mozilla.com/D161479
2022-11-12 08:06:44 +00:00
Lee Salzman 3229665ff2 Bug 1799402 - Add header for accessing WGR Rust crate from C++. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D161478
2022-11-12 08:06:44 +00:00
Iulian Moraru f838c68136 Backed out 3 changesets (bug 1799402) for causing windows build bustages. CLOSED TREE
Backed out changeset e51cd76008ef (bug 1799402)
Backed out changeset 3ff660b475ff (bug 1799402)
Backed out changeset 9cfa7581565e (bug 1799402)
2022-11-12 08:33:24 +02:00
Lee Salzman bea9f37e42 Bug 1799402 - Use WGR to rasterize paths in DrawTargetWebgl. r=jrmuizel
This adds a path vertex buffer where triangle list output from WGR is stored.
Each PathCacheEntry can potentially reference a range of vertexes in this buffer
corresponding to triangles for that entry. When this buffer is full, it gets
orphaned and clears corresponding cache entries, so that it can start anew.

Differential Revision: https://phabricator.services.mozilla.com/D161479
2022-11-12 05:42:30 +00:00
Lee Salzman 7a5b0b36e4 Bug 1799402 - Add header for accessing WGR Rust crate from C++. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D161478
2022-11-12 05:42:30 +00:00
Jamie Nicol 2b4bb556b5 Bug 1799722 - Null-terminate shader strings on old Mali devices. r=gfx-reviewers,jrmuizel
We are seeing a number of crashes in glShaderSource on old Mali
devices (T628, T720, and T760). It's difficult to see what the problem
is without more information, but as a shot in the dark this patch
ensures we null- terminate the source strings before passing them to
the driver.

Differential Revision: https://phabricator.services.mozilla.com/D161894
2022-11-11 15:55:44 +00:00
Jonathan Kew c9e98f8fad Bug 1798036 - Attach a SharedFTFaceData (recording the filename) when instantiating SharedFTFace for an installed variation font. r=lsalzman
This is needed so that UnscaledFontFreeType::CreateScaledFont can later call CloneFace
if it needs to apply variation settings.

Tested locally with an emulator running Android 13; not testable in CI as the older Android
versions we have there don't use the new variable-font version of Roboto.

Differential Revision: https://phabricator.services.mozilla.com/D161762
2022-11-10 17:24:11 +00:00
Ryan VanderMeulen 2bbf869c32 Bug 1799748 - Backport fix for libpixman CVE-2022-44638. r=jfkthame
Backport of upstream commit:
a1f88e842e

Differential Revision: https://phabricator.services.mozilla.com/D161624
2022-11-09 18:42:13 +00:00
Jim Blandy fe1f55c62a Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 17:34:56 +00:00
Cristian Tuns ce0b61513b Backed out changeset 06cfb7445c64 (bug 1799801) for causing build bustages CLOSED TREE 2022-11-09 11:57:02 -05:00
Jim Blandy 9d1f26b312 Bug 1799801: Update wgpu to 261069d0 (2022-10-5) r=nical,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161662
2022-11-09 16:42:50 +00:00
Nicolas Silva 10546932e6 Bug 1768984 - Reuse plane splitters across scenes. r=gfx-reviewers,gw
Currently splane splitters are stored in the built scene and reallocated with every new scene.
This patch moves the responsibility of storing/recycling the plane splitters to the frame builder so that they can be reused in more cases. The scene builder only needs to track splitter indices, it doesn't use the splitter objects themselves.

Alone this patch does not make a large difference because the current version of the plane_split crate reallocates everything each frame. The next version of plane_split does a much better job of recycling allocations, and applying this patch on top of it makes a large difference.

Differential Revision: https://phabricator.services.mozilla.com/D160363
2022-11-09 11:22:34 +00:00
Nicolas Silva 5be0d3b13a Bug 1768984 - Vendor the plane-split update. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D161585
2022-11-09 11:22:34 +00:00
Nicolas Silva 9cc2763063 Bug 1768984 - Plane-split 0.18 update. r=gfx-reviewers,gw
New plane_split version with much faster BSP tree.
The main source of churn is plane_split not being generic over the unit tag anymore.

Differential Revision: https://phabricator.services.mozilla.com/D160362
2022-11-09 11:22:33 +00:00
Emilio Cobos Álvarez 091dcf70cc Bug 1799627 - Remove unnecessary fallback to primary screen in nsDeviceContext dpi code. r=tnikkel,layout-reviewers
nsIWidget::GetDPI no longer returns negative values.

Differential Revision: https://phabricator.services.mozilla.com/D161570
2022-11-09 07:59:46 +00:00
Lee Salzman b00c9670cf Bug 1799495 - Ensure WaitForShmem has a valid DrawTargetWebgl to access. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D161554
2022-11-08 16:23:56 +00:00
Brad Werth 9a1afee97e Bug 1798651 Part 1: Make SynchronousTask accept a wait interval, and return result. r=gfx-reviewers,nical
This change preserves the existing looping behavior for the indefinite
wait.

Differential Revision: https://phabricator.services.mozilla.com/D161194
2022-11-08 15:53:35 +00:00
Jan-Erik Rediger 68cd95c000 Bug 1799129 - Vendor Glean v51.8.0 and glean_parser 6.3.0 r=chutten,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161276
2022-11-08 15:53:07 +00:00
Jonathan Kew 9ced4e3037 Bug 1799327 - Ensure cached hashtables used by gfxFont::CheckForFeaturesInvolvingSpace are initialized atomically. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161434
2022-11-07 15:27:15 +00:00
Dan Robertson 803b2c05a5 Bug 1794457 - Add pan gesture transform notification tests. r=botond
Add basic tests for transform notifications for pan gestures with and without
momentum pans that follow the initial pan gesture.

Differential Revision: https://phabricator.services.mozilla.com/D159565
2022-11-07 03:51:51 +00:00
Dan Robertson 76e19d55d2 Bug 1794457 - Fire one scrollend event for a pan gesture. r=botond
Do not fire multiple scrollend events for one pan gesture that triggers a
momentum pan. On pan-end queue a state change event to be dispatched to
the content controller in 100ms. Note that this patch does not alter
the the internal APZC state change, but only delays the notification
dispatched to the content controller.

Differential Revision: https://phabricator.services.mozilla.com/D159540
2022-11-07 03:51:50 +00:00
Emilio Cobos Álvarez 8df7195ca9 Bug 1799216 - Keep clip chain id in sync when switching items that affect clip positioning. r=gfx-reviewers,gw
Bug 1661147 made us correctly inherit the clip chain. We do fix up the
scroll id etc before pushing a new ASR override etc, but we didn't fix
up the clip chain ID.

Differential Revision: https://phabricator.services.mozilla.com/D161382
2022-11-07 00:03:16 +00:00
sotaro 6b45a3fe5d Bug 1795050 - Set mResetLayer = true in ClientWebGLContext::Event_webglcontextrestored() r=gfx-reviewers,lsalzman
There was still a timing that hit the assert. When ClientWebGLContext::Event_webglcontextrestored() was called just before ClientWebGLContext::UpdateWebRenderCanvasData() the assert was failed.

Differential Revision: https://phabricator.services.mozilla.com/D161243
2022-11-05 04:14:31 +00:00
Razvan Cojocaru 1629218702 Bug 1060421 - Change the type of [Int]PointTyped::[x|y] back to [Int]CoordTyped. r=botond
[Int]CoordTyped no longer inherits Units because otherwise
instances of [Int]IntPointTyped may get one Base subobject because
it inherits Units, and others because of BasePoint's Coord members,
which end up increasing the [Int]CoordTyped's objects size (since
according to the ISO C++ standard, different Base subobject are
required to have different addresses).

Differential Revision: https://phabricator.services.mozilla.com/D160713
2022-11-04 18:29:35 +00:00
Jens Stutte 91630e2b39 Bug 1798630 - Use nsThread::Shutdown for the RenderThread. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D161026
2022-11-04 08:17:04 +00:00
Daniel Holbert 0f6f5cf3ae Bug 1798953 part 2: Annotate gfxSkipCharsIterator as MOZ_STACK_CLASS. r=jfkthame
In practice, it's only instantiated on the stack; and that's kinda important,
to reduce the likelihood that it somehow outlives the 'gfxSkipChars' instance
that it maintains a raw pointer to and is iterating over.

Differential Revision: https://phabricator.services.mozilla.com/D159922
2022-11-03 18:03:59 +00:00
Lee Salzman fe55c52512 Bug 1791495 - Check for zero sqrt on ARM. r=jrmuizel
For SWGL on ARM, we implement sqrt(N) as N * inversesqrt(N). This means we don't
properly handle zero unless we explicitly check for it. Otherwise, a NaN ends up
getting produced erroneously.

Differential Revision: https://phabricator.services.mozilla.com/D161107
2022-11-03 04:19:32 +00:00
Brad Werth 38942d20a3 Bug 1797973: Make TextureHost::Create survive a null allocator. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161094
2022-11-03 02:38:11 +00:00
ohall-m 3b204056d6 Bug 1771343 - GeckoView Android API 33 (Android 13) r=geckoview-reviewers,jgraham,jnicol,nalexander,jonalmeida
Updating GeckoView from Android API level 31 to API 33 for target and compile.

Differential Revision: https://phabricator.services.mozilla.com/D159764
2022-11-02 10:53:33 +00:00
Cristian Tuns 4d37cf70f1 Backed out 19 changesets (bug 1541508) for causing xpcshell failures on test_notHeadlessByDefault.js CLOSED TREE
Backed out changeset 08476fa2bc27 (bug 1541508)
Backed out changeset 0bf7514845db (bug 1541508)
Backed out changeset aa612a5e9ef7 (bug 1541508)
Backed out changeset 6bb9360473f7 (bug 1541508)
Backed out changeset b3d8e92f50c2 (bug 1541508)
Backed out changeset fa40dded133e (bug 1541508)
Backed out changeset 2e7db4aa8d4f (bug 1541508)
Backed out changeset 6098e2eb62ea (bug 1541508)
Backed out changeset 2c599ee639c4 (bug 1541508)
Backed out changeset 7d44f6e2644c (bug 1541508)
Backed out changeset c1279c3d674c (bug 1541508)
Backed out changeset 8bd08a62a590 (bug 1541508)
Backed out changeset 740010cb005c (bug 1541508)
Backed out changeset 0bfc7dd85c62 (bug 1541508)
Backed out changeset c4374a351356 (bug 1541508)
Backed out changeset 44ccfeca7364 (bug 1541508)
Backed out changeset e944e706a523 (bug 1541508)
Backed out changeset 2c59d66f43e4 (bug 1541508)
Backed out changeset a1896eacb6f1 (bug 1541508)
2022-11-01 22:38:52 -04:00
Barret Rennie c8551a7c7d Bug 1541508 - Use Services.env in gfx/ r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160153
2022-11-02 02:08:54 +00:00
David Shin 7640199d8a Bug 1792285 - Part 2: Do proper subpixel snapping before pushing `iframe` to WebRender. r=gfx-reviewers,gw
Differential Revision: https://phabricator.services.mozilla.com/D160063
2022-11-01 20:32:07 +00:00
David Shin 96cf231f1f Bug 1792285 - Part 1: Refactor `DisplayListBuilder::PushIFrame` in preparation for proper subpixel snapping. r=emilio
Incoming `bounds` parameter is now `LayoutDeviceRect` in preparation for
proper subpixel snapping.

Differential Revision: https://phabricator.services.mozilla.com/D159884
2022-11-01 20:32:06 +00:00
Jonathan Kew 974a9cdc7f Bug 1798297 - For the Yu Gothic UI font, disable the automatic application of 'palt' when kerning is enabled, because the font's 'palt' feature is bad. r=dholbert
It feels really ugly to do this, as the problem is a badly-designed font,
not a bug in Gecko's behavior. But given that it's a standard Windows font,
I think it's probably worth having the workaround.

Differential Revision: https://phabricator.services.mozilla.com/D160820
2022-11-01 19:34:14 +00:00
Jonathan Kew 1734947769 Bug 1797103 - Avoid potential null-deref crash in active_edges. r=gfx-reviewers,lsalzman
With this, which should not change behavior unless we were about to crash,
the testcase completes successfully (although slowly, as it's generating
an 8000-plus page PDF document).

Differential Revision: https://phabricator.services.mozilla.com/D160675
2022-11-01 14:44:35 +00:00
Jens Stutte a93fafd19b Bug 1797688 - Part 2: Bail out from gfxFontInfoLoader::StartLoader InOrBeyond(AppShutdown). r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D160620
2022-11-01 14:08:43 +00:00
Jens Stutte 4e74c37f21 Bug 1798298 - Use nsThread::Shutdown to shut down the CanvasRenderThread. r=gfx-reviewers,sotaro
Differential Revision: https://phabricator.services.mozilla.com/D160799
2022-11-01 10:11:27 +00:00
Glenn Watson 480db43e21 Bug 1798244 - Port gradient stops to be stored in gpu-buffer r=gfx-reviewers,lsalzman
Port gradient stops to be stored in the gpu-buffer rather than
the gpu-cache. The intent is to land a small use case for the
gpu-buffer code, which will allow us to get an idea if there's any
unexpected performance or driver bugs from the new gpu-buffer code,
before making wider use of this to replace the gpu-cache.

Differential Revision: https://phabricator.services.mozilla.com/D160743
2022-11-01 01:30:47 +00:00
Jamie Nicol 24e878accb Bug 1794438 - Add test for computed reference frame transform with yflip and rotation. r=gfx-reviewers,bradwerth
This test ensures that a y-flip works correctly along with a 90/270
degree transform and a non-square content size.

Depends on D160817

Differential Revision: https://phabricator.services.mozilla.com/D160818
2022-10-31 20:51:43 +00:00
Jamie Nicol 11a9cd13b8 Bug 1794438 - Add ability to test push_computed_frame() to wrench. r=gfx-reviewers,bradwerth
Gecko uses the webrender API DisplayListBuilder.push_computed_frame()
to create a reference frame with a transform specified by a scale_from
size, an optional vertical_flip, and a rotation. This is used for
video.

This patch adds the ability to test this API from wrench yaml. An
example of a test using this capability can be found in the next patch
in this series.

Depends on D160816

Differential Revision: https://phabricator.services.mozilla.com/D160817
2022-10-31 20:51:43 +00:00
Jamie Nicol 6b208c7acb Bug 1794438 - Handle rotation with vertical flip transform correctly. r=gfx-reviewers,bradwerth
On Android, videos with a hard-coded rotation were being incorrectly
cropped when rendering. This is due to a buggy transform calculation
in SceneBuilder.build_reference_frame().

To apply the y-flip, we scale the height by -1, then translate the y
offset by content_size.height. However, as this video contains an 90
degree rotation, this means we actually end up translating by the
video's width rather than its height. Because the width and height are
different sizes in this video, this means the video is rendered at an
incorrect offset and is cropped. To fix this, ensure we translate by
content_size.width instead for 90 or 270 degree rotations.

Note that this only occured on Android because SurfaceTextureClient is
the only texture client type that sets the ORIGIN_BOTTOM_LEFT texture
flag, thereby causing a y-flip in this location.

Differential Revision: https://phabricator.services.mozilla.com/D160816
2022-10-31 20:51:42 +00:00
Jens Stutte c2ea4a2af8 Bug 1797980 - Adjust CanvasRenderThread BHM and Task name, correct typo. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D160780
2022-10-31 12:23:51 +00:00
Andrew Osmond 3eb6504096 Bug 1793127. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D159655
2022-10-30 23:48:26 +00:00
Iulian Moraru 82b06c58a4 Backed out 4 changesets (bug 1796697) as per Daniel Holbert's request. CLOSED TREE
Backed out changeset f9d2d5f60fe9 (bug 1796697)
Backed out changeset b7ee22f54a6c (bug 1796697)
Backed out changeset d43777f8ef79 (bug 1796697)
Backed out changeset a2763d3ad250 (bug 1796697)
2022-10-30 23:06:57 +02:00
Jonathan Kew d21c354ae5 Bug 1797431 - patch 3 - For CJK text, disable kerning by default (when font-kerning:auto is in effect); only apply it when explicitly requested. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D160497
2022-10-30 11:23:57 +00:00
Jonathan Kew 163751f649 Bug 1797431 - patch 1 - For CJK text, when kerning is enabled, also apply the OpenType 'palt' feature. r=layout-reviewers,jwatt.
As specified in the OpenType feature registry, e.g. at https://learn.microsoft.com/en-gb/typography/opentype/spec/features_ko#tag-kern.

Differential Revision: https://phabricator.services.mozilla.com/D160495
2022-10-30 11:23:55 +00:00
Daniel Holbert 0aa03120aa Bug 1798080 part 1: Add MOZ_STACK_CLASS annotation to some text layout/painting classes, to reflect reality. r=jfkthame
This patch doesn't impact behavior; it's just adding an annotation to activate
a static analysis check for various classes.

The annotation gives us some confidence that these instances are tightly scoped
to a particular function-call.  This helps reduce concerns about to-what-extent
the affected classes might need to worry about the lifetimes of the objects
pointed to by their member-vars.

The specific classes I'm annotating are:

 - gfxTextRunDrawCallbacks and PaintTextParams, both of which have multiple
   subclasses, all of which will automatically inherit this annotation and
   benefit from it.

 - TextFrameIterator and CharIterator, two local utility classes in
   SVGTextFrame.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D160694
2022-10-29 17:43:29 +00:00
Marian-Vasile Laza d0ed38c548 Backed out 1 changesets (bug 1379458) for causing devtools failures on nsGfxScrollFrame.cpp. CLOSED TREE
Backed out changeset 61a605c335b0 (bug 1379458)
2022-10-29 12:58:44 +03:00
Lee Salzman 78300497a6 Bug 1797721 - Handle tile repeat in brush_linear_gradient SWGL span shader. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D160608
2022-10-29 07:03:36 +00:00
Dan Robertson c4b523b10c Bug 1379458 - Add test group for overscroll handoff. r=botond
- Add tests for overscroll handoff from a fixed position element
 - Add test for overscroll handoff from a sticky position element

Differential Revision: https://phabricator.services.mozilla.com/D148662
2022-10-29 02:44:42 +00:00
pmcmanis 36a12fbee2 Bug 1797631 - Removing the code implemented for the new metric capture experiment ping. Reverts back to previous state. chutten r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D160423
2022-10-28 14:20:34 +00:00
Andrew Osmond 77b6b3ccc7 Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 12:36:06 +00:00
Andrew Osmond 9d245b8325 Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 12:36:06 +00:00
Andrew Osmond 53608b802f Bug 1794722 - Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Differential Revision: https://phabricator.services.mozilla.com/D160120
2022-10-28 12:36:05 +00:00
Christian Holler cd13faf4f7 Bug 1797706 - Add missing check in LookupSurfaceDescriptorForClientTexture. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D160637
2022-10-28 12:08:02 +00:00
Botond Ballo 22f76d669c Bug 1797220 - Remove no-longer-useful FrameMetrics parameter of RequestContentRepaint. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D160162
2022-10-28 06:40:33 +00:00
Cristian Tuns 1303ee58d8 Backed out 3 changesets (bug 1794722) for causing multiple failures on RemoteProcessMonitor CLOSED TREE
Backed out changeset 0217af5b1aa6 (bug 1794722)
Backed out changeset d7805be9dfb3 (bug 1794722)
Backed out changeset 0093f071f1a5 (bug 1794722)
2022-10-27 20:52:36 -04:00
Chris Peterson 075d5c8197 Bug 1794164 - Fix C++20 -Wenum-float-conversion warnings in layout-related code. r=dholbert
C++20 deprecates some operations between enums and floating point types:

https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-float-conversion

dom/canvas/CanvasRenderingContext2D.cpp:4743:58 [-Wenum-float-conversion] arithmetic between enumeration type 'VideoInfo::Rotation' and floating-point type 'double'

dom/events/EventStateManager.cpp:6656:35 [-Wenum-float-conversion] comparison of floating-point type 'double' with enumeration type 'mozilla::EventStateManager::(unnamed enum at dom/events/EventStateManager.h:342:3)'
dom/events/EventStateManager.cpp:6664:35 [-Wenum-float-conversion] comparison of floating-point type 'double' with enumeration type 'mozilla::EventStateManager::(unnamed enum at dom/events/EventStateManager.h:342:3)'

gfx/thebes/gfxTextRun.cpp:2992:24 [-Wenum-float-conversion] comparison of floating-point type 'gfxFloat' (aka 'double') with enumeration type 'gfxFontGroup::(unnamed enum at gfx/thebes/gfxTextRun.h:1035:3)'

layout/generic/nsVideoFrame.cpp:59:58 [-Wenum-float-conversion] arithmetic between enumeration type 'VideoInfo::Rotation' and floating-point type 'double'

layout/painting/nsCSSRenderingBorders.cpp:2752:27 [-Wenum-float-conversion] arithmetic between enumeration type 'mozilla::Corner' and floating-point type 'double'

Differential Revision: https://phabricator.services.mozilla.com/D158867
2022-10-28 00:45:25 +00:00
Andrew Osmond f8dc716e8d Bug 1794722 - Part 3. Remove all uses of GfxInfo::GetWebRenderEnabled. r=jrmuizel,webcompat-reviewers,twisniewski
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160122
2022-10-28 00:08:04 +00:00
Andrew Osmond 93abf26cbc Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 00:08:03 +00:00
Andrew Osmond b01099b79d Bug 1794722 - Part 1. Remove WebRender from the GfxInfo allowlist. r=jrmuizel
WebRender is a mature feature. We should start blocking it on known bad
devices over allowlisting known good devices. This may enable WebRender
in a few more obscure places than we shipped before.

Differential Revision: https://phabricator.services.mozilla.com/D160120
2022-10-28 00:08:03 +00:00
Lee Salzman a2fa759a56 Bug 1795510 - Explicitly check for perspective in clip tile shaders for SWGL. r=aosmond
Clip tile shaders don't output the vertex W, so that SWGL can't detect if we're trying
to render something with perspective or not. swgl_drawSpan functions then get invoked
as if no perspective was used. In this case, we need to explicitly check to see if
there is perspective, or rather, that the W value varies along the span.

Differential Revision: https://phabricator.services.mozilla.com/D160464
2022-10-27 23:48:29 +00:00
Cristian Tuns d82d2ab676 Backed out 3 changesets (bug 1379458) for causing reftest failures on nsDisplayList.cpp CLOSED TREE
Backed out changeset 1d37427ef6f2 (bug 1379458)
Backed out changeset 54494d5e152c (bug 1379458)
Backed out changeset e1347c761038 (bug 1379458)
2022-10-27 18:09:35 -04:00
Dan Robertson 357dc2b8a6 Bug 1379458 - Add test group for overscroll handoff. r=botond
- Add tests for overscroll handoff from a fixed position element
 - Add test for overscroll handoff from a sticky position element

Differential Revision: https://phabricator.services.mozilla.com/D148662
2022-10-27 21:16:22 +00:00
Jonathan Kew c8a2f63e06 Bug 1796648 - Drop any SVG table from downloaded fonts if OpenType-SVG rendering is disabled. r=gfx-reviewers,lsalzman
This makes e.g. https://nabla.typearture.com/ perform VASTLY better on macOS if OT-SVG is preffed off;
without it, we get bogged down in Core Text internally parsing all the SVG when all we want are the
TrueType outlines.

Differential Revision: https://phabricator.services.mozilla.com/D159888
2022-10-27 20:55:04 +00:00
Csoregi Natalia daaa5f1e88 Backed out changeset d1dd198481d0 (bug 1796648) for reftest failures on svg-glyph-basic.svg. CLOSED TREE 2022-10-27 19:59:38 +03:00
Jonathan Kew 9fa1f3bbeb Bug 1796648 - Drop any SVG table from downloaded fonts if OpenType-SVG rendering is disabled. r=gfx-reviewers,lsalzman
This makes e.g. https://nabla.typearture.com/ perform VASTLY better on macOS if OT-SVG is preffed off;
without it, we get bogged down in Core Text internally parsing all the SVG when all we want are the
TrueType outlines.

Differential Revision: https://phabricator.services.mozilla.com/D159888
2022-10-27 14:00:37 +00:00
sotaro 41bf2e8ee2 Bug 1796527 - Let reuse decoder device to release on non-intel GPUs on Windows r=jrmuizel,gfx-reviewers
Reuse decoder device is already enabled on Intel and AMD GPUs on release.

Differential Revision: https://phabricator.services.mozilla.com/D160010
2022-10-27 10:12:05 +00:00
teoxoy ce860e6a42 Bug 1783713 - Use wgpu's "strict_asserts" feature r=jimb
Differential Revision: https://phabricator.services.mozilla.com/D160196
2022-10-26 19:48:26 +00:00
Emilio Cobos Álvarez d9378b9fc5 Bug 1797146 - Remove system font support for various font longhands. r=jfkthame
We don't use them[1], and these are generally not properties that
authors would be able to set via the font shorthand anyways.

Let's simplify the code. This fixes the font-variant bug and also
unblocks further clean-ups of these properties in the future.

[1]: https://searchfox.org/mozilla-central/rev/59f0bf3c13dd455d9f5415b89178de701ea6b850/widget/LookAndFeelTypes.ipdlh#12-18

Differential Revision: https://phabricator.services.mozilla.com/D160352
2022-10-26 14:42:49 +00:00
Andreas Pehrson c7b43afeaa Bug 1795542 - s/GetCurrentSerialEventTarget/GetMainThreadSerialEventTarget/ in CrossProcessPaint. r=tnikkel
This lets us set up CrossProcessPaint from a TaskQueue on top of main thread.

Prior to this patch if such a TaskQueue was shut down with a pending
CrossProcessPaint in flight, we'd fail MozPromise assertions because of the
failed dispatch when resolving the CrossProcessPaint::ResolvePromise.

Differential Revision: https://phabricator.services.mozilla.com/D159603
2022-10-26 13:53:08 +00:00
Chris H-C de3c85f1cf Bug 1797363 - Vendor Glean SDK v51.7.0 r=TravisLong,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D160269
2022-10-26 13:02:54 +00:00
Bob Owen e7590b15a6 Bug 1778237: Hold weak reference to optimized surfaces in DrawTargetRecording, to allow reuse. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D160095
2022-10-26 07:12:50 +00:00
sotaro fc8d330fb5 Bug 1797029 - Expose DXGISwapChain tearing support to about:support r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D160177
2022-10-26 05:42:49 +00:00
Lee Salzman 1ca676e9e2 Bug 1797099 - Ensure the SurfacePattern transform is invertible. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D160091
2022-10-25 17:42:05 +00:00
Bas Schouten be7600f0ff Bug 1768652: Make sure to always cancel the sceneswap timer when not recording. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D145968
2022-10-25 12:47:17 +00:00
Stanca Serban cd633e4e0e Backed out changeset 11cf9f3daba8 (bug 1778237) for causing multiple failures with ThreadSafeWeakReference. CLOSED TREE 2022-10-25 14:39:42 +03:00
Bob Owen 0617b49417 Bug 1778237: Hold weak reference to optimized surfaces in DrawTargetRecording, to allow reuse. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D160095
2022-10-25 08:31:18 +00:00
Timothy Nikkel c4dfda1c19 Bug 1797186. Rework ClipManager::PopOverrideForASR. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160123
2022-10-24 21:45:57 +00:00
Jamie Nicol 4e75ea7392 Bug 1797068 - Ensure GPU process gets disabled after certain number of unstable launch attempts. r=aosmond
This was accidentally broken in bug 1768197.

Depends on D160042

Differential Revision: https://phabricator.services.mozilla.com/D160043
2022-10-24 14:53:41 +00:00
Daniel Holbert edb99e58fa Bug 1796697 part 4: Annotate gfxSkipCharsIterator as MOZ_STACK_CLASS. r=jfkthame
In practice, it's only instantiated on the stack; and that's kinda important,
to reduce the likelihood that it somehow outlives the 'gfxSkipChars' instance
that it maintains a raw pointer to and is iterating over.

Differential Revision: https://phabricator.services.mozilla.com/D159922
2022-10-24 14:06:13 +00:00
Daniel Holbert 55458fbe14 Bug 1796697 part 3: Use the 'NotNull' type to make it clear that gfxSkipCharsIterator::mSkipChars can never be null. r=jfkthame
This patch doesn't change behavior; it's just using the type system to make it
clearer that this variable never gets assigned to a null pointer. (In fact, its
value is always initialized using the address of a C++ reference, which by
definition is never null.)

Note: we can't make the mSkipChars member itself into a C++ reference here;
that would prevent gfxSkipCharsIterator instances from being reassignable
(since C++ references can't be rebound), which would be a problem since we do
in fact reassign gfxSkipCharsIterator instances in a few places.  In contrast,
this patch's NotNull-pointer mSkipChars does allow itself to be reassigned,
which in turn allows gfxSkipCharsIterator to remain reassignable.

Depends on D159903

Differential Revision: https://phabricator.services.mozilla.com/D159904
2022-10-24 14:06:13 +00:00
Daniel Holbert 580cd3342a Bug 1796697 part 2: Remove gfxSkipCharsIterator's dummy no-arg constructor, as well as its associated now-unnecessary "IsInitialized()" API. r=jfkthame
This patch doesn't change behavior.

This no-arg constructor only had one inadvertent usage -- it was used to
default-initialize one of ClusterIterator's member-vars, just before we
reassign it to something else in the constructor body.  (I'm fixing that here
by explicitly constructing that member-var up-front in the init list, rather
than in the constructor body.)

Depends on D159902

Differential Revision: https://phabricator.services.mozilla.com/D159903
2022-10-24 14:06:12 +00:00
Jonathan Kew 8888937e07 Bug 1461589 - Handle font-variant-emoji during font matching. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D147495
2022-10-22 09:43:49 +00:00
Jonathan Kew 89c8d6a003 Bug 1461589 - Add support for the CSS font-variant-emoji property to the style system. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D147494
2022-10-22 09:43:48 +00:00
Razvan Cojocaru 605f03838c Bug 1719330 - Limit line-scrolling to one page in scrollable elements with a short viewport. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D159662
2022-10-21 18:31:46 +00:00
Emilio Cobos Álvarez 7d64d1e0cd Bug 1795661 - Apply patch in comment 16 as it's trivial. a=imoraru
MANUAL PUSH: Trivial unified disambiguation fix CLOSED TREE.
2022-10-20 22:29:39 +02:00
Jonathan Kew 0f2ff6fa4b Bug 1789482 - Let cairo-quartz-surface use DO_IMAGE for the EXTEND_PAD case as well as EXTEND_NONE, and re-enable the use of CGLayer-backed cairo-quartz surfaces for better pdf.js print quality. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D159623
2022-10-20 18:36:28 +00:00
Ryan VanderMeulen c6624e7438 Bug 1796292 - Update HarfBuzz to 5.3.1. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D159779
2022-10-20 13:23:12 +00:00
Jan-Erik Rediger 2003f2a8b0 Bug 1796087 - Update to Glean v51.5.0 and UniFFI 0.21.0. r=chutten,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D159689
2022-10-20 12:42:47 +00:00
Emilio Cobos Álvarez f8e67172a3 Bug 1795661 - Don't apply scroll padding on the sticky sides for a stuck element. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D159532
2022-10-19 09:12:08 +00:00
Nicolas Silva 6ff7822e10 Bug 1795711 - Show number of created/deleted textures in WR's profiler. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D159589
2022-10-19 08:18:17 +00:00
Jonathan Kew 520c17080c Bug 1795919 - Remove unused gfxQuartzSurface constructor from a data buffer, and the (locally-added) cairo_quartz_surface function it depends on. r=gfx-reviewers,lsalzman
As there are no callers, this shouldn't change anything!

Differential Revision: https://phabricator.services.mozilla.com/D159611
2022-10-18 21:05:21 +00:00
Mike Hommey 056763e84d Bug 1776463 - Use C++17 inline variable for CountingAllocatorBase::sAmount. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D159360
2022-10-17 21:54:12 +00:00
Tom Ritter f71c987669 Bug 332006: Remove an old cairo patch r=jrmuizel
This patch hasn't been touched in ten years and the code it affects does not
appear in the file, so I think it is old an unused.

Differential Revision: https://phabricator.services.mozilla.com/D159514
2022-10-17 20:03:53 +00:00
Jamie Nicol 54c6c8806a Bug 1795614 - Avoid invalidating render targets on Mali-G710. r=gfx-reviewers,jgilbert
In bug 1787520 we discovered a driver bug affecting Mali-G78 devices,
and added a workaround for it - avoiding invalidating no-longer-needed
render targets at the end of each render pass. It now transpires this
bug also affects Mali-G710 GPUs, so this patch applies the same
workaround for those devices too.

Differential Revision: https://phabricator.services.mozilla.com/D159515
2022-10-17 18:52:01 +00:00
Mike Conley 797281a881 Bug 1795151 - Convert gfx/layers/apz JSMs to ESMs. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D159330
2022-10-17 14:46:13 +00:00
Jeff Muizelaar 2091af5f6b Bug 1795045 - qcms: Add support for only reading the curves from profiles. r=aosmond
We use this when reading the output profiles to avoid the
performance cost of doing the color transformation using LUTs
when the output profile has them.

This will let us enable ICCv4 everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D159273
2022-10-14 19:16:54 +00:00
Robert Longson dbf0e20942 Bug 1795101 - replace deprecated CMTimebaseCreateWithMasterClock by CMTimebaseCreateWithSourceClock r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D159341
2022-10-14 06:46:44 +00:00
Razvan Cojocaru 4d1c3500c5 Bug 1767337 - Ignore duplicate pan-end events at the end of a pan gesture. r=botond
Some Wayland version send such duplicate events and they could cause the
page to be stuck in overscroll if the pan gesture ends without velocity for
momentum scrolling.

Differential Revision: https://phabricator.services.mozilla.com/D159139
2022-10-13 20:06:28 +00:00
sotaro d8ebc1c23b Bug 1795004 - Remove SurfaceTextureHost::NotifyNotUsed() r=gfx-reviewers,lsalzman
SurfaceTextureHost::NotifyNotUsed() is not necessary and it prevents that TextureHost::NotifyNotUsed() to be called.

Differential Revision: https://phabricator.services.mozilla.com/D159255
2022-10-13 12:47:16 +00:00
Nicolas Silva f8a2ef4614 Bug 1791881 - Don't crash in buffer_destroy if the buffer is in an invalid state. r=jgilbert
Once https://github.com/gfx-rs/wgpu/pull/3094 is merged, unallocated and freed handles will panic in wgpu-core so we don't have to do it here. In the mean time it will produce the wrong error but still fail safely. DestroyError::Invalid means the handle exists but is not is in an invalid state, for example if the buffer was created with invalid parameter like in this bug's test case.

Differential Revision: https://phabricator.services.mozilla.com/D159054
2022-10-13 09:28:19 +00:00
Glenn Watson 7b751b5e60 Bug 1794949 - Support deferred render task information in GPUBuffer r=gfx-reviewers,lsalzman
When building the GPUBuffer during the prepare pass, we want to be
able to refer to the UV rect (and other information) about images
and render tasks. However, we don't know this information until
after the resource cache block that occurs after prepare (waiting
for blob / glyph worker threads to complete).

Previously, we would defer these queries until batching and then
reference these via a GPU cache address in the instances, which
is complicated and inefficient (making instances larger than they
need to be).

With this change, GPUBuffer supports recording "patch" locations in
the buffer that UV rects should be added. After the render task
graph is built, the GPUBuffer can resolve and patch those locations,
meaning that batching is much simpler (and reducing the number of
indirect fetches required in vertex shaders).

Differential Revision: https://phabricator.services.mozilla.com/D159236
2022-10-13 04:25:18 +00:00
pmcmanis be272fdeb5 Bug 1791000 - Implement a custom ping in FOG to emulate a possible nodc implementation r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D158963
2022-10-12 20:19:58 +00:00
Andrew Osmond fb1b8f0303 Bug 1792115 - Avoid a double lock in DeviceManagerDx::MaybeResetAndReacquireDevices. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D159200
2022-10-12 18:56:36 +00:00
Ashly Hale a9a114bbfe Bug 1786634 - Remove ImageMask.repeat field because it is always false r=gw
Remove some dead code.

Differential Revision: https://phabricator.services.mozilla.com/D159010
2022-10-11 23:54:28 +00:00
alwu e45556582d Bug 1791892 - part8: add MOZ_COUNT_CTOR/MOZ_COUNT_DTOR to track leaking. r=jolin
Adding these marcos would allow the bloatview show the leaking class
information [1].

[1] https://searchfox.org/mozilla-central/rev/d45dd05bf412e7468b3770a52519e9d546d6325c/docs/performance/memory/bloatview.md#74-82

Depends on D158386

Differential Revision: https://phabricator.services.mozilla.com/D158434
2022-10-10 20:13:31 +00:00
Brad Werth 8b03fbf5a0 Bug 1765187 Part 2: Make macOS video decoder recognize and use color primaries. r=media-playback-reviewers,jgilbert,alwu
Differential Revision: https://phabricator.services.mozilla.com/D156587
2022-10-10 20:12:59 +00:00
Brad Werth 949fa28f4f Bug 1765187 Part 1: Track color primaries independently from coefficients. r=media-playback-reviewers,jgilbert,alwu
This patch attempts to read color primary information from platform
agnostic decoders. It doesn't use any of this information to change how
the video frame is displayed.

It also cleans up some VPX transfer characteristics, to ensure they are
actually retrieved from the codec information, when available.

Differential Revision: https://phabricator.services.mozilla.com/D156362
2022-10-10 20:12:58 +00:00
Lee Salzman cfb26bdf6f Bug 1792527 - Explicitly bind mip filter for external textures inside WebRender. r=gw
If an external image shows up multiple times while using a different image rendering
setting on each instance, we can erroneously call handler.lock() for each instance in
parallel, thus defaulting to the last image rendering setting supplied for all instances
in that batch.

To work around this, we get rid of the concept of having RenderTextureHosts maintain and
set the image rendering state, which results in a nice simplification. Then, when we go
to actually bind an external image inside WebRender, we set the image rendering state
at that point, so that regardless of how many instances of an external image are locked
simultaneously, we always use the correct image rendering setting for a batch.

Differential Revision: https://phabricator.services.mozilla.com/D158920
2022-10-10 19:23:51 +00:00
Dan Robertson 4e9bde7d74 Bug 1793406 - Guard against a null pointer deref if no APZC was found. r=botond
If no target APZC was found, guard agains a nullptr deref, and do not check the
fixed position side bits of the hit.

Differential Revision: https://phabricator.services.mozilla.com/D158862
2022-10-10 18:37:14 +00:00
Ryan VanderMeulen ea70f18c59 Bug 1794307 - Update HarfBuzz to 5.3.0. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D158913
2022-10-10 13:13:02 +00:00
Nicolas Silva 964e86929d Bug 1787694 - Use a quadratic polynomial formula with less precision loss. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D158752
2022-10-10 07:24:40 +00:00
Razvan Cojocaru 3cc125811b Bug 1755044 - Make every pixel of movement past the touch-start tolerance threshold cause scrolling. r=botond
Previously, the entire delta of the touch-move event that crossed
the threshold would be dropped.

While at it, fix the transition to a TOUCHING state for the
PINCHGESTURE_FINGERLIFTED case (mStartTouch should be updated to
the position of the remaining finger).

Differential Revision: https://phabricator.services.mozilla.com/D156221
2022-10-09 18:18:46 +00:00
Jonathan Kew d811a2820d Bug 1791780 - Support custom color font palettes in the COLR-font rendering code. r=gfx-reviewers,lsalzman
This creates the gfx support needed to use alternate palettes, though not yet connected
to the CSS rules/properties to define and access them.

Differential Revision: https://phabricator.services.mozilla.com/D157958
2022-10-07 23:00:45 +00:00
Jonathan Kew 62d3894f90 Bug 1794096 - Fix the rendering of padded linear gradient when the color line is zero-length. r=lsalzman
This is the linear-gradient version of bug 1793611 for radial gradients, and is fixed similarly.
Includes reftest.

Differential Revision: https://phabricator.services.mozilla.com/D158839
2022-10-07 21:38:49 +00:00
Noemi Erli 5b0216e320 Backed out 9 changesets (bug 1791778, bug 1791782, bug 1791780, bug 1791777) for causing build bustages in TestCOLRv1.cpp CLOSED TREE
Backed out changeset aeb44b79bf31 (bug 1791782)
Backed out changeset 292fd3a1b6dd (bug 1791782)
Backed out changeset 9947218170d0 (bug 1791780)
Backed out changeset 528b4c022a44 (bug 1791778)
Backed out changeset c734ff661a66 (bug 1791778)
Backed out changeset 6585dd386ee3 (bug 1791777)
Backed out changeset af4243189ef1 (bug 1791777)
Backed out changeset a47ae5f76514 (bug 1791777)
Backed out changeset 24ce615e77fd (bug 1791777)
2022-10-08 00:08:57 +03:00
pmcmanis b3d8c6d5d8 Bug 1793786 - Update Glean version to 51.4.0 r=chutten,supply-chain-reviewers,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D158759
2022-10-07 20:19:49 +00:00
Jonathan Kew fbe5f32f43 Bug 1791780 - Support custom color font palettes in the COLR-font rendering code. r=gfx-reviewers,lsalzman
This creates the gfx support needed to use alternate palettes, though not yet connected
to the CSS rules/properties to define and access them.

Differential Revision: https://phabricator.services.mozilla.com/D157958
2022-10-07 18:58:52 +00:00
Cristian Tuns 18e597b504 Backed out 9 changesets (bug 1791777, bug 1791780, bug 1791778, bug 1791782) for causing build bustages on TestCOLRv1.cpp CLOSED TREE
Backed out changeset f145a34cfbc1 (bug 1791782)
Backed out changeset 2f12216fbeda (bug 1791782)
Backed out changeset 61bd2a4496bf (bug 1791780)
Backed out changeset 4e4eb99a7fd9 (bug 1791778)
Backed out changeset 32d171a28810 (bug 1791778)
Backed out changeset e317795cd27a (bug 1791777)
Backed out changeset 5e32d5a01917 (bug 1791777)
Backed out changeset cf87497dbead (bug 1791777)
Backed out changeset 586c735b005e (bug 1791777)
2022-10-07 13:46:43 -04:00
Jonathan Kew c860e6c421 Bug 1791780 - Support custom color font palettes in the COLR-font rendering code. r=gfx-reviewers,lsalzman
This creates the gfx support needed to use alternate palettes, though not yet connected
to the CSS rules/properties to define and access them.

Differential Revision: https://phabricator.services.mozilla.com/D157958
2022-10-07 16:53:35 +00:00
Norisz Fay 30ef428f43 Backed out 9 changesets (bug 1791780, bug 1791782, bug 1791778, bug 1791777) for causing multiple mochitest failures CLOSED TREE
Backed out changeset 6de1ade5a9b6 (bug 1791782)
Backed out changeset ce96452a38a1 (bug 1791782)
Backed out changeset 7cc8e027f5a7 (bug 1791780)
Backed out changeset 8e023280032c (bug 1791778)
Backed out changeset 26d65d76d02a (bug 1791778)
Backed out changeset a98dd552df64 (bug 1791777)
Backed out changeset 766386309ee5 (bug 1791777)
Backed out changeset 7de66a218ba4 (bug 1791777)
Backed out changeset 1d17c257444e (bug 1791777)
2022-10-07 17:36:38 +03:00
Butkovits Atila 1bed1fd6e7 Backed out changeset a5df97f61fec (bug 1793786) for causing build bustages. CLOSED TREE 2022-10-07 16:35:21 +03:00
pmcmanis 5d43825505 Bug 1793786 - Update Glean version to 51.4.0 r=chutten,supply-chain-reviewers,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D158759
2022-10-07 13:05:21 +00:00
Jonathan Kew d29b0575d8 Bug 1791780 - Support custom color font palettes in the COLR-font rendering code. r=gfx-reviewers,lsalzman
This creates the gfx support needed to use alternate palettes, though not yet connected
to the CSS rules/properties to define and access them.

Differential Revision: https://phabricator.services.mozilla.com/D157958
2022-10-07 12:16:53 +00:00
Marian-Vasile Laza af50e8d0f5 Backed out changeset 7d85a597c9ae (bug 1778120) as req by dmeehan for causing 1792797. 2022-10-06 21:31:04 +03:00
Jonathan Kew a7d8feedd6 Bug 1761233 - Apply VDMX sanitization fix from https://github.com/khaledhosny/ots/pull/250 to avoid generating invalid "sanitized" data. r=gfx-reviewers,lsalzman
With this fix, the site from comment 21 loads successfully.

Differential Revision: https://phabricator.services.mozilla.com/D158712
2022-10-06 10:05:26 +00:00
Dan Robertson 0e8347096e Bug 1785105 - Fire scrollend events. r=hiro,emilio
Fire scrollend events to the document and elements if
apz.scrollend.event.enabled is set. If the guarding preference is not set,
fire a chrome-only event to preserve the pre-existing behavior.

Differential Revision: https://phabricator.services.mozilla.com/D157652
2022-10-06 01:07:16 +00:00
Chun-Min Chang c3449a3361 Bug 1774300 - Implement VideoFrame Constructor for I420A ArrayBuffer* r=padenot,jgilbert
This patch allows constructing a VideoFrame from the ArrayBuffer* in
I420A format, which contains the I420 data with an extra alpha channel
data.

Depends on D149584

Differential Revision: https://phabricator.services.mozilla.com/D149943
2022-10-06 00:37:22 +00:00
Emilio Cobos Álvarez 2414af9244 Bug 1793689 - Make GetMinimumWidgetSize work properly on non-XUL flexbox. r=TYLin,layout-reviewers
The XUL behavior in nsBox.cpp is fairly different to what the non-XUL
layout code paths do. In particular, canOverride=false means that the
min-{width,height} properties cannot go under the min widget size of the
widget, but that doesn't mean that intrinsic sizes don't affect the
final size of the widget.

This is very visible if you turn on flex emulation on Windows or macOS,
where the toolbar has an appearance that returns
width=0,height=N,canOverride=false.

With flex emulation we'd collapse the item to be zero-width, which is
not good at all.

The good thing is that this is no longer exposed to the web
(non-native-theme always returns canOverride=true), and our front-end
code doesn't seem to rely on this, so we can just remove support for
canOverride=false.

Differential Revision: https://phabricator.services.mozilla.com/D158608
2022-10-05 19:09:29 +00:00
Glenn Watson 23cf35087b Bug 1793714 - Update RON crate in WR to 0.7.1 r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D158621
2022-10-05 02:51:51 +00:00
Jonathan Kew 395783fdcf Bug 1793611 - Handle degenerate (0-length) color line in extend-pad mode for radial gradients. r=lsalzman
Includes reftest; there's fuzz at the color transitions, when compared to a CSS-backgrounds simulation,
but in the case of "real" failure there'd be many more pixels of mismatch, and max-difference would be 255.

Differential Revision: https://phabricator.services.mozilla.com/D158579
2022-10-05 00:35:24 +00:00
Butkovits Atila a8ac58e9bd Backed out changeset 47f7bd51fc85 (bug 1793611) for causing reftest failures. CLOSED TREE 2022-10-05 01:55:10 +03:00
Butkovits Atila 14c4666a5f Backed out changeset 0a2985a48339 (bug 1769747) for causing gl failures. 2022-10-05 01:38:13 +03:00
Butkovits Atila dd8f948670 Backed out 19 changesets (bug 1793497, bug 1774300) for causing lint failure. CLOSED TREE
Backed out changeset f5460317d244 (bug 1793497)
Backed out changeset 5af8771526a1 (bug 1774300)
Backed out changeset 3ab7aead37b5 (bug 1774300)
Backed out changeset 5f837d7e621b (bug 1774300)
Backed out changeset 56bfa6480cb5 (bug 1774300)
Backed out changeset db37fffc8519 (bug 1774300)
Backed out changeset d5d263cedbc9 (bug 1774300)
Backed out changeset 52fdd5a613f4 (bug 1774300)
Backed out changeset 6ce76e0d6fd2 (bug 1774300)
Backed out changeset c5f67f22597e (bug 1774300)
Backed out changeset 4a7dca31703e (bug 1774300)
Backed out changeset e56596b91a86 (bug 1774300)
Backed out changeset 825ae6e7be9b (bug 1774300)
Backed out changeset 19f750d86a73 (bug 1774300)
Backed out changeset 50995e55c546 (bug 1774300)
Backed out changeset 33b150b4c911 (bug 1774300)
Backed out changeset 2bc06d0e8808 (bug 1774300)
Backed out changeset ba9bc5c631b0 (bug 1774300)
Backed out changeset 4a145bdd6b86 (bug 1774300)
2022-10-05 01:05:57 +03:00
Chun-Min Chang c4b771507e Bug 1774300 - Implement VideoFrame Constructor for I420A ArrayBuffer* r=padenot,jgilbert
This patch allows constructing a VideoFrame from the ArrayBuffer* in
I420A format, which contains the I420 data with an extra alpha channel
data.

Depends on D149584

Differential Revision: https://phabricator.services.mozilla.com/D149943
2022-10-04 21:38:26 +00:00
Jonathan Kew 436c216703 Bug 1793611 - Handle degenerate (0-length) color line in extend-pad mode for radial gradients. r=lsalzman
Includes reftest; there's fuzz at the color transitions, when compared to a CSS-backgrounds simulation,
but in the case of "real" failure there'd be many more pixels of mismatch, and max-difference would be 255.

Differential Revision: https://phabricator.services.mozilla.com/D158579
2022-10-04 20:33:23 +00:00
Kelsey Gilbert 5e0abe1b97 Bug 1769747 - Support non-RGBA video-to-texture fastpath. r=gfx-reviewers,nical
Also scale back some asserts from debug-fatal to just warnings, because
I kept hitting them during testing because of our poor surface lifetime
handling.

Differential Revision: https://phabricator.services.mozilla.com/D157993
2022-10-04 20:31:42 +00:00
Jonathan Kew ca0e2b1910 Bug 1793105 - followup, fix for the edge-case of collapsing the color line to one end, with co-located stops. r=lsalzman
Rather than calling TruncateGradientStops, which doesn't handle this case properly (it leaves multiple
color stops because they're at the same offset), we can just delete all but the required color directly.

Added an example of this scenario to the reftest.

Differential Revision: https://phabricator.services.mozilla.com/D158509
2022-10-04 08:22:35 +00:00
sotaro ae8d7756c6 Bug 1793388 - Disable wait at RenderCompositorANGLE::WaitForGPU() on Windows nightly r=gfx-reviewers,lsalzman
Wait at RenderCompositorANGLE::WaitForGPU() blocks render thread. It is not good.

Since Bug 1589718 fix, AsyncImagePipelineManager::NotifyPipelinesUpdated() works without wait at RenderCompositorANGLE::WaitForGPU(). Directly bounded texture buffers are released by using aLastCompletedFrameId.

Differential Revision: https://phabricator.services.mozilla.com/D158478
2022-10-04 06:26:26 +00:00