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

Unified Diff: chrome/browser/renderer_host/gpu_message_filter.cc

Issue 6532073: Move core pieces of browser\renderer_host to src\content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/renderer_host/gpu_message_filter.cc
===================================================================
--- chrome/browser/renderer_host/gpu_message_filter.cc (revision 75488)
+++ chrome/browser/renderer_host/gpu_message_filter.cc (working copy)
@@ -1,151 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/renderer_host/gpu_message_filter.h"
-
-#include "base/callback.h"
-#include "chrome/browser/gpu_process_host_ui_shim.h"
-#include "chrome/common/gpu_create_command_buffer_config.h"
-#include "chrome/common/gpu_messages.h"
-#include "chrome/common/render_messages.h"
-
-GpuMessageFilter::GpuMessageFilter(int render_process_id)
- : render_process_id_(render_process_id) {
-}
-
-// WeakPtrs to a GpuMessageFilter need to be Invalidated from
-// the same thread from which they were created.
-GpuMessageFilter::~GpuMessageFilter() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-}
-
-void GpuMessageFilter::OverrideThreadForMessage(
- const IPC::Message& message,
- BrowserThread::ID* thread) {
- if (IPC_MESSAGE_CLASS(message) == GpuMsgStart)
- *thread = BrowserThread::UI;
-}
-
-bool GpuMessageFilter::OnMessageReceived(
- const IPC::Message& message,
- bool* message_was_ok) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP_EX(GpuMessageFilter, message, *message_was_ok)
- IPC_MESSAGE_HANDLER(GpuHostMsg_EstablishGpuChannel,
- OnEstablishGpuChannel)
- IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuHostMsg_SynchronizeGpu,
- OnSynchronizeGpu)
- IPC_MESSAGE_HANDLER_DELAY_REPLY(GpuHostMsg_CreateViewCommandBuffer,
- OnCreateViewCommandBuffer)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP_EX()
- return handled;
-}
-
-void GpuMessageFilter::OnDestruct() const {
- BrowserThread::DeleteOnUIThread::Destruct(this);
-}
-
-// Callbacks used in this file.
-namespace {
-
-class EstablishChannelCallback
- : public CallbackRunner<Tuple2<const IPC::ChannelHandle&,
- const GPUInfo&> > {
- public:
- explicit EstablishChannelCallback(GpuMessageFilter* filter):
- filter_(filter->AsWeakPtr()) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- }
-
- virtual void RunWithParams(const TupleType& params) {
- DispatchToMethod(this, &EstablishChannelCallback::Send, params);
- }
-
- void Send(const IPC::ChannelHandle& channel,
- const GPUInfo& gpu_info) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- ViewMsg_GpuChannelEstablished* reply =
- new ViewMsg_GpuChannelEstablished(channel, gpu_info);
- // If the renderer process is performing synchronous initialization,
- // it needs to handle this message before receiving the reply for
- // the synchronous GpuHostMsg_SynchronizeGpu message.
- reply->set_unblock(true);
-
- if (filter_)
- filter_->Send(reply);
- }
-
- private:
- base::WeakPtr<GpuMessageFilter> filter_;
-};
-
-class SynchronizeCallback : public CallbackRunner<Tuple0> {
- public:
- SynchronizeCallback(GpuMessageFilter* filter, IPC::Message* reply):
- filter_(filter->AsWeakPtr()),
- reply_(reply) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- }
-
- virtual void RunWithParams(const TupleType& params) {
- DispatchToMethod(this, &SynchronizeCallback::Send, params);
- }
-
- void Send() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (filter_)
- filter_->Send(reply_);
- }
-
- private:
- base::WeakPtr<GpuMessageFilter> filter_;
- IPC::Message* reply_;
-};
-
-class CreateCommandBufferCallback : public CallbackRunner<Tuple1<int32> > {
- public:
- CreateCommandBufferCallback(GpuMessageFilter* filter,
- IPC::Message* reply) :
- filter_(filter->AsWeakPtr()),
- reply_(reply) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- }
-
- virtual void RunWithParams(const TupleType& params) {
- DispatchToMethod(this, &CreateCommandBufferCallback::Send, params);
- }
-
- void Send(int32 route_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- GpuHostMsg_CreateViewCommandBuffer::WriteReplyParams(reply_, route_id);
- if (filter_)
- filter_->Send(reply_);
- }
-
- private:
- base::WeakPtr<GpuMessageFilter> filter_;
- IPC::Message* reply_;
-};
-
-} // namespace
-
-void GpuMessageFilter::OnEstablishGpuChannel() {
- GpuProcessHostUIShim::GetInstance()->EstablishGpuChannel(
- render_process_id_, new EstablishChannelCallback(this));
-}
-
-void GpuMessageFilter::OnSynchronizeGpu(IPC::Message* reply) {
- GpuProcessHostUIShim::GetInstance()->
- Synchronize(new SynchronizeCallback(this, reply));
-}
-
-void GpuMessageFilter::OnCreateViewCommandBuffer(
- int32 render_view_id,
- const GPUCreateCommandBufferConfig& init_params,
- IPC::Message* reply) {
- GpuProcessHostUIShim::GetInstance()->CreateViewCommandBuffer(
- render_view_id, render_process_id_, init_params,
- new CreateCommandBufferCallback(this, reply));
-}

Powered by Google App Engine
This is Rietveld 408576698