Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Issue 553243002: Track the active ExtensionKeybindingRegistry and make it available to EventRewriter. (Closed)

Created:
6 years, 3 months ago by David Tseng
Modified:
6 years, 3 months ago
Reviewers:
Finnur, Devlin, sky
CC:
chromium-reviews, extensions-reviews_chromium.org, nkostylev+watch_chromium.org, tfarina, oshima+watch_chromium.org, chromium-apps-reviews_chromium.org, stevenjb+watch_chromium.org, davemoore+watch_chromium.org, dmazzoni, Peter Lundblad
Base URL:
https://chromium.googlesource.com/chromium/src.git@lkcr
Project:
chromium
Visibility:
Public.

Description

Track the active ExtensionKeybindingRegistry and make it available to EventRewriter. Add the ability to query globally if a shortcut is registered by an extension and use that to avoid unnecessarily rewriting Chrome OS keys. BUG=410944 Committed: https://crrev.com/4264d2c4b5d217e1c5dbc2ae80ab6ce595f9b6d3 Cr-Commit-Position: refs/heads/master@{#295284}

Patch Set 1 #

Total comments: 9

Patch Set 2 : Add test. #

Patch Set 3 : Fix Mac. #

Patch Set 4 : Fix bool vs BOOL. #

Total comments: 3

Patch Set 5 : Address sky's comment. #

Total comments: 18

Patch Set 6 : #

Patch Set 7 : Address comments. #

Patch Set 8 : #

Total comments: 1

Patch Set 9 : Rename/move accesser. #

Patch Set 10 : Remove tracker class. #

Total comments: 11

Patch Set 11 : Address more comments. #

Total comments: 5

Patch Set 12 : Correct logic. #

Patch Set 13 : Comment. #

Total comments: 21

Patch Set 14 : Address finnur's comments. #

Patch Set 15 : IsRegisteredForActiveWindow. #

Patch Set 16 : Rebase. #

Patch Set 17 : Fix tests (caught NULL ExtensionCommandsGlobalRegistry). #

Patch Set 18 : Try meta_l rather than super_l #

Total comments: 7

Patch Set 19 : Address test failures; sky's comments. #

Total comments: 3

Patch Set 20 : IsRegistered #

Total comments: 5

Patch Set 21 : Simplify logic. #

Patch Set 22 : Remove OnWidgetDestroyed. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+179 lines, -10 lines) Patch
M chrome/browser/chromeos/events/event_rewriter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +25 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_commands_global_registry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +21 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_commands_global_registry.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +9 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_keybinding_apitest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +32 lines, -0 lines 0 comments Download
M chrome/browser/extensions/extension_keybinding_registry.h View 2 chunks +3 lines, -3 lines 0 comments Download
M chrome/browser/profiles/profile_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/toolbar/browser_actions_container.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +6 lines, -1 line 0 comments Download
M chrome/browser/ui/views/toolbar/browser_actions_container.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/ui/views/toolbar/toolbar_view.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/ui/views/toolbar/toolbar_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +19 lines, -2 lines 0 comments Download
A chrome/test/data/extensions/api_test/keybinding/chromeos_conversions/background.js View 1 1 chunk +21 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/keybinding/chromeos_conversions/manifest.json View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +34 lines, -0 lines 0 comments Download
M ui/aura/test/ui_controls_factory_aurax11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +4 lines, -2 lines 0 comments Download

Messages

