aboutsummaryrefslogtreecommitdiff
path: root/www/chromium/files/patch-ui_views_focus_focus__manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium/files/patch-ui_views_focus_focus__manager.cc')
-rw-r--r--www/chromium/files/patch-ui_views_focus_focus__manager.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/www/chromium/files/patch-ui_views_focus_focus__manager.cc b/www/chromium/files/patch-ui_views_focus_focus__manager.cc
new file mode 100644
index 000000000000..59288d3f5fd8
--- /dev/null
+++ b/www/chromium/files/patch-ui_views_focus_focus__manager.cc
@@ -0,0 +1,20 @@
+--- ui/views/focus/focus_manager.cc.orig 2020-11-16 15:06:05 UTC
++++ ui/views/focus/focus_manager.cc
+@@ -622,7 +622,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+ if (!focus_manager->IsAcceleratorRegistered(accelerator))
+ return false;
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ // Processing an accelerator can delete things. Because we
+ // need these objects afterwards on Linux, save widget_ as weak pointer and
+ // save the close_on_deactivate property value of widget_delegate in a
+@@ -637,7 +637,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+ const bool accelerator_processed =
+ focus_manager->ProcessAccelerator(accelerator);
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ // Need to manually close the bubble widget on Linux. On Linux when the
+ // bubble is shown, the main widget remains active. Because of that when
+ // focus is set to the main widget to process accelerator, the main widget