OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "blimp/client/feature/compositor/blimp_compositor.h" | 5 #include "blimp/client/feature/compositor/blimp_compositor.h" |
6 | 6 |
7 #include "base/threading/thread_task_runner_handle.h" | 7 #include "base/threading/thread_task_runner_handle.h" |
8 #include "blimp/client/feature/compositor/blimp_gpu_memory_buffer_manager.h" | 8 #include "blimp/client/feature/compositor/blimp_gpu_memory_buffer_manager.h" |
9 #include "blimp/client/feature/compositor/client_image_serialization_processor.h
" | 9 #include "blimp/client/feature/compositor/blob_image_serialization_processor.h" |
10 #include "blimp/common/compositor/blimp_task_graph_runner.h" | 10 #include "blimp/common/compositor/blimp_task_graph_runner.h" |
11 #include "cc/proto/compositor_message.pb.h" | 11 #include "cc/proto/compositor_message.pb.h" |
12 #include "testing/gmock/include/gmock/gmock.h" | 12 #include "testing/gmock/include/gmock/gmock.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 using testing::_; | 15 using testing::_; |
16 | 16 |
17 namespace blimp { | 17 namespace blimp { |
18 namespace client { | 18 namespace client { |
19 | 19 |
20 class MockBlimpCompositorClient : public BlimpCompositorClient { | 20 class MockBlimpCompositorClient : public BlimpCompositorClient { |
21 public: | 21 public: |
22 MockBlimpCompositorClient() : compositor_thread_("Compositor") { | 22 MockBlimpCompositorClient() : compositor_thread_("Compositor") { |
23 compositor_thread_.Start(); | 23 compositor_thread_.Start(); |
24 } | 24 } |
25 ~MockBlimpCompositorClient() override { compositor_thread_.Stop(); } | 25 ~MockBlimpCompositorClient() override { compositor_thread_.Stop(); } |
26 | 26 |
27 cc::LayerTreeSettings* GetLayerTreeSettings() override { return &settings_; } | 27 cc::LayerTreeSettings* GetLayerTreeSettings() override { return &settings_; } |
28 scoped_refptr<base::SingleThreadTaskRunner> GetCompositorTaskRunner() override | 28 scoped_refptr<base::SingleThreadTaskRunner> GetCompositorTaskRunner() override |
29 { return compositor_thread_.task_runner(); } | 29 { return compositor_thread_.task_runner(); } |
30 cc::TaskGraphRunner* GetTaskGraphRunner() override { | 30 cc::TaskGraphRunner* GetTaskGraphRunner() override { |
31 return &task_graph_runner_; } | 31 return &task_graph_runner_; } |
32 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override { | 32 gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override { |
33 return &gpu_memory_buffer_manager_; | 33 return &gpu_memory_buffer_manager_; |
34 } | 34 } |
35 cc::ImageSerializationProcessor* GetImageSerializationProcessor() override { | 35 cc::ImageSerializationProcessor* GetImageSerializationProcessor() override { |
36 return &image_serialization_processor_; | 36 return BlobImageSerializationProcessor::current(); |
37 } | 37 } |
38 void DidCompleteSwapBuffers() override {} | 38 void DidCompleteSwapBuffers() override {} |
39 void DidCommitAndDrawFrame() override {} | 39 void DidCommitAndDrawFrame() override {} |
40 | 40 |
41 void SendWebGestureEvent( | 41 void SendWebGestureEvent( |
42 int render_widget_id, | 42 int render_widget_id, |
43 const blink::WebGestureEvent& gesture_event) override { | 43 const blink::WebGestureEvent& gesture_event) override { |
44 MockableSendWebGestureEvent(render_widget_id); | 44 MockableSendWebGestureEvent(render_widget_id); |
45 } | 45 } |
46 void SendCompositorMessage( | 46 void SendCompositorMessage( |
47 int render_widget_id, | 47 int render_widget_id, |
48 const cc::proto::CompositorMessage& message) override { | 48 const cc::proto::CompositorMessage& message) override { |
49 MockableSendCompositorMessage(render_widget_id); | 49 MockableSendCompositorMessage(render_widget_id); |
50 } | 50 } |
51 | 51 |
52 MOCK_METHOD1(MockableSendWebGestureEvent, void(int)); | 52 MOCK_METHOD1(MockableSendWebGestureEvent, void(int)); |
53 MOCK_METHOD1(MockableSendCompositorMessage, void(int)); | 53 MOCK_METHOD1(MockableSendCompositorMessage, void(int)); |
54 | 54 |
55 cc::LayerTreeSettings settings_; | 55 cc::LayerTreeSettings settings_; |
56 base::Thread compositor_thread_; | 56 base::Thread compositor_thread_; |
57 BlimpTaskGraphRunner task_graph_runner_; | 57 BlimpTaskGraphRunner task_graph_runner_; |
58 BlimpGpuMemoryBufferManager gpu_memory_buffer_manager_; | 58 BlimpGpuMemoryBufferManager gpu_memory_buffer_manager_; |
59 ClientImageSerializationProcessor image_serialization_processor_; | 59 BlobImageSerializationProcessor serialization_processor_; |
| 60 |
| 61 private: |
| 62 DISALLOW_COPY_AND_ASSIGN(MockBlimpCompositorClient); |
60 }; | 63 }; |
61 | 64 |
62 class BlimpCompositorForTesting : public BlimpCompositor { | 65 class BlimpCompositorForTesting : public BlimpCompositor { |
63 public: | 66 public: |
64 BlimpCompositorForTesting(int render_widget_id, | 67 BlimpCompositorForTesting(int render_widget_id, |
65 BlimpCompositorClient* client) | 68 BlimpCompositorClient* client) |
66 : BlimpCompositor(render_widget_id, client) {} | 69 : BlimpCompositor(render_widget_id, client) {} |
67 | 70 |
68 void SendProto(const cc::proto::CompositorMessage& proto) { | 71 void SendProto(const cc::proto::CompositorMessage& proto) { |
69 SendCompositorProto(proto); | 72 SendCompositorProto(proto); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 MockableSendCompositorMessage(render_widget_id_)).Times(1); | 172 MockableSendCompositorMessage(render_widget_id_)).Times(1); |
170 EXPECT_CALL(compositor_client_, | 173 EXPECT_CALL(compositor_client_, |
171 MockableSendWebGestureEvent(render_widget_id_)).Times(1); | 174 MockableSendWebGestureEvent(render_widget_id_)).Times(1); |
172 | 175 |
173 compositor_->SendProto(cc::proto::CompositorMessage()); | 176 compositor_->SendProto(cc::proto::CompositorMessage()); |
174 compositor_->SendGestureEvent(blink::WebGestureEvent()); | 177 compositor_->SendGestureEvent(blink::WebGestureEvent()); |
175 } | 178 } |
176 | 179 |
177 } // namespace client | 180 } // namespace client |
178 } // namespace blimp | 181 } // namespace blimp |
OLD | NEW |