Since we have evidence that CGFontCreate functions can crash, this covers
cases where we might want to know which font was being loaded.
Differential Revision: https://phabricator.services.mozilla.com/D155022
It improves rasterization and upload times by a lot in almost all of the test cases I can find. The only drawback is that our invalidation granulatiry is the tile so invalidation gets coarser as we increase the tile size.
512 is a bit special because it is the limit above which a different texture upload path is taken, so there will be more risk of performance side effects if/when we decide to make tiles even larger.
Differential Revision: https://phabricator.services.mozilla.com/D155822
If WebRenderImageHost::OnReleased() is called on all WebRenderImageHosts before RemoteTextureMap::Shutdown(), RemoteTextureMap does not own a reference of WebRenderImageHost during the shutdown.
On current gecko, when WebRenderImageHost is released by WebRenderBridgeParent::Destroy(), WebRenderImageHost::OnReleased() is not called. It needs to be addressed.
And RemoteTextureMap::Shutdown() need to be called after CompositorThreadHolder::Shutdown(). By it, we could expect that WebRenderBridgeParent::Destroy() is called on all WebRenderBridgeParents.
Differential Revision: https://phabricator.services.mozilla.com/D155673
Copying outputs with a null clip input is not sound if one of the other
items expand outside of our bounds, such as in the case of a blur
filter.
This unveils a side issue, which is that PushOverrideForASR didn't
update the current item stack, which meant that we could accidentally
break sticky positioning in some edge-cases otherwise.
Differential Revision: https://phabricator.services.mozilla.com/D155241
Assert failure happens when RemoteTextureMap::UnregisterTextureConsumer() is called during shutdown. The assert could be removed since UnregisterTextureConsumer() works on non-compositor thread.
And the function is going to be removed by Bug 1781740.
Differential Revision: https://phabricator.services.mozilla.com/D155440
The helper_hittest_fixed-3.html subtest in the test_group_hittest-2.html group
is perma failing on mac. Disable the failing assertion, mark it as todo until
it can be fixed, and do not directly include SimpleTest.js.
Differential Revision: https://phabricator.services.mozilla.com/D155264
Copying outputs with a null clip input is not sound if one of the other
items expand outside of our bounds, such as in the case of a blur
filter.
Depends on D155240
Differential Revision: https://phabricator.services.mozilla.com/D155241
Since enabling the GPU process on Android, UpdateOverscrollOffset and
UpdateOverscrollVelocity messages no longer make their way to the
GeckoSession. This is because RemoteContentController currently only
implements these methods for the parent process.
This patch implements them for the GPU process, by looking up the root
GeckoContentController and calling SendUpdateOverscrollOffset or
SendUpdateOverscrollVelocity to forward them to the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D155215
This patch doesn't impact behavior.
The pref "gfx.font_loader.interval" used to control certain aspects of
font-loading behavior, but that code has evolved and we no longer read the
value of this pref anywhere.
Differential Revision: https://phabricator.services.mozilla.com/D155183
We also improve the handling of ColorLine, including resolving to a
simple ColorPattern if there is only a single color stop.
The test font CAhem.ttf has also been rebuilt with latest FontTools,
to conform to the updated 1.9.1 spec for sweep gradient tables.
Differential Revision: https://phabricator.services.mozilla.com/D155069
Backdrop filter crashes newer Intel drivers on Windows. This patch adds
support to the blocklist infrastructure for backdrop filter, and hooks
this up with the CSS property table.
Differential Revision: https://phabricator.services.mozilla.com/D154950
On Android we have until now determined the compositor widget's size
by querying the values from the ANativeWindow. However, since bug
1780093 landed we can now switch between which Surface we are
rendering in to, and as a result we appear to be using the wrong size
some of the time.
This patch is a speculative attempt to fix this, by using the size
passed to ResumeAndResize() (which itself comes from the Surface's
surfaceChanged() callback) rather than querying the window.
Differential Revision: https://phabricator.services.mozilla.com/D154909