[webkit-changes] [WebKit/WebKit] bb2814: Dropping frames on visionOS while scrolling due to...
mwyrzykowski
noreply at github.com
Fri Aug 4 14:51:26 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bb28148509967bf8b3e923fc71adb69895055a4d
https://github.com/WebKit/WebKit/commit/bb28148509967bf8b3e923fc71adb69895055a4d
Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
Date: 2023-08-04 (Fri, 04 Aug 2023)
Changed paths:
M LayoutTests/interaction-region/interaction-layers-culling-expected.txt
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
M Source/WebCore/platform/graphics/ca/PlatformCALayer.h
M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h
M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm
M Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm
Log Message:
-----------
Dropping frames on visionOS while scrolling due to number of glow layers on some websites
https://bugs.webkit.org/show_bug.cgi?id=259739
<radar://113094884>
Reviewed by Dean Jackson.
Cull glow regions outside of visible areas as the user will not be able
to interact with them.
* LayoutTests/interaction-region/interaction-layers-culling-expected.txt:
Update test expectation.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateCoverage):
* Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
* Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::setVisibleRect):
(WebCore::PlatformCALayerCocoa::setCoverageRect): Deleted.
* Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
(WebKit::LayerProperties::encode const):
(WebKit::LayerProperties::decode):
(WebKit::dumpChangedLayers):
Change use of coverageRect to visibleRect.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:
(WebKit::updateLayersForInteractionRegions):
Layer was being inserted twice, correct this.
Also instead of testing if the rect exists and it did not intersect to return early,
test that either the rect does not exist or it does not interesect to return early.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:
(WebKit::RemoteLayerTreeNode::visibleRect const):
(WebKit::RemoteLayerTreeNode::setVisibleRect):
(WebKit::RemoteLayerTreeNode::CoverageRectMarkableTraits::isEmptyValue): Deleted.
(WebKit::RemoteLayerTreeNode::CoverageRectMarkableTraits::emptyValue): Deleted.
(WebKit::RemoteLayerTreeNode::coverageRect const): Deleted.
(WebKit::RemoteLayerTreeNode::setCoverageRect): Deleted.
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm:
(WebKit::PlatformCALayerRemote::setVisibleRect):
(WebKit::PlatformCALayerRemote::setCoverageRect): Deleted.
Change use of coverageRect to visibleRect.
Canonical link: https://commits.webkit.org/266604@main
More information about the webkit-changes
mailing list