Chromium Code Reviews| Index: chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc |
| diff --git a/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc b/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc |
| index 10081e8bb051e3b989a24c95b56f1c677d9421f6..3747b0cd2fb30ef92ce627805d87ddf8592dd552 100644 |
| --- a/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc |
| +++ b/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc |
| @@ -6,12 +6,17 @@ |
| #include "base/file_util.h" |
| #include "base/files/file_path.h" |
| +#include "base/files/file_path_watcher.h" |
| #include "base/path_service.h" |
| +#include "base/run_loop.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "build/build_config.h" |
| +#include "chrome/browser/browser_process.h" |
| #include "chrome/browser/extensions/extension_apitest.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/extensions/extension_test_message_listener.h" |
| +#include "chrome/browser/media_galleries/media_file_system_registry.h" |
| +#include "chrome/browser/media_galleries/media_galleries_preferences.h" |
| #include "chrome/browser/media_galleries/media_galleries_test_util.h" |
| #include "chrome/common/chrome_paths.h" |
| #include "content/public/browser/render_frame_host.h" |
| @@ -27,19 +32,16 @@ namespace { |
| const char kTestExtensionId[] = "gceegfkgibmgpfopknlcgleimclbknie"; |
| const char kTestExtensionPath[] = "media_galleries_private/gallerywatch"; |
| -#if !defined(OS_CHROMEOS) |
| // JS commands. |
| const char kGetAllWatchedGalleryIdsCmd[] = "getAllWatchedGalleryIds()"; |
| const char kGetMediaFileSystemsCmd[] = "getMediaFileSystems()"; |
| const char kSetupWatchOnValidGalleriesCmd[] = "setupWatchOnValidGalleries()"; |
| -#if defined(OS_WIN) || defined(OS_LINUX) |
| const char kAddGalleryChangedListenerCmd[] = "addGalleryChangedListener()"; |
| const char kRemoveAllGalleryWatchCmd[] = "removeAllGalleryWatch()"; |
| const char kRemoveGalleryChangedListenerCmd[] = |
| "removeGalleryChangedListener()"; |
| const char kRemoveGalleryWatchCmd[] = "removeGalleryWatch()"; |
| const char kSetupWatchOnInvalidGalleryCmd[] = "setupWatchOnInvalidGallery()"; |
| -#endif // defined(OS_WIN) || defined(OS_LINUX) |
| // And JS reply messages. |
| const char kAddGalleryWatchOK[] = "add_gallery_watch_ok"; |
| @@ -47,24 +49,18 @@ const char kGetAllGalleryWatchOK[] = "get_all_gallery_watch_ok"; |
| const char kGetMediaFileSystemsCallbackOK[] = |
| "get_media_file_systems_callback_ok"; |
| const char kGetMediaFileSystemsOK[] = "get_media_file_systems_ok"; |
| -#if defined(OS_WIN) || defined(OS_LINUX) |
| const char kAddGalleryChangedListenerOK[] = "add_gallery_changed_listener_ok"; |
| const char kRemoveAllGalleryWatchOK[] = "remove_all_gallery_watch_ok"; |
| const char kRemoveGalleryChangedListenerOK[] = |
| "remove_gallery_changed_listener_ok"; |
| const char kRemoveGalleryWatchOK[] = "remove_gallery_watch_ok"; |
| -#endif // defined(OS_WIN) || defined(OS_LINUX) |
| // Test reply messages. |
| -const char kGetAllGalleryWatchResultA[] = "gallery_watchers_does_not_exists"; |
| +const char kNoGalleryWatchesInstalled[] = "gallery_watchers_does_not_exists"; |
| const char kAddGalleryWatchRequestFailed[] = "add_watch_request_failed"; |
| -#if defined(OS_WIN) || defined(OS_LINUX) |
| const char kAddGalleryWatchRequestSucceeded[] = "add_watch_request_succeeded"; |
| const char kGalleryChangedEventReceived[] = "gallery_changed_event_received"; |
| -const char kGetAllGalleryWatchResultB[] = |
| - "watchers_for_galleries_{1, 2, 3}_found"; |
| -#endif // defined(OS_WIN) || defined(OS_LINUX) |
| -#endif // !defined(OS_CHROMEOS) |
| +const char kGalleryWatchesCheck[] = "gallery_watcher_checks"; |
| } // namespace |
| @@ -75,7 +71,10 @@ const char kGetAllGalleryWatchResultB[] = |
| class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest { |
| public: |
| - MediaGalleriesPrivateGalleryWatchApiTest() {} |
| + MediaGalleriesPrivateGalleryWatchApiTest() |
| + : extension_(NULL), |
| + background_host_(NULL) { |
| + } |
| virtual ~MediaGalleriesPrivateGalleryWatchApiTest() {} |
| protected: |
| @@ -86,345 +85,256 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest { |
| extensions::switches::kWhitelistedExtensionID, |
| kTestExtensionId); |
| } |
| + virtual void SetUpOnMainThread() OVERRIDE { |
| + ExtensionApiTest::SetUpOnMainThread(); |
| + ensure_media_directories_exists_.reset(new EnsureMediaDirectoriesExists); |
| + extension_ = LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath)); |
| + GetBackgroundHostForTestExtension(); |
| + CreateTestGallery(); |
| + FetchMediaGalleriesList(); |
| + } |
| + virtual void TearDownOnMainThread() OVERRIDE { |
| + extension_ = NULL; |
| + background_host_ = NULL; |
| + ensure_media_directories_exists_.reset(); |
| + ExtensionApiTest::TearDownOnMainThread(); |
| + } |
| - void ExecuteCmdAndCheckReply(content::RenderViewHost* host, |
| - const std::string& js_command, |
| - const std::string& ok_message) { |
| + bool GalleryWatchesSupported() { |
| + return base::FilePathWatcher::RecursiveWatchAvailable(); |
| + } |
| + |
| + void ExecuteCmdAndCheckReply(const std::string& js_command, |
| + const std::string& ok_message) { |
| ExtensionTestMessageListener listener(ok_message, false); |
| - host->GetMainFrame()->ExecuteJavaScript(base::ASCIIToUTF16(js_command)); |
| + background_host_->GetMainFrame()->ExecuteJavaScript( |
| + base::ASCIIToUTF16(js_command)); |
| EXPECT_TRUE(listener.WaitUntilSatisfied()); |
| } |
| - bool AddNewFileInGallery(int gallery_directory_key) { |
| - if ((gallery_directory_key != chrome::DIR_USER_MUSIC) && |
| - (gallery_directory_key != chrome::DIR_USER_PICTURES) && |
| - (gallery_directory_key != chrome::DIR_USER_VIDEOS)) |
| - return false; |
| - |
| - base::FilePath gallery_dir; |
| - if (!PathService::Get(gallery_directory_key, &gallery_dir)) |
| - return false; |
| + bool AddNewFileInTestGallery() { |
| base::FilePath gallery_file = |
| - gallery_dir.Append(FILE_PATH_LITERAL("test1.txt")); |
| + test_gallery_.path().Append(FILE_PATH_LITERAL("test1.txt")); |
| std::string content("new content"); |
| int write_size = base::WriteFile(gallery_file, content.c_str(), |
| content.length()); |
| return (write_size == static_cast<int>(content.length())); |
| } |
| - // Loads the test extension and returns the RenderViewHost of the extension. |
| - // Returns NULL if the extension load operation failed. |
| - content::RenderViewHost* GetBackgroundHostForTestExtension() { |
| - const extensions::Extension* extension = |
| - LoadExtension(test_data_dir_.AppendASCII(kTestExtensionPath)); |
| - if (!extension) |
| - return NULL; |
| - return extensions::ExtensionSystem::Get(browser()->profile())-> |
| - process_manager()->GetBackgroundHostForExtension(extension->id())-> |
| - render_view_host(); |
| + // Returns true if successful. |
|
Lei Zhang
2014/06/17 18:20:23
return type isn't bool?
vandebo (ex-Chrome)
2014/06/17 18:24:13
Oops, fixed.
|
| + void SetupGalleryWatches() { |
| + std::string expected_result = GalleryWatchesSupported() ? |
| + kAddGalleryWatchRequestSucceeded : kAddGalleryWatchRequestFailed; |
| + |
| + ExtensionTestMessageListener add_gallery_watch_finished( |
| + expected_result, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kSetupWatchOnValidGalleriesCmd, kAddGalleryWatchOK); |
| + EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); |
| } |
| private: |
| + void GetBackgroundHostForTestExtension() { |
| + ASSERT_TRUE(extension_); |
| + extensions::ExtensionSystem* extension_system = |
| + extensions::ExtensionSystem::Get(browser()->profile()); |
| + background_host_ = |
| + extension_system->process_manager()->GetBackgroundHostForExtension( |
| + extension_->id())->render_view_host(); |
| + ASSERT_TRUE(background_host_); |
| + } |
| + |
| + void CreateTestGallery() { |
| + MediaGalleriesPreferences* preferences = |
| + g_browser_process->media_file_system_registry()->GetPreferences( |
| + browser()->profile()); |
| + base::RunLoop runloop; |
| + preferences->EnsureInitialized(runloop.QuitClosure()); |
| + runloop.Run(); |
| + |
| + ASSERT_TRUE(test_gallery_.CreateUniqueTempDir()); |
| + MediaGalleryPrefInfo gallery_info; |
| + ASSERT_FALSE(preferences->LookUpGalleryByPath(test_gallery_.path(), |
| + &gallery_info)); |
| + MediaGalleryPrefId id = preferences->AddGallery( |
| + gallery_info.device_id, |
| + gallery_info.path, |
| + MediaGalleryPrefInfo::kAutoDetected, |
| + gallery_info.volume_label, |
| + gallery_info.vendor_name, |
| + gallery_info.model_name, |
| + gallery_info.total_size_in_bytes, |
| + gallery_info.last_attach_time, |
| + 0, 0, 0); |
| + |
| + preferences->SetGalleryPermissionForExtension(*extension_, id, true); |
| + } |
| + |
| + void FetchMediaGalleriesList() { |
| + ExtensionTestMessageListener get_media_systems_finished( |
| + kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetMediaFileSystemsCmd, kGetMediaFileSystemsOK); |
| + EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| + } |
| + |
| + scoped_ptr<EnsureMediaDirectoriesExists> ensure_media_directories_exists_; |
| + |
| + base::ScopedTempDir test_gallery_; |
| + |
| + const extensions::Extension* extension_; |
| + |
| + content::RenderViewHost* background_host_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateGalleryWatchApiTest); |
| }; |
| - |
| -#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| BasicGalleryWatch) { |
|
Lei Zhang
2014/06/17 18:20:23
We probably should skip this test too if GalleryWa
vandebo (ex-Chrome)
2014/06/17 18:24:13
Since it's the basic test, I tested the things tha
|
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| - // Set up gallery watch. |
| - ExtensionTestMessageListener add_gallery_watch_finished( |
| - kAddGalleryWatchRequestSucceeded, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); |
| + SetupGalleryWatches(); |
| // Add gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kAddGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, |
| kAddGalleryChangedListenerOK); |
| // Modify gallery contents. |
| - ExtensionTestMessageListener music_gallery_change_event_received( |
| - kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_MUSIC)); |
| - EXPECT_TRUE(music_gallery_change_event_received.WaitUntilSatisfied()); |
| - |
| - ExtensionTestMessageListener pictures_gallery_change_event_received( |
| - kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_PICTURES)); |
| - EXPECT_TRUE(pictures_gallery_change_event_received.WaitUntilSatisfied()); |
| - |
| - ExtensionTestMessageListener videos_gallery_change_event_received( |
| + ExtensionTestMessageListener gallery_change_event_received( |
| kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_VIDEOS)); |
| - EXPECT_TRUE(videos_gallery_change_event_received.WaitUntilSatisfied()); |
| + ASSERT_TRUE(AddNewFileInTestGallery()); |
| + if (GalleryWatchesSupported()) |
| + EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied()); |
| // Remove gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, |
| kRemoveGalleryChangedListenerOK); |
| // Remove gallery watch request. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| + if (GalleryWatchesSupported()) |
| + ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| RemoveListenerAndModifyGallery) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| - // Set up gallery watch. |
| - ExtensionTestMessageListener add_gallery_watch_finished( |
| - kAddGalleryWatchRequestSucceeded, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); |
| + if (!GalleryWatchesSupported()) |
| + return; |
| + |
| + SetupGalleryWatches(); |
| // Add a gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kAddGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, |
| kAddGalleryChangedListenerOK); |
| // Modify gallery contents. |
| - ExtensionTestMessageListener music_gallery_change_event_received( |
| + ExtensionTestMessageListener gallery_change_event_received( |
| kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_MUSIC)); |
| - EXPECT_TRUE(music_gallery_change_event_received.WaitUntilSatisfied()); |
| + ASSERT_TRUE(AddNewFileInTestGallery()); |
| + EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied()); |
| // Remove gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, |
| kRemoveGalleryChangedListenerOK); |
| // No listener, modify gallery contents. |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_MUSIC)); |
| + ASSERT_TRUE(AddNewFileInTestGallery()); |
| // Remove gallery watch. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| + ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| SetupGalleryWatchWithoutListeners) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| + if (!GalleryWatchesSupported()) |
| + return; |
| - // Set up gallery watch. |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| + SetupGalleryWatches(); |
| // No listeners, modify gallery contents. |
| - ExtensionTestMessageListener music_gallery_change_event_received( |
| + ExtensionTestMessageListener gallery_change_event_received( |
| kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_MUSIC)); |
| + ASSERT_TRUE(AddNewFileInTestGallery()); |
| // Remove gallery watch. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| + ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| SetupGalleryChangedListenerWithoutWatchers) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| // Add gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kAddGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd, |
| kAddGalleryChangedListenerOK); |
| // Modify gallery contents. Listener should not get called because add watch |
| // request was not called. |
| - ExtensionTestMessageListener music_gallery_change_event_received( |
| + ExtensionTestMessageListener gallery_change_event_received( |
| kGalleryChangedEventReceived, false /* no reply */); |
| - ASSERT_TRUE(AddNewFileInGallery(chrome::DIR_USER_MUSIC)); |
| + ASSERT_TRUE(AddNewFileInTestGallery()); |
| // Remove gallery watch listener. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryChangedListenerCmd, |
| + ExecuteCmdAndCheckReply(kRemoveGalleryChangedListenerCmd, |
| kRemoveGalleryChangedListenerOK); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| SetupWatchOnInvalidGallery) { |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| // Set up a invalid gallery watch. |
| ExtensionTestMessageListener invalid_gallery_watch_request_finished( |
| kAddGalleryWatchRequestFailed, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnInvalidGalleryCmd, |
| - kAddGalleryWatchOK); |
| + ExecuteCmdAndCheckReply(kSetupWatchOnInvalidGalleryCmd, kAddGalleryWatchOK); |
| EXPECT_TRUE(invalid_gallery_watch_request_finished.WaitUntilSatisfied()); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| GetAllGalleryWatch) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| // Gallery watchers are not yet added. |
| // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return an empty |
| // list. |
| ExtensionTestMessageListener initial_get_all_check_finished( |
| - kGetAllGalleryWatchResultA, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| + kNoGalleryWatchesInstalled, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); |
| EXPECT_TRUE(initial_get_all_check_finished.WaitUntilSatisfied()); |
| - // Set up gallery watchers. |
| - ExtensionTestMessageListener add_gallery_watch_finished( |
| - kAddGalleryWatchRequestSucceeded, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); |
| + if (!GalleryWatchesSupported()) |
| + return; |
| + |
| + SetupGalleryWatches(); |
| // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the |
| // gallery identifiers. |
| ExtensionTestMessageListener get_all_watched_galleries_finished( |
| - kGetAllGalleryWatchResultB, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| + kGalleryWatchesCheck, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); |
| EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied()); |
| // Remove gallery watch request. |
| - ExecuteCmdAndCheckReply(host, kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| + ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK); |
| // Gallery watchers removed. |
| // chrome.mediaGalleriesPrivate.getAllGalleryWatch() should return an empty |
| // list. |
| ExtensionTestMessageListener final_get_all_check_finished( |
| - kGetAllGalleryWatchResultA, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| + kNoGalleryWatchesInstalled, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); |
| EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied()); |
| } |
| IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| RemoveAllGalleryWatch) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| - // Set up gallery watchers. |
| - ExtensionTestMessageListener add_gallery_watch_finished( |
| - kAddGalleryWatchRequestSucceeded, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied()); |
| + if (!GalleryWatchesSupported()) |
| + return; |
| + |
| + SetupGalleryWatches(); |
| // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the watched |
| // gallery identifiers. |
| ExtensionTestMessageListener get_all_watched_galleries_finished( |
| - kGetAllGalleryWatchResultB, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| + kGalleryWatchesCheck, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); |
| EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied()); |
| // Remove all gallery watchers. |
| - ExecuteCmdAndCheckReply(host, kRemoveAllGalleryWatchCmd, |
| - kRemoveAllGalleryWatchOK); |
| + ExecuteCmdAndCheckReply(kRemoveAllGalleryWatchCmd, kRemoveAllGalleryWatchOK); |
| // Gallery watchers removed. chrome.mediaGalleriesPrivate.getAllGalleryWatch |
| // should return an empty list. |
| ExtensionTestMessageListener final_get_all_check_finished( |
| - kGetAllGalleryWatchResultA, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| + kNoGalleryWatchesInstalled, false /* no reply */); |
| + ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK); |
| EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied()); |
| } |
| -#endif // defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) |
| - |
| -#if defined(OS_MACOSX) |
| -// Gallery watch request is not enabled on Mac: crbug.com/144491. |
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| - SetupGalleryWatch) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| - // Set up a invalid gallery watch. |
| - ExtensionTestMessageListener gallery_watch_request_finished( |
| - kAddGalleryWatchRequestFailed, false /* no reply */); |
| - // Set up gallery watch. |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - EXPECT_TRUE(gallery_watch_request_finished.WaitUntilSatisfied()); |
| -} |
| - |
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest, |
| - GetAllGalleryWatch) { |
| - EnsureMediaDirectoriesExists media_directories; |
| - content::RenderViewHost* host = GetBackgroundHostForTestExtension(); |
| - ASSERT_TRUE(host); |
| - |
| - // Get media file systems. |
| - ExtensionTestMessageListener get_media_systems_finished( |
| - kGetMediaFileSystemsCallbackOK, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetMediaFileSystemsCmd, |
| - kGetMediaFileSystemsOK); |
| - EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied()); |
| - |
| - // Set up gallery watch. |
| - ExecuteCmdAndCheckReply(host, kSetupWatchOnValidGalleriesCmd, |
| - kAddGalleryWatchOK); |
| - |
| - // Gallery watchers does not exists. |
| - // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return an empty |
| - // list. |
| - ExtensionTestMessageListener get_all_gallery_watch_finished( |
| - kGetAllGalleryWatchResultA, false /* no reply */); |
| - ExecuteCmdAndCheckReply(host, kGetAllWatchedGalleryIdsCmd, |
| - kGetAllGalleryWatchOK); |
| - EXPECT_TRUE(get_all_gallery_watch_finished.WaitUntilSatisfied()); |
| -} |
| -#endif // defined(OS_MACOSX) |