Index: chrome/browser/devtools/device/usb/android_usb_browsertest.cc |
diff --git a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc |
index 815802c536e36bd05b92b2fe1ea39fdeacf09a9d..6581e8c40eba9c8c5cab80071d482d6e7187473f 100644 |
--- a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc |
+++ b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc |
@@ -17,6 +17,7 @@ |
#include "chrome/test/base/in_process_browser_test.h" |
#include "content/public/browser/browser_thread.h" |
#include "content/public/test/test_utils.h" |
+#include "device/core/device_client.h" |
#include "device/usb/usb_descriptors.h" |
#include "device/usb/usb_device.h" |
#include "device/usb/usb_device_handle.h" |
@@ -24,6 +25,7 @@ |
#include "testing/gtest/include/gtest/gtest.h" |
using content::BrowserThread; |
+using device::DeviceClient; |
using device::UsbConfigDescriptor; |
using device::UsbDevice; |
using device::UsbDeviceHandle; |
@@ -503,6 +505,18 @@ class MockUsbServiceForCheckingTraits : public MockUsbService { |
int step_; |
}; |
+class TestDeviceClient : public DeviceClient { |
+ public: |
+ explicit TestDeviceClient(scoped_ptr<UsbService> service) |
+ : DeviceClient(), usb_service_(service.Pass()) {} |
+ ~TestDeviceClient() override {} |
+ |
+ private: |
+ UsbService* GetUsbService() override { return usb_service_.get(); } |
+ |
+ scoped_ptr<UsbService> usb_service_; |
+}; |
+ |
class DevToolsAndroidBridgeWarmUp |
: public DevToolsAndroidBridge::DeviceCountListener { |
public: |
@@ -525,14 +539,8 @@ class AndroidUsbDiscoveryTest : public InProcessBrowserTest { |
: scheduler_invoked_(0) { |
} |
- void SetUp() override { |
- // This must happen before profile creation as there are KeyedServices that |
- // may trigger the creation of a non-mock instance of UsbService. |
- mock_usb_service_.reset(CreateMockService()); |
- InProcessBrowserTest::SetUp(); |
- } |
- |
void SetUpOnMainThread() override { |
+ device_client_.reset(new TestDeviceClient(CreateMockService())); |
adb_bridge_ = |
DevToolsAndroidBridge::Factory::GetForProfile(browser()->profile()); |
DCHECK(adb_bridge_); |
@@ -554,10 +562,12 @@ class AndroidUsbDiscoveryTest : public InProcessBrowserTest { |
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, request); |
} |
- virtual MockUsbService* CreateMockService() { return new MockUsbService(); } |
+ virtual scoped_ptr<MockUsbService> CreateMockService() { |
+ return make_scoped_ptr(new MockUsbService()); |
+ } |
scoped_refptr<content::MessageLoopRunner> runner_; |
- scoped_ptr<MockUsbService> mock_usb_service_; |
+ scoped_ptr<TestDeviceClient> device_client_; |
DevToolsAndroidBridge* adb_bridge_; |
int scheduler_invoked_; |
}; |
@@ -575,22 +585,22 @@ class AndroidUsbCountTest : public AndroidUsbDiscoveryTest { |
class AndroidUsbTraitsTest : public AndroidUsbDiscoveryTest { |
protected: |
- MockUsbService* CreateMockService() override { |
- return new MockUsbServiceForCheckingTraits(); |
+ scoped_ptr<MockUsbService> CreateMockService() override { |
+ return make_scoped_ptr(new MockUsbServiceForCheckingTraits()); |
} |
}; |
class AndroidBreakingUsbTest : public AndroidUsbDiscoveryTest { |
protected: |
- MockUsbService* CreateMockService() override { |
- return new MockBreakingUsbService(); |
+ scoped_ptr<MockUsbService> CreateMockService() override { |
+ return make_scoped_ptr(new MockBreakingUsbService()); |
} |
}; |
class AndroidNoConfigUsbTest : public AndroidUsbDiscoveryTest { |
protected: |
- MockUsbService* CreateMockService() override { |
- return new MockNoConfigUsbService(); |
+ scoped_ptr<MockUsbService> CreateMockService() override { |
+ return make_scoped_ptr(new MockNoConfigUsbService()); |
} |
}; |