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

43490 Коммитов

Автор SHA1 Сообщение Дата
Norisz Fay 12f6ce9a82 Backed out changeset ff417c667b5b (bug 1779355) for causing build bustages on GLLibraryEGL.h CLOSED TREE 2022-07-18 20:48:26 +03:00
Kelsey Gilbert 992f515c41 Bug 1779355 - Check for owning thead in GLContext::MakeCurrent and EGLLibrary::fMakeCurrent. r=gfx-reviewers,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D151700
2022-07-18 17:35:03 +00:00
Stephen A Pohl a945096f93 Bug 1773752: Remove more workarounds for old macOS SDKs. r=mstange,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D151532
2022-07-18 17:08:59 +00:00
Dan Robertson 8559c5bb57 Bug 1780018 - Fix the link for reftests docs in APZ docs. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D152030
2022-07-18 16:57:32 +00:00
Brad Werth 6736828278 Bug 1778187: Explicitly store tile cache background color and backdrop rect. r=gw
This patch solves a performance problem and a semantic problem introduced
in Bug 1773109. That Bug changed the term tile cache 'backdrop' to mean
two distinct things:

1) An opaque region spanning the entire tiling area (the sole original
meaning).
2) An opaque region spanning the visible area.

Presently the code tries and fails to maintain both of those meanings in the
BackdropInfo structure. The problem arises when the tiling backdrop is one
color and the visible backdrop is a different color. There's only one color in
the structure! The existing code attempts to circumvent this by setting the
tile cache background_color for the tiling color, and that's slow. Even if it
wasn't slow, the opaque_rect is set for the tiling area instead of the actual
backdrop area, which is semantically confusing, and could lead to incorrect
draw on platforms that support native color layers.

This patch addresses these issues by adding a spanning_opaque_color to the
BackdropInfo structure, which will only be set when there is a backdrop that
covers the tiling area. That color can be used as a clear color for the slice
tiles, when set. This patch also adds a backdrop_rect which indicates the area
of the actual backdrop, if set. This backdrop_rect is used to size the native
color layers, if supported by the compositor.

Differential Revision: https://phabricator.services.mozilla.com/D151942
2022-07-18 15:00:27 +00:00
Andrew Osmond 01f1eb1a66 Bug 1779935 - Ensure GradientCache lookup and insertion are atomic. r=gfx-reviewers,lsalzman
There are potential races between insertion of the same gradient into
the cache on different threads, as well as acquiring a strong reference
to the GradientStops object racing with the expiration timer.

Differential Revision: https://phabricator.services.mozilla.com/D151981
2022-07-18 14:43:16 +00:00
smolnar 21276b3980 Backed out changeset a137e696f06a (bug 1779935) for causing wpt failures in html/canvas/offscreen/fill-and-stroke-styles/2d.gradient.interpolate.alpha.worker.html CLOSED TREE 2022-07-18 11:11:06 +03:00
Andrew Osmond 15890255a7 Bug 1779935 - Ensure GradientCache lookup and insertion are atomic. r=gfx-reviewers,lsalzman
There are potential races between insertion of the same gradient into
the cache on different threads, as well as acquiring a strong reference
to the GradientStops object racing with the expiration timer.

Differential Revision: https://phabricator.services.mozilla.com/D151981
2022-07-17 17:11:09 +00:00
Andi-Bogdan Postelnicu bbf960e82c Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Updated with rustfmt 1.4.38-stable (a8314ef 2022-06-27)
# ignore-this-changeset

Depends on D151908

Differential Revision: https://phabricator.services.mozilla.com/D151909
2022-07-15 09:37:22 +00:00
Hiroyuki Ikezoe f01e673d43 Bug 1774537 - Skip re-snapping if there's any async scroll is running. r=botond
Depends on D149497

Differential Revision: https://phabricator.services.mozilla.com/D150929
2022-07-15 06:47:38 +00:00
Hiroyuki Ikezoe da8dbbfc2f Bug 1774537 - Propagate snap target ids for async scroll operations triggered on the main-thread, but will be processed in APZ. r=botond
Ideally we can write a wpt for this case, but it doesn't work due to
bug 1674687 and ClampAndAlignWithPixels [1] in our code. In the wpt we can use
waitForScrollTo [2] to wait for the end of an async scroll operation, say
a scrollBy call with `behavior: smooth`, at some point where it's close to the
final scroll destination APZ reports a fractional scroll offset close to the
destination, it will be clamped and rounded to the final destination value, thus
waitForScrollTo considers it reached to the end of the scroll operation. At the
moment APZ considers the async scroll is still in progress, which mean the snap
target ids haven't yet been reported to back the main-thread unfortunately.

