| Index: Source/core/platform/graphics/GraphicsLayer.cpp
|
| diff --git a/Source/core/platform/graphics/GraphicsLayer.cpp b/Source/core/platform/graphics/GraphicsLayer.cpp
|
| index dc61fd0eac9a4bd370f9c0d947fdf0fb703582d0..05746a4b082a98b80af3821687185bcc31f7fe58 100644
|
| --- a/Source/core/platform/graphics/GraphicsLayer.cpp
|
| +++ b/Source/core/platform/graphics/GraphicsLayer.cpp
|
| @@ -144,6 +144,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
|
| m_layer = adoptPtr(Platform::current()->compositorSupport()->createContentLayer(m_opaqueRectTrackingContentLayerDelegate.get()));
|
| m_layer->layer()->setDrawsContent(m_drawsContent && m_contentsVisible);
|
| m_layer->layer()->setScrollClient(this);
|
| + m_layer->layer()->setWebLayerClient(this);
|
| m_layer->setAutomaticallyComputeRasterScale(true);
|
| }
|
|
|
| @@ -151,6 +152,7 @@ GraphicsLayer::~GraphicsLayer()
|
| {
|
| if (m_linkHighlight) {
|
| m_linkHighlight->clearCurrentGraphicsLayer();
|
| + m_linkHighlight->layer()->setWebLayerClient(0);
|
| m_linkHighlight = 0;
|
| }
|
|
|
| @@ -555,21 +557,6 @@ int GraphicsLayer::validateTransformOperations(const KeyframeValueList& valueLis
|
| return firstIndex;
|
| }
|
|
|
| -void GraphicsLayer::updateNames()
|
| -{
|
| - String debugName = "Layer for " + m_nameBase;
|
| - m_layer->layer()->setDebugName(debugName);
|
| -
|
| - if (WebLayer* contentsLayer = contentsLayerIfRegistered()) {
|
| - String debugName = "ContentsLayer for " + m_nameBase;
|
| - contentsLayer->setDebugName(debugName);
|
| - }
|
| - if (m_linkHighlight) {
|
| - String debugName = "LinkHighlight for " + m_nameBase;
|
| - m_linkHighlight->layer()->setDebugName(debugName);
|
| - }
|
| -}
|
| -
|
| void GraphicsLayer::updateChildList()
|
| {
|
| WebLayer* childHost = m_layer->layer();
|
| @@ -661,6 +648,7 @@ void GraphicsLayer::setContentsTo(ContentsLayerPurpose purpose, WebLayer* layer)
|
| childrenChanged = true;
|
|
|
| // The old contents layer will be removed via updateChildList.
|
| + m_contentsLayer->setWebLayerClient(0);
|
| m_contentsLayer = 0;
|
| }
|
| }
|
| @@ -675,6 +663,7 @@ void GraphicsLayer::setupContentsLayer(WebLayer* contentsLayer)
|
| m_contentsLayerId = m_contentsLayer->id();
|
|
|
| if (m_contentsLayer) {
|
| + m_contentsLayer->setWebLayerClient(this);
|
| m_contentsLayer->setAnchorPoint(FloatPoint(0, 0));
|
| m_contentsLayer->setUseParentBackfaceVisibility(true);
|
|
|
| @@ -686,7 +675,6 @@ void GraphicsLayer::setupContentsLayer(WebLayer* contentsLayer)
|
| // shadow content that must display in front of the video.
|
| m_layer->layer()->insertChild(m_contentsLayer, 0);
|
| }
|
| - updateNames();
|
| }
|
|
|
| void GraphicsLayer::clearContentsLayerIfUnregistered()
|
| @@ -694,6 +682,8 @@ void GraphicsLayer::clearContentsLayerIfUnregistered()
|
| if (!m_contentsLayerId || s_registeredLayerSet->contains(m_contentsLayerId))
|
| return;
|
|
|
| + if (m_contentsLayer)
|
| + m_contentsLayer->setWebLayerClient(0);
|
| m_contentsLayer = 0;
|
| m_contentsLayerId = 0;
|
| }
|
| @@ -748,7 +738,7 @@ void GraphicsLayer::dumpLayer(TextStream& ts, int indent, LayerTreeFlags flags)
|
|
|
| if (flags & LayerTreeIncludesDebugInfo) {
|
| ts << " " << static_cast<void*>(const_cast<GraphicsLayer*>(this));
|
| - ts << " \"" << m_name << "\"";
|
| + ts << " \"" << m_client->debugName(this) << "\"";
|
| }
|
|
|
| ts << "\n";
|
| @@ -937,8 +927,6 @@ void GraphicsLayer::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
|
| info.addMember(m_replicaLayer, "replicaLayer");
|
| info.addMember(m_replicatedLayer, "replicatedLayer");
|
| info.ignoreMember(m_client);
|
| - info.addMember(m_name, "name");
|
| - info.addMember(m_nameBase, "nameBase");
|
| info.addMember(m_layer, "layer");
|
| info.addMember(m_imageLayer, "imageLayer");
|
| info.addMember(m_contentsLayer, "contentsLayer");
|
| @@ -948,11 +936,17 @@ void GraphicsLayer::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
|
| info.addMember(m_scrollableArea, "scrollableArea");
|
| }
|
|
|
| -void GraphicsLayer::setName(const String& name)
|
| +WebKit::WebString GraphicsLayer::debugName(WebKit::WebLayer* webLayer)
|
| {
|
| - m_nameBase = name;
|
| - m_name = String::format("GraphicsLayer(%p) ", this) + name;
|
| - updateNames();
|
| + String name = "";
|
| + if (webLayer == m_contentsLayer) {
|
| + name = "ContentsLayer for " + m_client->debugName(this);
|
| + } else if (m_linkHighlight && webLayer == m_linkHighlight->layer()) {
|
| + name = "LinkHighlight for " + m_client->debugName(this);
|
| + } else if (webLayer == m_layer->layer()) {
|
| + name = m_client->debugName(this);
|
| + }
|
| + return name;
|
| }
|
|
|
| int GraphicsLayer::debugID() const
|
| @@ -1146,6 +1140,8 @@ void GraphicsLayer::setContentsToImage(Image* image)
|
| m_imageLayer.clear();
|
| }
|
| // The old contents layer will be removed via updateChildList.
|
| + if (m_contentsLayer)
|
| + m_contentsLayer->setWebLayerClient(0);
|
| m_contentsLayer = 0;
|
| }
|
|
|
| @@ -1334,6 +1330,8 @@ void GraphicsLayer::setBackgroundFilters(const FilterOperations& filters)
|
| void GraphicsLayer::setLinkHighlight(LinkHighlightClient* linkHighlight)
|
| {
|
| m_linkHighlight = linkHighlight;
|
| + if (m_linkHighlight)
|
| + m_linkHighlight->layer()->setWebLayerClient(this);
|
| updateChildList();
|
| }
|
|
|
|
|