|
Clean up how we handle themes in the extensions system and management API.
The original motivation of this is to help the web store properly display
either "install" or "already installed" when viewing a theme detail page. But
more generally we want to make sure that in general there is one enabled theme
(or none) at a time, we send show proper details about what themese are
installed and send events about themes in the management API, and you can
disable/uninstall themese via the management API.
BUG= 69963
TEST=An extension using the management API should be able to:
-use chrome.management.setEnabled to disable a theme,
-use chrome.management.uninstall to uninstall a theme
-register listeners for chrome.management.{onDisabled,onEnabled,onInstalled,
onUninstalled} and get events.
Note that we automatically garbage collect (ie uninstall) unused themes in
various situations (at browser startup, after you dismiss the "undo" infobar
after installing a new theme, etc), so it is not a goal for you to be able to
disable a theme via the management API and count on it remaining installed
for very long.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+635 lines, -76 lines) |
Patch |
 |
M |
chrome/browser/extensions/extension_browsertest.h
|
View
|
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_browsertest.cc
|
View
|
|
3 chunks |
+14 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_install_ui_browsertest.cc
|
View
|
|
4 chunks |
+3 lines, -18 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_management_api.h
|
View
|
|
2 chunks |
+3 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_management_api.cc
|
View
|
|
4 chunks |
+10 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_management_api_browsertest.cc
|
View
|
|
2 chunks |
+191 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_service.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_service.cc
|
View
|
|
6 chunks |
+39 lines, -17 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_service_unittest.cc
|
View
|
|
2 chunks |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/extension_test_message_listener.h
|
View
|
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/extensions/theme_installed_infobar_delegate.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/browser/profiles/profile_impl.cc
|
View
|
|
2 chunks |
+28 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/themes/browser_theme_provider.cc
|
View
|
|
2 chunks |
+13 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/browser/ui/gtk/gtk_theme_provider.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/common/extensions/api/extension_api.json
|
View
|
|
2 chunks |
+5 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/common/notification_type.h
|
View
|
|
2 chunks |
+2 lines, -5 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/background.html
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/basics.js
|
View
|
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/bootstrap.js
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/clear_theme.js
|
View
|
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/common.js
|
View
|
|
1 chunk |
+80 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/disable_then_enable.js
|
View
|
|
1 chunk |
+14 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/enable_disabled.js
|
View
|
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/enabling.js
|
View
|
|
1 chunk |
+14 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/manifest.json
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/test.js
|
View
|
|
1 chunk |
+56 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/undo.js
|
View
|
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/undo2.js
|
View
|
|
1 chunk |
+33 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/uninstall.js
|
View
|
|
1 chunk |
+23 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/data/extensions/management/themes/uninstall_enabled.js
|
View
|
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
|