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

Unified Diff: chrome/browser/storage_monitor/storage_monitor_win_unittest.cc

Issue 16703025: [StorageMonitor] Move StorageMonitor ownership to BrowserProcessImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 7 years, 5 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
Index: chrome/browser/storage_monitor/storage_monitor_win_unittest.cc
diff --git a/chrome/browser/storage_monitor/storage_monitor_win_unittest.cc b/chrome/browser/storage_monitor/storage_monitor_win_unittest.cc
index 4e9ad7ec6ca10a8d69c4d6423a6c689ab4e1b44a..6ea1bda042c1044456081bc59a968e090ca93311 100644
--- a/chrome/browser/storage_monitor/storage_monitor_win_unittest.cc
+++ b/chrome/browser/storage_monitor/storage_monitor_win_unittest.cc
@@ -19,9 +19,11 @@
#include "chrome/browser/storage_monitor/storage_info.h"
#include "chrome/browser/storage_monitor/storage_monitor_win.h"
#include "chrome/browser/storage_monitor/test_portable_device_watcher_win.h"
+#include "chrome/browser/storage_monitor/test_storage_monitor.h"
#include "chrome/browser/storage_monitor/test_storage_monitor_win.h"
#include "chrome/browser/storage_monitor/test_volume_mount_watcher_win.h"
#include "chrome/browser/storage_monitor/volume_mount_watcher_win.h"
+#include "chrome/test/base/testing_browser_process.h"
#include "content/public/test/test_browser_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -63,7 +65,8 @@ class StorageMonitorWinTest : public testing::Test {
base::string16* pnp_device_id,
base::string16* storage_object_id);
- scoped_ptr<TestStorageMonitorWin> monitor_;
+ // Pointer to the storage monitor. Owned by TestingBrowserProcess.
+ TestStorageMonitorWin* monitor_;
// Weak pointer; owned by the device notifications class.
TestVolumeMountWatcherWin* volume_mount_watcher_;
@@ -86,9 +89,14 @@ StorageMonitorWinTest::~StorageMonitorWinTest() {
void StorageMonitorWinTest::SetUp() {
ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ test::TestStorageMonitor::RemoveSingleton();
volume_mount_watcher_ = new TestVolumeMountWatcherWin;
- monitor_.reset(new TestStorageMonitorWin(volume_mount_watcher_,
- new TestPortableDeviceWatcherWin));
+ monitor_ = new TestStorageMonitorWin(volume_mount_watcher_,
+ new TestPortableDeviceWatcherWin);
+ TestingBrowserProcess* browser_process = TestingBrowserProcess::GetGlobal();
+ if (browser_process)
vandebo (ex-Chrome) 2013/07/10 16:57:45 leak
Greg Billock 2013/07/10 21:57:17 Done.
+ browser_process->SetStorageMonitor(monitor_);
+
monitor_->Init();
RunUntilIdle();
monitor_->AddObserver(&observer_);
@@ -98,11 +106,16 @@ void StorageMonitorWinTest::TearDown() {
RunUntilIdle();
monitor_->RemoveObserver(&observer_);
volume_mount_watcher_->ShutdownWorkerPool();
- monitor_.reset();
+ monitor_ = NULL;
+
+ // Windows storage monitor must be destroyed on the same thread
+ // as construction.
+ test::TestStorageMonitor::RemoveSingleton();
}
void StorageMonitorWinTest::PreAttachDevices() {
- monitor_.reset();
+ test::TestStorageMonitor::RemoveSingleton();
+ monitor_ = NULL;
volume_mount_watcher_ = new TestVolumeMountWatcherWin;
volume_mount_watcher_->SetAttachedDevicesFake();
@@ -117,8 +130,12 @@ void StorageMonitorWinTest::PreAttachDevices() {
expect_attach_calls++;
}
- monitor_.reset(new TestStorageMonitorWin(volume_mount_watcher_,
- new TestPortableDeviceWatcherWin));
+ monitor_ = new TestStorageMonitorWin(volume_mount_watcher_,
+ new TestPortableDeviceWatcherWin);
+ TestingBrowserProcess* browser_process = TestingBrowserProcess::GetGlobal();
+ if (browser_process)
vandebo (ex-Chrome) 2013/07/10 16:57:45 leak
Greg Billock 2013/07/10 21:59:19 Done.
+ browser_process->SetStorageMonitor(monitor_);
+
monitor_->AddObserver(&observer_);
monitor_->Init();

Powered by Google App Engine
This is Rietveld 408576698