Migrate base::{size,empty,data} to STL equivalents in //ui.

Bug: 1299695
Change-Id: I23fca511deab45aceaefabeb37541f7fcbe1e306
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3492696
Auto-Submit: Daniel Cheng <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Commit-Queue: Lei Zhang <[email protected]>
Owners-Override: Lei Zhang <[email protected]>
Cr-Commit-Position: refs/heads/main@{#975519}
diff --git a/ui/accessibility/ax_generated_tree_unittest.cc b/ui/accessibility/ax_generated_tree_unittest.cc
index b15731f..20e66126 100644
--- a/ui/accessibility/ax_generated_tree_unittest.cc
+++ b/ui/accessibility/ax_generated_tree_unittest.cc
@@ -6,7 +6,6 @@
 #include <numeric>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/string_number_conversions.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest-param-test.h"
@@ -136,7 +135,7 @@
   // clang-format on
 
   int n = generator.UniqueTreeCount();
-  ASSERT_EQ(static_cast<int>(base::size(EXPECTED_TREES)), n);
+  ASSERT_EQ(static_cast<int>(std::size(EXPECTED_TREES)), n);
 
   for (int i = 0; i < n; ++i) {
     AXTree tree;
@@ -208,7 +207,7 @@
   // clang-format on
 
   int n = generator.UniqueTreeCount();
-  ASSERT_EQ(static_cast<int>(base::size(EXPECTED_TREES)), n);
+  ASSERT_EQ(static_cast<int>(std::size(EXPECTED_TREES)), n);
 
   for (int i = 0; i < n; i++) {
     AXTree tree;
diff --git a/ui/accessibility/platform/inspect/ax_event_recorder_win_uia.cc b/ui/accessibility/platform/inspect/ax_event_recorder_win_uia.cc
index 3a9cd55..94fb5230f 100644
--- a/ui/accessibility/platform/inspect/ax_event_recorder_win_uia.cc
+++ b/ui/accessibility/platform/inspect/ax_event_recorder_win_uia.cc
@@ -50,11 +50,11 @@
   auto str = base::WideToUTF8(UiaIdentifierToString(id));
   // Remove UIA_ prefix, and EventId/PropertyId suffixes
   if (base::StartsWith(str, "UIA_", base::CompareCase::SENSITIVE))
-    str = str.substr(base::size("UIA_") - 1);
+    str = str.substr(std::size("UIA_") - 1);
   if (base::EndsWith(str, "EventId", base::CompareCase::SENSITIVE))
-    str = str.substr(0, str.size() - base::size("EventId") + 1);
+    str = str.substr(0, str.size() - std::size("EventId") + 1);
   if (base::EndsWith(str, "PropertyId", base::CompareCase::SENSITIVE))
-    str = str.substr(0, str.size() - base::size("PropertyId") + 1);
+    str = str.substr(0, str.size() - std::size("PropertyId") + 1);
   return str;
 }
 
diff --git a/ui/accessibility/platform/inspect/ax_inspect_utils_auralinux.cc b/ui/accessibility/platform/inspect/ax_inspect_utils_auralinux.cc
index 42c6ba2..b0e27b57 100644
--- a/ui/accessibility/platform/inspect/ax_inspect_utils_auralinux.cc
+++ b/ui/accessibility/platform/inspect/ax_inspect_utils_auralinux.cc
@@ -8,7 +8,6 @@
 #include <utility>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/pattern.h"
 #include "ui/accessibility/platform/inspect/ax_inspect.h"
@@ -109,8 +108,7 @@
 #endif
   };
 
-  return GetNameForPlatformConstant(state_table, base::size(state_table),
-                                    state);
+  return GetNameForPlatformConstant(state_table, std::size(state_table), state);
 }
 
 const char* ATSPIRoleToString(AtspiRole role) {
@@ -251,7 +249,7 @@
 #endif
   };
 
-  return GetNameForPlatformConstant(role_table, base::size(role_table), role);
+  return GetNameForPlatformConstant(role_table, std::size(role_table), role);
 }
 
 // This is used to ensure a standard set of AtkRole name conversions between
diff --git a/ui/accessibility/platform/inspect/ax_inspect_utils_win.cc b/ui/accessibility/platform/inspect/ax_inspect_utils_win.cc
index cebeaa789..7f4c455 100644
--- a/ui/accessibility/platform/inspect/ax_inspect_utils_win.cc
+++ b/ui/accessibility/platform/inspect/ax_inspect_utils_win.cc
@@ -9,7 +9,6 @@
 #include <map>
 #include <string>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/memory/singleton.h"
 #include "base/strings/pattern.h"
@@ -103,7 +102,7 @@
       QUOTE(ROLE_SYSTEM_WHITESPACE),     QUOTE(ROLE_SYSTEM_WINDOW),
   };
 
-  return GetNameForPlatformConstant(ia_table, base::size(ia_table), ia_role);
+  return GetNameForPlatformConstant(ia_table, std::size(ia_table), ia_role);
 }
 
 AX_EXPORT std::wstring IAccessible2RoleToString(int32_t ia2_role) {
@@ -167,7 +166,7 @@
       QUOTE(IA2_ROLE_COMMENT),
   };
 
-  return GetNameForPlatformConstant(ia2_table, base::size(ia2_table), ia2_role);
+  return GetNameForPlatformConstant(ia2_table, std::size(ia2_table), ia2_role);
 }
 
 AX_EXPORT std::wstring AccessibilityEventToString(int32_t event) {
@@ -244,8 +243,7 @@
       QUOTE(IA2_EVENT_ROLE_CHANGED),
   };
 
-  return GetNameForPlatformConstant(event_table, base::size(event_table),
-                                    event);
+  return GetNameForPlatformConstant(event_table, std::size(event_table), event);
 }
 
 void IAccessibleStateToStringVector(int32_t ia_state,
@@ -668,21 +666,21 @@
       QUOTE(UIA_AppBarControlTypeId),
   };
 
