| Index: base/values.h
 | 
| diff --git a/base/values.h b/base/values.h
 | 
| index e19eca761fdeabadb474b69e02b0e183ad01d327..9509c95f609078562fcc32ee87583f579c7c064c 100644
 | 
| --- a/base/values.h
 | 
| +++ b/base/values.h
 | 
| @@ -29,6 +29,7 @@
 | 
|  
 | 
|  #include "base/base_export.h"
 | 
|  #include "base/compiler_specific.h"
 | 
| +#include "base/containers/flat_map.h"
 | 
|  #include "base/macros.h"
 | 
|  #include "base/memory/manual_constructor.h"
 | 
|  #include "base/strings/string16.h"
 | 
| @@ -48,7 +49,7 @@ using BinaryValue = Value;
 | 
|  // See the file-level comment above for more information.
 | 
|  class BASE_EXPORT Value {
 | 
|   public:
 | 
| -  using DictStorage = std::map<std::string, std::unique_ptr<Value>>;
 | 
| +  using DictStorage = base::flat_map<std::string, std::unique_ptr<Value>>;
 | 
|    using ListStorage = std::vector<std::unique_ptr<Value>>;
 | 
|  
 | 
|    enum class Type {
 | 
| @@ -95,6 +96,8 @@ class BASE_EXPORT Value {
 | 
|    explicit Value(const std::vector<char>& in_blob);
 | 
|    explicit Value(std::vector<char>&& in_blob) noexcept;
 | 
|  
 | 
| +  explicit Value(DictStorage&& in_dict) noexcept;
 | 
| +
 | 
|    Value& operator=(const Value& that);
 | 
|    Value& operator=(Value&& that) noexcept;
 | 
|  
 | 
| 
 |