diff options
Diffstat (limited to 'chromium/base/values.cc')
-rw-r--r-- | chromium/base/values.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/chromium/base/values.cc b/chromium/base/values.cc index 7d042cdcd45..02e92b7e082 100644 --- a/chromium/base/values.cc +++ b/chromium/base/values.cc @@ -320,6 +320,11 @@ const std::string& Value::GetString() const { return string_value_; } +std::string& Value::GetString() { + CHECK(is_string()); + return string_value_; +} + const Value::BlobStorage& Value::GetBlob() const { CHECK(is_blob()); return binary_value_; @@ -386,6 +391,11 @@ const std::string* Value::FindStringKey(StringPiece key) const { return result ? &result->string_value_ : nullptr; } +std::string* Value::FindStringKey(StringPiece key) { + Value* result = FindKeyOfType(key, Type::STRING); + return result ? &result->string_value_ : nullptr; +} + const Value::BlobStorage* Value::FindBlobKey(StringPiece key) const { const Value* value = FindKeyOfType(key, Type::BINARY); return value ? &value->binary_value_ : nullptr; @@ -526,6 +536,11 @@ const std::string* Value::FindStringPath(StringPiece path) const { return &cur->string_value_; } +std::string* Value::FindStringPath(StringPiece path) { + return const_cast<std::string*>( + static_cast<const Value*>(this)->FindStringPath(path)); +} + const Value::BlobStorage* Value::FindBlobPath(StringPiece path) const { const Value* cur = FindPath(path); if (!cur || !cur->is_blob()) |