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

44167 Коммитов

Автор SHA1 Сообщение Дата
Adrien Champion 0004c0ad8e Bug 1802158 - Remove `gfx/graphite2` dead C++ cluster 1. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D163320
2022-11-30 16:14:08 +00:00
Brad Werth 73776d7a57 Bug 1803034: Omit missing enums from an older dxgicommon.h for Windows MinGW builds. r=gfx-reviewers,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D163360
2022-11-30 06:31:37 +00:00
Brad Werth b8327d4af3 Bug 1801819: Make SynchronousTask double-check its completion flag to identify timeouts. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D162877
2022-11-29 05:15:07 +00:00
Brad Werth 8207ea392d Bug 1798067 Part 3: Emit telemetry for gfx.supports_hdr alongside other gfx telemetry. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D161545
2022-11-29 02:31:19 +00:00
Brad Werth aae47a0639 Bug 1798067 Part 2: Implement gfxWindowsPlatform::SupportsHDR. r=jgilbert,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161365
2022-11-29 02:31:19 +00:00
Brad Werth e2e3323a40 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-29 02:31:18 +00:00
Botond Ballo 6d124a732d Bug 1802225 - Move TestSurfaceAllocator to TestTextures.cpp and remove TestLayers.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162936
2022-11-29 01:52:04 +00:00
Botond Ballo 9232e34cb4 Bug 1802225 - Rename LayerAttributes.h to ScrollbarData.h. r=tnikkel
Since ScrollbarData is its only remaining content.

Differential Revision: https://phabricator.services.mozilla.com/D162935
2022-11-29 01:52:03 +00:00
Botond Ballo 68c71a503c Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.

Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Botond Ballo 265b8dc195 Bug 1802225 - Move RecordCompositionPayloadsPresented() to CompositorBridgeParent.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162933
2022-11-29 01:52:02 +00:00
Botond Ballo 6e1e4381dd Bug 1802225 - Move ToOutsideIntRect() to WebRenderLayerManager.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162932
2022-11-29 01:52:02 +00:00
Botond Ballo bd0e683d14 Bug 1802225 - Move WriteSnapshotToDumpFile() to CompositorOGL.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162931
2022-11-29 01:52:02 +00:00
Botond Ballo 5ed0b2dc47 Bug 1802225 - Remove class Layer. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162930
2022-11-29 01:52:01 +00:00
Botond Ballo 81a7d5dda0 Bug 1802225 - Remove the LayerPolygon typedef. r=tnikkel
Its only user was the BSPTree test suite, for its purposes
define a TestPolygon using an empty BSPTestData class instead.

