| Index: content/browser/gpu/gpu_process_host_ui_shim.cc
|
| diff --git a/content/browser/gpu/gpu_process_host_ui_shim.cc b/content/browser/gpu/gpu_process_host_ui_shim.cc
|
| index 276dca46cf160aeb1f9e238ae499e07d4a2dece2..312ca9f3178c689c5aa07b51533942ad6c474058 100644
|
| --- a/content/browser/gpu/gpu_process_host_ui_shim.cc
|
| +++ b/content/browser/gpu/gpu_process_host_ui_shim.cc
|
| @@ -4,18 +4,15 @@
|
|
|
| #include "content/browser/gpu/gpu_process_host_ui_shim.h"
|
|
|
| -#include "base/command_line.h"
|
| #include "base/id_map.h"
|
| #include "base/process_util.h"
|
| #include "base/debug/trace_event.h"
|
| -#include "chrome/browser/browser_process.h"
|
| #include "content/browser/browser_thread.h"
|
| #include "content/browser/gpu/gpu_data_manager.h"
|
| #include "content/browser/gpu/gpu_process_host.h"
|
| #include "content/browser/renderer_host/render_process_host.h"
|
| #include "content/browser/renderer_host/render_view_host.h"
|
| #include "content/browser/renderer_host/render_widget_host_view.h"
|
| -#include "content/common/content_switches.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
|
|
| #if defined(OS_LINUX)
|
| @@ -23,7 +20,6 @@
|
| #include <gdk/gdkwindow.h> // NOLINT
|
| #include <gdk/gdkx.h> // NOLINT
|
| #include "ui/base/x/x11_util.h"
|
| -#include "ui/gfx/gtk_native_view_id_manager.h"
|
| #include "ui/gfx/size.h"
|
| #endif // defined(OS_LINUX)
|
| namespace {
|
| @@ -53,41 +49,6 @@ class SendOnIOThreadTask : public Task {
|
| scoped_ptr<IPC::Message> msg_;
|
| };
|
|
|
| -class UIThreadSender : public IPC::Channel::Sender {
|
| - public:
|
| - virtual bool Send(IPC::Message* msg) {
|
| - // The GPU process must never send a synchronous IPC message to the browser
|
| - // process. This could result in deadlock. Unfortunately linux does this for
|
| - // GpuHostMsg_ResizeXID. TODO(apatrick): fix this before issuing any GL calls
|
| - // on the browser process' GPU thread.
|
| -#if !defined(OS_LINUX)
|
| - DCHECK(!msg->is_sync());
|
| -#endif
|
| -
|
| - // When the GpuChannelManager sends an IPC, post it to the UI thread without
|
| - // using IPC.
|
| - bool success = BrowserThread::PostTask(
|
| - BrowserThread::UI,
|
| - FROM_HERE,
|
| - new RouteToGpuProcessHostUIShimTask(0, *msg));
|
| -
|
| - delete msg;
|
| - return success;
|
| - }
|
| -};
|
| -
|
| -void ForwardMessageToGpuThread(GpuChannelManager* gpu_channel_manager,
|
| - IPC::Message* msg) {
|
| - bool success = gpu_channel_manager->OnMessageReceived(*msg);
|
| -
|
| - // If the message was not handled, it is likely it was intended for the
|
| - // GpuChildThread, which does not exist in single process and in process GPU
|
| - // mode.
|
| - DCHECK(success);
|
| -
|
| - delete msg;
|
| -}
|
| -
|
| } // namespace
|
|
|
| RouteToGpuProcessHostUIShimTask::RouteToGpuProcessHostUIShimTask(
|
| @@ -107,18 +68,8 @@ void RouteToGpuProcessHostUIShimTask::Run() {
|
| }
|
|
|
| GpuProcessHostUIShim::GpuProcessHostUIShim(int host_id)
|
| - : host_id_(host_id),
|
| - gpu_channel_manager_(NULL),
|
| - ui_thread_sender_(NULL) {
|
| + : host_id_(host_id) {
|
| g_hosts_by_id.AddWithID(this, host_id_);
|
| - if (host_id == 0) {
|
| - ui_thread_sender_ = new UIThreadSender;
|
| - gpu_channel_manager_ = new GpuChannelManager(
|
| - ui_thread_sender_,
|
| - NULL,
|
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO),
|
| - g_browser_process->shutdown_event());
|
| - }
|
| }
|
|
|
| // static
|
| @@ -150,24 +101,9 @@ GpuProcessHostUIShim* GpuProcessHostUIShim::FromID(int host_id) {
|
|
|
| bool GpuProcessHostUIShim::Send(IPC::Message* msg) {
|
| DCHECK(CalledOnValidThread());
|
| -
|
| - bool success;
|
| -
|
| - if (host_id_ == 0) {
|
| - success = BrowserThread::PostTask(
|
| - BrowserThread::GPU,
|
| - FROM_HERE,
|
| - NewRunnableFunction(ForwardMessageToGpuThread,
|
| - gpu_channel_manager_,
|
| - msg));
|
| - } else {
|
| - success = BrowserThread::PostTask(
|
| - BrowserThread::IO,
|
| - FROM_HERE,
|
| - new SendOnIOThreadTask(host_id_, msg));
|
| - }
|
| -
|
| - return success;
|
| + return BrowserThread::PostTask(BrowserThread::IO,
|
| + FROM_HERE,
|
| + new SendOnIOThreadTask(host_id_, msg));
|
| }
|
|
|
| bool GpuProcessHostUIShim::OnMessageReceived(const IPC::Message& message) {
|
| @@ -200,20 +136,6 @@ void GpuProcessHostUIShim::SendToGpuHost(int host_id, IPC::Message* msg) {
|
| GpuProcessHostUIShim::~GpuProcessHostUIShim() {
|
| DCHECK(CalledOnValidThread());
|
| g_hosts_by_id.Remove(host_id_);
|
| -
|
| - // Ensure these are destroyed on the GPU thread.
|
| - if (gpu_channel_manager_) {
|
| - BrowserThread::DeleteSoon(BrowserThread::GPU,
|
| - FROM_HERE,
|
| - gpu_channel_manager_);
|
| - gpu_channel_manager_ = NULL;
|
| - }
|
| - if (ui_thread_sender_) {
|
| - BrowserThread::DeleteSoon(BrowserThread::GPU,
|
| - FROM_HERE,
|
| - ui_thread_sender_);
|
| - ui_thread_sender_ = NULL;
|
| - }
|
| }
|
|
|
| bool GpuProcessHostUIShim::OnControlMessageReceived(
|
|
|