diff options
Diffstat (limited to 'chrome/browser/extensions')
15 files changed, 58 insertions, 53 deletions
diff --git a/chrome/browser/extensions/active_tab_unittest.cc b/chrome/browser/extensions/active_tab_unittest.cc index de7dfa7..e3afb37 100644 --- a/chrome/browser/extensions/active_tab_unittest.cc +++ b/chrome/browser/extensions/active_tab_unittest.cc @@ -16,6 +16,8 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/features/feature.h" +#include "chrome/common/extensions/permissions/chrome_api_permissions.h" +#include "chrome/common/extensions/permissions/scoped_testing_permissions_info.h" #include "chrome/common/extensions/value_builder.h" #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "content/public/browser/browser_thread.h" @@ -55,7 +57,8 @@ scoped_refptr<const Extension> CreateTestExtension( class ActiveTabTest : public ChromeRenderViewHostTestHarness { public: ActiveTabTest() - : extension(CreateTestExtension("deadbeef", true)), + : permissions_info_(ChromeAPIPermissions()), + extension(CreateTestExtension("deadbeef", true)), another_extension(CreateTestExtension("feedbeef", true)), extension_without_active_tab(CreateTestExtension("badbeef", false)), ui_thread_(BrowserThread::UI, MessageLoop::current()) {} @@ -110,6 +113,8 @@ class ActiveTabTest : public ChromeRenderViewHostTestHarness { return extension->HasAPIPermissionForTab(tab_id, APIPermission::kTab); } + ScopedTestingPermissionsInfo permissions_info_; + // An extension with the activeTab permission. scoped_refptr<const Extension> extension; diff --git a/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc b/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc index 7169743..2cfc545 100644 --- a/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc +++ b/chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc @@ -6,18 +6,17 @@ #include "base/values.h" #include "chrome/browser/extensions/api/permissions/permissions_api_helpers.h" #include "chrome/common/extensions/api/permissions.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/extensions/permissions/permission_set.h" #include "extensions/common/url_pattern_set.h" #include "googleurl/src/gurl.h" #include "testing/gtest/include/gtest/gtest.h" +using extensions::api::permissions::Permissions; using extensions::permissions_api_helpers::PackPermissionSet; using extensions::permissions_api_helpers::UnpackPermissionSet; -using extensions::api::permissions::Permissions; -using extensions::APIPermission; -using extensions::APIPermissionSet; -using extensions::PermissionSet; -using extensions::URLPatternSet; + +namespace extensions { namespace { @@ -28,8 +27,11 @@ static void AddPattern(URLPatternSet* extent, const std::string& pattern) { } // namespace +class ExtensionPermissionsAPIHelpers : public ExtensionTest { +}; + // Tests that we can convert PermissionSets to and from values. -TEST(ExtensionPermissionsAPIHelpers, Pack) { +TEST_F(ExtensionPermissionsAPIHelpers, Pack) { APIPermissionSet apis; apis.insert(APIPermission::kTab); apis.insert(APIPermission::kWebRequest); @@ -78,7 +80,7 @@ TEST(ExtensionPermissionsAPIHelpers, Pack) { // Tests various error conditions and edge cases when unpacking values // into PermissionSets. -TEST(ExtensionPermissionsAPIHelpers, Unpack) { +TEST_F(ExtensionPermissionsAPIHelpers, Unpack) { scoped_ptr<ListValue> apis(new ListValue()); apis->Append(Value::CreateStringValue("tabs")); scoped_ptr<ListValue> origins(new ListValue()); @@ -173,3 +175,5 @@ TEST(ExtensionPermissionsAPIHelpers, Unpack) { EXPECT_EQ(error, "'unknown_permission' is not a recognized permission."); } } + +} // namespace extensions diff --git a/chrome/browser/extensions/api/storage/settings_frontend_unittest.cc b/chrome/browser/extensions/api/storage/settings_frontend_unittest.cc index d572711..08f3986 100644 --- a/chrome/browser/extensions/api/storage/settings_frontend_unittest.cc +++ b/chrome/browser/extensions/api/storage/settings_frontend_unittest.cc @@ -14,6 +14,7 @@ #include "chrome/browser/extensions/api/storage/settings_test_util.h" #include "chrome/browser/value_store/value_store.h" #include "chrome/common/chrome_notification_types.h" +#include "chrome/common/extensions/extension_unittest.h" #include "content/public/test/test_browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" @@ -49,14 +50,15 @@ scoped_ptr<Value> CreateMegabyte() { } -class ExtensionSettingsFrontendTest : public testing::Test { +class ExtensionSettingsFrontendTest : public ExtensionTest { public: - ExtensionSettingsFrontendTest() + ExtensionSettingsFrontendTest() : storage_factory_(new util::ScopedSettingsStorageFactory()), ui_thread_(BrowserThread::UI, MessageLoop::current()), file_thread_(BrowserThread::FILE, MessageLoop::current()) {} virtual void SetUp() OVERRIDE { + ExtensionTest::SetUp(); ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); profile_.reset(new util::MockProfile(temp_dir_.path())); ResetFrontend(); @@ -67,6 +69,7 @@ class ExtensionSettingsFrontendTest : public testing::Test { profile_.reset(); // Execute any pending deletion tasks. message_loop_.RunUntilIdle(); + ExtensionTest::TearDown(); } protected: diff --git a/chrome/browser/extensions/component_loader_unittest.cc b/chrome/browser/extensions/component_loader_unittest.cc index 9b2b980..bedcfee 100644 --- a/chrome/browser/extensions/component_loader_unittest.cc +++ b/chrome/browser/extensions/component_loader_unittest.cc @@ -14,8 +14,7 @@ #include "chrome/common/extensions/background_info.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_set.h" -#include "chrome/common/extensions/incognito_handler.h" -#include "chrome/common/extensions/manifest_handler.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_pref_service_syncable.h" #include "components/user_prefs/pref_registry_syncable.h" @@ -74,18 +73,16 @@ class MockExtensionService : public TestExtensionService { } // namespace -class ComponentLoaderTest : public testing::Test { +class ComponentLoaderTest : public ExtensionTest { public: - ComponentLoaderTest() : + ComponentLoaderTest() // Note: we pass the same pref service here, to stand in for both // user prefs and local state. - component_loader_(&extension_service_, &prefs_, &local_state_) { + : component_loader_(&extension_service_, &prefs_, &local_state_) { } virtual void SetUp() OVERRIDE { - (new BackgroundManifestHandler)->Register(); - (new IncognitoHandler)->Register(); - + ExtensionTest::SetUp(); extension_path_ = GetBasePath().AppendASCII("good") .AppendASCII("Extensions") @@ -114,11 +111,6 @@ class ComponentLoaderTest : public testing::Test { #endif } - virtual void TearDown() OVERRIDE { - ManifestHandler::ClearRegistryForTesting(); - testing::Test::TearDown(); - } - protected: MockExtensionService extension_service_; TestingPrefServiceSyncable prefs_; diff --git a/chrome/browser/extensions/convert_web_app_unittest.cc b/chrome/browser/extensions/convert_web_app_unittest.cc index fbb5128..6ba83b6 100644 --- a/chrome/browser/extensions/convert_web_app_unittest.cc +++ b/chrome/browser/extensions/convert_web_app_unittest.cc @@ -19,6 +19,7 @@ #include "chrome/common/extensions/api/icons/icons_handler.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_icon_set.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/extensions/permissions/permission_set.h" #include "chrome/common/web_apps.h" #include "extensions/common/extension_resource.h" @@ -80,17 +81,12 @@ base::Time GetTestTime(int year, int month, int day, int hour, int minute, } // namespace -class ExtensionFromWebApp : public ::testing::Test { - public: +class ExtensionFromWebApp : public ExtensionTest { + protected: virtual void SetUp() OVERRIDE { - testing::Test::SetUp(); + ExtensionTest::SetUp(); (new IconsHandler)->Register(); } - - virtual void TearDown() OVERRIDE { - ManifestHandler::ClearRegistryForTesting(); - testing::Test::TearDown(); - } }; TEST_F(ExtensionFromWebApp, GenerateVersion) { diff --git a/chrome/browser/extensions/extension_info_map_unittest.cc b/chrome/browser/extensions/extension_info_map_unittest.cc index d88f32a..8c6e545 100644 --- a/chrome/browser/extensions/extension_info_map_unittest.cc +++ b/chrome/browser/extensions/extension_info_map_unittest.cc @@ -9,6 +9,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_manifest_constants.h" +#include "chrome/common/extensions/extension_unittest.h" #include "content/public/test/test_browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebString.h" @@ -25,7 +26,7 @@ namespace keys = extension_manifest_keys; namespace { -class ExtensionInfoMapTest : public testing::Test { +class ExtensionInfoMapTest : public extensions::ExtensionTest { public: ExtensionInfoMapTest() : ui_thread_(BrowserThread::UI, &message_loop_), diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc index 37639c6..173f8f4 100644 --- a/chrome/browser/extensions/extension_prefs_unittest.cc +++ b/chrome/browser/extensions/extension_prefs_unittest.cc @@ -20,7 +20,6 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension_manifest_constants.h" #include "chrome/common/extensions/permissions/permission_set.h" -#include "chrome/common/extensions/permissions/permissions_info.h" #include "components/user_prefs/pref_registry_syncable.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_source.h" @@ -64,6 +63,7 @@ ExtensionPrefsTest::~ExtensionPrefsTest() { void ExtensionPrefsTest::RegisterPreferences(PrefRegistrySyncable* registry) {} void ExtensionPrefsTest::SetUp() { + ExtensionTest::SetUp(); RegisterPreferences(prefs_.pref_registry()); Initialize(); } @@ -78,6 +78,7 @@ void ExtensionPrefsTest::TearDown() { Verify(); prefs_.pref_service()->CommitPendingWrite(); message_loop_.RunUntilIdle(); + ExtensionTest::TearDown(); } // Tests the LastPingDay/SetLastPingDay functions. diff --git a/chrome/browser/extensions/extension_prefs_unittest.h b/chrome/browser/extensions/extension_prefs_unittest.h index c199d19..86b622b 100644 --- a/chrome/browser/extensions/extension_prefs_unittest.h +++ b/chrome/browser/extensions/extension_prefs_unittest.h @@ -7,6 +7,7 @@ #include "base/message_loop.h" #include "chrome/browser/extensions/test_extension_prefs.h" +#include "chrome/common/extensions/extension_unittest.h" #include "content/public/test/test_browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" @@ -20,7 +21,7 @@ namespace extensions { class Extension; // Base class for extension preference-related unit tests. -class ExtensionPrefsTest : public testing::Test { +class ExtensionPrefsTest : public ExtensionTest { public: ExtensionPrefsTest(); virtual ~ExtensionPrefsTest(); diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc index b1253eb..a6068b5 100644 --- a/chrome/browser/extensions/extension_service_unittest.cc +++ b/chrome/browser/extensions/extension_service_unittest.cc @@ -68,7 +68,6 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_l10n_util.h" #include "chrome/common/extensions/extension_manifest_constants.h" -#include "chrome/common/extensions/manifest_handler.h" #include "chrome/common/extensions/manifest_handlers/content_scripts_handler.h" #include "chrome/common/extensions/manifest_handlers/requirements_handler.h" #include "chrome/common/extensions/manifest_url_handler.h" @@ -548,7 +547,7 @@ void ExtensionServiceTestBase::SetUpTestCase() { } void ExtensionServiceTestBase::SetUp() { - testing::Test::SetUp(); + ExtensionTest::SetUp(); ExtensionErrorReporter::GetInstance()->ClearErrors(); (new extensions::BackgroundManifestHandler)->Register(); (new extensions::ContentScriptsHandler)->Register(); @@ -557,10 +556,6 @@ void ExtensionServiceTestBase::SetUp() { (new extensions::RequirementsHandler)->Register(); } -void ExtensionServiceTestBase::TearDown() { - extensions::ManifestHandler::ClearRegistryForTesting(); -} - class ExtensionServiceTest : public ExtensionServiceTestBase, public content::NotificationObserver { public: diff --git a/chrome/browser/extensions/extension_service_unittest.h b/chrome/browser/extensions/extension_service_unittest.h index f5bd434..6f46f77 100644 --- a/chrome/browser/extensions/extension_service_unittest.h +++ b/chrome/browser/extensions/extension_service_unittest.h @@ -12,6 +12,7 @@ #include "base/memory/scoped_ptr.h" #include "base/message_loop.h" #include "chrome/browser/extensions/extension_service.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/extensions/feature_switch.h" #include "content/public/test/test_browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" @@ -22,7 +23,7 @@ namespace extensions { class ManagementPolicy; } -class ExtensionServiceTestBase : public testing::Test { +class ExtensionServiceTestBase : public extensions::ExtensionTest { public: ExtensionServiceTestBase(); virtual ~ExtensionServiceTestBase(); @@ -48,8 +49,6 @@ class ExtensionServiceTestBase : public testing::Test { virtual void SetUp() OVERRIDE; - virtual void TearDown() OVERRIDE; - void set_extensions_enabled(bool enabled) { service_->set_extensions_enabled(enabled); } diff --git a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc index 62cd4f1..e61f8d0 100644 --- a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc +++ b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc @@ -10,6 +10,7 @@ #include "chrome/common/content_settings_types.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_manifest_constants.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/extensions/manifest.h" #include "chrome/common/extensions/manifest_handler.h" #include "chrome/test/base/testing_profile.h" @@ -22,13 +23,13 @@ using extensions::Manifest; namespace keys = extension_manifest_keys; -class ExtensionSpecialStoragePolicyTest : public testing::Test { - public: +class ExtensionSpecialStoragePolicyTest : public extensions::ExtensionTest { + protected: virtual void SetUp() { + extensions::ExtensionTest::SetUp(); policy_ = new ExtensionSpecialStoragePolicy(NULL); } - protected: scoped_refptr<Extension> CreateProtectedApp() { #if defined(OS_WIN) base::FilePath path(FILE_PATH_LITERAL("c:\\foo")); diff --git a/chrome/browser/extensions/extension_ui_unittest.cc b/chrome/browser/extensions/extension_ui_unittest.cc index a623506..b91cc7f 100644 --- a/chrome/browser/extensions/extension_ui_unittest.cc +++ b/chrome/browser/extensions/extension_ui_unittest.cc @@ -13,7 +13,7 @@ #include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension.h" -#include "chrome/common/extensions/manifest_handler.h" +#include "chrome/common/extensions/extension_unittest.h" #include "chrome/common/extensions/manifest_handlers/content_scripts_handler.h" #include "chrome/test/base/testing_profile.h" #include "content/public/test/test_browser_thread.h" @@ -23,15 +23,15 @@ using extensions::Extension; using extensions::Manifest; -class ExtensionUITest : public testing::Test { +class ExtensionUITest : public extensions::ExtensionTest { public: ExtensionUITest() : ui_thread_(content::BrowserThread::UI, &message_loop_), - file_thread_(content::BrowserThread::FILE, &message_loop_) {} + file_thread_(content::BrowserThread::FILE, &message_loop_) {} protected: virtual void SetUp() OVERRIDE { - testing::Test::SetUp(); + ExtensionTest::SetUp(); // Create an ExtensionService and ManagementPolicy to inject into the // ExtensionSettingsHandler. @@ -54,8 +54,7 @@ class ExtensionUITest : public testing::Test { profile_.reset(); // Execute any pending deletion tasks. message_loop_.RunUntilIdle(); - extensions::ManifestHandler::ClearRegistryForTesting(); - testing::Test::TearDown(); + ExtensionTest::TearDown(); } static DictionaryValue* DeserializeJSONTestData(const base::FilePath& path, diff --git a/chrome/browser/extensions/script_bubble_controller_unittest.cc b/chrome/browser/extensions/script_bubble_controller_unittest.cc index 12bc49d..4843209 100644 --- a/chrome/browser/extensions/script_bubble_controller_unittest.cc +++ b/chrome/browser/extensions/script_bubble_controller_unittest.cc @@ -18,6 +18,8 @@ #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/feature_switch.h" +#include "chrome/common/extensions/permissions/chrome_api_permissions.h" +#include "chrome/common/extensions/permissions/scoped_testing_permissions_info.h" #include "chrome/common/extensions/value_builder.h" #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "chrome/test/base/testing_profile.h" @@ -35,7 +37,8 @@ class ScriptBubbleControllerTest : public ChromeRenderViewHostTestHarness { ScriptBubbleControllerTest() : ui_thread_(BrowserThread::UI, MessageLoop::current()), file_thread_(BrowserThread::FILE, MessageLoop::current()), - enable_script_bubble_(FeatureSwitch::script_bubble(), true) { + enable_script_bubble_(FeatureSwitch::script_bubble(), true), + permissions_info_(ChromeAPIPermissions()) { } virtual void SetUp() OVERRIDE { @@ -66,6 +69,7 @@ class ScriptBubbleControllerTest : public ChromeRenderViewHostTestHarness { content::TestBrowserThread ui_thread_; content::TestBrowserThread file_thread_; FeatureSwitch::ScopedOverride enable_script_bubble_; + ScopedTestingPermissionsInfo permissions_info_; }; TEST_F(ScriptBubbleControllerTest, Basics) { diff --git a/chrome/browser/extensions/startup_helper.cc b/chrome/browser/extensions/startup_helper.cc index 42a51b4..5ef51ec 100644 --- a/chrome/browser/extensions/startup_helper.cc +++ b/chrome/browser/extensions/startup_helper.cc @@ -22,6 +22,7 @@ #include "chrome/common/extensions/background_info.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/incognito_handler.h" +#include "chrome/common/extensions/permissions/chrome_api_permissions.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h" #include "ipc/ipc_message.h" @@ -39,6 +40,8 @@ void PrintPackExtensionMessage(const std::string& message) { namespace extensions { StartupHelper::StartupHelper() : pack_job_succeeded_(false) { + PermissionsInfo::GetInstance()->InitializeWithDelegate( + ChromeAPIPermissions()); (new DefaultLocaleHandler)->Register(); (new BackgroundManifestHandler)->Register(); (new IncognitoHandler)->Register(); diff --git a/chrome/browser/extensions/user_script_listener_unittest.cc b/chrome/browser/extensions/user_script_listener_unittest.cc index b446646..06d46f49 100644 --- a/chrome/browser/extensions/user_script_listener_unittest.cc +++ b/chrome/browser/extensions/user_script_listener_unittest.cc @@ -151,6 +151,7 @@ class UserScriptListenerTest : public ExtensionServiceTestBase { virtual void TearDown() OVERRIDE { listener_ = NULL; MessageLoop::current()->RunUntilIdle(); + ExtensionServiceTestBase::TearDown(); } protected: |