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

Side by Side Diff: chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc

Issue 440813002: Expose gallery watching functionality to the public mediaGalleries API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Respond to Tommy's comments. Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 gallery watch API browser tests. 5 // MediaGalleries gallery watch API browser tests.
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/files/file_path_watcher.h" 9 #include "base/files/file_path_watcher.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/run_loop.h" 11 #include "base/run_loop.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "build/build_config.h" 13 #include "build/build_config.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/extensions/extension_apitest.h" 15 #include "chrome/browser/extensions/extension_apitest.h"
16 #include "chrome/browser/extensions/extension_service.h" 16 #include "chrome/browser/extensions/extension_service.h"
17 #include "chrome/browser/extensions/extension_test_message_listener.h" 17 #include "chrome/browser/extensions/extension_test_message_listener.h"
18 #include "chrome/browser/media_galleries/media_file_system_registry.h" 18 #include "chrome/browser/media_galleries/media_file_system_registry.h"
19 #include "chrome/browser/media_galleries/media_galleries_preferences.h" 19 #include "chrome/browser/media_galleries/media_galleries_preferences.h"
20 #include "chrome/browser/media_galleries/media_galleries_test_util.h" 20 #include "chrome/browser/media_galleries/media_galleries_test_util.h"
21 #include "chrome/common/chrome_paths.h" 21 #include "chrome/common/chrome_paths.h"
22 #include "content/public/browser/render_frame_host.h" 22 #include "content/public/browser/render_frame_host.h"
23 #include "content/public/browser/render_view_host.h" 23 #include "content/public/browser/render_view_host.h"
24 #include "extensions/browser/extension_system.h" 24 #include "extensions/browser/extension_system.h"
25 #include "extensions/common/extension.h" 25 #include "extensions/common/extension.h"
26 #include "extensions/common/switches.h" 26 #include "extensions/common/switches.h"
27 27
28 namespace { 28 namespace {
29 29
30 // Id of test extension from 30 // Id of test extension from
31 // chrome/test/data/extensions/api_test/|kTestExtensionPath| 31 // chrome/test/data/extensions/api_test/|kTestExtensionPath|
32 const char kTestExtensionId[] = "gceegfkgibmgpfopknlcgleimclbknie"; 32 const char kTestExtensionId[] = "gceegfkgibmgpfopknlcgleimclbknie";
33 const char kTestExtensionPath[] = "media_galleries_private/gallerywatch"; 33 const char kTestExtensionPath[] = "media_galleries/gallerywatch";
34 34
35 // JS commands. 35 // JS commands.
36 const char kGetAllWatchedGalleryIdsCmd[] = "getAllWatchedGalleryIds()"; 36 const char kGetAllWatchedGalleryIdsCmd[] = "getAllWatchedGalleryIds()";
37 const char kGetMediaFileSystemsCmd[] = "getMediaFileSystems()"; 37 const char kGetMediaFileSystemsCmd[] = "getMediaFileSystems()";
38 const char kSetupWatchOnValidGalleriesCmd[] = "setupWatchOnValidGalleries()"; 38 const char kSetupWatchOnValidGalleriesCmd[] = "setupWatchOnValidGalleries()";
39 const char kSetupWatchOnUnlistenedValidGalleriesCmd[] =
40 "setupWatchOnUnlistenedValidGalleries()";
39 const char kAddGalleryChangedListenerCmd[] = "addGalleryChangedListener()"; 41 const char kAddGalleryChangedListenerCmd[] = "addGalleryChangedListener()";
40 const char kRemoveAllGalleryWatchCmd[] = "removeAllGalleryWatch()"; 42 const char kRemoveAllGalleryWatchCmd[] = "removeAllGalleryWatch()";
41 const char kRemoveGalleryChangedListenerCmd[] = 43 const char kRemoveGalleryChangedListenerCmd[] =
42 "removeGalleryChangedListener()"; 44 "removeGalleryChangedListener()";
43 const char kRemoveGalleryWatchCmd[] = "removeGalleryWatch()"; 45 const char kRemoveGalleryWatchCmd[] = "removeGalleryWatch()";
44 const char kSetupWatchOnInvalidGalleryCmd[] = "setupWatchOnInvalidGallery()"; 46 const char kSetupWatchOnInvalidGalleryCmd[] = "setupWatchOnInvalidGallery()";
45 47
46 // And JS reply messages. 48 // And JS reply messages.
47 const char kAddGalleryWatchOK[] = "add_gallery_watch_ok"; 49 const char kAddGalleryWatchOK[] = "add_gallery_watch_ok";
48 const char kGetAllGalleryWatchOK[] = "get_all_gallery_watch_ok"; 50 const char kGetAllGalleryWatchOK[] = "get_all_gallery_watch_ok";
49 const char kGetMediaFileSystemsCallbackOK[] = 51 const char kGetMediaFileSystemsCallbackOK[] =
50 "get_media_file_systems_callback_ok"; 52 "get_media_file_systems_callback_ok";
51 const char kGetMediaFileSystemsOK[] = "get_media_file_systems_ok"; 53 const char kGetMediaFileSystemsOK[] = "get_media_file_systems_ok";
52 const char kAddGalleryChangedListenerOK[] = "add_gallery_changed_listener_ok"; 54 const char kAddGalleryChangedListenerOK[] = "add_gallery_changed_listener_ok";
53 const char kRemoveAllGalleryWatchOK[] = "remove_all_gallery_watch_ok"; 55 const char kRemoveAllGalleryWatchOK[] = "remove_all_gallery_watch_ok";
54 const char kRemoveGalleryChangedListenerOK[] = 56 const char kRemoveGalleryChangedListenerOK[] =
55 "remove_gallery_changed_listener_ok"; 57 "remove_gallery_changed_listener_ok";
56 const char kRemoveGalleryWatchOK[] = "remove_gallery_watch_ok"; 58 const char kRemoveGalleryWatchOK[] = "remove_gallery_watch_ok";
57 59
58 // Test reply messages. 60 // Test reply messages.
59 const char kNoGalleryWatchesInstalled[] = "gallery_watchers_does_not_exists"; 61 const char kNoGalleryWatchesInstalled[] = "gallery_watchers_does_not_exists";
60 const char kAddGalleryWatchRequestFailed[] = "add_watch_request_failed"; 62 const char kAddGalleryWatchRequestFailed[] = "add_watch_request_failed";
63 const char kAddGalleryWatchRequestRuntimeError[] =
64 "add_watch_request_runtime_error";
61 const char kAddGalleryWatchRequestSucceeded[] = "add_watch_request_succeeded"; 65 const char kAddGalleryWatchRequestSucceeded[] = "add_watch_request_succeeded";
62 const char kGalleryChangedEventReceived[] = "gallery_changed_event_received"; 66 const char kGalleryChangedEventReceived[] = "gallery_changed_event_received";
63 const char kGalleryWatchesCheck[] = "gallery_watcher_checks"; 67 const char kGalleryWatchesCheck[] = "gallery_watcher_checks";
64 68
65 } // namespace 69 } // namespace
66 70
67
68 /////////////////////////////////////////////////////////////////////////////// 71 ///////////////////////////////////////////////////////////////////////////////
69 // MediaGalleriesPrivateGalleryWatchApiTest // 72 // MediaGalleriesGalleryWatchApiTest //
70 /////////////////////////////////////////////////////////////////////////////// 73 ///////////////////////////////////////////////////////////////////////////////
71 74
72 class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest { 75 class MediaGalleriesGalleryWatchApiTest : public ExtensionApiTest {
73 public: 76 public:
74 MediaGalleriesPrivateGalleryWatchApiTest() 77 MediaGalleriesGalleryWatchApiTest()
75 : extension_(NULL), 78 : extension_(NULL), background_host_(NULL) {}
76 background_host_(NULL) { 79 virtual ~MediaGalleriesGalleryWatchApiTest() {}
77 }
78 virtual ~MediaGalleriesPrivateGalleryWatchApiTest() {}
79 80
80 protected: 81 protected:
81 // ExtensionApiTest overrides. 82 // ExtensionApiTest overrides.
82 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 83 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
83 ExtensionApiTest::SetUpCommandLine(command_line); 84 ExtensionApiTest::SetUpCommandLine(command_line);
84 command_line->AppendSwitchASCII( 85 command_line->AppendSwitchASCII(
85 extensions::switches::kWhitelistedExtensionID, 86 extensions::switches::kWhitelistedExtensionID, kTestExtensionId);
86 kTestExtensionId);
87 } 87 }
88 virtual void SetUpOnMainThread() OVERRIDE { 88 virtual void SetUpOnMainThread() OVERRIDE {
89 ExtensionApiTest::SetUpOnMainThread(); 89 ExtensionApiTest::SetUpOnMainThread();
90 ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists); 90 ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists);
91 extension_ = LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath)); 91 extension_ = LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath));
92 GetBackgroundHostForTestExtension(); 92 GetBackgroundHostForTestExtension();
93 CreateTestGallery(); 93 CreateTestGallery();
94 FetchMediaGalleriesList(); 94 FetchMediaGalleriesList();
95 } 95 }
96 virtual void TearDownOnMainThread() OVERRIDE { 96 virtual void TearDownOnMainThread() OVERRIDE {
(...skipping 12 matching lines...) Expand all
109 ExtensionTestMessageListener listener(ok_message, false); 109 ExtensionTestMessageListener listener(ok_message, false);
110 background_host_->GetMainFrame()->ExecuteJavaScript( 110 background_host_->GetMainFrame()->ExecuteJavaScript(
111 base::ASCIIToUTF16(js_command)); 111 base::ASCIIToUTF16(js_command));
112 EXPECT_TRUE(listener.WaitUntilSatisfied()); 112 EXPECT_TRUE(listener.WaitUntilSatisfied());
113 } 113 }
114 114
115 bool AddNewFileInTestGallery() { 115 bool AddNewFileInTestGallery() {
116 base::FilePath gallery_file = 116 base::FilePath gallery_file =
117 test_gallery_.path().Append(FILE_PATH_LITERAL("test1.txt")); 117 test_gallery_.path().Append(FILE_PATH_LITERAL("test1.txt"));
118 std::string content("new content"); 118 std::string content("new content");
119 int write_size = base::WriteFile(gallery_file, content.c_str(), 119 int write_size =
120 content.length()); 120 base::WriteFile(gallery_file, content.c_str(), content.length());
121 return (write_size == static_cast<int>(content.length())); 121 return (write_size == static_cast<int>(content.length()));
122 } 122 }
123 123
124 void SetupGalleryWatches() { 124 void SetupGalleryWatches() {
125 std::string expected_result = GalleryWatchesSupported() ? 125 std::string expected_result = GalleryWatchesSupported()
126 kAddGalleryWatchRequestSucceeded : kAddGalleryWatchRequestFailed; 126 ? kAddGalleryWatchRequestSucceeded
127 : kAddGalleryWatchRequestFailed;
127 128
128 ExtensionTestMessageListener add_gallery_watch_finished( 129 ExtensionTestMessageListener add_gallery_watch_finished(
129 expected_result, false /* no reply */); 130 expected_result, false /* no reply */);
130 ExecuteCmdAndCheckReply(kSetupWatchOnValidGalleriesCmd, kAddGalleryWatchOK); 131 ExecuteCmdAndCheckReply(kSetupWatchOnValidGalleriesCmd, kAddGalleryWatchOK);
131 EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); 132 EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied());
132 } 133 }
133 134
134 private: 135 private:
135 void GetBackgroundHostForTestExtension() { 136 void GetBackgroundHostForTestExtension() {
136 ASSERT_TRUE(extension_); 137 ASSERT_TRUE(extension_);
137 extensions::ExtensionSystem* extension_system = 138 extensions::ExtensionSystem* extension_system =
138 extensions::ExtensionSystem::Get(browser()->profile()); 139 extensions::ExtensionSystem::Get(browser()->profile());
139 background_host_ = 140 background_host_ = extension_system->process_manager()
140 extension_system->process_manager()->GetBackgroundHostForExtension( 141 ->GetBackgroundHostForExtension(extension_->id())
141 extension_->id())->render_view_host(); 142 ->render_view_host();
142 ASSERT_TRUE(background_host_); 143 ASSERT_TRUE(background_host_);
143 } 144 }
144 145
145 void CreateTestGallery() { 146 void CreateTestGallery() {
146 MediaGalleriesPreferences* preferences = 147 MediaGalleriesPreferences* preferences =
147 g_browser_process->media_file_system_registry()->GetPreferences( 148 g_browser_process->media_file_system_registry()->GetPreferences(
148 browser()->profile()); 149 browser()->profile());
149 base::RunLoop runloop; 150 base::RunLoop runloop;
150 preferences->EnsureInitialized(runloop.QuitClosure()); 151 preferences->EnsureInitialized(runloop.QuitClosure());
151 runloop.Run(); 152 runloop.Run();
152 153
153 ASSERT_TRUE(test_gallery_.CreateUniqueTempDir()); 154 ASSERT_TRUE(test_gallery_.CreateUniqueTempDir());
154 MediaGalleryPrefInfo gallery_info; 155 MediaGalleryPrefInfo gallery_info;
155 ASSERT_FALSE(preferences->LookUpGalleryByPath(test_gallery_.path(), 156 ASSERT_FALSE(
156 &gallery_info)); 157 preferences->LookUpGalleryByPath(test_gallery_.path(), &gallery_info));
157 MediaGalleryPrefId id = preferences->AddGallery( 158 MediaGalleryPrefId id =
158 gallery_info.device_id, 159 preferences->AddGallery(gallery_info.device_id,
159 gallery_info.path, 160 gallery_info.path,
160 MediaGalleryPrefInfo::kAutoDetected, 161 MediaGalleryPrefInfo::kAutoDetected,
161 gallery_info.volume_label, 162 gallery_info.volume_label,
162 gallery_info.vendor_name, 163 gallery_info.vendor_name,
163 gallery_info.model_name, 164 gallery_info.model_name,
164 gallery_info.total_size_in_bytes, 165 gallery_info.total_size_in_bytes,
165 gallery_info.last_attach_time, 166 gallery_info.last_attach_time,
166 0, 0, 0); 167 0,
168 0,
169 0);
167 170
168 preferences->SetGalleryPermissionForExtension(*extension_, id, true); 171 preferences->SetGalleryPermissionForExtension(*extension_, id, true);
169 } 172 }
170 173
171 void FetchMediaGalleriesList() { 174 void FetchMediaGalleriesList() {
172 ExtensionTestMessageListener get_media_systems_finished( 175 ExtensionTestMessageListener get_media_systems_finished(
173 kGetMediaFileSystemsCallbackOK, false /* no reply */); 176 kGetMediaFileSystemsCallbackOK, false /* no reply */);
174 ExecuteCmdAndCheckReply(kGetMediaFileSystemsCmd, kGetMediaFileSystemsOK); 177 ExecuteCmdAndCheckReply(kGetMediaFileSystemsCmd, kGetMediaFileSystemsOK);
175 EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); 178 EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied());
176 } 179 }
177 180
178 scoped_ptr<EnsureMediaDirectoriesExists> ensure_media_directories_exists_; 181 scoped_ptr<EnsureMediaDirectoriesExists> ensure_media_directories_exists_;
179 182
180 base::ScopedTempDir test_gallery_; 183 base::ScopedTempDir test_gallery_;
181 184
182 const extensions::Extension* extension_; 185 const extensions::Extension* extension_;
183 186
184 content::RenderViewHost* background_host_; 187 content::RenderViewHost* background_host_;
185 188
186 DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateGalleryWatchApiTest); 189 DISALLOW_COPY_AND_ASSIGN(MediaGalleriesGalleryWatchApiTest);
187 }; 190 };
188 191
189 // Crashing on OSX. 192 // Crashing on OSX.
190 #if defined(OS_MACOSX) 193 #if defined(OS_MACOSX)
191 #define MAYBE_BasicGalleryWatch DISABLED_BasicGalleryWatch 194 #define MAYBE_BasicGalleryWatch DISABLED_BasicGalleryWatch
192 #else 195 #else
193 #define MAYBE_BasicGalleryWatch BasicGalleryWatch 196 #define MAYBE_BasicGalleryWatch BasicGalleryWatch
194 #endif 197 #endif
195 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 198 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
196 MAYBE_BasicGalleryWatch) { 199 MAYBE_BasicGalleryWatch) {
197 SetupGalleryWatches();
198
199 // Add gallery watch listener. 200 // Add gallery watch listener.
200 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, 201 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
201 kAddGalleryChangedListenerOK); 202 kAddGalleryChangedListenerOK);
202 203
204 SetupGalleryWatches();
205
203 // Modify gallery contents. 206 // Modify gallery contents.
204 ExtensionTestMessageListener gallery_change_event_received( 207 ExtensionTestMessageListener gallery_change_event_received(
205 kGalleryChangedEventReceived, false /* no reply */); 208 kGalleryChangedEventReceived, false /* no reply */);
209
206 ASSERT_TRUE(AddNewFileInTestGallery()); 210 ASSERT_TRUE(AddNewFileInTestGallery());
207 if (GalleryWatchesSupported()) 211 if (GalleryWatchesSupported())
208 EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied()); 212 EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied());
209 213
210 // Remove gallery watch listener. 214 // Remove gallery watch listener.
211 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, 215 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd,
212 kRemoveGalleryChangedListenerOK); 216 kRemoveGalleryChangedListenerOK);
213 217
214 // Remove gallery watch request. 218 // Remove gallery watch request.
215 if (GalleryWatchesSupported()) 219 if (GalleryWatchesSupported())
216 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); 220 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
217 } 221 }
218 222
219 // http://crbug.com/390979 223 // http://crbug.com/390979
220 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 224 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
221 DISABLED_RemoveListenerAndModifyGallery) { 225 DISABLED_RemoveListenerAndModifyGallery) {
222 if (!GalleryWatchesSupported()) 226 if (!GalleryWatchesSupported())
223 return; 227 return;
224 228
225 SetupGalleryWatches();
226
227 // Add a gallery watch listener. 229 // Add a gallery watch listener.
228 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, 230 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
229 kAddGalleryChangedListenerOK); 231 kAddGalleryChangedListenerOK);
232 SetupGalleryWatches();
233
230 // Modify gallery contents. 234 // Modify gallery contents.
231 ExtensionTestMessageListener gallery_change_event_received( 235 ExtensionTestMessageListener gallery_change_event_received(
232 kGalleryChangedEventReceived, false /* no reply */); 236 kGalleryChangedEventReceived, false /* no reply */);
233 ASSERT_TRUE(AddNewFileInTestGallery()); 237 ASSERT_TRUE(AddNewFileInTestGallery());
234 EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied()); 238 EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied());
235 239
236 // Remove gallery watch listener. 240 // Remove gallery watch listener.
237 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, 241 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd,
238 kRemoveGalleryChangedListenerOK); 242 kRemoveGalleryChangedListenerOK);
239 243
240 // No listener, modify gallery contents. 244 // No listener, modify gallery contents.
241 ASSERT_TRUE(AddNewFileInTestGallery()); 245 ASSERT_TRUE(AddNewFileInTestGallery());
242 246
243 // Remove gallery watch. 247 // Remove gallery watch.
244 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); 248 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
245 } 249 }
246 250
247 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 251 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
248 SetupGalleryWatchWithoutListeners) { 252 SetupGalleryWatchWithoutListeners) {
249 if (!GalleryWatchesSupported()) 253 if (!GalleryWatchesSupported())
250 return; 254 return;
251 255
252 SetupGalleryWatches(); 256 ExtensionTestMessageListener add_watch_runtime_error_received(
tommycli 2014/08/20 23:44:09 I believe you don't need to make ExtensionTestMess
Oren Blasberg 2014/08/21 02:45:21 The test is passing because "setupWatchOnUnlistene
257 kAddGalleryWatchRequestRuntimeError, false /* no reply */);
258 ExecuteCmdAndCheckReply(kSetupWatchOnUnlistenedValidGalleriesCmd,
259 kAddGalleryWatchOK);
253 260
254 // No listeners, modify gallery contents. 261 EXPECT_TRUE(add_watch_runtime_error_received.WaitUntilSatisfied());
255 ExtensionTestMessageListener gallery_change_event_received(
256 kGalleryChangedEventReceived, false /* no reply */);
257 ASSERT_TRUE(AddNewFileInTestGallery());
258
259 // Remove gallery watch.
260 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
261 } 262 }
262 263
263 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 264 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
264 SetupGalleryChangedListenerWithoutWatchers) { 265 SetupGalleryChangedListenerWithoutWatchers) {
265 // Add gallery watch listener. 266 // Add gallery watch listener.
266 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, 267 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
267 kAddGalleryChangedListenerOK); 268 kAddGalleryChangedListenerOK);
268 269
269 // Modify gallery contents. Listener should not get called because add watch 270 // Modify gallery contents. Listener should not get called because add watch
270 // request was not called. 271 // request was not called.
271 ExtensionTestMessageListener gallery_change_event_received( 272 ExtensionTestMessageListener gallery_change_event_received(
272 kGalleryChangedEventReceived, false /* no reply */); 273 kGalleryChangedEventReceived, false /* no reply */);
273 ASSERT_TRUE(AddNewFileInTestGallery()); 274 ASSERT_TRUE(AddNewFileInTestGallery());
274 275
275 // Remove gallery watch listener. 276 // Remove gallery watch listener.
276 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, 277 ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd,
277 kRemoveGalleryChangedListenerOK); 278 kRemoveGalleryChangedListenerOK);
278 } 279 }
279 280
280 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 281 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
281 SetupWatchOnInvalidGallery) { 282 SetupWatchOnInvalidGallery) {
283 // Add gallery watch listener.
284 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
285 kAddGalleryChangedListenerOK);
282 // Set up a invalid gallery watch. 286 // Set up a invalid gallery watch.
283 ExtensionTestMessageListener invalid_gallery_watch_request_finished( 287 ExtensionTestMessageListener invalid_gallery_watch_request_finished(
tommycli 2014/08/20 23:44:09 Same comment as above. Why is there a separate Ext
Oren Blasberg 2014/08/21 02:45:21 Same reason as above - the setupWatchOnInvalidGall
284 kAddGalleryWatchRequestFailed, false /* no reply */); 288 kAddGalleryWatchRequestFailed, false /* no reply */);
285 ExecuteCmdAndCheckReply(kSetupWatchOnInvalidGalleryCmd, kAddGalleryWatchOK); 289 ExecuteCmdAndCheckReply(kSetupWatchOnInvalidGalleryCmd, kAddGalleryWatchOK);
286 EXPECT_TRUE(invalid_gallery_watch_request_finished.WaitUntilSatisfied()); 290 EXPECT_TRUE(invalid_gallery_watch_request_finished.WaitUntilSatisfied());
287 } 291 }
288 292
289 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 293 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest, GetAllGalleryWatch) {
290 GetAllGalleryWatch) { 294 // Add gallery watch listener.
295 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
296 kAddGalleryChangedListenerOK);
297
291 // Gallery watchers are not yet added. 298 // Gallery watchers are not yet added.
292 // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return an empty 299 // chrome.mediaGalleries.getAllGalleryWatch should return an empty
293 // list. 300 // list.
294 ExtensionTestMessageListener initial_get_all_check_finished( 301 ExtensionTestMessageListener initial_get_all_check_finished(
295 kNoGalleryWatchesInstalled, false /* no reply */); 302 kNoGalleryWatchesInstalled, false /* no reply */);
296 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); 303 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
297 EXPECT_TRUE(initial_get_all_check_finished.WaitUntilSatisfied()); 304 EXPECT_TRUE(initial_get_all_check_finished.WaitUntilSatisfied());
298 305
299 if (!GalleryWatchesSupported()) 306 if (!GalleryWatchesSupported())
300 return; 307 return;
301 308
302 SetupGalleryWatches(); 309 SetupGalleryWatches();
303 310
304 // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the 311 // chrome.mediaGalleries.getAllGalleryWatch should return the
305 // gallery identifiers. 312 // gallery identifiers.
306 ExtensionTestMessageListener get_all_watched_galleries_finished( 313 ExtensionTestMessageListener get_all_watched_galleries_finished(
307 kGalleryWatchesCheck, false /* no reply */); 314 kGalleryWatchesCheck, false /* no reply */);
308 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); 315 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
309 EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied()); 316 EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied());
310 317
311 // Remove gallery watch request. 318 // Remove gallery watch request.
312 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); 319 ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
313 320
314 // Gallery watchers removed. 321 // Gallery watchers removed.
315 // chrome.mediaGalleriesPrivate.getAllGalleryWatch() should return an empty 322 // chrome.mediaGalleries.getAllGalleryWatch() should return an empty
316 // list. 323 // list.
317 ExtensionTestMessageListener final_get_all_check_finished( 324 ExtensionTestMessageListener final_get_all_check_finished(
318 kNoGalleryWatchesInstalled, false /* no reply */); 325 kNoGalleryWatchesInstalled, false /* no reply */);
319 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); 326 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
320 EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied()); 327 EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied());
321 } 328 }
322 329
323 IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, 330 IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
324 RemoveAllGalleryWatch) { 331 RemoveAllGalleryWatch) {
332 // Add gallery watch listener.
333 ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
334 kAddGalleryChangedListenerOK);
335
325 if (!GalleryWatchesSupported()) 336 if (!GalleryWatchesSupported())
326 return; 337 return;
327 338
328 SetupGalleryWatches(); 339 SetupGalleryWatches();
329 340
330 // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the watched 341 // chrome.mediaGalleries.getAllGalleryWatch should return the watched
331 // gallery identifiers. 342 // gallery identifiers.
332 ExtensionTestMessageListener get_all_watched_galleries_finished( 343 ExtensionTestMessageListener get_all_watched_galleries_finished(
333 kGalleryWatchesCheck, false /* no reply */); 344 kGalleryWatchesCheck, false /* no reply */);
334 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); 345 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
335 EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied()); 346 EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied());
336 347
337 // Remove all gallery watchers. 348 // Remove all gallery watchers.
338 ExecuteCmdAndCheckReply(kRemoveAllGalleryWatchCmd, kRemoveAllGalleryWatchOK); 349 ExecuteCmdAndCheckReply(kRemoveAllGalleryWatchCmd, kRemoveAllGalleryWatchOK);
339 350
340 // Gallery watchers removed. chrome.mediaGalleriesPrivate.getAllGalleryWatch 351 // Gallery watchers removed. chrome.mediaGalleries.getAllGalleryWatch
341 // should return an empty list. 352 // should return an empty list.
342 ExtensionTestMessageListener final_get_all_check_finished( 353 ExtensionTestMessageListener final_get_all_check_finished(
343 kNoGalleryWatchesInstalled, false /* no reply */); 354 kNoGalleryWatchesInstalled, false /* no reply */);
344 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); 355 ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
345 EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied()); 356 EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied());
346 } 357 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698