From fc40b109df133eb9aeeaa7eb7307273e17030496 Mon Sep 17 00:00:00 2001 From: Sangwoo Ko Date: Thu, 28 May 2026 12:01:34 +0900 Subject: [PATCH] Remove #define in c/b/ui/accelerator_table.cc (#36599) * Remove #define in c/b/ui/accelerator_table.cc Replaces #define macro with plaster + chromium_src override. plaster will rename GetAcceleratorList() to GetAcceleratorList_ChromiumImpl() so that we can have our own implementation of GetAcceleratorList(). --- chromium_src/chrome/browser/ui/accelerator_table.cc | 9 ++++----- .../chrome-browser-ui-accelerator_table.cc.patch | 13 +++++++++++++ rewrite/chrome/browser/ui/accelerator_table.cc.yaml | 11 +++++++++++ 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 patches/chrome-browser-ui-accelerator_table.cc.patch create mode 100644 rewrite/chrome/browser/ui/accelerator_table.cc.yaml diff --git a/chromium_src/chrome/browser/ui/accelerator_table.cc b/chromium_src/chrome/browser/ui/accelerator_table.cc index 3f1a2335400..a799d8e3aec 100644 --- a/chromium_src/chrome/browser/ui/accelerator_table.cc +++ b/chromium_src/chrome/browser/ui/accelerator_table.cc @@ -3,17 +3,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at https://mozilla.org/MPL/2.0/. */ -#include "chrome/browser/ui/accelerator_table.h" - #include "base/containers/extend.h" #include "brave/app/brave_command_ids.h" #include "brave/components/commander/common/buildflags/buildflags.h" #include "build/build_config.h" -#include "chrome/browser/ui/ui_features.h" -#define GetAcceleratorList GetAcceleratorList_ChromiumImpl #include -#undef GetAcceleratorList namespace { @@ -41,6 +36,10 @@ constexpr AcceleratorMapping kBraveAcceleratorMap[] = { } // namespace +// Our own version of GetAcceleratorList(). This removes the upstream +// accelerator for new split tab on Windows and Linux, as it conflicts with our +// existing Tor shortcut (see `kBraveAcceleratorMap`) and adds our own +// accelerators. std::vector GetAcceleratorList() { std::vector accelerator_list( GetAcceleratorList_ChromiumImpl()); diff --git a/patches/chrome-browser-ui-accelerator_table.cc.patch b/patches/chrome-browser-ui-accelerator_table.cc.patch new file mode 100644 index 00000000000..846846c04b5 --- /dev/null +++ b/patches/chrome-browser-ui-accelerator_table.cc.patch @@ -0,0 +1,13 @@ +diff --git a/chrome/browser/ui/accelerator_table.cc b/chrome/browser/ui/accelerator_table.cc +index 51837acdf5a13e6ae75e163943d977c85c6c7fd1..234c5d6a24808f0734411e8398f179f1283060b2 100644 +--- a/chrome/browser/ui/accelerator_table.cc ++++ b/chrome/browser/ui/accelerator_table.cc +@@ -305,7 +305,7 @@ std::vector* GetAcceleratorsPointer() { + + } // namespace + +-std::vector GetAcceleratorList() { ++std::vector GetAcceleratorList_ChromiumImpl() { + std::vector* accelerators = GetAcceleratorsPointer(); + + if (accelerators->empty()) { diff --git a/rewrite/chrome/browser/ui/accelerator_table.cc.yaml b/rewrite/chrome/browser/ui/accelerator_table.cc.yaml new file mode 100644 index 00000000000..f4b8943c7a4 --- /dev/null +++ b/rewrite/chrome/browser/ui/accelerator_table.cc.yaml @@ -0,0 +1,11 @@ +# Copyright (c) 2026 The Brave Authors. All rights reserved. +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at https://mozilla.org/MPL/2.0/. + +substitutions: + - description: |- + Rename GetAcceleratorList() to GetAcceleratorList_ChromiumImpl() so that + we can have our own implementation of GetAcceleratorList(). + re_pattern: '(std::vector\ GetAcceleratorList)(\(\)\ {)' + replace: '\1_ChromiumImpl\2'