summaryrefslogtreecommitdiff
path: root/chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc')
-rw-r--r--chromium/ui/ozone/platform/scenic/scenic_gpu_host.cc14
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));