Diff
Modified: trunk/Source/WebKit/ChangeLog (238467 => 238468)
--- trunk/Source/WebKit/ChangeLog 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/ChangeLog 2018-11-24 07:17:35 UTC (rev 238468)
@@ -1,3 +1,93 @@
+2018-11-23 Antti Koivisto <an...@apple.com>
+
+ Replace LayerOrView typedef with a class
+ https://bugs.webkit.org/show_bug.cgi?id=191927
+
+ Reviewed by Tim Horton.
+
+ This typedef restricts remote layer representation to be either a CA layer or a view. We might want
+ have more flexibility, for example tiles don't really need to be UIViews. It will also make it easier
+ to unify Mac and iOS code, and hopefully make it less confusing too.
+
+ This patch introduces RemoteLayerTreeNode class that replaces most uses of LayerOrView typedef
+ (the rest are converted to pure CALayer). It also does a bunch of related cleanup.
+
+ * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h:
+ * Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
+ (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
+ (WebKit::RemoteLayerTreePropertyApplier::applyProperties):
+ (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToUIView):
+ (WebKit::applyPropertiesToLayer): Deleted.
+ * SourcesCocoa.txt:
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _propertiesOfLayerWithID:]):
+ * UIProcess/Cocoa/LayerRepresentation.h: Removed.
+ * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
+ (WebKit::VideoFullscreenManagerProxy::setupFullscreenWithID):
+ * UIProcess/PageClient.h:
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::layerWithIDForTesting const):
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h:
+ (WebKit::RemoteLayerTreeHost::rootNode const):
+ (WebKit::RemoteLayerTreeHost::rootLayer const): Deleted.
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
+ (WebKit::RemoteLayerTreeHost::updateLayerTree):
+ (WebKit::RemoteLayerTreeHost::nodeForID const):
+ (WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
+ (WebKit::RemoteLayerTreeHost::animationDidStart):
+ (WebKit::RemoteLayerTreeHost::animationDidEnd):
+ (WebKit::RemoteLayerTreeHost::clearLayers):
+ (WebKit::RemoteLayerTreeHost::layerWithIDForTesting const):
+ (WebKit::RemoteLayerTreeHost::layerForID const):
+ (WebKit::RemoteLayerTreeHost::rootLayer const):
+ (WebKit::RemoteLayerTreeHost::createLayer):
+ (WebKit::RemoteLayerTreeHost::detachRootLayer):
+ (WebKit::RemoteLayerTreeHost::mapAllIOSurfaceBackingStore):
+ (WebKit::RemoteLayerTreeHost::getLayer const): Deleted.
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h: Added.
+ (WebKit::RemoteLayerTreeNode::layer const):
+ (WebKit::RemoteLayerTreeNode::uiView const):
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm: Added.
+ (WebKit::RemoteLayerTreeNode::RemoteLayerTreeNode):
+ (WebKit::RemoteLayerTreeNode::detachFromParent):
+ * UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm:
+ (WebKit::RemoteLayerTreeScrollingPerformanceData::blankPixelCount const):
+ * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
+ (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
+ * UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
+ (WebKit::RemoteLayerTreeHost::createLayer):
+ * UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
+ (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
+ (WebKit::layerRepresentationFromLayerOrView): Deleted.
+ * UIProcess/WebAuthentication/Cocoa/HidService.h:
+ * UIProcess/WebAuthentication/Cocoa/HidService.mm:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/ios/LayerRepresentation.mm: Removed.
+ * UIProcess/ios/PageClientImplIOS.h:
+ * UIProcess/ios/PageClientImplIOS.mm:
+ (WebKit::PageClientImpl::setRemoteLayerTreeRootNode):
+ (WebKit::PageClientImpl::acceleratedCompositingRootLayer const):
+ (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer): Deleted.
+ * UIProcess/ios/WebPageProxyIOS.mm:
+ (WebKit::WebPageProxy::setRemoteLayerTreeRootNode):
+ (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): Deleted.
+ * UIProcess/mac/PageClientImplMac.h:
+ * UIProcess/mac/PageClientImplMac.mm:
+ (WebKit::PageClientImpl::setRemoteLayerTreeRootNode):
+ (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer): Deleted.
+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
+ (WebKit::TiledCoreAnimationDrawingAreaProxy::createFence):
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::setRemoteLayerTreeRootNode):
+ (WebKit::WebPageProxy::acceleratedCompositingRootLayer const):
+ (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): Deleted.
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp:
+ (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
+
2018-11-23 Jiewen Tan <jiewen_...@apple.com>
[WebAuthN] Enable Web Authentication as an experimental feature for macOS
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h (238467 => 238468)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -25,7 +25,7 @@
#pragma once
-#include "LayerRepresentation.h"
+#include "RemoteLayerTreeNode.h"
#include "RemoteLayerTreeTransaction.h"
#include <wtf/HashMap.h>
@@ -35,10 +35,13 @@
class RemoteLayerTreePropertyApplier {
public:
- using RelatedLayerMap = HashMap<WebCore::GraphicsLayer::PlatformLayerID, CFTypeRef>;
- static void applyProperties(CALayer *, RemoteLayerTreeHost*, const RemoteLayerTreeTransaction::LayerProperties&, const RelatedLayerMap&, RemoteLayerBackingStore::LayerContentsType);
+ using RelatedLayerMap = HashMap<WebCore::GraphicsLayer::PlatformLayerID, RemoteLayerTreeNode*>;
+ static void applyProperties(RemoteLayerTreeNode&, RemoteLayerTreeHost*, const RemoteLayerTreeTransaction::LayerProperties&, const RelatedLayerMap&, RemoteLayerBackingStore::LayerContentsType);
+ static void applyPropertiesToLayer(CALayer *, RemoteLayerTreeHost*, const RemoteLayerTreeTransaction::LayerProperties&, RemoteLayerBackingStore::LayerContentsType);
+
+private:
#if PLATFORM(IOS_FAMILY)
- static void applyProperties(UIView *, RemoteLayerTreeHost*, const RemoteLayerTreeTransaction::LayerProperties&, const RelatedLayerMap&, RemoteLayerBackingStore::LayerContentsType);
+ static void applyPropertiesToUIView(UIView *, const RemoteLayerTreeTransaction::LayerProperties&, const RelatedLayerMap&);
#endif
};
Modified: trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm (238467 => 238468)
--- trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -126,7 +126,7 @@
#endif
}
-static void applyPropertiesToLayer(CALayer *layer, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, RemoteLayerBackingStore::LayerContentsType layerContentsType)
+void RemoteLayerTreePropertyApplier::applyPropertiesToLayer(CALayer *layer, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, RemoteLayerBackingStore::LayerContentsType layerContentsType)
{
if (properties.changedProperties & RemoteLayerTreeTransaction::NameChanged)
layer.name = properties.name;
@@ -254,16 +254,22 @@
updateCustomAppearance(layer, properties.customAppearance);
}
-void RemoteLayerTreePropertyApplier::applyProperties(CALayer *layer, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, const RelatedLayerMap& relatedLayers, RemoteLayerBackingStore::LayerContentsType layerContentsType)
+void RemoteLayerTreePropertyApplier::applyProperties(RemoteLayerTreeNode& node, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, const RelatedLayerMap& relatedLayers, RemoteLayerBackingStore::LayerContentsType layerContentsType)
{
BEGIN_BLOCK_OBJC_EXCEPTIONS;
+
+ CALayer *layer = node.layer();
+
applyPropertiesToLayer(layer, layerTreeHost, properties, layerContentsType);
+#if PLATFORM(IOS_FAMILY)
+ applyPropertiesToUIView(node.uiView(), properties, relatedLayers);
+#else
if (properties.changedProperties & RemoteLayerTreeTransaction::ChildrenChanged) {
RetainPtr<NSMutableArray> children = adoptNS([[NSMutableArray alloc] initWithCapacity:properties.children.size()]);
for (auto& child : properties.children) {
- ASSERT(relatedLayers.get(child));
- [children addObject:(__bridge id)relatedLayers.get(child)];
+ ASSERT(relatedLayers.contains(child));
+ [children addObject:relatedLayers.get(child)->layer()];
}
layer.sublayers = children.get();
@@ -273,34 +279,24 @@
if (!properties.maskLayerID)
layer.mask = nullptr;
else {
-#if PLATFORM(IOS_FAMILY)
- UIView *maskView = (__bridge UIView *)relatedLayers.get(properties.maskLayerID);
- // FIXME: need to check that the mask view is kept alive.
- ASSERT(!maskView.layer.superlayer);
- if (!maskView.layer.superlayer)
- layer.mask = maskView.layer;
-#else
- CALayer *maskLayer = (__bridge CALayer *)relatedLayers.get(properties.maskLayerID);
+ CALayer *maskLayer = relatedLayers.get(properties.maskLayerID)->layer();
ASSERT(!maskLayer.superlayer);
if (!maskLayer.superlayer)
layer.mask = maskLayer;
-#endif
}
}
+#endif
END_BLOCK_OBJC_EXCEPTIONS;
}
#if PLATFORM(IOS_FAMILY)
-void RemoteLayerTreePropertyApplier::applyProperties(UIView *view, RemoteLayerTreeHost* layerTreeHost, const RemoteLayerTreeTransaction::LayerProperties& properties, const RelatedLayerMap& relatedLayers, RemoteLayerBackingStore::LayerContentsType layerContentsType)
+void RemoteLayerTreePropertyApplier::applyPropertiesToUIView(UIView *view, const RemoteLayerTreeTransaction::LayerProperties& properties, const RelatedLayerMap& relatedLayers)
{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- applyPropertiesToLayer(view.layer, layerTreeHost, properties, layerContentsType);
-
if (properties.changedProperties & RemoteLayerTreeTransaction::ChildrenChanged) {
RetainPtr<NSMutableArray> children = adoptNS([[NSMutableArray alloc] initWithCapacity:properties.children.size()]);
for (auto& child : properties.children) {
- ASSERT(relatedLayers.get(child));
- [children addObject:(__bridge id)relatedLayers.get(child)];
+ ASSERT(relatedLayers.contains(child));
+ [children addObject:relatedLayers.get(child)->uiView()];
}
if (properties.customAppearance == GraphicsLayer::CustomAppearance::LightBackdrop || properties.customAppearance == GraphicsLayer::CustomAppearance::DarkBackdrop) {
@@ -324,7 +320,7 @@
if (!properties.maskLayerID)
maskOwnerLayer.mask = nullptr;
else {
- UIView *maskView = (__bridge UIView *)relatedLayers.get(properties.maskLayerID);
+ UIView *maskView = relatedLayers.get(properties.maskLayerID)->uiView();
// FIXME: need to check that the mask view is kept alive.
ASSERT(!maskView.layer.superlayer);
if (!maskView.layer.superlayer)
@@ -335,7 +331,6 @@
if (properties.changedProperties.containsAny({ RemoteLayerTreeTransaction::ContentsHiddenChanged, RemoteLayerTreeTransaction::UserInteractionEnabledChanged }))
view.userInteractionEnabled = !properties.contentsHidden && properties.userInteractionEnabled;
- END_BLOCK_OBJC_EXCEPTIONS;
}
#endif
Modified: trunk/Source/WebKit/SourcesCocoa.txt (238467 => 238468)
--- trunk/Source/WebKit/SourcesCocoa.txt 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/SourcesCocoa.txt 2018-11-24 07:17:35 UTC (rev 238468)
@@ -368,7 +368,6 @@
UIProcess/ios/DragDropInteractionState.mm
UIProcess/ios/InputViewUpdateDeferrer.mm
-UIProcess/ios/LayerRepresentation.mm
UIProcess/ios/PageClientImplIOS.mm
UIProcess/ios/ProcessAssertionIOS.mm
UIProcess/ios/ResourceLoadStatisticsPersistentStorageIOS.mm
@@ -446,6 +445,7 @@
UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
+UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm
UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -6366,7 +6366,7 @@
- (NSDictionary *)_propertiesOfLayerWithID:(unsigned long long)layerID
{
- CALayer* layer = asLayer(downcast<WebKit::RemoteLayerTreeDrawingAreaProxy>(*_page->drawingArea()).layerWithIDForTesting(layerID));
+ CALayer* layer = downcast<WebKit::RemoteLayerTreeDrawingAreaProxy>(*_page->drawingArea()).layerWithIDForTesting(layerID);
if (!layer)
return nil;
Deleted: trunk/Source/WebKit/UIProcess/Cocoa/LayerRepresentation.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/Cocoa/LayerRepresentation.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/Cocoa/LayerRepresentation.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef LayerRepresentation_h
-#define LayerRepresentation_h
-
-#if PLATFORM(IOS_FAMILY)
-
-OBJC_CLASS CALayer;
-OBJC_CLASS UIView;
-typedef UIView LayerOrView;
-
-CALayer *asLayer(LayerOrView *);
-
-#else
-
-OBJC_CLASS CALayer;
-typedef CALayer LayerOrView;
-
-inline CALayer *asLayer(LayerOrView *layer)
-{
- return layer;
-}
-
-#endif
-
-#endif // LayerRepresentation_h
Modified: trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -478,7 +478,8 @@
}
#if PLATFORM(IOS_FAMILY)
- UIView *parentView = downcast<RemoteLayerTreeDrawingAreaProxy>(*m_page->drawingArea()).remoteLayerTreeHost().rootLayer();
+ auto* rootNode = downcast<RemoteLayerTreeDrawingAreaProxy>(*m_page->drawingArea()).remoteLayerTreeHost().rootNode();
+ UIView *parentView = rootNode ? rootNode->uiView() : nil;
interface->setupFullscreen(*model->layerHostView(), initialRect, parentView, videoFullscreenMode, allowsPictureInPicture, standby);
#else
IntRect initialWindowRect;
Modified: trunk/Source/WebKit/UIProcess/PageClient.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/PageClient.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/PageClient.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -42,8 +42,8 @@
#include <wtf/WeakPtr.h>
#if PLATFORM(COCOA)
-#include "LayerRepresentation.h"
#include "PluginComplexTextInputState.h"
+#include "RemoteLayerTreeNode.h"
#include "WKFoundation.h"
OBJC_CLASS CALayer;
@@ -245,8 +245,8 @@
virtual void notifyInputContextAboutDiscardedComposition() = 0;
virtual void makeFirstResponder() = 0;
virtual void assistiveTechnologyMakeFirstResponder() = 0;
- virtual void setAcceleratedCompositingRootLayer(LayerOrView *) = 0;
- virtual LayerOrView *acceleratedCompositingRootLayer() const = 0;
+ virtual void setRemoteLayerTreeRootNode(RemoteLayerTreeNode*) = 0;
+ virtual CALayer *acceleratedCompositingRootLayer() const = 0;
virtual RefPtr<ViewSnapshot> takeViewSnapshot() = 0;
#if ENABLE(MAC_GESTURE_EVENTS)
virtual void gestureEventWasNotHandledByWebCore(const NativeWebGestureEvent&) = 0;
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -58,7 +58,7 @@
bool isAlwaysOnLoggingAllowed() const;
- LayerOrView* layerWithIDForTesting(uint64_t) const;
+ CALayer *layerWithIDForTesting(uint64_t) const;
private:
void sizeDidChange() override;
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -204,7 +204,7 @@
if (m_remoteLayerTreeHost->updateLayerTree(layerTreeTransaction)) {
if (layerTreeTransaction.transactionID() >= m_transactionIDForUnhidingContent)
- m_webPageProxy.setAcceleratedCompositingRootLayer(m_remoteLayerTreeHost->rootLayer());
+ m_webPageProxy.setRemoteLayerTreeRootNode(m_remoteLayerTreeHost->rootNode());
else
m_remoteLayerTreeHost->detachRootLayer();
}
@@ -239,7 +239,7 @@
scrollPosition = layerTreeTransaction.scrollPosition();
#endif
updateDebugIndicator(layerTreeTransaction.contentsSize(), rootLayerChanged, scale, scrollPosition);
- asLayer(m_debugIndicatorLayerTreeHost->rootLayer()).name = @"Indicator host root";
+ m_debugIndicatorLayerTreeHost->rootLayer().name = @"Indicator host root";
}
m_webPageProxy.layerTreeCommitComplete();
@@ -337,7 +337,7 @@
void RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator(IntSize contentsSize, bool rootLayerChanged, float scale, const IntPoint& scrollPosition)
{
// Make sure we're the last sublayer.
- CALayer *rootLayer = asLayer(m_remoteLayerTreeHost->rootLayer());
+ CALayer *rootLayer = m_remoteLayerTreeHost->rootLayer();
[m_tileMapHostLayer removeFromSuperlayer];
[rootLayer addSublayer:m_tileMapHostLayer.get()];
@@ -350,7 +350,7 @@
if (rootLayerChanged) {
[m_tileMapHostLayer setSublayers:@[]];
- [m_tileMapHostLayer addSublayer:asLayer(m_debugIndicatorLayerTreeHost->rootLayer())];
+ [m_tileMapHostLayer addSublayer:m_debugIndicatorLayerTreeHost->rootLayer()];
[m_tileMapHostLayer addSublayer:m_exposedRectIndicatorLayer.get()];
}
@@ -500,7 +500,7 @@
return m_webPageProxy.isAlwaysOnLoggingAllowed();
}
-LayerOrView* RemoteLayerTreeDrawingAreaProxy::layerWithIDForTesting(uint64_t layerID) const
+CALayer *RemoteLayerTreeDrawingAreaProxy::layerWithIDForTesting(uint64_t layerID) const
{
return m_remoteLayerTreeHost->layerWithIDForTesting(layerID);
}
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -25,7 +25,7 @@
#pragma once
-#include "LayerRepresentation.h"
+#include "RemoteLayerTreeNode.h"
#include "RemoteLayerTreeTransaction.h"
#include <WebCore/PlatformCALayer.h>
#include <wtf/HashMap.h>
@@ -45,11 +45,14 @@
explicit RemoteLayerTreeHost(RemoteLayerTreeDrawingAreaProxy&);
virtual ~RemoteLayerTreeHost();
- LayerOrView *getLayer(WebCore::GraphicsLayer::PlatformLayerID) const;
- LayerOrView *rootLayer() const { return m_rootLayer; }
+ RemoteLayerTreeNode* nodeForID(WebCore::GraphicsLayer::PlatformLayerID) const;
+ RemoteLayerTreeNode* rootNode() const { return m_rootNode; }
static WebCore::GraphicsLayer::PlatformLayerID layerID(CALayer*);
+ CALayer *layerForID(WebCore::GraphicsLayer::PlatformLayerID) const;
+ CALayer *rootLayer() const;
+
// Returns true if the root layer changed.
bool updateLayerTree(const RemoteLayerTreeTransaction&, float indicatorScaleFactor = 1);
@@ -72,10 +75,10 @@
// This avoids keeping an outstanding InUse reference when suspended.
void mapAllIOSurfaceBackingStore();
- LayerOrView* layerWithIDForTesting(uint64_t) const;
+ CALayer *layerWithIDForTesting(uint64_t) const;
private:
- LayerOrView *createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties&, const RemoteLayerTreeTransaction::LayerProperties*);
+ void createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties&, const RemoteLayerTreeTransaction::LayerProperties*);
RetainPtr<WKEmbeddedView> createEmbeddedView(const RemoteLayerTreeTransaction::LayerCreationProperties&, const RemoteLayerTreeTransaction::LayerProperties*);
static void setLayerID(CALayer *, WebCore::GraphicsLayer::PlatformLayerID);
@@ -82,8 +85,8 @@
void layerWillBeRemoved(WebCore::GraphicsLayer::PlatformLayerID);
RemoteLayerTreeDrawingAreaProxy* m_drawingArea { nullptr };
- LayerOrView *m_rootLayer { nullptr };
- HashMap<WebCore::GraphicsLayer::PlatformLayerID, RetainPtr<LayerOrView>> m_layers;
+ RemoteLayerTreeNode* m_rootNode { nullptr };
+ HashMap<WebCore::GraphicsLayer::PlatformLayerID, std::unique_ptr<RemoteLayerTreeNode>> m_nodes;
HashMap<WebCore::GraphicsLayer::PlatformLayerID, RetainPtr<WKAnimationDelegate>> m_animationDelegates;
HashMap<WebCore::GraphicsLayer::EmbeddedViewID, RetainPtr<WKEmbeddedView>> m_embeddedViews;
HashMap<WebCore::GraphicsLayer::PlatformLayerID, WebCore::GraphicsLayer::EmbeddedViewID> m_layerToEmbeddedViewMap;
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -75,13 +75,13 @@
}
bool rootLayerChanged = false;
- LayerOrView *rootLayer = getLayer(transaction.rootLayerID());
+ auto* rootNode = nodeForID(transaction.rootLayerID());
- if (!rootLayer)
+ if (!rootNode)
RELEASE_LOG_IF_ALLOWED("%p RemoteLayerTreeHost::updateLayerTree - failed to find root layer with ID %llu", this, transaction.rootLayerID());
- if (m_rootLayer != rootLayer) {
- m_rootLayer = rootLayer;
+ if (m_rootNode != rootNode) {
+ m_rootNode = rootNode;
rootLayerChanged = true;
}
@@ -99,35 +99,35 @@
auto layerID = changedLayer.key;
const RemoteLayerTreeTransaction::LayerProperties& properties = *changedLayer.value;
- LayerOrView *layer = getLayer(layerID);
- ASSERT(layer);
+ auto* node = nodeForID(layerID);
+ ASSERT(node);
RemoteLayerTreePropertyApplier::RelatedLayerMap relatedLayers;
if (properties.changedProperties & RemoteLayerTreeTransaction::ChildrenChanged) {
for (auto& child : properties.children)
- relatedLayers.set(child, (__bridge CFTypeRef)getLayer(child));
+ relatedLayers.set(child, nodeForID(child));
}
if (properties.changedProperties & RemoteLayerTreeTransaction::MaskLayerChanged && properties.maskLayerID)
- relatedLayers.set(properties.maskLayerID, (__bridge CFTypeRef)getLayer(properties.maskLayerID));
+ relatedLayers.set(properties.maskLayerID, nodeForID(properties.maskLayerID));
if (properties.changedProperties & RemoteLayerTreeTransaction::ClonedContentsChanged && properties.clonedLayerID)
clonesToUpdate.append(LayerIDPair(layerID, properties.clonedLayerID));
if (m_isDebugLayerTreeHost) {
- RemoteLayerTreePropertyApplier::applyProperties(layer, this, properties, relatedLayers, layerContentsType);
+ RemoteLayerTreePropertyApplier::applyProperties(*node, this, properties, relatedLayers, layerContentsType);
if (properties.changedProperties & RemoteLayerTreeTransaction::BorderWidthChanged)
- asLayer(layer).borderWidth = properties.borderWidth / indicatorScaleFactor;
- asLayer(layer).masksToBounds = false;
+ node->layer().borderWidth = properties.borderWidth / indicatorScaleFactor;
+ node->layer().masksToBounds = false;
} else
- RemoteLayerTreePropertyApplier::applyProperties(layer, this, properties, relatedLayers, layerContentsType);
+ RemoteLayerTreePropertyApplier::applyProperties(*node, this, properties, relatedLayers, layerContentsType);
}
for (const auto& layerPair : clonesToUpdate) {
- LayerOrView *layer = getLayer(layerPair.first);
- LayerOrView *clonedLayer = getLayer(layerPair.second);
- asLayer(layer).contents = asLayer(clonedLayer).contents;
+ auto* layer = layerForID(layerPair.first);
+ auto* clonedLayer = layerForID(layerPair.second);
+ layer.contents = clonedLayer.contents;
}
for (auto& destroyedLayer : transaction.destroyedLayers())
@@ -136,17 +136,17 @@
// Drop the contents of any layers which were unparented; the Web process will re-send
// the backing store in the commit that reparents them.
for (auto& newlyUnreachableLayerID : transaction.layerIDsWithNewlyUnreachableBackingStore())
- asLayer(getLayer(newlyUnreachableLayerID)).contents = nullptr;
+ layerForID(newlyUnreachableLayerID).contents = nullptr;
return rootLayerChanged;
}
-LayerOrView *RemoteLayerTreeHost::getLayer(GraphicsLayer::PlatformLayerID layerID) const
+RemoteLayerTreeNode* RemoteLayerTreeHost::nodeForID(GraphicsLayer::PlatformLayerID layerID) const
{
if (!layerID)
- return nil;
+ return nullptr;
- return m_layers.get(layerID).get();
+ return m_nodes.get(layerID);
}
void RemoteLayerTreeHost::layerWillBeRemoved(WebCore::GraphicsLayer::PlatformLayerID layerID)
@@ -163,7 +163,7 @@
m_layerToEmbeddedViewMap.remove(embeddedViewIter);
}
- m_layers.remove(layerID);
+ m_nodes.remove(layerID);
}
void RemoteLayerTreeHost::animationDidStart(WebCore::GraphicsLayer::PlatformLayerID layerID, CAAnimation *animation, MonotonicTime startTime)
@@ -171,7 +171,7 @@
if (!m_drawingArea)
return;
- CALayer *layer = asLayer(getLayer(layerID));
+ CALayer *layer = layerForID(layerID);
if (!layer)
return;
@@ -192,7 +192,7 @@
if (!m_drawingArea)
return;
- CALayer *layer = asLayer(getLayer(layerID));
+ CALayer *layer = layerForID(layerID);
if (!layer)
return;
@@ -215,24 +215,20 @@
void RemoteLayerTreeHost::clearLayers()
{
- for (auto& idLayer : m_layers) {
- m_animationDelegates.remove(idLayer.key);
-#if PLATFORM(IOS_FAMILY)
- [idLayer.value.get() removeFromSuperview];
-#else
- [asLayer(idLayer.value.get()) removeFromSuperlayer];
-#endif
+ for (auto& keyAndNode : m_nodes) {
+ m_animationDelegates.remove(keyAndNode.key);
+ keyAndNode.value->detachFromParent();
}
- m_layers.clear();
+ m_nodes.clear();
m_embeddedViews.clear();
m_layerToEmbeddedViewMap.clear();
- m_rootLayer = nullptr;
+ m_rootNode = nullptr;
}
-LayerOrView* RemoteLayerTreeHost::layerWithIDForTesting(uint64_t layerID) const
+CALayer *RemoteLayerTreeHost::layerWithIDForTesting(uint64_t layerID) const
{
- return getLayer(layerID);
+ return layerForID(layerID);
}
static NSString* const WKLayerIDPropertyKey = @"WKLayerID";
@@ -247,12 +243,27 @@
return [[layer valueForKey:WKLayerIDPropertyKey] unsignedLongLongValue];
}
+CALayer *RemoteLayerTreeHost::layerForID(WebCore::GraphicsLayer::PlatformLayerID layerID) const
+{
+ auto* node = nodeForID(layerID);
+ if (!node)
+ return nil;
+ return node->layer();
+}
+
+CALayer *RemoteLayerTreeHost::rootLayer() const
+{
+ if (!m_rootNode)
+ return nil;
+ return m_rootNode->layer();
+}
+
#if !PLATFORM(IOS_FAMILY)
-LayerOrView *RemoteLayerTreeHost::createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties& properties, const RemoteLayerTreeTransaction::LayerProperties*)
+void RemoteLayerTreeHost::createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties& properties, const RemoteLayerTreeTransaction::LayerProperties*)
{
- RetainPtr<CALayer>& layer = m_layers.add(properties.layerID, nullptr).iterator->value;
+ ASSERT(!m_nodes.contains(properties.layerID));
- ASSERT(!layer);
+ RetainPtr<CALayer> layer;
switch (properties.type) {
case PlatformCALayer::LayerTypeLayer:
@@ -297,18 +308,16 @@
[layer setDelegate:[WebActionDisablingCALayerDelegate shared]];
setLayerID(layer.get(), properties.layerID);
- return layer.get();
+ m_nodes.add(properties.layerID, std::make_unique<RemoteLayerTreeNode>(WTFMove(layer)));
}
#endif
void RemoteLayerTreeHost::detachRootLayer()
{
-#if PLATFORM(IOS_FAMILY)
- [m_rootLayer removeFromSuperview];
-#else
- [asLayer(m_rootLayer) removeFromSuperlayer];
-#endif
- m_rootLayer = nullptr;
+ if (!m_rootNode)
+ return;
+ m_rootNode->detachFromParent();
+ m_rootNode = nullptr;
}
#if HAVE(IOSURFACE)
@@ -328,7 +337,7 @@
void RemoteLayerTreeHost::mapAllIOSurfaceBackingStore()
{
#if HAVE(IOSURFACE)
- recursivelyMapIOSurfaceBackingStore(asLayer(m_rootLayer));
+ recursivelyMapIOSurfaceBackingStore(rootLayer());
#endif
}
Copied: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h (from rev 238467, trunk/Source/WebKit/UIProcess/ios/LayerRepresentation.mm) (0 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h (rev 0)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/RetainPtr.h>
+
+OBJC_CLASS CALayer;
+#if PLATFORM(IOS_FAMILY)
+OBJC_CLASS UIView;
+#endif
+
+namespace WebKit {
+
+class RemoteLayerTreeNode {
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ RemoteLayerTreeNode(RetainPtr<CALayer>);
+#if PLATFORM(IOS_FAMILY)
+ RemoteLayerTreeNode(RetainPtr<UIView>);
+#endif
+
+ ~RemoteLayerTreeNode();
+
+ CALayer *layer() const { return m_layer.get(); }
+#if PLATFORM(IOS_FAMILY)
+ UIView *uiView() const { return m_uiView.get(); }
+#endif
+
+ void detachFromParent();
+
+private:
+ RetainPtr<CALayer> m_layer;
+#if PLATFORM(IOS_FAMILY)
+ RetainPtr<UIView> m_uiView;
+#endif
+};
+
+}
Copied: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm (from rev 238467, trunk/Source/WebKit/UIProcess/Cocoa/LayerRepresentation.h) (0 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm (rev 0)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "RemoteLayerTreeNode.h"
+
+namespace WebKit {
+
+RemoteLayerTreeNode::RemoteLayerTreeNode(RetainPtr<CALayer> layer)
+ : m_layer(WTFMove(layer))
+{
+}
+
+#if PLATFORM(IOS_FAMILY)
+RemoteLayerTreeNode::RemoteLayerTreeNode(RetainPtr<UIView> uiView)
+ : m_layer([uiView.get() layer])
+ , m_uiView(WTFMove(uiView))
+{
+}
+#endif
+
+RemoteLayerTreeNode::~RemoteLayerTreeNode() = default;
+
+void RemoteLayerTreeNode::detachFromParent()
+{
+#if PLATFORM(IOS_FAMILY)
+ [uiView() removeFromSuperview];
+#else
+ [layer() removeFromSuperlayer];
+#endif
+}
+
+}
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -100,7 +100,7 @@
unsigned RemoteLayerTreeScrollingPerformanceData::blankPixelCount(const FloatRect& visibleRect) const
{
- CALayer *rootLayer = asLayer(m_drawingArea.remoteLayerTreeHost().rootLayer());
+ CALayer *rootLayer = m_drawingArea.remoteLayerTreeHost().rootLayer();
CALayer *tileGridContainer = findTileGridContainerLayer(rootLayer);
if (!tileGridContainer) {
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp 2018-11-24 07:17:35 UTC (rev 238468)
@@ -95,11 +95,12 @@
}
#if !PLATFORM(IOS_FAMILY)
+
void RemoteScrollingCoordinatorProxy::connectStateNodeLayers(ScrollingStateTree& stateTree, const RemoteLayerTreeHost& layerTreeHost)
{
for (auto& currNode : stateTree.nodeMap().values()) {
if (currNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
- currNode->setLayer(layerTreeHost.getLayer(currNode->layer()));
+ currNode->setLayer(layerTreeHost.layerForID(currNode->layer()));
switch (currNode->nodeType()) {
case MainFrameScrollingNode:
@@ -107,23 +108,23 @@
ScrollingStateFrameScrollingNode& scrollingStateNode = downcast<ScrollingStateFrameScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer))
- scrollingStateNode.setScrolledContentsLayer(layerTreeHost.getLayer(scrollingStateNode.scrolledContentsLayer()));
+ scrollingStateNode.setScrolledContentsLayer(layerTreeHost.layerForID(scrollingStateNode.scrolledContentsLayer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::CounterScrollingLayer))
- scrollingStateNode.setCounterScrollingLayer(layerTreeHost.getLayer(scrollingStateNode.counterScrollingLayer()));
+ scrollingStateNode.setCounterScrollingLayer(layerTreeHost.layerForID(scrollingStateNode.counterScrollingLayer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::InsetClipLayer))
- scrollingStateNode.setInsetClipLayer(layerTreeHost.getLayer(scrollingStateNode.insetClipLayer()));
+ scrollingStateNode.setInsetClipLayer(layerTreeHost.layerForID(scrollingStateNode.insetClipLayer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::ContentShadowLayer))
- scrollingStateNode.setContentShadowLayer(layerTreeHost.getLayer(scrollingStateNode.contentShadowLayer()));
+ scrollingStateNode.setContentShadowLayer(layerTreeHost.layerForID(scrollingStateNode.contentShadowLayer()));
// FIXME: we should never have header and footer layers coming from the WebProcess.
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::HeaderLayer))
- scrollingStateNode.setHeaderLayer(layerTreeHost.getLayer(scrollingStateNode.headerLayer()));
+ scrollingStateNode.setHeaderLayer(layerTreeHost.layerForID(scrollingStateNode.headerLayer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::FooterLayer))
- scrollingStateNode.setFooterLayer(layerTreeHost.getLayer(scrollingStateNode.footerLayer()));
+ scrollingStateNode.setFooterLayer(layerTreeHost.layerForID(scrollingStateNode.footerLayer()));
break;
}
case OverflowScrollingNode: {
@@ -130,7 +131,7 @@
ScrollingStateOverflowScrollingNode& scrollingStateNode = downcast<ScrollingStateOverflowScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer))
- scrollingStateNode.setScrolledContentsLayer(layerTreeHost.getLayer(scrollingStateNode.scrolledContentsLayer()));
+ scrollingStateNode.setScrolledContentsLayer(layerTreeHost.layerForID(scrollingStateNode.scrolledContentsLayer()));
break;
}
case FixedNode:
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -58,11 +58,11 @@
return adoptNS([[WKRemoteView alloc] initWithFrame:CGRectZero contextID:contextID]);
}
-LayerOrView *RemoteLayerTreeHost::createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties& properties, const RemoteLayerTreeTransaction::LayerProperties* layerProperties)
+void RemoteLayerTreeHost::createLayer(const RemoteLayerTreeTransaction::LayerCreationProperties& properties, const RemoteLayerTreeTransaction::LayerProperties* layerProperties)
{
- RetainPtr<LayerOrView>& view = m_layers.add(properties.layerID, nullptr).iterator->value;
+ ASSERT(!m_nodes.contains(properties.layerID));
- ASSERT(!view);
+ RetainPtr<UIView> view;
switch (properties.type) {
case PlatformCALayer::LayerTypeLayer:
@@ -117,7 +117,7 @@
setLayerID([view layer], properties.layerID);
- return view.get();
+ m_nodes.add(properties.layerID, std::make_unique<RemoteLayerTreeNode>(WTFMove(view)));
}
RetainPtr<WKEmbeddedView> RemoteLayerTreeHost::createEmbeddedView(const RemoteLayerTreeTransaction::LayerCreationProperties& properties, const RemoteLayerTreeTransaction::LayerProperties* layerProperties)
Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -29,8 +29,8 @@
#if PLATFORM(IOS_FAMILY)
#if ENABLE(ASYNC_SCROLLING)
-#import "LayerRepresentation.h"
#import "RemoteLayerTreeHost.h"
+#import "RemoteLayerTreeNode.h"
#import "WebPageProxy.h"
#import <UIKit/UIView.h>
#import <WebCore/ScrollingStateFrameScrollingNode.h>
@@ -47,11 +47,6 @@
namespace WebKit {
using namespace WebCore;
-static LayerRepresentation layerRepresentationFromLayerOrView(LayerOrView *layerOrView)
-{
- return LayerRepresentation(layerOrView.layer);
-}
-
void RemoteScrollingCoordinatorProxy::connectStateNodeLayers(ScrollingStateTree& stateTree, const RemoteLayerTreeHost& layerTreeHost)
{
for (auto& currNode : stateTree.nodeMap().values()) {
@@ -60,10 +55,10 @@
ScrollingStateOverflowScrollingNode& scrollingStateNode = downcast<ScrollingStateOverflowScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::ScrollLayer))
- scrollingStateNode.setLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.layer())));
+ scrollingStateNode.setLayer(layerTreeHost.layerForID(scrollingStateNode.layer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateScrollingNode::ScrolledContentsLayer))
- scrollingStateNode.setScrolledContentsLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.scrolledContentsLayer())));
+ scrollingStateNode.setScrolledContentsLayer(layerTreeHost.layerForID(scrollingStateNode.scrolledContentsLayer()));
break;
};
case MainFrameScrollingNode:
@@ -71,23 +66,23 @@
ScrollingStateFrameScrollingNode& scrollingStateNode = downcast<ScrollingStateFrameScrollingNode>(*currNode);
if (scrollingStateNode.hasChangedProperty(ScrollingStateNode::ScrollLayer))
- scrollingStateNode.setLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.layer())));
+ scrollingStateNode.setLayer(layerTreeHost.layerForID(scrollingStateNode.layer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::CounterScrollingLayer))
- scrollingStateNode.setCounterScrollingLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.counterScrollingLayer())));
+ scrollingStateNode.setCounterScrollingLayer(layerTreeHost.layerForID(scrollingStateNode.counterScrollingLayer()));
// FIXME: we should never have header and footer layers coming from the WebProcess.
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::HeaderLayer))
- scrollingStateNode.setHeaderLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.headerLayer())));
+ scrollingStateNode.setHeaderLayer(layerTreeHost.layerForID(scrollingStateNode.headerLayer()));
if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::FooterLayer))
- scrollingStateNode.setFooterLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(scrollingStateNode.footerLayer())));
+ scrollingStateNode.setFooterLayer(layerTreeHost.layerForID(scrollingStateNode.footerLayer()));
break;
}
case FixedNode:
case StickyNode:
if (currNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
- currNode->setLayer(layerRepresentationFromLayerOrView(layerTreeHost.getLayer(currNode->layer())));
+ currNode->setLayer(layerTreeHost.layerForID(currNode->layer()));
break;
}
}
Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -29,6 +29,7 @@
#include "AuthenticatorTransportService.h"
#include <IOKit/hid/IOHIDManager.h>
+#include <wtf/RetainPtr.h>
#include <wtf/UniqueRef.h>
namespace WebKit {
Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -35,6 +35,7 @@
#import <WebCore/DeviceResponseConverter.h>
#import <WebCore/FidoConstants.h>
#import <WebCore/FidoHidMessage.h>
+#import <wtf/RunLoop.h>
namespace WebKit {
using namespace fido;
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -112,7 +112,7 @@
#if PLATFORM(COCOA)
#include "DynamicViewportSizeUpdate.h"
-#include "LayerRepresentation.h"
+#include "RemoteLayerTreeNode.h"
#include "TouchBarMenuData.h"
#include "TouchBarMenuItemData.h"
#endif
@@ -699,8 +699,8 @@
bool shouldDelayWindowOrderingForEvent(const WebMouseEvent&);
bool acceptsFirstMouse(int eventNumber, const WebMouseEvent&);
- void setAcceleratedCompositingRootLayer(LayerOrView*);
- LayerOrView* acceleratedCompositingRootLayer() const;
+ void setRemoteLayerTreeRootNode(RemoteLayerTreeNode*);
+ CALayer *acceleratedCompositingRootLayer() const;
void setTextAsync(const String&);
void insertTextAsync(const String& text, const EditingRange& replacementRange, bool registerUndoGroup = false, EditingRangeIsRelativeTo = EditingRangeIsRelativeTo::EditableRoot, bool suppressSelectionUpdate = false);
Deleted: trunk/Source/WebKit/UIProcess/ios/LayerRepresentation.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/ios/LayerRepresentation.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/ios/LayerRepresentation.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "LayerRepresentation.h"
-
-#if PLATFORM(IOS_FAMILY)
-#import <UIKit/UIView.h>
-CALayer *asLayer(LayerOrView *view)
-{
- return view.layer;
-}
-#endif
Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -121,8 +121,8 @@
void enterAcceleratedCompositingMode(const LayerTreeContext&) override;
void exitAcceleratedCompositingMode() override;
void updateAcceleratedCompositingMode(const LayerTreeContext&) override;
- void setAcceleratedCompositingRootLayer(LayerOrView *) override;
- LayerOrView *acceleratedCompositingRootLayer() const override;
+ void setRemoteLayerTreeRootNode(RemoteLayerTreeNode*) override;
+ CALayer* acceleratedCompositingRootLayer() const override;
LayerHostingMode viewLayerHostingMode() override { return LayerHostingMode::OutOfProcess; }
RefPtr<ViewSnapshot> takeViewSnapshot() override;
Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -495,12 +495,12 @@
{
}
-void PageClientImpl::setAcceleratedCompositingRootLayer(LayerOrView *rootLayer)
+void PageClientImpl::setRemoteLayerTreeRootNode(RemoteLayerTreeNode* rootNode)
{
- [m_contentView _setAcceleratedCompositingRootView:rootLayer];
+ [m_contentView _setAcceleratedCompositingRootView:rootNode ? rootNode->uiView() : nil];
}
-LayerOrView *PageClientImpl::acceleratedCompositingRootLayer() const
+CALayer *PageClientImpl::acceleratedCompositingRootLayer() const
{
notImplemented();
return nullptr;
Modified: trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -991,9 +991,9 @@
notImplemented();
}
-void WebPageProxy::setAcceleratedCompositingRootLayer(LayerOrView* rootLayer)
+void WebPageProxy::setRemoteLayerTreeRootNode(RemoteLayerTreeNode* rootNode)
{
- pageClient().setAcceleratedCompositingRootLayer(rootLayer);
+ pageClient().setRemoteLayerTreeRootNode(rootNode);
m_frozenRemoteLayerTreeHost = nullptr;
}
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2018-11-24 07:17:35 UTC (rev 238468)
@@ -75,8 +75,8 @@
bool isVisuallyIdle() override;
LayerHostingMode viewLayerHostingMode() override;
ColorSpaceData colorSpace() override;
- void setAcceleratedCompositingRootLayer(LayerOrView *) override;
- LayerOrView *acceleratedCompositingRootLayer() const override;
+ void setRemoteLayerTreeRootNode(RemoteLayerTreeNode*) override;
+ CALayer *acceleratedCompositingRootLayer() const override;
void processDidExit() override;
void processWillSwap() override;
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -542,9 +542,9 @@
m_impl->setAcceleratedCompositingRootLayer(renderLayer);
}
-void PageClientImpl::setAcceleratedCompositingRootLayer(CALayer *rootLayer)
+void PageClientImpl::setRemoteLayerTreeRootNode(RemoteLayerTreeNode* rootNode)
{
- m_impl->setAcceleratedCompositingRootLayer(rootLayer);
+ m_impl->setAcceleratedCompositingRootLayer(rootNode ? rootNode->layer() : nil);
}
CALayer *PageClientImpl::acceleratedCompositingRootLayer() const
Modified: trunk/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -143,7 +143,7 @@
if (!m_webPageProxy.isValid())
return MachSendRight();
- RetainPtr<CAContext> rootLayerContext = [asLayer(m_webPageProxy.acceleratedCompositingRootLayer()) context];
+ RetainPtr<CAContext> rootLayerContext = [m_webPageProxy.acceleratedCompositingRootLayer() context];
if (!rootLayerContext)
return MachSendRight();
Modified: trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm (238467 => 238468)
--- trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm 2018-11-24 07:17:35 UTC (rev 238468)
@@ -455,13 +455,13 @@
pageClient().intrinsicContentSizeDidChange(intrinsicContentSize);
}
-void WebPageProxy::setAcceleratedCompositingRootLayer(LayerOrView* rootLayer)
+void WebPageProxy::setRemoteLayerTreeRootNode(RemoteLayerTreeNode* rootNode)
{
- pageClient().setAcceleratedCompositingRootLayer(rootLayer);
+ pageClient().setRemoteLayerTreeRootNode(rootNode);
m_frozenRemoteLayerTreeHost = nullptr;
}
-LayerOrView* WebPageProxy::acceleratedCompositingRootLayer() const
+CALayer *WebPageProxy::acceleratedCompositingRootLayer() const
{
return pageClient().acceleratedCompositingRootLayer();
}
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (238467 => 238468)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2018-11-24 07:17:35 UTC (rev 238468)
@@ -1597,6 +1597,7 @@
E4436ECF1A0D040B00EAD204 /* NetworkCacheStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E4436EC21A0CFDB200EAD204 /* NetworkCacheStorage.h */; };
E489D28C1A0A2DB80078C06A /* NetworkCacheCoders.h in Headers */ = {isa = PBXBuildFile; fileRef = E489D2851A0A2DB80078C06A /* NetworkCacheCoders.h */; };
E49D40D71AD3FB170066B7B9 /* NetworkCacheBlobStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = E49D40D61AD3FB170066B7B9 /* NetworkCacheBlobStorage.h */; };
+ E4E57F6B21A83B1200345F3C /* RemoteLayerTreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E57F6A21A83B1100345F3C /* RemoteLayerTreeNode.h */; };
E4E864931B16750700C82F40 /* VersionChecks.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E8648E1B1673FB00C82F40 /* VersionChecks.h */; };
E52CF55220A35C3A00DADA27 /* WebDataListSuggestionPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E52CF55020A35C3A00DADA27 /* WebDataListSuggestionPicker.h */; };
E548EBD121015F0E00BE3C32 /* WKFormColorPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = E548EBCF21015F0E00BE3C32 /* WKFormColorPicker.h */; };
@@ -4463,6 +4464,8 @@
E489D2851A0A2DB80078C06A /* NetworkCacheCoders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkCacheCoders.h; sourceTree = "<group>"; };
E49D40D61AD3FB170066B7B9 /* NetworkCacheBlobStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkCacheBlobStorage.h; sourceTree = "<group>"; };
E49D40D81AD3FB210066B7B9 /* NetworkCacheBlobStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkCacheBlobStorage.cpp; sourceTree = "<group>"; };
+ E4E57F6821A83B0300345F3C /* RemoteLayerTreeNode.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteLayerTreeNode.mm; sourceTree = "<group>"; };
+ E4E57F6A21A83B1100345F3C /* RemoteLayerTreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteLayerTreeNode.h; sourceTree = "<group>"; };
E4E8648E1B1673FB00C82F40 /* VersionChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VersionChecks.h; sourceTree = "<group>"; };
E4E8648F1B1673FB00C82F40 /* VersionChecks.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VersionChecks.mm; sourceTree = "<group>"; };
E52CF55020A35C3A00DADA27 /* WebDataListSuggestionPicker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebDataListSuggestionPicker.h; sourceTree = "<group>"; };
@@ -5493,6 +5496,8 @@
1AB16ADF1648656D00290D62 /* RemoteLayerTreeDrawingAreaProxy.mm */,
1AA3D75A1651B44F008713D0 /* RemoteLayerTreeHost.h */,
1AA3D7591651B44F008713D0 /* RemoteLayerTreeHost.mm */,
+ E4E57F6A21A83B1100345F3C /* RemoteLayerTreeNode.h */,
+ E4E57F6821A83B0300345F3C /* RemoteLayerTreeNode.mm */,
0F707C791A1FEEA300DA7A45 /* RemoteLayerTreeScrollingPerformanceData.h */,
0F707C771A1FEE8300DA7A45 /* RemoteLayerTreeScrollingPerformanceData.mm */,
0F594794187B3B6000437857 /* RemoteScrollingCoordinatorProxy.cpp */,
@@ -8870,6 +8875,7 @@
7A8A9D5A1EF13029009801AE /* APIInjectedBundleBundleClient.h in Headers */,
7A8A9D581EF119B0009801AE /* APIInjectedBundleClient.h in Headers */,
377512311DF0DEE2008A351C /* APIInjectedBundleEditorClient.h in Headers */,
+ E4E57F6B21A83B1200345F3C /* RemoteLayerTreeNode.h in Headers */,
3769079E18F340A2001DFF04 /* APIInjectedBundleFormClient.h in Headers */,
7A3ACE1B1EEEF79B00A864A4 /* APIInjectedBundlePageLoaderClient.h in Headers */,
7A8A9D5C1EF14598009801AE /* APIInjectedBundlePageResourceLoadClient.h in Headers */,
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp (238467 => 238468)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp 2018-11-24 06:08:31 UTC (rev 238467)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp 2018-11-24 07:17:35 UTC (rev 238468)
@@ -174,7 +174,7 @@
}
if (isPlatformCALayerRemoteCustom()) {
- RemoteLayerTreePropertyApplier::applyProperties(platformLayer(), nullptr, m_properties, RemoteLayerTreePropertyApplier::RelatedLayerMap(), RemoteLayerBackingStore::LayerContentsType::CAMachPort);
+ RemoteLayerTreePropertyApplier::applyPropertiesToLayer(platformLayer(), nullptr, m_properties, RemoteLayerBackingStore::LayerContentsType::CAMachPort);
didCommit();
return;
}