Total messages: 51 (9 generated)
David Tseng
W.I.P. @finnur, is this what you had in mind? Cl doesn't check the global registry; ...
6 years, 3 months ago (2014-09-09 23:30:44 UTC) #2
Finnur
Yeah, this is about what I expected (along with the global command object). I think ...
6 years, 3 months ago (2014-09-10 10:15:16 UTC) #3
David Tseng
+ sky for OWNERS. FYI @dmazzoni, I have the change you made to ui_controls_factory_aurax11.cc patched ...
6 years, 3 months ago (2014-09-10 21:19:07 UTC) #5
sky
https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h File chrome/browser/ui/browser_window.h (right): https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h#newcode407 chrome/browser/ui/browser_window.h:407: virtual bool IsExtensionCommandRegistered( This feels like something profile specific, ...
6 years, 3 months ago (2014-09-10 23:55:15 UTC) #6
David Tseng
https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h File chrome/browser/ui/browser_window.h (right): https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h#newcode407 chrome/browser/ui/browser_window.h:407: virtual bool IsExtensionCommandRegistered( On 2014/09/10 23:55:14, sky wrote: > ...
6 years, 3 months ago (2014-09-11 00:05:25 UTC) #7
sky
On Wed, Sep 10, 2014 at 5:05 PM, <dtseng@chromium.org> wrote: > > https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h > File ...
6 years, 3 months ago (2014-09-11 00:07:46 UTC) #8
David Tseng
I think mainly due to the need to handle browser actions and page actions, the ...
6 years, 3 months ago (2014-09-11 00:25:05 UTC) #9
Finnur
https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h File chrome/browser/ui/browser_window.h (right): https://codereview.chromium.org/553243002/diff/60001/chrome/browser/ui/browser_window.h#newcode407 chrome/browser/ui/browser_window.h:407: virtual bool IsExtensionCommandRegistered( It has been quite a while, ...
6 years, 3 months ago (2014-09-11 09:51:58 UTC) #11
David Tseng
PTAL. @sky, removed all the plumbing through BrowserWindow. @finnur, added a class to track the ...
6 years, 3 months ago (2014-09-11 18:24:01 UTC) #12
Devlin
Adding myself, if you don't mind. :) https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode1 chrome/browser/extensions/extension_keybinding_registry_tracker.h:1: // Copyright ...
6 years, 3 months ago (2014-09-11 18:41:01 UTC) #15
David Tseng
https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 chrome/browser/extensions/extension_keybinding_registry_tracker.h:19: class ExtensionKeybindingRegistryTracker : public BrowserContextKeyedAPI { On 2014/09/11 18:41:01, ...
6 years, 3 months ago (2014-09-11 18:58:50 UTC) #16
David Tseng
https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode1 chrome/browser/extensions/extension_keybinding_registry_tracker.h:1: // Copyright (c) 2013 The Chromium Authors. All rights ...
6 years, 3 months ago (2014-09-11 19:34:20 UTC) #17
Devlin
https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 chrome/browser/extensions/extension_keybinding_registry_tracker.h:19: class ExtensionKeybindingRegistryTracker : public BrowserContextKeyedAPI { On 2014/09/11 18:58:50, ...
6 years, 3 months ago (2014-09-11 19:48:49 UTC) #18
David Tseng
https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 chrome/browser/extensions/extension_keybinding_registry_tracker.h:19: class ExtensionKeybindingRegistryTracker : public BrowserContextKeyedAPI { On 2014/09/11 19:48:48, ...
6 years, 3 months ago (2014-09-11 20:38:41 UTC) #19
Devlin
https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 chrome/browser/extensions/extension_keybinding_registry_tracker.h:19: class ExtensionKeybindingRegistryTracker : public BrowserContextKeyedAPI { On 2014/09/11 20:38:41, ...
6 years, 3 months ago (2014-09-11 20:52:46 UTC) #20
David Tseng
On 2014/09/11 20:52:46, Devlin wrote: > https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h > File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): > > https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 > ...
6 years, 3 months ago (2014-09-11 21:22:09 UTC) #21
Devlin
https://codereview.chromium.org/553243002/diff/220001/chrome/browser/extensions/extension_commands_global_registry.h File chrome/browser/extensions/extension_commands_global_registry.h (right): https://codereview.chromium.org/553243002/diff/220001/chrome/browser/extensions/extension_commands_global_registry.h#newcode36 chrome/browser/extensions/extension_commands_global_registry.h:36: // Sets the active ExtensionKeybindingRegistry. nit: No comments on ...
6 years, 3 months ago (2014-09-11 21:38:13 UTC) #22
Devlin
https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/toolbar_view.cc File chrome/browser/ui/views/toolbar/toolbar_view.cc (right): https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/toolbar_view.cc#newcode277 chrome/browser/ui/views/toolbar/toolbar_view.cc:277: extensions::ExtensionCommandsGlobalRegistry::Get(browser_->profile()) On 2014/09/11 21:38:13, Devlin wrote: > We also ...
6 years, 3 months ago (2014-09-11 21:40:00 UTC) #23
David Tseng
https://codereview.chromium.org/553243002/diff/220001/chrome/browser/extensions/extension_commands_global_registry.h File chrome/browser/extensions/extension_commands_global_registry.h (right): https://codereview.chromium.org/553243002/diff/220001/chrome/browser/extensions/extension_commands_global_registry.h#newcode36 chrome/browser/extensions/extension_commands_global_registry.h:36: // Sets the active ExtensionKeybindingRegistry. On 2014/09/11 21:38:13, Devlin ...
6 years, 3 months ago (2014-09-11 23:57:09 UTC) #24
Devlin
https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/browser_actions_container.h File chrome/browser/ui/views/toolbar/browser_actions_container.h (right): https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/browser_actions_container.h#newcode12 chrome/browser/ui/views/toolbar/browser_actions_container.h:12: #include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h" On 2014/09/11 23:57:09, David Tseng wrote: > ...
6 years, 3 months ago (2014-09-12 00:10:34 UTC) #25
David Tseng
https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/browser_actions_container.h File chrome/browser/ui/views/toolbar/browser_actions_container.h (right): https://codereview.chromium.org/553243002/diff/220001/chrome/browser/ui/views/toolbar/browser_actions_container.h#newcode12 chrome/browser/ui/views/toolbar/browser_actions_container.h:12: #include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h" On 2014/09/12 00:10:33, Devlin wrote: > On ...
6 years, 3 months ago (2014-09-12 01:07:14 UTC) #26
David Tseng
https://codereview.chromium.org/553243002/diff/240001/chrome/browser/extensions/extension_commands_global_registry.h File chrome/browser/extensions/extension_commands_global_registry.h (right): https://codereview.chromium.org/553243002/diff/240001/chrome/browser/extensions/extension_commands_global_registry.h#newcode79 chrome/browser/extensions/extension_commands_global_registry.h:79: // The active ExtensionKeybindingRegistry. On 2014/09/12 00:10:33, Devlin wrote: ...
6 years, 3 months ago (2014-09-12 01:26:58 UTC) #27
Finnur
I like where this is heading. https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h File chrome/browser/extensions/extension_keybinding_registry_tracker.h (right): https://codereview.chromium.org/553243002/diff/80001/chrome/browser/extensions/extension_keybinding_registry_tracker.h#newcode19 chrome/browser/extensions/extension_keybinding_registry_tracker.h:19: class ExtensionKeybindingRegistryTracker : ...
6 years, 3 months ago (2014-09-12 11:25:44 UTC) #28
David Tseng
https://codereview.chromium.org/553243002/diff/280001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/280001/chrome/browser/chromeos/events/event_rewriter.cc#newcode125 chrome/browser/chromeos/events/event_rewriter.cc:125: ->active_registry(); On 2014/09/12 11:25:44, Finnur wrote: > This checks ...
6 years, 3 months ago (2014-09-12 23:18:33 UTC) #29
Finnur
The CL description seems a bit mechanical. I would go with something like: Add the ...
6 years, 3 months ago (2014-09-15 10:48:42 UTC) #30
David Tseng
https://codereview.chromium.org/553243002/diff/280001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/280001/chrome/browser/chromeos/events/event_rewriter.cc#newcode125 chrome/browser/chromeos/events/event_rewriter.cc:125: ->active_registry(); On 2014/09/15 10:48:42, Finnur wrote: > > (which ...
6 years, 3 months ago (2014-09-15 17:25:13 UTC) #31
David Tseng
PTAL sky@ for OWNERS.
6 years, 3 months ago (2014-09-16 01:08:52 UTC) #32
sky
https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc#newcode124 chrome/browser/chromeos/events/event_rewriter.cc:124: if (key_event.IsShiftDown()) Isn't this the same as looking at ...
6 years, 3 months ago (2014-09-16 02:34:48 UTC) #33
David Tseng
https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc#newcode134 chrome/browser/chromeos/events/event_rewriter.cc:134: return extensions::ExtensionCommandsGlobalRegistry::Get(profile) On 2014/09/16 02:34:48, sky wrote: > Is ...
6 years, 3 months ago (2014-09-16 04:11:53 UTC) #34
Finnur
LGTM, with one nit. https://codereview.chromium.org/553243002/diff/420001/chrome/browser/extensions/extension_commands_global_registry.h File chrome/browser/extensions/extension_commands_global_registry.h (right): https://codereview.chromium.org/553243002/diff/420001/chrome/browser/extensions/extension_commands_global_registry.h#newcode62 chrome/browser/extensions/extension_commands_global_registry.h:62: bool IsRegisteredForActiveWindow(const ui::Accelerator& accelerator); This ...
6 years, 3 months ago (2014-09-16 10:29:14 UTC) #36
David Tseng
https://codereview.chromium.org/553243002/diff/420001/chrome/browser/extensions/extension_commands_global_registry.h File chrome/browser/extensions/extension_commands_global_registry.h (right): https://codereview.chromium.org/553243002/diff/420001/chrome/browser/extensions/extension_commands_global_registry.h#newcode62 chrome/browser/extensions/extension_commands_global_registry.h:62: bool IsRegisteredForActiveWindow(const ui::Accelerator& accelerator); On 2014/09/16 10:29:14, Finnur wrote: ...
6 years, 3 months ago (2014-09-16 15:29:39 UTC) #37
sky
https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc#newcode124 chrome/browser/chromeos/events/event_rewriter.cc:124: if (key_event.IsShiftDown()) On 2014/09/16 02:34:48, sky wrote: > Isn't ...
6 years, 3 months ago (2014-09-16 16:44:35 UTC) #38
David Tseng
https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc File chrome/browser/chromeos/events/event_rewriter.cc (right): https://codereview.chromium.org/553243002/diff/400001/chrome/browser/chromeos/events/event_rewriter.cc#newcode124 chrome/browser/chromeos/events/event_rewriter.cc:124: if (key_event.IsShiftDown()) On 2014/09/16 02:34:48, sky wrote: > Isn't ...
6 years, 3 months ago (2014-09-16 20:42:58 UTC) #39
sky
https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc File chrome/browser/ui/views/toolbar/toolbar_view.cc (right): https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc#newcode295 chrome/browser/ui/views/toolbar/toolbar_view.cc:295: void ToolbarView::OnWidgetDestroyed(views::Widget* widget) { On 2014/09/16 20:42:57, David Tseng ...
6 years, 3 months ago (2014-09-16 22:05:49 UTC) #40
David Tseng
https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc File chrome/browser/ui/views/toolbar/toolbar_view.cc (right): https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc#newcode295 chrome/browser/ui/views/toolbar/toolbar_view.cc:295: void ToolbarView::OnWidgetDestroyed(views::Widget* widget) { On 2014/09/16 22:05:49, sky wrote: ...
6 years, 3 months ago (2014-09-17 01:01:53 UTC) #41
sky
LGTM https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc File chrome/browser/ui/views/toolbar/toolbar_view.cc (right): https://codereview.chromium.org/553243002/diff/440001/chrome/browser/ui/views/toolbar/toolbar_view.cc#newcode295 chrome/browser/ui/views/toolbar/toolbar_view.cc:295: void ToolbarView::OnWidgetDestroyed(views::Widget* widget) { On 2014/09/17 01:01:53, David ...
6 years, 3 months ago (2014-09-17 03:54:45 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/553243002/480001
6 years, 3 months ago (2014-09-17 07:26:56 UTC) #44
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_swarming on tryserver.chromium.win (http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_swarming/builds/13358)
6 years, 3 months ago (2014-09-17 09:25:13 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/553243002/480001
6 years, 3 months ago (2014-09-17 15:05:21 UTC) #48
commit-bot: I haz the power
Committed patchset #22 (id:480001) as 62804f56ccee0c56e7d7f91f60dee3e48e3cab9d
6 years, 3 months ago (2014-09-17 16:10:57 UTC) #49
commit-bot: I haz the power
Patchset 22 (id:??) landed as https://crrev.com/4264d2c4b5d217e1c5dbc2ae80ab6ce595f9b6d3 Cr-Commit-Position: refs/heads/master@{#295284}
6 years, 3 months ago (2014-09-17 16:11:36 UTC) #50
Elliot Glaysher
6 years, 3 months ago (2014-09-17 19:43:41 UTC) #51
Message was sent while issue was closed.
A revert of this CL (patchset #22 id:480001) has been created in
https://codereview.chromium.org/575093003/ by erg@chromium.org.

The reason for reverting is: The new tests fail on Linux Chromeos (ozone).

http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%2....

Powered by Google App Engine
This is Rietveld 408576698