3e22f992b0
* chore: bump chromium in DEPS to 128.0.6577.0 * chore: bump chromium in DEPS to 128.0.6579.0 * 5675706: Reland "Reland "Reland "Reland "Add toolchains without PartitionAlloc-Everywhere for dump_syms et al"""" https://chromium-review.googlesource.com/c/chromium/src/+/5675706 * 5668597: [PDF Ink Signatures] Prompt download menu on save when there are edits https://chromium-review.googlesource.com/c/chromium/src/+/5668597 * 5677014: Reland "Pull data_sharing_sdk from CIPD" https://chromium-review.googlesource.com/c/chromium/src/+/5677014 * chore: fixup patch indices * chore: bump chromium in DEPS to 128.0.6581.0 * chore: bump chromium in DEPS to 128.0.6583.0 * update patches * 5455480: [Extensions] Allow service worker requests to continue without a cert https://chromium-review.googlesource.com/c/chromium/src/+/5455480 * try to get some debugging output from script/push-patch.js * chore: bump chromium in DEPS to 128.0.6585.0 * chore: bump chromium in DEPS to 128.0.6587.0 * update patches * chore: bump chromium in DEPS to 128.0.6589.0 * more patch work * maybe over here? * chore: update patches * 5673207: [HTTPS Upgrades] Disable in captive portal login webview https://chromium-review.googlesource.com/c/chromium/src/+/5673207 * 5636785: Extensions: WAR: manifest.json's use_dynamic_url requires a dynamic url https://chromium-review.googlesource.com/c/chromium/src/+/5636785 * chore: bump chromium in DEPS to 128.0.6591.0 * 5665458: Trigger WN2 page when feature is enabled https://chromium-review.googlesource.com/c/chromium/src/+/5665458 * update patches * chore: bump chromium in DEPS to 128.0.6593.0 * chore: bump chromium in DEPS to 128.0.6595.0 * chore: bump chromium in DEPS to 128.0.6597.0 * (patch update) 5694586: [compile hints] Remove the usage of v8::Isolate::SetJavaScriptCompileHintsMagicEnabledCallback API https://chromium-review.googlesource.com/c/chromium/src/+/5694586 * update patches * 5691287: Reland "Change blink::WebKeyboardEvent to use std::array in is members" https://chromium-review.googlesource.com/c/chromium/src/+/5691287 The code changed here is modeled after code in `content/renderer/pepper/event_conversion.cc` that was also modified in this CL, so I took the same approach. * 5529018: Cleanup EnableWebHidOnExtensionServiceWorker flag https://chromium-review.googlesource.com/c/chromium/src/+/5529018 * 5526324: [Code Health] Add deprecation comment for base::SupportsWeakPtr. https://chromium-review.googlesource.com/c/chromium/src/+/5526324 Note that this CL actually does make `SupportsWeakPtr` strictly restricted to existing implementations, no new ones. We could add a patch to add ourselves to this list, but it looks like we'll have to refactor this anyways in the near future. Since the refactor seems straightforward, let's try that first. * chore: bump chromium in DEPS to 128.0.6598.0 * chore: update patches * 5704737: Rename ExclusiveAccessContext::GetActiveWebContents to avoid conflict https://chromium-review.googlesource.com/c/chromium/src/+/5704737 * chore: bump chromium in DEPS to 128.0.6601.0 * chore: update patches * Add `base::StringPiece` header includes Chromium is working on replacing `base::StringPiece` with `std::string_view`. (See the Chromium Bug below.) They're currently running mass codemods (across many multiple changes) to replace uses of `StringPiece` with `string_view`, including removing the header include for `StringPiece` in those files. This cascades down to our files that were implicitly depending on those includes through some other include. They're on track to eventually deprecate and remove `StringPiece` so our code should be converted, but that can be done as an upgrade follow-up task. For now, adding the header back to files that need it should suffice for minimal upgrade changes. Chromium Bug: https://issues.chromium.org/issues/40506050 * 5702737: GlobalRequestID: Avoid unwanted inlining and narrowing int conversions https://chromium-review.googlesource.com/c/chromium/src/+/5702737 contender for smallest commit 2024 * 5706534: Rename GlobalFeatures to GlobalDesktopFeatures. https://chromium-review.googlesource.com/c/chromium/src/+/5706534 * 5691321: ui: remove params variants of SelectFile listener functions https://chromium-review.googlesource.com/c/chromium/src/+/5691321 * 5714949: [Extensions] Display re-enable dialog for MV2 disabled stage https://chromium-review.googlesource.com/c/chromium/src/+/5714949 * chore: update libc++ filenames * patch: disable scope reuse & associated dchecks in v8 (hopefully temp, upgrade follow-up) * fixup! Add `base::StringPiece` header includes * update MAS patch 5710330: Add crash keys to debug NativeWidgetMacNSWindowBorderlessFrame exception https://chromium-review.googlesource.com/c/chromium/src/+/5710330 * chore: bump chromium in DEPS to 128.0.6603.0 * chore: update patches * 5713258: Reland "Preparation for decoupling creation/initialization of context" https://chromium-review.googlesource.com/c/chromium/src/+/5713258 When destroying a context, it must already be shutdown, and this change enforces it with a new CHECK. We were overriding `BrowserContextKeyedServiceFactory::BrowserContextShutdown` with an empty implementation, which differed from the default implementation that notifies the `KeyedServiceFactory` that the context has shutdown. Since we were missing this notification, the CHECK would later trip when the service was being destoryed because it was not registered as shutdown when it was shutdown. * chore: bump chromium in DEPS to 128.0.6605.2 * chore: update patches * refactor: linux open/save dialog patch Our existing implementation was relying on an opaque `void* params` parameter that was passed through `ui::SelectFileDialog`. Recently, that parameter has been getting removed: - 5691321: ui: remove params variants of SelectFile listener functions | https://chromium-review.googlesource.com/c/chromium/src/+/5691321 - 5709097: ui: remove SelectFileDialog impl params | https://chromium-review.googlesource.com/c/chromium/src/+/5709097 - https://issues.chromium.org/issues/340178601 "reconsider SelectFileDialog" This restructures the patch to work with mostly the same mechanics, but directly on the `ui::SelectFileDialog` object. This nets us some wins in terms of a smaller patch. * 5713262: DevTools UI binding AIDA client event returns response https://chromium-review.googlesource.com/c/chromium/src/+/5713262 * fixup! refactor: linux open/save dialog patch * chore: bump chromium in DEPS to 128.0.6606.0 * chore: update patches * fixup! refactor: linux open/save dialog patch * chore: bump chromium in DEPS to 128.0.6607.0 * chore: update printing.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/5722937 * fix: pwd error in electron-test, nan-test fix: unshallow depot_tools before 3-way apply * chore: e patches all * fixup! fix: pwd error in electron-test, nan-test * chore: bump chromium in DEPS to 128.0.6609.0 * chore: bump chromium in DEPS to 128.0.6611.0 * chore: update patches * chore: update libcxx filenames --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Jeremy Rose <nornagon@nornagon.net> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: clavin <clavin@electronjs.org> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: Alice Zhao <alice@makenotion.com>
376 lines
19 KiB
Diff
376 lines
19 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jeremy Apthorp <jeremya@chromium.org>
|
|
Date: Wed, 10 Oct 2018 15:07:34 -0700
|
|
Subject: command-ismediakey.patch
|
|
|
|
Override MediaKeysListener::IsMediaKeycode and associated functions to also listen for
|
|
Volume Up, Volume Down, and Mute.
|
|
|
|
Also apply electron/electron@0f67b1866a9f00b852370e721affa4efda623f3a
|
|
and electron/electron@d2368d2d3b3de9eec4cc32b6aaf035cc89921bf1 as
|
|
patches.
|
|
|
|
diff --git a/chrome/browser/extensions/global_shortcut_listener_ozone.cc b/chrome/browser/extensions/global_shortcut_listener_ozone.cc
|
|
index 2ac08809148beeb6bacccfc5e9f032c3a88eabe7..025082e5fa644f89cec42fd8a2b97d6f764f375f 100644
|
|
--- a/chrome/browser/extensions/global_shortcut_listener_ozone.cc
|
|
+++ b/chrome/browser/extensions/global_shortcut_listener_ozone.cc
|
|
@@ -58,7 +58,8 @@ bool GlobalShortcutListenerOzone::RegisterAcceleratorImpl(
|
|
const bool registered =
|
|
platform_global_shortcut_listener_->RegisterAccelerator(
|
|
accelerator.key_code(), accelerator.IsAltDown(),
|
|
- accelerator.IsCtrlDown(), accelerator.IsShiftDown());
|
|
+ accelerator.IsCtrlDown(), accelerator.IsShiftDown(),
|
|
+ accelerator.IsCmdDown());
|
|
if (registered)
|
|
registered_hot_keys_.insert(accelerator);
|
|
return registered;
|
|
@@ -72,14 +73,15 @@ void GlobalShortcutListenerOzone::UnregisterAcceleratorImpl(
|
|
|
|
platform_global_shortcut_listener_->UnregisterAccelerator(
|
|
accelerator.key_code(), accelerator.IsAltDown(), accelerator.IsCtrlDown(),
|
|
- accelerator.IsShiftDown());
|
|
+ accelerator.IsShiftDown(), accelerator.IsCmdDown());
|
|
registered_hot_keys_.erase(accelerator);
|
|
}
|
|
|
|
void GlobalShortcutListenerOzone::OnKeyPressed(ui::KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
int modifiers = 0;
|
|
if (is_alt_down)
|
|
modifiers |= ui::EF_ALT_DOWN;
|
|
@@ -87,6 +89,8 @@ void GlobalShortcutListenerOzone::OnKeyPressed(ui::KeyboardCode key_code,
|
|
modifiers |= ui::EF_CONTROL_DOWN;
|
|
if (is_shift_down)
|
|
modifiers |= ui::EF_SHIFT_DOWN;
|
|
+ if (is_cmd_down)
|
|
+ modifiers |= ui::EF_COMMAND_DOWN;
|
|
|
|
NotifyKeyPressed(ui::Accelerator(key_code, modifiers));
|
|
}
|
|
diff --git a/chrome/browser/extensions/global_shortcut_listener_ozone.h b/chrome/browser/extensions/global_shortcut_listener_ozone.h
|
|
index 3c2fc1707e38345c114e140104ffc5a93d704918..40dac9fd7beb7a1a589a479a8035391d4a32cbb8 100644
|
|
--- a/chrome/browser/extensions/global_shortcut_listener_ozone.h
|
|
+++ b/chrome/browser/extensions/global_shortcut_listener_ozone.h
|
|
@@ -46,7 +46,8 @@ class GlobalShortcutListenerOzone
|
|
void OnKeyPressed(ui::KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) override;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) override;
|
|
void OnPlatformListenerDestroyed() override;
|
|
|
|
bool is_listening_ = false;
|
|
diff --git a/chrome/browser/extensions/global_shortcut_listener_win.cc b/chrome/browser/extensions/global_shortcut_listener_win.cc
|
|
index 2ce5b0038cb613d0a70d7c086e470f4428160b4b..5fa64783dc49193770fa316be92e82f4d73e901b 100644
|
|
--- a/chrome/browser/extensions/global_shortcut_listener_win.cc
|
|
+++ b/chrome/browser/extensions/global_shortcut_listener_win.cc
|
|
@@ -63,6 +63,8 @@ void GlobalShortcutListenerWin::OnWndProc(HWND hwnd,
|
|
modifiers |= (LOWORD(lparam) & MOD_SHIFT) ? ui::EF_SHIFT_DOWN : 0;
|
|
modifiers |= (LOWORD(lparam) & MOD_ALT) ? ui::EF_ALT_DOWN : 0;
|
|
modifiers |= (LOWORD(lparam) & MOD_CONTROL) ? ui::EF_CONTROL_DOWN : 0;
|
|
+ modifiers |= (LOWORD(lparam) & MOD_WIN) ? ui::EF_COMMAND_DOWN : 0;
|
|
+
|
|
ui::Accelerator accelerator(
|
|
ui::KeyboardCodeForWindowsKeyCode(key_code), modifiers);
|
|
|
|
@@ -93,6 +95,7 @@ bool GlobalShortcutListenerWin::RegisterAcceleratorImpl(
|
|
modifiers |= accelerator.IsShiftDown() ? MOD_SHIFT : 0;
|
|
modifiers |= accelerator.IsCtrlDown() ? MOD_CONTROL : 0;
|
|
modifiers |= accelerator.IsAltDown() ? MOD_ALT : 0;
|
|
+ modifiers |= accelerator.IsCmdDown() ? MOD_WIN : 0;
|
|
|
|
// Create an observer that registers a hot key for |accelerator|.
|
|
std::unique_ptr<gfx::SingletonHwndHotKeyObserver> observer =
|
|
diff --git a/content/browser/media/media_keys_listener_manager_impl.cc b/content/browser/media/media_keys_listener_manager_impl.cc
|
|
index 7fd996826e7968268df8184451ead9f5f0bfc23b..6f8d1243fe6b1c6dd83371ad4ff2e2d8ad6c865e 100644
|
|
--- a/content/browser/media/media_keys_listener_manager_impl.cc
|
|
+++ b/content/browser/media/media_keys_listener_manager_impl.cc
|
|
@@ -408,6 +408,11 @@ void MediaKeysListenerManagerImpl::UpdateSystemMediaControlsEnabledControls() {
|
|
case ui::VKEY_MEDIA_STOP:
|
|
browser_system_media_controls_->SetIsStopEnabled(should_enable);
|
|
break;
|
|
+ case ui::VKEY_VOLUME_DOWN:
|
|
+ case ui::VKEY_VOLUME_UP:
|
|
+ case ui::VKEY_VOLUME_MUTE:
|
|
+ // Do nothing.
|
|
+ break;
|
|
default:
|
|
NOTREACHED_IN_MIGRATION();
|
|
}
|
|
@@ -450,6 +455,11 @@ void MediaKeysListenerManagerImpl::UpdateSystemMediaControlsEnabledControls() {
|
|
case ui::VKEY_MEDIA_STOP:
|
|
smc->SetIsStopEnabled(should_enable);
|
|
break;
|
|
+ case ui::VKEY_VOLUME_DOWN:
|
|
+ case ui::VKEY_VOLUME_UP:
|
|
+ case ui::VKEY_VOLUME_MUTE:
|
|
+ // Do nothing.
|
|
+ break;
|
|
default:
|
|
NOTREACHED_IN_MIGRATION();
|
|
}
|
|
diff --git a/ui/base/accelerators/media_keys_listener.cc b/ui/base/accelerators/media_keys_listener.cc
|
|
index db596585cbb44b3710636e3fc013f288966f604f..6d5557ee1a2c35ee15e695e024834184a525e2a7 100644
|
|
--- a/ui/base/accelerators/media_keys_listener.cc
|
|
+++ b/ui/base/accelerators/media_keys_listener.cc
|
|
@@ -13,7 +13,8 @@ MediaKeysListener::~MediaKeysListener() = default;
|
|
// static
|
|
bool MediaKeysListener::IsMediaKeycode(KeyboardCode key_code) {
|
|
return key_code == VKEY_MEDIA_PLAY_PAUSE || key_code == VKEY_MEDIA_STOP ||
|
|
- key_code == VKEY_MEDIA_PREV_TRACK || key_code == VKEY_MEDIA_NEXT_TRACK;
|
|
+ key_code == VKEY_MEDIA_PREV_TRACK || key_code == VKEY_MEDIA_NEXT_TRACK ||
|
|
+ key_code == VKEY_VOLUME_UP || key_code == VKEY_VOLUME_DOWN || key_code == VKEY_VOLUME_MUTE;
|
|
}
|
|
|
|
} // namespace ui
|
|
diff --git a/ui/base/accelerators/media_keys_listener_mac.mm b/ui/base/accelerators/media_keys_listener_mac.mm
|
|
index a955d19eedfe56ae3a115ce4c77fea016fd66d49..ad2557495a02cae03dd2b87df8659a6f05f1beac 100644
|
|
--- a/ui/base/accelerators/media_keys_listener_mac.mm
|
|
+++ b/ui/base/accelerators/media_keys_listener_mac.mm
|
|
@@ -32,6 +32,12 @@ KeyboardCode MediaKeyCodeToKeyboardCode(int key_code) {
|
|
case NX_KEYTYPE_NEXT:
|
|
case NX_KEYTYPE_FAST:
|
|
return VKEY_MEDIA_NEXT_TRACK;
|
|
+ case NX_KEYTYPE_SOUND_UP:
|
|
+ return VKEY_VOLUME_UP;
|
|
+ case NX_KEYTYPE_SOUND_DOWN:
|
|
+ return VKEY_VOLUME_DOWN;
|
|
+ case NX_KEYTYPE_MUTE:
|
|
+ return VKEY_VOLUME_MUTE;
|
|
}
|
|
return VKEY_UNKNOWN;
|
|
}
|
|
@@ -190,7 +196,10 @@ static CGEventRef EventTapCallback(CGEventTapProxy proxy,
|
|
int key_code = (data1 & 0xFFFF0000) >> 16;
|
|
if (key_code != NX_KEYTYPE_PLAY && key_code != NX_KEYTYPE_NEXT &&
|
|
key_code != NX_KEYTYPE_PREVIOUS && key_code != NX_KEYTYPE_FAST &&
|
|
- key_code != NX_KEYTYPE_REWIND) {
|
|
+ key_code != NX_KEYTYPE_REWIND &&
|
|
+ key_code != NX_KEYTYPE_SOUND_UP &&
|
|
+ key_code != NX_KEYTYPE_SOUND_DOWN &&
|
|
+ key_code != NX_KEYTYPE_MUTE) {
|
|
return event;
|
|
}
|
|
|
|
diff --git a/ui/base/x/x11_global_shortcut_listener.cc b/ui/base/x/x11_global_shortcut_listener.cc
|
|
index 8b0bcbe458f44431385cedb89f988756d89636b6..bc10cf442edf14cd43714707565aae9475cb8112 100644
|
|
--- a/ui/base/x/x11_global_shortcut_listener.cc
|
|
+++ b/ui/base/x/x11_global_shortcut_listener.cc
|
|
@@ -31,11 +31,13 @@ const x11::ModMask kModifiersMasks[] = {
|
|
|
|
x11::ModMask GetNativeModifiers(bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
constexpr auto kNoMods = x11::ModMask{};
|
|
return (is_shift_down ? x11::ModMask::Shift : kNoMods) |
|
|
(is_ctrl_down ? x11::ModMask::Control : kNoMods) |
|
|
- (is_alt_down ? x11::ModMask::c_1 : kNoMods);
|
|
+ (is_alt_down ? x11::ModMask::c_1 : kNoMods) |
|
|
+ (is_cmd_down ? x11::ModMask::c_4 : kNoMods);
|
|
}
|
|
|
|
} // namespace
|
|
@@ -81,8 +83,9 @@ uint32_t XGlobalShortcutListener::DispatchEvent(const PlatformEvent& event) {
|
|
bool XGlobalShortcutListener::RegisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
- auto modifiers = GetNativeModifiers(is_alt_down, is_ctrl_down, is_shift_down);
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
+ auto modifiers = GetNativeModifiers(is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down);
|
|
auto keysym = XKeysymForWindowsKeyCode(key_code, false);
|
|
auto keycode = connection_->KeysymToKeycode(keysym);
|
|
|
|
@@ -107,7 +110,7 @@ bool XGlobalShortcutListener::RegisterAccelerator(KeyboardCode key_code,
|
|
}
|
|
|
|
registered_combinations_.insert(
|
|
- Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down));
|
|
+ Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down));
|
|
|
|
return true;
|
|
}
|
|
@@ -115,8 +118,9 @@ bool XGlobalShortcutListener::RegisterAccelerator(KeyboardCode key_code,
|
|
void XGlobalShortcutListener::UnregisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
- auto modifiers = GetNativeModifiers(is_alt_down, is_ctrl_down, is_shift_down);
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
+ auto modifiers = GetNativeModifiers(is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down);
|
|
auto keysym = XKeysymForWindowsKeyCode(key_code, false);
|
|
auto keycode = connection_->KeysymToKeycode(keysym);
|
|
|
|
@@ -124,7 +128,7 @@ void XGlobalShortcutListener::UnregisterAccelerator(KeyboardCode key_code,
|
|
connection_->UngrabKey({keycode, x_root_window_, modifiers | mask});
|
|
|
|
registered_combinations_.erase(
|
|
- Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down));
|
|
+ Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down));
|
|
}
|
|
|
|
void XGlobalShortcutListener::OnKeyPressEvent(const KeyEvent& event) {
|
|
@@ -134,14 +138,15 @@ void XGlobalShortcutListener::OnKeyPressEvent(const KeyEvent& event) {
|
|
const bool is_alt_down = event.flags() & EF_ALT_DOWN;
|
|
const bool is_ctrl_down = event.flags() & EF_CONTROL_DOWN;
|
|
const bool is_shift_down = event.flags() & EF_SHIFT_DOWN;
|
|
+ const bool is_cmd_down = event.flags() & EF_COMMAND_DOWN;
|
|
|
|
if (!base::Contains(
|
|
registered_combinations_,
|
|
- Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down))) {
|
|
+ Accelerator(key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down))) {
|
|
return;
|
|
}
|
|
|
|
- OnKeyPressed(key_code, is_alt_down, is_ctrl_down, is_shift_down);
|
|
+ OnKeyPressed(key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down);
|
|
}
|
|
|
|
} // namespace ui
|
|
diff --git a/ui/base/x/x11_global_shortcut_listener.h b/ui/base/x/x11_global_shortcut_listener.h
|
|
index 7165e88ef78e0e1b4683a2ead588dc6529d085b8..a605cd8c1468be78172fed09eb227722b4832227 100644
|
|
--- a/ui/base/x/x11_global_shortcut_listener.h
|
|
+++ b/ui/base/x/x11_global_shortcut_listener.h
|
|
@@ -41,18 +41,21 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
|
|
virtual void OnKeyPressed(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) = 0;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) = 0;
|
|
|
|
void StartListening();
|
|
void StopListening();
|
|
bool RegisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down);
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down);
|
|
void UnregisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down);
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down);
|
|
|
|
private:
|
|
// Due to how system key grabbing works on X11, we have to be a bit greedy and
|
|
@@ -61,7 +64,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XGlobalShortcutListener
|
|
// and filter the incoming events against that registry before notifying the
|
|
// observer. This tuple describes the meaningful parts of the event; booleans
|
|
// 1, 2, and 3 hold states of Alt, Control, and Shift keys, respectively.
|
|
- using Accelerator = std::tuple<KeyboardCode, bool, bool, bool>;
|
|
+ using Accelerator = std::tuple<KeyboardCode, bool, bool, bool, bool>;
|
|
|
|
// Invoked when a global shortcut is pressed.
|
|
void OnKeyPressEvent(const KeyEvent& event);
|
|
diff --git a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc
|
|
index d23310746bca13981d0099ce74c62459471db0e5..6ad79156e62dc60bdf20ef1acf53ec2425cb2bfe 100644
|
|
--- a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc
|
|
+++ b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.cc
|
|
@@ -26,27 +26,30 @@ void X11GlobalShortcutListenerOzone::StopListening() {
|
|
bool X11GlobalShortcutListenerOzone::RegisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
return XGlobalShortcutListener::RegisterAccelerator(
|
|
- key_code, is_alt_down, is_ctrl_down, is_shift_down);
|
|
+ key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down);
|
|
}
|
|
|
|
void X11GlobalShortcutListenerOzone::UnregisterAccelerator(
|
|
KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
return XGlobalShortcutListener::UnregisterAccelerator(
|
|
- key_code, is_alt_down, is_ctrl_down, is_shift_down);
|
|
+ key_code, is_alt_down, is_ctrl_down, is_shift_down, is_cmd_down);
|
|
}
|
|
|
|
void X11GlobalShortcutListenerOzone::OnKeyPressed(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) {
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) {
|
|
if (delegate()) {
|
|
delegate()->OnKeyPressed(key_code, is_alt_down, is_ctrl_down,
|
|
- is_shift_down);
|
|
+ is_shift_down, is_cmd_down);
|
|
}
|
|
}
|
|
|
|
diff --git a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h
|
|
index 4f7392e2019828caf374d7008068222aa366815f..bc1fcbb68c15d999caa991d678a6bb7473496d39 100644
|
|
--- a/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h
|
|
+++ b/ui/ozone/platform/x11/x11_global_shortcut_listener_ozone.h
|
|
@@ -28,17 +28,20 @@ class X11GlobalShortcutListenerOzone : public PlatformGlobalShortcutListener,
|
|
bool RegisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) override;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) override;
|
|
void UnregisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) override;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) override;
|
|
|
|
// ui::XGlobalShortcutListener:
|
|
void OnKeyPressed(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) override;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) override;
|
|
};
|
|
|
|
} // namespace ui
|
|
diff --git a/ui/ozone/public/platform_global_shortcut_listener.h b/ui/ozone/public/platform_global_shortcut_listener.h
|
|
index dd8bf45d0b7072178d97678565c023c0a6f9a6db..c6af8dbe1dee2d9c1552383b17c81ae12b5cc05c 100644
|
|
--- a/ui/ozone/public/platform_global_shortcut_listener.h
|
|
+++ b/ui/ozone/public/platform_global_shortcut_listener.h
|
|
@@ -20,7 +20,8 @@ class COMPONENT_EXPORT(OZONE_BASE) PlatformGlobalShortcutListenerDelegate {
|
|
virtual void OnKeyPressed(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) = 0;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) = 0;
|
|
// Called back when the platform implementation is destroyed.
|
|
virtual void OnPlatformListenerDestroyed() = 0;
|
|
|
|
@@ -52,11 +53,13 @@ class COMPONENT_EXPORT(OZONE_BASE) PlatformGlobalShortcutListener {
|
|
virtual bool RegisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) = 0;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) = 0;
|
|
virtual void UnregisterAccelerator(KeyboardCode key_code,
|
|
bool is_alt_down,
|
|
bool is_ctrl_down,
|
|
- bool is_shift_down) = 0;
|
|
+ bool is_shift_down,
|
|
+ bool is_cmd_down) = 0;
|
|
|
|
protected:
|
|
PlatformGlobalShortcutListenerDelegate* delegate() { return delegate_; }
|