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

Side by Side Diff: content/browser/gpu/gpu_process_host.cc

Issue 8772031: Add a JS API for detecting WebGL availability. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « content/browser/gpu/gpu_process_host.h ('k') | content/browser/gpu/gpu_process_host_ui_shim.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/gpu/gpu_process_host.h" 5 #include "content/browser/gpu/gpu_process_host.h"
6 6
7 #include "base/base_switches.h" 7 #include "base/base_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 366
367 return BrowserChildProcessHost::Send(msg); 367 return BrowserChildProcessHost::Send(msg);
368 } 368 }
369 369
370 bool GpuProcessHost::OnMessageReceived(const IPC::Message& message) { 370 bool GpuProcessHost::OnMessageReceived(const IPC::Message& message) {
371 DCHECK(CalledOnValidThread()); 371 DCHECK(CalledOnValidThread());
372 IPC_BEGIN_MESSAGE_MAP(GpuProcessHost, message) 372 IPC_BEGIN_MESSAGE_MAP(GpuProcessHost, message)
373 IPC_MESSAGE_HANDLER(GpuHostMsg_ChannelEstablished, OnChannelEstablished) 373 IPC_MESSAGE_HANDLER(GpuHostMsg_ChannelEstablished, OnChannelEstablished)
374 IPC_MESSAGE_HANDLER(GpuHostMsg_CommandBufferCreated, OnCommandBufferCreated) 374 IPC_MESSAGE_HANDLER(GpuHostMsg_CommandBufferCreated, OnCommandBufferCreated)
375 IPC_MESSAGE_HANDLER(GpuHostMsg_DestroyCommandBuffer, OnDestroyCommandBuffer) 375 IPC_MESSAGE_HANDLER(GpuHostMsg_DestroyCommandBuffer, OnDestroyCommandBuffer)
376 IPC_MESSAGE_HANDLER(GpuHostMsg_GraphicsInfoCollected,
377 OnGraphicsInfoCollected)
378 IPC_MESSAGE_UNHANDLED(RouteOnUIThread(message)) 376 IPC_MESSAGE_UNHANDLED(RouteOnUIThread(message))
379 IPC_END_MESSAGE_MAP() 377 IPC_END_MESSAGE_MAP()
380 378
381 return true; 379 return true;
382 } 380 }
383 381
384 void GpuProcessHost::OnChannelConnected(int32 peer_pid) { 382 void GpuProcessHost::OnChannelConnected(int32 peer_pid) {
385 BrowserChildProcessHost::OnChannelConnected(peer_pid); 383 BrowserChildProcessHost::OnChannelConnected(peer_pid);
386 while (!queued_messages_.empty()) { 384 while (!queued_messages_.empty()) {
387 Send(queued_messages_.front()); 385 Send(queued_messages_.front());
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 gfx::PluginWindowHandle window, int32 renderer_id, 493 gfx::PluginWindowHandle window, int32 renderer_id,
496 int32 render_view_id) { 494 int32 render_view_id) {
497 #if defined(TOOLKIT_USES_GTK) 495 #if defined(TOOLKIT_USES_GTK)
498 ViewID view_id(renderer_id, render_view_id); 496 ViewID view_id(renderer_id, render_view_id);
499 SurfaceRefMap::iterator it = surface_refs_.find(view_id); 497 SurfaceRefMap::iterator it = surface_refs_.find(view_id);
500 if (it != surface_refs_.end()) 498 if (it != surface_refs_.end())
501 surface_refs_.erase(it); 499 surface_refs_.erase(it);
502 #endif // defined(TOOLKIT_USES_GTK) 500 #endif // defined(TOOLKIT_USES_GTK)
503 } 501 }
504 502
505 void GpuProcessHost::OnGraphicsInfoCollected(const content::GPUInfo& gpu_info) {
506 // OnGraphicsInfoCollected is sent back after the GPU process successfully
507 // initializes GL.
508 TRACE_EVENT0("test_gpu", "OnGraphicsInfoCollected");
509
510 GpuDataManager::GetInstance()->UpdateGpuInfo(gpu_info);
511 }
512
513 void GpuProcessHost::OnProcessLaunched() { 503 void GpuProcessHost::OnProcessLaunched() {
514 // Send the GPU process handle to the UI thread before it has to 504 // Send the GPU process handle to the UI thread before it has to
515 // respond to any requests to establish a GPU channel. The response 505 // respond to any requests to establish a GPU channel. The response
516 // to such requests require that the GPU process handle be known. 506 // to such requests require that the GPU process handle be known.
517 507
518 base::ProcessHandle child_handle = in_process_ ? 508 base::ProcessHandle child_handle = in_process_ ?
519 base::GetCurrentProcessHandle() : handle(); 509 base::GetCurrentProcessHandle() : handle();
520 510
521 #if defined(OS_WIN) 511 #if defined(OS_WIN)
522 DuplicateHandle(base::GetCurrentProcessHandle(), 512 DuplicateHandle(base::GetCurrentProcessHandle(),
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 scoped_ptr<EstablishChannelCallback> wrapped_callback(callback); 633 scoped_ptr<EstablishChannelCallback> wrapped_callback(callback);
644 wrapped_callback->Run(channel_handle, renderer_process_for_gpu, gpu_info); 634 wrapped_callback->Run(channel_handle, renderer_process_for_gpu, gpu_info);
645 } 635 }
646 636
647 void GpuProcessHost::CreateCommandBufferError( 637 void GpuProcessHost::CreateCommandBufferError(
648 CreateCommandBufferCallback* callback, int32 route_id) { 638 CreateCommandBufferCallback* callback, int32 route_id) {
649 scoped_ptr<GpuProcessHost::CreateCommandBufferCallback> 639 scoped_ptr<GpuProcessHost::CreateCommandBufferCallback>
650 wrapped_callback(callback); 640 wrapped_callback(callback);
651 callback->Run(route_id); 641 callback->Run(route_id);
652 } 642 }
OLDNEW
« no previous file with comments | « content/browser/gpu/gpu_process_host.h ('k') | content/browser/gpu/gpu_process_host_ui_shim.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698