-  return GetNameForPlatformConstant(id_table, base::size(id_table), identifier);
+  return GetNameForPlatformConstant(id_table, std::size(id_table), identifier);
 }
 
 AX_EXPORT std::wstring UiaOrientationToString(int32_t identifier) {
   static const PlatformConstantToNameEntry id_table[] = {
       QUOTE(OrientationType_None), QUOTE(OrientationType_Horizontal),
       QUOTE(OrientationType_Vertical)};
-  return GetNameForPlatformConstant(id_table, base::size(id_table), identifier);
+  return GetNameForPlatformConstant(id_table, std::size(id_table), identifier);
 }
 
 AX_EXPORT std::wstring UiaLiveSettingToString(int32_t identifier) {
   static const PlatformConstantToNameEntry id_table[] = {
       QUOTE(LiveSetting::Off), QUOTE(LiveSetting::Polite),
       QUOTE(LiveSetting::Assertive)};
-  return GetNameForPlatformConstant(id_table, base::size(id_table), identifier);
+  return GetNameForPlatformConstant(id_table, std::size(id_table), identifier);
 }
 
 AX_EXPORT std::string BstrToUTF8(BSTR bstr) {
diff --git a/ui/aura/cursor/cursors_aura.cc b/ui/aura/cursor/cursors_aura.cc
index ad4e257..033fb43 100644
--- a/ui/aura/cursor/cursors_aura.cc
+++ b/ui/aura/cursor/cursors_aura.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/base/cursor/cursor.h"
@@ -273,12 +272,12 @@
 };
 
 const CursorSizeData kCursorSizes[] = {
-    {ui::CursorSize::kNormal, kNormalCursors, base::size(kNormalCursors)},
-    {ui::CursorSize::kLarge, kLargeCursors, base::size(kLargeCursors)},
+    {ui::CursorSize::kNormal, kNormalCursors, std::size(kNormalCursors)},
+    {ui::CursorSize::kLarge, kLargeCursors, std::size(kLargeCursors)},
 };
 
 const CursorSizeData* GetCursorSizeByType(ui::CursorSize cursor_size) {
-  for (size_t i = 0; i < base::size(kCursorSizes); ++i) {
+  for (size_t i = 0; i < std::size(kCursorSizes); ++i) {
     if (kCursorSizes[i].id == cursor_size)
       return &kCursorSizes[i];
   }
diff --git a/ui/base/accelerators/accelerator_manager_unittest.cc b/ui/base/accelerators/accelerator_manager_unittest.cc
index b297528..a8e60f89 100644
--- a/ui/base/accelerators/accelerator_manager_unittest.cc
+++ b/ui/base/accelerators/accelerator_manager_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "ui/base/accelerators/accelerator_manager.h"
 
-#include "base/cxx17_backports.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
@@ -32,7 +31,7 @@
 // kAcceleratorModifiers used to determine which flags are set.
 int BuildAcceleratorModifier(int id) {
   int result = 0;
-  for (size_t i = 0; i < base::size(kAcceleratorModifiers); ++i) {
+  for (size_t i = 0; i < std::size(kAcceleratorModifiers); ++i) {
     if (((1 << i) & id) != 0)
       result |= kAcceleratorModifiers[i];
   }
@@ -130,7 +129,7 @@
   TestAcceleratorTarget target;
 
   // Test all cases of possible modifiers.
-  for (size_t i = 0; i < (1 << base::size(kAcceleratorModifiers)); ++i) {
+  for (size_t i = 0; i < (1 << std::size(kAcceleratorModifiers)); ++i) {
     const int modifiers = BuildAcceleratorModifier(i);
     Accelerator accelerator(GetAccelerator(VKEY_A, modifiers));
     manager_.Register({accelerator}, AcceleratorManager::kNormalPriority,
@@ -152,7 +151,7 @@
     EXPECT_FALSE(manager_.Process(GetAccelerator(VKEY_SHIFT, modifiers)))
         << i;  // different vkey
 
-    for (size_t test_i = 0; test_i < (1 << base::size(kAcceleratorModifiers));
+    for (size_t test_i = 0; test_i < (1 << std::size(kAcceleratorModifiers));
          ++test_i) {
       if (test_i == i)
         continue;
diff --git a/ui/base/accelerators/menu_label_accelerator_util_linux_unittest.cc b/ui/base/accelerators/menu_label_accelerator_util_linux_unittest.cc
index 83ab48f..8cbdce4 100644
--- a/ui/base/accelerators/menu_label_accelerator_util_linux_unittest.cc
+++ b/ui/base/accelerators/menu_label_accelerator_util_linux_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace ui {
@@ -24,7 +23,7 @@
     { "&foo &&bar", "_foo &bar" },
     { "&foo &bar", "_foo _bar" },
   };
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::string result = ConvertAcceleratorsFromWindowsStyle(cases[i].input);
     EXPECT_EQ(cases[i].output, result);
   }
@@ -43,7 +42,7 @@
     { "&foo &&bar", "foo &bar" },
     { "&foo &bar", "foo bar" },
   };
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::string result = RemoveWindowsStyleAccelerators(cases[i].input);
     EXPECT_EQ(cases[i].output, result);
   }
diff --git a/ui/base/clipboard/clipboard_util_win.cc b/ui/base/clipboard/clipboard_util_win.cc
index 4acce28..6ae3176 100644
--- a/ui/base/clipboard/clipboard_util_win.cc
+++ b/ui/base/clipboard/clipboard_util_win.cc
@@ -7,11 +7,11 @@
 #include <shellapi.h>
 #include <wininet.h>  // For INTERNET_MAX_URL_LENGTH.
 #include <wrl/client.h>
+
 #include <algorithm>
 #include <limits>
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/strings/string_util.h"
@@ -65,11 +65,11 @@
       return false;
 
     wchar_t filename[MAX_PATH];
-    if (DragQueryFileW(hdrop.get(), 0, filename, base::size(filename))) {
+    if (DragQueryFileW(hdrop.get(), 0, filename, std::size(filename))) {
       wchar_t url_buffer[INTERNET_MAX_URL_LENGTH];
       if (0 == _wcsicmp(PathFindExtensionW(filename), L".url") &&
           GetPrivateProfileStringW(L"InternetShortcut", L"url", 0, url_buffer,
-                                   base::size(url_buffer), filename)) {
+                                   std::size(url_buffer), filename)) {
         *url = GURL(base::AsStringPiece16(url_buffer));
         PathRemoveExtension(filename);
         title->assign(base::as_u16cstr(PathFindFileName(filename)));
diff --git a/ui/base/cocoa/constrained_window/constrained_window_animation.mm b/ui/base/cocoa/constrained_window/constrained_window_animation.mm
index c894456..ae33e46 100644
--- a/ui/base/cocoa/constrained_window/constrained_window_animation.mm
+++ b/ui/base/cocoa/constrained_window/constrained_window_animation.mm
@@ -7,7 +7,6 @@
 #include <stdint.h>
 #include <stdlib.h>
 
-#include "base/cxx17_backports.h"
 #include "base/files/file_path.h"
 #include "base/location.h"
 #import "base/mac/foundation_util.h"
@@ -338,7 +337,7 @@
   };
 
   CGFloat scale = 1;
-  for (int i = base::size(frames) - 1; i >= 0; --i) {
+  for (int i = std::size(frames) - 1; i >= 0; --i) {
     if (value >= frames[i].value) {
       CGFloat delta = frames[i + 1].value - frames[i].value;
       CGFloat frame_progress = (value - frames[i].value) / delta;
diff --git a/ui/base/dragdrop/os_exchange_data_provider_win.cc b/ui/base/dragdrop/os_exchange_data_provider_win.cc
index 8cabb84..c6536868 100644
--- a/ui/base/dragdrop/os_exchange_data_provider_win.cc
+++ b/ui/base/dragdrop/os_exchange_data_provider_win.cc
@@ -18,7 +18,6 @@
 #include "base/callback.h"
 #include "base/check_op.h"
 #include "base/containers/span.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_path.h"
 #include "base/i18n/file_util_icu.h"
 #include "base/no_destructor.h"
@@ -1262,7 +1261,7 @@
 
   // Maximum length of title after truncation.
   static constexpr size_t kMaxFileTitleLength =
-      kMaxFileNameLength - base::size(kExtension);
+      kMaxFileNameLength - std::size(kExtension);
 
   if (validated.size() > kMaxFileTitleLength)
     validated.erase(kMaxFileTitleLength);
diff --git a/ui/base/ime/ash/input_method_util.cc b/ui/base/ime/ash/input_method_util.cc
index 8caa1a3..679b838 100644
--- a/ui/base/ime/ash/input_method_util.cc
+++ b/ui/base/ime/ash/input_method_util.cc
@@ -13,7 +13,6 @@
 #include <unordered_set>
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
@@ -196,7 +195,7 @@
     {"xkb:us:workman:eng", IDS_STATUSBAR_LAYOUT_USA_WORKMAN},
 };
 const size_t kEnglishToResourceIdArraySize =
-    base::size(kEnglishToResourceIdArray);
+    std::size(kEnglishToResourceIdArray);
 
 const struct InputMethodNameMap {
   const char* message_name;
@@ -417,7 +416,7 @@
   const std::string& disp = descriptor.name();
   if (base::StartsWith(disp, "__MSG_", base::CompareCase::SENSITIVE)) {
     const InputMethodNameMap* map = kInputMethodNameMap;
-    size_t map_size = base::size(kInputMethodNameMap);
+    size_t map_size = std::size(kInputMethodNameMap);
     std::string name = base::ToUpperASCII(disp);
     const InputMethodNameMap map_key = {name.c_str(), 0};
     const InputMethodNameMap* p =
diff --git a/ui/base/ime/ash/input_method_util_unittest.cc b/ui/base/ime/ash/input_method_util_unittest.cc
index bd794a3..4b9cc1a 100644
--- a/ui/base/ime/ash/input_method_util_unittest.cc
+++ b/ui/base/ime/ash/input_method_util_unittest.cc
@@ -10,7 +10,6 @@
 #include <string>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/strings/utf_string_conversions.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/ime/ash/extension_ime_util.h"
@@ -347,8 +346,8 @@
 
   util_.MigrateInputMethods(&input_method_ids);
 
-  EXPECT_EQ(base::size(migration_cases), input_method_ids.size());
-  for (size_t i = 0; i < base::size(migration_cases); ++i) {
+  EXPECT_EQ(std::size(migration_cases), input_method_ids.size());
+  for (size_t i = 0; i < std::size(migration_cases); ++i) {
     EXPECT_EQ(
         extension_ime_util::GetInputMethodIDByEngineID(migration_cases[i][1]),
         input_method_ids[i]);
diff --git a/ui/base/ime/character_composer_unittest.cc b/ui/base/ime/character_composer_unittest.cc
index 48cdda7..77d17e3 100644
--- a/ui/base/ime/character_composer_unittest.cc
+++ b/ui/base/ime/character_composer_unittest.cc
@@ -412,7 +412,7 @@
   ExpectUnicodeKeyComposed(
       VKEY_RETURN, DomCode::ENTER, EF_NONE, '\r',
       std::u16string(kMusicalKeyboard,
-                     kMusicalKeyboard + base::size(kMusicalKeyboard)));
+                     kMusicalKeyboard + std::size(kMusicalKeyboard)));
 }
 
 TEST_F(CharacterComposerTest, HexadecimalCompositionPreedit) {
diff --git a/ui/base/ime/linux/composition_text_util_pango_unittest.cc b/ui/base/ime/linux/composition_text_util_pango_unittest.cc
index a4ecf86..c5e2adc 100644
--- a/ui/base/ime/linux/composition_text_util_pango_unittest.cc
+++ b/ui/base/ime/linux/composition_text_util_pango_unittest.cc
@@ -11,7 +11,6 @@
 #include <string>
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/notreached.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/ime/composition_text.h"
@@ -118,7 +117,7 @@
 }
 
 TEST(CompositionTextUtilPangoTest, ExtractCompositionText) {
-  for (size_t i = 0; i < base::size(kTestData); ++i) {
+  for (size_t i = 0; i < std::size(kTestData); ++i) {
     const char* text = kTestData[i].text;
     const AttributeInfo* attrs = kTestData[i].attrs;
     SCOPED_TRACE(testing::Message() << "Testing:" << i
diff --git a/ui/base/ime/mojom/ime_mojom_traits_unittest.cc b/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
index dc95d15a..75c6931 100644
--- a/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
+++ b/ui/base/ime/mojom/ime_mojom_traits_unittest.cc
@@ -2,16 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ui/base/ime/mojom/ime_types_mojom_traits.h"
-
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/test/task_environment.h"
 #include "mojo/public/cpp/bindings/receiver_set.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/ime/mojom/ime_mojom_traits_test.mojom.h"
+#include "ui/base/ime/mojom/ime_types_mojom_traits.h"
 
 namespace ui {
 
@@ -68,7 +66,7 @@
   };
 
   mojo::Remote<mojom::IMEStructTraitsTest> remote = GetTraitsTestRemote();
-  for (size_t i = 0; i < base::size(kTextInputTypes); i++) {
+  for (size_t i = 0; i < std::size(kTextInputTypes); i++) {
     ui::TextInputType type_out;
     ASSERT_TRUE(remote->EchoTextInputType(kTextInputTypes[i], &type_out));
     EXPECT_EQ(kTextInputTypes[i], type_out);
diff --git a/ui/base/ime/win/tsf_bridge.cc b/ui/base/ime/win/tsf_bridge.cc
index e180d8a..1d629d46 100644
--- a/ui/base/ime/win/tsf_bridge.cc
+++ b/ui/base/ime/win/tsf_bridge.cc
@@ -2,11 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/base/ime/win/tsf_bridge.h"
+
 #include <msctf.h>
 
 #include <map>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/ref_counted.h"
@@ -18,7 +19,6 @@
 #include "ui/base/ime/input_method_delegate.h"
 #include "ui/base/ime/text_input_client.h"
 #include "ui/base/ime/win/mock_tsf_bridge.h"
-#include "ui/base/ime/win/tsf_bridge.h"
 #include "ui/base/ime/win/tsf_text_store.h"
 #include "ui/base/ui_base_features.h"
 
@@ -493,7 +493,7 @@
       TEXT_INPUT_TYPE_EMAIL,     TEXT_INPUT_TYPE_NUMBER,
       TEXT_INPUT_TYPE_TELEPHONE, TEXT_INPUT_TYPE_URL,
   };
-  for (size_t i = 0; i < base::size(kTextInputTypes); ++i) {
+  for (size_t i = 0; i < std::size(kTextInputTypes); ++i) {
     const TextInputType input_type = kTextInputTypes[i];
     Microsoft::WRL::ComPtr<ITfContext> context;
     Microsoft::WRL::ComPtr<ITfDocumentMgr> document_manager;
diff --git a/ui/base/ime/win/tsf_bridge.h b/ui/base/ime/win/tsf_bridge.h
index 072fe08..c5df58da 100644
--- a/ui/base/ime/win/tsf_bridge.h
+++ b/ui/base/ime/win/tsf_bridge.h
@@ -10,6 +10,7 @@
 #include <wrl/client.h>
 
 #include "base/component_export.h"
+#include "ui/base/ime/input_method_delegate.h"
 
 namespace ui {
 class TextInputClient;
diff --git a/ui/base/ime/win/tsf_text_store_unittest.cc b/ui/base/ime/win/tsf_text_store_unittest.cc
index af57883..54fcad9 100644
--- a/ui/base/ime/win/tsf_text_store_unittest.cc
+++ b/ui/base/ime/win/tsf_text_store_unittest.cc
@@ -12,7 +12,6 @@
 
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/memory/ref_counted.h"
 #include "base/win/scoped_com_initializer.h"
 #include "base/win/scoped_variant.h"
@@ -1466,11 +1465,11 @@
 
   const TS_ATTRID kUnknownAttributes[] = {GUID_NULL};
   EXPECT_HRESULT_FAILED(text_store_->RequestSupportedAttrs(
-      0, base::size(kUnknownAttributes), kUnknownAttributes))
+      0, std::size(kUnknownAttributes), kUnknownAttributes))
       << "Must fail for unknown attributes";
 
   const TS_ATTRID kAttributes[] = {GUID_NULL, GUID_PROP_INPUTSCOPE, GUID_NULL};
-  EXPECT_EQ(S_OK, text_store_->RequestSupportedAttrs(0, base::size(kAttributes),
+  EXPECT_EQ(S_OK, text_store_->RequestSupportedAttrs(0, std::size(kAttributes),
                                                      kAttributes))
       << "InputScope must be supported";
 
@@ -1480,7 +1479,7 @@
     text_store_->SetFocusedTextInputClient(nullptr, nullptr);
     EXPECT_HRESULT_FAILED(text_store_->RequestSupportedAttrs(0, 0, nullptr));
     EXPECT_HRESULT_FAILED(text_store_->RequestSupportedAttrs(
-        0, base::size(kAttributes), kAttributes));
+        0, std::size(kAttributes), kAttributes));
   }
 }
 
@@ -1498,7 +1497,7 @@
     SCOPED_TRACE("Make sure if InputScope is supported");
     TS_ATTRVAL buffer[2] = {};
     num_copied = 0xfffffff;
-    ASSERT_EQ(S_OK, text_store_->RetrieveRequestedAttrs(base::size(buffer),
+    ASSERT_EQ(S_OK, text_store_->RetrieveRequestedAttrs(std::size(buffer),
                                                         buffer, &num_copied));
     bool input_scope_found = false;
     for (size_t i = 0; i < num_copied; ++i) {
@@ -1523,7 +1522,7 @@
     num_copied = 0xfffffff;
     TS_ATTRVAL buffer[2] = {};
     EXPECT_HRESULT_FAILED(text_store_->RetrieveRequestedAttrs(
-        base::size(buffer), buffer, &num_copied));
+        std::size(buffer), buffer, &num_copied));
   }
 }
 
diff --git a/ui/base/l10n/l10n_util.cc b/ui/base/l10n/l10n_util.cc
index 5a549d4..aeee828 100644
--- a/ui/base/l10n/l10n_util.cc
+++ b/ui/base/l10n/l10n_util.cc
@@ -13,7 +13,6 @@
 #include "base/check_op.h"
 #include "base/command_line.h"
 #include "base/compiler_specific.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/i18n/file_util_icu.h"
 #include "base/i18n/message_formatter.h"
@@ -1026,7 +1025,7 @@
 }
 
 size_t GetAcceptLanguageListSizeForTesting() {
-  return base::size(kAcceptLanguageList);
+  return std::size(kAcceptLanguageList);
 }
 
 const char* const* GetPlatformLocalesForTesting() {
@@ -1034,7 +1033,7 @@
 }
 
 size_t GetPlatformLocalesSizeForTesting() {
-  return base::size(kPlatformLocales);
+  return std::size(kPlatformLocales);
 }
 
 }  // namespace l10n_util
diff --git a/ui/base/l10n/l10n_util_mac_unittest.mm b/ui/base/l10n/l10n_util_mac_unittest.mm
index 738cd92..98a2fde 100644
--- a/ui/base/l10n/l10n_util_mac_unittest.mm
+++ b/ui/base/l10n/l10n_util_mac_unittest.mm
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/base/l10n/l10n_util_mac.h"
+
 #import <Foundation/Foundation.h>
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/sys_string_conversions.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/platform_test.h"
-#include "ui/base/l10n/l10n_util_mac.h"
 
 typedef PlatformTest L10nUtilMacTest;
 
@@ -38,7 +38,7 @@
     { @"foo(&b)...", @"foo\u2026" },
     { @"(&b)foo", @"foo" },
   };
-  for (size_t idx = 0; idx < base::size(data); ++idx) {
+  for (size_t idx = 0; idx < std::size(data); ++idx) {
     std::u16string input16(base::SysNSStringToUTF16(data[idx].input));
 
     NSString* result = l10n_util::FixUpWindowsStyleLabel(input16);
diff --git a/ui/base/l10n/l10n_util_unittest.cc b/ui/base/l10n/l10n_util_unittest.cc
index c58f373..525a7f6 100644
--- a/ui/base/l10n/l10n_util_unittest.cc
+++ b/ui/base/l10n/l10n_util_unittest.cc
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/base/l10n/l10n_util.h"
+
 #include <stddef.h>
 
 #include <cstring>
 #include <memory>
 
 #include "base/containers/flat_set.h"
-#include "base/cxx17_backports.h"
 #include "base/environment.h"
 #include "base/files/file_util.h"
 #include "base/i18n/case_conversion.h"
@@ -26,7 +27,6 @@
 #include "testing/platform_test.h"
 #include "third_party/icu/source/common/unicode/locid.h"
 #include "ui/base/grit/ui_base_test_resources.h"
-#include "ui/base/l10n/l10n_util.h"
 #include "ui/base/l10n/l10n_util_collator.h"
 #include "ui/base/ui_base_paths.h"
 
@@ -115,7 +115,7 @@
       "fr", "he", "nb",          "pt-BR", "pt-PT", "zh-CN", "zh-TW",
   };
 
-  for (size_t i = 0; i < base::size(filenames); ++i) {
+  for (size_t i = 0; i < std::size(filenames); ++i) {
     base::FilePath filename = new_locale_dir.AppendASCII(
         filenames[i] + ".pak");
     base::WriteFile(filename, "");
diff --git a/ui/base/resource/resource_bundle.cc b/ui/base/resource/resource_bundle.cc
index cce05971..91283f745 100644
--- a/ui/base/resource/resource_bundle.cc
+++ b/ui/base/resource/resource_bundle.cc
@@ -132,7 +132,7 @@
   // Check that the data is brotli decoded by checking for kBrotliConst in
   // header. Header added during compression at tools/grit/grit/node/base.py.
   const uint8_t* data_bytes = reinterpret_cast<const uint8_t*>(data.data());
-  static_assert(base::size(ResourceBundle::kBrotliConst) == 2,
+  static_assert(std::size(ResourceBundle::kBrotliConst) == 2,
                 "Magic number should be 2 bytes long");
   return data.size() >= ResourceBundle::kBrotliHeaderSize &&
          *data_bytes == ResourceBundle::kBrotliConst[0] &&
@@ -144,11 +144,11 @@
   CHECK(input.data());
   CHECK(HasBrotliHeader(input));
   const uint8_t* raw_input = reinterpret_cast<const uint8_t*>(input.data());
-  raw_input = raw_input + base::size(ResourceBundle::kBrotliConst);
+  raw_input = raw_input + std::size(ResourceBundle::kBrotliConst);
   // Get size of uncompressed resource from header.
   uint64_t uncompress_size = 0;
   int bytes_size = static_cast<int>(ResourceBundle::kBrotliHeaderSize -
-                                    base::size(ResourceBundle::kBrotliConst));
+                                    std::size(ResourceBundle::kBrotliConst));
   for (int i = 0; i < bytes_size; i++) {
     uncompress_size |= static_cast<uint64_t>(*(raw_input + i)) << (i * 8);
   }
@@ -458,7 +458,7 @@
     base::debug::Alias(&last_error);
     wchar_t path_copy[MAX_PATH];
     base::wcslcpy(path_copy, locale_file_path.value().c_str(),
-                  base::size(path_copy));
+                  std::size(path_copy));
     base::debug::Alias(path_copy);
 #endif  // BUILDFLAG(IS_WIN)
     CHECK(false);
@@ -1188,12 +1188,12 @@
 // static
 bool ResourceBundle::PNGContainsFallbackMarker(const unsigned char* buf,
                                                size_t size) {
-  if (size < base::size(kPngMagic) ||
-      memcmp(buf, kPngMagic, base::size(kPngMagic)) != 0) {
+  if (size < std::size(kPngMagic) ||
+      memcmp(buf, kPngMagic, std::size(kPngMagic)) != 0) {
     // Data invalid or a JPEG.
     return false;
   }
-  size_t pos = base::size(kPngMagic);
+  size_t pos = std::size(kPngMagic);
 
   // Scan for custom chunks until we find one, find the IDAT chunk, or run out
   // of chunks.
@@ -1205,11 +1205,11 @@
     if (size - pos - kPngChunkMetadataSize < length)
       break;
     if (length == 0 && memcmp(buf + pos + sizeof(uint32_t), kPngScaleChunkType,
-                              base::size(kPngScaleChunkType)) == 0) {
+                              std::size(kPngScaleChunkType)) == 0) {
       return true;
     }
     if (memcmp(buf + pos + sizeof(uint32_t), kPngDataChunkType,
-               base::size(kPngDataChunkType)) == 0) {
+               std::size(kPngDataChunkType)) == 0) {
       // Stop looking for custom chunks, any custom chunks should be before an
       // IDAT chunk.
       break;
@@ -1232,10 +1232,10 @@
 bool ResourceBundle::LoadLottieBytesString(int resource_id,
                                            std::string* bytes_string) const {
   const base::StringPiece potential_lottie = GetRawDataResource(resource_id);
-  if (potential_lottie.substr(0u, base::size(kLottiePrefix)) !=
-      base::StringPiece(kLottiePrefix, base::size(kLottiePrefix)))
+  if (potential_lottie.substr(0u, std::size(kLottiePrefix)) !=
+      base::StringPiece(kLottiePrefix, std::size(kLottiePrefix)))
     return false;
-  DecompressIfNeeded(potential_lottie.substr(base::size(kLottiePrefix)),
+  DecompressIfNeeded(potential_lottie.substr(std::size(kLottiePrefix)),
                      bytes_string);
   return true;
 }
diff --git a/ui/base/resource/resource_bundle_unittest.cc b/ui/base/resource/resource_bundle_unittest.cc
index 0e85ad961..57e238c2 100644
--- a/ui/base/resource/resource_bundle_unittest.cc
+++ b/ui/base/resource/resource_bundle_unittest.cc
@@ -7,12 +7,12 @@
 #include <stddef.h>
 #include <stdint.h>
 #include <string.h>
+
 #include <string>
 
 #include "base/base_paths.h"
 #include "base/big_endian.h"
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
@@ -78,11 +78,11 @@
 // Returns |bitmap_data| with |custom_chunk| inserted after the IHDR chunk.
 void AddCustomChunk(const base::StringPiece& custom_chunk,
                     std::vector<unsigned char>* bitmap_data) {
-  EXPECT_LT(base::size(kPngMagic) + kPngChunkMetadataSize, bitmap_data->size());
+  EXPECT_LT(std::size(kPngMagic) + kPngChunkMetadataSize, bitmap_data->size());
   EXPECT_TRUE(std::equal(bitmap_data->begin(),
-                         bitmap_data->begin() + base::size(kPngMagic),
+                         bitmap_data->begin() + std::size(kPngMagic),
                          kPngMagic));
-  auto ihdr_start = bitmap_data->begin() + base::size(kPngMagic);
+  auto ihdr_start = bitmap_data->begin() + std::size(kPngMagic);
   uint8_t ihdr_length_data[sizeof(uint32_t)];
   for (size_t i = 0; i < sizeof(uint32_t); ++i)
     ihdr_length_data[i] = *(ihdr_start + i);
@@ -641,7 +641,7 @@
   CreateDataPackWithSingleBitmap(
       data_2x_path, 10,
       base::StringPiece(reinterpret_cast<const char*>(kPngScaleChunk),
-                        base::size(kPngScaleChunk)));
+                        std::size(kPngScaleChunk)));
 
   // Load the regular and 2x pak files.
   ResourceBundle* resource_bundle = CreateResourceBundleWithEmptyLocalePak();
diff --git a/ui/base/resource/resource_scale_factor.cc b/ui/base/resource/resource_scale_factor.cc
index e2fd525..02aab822 100644
--- a/ui/base/resource/resource_scale_factor.cc
+++ b/ui/base/resource/resource_scale_factor.cc
@@ -4,14 +4,14 @@
 
 #include "ui/base/resource/resource_scale_factor.h"
 
-#include "base/cxx17_backports.h"
+#include <iterator>
 
 namespace ui {
 
 namespace {
 
 const float kResourceScaleFactorScales[] = {1.0f, 1.0f, 2.0f, 3.0f};
-static_assert(NUM_SCALE_FACTORS == base::size(kResourceScaleFactorScales),
+static_assert(NUM_SCALE_FACTORS == std::size(kResourceScaleFactorScales),
               "kScaleFactorScales has incorrect size");
 
 }  // namespace
diff --git a/ui/base/template_expressions.cc b/ui/base/template_expressions.cc
index 639da5e..757ff62 100644
--- a/ui/base/template_expressions.cc
+++ b/ui/base/template_expressions.cc
@@ -9,7 +9,6 @@
 #include <ostream>
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/strings/string_piece.h"
 #include "base/values.h"
 #include "build/chromeos_buildflags.h"
@@ -22,12 +21,12 @@
 
 namespace {
 const char kLeader[] = "$i18n";
-const size_t kLeaderSize = base::size(kLeader) - 1;
+const size_t kLeaderSize = std::size(kLeader) - 1;
 const char kKeyOpen = '{';
 const char kKeyClose = '}';
 const char kHtmlTemplateEnd[] = "<!--_html_template_end_-->";
 const char kHtmlTemplateStart[] = "<!--_html_template_start_-->";
-const size_t kHtmlTemplateStartSize = base::size(kHtmlTemplateStart) - 1;
+const size_t kHtmlTemplateStartSize = std::size(kHtmlTemplateStart) - 1;
 
 enum HtmlTemplateType { INVALID = 0, NONE = 1, VALID = 2 };
 
diff --git a/ui/base/test/ui_controls_mac.mm b/ui/base/test/ui_controls_mac.mm
index a4bc36f5..f700d40 100644
--- a/ui/base/test/ui_controls_mac.mm
+++ b/ui/base/test/ui_controls_mac.mm
@@ -5,11 +5,11 @@
 #include "ui/base/test/ui_controls.h"
 
 #import <Cocoa/Cocoa.h>
+
 #include <vector>
 
 #include "base/bind.h"
 #include "base/callback.h"
-#include "base/cxx17_backports.h"
 #import "base/mac/foundation_util.h"
 #import "base/mac/scoped_objc_class_swizzler.h"
 #include "base/task/current_thread.h"
@@ -195,7 +195,7 @@
   NSUInteger result = 0;
   const int buttons[3] = {
       ui_controls::LEFT, ui_controls::RIGHT, ui_controls::MIDDLE};
-  for (size_t i = 0; i < base::size(buttons); ++i) {
+  for (size_t i = 0; i < std::size(buttons); ++i) {
     if (g_mouse_button_down[buttons[i]])
       result |= (1 << i);
   }
diff --git a/ui/base/text/bytes_formatting.cc b/ui/base/text/bytes_formatting.cc
index eda25e9..dfd360551 100644
--- a/ui/base/text/bytes_formatting.cc
+++ b/ui/base/text/bytes_formatting.cc
@@ -7,7 +7,6 @@
 #include <ostream>
 
 #include "base/check.h"
-#include "base/cxx17_backports.h"
 #include "base/i18n/number_formatting.h"
 #include "base/notreached.h"
 #include "base/strings/string_util.h"
@@ -85,7 +84,7 @@
     return DATA_UNITS_BYTE;
   }
 
-  int unit_index = base::size(kUnitThresholds);
+  int unit_index = std::size(kUnitThresholds);
   while (--unit_index > 0) {
     if (bytes >= kUnitThresholds[unit_index])
       break;
diff --git a/ui/base/text/bytes_formatting_unittest.cc b/ui/base/text/bytes_formatting_unittest.cc
index 5bb2c46d..d85d481 100644
--- a/ui/base/text/bytes_formatting_unittest.cc
+++ b/ui/base/text/bytes_formatting_unittest.cc
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/base/text/bytes_formatting.h"
+
 #include <stddef.h>
 #include <stdint.h>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/utf_string_conversions.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/base/text/bytes_formatting.h"
 
 namespace ui {
 
@@ -29,7 +29,7 @@
 #endif
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i)
+  for (size_t i = 0; i < std::size(cases); ++i)
     EXPECT_EQ(cases[i].expected, GetByteDisplayUnits(cases[i].bytes));
 }
 
@@ -72,7 +72,7 @@
 #endif
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     EXPECT_EQ(base::ASCIIToUTF16(cases[i].expected),
               FormatBytesWithUnits(cases[i].bytes, cases[i].units, false));
     EXPECT_EQ(base::ASCIIToUTF16(cases[i].expected_with_units),
diff --git a/ui/base/webui/web_ui_util.cc b/ui/base/webui/web_ui_util.cc
index 85bf5ae..c991b5f 100644
--- a/ui/base/webui/web_ui_util.cc
+++ b/ui/base/webui/web_ui_util.cc
@@ -55,7 +55,7 @@
 
 std::string GetPngDataUrl(const unsigned char* data, size_t size) {
   constexpr char kPrefix[] = "data:image/png;base64,";
-  constexpr size_t kPrefixLen = base::size(kPrefix) - 1;
+  constexpr size_t kPrefixLen = std::size(kPrefix) - 1;
   // Includes room for trailing null byte.
   size_t max_encode_len = modp_b64_encode_len(size);
   std::string output;
diff --git a/ui/base/x/visual_picker_glx.cc b/ui/base/x/visual_picker_glx.cc
index 999f9164..0aef2ab 100644
--- a/ui/base/x/visual_picker_glx.cc
+++ b/ui/base/x/visual_picker_glx.cc
@@ -11,7 +11,6 @@
 #include <numeric>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/memory/singleton.h"
 #include "ui/gfx/x/future.h"
 
@@ -116,7 +115,7 @@
     for (const uint32_t prop : static_props)
       props[prop] = configs.property_list[i++];
     const size_t extra_props =
-        (configs.num_properties - base::size(static_props)) / 2;
+        (configs.num_properties - std::size(static_props)) / 2;
     for (size_t j = 0; j < extra_props; j++) {
       const auto key = configs.property_list[i++];
       const auto value = configs.property_list[i++];
diff --git a/ui/base/x/x11_cursor_loader.cc b/ui/base/x/x11_cursor_loader.cc
index 3208821..f2ee56f 100644
--- a/ui/base/x/x11_cursor_loader.cc
+++ b/ui/base/x/x11_cursor_loader.cc
@@ -11,7 +11,6 @@
 
 #include "base/bind.h"
 #include "base/compiler_specific.h"
-#include "base/cxx17_backports.h"
 #include "base/environment.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
@@ -312,7 +311,7 @@
   if (auto pf_reply = pf_cookie.Sync())
     pict_format_ = GetRenderARGBFormat(*pf_reply.reply);
 
-  for (uint16_t i = 0; i < base::size(cursor_names); i++)
+  for (uint16_t i = 0; i < std::size(cursor_names); i++)
     cursor_name_to_char_[cursor_names[i]] = i;
 }
 
diff --git a/ui/base/x/x11_global_shortcut_listener.cc b/ui/base/x/x11_global_shortcut_listener.cc
index a7726661..898e15a2 100644
--- a/ui/base/x/x11_global_shortcut_listener.cc
+++ b/ui/base/x/x11_global_shortcut_listener.cc
@@ -7,7 +7,6 @@
 #include <stddef.h>
 
 #include "base/containers/contains.h"
-#include "base/cxx17_backports.h"
 #include "ui/base/x/x11_util.h"
 #include "ui/events/event.h"
 #include "ui/events/keycodes/keyboard_code_conversion_x.h"
@@ -90,8 +89,8 @@
   // Because XGrabKey only works on the exact modifiers mask, we should register
   // our hot keys with modifiers that we want to ignore, including Num lock,
   // Caps lock, Scroll lock. See comment about |kModifiersMasks|.
-  x11::Future<void> grab_requests[base::size(kModifiersMasks)];
-  for (size_t i = 0; i < base::size(kModifiersMasks); i++) {
+  x11::Future<void> grab_requests[std::size(kModifiersMasks)];
+  for (size_t i = 0; i < std::size(kModifiersMasks); i++) {
     grab_requests[i] = connection_->GrabKey(
         {false, x_root_window_, modifiers | kModifiersMasks[i], keycode,
          x11::GrabMode::Async, x11::GrabMode::Async});
diff --git a/ui/chromeos/events/event_rewriter_chromeos.cc b/ui/chromeos/events/event_rewriter_chromeos.cc
index b777b8f1..95307c6 100644
--- a/ui/chromeos/events/event_rewriter_chromeos.cc
+++ b/ui/chromeos/events/event_rewriter_chromeos.cc
@@ -8,7 +8,6 @@
 #include <stddef.h>
 
 #include "ash/constants/ash_features.h"
-#include "base/cxx17_backports.h"
 #include "base/feature_list.h"
 #include "base/files/file_path.h"
 #include "base/files/scoped_file.h"
@@ -123,7 +122,7 @@
     {EF_NONE, DomCode::F14, DomKey::F14, VKEY_F14},
     {EF_NONE, DomCode::F15, DomKey::F15, VKEY_F15},
 };
-const size_t kAllFKeysSize = base::size(kCustomTopRowLayoutFKeys);
+const size_t kAllFKeysSize = std::size(kCustomTopRowLayoutFKeys);
 constexpr KeyboardCode kMaxCustomTopRowLayoutFKeyCode = VKEY_F15;
 
 bool IsCustomLayoutFunctionKey(KeyboardCode key_code) {
@@ -1078,7 +1077,7 @@
                                                     int original_flags) const {
   int unmodified_flags = original_flags;
   int rewritten_flags = pressed_modifier_latches_ | latched_modifier_latches_;
-  for (size_t i = 0; unmodified_flags && (i < base::size(kModifierRemappings));
+  for (size_t i = 0; unmodified_flags && (i < std::size(kModifierRemappings));
        ++i) {
     const ModifierRemapping* remapped_key = nullptr;
     if (!(unmodified_flags & kModifierRemappings[i].flag))
@@ -1427,7 +1426,7 @@
         };
         if (!skip_search_key_remapping &&
             RewriteWithKeyboardRemappings(kNewSearchRemappings,
-                                          base::size(kNewSearchRemappings),
+                                          std::size(kNewSearchRemappings),
                                           incoming, state, /*strict=*/true)) {
           return;
         }
@@ -1453,7 +1452,7 @@
 
       if (!skip_search_key_remapping &&
           RewriteWithKeyboardRemappings(kNewInsertRemapping,
-                                        base::size(kNewInsertRemapping),
+                                        std::size(kNewInsertRemapping),
                                         incoming, state, strict)) {
         RecordSixPackEventRewrites(key_event.type(), state->key_code,
                                    /*legacy_variant=*/false);
@@ -1462,7 +1461,7 @@
 
       // Test for the deprecated insert rewrite in order to show a notification.
       const ui::KeyboardCode deprecated_key = MatchedDeprecatedRemapping(
-          kOldInsertRemapping, base::size(kOldInsertRemapping), incoming);
+          kOldInsertRemapping, std::size(kOldInsertRemapping), incoming);
       if (deprecated_key != VKEY_UNKNOWN) {
         // If the key would have matched prior to being deprecated then notify
         // the delegate to show a notification.
@@ -1471,7 +1470,7 @@
     } else {
       if (!skip_search_key_remapping &&
           RewriteWithKeyboardRemappings(kOldInsertRemapping,
-                                        base::size(kOldInsertRemapping),
+                                        std::size(kOldInsertRemapping),
                                         incoming, state, strict)) {
         RecordSixPackEventRewrites(key_event.type(), state->key_code,
                                    /*legacy_variant=*/true);
@@ -1498,7 +1497,7 @@
 
     if (!skip_search_key_remapping &&
         RewriteWithKeyboardRemappings(kSixPackRemappings,
-                                      base::size(kSixPackRemappings), incoming,
+                                      std::size(kSixPackRemappings), incoming,
                                       state, strict)) {
       RecordSixPackEventRewrites(key_event.type(), state->key_code,
                                  /*legacy_variant=*/false);
@@ -1527,7 +1526,7 @@
     if (!::features::IsImprovedKeyboardShortcutsEnabled() ||
         !::features::IsDeprecateAltBasedSixPackEnabled()) {
       if (RewriteWithKeyboardRemappings(kLegacySixPackRemappings,
-                                        base::size(kLegacySixPackRemappings),
+                                        std::size(kLegacySixPackRemappings),
                                         incoming, state)) {
         RecordSixPackEventRewrites(key_event.type(), state->key_code,
                                    /*legacy_variant=*/true);
@@ -1535,7 +1534,7 @@
       }
     } else {
       const ui::KeyboardCode deprecated_key = MatchedDeprecatedRemapping(
-          kLegacySixPackRemappings, base::size(kLegacySixPackRemappings),
+          kLegacySixPackRemappings, std::size(kLegacySixPackRemappings),
           incoming);
       if (deprecated_key != VKEY_UNKNOWN) {
         // If the key would have matched prior to being deprecated then notify
@@ -1663,12 +1662,12 @@
       switch (layout) {
         case kKbdTopRowLayout2:
           mapping = kFkeysToSystemKeys2;
-          mappingSize = base::size(kFkeysToSystemKeys2);
+          mappingSize = std::size(kFkeysToSystemKeys2);
           break;
         case kKbdTopRowLayout1:
         default:
           mapping = kFkeysToSystemKeys1;
-          mappingSize = base::size(kFkeysToSystemKeys1);
+          mappingSize = std::size(kFkeysToSystemKeys1);
           break;
       }
 
@@ -2106,12 +2105,12 @@
         return true;
       }
       return RewriteWithKeyboardRemappings(kFnkeysToActionKeys,
-                                           base::size(kFnkeysToActionKeys),
+                                           std::size(kFnkeysToActionKeys),
                                            incoming_without_command, state);
     }
     return true;
   } else if (IsKeyCodeInMappings(state->key_code, kActionToFnKeys,
-                                 base::size(kActionToFnKeys))) {
+                                 std::size(kActionToFnKeys))) {
     // Incoming key code is an action key. Check if it needs to be mapped back
     // to its corresponding function key.
     if (search_is_pressed != ForceTopRowAsFunctionKeys()) {
@@ -2123,7 +2122,7 @@
         return true;
       }
       return RewriteWithKeyboardRemappings(kActionToFnKeys,
-                                           base::size(kActionToFnKeys),
+                                           std::size(kActionToFnKeys),
                                            incoming_without_command, state);
     }
     // Remap Privacy Screen Toggle to F12 on Drallion devices that do not have
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
index 4507df1e..21778ef 100644
--- a/ui/display/mac/screen_mac.mm
+++ b/ui/display/mac/screen_mac.mm
@@ -13,7 +13,6 @@
 #include <memory>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/mac/mac_util.h"
 #include "base/mac/scoped_cftyperef.h"
@@ -196,7 +195,7 @@
   // doesn't hurt.
   CGDirectDisplayID online_displays[1024];
   CGDisplayCount online_display_count = 0;
-  if (CGGetOnlineDisplayList(base::size(online_displays), online_displays,
+  if (CGGetOnlineDisplayList(std::size(online_displays), online_displays,
                              &online_display_count) != kCGErrorSuccess) {
     return std::vector<DisplayMac>(1, BuildPrimaryDisplay());
   }
diff --git a/ui/display/manager/configure_displays_task.cc b/ui/display/manager/configure_displays_task.cc
index 4cc919d..c3d094d 100644
--- a/ui/display/manager/configure_displays_task.cc
+++ b/ui/display/manager/configure_displays_task.cc
@@ -10,7 +10,6 @@
 #include "base/bind.h"
 #include "base/containers/flat_set.h"
 #include "base/containers/queue.h"
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
@@ -96,23 +95,23 @@
   const gfx::Size size = mode->size();
   uint32_t width_idx = 0;
   uint32_t height_idx = 0;
-  for (; width_idx < base::size(kDisplayResolutionSamples); width_idx++) {
+  for (; width_idx < std::size(kDisplayResolutionSamples); width_idx++) {
     if (size.width() <= kDisplayResolutionSamples[width_idx])
       break;
   }
-  for (; height_idx < base::size(kDisplayResolutionSamples); height_idx++) {
+  for (; height_idx < std::size(kDisplayResolutionSamples); height_idx++) {
     if (size.height() <= kDisplayResolutionSamples[height_idx])
       break;
   }
 
-  if (width_idx == base::size(kDisplayResolutionSamples) ||
-      height_idx == base::size(kDisplayResolutionSamples))
-    return base::size(kDisplayResolutionSamples) *
-               base::size(kDisplayResolutionSamples) +
+  if (width_idx == std::size(kDisplayResolutionSamples) ||
+      height_idx == std::size(kDisplayResolutionSamples))
+    return std::size(kDisplayResolutionSamples) *
+               std::size(kDisplayResolutionSamples) +
            1;  // Overflow bucket
   // Computes the index of DisplayResolution, starting from 1, since 0 is used
   // when powering off the display.
-  return width_idx * base::size(kDisplayResolutionSamples) + height_idx + 1;
+  return width_idx * std::size(kDisplayResolutionSamples) + height_idx + 1;
 }
 
 void UpdateResolutionAndRefreshRateUma(const DisplayConfigureRequest& request) {
@@ -123,8 +122,8 @@
       internal ? "ConfigureDisplays.Internal.Modeset.Resolution"
                : "ConfigureDisplays.External.Modeset.Resolution",
       ComputeDisplayResolutionEnum(request.mode),
-      base::size(kDisplayResolutionSamples) *
-              base::size(kDisplayResolutionSamples) +
+      std::size(kDisplayResolutionSamples) *
+              std::size(kDisplayResolutionSamples) +
           2);
 
   base::HistogramBase* histogram = base::LinearHistogram::FactoryGet(
diff --git a/ui/display/manager/content_protection_manager_unittest.cc b/ui/display/manager/content_protection_manager_unittest.cc
index 9504592..1a59649 100644
--- a/ui/display/manager/content_protection_manager_unittest.cc
+++ b/ui/display/manager/content_protection_manager_unittest.cc
@@ -65,7 +65,7 @@
     DisplayConnectionType conn_types[] = {
         DISPLAY_CONNECTION_TYPE_INTERNAL, DISPLAY_CONNECTION_TYPE_HDMI,
         DISPLAY_CONNECTION_TYPE_VGA, DISPLAY_CONNECTION_TYPE_HDMI};
-    for (size_t i = 0; i < base::size(kDisplayIds); ++i) {
+    for (size_t i = 0; i < std::size(kDisplayIds); ++i) {
       displays_[i] = FakeDisplaySnapshot::Builder()
                          .SetId(kDisplayIds[i])
                          .SetType(conn_types[i])
@@ -93,7 +93,7 @@
 
  protected:
   void UpdateDisplays(size_t count) {
-    ASSERT_LE(count, base::size(displays_));
+    ASSERT_LE(count, std::size(displays_));
 
     std::vector<std::unique_ptr<DisplaySnapshot>> displays;
     for (size_t i = 0; i < count; ++i)
@@ -128,7 +128,7 @@
   uint32_t connection_mask_ = DISPLAY_CONNECTION_TYPE_NONE;
   uint32_t protection_mask_ = CONTENT_PROTECTION_METHOD_NONE;
 
-  std::unique_ptr<DisplaySnapshot> displays_[base::size(kDisplayIds)];
+  std::unique_ptr<DisplaySnapshot> displays_[std::size(kDisplayIds)];
 };
 
 TEST_F(ContentProtectionManagerTest, Basic) {
diff --git a/ui/display/manager/display_change_observer.cc b/ui/display/manager/display_change_observer.cc
index 4bc1d7b..2a41dea 100644
--- a/ui/display/manager/display_change_observer.cc
+++ b/ui/display/manager/display_change_observer.cc
@@ -14,7 +14,6 @@
 
 #include "base/check_op.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "build/chromeos_buildflags.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/user_activity/user_activity_detector.h"
@@ -441,7 +440,7 @@
   } else if (size_in_pixels == k18DisplaySizeHackCoachZ) {
     return kDsf_1_8;
   } else {
-    for (size_t i = 0; i < base::size(kThresholdTableForInternal); ++i) {
+    for (size_t i = 0; i < std::size(kThresholdTableForInternal); ++i) {
       if (dpi >= kThresholdTableForInternal[i].dpi)
         return kThresholdTableForInternal[i].device_scale_factor;
     }
diff --git a/ui/display/manager/display_configurator_unittest.cc b/ui/display/manager/display_configurator_unittest.cc
index 1a20db9..0e2c526 100644
--- a/ui/display/manager/display_configurator_unittest.cc
+++ b/ui/display/manager/display_configurator_unittest.cc
@@ -10,7 +10,6 @@
 #include "ash/constants/ash_switches.h"
 #include "base/bind.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/run_loop.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
@@ -300,7 +299,7 @@
   // output-change events to |configurator_| and triggers the configure
   // timeout if one was scheduled.
   void UpdateOutputs(size_t num_outputs, bool send_events) {
-    ASSERT_LE(num_outputs, base::size(outputs_));
+    ASSERT_LE(num_outputs, std::size(outputs_));
     std::vector<DisplaySnapshot*> outputs;
     for (size_t i = 0; i < num_outputs; ++i)
       outputs.push_back(outputs_[i].get());
diff --git a/ui/display/util/display_util.cc b/ui/display/util/display_util.cc
index 96b0ee9..e01d14e 100644
--- a/ui/display/util/display_util.cc
+++ b/ui/display/util/display_util.cc
@@ -54,7 +54,7 @@
     VLOG(1) << "Smaller than minimum display size";
     return false;
   }
-  for (size_t i = 1; i < base::size(kInvalidDisplaySizeList); ++i) {
+  for (size_t i = 1; i < std::size(kInvalidDisplaySizeList); ++i) {
     const gfx::Size size(kInvalidDisplaySizeList[i][0],
                          kInvalidDisplaySizeList[i][1]);
     if (physical_size == size) {
diff --git a/ui/display/util/display_util_unittest.cc b/ui/display/util/display_util_unittest.cc
index 68156877..8c754d7 100644
--- a/ui/display/util/display_util_unittest.cc
+++ b/ui/display/util/display_util_unittest.cc
@@ -147,7 +147,7 @@
   skcms_Matrix3x3 expected_hpz32x_toXYZ50_matrix;
   expected_hpz32x_primaries.toXYZD50(&expected_hpz32x_toXYZ50_matrix);
   const std::vector<uint8_t> hpz32x_edid(kHPz32x,
-                                         kHPz32x + base::size(kHPz32x) - 1);
+                                         kHPz32x + std::size(kHPz32x) - 1);
   const gfx::ColorSpace expected_hpz32x_color_space =
       gfx::ColorSpace::CreateCustom(
           expected_hpz32x_toXYZ50_matrix,
@@ -171,8 +171,7 @@
                                                               .fWY = 0.329102f};
   skcms_Matrix3x3 expected_samus_toXYZ50_matrix;
   expected_samus_primaries.toXYZD50(&expected_samus_toXYZ50_matrix);
-  const std::vector<uint8_t> samus_edid(kSamus,
-                                        kSamus + base::size(kSamus) - 1);
+  const std::vector<uint8_t> samus_edid(kSamus, kSamus + std::size(kSamus) - 1);
   const gfx::ColorSpace expected_samus_color_space =
       gfx::ColorSpace::CreateCustom(
           expected_samus_toXYZ50_matrix,
@@ -200,7 +199,7 @@
       gfx::ColorSpace::PrimaryID::BT709, gfx::ColorSpace::TransferID::CUSTOM,
       gfx::ColorSpace::MatrixID::RGB, gfx::ColorSpace::RangeID::FULL,
       /*custom_primary_matrix=*/nullptr, &eve_transfer);
-  const std::vector<uint8_t> eve_edid(kEve, kEve + base::size(kEve) - 1);
+  const std::vector<uint8_t> eve_edid(kEve, kEve + std::size(kEve) - 1);
   EXPECT_EQ(expected_eve_color_space.ToString(),
             GetColorSpaceFromEdid(display::EdidParser(eve_edid)).ToString());
   histogram_tester.ExpectBucketCount(
@@ -220,7 +219,7 @@
                                                             .fWY = 0.32910f};
   skcms_Matrix3x3 expected_hdr_toXYZ50_matrix;
   expected_hdr_primaries.toXYZD50(&expected_hdr_toXYZ50_matrix);
-  const std::vector<uint8_t> hdr_edid(kHDR, kHDR + base::size(kHDR) - 1);
+  const std::vector<uint8_t> hdr_edid(kHDR, kHDR + std::size(kHDR) - 1);
   const gfx::ColorSpace expected_hdr_color_space =
       gfx::ColorSpace::CreateCustom(expected_hdr_toXYZ50_matrix,
                                     gfx::ColorSpace::TransferID::PQ);
@@ -235,7 +234,7 @@
 
   // Test with gamma marked as non-existent.
   const std::vector<uint8_t> no_gamma_edid(
-      kEdidWithNoGamma, kEdidWithNoGamma + base::size(kEdidWithNoGamma) - 1);
+      kEdidWithNoGamma, kEdidWithNoGamma + std::size(kEdidWithNoGamma) - 1);
   const gfx::ColorSpace no_gamma_color_space =
       GetColorSpaceFromEdid(display::EdidParser(no_gamma_edid));
   EXPECT_FALSE(no_gamma_color_space.IsValid());
@@ -260,7 +259,7 @@
       1);
 
   const std::vector<uint8_t> invalid_edid(
-      kInvalidEdid, kInvalidEdid + base::size(kInvalidEdid) - 1);
+      kInvalidEdid, kInvalidEdid + std::size(kInvalidEdid) - 1);
   const gfx::ColorSpace invalid_color_space =
       GetColorSpaceFromEdid(display::EdidParser(invalid_edid));
   EXPECT_FALSE(invalid_color_space.IsValid());
@@ -271,7 +270,7 @@
       2);
 
   const std::vector<uint8_t> sst210_edid(kSST210,
-                                         kSST210 + base::size(kSST210) - 1);
+                                         kSST210 + std::size(kSST210) - 1);
   const gfx::ColorSpace sst210_color_space =
       GetColorSpaceFromEdid(display::EdidParser(sst210_edid));
   EXPECT_FALSE(sst210_color_space.IsValid()) << sst210_color_space.ToString();
@@ -282,7 +281,7 @@
       1);
 
   const std::vector<uint8_t> sst210_edid_2(
-      kSST210Corrected, kSST210Corrected + base::size(kSST210Corrected) - 1);
+      kSST210Corrected, kSST210Corrected + std::size(kSST210Corrected) - 1);
   const gfx::ColorSpace sst210_color_space_2 =
       GetColorSpaceFromEdid(display::EdidParser(sst210_edid_2));
   EXPECT_FALSE(sst210_color_space_2.IsValid())
@@ -295,7 +294,7 @@
 
   const std::vector<uint8_t> broken_blue_edid(
       kBrokenBluePrimaries,
-      kBrokenBluePrimaries + base::size(kBrokenBluePrimaries) - 1);
+      kBrokenBluePrimaries + std::size(kBrokenBluePrimaries) - 1);
   const gfx::ColorSpace broken_blue_color_space =
       GetColorSpaceFromEdid(display::EdidParser(broken_blue_edid));
   EXPECT_FALSE(broken_blue_color_space.IsValid())
diff --git a/ui/display/util/edid_parser.cc b/ui/display/util/edid_parser.cc
index ff9e4359..31fa037 100644
--- a/ui/display/util/edid_parser.cc
+++ b/ui/display/util/edid_parser.cc
@@ -222,7 +222,7 @@
     base::UmaHistogramEnumeration(
         kBlockZeroSerialNumberTypeMetric,
         GetSerialNumberType(serial_number_bytes,
-                            base::size(serial_number_bytes)));
+                            std::size(serial_number_bytes)));
   }
 
   const uint32_t serial_number =
@@ -588,7 +588,7 @@
           const std::bitset<kMaxNumColorimetryEntries>
               supported_primaries_bitfield(edid[data_offset + 2]);
           static_assert(
-              kMaxNumColorimetryEntries == base::size(kPrimaryIDMap),
+              kMaxNumColorimetryEntries == std::size(kPrimaryIDMap),
               "kPrimaryIDMap should describe all possible colorimetry entries");
           for (size_t entry = 0; entry < kMaxNumColorimetryEntries; ++entry) {
             if (supported_primaries_bitfield[entry])
@@ -602,7 +602,7 @@
           const std::bitset<kMaxNumHDRStaticMedatataEntries>
               supported_eotfs_bitfield(edid[data_offset + 2]);
           static_assert(
-              kMaxNumHDRStaticMedatataEntries == base::size(kTransferIDMap),
+              kMaxNumHDRStaticMedatataEntries == std::size(kTransferIDMap),
               "kTransferIDMap should describe all possible transfer entries");
           for (size_t entry = 0; entry < kMaxNumHDRStaticMedatataEntries;
                ++entry) {
diff --git a/ui/display/util/edid_parser_unittest.cc b/ui/display/util/edid_parser_unittest.cc
index 4f45304..a2a1da6 100644
--- a/ui/display/util/edid_parser_unittest.cc
+++ b/ui/display/util/edid_parser_unittest.cc
@@ -9,7 +9,6 @@
 #include <memory>
 
 #include "base/containers/flat_set.h"
-#include "base/cxx17_backports.h"
 #include "base/hash/md5.h"
 #include "base/numerics/ranges.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -36,7 +35,7 @@
     "\x30\x20\x36\x00\x81\x90\x21\x00\x00\x1a\x00\x00\x00\xfc\x00\x48"
     "\x50\x20\x5a\x00\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\xff"
     "\x00\x43\x4e\x34\x32\x30\x32\x31\x33\x37\x51\x0a\x20\x20\x00\x71";
-constexpr size_t kBadDisplayNameLength = base::size(kBadDisplayName);
+constexpr size_t kBadDisplayNameLength = std::size(kBadDisplayName);
 
 // Sample EDID data extracted from real devices.
 constexpr unsigned char kNormalDisplay[] =
@@ -48,7 +47,7 @@
     "\x30\x20\x36\x00\x81\x90\x21\x00\x00\x1a\x00\x00\x00\xfc\x00\x48"
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\xff"
     "\x00\x43\x4e\x34\x32\x30\x32\x31\x33\x37\x51\x0a\x20\x20\x00\x71";
-constexpr size_t kNormalDisplayLength = base::size(kNormalDisplay);
+constexpr size_t kNormalDisplayLength = std::size(kNormalDisplay);
 
 // Max image display is an optional field and is omitted in this display by
 // setting bytes 21-22 to 0x00.
@@ -62,7 +61,7 @@
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\xff"
     "\x00\x43\x4e\x34\x32\x30\x32\x31\x33\x37\x51\x0a\x20\x20\x00\x71";
 constexpr size_t kNoMaxImageSizeDisplayLength =
-    base::size(kNoMaxImageSizeDisplay);
+    std::size(kNoMaxImageSizeDisplay);
 
 // Serial number is in bytes 12-15 of Block 0. Serial number descriptor
 // (tag: 0xff) is omitted and replaced by a dummy descriptor (tag: 0x10).
@@ -76,7 +75,7 @@
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\x10"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71";
 constexpr size_t kBlockZeroSerialNumberOnlyDisplayLength =
-    base::size(kBlockZeroSerialNumberOnlyDisplay);
+    std::size(kBlockZeroSerialNumberOnlyDisplay);
 
 // Serial number is unavilable. Omitted from bytes 12-15 of block zero and SN
 // descriptor (tag: 0xff).
@@ -90,7 +89,7 @@
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\x10"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71";
 constexpr size_t kNoSerialNumberDisplayLength =
-    base::size(kNoSerialNumberDisplay);
+    std::size(kNoSerialNumberDisplay);
 
 // Week of manufacture is optional and is omitted in this display
 // (0x00 at byte 16).
@@ -104,7 +103,7 @@
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\xff"
     "\x00\x43\x4e\x34\x32\x30\x32\x31\x33\x37\x51\x0a\x20\x20\x00\x71";
 constexpr size_t kNoWeekOfManufactureDisplayLength =
-    base::size(kNoWeekOfManufactureDisplay);
+    std::size(kNoWeekOfManufactureDisplay);
 
 // Week of manufacture can be used to signal that year of manufacture is the
 // model year by setting byte 16 to 0xff.
@@ -117,7 +116,7 @@
     "\x30\x20\x36\x00\x81\x90\x21\x00\x00\x1a\x00\x00\x00\xfc\x00\x48"
     "\x50\x20\x5a\x52\x33\x30\x77\x0a\x20\x20\x20\x20\x00\x00\x00\xff"
     "\x00\x43\x4e\x34\x32\x30\x32\x31\x33\x37\x51\x0a\x20\x20\x00\x71";
-constexpr size_t kModelYearDisplayLength = base::size(kModelYearDisplay);
+constexpr size_t kModelYearDisplayLength = std::size(kModelYearDisplay);
 
 constexpr unsigned char kInternalDisplay[] =
     "\x00\xff\xff\xff\xff\xff\xff\x00\x4c\xa3\x42\x31\x00\x00\x00\x00"
@@ -128,7 +127,7 @@
     "\x00\x00\x00\x00\x00\x23\x87\x02\x64\x00\x00\x00\x00\xfe\x00\x53"
     "\x41\x4d\x53\x55\x4e\x47\x0a\x20\x20\x20\x20\x20\x00\x00\x00\xfe"
     "\x00\x31\x32\x31\x41\x54\x31\x31\x2d\x38\x30\x31\x0a\x20\x00\x45";
-constexpr size_t kInternalDisplayLength = base::size(kInternalDisplay);
+constexpr size_t kInternalDisplayLength = std::size(kInternalDisplay);
 
 constexpr unsigned char kOverscanDisplay[] =
     "\x00\xff\xff\xff\xff\xff\xff\x00\x4c\x2d\xfe\x08\x00\x00\x00\x00"
@@ -147,7 +146,7 @@
     "\x5a\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6";
-constexpr size_t kOverscanDisplayLength = base::size(kOverscanDisplay);
+constexpr size_t kOverscanDisplayLength = std::size(kOverscanDisplay);
 
 // The EDID info misdetecting overscan once. see crbug.com/226318
 constexpr unsigned char kMisdetectedDisplay[] =
@@ -167,7 +166,7 @@
     "\x72\x51\xd0\x1e\x20\x6e\x28\x55\x00\x81\x91\x21\x00\x00\x1e\x8c"
     "\x0a\xd0\x8a\x20\xe0\x2d\x10\x10\x3e\x96\x00\x81\x91\x21\x00\x00"
     "\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94";
-constexpr size_t kMisdetectedDisplayLength = base::size(kMisdetectedDisplay);
+constexpr size_t kMisdetectedDisplayLength = std::size(kMisdetectedDisplay);
 
 constexpr unsigned char kLP2565A[] =
     "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x22\xF0\x76\x26\x01\x01\x01\x01"
@@ -178,7 +177,7 @@
     "\x5E\x11\x00\x0A\x20\x20\x20\x20\x20\x20\x00\x00\x00\xFC\x00\x48"
     "\x50\x20\x4C\x50\x32\x34\x36\x35\x0A\x20\x20\x20\x00\x00\x00\xFF"
     "\x00\x43\x4E\x4B\x38\x30\x32\x30\x34\x48\x4D\x0A\x20\x20\x00\xA4";
-constexpr size_t kLP2565ALength = base::size(kLP2565A);
+constexpr size_t kLP2565ALength = std::size(kLP2565A);
 
 constexpr unsigned char kLP2565B[] =
     "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00\x22\xF0\x75\x26\x01\x01\x01\x01"
@@ -189,7 +188,7 @@
     "\x5E\x15\x00\x0A\x20\x20\x20\x20\x20\x20\x00\x00\x00\xFC\x00\x48"
     "\x50\x20\x4C\x50\x32\x34\x36\x35\x0A\x20\x20\x20\x00\x00\x00\xFF"
     "\x00\x43\x4E\x4B\x38\x30\x32\x30\x34\x48\x4D\x0A\x20\x20\x00\x45";
-constexpr size_t kLP2565BLength = base::size(kLP2565B);
+constexpr size_t kLP2565BLength = std::size(kLP2565B);
 
 // HP z32x monitor.
 constexpr unsigned char kHPz32x[] =
@@ -209,7 +208,7 @@
     "\x00\xA0\xA0\x40\x2E\x60\x20\x30\x63\x00\xB9\x88\x21\x00\x00\x1C"
     "\x28\x3C\x80\xA0\x70\xB0\x23\x40\x30\x20\x36\x00\xB9\x88\x21\x00"
     "\x00\x1A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3E";
-constexpr size_t kHPz32xLength = base::size(kHPz32x);
+constexpr size_t kHPz32xLength = std::size(kHPz32x);
 
 // Chromebook Samus internal display.
 constexpr unsigned char kSamus[] =
@@ -221,7 +220,7 @@
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x4c"
     "\x47\x20\x44\x69\x73\x70\x6c\x61\x79\x0a\x20\x20\x00\x00\x00\xfe"
     "\x00\x4c\x50\x31\x32\x39\x51\x45\x32\x2d\x53\x50\x41\x31\x00\x6c";
-constexpr size_t kSamusLength = base::size(kSamus);
+constexpr size_t kSamusLength = std::size(kSamus);
 
 // Chromebook Eve internal display.
 constexpr unsigned char kEve[] =
@@ -233,7 +232,7 @@
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00"
     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc"
     "\x00\x4c\x51\x31\x32\x33\x50\x31\x4a\x58\x33\x32\x0a\x20\x00\xb6";
-constexpr size_t kEveLength = base::size(kEve);
+constexpr size_t kEveLength = std::size(kEve);
 
 // A Samsung monitor that supports HDR metadata.
 constexpr unsigned char kHDRMetadata[] =
@@ -253,7 +252,7 @@
     "\x1d\x80\xd0\x72\x1c\x16\x20\x10\x2c\x25\x80\x50\x1d\x74\x00\x00"
     "\x9e\x66\x21\x56\xaa\x51\x00\x1e\x30\x46\x8f\x33\x00\x50\x1d\x74"
     "\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd";
-constexpr size_t kHDRMetadataLength = base::size(kHDRMetadata);
+constexpr size_t kHDRMetadataLength = std::size(kHDRMetadata);
 
 const std::string kNoSerialNumber = "";
 const gfx::Size kNoMaxImageSize = gfx::Size(0, 0);
diff --git a/ui/events/blink/blink_event_util_unittest.cc b/ui/events/blink/blink_event_util_unittest.cc
index 499d404..a3817301 100644
--- a/ui/events/blink/blink_event_util_unittest.cc
+++ b/ui/events/blink/blink_event_util_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "ui/events/blink/blink_event_util.h"
 
-#include "base/cxx17_backports.h"
 #include "base/time/time.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/input/web_gesture_event.h"
@@ -166,9 +165,9 @@
       ui::ScrollGranularity::kScrollByDocument,
   };
 
-  for (size_t i = 0; i < base::size(types); i++) {
+  for (size_t i = 0; i < std::size(types); i++) {
     ui::EventType type = types[i];
-    for (size_t j = 0; j < base::size(units); j++) {
+    for (size_t j = 0; j < std::size(units); j++) {
       ui::ScrollGranularity unit = units[j];
       ui::GestureEventDetails details(type, 1, 1, unit);
       details.set_device_type(ui::GestureDeviceType::DEVICE_TOUCHSCREEN);
diff --git a/ui/events/blink/web_input_event_unittest.cc b/ui/events/blink/web_input_event_unittest.cc
index 4395d0f..046e317 100644
--- a/ui/events/blink/web_input_event_unittest.cc
+++ b/ui/events/blink/web_input_event_unittest.cc
@@ -7,7 +7,6 @@
 #include <cstddef>
 #include <cstdint>
 
-#include "base/cxx17_backports.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -417,7 +416,7 @@
       {ui::KeyEvent(ui::ET_KEY_RELEASED, ui::VKEY_C, ui::EF_ALT_DOWN),
        blink::WebInputEvent::Type::kKeyUp, blink::WebInputEvent::kAltKey}};
 
-  for (size_t i = 0; i < base::size(tests); i++) {
+  for (size_t i = 0; i < std::size(tests); i++) {
     blink::WebKeyboardEvent web_event = MakeWebKeyboardEvent(tests[i].event);
     ASSERT_TRUE(blink::WebInputEvent::IsKeyboardEventType(web_event.GetType()));
     ASSERT_EQ(tests[i].web_type, web_event.GetType());
@@ -462,7 +461,7 @@
        gfx::Point(13, 3), gfx::Point(53, 3)},
   };
 
-  for (size_t i = 0; i < base::size(tests); i++) {
+  for (size_t i = 0; i < std::size(tests); i++) {
     ui::MouseEvent ui_event(tests[i].ui_type, tests[i].location,
                             tests[i].screen_location, base::TimeTicks(),
                             tests[i].ui_modifiers, 0);
diff --git a/ui/events/devices/x11/device_data_manager_x11.cc b/ui/events/devices/x11/device_data_manager_x11.cc
index d5b9899..4cbc3e4ee 100644
--- a/ui/events/devices/x11/device_data_manager_x11.cc
+++ b/ui/events/devices/x11/device_data_manager_x11.cc
@@ -12,7 +12,6 @@
 #include "base/bind.h"
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/memory/singleton.h"
 #include "base/system/sys_info.h"
@@ -109,7 +108,7 @@
 };
 
 // Make sure the sizes of enum and |kCachedAtoms| are aligned.
-static_assert(base::size(kCachedAtoms) ==
+static_assert(std::size(kCachedAtoms) ==
                   ui::DeviceDataManagerX11::DT_LAST_ENTRY,
               "kCachedAtoms count / enum mismatch");
 
diff --git a/ui/events/event_processor_unittest.cc b/ui/events/event_processor_unittest.cc
index 593a51d6..f676e53 100644
--- a/ui/events/event_processor_unittest.cc
+++ b/ui/events/event_processor_unittest.cc
@@ -6,7 +6,6 @@
 #include <utility>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/memory/ptr_util.h"
 #include "base/memory/raw_ptr.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -412,7 +411,7 @@
 
   std::string expected[] = { "PreR", "PreC", "PreG", "G", "PostG", "PostC",
       "PostR", "PreR", "PreC", "C", "PostC", "PostR", "PreR", "R", "PostR" };
-  EXPECT_EQ(std::vector<std::string>(expected, expected + base::size(expected)),
+  EXPECT_EQ(std::vector<std::string>(expected, expected + std::size(expected)),
             recorder);
 
   root()->RemovePreTargetHandler(&pre_root);
diff --git a/ui/events/event_unittest.cc b/ui/events/event_unittest.cc
index abe29e8..363db7b 100644
--- a/ui/events/event_unittest.cc
+++ b/ui/events/event_unittest.cc
@@ -12,7 +12,6 @@
 #include <string>
 
 #include "base/callback_helpers.h"
-#include "base/cxx17_backports.h"
 #include "base/strings/strcat.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/simple_test_tick_clock.h"
@@ -318,7 +317,7 @@
       {VKEY_OEM_3, EF_SHIFT_DOWN, '~'},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); ++i) {
+  for (size_t i = 0; i < std::size(kTestData); ++i) {
     KeyEvent key(ET_KEY_PRESSED, kTestData[i].key_code, kTestData[i].flags);
     EXPECT_EQ(kTestData[i].character, key.GetCharacter())
         << " Index:" << i << " key_code:" << kTestData[i].key_code;
diff --git a/ui/events/keycodes/dom/dom_keyboard_layout.cc b/ui/events/keycodes/dom/dom_keyboard_layout.cc
index 753372a..7de59da 100644
--- a/ui/events/keycodes/dom/dom_keyboard_layout.cc
+++ b/ui/events/keycodes/dom/dom_keyboard_layout.cc
@@ -4,7 +4,6 @@
 
 #include "ui/events/keycodes/dom/dom_keyboard_layout.h"
 
-#include "base/cxx17_backports.h"
 #include "base/strings/utf_string_conversion_utils.h"
 #include "ui/events/keycodes/dom/dom_code.h"
 #include "ui/events/keycodes/dom/keycode_converter.h"
@@ -35,7 +34,7 @@
 };
 
 const size_t kWritingSystemKeyDomCodeEntries =
-    base::size(writing_system_key_domcodes);
+    std::size(writing_system_key_domcodes);
 
 const uint32_t kHankakuZenkakuPlaceholder = 0x89d2;
 
@@ -69,7 +68,7 @@
     // Map combining accents into the corresponding printable character.
     if (unicode >= 0x0300 && unicode <= 0x036f) {
       uint16_t printable = 0;
-      for (size_t j = 0; j < base::size(kCombiningKeyMapping); ++j) {
+      for (size_t j = 0; j < std::size(kCombiningKeyMapping); ++j) {
         if (kCombiningKeyMapping[j].combining == unicode) {
           printable = kCombiningKeyMapping[j].printable;
           break;
diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_unittest.cc b/ui/events/keycodes/dom/dom_keyboard_layout_map_unittest.cc
index 25281ef2..7fe7a6e 100644
--- a/ui/events/keycodes/dom/dom_keyboard_layout_map_unittest.cc
+++ b/ui/events/keycodes/dom/dom_keyboard_layout_map_unittest.cc
@@ -7,7 +7,6 @@
 
 #include "base/check_op.h"
 #include "base/containers/flat_map.h"
-#include "base/cxx17_backports.h"
 #include "base/notreached.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/events/keycodes/dom/dom_key.h"
@@ -103,7 +102,7 @@
   // writing system table used by the class under test.  Ideally this would be a
   // static assert however that doesn't work since the other table is in a
   // different compilation unit.
-  DCHECK_EQ(base::size(kFullLookupTable), kWritingSystemKeyDomCodeEntries);
+  DCHECK_EQ(std::size(kFullLookupTable), kWritingSystemKeyDomCodeEntries);
 
   if (kFullLookupTable.count(dom_code) == 0)
     return DomKey::NONE;
diff --git a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
index 7d86fff..b2ed04a 100644
--- a/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
+++ b/ui/events/keycodes/dom/dom_keyboard_layout_map_win.cc
@@ -11,7 +11,6 @@
 
 #include "base/check_op.h"
 #include "base/containers/flat_map.h"
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "ui/events/keycodes/dom/dom_code.h"
 #include "ui/events/keycodes/dom/dom_key.h"
@@ -102,7 +101,7 @@
   wchar_t char_buffer[1] = {0};
   int key_type =
       ::ToUnicodeEx(virtual_key_code, scan_code, keyboard_state, char_buffer,
-                    base::size(char_buffer), /*wFlags=*/0, keyboard_layout);
+                    std::size(char_buffer), /*wFlags=*/0, keyboard_layout);
 
   // Handle special cases for Japanese keyboard layout.
   if (0x04110411 == reinterpret_cast<uintptr_t>(keyboard_layout)) {
@@ -144,7 +143,7 @@
     // the dead key state. See crbug/977609 for details on how this problem
     // exhibits itself to users.
     ::ToUnicodeEx(0x0020, 0x0039, keyboard_state, char_buffer,
-                  base::size(char_buffer), /*wFlags=*/0, keyboard_layout);
+                  std::size(char_buffer), /*wFlags=*/0, keyboard_layout);
   }
   return key;
 }
diff --git a/ui/events/keycodes/dom/keycode_converter.cc b/ui/events/keycodes/dom/keycode_converter.cc
index 3aac7a8e..a8a1615e 100644
--- a/ui/events/keycodes/dom/keycode_converter.cc
+++ b/ui/events/keycodes/dom/keycode_converter.cc
@@ -4,7 +4,6 @@
 
 #include "ui/events/keycodes/dom/keycode_converter.h"
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/utf_string_conversion_utils.h"
 #include "build/build_config.h"
@@ -102,7 +101,7 @@
 
 // static
 size_t KeycodeConverter::NumKeycodeMapEntriesForTest() {
-  return base::size(kDomCodeMappings);
+  return std::size(kDomCodeMappings);
 }
 
 // static
@@ -112,7 +111,7 @@
 
 // static
 const char* KeycodeConverter::DomKeyStringForTest(size_t index) {
-  if (index >= base::size(kDomKeyMappings))
+  if (index >= std::size(kDomKeyMappings))
     return nullptr;
   return kDomKeyMappings[index].string;
 }
diff --git a/ui/events/keycodes/dom/keycode_converter_unittest.cc b/ui/events/keycodes/dom/keycode_converter_unittest.cc
index a09b27a..00e5aef3 100644
--- a/ui/events/keycodes/dom/keycode_converter_unittest.cc
+++ b/ui/events/keycodes/dom/keycode_converter_unittest.cc
@@ -10,7 +10,6 @@
 #include <map>
 #include <set>
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/events/keycodes/dom/dom_code.h"
@@ -30,7 +29,7 @@
     119,  // mac
 };
 
-const size_t kNativeColumns = base::size(expected_mapped_key_count);
+const size_t kNativeColumns = std::size(expected_mapped_key_count);
 
 struct KeycodeConverterData {
   uint32_t usb_keycode;
diff --git a/ui/events/keycodes/keyboard_code_conversion.cc b/ui/events/keycodes/keyboard_code_conversion.cc
index 204414a..ed6b9fb 100644
--- a/ui/events/keycodes/keyboard_code_conversion.cc
+++ b/ui/events/keycodes/keyboard_code_conversion.cc
@@ -6,7 +6,6 @@
 
 #include <algorithm>
 
-#include "base/cxx17_backports.h"
 #include "ui/events/event_constants.h"
 #include "ui/events/keycodes/dom/dom_code.h"
 #include "ui/events/keycodes/dom/dom_key.h"
@@ -247,7 +246,7 @@
 
 KeyboardCode DomCodeToUsLayoutKeyboardCode(DomCode dom_code) {
   const DomCodeToKeyboardCodeEntry* end =
-      kDomCodeToKeyboardCodeMap + base::size(kDomCodeToKeyboardCodeMap);
+      kDomCodeToKeyboardCodeMap + std::size(kDomCodeToKeyboardCodeMap);
   const DomCodeToKeyboardCodeEntry* found = std::lower_bound(
       kDomCodeToKeyboardCodeMap, end, dom_code,
       [](const DomCodeToKeyboardCodeEntry& a, DomCode b) {
diff --git a/ui/events/keycodes/keyboard_code_conversion_mac.mm b/ui/events/keycodes/keyboard_code_conversion_mac.mm
index bf04dde..0b53a81 100644
--- a/ui/events/keycodes/keyboard_code_conversion_mac.mm
+++ b/ui/events/keycodes/keyboard_code_conversion_mac.mm
@@ -4,12 +4,11 @@
 
 #import "ui/events/keycodes/keyboard_code_conversion_mac.h"
 
-#include <algorithm>
-
 #import <Carbon/Carbon.h>
 
+#include <algorithm>
+
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/mac/mac_logging.h"
 #include "base/mac/scoped_cftyperef.h"
 #include "base/memory/scoped_policy.h"
@@ -577,9 +576,9 @@
   from.keycode = keycode;
 
   const KeyCodeMap* ptr = std::lower_bound(
-      kKeyCodesMap, kKeyCodesMap + base::size(kKeyCodesMap), from);
+      kKeyCodesMap, kKeyCodesMap + std::size(kKeyCodesMap), from);
 
-  if (ptr >= kKeyCodesMap + base::size(kKeyCodesMap) ||
+  if (ptr >= kKeyCodesMap + std::size(kKeyCodesMap) ||
       ptr->keycode != keycode || ptr->macKeycode == -1)
     return -1;
 
diff --git a/ui/events/keycodes/keyboard_code_conversion_x.cc b/ui/events/keycodes/keyboard_code_conversion_x.cc
index 67e5579..fd983f9b 100644
--- a/ui/events/keycodes/keyboard_code_conversion_x.cc
+++ b/ui/events/keycodes/keyboard_code_conversion_x.cc
@@ -8,7 +8,6 @@
 
 #include <algorithm>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/sys_string_conversions.h"
@@ -648,12 +647,12 @@
       !IsCursorKey(keysym) && !IsPFKey(keysym) && !IsFunctionKey(keysym) &&
       !IsModifierKey(keysym)) {
     MAP0 key0 = {keysym & 0xFFFF, 0};
-    keycode = FindVK(key0, map0, base::size(map0));
+    keycode = FindVK(key0, map0, std::size(map0));
     if (keycode != VKEY_UNKNOWN)
       return keycode;
 
     MAP1 key1 = {keysym & 0xFFFF, xkeycode, 0};
-    keycode = FindVK(key1, map1, base::size(map1));
+    keycode = FindVK(key1, map1, std::size(map1));
     if (keycode != VKEY_UNKNOWN)
       return keycode;
 
@@ -661,7 +660,7 @@
     modifiers |= static_cast<int>(x11::KeyButMask::Shift);
     keysym_shift = TranslateKey(xkeycode, modifiers);
     MAP2 key2 = {keysym & 0xFFFF, xkeycode, keysym_shift & 0xFFFF, 0};
-    keycode = FindVK(key2, map2, base::size(map2));
+    keycode = FindVK(key2, map2, std::size(map2));
     if (keycode != VKEY_UNKNOWN)
       return keycode;
 
@@ -671,7 +670,7 @@
     keysym_altgr = TranslateKey(xkeycode, modifiers);
     MAP3 key3 = {keysym & 0xFFFF, xkeycode, keysym_shift & 0xFFFF,
                  keysym_altgr & 0xFFFF, 0};
-    keycode = FindVK(key3, map3, base::size(map3));
+    keycode = FindVK(key3, map3, std::size(map3));
     if (keycode != VKEY_UNKNOWN)
       return keycode;
 
@@ -680,9 +679,9 @@
     // to just find VKEY with (ch0+sc+ch1). This is the best we could do.
     MAP3 key4 = {keysym & 0xFFFF, xkeycode, keysym_shift & 0xFFFF, 0, 0};
     const MAP3* p =
-        std::lower_bound(map3, map3 + base::size(map3), key4, MAP3());
-    if (p != map3 + base::size(map3) && p->ch0 == key4.ch0 &&
-        p->sc == key4.sc && p->ch1 == key4.ch1)
+        std::lower_bound(map3, map3 + std::size(map3), key4, MAP3());
+    if (p != map3 + std::size(map3) && p->ch0 == key4.ch0 && p->sc == key4.sc &&
+        p->ch1 == key4.ch1)
       return static_cast<KeyboardCode>(p->vk);
   }
 
@@ -1167,7 +1166,7 @@
       VKEY_COMPOSE,            // 0x87: KEY_COMPOSE          Menu
   };
 
-  if (hardware_code >= base::size(kHardwareKeycodeMap)) {
+  if (hardware_code >= std::size(kHardwareKeycodeMap)) {
     // Additional keycodes used by the Chrome OS top row special function keys.
     switch (hardware_code) {
       case 0xA6:  // KEY_BACK
diff --git a/ui/events/keycodes/keysym_to_unicode.cc b/ui/events/keycodes/keysym_to_unicode.cc
index 2d8be131..7bc5b73 100644
--- a/ui/events/keycodes/keysym_to_unicode.cc
+++ b/ui/events/keycodes/keysym_to_unicode.cc
@@ -8,7 +8,6 @@
 
 #include <unordered_map>
 
-#include "base/cxx17_backports.h"
 #include "base/lazy_instance.h"
 #include "ui/gfx/x/keysyms/keysyms.h"
 
@@ -813,8 +812,8 @@
 class KeySymToUnicode {
  public:
   KeySymToUnicode()
-      : keysym_to_unicode_map_(base::size(g_keysym_to_unicode_table)) {
-    for (size_t i = 0; i < base::size(g_keysym_to_unicode_table); ++i) {
+      : keysym_to_unicode_map_(std::size(g_keysym_to_unicode_table)) {
+    for (size_t i = 0; i < std::size(g_keysym_to_unicode_table); ++i) {
       keysym_to_unicode_map_[g_keysym_to_unicode_table[i].keysym] =
           g_keysym_to_unicode_table[i].unicode;
     }
diff --git a/ui/events/keycodes/platform_key_map_win.cc b/ui/events/keycodes/platform_key_map_win.cc
index 254c98d..a33de7961 100644
--- a/ui/events/keycodes/platform_key_map_win.cc
+++ b/ui/events/keycodes/platform_key_map_win.cc
@@ -8,12 +8,10 @@
 #include <utility>
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/feature_list.h"
 #include "base/lazy_instance.h"
 #include "base/memory/ptr_util.h"
 #include "base/threading/thread_local.h"
-
 #include "ui/events/event_constants.h"
 #include "ui/events/event_utils.h"
 #include "ui/events/keycodes/dom/keycode_converter.h"
@@ -72,11 +70,11 @@
              : flags;
 }
 
-const int kModifierFlagsCombinations = (1 << base::size(modifier_flags)) - 1;
+const int kModifierFlagsCombinations = (1 << std::size(modifier_flags)) - 1;
 
 int GetModifierFlags(int combination) {
   int flags = EF_NONE;
-  for (size_t i = 0; i < base::size(modifier_flags); ++i) {
+  for (size_t i = 0; i < std::size(modifier_flags); ++i) {
     if (combination & (1 << i))
       flags |= modifier_flags[i];
   }
@@ -391,14 +389,14 @@
     for (int key_code = 0; key_code <= 0xFF; ++key_code) {
       wchar_t translated_chars[5];
       int rv = ::ToUnicodeEx(key_code, 0, keyboard_state, translated_chars,
-                             base::size(translated_chars), 0, keyboard_layout_);
+                             std::size(translated_chars), 0, keyboard_layout_);
 
       if (rv == -1) {
         // Dead key, injecting VK_SPACE to get character representation.
         BYTE empty_state[256];
         memset(empty_state, 0, sizeof(empty_state));
         rv = ::ToUnicodeEx(VK_SPACE, 0, empty_state, translated_chars,
-                           base::size(translated_chars), 0, keyboard_layout_);
+                           std::size(translated_chars), 0, keyboard_layout_);
         // Expecting a dead key character (not followed by a space).
         if (rv == 1) {
           printable_keycode_to_key_[std::make_pair(static_cast<int>(key_code),
diff --git a/ui/events/mojom/mojom_traits_unittest.cc b/ui/events/mojom/mojom_traits_unittest.cc
index 6a6aaae..5f7a444 100644
--- a/ui/events/mojom/mojom_traits_unittest.cc
+++ b/ui/events/mojom/mojom_traits_unittest.cc
@@ -4,7 +4,6 @@
 
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "mojo/public/cpp/base/time_mojom_traits.h"
 #include "mojo/public/cpp/test_support/test_utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -111,7 +110,7 @@
        base::TimeTicks() + base::Microseconds(102)},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
@@ -150,7 +149,7 @@
        PointerDetails(EventPointerType::kMouse, kPointerIdMouse)},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
@@ -176,7 +175,7 @@
        gfx::Vector2d(120, -15)},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
@@ -257,7 +256,7 @@
        pinch_update_details},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
@@ -303,7 +302,7 @@
        EventMomentumPhase::END, ScrollEventPhase::kNone},
   };
 
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
@@ -332,7 +331,7 @@
       {EventPointerType::kTouch, 1, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f},
       {EventPointerType::kEraser, 21, 22.f, 23.f, 24.f, 25.f, 26.f, 27.f},
   };
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     // Set |offset| as the constructor used above does not modify it.
     PointerDetails input(kTestData[i]);
     input.offset.set_x(i);
@@ -356,7 +355,7 @@
       {ET_TOUCH_MOVED, {1, 2}, base::TimeTicks::Now(), {}, EF_NONE},
       {ET_TOUCH_CANCELLED, {1, 2}, base::TimeTicks::Now(), {}, EF_NONE},
   };
-  for (size_t i = 0; i < base::size(kTestData); i++) {
+  for (size_t i = 0; i < std::size(kTestData); i++) {
     std::unique_ptr<Event> expected_copy = Event::Clone(kTestData[i]);
     std::unique_ptr<Event> output;
     ASSERT_TRUE(mojo::test::SerializeAndDeserialize<mojom::Event>(expected_copy,
diff --git a/ui/events/ozone/device/udev/device_manager_udev.cc b/ui/events/ozone/device/udev/device_manager_udev.cc
index 1b64e54..bebce2f 100644
--- a/ui/events/ozone/device/udev/device_manager_udev.cc
+++ b/ui/events/ozone/device/udev/device_manager_udev.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/stringprintf.h"
 #include "base/task/current_thread.h"
@@ -67,7 +66,7 @@
   struct udev_monitor* monitor =
       device::udev_monitor_new_from_netlink(udev, "udev");
   if (monitor) {
-    for (size_t i = 0; i < base::size(kSubsystems); ++i)
+    for (size_t i = 0; i < std::size(kSubsystems); ++i)
       device::udev_monitor_filter_add_match_subsystem_devtype(
           monitor, kSubsystems[i], NULL);
 
@@ -108,7 +107,7 @@
   if (!enumerate)
     return;
 
-  for (size_t i = 0; i < base::size(kSubsystems); ++i)
+  for (size_t i = 0; i < std::size(kSubsystems); ++i)
     device::udev_enumerate_add_match_subsystem(enumerate.get(), kSubsystems[i]);
   device::udev_enumerate_scan_devices(enumerate.get());
 
diff --git a/ui/events/ozone/evdev/capture_device_capabilities.py b/ui/events/ozone/evdev/capture_device_capabilities.py
index e5ab2bd..1f153ebb 100755
--- a/ui/events/ozone/evdev/capture_device_capabilities.py
+++ b/ui/events/ozone/evdev/capture_device_capabilities.py
@@ -138,7 +138,7 @@
 
   if has_abs:
     out.write('    %s,\n' % absinfo_identifier)
-    out.write('    base::size(%s),\n' % absinfo_identifier)
+    out.write('    std::size(%s),\n' % absinfo_identifier)
   else:
     out.write('    /* abs_axis */ nullptr,\n')
     out.write('    /* abs_axis_count */ 0,\n')
diff --git a/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc b/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
index 8858b35..ec9a214 100644
--- a/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
+++ b/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
@@ -10,7 +10,6 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/files/scoped_file.h"
 #include "base/test/task_environment.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -162,7 +161,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::KeyEvent* event;
@@ -201,7 +200,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::KeyEvent* event;
@@ -246,7 +245,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(4u, size());
 
   ui::KeyEvent* event;
@@ -305,7 +304,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(6u, size());
 
   ui::KeyEvent* event;
@@ -360,7 +359,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::KeyEvent* event;
@@ -389,7 +388,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::MouseEvent* event;
@@ -421,7 +420,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0}
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::MouseEvent* event = nullptr;
@@ -453,7 +452,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0}
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::MouseEvent* event = nullptr;
@@ -476,7 +475,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   ui::MouseEvent* event;
@@ -497,7 +496,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(0u, size());
 }
 
@@ -509,7 +508,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   DestroyDevice();
@@ -534,7 +533,7 @@
       {{0, 0}, EV_SYN, SYN_DROPPED, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(2u, size());
 
   ui::KeyEvent* event = dispatched_event(0);
@@ -554,7 +553,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   dev->SetEnabled(false);
@@ -587,7 +586,7 @@
     {{0, 0}, EV_KEY, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
 
   ASSERT_EQ(4u, size());
   ui::KeyEvent* event = dispatched_event(0);
@@ -607,7 +606,7 @@
   std::vector<ui::DomCode> allowed_keys;
   allowed_keys.push_back(ui::DomCode::POWER);
   dev->SetKeyFilter(true /* enable_filter */, allowed_keys);
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
 
   ASSERT_EQ(2u, size());
   event = dispatched_event(0);
@@ -619,7 +618,7 @@
 
   ClearDispatchedEvents();
   dev->SetKeyFilter(false /* enable_filter */, std::vector<ui::DomCode>());
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
 
   event = dispatched_event(0);
   EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
@@ -649,7 +648,7 @@
     {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(key_press, base::size(key_press));
+  dev->ProcessEvents(key_press, std::size(key_press));
   ASSERT_EQ(1u, size());
   ui::KeyEvent* event = dispatched_event(0);
   EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
@@ -665,7 +664,7 @@
 
   // The real key release should be dropped, whenever it comes.
   ClearDispatchedEvents();
-  dev->ProcessEvents(key_release, base::size(key_release));
+  dev->ProcessEvents(key_release, std::size(key_release));
   ASSERT_EQ(0u, size());
 }
 
@@ -692,7 +691,7 @@
   SetTestNowSeconds(1510019415);
   ClearDispatchedEvents();
   GetInputController()->SetPrimaryButtonRight(false);
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(4u, size());
 
   ui::MouseEvent* event;
@@ -732,7 +731,7 @@
 
   ClearDispatchedEvents();
   GetInputController()->SetPrimaryButtonRight(true);
-  dev->ProcessEvents(mock_kernel_queue2, base::size(mock_kernel_queue2));
+  dev->ProcessEvents(mock_kernel_queue2, std::size(mock_kernel_queue2));
   EXPECT_EQ(4u, size());
 
   event = dispatched_mouse_event(0);
diff --git a/ui/events/ozone/evdev/event_device_info.cc b/ui/events/ozone/evdev/event_device_info.cc
index a47bacbb..5ffe838 100644
--- a/ui/events/ozone/evdev/event_device_info.cc
+++ b/ui/events/ozone/evdev/event_device_info.cc
@@ -8,7 +8,6 @@
 
 #include <cstring>
 
-#include "base/cxx17_backports.h"
 #include "base/feature_list.h"
 #include "base/files/file_path.h"
 #include "base/logging.h"
@@ -229,7 +228,7 @@
       {0x222a, 0x0001},  // ILITEK ILITEK-TP
   };
 
-  for (size_t i = 0; i < base::size(kUSBLegacyDenyListedDevices); ++i) {
+  for (size_t i = 0; i < std::size(kUSBLegacyDenyListedDevices); ++i) {
     if (id.vendor == kUSBLegacyDenyListedDevices[i].vid &&
         id.product == kUSBLegacyDenyListedDevices[i].pid) {
       return true;
@@ -323,39 +322,39 @@
 }
 
 void EventDeviceInfo::SetEventTypes(const unsigned long* ev_bits, size_t len) {
-  AssignBitset(ev_bits, len, ev_bits_, base::size(ev_bits_));
+  AssignBitset(ev_bits, len, ev_bits_, std::size(ev_bits_));
 }
 
 void EventDeviceInfo::SetKeyEvents(const unsigned long* key_bits, size_t len) {
-  AssignBitset(key_bits, len, key_bits_, base::size(key_bits_));
+  AssignBitset(key_bits, len, key_bits_, std::size(key_bits_));
 }
 
 void EventDeviceInfo::SetRelEvents(const unsigned long* rel_bits, size_t len) {
-  AssignBitset(rel_bits, len, rel_bits_, base::size(rel_bits_));
+  AssignBitset(rel_bits, len, rel_bits_, std::size(rel_bits_));
 }
 
 void EventDeviceInfo::SetAbsEvents(const unsigned long* abs_bits, size_t len) {
-  AssignBitset(abs_bits, len, abs_bits_, base::size(abs_bits_));
+  AssignBitset(abs_bits, len, abs_bits_, std::size(abs_bits_));
 }
 
 void EventDeviceInfo::SetMscEvents(const unsigned long* msc_bits, size_t len) {
-  AssignBitset(msc_bits, len, msc_bits_, base::size(msc_bits_));
+  AssignBitset(msc_bits, len, msc_bits_, std::size(msc_bits_));
 }
 
 void EventDeviceInfo::SetSwEvents(const unsigned long* sw_bits, size_t len) {
-  AssignBitset(sw_bits, len, sw_bits_, base::size(sw_bits_));
+  AssignBitset(sw_bits, len, sw_bits_, std::size(sw_bits_));
 }
 
 void EventDeviceInfo::SetLedEvents(const unsigned long* led_bits, size_t len) {
-  AssignBitset(led_bits, len, led_bits_, base::size(led_bits_));
+  AssignBitset(led_bits, len, led_bits_, std::size(led_bits_));
 }
 
 void EventDeviceInfo::SetFfEvents(const unsigned long* ff_bits, size_t len) {
-  AssignBitset(ff_bits, len, ff_bits_, base::size(ff_bits_));
+  AssignBitset(ff_bits, len, ff_bits_, std::size(ff_bits_));
 }
 
 void EventDeviceInfo::SetProps(const unsigned long* prop_bits, size_t len) {
-  AssignBitset(prop_bits, len, prop_bits_, base::size(prop_bits_));
+  AssignBitset(prop_bits, len, prop_bits_, std::size(prop_bits_));
 }
 
 void EventDeviceInfo::SetAbsInfo(unsigned int code,
@@ -729,7 +728,7 @@
   };
 
   if (id.bustype == BUS_USB) {
-    for (size_t i = 0; i < base::size(kUSBInternalDevices); ++i) {
+    for (size_t i = 0; i < std::size(kUSBInternalDevices); ++i) {
       if (id.vendor == kUSBInternalDevices[i].vid &&
           id.product == kUSBInternalDevices[i].pid)
         return InputDeviceType::INPUT_DEVICE_INTERNAL;
diff --git a/ui/events/ozone/evdev/event_device_test_util.cc b/ui/events/ozone/evdev/event_device_test_util.cc
index bac784b8..1768d11 100644
--- a/ui/events/ozone/evdev/event_device_test_util.cc
+++ b/ui/events/ozone/evdev/event_device_test_util.cc
@@ -6,7 +6,6 @@
 
 #include <stdint.h>
 
-#include "base/cxx17_backports.h"
 #include "base/format_macros.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_split.h"
@@ -106,7 +105,7 @@
     /* led */ "0",
     /* ff */ "0",
     kHJCGamepadAbsAxes,
-    base::size(kHJCGamepadAbsAxes),
+    std::size(kHJCGamepadAbsAxes),
 };
 
 // Captured from Xbox 360 gamepad.
@@ -140,7 +139,7 @@
     /* led */ "0",
     /* ff */ "107030000 0",
     kXboxGamepadAbsAxes,
-    base::size(kXboxGamepadAbsAxes),
+    std::size(kXboxGamepadAbsAxes),
 };
 
 // Captured from iBuffalo gamepad.
@@ -169,7 +168,7 @@
     /* led */ "0",
     /* ff */ "0",
     kiBuffaloGamepadAbsAxes,
-    base::size(kiBuffaloGamepadAbsAxes),
+    std::size(kiBuffaloGamepadAbsAxes),
 };
 
 // Captured from Basking.
@@ -206,7 +205,7 @@
     /* led */ "0",
     /* ff */ "0",
     kBaskingTouchScreenAbsAxes,
-    base::size(kBaskingTouchScreenAbsAxes),
+    std::size(kBaskingTouchScreenAbsAxes),
 };
 
 // Captured from Pixelbook.
@@ -245,7 +244,7 @@
     /* led */ "0",
     /* ff */ "0",
     kEveTouchScreenAbsAxes,
-    base::size(kEveTouchScreenAbsAxes),
+    std::size(kEveTouchScreenAbsAxes),
 };
 
 // Captured from Pixel Slate.
@@ -284,7 +283,7 @@
     /* led */ "0",
     /* ff */ "0",
     kNocturneTouchScreenAbsAxes,
-    base::size(kNocturneTouchScreenAbsAxes),
+    std::size(kNocturneTouchScreenAbsAxes),
 };
 
 // Captured from Chromebook Pixel.
@@ -342,7 +341,7 @@
     /* led */ "0",
     /* ff */ "0",
     kLinkTouchscreenAbsAxes,
-    base::size(kLinkTouchscreenAbsAxes),
+    std::size(kLinkTouchscreenAbsAxes),
 };
 
 // Fake Atmel touchscreen based on real device from Chromebook Pixel,
@@ -381,7 +380,7 @@
     /* led */ "0",
     /* ff */ "0",
     kLinkWithToolTypeTouchscreenAbsAxes,
-    base::size(kLinkWithToolTypeTouchscreenAbsAxes),
+    std::size(kLinkWithToolTypeTouchscreenAbsAxes),
 };
 
 // Captured from Chromebook Pixel.
@@ -418,7 +417,7 @@
     /* led */ "0",
     /* ff */ "0",
     kLinkTouchpadAbsAxes,
-    base::size(kLinkTouchpadAbsAxes),
+    std::size(kLinkTouchpadAbsAxes),
 };
 
 const DeviceCapabilities kMorphiusPointingStick = {
@@ -491,7 +490,7 @@
     /* led */ "0",
     /* ff */ "0",
     kHpUsbKeyboard_ExtraAbsAxes,
-    base::size(kHpUsbKeyboard_ExtraAbsAxes),
+    std::size(kHpUsbKeyboard_ExtraAbsAxes),
 };
 
 // Captured from Dell MS111-L 3-Button Optical USB Mouse.
@@ -542,7 +541,7 @@
     /* led */ "0",
     /* ff */ "0",
     kMimoTouch2TouchscreenAbsAxes,
-    base::size(kMimoTouch2TouchscreenAbsAxes),
+    std::size(kMimoTouch2TouchscreenAbsAxes),
 };
 
 // Captured from Wacom Intuos Pen and Touch Small Tablet.
@@ -573,7 +572,7 @@
     /* led */ "0",
     /* ff */ "0",
     kWacomIntuosPtS_PenAbsAxes,
-    base::size(kWacomIntuosPtS_PenAbsAxes),
+    std::size(kWacomIntuosPtS_PenAbsAxes),
 };
 
 // Captured from Wacom Intuos Pen and Touch Small Tablet.
@@ -608,7 +607,7 @@
     /* led */ "0",
     /* ff */ "0",
     kWacomIntuosPtS_FingerAbsAxes,
-    base::size(kWacomIntuosPtS_FingerAbsAxes),
+    std::size(kWacomIntuosPtS_FingerAbsAxes),
 };
 
 // Captured from Logitech Wireless Touch Keyboard K400.
@@ -639,7 +638,7 @@
     /* led */ "1f",
     /* ff */ "0",
     kLogitechTouchKeyboardK400AbsAxes,
-    base::size(kLogitechTouchKeyboardK400AbsAxes),
+    std::size(kLogitechTouchKeyboardK400AbsAxes),
 };
 
 // Captured from Elo TouchSystems 2700 touchscreen.
@@ -671,7 +670,7 @@
     /* led */ "0",
     /* ff */ "0",
     kElo_TouchSystems_2700AbsAxes,
-    base::size(kElo_TouchSystems_2700AbsAxes),
+    std::size(kElo_TouchSystems_2700AbsAxes),
 };
 
 // Captured from Intel reference design: "Wilson Beach".
@@ -702,7 +701,7 @@
     /* led */ "0",
     /* ff */ "0",
     kWilsonBeachActiveStylusAbsAxes,
-    base::size(kWilsonBeachActiveStylusAbsAxes),
+    std::size(kWilsonBeachActiveStylusAbsAxes),
 };
 
 // Captured from Eve Chromebook
@@ -732,7 +731,7 @@
     /* led */ "0",
     /* ff */ "0",
     kEveStylusAbsAxes,
-    base::size(kEveStylusAbsAxes),
+    std::size(kEveStylusAbsAxes),
 };
 
 // Captured from Pixel Slate
@@ -762,7 +761,7 @@
     /* led */ "0",
     /* ff */ "0",
     kNocturneStylusAbsAxes,
-    base::size(kNocturneStylusAbsAxes),
+    std::size(kNocturneStylusAbsAxes),
 };
 
 const DeviceCapabilities kHammerKeyboard = {
@@ -823,7 +822,7 @@
     /* led */ "0",
     /* ff */ "0",
     kHammerTouchpadAbsAxes,
-    base::size(kHammerTouchpadAbsAxes),
+    std::size(kHammerTouchpadAbsAxes),
 };
 
 // Captured from Logitech Tap touch controller
@@ -852,7 +851,7 @@
     /* led */ "0",
     /* ff */ "0",
     kIlitekTP_Mouse_AbsAxes,
-    base::size(kIlitekTP_Mouse_AbsAxes),
+    std::size(kIlitekTP_Mouse_AbsAxes),
 };
 const DeviceAbsoluteAxis kIlitekTPAbsAxes[] = {
     {ABS_X, {0, 0, 16384, 0, 0, 76}},
@@ -883,7 +882,7 @@
     /* led */ "0",
     /* ff */ "0",
     kIlitekTPAbsAxes,
-    base::size(kIlitekTPAbsAxes),
+    std::size(kIlitekTPAbsAxes),
 };
 
 const DeviceCapabilities kSideVolumeButton = {
@@ -943,7 +942,7 @@
     /* led */ "0",
     /* ff */ "0",
     kKohakuTouchscreenAxes,
-    base::size(kKohakuTouchscreenAxes),
+    std::size(kKohakuTouchscreenAxes),
 };
 
 const DeviceAbsoluteAxis kKohakuStylusAxes[] = {
@@ -976,7 +975,7 @@
     /* led */ "0",
     /* ff */ "0",
     kKohakuStylusAxes,
-    base::size(kKohakuStylusAxes),
+    std::size(kKohakuStylusAxes),
 };
 
 const DeviceAbsoluteAxis kXboxEliteAxes[] = {
@@ -1004,7 +1003,9 @@
     /* version */ "0903",
     /* prop */ "0",
     /* ev */ "10001b",
-    /* key */ "4000000 0 7fff000000000000 1000000000000 100040000000 e080ffdf01cfffff fffffffffffffffe",
+    /* key */
+    "4000000 0 7fff000000000000 1000000000000 100040000000 e080ffdf01cfffff "
+    "fffffffffffffffe",
     /* rel */ "0",
     /* abs */ "30627",
     /* msc */ "10",
@@ -1012,7 +1013,7 @@
     /* led */ "0",
     /* ff */ "0",
     kXboxEliteAxes,
-    base::size(kXboxEliteAxes),
+    std::size(kXboxEliteAxes),
 };
 const DeviceCapabilities kDellActivePenButton = {
     /* path */
@@ -1065,7 +1066,7 @@
     /* led */ "0",
     /* ff */ "0",
     kDrallionStylusAxes,
-    base::size(kDrallionStylusAxes),
+    std::size(kDrallionStylusAxes),
 };
 
 const DeviceCapabilities kDrallionKeyboard = {
@@ -1303,7 +1304,7 @@
     /* led */ "7",
     /* ff */ "0",
     kMicrosoftBluetoothNumberPadAbsAxes,
-    base::size(kMicrosoftBluetoothNumberPadAbsAxes),
+    std::size(kMicrosoftBluetoothNumberPadAbsAxes),
 };
 
 // Captured from Dell Latitude E6510, which report non valid resolutions and is
@@ -1336,7 +1337,7 @@
     /* led */ "0",
     /* ff */ "0",
     kDellLatitudeE6510TouchpadAbsAxes,
-    base::size(kDellLatitudeE6510TouchpadAbsAxes),
+    std::size(kDellLatitudeE6510TouchpadAbsAxes),
 };
 
 // Captured from HP ProBook 6560b. Touchpad that is semi-multitouch.
@@ -1369,7 +1370,7 @@
     /* led */ "0",
     /* ff */ "0",
     kHPProBook6560bTouchpadAbsAxes,
-    base::size(kHPProBook6560bTouchpadAbsAxes),
+    std::size(kHPProBook6560bTouchpadAbsAxes),
 };
 
 const DeviceCapabilities kJinlonKeyboard = {
@@ -1435,7 +1436,7 @@
     /* led */ "0",
     /* ff */ "8000 0",
     kRedrixTouchpadAxes,
-    base::size(kRedrixTouchpadAxes),
+    std::size(kRedrixTouchpadAxes),
 };
 
 // NB: Please use the capture_device_capabilities.py script to add more
diff --git a/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
index 0660fd02..c0c7702 100644
--- a/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/gamepad_event_converter_evdev_unittest.cc
@@ -15,7 +15,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_file.h"
 #include "base/posix/eintr_wrapper.h"
@@ -210,7 +209,7 @@
       {GamepadEventType::BUTTON, 307, 1}, {GamepadEventType::FRAME, 0, 0},
   };
 
-  for (unsigned i = 0; i < base::size(mock_kernel_queue); ++i) {
+  for (unsigned i = 0; i < std::size(mock_kernel_queue); ++i) {
     dev->ProcessEvent(mock_kernel_queue[i]);
   }
 
diff --git a/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc b/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
index a87af19..28e917b 100644
--- a/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
+++ b/ui/events/ozone/evdev/libgestures_glue/gesture_interpreter_libevdev_cros.cc
@@ -8,7 +8,6 @@
 #include <libevdev/libevdev.h>
 #include <linux/input.h>
 
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/stringprintf.h"
 #include "base/timer/timer.h"
@@ -559,7 +558,7 @@
   unsigned long key_state_diff[EVDEV_BITS_TO_LONGS(KEY_CNT)];
 
   // Find changed keys.
-  for (unsigned long i = 0; i < base::size(key_state_diff); ++i)
+  for (unsigned long i = 0; i < std::size(key_state_diff); ++i)
     key_state_diff[i] = new_key_state[i] ^ prev_key_state_[i];
 
   // Dispatch events for changed keys.
diff --git a/ui/events/ozone/evdev/libgestures_glue/gesture_property_provider.cc b/ui/events/ozone/evdev/libgestures_glue/gesture_property_provider.cc
index a03469f..7971290 100644
--- a/ui/events/ozone/evdev/libgestures_glue/gesture_property_provider.cc
+++ b/ui/events/ozone/evdev/libgestures_glue/gesture_property_provider.cc
@@ -13,7 +13,6 @@
 #include <algorithm>
 #include <unordered_map>
 
-#include "base/cxx17_backports.h"
 #include "base/files/file_enumerator.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
@@ -483,10 +482,10 @@
 // Check if a match criteria is currently implemented. Note that we didn't
 // implemented all of them as some are inapplicable in the non-X world.
 bool IsMatchTypeSupported(const std::string& match_type) {
-  for (size_t i = 0; i < base::size(kSupportedMatchTypes); ++i)
+  for (size_t i = 0; i < std::size(kSupportedMatchTypes); ++i)
     if (match_type == kSupportedMatchTypes[i])
       return true;
-  for (size_t i = 0; i < base::size(kUnsupportedMatchTypes); ++i) {
+  for (size_t i = 0; i < std::size(kUnsupportedMatchTypes); ++i) {
     if (match_type == kUnsupportedMatchTypes[i]) {
       LOG(ERROR) << "Unsupported gestures input class match type: "
                  << match_type;
@@ -503,11 +502,11 @@
 
 // Parse a boolean value keyword (e.g., on/off, true/false).
 int ParseBooleanKeyword(const std::string& value) {
-  for (size_t i = 0; i < base::size(kTrue); ++i) {
+  for (size_t i = 0; i < std::size(kTrue); ++i) {
     if (base::LowerCaseEqualsASCII(value, kTrue[i]))
       return 1;
   }
-  for (size_t i = 0; i < base::size(kFalse); ++i) {
+  for (size_t i = 0; i < std::size(kFalse); ++i) {
     if (base::LowerCaseEqualsASCII(value, kFalse[i]))
       return -1;
   }
diff --git a/ui/events/ozone/evdev/stylus_button_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/stylus_button_event_converter_evdev_unittest.cc
index da1979f..eea6521 100644
--- a/ui/events/ozone/evdev/stylus_button_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/stylus_button_event_converter_evdev_unittest.cc
@@ -14,7 +14,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_file.h"
 #include "base/memory/ptr_util.h"
@@ -187,7 +186,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  for (unsigned i = 0; i < base::size(mock_kernel_queue); ++i) {
+  for (unsigned i = 0; i < std::size(mock_kernel_queue); ++i) {
     dev->ProcessEvent(mock_kernel_queue[i]);
   }
   EXPECT_EQ(0u, size());
@@ -211,7 +210,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  for (unsigned i = 0; i < base::size(mock_kernel_queue); ++i) {
+  for (unsigned i = 0; i < std::size(mock_kernel_queue); ++i) {
     dev->ProcessEvent(mock_kernel_queue[i]);
   }
   EXPECT_EQ(2u, size());
@@ -243,7 +242,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  for (unsigned i = 0; i < base::size(mock_kernel_queue); ++i) {
+  for (unsigned i = 0; i < std::size(mock_kernel_queue); ++i) {
     dev->ProcessEvent(mock_kernel_queue[i]);
   }
   EXPECT_EQ(0u, size());
diff --git a/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
index 510b7fe71..59ac3531 100644
--- a/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/tablet_event_converter_evdev_unittest.cc
@@ -14,7 +14,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_file.h"
 #include "base/memory/ptr_util.h"
@@ -71,7 +70,7 @@
     /* led */ "0",
     /* ff */ "0",
     kWacomIntuos5SPenAbsAxes,
-    base::size(kWacomIntuos5SPenAbsAxes),
+    std::size(kWacomIntuos5SPenAbsAxes),
 };
 
 const ui::DeviceAbsoluteAxis EpsonBrightLink1430AbsAxes[] = {
@@ -104,7 +103,7 @@
     /* led */ "0",
     /* ff */ "0",
     EpsonBrightLink1430AbsAxes,
-    base::size(EpsonBrightLink1430AbsAxes),
+    std::size(EpsonBrightLink1430AbsAxes),
 };
 
 }  // namespace
@@ -305,7 +304,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -339,7 +338,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -374,7 +373,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -410,7 +409,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(1u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -461,7 +460,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(3u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -520,7 +519,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(3u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
@@ -544,7 +543,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(0u, size());
 }
 
@@ -591,7 +590,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ProcessEvents(mock_kernel_queue, base::size(mock_kernel_queue));
+  dev->ProcessEvents(mock_kernel_queue, std::size(mock_kernel_queue));
   EXPECT_EQ(3u, size());
 
   ui::MouseEvent* event = dispatched_event(0);
diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
index 6303723..5c3a0f6 100644
--- a/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
+++ b/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc
@@ -15,7 +15,6 @@
 #include "base/bind.h"
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_file.h"
 #include "base/posix/eintr_wrapper.h"
@@ -390,7 +389,7 @@
 
   // Press.
   dev->ConfigureReadMock(mock_kernel_queue_press,
-                         base::size(mock_kernel_queue_press), 0);
+                         std::size(mock_kernel_queue_press), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
   ui::TouchEventParams event = dispatched_touch_event(0);
@@ -405,7 +404,7 @@
 
   // Move.
   dev->ConfigureReadMock(mock_kernel_queue_move,
-                         base::size(mock_kernel_queue_move), 0);
+                         std::size(mock_kernel_queue_move), 0);
   dev->ReadNow();
   EXPECT_EQ(2u, size());
   event = dispatched_touch_event(1);
@@ -420,7 +419,7 @@
 
   // Release.
   dev->ConfigureReadMock(mock_kernel_queue_release,
-                         base::size(mock_kernel_queue_release), 0);
+                         std::size(mock_kernel_queue_release), 0);
   dev->ReadNow();
   EXPECT_EQ(3u, size());
   event = dispatched_touch_event(2);
@@ -625,7 +624,7 @@
   };
 
   dev->ConfigureReadMock(mock_kernel_queue_empty_report,
-                         base::size(mock_kernel_queue_empty_report), 0);
+                         std::size(mock_kernel_queue_empty_report), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
 
@@ -662,7 +661,7 @@
   SetTestNowTime(time);
 
   dev->ConfigureReadMock(mock_kernel_queue_press,
-                         base::size(mock_kernel_queue_press), 0);
+                         std::size(mock_kernel_queue_press), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
 
@@ -707,7 +706,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_press,
-                         base::size(mock_kernel_queue_press), 0);
+                         std::size(mock_kernel_queue_press), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
 
@@ -739,7 +738,7 @@
 
   // Send updates to touch (touch is cancelled, should not come back)
   dev->ConfigureReadMock(mock_kernel_queue_press,
-                         base::size(mock_kernel_queue_press), 0);
+                         std::size(mock_kernel_queue_press), 0);
   dev->ReadNow();
   EXPECT_EQ(2u, size());
 }
@@ -802,7 +801,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_max_major,
-                         base::size(mock_kernel_queue_max_major), 0);
+                         std::size(mock_kernel_queue_max_major), 0);
   dev->ReadNow();
   EXPECT_EQ(6u, size());
 
@@ -892,7 +891,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_max_major,
-                         base::size(mock_kernel_queue_max_major), 0);
+                         std::size(mock_kernel_queue_max_major), 0);
   dev->ReadNow();
   EXPECT_EQ(5u, size());
 
@@ -992,7 +991,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_max_major,
-                         base::size(mock_kernel_queue_max_major), 0);
+                         std::size(mock_kernel_queue_max_major), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1019,7 +1018,7 @@
   EXPECT_EQ(1, ev1_4.slot);
 
   dev->ConfigureReadMock(mock_kernel_queue_tool_palm,
-                         base::size(mock_kernel_queue_tool_palm), 0);
+                         std::size(mock_kernel_queue_tool_palm), 0);
   dev->ReadNow();
   EXPECT_EQ(8u, size());
 
@@ -1103,7 +1102,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_tool_palm,
-                         base::size(mock_kernel_queue_tool_palm), 0);
+                         std::size(mock_kernel_queue_tool_palm), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1237,7 +1236,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_max_major,
-                         base::size(mock_kernel_queue_max_major), 0);
+                         std::size(mock_kernel_queue_max_major), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1264,13 +1263,12 @@
   EXPECT_EQ(1, ev1_4.slot);
 
   dev->ConfigureReadMock(mock_kernel_new_touch_without_new_major,
-                         base::size(mock_kernel_new_touch_without_new_major),
-                         0);
+                         std::size(mock_kernel_new_touch_without_new_major), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
   dev->ConfigureReadMock(mock_kernel_queue_tool_palm,
-                         base::size(mock_kernel_queue_tool_palm), 0);
+                         std::size(mock_kernel_queue_tool_palm), 0);
   dev->ReadNow();
   EXPECT_EQ(8u, size());
 
@@ -1408,7 +1406,7 @@
   dev->Initialize(devinfo);
 
   dev->ConfigureReadMock(mock_kernel_queue_max_major,
-                         base::size(mock_kernel_queue_max_major), 0);
+                         std::size(mock_kernel_queue_max_major), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
   {
@@ -1436,8 +1434,7 @@
   // We expect 3 touches to be read: fine: touch at slot 1 is pressed and then
   // moved and then lifted. touch 0 ignored.
   dev->ConfigureReadMock(mock_kernel_new_touch_without_new_major,
-                         base::size(mock_kernel_new_touch_without_new_major),
-                         0);
+                         std::size(mock_kernel_new_touch_without_new_major), 0);
   dev->ReadNow();
   EXPECT_EQ(7u, size());
   {
@@ -1458,7 +1455,7 @@
     EXPECT_EQ(1, ev2_3.slot);
   }
   dev->ConfigureReadMock(mock_kernel_queue_tool_palm,
-                         base::size(mock_kernel_queue_tool_palm), 0);
+                         std::size(mock_kernel_queue_tool_palm), 0);
   dev->ReadNow();
   EXPECT_EQ(10u, size());
   {
@@ -1522,7 +1519,7 @@
 
   // Press.
   dev->ConfigureReadMock(mock_kernel_queue_press,
-                         base::size(mock_kernel_queue_press), 0);
+                         std::size(mock_kernel_queue_press), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
   ui::TouchEventParams event = dispatched_touch_event(0);
@@ -1536,7 +1533,7 @@
 
   // Move.
   dev->ConfigureReadMock(mock_kernel_queue_move,
-                         base::size(mock_kernel_queue_move), 0);
+                         std::size(mock_kernel_queue_move), 0);
   dev->ReadNow();
   EXPECT_EQ(2u, size());
   event = dispatched_touch_event(1);
@@ -1550,7 +1547,7 @@
 
   // Release.
   dev->ConfigureReadMock(mock_kernel_queue_release,
-                         base::size(mock_kernel_queue_release), 0);
+                         std::size(mock_kernel_queue_release), 0);
   dev->ReadNow();
   EXPECT_EQ(3u, size());
   event = dispatched_touch_event(2);
@@ -1592,7 +1589,7 @@
   };
 
   // Check that two events are generated.
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
 
   const unsigned int kExpectedEventCount = 2;
@@ -1633,7 +1630,7 @@
   };
 
   // Check that one 1 event is generated
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
 }
@@ -1732,7 +1729,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(2u, size());
 
@@ -1784,7 +1781,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1841,7 +1838,7 @@
     {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1894,7 +1891,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(2u, size());
 
@@ -1941,7 +1938,7 @@
       {{0, 0}, EV_SYN, SYN_REPORT, 0},
   };
 
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(4u, size());
 
@@ -1993,12 +1990,12 @@
     EXPECT_FALSE(device()->event(0).held);
     device()->event(0).held = true;
     time.tv_usec = i * 8000;
-    UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+    UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
     // We move the item slightly to the right every time.
     mock_kernel_queue[1].value = 1795 + i;
     SetTestNowTime(time);
-    device()->ConfigureReadMock(mock_kernel_queue,
-                                base::size(mock_kernel_queue), 0);
+    device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
+                                0);
     device()->ReadNow();
   }
   SetTestNowTime(time);
@@ -2008,11 +2005,11 @@
 
   // Now send an event which is not held.
   time.tv_usec += 8000;
-  UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+  UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
   SetTestNowTime(time);
   // We move the item slightly to the right every time.
   mock_kernel_queue[1].value = 1798;
-  device()->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue),
+  device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
                               0);
   device()->ReadNow();
   EXPECT_EQ(4u, size());
@@ -2060,11 +2057,11 @@
     EXPECT_FALSE(device()->event(0).held);
     device()->event(0).held = true;
     time.tv_usec += 8000;
-    UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+    UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
     // We move the item slightly to the right every time.
     mock_kernel_queue[1].value = 1795 + i;
-    device()->ConfigureReadMock(mock_kernel_queue,
-                                base::size(mock_kernel_queue), 0);
+    device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
+                                0);
     device()->ReadNow();
   }
   SetTestNowTime(time);
@@ -2084,7 +2081,7 @@
 
   // Press.
   device()->ConfigureReadMock(mock_kernel_queue_release,
-                              base::size(mock_kernel_queue_release), 0);
+                              std::size(mock_kernel_queue_release), 0);
   device()->ReadNow();
   EXPECT_EQ(4u, size());
   EXPECT_EQ(ui::ET_TOUCH_RELEASED, dispatched_touch_event(3).type);
@@ -2135,11 +2132,11 @@
     }
     time.tv_usec = i * 8000;
     SetTestNowTime(time);
-    UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+    UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
     // We move the item slightly to the right every time.
     mock_kernel_queue[1].value = 1795 + i;
-    device()->ConfigureReadMock(mock_kernel_queue,
-                                base::size(mock_kernel_queue), 0);
+    device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
+                                0);
     device()->ReadNow();
   }
   SetTestNowTime(time);
@@ -2210,11 +2207,11 @@
       mock_kernel_queue[3].value = MT_TOOL_FINGER;
     }
     time.tv_usec += 8000;
-    UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+    UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
     // We move the item slightly to the right every time.
     mock_kernel_queue[1].value = 1795 + i;
-    device()->ConfigureReadMock(mock_kernel_queue,
-                                base::size(mock_kernel_queue), 0);
+    device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
+                                0);
     device()->ReadNow();
   }
   SetTestNowTime(time);
@@ -2252,16 +2249,16 @@
       {time, EV_MSC, MSC_TIMESTAMP, 0},
       {time, EV_SYN, SYN_REPORT, 0},
   };
-  device()->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue),
+  device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
                               0);
   device()->ReadNow();
   // Update the items.
   time.tv_usec += 8000;
-  UpdateTime(mock_kernel_queue, base::size(mock_kernel_queue), time);
+  UpdateTime(mock_kernel_queue, std::size(mock_kernel_queue), time);
   mock_kernel_queue[3].value = 22;
   mock_kernel_queue[4].value = 1;
   mock_kernel_queue[5].value = 13;
-  device()->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue),
+  device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
                               0);
   device()->ReadNow();
   ASSERT_EQ(2u, size());
@@ -2301,7 +2298,7 @@
   SetTestNowTime(time);
 
   // Finger pressed with major/minor reported.
