| Index: third_party/WebKit/Source/wtf/HashFunctions.h | 
| diff --git a/third_party/WebKit/Source/wtf/HashFunctions.h b/third_party/WebKit/Source/wtf/HashFunctions.h | 
| index c3d90d02655a162d8249f943f79fab200715aa95..207c409a0d8583e43e9ba274822a87f95030c27c 100644 | 
| --- a/third_party/WebKit/Source/wtf/HashFunctions.h | 
| +++ b/third_party/WebKit/Source/wtf/HashFunctions.h | 
| @@ -198,21 +198,23 @@ struct DefaultHash; | 
|  | 
| // Actual implementation of DefaultHash. | 
| // | 
| -// The case of |isIntegral| == false is not implemented. If you see a compile | 
| -// error saying DefaultHashImpl<T, false> is not defined, that's because the | 
| -// default hash functions for T are not defined. You need to implement them | 
| +// The case of |isIntegralOrEnum| == false is not implemented. If you see a | 
| +// compile error saying DefaultHashImpl<T, false> is not defined, that's because | 
| +// the default hash functions for T are not defined. You need to implement them | 
| // yourself. | 
| -template <typename T, bool isIntegral> | 
| +template <typename T, bool isIntegralOrEnum> | 
| struct DefaultHashImpl; | 
|  | 
| template <typename T> | 
| struct DefaultHashImpl<T, true> { | 
| -  using Hash = IntHash<typename std::make_unsigned<T>::type>; | 
| +  using Hash = IntHash<T>; | 
| }; | 
|  | 
| // Canonical implementation of DefaultHash. | 
| template <typename T> | 
| -struct DefaultHash : DefaultHashImpl<T, std::is_integral<T>::value> {}; | 
| +struct DefaultHash | 
| +    : DefaultHashImpl<T, std::is_integral<T>::value || std::is_enum<T>::value> { | 
| +}; | 
|  | 
| // Specializations of DefaultHash follow. | 
| template <> | 
|  |