Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a08fe899cd50219c26ee2942bc74ba09f5322417
      
https://github.com/WebKit/WebKit/commit/a08fe899cd50219c26ee2942bc74ba09f5322417
  Author: Matt Woodrow <[email protected]>
  Date:   2025-06-25 (Wed, 25 Jun 2025)

  Changed paths:
    M Source/WebCore/page/LocalFrame.cpp
    M Source/WebCore/page/LocalFrame.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/platform/PlatformScreen.h
    M Source/WebCore/platform/graphics/GraphicsLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/GraphicsLayerClient.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
    M Source/WebCore/platform/graphics/ca/PlatformCALayer.h
    M Source/WebCore/platform/graphics/ca/PlatformCALayer.mm
    M Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h
    M Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp
    M Source/WebCore/platform/graphics/ca/TileCoverageMap.h
    M Source/WebCore/platform/graphics/ca/TileGrid.cpp
    M Source/WebCore/platform/graphics/ca/TileGrid.h
    M Source/WebCore/platform/ios/PlatformScreenIOS.mm
    M Source/WebCore/platform/mac/PlatformScreenMac.mm
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerBacking.h
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/rendering/RenderLayerCompositor.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm

  Log Message:
  -----------
  [HDR] Moving the WebView from a screen to another should change backing store 
formats.
https://bugs.webkit.org/show_bug.cgi?id=294757
<rdar://problem/153908494>

Reviewed by Simon Fraser.

Add code to PlatformCALayerClient/GraphicsLayerClient to query the currently
supported ContentsFormats for the screen that the layer is on. Use this version,
rather than querying the values for the primary display for all layers.

Add change handling to Page (similar to deviceOrPageScaleFactorChanged) that
notifies all GraphicsLayers when this result might change.

* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::screenContentsFormatsChanged):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::screenPropertiesDidChange):
(WebCore::Page::windowScreenDidChange):
* Source/WebCore/page/Page.h:
* Source/WebCore/platform/PlatformScreen.h:
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::noteScreenContentsFormatsChangedIncludingDescendants):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::screenContentsFormatsChanged):
* Source/WebCore/platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::screenContentsFormats const):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createPlatformCALayer):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.mm:
(WebCore::PlatformCALayer::contentsFormatForLayer):
* Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h:
* Source/WebCore/platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::screenContentsFormats const):
* Source/WebCore/platform/graphics/ca/TileCoverageMap.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::screenContentsFormats const):
* Source/WebCore/platform/graphics/ca/TileGrid.h:
* Source/WebCore/platform/ios/PlatformScreenIOS.mm:
(WebCore::screenSupportsHighDynamicRange):
* Source/WebCore/platform/mac/PlatformScreenMac.mm:
(WebCore::screenSupportsHighDynamicRange):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::screenContentsFormats const):
* Source/WebCore/rendering/RenderLayerBacking.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::screenContentsFormatsChanged):
* Source/WebCore/rendering/RenderLayerCompositor.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm:
(WebKit::GraphicsLayerCARemote::createPlatformCALayer):

Canonical link: https://commits.webkit.org/296635@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to