[1] https://searchfox.org/mozilla-central/rev/170f06a720ddabee44c728b05ad30b18b066acca/layout/generic/nsGfxScrollFrame.cpp#2847
[2] https://searchfox.org/mozilla-central/rev/170f06a720ddabee44c728b05ad30b18b066acca/testing/web-platform/tests/css/css-scroll-snap/support/common.js#84

Depends on D149496

Differential Revision: https://phabricator.services.mozilla.com/D149497
2022-07-15 06:47:37 +00:00
Hiroyuki Ikezoe 34ca1c470f Bug 1774537 - Propagate last snap target id(s) from APZ to the content. r=botond
Depends on D149495

Differential Revision: https://phabricator.services.mozilla.com/D149496
2022-07-15 06:47:37 +00:00
Hiroyuki Ikezoe 74c13fe42c Bug 1774537 - Call SetState with WEEL_SCROLL or KEYBOARD_SCROLL in the case of instant scoll. r=botond
It will ensure an APZ:TransformEnd notification.

Differential Revision: https://phabricator.services.mozilla.com/D149495
2022-07-15 06:47:36 +00:00
Glenn Watson 891c6e9288 Bug 1779387 - Restore clip root parenting for now r=gfx-reviewers,aosmond
There are some hit-test use cases that still rely on clip-chains
and invalid clip-chain handles inheriting from the root clip-id
for a pipeline.

This will become irrelevant once the clip-tree patches land next
week, but for now we can restore these to fix a regression going
out in a release.

Differential Revision: https://phabricator.services.mozilla.com/D151880
2022-07-15 04:16:07 +00:00
Lee Salzman d4bf5cfa1b Bug 1779684 - Mark more surface types as IsDataSourceSurface. r=aosmond,gfx-reviewers
We spend a significant amount of time in profiles allocating DataSourceSurfaceWrapper
when GetDataSurface is called inside DrawTargetWebgl. We can mark some more surface
types as IsDataSurface to work around this fairly easily.

Differential Revision: https://phabricator.services.mozilla.com/D151898
2022-07-15 02:27:58 +00:00
Andrew Osmond 14113a293a Bug 1779570 - Fix hybrid builds. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D151875
2022-07-14 21:13:45 +00:00
Andrew Osmond 3368585195 Bug 1779570. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D151857
2022-07-14 20:17:10 +00:00
Andrew Osmond a9049b5248 Bug 1779519 - gfxFontCache expiration tracker operations should be more atomic. r=jfkthame
gfxFontCache acquires and releases its mutex during various operations.
In order to keep the state internally consistent, we should only release
the lock after the full operation is complete. This involves moving the
deletion of gfxFont to outside the lock via a temporary discard array.

The expiration state should not be protected by the gfxFont's mutex
since we don't hold it during most operations. Instead we should hold
gfxFontCache's mutex because then we can guarantee the operation is
atomic, particularly when a worker wants a font, and the main thread is
aging the generations.

When a font is returned from gfxFontCache, we now return it already
removed from the tracker, and with its refcount updated. This avoids any
potential races between the expiration timer and a worker accessing the
font, as well as simplying the callers so they don't need to be aware of
addref-ing manually in case the result is to be discarded (so that it
gets readded to the tracker).

Differential Revision: https://phabricator.services.mozilla.com/D151821
2022-07-14 19:53:09 +00:00
criss ba063e13c6 Backed out changeset e4cd98b5984d (bug 1779519) for causing build bustages. CLOSED TREE 2022-07-14 22:06:53 +03:00
Botond Ballo 5a6eae75b5 Bug 1771822 - Remove the layers.low-precision-{buffer,resolution} prefs. r=tnikkel
These are no longer used.

Depends on D151796

Differential Revision: https://phabricator.services.mozilla.com/D151797
2022-07-14 18:39:33 +00:00
Botond Ballo 10724a7eb3 Bug 1771822 - Remove the apz.minimap.enabled pref. r=tnikkel
It's currently unused.

Depends on D151795

Differential Revision: https://phabricator.services.mozilla.com/D151796
2022-07-14 18:39:33 +00:00
Botond Ballo d02f2b9038 Bug 1771822 - Do not explicitly set some other prefs, which are now always enabled, in tests. r=tnikkel
The prefs handled in this patch are:

