Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Unified Diff: extensions/browser/api/usb/usb_apitest.cc

Issue 1314273002: Manage UsbService lifetime in DeviceClient implementations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « device/usb/usb_service_unittest.cc ('k') | extensions/shell/browser/shell_device_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/api/usb/usb_apitest.cc
diff --git a/extensions/browser/api/usb/usb_apitest.cc b/extensions/browser/api/usb/usb_apitest.cc
index eee624c0481a562abaabf47c814becfbd36fcd5e..42e06f2d8dbcc60dd8fe95eb47662eb8b871e138 100644
--- a/extensions/browser/api/usb/usb_apitest.cc
+++ b/extensions/browser/api/usb/usb_apitest.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/extensions/extension_apitest.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/test/test_utils.h"
+#include "device/core/device_client.h"
#include "device/usb/mock_usb_device.h"
#include "device/usb/mock_usb_device_handle.h"
#include "device/usb/mock_usb_service.h"
@@ -20,6 +21,7 @@ using testing::AnyNumber;
using testing::Invoke;
using testing::Return;
using content::BrowserThread;
+using device::DeviceClient;
using device::MockUsbDevice;
using device::MockUsbDeviceHandle;
using device::MockUsbService;
@@ -68,6 +70,19 @@ class TestDevicePermissionsPrompt
}
};
+class TestDeviceClient : public DeviceClient {
+ public:
+ TestDeviceClient() : DeviceClient() {}
+ ~TestDeviceClient() override {}
+
+ MockUsbService& mock_usb_service() { return usb_service_; }
+
+ private:
+ UsbService* GetUsbService() override { return &usb_service_; }
+
+ MockUsbService usb_service_;
+};
+
class TestExtensionsAPIClient : public ShellExtensionsAPIClient {
public:
TestExtensionsAPIClient() : ShellExtensionsAPIClient() {}
@@ -88,14 +103,14 @@ class UsbApiTest : public ShellApiTest {
mock_device_handle_ = new MockUsbDeviceHandle(mock_device_.get());
EXPECT_CALL(*mock_device_.get(), Open(_))
.WillRepeatedly(InvokeCallback<0>(mock_device_handle_));
- mock_service_.reset(new MockUsbService());
- mock_service_->AddDevice(mock_device_);
+ device_client_.reset(new TestDeviceClient());
+ device_client_->mock_usb_service().AddDevice(mock_device_);
}
protected:
scoped_refptr<MockUsbDeviceHandle> mock_device_handle_;
scoped_refptr<MockUsbDevice> mock_device_;
- scoped_ptr<MockUsbService> mock_service_;
+ scoped_ptr<TestDeviceClient> device_client_;
};
} // namespace
@@ -197,10 +212,10 @@ IN_PROC_BROWSER_TEST_F(UsbApiTest, OnDeviceAdded) {
ASSERT_TRUE(load_listener.WaitUntilSatisfied());
scoped_refptr<MockUsbDevice> device(new MockUsbDevice(0x18D1, 0x58F0));
- mock_service_->AddDevice(device);
+ device_client_->mock_usb_service().AddDevice(device);
device = new MockUsbDevice(0x18D1, 0x58F1);
- mock_service_->AddDevice(device);
+ device_client_->mock_usb_service().AddDevice(device);
ASSERT_TRUE(result_listener.WaitUntilSatisfied());
}
@@ -213,7 +228,7 @@ IN_PROC_BROWSER_TEST_F(UsbApiTest, OnDeviceRemoved) {
ASSERT_TRUE(LoadApp("api_test/usb/remove_event"));
ASSERT_TRUE(load_listener.WaitUntilSatisfied());
- mock_service_->RemoveDevice(mock_device_);
+ device_client_->mock_usb_service().RemoveDevice(mock_device_);
ASSERT_TRUE(result_listener.WaitUntilSatisfied());
}
@@ -228,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(UsbApiTest, GetUserSelectedDevices) {
ASSERT_TRUE(LoadApp("api_test/usb/get_user_selected_devices"));
ASSERT_TRUE(ready_listener.WaitUntilSatisfied());
- mock_service_->RemoveDevice(mock_device_);
+ device_client_->mock_usb_service().RemoveDevice(mock_device_);
ASSERT_TRUE(result_listener.WaitUntilSatisfied());
}
« no previous file with comments | « device/usb/usb_service_unittest.cc ('k') | extensions/shell/browser/shell_device_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698