| Index: base/values.cc
|
| diff --git a/base/values.cc b/base/values.cc
|
| index 5103f3e7d3a11061043090683ac6ea370cc72777..7c14e81beecc0a3d0ea868cd00d7ef82f0b40b47 100644
|
| --- a/base/values.cc
|
| +++ b/base/values.cc
|
| @@ -390,13 +390,13 @@ void DictionaryValue::Set(StringPiece path, std::unique_ptr<Value> in_value) {
|
| DCHECK(IsStringUTF8(path));
|
| DCHECK(in_value);
|
|
|
| - std::string current_path(path.as_string());
|
| + StringPiece current_path(path);
|
| DictionaryValue* current_dictionary = this;
|
| for (size_t delimiter_position = current_path.find('.');
|
| - delimiter_position != std::string::npos;
|
| + delimiter_position != StringPiece::npos;
|
| delimiter_position = current_path.find('.')) {
|
| // Assume that we're indexing into a dictionary.
|
| - std::string key(current_path, 0, delimiter_position);
|
| + StringPiece key = current_path.substr(0, delimiter_position);
|
| DictionaryValue* child_dictionary = NULL;
|
| if (!current_dictionary->GetDictionary(key, &child_dictionary)) {
|
| child_dictionary = new DictionaryValue;
|
| @@ -404,7 +404,7 @@ void DictionaryValue::Set(StringPiece path, std::unique_ptr<Value> in_value) {
|
| }
|
|
|
| current_dictionary = child_dictionary;
|
| - current_path.erase(0, delimiter_position + 1);
|
| + current_path = current_path.substr(delimiter_position + 1);
|
| }
|
|
|
| current_dictionary->SetWithoutPathExpansion(current_path,
|
| @@ -428,7 +428,7 @@ void DictionaryValue::SetDouble(StringPiece path, double in_value) {
|
| }
|
|
|
| void DictionaryValue::SetString(StringPiece path, StringPiece in_value) {
|
| - Set(path, new StringValue(in_value.as_string()));
|
| + Set(path, new StringValue(in_value));
|
| }
|
|
|
| void DictionaryValue::SetString(StringPiece path, const string16& in_value) {
|
| @@ -462,7 +462,7 @@ void DictionaryValue::SetDoubleWithoutPathExpansion(StringPiece path,
|
|
|
| void DictionaryValue::SetStringWithoutPathExpansion(StringPiece path,
|
| StringPiece in_value) {
|
| - SetWithoutPathExpansion(path, new StringValue(in_value.as_string()));
|
| + SetWithoutPathExpansion(path, new StringValue(in_value));
|
| }
|
|
|
| void DictionaryValue::SetStringWithoutPathExpansion(StringPiece path,
|
| @@ -480,8 +480,7 @@ bool DictionaryValue::Get(StringPiece path,
|
| delimiter_position = current_path.find('.')) {
|
| const DictionaryValue* child_dictionary = NULL;
|
| if (!current_dictionary->GetDictionaryWithoutPathExpansion(
|
| - current_path.substr(0, delimiter_position).as_string(),
|
| - &child_dictionary)) {
|
| + current_path.substr(0, delimiter_position), &child_dictionary)) {
|
| return false;
|
| }
|
|
|
| @@ -489,8 +488,7 @@ bool DictionaryValue::Get(StringPiece path,
|
| current_path = current_path.substr(delimiter_position + 1);
|
| }
|
|
|
| - return current_dictionary->GetWithoutPathExpansion(current_path.as_string(),
|
| - out_value);
|
| + return current_dictionary->GetWithoutPathExpansion(current_path, out_value);
|
| }
|
|
|
| bool DictionaryValue::Get(StringPiece path, Value** out_value) {
|
| @@ -727,14 +725,14 @@ bool DictionaryValue::GetListWithoutPathExpansion(StringPiece key,
|
| bool DictionaryValue::Remove(StringPiece path,
|
| std::unique_ptr<Value>* out_value) {
|
| DCHECK(IsStringUTF8(path));
|
| - std::string current_path(path.as_string());
|
| + StringPiece current_path(path);
|
| DictionaryValue* current_dictionary = this;
|
| size_t delimiter_position = current_path.rfind('.');
|
| - if (delimiter_position != std::string::npos) {
|
| + if (delimiter_position != StringPiece::npos) {
|
| if (!GetDictionary(current_path.substr(0, delimiter_position),
|
| ¤t_dictionary))
|
| return false;
|
| - current_path.erase(0, delimiter_position + 1);
|
| + current_path = current_path.substr(delimiter_position + 1);
|
| }
|
|
|
| return current_dictionary->RemoveWithoutPathExpansion(current_path,
|
| @@ -1062,7 +1060,7 @@ void ListValue::AppendDouble(double in_value) {
|
| }
|
|
|
| void ListValue::AppendString(StringPiece in_value) {
|
| - Append(MakeUnique<StringValue>(in_value.as_string()));
|
| + Append(MakeUnique<StringValue>(in_value));
|
| }
|
|
|
| void ListValue::AppendString(const string16& in_value) {
|
|
|