-  device()->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue),
+  device()->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue),
                               0);
   device()->ReadNow();
   EXPECT_EQ(1u, size());
@@ -2339,7 +2336,7 @@
   SetTestNowTime(time);
 
   // Finger pressed with major/minor reported.
-  dev->ConfigureReadMock(mock_kernel_queue, base::size(mock_kernel_queue), 0);
+  dev->ConfigureReadMock(mock_kernel_queue, std::size(mock_kernel_queue), 0);
   dev->ReadNow();
   EXPECT_EQ(1u, size());
   ui::TouchEventParams event = dispatched_touch_event(0);
diff --git a/ui/events/ozone/evdev/touch_filter/false_touch_finder_unittest.cc b/ui/events/ozone/evdev/touch_filter/false_touch_finder_unittest.cc
index 1df22ddc..720e574 100644
--- a/ui/events/ozone/evdev/touch_filter/false_touch_finder_unittest.cc
+++ b/ui/events/ozone/evdev/touch_filter/false_touch_finder_unittest.cc
@@ -10,7 +10,6 @@
 #include <memory>
 
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/logging.h"
 #include "base/strings/stringprintf.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -114,7 +113,7 @@
       {100, 4, true, gfx::PointF(100, touchscreen_height - 1), 0.35, true},
       {110, 4, true, gfx::PointF(100, touchscreen_height - 1), 0.35, true},
       {120, 4, false, gfx::PointF(100, touchscreen_height - 1), 0.35, true}};
