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

Unified Diff: extensions/common/features/base_feature_provider.cc

Issue 2669463002: [Extensions] Remove BaseFeatureProvider (Closed)
Patch Set: Created 3 years, 11 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
Index: extensions/common/features/base_feature_provider.cc
diff --git a/extensions/common/features/base_feature_provider.cc b/extensions/common/features/base_feature_provider.cc
deleted file mode 100644
index 26a4e740b9e1c660348ae733bacb3d75006b58eb..0000000000000000000000000000000000000000
--- a/extensions/common/features/base_feature_provider.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2014 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 "extensions/common/features/base_feature_provider.h"
-
-#include <utility>
-
-#include "base/strings/string_split.h"
-#include "base/strings/string_util.h"
-#include "extensions/common/features/feature.h"
-
-namespace extensions {
-
-BaseFeatureProvider::BaseFeatureProvider() {}
-BaseFeatureProvider::~BaseFeatureProvider() {}
-
-const FeatureMap& BaseFeatureProvider::GetAllFeatures() const {
- return features_;
-}
-
-Feature* BaseFeatureProvider::GetFeature(const std::string& name) const {
- FeatureMap::const_iterator iter = features_.find(name);
- if (iter != features_.end())
- return iter->second.get();
- else
- return nullptr;
-}
-
-Feature* BaseFeatureProvider::GetParent(Feature* feature) const {
- CHECK(feature);
- if (feature->no_parent())
- return nullptr;
-
- std::vector<std::string> split = base::SplitString(
- feature->name(), ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- if (split.size() < 2)
- return nullptr;
- split.pop_back();
- return GetFeature(base::JoinString(split, "."));
-}
-
-// Children of a given API are named starting with parent.name()+".", which
-// means they'll be contiguous in the features_ std::map.
-std::vector<Feature*> BaseFeatureProvider::GetChildren(const Feature& parent)
- const {
- std::string prefix = parent.name() + ".";
- const FeatureMap::const_iterator first_child = features_.lower_bound(prefix);
-
- // All children have names before (parent.name() + ('.'+1)).
- ++prefix.back();
- const FeatureMap::const_iterator after_children =
- features_.lower_bound(prefix);
-
- std::vector<Feature*> result;
- result.reserve(std::distance(first_child, after_children));
- for (FeatureMap::const_iterator it = first_child; it != after_children;
- ++it) {
- result.push_back(it->second.get());
- }
- return result;
-}
-
-void BaseFeatureProvider::AddFeature(base::StringPiece name,
- std::unique_ptr<Feature> feature) {
- features_[name.as_string()] = std::move(feature);
-}
-
-void BaseFeatureProvider::AddFeature(base::StringPiece name, Feature* feature) {
- features_[name.as_string()] = std::unique_ptr<Feature>(feature);
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698