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

Side by Side Diff: chrome/browser/extensions/extension_prefs.cc

Issue 10533086: Action box menu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_prefs.h" 5 #include "chrome/browser/extensions/extension_prefs.h"
6 6
7 #include "base/string_number_conversions.h" 7 #include "base/string_number_conversions.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" 10 #include "chrome/browser/extensions/api/alarms/alarm_manager.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 // Indicates whether to show an install warning when the user enables. 62 // Indicates whether to show an install warning when the user enables.
63 const char kExtensionDidEscalatePermissions[] = "install_warning_on_enable"; 63 const char kExtensionDidEscalatePermissions[] = "install_warning_on_enable";
64 64
65 // Indicates whether the extension was updated while it was disabled. 65 // Indicates whether the extension was updated while it was disabled.
66 const char kPrefDisableReason[] = "disable_reason"; 66 const char kPrefDisableReason[] = "disable_reason";
67 67
68 // A preference that tracks browser action toolbar configuration. This is a list 68 // A preference that tracks browser action toolbar configuration. This is a list
69 // object stored in the Preferences file. The extensions are stored by ID. 69 // object stored in the Preferences file. The extensions are stored by ID.
70 const char kExtensionToolbar[] = "extensions.toolbar"; 70 const char kExtensionToolbar[] = "extensions.toolbar";
71 71
72 const char kExtensionActionbox[] = "extensions.actionbox";
Aaron Boodman 2012/06/12 05:53:44 I would recommend: extensions.action_box_order
yefimt 2012/06/13 01:24:21 Done.
73
74 const char kExtensionActionboxBar[] = "extensions.actionbox_bar";
Aaron Boodman 2012/06/12 05:53:44 And: toolbar_order_for_action_box_mode
yefimt 2012/06/13 01:24:21 Changed to toolbar_order. Assuming that old prefer
75
72 // The key for a serialized Time value indicating the start of the day (from the 76 // The key for a serialized Time value indicating the start of the day (from the
73 // server's perspective) an extension last included a "ping" parameter during 77 // server's perspective) an extension last included a "ping" parameter during
74 // its update check. 78 // its update check.
75 const char kLastPingDay[] = "lastpingday"; 79 const char kLastPingDay[] = "lastpingday";
76 80
77 // Similar to kLastPingDay, but for "active" instead of "rollcall" pings. 81 // Similar to kLastPingDay, but for "active" instead of "rollcall" pings.
78 const char kLastActivePingDay[] = "last_active_pingday"; 82 const char kLastActivePingDay[] = "last_active_pingday";
79 83
80 // A bit we use to keep track of whether we need to do an "active" ping. 84 // A bit we use to keep track of whether we need to do an "active" ping.
81 const char kActiveBit[] = "active_bit"; 85 const char kActiveBit[] = "active_bit";
(...skipping 1092 matching lines...) Expand 10 before | Expand all | Expand 10 after
1174 const std::string& id) const { 1178 const std::string& id) const {
1175 return DoesExtensionHaveState(id, Extension::EXTERNAL_EXTENSION_UNINSTALLED); 1179 return DoesExtensionHaveState(id, Extension::EXTERNAL_EXTENSION_UNINSTALLED);
1176 } 1180 }
1177 1181
1178 bool ExtensionPrefs::IsExtensionDisabled( 1182 bool ExtensionPrefs::IsExtensionDisabled(
1179 const std::string& id) const { 1183 const std::string& id) const {
1180 return DoesExtensionHaveState(id, Extension::DISABLED); 1184 return DoesExtensionHaveState(id, Extension::DISABLED);
1181 } 1185 }
1182 1186
1183 std::vector<std::string> ExtensionPrefs::GetToolbarOrder() { 1187 std::vector<std::string> ExtensionPrefs::GetToolbarOrder() {
1184 ExtensionIdSet extension_ids; 1188 bool action_box_enabled = extensions::switch_utils::IsActionBoxEnabled();
1185 const ListValue* toolbar_order = prefs_->GetList(kExtensionToolbar); 1189 return GetExtensionsOrder(action_box_enabled ? kExtensionActionboxBar :
1186 if (toolbar_order) { 1190 kExtensionToolbar);
1187 for (size_t i = 0; i < toolbar_order->GetSize(); ++i) {
1188 std::string extension_id;
1189 if (toolbar_order->GetString(i, &extension_id))
1190 extension_ids.push_back(extension_id);
1191 }
1192 }
1193 return extension_ids;
1194 } 1191 }
1195 1192
1196 void ExtensionPrefs::SetToolbarOrder( 1193 void ExtensionPrefs::SetToolbarOrder(
1197 const std::vector<std::string>& extension_ids) { 1194 const std::vector<std::string>& extension_ids) {
1198 ListPrefUpdate update(prefs_, kExtensionToolbar); 1195 bool action_box_enabled = extensions::switch_utils::IsActionBoxEnabled();
1199 ListValue* toolbar_order = update.Get(); 1196 SetExtensionsOrder(action_box_enabled ? kExtensionActionboxBar :
1200 toolbar_order->Clear(); 1197 kExtensionToolbar,
1201 for (std::vector<std::string>::const_iterator iter = extension_ids.begin(); 1198 extension_ids);
1202 iter != extension_ids.end(); ++iter) { 1199 }
1203 toolbar_order->Append(new StringValue(*iter)); 1200
1204 } 1201 std::vector<std::string> ExtensionPrefs::GetActionboxOrder() {
1202 return GetExtensionsOrder(kExtensionActionbox);
1203 }
1204
1205 void ExtensionPrefs::SetActionboxOrder(
1206 const std::vector<std::string>& extension_ids) {
1207 SetExtensionsOrder(kExtensionActionbox, extension_ids);
1205 } 1208 }
1206 1209
1207 void ExtensionPrefs::OnExtensionInstalled( 1210 void ExtensionPrefs::OnExtensionInstalled(
1208 const Extension* extension, 1211 const Extension* extension,
1209 Extension::State initial_state, 1212 Extension::State initial_state,
1210 bool from_webstore, 1213 bool from_webstore,
1211 const StringOrdinal& page_ordinal) { 1214 const StringOrdinal& page_ordinal) {
1212 const std::string& id = extension->id(); 1215 const std::string& id = extension->id();
1213 CHECK(Extension::IdIsValid(id)); 1216 CHECK(Extension::IdIsValid(id));
1214 ScopedExtensionPrefUpdate update(prefs_, id); 1217 ScopedExtensionPrefUpdate update(prefs_, id);
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1901 content_settings_store_->ClearContentSettingsForExtension( 1904 content_settings_store_->ClearContentSettingsForExtension(
1902 *ext_id, 1905 *ext_id,
1903 kExtensionPrefsScopeIncognitoSessionOnly); 1906 kExtensionPrefsScopeIncognitoSessionOnly);
1904 } 1907 }
1905 } 1908 }
1906 1909
1907 // static 1910 // static
1908 void ExtensionPrefs::RegisterUserPrefs(PrefService* prefs) { 1911 void ExtensionPrefs::RegisterUserPrefs(PrefService* prefs) {
1909 prefs->RegisterDictionaryPref(kExtensionsPref, PrefService::UNSYNCABLE_PREF); 1912 prefs->RegisterDictionaryPref(kExtensionsPref, PrefService::UNSYNCABLE_PREF);
1910 prefs->RegisterListPref(kExtensionToolbar, PrefService::UNSYNCABLE_PREF); 1913 prefs->RegisterListPref(kExtensionToolbar, PrefService::UNSYNCABLE_PREF);
1914 prefs->RegisterListPref(kExtensionActionbox, PrefService::UNSYNCABLE_PREF);
1915 prefs->RegisterListPref(kExtensionActionboxBar, PrefService::UNSYNCABLE_PREF);
1911 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize, 1916 prefs->RegisterIntegerPref(prefs::kExtensionToolbarSize,
1912 -1, // default value 1917 -1, // default value
1913 PrefService::UNSYNCABLE_PREF); 1918 PrefService::UNSYNCABLE_PREF);
1914 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate, 1919 prefs->RegisterDictionaryPref(kExtensionsBlacklistUpdate,
1915 PrefService::UNSYNCABLE_PREF); 1920 PrefService::UNSYNCABLE_PREF);
1916 prefs->RegisterListPref(prefs::kExtensionInstallAllowList, 1921 prefs->RegisterListPref(prefs::kExtensionInstallAllowList,
1917 PrefService::UNSYNCABLE_PREF); 1922 PrefService::UNSYNCABLE_PREF);
1918 prefs->RegisterListPref(prefs::kExtensionInstallDenyList, 1923 prefs->RegisterListPref(prefs::kExtensionInstallDenyList,
1919 PrefService::UNSYNCABLE_PREF); 1924 PrefService::UNSYNCABLE_PREF);
1920 prefs->RegisterListPref(prefs::kExtensionInstallForceList, 1925 prefs->RegisterListPref(prefs::kExtensionInstallForceList,
1921 PrefService::UNSYNCABLE_PREF); 1926 PrefService::UNSYNCABLE_PREF);
1922 prefs->RegisterStringPref(kWebStoreLogin, 1927 prefs->RegisterStringPref(kWebStoreLogin,
1923 std::string(), // default value 1928 std::string(), // default value
1924 PrefService::UNSYNCABLE_PREF); 1929 PrefService::UNSYNCABLE_PREF);
1925 prefs->RegisterStringPref(prefs::kExtensionBlacklistUpdateVersion, 1930 prefs->RegisterStringPref(prefs::kExtensionBlacklistUpdateVersion,
1926 "0", // default value 1931 "0", // default value
1927 PrefService::UNSYNCABLE_PREF); 1932 PrefService::UNSYNCABLE_PREF);
1928 prefs->RegisterInt64Pref(prefs::kLastExtensionsUpdateCheck, 1933 prefs->RegisterInt64Pref(prefs::kLastExtensionsUpdateCheck,
1929 0, // default value 1934 0, // default value
1930 PrefService::UNSYNCABLE_PREF); 1935 PrefService::UNSYNCABLE_PREF);
1931 prefs->RegisterInt64Pref(prefs::kNextExtensionsUpdateCheck, 1936 prefs->RegisterInt64Pref(prefs::kNextExtensionsUpdateCheck,
1932 0, // default value 1937 0, // default value
1933 PrefService::UNSYNCABLE_PREF); 1938 PrefService::UNSYNCABLE_PREF);
1934 } 1939 }
1940
1941 std::vector<std::string> ExtensionPrefs::GetExtensionsOrder(const char* pref) {
1942 ExtensionIdSet extension_ids;
1943 const ListValue* toolbar_order = prefs_->GetList(pref);
1944 if (toolbar_order) {
1945 for (size_t i = 0; i < toolbar_order->GetSize(); ++i) {
1946 std::string extension_id;
1947 if (toolbar_order->GetString(i, &extension_id))
1948 extension_ids.push_back(extension_id);
1949 }
1950 }
1951 return extension_ids;
1952 }
1953
1954 void ExtensionPrefs::SetExtensionsOrder(const char* pref,
1955 const std::vector<std::string>& extension_ids) {
1956 ListPrefUpdate update(prefs_, pref);
1957 ListValue* toolbar_order = update.Get();
1958 toolbar_order->Clear();
1959 for (std::vector<std::string>::const_iterator iter = extension_ids.begin();
1960 iter != extension_ids.end(); ++iter) {
1961 toolbar_order->Append(new StringValue(*iter));
1962 }
1963 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698