Chromium Code Reviews| Index: chrome/browser/storage_monitor/storage_monitor_linux_unittest.cc |
| diff --git a/chrome/browser/storage_monitor/storage_monitor_linux_unittest.cc b/chrome/browser/storage_monitor/storage_monitor_linux_unittest.cc |
| index a8c82a52dc624eb5ca5e6951cc492e20b79eec9d..a770ffc86dde6ea1a4c73e4f5695fbd7d35d55b1 100644 |
| --- a/chrome/browser/storage_monitor/storage_monitor_linux_unittest.cc |
| +++ b/chrome/browser/storage_monitor/storage_monitor_linux_unittest.cc |
| @@ -23,6 +23,8 @@ |
| #include "chrome/browser/storage_monitor/storage_info.h" |
| #include "chrome/browser/storage_monitor/storage_monitor.h" |
| #include "chrome/browser/storage_monitor/test_media_transfer_protocol_manager_linux.h" |
| +#include "chrome/browser/storage_monitor/test_storage_monitor.h" |
| +#include "chrome/test/base/testing_browser_process.h" |
| #include "content/public/test/test_browser_thread.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| @@ -181,8 +183,12 @@ class StorageMonitorLinuxTest : public testing::Test { |
| arraysize(initial_test_data), |
| true /* overwrite */); |
| - // Initialize the test subject. |
| - monitor_.reset(new TestStorageMonitorLinux(mtab_file_, &message_loop_)); |
| + test::TestStorageMonitor::RemoveSingleton(); |
| + monitor_ = new TestStorageMonitorLinux(mtab_file_, &message_loop_); |
| + TestingBrowserProcess* browser_process = TestingBrowserProcess::GetGlobal(); |
| + if (browser_process) |
|
vandebo (ex-Chrome)
2013/07/10 16:57:45
Same here.
Greg Billock
2013/07/10 21:57:17
Done.
|
| + browser_process->SetStorageMonitor(monitor_); |
| + |
| mock_storage_observer_.reset(new MockRemovableStorageObserver); |
| monitor_->AddObserver(mock_storage_observer_.get()); |
| @@ -193,8 +199,10 @@ class StorageMonitorLinuxTest : public testing::Test { |
| virtual void TearDown() OVERRIDE { |
| base::RunLoop().RunUntilIdle(); |
| monitor_->RemoveObserver(mock_storage_observer_.get()); |
| - monitor_.reset(); |
| base::RunLoop().RunUntilIdle(); |
| + |
| + // Linux storage monitor must be destroyed on the UI thread, so do it here. |
| + test::TestStorageMonitor::RemoveSingleton(); |
| } |
| // Append mtab entries from the |data| array of size |data_size| to the mtab |
| @@ -243,7 +251,7 @@ class StorageMonitorLinuxTest : public testing::Test { |
| } |
| StorageMonitor* notifier() { |
| - return monitor_.get(); |
| + return monitor_; |
| } |
| uint64 GetStorageSize(const base::FilePath& path) { |
| @@ -316,7 +324,8 @@ class StorageMonitorLinuxTest : public testing::Test { |
| // Path to the test mtab file. |
| base::FilePath mtab_file_; |
| - scoped_ptr<TestStorageMonitorLinux> monitor_; |
| + // Pointer to the storage monitor. Owned by TestingBrowserProcess. |
| + TestStorageMonitorLinux* monitor_; |
| DISALLOW_COPY_AND_ASSIGN(StorageMonitorLinuxTest); |
| }; |