-  EXPECT_TRUE(FilterAndCheck(kTestData, base::size(kTestData)));
+  EXPECT_TRUE(FilterAndCheck(kTestData, std::size(kTestData)));
 }
 
 // Test that a touch on the edge which starts at an edge is delayed but released
@@ -129,7 +128,7 @@
       {60, 1, true, gfx::PointF(0, 100), 0.35, true},
       {70, 1, true, gfx::PointF(0, 101), 0.35, false},
       {80, 1, false, gfx::PointF(0, 101), 0.35, false}};
-  EXPECT_TRUE(FilterAndCheck(kTestData, base::size(kTestData)));
+  EXPECT_TRUE(FilterAndCheck(kTestData, std::size(kTestData)));
 }
 
 // Test that a touch on the edge which starts away from the edge is not
@@ -140,7 +139,7 @@
       {20, 1, true, gfx::PointF(100, 100), 0.35, false},
       {30, 1, true, gfx::PointF(0, 100), 0.35, false},
       {40, 1, false, gfx::PointF(0, 100), 0.35, false}};
-  EXPECT_TRUE(FilterAndCheck(kTestData, base::size(kTestData)));
+  EXPECT_TRUE(FilterAndCheck(kTestData, std::size(kTestData)));
 }
 
 // Test that a pinky finger lightly pressed is not filtered out. Based on real
@@ -152,7 +151,7 @@
       {30, 1, true, gfx::PointF(10, 10), 0.215686, false},
       {40, 1, true, gfx::PointF(10, 10), 0.211765, false},
       {50, 1, true, gfx::PointF(10, 10), 0.203922, false}};
-  EXPECT_TRUE(FilterAndCheck(kTestData, base::size(kTestData)));
+  EXPECT_TRUE(FilterAndCheck(kTestData, std::size(kTestData)));
 }
 
 }  // namespace ui
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
index d8b0594..3986e23 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc
@@ -13,7 +13,6 @@
 #include "base/bind.h"
 #include "base/callback_helpers.h"
 #include "base/containers/span.h"
-#include "base/cxx17_backports.h"
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/memory/free_deleter.h"
@@ -511,64 +510,64 @@
 
 // Entries are ordered by character value.
 const PrintableMultiEntry kMultiMap[] = {
-    {0x0021, kU0021, base::size(kU0021)},  // exclamation mark
-    {0x0022, kU0022, base::size(kU0022)},  // quotation mark
-    {0x0023, kU0023, base::size(kU0023)},  // number sign
-    {0x0024, kU0024, base::size(kU0024)},  // dollar sign
-    {0x0027, kU0027, base::size(kU0027)},  // apostrophe
-    {0x0028, kU0028, base::size(kU0028)},  // left parenthesis
-    {0x0029, kU0029, base::size(kU0029)},  // right parenthesis
-    {0x002A, kU002A, base::size(kU002A)},  // asterisk
-    {0x002B, kU002B, base::size(kU002B)},  // plus sign
-    {0x002C, kU002C, base::size(kU002C)},  // comma
-    {0x002D, kU002D, base::size(kU002D)},  // hyphen-minus
-    {0x002E, kU002E, base::size(kU002E)},  // full stop
-    {0x002F, kU002F, base::size(kU002F)},  // solidus
-    {0x003A, kU003A, base::size(kU003A)},  // colon
-    {0x003B, kU003B, base::size(kU003B)},  // semicolon
-    {0x003D, kU003D, base::size(kU003D)},  // equals sign
-    {0x003F, kU003F, base::size(kU003F)},  // question mark
-    {0x0040, kU0040, base::size(kU0040)},  // commercial at
-    {0x005B, kU005B, base::size(kU005B)},  // left square bracket
-    {0x005C, kU005C, base::size(kU005C)},  // reverse solidus
-    {0x005D, kU005D, base::size(kU005D)},  // right square bracket
-    {0x005F, kU005F, base::size(kU005F)},  // low line
-    {0x0060, kU0060, base::size(kU0060)},  // grave accent
-    {0x00A7, kU00A7, base::size(kU00A7)},  // section sign
-    {0x00AB, kU00AB, base::size(kU00AB)},  // left double angle quotation mark
-    {0x00B0, kU00B0, base::size(kU00B0)},  // degree sign
-    {0x00BA, kU00BA, base::size(kU00BA)},  // masculine ordinal indicator
-    {0x00E0, kU00E0, base::size(kU00E0)},  // a grave
-    {0x00E1, kU00E1, base::size(kU00E1)},  // a acute
-    {0x00E2, kU00E2, base::size(kU00E2)},  // a circumflex
-    {0x00E4, kU00E4, base::size(kU00E4)},  // a diaeresis
-    {0x00E6, kU00E6, base::size(kU00E6)},  // ae
-    {0x00E7, kU00E7, base::size(kU00E7)},  // c cedilla
-    {0x00E8, kU00E8, base::size(kU00E8)},  // e grave
-    {0x00E9, kU00E9, base::size(kU00E9)},  // e acute
-    {0x00ED, kU00ED, base::size(kU00ED)},  // i acute
-    {0x00F0, kU00F0, base::size(kU00F0)},  // eth
-    {0x00F3, kU00F3, base::size(kU00F3)},  // o acute
-    {0x00F4, kU00F4, base::size(kU00F4)},  // o circumflex
-    {0x00F6, kU00F6, base::size(kU00F6)},  // o diaeresis
-    {0x00F8, kU00F8, base::size(kU00F8)},  // o stroke
-    {0x00F9, kU00F9, base::size(kU00F9)},  // u grave
-    {0x00FA, kU00FA, base::size(kU00FA)},  // u acute
-    {0x00FC, kU00FC, base::size(kU00FC)},  // u diaeresis
-    {0x0103, kU0103, base::size(kU0103)},  // a breve
-    {0x0105, kU0105, base::size(kU0105)},  // a ogonek
-    {0x010D, kU010D, base::size(kU010D)},  // c caron
-    {0x0111, kU0111, base::size(kU0111)},  // d stroke
-    {0x0117, kU0117, base::size(kU0117)},  // e dot above
-    {0x0119, kU0119, base::size(kU0119)},  // e ogonek
-    {0x012F, kU012F, base::size(kU012F)},  // i ogonek
-    {0x0142, kU0142, base::size(kU0142)},  // l stroke
-    {0x015F, kU015F, base::size(kU015F)},  // s cedilla
-    {0x0161, kU0161, base::size(kU0161)},  // s caron
-    {0x016B, kU016B, base::size(kU016B)},  // u macron
-    {0x0173, kU0173, base::size(kU0173)},  // u ogonek
-    {0x017C, kU017C, base::size(kU017C)},  // z dot above
-    {0x017E, kU017E, base::size(kU017E)},  // z caron
+    {0x0021, kU0021, std::size(kU0021)},  // exclamation mark
+    {0x0022, kU0022, std::size(kU0022)},  // quotation mark
+    {0x0023, kU0023, std::size(kU0023)},  // number sign
+    {0x0024, kU0024, std::size(kU0024)},  // dollar sign
+    {0x0027, kU0027, std::size(kU0027)},  // apostrophe
+    {0x0028, kU0028, std::size(kU0028)},  // left parenthesis
+    {0x0029, kU0029, std::size(kU0029)},  // right parenthesis
+    {0x002A, kU002A, std::size(kU002A)},  // asterisk
+    {0x002B, kU002B, std::size(kU002B)},  // plus sign
+    {0x002C, kU002C, std::size(kU002C)},  // comma
+    {0x002D, kU002D, std::size(kU002D)},  // hyphen-minus
+    {0x002E, kU002E, std::size(kU002E)},  // full stop
+    {0x002F, kU002F, std::size(kU002F)},  // solidus
+    {0x003A, kU003A, std::size(kU003A)},  // colon
+    {0x003B, kU003B, std::size(kU003B)},  // semicolon
+    {0x003D, kU003D, std::size(kU003D)},  // equals sign
+    {0x003F, kU003F, std::size(kU003F)},  // question mark
+    {0x0040, kU0040, std::size(kU0040)},  // commercial at
+    {0x005B, kU005B, std::size(kU005B)},  // left square bracket
+    {0x005C, kU005C, std::size(kU005C)},  // reverse solidus
+    {0x005D, kU005D, std::size(kU005D)},  // right square bracket
+    {0x005F, kU005F, std::size(kU005F)},  // low line
+    {0x0060, kU0060, std::size(kU0060)},  // grave accent
+    {0x00A7, kU00A7, std::size(kU00A7)},  // section sign
+    {0x00AB, kU00AB, std::size(kU00AB)},  // left double angle quotation mark
+    {0x00B0, kU00B0, std::size(kU00B0)},  // degree sign
+    {0x00BA, kU00BA, std::size(kU00BA)},  // masculine ordinal indicator
+    {0x00E0, kU00E0, std::size(kU00E0)},  // a grave
+    {0x00E1, kU00E1, std::size(kU00E1)},  // a acute
+    {0x00E2, kU00E2, std::size(kU00E2)},  // a circumflex
+    {0x00E4, kU00E4, std::size(kU00E4)},  // a diaeresis
+    {0x00E6, kU00E6, std::size(kU00E6)},  // ae
+    {0x00E7, kU00E7, std::size(kU00E7)},  // c cedilla
+    {0x00E8, kU00E8, std::size(kU00E8)},  // e grave
+    {0x00E9, kU00E9, std::size(kU00E9)},  // e acute
+    {0x00ED, kU00ED, std::size(kU00ED)},  // i acute
+    {0x00F0, kU00F0, std::size(kU00F0)},  // eth
+    {0x00F3, kU00F3, std::size(kU00F3)},  // o acute
+    {0x00F4, kU00F4, std::size(kU00F4)},  // o circumflex
+    {0x00F6, kU00F6, std::size(kU00F6)},  // o diaeresis
+    {0x00F8, kU00F8, std::size(kU00F8)},  // o stroke
+    {0x00F9, kU00F9, std::size(kU00F9)},  // u grave
+    {0x00FA, kU00FA, std::size(kU00FA)},  // u acute
+    {0x00FC, kU00FC, std::size(kU00FC)},  // u diaeresis
+    {0x0103, kU0103, std::size(kU0103)},  // a breve
+    {0x0105, kU0105, std::size(kU0105)},  // a ogonek
+    {0x010D, kU010D, std::size(kU010D)},  // c caron
+    {0x0111, kU0111, std::size(kU0111)},  // d stroke
+    {0x0117, kU0117, std::size(kU0117)},  // e dot above
+    {0x0119, kU0119, std::size(kU0119)},  // e ogonek
+    {0x012F, kU012F, std::size(kU012F)},  // i ogonek
+    {0x0142, kU0142, std::size(kU0142)},  // l stroke
+    {0x015F, kU015F, std::size(kU015F)},  // s cedilla
+    {0x0161, kU0161, std::size(kU0161)},  // s caron
+    {0x016B, kU016B, std::size(kU016B)},  // u macron
+    {0x0173, kU0173, std::size(kU0173)},  // u ogonek
+    {0x017C, kU017C, std::size(kU017C)},  // z dot above
+    {0x017E, kU017E, std::size(kU017E)},  // z caron
 };
 
 // Table mapping unshifted characters to VKEY values.
@@ -881,11 +880,11 @@
                {ui::EF_CAPS_LOCK_ON, XKB_MOD_NAME_CAPS},
                {ui::EF_NUM_LOCK_ON, XKB_MOD_NAME_NUM}};
   xkb_flag_map_.clear();
-  xkb_flag_map_.reserve(base::size(flags));
+  xkb_flag_map_.reserve(std::size(flags));
 #if BUILDFLAG(IS_CHROMEOS_ASH)
   xkb_mod_mask_t num_lock_mask = 0;
 #endif
-  for (size_t i = 0; i < base::size(flags); ++i) {
+  for (size_t i = 0; i < std::size(flags); ++i) {
     xkb_mod_index_t index = xkb_keymap_mod_get_index(keymap, flags[i].xkb_name);
     if (index == XKB_MOD_INVALID) {
       DVLOG(3) << "XKB keyboard layout does not contain " << flags[i].xkb_name;
@@ -1058,7 +1057,7 @@
     return key_code;
 
   // Check the multi-character tables.
-  const PrintableMultiEntry* multi_end = kMultiMap + base::size(kMultiMap);
+  const PrintableMultiEntry* multi_end = kMultiMap + std::size(kMultiMap);
   const PrintableMultiEntry* multi =
       std::lower_bound(kMultiMap, multi_end, plain_character,
                        [](const PrintableMultiEntry& e, char16_t c) {
@@ -1092,7 +1091,7 @@
   }
 
   // Check the simple character table.
-  const PrintableSimpleEntry* simple_end = kSimpleMap + base::size(kSimpleMap);
+  const PrintableSimpleEntry* simple_end = kSimpleMap + std::size(kSimpleMap);
   const PrintableSimpleEntry* simple =
       std::lower_bound(kSimpleMap, simple_end, plain_character,
                        [](const PrintableSimpleEntry& e, char16_t c) {
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
index 3f9223e6..d885c627 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
@@ -10,7 +10,6 @@
 
 #include <tuple>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/events/event_constants.h"
 #include "ui/events/keycodes/dom/dom_code.h"
@@ -71,8 +70,8 @@
     static const int kTestFlags[] = {EF_SHIFT_DOWN, EF_ALTGR_DOWN,
                                      EF_MOD3_DOWN};
     xkb_flag_map_.clear();
-    xkb_flag_map_.resize(base::size(kTestFlags));
-    for (size_t i = 0; i < base::size(kTestFlags); ++i) {
+    xkb_flag_map_.resize(std::size(kTestFlags));
+    for (size_t i = 0; i < std::size(kTestFlags); ++i) {
       XkbFlagMapEntry e = {kTestFlags[i],
                            static_cast<xkb_mod_mask_t>(kTestFlags[i])};
       xkb_flag_map_.push_back(e);
@@ -773,7 +772,7 @@
 
   };
 
-  for (size_t i = 0; i < base::size(kVkeyTestCase); ++i) {
+  for (size_t i = 0; i < std::size(kVkeyTestCase); ++i) {
     SCOPED_TRACE(i);
     const auto& e = kVkeyTestCase[i];
     layout_engine_->SetEntry(&e.test);
@@ -909,7 +908,7 @@
       /* 50 */ {"ge", "ge", ""},
       /* 51 */ {"mn", "mn", ""},
       /* 52 */ {"ie", "ie", ""}};
-  for (size_t i = 0; i < base::size(kVkeyTestCase); ++i) {
+  for (size_t i = 0; i < std::size(kVkeyTestCase); ++i) {
     SCOPED_TRACE(i);
     const VkTestXkbKeyboardLayoutEngine::RuleNames* e = &kVkeyTestCase[i];
     std::string layout_id;
diff --git a/ui/events/platform/platform_event_source_unittest.cc b/ui/events/platform/platform_event_source_unittest.cc
index fe7510d..e47d040 100644
--- a/ui/events/platform/platform_event_source_unittest.cc
+++ b/ui/events/platform/platform_event_source_unittest.cc
@@ -12,7 +12,6 @@
 #include <vector>
 
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/memory/raw_ptr.h"
 #include "base/run_loop.h"
 #include "base/task/single_thread_task_runner.h"
@@ -176,8 +175,8 @@
   }
   std::unique_ptr<PlatformEvent> event = CreatePlatformEvent();
   source()->Dispatch(*event);
-  ASSERT_EQ(base::size(sequence), list_dispatcher.size());
-  EXPECT_EQ(std::vector<int>(sequence, sequence + base::size(sequence)),
+  ASSERT_EQ(std::size(sequence), list_dispatcher.size());
+  EXPECT_EQ(std::vector<int>(sequence, sequence + std::size(sequence)),
             list_dispatcher);
 }
 
@@ -234,8 +233,8 @@
   }
   std::unique_ptr<PlatformEvent> event = CreatePlatformEvent();
   source()->Dispatch(*event);
-  ASSERT_EQ(base::size(sequence), list_observer.size());
-  EXPECT_EQ(std::vector<int>(sequence, sequence + base::size(sequence)),
+  ASSERT_EQ(std::size(sequence), list_observer.size());
+  EXPECT_EQ(std::vector<int>(sequence, sequence + std::size(sequence)),
             list_observer);
 }
 
@@ -249,7 +248,7 @@
   std::unique_ptr<PlatformEvent> event = CreatePlatformEvent();
   source()->Dispatch(*event);
   const int expected[] = {10, 20, 12, 23};
-  EXPECT_EQ(std::vector<int>(expected, expected + base::size(expected)), list);
+  EXPECT_EQ(std::vector<int>(expected, expected + std::size(expected)), list);
 }
 
 // Tests that an overridden dispatcher receives events before the default
diff --git a/ui/events/test/events_test_utils_x11.cc b/ui/events/test/events_test_utils_x11.cc
index c5b1f4a..8e9855d 100644
--- a/ui/events/test/events_test_utils_x11.cc
+++ b/ui/events/test/events_test_utils_x11.cc
@@ -7,7 +7,6 @@
 #include <stddef.h>
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/notreached.h"
 #include "ui/events/devices/x11/touch_factory_x11.h"
 #include "ui/events/devices/x11/xinput_util.h"
@@ -234,7 +233,7 @@
       Valuator(DeviceDataManagerX11::DT_CMT_ORDINAL_Y, y_offset_ordinal),
       Valuator(DeviceDataManagerX11::DT_CMT_FINGER_COUNT, finger_count)};
   SetUpValuators(
-      std::vector<Valuator>(valuators, valuators + base::size(valuators)));
+      std::vector<Valuator>(valuators, valuators + std::size(valuators)));
 }
 
 void ScopedXI2Event::InitFlingScrollEvent(int deviceid,
@@ -254,7 +253,7 @@
       Valuator(DeviceDataManagerX11::DT_CMT_ORDINAL_X, x_velocity_ordinal)};
 
   SetUpValuators(
-      std::vector<Valuator>(valuators, valuators + base::size(valuators)));
+      std::vector<Valuator>(valuators, valuators + std::size(valuators)));
 }
 
 void ScopedXI2Event::InitTouchEvent(int deviceid,
diff --git a/ui/gfx/animation/keyframe/keyframe_model.cc b/ui/gfx/animation/keyframe/keyframe_model.cc
index db37d76b..ed95de6 100644
--- a/ui/gfx/animation/keyframe/keyframe_model.cc
+++ b/ui/gfx/animation/keyframe/keyframe_model.cc
@@ -4,7 +4,6 @@
 
 #include "ui/gfx/animation/keyframe/keyframe_model.h"
 
-#include "base/cxx17_backports.h"
 #include "base/memory/ptr_util.h"
 #include "base/notreached.h"
 
@@ -22,7 +21,7 @@
                                               "ABORTED_BUT_NEEDS_COMPLETION"};
 
 static_assert(static_cast<int>(KeyframeModel::LAST_RUN_STATE) + 1 ==
-                  base::size(s_runStateNames),
+                  std::size(s_runStateNames),
               "RunStateEnumSize should equal the number of elements in "
               "s_runStateNames");
 
diff --git a/ui/gfx/break_list_unittest.cc b/ui/gfx/break_list_unittest.cc
index 81a66210..c862df9c 100644
--- a/ui/gfx/break_list_unittest.cc
+++ b/ui/gfx/break_list_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/gfx/range/range.h"
@@ -158,7 +157,7 @@
     { 9, 4, Range(6, 8) },
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     BreakList<bool>::const_iterator it = breaks.GetBreak(cases[i].position);
     EXPECT_EQ(breaks.breaks()[cases[i].break_index], *it);
     EXPECT_EQ(breaks.GetRange(it), cases[i].range);
diff --git a/ui/gfx/buffer_format_util.cc b/ui/gfx/buffer_format_util.cc
index 677bea4..72b7ea78 100644
--- a/ui/gfx/buffer_format_util.cc
+++ b/ui/gfx/buffer_format_util.cc
@@ -5,7 +5,6 @@
 #include "ui/gfx/buffer_format_util.h"
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/notreached.h"
 #include "base/numerics/safe_math.h"
 #include "ui/gfx/switches.h"
@@ -23,7 +22,7 @@
     BufferFormat::RGBA_F16,     BufferFormat::YUV_420_BIPLANAR,
     BufferFormat::YVU_420,      BufferFormat::P010};
 
-static_assert(base::size(kBufferFormats) ==
+static_assert(std::size(kBufferFormats) ==
                   (static_cast<int>(BufferFormat::LAST) + 1),
               "BufferFormat::LAST must be last value of kBufferFormats");
 
@@ -31,7 +30,7 @@
 
 std::vector<BufferFormat> GetBufferFormatsForTesting() {
   return std::vector<BufferFormat>(kBufferFormats,
-                                   kBufferFormats + base::size(kBufferFormats));
+                                   kBufferFormats + std::size(kBufferFormats));
 }
 
 size_t AlphaBitsForBufferFormat(BufferFormat format) {
@@ -107,13 +106,13 @@
       return 1;
     case BufferFormat::YVU_420: {
       static size_t factor[] = {1, 2, 2};
-      DCHECK_LT(static_cast<size_t>(plane), base::size(factor));
+      DCHECK_LT(static_cast<size_t>(plane), std::size(factor));
       return factor[plane];
     }
     case BufferFormat::YUV_420_BIPLANAR:
     case BufferFormat::P010: {
       static size_t factor[] = {1, 2};
-      DCHECK_LT(static_cast<size_t>(plane), base::size(factor));
+      DCHECK_LT(static_cast<size_t>(plane), std::size(factor));
       return factor[plane];
     }
   }
@@ -235,19 +234,19 @@
       return 0;
     case BufferFormat::YVU_420: {
       static size_t offset_in_2x2_sub_sampling_sizes[] = {0, 4, 5};
-      DCHECK_LT(plane, base::size(offset_in_2x2_sub_sampling_sizes));
+      DCHECK_LT(plane, std::size(offset_in_2x2_sub_sampling_sizes));
       return offset_in_2x2_sub_sampling_sizes[plane] * (size.width() / 2) *
              (size.height() / 2);
     }
     case gfx::BufferFormat::YUV_420_BIPLANAR: {
       static size_t offset_in_2x2_sub_sampling_sizes[] = {0, 4};
-      DCHECK_LT(plane, base::size(offset_in_2x2_sub_sampling_sizes));
+      DCHECK_LT(plane, std::size(offset_in_2x2_sub_sampling_sizes));
       return offset_in_2x2_sub_sampling_sizes[plane] * (size.width() / 2) *
              (size.height() / 2);
     }
     case BufferFormat::P010: {
       static size_t offset_in_2x2_sub_sampling_sizes[] = {0, 4};
-      DCHECK_LT(plane, base::size(offset_in_2x2_sub_sampling_sizes));
+      DCHECK_LT(plane, std::size(offset_in_2x2_sub_sampling_sizes));
       return 2 * offset_in_2x2_sub_sampling_sizes[plane] *
              (size.width() / 2 + size.height() / 2);
     }
diff --git a/ui/gfx/codec/jpeg_codec_unittest.cc b/ui/gfx/codec/jpeg_codec_unittest.cc
index 2d0748e8..66791cb9 100644
--- a/ui/gfx/codec/jpeg_codec_unittest.cc
+++ b/ui/gfx/codec/jpeg_codec_unittest.cc
@@ -2,18 +2,18 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/codec/jpeg_codec.h"
+
 #include <math.h>
 #include <stddef.h>
 #include <stdint.h>
 
 #include "base/barrier_closure.h"
-#include "base/cxx17_backports.h"
 #include "base/run_loop.h"
 #include "base/task/thread_pool.h"
 #include "base/test/bind.h"
 #include "base/test/task_environment.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/codec/jpeg_codec.h"
 
 namespace {
 
@@ -179,7 +179,7 @@
   std::vector<unsigned char> output;
   int outw, outh;
   JPEGCodec::Decode(kTopSitesMigrationTestImage,
-                    base::size(kTopSitesMigrationTestImage),
+                    std::size(kTopSitesMigrationTestImage),
                     JPEGCodec::FORMAT_RGBA, &output, &outw, &outh);
 }
 
diff --git a/ui/gfx/codec/png_codec_unittest.cc b/ui/gfx/codec/png_codec_unittest.cc
index 083c6a8..8d75850 100644
--- a/ui/gfx/codec/png_codec_unittest.cc
+++ b/ui/gfx/codec/png_codec_unittest.cc
@@ -2,13 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/codec/png_codec.h"
+
 #include <stddef.h>
 #include <stdint.h>
 
 #include <algorithm>
 #include <cmath>
 
-#include "base/cxx17_backports.h"
+#include "base/check.h"
 #include "base/logging.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/libpng/png.h"
@@ -16,7 +18,6 @@
 #include "third_party/skia/include/core/SkColorPriv.h"
 #include "third_party/skia/include/core/SkUnPreMultiply.h"
 #include "third_party/zlib/zlib.h"
-#include "ui/gfx/codec/png_codec.h"
 #include "ui/gfx/geometry/size.h"
 #include "ui/gfx/skia_util.h"
 
@@ -923,13 +924,13 @@
       "\x00\x00\x00\x18tEXthave some\x00spaces in both\x8d\x69\x34\x2d";
 
   EXPECT_NE(std::search(encoded.begin(), encoded.end(), kExpected1,
-                        kExpected1 + base::size(kExpected1)),
+                        kExpected1 + std::size(kExpected1)),
             encoded.end());
   EXPECT_NE(std::search(encoded.begin(), encoded.end(), kExpected2,
-                        kExpected2 + base::size(kExpected2)),
+                        kExpected2 + std::size(kExpected2)),
             encoded.end());
   EXPECT_NE(std::search(encoded.begin(), encoded.end(), kExpected3,
-                        kExpected3 + base::size(kExpected3)),
+                        kExpected3 + std::size(kExpected3)),
             encoded.end());
 }
 
