Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp

Issue 1468753002: Reland of Remove blink::WebLayerClient and WebGraphicsLayerDebugInfo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: do not access members of m_contentsLayer Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
diff --git a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
index 7a664ab995e3e06df61903f0e74e0384a62d91f5..6d01370564c9c07a2e5648bd24d9e2c961e19114 100644
--- a/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
+++ b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
@@ -28,7 +28,10 @@
#include "SkImageFilter.h"
#include "SkMatrix44.h"
+#include "base/trace_event/trace_event_argument.h"
+#include "cc/layers/layer.h"
#include "platform/DragImage.h"
+#include "platform/JSONValues.h"
#include "platform/TraceEvent.h"
#include "platform/geometry/FloatRect.h"
#include "platform/geometry/LayoutRect.h"
@@ -49,13 +52,13 @@
#include "public/platform/WebFilterOperations.h"
#include "public/platform/WebFloatPoint.h"
#include "public/platform/WebFloatRect.h"
-#include "public/platform/WebGraphicsLayerDebugInfo.h"
#include "public/platform/WebLayer.h"
#include "public/platform/WebPoint.h"
#include "public/platform/WebSize.h"
#include "wtf/CurrentTime.h"
#include "wtf/HashMap.h"
#include "wtf/HashSet.h"
+#include "wtf/text/StringUTF8Adaptor.h"
#include "wtf/text/WTFString.h"
#include <algorithm>
@@ -124,7 +127,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
m_contentLayerDelegate = adoptPtr(new ContentLayerDelegate(this));
m_layer = adoptPtr(Platform::current()->compositorSupport()->createContentLayer(m_contentLayerDelegate.get()));
m_layer->layer()->setDrawsContent(m_drawsContent && m_contentsVisible);
- m_layer->layer()->setWebLayerClient(this);
+ m_layer->layer()->setLayerClient(this);
// TODO(rbyers): Expose control over this to the web - crbug.com/489802:
setScrollBlocksOn(WebScrollBlocksOnStartTouch | WebScrollBlocksOnWheelEvent);
@@ -454,7 +457,7 @@ void GraphicsLayer::setupContentsLayer(WebLayer* contentsLayer)
m_contentsLayer = contentsLayer;
m_contentsLayerId = m_contentsLayer->id();
- m_contentsLayer->setWebLayerClient(this);
+ m_contentsLayer->setLayerClient(this);
m_contentsLayer->setTransformOrigin(FloatPoint3D());
m_contentsLayer->setUseParentBackfaceVisibility(true);
@@ -485,13 +488,6 @@ GraphicsLayerDebugInfo& GraphicsLayer::debugInfo()
return m_debugInfo;
}
-WebGraphicsLayerDebugInfo* GraphicsLayer::takeDebugInfoFor(WebLayer* layer)
-{
- GraphicsLayerDebugInfo* clone = m_debugInfo.clone();
- clone->setDebugName(debugName(layer));
- return clone;
-}
-
WebLayer* GraphicsLayer::contentsLayerIfRegistered()
{
clearContentsLayerIfUnregistered();
@@ -771,7 +767,12 @@ String GraphicsLayer::layerTreeAsText(LayerTreeFlags flags) const
return json->toPrettyJSONString();
}
-String GraphicsLayer::debugName(WebLayer* webLayer) const
+static const cc::Layer* ccLayerForWebLayer(const WebLayer* webLayer)
+{
+ return webLayer ? webLayer->ccLayer() : nullptr;
+}
+
+String GraphicsLayer::debugName(cc::Layer* layer) const
{
String name;
if (!m_client)
@@ -779,17 +780,17 @@ String GraphicsLayer::debugName(WebLayer* webLayer) const
String highlightDebugName;
for (size_t i = 0; i < m_linkHighlights.size(); ++i) {
- if (webLayer == m_linkHighlights[i]->layer()) {
+ if (layer == ccLayerForWebLayer(m_linkHighlights[i]->layer())) {
highlightDebugName = "LinkHighlight[" + String::number(i) + "] for " + m_client->debugName(this);
break;
}
}
- if (webLayer == m_contentsLayer) {
+ if (layer->id() == m_contentsLayerId) {
name = "ContentsLayer for " + m_client->debugName(this);
} else if (!highlightDebugName.isEmpty()) {
name = highlightDebugName;
- } else if (webLayer == m_layer->layer()) {
+ } else if (layer == ccLayerForWebLayer(m_layer->layer())) {
name = m_client->debugName(this);
} else {
ASSERT_NOT_REACHED();
@@ -1143,7 +1144,7 @@ void GraphicsLayer::addLinkHighlight(LinkHighlight* linkHighlight)
{
ASSERT(linkHighlight && !m_linkHighlights.contains(linkHighlight));
m_linkHighlights.append(linkHighlight);
- linkHighlight->layer()->setWebLayerClient(this);
+ linkHighlight->layer()->setLayerClient(this);
updateChildList();
}
@@ -1191,6 +1192,13 @@ void GraphicsLayer::didScroll()
}
}
+scoped_refptr<base::trace_event::ConvertableToTraceFormat> GraphicsLayer::TakeDebugInfo(cc::Layer* layer)
+{
+ scoped_refptr<base::trace_event::TracedValue> tracedValue = m_debugInfo.asTracedValue();
+ tracedValue->SetString("layer_name", WTF::StringUTF8Adaptor(debugName(layer)).asStringPiece());
+ return tracedValue;
+}
+
PaintController* GraphicsLayer::paintController()
{
if (!m_paintController)

Powered by Google App Engine
This is Rietveld 408576698