OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/common/features/feature_provider.h" | 5 #include "extensions/common/features/feature_provider.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 return iter->second.get(); | 133 return iter->second.get(); |
134 else | 134 else |
135 return nullptr; | 135 return nullptr; |
136 } | 136 } |
137 | 137 |
138 Feature* FeatureProvider::GetParent(Feature* feature) const { | 138 Feature* FeatureProvider::GetParent(Feature* feature) const { |
139 CHECK(feature); | 139 CHECK(feature); |
140 if (feature->no_parent()) | 140 if (feature->no_parent()) |
141 return nullptr; | 141 return nullptr; |
142 | 142 |
143 std::vector<std::string> split = base::SplitString( | 143 std::vector<base::StringPiece> split = base::SplitStringPiece( |
144 feature->name(), ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); | 144 feature->name(), ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
145 if (split.size() < 2) | 145 if (split.size() < 2) |
146 return nullptr; | 146 return nullptr; |
147 split.pop_back(); | 147 split.pop_back(); |
148 return GetFeature(base::JoinString(split, ".")); | 148 return GetFeature(base::JoinString(split, ".")); |
149 } | 149 } |
150 | 150 |
151 // Children of a given API are named starting with parent.name()+".", which | 151 // Children of a given API are named starting with parent.name()+".", which |
152 // means they'll be contiguous in the features_ std::map. | 152 // means they'll be contiguous in the features_ std::map. |
153 std::vector<Feature*> FeatureProvider::GetChildren( | 153 std::vector<Feature*> FeatureProvider::GetChildren( |
(...skipping 22 matching lines...) Expand all Loading... |
176 void FeatureProvider::AddFeature(base::StringPiece name, | 176 void FeatureProvider::AddFeature(base::StringPiece name, |
177 std::unique_ptr<Feature> feature) { | 177 std::unique_ptr<Feature> feature) { |
178 features_[name.as_string()] = std::move(feature); | 178 features_[name.as_string()] = std::move(feature); |
179 } | 179 } |
180 | 180 |
181 void FeatureProvider::AddFeature(base::StringPiece name, Feature* feature) { | 181 void FeatureProvider::AddFeature(base::StringPiece name, Feature* feature) { |
182 features_[name.as_string()] = std::unique_ptr<Feature>(feature); | 182 features_[name.as_string()] = std::unique_ptr<Feature>(feature); |
183 } | 183 } |
184 | 184 |
185 } // namespace extensions | 185 } // namespace extensions |
OLD | NEW |