diff --git a/ui/gfx/font_fallback_unittest.cc b/ui/gfx/font_fallback_unittest.cc
index 4d596d4..ad99d87 100644
--- a/ui/gfx/font_fallback_unittest.cc
+++ b/ui/gfx/font_fallback_unittest.cc
@@ -2,11 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ui/gfx/font_fallback_win.h"
-
 #include <tuple>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
@@ -17,6 +14,7 @@
 #include "third_party/icu/source/common/unicode/uscript.h"
 #include "third_party/icu/source/common/unicode/utf16.h"
 #include "third_party/skia/include/core/SkTypeface.h"
+#include "ui/gfx/font_fallback_win.h"
 #include "ui/gfx/platform_font.h"
 #include "ui/gfx/test/font_fallback_test_data.h"
 
@@ -240,7 +238,7 @@
     char16_t text[8];
     UErrorCode errorCode = U_ZERO_ERROR;
     int text_length =
-        uscript_getSampleString(script, text, base::size(text), &errorCode);
+        uscript_getSampleString(script, text, std::size(text), &errorCode);
     if (text_length <= 0 || errorCode != U_ZERO_ERROR)
       continue;
 
diff --git a/ui/gfx/font_fallback_win_unittest.cc b/ui/gfx/font_fallback_win_unittest.cc
index 76d6279..ed81cf0 100644
--- a/ui/gfx/font_fallback_win_unittest.cc
+++ b/ui/gfx/font_fallback_win_unittest.cc
@@ -4,7 +4,6 @@
 
 #include "ui/gfx/font_fallback_win.h"
 
-#include "base/cxx17_backports.h"
 #include "base/strings/string_piece.h"
 #include "base/test/task_environment.h"
 #include "base/win/windows_version.h"
@@ -91,18 +90,18 @@
   // Multiple ending NUL characters.
   const char16_t kTest1[] = {0x0540, 0x0541, 0, 0, 0};
   EXPECT_FALSE(GetFallbackFont(base_font, kDefaultApplicationLocale,
-                               base::StringPiece16(kTest1, base::size(kTest1)),
+                               base::StringPiece16(kTest1, std::size(kTest1)),
                                &fallback_font));
   // No ending NUL character.
   const char16_t kTest2[] = {0x0540, 0x0541};
   EXPECT_TRUE(GetFallbackFont(base_font, kDefaultApplicationLocale,
-                              base::StringPiece16(kTest2, base::size(kTest2)),
+                              base::StringPiece16(kTest2, std::size(kTest2)),
                               &fallback_font));
 
   // NUL only characters.
   const char16_t kTest3[] = {0, 0, 0};
   EXPECT_FALSE(GetFallbackFont(base_font, kDefaultApplicationLocale,
-                               base::StringPiece16(kTest3, base::size(kTest3)),
+                               base::StringPiece16(kTest3, std::size(kTest3)),
                                &fallback_font));
 }
 
diff --git a/ui/gfx/geometry/point3_f_unittest.cc b/ui/gfx/geometry/point3_f_unittest.cc
index ea3cc66..0bd5044 100644
--- a/ui/gfx/geometry/point3_f_unittest.cc
+++ b/ui/gfx/geometry/point3_f_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace gfx {
@@ -29,7 +28,7 @@
     { gfx::Point3F(-9.6f, 9.5f, -2.8f), a - v1 + v2 }
   };
 
-  for (size_t i = 0; i < base::size(tests); ++i)
+  for (size_t i = 0; i < std::size(tests); ++i)
     EXPECT_EQ(tests[i].expected.ToString(),
               tests[i].actual.ToString());
 
diff --git a/ui/gfx/geometry/quaternion_unittest.cc b/ui/gfx/geometry/quaternion_unittest.cc
index 3c9fd2b7..36ca9c41 100644
--- a/ui/gfx/geometry/quaternion_unittest.cc
+++ b/ui/gfx/geometry/quaternion_unittest.cc
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/geometry/quaternion.h"
+
 #include <cmath>
 
-#include "base/cxx17_backports.h"
 #include "base/numerics/math_constants.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/geometry/quaternion.h"
 #include "ui/gfx/geometry/vector3d_f.h"
 
 namespace gfx {
@@ -62,7 +62,7 @@
 
 TEST(QuatTest, Addition) {
   double values[] = {0, 1, 100};
-  for (size_t i = 0; i < base::size(values); ++i) {
+  for (size_t i = 0; i < std::size(values); ++i) {
     float t = values[i];
     Quaternion a(t, 2 * t, 3 * t, 4 * t);
     Quaternion b(5 * t, 4 * t, 3 * t, 2 * t);
@@ -87,7 +87,7 @@
        Quaternion(32, 32, 56, -6)},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     Quaternion product = cases[i].a * cases[i].b;
     CompareQuaternions(cases[i].expected, product);
   }
@@ -95,7 +95,7 @@
 
 TEST(QuatTest, Scaling) {
   double values[] = {0, 10, 100};
-  for (size_t i = 0; i < base::size(values); ++i) {
+  for (size_t i = 0; i < std::size(values); ++i) {
     double s = values[i];
     Quaternion q(1, 2, 3, 4);
     Quaternion expected(s, 2 * s, 3 * s, 4 * s);
diff --git a/ui/gfx/geometry/rect_unittest.cc b/ui/gfx/geometry/rect_unittest.cc
index 95ee361..11f4db5 100644
--- a/ui/gfx/geometry/rect_unittest.cc
+++ b/ui/gfx/geometry/rect_unittest.cc
@@ -5,9 +5,9 @@
 #include "ui/gfx/geometry/rect.h"
 
 #include <stddef.h>
+
 #include <limits>
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/insets.h"
@@ -44,7 +44,7 @@
     {0, 0, -10, -10, 0, 0, false},
   #endif
   };
-  for (size_t i = 0; i < base::size(contains_cases); ++i) {
+  for (size_t i = 0; i < std::size(contains_cases); ++i) {
     const ContainsCase& value = contains_cases[i];
     Rect rect(value.rect_x, value.rect_y, value.rect_width, value.rect_height);
     EXPECT_EQ(value.contained, rect.Contains(value.point_x, value.point_y));
@@ -74,7 +74,7 @@
     { 10, 10, 10, 10, 20, 15, 10, 10, false },
     { 10, 10, 10, 10, 21, 15, 10, 10, false }
   };
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     Rect r1(tests[i].x1, tests[i].y1, tests[i].w1, tests[i].h1);
     Rect r2(tests[i].x2, tests[i].y2, tests[i].w2, tests[i].h2);
     EXPECT_EQ(tests[i].intersects, r1.Intersects(r2));
@@ -116,7 +116,7 @@
       0, 0, 2, 2,
       0, 0, 0, 0 }
   };
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     Rect r1(tests[i].x1, tests[i].y1, tests[i].w1, tests[i].h1);
     Rect r2(tests[i].x2, tests[i].y2, tests[i].w2, tests[i].h2);
     Rect r3(tests[i].x3, tests[i].y3, tests[i].w3, tests[i].h3);
@@ -207,7 +207,7 @@
       0, 0, 3, 3,
       2, 2, 1, 1 }
   };
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     Rect r1(tests[i].x1, tests[i].y1, tests[i].w1, tests[i].h1);
     Rect r2(tests[i].x2, tests[i].y2, tests[i].w2, tests[i].h2);
     Rect r3(tests[i].x3, tests[i].y3, tests[i].w3, tests[i].h3);
@@ -506,7 +506,7 @@
     { Point(-4, 6), Point(6, -4), Rect(-4, -4, 10, 10) },
   };
 
-  for (size_t i = 0; i < base::size(int_tests); ++i) {
+  for (size_t i = 0; i < std::size(int_tests); ++i) {
     Rect actual = BoundingRect(int_tests[i].a, int_tests[i].b);
     EXPECT_EQ(int_tests[i].expected, actual);
   }
diff --git a/ui/gfx/geometry/vector3d_f_unittest.cc b/ui/gfx/geometry/vector3d_f_unittest.cc
index 27224bd..6b2f8fef 100644
--- a/ui/gfx/geometry/vector3d_f_unittest.cc
+++ b/ui/gfx/geometry/vector3d_f_unittest.cc
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/geometry/vector3d_f.h"
+
 #include <stddef.h>
 
 #include <cmath>
 #include <limits>
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/geometry/vector3d_f.h"
 
 namespace gfx {
 
@@ -35,7 +35,7 @@
     { gfx::Vector3dF(3.1f - 4.3f, 5.1f + 1.3f, 2.7f - 8.1f), f1 - f2 }
   };
 
-  for (size_t i = 0; i < base::size(float_tests); ++i)
+  for (size_t i = 0; i < std::size(float_tests); ++i)
     EXPECT_EQ(float_tests[i].expected.ToString(),
               float_tests[i].actual.ToString());
 }
@@ -53,7 +53,7 @@
     { gfx::Vector3dF(-0.3f, -0.3f, 0.3f), -gfx::Vector3dF(0.3f, 0.3f, -0.3f) }
   };
 
-  for (size_t i = 0; i < base::size(float_tests); ++i)
+  for (size_t i = 0; i < std::size(float_tests); ++i)
     EXPECT_EQ(float_tests[i].expected.ToString(),
               float_tests[i].actual.ToString());
 }
@@ -86,7 +86,7 @@
     { 0, 1.2f, 1.8f, 3.3f, 5.6f, 4.2f }
   };
 
-  for (size_t i = 0; i < base::size(triple_values); ++i) {
+  for (size_t i = 0; i < std::size(triple_values); ++i) {
     gfx::Vector3dF v(triple_values[i][0],
                      triple_values[i][1],
                      triple_values[i][2]);
@@ -122,7 +122,7 @@
     { 4.5f, 1.2f, 0, 3.3f }
   };
 
-  for (size_t i = 0; i < base::size(single_values); ++i) {
+  for (size_t i = 0; i < std::size(single_values); ++i) {
     gfx::Vector3dF v(single_values[i][0],
                      single_values[i][1],
                      single_values[i][2]);
@@ -164,7 +164,7 @@
       27861786423846742743236423478236784678.236713617231f }
   };
 
-  for (size_t i = 0; i < base::size(float_values); ++i) {
+  for (size_t i = 0; i < std::size(float_values); ++i) {
     double v0 = float_values[i][0];
     double v1 = float_values[i][1];
     double v2 = float_values[i][2];
@@ -198,7 +198,7 @@
       gfx::Vector3dF(1.1f, 2.2f, 3.3f), gfx::Vector3dF(4.4f, 5.5f, 6.6f) }
   };
 
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     float actual = gfx::DotProduct(tests[i].input1, tests[i].input2);
     EXPECT_EQ(tests[i].expected, actual);
   }
@@ -226,7 +226,7 @@
     { Vector3dF(0, -1, 1), Vector3dF(1, 0, 0), Vector3dF(1, 1, 1) }
   };
 
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     SCOPED_TRACE(i);
     Vector3dF actual = gfx::CrossProduct(tests[i].input1, tests[i].input2);
     EXPECT_EQ(tests[i].expected.ToString(), actual.ToString());
@@ -281,7 +281,7 @@
                {0, gfx::Vector3dF(0, -0.990842f, -0.003177f),
                 gfx::Vector3dF(0, -0.999995f, -0.003124f)}};
 
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     float actual =
         gfx::AngleBetweenVectorsInDegrees(tests[i].input1, tests[i].input2);
     EXPECT_FLOAT_EQ(tests[i].expected, actual);
@@ -308,7 +308,7 @@
 
   const gfx::Vector3dF normal_vector(1.0f, 0.0f, 0.0f);
 
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     float actual = gfx::ClockwiseAngleBetweenVectorsInDegrees(
         tests[i].input1, tests[i].input2, normal_vector);
     EXPECT_FLOAT_EQ(tests[i].expected, actual);
@@ -339,7 +339,7 @@
        gfx::Vector3dF(1, 0, 0)},
   };
 
