Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: window menu should handle keys correctly #21453

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions patches/chromium/.patches
Expand Up @@ -85,3 +85,4 @@ add_trustedauthclient_to_urlloaderfactory.patch
make_autocorrect_off_and_spellcheck_false_disable_touch_bar_typing.patch
fix_focusowningwebcontents_to_handle_renderwidgethosts_for_oopifs.patch
feat_allow_disbaling_blink_scheduler_throttling_per_renderview.patch
accessible_pane_view.patch
32 changes: 32 additions & 0 deletions patches/chromium/accessible_pane_view.patch
@@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cheng Zhao <zcbenz@gmail.com>
Date: Thu, 4 Oct 2018 14:57:02 -0700
Subject: fix: add back virtual methods in AccessiblePaneView

Mark SetPaneFocus and RemovePaneFocus as virtual in AccessiblePaneView, as we
need to override them in MenuBar.

Pending upstream patch: https://crrev.com/c/1959189

diff --git a/ui/views/accessible_pane_view.h b/ui/views/accessible_pane_view.h
index 813fd13860a8..990c905e8f19 100644
--- a/ui/views/accessible_pane_view.h
+++ b/ui/views/accessible_pane_view.h
@@ -35,7 +35,7 @@ class VIEWS_EXPORT AccessiblePaneView : public View,
// If |initial_focus| is not NULL, that control will get
// the initial focus, if it's enabled and focusable. Returns true if
// the pane was able to receive focus.
- bool SetPaneFocus(View* initial_focus);
+ virtual bool SetPaneFocus(View* initial_focus);

bool pane_has_focus() const { return pane_has_focus_; }

@@ -83,7 +83,7 @@ class VIEWS_EXPORT AccessiblePaneView : public View,
bool ContainsForFocusSearch(View* root, const View* v);

// Remove pane focus.
- void RemovePaneFocus();
+ virtual void RemovePaneFocus();

View* GetFirstFocusableChild();
View* GetLastFocusableChild();
5 changes: 2 additions & 3 deletions shell/browser/ui/views/menu_bar.h
Expand Up @@ -71,6 +71,8 @@ class MenuBar : public views::AccessiblePaneView,

// views::AccessiblePaneView:
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
bool SetPaneFocus(views::View* initial_focus) override;
void RemovePaneFocus() override;

protected:
// views::View:
Expand All @@ -82,9 +84,6 @@ class MenuBar : public views::AccessiblePaneView,
const ui::Event* event) override;
void OnThemeChanged() override;

bool SetPaneFocus(views::View* initial_focus);
void RemovePaneFocus();

private:
friend class MenuBarColorUpdater;

Expand Down