| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| 10 #include "base/thread_task_runner_handle.h" | 11 #include "base/thread_task_runner_handle.h" |
| 11 #include "build/build_config.h" | 12 #include "build/build_config.h" |
| 12 #include "device/core/mock_device_client.h" | 13 #include "device/core/mock_device_client.h" |
| 13 #include "device/hid/hid_collection_info.h" | 14 #include "device/hid/hid_collection_info.h" |
| 14 #include "device/hid/hid_connection.h" | 15 #include "device/hid/hid_connection.h" |
| 15 #include "device/hid/hid_device_info.h" | 16 #include "device/hid/hid_device_info.h" |
| 16 #include "device/hid/hid_usage_and_page.h" | 17 #include "device/hid/hid_usage_and_page.h" |
| 17 #include "device/hid/mock_hid_service.h" | 18 #include "device/hid/mock_hid_service.h" |
| 18 #include "extensions/browser/api/device_permissions_prompt.h" | 19 #include "extensions/browser/api/device_permissions_prompt.h" |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 } | 141 } |
| 141 } | 142 } |
| 142 prompt()->Dismissed(); | 143 prompt()->Dismissed(); |
| 143 } | 144 } |
| 144 }; | 145 }; |
| 145 | 146 |
| 146 class TestExtensionsAPIClient : public ShellExtensionsAPIClient { | 147 class TestExtensionsAPIClient : public ShellExtensionsAPIClient { |
| 147 public: | 148 public: |
| 148 TestExtensionsAPIClient() : ShellExtensionsAPIClient() {} | 149 TestExtensionsAPIClient() : ShellExtensionsAPIClient() {} |
| 149 | 150 |
| 150 scoped_ptr<DevicePermissionsPrompt> CreateDevicePermissionsPrompt( | 151 std::unique_ptr<DevicePermissionsPrompt> CreateDevicePermissionsPrompt( |
| 151 content::WebContents* web_contents) const override { | 152 content::WebContents* web_contents) const override { |
| 152 return make_scoped_ptr(new TestDevicePermissionsPrompt(web_contents)); | 153 return base::WrapUnique(new TestDevicePermissionsPrompt(web_contents)); |
| 153 } | 154 } |
| 154 }; | 155 }; |
| 155 | 156 |
| 156 class HidApiTest : public ShellApiTest { | 157 class HidApiTest : public ShellApiTest { |
| 157 public: | 158 public: |
| 158 void SetUpOnMainThread() override { | 159 void SetUpOnMainThread() override { |
| 159 ShellApiTest::SetUpOnMainThread(); | 160 ShellApiTest::SetUpOnMainThread(); |
| 160 | 161 |
| 161 // MockDeviceClient replaces ShellDeviceClient. | 162 // MockDeviceClient replaces ShellDeviceClient. |
| 162 device_client_.reset(new MockDeviceClient()); | 163 device_client_.reset(new MockDeviceClient()); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 } else { | 201 } else { |
| 201 report_descriptor.insert(report_descriptor.begin(), kReportDescriptor, | 202 report_descriptor.insert(report_descriptor.begin(), kReportDescriptor, |
| 202 kReportDescriptor + sizeof(kReportDescriptor)); | 203 kReportDescriptor + sizeof(kReportDescriptor)); |
| 203 } | 204 } |
| 204 device_client_->hid_service()->AddDevice( | 205 device_client_->hid_service()->AddDevice( |
| 205 new HidDeviceInfo(device_id, vendor_id, product_id, "Test Device", "A", | 206 new HidDeviceInfo(device_id, vendor_id, product_id, "Test Device", "A", |
| 206 device::kHIDBusTypeUSB, report_descriptor)); | 207 device::kHIDBusTypeUSB, report_descriptor)); |
| 207 } | 208 } |
| 208 | 209 |
| 209 protected: | 210 protected: |
| 210 scoped_ptr<MockDeviceClient> device_client_; | 211 std::unique_ptr<MockDeviceClient> device_client_; |
| 211 }; | 212 }; |
| 212 | 213 |
| 213 IN_PROC_BROWSER_TEST_F(HidApiTest, HidApp) { | 214 IN_PROC_BROWSER_TEST_F(HidApiTest, HidApp) { |
| 214 ASSERT_TRUE(RunAppTest("api_test/hid/api")) << message_; | 215 ASSERT_TRUE(RunAppTest("api_test/hid/api")) << message_; |
| 215 } | 216 } |
| 216 | 217 |
| 217 IN_PROC_BROWSER_TEST_F(HidApiTest, OnDeviceAdded) { | 218 IN_PROC_BROWSER_TEST_F(HidApiTest, OnDeviceAdded) { |
| 218 ExtensionTestMessageListener load_listener("loaded", false); | 219 ExtensionTestMessageListener load_listener("loaded", false); |
| 219 ExtensionTestMessageListener result_listener("success", false); | 220 ExtensionTestMessageListener result_listener("success", false); |
| 220 result_listener.set_failure_message("failure"); | 221 result_listener.set_failure_message("failure"); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 ExtensionTestMessageListener remove_listener("removed", false); | 258 ExtensionTestMessageListener remove_listener("removed", false); |
| 258 device_client_->hid_service()->RemoveDevice(kTestDeviceIds[0]); | 259 device_client_->hid_service()->RemoveDevice(kTestDeviceIds[0]); |
| 259 ASSERT_TRUE(remove_listener.WaitUntilSatisfied()); | 260 ASSERT_TRUE(remove_listener.WaitUntilSatisfied()); |
| 260 | 261 |
| 261 ExtensionTestMessageListener add_listener("added", false); | 262 ExtensionTestMessageListener add_listener("added", false); |
| 262 AddDevice(kTestDeviceIds[0], 0x18D1, 0x58F0, true); | 263 AddDevice(kTestDeviceIds[0], 0x18D1, 0x58F0, true); |
| 263 ASSERT_TRUE(add_listener.WaitUntilSatisfied()); | 264 ASSERT_TRUE(add_listener.WaitUntilSatisfied()); |
| 264 } | 265 } |
| 265 | 266 |
| 266 } // namespace extensions | 267 } // namespace extensions |
| OLD | NEW |