-  for (size_t i = 0; i < base::size(tests); ++i) {
+  for (size_t i = 0; i < std::size(tests); ++i) {
     gfx::Vector3dF n;
     EXPECT_EQ(tests[i].expected, tests[i].v.GetNormalized(&n));
     EXPECT_EQ(tests[i].normalized.ToString(), n.ToString());
diff --git a/ui/gfx/half_float_unittest.cc b/ui/gfx/half_float_unittest.cc
index d6a1965..eac8df4 100644
--- a/ui/gfx/half_float_unittest.cc
+++ b/ui/gfx/half_float_unittest.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/half_float.h"
+
 #include <math.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/half_float.h"
 
 namespace gfx {
 
@@ -75,7 +75,7 @@
       0.0f,    1.0f,    10.0f,    1000.0f,  65503.0f,
       1.0E-3f, 1.0E-6f, 1.0E-20f, 1.0E-44f,
   };
-  for (size_t i = 0; i < base::size(test); i++) {
+  for (size_t i = 0; i < std::size(test); i++) {
     EXPECT_EQ(ConvertTruth(test[i]), Convert(test[i])) << " float = "
                                                        << test[i];
     if (test[i] != 0.0) {
diff --git a/ui/gfx/icon_util.cc b/ui/gfx/icon_util.cc
index 93cba79..62df8b1 100644
--- a/ui/gfx/icon_util.cc
+++ b/ui/gfx/icon_util.cc
@@ -5,7 +5,6 @@
 #include "ui/gfx/icon_util.h"
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #include "base/files/important_file_writer.h"
 #include "base/memory/ref_counted_memory.h"
@@ -157,7 +156,7 @@
   256   // Used by Vista onwards for large icons.
 };
 
-const size_t IconUtil::kNumIconDimensions = base::size(kIconDimensions);
+const size_t IconUtil::kNumIconDimensions = std::size(kIconDimensions);
 const size_t IconUtil::kNumIconDimensionsUpToMediumSize = 9;
 
 base::win::ScopedHICON IconUtil::CreateHICONFromSkBitmap(
diff --git a/ui/gfx/image/image_ios_unittest.mm b/ui/gfx/image/image_ios_unittest.mm
index c3cd6395..961c1c3e 100644
--- a/ui/gfx/image/image_ios_unittest.mm
+++ b/ui/gfx/image/image_ios_unittest.mm
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import <QuartzCore/QuartzCore.h>
-#include <stddef.h>
-#import <UIKit/UIKit.h>
+#include "ui/gfx/image/image.h"
 
-#include "base/cxx17_backports.h"
+#import <QuartzCore/QuartzCore.h>
+#import <UIKit/UIKit.h>
+#include <stddef.h>
+
 #include "base/mac/scoped_cftyperef.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/image/image.h"
 #include "ui/gfx/image/image_skia.h"
 
 namespace {
@@ -73,8 +73,8 @@
   const CGFloat kHeight = 100;
   const CGFloat kTestScales[3] = { 1.0f, 2.0f, 3.0f };
 
-  for (size_t i = 0; i < base::size(kTestScales); ++i) {
-    for (size_t j = 0; j < base::size(kTestScales); ++j) {
+  for (size_t i = 0; i < std::size(kTestScales); ++i) {
+    for (size_t j = 0; j < std::size(kTestScales); ++j) {
       const CGFloat source_scale = kTestScales[i];
       const CGFloat supported_scale = kTestScales[j];
 
diff --git a/ui/gfx/ios/uikit_util_unittest.mm b/ui/gfx/ios/uikit_util_unittest.mm
index 269b4b3..c096600 100644
--- a/ui/gfx/ios/uikit_util_unittest.mm
+++ b/ui/gfx/ios/uikit_util_unittest.mm
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#import "ui/gfx/ios/uikit_util.h"
+
 #import <Foundation/Foundation.h>
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/platform_test.h"
-#import "ui/gfx/ios/uikit_util.h"
 
 namespace {
 
@@ -20,7 +20,7 @@
    // "integer" values within <1 of the original value in the scaled space.
    CGFloat test_values[] = { 10.0, 55.5, 3.1, 2.9 };
    const CGFloat kMaxAlignDelta = 0.9999;
-   size_t value_count = base::size(test_values);
+   size_t value_count = std::size(test_values);
    for (unsigned int i = 0; i < value_count; ++i) {
      CGFloat aligned = ui::AlignValueToUpperPixel(test_values[i]);
      EXPECT_FLOAT_EQ(aligned * scale, floor(aligned * scale));
@@ -35,7 +35,7 @@
   // "integer" values within <1 of the original value in the scaled space.
   CGFloat test_values[] = { 10.0, 55.5, 3.1, 2.9 };
   const CGFloat kMaxAlignDelta = 0.9999;
-  size_t value_count = base::size(test_values);
+  size_t value_count = std::size(test_values);
   for (unsigned int i = 0; i < value_count; ++i) {
     CGFloat width = test_values[i];
     CGFloat height = test_values[(i + 1) % value_count];
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
index 298321f..e361879 100644
--- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc
@@ -11,7 +11,6 @@
 
 #include "base/bits.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/feature_list.h"
 #include "base/logging.h"
 #include "base/mac/mac_util.h"
@@ -62,12 +61,12 @@
       return 8;
     case gfx::BufferFormat::YUV_420_BIPLANAR: {
       constexpr int32_t bytes_per_element[] = {1, 2};
-      DCHECK_LT(static_cast<size_t>(plane), base::size(bytes_per_element));
+      DCHECK_LT(static_cast<size_t>(plane), std::size(bytes_per_element));
       return bytes_per_element[plane];
     }
     case gfx::BufferFormat::P010: {
       constexpr int32_t bytes_per_element[] = {2, 4};
-      DCHECK_LT(static_cast<size_t>(plane), base::size(bytes_per_element));
+      DCHECK_LT(static_cast<size_t>(plane), std::size(bytes_per_element));
       return bytes_per_element[plane];
     }
     case gfx::BufferFormat::BGR_565:
diff --git a/ui/gfx/nine_image_painter.cc b/ui/gfx/nine_image_painter.cc
index f183b27..464953e 100644
--- a/ui/gfx/nine_image_painter.cc
+++ b/ui/gfx/nine_image_painter.cc
@@ -8,7 +8,6 @@
 
 #include <limits>
 
-#include "base/cxx17_backports.h"
 #include "base/numerics/safe_conversions.h"
 #include "cc/paint/paint_flags.h"
 #include "third_party/skia/include/core/SkRect.h"
@@ -53,8 +52,8 @@
 }  // namespace
 
 NineImagePainter::NineImagePainter(const std::vector<ImageSkia>& images) {
-  DCHECK_EQ(base::size(images_), images.size());
-  for (size_t i = 0; i < base::size(images_); ++i)
+  DCHECK_EQ(std::size(images_), images.size());
+  for (size_t i = 0; i < std::size(images_); ++i)
     images_[i] = images[i];
 }
 
@@ -113,8 +112,8 @@
   canvas->Translate(gfx::Vector2d(left_in_pixels, top_in_pixels));
 
   ImageSkiaRep image_reps[9];
-  static_assert(base::size(image_reps) == std::extent<decltype(images_)>(), "");
-  for (size_t i = 0; i < base::size(image_reps); ++i) {
+  static_assert(std::size(image_reps) == std::extent<decltype(images_)>(), "");
+  for (size_t i = 0; i < std::size(image_reps); ++i) {
     image_reps[i] = images_[i].GetRepresentation(scale);
     DCHECK(image_reps[i].is_null() || image_reps[i].scale() == scale);
   }
diff --git a/ui/gfx/paint_vector_icon_unittest.cc b/ui/gfx/paint_vector_icon_unittest.cc
index ff7bd2e..2b552e0 100644
--- a/ui/gfx/paint_vector_icon_unittest.cc
+++ b/ui/gfx/paint_vector_icon_unittest.cc
@@ -5,9 +5,9 @@
 #include "ui/gfx/paint_vector_icon.h"
 
 #include <gtest/gtest.h>
+
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/i18n/rtl.h"
 #include "cc/paint/paint_record.h"
 #include "cc/paint/paint_recorder.h"
@@ -52,7 +52,7 @@
       MOVE_TO, 4, 5, LINE_TO, 10, 11, CLOSE,
       // This move should use (4, 5) as the start point rather than (10, 11).
       R_MOVE_TO, 20, 21, R_LINE_TO, 50, 51};
-  const VectorIconRep rep_list[] = {{elements, base::size(elements)}};
+  const VectorIconRep rep_list[] = {{elements, std::size(elements)}};
   const VectorIcon icon = {rep_list, 1u};
 
   PaintVectorIcon(&canvas, icon, 100, SK_ColorMAGENTA);
@@ -93,7 +93,7 @@
                                   R_H_LINE_TO,
                                   -20,
                                   CLOSE};
-  const VectorIconRep rep_list[] = {{elements, base::size(elements)}};
+  const VectorIconRep rep_list[] = {{elements, std::size(elements)}};
   const VectorIcon icon = {rep_list, 1u};
   PaintVectorIcon(&canvas, icon, canvas_size, color);
 
@@ -219,11 +219,11 @@
                                     0,
                                     CLOSE};
   // VectorIconReps are always sorted in descending order of size.
-  const VectorIconRep rep_list[] = {{elements48, base::size(elements48)},
-                                    {elements32, base::size(elements32)},
-                                    {elements24, base::size(elements24)},
-                                    {elements20, base::size(elements20)},
-                                    {elements16, base::size(elements16)}};
+  const VectorIconRep rep_list[] = {{elements48, std::size(elements48)},
+                                    {elements32, std::size(elements32)},
+                                    {elements24, std::size(elements24)},
+                                    {elements20, std::size(elements20)},
+                                    {elements16, std::size(elements16)}};
   const VectorIcon icon = {rep_list, 5u};
 
   // Test exact sizes paint the correctly sized icon, including the largest and
diff --git a/ui/gfx/path_win_unittest.cc b/ui/gfx/path_win_unittest.cc
index c001370..7de3f5e6 100644
--- a/ui/gfx/path_win_unittest.cc
+++ b/ui/gfx/path_win_unittest.cc
@@ -10,7 +10,6 @@
 #include <vector>
 
 #include "base/check_op.h"
-#include "base/cxx17_backports.h"
 #include "base/win/scoped_gdi_object.h"
 #include "skia/ext/skia_utils_win.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -84,8 +83,8 @@
   path.addRRect(rrect);
   base::win::ScopedRegion region(CreateHRGNFromSkPath(path));
   const std::vector<SkIRect>& region_rects = GetRectsFromHRGN(region.get());
-  EXPECT_EQ(base::size(rects), region_rects.size());
-  for (size_t i = 0; i < base::size(rects) && i < region_rects.size(); ++i)
+  EXPECT_EQ(std::size(rects), region_rects.size());
+  for (size_t i = 0; i < std::size(rects) && i < region_rects.size(); ++i)
     EXPECT_EQ(rects[i], region_rects[i]);
 }
 
@@ -103,8 +102,8 @@
   }
   base::win::ScopedRegion region(CreateHRGNFromSkPath(path));
   const std::vector<SkIRect>& region_rects = GetRectsFromHRGN(region.get());
-  ASSERT_EQ(base::size(rects), region_rects.size());
-  for (size_t i = 0; i < base::size(rects); ++i)
+  ASSERT_EQ(std::size(rects), region_rects.size());
+  for (size_t i = 0; i < std::size(rects); ++i)
     EXPECT_EQ(rects[i], region_rects[i]);
 }
 
diff --git a/ui/gfx/platform_font_mac_unittest.mm b/ui/gfx/platform_font_mac_unittest.mm
index 46b2e6d..ff2c4ad 100644
--- a/ui/gfx/platform_font_mac_unittest.mm
+++ b/ui/gfx/platform_font_mac_unittest.mm
@@ -7,7 +7,6 @@
 #include <Cocoa/Cocoa.h>
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #import "base/mac/foundation_util.h"
 #include "base/mac/scoped_cftyperef.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -189,7 +188,7 @@
   Font default_font;
   Font::FontStyle styles[] = {Font::NORMAL, Font::ITALIC, Font::UNDERLINE};
 
-  for (size_t i = 0; i < base::size(styles); ++i) {
+  for (size_t i = 0; i < std::size(styles); ++i) {
     SCOPED_TRACE(testing::Message() << "Font::FontStyle: " << styles[i]);
     // Include the range of sizes used by ResourceBundle::FontStyle (-1 to +8).
     for (int delta = -1; delta <= 8; ++delta) {
diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
index 43d0369..f6e6490 100644
--- a/ui/gfx/render_text_unittest.cc
+++ b/ui/gfx/render_text_unittest.cc
@@ -12,7 +12,6 @@
 #include <memory>
 #include <numeric>
 
-#include "base/cxx17_backports.h"
 #include "base/format_macros.h"
 #include "base/i18n/break_iterator.h"
 #include "base/i18n/char_iterator.h"
@@ -671,7 +670,7 @@
   RenderText* render_text = GetRenderText();
   EXPECT_TRUE(render_text->text().empty());
   const char16_t* const cases[] = {kWeak, kLtr, u"Hello", kRtl, u"", u""};
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     EXPECT_TRUE(test_api()->colors().EqualsValueForTesting(kPlaceholderColor));
     EXPECT_TRUE(test_api()->baselines().EqualsValueForTesting(NORMAL_BASELINE));
     EXPECT_TRUE(test_api()->font_size_overrides().EqualsValueForTesting(0));
@@ -690,7 +689,7 @@
   render_text->SetWeight(Font::Weight::BOLD);
   render_text->SetStyle(TEXT_STYLE_UNDERLINE, false);
   const char16_t* const cases[] = {kWeak, kLtr, u"Hello", kRtl, u"", u""};
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     EXPECT_TRUE(test_api()->colors().EqualsValueForTesting(color));
     EXPECT_TRUE(test_api()->baselines().EqualsValueForTesting(SUPERSCRIPT));
     EXPECT_TRUE(
@@ -1263,7 +1262,7 @@
       u"hop on pop",  // Check LTR word boundaries.
       u"אב אג בג",    // Check RTL word boundaries.
   };
-  for (size_t i = 0; i < base::size(texts); ++i) {
+  for (size_t i = 0; i < std::size(texts); ++i) {
     TestVisualCursorMotionInObscuredField(render_text, texts[i],
                                           SELECTION_NONE);
     TestVisualCursorMotionInObscuredField(render_text, texts[i],
@@ -2642,7 +2641,7 @@
 
   RenderText* render_text = GetRenderText();
   render_text->set_truncate_length(5);
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     render_text->SetText(cases[i].text);
     EXPECT_EQ(cases[i].text, render_text->text());
     EXPECT_EQ(cases[i].display_text, render_text->GetDisplayText())
@@ -3445,7 +3444,7 @@
         base::i18n::RIGHT_TO_LEFT : base::i18n::LEFT_TO_RIGHT;
 
     // Ensure that directionality modes yield the correct text directions.
-    for (size_t j = 0; j < base::size(cases); j++) {
+    for (size_t j = 0; j < std::size(cases); j++) {
       render_text->SetText(cases[j].text);
       render_text->SetDirectionalityMode(DIRECTIONALITY_FROM_TEXT);
       EXPECT_EQ(render_text->GetDisplayTextDirection(),cases[j].text_direction);
@@ -3942,7 +3941,7 @@
   };
 
   RenderText* render_text = GetRenderText();
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     SCOPED_TRACE(base::StringPrintf("Testing cases[%" PRIuS "]", i));
     render_text->SetText(cases[i].text);
 
@@ -3966,7 +3965,7 @@
 
   RenderText* render_text = GetRenderText();
   render_text->SetDisplayRect(Rect(100, 1000));
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     SCOPED_TRACE(base::StringPrintf("Testing cases[%" PRIuS "]", i));
     render_text->SetText(cases[i]);
     EXPECT_TRUE(render_text->IsValidLogicalIndex(1));
@@ -3995,7 +3994,7 @@
   const char16_t* kTestStrings[] = {kLtrRtl, kLtrRtlLtr, kRtlLtr, kRtlLtrRtl};
   RenderText* render_text = GetRenderText();
   render_text->SetDisplayRect(Rect(0, 0, 100, 20));
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("Testing case[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i]);
     for (size_t j = 0; j < render_text->text().length(); ++j) {
@@ -4139,7 +4138,7 @@
   render_text->SetDisplayRect(Rect(25, 1000));
   render_text->SetMultiline(true);
 
-  for (size_t i = 0; i < base::size(kTestStrings); i++) {
+  for (size_t i = 0; i < std::size(kTestStrings); i++) {
     render_text->SetText(kTestStrings[i]);
     EXPECT_EQ(2u, render_text->GetNumLines());
 
@@ -4180,7 +4179,7 @@
 
   RenderText* render_text = GetRenderText();
   render_text->SetDisplayRect(gfx::Rect(100, 30));
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     SCOPED_TRACE(base::StringPrintf("Testing case %" PRIuS "", i));
     render_text->SetText(cases[i].text);
     std::set<size_t> obtained_cursor_positions;
@@ -4217,7 +4216,7 @@
   };
 
   RenderText* render_text = GetRenderText();
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     render_text->SetText(cases[i].text);
     bool ltr = (cases[i].expected_text_direction == base::i18n::LEFT_TO_RIGHT);
 
@@ -4249,7 +4248,7 @@
     EXPECT_EQ(render_text->selection_model(), SelectionModel());
 
     // Test the weak, LTR, RTL, and Bidi string cases.
-    for (size_t j = 0; j < base::size(cases); j++) {
+    for (size_t j = 0; j < std::size(cases); j++) {
       render_text->SetText(cases[j]);
       render_text->SelectAll(false);
       EXPECT_EQ(render_text->selection_model(), expected_forwards);
@@ -5193,7 +5192,7 @@
   const FontList& larger_font_list = default_font_list.DeriveWithSizeDelta(24);
   EXPECT_GT(larger_font_list.GetHeight(), default_font_list.GetHeight());
 
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     ResetRenderTextInstance();
     RenderText* render_text = GetRenderText();
     render_text->SetFontList(default_font_list);
@@ -5241,7 +5240,7 @@
   render_text->SetVerticalAlignment(ALIGN_TOP);
 
   static const size_t kGraphemeBoundaries[] = {0, 2, 4, 6, 7};
-  for (size_t i = 0; i < base::size(kGraphemeBoundaries); ++i) {
+  for (size_t i = 0; i < std::size(kGraphemeBoundaries); ++i) {
     const size_t text_offset = kGraphemeBoundaries[i];
     EXPECT_EQ(render_text->GetCursorBounds(
                   SelectionModel(text_offset, CURSOR_FORWARD), true),
@@ -5442,7 +5441,7 @@
     { ALIGN_CENTER, kEnlargement },
   };
 
-  for (size_t i = 0; i < base::size(small_content_cases); i++) {
+  for (size_t i = 0; i < std::size(small_content_cases); i++) {
     render_text->SetHorizontalAlignment(small_content_cases[i].alignment);
     render_text->SetDisplayOffset(small_content_cases[i].offset);
     EXPECT_EQ(0, render_text->GetUpdatedDisplayOffset().x());
@@ -5477,7 +5476,7 @@
     { ALIGN_CENTER, kEnlargement, (kEnlargement - 1) / 2 },
   };
 
-  for (size_t i = 0; i < base::size(large_content_cases); i++) {
+  for (size_t i = 0; i < std::size(large_content_cases); i++) {
     render_text->SetHorizontalAlignment(large_content_cases[i].alignment);
     render_text->SetDisplayOffset(large_content_cases[i].offset);
     EXPECT_EQ(large_content_cases[i].expected_offset,
@@ -5525,14 +5524,14 @@
   };
 
   RenderText* render_text = GetRenderText();
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::u16string text = cases[i].text;
     const size_t start_paren_char_index = text.find('(');
     ASSERT_NE(std::u16string::npos, start_paren_char_index);
     const size_t end_paren_char_index = text.find(')');
     ASSERT_NE(std::u16string::npos, end_paren_char_index);
 
-    for (size_t j = 0; j < base::size(punctuation_pairs); ++j) {
+    for (size_t j = 0; j < std::size(punctuation_pairs); ++j) {
       text[start_paren_char_index] = punctuation_pairs[j].left_char;
       text[end_paren_char_index] = punctuation_pairs[j].right_char;
       render_text->SetText(text);
@@ -5595,7 +5594,7 @@
     { 16, 13, 16 },
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     render_text->SetCursorPosition(cases[i].cursor);
     render_text->SelectWord();
     EXPECT_EQ(Range(cases[i].selection_start, cases[i].selection_end),
@@ -5762,7 +5761,7 @@
   RenderText* render_text = GetRenderText();
   render_text->set_selection_color(SK_ColorGREEN);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     render_text->SetText(kTestStrings[i]);
     const int expected_width = render_text->GetStringSize().width();
     render_text->SelectRange({0, 1});
@@ -5827,7 +5826,7 @@
   render_text->SetMultiline(true);
   render_text->SetWordWrapBehavior(WRAP_LONG_WORDS);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i]);
     render_text->Draw(canvas());
@@ -5882,7 +5881,7 @@
   render_text->SetWordWrapBehavior(WRAP_LONG_WORDS);
   render_text->SetHorizontalAlignment(ALIGN_TO_HEAD);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i].text);
     DrawVisualText();
@@ -5931,7 +5930,7 @@
   render_text->SetDisplayRect(Rect(1000, 1000));
   render_text->SetMultiline(true);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i]);
     render_text->Draw(canvas());
@@ -5958,7 +5957,7 @@
   render_text->SetDisplayRect(Rect(200, 1000));
   render_text->SetMultiline(true);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i].text);
     render_text->Draw(canvas());
@@ -6001,7 +6000,7 @@
       u"abc\ndef", u"a \n b ", u"ab\n", u"a\n\nb", u"\nab", u"\n",
   };
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     ResetRenderTextInstance();
     RenderText* render_text = GetRenderText();
@@ -6053,7 +6052,7 @@
   render_text->SetDisplayRect(Rect(100, 1000));
   render_text->SetMultiline(true);
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(testing::Message("kTestStrings[")
                  << i << "] = " << kTestStrings[i].text);
     render_text->SetText(kTestStrings[i].text);
@@ -6108,7 +6107,7 @@
   SetGlyphWidth(kGlyphSize);
   render_text->SetDisplayRect(Rect(0, 0, kGlyphSize * 4, 0));
 
-  for (size_t i = 0; i < base::size(kTestScenarios); ++i) {
+  for (size_t i = 0; i < std::size(kTestScenarios); ++i) {
     SCOPED_TRACE(base::StringPrintf(
         "kTestScenarios[%" PRIuS "] %d", i, kTestScenarios[i].behavior));
     render_text->SetWordWrapBehavior(kTestScenarios[i].behavior);
@@ -6176,7 +6175,7 @@
   SetGlyphWidth(kGlyphSize);
   render_text->SetDisplayRect(Rect(0, 0, kGlyphSize * 4, 0));
 
-  for (size_t i = 0; i < base::size(kTestScenarios); ++i) {
+  for (size_t i = 0; i < std::size(kTestScenarios); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestScenarios[i].text);
     render_text->SetWordWrapBehavior(kTestScenarios[i].behavior);
@@ -6239,7 +6238,7 @@
        {Range(0, 2), Range(2, 3), Range(3, 5)}},
   };
 
-  for (size_t i = 0; i < base::size(kTestScenarios); ++i) {
+  for (size_t i = 0; i < std::size(kTestScenarios); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestScenarios[i].text);
     render_text->SetDisplayRect(Rect(0, 0, kTestScenarios[i].display_width, 0));
@@ -6273,7 +6272,7 @@
 
   EXPECT_EQ(3u, test_api()->lines().size());
   for (size_t j = 0;
-       j < std::min(base::size(char_ranges), test_api()->lines().size()); ++j) {
+       j < std::min(std::size(char_ranges), test_api()->lines().size()); ++j) {
     SCOPED_TRACE(base::StringPrintf("%" PRIuS "-th line", j));
     int segment_size = test_api()->lines()[j].segments.size();
     ASSERT_GT(segment_size, 0);
@@ -6355,7 +6354,7 @@
   RenderText* render_text = GetRenderText();
   render_text->SetDisplayRect(Rect(200, 1000));
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i]);
     render_text->Draw(canvas());
@@ -6460,7 +6459,7 @@
 
   RenderTextHarfBuzz* render_text = GetRenderText();
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     SCOPED_TRACE(base::StringPrintf("kTestStrings[%" PRIuS "]", i));
     render_text->SetText(kTestStrings[i].text);
 
@@ -6523,7 +6522,7 @@
   run.shape.glyph_count = 4;
   run.shape.glyph_to_char.resize(4);
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::copy(cases[i].glyph_to_char, cases[i].glyph_to_char + 4,
               run.shape.glyph_to_char.begin());
     run.font_params.is_rtl = cases[i].is_rtl;
@@ -6566,7 +6565,7 @@
 
   RenderTextHarfBuzz* render_text = GetRenderText();
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("Case %" PRIuS, i));
 
     std::u16string text = cases[i];
@@ -6621,7 +6620,7 @@
   RenderTextHarfBuzz* render_text = GetRenderText();
   render_text->SetText(u"abcd");
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::copy(cases[i].glyph_to_char, cases[i].glyph_to_char + 2,
               run.shape.glyph_to_char.begin());
     run.font_params.is_rtl = cases[i].is_rtl;
@@ -6946,7 +6945,7 @@
                                     u"\u0645\u0631\u062D\u0628\u0627"};
   RenderText* render_text = GetRenderText();
 
-  for (size_t i = 0; i < base::size(kTestStrings); ++i) {
+  for (size_t i = 0; i < std::size(kTestStrings); ++i) {
     render_text->SetText(kTestStrings[i]);
 
     for (size_t j = 0; j < render_text->text().length(); ++j)
@@ -8044,7 +8043,7 @@
   render_text->SetMultiline(true);
   render_text->SetDisplayRect(Rect(20, 1000));
 
-  for (size_t i = 0; i < base::size(cases); i++) {
+  for (size_t i = 0; i < std::size(cases); i++) {
     SCOPED_TRACE(base::StringPrintf("Testing case %" PRIuS "", i));
     render_text->SetText(cases[i].text);
 
diff --git a/ui/gfx/shadow_value_unittest.cc b/ui/gfx/shadow_value_unittest.cc
index 713b473..70e4445 100644
--- a/ui/gfx/shadow_value_unittest.cc
+++ b/ui/gfx/shadow_value_unittest.cc
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gfx/shadow_value.h"
+
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/geometry/insets.h"
 #include "ui/gfx/geometry/vector2d.h"
-#include "ui/gfx/shadow_value.h"
 
 namespace gfx {
 
@@ -58,7 +58,7 @@
       },
   };
 
-  for (size_t i = 0; i < base::size(kTestCases); ++i) {
+  for (size_t i = 0; i < std::size(kTestCases); ++i) {
     Insets margin = ShadowValue::GetMargin(
         ShadowValues(kTestCases[i].shadows,
                      kTestCases[i].shadows + kTestCases[i].shadow_count));
diff --git a/ui/gfx/test/icc_profiles.cc b/ui/gfx/test/icc_profiles.cc
index 4ec059f..8bdfc58 100644
--- a/ui/gfx/test/icc_profiles.cc
+++ b/ui/gfx/test/icc_profiles.cc
@@ -4,8 +4,6 @@
 
 #include "ui/gfx/test/icc_profiles.h"
 
-#include "base/cxx17_backports.h"
-
 namespace gfx {
 
 namespace {
@@ -1897,42 +1895,42 @@
 ICCProfile ICCProfileForTestingAdobeRGB() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(adobe_rgb_profile_data),
-      base::size(adobe_rgb_profile_data));
+      std::size(adobe_rgb_profile_data));
 }
 
 ICCProfile ICCProfileForTestingGenericRGB() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(generic_rgb_profile_data),
-      base::size(generic_rgb_profile_data));
+      std::size(generic_rgb_profile_data));
 }
 
 ICCProfile ICCProfileForTestingSRGB() {
   return ICCProfile::FromData(reinterpret_cast<const char*>(srgb_profile_data),
-                              base::size(srgb_profile_data));
+                              std::size(srgb_profile_data));
 }
 
 ICCProfile ICCProfileForTestingColorSpin() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(colorspin_profile_data),
-      base::size(colorspin_profile_data));
+      std::size(colorspin_profile_data));
 }
 
 ICCProfile ICCProfileForTestingNoAnalyticTrFn() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(no_analytic_tr_fn_profile_data),
-      base::size(no_analytic_tr_fn_profile_data));
+      std::size(no_analytic_tr_fn_profile_data));
 }
 
 ICCProfile ICCProfileForTestingA2BOnly() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(a2b_only_profile_data),
-      base::size(a2b_only_profile_data));
+      std::size(a2b_only_profile_data));
 }
 
 ICCProfile ICCProfileForTestingOvershoot() {
   return ICCProfile::FromData(
       reinterpret_cast<const char*>(overshoot_profile_data),
-      base::size(overshoot_profile_data));
+      std::size(overshoot_profile_data));
 }
 
 }  // namespace gfx
diff --git a/ui/gfx/text_elider_unittest.cc b/ui/gfx/text_elider_unittest.cc
index 79a9cf7..7a868f5 100644
--- a/ui/gfx/text_elider_unittest.cc
+++ b/ui/gfx/text_elider_unittest.cc
@@ -11,7 +11,6 @@
 #include <memory>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/files/file_path.h"
 #include "base/i18n/rtl.h"
 #include "base/logging.h"
@@ -85,7 +84,7 @@
   };
 
   const FontList font_list;
-  for (size_t i = 0; i < base::size(testcases); ++i) {
+  for (size_t i = 0; i < std::size(testcases); ++i) {
     const std::u16string expected_output = testcases[i].output;
     EXPECT_EQ(
         expected_output,
@@ -155,7 +154,7 @@
        u"file.name.re…emelylongext"}};
 
   static const FontList font_list;
-  for (size_t i = 0; i < base::size(testcases); ++i) {
+  for (size_t i = 0; i < std::size(testcases); ++i) {
     base::FilePath filepath(testcases[i].input);
     std::u16string expected = testcases[i].output;
     std::u16string using_width_of = testcases[i].using_width_of.empty()
@@ -184,7 +183,7 @@
       {u"Tests", kTestWidth, u"Test"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::u16string result =
         ElideText(cases[i].input, font_list, cases[i].width, TRUNCATE);
     EXPECT_EQ(cases[i].output, result);
@@ -208,7 +207,7 @@
       {u"Test", kTestWidth, u"Test"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::u16string result =
         ElideText(cases[i].input, font_list, cases[i].width, ELIDE_TAIL);
     EXPECT_EQ(cases[i].output, result);
@@ -234,7 +233,7 @@
       {u"Test123", kEllipsis23Width, u"…23"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::u16string result =
         ElideText(cases[i].input, font_list, cases[i].width, ELIDE_HEAD);
     EXPECT_EQ(cases[i].output, result);
@@ -327,7 +326,7 @@
 
   const FontList font_list;
   float ellipsis_width = GetStringWidthF(u"…", font_list);
-  for (size_t i = 0; i < base::size(testcases_end); ++i) {
+  for (size_t i = 0; i < std::size(testcases_end); ++i) {
     // Compare sizes rather than actual contents because if the test fails,
     // output is rather long.
     EXPECT_EQ(testcases_end[i].output.size(),
@@ -355,7 +354,7 @@
       {data_scheme + million_a, long_string_middle},
   };
 
-  for (size_t i = 0; i < base::size(testcases_middle); ++i) {
+  for (size_t i = 0; i < std::size(testcases_middle); ++i) {
     // Compare sizes rather than actual contents because if the test fails,
     // output is rather long.
     EXPECT_EQ(testcases_middle[i].output.size(),
@@ -381,7 +380,7 @@
       {data_scheme + hundred_thousand_a, long_string_beginning},
       {data_scheme + million_a, long_string_beginning},
   };
-  for (size_t i = 0; i < base::size(testcases_beginning); ++i) {
+  for (size_t i = 0; i < std::size(testcases_beginning); ++i) {
     EXPECT_EQ(testcases_beginning[i].output.size(),
               ElideText(
                   testcases_beginning[i].input, font_list,
@@ -656,7 +655,7 @@
       {u"Hello, my name is Tom", 7, true, u"He...om"},
       {u"Hello, my name is Tom", 10, true, u"Hell...Tom"},
       {u"Hello, my name is Tom", 100, false, u"Hello, my name is Tom"}};
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::u16string output;
     EXPECT_EQ(cases[i].result,
               ElideString(cases[i].input, cases[i].max_len, &output));
@@ -706,7 +705,7 @@
       {u"Te  Te Test", test_width, 3 * line_height, false, u"Te|Te|Test"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::vector<std::u16string> lines;
     EXPECT_EQ(cases[i].truncated_y ? INSUFFICIENT_SPACE_VERTICAL : 0,
               ElideRectangleText(cases[i].input, font_list,
@@ -795,7 +794,7 @@
       {u"Test. Test", test_width, line_height * 3, true, false, u"Test|.|Test"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::vector<std::u16string> lines;
     const WordWrapBehavior wrap_behavior =
         (cases[i].wrap_words ? WRAP_LONG_WORDS : TRUNCATE_LONG_WORDS);
@@ -859,7 +858,7 @@
        u"Test|Test|Test|T"},
   };
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     std::vector<std::u16string> lines;
     EXPECT_EQ(cases[i].truncated_x ? INSUFFICIENT_SPACE_HORIZONTAL : 0,
               ElideRectangleText(
@@ -985,7 +984,7 @@
       {u"Hi, my name is Tom", 1, 40, false, u"Hi, my name is Tom"},
   };
   std::u16string output;
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     EXPECT_EQ(cases[i].result,
               ElideRectangleString(cases[i].input, cases[i].max_rows,
                                    cases[i].max_cols, true, &output));
@@ -1066,7 +1065,7 @@
       {u"Hi, my name_is Dick", 1, 40, false, u"Hi, my name_is Dick"},
   };
   std::u16string output;
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     EXPECT_EQ(cases[i].result,
               ElideRectangleString(cases[i].input, cases[i].max_rows,
                                    cases[i].max_cols, false, &output));
diff --git a/ui/gfx/win/window_impl.cc b/ui/gfx/win/window_impl.cc
index 247ecac..44c4dc5 100644
--- a/ui/gfx/win/window_impl.cc
+++ b/ui/gfx/win/window_impl.cc
@@ -8,7 +8,6 @@
 
 #include "base/at_exit.h"
 #include "base/bind.h"
-#include "base/cxx17_backports.h"
 #include "base/debug/alias.h"
 #include "base/logging.h"
 #include "base/memory/singleton.h"
@@ -145,7 +144,7 @@
     auto last_error = ::GetLastError();
     base::debug::Alias(&last_error);
     wchar_t name_copy[64];
-    base::wcslcpy(name_copy, name.c_str(), base::size(name_copy));
+    base::wcslcpy(name_copy, name.c_str(), std::size(name_copy));
     base::debug::Alias(name_copy);
     PCHECK(atom);
   }
diff --git a/ui/gfx/x/x11_atom_cache.cc b/ui/gfx/x/x11_atom_cache.cc
index 256c6111..a5c4c8f 100644
--- a/ui/gfx/x/x11_atom_cache.cc
+++ b/ui/gfx/x/x11_atom_cache.cc
@@ -8,7 +8,6 @@
 #include <vector>
 
 #include "base/check.h"
-#include "base/cxx17_backports.h"
 #include "base/memory/singleton.h"
 #include "ui/gfx/x/connection.h"
 #include "ui/gfx/x/future.h"
@@ -169,7 +168,7 @@
     "xwayland-touch",
 };
 
-constexpr int kCacheCount = base::size(kAtomsToCache);
+constexpr int kCacheCount = std::size(kAtomsToCache);
 
 }  // namespace
 
diff --git a/ui/gl/gl_api_unittest.cc b/ui/gl/gl_api_unittest.cc
index 2ef3057..d4eba66b 100644
--- a/ui/gl/gl_api_unittest.cc
+++ b/ui/gl/gl_api_unittest.cc
@@ -7,7 +7,6 @@
 #include <memory>
 
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gl/gl_context.h"
 #include "ui/gl/gl_gl_api_implementation.h"
@@ -152,7 +151,7 @@
   };
   static const char* kFakeDisabledExtensions = "GL_ARB_timer_query";
 
-  SetFakeExtensionStrings(kFakeExtensions, base::size(kFakeExtensions));
+  SetFakeExtensionStrings(kFakeExtensions, std::size(kFakeExtensions));
   InitializeAPI(nullptr);
   EXPECT_TRUE(driver_->ext.b_GL_ARB_timer_query);
 
@@ -173,17 +172,17 @@
     "GL_EXT_4"
   };
 
-  SetFakeExtensionStrings(kFakeExtensions, base::size(kFakeExtensions));
+  SetFakeExtensionStrings(kFakeExtensions, std::size(kFakeExtensions));
   InitializeAPI(nullptr);
 
-  EXPECT_EQ(base::size(kFakeExtensions), GetNumExtensions());
-  for (uint32_t i = 0; i < base::size(kFakeExtensions); ++i) {
+  EXPECT_EQ(std::size(kFakeExtensions), GetNumExtensions());
+  for (uint32_t i = 0; i < std::size(kFakeExtensions); ++i) {
     EXPECT_STREQ(kFakeExtensions[i], GetExtensioni(i));
   }
 
   InitializeAPI(kFakeDisabledExtensions);
-  EXPECT_EQ(base::size(kFilteredExtensions), GetNumExtensions());
-  for (uint32_t i = 0; i < base::size(kFilteredExtensions); ++i) {
+  EXPECT_EQ(std::size(kFilteredExtensions), GetNumExtensions());
+  for (uint32_t i = 0; i < std::size(kFilteredExtensions); ++i) {
     EXPECT_STREQ(kFilteredExtensions[i], GetExtensioni(i));
   }
 }
diff --git a/ui/gl/gl_image_io_surface_unittest.cc b/ui/gl/gl_image_io_surface_unittest.cc
index 56488a60..d508c38 100644
--- a/ui/gl/gl_image_io_surface_unittest.cc
+++ b/ui/gl/gl_image_io_surface_unittest.cc
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gl/gl_image_io_surface.h"
+
 #include <stddef.h>
 #include <stdint.h>
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/gfx/buffer_format_util.h"
 #include "ui/gfx/mac/io_surface.h"
-#include "ui/gl/gl_image_io_surface.h"
 #include "ui/gl/test/gl_image_bind_test_template.h"
 #include "ui/gl/test/gl_image_test_template.h"
 #include "ui/gl/test/gl_image_zero_initialize_test_template.h"
@@ -53,7 +53,7 @@
       corrected_color[2] = color[0];
       corrected_color[3] = color[3];
     } else {
-      memcpy(corrected_color, color, base::size(corrected_color));
+      memcpy(corrected_color, color, std::size(corrected_color));
     }
 
     for (size_t plane = 0; plane < NumberOfPlanesForLinearBufferFormat(format);
diff --git a/ui/gl/gl_image_native_pixmap.cc b/ui/gl/gl_image_native_pixmap.cc
index 417bc72..38f8064 100644
--- a/ui/gl/gl_image_native_pixmap.cc
+++ b/ui/gl/gl_image_native_pixmap.cc
@@ -6,7 +6,6 @@
 
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/files/scoped_file.h"
 #include "build/build_config.h"
 #include "ui/gfx/buffer_format_util.h"
@@ -186,7 +185,7 @@
         uint64_t modifier = pixmap->GetBufferFormatModifier();
         if (has_dma_buf_import_modifier &&
             modifier != gfx::NativePixmapHandle::kNoModifier) {
-          DCHECK(attrs_plane < base::size(kLinuxDrmModifiers));
+          DCHECK(attrs_plane < std::size(kLinuxDrmModifiers));
           attrs.push_back(kLinuxDrmModifiers[attrs_plane]);
           attrs.push_back(modifier & 0xffffffff);
           attrs.push_back(kLinuxDrmModifiers[attrs_plane] + 1);
diff --git a/ui/gl/gl_switches.cc b/ui/gl/gl_switches.cc
index 609e022b..3c72737c 100644
--- a/ui/gl/gl_switches.cc
+++ b/ui/gl/gl_switches.cc
@@ -4,7 +4,6 @@
 
 #include "ui/gl/gl_switches.h"
 
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 
 #if BUILDFLAG(IS_ANDROID)
@@ -193,7 +192,7 @@
     kDirectCompositionVideoSwapChainFormat,
 };
 const int kGLSwitchesCopiedFromGpuProcessHostNumSwitches =
-    base::size(kGLSwitchesCopiedFromGpuProcessHost);
+    std::size(kGLSwitchesCopiedFromGpuProcessHost);
 
 }  // namespace switches
 
diff --git a/ui/gl/gl_version_info_unittest.cc b/ui/gl/gl_version_info_unittest.cc
index bfc2777..ca508099 100644
--- a/ui/gl/gl_version_info_unittest.cc
+++ b/ui/gl/gl_version_info_unittest.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/gl/gl_version_info.h"
+
 #include <memory>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gl/gl_version_info.h"
 
 namespace gl {
 
@@ -51,7 +51,7 @@
       {"OpenGL ES [email protected]", 3, 1, true, false, true, "", "104.0"}};
 
   gfx::ExtensionSet extensions;
-  for (size_t ii = 0; ii < base::size(kTestData); ++ii) {
+  for (size_t ii = 0; ii < std::size(kTestData); ++ii) {
     GLVersionInfo version_info(kTestData[ii].gl_version, nullptr, extensions);
     EXPECT_EQ(kTestData[ii].expected_gl_major, version_info.major_version);
     EXPECT_EQ(kTestData[ii].expected_gl_minor, version_info.minor_version);
@@ -128,7 +128,7 @@
   };
 
   gfx::ExtensionSet extensions;
-  for (size_t ii = 0; ii < base::size(kTestData); ++ii) {
+  for (size_t ii = 0; ii < std::size(kTestData); ++ii) {
     GLVersionInfo version_info(kTestData[ii].gl_version,
                                kTestData[ii].gl_renderer, extensions);
     EXPECT_TRUE(version_info.is_angle);
diff --git a/ui/gtk/gtk_ui.cc b/ui/gtk/gtk_ui.cc
index 74a3edf5..6c372f96 100644
--- a/ui/gtk/gtk_ui.cc
+++ b/ui/gtk/gtk_ui.cc
@@ -14,7 +14,6 @@
 
 #include "base/command_line.h"
 #include "base/containers/flat_map.h"
-#include "base/cxx17_backports.h"
 #include "base/debug/leak_annotations.h"
 #include "base/environment.h"
 #include "base/logging.h"
@@ -555,7 +554,7 @@
 
   std::string content_types[] = {content_type, kUnknownContentType};
 
-  for (size_t i = 0; i < base::size(content_types); ++i) {
+  for (size_t i = 0; i < std::size(content_types); ++i) {
     auto icon = TakeGObject(g_content_type_get_icon(content_type.c_str()));
     SkBitmap bitmap;
     if (GtkCheckVersion(4)) {
diff --git a/ui/message_center/views/relative_time_formatter.cc b/ui/message_center/views/relative_time_formatter.cc
index 71dcb7e..e68a6076 100644
--- a/ui/message_center/views/relative_time_formatter.cc
+++ b/ui/message_center/views/relative_time_formatter.cc
@@ -4,7 +4,6 @@
 
 #include "ui/message_center/views/relative_time_formatter.h"
 
-#include "base/cxx17_backports.h"
 #include "base/numerics/safe_conversions.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/strings/grit/ui_strings.h"
@@ -39,7 +38,7 @@
       {base::Days(364), IDS_MESSAGE_NOTIFICATION_DURATION_YEARS_SHORTEST,
        IDS_MESSAGE_NOTIFICATION_DURATION_YEARS_SHORTEST_FUTURE},
   };
-  constexpr size_t kTimeFormatsCount = base::size(kTimeFormats);
+  constexpr size_t kTimeFormatsCount = std::size(kTimeFormats);
   static_assert(kTimeFormatsCount > 0, "kTimeFormats must not be empty");
 
   for (size_t i = 0; i < kTimeFormatsCount - 1; ++i) {
diff --git a/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc b/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
index 25bf025..9f41f94 100644
--- a/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
+++ b/ui/ozone/demo/skia/skia_surfaceless_gl_renderer.cc
@@ -5,13 +5,13 @@
 #include "ui/ozone/demo/skia/skia_surfaceless_gl_renderer.h"
 
 #include <stddef.h>
+
 #include <memory>
 #include <utility>
 
 #include "base/bind.h"
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/trace_event/trace_event.h"
 #include "third_party/skia/include/core/SkCanvas.h"
 #include "third_party/skia/include/core/SkDeferredDisplayListRecorder.h"
@@ -178,7 +178,7 @@
   else
     primary_plane_rect_ = gfx::Rect(size_);
 
-  for (size_t i = 0; i < base::size(buffers_); ++i) {
+  for (size_t i = 0; i < std::size(buffers_); ++i) {
     buffers_[i] = std::make_unique<BufferWrapper>();
     if (!buffers_[i]->Initialize(gr_context_.get(), widget_,
                                  primary_plane_rect_.size()))
@@ -187,7 +187,7 @@
 
   if (command_line->HasSwitch(kEnableOverlay)) {
     gfx::Size overlay_size = gfx::Size(size_.width() / 8, size_.height() / 8);
-    for (size_t i = 0; i < base::size(overlay_buffer_); ++i) {
+    for (size_t i = 0; i < std::size(overlay_buffer_); ++i) {
       overlay_buffer_[i] = std::make_unique<BufferWrapper>();
       overlay_buffer_[i]->Initialize(gr_context_.get(),
                                      gfx::kNullAcceleratedWidget, overlay_size);
@@ -284,7 +284,7 @@
     gfx::SwapCompletionResult result) {
   switch (result.swap_result) {
     case gfx::SwapResult::SWAP_NAK_RECREATE_BUFFERS:
-      for (size_t i = 0; i < base::size(buffers_); ++i) {
+      for (size_t i = 0; i < std::size(buffers_); ++i) {
         buffers_[i] = std::make_unique<BufferWrapper>();
         if (!buffers_[i]->Initialize(gr_context_.get(), widget_,
                                      primary_plane_rect_.size()))
diff --git a/ui/ozone/demo/surfaceless_gl_renderer.cc b/ui/ozone/demo/surfaceless_gl_renderer.cc
index 4f033db..0c8db95 100644
--- a/ui/ozone/demo/surfaceless_gl_renderer.cc
+++ b/ui/ozone/demo/surfaceless_gl_renderer.cc
@@ -134,11 +134,11 @@
   // Need to make current when deleting the framebuffer resources allocated in
   // the buffers.
   context_->MakeCurrent(gl_surface_.get());
-  for (size_t i = 0; i < base::size(buffers_); ++i)
+  for (size_t i = 0; i < std::size(buffers_); ++i)
     buffers_[i].reset();
 
   for (size_t i = 0; i < kMaxLayers; ++i) {
-    for (size_t j = 0; j < base::size(overlay_buffers_[i]); ++j)
+    for (size_t j = 0; j < std::size(overlay_buffers_[i]); ++j)
       overlay_buffers_[i][j].reset();
   }
 }
@@ -164,7 +164,7 @@
   else
     primary_plane_rect_ = gfx::Rect(size_);
 
-  for (size_t i = 0; i < base::size(buffers_); ++i) {
+  for (size_t i = 0; i < std::size(buffers_); ++i) {
     buffers_[i] = std::make_unique<BufferWrapper>();
     if (!buffers_[i]->Initialize(widget_, primary_plane_rect_.size()))
       return false;
@@ -180,7 +180,7 @@
     const gfx::Size overlay_size =
         gfx::Size(size_.width() / 8, size_.height() / 8);
     for (size_t i = 0; i < overlay_cnt_; ++i) {
-      for (size_t j = 0; j < base::size(overlay_buffers_[i]); ++j) {
+      for (size_t j = 0; j < std::size(overlay_buffers_[i]); ++j) {
         overlay_buffers_[i][j] = std::make_unique<BufferWrapper>();
         overlay_buffers_[i][j]->Initialize(gfx::kNullAcceleratedWidget,
                                            overlay_size);
@@ -302,7 +302,7 @@
 
   switch (result.swap_result) {
     case gfx::SwapResult::SWAP_NAK_RECREATE_BUFFERS:
-      for (size_t i = 0; i < base::size(buffers_); ++i) {
+      for (size_t i = 0; i < std::size(buffers_); ++i) {
         buffers_[i] = std::make_unique<BufferWrapper>();
         if (!buffers_[i]->Initialize(widget_, primary_plane_rect_.size()))
           LOG(FATAL) << "Failed to recreate buffer";
diff --git a/ui/ozone/demo/vulkan_overlay_renderer.cc b/ui/ozone/demo/vulkan_overlay_renderer.cc
index 4a648468..e32de92 100644
--- a/ui/ozone/demo/vulkan_overlay_renderer.cc
+++ b/ui/ozone/demo/vulkan_overlay_renderer.cc
@@ -90,7 +90,7 @@
       /* .pipelineBindPoint = */ VK_PIPELINE_BIND_POINT_GRAPHICS,
       /* .inputAttachmentCount = */ 0,
       /* .pInputAttachments = */ nullptr,
-      /* .colorAttachmentCount = */ base::size(color_attachment_references),
+      /* .colorAttachmentCount = */ std::size(color_attachment_references),
       /* .pColorAttachments = */ color_attachment_references,
       /* .pResolveAttachments = */ nullptr,
       /* .pDepthStencilAttachment = */ nullptr,
@@ -102,9 +102,9 @@
       /* .sType = */ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
       /* .pNext = */ nullptr,
       /* .flags = */ 0,
-      /* .attachmentCount = */ base::size(render_pass_attachments),
+      /* .attachmentCount = */ std::size(render_pass_attachments),
       /* .pAttachments = */ render_pass_attachments,
-      /* .subpassCount = */ base::size(render_pass_subpasses),
+      /* .subpassCount = */ std::size(render_pass_subpasses),
       /* .pSubpasses = */ render_pass_subpasses,
       /* .dependencyCount = */ 0,
       /* .pDependencies = */ nullptr,
@@ -173,9 +173,9 @@
 
   const Buffer& buffer = *buffers_[next_buffer_];
   next_buffer_++;
-  next_buffer_ %= base::size(buffers_);
+  next_buffer_ %= std::size(buffers_);
   ++in_use_buffers_;
-  DCHECK_LE(in_use_buffers_, base::size(buffers_));
+  DCHECK_LE(in_use_buffers_, std::size(buffers_));
 
   gpu::VulkanCommandBuffer& command_buffer = *buffer.command_buffer();
 
@@ -218,7 +218,7 @@
     VkFence fence) {
   VkResult result;
   VkFence fences[] = {fence};
-  result = vkResetFences(device_queue_->GetVulkanDevice(), base::size(fences),
+  result = vkResetFences(device_queue_->GetVulkanDevice(), std::size(fences),
                          fences);
   CHECK_EQ(result, VK_SUCCESS);
 
diff --git a/ui/ozone/demo/vulkan_renderer.cc b/ui/ozone/demo/vulkan_renderer.cc
index 8d2ea165..50b7b4ad 100644
--- a/ui/ozone/demo/vulkan_renderer.cc
+++ b/ui/ozone/demo/vulkan_renderer.cc
@@ -144,7 +144,7 @@
       /* .pipelineBindPoint = */ VK_PIPELINE_BIND_POINT_GRAPHICS,
       /* .inputAttachmentCount = */ 0,
       /* .pInputAttachments = */ nullptr,
-      /* .colorAttachmentCount = */ base::size(color_attachment_references),
+      /* .colorAttachmentCount = */ std::size(color_attachment_references),
       /* .pColorAttachments = */ color_attachment_references,
       /* .pResolveAttachments = */ nullptr,
       /* .pDepthStencilAttachment = */ nullptr,
@@ -156,9 +156,9 @@
       /* .sType = */ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
       /* .pNext = */ nullptr,
       /* .flags = */ 0,
-      /* .attachmentCount = */ base::size(render_pass_attachments),
+      /* .attachmentCount = */ std::size(render_pass_attachments),
       /* .pAttachments = */ render_pass_attachments,
-      /* .subpassCount = */ base::size(render_pass_subpasses),
+      /* .subpassCount = */ std::size(render_pass_subpasses),
       /* .pSubpasses = */ render_pass_subpasses,
       /* .dependencyCount = */ 0,
       /* .pDependencies = */ nullptr,
diff --git a/ui/ozone/platform/drm/gpu/drm_gpu_util.cc b/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
index b76943a..7620248 100644
--- a/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
+++ b/ui/ozone/platform/drm/gpu/drm_gpu_util.cc
@@ -75,8 +75,8 @@
 
   ScopedDrmColorCtmPtr ctm(
       static_cast<drm_color_ctm*>(malloc(sizeof(drm_color_ctm))));
-  DCHECK_EQ(color_matrix.size(), base::size(ctm->matrix));
-  for (size_t i = 0; i < base::size(ctm->matrix); ++i) {
+  DCHECK_EQ(color_matrix.size(), std::size(ctm->matrix));
+  for (size_t i = 0; i < std::size(ctm->matrix); ++i) {
     if (color_matrix[i] < 0) {
       ctm->matrix[i] = static_cast<uint64_t>(-color_matrix[i] * (1ull << 32));
       ctm->matrix[i] |= static_cast<uint64_t>(1) << 63;
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_controller.cc b/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
index 2809e59..91b0861 100644
--- a/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
+++ b/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
@@ -517,7 +517,7 @@
   gfx::Size max_cursor_size = GetMaximumCursorSize(GetDrmDevice()->get_fd());
   SkImageInfo info = SkImageInfo::MakeN32Premul(max_cursor_size.width(),
                                                 max_cursor_size.height());
-  for (size_t i = 0; i < base::size(cursor_buffers_); ++i) {
+  for (size_t i = 0; i < std::size(cursor_buffers_); ++i) {
     cursor_buffers_[i] = std::make_unique<DrmDumbBuffer>(GetDrmDevice());
     // Don't register a framebuffer for cursors since they are special (they
     // aren't modesetting buffers and drivers may fail to register them due to
@@ -531,7 +531,7 @@
 
 DrmDumbBuffer* HardwareDisplayController::NextCursorBuffer() {
   ++cursor_frontbuffer_;
-  cursor_frontbuffer_ %= base::size(cursor_buffers_);
+  cursor_frontbuffer_ %= std::size(cursor_buffers_);
   return cursor_buffers_[cursor_frontbuffer_].get();
 }
 
diff --git a/ui/shell_dialogs/execute_select_file_win_unittest.cc b/ui/shell_dialogs/execute_select_file_win_unittest.cc
index 8ea24392..df5e8a8 100644
--- a/ui/shell_dialogs/execute_select_file_win_unittest.cc
+++ b/ui/shell_dialogs/execute_select_file_win_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/stringprintf.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/shell_dialogs/select_file_dialog.h"
@@ -42,7 +41,7 @@
       {L"sample.unknown", L"*.*", L"", L"sample.unknown"},
   };
 
-  for (size_t i = 0; i < base::size(test_cases); ++i) {
+  for (size_t i = 0; i < std::size(test_cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("i=%zu", i));
 
     EXPECT_EQ(std::wstring(test_cases[i].expected_filename),
diff --git a/ui/shell_dialogs/select_file_dialog_mac_unittest.mm b/ui/shell_dialogs/select_file_dialog_mac_unittest.mm
index 68c67f14..b603040 100644
--- a/ui/shell_dialogs/select_file_dialog_mac_unittest.mm
+++ b/ui/shell_dialogs/select_file_dialog_mac_unittest.mm
@@ -5,7 +5,6 @@
 #import "ui/shell_dialogs/select_file_dialog_mac.h"
 
 #include "base/callback_forward.h"
-#include "base/cxx17_backports.h"
 #include "base/files/file_util.h"
 #import "base/mac/foundation_util.h"
 #include "base/mac/mac_util.h"
@@ -408,7 +407,7 @@
        PICK_FILES | MULTIPLE_SELECTION, "Open"},
   };
 
-  for (size_t i = 0; i < base::size(test_cases); i++) {
+  for (size_t i = 0; i < std::size(test_cases); i++) {
     SCOPED_TRACE(
         base::StringPrintf("i=%lu file_dialog_type=%d", i, test_cases[i].type));
     args.type = test_cases[i].type;
diff --git a/ui/shell_dialogs/select_file_dialog_unittest.cc b/ui/shell_dialogs/select_file_dialog_unittest.cc
index 285f40d..52ed758 100644
--- a/ui/shell_dialogs/select_file_dialog_unittest.cc
+++ b/ui/shell_dialogs/select_file_dialog_unittest.cc
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/shell_dialogs/select_file_dialog.h"
+
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "ui/shell_dialogs/select_file_dialog.h"
 
 TEST(ShellDialogs, ShortenFileNameIfNeeded) {
   struct ShortenFileNameTestCase {
@@ -101,7 +101,7 @@
                          "jklmnopqrstuvwxyz1234abcdefghijklmnopqrstuvwxyz1234ab"
                          "cdefghijklmnopqrstuvwxyz1234ab.abcdefghijkl")}};
 
-  for (size_t i = 0; i < base::size(test_cases); ++i) {
+  for (size_t i = 0; i < std::size(test_cases); ++i) {
     base::FilePath input =
         base::FilePath(test_cases[i].input).NormalizePathSeparators();
     base::FilePath output =
diff --git a/ui/shell_dialogs/select_file_dialog_win_unittest.cc b/ui/shell_dialogs/select_file_dialog_win_unittest.cc
index fe1f2395..2b225bb 100644
--- a/ui/shell_dialogs/select_file_dialog_win_unittest.cc
+++ b/ui/shell_dialogs/select_file_dialog_win_unittest.cc
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/shell_dialogs/select_file_dialog_win.h"
+
 #include <stddef.h>
 
 #include <memory>
 #include <string>
 #include <vector>
 
-#include "base/cxx17_backports.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
@@ -23,7 +24,6 @@
 #include "base/win/windows_version.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/l10n/l10n_util.h"
-#include "ui/shell_dialogs/select_file_dialog_win.h"
 #include "ui/shell_dialogs/select_file_dialog.h"
 #include "ui/shell_dialogs/select_file_policy.h"
 #include "ui/strings/grit/ui_strings.h"
@@ -38,7 +38,7 @@
 // Returns the title of |window|.
 std::wstring GetWindowTitle(HWND window) {
   wchar_t buffer[256];
-  UINT count = ::GetWindowText(window, buffer, base::size(buffer));
+  UINT count = ::GetWindowText(window, buffer, std::size(buffer));
   return std::wstring(buffer, count);
 }
 
@@ -123,7 +123,7 @@
 
   wchar_t buffer[256];
   UINT count =
-      ::GetDlgItemText(window, dialog_item_id, buffer, base::size(buffer));
+      ::GetDlgItemText(window, dialog_item_id, buffer, std::size(buffer));
   return std::wstring(buffer, count);
 }
 
@@ -226,7 +226,7 @@
           ui::SelectFileDialog::SELECT_OPEN_MULTI_FILE, kSelectFileDefaultTitle,
       }};
 
-  for (size_t i = 0; i < base::size(kTestCases); ++i) {
+  for (size_t i = 0; i < std::size(kTestCases); ++i) {
     SCOPED_TRACE(base::StringPrintf("i=%zu", i));
 
     const auto& test_case = kTestCases[i];
diff --git a/ui/views/bubble/bubble_border_unittest.cc b/ui/views/bubble/bubble_border_unittest.cc
index ccfd8f75..3cb60ad 100644
--- a/ui/views/bubble/bubble_border_unittest.cc
+++ b/ui/views/bubble/bubble_border_unittest.cc
@@ -2,15 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "ui/views/bubble/bubble_border.h"
+
 #include <stddef.h>
 
 #include <memory>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/stringprintf.h"
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/geometry/rect.h"
-#include "ui/views/bubble/bubble_border.h"
 #include "ui/views/bubble/bubble_border_arrow_utils.h"
 #include "ui/views/test/views_test_base.h"
 
@@ -280,7 +280,7 @@
       {BubbleBorder::NONE, kMediumSize, kMediumNoArrow},
       {BubbleBorder::FLOAT, kMediumSize, kMediumNoArrow}};
 
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("i=%d arrow=%d", static_cast<int>(i),
                                     cases[i].arrow));
 
@@ -363,7 +363,7 @@
          kAnchor.y() + (kAnchor.height() - kTotalSize.height()) / 2},
     };
 
-    for (size_t j = 0; j < base::size(cases); ++j) {
+    for (size_t j = 0; j < std::size(cases); ++j) {
       SCOPED_TRACE(base::StringPrintf("shadow=%d j=%d arrow=%d",
                                       static_cast<int>(shadow),
                                       static_cast<int>(j), cases[j].arrow));
diff --git a/ui/views/controls/button/label_button_unittest.cc b/ui/views/controls/button/label_button_unittest.cc
index fa31f79..774f3f5d 100644
--- a/ui/views/controls/button/label_button_unittest.cc
+++ b/ui/views/controls/button/label_button_unittest.cc
@@ -222,8 +222,8 @@
 
     bool preferred_size_is_sometimes_narrower_than_max = false;
 
-    for (size_t i = 0; i < base::size(text_cases); ++i) {
-      for (size_t j = 0; j < base::size(width_cases); ++j) {
+    for (size_t i = 0; i < std::size(text_cases); ++i) {
+      for (size_t j = 0; j < std::size(width_cases); ++j) {
         button_->SetText(ASCIIToUTF16(text_cases[i]));
         button_->SetMaxSize(gfx::Size(width_cases[j], 30));
 
diff --git a/ui/views/controls/textfield/textfield_model_unittest.cc b/ui/views/controls/textfield/textfield_model_unittest.cc
index 68a9726..b87b93f5 100644
--- a/ui/views/controls/textfield/textfield_model_unittest.cc
+++ b/ui/views/controls/textfield/textfield_model_unittest.cc
@@ -11,7 +11,6 @@
 #include <vector>
 
 #include "base/auto_reset.h"
-#include "base/cxx17_backports.h"
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -2443,9 +2442,9 @@
 
   TextfieldModel model(nullptr);
 
-  EXPECT_EQ(all_tests.size(), base::size(test_strings));
+  EXPECT_EQ(all_tests.size(), std::size(test_strings));
 
-  for (size_t i = 0; i < base::size(test_strings); i++) {
+  for (size_t i = 0; i < std::size(test_strings); i++) {
     for (size_t j = 0; j < all_tests[i].size(); j++) {
       SCOPED_TRACE(testing::Message() << "Testing case " << i << ", " << j
                                       << " with string " << test_strings[i]);
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc
index 78e5aee4..f9f48d00 100644
--- a/ui/views/controls/textfield/textfield_unittest.cc
+++ b/ui/views/controls/textfield/textfield_unittest.cc
@@ -12,7 +12,6 @@
 #include <vector>
 
 #include "base/command_line.h"
-#include "base/cxx17_backports.h"
 #include "base/format_macros.h"
 #include "base/i18n/rtl.h"
 #include "base/memory/raw_ptr.h"
@@ -1365,7 +1364,7 @@
   InitTextfield();
   // [Ctrl] ([Alt] on Mac) + [Delete]/[Backspace] should delete the active
   // selection, regardless of [Shift].
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("Testing cases[%" PRIuS "]", i));
     textfield_->SetText(u"one two three");
     textfield_->SetSelectedRange(gfx::Range(2, 6));
@@ -1392,7 +1391,7 @@
   InitTextfield();
   // [Ctrl] ([Alt] on Mac) + [Delete]/[Backspace] should delete the active
   // selection, regardless of [Shift].
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("Testing cases[%" PRIuS "]", i));
     textfield_->SetText(u"one two three");
     // Select: o[ne] [two] th[re]e
@@ -1420,7 +1419,7 @@
   };
 
   InitTextfield();
-  for (size_t i = 0; i < base::size(cases); ++i) {
+  for (size_t i = 0; i < std::size(cases); ++i) {
     SCOPED_TRACE(base::StringPrintf("Testing cases[%" PRIuS "]", i));
     textfield_->SetText(u"one two three");
     textfield_->SetSelectedRange(gfx::Range(4));
@@ -3118,7 +3117,7 @@
       // U+0020 SPACE
       0x0020,
   };
-  const size_t kUtf16CharsCount = base::size(kUtf16Chars);
+  const size_t kUtf16CharsCount = std::size(kUtf16Chars);
 
   ui::CompositionText composition;
   composition.text.assign(kUtf16Chars, kUtf16Chars + kUtf16CharsCount);
diff --git a/ui/views/examples/box_layout_example.cc b/ui/views/examples/box_layout_example.cc
index 7ce5757..b96f4a1 100644
--- a/ui/views/examples/box_layout_example.cc
+++ b/ui/views/examples/box_layout_example.cc
@@ -56,20 +56,20 @@
 void BoxLayoutExample::CreateAdditionalControls() {
   constexpr const char* kOrientationValues[2] = {"Horizontal", "Vertical"};
   orientation_ = CreateAndAddCombobox(
-      u"Orientation", kOrientationValues, base::size(kOrientationValues),
+      u"Orientation", kOrientationValues, std::size(kOrientationValues),
       base::BindRepeating(&LayoutExampleBase::RefreshLayoutPanel,
                           base::Unretained(this), true));
 
   constexpr const char* kMainAxisValues[3] = {"Start", "Center", "End"};
   main_axis_alignment_ = CreateAndAddCombobox(
-      u"Main axis", kMainAxisValues, base::size(kMainAxisValues),
+      u"Main axis", kMainAxisValues, std::size(kMainAxisValues),
       base::BindRepeating(&BoxLayoutExample::MainAxisAlignmentChanged,
                           base::Unretained(this)));
 
   constexpr const char* kCrossAxisValues[4] = {"Stretch", "Start", "Center",
                                                "End"};
   cross_axis_alignment_ = CreateAndAddCombobox(
-      u"Cross axis", kCrossAxisValues, base::size(kCrossAxisValues),
+      u"Cross axis", kCrossAxisValues, std::size(kCrossAxisValues),
       base::BindRepeating(&BoxLayoutExample::CrossAxisAlignmentChanged,
                           base::Unretained(this)));
 
diff --git a/ui/views/examples/bubble_example.cc b/ui/views/examples/bubble_example.cc
index 09cb92e..d2b80d2e2 100644
--- a/ui/views/examples/bubble_example.cc
+++ b/ui/views/examples/bubble_example.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/utf_string_conversions.h"
 #include "ui/gfx/geometry/insets.h"
 #include "ui/views/bubble/bubble_dialog_delegate_view.h"
@@ -120,7 +119,7 @@
                                bool persistent,
                                const ui::Event& event) {
   static int arrow_index = 0, color_index = 0;
-  static const int count = base::size(arrows);
+  static const int count = std::size(arrows);
   arrow_index = (arrow_index + count + (event.IsShiftDown() ? -1 : 1)) % count;
   BubbleBorder::Arrow arrow = arrows[arrow_index];
   if (event.IsControlDown())
@@ -130,7 +129,7 @@
 
   // |bubble| will be destroyed by its widget when the widget is destroyed.
   ExampleBubble* bubble = new ExampleBubble(*button, arrow);
-  bubble->set_color(colors[(color_index++) % base::size(colors)]);
+  bubble->set_color(colors[(color_index++) % std::size(colors)]);
   bubble->set_shadow(shadow);
   if (persistent)
     bubble->set_close_on_deactivate(false);
diff --git a/ui/views/examples/flex_layout_example.cc b/ui/views/examples/flex_layout_example.cc
index 14171fb4..9eaaf1b2 100644
--- a/ui/views/examples/flex_layout_example.cc
+++ b/ui/views/examples/flex_layout_example.cc
@@ -44,20 +44,20 @@
 void FlexLayoutExample::CreateAdditionalControls() {
   constexpr const char* kOrientationValues[2] = {"Horizontal", "Vertical"};
   orientation_ = CreateAndAddCombobox(
-      u"Orientation", kOrientationValues, base::size(kOrientationValues),
+      u"Orientation", kOrientationValues, std::size(kOrientationValues),
       base::BindRepeating(&FlexLayoutExample::OrientationChanged,
                           base::Unretained(this)));
 
   constexpr const char* kMainAxisValues[3] = {"Start", "Center", "End"};
   main_axis_alignment_ = CreateAndAddCombobox(
-      u"Main axis", kMainAxisValues, base::size(kMainAxisValues),
+      u"Main axis", kMainAxisValues, std::size(kMainAxisValues),
       base::BindRepeating(&FlexLayoutExample::MainAxisAlignmentChanged,
                           base::Unretained(this)));
 
   constexpr const char* kCrossAxisValues[4] = {"Stretch", "Start", "Center",
                                                "End"};
   cross_axis_alignment_ = CreateAndAddCombobox(
-      u"Cross axis", kCrossAxisValues, base::size(kCrossAxisValues),
+      u"Cross axis", kCrossAxisValues, std::size(kCrossAxisValues),
       base::BindRepeating(&FlexLayoutExample::CrossAxisAlignmentChanged,
                           base::Unretained(this)));
 
diff --git a/ui/views/examples/label_example.cc b/ui/views/examples/label_example.cc
index 41f97d30..2ecdba57 100644
--- a/ui/views/examples/label_example.cc
+++ b/ui/views/examples/label_example.cc
@@ -7,7 +7,6 @@
 #include <memory>
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -177,11 +176,11 @@
   textfield_->SetAssociatedLabel(content_label);
 
   alignment_ =
-      AddCombobox(table, u"Alignment: ", kAlignments, base::size(kAlignments),
+      AddCombobox(table, u"Alignment: ", kAlignments, std::size(kAlignments),
                   &LabelExample::AlignmentChanged);
   elide_behavior_ = AddCombobox(
       table, u"Elide Behavior: ", ExamplePreferredSizeLabel::kElideBehaviors,
-      base::size(ExamplePreferredSizeLabel::kElideBehaviors),
+      std::size(ExamplePreferredSizeLabel::kElideBehaviors),
       &LabelExample::ElidingChanged);
 
   auto* checkboxes =
diff --git a/ui/views/examples/text_example.cc b/ui/views/examples/text_example.cc
index 1b5f1d10..807c4247 100644
--- a/ui/views/examples/text_example.cc
+++ b/ui/views/examples/text_example.cc
@@ -7,7 +7,6 @@
 #include <memory>
 #include <utility>
 
-#include "base/cxx17_backports.h"
 #include "base/strings/utf_string_conversions.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/color/color_id.h"
@@ -161,12 +160,12 @@
       "Right",
   };
   h_align_cb_ = AddCombobox(table_container, u"H-Align", kHorizontalAligments,
-                            base::size(kHorizontalAligments),
+                            std::size(kHorizontalAligments),
                             &TextExample::AlignComboboxChanged);
 
   constexpr const char* kElideBehaviors[] = {"Elide", "No Elide"};
   eliding_cb_ = AddCombobox(table_container, u"Eliding", kElideBehaviors,
-                            base::size(kElideBehaviors),
+                            std::size(kElideBehaviors),
                             &TextExample::ElideComboboxChanged);
 
   constexpr const char* kPrefixOptions[] = {
@@ -175,7 +174,7 @@
       "Hide",
   };
   prefix_cb_ = AddCombobox(table_container, u"Prefix", kPrefixOptions,
-                           base::size(kPrefixOptions),
+                           std::size(kPrefixOptions),
                            &TextExample::PrefixComboboxChanged);
 
   constexpr const char* kTextExamples[] = {
@@ -186,14 +185,14 @@
   };
   text_cb_ =
       AddCombobox(table_container, u"Example Text", kTextExamples,
-                  base::size(kTextExamples), &TextExample::TextComboboxChanged);
+                  std::size(kTextExamples), &TextExample::TextComboboxChanged);
 
   constexpr const char* kWeightLabels[] = {
       "Thin",     "Extra Light", "Light",      "Normal", "Medium",
       "Semibold", "Bold",        "Extra Bold", "Black",
   };
   weight_cb_ = AddCombobox(table_container, u"Font Weight", kWeightLabels,
-                           base::size(kWeightLabels),
+                           std::size(kWeightLabels),
                            &TextExample::WeightComboboxChanged);
   weight_cb_->SelectValue(u"Normal");
 
diff --git a/ui/views/focus/focus_traversal_unittest.cc b/ui/views/focus/focus_traversal_unittest.cc
index 764c433..0e16dfc2 100644
--- a/ui/views/focus/focus_traversal_unittest.cc
+++ b/ui/views/focus/focus_traversal_unittest.cc
@@ -4,7 +4,6 @@
 
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #include "base/memory/raw_ptr.h"
 #include "base/run_loop.h"
 #include "base/strings/string_number_conversions.h"
@@ -456,10 +455,10 @@
                              CAMPING_LINK_ID,    BRICE_DE_NICE_LINK_ID,
                              TAXI_LINK_ID,       ASTERIX_LINK_ID};
 
-  DCHECK(base::size(kTitles) == base::size(kIDs));
+  DCHECK(std::size(kTitles) == std::size(kIDs));
 
   y = 5;
-  for (size_t i = 0; i < base::size(kTitles); ++i) {
+  for (size_t i = 0; i < std::size(kTitles); ++i) {
     auto link = std::make_unique<Link>(ASCIIToUTF16(kTitles[i]));
     link->SetHorizontalAlignment(gfx::ALIGN_LEFT);
     link->SetID(kIDs[i]);
diff --git a/ui/views/test/event_generator_delegate_mac.mm b/ui/views/test/event_generator_delegate_mac.mm
index 1d7e6e39..21b4e51 100644
--- a/ui/views/test/event_generator_delegate_mac.mm
+++ b/ui/views/test/event_generator_delegate_mac.mm
@@ -5,7 +5,6 @@
 #import <Cocoa/Cocoa.h>
 #include <stddef.h>
 
-#include "base/cxx17_backports.h"
 #import "base/mac/scoped_nsobject.h"
 #import "base/mac/scoped_objc_class_swizzler.h"
 #include "base/memory/singleton.h"
@@ -370,7 +369,7 @@
       {@"Paste", @selector(paste:), @"v"},
       {@"Select All", @selector(selectAll:), @"a"},
   };
-  for (size_t i = 0; i < base::size(fake_menu_item); ++i) {
+  for (size_t i = 0; i < std::size(fake_menu_item); ++i) {
     [fake_menu_ insertItemWithTitle:fake_menu_item[i].title
                              action:fake_menu_item[i].action
                       keyEquivalent:fake_menu_item[i].key_equivalent