summaryrefslogtreecommitdiffstats
path: root/chrome/gpu/gpu_channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/gpu/gpu_channel.h')
-rw-r--r--chrome/gpu/gpu_channel.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/chrome/gpu/gpu_channel.h b/chrome/gpu/gpu_channel.h
deleted file mode 100644
index 2512104..0000000
--- a/chrome/gpu/gpu_channel.h
+++ /dev/null
@@ -1,127 +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.
-
-#ifndef CHROME_GPU_GPU_CHANNEL_H_
-#define CHROME_GPU_GPU_CHANNEL_H_
-#pragma once
-
-#include <set>
-#include <string>
-#include <vector>
-
-#include "base/id_map.h"
-#include "base/process.h"
-#include "base/scoped_ptr.h"
-#include "build/build_config.h"
-#include "chrome/gpu/gpu_command_buffer_stub.h"
-#include "content/common/message_router.h"
-#include "ipc/ipc_sync_channel.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/gfx/size.h"
-
-class GpuThread;
-struct GPUCreateCommandBufferConfig;
-
-// Encapsulates an IPC channel between the GPU process and one renderer
-// process. On the renderer side there's a corresponding GpuChannelHost.
-class GpuChannel : public IPC::Channel::Listener,
- public IPC::Message::Sender,
- public base::RefCountedThreadSafe<GpuChannel> {
- public:
- // Takes ownership of the renderer process handle.
- GpuChannel(GpuThread* gpu_thread,
- int renderer_id);
- virtual ~GpuChannel();
-
- bool Init();
-
- // Get the GpuThread that owns this channel.
- GpuThread* gpu_thread() const { return gpu_thread_; }
-
- // Returns the name of the associated IPC channel.
- std::string GetChannelName();
-
-#if defined(OS_POSIX)
- int GetRendererFileDescriptor();
-#endif // defined(OS_POSIX)
-
- base::ProcessHandle renderer_process() const {
- return renderer_process_;
- }
-
- // IPC::Channel::Listener implementation:
- virtual bool OnMessageReceived(const IPC::Message& msg);
- virtual void OnChannelError();
- virtual void OnChannelConnected(int32 peer_pid);
-
- // IPC::Message::Sender implementation:
- virtual bool Send(IPC::Message* msg);
-
- void CreateViewCommandBuffer(
- gfx::PluginWindowHandle window,
- int32 render_view_id,
- const GPUCreateCommandBufferConfig& init_params,
- int32* route_id);
-
-#if defined(OS_MACOSX)
- virtual void AcceleratedSurfaceBuffersSwapped(
- int32 route_id, uint64 swap_buffers_count);
- void DidDestroySurface(int32 renderer_route_id);
-
- bool IsRenderViewGone(int32 renderer_route_id);
-#endif
-
- private:
- bool OnControlMessageReceived(const IPC::Message& msg);
-
- int GenerateRouteID();
-
- // Message handlers.
- void OnInitialize(base::ProcessHandle renderer_process);
- void OnCreateOffscreenCommandBuffer(
- int32 parent_route_id,
- const gfx::Size& size,
- const GPUCreateCommandBufferConfig& init_params,
- uint32 parent_texture_id,
- int32* route_id);
- void OnDestroyCommandBuffer(int32 route_id);
-
- void OnCreateVideoDecoder(int32 context_route_id,
- int32 decoder_host_id);
- void OnDestroyVideoDecoder(int32 decoder_id);
-
- // The lifetime of objects of this class is managed by a GpuThread. The
- // GpuThreadss destroy all the GpuChannels that they own when they
- // are destroyed. So a raw pointer is safe.
- GpuThread* gpu_thread_;
-
- scoped_ptr<IPC::SyncChannel> channel_;
-
- // The id of the renderer who is on the other side of the channel.
- int renderer_id_;
-
- // Handle to the renderer process that is on the other side of the channel.
- base::ProcessHandle renderer_process_;
-
- // The process id of the renderer process.
- base::ProcessId renderer_pid_;
-
- // Used to implement message routing functionality to CommandBuffer objects
- MessageRouter router_;
-
-#if defined(ENABLE_GPU)
- typedef IDMap<GpuCommandBufferStub, IDMapOwnPointer> StubMap;
- StubMap stubs_;
-
-#if defined(OS_MACOSX)
- std::set<int32> destroyed_renderer_routes_;
-#endif // defined (OS_MACOSX)
-#endif // defined (ENABLE_GPU)
-
- bool log_messages_; // True if we should log sent and received messages.
-
- DISALLOW_COPY_AND_ASSIGN(GpuChannel);
-};
-
-#endif // CHROME_GPU_GPU_CHANNEL_H_