|
|
Conflict detection for Extension Keybinding.
At install time, the extension will now try to make its suggested keybindings active. If the keybinding is free, then the extension is successful (before this CL the last registered extension would win). If the keybinding is not free, the keybinding becomes inactive. I've introduced a pref that keeps track of which keybinding is active, which will become the basis for a config UI.
This changelist also fixes a DCHECK on close of Chrome if an extension with a keybinding has been uninstalled (we were unregistering twice).
BUG= 121419
TEST=Covered in automated test. (Install two extensions with the same keybinding. Only the first should get its keybinding activated).
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=135115
Total comments: 23
Total comments: 27
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+579 lines, -32 lines) |
Patch |
 |
A |
chrome/browser/extensions/extension_command_service.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+103 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/extension_command_service.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+231 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/extension_command_service_factory.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+38 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/browser/extensions/extension_command_service_factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+43 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_keybinding_apitest.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+14 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/prefs/browser_prefs.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/profiles/profile_dependency_manager.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/gtk/browser_actions_toolbar_gtk.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/gtk/extensions/extension_keybinding_registry_gtk.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+8 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/gtk/location_bar_view_gtk.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/browser_actions_container.cc
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_installed_bubble.cc
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+11 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/extensions/extension_keybinding_registry_views.cc
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+16 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/views/location_bar/page_action_image_view.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/chrome_browser_extensions.gypi
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/extensions/extension.h
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+13 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/extensions/extension.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+16 lines, -13 lines |
0 comments
|
Download
|
 |
M |
chrome/common/pref_names.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/pref_names.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/api_test/keybinding/conflicting/background.js
|
View
|
1
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/api_test/keybinding/conflicting/manifest.json
|
View
|
1
2
|
1 chunk |
+32 lines, -0 lines |
0 comments
|
Download
|
Total messages: 21 (0 generated)
|