diff --git a/base/values.h b/base/values.h index 6f2cd3cc3..7f148d259 100644 --- a/base/values.h +++ b/base/values.h @@ -415,42 +415,13 @@ class BASE_EXPORT Value { // of 24, without losing any information. Results are unchanged for x86, // x86_64 and arm64 (16, 32 and 32 bytes respectively). union { - struct { - // TODO(crbug.com/646113): Make these private once DictionaryValue and - // ListValue are properly inlined. - Type type_ : 8; - }; - struct { - Type bool_type_ : 8; - bool bool_value_; - }; - struct { - Type int_type_ : 8; - int int_value_; - }; - struct { - Type double_type_ : 8; - // Subtle: On architectures that require it, the compiler will ensure - // that |double_value_|'s offset is a multiple of 8 (e.g. 32-bit ARM). - // See technical note above to understand why it is important. - double double_value_; - }; - struct { - Type string_type_ : 8; - std::string string_value_; - }; - struct { - Type binary_type_ : 8; - BlobStorage binary_value_; - }; - struct { - Type dict_type_ : 8; - DictStorage dict_; - }; - struct { - Type list_type_ : 8; - ListStorage list_; - }; + bool bool_value_; + int int_value_; + double double_value_; + std::string string_value_; + BlobStorage binary_value_; + DictStorage dict_; + ListStorage list_; }; private: