Index: content/common/gpu/gpu_channel_test_common.h |
diff --git a/content/common/gpu/gpu_channel_test_common.h b/content/common/gpu/gpu_channel_test_common.h |
index 406f8d9bfdb80d6485dbac9c69a25610dcef5ad7..4db58f123c8d4451fd1599777193b7afb10aed8c 100644 |
--- a/content/common/gpu/gpu_channel_test_common.h |
+++ b/content/common/gpu/gpu_channel_test_common.h |
@@ -7,6 +7,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "content/common/gpu/gpu_channel.h" |
#include "content/common/gpu/gpu_channel_manager.h" |
+#include "content/common/gpu/gpu_channel_manager_delegate.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace base { |
@@ -21,18 +22,46 @@ namespace content { |
class SyncPointManager; |
+class TestGpuChannelManagerDelegate : public GpuChannelManagerDelegate { |
+ public: |
+ TestGpuChannelManagerDelegate(); |
+ ~TestGpuChannelManagerDelegate() override; |
+ |
+ const IPC::ChannelHandle& last_established_channel_handle() const { |
+ return last_established_channel_handle_; |
+ } |
+ |
+ private: |
+ // GpuChannelManagerDelegate implementation: |
+ void AddSubscription(int32_t client_id, unsigned int target) override; |
+ void ChannelEstablished(const IPC::ChannelHandle& channel_handle) override; |
+ void DidCreateOffscreenContext(const GURL& active_url) override; |
+ void DidDestroyChannel(int client_id) override; |
+ void DidDestroyOffscreenContext(const GURL& active_url) override; |
+ void DidLoseContext(bool offscreen, |
+ gpu::error::ContextLostReason reason, |
+ const GURL& active_url) override; |
+ void GpuMemoryUmaStats(const GPUMemoryUmaStats& params) override; |
+ void RemoveSubscription(int32_t client_id, unsigned int target) override; |
+ void StoreShaderToDisk(int32_t client_id, |
+ const std::string& key, |
+ const std::string& shader) override; |
+ |
+ IPC::ChannelHandle last_established_channel_handle_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TestGpuChannelManagerDelegate); |
+}; |
+ |
class TestGpuChannelManager : public GpuChannelManager { |
public: |
TestGpuChannelManager(IPC::TestSink* sink, |
+ GpuChannelManagerDelegate* delegate, |
base::SingleThreadTaskRunner* task_runner, |
base::SingleThreadTaskRunner* io_task_runner, |
gpu::SyncPointManager* sync_point_manager, |
GpuMemoryBufferFactory* gpu_memory_buffer_factory); |
~TestGpuChannelManager() override; |
- // IPC::Sender implementation. |
- bool Send(IPC::Message* msg) override; |
- |
protected: |
scoped_ptr<GpuChannel> CreateGpuChannel( |
int client_id, |
@@ -40,8 +69,6 @@ class TestGpuChannelManager : public GpuChannelManager { |
bool preempts, |
bool allow_view_command_buffers, |
bool allow_real_time_streams) override; |
- |
- private: |
IPC::TestSink* const sink_; |
}; |
@@ -80,6 +107,9 @@ class GpuChannelTestCommon : public testing::Test { |
protected: |
IPC::TestSink* sink() { return sink_.get(); } |
GpuChannelManager* channel_manager() { return channel_manager_.get(); } |
+ TestGpuChannelManagerDelegate* channel_manager_delegate() { |
+ return channel_manager_delegate_.get(); |
+ } |
base::TestSimpleTaskRunner* task_runner() { return task_runner_.get(); } |
private: |
@@ -87,6 +117,7 @@ class GpuChannelTestCommon : public testing::Test { |
scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
scoped_refptr<base::TestSimpleTaskRunner> io_task_runner_; |
scoped_ptr<gpu::SyncPointManager> sync_point_manager_; |
+ scoped_ptr<TestGpuChannelManagerDelegate> channel_manager_delegate_; |
scoped_ptr<GpuChannelManager> channel_manager_; |
}; |