OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/renderer/device_sensors/device_motion_event_pump.h" | 5 #include "content/renderer/device_sensors/device_motion_event_pump.h" |
6 | 6 |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 }; | 88 }; |
89 | 89 |
90 class DeviceMotionEventPumpTest : public testing::Test { | 90 class DeviceMotionEventPumpTest : public testing::Test { |
91 public: | 91 public: |
92 DeviceMotionEventPumpTest() = default; | 92 DeviceMotionEventPumpTest() = default; |
93 | 93 |
94 protected: | 94 protected: |
95 void SetUp() override { | 95 void SetUp() override { |
96 listener_.reset(new MockDeviceMotionListener); | 96 listener_.reset(new MockDeviceMotionListener); |
97 motion_pump_.reset(new DeviceMotionEventPumpForTesting); | 97 motion_pump_.reset(new DeviceMotionEventPumpForTesting); |
98 shared_memory_ = | 98 shared_memory_ = mojo::SharedBufferHandle::Create( |
99 mojo::SharedBufferHandle::Create(sizeof(DeviceMotionHardwareBuffer)); | 99 sizeof(device::DeviceMotionHardwareBuffer)); |
100 mapping_ = shared_memory_->Map(sizeof(DeviceMotionHardwareBuffer)); | 100 mapping_ = shared_memory_->Map(sizeof(device::DeviceMotionHardwareBuffer)); |
101 ASSERT_TRUE(mapping_); | 101 ASSERT_TRUE(mapping_); |
102 memset(buffer(), 0, sizeof(DeviceMotionHardwareBuffer)); | 102 memset(buffer(), 0, sizeof(device::DeviceMotionHardwareBuffer)); |
103 } | 103 } |
104 | 104 |
105 void InitBuffer(bool allAvailableSensorsActive) { | 105 void InitBuffer(bool allAvailableSensorsActive) { |
106 blink::WebDeviceMotionData& data = buffer()->data; | 106 blink::WebDeviceMotionData& data = buffer()->data; |
107 data.accelerationX = 1; | 107 data.accelerationX = 1; |
108 data.hasAccelerationX = true; | 108 data.hasAccelerationX = true; |
109 data.accelerationY = 2; | 109 data.accelerationY = 2; |
110 data.hasAccelerationY = true; | 110 data.hasAccelerationY = true; |
111 data.accelerationZ = 3; | 111 data.accelerationZ = 3; |
112 data.hasAccelerationZ = true; | 112 data.hasAccelerationZ = true; |
113 data.allAvailableSensorsAreActive = allAvailableSensorsActive; | 113 data.allAvailableSensorsAreActive = allAvailableSensorsActive; |
114 } | 114 } |
115 | 115 |
116 MockDeviceMotionListener* listener() { return listener_.get(); } | 116 MockDeviceMotionListener* listener() { return listener_.get(); } |
117 DeviceMotionEventPumpForTesting* motion_pump() { return motion_pump_.get(); } | 117 DeviceMotionEventPumpForTesting* motion_pump() { return motion_pump_.get(); } |
118 mojo::ScopedSharedBufferHandle handle() { | 118 mojo::ScopedSharedBufferHandle handle() { |
119 return shared_memory_->Clone( | 119 return shared_memory_->Clone( |
120 mojo::SharedBufferHandle::AccessMode::READ_ONLY); | 120 mojo::SharedBufferHandle::AccessMode::READ_ONLY); |
121 } | 121 } |
122 DeviceMotionHardwareBuffer* buffer() { | 122 device::DeviceMotionHardwareBuffer* buffer() { |
123 return reinterpret_cast<DeviceMotionHardwareBuffer*>(mapping_.get()); | 123 return reinterpret_cast<device::DeviceMotionHardwareBuffer*>( |
| 124 mapping_.get()); |
124 } | 125 } |
125 | 126 |
126 private: | 127 private: |
127 base::MessageLoop loop_; | 128 base::MessageLoop loop_; |
128 std::unique_ptr<MockDeviceMotionListener> listener_; | 129 std::unique_ptr<MockDeviceMotionListener> listener_; |
129 std::unique_ptr<DeviceMotionEventPumpForTesting> motion_pump_; | 130 std::unique_ptr<DeviceMotionEventPumpForTesting> motion_pump_; |
130 mojo::ScopedSharedBufferHandle shared_memory_; | 131 mojo::ScopedSharedBufferHandle shared_memory_; |
131 mojo::ScopedSharedBufferMapping mapping_; | 132 mojo::ScopedSharedBufferMapping mapping_; |
132 | 133 |
133 DISALLOW_COPY_AND_ASSIGN(DeviceMotionEventPumpTest); | 134 DISALLOW_COPY_AND_ASSIGN(DeviceMotionEventPumpTest); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 base::RunLoop().Run(); | 201 base::RunLoop().Run(); |
201 motion_pump()->Stop(); | 202 motion_pump()->Stop(); |
202 | 203 |
203 // Check that the blink::WebDeviceMotionListener does not receive excess | 204 // Check that the blink::WebDeviceMotionListener does not receive excess |
204 // events. | 205 // events. |
205 EXPECT_TRUE(listener()->did_change_device_motion()); | 206 EXPECT_TRUE(listener()->did_change_device_motion()); |
206 EXPECT_GE(6, listener()->number_of_events()); | 207 EXPECT_GE(6, listener()->number_of_events()); |
207 } | 208 } |
208 | 209 |
209 } // namespace content | 210 } // namespace content |
OLD | NEW |