diff options
Diffstat (limited to 'chrome/common/extensions')
14 files changed, 14 insertions, 344 deletions
diff --git a/chrome/common/extensions/api/extension_action/browser_action_manifest_unittest.cc b/chrome/common/extensions/api/extension_action/browser_action_manifest_unittest.cc index aed9215..78aa046 100644 --- a/chrome/common/extensions/api/extension_action/browser_action_manifest_unittest.cc +++ b/chrome/common/extensions/api/extension_action/browser_action_manifest_unittest.cc @@ -3,12 +3,12 @@ // found in the LICENSE file. #include "chrome/common/extensions/api/extension_action/action_info.h" -#include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/extension_icon_set.h" #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" -#include "chrome/common/extensions/value_builder.h" #include "extensions/common/error_utils.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/manifest_constants.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" namespace extensions { diff --git a/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc b/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc index cd9de1b..762675f 100644 --- a/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc +++ b/chrome/common/extensions/api/extension_action/script_badge_manifest_unittest.cc @@ -3,11 +3,11 @@ // found in the LICENSE file. #include "chrome/common/extensions/api/extension_action/action_info.h" -#include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/common/extensions/extension_icon_set.h" #include "chrome/common/extensions/feature_switch.h" #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/install_warning.h" #include "extensions/common/manifest_constants.h" #include "extensions/common/manifest_constants.h" diff --git a/chrome/common/extensions/api/extension_api_unittest.cc b/chrome/common/extensions/api/extension_api_unittest.cc index a481d9d..32ab0af 100644 --- a/chrome/common/extensions/api/extension_api_unittest.cc +++ b/chrome/common/extensions/api/extension_api_unittest.cc @@ -18,14 +18,14 @@ #include "base/values.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension.h" -#include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/extension_test_util.h" #include "chrome/common/extensions/features/api_feature.h" #include "chrome/common/extensions/features/base_feature_provider.h" #include "chrome/common/extensions/features/simple_feature.h" -#include "chrome/common/extensions/value_builder.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/manifest.h" #include "extensions/common/manifest_constants.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" namespace extensions { diff --git a/chrome/common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc b/chrome/common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc index 797a11f..16e669e 100644 --- a/chrome/common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc +++ b/chrome/common/extensions/api/file_browser_handlers/file_browser_handler_manifest_unittest.cc @@ -4,12 +4,12 @@ #include "base/strings/string_number_conversions.h" #include "chrome/common/extensions/api/file_browser_handlers/file_browser_handler.h" -#include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/extension_constants.h" #include "chrome/common/extensions/manifest_tests/extension_manifest_test.h" -#include "chrome/common/extensions/value_builder.h" #include "extensions/common/error_utils.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/manifest_constants.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" namespace errors = extensions::manifest_errors; diff --git a/chrome/common/extensions/extension_builder.cc b/chrome/common/extensions/extension_builder.cc deleted file mode 100644 index c7786f8..0000000 --- a/chrome/common/extensions/extension_builder.cc +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2012 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. - -#include "chrome/common/extensions/extension_builder.h" - -#include "chrome/common/extensions/extension.h" - -namespace extensions { - -ExtensionBuilder::ExtensionBuilder() - : location_(Manifest::UNPACKED), - flags_(Extension::NO_FLAGS) { -} -ExtensionBuilder::~ExtensionBuilder() {} - -scoped_refptr<Extension> ExtensionBuilder::Build() { - std::string error; - scoped_refptr<Extension> extension = Extension::Create( - path_, - location_, - *manifest_, - flags_, - id_, - &error); - CHECK_EQ("", error); - return extension; -} - -ExtensionBuilder& ExtensionBuilder::SetPath(const base::FilePath& path) { - path_ = path; - return *this; -} - -ExtensionBuilder& ExtensionBuilder::SetLocation(Manifest::Location location) { - location_ = location; - return *this; -} - -ExtensionBuilder& ExtensionBuilder::SetManifest( - scoped_ptr<base::DictionaryValue> manifest) { - manifest_ = manifest.Pass(); - return *this; -} - -ExtensionBuilder& ExtensionBuilder::MergeManifest(DictionaryBuilder& builder) { - manifest_->MergeDictionary(builder.Build().get()); - return *this; -} - -ExtensionBuilder& ExtensionBuilder::AddFlags(int init_from_value_flags) { - flags_ |= init_from_value_flags; - return *this; -} - -ExtensionBuilder& ExtensionBuilder::SetID(const std::string& id) { - id_ = id; - return *this; -} - -} // namespace extensions diff --git a/chrome/common/extensions/extension_builder.h b/chrome/common/extensions/extension_builder.h deleted file mode 100644 index 4b4669d..0000000 --- a/chrome/common/extensions/extension_builder.h +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (c) 2012 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. - -#ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_BUILDER_H_ -#define CHROME_COMMON_EXTENSIONS_EXTENSION_BUILDER_H_ - -#include "base/files/file_path.h" -#include "base/memory/ref_counted.h" -#include "base/memory/scoped_ptr.h" -#include "chrome/common/extensions/value_builder.h" -#include "extensions/common/manifest.h" - -namespace extensions { -class Extension; - -// An easier way to create extensions than Extension::Create. The -// constructor sets up some defaults which are customized using the -// methods. The only method that must be called is SetManifest(). -class ExtensionBuilder { - public: - ExtensionBuilder(); - ~ExtensionBuilder(); - - // Can only be called once, after which it's invalid to use the builder. - // CHECKs that the extension was created successfully. - scoped_refptr<Extension> Build(); - - // Workaround to allow you to pass rvalue ExtensionBuilders by reference to - // other functions, e.g. UseBuilder(ExtensionBuilder().Pass()) - ExtensionBuilder& Pass() { return *this; } - - // Defaults to FilePath(). - ExtensionBuilder& SetPath(const base::FilePath& path); - - // Defaults to Manifest::UNPACKED. - ExtensionBuilder& SetLocation(Manifest::Location location); - - ExtensionBuilder& SetManifest(scoped_ptr<base::DictionaryValue> manifest); - ExtensionBuilder& SetManifest(DictionaryBuilder& manifest_builder) { - return SetManifest(manifest_builder.Build()); - } - - // Adds the keys from the DictionaryBuilder to the manifest, with new keys - // taking precedence. - ExtensionBuilder& MergeManifest(DictionaryBuilder& builder); - - ExtensionBuilder& AddFlags(int init_from_value_flags); - - // Defaults to the default extension ID created in Extension::Create. - ExtensionBuilder& SetID(const std::string& id); - - private: - base::FilePath path_; - Manifest::Location location_; - scoped_ptr<base::DictionaryValue> manifest_; - int flags_; - std::string id_; -}; - -} // namespace extensions - -#endif // CHROME_COMMON_EXTENSIONS_EXTENSION_BUILDER_H_ diff --git a/chrome/common/extensions/extension_test_util.cc b/chrome/common/extensions/extension_test_util.cc index a4e66fb..2af3e0a 100644 --- a/chrome/common/extensions/extension_test_util.cc +++ b/chrome/common/extensions/extension_test_util.cc @@ -10,7 +10,7 @@ #include "base/values.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/extensions/extension.h" -#include "chrome/common/extensions/extension_builder.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/manifest_constants.h" #include "testing/gtest/include/gtest/gtest.h" diff --git a/chrome/common/extensions/extension_test_util.h b/chrome/common/extensions/extension_test_util.h index f6cdc1a..5509185 100644 --- a/chrome/common/extensions/extension_test_util.h +++ b/chrome/common/extensions/extension_test_util.h @@ -8,7 +8,7 @@ #include <string> #include "base/memory/ref_counted.h" -#include "chrome/common/extensions/extension_builder.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/manifest.h" namespace extensions { diff --git a/chrome/common/extensions/features/base_feature_provider_unittest.cc b/chrome/common/extensions/features/base_feature_provider_unittest.cc index d31d3de..d21e3a2 100644 --- a/chrome/common/extensions/features/base_feature_provider_unittest.cc +++ b/chrome/common/extensions/features/base_feature_provider_unittest.cc @@ -6,7 +6,7 @@ #include "chrome/common/extensions/features/feature_channel.h" #include "chrome/common/extensions/features/permission_feature.h" -#include "chrome/common/extensions/value_builder.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" using chrome::VersionInfo; diff --git a/chrome/common/extensions/features/complex_feature_unittest.cc b/chrome/common/extensions/features/complex_feature_unittest.cc index 51f26f6..38f9735 100644 --- a/chrome/common/extensions/features/complex_feature_unittest.cc +++ b/chrome/common/extensions/features/complex_feature_unittest.cc @@ -6,7 +6,7 @@ #include "chrome/common/extensions/features/feature_channel.h" #include "chrome/common/extensions/features/simple_feature.h" -#include "chrome/common/extensions/value_builder.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" using chrome::VersionInfo; diff --git a/chrome/common/extensions/features/simple_feature_unittest.cc b/chrome/common/extensions/features/simple_feature_unittest.cc index d4f4c0a..02a2361 100644 --- a/chrome/common/extensions/features/simple_feature_unittest.cc +++ b/chrome/common/extensions/features/simple_feature_unittest.cc @@ -5,7 +5,7 @@ #include "chrome/common/extensions/features/simple_feature.h" #include "chrome/common/extensions/features/feature_channel.h" -#include "chrome/common/extensions/value_builder.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" using chrome::VersionInfo; diff --git a/chrome/common/extensions/manifest_handler_unittest.cc b/chrome/common/extensions/manifest_handler_unittest.cc index 74b8698..88e7594 100644 --- a/chrome/common/extensions/manifest_handler_unittest.cc +++ b/chrome/common/extensions/manifest_handler_unittest.cc @@ -10,10 +10,10 @@ #include "base/stl_util.h" #include "base/strings/utf_string_conversions.h" #include "chrome/common/extensions/extension.h" -#include "chrome/common/extensions/extension_builder.h" #include "chrome/common/extensions/manifest_handler.h" -#include "chrome/common/extensions/value_builder.h" +#include "extensions/common/extension_builder.h" #include "extensions/common/install_warning.h" +#include "extensions/common/value_builder.h" #include "testing/gtest/include/gtest/gtest.h" namespace extensions { diff --git a/chrome/common/extensions/value_builder.cc b/chrome/common/extensions/value_builder.cc deleted file mode 100644 index 1fd6794..0000000 --- a/chrome/common/extensions/value_builder.cc +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (c) 2012 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. - -#include "chrome/common/extensions/value_builder.h" - -namespace extensions { - -// DictionaryBuilder - -DictionaryBuilder::DictionaryBuilder() : dict_(new base::DictionaryValue) {} - -DictionaryBuilder::DictionaryBuilder(const base::DictionaryValue& init) - : dict_(init.DeepCopy()) {} - -DictionaryBuilder::~DictionaryBuilder() {} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - int in_value) { - dict_->SetWithoutPathExpansion(path, new base::FundamentalValue(in_value)); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - double in_value) { - dict_->SetWithoutPathExpansion(path, new base::FundamentalValue(in_value)); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - const std::string& in_value) { - dict_->SetWithoutPathExpansion(path, new base::StringValue(in_value)); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - const string16& in_value) { - dict_->SetWithoutPathExpansion(path, new base::StringValue(in_value)); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - DictionaryBuilder& in_value) { - dict_->SetWithoutPathExpansion(path, in_value.Build().release()); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::Set(const std::string& path, - ListBuilder& in_value) { - dict_->SetWithoutPathExpansion(path, in_value.Build().release()); - return *this; -} - -DictionaryBuilder& DictionaryBuilder::SetBoolean( - const std::string& path, bool in_value) { - dict_->SetWithoutPathExpansion(path, new base::FundamentalValue(in_value)); - return *this; -} - -// ListBuilder - -ListBuilder::ListBuilder() : list_(new base::ListValue) {} -ListBuilder::ListBuilder(const base::ListValue& init) : list_(init.DeepCopy()) { -} -ListBuilder::~ListBuilder() {} - -ListBuilder& ListBuilder::Append(int in_value) { - list_->Append(new base::FundamentalValue(in_value)); - return *this; -} - -ListBuilder& ListBuilder::Append(double in_value) { - list_->Append(new base::FundamentalValue(in_value)); - return *this; -} - -ListBuilder& ListBuilder::Append(const std::string& in_value) { - list_->Append(new base::StringValue(in_value)); - return *this; -} - -ListBuilder& ListBuilder::Append(const string16& in_value) { - list_->Append(new base::StringValue(in_value)); - return *this; -} - -ListBuilder& ListBuilder::Append(DictionaryBuilder& in_value) { - list_->Append(in_value.Build().release()); - return *this; -} - -ListBuilder& ListBuilder::Append(ListBuilder& in_value) { - list_->Append(in_value.Build().release()); - return *this; -} - -ListBuilder& ListBuilder::AppendBoolean(bool in_value) { - list_->Append(new base::FundamentalValue(in_value)); - return *this; -} - -} // namespace extensions diff --git a/chrome/common/extensions/value_builder.h b/chrome/common/extensions/value_builder.h deleted file mode 100644 index db272c5..0000000 --- a/chrome/common/extensions/value_builder.h +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) 2012 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. - -// This file provides a builders for DictionaryValue and ListValue. These -// aren't specific to extensions and could move up to base/ if there's interest -// from other sub-projects. -// -// The general pattern is to write: -// -// scoped_ptr<BuiltType> result(FooBuilder() -// .Set(args) -// .Set(args) -// .Build()); -// -// For methods that take other built types, you can pass the builder directly -// to the setter without calling Build(): -// -// DictionaryBuilder().Set("key", ListBuilder() -// .Append("foo").Append("bar") /* No .Build() */); -// -// Because of limitations in C++03, and to avoid extra copies, you can't pass a -// just-constructed Builder into another Builder's method directly. Use the -// Pass() method. -// -// The Build() method invalidates its builder, and returns ownership of the -// built value. -// -// These objects are intended to be used as temporaries rather than stored -// anywhere, so the use of non-const reference parameters is likely to cause -// less confusion than usual. - -#ifndef CHROME_COMMON_EXTENSIONS_VALUE_BUILDER_H_ -#define CHROME_COMMON_EXTENSIONS_VALUE_BUILDER_H_ - -#include <string> - -#include "base/memory/scoped_ptr.h" -#include "base/strings/string16.h" -#include "base/values.h" - -namespace extensions { - -class ListBuilder; - -class DictionaryBuilder { - public: - DictionaryBuilder(); - explicit DictionaryBuilder(const base::DictionaryValue& init); - ~DictionaryBuilder(); - - // Workaround to allow you to pass rvalue ExtensionBuilders by reference to - // other functions. - DictionaryBuilder& Pass() { return *this; } - - // Can only be called once, after which it's invalid to use the builder. - scoped_ptr<base::DictionaryValue> Build() { return dict_.Pass(); } - - DictionaryBuilder& Set(const std::string& path, int in_value); - DictionaryBuilder& Set(const std::string& path, double in_value); - DictionaryBuilder& Set(const std::string& path, const std::string& in_value); - DictionaryBuilder& Set(const std::string& path, const string16& in_value); - DictionaryBuilder& Set(const std::string& path, DictionaryBuilder& in_value); - DictionaryBuilder& Set(const std::string& path, ListBuilder& in_value); - - // Named differently because overload resolution is too eager to - // convert implicitly to bool. - DictionaryBuilder& SetBoolean(const std::string& path, bool in_value); - - private: - scoped_ptr<base::DictionaryValue> dict_; -}; - -class ListBuilder { - public: - ListBuilder(); - explicit ListBuilder(const base::ListValue& init); - ~ListBuilder(); - - // Workaround to allow you to pass rvalue ExtensionBuilders by reference to - // other functions. - ListBuilder& Pass() { return *this; } - - // Can only be called once, after which it's invalid to use the builder. - scoped_ptr<base::ListValue> Build() { return list_.Pass(); } - - ListBuilder& Append(int in_value); - ListBuilder& Append(double in_value); - ListBuilder& Append(const std::string& in_value); - ListBuilder& Append(const string16& in_value); - ListBuilder& Append(DictionaryBuilder& in_value); - ListBuilder& Append(ListBuilder& in_value); - - // Named differently because overload resolution is too eager to - // convert implicitly to bool. - ListBuilder& AppendBoolean(bool in_value); - - private: - scoped_ptr<base::ListValue> list_; -}; - -} // namespace extensions - -#endif // CHROME_COMMON_EXTENSIONS_VALUE_BUILDER_H_ |