Index: chrome/browser/extensions/test_extension_environment.cc |
diff --git a/chrome/browser/extensions/test_extension_environment.cc b/chrome/browser/extensions/test_extension_environment.cc |
index 8b5c30e406eaf85ed55813d0f190a608e98fda54..f8478fcbd9e66bc174d7e77d8c7df382dd2cc45d 100644 |
--- a/chrome/browser/extensions/test_extension_environment.cc |
+++ b/chrome/browser/extensions/test_extension_environment.cc |
@@ -27,6 +27,28 @@ namespace extensions { |
using content::BrowserThread; |
+namespace { |
+ |
+scoped_ptr<base::DictionaryValue> MakeExtensionManifest( |
+ const base::Value& manifest_extra) { |
+ scoped_ptr<base::DictionaryValue> manifest = DictionaryBuilder() |
+ .Set("name", "Extension") |
+ .Set("version", "1.0") |
+ .Set("manifest_version", 2) |
+ .Build(); |
+ const base::DictionaryValue* manifest_extra_dict; |
+ if (manifest_extra.GetAsDictionary(&manifest_extra_dict)) { |
+ manifest->MergeDictionary(manifest_extra_dict); |
+ } else { |
+ std::string manifest_json; |
+ base::JSONWriter::Write(&manifest_extra, &manifest_json); |
+ ADD_FAILURE() << "Expected dictionary; got \"" << manifest_json << "\""; |
+ } |
+ return manifest; |
+} |
+ |
+} // namespace |
+ |
TestExtensionEnvironment::TestExtensionEnvironment() |
: profile_(new TestingProfile), |
extension_service_(NULL), |
@@ -68,26 +90,25 @@ ExtensionPrefs* TestExtensionEnvironment::GetExtensionPrefs() { |
const Extension* TestExtensionEnvironment::MakeExtension( |
const base::Value& manifest_extra) { |
- scoped_ptr<base::DictionaryValue> manifest = DictionaryBuilder() |
- .Set("name", "Extension") |
- .Set("version", "1.0") |
- .Set("manifest_version", 2) |
- .Build(); |
- const base::DictionaryValue* manifest_extra_dict; |
- if (manifest_extra.GetAsDictionary(&manifest_extra_dict)) { |
- manifest->MergeDictionary(manifest_extra_dict); |
- } else { |
- std::string manifest_json; |
- base::JSONWriter::Write(&manifest_extra, &manifest_json); |
- ADD_FAILURE() << "Expected dictionary; got \"" << manifest_json << "\""; |
- } |
- |
+ scoped_ptr<base::DictionaryValue> manifest = |
+ MakeExtensionManifest(manifest_extra); |
scoped_refptr<Extension> result = |
ExtensionBuilder().SetManifest(manifest.Pass()).Build(); |
GetExtensionService()->AddExtension(result.get()); |
return result.get(); |
} |
+const Extension* TestExtensionEnvironment::MakeExtension( |
+ const base::Value& manifest_extra, |
+ const std::string& id) { |
+ scoped_ptr<base::DictionaryValue> manifest = |
+ MakeExtensionManifest(manifest_extra); |
+ scoped_refptr<Extension> result = |
+ ExtensionBuilder().SetManifest(manifest.Pass()).SetID(id).Build(); |
+ GetExtensionService()->AddExtension(result.get()); |
+ return result.get(); |
+} |
+ |
scoped_ptr<content::WebContents> TestExtensionEnvironment::MakeTab() const { |
scoped_ptr<content::WebContents> contents( |
content::WebContentsTester::CreateTestWebContents(profile(), NULL)); |