apz.paint_skipping.enabled
apz.force_disable_desktop_zooming_scrollbars
apz.mac.enable_double_tap_zoom_touchpad_gesture
dom.event.default_to_passive_touch_listeners
dom.visualviewport.enabled (one use left over)

Differential Revision: https://phabricator.services.mozilla.com/D151795
2022-07-14 18:39:32 +00:00
Andrew Osmond 9f767ee84a Bug 1779519 - gfxFontCache expiration tracker operations should be more atomic. r=jfkthame
gfxFontCache acquires and releases its mutex during various operations.
In order to keep the state internally consistent, we should only release
the lock after the full operation is complete. This involves moving the
deletion of gfxFont to outside the lock via a temporary discard array.

The expiration state should not be protected by the gfxFont's mutex
since we don't hold it during most operations. Instead we should hold
gfxFontCache's mutex because then we can guarantee the operation is
atomic, particularly when a worker wants a font, and the main thread is
aging the generations.

When a font is returned from gfxFontCache, we now return it already
removed from the tracker, and with its refcount updated. This avoids any
potential races between the expiration timer and a worker accessing the
font, as well as simplying the callers so they don't need to be aware of
addref-ing manually in case the result is to be discarded (so that it
gets readded to the tracker).

Differential Revision: https://phabricator.services.mozilla.com/D151821
2022-07-14 18:35:49 +00:00
Kagami Sascha Rosylight 5c5782d0ee Bug 1769290 - Part 14: Apply mozilla-js-handle-rooted-typedef against gfx r=andi
Differential Revision: https://phabricator.services.mozilla.com/D151781
2022-07-14 17:00:20 +00:00
Travis Long 2855beea72 Bug 1772132 - Update Glean and remove cargo metadata replacement. r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D151499
2022-07-14 13:11:13 +00:00
Andi-Bogdan Postelnicu 72ba7fb691 Bug 1519636 - Reformat recent changes to the Google coding style. r=media-playback-reviewers,alwu
Updated with clang-format version 14.0.5 (taskcluster-cAkeFEZXQmihHYDO8Y4hRw)
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D151003
2022-07-14 08:10:07 +00:00
Bogdan Szekely 79c89f90f4 Backed out 4 changesets (bug 1774537) for causing mochitest failures on test_group_wheelevents.html CLOSED TREE
Backed out changeset 8a52eb5b9043 (bug 1774537)
Backed out changeset 5fb8ccdcbfea (bug 1774537)
Backed out changeset 44f1a68c16f4 (bug 1774537)
Backed out changeset 1f32db09b9a8 (bug 1774537)
2022-07-14 10:23:31 +03:00
Jim Blandy 89c88d35e8 Bug 1778767: Define MozClearPointer, a type-safe replacement for g_clear_pointer. r=stransky,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D151410
2022-07-14 04:28:34 +00:00
Hiroyuki Ikezoe 251e2e49ef Bug 1774537 - Skip re-snapping if there's any async scroll is running. r=botond
Depends on D149497

Differential Revision: https://phabricator.services.mozilla.com/D150929
2022-07-14 02:19:12 +00:00
Hiroyuki Ikezoe b300a9f04f Bug 1774537 - Propagate snap target ids for async scroll operations triggered on the main-thread, but will be processed in APZ. r=botond
Ideally we can write a wpt for this case, but it doesn't work due to
bug 1674687 and ClampAndAlignWithPixels [1] in our code. In the wpt we can use
waitForScrollTo [2] to wait for the end of an async scroll operation, say
a scrollBy call with `behavior: smooth`, at some point where it's close to the
final scroll destination APZ reports a fractional scroll offset close to the
destination, it will be clamped and rounded to the final destination value, thus
waitForScrollTo considers it reached to the end of the scroll operation. At the
moment APZ considers the async scroll is still in progress, which mean the snap
target ids haven't yet been reported to back the main-thread unfortunately.

[1] https://searchfox.org/mozilla-central/rev/170f06a720ddabee44c728b05ad30b18b066acca/layout/generic/nsGfxScrollFrame.cpp#2847
[2] https://searchfox.org/mozilla-central/rev/170f06a720ddabee44c728b05ad30b18b066acca/testing/web-platform/tests/css/css-scroll-snap/support/common.js#84

Depends on D149496

Differential Revision: https://phabricator.services.mozilla.com/D149497
2022-07-14 02:19:12 +00:00
Hiroyuki Ikezoe 802ddc1ef6 Bug 1774537 - Propagate last snap target id(s) from APZ to the content. r=botond
Depends on D149495

