| Index: chrome/browser/extensions/api/media_galleries/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/media_galleries_watch_apitest.cc
|
| similarity index 68%
|
| copy from chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc
|
| copy to chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc
|
| index bfd478f0ccd06b4c577ac1e4e664a89d6385cf37..8fe907bc3b34027e5e75dc11731013527d5f8f9c 100644
|
| --- a/chrome/browser/extensions/api/media_galleries_private/media_galleries_watch_apitest.cc
|
| +++ b/chrome/browser/extensions/api/media_galleries/media_galleries_watch_apitest.cc
|
| @@ -1,12 +1,12 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
| //
|
| -// MediaGalleriesPrivate gallery watch API browser tests.
|
| +// MediaGalleries gallery watch API browser tests.
|
|
|
| +#include "base/file_util.h"
|
| #include "base/files/file_path.h"
|
| #include "base/files/file_path_watcher.h"
|
| -#include "base/files/file_util.h"
|
| #include "base/path_service.h"
|
| #include "base/run_loop.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -30,13 +30,17 @@ namespace {
|
| // Id of test extension from
|
| // chrome/test/data/extensions/api_test/|kTestExtensionPath|
|
| const char kTestExtensionId[] = "gceegfkgibmgpfopknlcgleimclbknie";
|
| -const char kTestExtensionPath[] = "media_galleries_private/gallerywatch";
|
| +const char kTestExtensionPath[] = "media_galleries/gallerywatch";
|
|
|
| // JS commands.
|
| const char kGetAllWatchedGalleryIdsCmd[] = "getAllWatchedGalleryIds()";
|
| const char kGetMediaFileSystemsCmd[] = "getMediaFileSystems()";
|
| const char kSetupWatchOnValidGalleriesCmd[] = "setupWatchOnValidGalleries()";
|
| +const char kSetupWatchOnUnlistenedValidGalleriesCmd[] =
|
| + "setupWatchOnUnlistenedValidGalleries()";
|
| const char kAddGalleryChangedListenerCmd[] = "addGalleryChangedListener()";
|
| +const char kAddCheckingGalleryChangedListenerCmd[] =
|
| + "addCheckingGalleryChangedListener()";
|
| const char kRemoveAllGalleryWatchCmd[] = "removeAllGalleryWatch()";
|
| const char kRemoveGalleryChangedListenerCmd[] =
|
| "removeGalleryChangedListener()";
|
| @@ -54,36 +58,35 @@ const char kRemoveAllGalleryWatchOK[] = "remove_all_gallery_watch_ok";
|
| const char kRemoveGalleryChangedListenerOK[] =
|
| "remove_gallery_changed_listener_ok";
|
| const char kRemoveGalleryWatchOK[] = "remove_gallery_watch_ok";
|
| +const char kOnGalleryChangedCheckingOK[] = "on_gallery_changed_checking_ok";
|
|
|
| // Test reply messages.
|
| const char kNoGalleryWatchesInstalled[] = "gallery_watchers_does_not_exists";
|
| const char kAddGalleryWatchRequestFailed[] = "add_watch_request_failed";
|
| +const char kAddGalleryWatchRequestRuntimeError[] =
|
| + "add_watch_request_runtime_error";
|
| const char kAddGalleryWatchRequestSucceeded[] = "add_watch_request_succeeded";
|
| const char kGalleryChangedEventReceived[] = "gallery_changed_event_received";
|
| const char kGalleryWatchesCheck[] = "gallery_watcher_checks";
|
|
|
| } // namespace
|
|
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| -// MediaGalleriesPrivateGalleryWatchApiTest //
|
| +// MediaGalleriesGalleryWatchApiTest //
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
| +class MediaGalleriesGalleryWatchApiTest : public ExtensionApiTest {
|
| public:
|
| - MediaGalleriesPrivateGalleryWatchApiTest()
|
| - : extension_(NULL),
|
| - background_host_(NULL) {
|
| - }
|
| - virtual ~MediaGalleriesPrivateGalleryWatchApiTest() {}
|
| + MediaGalleriesGalleryWatchApiTest()
|
| + : extension_(NULL), background_host_(NULL) {}
|
| + virtual ~MediaGalleriesGalleryWatchApiTest() {}
|
|
|
| protected:
|
| // ExtensionApiTest overrides.
|
| virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
|
| ExtensionApiTest::SetUpCommandLine(command_line);
|
| command_line->AppendSwitchASCII(
|
| - extensions::switches::kWhitelistedExtensionID,
|
| - kTestExtensionId);
|
| + extensions::switches::kWhitelistedExtensionID, kTestExtensionId);
|
| }
|
| virtual void SetUpOnMainThread() OVERRIDE {
|
| ExtensionApiTest::SetUpOnMainThread();
|
| @@ -116,17 +119,18 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
| base::FilePath gallery_file =
|
| 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());
|
| + int write_size =
|
| + base::WriteFile(gallery_file, content.c_str(), content.length());
|
| return (write_size == static_cast<int>(content.length()));
|
| }
|
|
|
| void SetupGalleryWatches() {
|
| - std::string expected_result = GalleryWatchesSupported() ?
|
| - kAddGalleryWatchRequestSucceeded : kAddGalleryWatchRequestFailed;
|
| + std::string expected_result = GalleryWatchesSupported()
|
| + ? kAddGalleryWatchRequestSucceeded
|
| + : kAddGalleryWatchRequestFailed;
|
|
|
| ExtensionTestMessageListener add_gallery_watch_finished(
|
| - expected_result, false /* no reply */);
|
| + expected_result, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kSetupWatchOnValidGalleriesCmd, kAddGalleryWatchOK);
|
| EXPECT_TRUE(add_gallery_watch_finished.WaitUntilSatisfied());
|
| }
|
| @@ -136,9 +140,9 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
| ASSERT_TRUE(extension_);
|
| extensions::ExtensionSystem* extension_system =
|
| extensions::ExtensionSystem::Get(browser()->profile());
|
| - background_host_ =
|
| - extension_system->process_manager()->GetBackgroundHostForExtension(
|
| - extension_->id())->render_view_host();
|
| + background_host_ = extension_system->process_manager()
|
| + ->GetBackgroundHostForExtension(extension_->id())
|
| + ->render_view_host();
|
| ASSERT_TRUE(background_host_);
|
| }
|
|
|
| @@ -152,25 +156,27 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
|
|
| 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);
|
| + 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 */);
|
| + kGetMediaFileSystemsCallbackOK, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetMediaFileSystemsCmd, kGetMediaFileSystemsOK);
|
| EXPECT_TRUE(get_media_systems_finished.WaitUntilSatisfied());
|
| }
|
| @@ -183,7 +189,7 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
|
|
| content::RenderViewHost* background_host_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateGalleryWatchApiTest);
|
| + DISALLOW_COPY_AND_ASSIGN(MediaGalleriesGalleryWatchApiTest);
|
| };
|
|
|
| // Crashing on OSX.
|
| @@ -192,17 +198,18 @@ class MediaGalleriesPrivateGalleryWatchApiTest : public ExtensionApiTest {
|
| #else
|
| #define MAYBE_BasicGalleryWatch BasicGalleryWatch
|
| #endif
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| MAYBE_BasicGalleryWatch) {
|
| - SetupGalleryWatches();
|
| -
|
| // Add gallery watch listener.
|
| ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| kAddGalleryChangedListenerOK);
|
|
|
| + SetupGalleryWatches();
|
| +
|
| // Modify gallery contents.
|
| ExtensionTestMessageListener gallery_change_event_received(
|
| - kGalleryChangedEventReceived, false /* no reply */);
|
| + kGalleryChangedEventReceived, false /* no reply */);
|
| +
|
| ASSERT_TRUE(AddNewFileInTestGallery());
|
| if (GalleryWatchesSupported())
|
| EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied());
|
| @@ -216,20 +223,38 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
|
| }
|
|
|
| -// http://crbug.com/390979
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| - DISABLED_RemoveListenerAndModifyGallery) {
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| + CorrectResponseOnModifyingWatchedGallery) {
|
| if (!GalleryWatchesSupported())
|
| return;
|
|
|
| + // Add gallery watch listener.
|
| + ExecuteCmdAndCheckReply(kAddCheckingGalleryChangedListenerCmd,
|
| + kAddGalleryChangedListenerOK);
|
| SetupGalleryWatches();
|
|
|
| +
|
| + // Modify gallery contents; expect correct details.
|
| + ExtensionTestMessageListener got_correct_details(
|
| + kOnGalleryChangedCheckingOK, false);
|
| + ASSERT_TRUE(AddNewFileInTestGallery());
|
| + EXPECT_TRUE(got_correct_details.WaitUntilSatisfied());
|
| +}
|
| +
|
| +// http://crbug.com/390979
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| + DISABLED_RemoveListenerAndModifyGallery) {
|
| + if (!GalleryWatchesSupported())
|
| + return;
|
| +
|
| // Add a gallery watch listener.
|
| ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| kAddGalleryChangedListenerOK);
|
| + SetupGalleryWatches();
|
| +
|
| // Modify gallery contents.
|
| ExtensionTestMessageListener gallery_change_event_received(
|
| - kGalleryChangedEventReceived, false /* no reply */);
|
| + kGalleryChangedEventReceived, false /* no reply */);
|
| ASSERT_TRUE(AddNewFileInTestGallery());
|
| EXPECT_TRUE(gallery_change_event_received.WaitUntilSatisfied());
|
|
|
| @@ -244,23 +269,16 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| SetupGalleryWatchWithoutListeners) {
|
| if (!GalleryWatchesSupported())
|
| return;
|
|
|
| - SetupGalleryWatches();
|
| -
|
| - // No listeners, modify gallery contents.
|
| - ExtensionTestMessageListener gallery_change_event_received(
|
| - kGalleryChangedEventReceived, false /* no reply */);
|
| - ASSERT_TRUE(AddNewFileInTestGallery());
|
| -
|
| - // Remove gallery watch.
|
| - ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
|
| + ExecuteCmdAndCheckReply(kSetupWatchOnUnlistenedValidGalleriesCmd,
|
| + kAddGalleryWatchRequestRuntimeError);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| SetupGalleryChangedListenerWithoutWatchers) {
|
| // Add gallery watch listener.
|
| ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| @@ -269,7 +287,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| // Modify gallery contents. Listener should not get called because add watch
|
| // request was not called.
|
| ExtensionTestMessageListener gallery_change_event_received(
|
| - kGalleryChangedEventReceived, false /* no reply */);
|
| + kGalleryChangedEventReceived, false /* no reply */);
|
| ASSERT_TRUE(AddNewFileInTestGallery());
|
|
|
| // Remove gallery watch listener.
|
| @@ -277,22 +295,26 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| kRemoveGalleryChangedListenerOK);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| SetupWatchOnInvalidGallery) {
|
| + // Add gallery watch listener.
|
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| + kAddGalleryChangedListenerOK);
|
| // Set up a invalid gallery watch.
|
| - ExtensionTestMessageListener invalid_gallery_watch_request_finished(
|
| - kAddGalleryWatchRequestFailed, false /* no reply */);
|
| - ExecuteCmdAndCheckReply(kSetupWatchOnInvalidGalleryCmd, kAddGalleryWatchOK);
|
| - EXPECT_TRUE(invalid_gallery_watch_request_finished.WaitUntilSatisfied());
|
| + ExecuteCmdAndCheckReply(
|
| + kSetupWatchOnInvalidGalleryCmd, kAddGalleryWatchRequestFailed);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| - GetAllGalleryWatch) {
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest, GetAllGalleryWatch) {
|
| + // Add gallery watch listener.
|
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| + kAddGalleryChangedListenerOK);
|
| +
|
| // Gallery watchers are not yet added.
|
| - // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return an empty
|
| + // chrome.mediaGalleries.getAllGalleryWatch should return an empty
|
| // list.
|
| ExtensionTestMessageListener initial_get_all_check_finished(
|
| - kNoGalleryWatchesInstalled, false /* no reply */);
|
| + kNoGalleryWatchesInstalled, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
|
| EXPECT_TRUE(initial_get_all_check_finished.WaitUntilSatisfied());
|
|
|
| @@ -301,10 +323,10 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
|
|
| SetupGalleryWatches();
|
|
|
| - // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the
|
| + // chrome.mediaGalleries.getAllGalleryWatch should return the
|
| // gallery identifiers.
|
| ExtensionTestMessageListener get_all_watched_galleries_finished(
|
| - kGalleryWatchesCheck, false /* no reply */);
|
| + kGalleryWatchesCheck, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
|
| EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied());
|
|
|
| @@ -312,35 +334,39 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| ExecuteCmdAndCheckReply(kRemoveGalleryWatchCmd, kRemoveGalleryWatchOK);
|
|
|
| // Gallery watchers removed.
|
| - // chrome.mediaGalleriesPrivate.getAllGalleryWatch() should return an empty
|
| + // chrome.mediaGalleries.getAllGalleryWatch() should return an empty
|
| // list.
|
| ExtensionTestMessageListener final_get_all_check_finished(
|
| - kNoGalleryWatchesInstalled, false /* no reply */);
|
| + kNoGalleryWatchesInstalled, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
|
| EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied());
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(MediaGalleriesPrivateGalleryWatchApiTest,
|
| +IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTest,
|
| RemoveAllGalleryWatch) {
|
| + // Add gallery watch listener.
|
| + ExecuteCmdAndCheckReply(kAddGalleryChangedListenerCmd,
|
| + kAddGalleryChangedListenerOK);
|
| +
|
| if (!GalleryWatchesSupported())
|
| return;
|
|
|
| SetupGalleryWatches();
|
|
|
| - // chrome.mediaGalleriesPrivate.getAllGalleryWatch should return the watched
|
| + // chrome.mediaGalleries.getAllGalleryWatch should return the watched
|
| // gallery identifiers.
|
| ExtensionTestMessageListener get_all_watched_galleries_finished(
|
| - kGalleryWatchesCheck, false /* no reply */);
|
| + kGalleryWatchesCheck, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
|
| EXPECT_TRUE(get_all_watched_galleries_finished.WaitUntilSatisfied());
|
|
|
| // Remove all gallery watchers.
|
| ExecuteCmdAndCheckReply(kRemoveAllGalleryWatchCmd, kRemoveAllGalleryWatchOK);
|
|
|
| - // Gallery watchers removed. chrome.mediaGalleriesPrivate.getAllGalleryWatch
|
| + // Gallery watchers removed. chrome.mediaGalleries.getAllGalleryWatch
|
| // should return an empty list.
|
| ExtensionTestMessageListener final_get_all_check_finished(
|
| - kNoGalleryWatchesInstalled, false /* no reply */);
|
| + kNoGalleryWatchesInstalled, false /* no reply */);
|
| ExecuteCmdAndCheckReply(kGetAllWatchedGalleryIdsCmd, kGetAllGalleryWatchOK);
|
| EXPECT_TRUE(final_get_all_check_finished.WaitUntilSatisfied());
|
| }
|
|
|