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

Side by Side Diff: chrome/browser/gpu_process_host.cc

Issue 4142004: Let every "accelerated IO surface swapped" message have an identifier of the surface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 10 years, 1 month 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/gpu_process_host.h" 5 #include "chrome/browser/gpu_process_host.h"
6 6
7 #include "app/app_switches.h" 7 #include "app/app_switches.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/thread.h" 9 #include "base/thread.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 BrowserThread::PostTask( 301 BrowserThread::PostTask(
302 BrowserThread::UI, FROM_HERE, 302 BrowserThread::UI, FROM_HERE,
303 new SetIOSurfaceDispatcher(params)); 303 new SetIOSurfaceDispatcher(params));
304 } 304 }
305 305
306 namespace { 306 namespace {
307 307
308 class BuffersSwappedDispatcher : public Task { 308 class BuffersSwappedDispatcher : public Task {
309 public: 309 public:
310 BuffersSwappedDispatcher( 310 BuffersSwappedDispatcher(
311 int32 renderer_id, int32 render_view_id, gfx::PluginWindowHandle window) 311 int32 renderer_id,
312 int32 render_view_id,
313 gfx::PluginWindowHandle window,
314 uint64 surface_id)
312 : renderer_id_(renderer_id), 315 : renderer_id_(renderer_id),
313 render_view_id_(render_view_id), 316 render_view_id_(render_view_id),
314 window_(window) { 317 window_(window),
318 surface_id_(surface_id) {
315 } 319 }
316 320
317 void Run() { 321 void Run() {
318 RenderViewHost* host = RenderViewHost::FromID(renderer_id_, 322 RenderViewHost* host = RenderViewHost::FromID(renderer_id_,
319 render_view_id_); 323 render_view_id_);
320 if (!host) 324 if (!host)
321 return; 325 return;
322 RenderWidgetHostView* view = host->view(); 326 RenderWidgetHostView* view = host->view();
323 if (!view) 327 if (!view)
324 return; 328 return;
325 view->AcceleratedSurfaceBuffersSwapped(window_); 329 view->AcceleratedSurfaceBuffersSwapped(window_, surface_id_);
326 } 330 }
327 331
328 private: 332 private:
329 int32 renderer_id_; 333 int32 renderer_id_;
330 int32 render_view_id_; 334 int32 render_view_id_;
331 gfx::PluginWindowHandle window_; 335 gfx::PluginWindowHandle window_;
336 uint64 surface_id_;
332 337
333 DISALLOW_COPY_AND_ASSIGN(BuffersSwappedDispatcher); 338 DISALLOW_COPY_AND_ASSIGN(BuffersSwappedDispatcher);
334 }; 339 };
335 340
336 } // namespace 341 } // namespace
337 342
338 void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped( 343 void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped(
339 int32 renderer_id, 344 int32 renderer_id,
340 int32 render_view_id, 345 int32 render_view_id,
341 gfx::PluginWindowHandle window) { 346 gfx::PluginWindowHandle window,
347 uint64 surface_id) {
342 BrowserThread::PostTask( 348 BrowserThread::PostTask(
343 BrowserThread::UI, FROM_HERE, 349 BrowserThread::UI, FROM_HERE,
344 new BuffersSwappedDispatcher(renderer_id, render_view_id, window)); 350 new BuffersSwappedDispatcher(
351 renderer_id, render_view_id, window, surface_id));
345 } 352 }
346 #endif 353 #endif
347 354
348 void GpuProcessHost::ReplyToRenderer( 355 void GpuProcessHost::ReplyToRenderer(
349 const IPC::ChannelHandle& channel, 356 const IPC::ChannelHandle& channel,
350 const GPUInfo& gpu_info, 357 const GPUInfo& gpu_info,
351 ResourceMessageFilter* filter) { 358 ResourceMessageFilter* filter) {
352 ViewMsg_GpuChannelEstablished* message = 359 ViewMsg_GpuChannelEstablished* message =
353 new ViewMsg_GpuChannelEstablished(channel, gpu_info); 360 new ViewMsg_GpuChannelEstablished(channel, gpu_info);
354 // If the renderer process is performing synchronous initialization, 361 // If the renderer process is performing synchronous initialization,
355 // it needs to handle this message before receiving the reply for 362 // it needs to handle this message before receiving the reply for
356 // the synchronous ViewHostMsg_SynchronizeGpu message. 363 // the synchronous ViewHostMsg_SynchronizeGpu message.
357 message->set_unblock(true); 364 message->set_unblock(true);
358 filter->Send(message); 365 filter->Send(message);
359 } 366 }
360 367
361 URLRequestContext* GpuProcessHost::GetRequestContext( 368 URLRequestContext* GpuProcessHost::GetRequestContext(
362 uint32 request_id, 369 uint32 request_id,
363 const ViewHostMsg_Resource_Request& request_data) { 370 const ViewHostMsg_Resource_Request& request_data) {
364 return NULL; 371 return NULL;
365 } 372 }
366 373
367 bool GpuProcessHost::CanShutdown() { 374 bool GpuProcessHost::CanShutdown() {
368 return true; 375 return true;
369 } 376 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698