Replace bools in extension creation with flags.
Turn require_key and strict_error_checks bool params of Extension::
InitFromValue, Extension::Create and extension_file_util::LoadExtension into a
flags parameter.
BUG=None
TEST=compiles
[email protected]
Review URL: http://codereview.chromium.org/6766002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79638 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/background_application_list_model_unittest.cc b/chrome/browser/background_application_list_model_unittest.cc
index b994189..a552bccc 100644
--- a/chrome/browser/background_application_list_model_unittest.cc
+++ b/chrome/browser/background_application_list_model_unittest.cc
@@ -89,8 +89,8 @@
}
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
- bogus_file_path().AppendASCII(name), Extension::INVALID, manifest, false,
- true, &error);
+ bogus_file_path().AppendASCII(name), Extension::INVALID, manifest,
+ Extension::STRICT_ERROR_CHECKS, &error);
// Cannot ASSERT_* here because that attempts an illegitimate return.
// Cannot EXPECT_NE here because that assumes non-pointers unlike EXPECT_EQ
EXPECT_TRUE(extension.get() != NULL) << error;
diff --git a/chrome/browser/extensions/convert_user_script.cc b/chrome/browser/extensions/convert_user_script.cc
index a09134b5..3f89b74 100644
--- a/chrome/browser/extensions/convert_user_script.cc
+++ b/chrome/browser/extensions/convert_user_script.cc
@@ -150,8 +150,7 @@
temp_dir.path(),
Extension::INTERNAL,
*root,
- false, // Do not require key
- false, // Disable strict checks
+ Extension::NO_FLAGS,
error);
if (!extension) {
NOTREACHED() << "Could not init extension " << *error;
diff --git a/chrome/browser/extensions/convert_web_app.cc b/chrome/browser/extensions/convert_web_app.cc
index f3277f8..27a0fc9 100644
--- a/chrome/browser/extensions/convert_web_app.cc
+++ b/chrome/browser/extensions/convert_web_app.cc
@@ -171,8 +171,7 @@
temp_dir.path(),
Extension::INTERNAL,
*root,
- false, // Don't require a key.
- true, // Enable strict error checks.
+ Extension::STRICT_ERROR_CHECKS,
&error);
if (!extension) {
LOG(ERROR) << error;
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 3876dc5..affc4d0 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -386,8 +386,7 @@
extension_ = extension_file_util::LoadExtension(
version_dir,
install_source_,
- true, // Require key
- false, // Disable strict error checks
+ Extension::REQUIRE_KEY,
&error);
CHECK(error.empty()) << error;
diff --git a/chrome/browser/extensions/extension_creator.cc b/chrome/browser/extensions/extension_creator.cc
index d7d56c9c..4aa7d8c9 100644
--- a/chrome/browser/extensions/extension_creator.cc
+++ b/chrome/browser/extensions/extension_creator.cc
@@ -66,8 +66,7 @@
scoped_refptr<Extension> extension(
extension_file_util::LoadExtension(absolute_extension_dir,
Extension::INTERNAL,
- false, // key not required
- true, // enable strict error checks
+ Extension::STRICT_ERROR_CHECKS,
&error_message_));
if (!extension.get())
return false; // LoadExtension already set error_message_.
diff --git a/chrome/browser/extensions/extension_icon_manager_unittest.cc b/chrome/browser/extensions/extension_icon_manager_unittest.cc
index 490eebc7..9793131 100644
--- a/chrome/browser/extensions/extension_icon_manager_unittest.cc
+++ b/chrome/browser/extensions/extension_icon_manager_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -111,7 +111,7 @@
scoped_refptr<Extension> extension(Extension::Create(
manifest_path.DirName(), Extension::INVALID, *manifest.get(),
- false, true, NULL));
+ Extension::STRICT_ERROR_CHECKS, NULL));
ASSERT_TRUE(extension.get());
TestIconManager icon_manager(this);
diff --git a/chrome/browser/extensions/extension_info_map_unittest.cc b/chrome/browser/extensions/extension_info_map_unittest.cc
index dd814d17..d8909e65 100644
--- a/chrome/browser/extensions/extension_info_map_unittest.cc
+++ b/chrome/browser/extensions/extension_info_map_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -42,8 +42,8 @@
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
- path.AppendASCII(name), Extension::INVALID, manifest, false, true,
- &error);
+ path.AppendASCII(name), Extension::INVALID, manifest,
+ Extension::STRICT_ERROR_CHECKS, &error);
EXPECT_TRUE(extension) << error;
return extension;
@@ -65,7 +65,7 @@
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
path, Extension::INVALID, *static_cast<DictionaryValue*>(result.get()),
- false, true, &error);
+ Extension::STRICT_ERROR_CHECKS, &error);
EXPECT_TRUE(extension) << error;
return extension;
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 40e30363..551146b 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -627,13 +627,13 @@
ext1_scoped_ = Extension::Create(
prefs_.temp_dir().AppendASCII("ext1_"), Extension::EXTERNAL_PREF,
- simple_dict, false, true, &error);
+ simple_dict, Extension::STRICT_ERROR_CHECKS, &error);
ext2_scoped_ = Extension::Create(
prefs_.temp_dir().AppendASCII("ext2_"), Extension::EXTERNAL_PREF,
- simple_dict, false, true, &error);
+ simple_dict, Extension::STRICT_ERROR_CHECKS, &error);
ext3_scoped_ = Extension::Create(
prefs_.temp_dir().AppendASCII("ext3_"), Extension::EXTERNAL_PREF,
- simple_dict, false, true, &error);
+ simple_dict, Extension::STRICT_ERROR_CHECKS, &error);
ext1_ = ext1_scoped_.get();
ext2_ = ext2_scoped_.get();
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index ed0d286..cb99385 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -199,12 +199,14 @@
FilePath extension_path = path_in;
file_util::AbsolutePath(&extension_path);
+ int flags = Extension::NO_FLAGS;
+ if (Extension::ShouldDoStrictErrorChecking(Extension::LOAD))
+ flags |= Extension::STRICT_ERROR_CHECKS;
std::string error;
scoped_refptr<const Extension> extension(extension_file_util::LoadExtension(
extension_path,
Extension::LOAD,
- false, // Don't require id
- Extension::ShouldDoStrictErrorChecking(Extension::LOAD),
+ flags,
&error));
if (!extension) {
@@ -744,13 +746,15 @@
return;
}
+ int flags = Extension::REQUIRE_KEY;
+ if (Extension::ShouldDoStrictErrorChecking(Extension::COMPONENT))
+ flags |= Extension::STRICT_ERROR_CHECKS;
std::string error;
scoped_refptr<const Extension> extension(Extension::Create(
info.root_directory,
Extension::COMPONENT,
*static_cast<DictionaryValue*>(manifest.get()),
- true, // Require key
- Extension::ShouldDoStrictErrorChecking(Extension::COMPONENT),
+ flags,
&error));
if (!extension.get()) {
NOTREACHED() << error;
@@ -791,13 +795,15 @@
// thread.
base::ThreadRestrictions::ScopedAllowIO allow_io;
+ int flags = Extension::NO_FLAGS;
+ if (Extension::ShouldDoStrictErrorChecking(info->extension_location))
+ flags |= Extension::STRICT_ERROR_CHECKS;
std::string error;
scoped_refptr<const Extension> extension(
extension_file_util::LoadExtension(
info->extension_path,
info->extension_location,
- false, // Don't require key
- Extension::ShouldDoStrictErrorChecking(info->extension_location),
+ flags,
&error));
if (extension.get()) {
@@ -911,13 +917,16 @@
if (!extension_prefs_->IsExtensionAllowedByPolicy(info.extension_id)) {
error = errors::kDisabledByPolicy;
} else if (info.extension_manifest.get()) {
- bool require_key = info.extension_location != Extension::LOAD;
+ int flags = Extension::NO_FLAGS;
+ if (info.extension_location != Extension::LOAD)
+ flags |= Extension::REQUIRE_KEY;
+ if (Extension::ShouldDoStrictErrorChecking(info.extension_location))
+ flags |= Extension::STRICT_ERROR_CHECKS;
extension = Extension::Create(
info.extension_path,
info.extension_location,
*info.extension_manifest,
- require_key,
- Extension::ShouldDoStrictErrorChecking(info.extension_location),
+ flags,
&error);
} else {
error = errors::kManifestUnreadable;
diff --git a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
index 3a77b25..3f34ccf 100644
--- a/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
+++ b/chrome/browser/extensions/extension_special_storage_policy_unittest.cc
@@ -28,7 +28,8 @@
manifest.Set(keys::kWebURLs, list);
std::string error;
scoped_refptr<Extension> protected_app = Extension::Create(
- path, Extension::INVALID, manifest, false, true, &error);
+ path, Extension::INVALID, manifest, Extension::STRICT_ERROR_CHECKS,
+ &error);
EXPECT_TRUE(protected_app.get()) << error;
return protected_app;
}
@@ -52,7 +53,8 @@
manifest.Set(keys::kWebURLs, list);
std::string error;
scoped_refptr<Extension> unlimited_app = Extension::Create(
- path, Extension::INVALID, manifest, false, true, &error);
+ path, Extension::INVALID, manifest, Extension::STRICT_ERROR_CHECKS,
+ &error);
EXPECT_TRUE(unlimited_app.get()) << error;
return unlimited_app;
}
diff --git a/chrome/browser/extensions/extension_ui_unittest.cc b/chrome/browser/extensions/extension_ui_unittest.cc
index b2ae1c5..a9b65ce 100644
--- a/chrome/browser/extensions/extension_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_ui_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -42,7 +42,8 @@
EXPECT_EQ("", error);
scoped_refptr<Extension> extension(Extension::Create(
- path, Extension::INVALID, *extension_data, true, true, &error));
+ path, Extension::INVALID, *extension_data,
+ Extension::REQUIRE_KEY | Extension::STRICT_ERROR_CHECKS, &error));
EXPECT_TRUE(extension.get());
EXPECT_EQ("", error);
diff --git a/chrome/browser/extensions/image_loading_tracker_unittest.cc b/chrome/browser/extensions/image_loading_tracker_unittest.cc
index ed20d00..25d2f6d1 100644
--- a/chrome/browser/extensions/image_loading_tracker_unittest.cc
+++ b/chrome/browser/extensions/image_loading_tracker_unittest.cc
@@ -74,8 +74,8 @@
if (!valid_value.get())
return NULL;
- return Extension::Create(
- test_file, Extension::INVALID, *valid_value, false, true, &error);
+ return Extension::Create(test_file, Extension::INVALID, *valid_value,
+ Extension::STRICT_ERROR_CHECKS, &error);
}
SkBitmap image_;
diff --git a/chrome/browser/extensions/sandboxed_extension_unpacker.cc b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
index 739eb79..8b42d5e 100644
--- a/chrome/browser/extensions/sandboxed_extension_unpacker.cc
+++ b/chrome/browser/extensions/sandboxed_extension_unpacker.cc
@@ -184,8 +184,7 @@
extension_root_,
Extension::INTERNAL,
*final_manifest,
- true, // Require key
- false, // Disable strict error checks
+ Extension::REQUIRE_KEY,
&error);
if (!extension_.get()) {
diff --git a/chrome/browser/extensions/test_extension_prefs.cc b/chrome/browser/extensions/test_extension_prefs.cc
index 4acac36b..7b454f1d2 100644
--- a/chrome/browser/extensions/test_extension_prefs.cc
+++ b/chrome/browser/extensions/test_extension_prefs.cc
@@ -108,7 +108,7 @@
FilePath path = extensions_dir_.AppendASCII(name);
std::string errors;
scoped_refptr<Extension> extension = Extension::Create(
- path, location, manifest, false, true, &errors);
+ path, location, manifest, Extension::STRICT_ERROR_CHECKS, &errors);
EXPECT_TRUE(extension);
if (!extension)
return NULL;
diff --git a/chrome/browser/sync/glue/extension_util_unittest.cc b/chrome/browser/sync/glue/extension_util_unittest.cc
index 2ca92dd..b72b7a8 100644
--- a/chrome/browser/sync/glue/extension_util_unittest.cc
+++ b/chrome/browser/sync/glue/extension_util_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -71,7 +71,7 @@
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
- extension_path, location, source, false, true, &error);
+ extension_path, location, source, Extension::STRICT_ERROR_CHECKS, &error);
#if defined(OS_CHROMEOS)
if (num_plugins > 0) { // plugins are illegal in extensions on chrome os.
EXPECT_FALSE(extension);
@@ -386,7 +386,8 @@
source.SetString(extension_manifest_keys::kName, name);
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
- extension_path, Extension::INTERNAL, source, false, true, &error);
+ extension_path, Extension::INTERNAL, source,
+ Extension::STRICT_ERROR_CHECKS, &error);
EXPECT_TRUE(extension);
EXPECT_EQ("", error);
return extension;
diff --git a/chrome/browser/sync/glue/theme_util_unittest.cc b/chrome/browser/sync/glue/theme_util_unittest.cc
index f9548cec8..5c83117 100644
--- a/chrome/browser/sync/glue/theme_util_unittest.cc
+++ b/chrome/browser/sync/glue/theme_util_unittest.cc
@@ -35,7 +35,8 @@
source.SetString(extension_manifest_keys::kVersion, "0.0.0.0");
std::string error;
scoped_refptr<Extension> extension = Extension::Create(
- extension_path, Extension::INTERNAL, source, false, true, &error);
+ extension_path, Extension::INTERNAL, source,
+ Extension::STRICT_ERROR_CHECKS, &error);
EXPECT_TRUE(extension);
EXPECT_EQ("", error);
return extension;
diff --git a/chrome/browser/sync/util/extensions_activity_monitor_unittest.cc b/chrome/browser/sync/util/extensions_activity_monitor_unittest.cc
index 67585ae..b7e8e7c2 100644
--- a/chrome/browser/sync/util/extensions_activity_monitor_unittest.cc
+++ b/chrome/browser/sync/util/extensions_activity_monitor_unittest.cc
@@ -73,8 +73,8 @@
input.SetString(keys::kVersion, kTestExtensionVersion);
input.SetString(keys::kName, kTestExtensionName);
scoped_refptr<Extension> extension(Extension::Create(
- FilePath(extension_path), Extension::INVALID, input, false, true,
- &error));
+ FilePath(extension_path), Extension::INVALID, input,
+ Extension::STRICT_ERROR_CHECKS, &error));
bookmarks_function->set_name(T::function_name());
base::WaitableEvent done_event(false, false);
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
@@ -132,8 +132,8 @@
input.SetString(keys::kVersion, kTestExtensionVersion);
input.SetString(keys::kName, kTestExtensionName);
scoped_refptr<Extension> extension(Extension::Create(
- FilePath(extension_path), Extension::INVALID, input, false, true,
- &error));
+ FilePath(extension_path), Extension::INVALID, input,
+ Extension::STRICT_ERROR_CHECKS, &error));
EXPECT_EQ("", error);
return extension->id();
}
diff --git a/chrome/browser/themes/browser_theme_pack_unittest.cc b/chrome/browser/themes/browser_theme_pack_unittest.cc
index 492cf06..842833b 100644
--- a/chrome/browser/themes/browser_theme_pack_unittest.cc
+++ b/chrome/browser/themes/browser_theme_pack_unittest.cc
@@ -406,8 +406,8 @@
EXPECT_EQ("", error);
ASSERT_TRUE(valid_value.get());
scoped_refptr<Extension> extension(Extension::Create(
- star_gazing_path, Extension::INVALID, *valid_value, true, true,
- &error));
+ star_gazing_path, Extension::INVALID, *valid_value,
+ Extension::REQUIRE_KEY | Extension::STRICT_ERROR_CHECKS, &error));
ASSERT_TRUE(extension.get());
ASSERT_EQ("", error);
diff --git a/chrome/browser/ui/cocoa/extensions/extension_install_prompt_controller_unittest.mm b/chrome/browser/ui/cocoa/extensions/extension_install_prompt_controller_unittest.mm
index f11aeb4..aaa9aa3 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_install_prompt_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_install_prompt_controller_unittest.mm
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -60,8 +60,8 @@
return;
}
- extension_ = Extension::Create(
- path.DirName(), Extension::INVALID, *value, false, true, &error);
+ extension_ = Extension::Create(path.DirName(), Extension::INVALID, *value,
+ Extension::STRICT_ERROR_CHECKS, &error);
if (!extension_.get()) {
LOG(ERROR) << error;
return;
diff --git a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm
index 9242796..1205c58 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controller_unittest.mm
@@ -100,8 +100,8 @@
}
std::string error;
- return Extension::Create(
- path, Extension::INVALID, extension_input_value, false, true, &error);
+ return Extension::Create(path, Extension::INVALID, extension_input_value,
+ Extension::STRICT_ERROR_CHECKS, &error);
}
// Allows us to create the window and browser for testing.