Index: webkit/renderer/compositor_bindings/web_layer_impl.cc |
diff --git a/webkit/renderer/compositor_bindings/web_layer_impl.cc b/webkit/renderer/compositor_bindings/web_layer_impl.cc |
index 0545b3a7de28c1e73a68aab4ef8a4a2826c4d7b6..f04e362b306d907ed674e51e1383f99afc4eaee1 100644 |
--- a/webkit/renderer/compositor_bindings/web_layer_impl.cc |
+++ b/webkit/renderer/compositor_bindings/web_layer_impl.cc |
@@ -13,6 +13,7 @@ |
#include "third_party/WebKit/public/platform/WebCompositingReasons.h" |
#include "third_party/WebKit/public/platform/WebFloatPoint.h" |
#include "third_party/WebKit/public/platform/WebFloatRect.h" |
+#include "third_party/WebKit/public/platform/WebLayerClient.h" |
#include "third_party/WebKit/public/platform/WebLayerPositionConstraint.h" |
#include "third_party/WebKit/public/platform/WebLayerScrollClient.h" |
#include "third_party/WebKit/public/platform/WebSize.h" |
@@ -33,13 +34,20 @@ using WebKit::WebFilterOperations; |
namespace webkit { |
-WebLayerImpl::WebLayerImpl() : layer_(Layer::Create()) {} |
+WebLayerImpl::WebLayerImpl() : layer_(Layer::Create()) { |
+ web_layer_client_ = NULL; |
+ layer_->SetLayerClient(this); |
+} |
-WebLayerImpl::WebLayerImpl(scoped_refptr<Layer> layer) : layer_(layer) {} |
+WebLayerImpl::WebLayerImpl(scoped_refptr<Layer> layer) : layer_(layer) { |
+ web_layer_client_ = NULL; |
+ layer_->SetLayerClient(this); |
+} |
WebLayerImpl::~WebLayerImpl() { |
layer_->ClearRenderSurface(); |
layer_->set_layer_animation_delegate(NULL); |
+ web_layer_client_ = NULL; |
} |
int WebLayerImpl::id() const { return layer_->id(); } |
@@ -174,10 +182,6 @@ void WebLayerImpl::setFilter(SkImageFilter* filter) { |
layer_->SetFilter(skia::SharePtr(filter)); |
} |
-void WebLayerImpl::setDebugName(WebKit::WebString name) { |
- layer_->SetDebugName(UTF16ToASCII(name)); |
-} |
- |
void WebLayerImpl::setCompositingReasons( |
WebKit::WebCompositingReasons reasons) { |
layer_->SetCompositingReasons(reasons); |
@@ -366,6 +370,15 @@ void WebLayerImpl::setWebLayerClient(WebKit::WebLayerClient* client) { |
web_layer_client_ = client; |
} |
+std::string WebLayerImpl::DebugName() { |
+ if (!web_layer_client_) |
+ return std::string(); |
+ |
+ std::string name = web_layer_client_->debugName(this).utf8(); |
+ DCHECK(IsStringASCII(name)); |
+ return name; |
+} |
+ |
Layer* WebLayerImpl::layer() const { return layer_.get(); } |
} // namespace webkit |