Chromium Code Reviews| 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()); |
| } |