Diff
Modified: trunk/Source/WTF/ChangeLog (271698 => 271699)
--- trunk/Source/WTF/ChangeLog 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WTF/ChangeLog 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,3 +1,13 @@
+2021-01-21 Sam Weinig <wei...@apple.com>
+
+ Add experimental support for separated layers
+ https://bugs.webkit.org/show_bug.cgi?id=220734
+
+ Reviewed by Simon Fraser.
+
+ * wtf/PlatformHave.h:
+ Define HAVE_CORE_ANIMATION_SEPARATED_LAYERS for supported configurations.
+
2021-01-21 Aditya Keerthi <akeer...@apple.com>
[macOS] Titlebar separator doesn't show when WKWebView is scrolled
Modified: trunk/Source/WTF/wtf/PlatformHave.h (271698 => 271699)
--- trunk/Source/WTF/wtf/PlatformHave.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WTF/wtf/PlatformHave.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -830,3 +830,12 @@
#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000
#define HAVE_NSSCROLLVIEW_SEPARATOR_TRACKING_ADAPTER 1
#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 110000) \
+ || ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000) \
+ || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 70000) \
+ || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 140000)
+#if !defined(HAVE_CORE_ANIMATION_SEPARATED_LAYERS)
+#define HAVE_CORE_ANIMATION_SEPARATED_LAYERS 1
+#endif
+#endif
Modified: trunk/Source/WebCore/ChangeLog (271698 => 271699)
--- trunk/Source/WebCore/ChangeLog 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/ChangeLog 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,3 +1,29 @@
+2021-01-21 Sam Weinig <wei...@apple.com>
+
+ Add experimental support for separated layers
+ https://bugs.webkit.org/show_bug.cgi?id=220734
+
+ Reviewed by Simon Fraser.
+
+ Plumb a "separated" bit through the graphics layer infrastructure. Currently unused
+ but will be used for optimization experimentation.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::GraphicsLayer):
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::separated const):
+ (WebCore::GraphicsLayer::setSeparated):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::setSeparated):
+ (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
+ (WebCore::GraphicsLayerCA::updateSeparated):
+ * platform/graphics/ca/GraphicsLayerCA.h:
+ * platform/graphics/ca/PlatformCALayer.h:
+ * platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
+ * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+ (WebCore::PlatformCALayerCocoa::separated const):
+ (WebCore::PlatformCALayerCocoa::setSeparated):
+
2021-01-21 Youenn Fablet <you...@apple.com>
Allow MediaStream and non MediaStream backed videos to play together
Modified: trunk/Source/WebCore/PAL/ChangeLog (271698 => 271699)
--- trunk/Source/WebCore/PAL/ChangeLog 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/PAL/ChangeLog 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,3 +1,13 @@
+2021-01-21 Sam Weinig <wei...@apple.com>
+
+ Add experimental support for separated layers
+ https://bugs.webkit.org/show_bug.cgi?id=220734
+
+ Reviewed by Simon Fraser.
+
+ * pal/spi/cocoa/QuartzCoreSPI.h:
+ Add forward declaration for CALayer's separated property.
+
2021-01-19 Chris Dumez <cdu...@apple.com>
[GPUProcess] Claim ownership of IOSurface backing for ImageBufferBackends in the WebProcess
Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h (271698 => 271699)
--- trunk/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -104,6 +104,9 @@
@property BOOL needsLayoutOnGeometryChange;
@property BOOL shadowPathIsBounds;
@property BOOL continuousCorners;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+@property (getter=isSeparated) BOOL separated;
+#endif
@end
#if ENABLE(FILTERS_LEVEL_2)
Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -150,6 +150,9 @@
, m_isTrackingDisplayListReplay(false)
, m_userInteractionEnabled(true)
, m_canDetachBackingStore(true)
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ , m_separated(false)
+#endif
{
#ifndef NDEBUG
client().verifyNotPainting();
Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayer.h (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/GraphicsLayer.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayer.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2009-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -393,6 +393,11 @@
bool usesDisplayListDrawing() const { return m_usesDisplayListDrawing; }
virtual void setUsesDisplayListDrawing(bool b) { m_usesDisplayListDrawing = b; }
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ bool isSeparated() const { return m_separated; }
+ virtual void setSeparated(bool b) { m_separated = b; }
+#endif
+
bool needsBackdrop() const { return !m_backdropFilters.isEmpty(); }
// The color used to paint the layer background. Pass an invalid color to remove it.
@@ -721,6 +726,9 @@
bool m_isTrackingDisplayListReplay : 1;
bool m_userInteractionEnabled : 1;
bool m_canDetachBackingStore : 1;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ bool m_separated : 1;
+#endif
int m_repaintCount { 0 };
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -774,6 +774,17 @@
GraphicsLayer::setUsesDisplayListDrawing(usesDisplayListDrawing);
}
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+void GraphicsLayerCA::setSeparated(bool separated)
+{
+ if (separated == m_separated)
+ return;
+
+ GraphicsLayer::setSeparated(separated);
+ noteLayerPropertyChanged(SeparatedChanged);
+}
+#endif
+
void GraphicsLayerCA::setBackgroundColor(const Color& color)
{
if (m_backgroundColor == color)
@@ -1908,6 +1919,11 @@
if (m_uncommittedChanges & CustomAppearanceChanged)
updateCustomAppearance();
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ if (m_uncommittedChanges & SeparatedChanged)
+ updateSeparated();
+#endif
+
if (m_uncommittedChanges & ChildrenChanged) {
updateSublayerList();
// Sublayers may set this flag again, so clear it to avoid always updating sublayers in commitLayerChangesAfterSublayers().
@@ -2349,6 +2365,13 @@
m_layer->setShapeWindRule(m_shapeLayerWindRule);
}
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+void GraphicsLayerCA::updateSeparated()
+{
+ m_layer->setSeparated(m_separated);
+}
+#endif
+
bool GraphicsLayerCA::updateStructuralLayer()
{
return ensureStructuralLayer(structuralLayerPurpose());
Modified: trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -95,6 +95,9 @@
WEBCORE_EXPORT void setAcceleratesDrawing(bool) override;
WEBCORE_EXPORT void setUsesDisplayListDrawing(bool) override;
WEBCORE_EXPORT void setUserInteractionEnabled(bool) override;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ WEBCORE_EXPORT void setSeparated(bool) override;
+#endif
WEBCORE_EXPORT void setBackgroundColor(const Color&) override;
@@ -441,6 +444,10 @@
void updateShape();
void updateWindRule();
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ void updateSeparated();
+#endif
+
enum StructuralLayerPurpose {
NoStructuralLayer = 0,
StructuralLayerForPreserves3D,
@@ -547,6 +554,9 @@
#if ENABLE(SCROLLING_THREAD)
ScrollingNodeChanged = 1LLU << 41,
#endif
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ SeparatedChanged = 1LLU << 42,
+#endif
};
typedef uint64_t LayerChangeFlags;
void addUncommittedChanges(LayerChangeFlags);
Modified: trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -246,6 +246,11 @@
virtual GraphicsLayer::CustomAppearance customAppearance() const = 0;
virtual void updateCustomAppearance(GraphicsLayer::CustomAppearance) = 0;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ virtual bool isSeparated() const = 0;
+ virtual void setSeparated(bool) = 0;
+#endif
+
virtual TiledBacking* tiledBacking() = 0;
virtual void drawTextAtPoint(CGContextRef, CGFloat x, CGFloat y, CGSize scale, CGFloat fontSize, const char* text, size_t length, CGFloat strokeWidthAsPercentageOfFontSize = 0, Color strokeColor = Color()) const;
Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -176,6 +176,11 @@
void setScrollingNodeID(ScrollingNodeID nodeID) override { m_scrollingNodeID = nodeID; }
#endif
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ bool isSeparated() const override;
+ void setSeparated(bool) override;
+#endif
+
TiledBacking* tiledBacking() override;
Ref<PlatformCALayer> clone(PlatformCALayerClient* owner) const override;
Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm (271698 => 271699)
--- trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -1037,6 +1037,20 @@
m_eventRegion = eventRegion;
}
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+bool PlatformCALayerCocoa::isSeparated() const
+{
+ return m_layer.get().isSeparated;
+}
+
+void PlatformCALayerCocoa::setSeparated(bool value)
+{
+ BEGIN_BLOCK_OBJC_EXCEPTIONS
+ [m_layer setSeparated:value];
+ END_BLOCK_OBJC_EXCEPTIONS
+}
+#endif
+
static NSString *layerContentsFormat(bool acceleratesDrawing, bool wantsDeepColor, bool supportsSubpixelAntialiasedFonts)
{
#if HAVE(IOSURFACE_RGB10)
Modified: trunk/Source/WebKit/ChangeLog (271698 => 271699)
--- trunk/Source/WebKit/ChangeLog 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/ChangeLog 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,28 @@
2021-01-21 Sam Weinig <wei...@apple.com>
+ Add experimental support for separated layers
+ https://bugs.webkit.org/show_bug.cgi?id=220734
+
+ Reviewed by Simon Fraser.
+
+ Plumb a "separated" bit through the graphics layer infrastructure. Currently unused
+ but will be used for optimization experimentation.
+
+ * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
+ (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
+ * Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
+ * Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
+ (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
+ (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode const):
+ (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
+ (WebKit::dumpChangedLayers):
+ * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
+ (WebKit::PlatformCALayerRemote::isSeparated const):
+ (WebKit::PlatformCALayerRemote::setSeparated):
+ * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h:
+
+2021-01-21 Sam Weinig <wei...@apple.com>
+
Rework color clamping logic to be more consistent and clear
https://bugs.webkit.org/show_bug.cgi?id=220716
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm (271698 => 271699)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -267,6 +267,11 @@
if (properties.changedProperties & RemoteLayerTreeTransaction::CustomAppearanceChanged)
updateCustomAppearance(layer, properties.customAppearance);
+
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ if (properties.changedProperties & RemoteLayerTreeTransaction::SeparatedChanged)
+ layer.separated = properties.isSeparated;
+#endif
}
void RemoteLayerTreePropertyApplier::applyProperties(RemoteLayerTreeNode& node, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, const RelatedLayerMap& relatedLayers, RemoteLayerBackingStore::LayerContentsType layerContentsType)
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h (271698 => 271699)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2020 Apple Inc. All rights reserved.
+ * Copyright (C) 2012-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -93,6 +93,9 @@
CustomAppearanceChanged = 1LLU << 36,
UserInteractionEnabledChanged = 1LLU << 37,
EventRegionChanged = 1LLU << 38,
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ SeparatedChanged = 1LLU << 39,
+#endif
};
struct LayerCreationProperties {
@@ -173,6 +176,9 @@
bool contentsHidden;
bool userInteractionEnabled;
WebCore::EventRegion eventRegion;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ bool isSeparated;
+#endif
};
explicit RemoteLayerTreeTransaction();
@@ -367,6 +373,9 @@
WebKit::RemoteLayerTreeTransaction::LayerChange::CustomAppearanceChanged,
WebKit::RemoteLayerTreeTransaction::LayerChange::UserInteractionEnabledChanged,
WebKit::RemoteLayerTreeTransaction::LayerChange::EventRegionChanged
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ , WebKit::RemoteLayerTreeTransaction::LayerChange::SeparatedChanged
+#endif
>;
};
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm (271698 => 271699)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2018 Apple Inc. All rights reserved.
+ * Copyright (C) 2012-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -103,6 +103,9 @@
, opaque(false)
, contentsHidden(false)
, userInteractionEnabled(true)
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ , isSeparated(false)
+#endif
{
}
@@ -142,6 +145,9 @@
, contentsHidden(other.contentsHidden)
, userInteractionEnabled(other.userInteractionEnabled)
, eventRegion(other.eventRegion)
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ , isSeparated(other.isSeparated)
+#endif
{
// FIXME: LayerProperties should reference backing store by ID, so that two layers can have the same backing store (for clones).
// FIXME: LayerProperties shouldn't be copyable; PlatformCALayerRemote::clone should copy the relevant properties.
@@ -279,6 +285,11 @@
if (changedProperties & EventRegionChanged)
encoder << eventRegion;
+
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ if (changedProperties & SeparatedChanged)
+ encoder << isSeparated;
+#endif
}
bool RemoteLayerTreeTransaction::LayerProperties::decode(IPC::Decoder& decoder, LayerProperties& result)
@@ -510,6 +521,13 @@
result.eventRegion = WTFMove(*eventRegion);
}
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ if (result.changedProperties & SeparatedChanged) {
+ if (!decoder.decode(result.isSeparated))
+ return false;
+ }
+#endif
+
return true;
}
@@ -883,6 +901,11 @@
if (layerProperties.changedProperties & RemoteLayerTreeTransaction::UserInteractionEnabledChanged)
ts.dumpProperty("userInteractionEnabled", layerProperties.userInteractionEnabled);
+
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ if (layerProperties.changedProperties & RemoteLayerTreeTransaction::SeparatedChanged)
+ ts.dumpProperty("isSeparated", layerProperties.isSeparated);
+#endif
}
}
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp (271698 => 271699)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -868,6 +868,22 @@
m_properties.notePropertiesChanged(RemoteLayerTreeTransaction::EventRegionChanged);
}
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+bool PlatformCALayerRemote::isSeparated() const
+{
+ return m_properties.isSeparated;
+}
+
+void PlatformCALayerRemote::setSeparated(bool value)
+{
+ if (m_properties.isSeparated == value)
+ return;
+
+ m_properties.isSeparated = value;
+ m_properties.notePropertiesChanged(RemoteLayerTreeTransaction::SeparatedChanged);
+}
+#endif
+
Ref<PlatformCALayer> PlatformCALayerRemote::createCompatibleLayer(PlatformCALayer::LayerType layerType, PlatformCALayerClient* client) const
{
return PlatformCALayerRemote::create(layerType, client, *m_context);
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h (271698 => 271699)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h 2021-01-21 18:08:54 UTC (rev 271698)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h 2021-01-21 18:39:58 UTC (rev 271699)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2021 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -175,6 +175,11 @@
void setEventRegion(const WebCore::EventRegion&) override;
+#if HAVE(CORE_ANIMATION_SEPARATED_LAYERS)
+ bool isSeparated() const override;
+ void setSeparated(bool) override;
+#endif
+
WebCore::TiledBacking* tiledBacking() override { return nullptr; }
Ref<WebCore::PlatformCALayer> clone(WebCore::PlatformCALayerClient* owner) const override;