| 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 |