Differential Revision: https://phabricator.services.mozilla.com/D149496
2022-07-14 02:19:11 +00:00
Hiroyuki Ikezoe 52a1e4ddb2 Bug 1774537 - Call SetState with WEEL_SCROLL or KEYBOARD_SCROLL in the case of instant scoll. r=botond
It will ensure an APZ:TransformEnd notification.

Differential Revision: https://phabricator.services.mozilla.com/D149495
2022-07-14 02:19:11 +00:00
Norisz Fay 82c8f892b0 Backed out 8 changesets (bug 1754239, bug 1766308, bug 1766307, bug 1766310) for causing build bustages on UtilityAudioDecoderParent.cpp CLOSED TREE
Backed out changeset e383703e28cf (bug 1766307)
Backed out changeset 5fb04c68ae7a (bug 1766307)
Backed out changeset ee76505a46ff (bug 1766310)
Backed out changeset d76eae67ae79 (bug 1754239)
Backed out changeset fed974dcf641 (bug 1754239)
Backed out changeset 67c5fbd546a1 (bug 1766307)
Backed out changeset da49735366d2 (bug 1766308)
Backed out changeset 81ccd31d0f07 (bug 1766307)
2022-07-14 04:03:19 +03:00
az 4e1baacec1 Bug 1766308 - Add gfxVars::CodecSupportInfo to store user-readable codec support string r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147386
2022-07-14 00:32:37 +00:00
az 9eeb816180 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-14 00:32:37 +00:00
Narcis Beleuzu dce2ae28ba Merge Mozilla-Central to autoland on a CLOSED TREE 2022-07-14 00:55:03 +03:00
Narcis Beleuzu 913bc3e029 Backed out changeset 4226803862e0 (bug 1779344) for conflicting with the backout of 1771374. CLOSED TREE 2022-07-14 00:53:56 +03:00
Narcis Beleuzu a9e7761934 Backed out 4 changesets (bug 1771374) for causing Google docs and maps rendering regressions. a=backout
Backed out changeset 9c65411d1843 (bug 1771374)
Backed out changeset 9f5cf953fcc8 (bug 1771374)
Backed out changeset 8b39f60971e4 (bug 1771374)
Backed out changeset ef52a6c462b6 (bug 1771374)
2022-07-14 00:43:56 +03:00
Norisz Fay 31e76fd90f Backed out changeset ce93635100b6 (bug 1772132) for causing webrender build bustage CLOSED TREE 2022-07-13 22:08:19 +03:00
Travis Long a285a07c6e Bug 1772132 - Update Glean and remove cargo metadata replacement. r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D151499
2022-07-13 18:00:35 +00:00
Sebastian Hengst 8f66380392 Bug 1779344 - lowercase dxgitype.h include to fix mingw builds. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D151691
2022-07-13 17:40:30 +00:00
Cosmin Sabou 3e22258e4c Merge mozilla-central to autoland. 2022-07-13 19:36:23 +03:00
Cosmin Sabou f12c239da6 Backed out changeset cc1377cd7adb (bug 1778767) for causing Bug 1779364. a=backout 2022-07-13 19:28:49 +03:00
Kai Engert 27a60cd1a4 Bug 1779200 - Again allow warnings in harfbuzz because of new -Wcomma warnings. r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D151687
2022-07-13 13:12:34 +00:00
Bogdan Szekely 6030807e22 Backed out changeset 1ff9bb6e4a8c (bug 1772132) for causing build bustage. CLOSED TREE 2022-07-13 16:17:53 +03:00
Travis Long e826b78da5 Bug 1772132 - Update Glean and remove cargo metadata replacement. r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D151499
2022-07-13 12:59:16 +00:00
smolnar 36788ca992 Backed out changeset ab4790cd94eb (bug 1772132) for causing wrench bustage CLOSED TREE 2022-07-13 12:04:13 +03:00
Travis Long 86debe7916 Bug 1772132 - Update Glean and remove cargo metadata replacement. r=janerik,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D151499
2022-07-13 08:43:41 +00:00
Kelsey Gilbert f35027d825 Bug 1771374 - Fix build and lint warnings. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D150620
2022-07-12 23:55:51 +00:00
Kelsey Gilbert 32502f761c Bug 1771374 - Disable color management based on pref in DCLayerTree. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D150276
2022-07-12 23:55:51 +00:00