Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: ui/android/delegated_frame_host_android.cc

Issue 2683663002: Add AddChildFrameSink() and RemoveChildFrameSink() To WindowAndroidCompositor (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/android/delegated_frame_host_android.h ('k') | ui/android/window_android_compositor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/android/delegated_frame_host_android.cc
diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_frame_host_android.cc
index 88cc36ae52716271d05a483843965064b1711c37..2f31c5a1b8955638d8f28565bc91611eacdc8bb1 100644
--- a/ui/android/delegated_frame_host_android.cc
+++ b/ui/android/delegated_frame_host_android.cc
@@ -78,7 +78,7 @@ DelegatedFrameHostAndroid::DelegatedFrameHostAndroid(
DelegatedFrameHostAndroid::~DelegatedFrameHostAndroid() {
DestroyDelegatedContent();
surface_factory_.reset();
- UnregisterFrameSinkHierarchy();
+ DetachFromCompositor();
surface_manager_->InvalidateFrameSinkId(frame_sink_id_);
background_layer_->RemoveFromParent();
}
@@ -203,22 +203,21 @@ void DelegatedFrameHostAndroid::UpdateContainerSizeinDIP(
UpdateBackgroundLayer();
}
-void DelegatedFrameHostAndroid::RegisterFrameSinkHierarchy(
- const cc::FrameSinkId& parent_id) {
- if (registered_parent_frame_sink_id_.is_valid())
- UnregisterFrameSinkHierarchy();
- registered_parent_frame_sink_id_ = parent_id;
+void DelegatedFrameHostAndroid::AttachToCompositor(
+ WindowAndroidCompositor* compositor) {
+ if (registered_parent_compositor_)
+ DetachFromCompositor();
surface_manager_->RegisterSurfaceFactoryClient(frame_sink_id_, this);
- surface_manager_->RegisterFrameSinkHierarchy(parent_id, frame_sink_id_);
+ compositor->AddChildFrameSink(frame_sink_id_);
+ registered_parent_compositor_ = compositor;
}
-void DelegatedFrameHostAndroid::UnregisterFrameSinkHierarchy() {
- if (!registered_parent_frame_sink_id_.is_valid())
+void DelegatedFrameHostAndroid::DetachFromCompositor() {
+ if (!registered_parent_compositor_)
return;
surface_manager_->UnregisterSurfaceFactoryClient(frame_sink_id_);
- surface_manager_->UnregisterFrameSinkHierarchy(
- registered_parent_frame_sink_id_, frame_sink_id_);
- registered_parent_frame_sink_id_ = cc::FrameSinkId();
+ registered_parent_compositor_->RemoveChildFrameSink(frame_sink_id_);
+ registered_parent_compositor_ = nullptr;
}
void DelegatedFrameHostAndroid::ReturnResources(
« no previous file with comments | « ui/android/delegated_frame_host_android.h ('k') | ui/android/window_android_compositor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698