Chromium Code Reviews| Index: chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.cc |
| diff --git a/chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.cc |
| index 26d7e8a22b82cfbc55b6ee71f2a5485ea7e1cf6e..f961db0438ac14aa575507a283ed638af0bb8e2f 100644 |
| --- a/chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.cc |
| +++ b/chrome/browser/android/compositor/scene_layer/static_tab_scene_layer.cc |
| @@ -127,14 +127,24 @@ void StaticTabSceneLayer::SetContentSceneLayer( |
| const JavaParamRef<jobject>& jobj, |
| const JavaParamRef<jobject>& jcontent_scene_layer) { |
| SceneLayer* content_scene_layer = FromJavaObject(env, jcontent_scene_layer); |
| - if (content_scene_layer && content_scene_layer->layer()) { |
| - content_scene_layer_ = content_scene_layer->layer(); |
| - if (content_scene_layer_.get()) |
| - layer_->AddChild(content_scene_layer_); |
| - } else if (content_scene_layer_) { |
| + scoped_refptr<cc::Layer> layer = content_scene_layer ? |
| + content_scene_layer->layer() : nullptr; |
| + |
| + if (content_scene_layer_ && content_scene_layer_ != layer) { |
| content_scene_layer_->RemoveFromParent(); |
| content_scene_layer_ = nullptr; |
| } |
| + |
| + // TODO(pedrosimonetti): Consider being smarter with regards to when to |
| + // add the layer to the hierarchy. For now, we need to keep adding the |
| + // content_scene_layer on every frame because the content_layer is also |
| + // added on every frame. This means that if we only add it once, the |
| + // content_layer will be added again on the next frame and will |
| + // occlude the content_scene_layer. |
| + if (layer && layer.get()) { |
|
David Trainor- moved to gerrit
2015/12/03 03:19:59
You can just check "if (layer)" I think.
pedro (no code reviews)
2015/12/03 19:53:19
Done.
|
| + content_scene_layer_ = layer; |
| + layer_->AddChild(layer); |
| + } |
| } |
| static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& jobj) { |