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

Side by Side Diff: chrome/browser/extensions/api/media_galleries_private/media_galleries_eject_apitest.cc

Issue 14556015: [Media Galleries] Lazily initialize the storage monitor. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Add StorageMonitor comment Created 7 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 // MediaGalleriesPrivate eject API browser tests. 5 // MediaGalleriesPrivate eject API browser tests.
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/run_loop.h"
vandebo (ex-Chrome) 2013/05/31 18:05:03 not needed?
Greg Billock 2013/06/01 01:48:46 removed On 2013/05/31 18:05:03, vandebo wrote:
8 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
9 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/extensions/extension_apitest.h" 11 #include "chrome/browser/extensions/extension_apitest.h"
11 #include "chrome/browser/extensions/extension_process_manager.h" 12 #include "chrome/browser/extensions/extension_process_manager.h"
12 #include "chrome/browser/extensions/extension_system.h" 13 #include "chrome/browser/extensions/extension_system.h"
13 #include "chrome/browser/extensions/extension_test_message_listener.h" 14 #include "chrome/browser/extensions/extension_test_message_listener.h"
14 #include "chrome/browser/media_galleries/media_galleries_test_util.h" 15 #include "chrome/browser/media_galleries/media_galleries_test_util.h"
15 #include "chrome/browser/storage_monitor/storage_info.h" 16 #include "chrome/browser/storage_monitor/storage_info.h"
16 #include "chrome/browser/storage_monitor/storage_monitor.h" 17 #include "chrome/browser/storage_monitor/storage_monitor.h"
17 #include "chrome/browser/storage_monitor/test_storage_monitor.h" 18 #include "chrome/browser/storage_monitor/test_storage_monitor.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 75
75 void ExecuteCmdAndCheckReply(content::RenderViewHost* host, 76 void ExecuteCmdAndCheckReply(content::RenderViewHost* host,
76 const std::string& js_command, 77 const std::string& js_command,
77 const std::string& ok_message) { 78 const std::string& ok_message) {
78 ExtensionTestMessageListener listener(ok_message, false); 79 ExtensionTestMessageListener listener(ok_message, false);
79 host->ExecuteJavascriptInWebFrame(string16(), ASCIIToUTF16(js_command)); 80 host->ExecuteJavascriptInWebFrame(string16(), ASCIIToUTF16(js_command));
80 EXPECT_TRUE(listener.WaitUntilSatisfied()); 81 EXPECT_TRUE(listener.WaitUntilSatisfied());
81 } 82 }
82 83
83 void Attach() { 84 void Attach() {
85 DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
84 chrome::StorageInfo info(device_id_, ASCIIToUTF16(kDeviceName), kDevicePath, 86 chrome::StorageInfo info(device_id_, ASCIIToUTF16(kDeviceName), kDevicePath,
85 string16(), string16(), string16(), 0); 87 string16(), string16(), string16(), 0);
86 chrome::StorageMonitor::GetInstance()->receiver()->ProcessAttach(info); 88 chrome::StorageMonitor::GetInstance()->receiver()->ProcessAttach(info);
87 content::RunAllPendingInMessageLoop(); 89 content::RunAllPendingInMessageLoop();
88 } 90 }
89 91
90 void Detach() { 92 void Detach() {
93 DCHECK(chrome::StorageMonitor::GetInstance()->IsInitialized());
91 chrome::StorageMonitor::GetInstance()->receiver()->ProcessDetach( 94 chrome::StorageMonitor::GetInstance()->receiver()->ProcessDetach(
92 device_id_); 95 device_id_);
93 content::RunAllPendingInMessageLoop(); 96 content::RunAllPendingInMessageLoop();
94 } 97 }
95 98
96 static std::string GetDeviceId() { 99 static std::string GetDeviceId() {
97 return chrome::StorageInfo::MakeDeviceId( 100 return chrome::StorageInfo::MakeDeviceId(
98 chrome::StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM, kDeviceId); 101 chrome::StorageInfo::REMOVABLE_MASS_STORAGE_WITH_DCIM, kDeviceId);
99 } 102 }
100 103
101 protected: 104 protected:
102 const std::string device_id_; 105 const std::string device_id_;
103 106
104 private: 107 private:
105 DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateEjectApiTest); 108 DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateEjectApiTest);
106 }; 109 };
107 110
108 111
109 /////////////////////////////////////////////////////////////////////////////// 112 ///////////////////////////////////////////////////////////////////////////////
110 // TESTS // 113 // TESTS //
111 /////////////////////////////////////////////////////////////////////////////// 114 ///////////////////////////////////////////////////////////////////////////////
112 115
113 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateEjectApiTest, EjectTest) { 116 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateEjectApiTest, EjectTest) {
114 scoped_ptr<chrome::test::TestStorageMonitor> monitor( 117 scoped_ptr<chrome::test::TestStorageMonitor> monitor(
115 chrome::test::TestStorageMonitor::CreateForBrowserTests()); 118 chrome::test::TestStorageMonitor::CreateForBrowserTests());
119 monitor->Init();
120 monitor->MarkInitialized();
116 121
117 content::RenderViewHost* host = GetHost(); 122 content::RenderViewHost* host = GetHost();
118 ExecuteCmdAndCheckReply(host, kAddAttachListenerCmd, kAddAttachListenerOk); 123 ExecuteCmdAndCheckReply(host, kAddAttachListenerCmd, kAddAttachListenerOk);
119 124
120 // Attach / detach 125 // Attach / detach
121 const std::string expect_attach_msg = 126 const std::string expect_attach_msg =
122 base::StringPrintf("%s,%s", kAttachTestOk, kDeviceName); 127 base::StringPrintf("%s,%s", kAttachTestOk, kDeviceName);
123 ExtensionTestMessageListener attach_finished_listener(expect_attach_msg, 128 ExtensionTestMessageListener attach_finished_listener(expect_attach_msg,
124 false /* no reply */); 129 false /* no reply */);
125 Attach(); 130 Attach();
126 EXPECT_TRUE(attach_finished_listener.WaitUntilSatisfied()); 131 EXPECT_TRUE(attach_finished_listener.WaitUntilSatisfied());
127 132
128 ExecuteCmdAndCheckReply(host, kEjectTestCmd, kEjectListenerOk); 133 ExecuteCmdAndCheckReply(host, kEjectTestCmd, kEjectListenerOk);
129 EXPECT_EQ(device_id_, monitor->ejected_device()); 134 EXPECT_EQ(device_id_, monitor->ejected_device());
130 135
131 Detach(); 136 Detach();
132 } 137 }
133 138
134 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateEjectApiTest, EjectBadDeviceTest) { 139 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateEjectApiTest, EjectBadDeviceTest) {
135 scoped_ptr<chrome::test::TestStorageMonitor> monitor( 140 scoped_ptr<chrome::test::TestStorageMonitor> monitor(
136 chrome::test::TestStorageMonitor::CreateForBrowserTests()); 141 chrome::test::TestStorageMonitor::CreateForBrowserTests());
142 monitor->Init();
143 monitor->MarkInitialized();
137 144
138 ExecuteCmdAndCheckReply(GetHost(), kEjectFailTestCmd, kEjectFailListenerOk); 145 ExecuteCmdAndCheckReply(GetHost(), kEjectFailTestCmd, kEjectFailListenerOk);
139 146
140 EXPECT_EQ("", monitor->ejected_device()); 147 EXPECT_EQ("", monitor->ejected_device());
141 } 148 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698