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..25b0e1d9f01dc6dbccf16cae79bd692de18d5bf9 100644 |
| --- a/cc/layers/ui_resource_layer.cc |
| +++ b/cc/layers/ui_resource_layer.cc |
| @@ -41,6 +41,8 @@ class SharedUIResourceHolder : public UIResourceLayer::UIResourceHolder { |
| UIResourceId id() override { return id_; } |
| + bool NeedsRecreation() override { return true; } |
| + |
| private: |
| explicit SharedUIResourceHolder(UIResourceId id) : id_(id) {} |
| @@ -51,6 +53,10 @@ class SharedUIResourceHolder : public UIResourceLayer::UIResourceHolder { |
| UIResourceLayer::UIResourceHolder::~UIResourceHolder() {} |
| +bool UIResourceLayer::UIResourceHolder::NeedsRecreation() { |
| + return false; |
| +} |
| + |
| scoped_refptr<UIResourceLayer> UIResourceLayer::Create() { |
| return make_scoped_refptr(new UIResourceLayer()); |
| } |
| @@ -112,10 +118,12 @@ 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_.get() && |
|
danakj
2014/10/27 18:47:08
no .get() needed
Changwan Ryu
2014/10/28 00:39:18
Done.
|
| + !ui_resource_holder_->NeedsRecreation()) { |
| + ui_resource_holder_ = nullptr; |
| } |
| UpdateDrawsContent(HasDrawableContent()); |
| } |