summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/active_tab_unittest.cc7
-rw-r--r--chrome/browser/extensions/api/permissions/permissions_api_helpers_unittest.cc18
-rw-r--r--chrome/browser/extensions/api/storage/settings_frontend_unittest.cc7
-rw-r--r--chrome/browser/extensions/component_loader_unittest.cc18
-rw-r--r--chrome/browser/extensions/convert_web_app_unittest.cc12
-rw-r--r--chrome/browser/extensions/extension_info_map_unittest.cc3
-rw-r--r--chrome/browser/extensions/extension_prefs_unittest.cc3
-rw-r--r--chrome/browser/extensions/extension_prefs_unittest.h3
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc7
-rw-r--r--chrome/browser/extensions/extension_service_unittest.h5
-rw-r--r--chrome/browser/extensions/extension_special_storage_policy_unittest.cc7
-rw-r--r--chrome/browser/extensions/extension_ui_unittest.cc11
-rw-r--r--chrome/browser/extensions/script_bubble_controller_unittest.cc6
-rw-r--r--chrome/browser/extensions/startup_helper.cc3
-rw-r--r--chrome/browser/extensions/user_script_listener_unittest.cc1
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: