diff --git a/src/base/win/win_util.h b/src/base/win/win_util.h
index 49eac8a..cab52f7 100644
--- a/src/base/win/win_util.h
+++ b/src/base/win/win_util.h
@@ -1,30 +1,30 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BASE_WIN_WIN_UTIL_H_
-#define BASE_WIN_WIN_UTIL_H_
-
-#include <string>
-#include <string_view>
-
-namespace base {
-
-// Windows API calls take wchar_t but on that platform wchar_t should be the
-// same as a char16_t.
-inline const wchar_t* ToWCharT(const std::u16string* s) {
-  static_assert(sizeof(std::u16string::value_type) == sizeof(wchar_t));
-  return reinterpret_cast<const wchar_t*>(s->c_str());
-}
-
-inline const wchar_t* ToWCharT(const char16_t* s) {
-  return reinterpret_cast<const wchar_t*>(s);
-}
-
-inline wchar_t* ToWCharT(char16_t* s) {
-  return reinterpret_cast<wchar_t*>(s);
-}
-
-}  // namespace base
-
-#endif  // BASE_WIN_WIN_UTIL_H_
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef BASE_WIN_WIN_UTIL_H_
+#define BASE_WIN_WIN_UTIL_H_
+
+#include <string>
+#include <string_view>
+
+namespace base {
+
+// Windows API calls take wchar_t but on that platform wchar_t should be the
+// same as a char16_t.
+inline const wchar_t* ToWCharT(const std::u16string* s) {
+  static_assert(sizeof(std::u16string::value_type) == sizeof(wchar_t));
+  return reinterpret_cast<const wchar_t*>(s->c_str());
+}
+
+inline const wchar_t* ToWCharT(const char16_t* s) {
+  return reinterpret_cast<const wchar_t*>(s);
+}
+
+inline wchar_t* ToWCharT(char16_t* s) {
+  return reinterpret_cast<wchar_t*>(s);
+}
+
+}  // namespace base
+
+#endif  // BASE_WIN_WIN_UTIL_H_
