Index: cc/layers/ui_resource_layer.cc |
diff --git a/cc/layers/ui_resource_layer.cc b/cc/layers/ui_resource_layer.cc |
index 944cf7d54844c7016feb32eacfc401fb590146ab..02783325b9fffcfd126f8151deea38c02592e315 100644 |
--- a/cc/layers/ui_resource_layer.cc |
+++ b/cc/layers/ui_resource_layer.cc |
@@ -25,6 +25,8 @@ class ScopedUIResourceHolder : public UIResourceLayer::UIResourceHolder { |
} |
UIResourceId id() override { return resource_->id(); } |
+ bool NeedsRecreation() override { return false; } |
+ |
private: |
ScopedUIResourceHolder(LayerTreeHost* host, const SkBitmap& skbitmap) { |
resource_ = ScopedUIResource::Create(host, UIResourceBitmap(skbitmap)); |
@@ -41,6 +43,8 @@ class SharedUIResourceHolder : public UIResourceLayer::UIResourceHolder { |
UIResourceId id() override { return id_; } |
+ bool NeedsRecreation() override { return true; } |
+ |
private: |
explicit SharedUIResourceHolder(UIResourceId id) : id_(id) {} |
@@ -112,10 +116,11 @@ void UIResourceLayer::SetLayerTreeHost(LayerTreeHost* host) { |
} |
void UIResourceLayer::RecreateUIResourceHolder() { |
- ui_resource_holder_ = nullptr; |
if (layer_tree_host() && !bitmap_.empty()) { |
ui_resource_holder_ = |
ScopedUIResourceHolder::Create(layer_tree_host(), bitmap_); |
+ } else if (ui_resource_holder_ && !ui_resource_holder_->NeedsRecreation()) { |
danakj
2014/10/31 14:23:35
So when you attach a layer to a LayerTreeHost its
Changwan Ryu
2014/11/06 00:27:27
Hmm.. Let me give you more background:
Because we
|
+ ui_resource_holder_ = nullptr; |
} |
UpdateDrawsContent(HasDrawableContent()); |
} |