Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: chrome/common/extensions/extension_test_util.cc

Issue 14358004: Almost all actions in Declarative Web Request require all_urls host permissions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: All URLs -> all hosts; also rebased Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/extension_test_util.h ('k') | chrome/common/extensions/extension_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/extension_test_util.cc
diff --git a/chrome/common/extensions/extension_test_util.cc b/chrome/common/extensions/extension_test_util.cc
index 621db1efe712742e4c6b36cea14b0e8d6e9b0de4..b9b0425605740643b6acc7594b6a01dfd72000c1 100644
--- a/chrome/common/extensions/extension_test_util.cc
+++ b/chrome/common/extensions/extension_test_util.cc
@@ -2,13 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "chrome/common/extensions/extension_test_util.h"
+
+#include "base/files/file_path.h"
+#include "base/json/json_file_value_serializer.h"
+#include "base/path_service.h"
#include "base/values.h"
+#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_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
using extensions::Extension;
+using extensions::Manifest;
namespace extension_test_util {
@@ -21,4 +27,65 @@ scoped_refptr<Extension> CreateExtensionWithID(std::string id) {
values, Extension::NO_FLAGS, id, &error);
}
+scoped_refptr<Extension> LoadManifestUnchecked(const std::string& dir,
+ const std::string& test_file,
+ Manifest::Location location,
+ int extra_flags,
+ const std::string& id,
+ std::string* error) {
+ base::FilePath path;
+ PathService::Get(chrome::DIR_TEST_DATA, &path);
+ path = path.AppendASCII("extensions")
+ .AppendASCII(dir)
+ .AppendASCII(test_file);
+
+ JSONFileValueSerializer serializer(path);
+ scoped_ptr<Value> result(serializer.Deserialize(NULL, error));
+ if (!result)
+ return NULL;
+ const DictionaryValue* dict;
+ CHECK(result->GetAsDictionary(&dict));
+
+ scoped_refptr<Extension> extension = Extension::Create(
+ path.DirName(), location, *dict, extra_flags, id, error);
+ return extension;
+}
+
+scoped_refptr<Extension> LoadManifestUnchecked(const std::string& dir,
+ const std::string& test_file,
+ Manifest::Location location,
+ int extra_flags,
+ std::string* error) {
+ return LoadManifestUnchecked(
+ dir, test_file, location, extra_flags, std::string(), error);
+}
+
+scoped_refptr<Extension> LoadManifest(const std::string& dir,
+ const std::string& test_file,
+ Manifest::Location location,
+ int extra_flags) {
+ std::string error;
+ scoped_refptr<Extension> extension =
+ LoadManifestUnchecked(dir, test_file, location, extra_flags, &error);
+
+ EXPECT_TRUE(extension) << test_file << ":" << error;
+ return extension;
+}
+
+scoped_refptr<Extension> LoadManifest(const std::string& dir,
+ const std::string& test_file,
+ int extra_flags) {
+ return LoadManifest(dir, test_file, Manifest::INVALID_LOCATION, extra_flags);
+}
+
+scoped_refptr<Extension> LoadManifestStrict(const std::string& dir,
+ const std::string& test_file) {
+ return LoadManifest(dir, test_file, Extension::NO_FLAGS);
+}
+
+scoped_refptr<Extension> LoadManifest(const std::string& dir,
+ const std::string& test_file) {
+ return LoadManifest(dir, test_file, Extension::NO_FLAGS);
+}
+
} // namespace extension_test_util
« no previous file with comments | « chrome/common/extensions/extension_test_util.h ('k') | chrome/common/extensions/extension_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698