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

Side by Side Diff: content/gpu/gpu_child_thread.cc

Issue 2723363002: gpu: Replace GpuMsg_Finalize ipc with equivalent mojom api (Closed)
Patch Set: . Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « content/gpu/gpu_child_thread.h ('k') | content/public/browser/gpu_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/gpu/gpu_child_thread.h" 5 #include "content/gpu/gpu_child_thread.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 // The GPU process must never send a synchronous IPC message to the browser 239 // The GPU process must never send a synchronous IPC message to the browser
240 // process. This could result in deadlock. 240 // process. This could result in deadlock.
241 DCHECK(!msg->is_sync()); 241 DCHECK(!msg->is_sync());
242 242
243 return ChildThreadImpl::Send(msg); 243 return ChildThreadImpl::Send(msg);
244 } 244 }
245 245
246 bool GpuChildThread::OnControlMessageReceived(const IPC::Message& msg) { 246 bool GpuChildThread::OnControlMessageReceived(const IPC::Message& msg) {
247 bool handled = true; 247 bool handled = true;
248 IPC_BEGIN_MESSAGE_MAP(GpuChildThread, msg) 248 IPC_BEGIN_MESSAGE_MAP(GpuChildThread, msg)
249 IPC_MESSAGE_HANDLER(GpuMsg_Finalize, OnFinalize)
250 IPC_MESSAGE_HANDLER(GpuMsg_CollectGraphicsInfo, OnCollectGraphicsInfo) 249 IPC_MESSAGE_HANDLER(GpuMsg_CollectGraphicsInfo, OnCollectGraphicsInfo)
251 IPC_MESSAGE_HANDLER(GpuMsg_GpuSwitched, OnGpuSwitched) 250 IPC_MESSAGE_HANDLER(GpuMsg_GpuSwitched, OnGpuSwitched)
252 IPC_MESSAGE_UNHANDLED(handled = false) 251 IPC_MESSAGE_UNHANDLED(handled = false)
253 IPC_END_MESSAGE_MAP() 252 IPC_END_MESSAGE_MAP()
254 253
255 return handled; 254 return handled;
256 } 255 }
257 256
258 bool GpuChildThread::OnMessageReceived(const IPC::Message& msg) { 257 bool GpuChildThread::OnMessageReceived(const IPC::Message& msg) {
259 if (ChildThreadImpl::OnMessageReceived(msg)) 258 if (ChildThreadImpl::OnMessageReceived(msg))
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 339
341 GetInterfaceRegistry()->ResumeBinding(); 340 GetInterfaceRegistry()->ResumeBinding();
342 } 341 }
343 342
344 void GpuChildThread::CreateDisplayCompositor( 343 void GpuChildThread::CreateDisplayCompositor(
345 cc::mojom::DisplayCompositorRequest request, 344 cc::mojom::DisplayCompositorRequest request,
346 cc::mojom::DisplayCompositorClientPtr client) { 345 cc::mojom::DisplayCompositorClientPtr client) {
347 NOTREACHED(); 346 NOTREACHED();
348 } 347 }
349 348
350 void GpuChildThread::OnFinalize() {
351 // Quit the GPU process
352 base::MessageLoop::current()->QuitWhenIdle();
353 }
354
355 void GpuChildThread::OnCollectGraphicsInfo() { 349 void GpuChildThread::OnCollectGraphicsInfo() {
356 if (dead_on_arrival_) 350 if (dead_on_arrival_)
357 return; 351 return;
358 352
359 #if defined(OS_MACOSX) 353 #if defined(OS_MACOSX)
360 // gpu::CollectContextGraphicsInfo() is already called during gpu process 354 // gpu::CollectContextGraphicsInfo() is already called during gpu process
361 // initialization (see GpuInit::InitializeAndStartSandbox()) on non-mac 355 // initialization (see GpuInit::InitializeAndStartSandbox()) on non-mac
362 // platforms, and during in-browser gpu thread initialization on all platforms 356 // platforms, and during in-browser gpu thread initialization on all platforms
363 // (See InProcessGpuThread::Init()). 357 // (See InProcessGpuThread::Init()).
364 if (!in_browser_process_) { 358 if (!in_browser_process_) {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 417
424 void GpuChildThread::BindServiceFactoryRequest( 418 void GpuChildThread::BindServiceFactoryRequest(
425 service_manager::mojom::ServiceFactoryRequest request) { 419 service_manager::mojom::ServiceFactoryRequest request) {
426 DVLOG(1) << "GPU: Binding service_manager::mojom::ServiceFactoryRequest"; 420 DVLOG(1) << "GPU: Binding service_manager::mojom::ServiceFactoryRequest";
427 DCHECK(service_factory_); 421 DCHECK(service_factory_);
428 service_factory_bindings_.AddBinding(service_factory_.get(), 422 service_factory_bindings_.AddBinding(service_factory_.get(),
429 std::move(request)); 423 std::move(request));
430 } 424 }
431 425
432 } // namespace content 426 } // namespace content
OLDNEW
« no previous file with comments | « content/gpu/gpu_child_thread.h ('k') | content/public/browser/gpu_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698