OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/compositor_impl_android.h" | 5 #include "content/browser/renderer_host/compositor_impl_android.h" |
6 | 6 |
7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
8 #include <android/native_window_jni.h> | 8 #include <android/native_window_jni.h> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 | 334 |
335 void CompositorImpl::OnGpuChannelEstablished() { | 335 void CompositorImpl::OnGpuChannelEstablished() { |
336 ScheduleComposite(); | 336 ScheduleComposite(); |
337 } | 337 } |
338 | 338 |
339 UIResourceProvider& CompositorImpl::GetUIResourceProvider() { | 339 UIResourceProvider& CompositorImpl::GetUIResourceProvider() { |
340 return ui_resource_provider_; | 340 return ui_resource_provider_; |
341 } | 341 } |
342 | 342 |
343 void CompositorImpl::SetRootLayer(scoped_refptr<cc::Layer> root_layer) { | 343 void CompositorImpl::SetRootLayer(scoped_refptr<cc::Layer> root_layer) { |
344 root_layer_->RemoveAllChildren(); | 344 if (subroot_layer_) { |
345 if (root_layer) | 345 subroot_layer_->RemoveFromParent(); |
| 346 subroot_layer_ = NULL; |
| 347 } |
| 348 if (root_layer) { |
| 349 subroot_layer_ = root_layer; |
346 root_layer_->AddChild(root_layer); | 350 root_layer_->AddChild(root_layer); |
| 351 } |
347 } | 352 } |
348 | 353 |
349 void CompositorImpl::SetWindowSurface(ANativeWindow* window) { | 354 void CompositorImpl::SetWindowSurface(ANativeWindow* window) { |
350 GpuSurfaceTracker* tracker = GpuSurfaceTracker::Get(); | 355 GpuSurfaceTracker* tracker = GpuSurfaceTracker::Get(); |
351 | 356 |
352 if (window_) { | 357 if (window_) { |
353 tracker->RemoveSurface(surface_id_); | 358 tracker->RemoveSurface(surface_id_); |
354 ANativeWindow_release(window_); | 359 ANativeWindow_release(window_); |
355 window_ = NULL; | 360 window_ = NULL; |
356 surface_id_ = 0; | 361 surface_id_ = 0; |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
617 } | 622 } |
618 | 623 |
619 void CompositorImpl::SetNeedsAnimate() { | 624 void CompositorImpl::SetNeedsAnimate() { |
620 if (!host_) | 625 if (!host_) |
621 return; | 626 return; |
622 | 627 |
623 host_->SetNeedsAnimate(); | 628 host_->SetNeedsAnimate(); |
624 } | 629 } |
625 | 630 |
626 } // namespace content | 631 } // namespace content |
OLD | NEW |