Differential Revision: https://phabricator.services.mozilla.com/D162929
2022-11-29 01:52:01 +00:00
Botond Ballo 14d13f5339 Bug 1802225 - Remove unused declaration of WriteSnapshotToDumpFile(Layer*, ...). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162928
2022-11-29 01:52:01 +00:00
Botond Ballo f4f911a6d5 Bug 1802225 - Remove unused method AnimationInfo::TransferMutatedFlagToLayer(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162927
2022-11-29 01:52:00 +00:00
Botond Ballo e87122c9b1 Bug 1802225 - Remove the unused Layer::CONTENT_ flags. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162926
2022-11-29 01:52:00 +00:00
Botond Ballo 42986b96ab Bug 1802225 - Remove unused aContentFlags parameter of ImageClient::UpdateImage(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162925
2022-11-29 01:51:59 +00:00
Butkovits Atila 541201fe13 Backed out 3 changesets (bug 1798067) for causing bustages at gfxPlatformMac.cpp.
Backed out changeset dba34dc9a166 (bug 1798067)
Backed out changeset f87001406f29 (bug 1798067)
Backed out changeset 1b59437ed62b (bug 1798067)
2022-11-28 23:56:43 +02:00
Brad Werth 14696835e4 Bug 1798067 Part 3: Emit telemetry for gfx.supports_hdr alongside other gfx telemetry. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D161545
2022-11-28 20:51:17 +00:00
Brad Werth 658738d2ab Bug 1798067 Part 2: Implement gfxWindowsPlatform::SupportsHDR. r=jgilbert,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161365
2022-11-28 20:51:17 +00:00
Brad Werth bfde7b9df5 Bug 1798067 Part 1: Add SupportsHDR to gfxPlatform, refactor macOS to use it. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D161364
2022-11-28 20:51:17 +00:00
Barret Rennie bfcf8f3747 Bug 1802605 - Use SpecialPowers.Services.env in gfx tests r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163249
2022-11-28 20:39:38 +00:00
Lee Salzman 87ae48cd80 Bug 1801588 - Ensure region outside mask but inside clip is cleared for copy op. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162536
2022-11-28 17:54:29 +00:00
Jonathan Kew 4fd05a6382 Bug 1801778 - Add some assertions in nsFontCache. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162834
2022-11-28 17:16:34 +00:00
Stanca Serban c42c33eab0 Backed out changeset 343131bbf822 (bug 1801778) for causing bp-hybrid bustages on nsFontCache. CLOSED TREE 2022-11-28 15:59:25 +02:00
Jonathan Kew 69de86ee4f Bug 1801778 - Add some assertions in nsFontCache. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D162834
2022-11-28 13:11:19 +00:00
Jonathan Kew 6b093f9fd2 Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-26 20:39:18 +00:00
Cristian Tuns fb5aafb23c Backed out changeset 3fbfc9299ac6 (bug 1801512) for causing reftest failures on simple-underline-selection.svg CLOSED TREE 2022-11-26 13:41:31 -05:00
Jonathan Kew a01f0617af Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-26 14:38:34 +00:00
Barret Rennie 2b21f2a136 Bug 1541508 - Use SpecialPowers.Cc in helper_transform_end_on_keyboard_scroll.html to avoid macOS test timeouts. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163152
2022-11-25 23:22:19 +00:00
Barret Rennie aa8b436378 Bug 1541508 - Use SpecialPowers.Services in helper_transform_end_on_keyboard_scroll.html. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163142
2022-11-25 20:48:05 +00:00
Barret Rennie d4bdebd62b Bug 1541508 - Use Services.env in gfx/ r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160153
2022-11-25 19:09:07 +00:00
Sylvestre Ledru b5a777afd7 Bug 1801612 - Update the skia sync documentation r=gfx-reviewers,nical DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D162542
2022-11-25 10:56:47 +00:00
Cosmin Sabou 4b7d1c1ecc Bug 1784759 - disable browser_test_scrolling_in_extension_popup_window.js on mac for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D162812
2022-11-25 06:11:38 +00:00
Andrew Osmond 161a4eb3e8 Bug 1798494. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D162616
2022-11-24 18:20:20 +00:00
Cristian Tuns c71e992186 Backed out changeset 516ad0cab188 (bug 1801512) for causing reftest failures on 411334-1.xml CLOSED TREE 2022-11-24 11:50:23 -05:00
Jonathan Kew f81e7a7e4a Bug 1801512 - Respect the Control Panel FontSmoothingGamma value, if present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D162593
2022-11-24 15:10:43 +00:00
Jonathan Kew 2678fa0ec6 Bug 1801521 - Try to avoid using an emoji font that lacks support for subregion flags. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D162571
2022-11-24 10:23:54 +00:00
André Bargull fb11119301 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 17:56:16 +00:00
Noemi Erli 57fbfda9e8 Backed out 16 changesets (bug 1792775) for causing build bustage in TestDateIntervalFormat.cpp CLOSED TREE
Backed out changeset 240681aef215 (bug 1792775)
Backed out changeset e15aea6bb46b (bug 1792775)
Backed out changeset ee9cd4c8d5cd (bug 1792775)
Backed out changeset 0be61a39756f (bug 1792775)
Backed out changeset 7db4fb376f48 (bug 1792775)
Backed out changeset 7009b35a05a0 (bug 1792775)
Backed out changeset 5abc2704004e (bug 1792775)
Backed out changeset 6d76fe50cf35 (bug 1792775)
Backed out changeset d6300cbbf628 (bug 1792775)
Backed out changeset 8f5e0e60d195 (bug 1792775)
Backed out changeset 0b9cf0354dc0 (bug 1792775)
Backed out changeset 7136c85641b7 (bug 1792775)
Backed out changeset 486778427d64 (bug 1792775)
Backed out changeset 7acee89c2699 (bug 1792775)
Backed out changeset 654c5f659fed (bug 1792775)
Backed out changeset a60b1bc33f91 (bug 1792775)
2022-11-23 17:18:45 +02:00
André Bargull 91b38b4700 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 10:42:44 +00:00
Noemi Erli d26dc9e9e0 Backed out 13 changesets (bug 1792775) for causing bustages
Backed out changeset f2c8e2200194 (bug 1792775)
Backed out changeset 3392ce042fb6 (bug 1792775)
Backed out changeset f5461baa7c5a (bug 1792775)
Backed out changeset d810c2b2d0bd (bug 1792775)
Backed out changeset af6164024ade (bug 1792775)
Backed out changeset 8c97026ef2b5 (bug 1792775)
Backed out changeset d396bec29ac2 (bug 1792775)
Backed out changeset a9aaa2387313 (bug 1792775)
Backed out changeset a4461db138b7 (bug 1792775)
Backed out changeset a7b39a5105a9 (bug 1792775)
Backed out changeset 5e746d85926a (bug 1792775)
Backed out changeset 3ea531c10813 (bug 1792775)
Backed out changeset 78811cdadd63 (bug 1792775)
2022-11-23 11:48:28 +02:00
André Bargull 0b8daabfa6 Bug 1792775 - Part 9: Handle new script codes in GetCommonFallbackFonts. r=platform-i18n-reviewers,jfkthame
Use the fallback path for both new script codes.

Differential Revision: https://phabricator.services.mozilla.com/D160187
2022-11-23 08:43:21 +00:00
Markus Stange 213f2aaa74 Bug 1781167 - Allow stacking calls to Add/RemoveVsyncDispatcher so that we survive the sequence Add,Add,Remove. r=jrmuizel
This fixes a bug which caused Firefox windows to become frozen after some time.

Full credit goes to Susan and RandyS for bisecting the regressor of this bug, and
to Jeff DeFouw for debugging the issue and finding the cause.

The bug here is a "state race" between the VsyncDispatcher state and
the VsyncSource state. Both are protected by locks, and the code that
runs in those locks respectively can see a different orders of invocations.

VsyncDispatcher::UpdateVsyncStatus does this thing where it updates its state inside
a lock, gathers some information, and then calls methods on VsyncSource *outside* the lock.
Since it calls those methods outside the lock, these calls can end up being executed
in a different order than the state changes were observed inside the lock.

Here's the bad scenario in detail, with the same VsyncDispatcher being used from
two different threads, turning a Remove,Add into an Add,Remove:

```
Thread A                                       Thread B

VsyncDispatcher::UpdateVsync
 |
 |----> Enter VsyncDispatcher lock
 |    |                                         VsyncDispatcher::UpdateVsync
 |    |   state->mIsObservingVsync = false       |
 |    |   (We want to stop listening)            |
 |    |                                          |
 |<---- Exit VsyncDispatcher lock                |
 |                                               |----> Enter VsyncDispatcher lock
 |                                               |    |
 |                                               |    |   state->mIsObservingVsync = true
 |                                               |    |   (We want to start listening)
 |                                               |    |
 |                                               |<----  Exit VsyncDispatcher lock
 |                                               |
 |                                               |----> Enter VsyncSource::AddVsyncDispatcher
 |                                               |    |
 |                                               |    |----> Enter VsyncSource lock
 |                                               |    |    |
 |                                               |    |    |  state->mDispatchers.Contains(aVsyncDispatcher)
 |----> VsyncSource::RemoveVsyncDispatcher       |    |    |  VsyncDispatcher already present in list, not doing anything
 |    |                                          |    |    |
 |    |                                          |    |<---- Exit VsyncSource lock
 |    |                                          |    |
 |    |                                          |<---- Exit VsyncSource::AddVsyncDispatcher
 |    |----> Enter VsyncSource lock
 |    |    |
 |    |    |  Removing aVsyncDispatcher from state->mDispatchers
 |    |    |
 |    |<---- Exit VsyncSource lock
 |    |
 |<---- Exit VsyncSource::AddVsyncDispatcher
```

Now the VsyncDispatcher thinks it is still observing vsync, but it is
no longer registered with the VsyncSource.

This patch makes it so that two calls to AddVsyncDispatcher followed by one call
to RemoveVsyncDispatcher result in the VsyncDispatcher still being registered.
AddVsyncDispatcher is no longer idempotent.

Differential Revision: https://phabricator.services.mozilla.com/D162760
2022-11-22 23:46:44 +00:00
Andrew Osmond d664f47e78 Bug 1801780 - Include more information about blocklist in about:support. r=jrmuizel
We used to provide links to the bug numbers but this was broken
somewhere along the way. Now it is provided the failure IDs from which
it can attempt to extract a bug number, as well as always display any
failure ID and message whenever possible.

Differential Revision: https://phabricator.services.mozilla.com/D162734
2022-11-22 16:00:15 +00:00
Marco Castelluccio 11b87fc0cb Bug 1790816 - Reformat gfx/ with isort. r=jgilbert DONTBUILD
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D162641
2022-11-22 12:54:40 +00:00
Hiroyuki Ikezoe 3a5650ace5 Bug 1794070 - Make a pan start event wait for the browser gesture code response. r=botond,dlrobertson
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-22 06:52:53 +00:00
Hiroyuki Ikezoe d33990bcde Bug 1794070 - Ignore overscrollable check in CanScrollTargetHorizontally. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162362
2022-11-22 06:52:52 +00:00
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