diff options
Diffstat (limited to 'chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc')
-rw-r--r-- | chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc b/chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc index afb7c6ee210..ad21783d613 100644 --- a/chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc +++ b/chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc @@ -35,7 +35,8 @@ namespace ui { ScenicGpuHost::ScenicGpuHost(ScenicWindowManager* scenic_window_manager) : scenic_window_manager_(scenic_window_manager), - binding_(this), + host_binding_(this), + gpu_binding_(this), ui_thread_runner_(base::ThreadTaskRunnerHandle::Get()), weak_ptr_factory_(this) { DETACH_FROM_THREAD(io_thread_checker_); @@ -45,6 +46,13 @@ ScenicGpuHost::~ScenicGpuHost() { DCHECK_CALLED_ON_VALID_THREAD(ui_thread_checker_); } +mojom::ScenicGpuHostPtr ScenicGpuHost::CreateHostProcessSelfBinding() { + DCHECK(!host_binding_.is_bound()); + mojom::ScenicGpuHostPtr gpu_host; + host_binding_.Bind(mojo::MakeRequest(&gpu_host)); + return gpu_host; +} + void ScenicGpuHost::ExportParent(int32_t surface_handle, mojo::ScopedHandle export_token_mojo) { DCHECK_CALLED_ON_VALID_THREAD(ui_thread_checker_); @@ -87,8 +95,8 @@ void ScenicGpuHost::OnGpuServiceLaunchedOnUI( DCHECK_CALLED_ON_VALID_THREAD(ui_thread_checker_); mojom::ScenicGpuHostPtr gpu_host; - binding_.Close(); - binding_.Bind(mojo::MakeRequest(&gpu_host)); + gpu_binding_.Close(); + gpu_binding_.Bind(mojo::MakeRequest(&gpu_host)); gpu_service_.Bind(std::move(gpu_service_ptr_info)); gpu_service_->Initialize(std::move(gpu_host)); |