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

Side by Side Diff: chrome/browser/extensions/api/font_settings/font_settings_api.cc

Issue 1236493004: Final batch adding real histogram values for extension events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: android compile Created 5 years, 5 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
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 // Font Settings Extension API implementation. 5 // Font Settings Extension API implementation.
6 6
7 #include "chrome/browser/extensions/api/font_settings/font_settings_api.h" 7 #include "chrome/browser/extensions/api/font_settings/font_settings_api.h"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } // namespace 95 } // namespace
96 96
97 FontSettingsEventRouter::FontSettingsEventRouter( 97 FontSettingsEventRouter::FontSettingsEventRouter(
98 Profile* profile) : profile_(profile) { 98 Profile* profile) : profile_(profile) {
99 TRACE_EVENT0("browser,startup", "FontSettingsEventRouter::ctor") 99 TRACE_EVENT0("browser,startup", "FontSettingsEventRouter::ctor")
100 SCOPED_UMA_HISTOGRAM_TIMER("Extensions.FontSettingsEventRouterCtorTime"); 100 SCOPED_UMA_HISTOGRAM_TIMER("Extensions.FontSettingsEventRouterCtorTime");
101 101
102 registrar_.Init(profile_->GetPrefs()); 102 registrar_.Init(profile_->GetPrefs());
103 103
104 AddPrefToObserve(prefs::kWebKitDefaultFixedFontSize, 104 AddPrefToObserve(prefs::kWebKitDefaultFixedFontSize,
105 events::FONT_SETTINGS_ON_DEFAULT_FIXED_FONT_SIZE_CHANGED,
105 fonts::OnDefaultFixedFontSizeChanged::kEventName, 106 fonts::OnDefaultFixedFontSizeChanged::kEventName,
106 kPixelSizeKey); 107 kPixelSizeKey);
107 AddPrefToObserve(prefs::kWebKitDefaultFontSize, 108 AddPrefToObserve(prefs::kWebKitDefaultFontSize,
108 fonts::OnDefaultFontSizeChanged::kEventName, 109 events::FONT_SETTINGS_ON_DEFAULT_FONT_SIZE_CHANGED,
109 kPixelSizeKey); 110 fonts::OnDefaultFontSizeChanged::kEventName, kPixelSizeKey);
110 AddPrefToObserve(prefs::kWebKitMinimumFontSize, 111 AddPrefToObserve(prefs::kWebKitMinimumFontSize,
111 fonts::OnMinimumFontSizeChanged::kEventName, 112 events::FONT_SETTINGS_ON_MINIMUM_FONT_SIZE_CHANGED,
112 kPixelSizeKey); 113 fonts::OnMinimumFontSizeChanged::kEventName, kPixelSizeKey);
113 114
114 PrefChangeRegistrar::NamedChangeCallback callback = 115 PrefChangeRegistrar::NamedChangeCallback callback =
115 base::Bind(&FontSettingsEventRouter::OnFontFamilyMapPrefChanged, 116 base::Bind(&FontSettingsEventRouter::OnFontFamilyMapPrefChanged,
116 base::Unretained(this)); 117 base::Unretained(this));
117 RegisterFontFamilyMapObserver(&registrar_, 118 RegisterFontFamilyMapObserver(&registrar_,
118 prefs::kWebKitStandardFontFamilyMap, callback); 119 prefs::kWebKitStandardFontFamilyMap, callback);
119 RegisterFontFamilyMapObserver(&registrar_, 120 RegisterFontFamilyMapObserver(&registrar_,
120 prefs::kWebKitSerifFontFamilyMap, callback); 121 prefs::kWebKitSerifFontFamilyMap, callback);
121 RegisterFontFamilyMapObserver(&registrar_, 122 RegisterFontFamilyMapObserver(&registrar_,
122 prefs::kWebKitSansSerifFontFamilyMap, callback); 123 prefs::kWebKitSansSerifFontFamilyMap, callback);
123 RegisterFontFamilyMapObserver(&registrar_, 124 RegisterFontFamilyMapObserver(&registrar_,
124 prefs::kWebKitFixedFontFamilyMap, callback); 125 prefs::kWebKitFixedFontFamilyMap, callback);
125 RegisterFontFamilyMapObserver(&registrar_, 126 RegisterFontFamilyMapObserver(&registrar_,
126 prefs::kWebKitCursiveFontFamilyMap, callback); 127 prefs::kWebKitCursiveFontFamilyMap, callback);
127 RegisterFontFamilyMapObserver(&registrar_, 128 RegisterFontFamilyMapObserver(&registrar_,
128 prefs::kWebKitFantasyFontFamilyMap, callback); 129 prefs::kWebKitFantasyFontFamilyMap, callback);
129 RegisterFontFamilyMapObserver(&registrar_, 130 RegisterFontFamilyMapObserver(&registrar_,
130 prefs::kWebKitPictographFontFamilyMap, 131 prefs::kWebKitPictographFontFamilyMap,
131 callback); 132 callback);
132 } 133 }
133 134
134 FontSettingsEventRouter::~FontSettingsEventRouter() {} 135 FontSettingsEventRouter::~FontSettingsEventRouter() {}
135 136
136 void FontSettingsEventRouter::AddPrefToObserve(const char* pref_name, 137 void FontSettingsEventRouter::AddPrefToObserve(
137 const char* event_name, 138 const char* pref_name,
138 const char* key) { 139 events::HistogramValue histogram_value,
139 registrar_.Add(pref_name, 140 const char* event_name,
140 base::Bind(&FontSettingsEventRouter::OnFontPrefChanged, 141 const char* key) {
141 base::Unretained(this), 142 registrar_.Add(
142 event_name, key)); 143 pref_name,
144 base::Bind(&FontSettingsEventRouter::OnFontPrefChanged,
145 base::Unretained(this), histogram_value, event_name, key));
143 } 146 }
144 147
145 void FontSettingsEventRouter::OnFontFamilyMapPrefChanged( 148 void FontSettingsEventRouter::OnFontFamilyMapPrefChanged(
146 const std::string& pref_name) { 149 const std::string& pref_name) {
147 std::string generic_family; 150 std::string generic_family;
148 std::string script; 151 std::string script;
149 if (pref_names_util::ParseFontNamePrefPath(pref_name, &generic_family, 152 if (pref_names_util::ParseFontNamePrefPath(pref_name, &generic_family,
150 &script)) { 153 &script)) {
151 OnFontNamePrefChanged(pref_name, generic_family, script); 154 OnFontNamePrefChanged(pref_name, generic_family, script);
152 return; 155 return;
(...skipping 18 matching lines...) Expand all
171 font_name = MaybeGetLocalizedFontName(font_name); 174 font_name = MaybeGetLocalizedFontName(font_name);
172 175
173 base::ListValue args; 176 base::ListValue args;
174 base::DictionaryValue* dict = new base::DictionaryValue(); 177 base::DictionaryValue* dict = new base::DictionaryValue();
175 args.Append(dict); 178 args.Append(dict);
176 dict->SetString(kFontIdKey, font_name); 179 dict->SetString(kFontIdKey, font_name);
177 dict->SetString(kGenericFamilyKey, generic_family); 180 dict->SetString(kGenericFamilyKey, generic_family);
178 dict->SetString(kScriptKey, script); 181 dict->SetString(kScriptKey, script);
179 182
180 extensions::preference_helpers::DispatchEventToExtensions( 183 extensions::preference_helpers::DispatchEventToExtensions(
181 profile_, 184 profile_, events::FONT_SETTINGS_ON_FONT_CHANGED,
182 fonts::OnFontChanged::kEventName, 185 fonts::OnFontChanged::kEventName, &args, APIPermission::kFontSettings,
183 &args, 186 false, pref_name);
184 APIPermission::kFontSettings,
185 false,
186 pref_name);
187 } 187 }
188 188
189 void FontSettingsEventRouter::OnFontPrefChanged( 189 void FontSettingsEventRouter::OnFontPrefChanged(
190 events::HistogramValue histogram_value,
190 const std::string& event_name, 191 const std::string& event_name,
191 const std::string& key, 192 const std::string& key,
192 const std::string& pref_name) { 193 const std::string& pref_name) {
193 const PrefService::Preference* pref = registrar_.prefs()->FindPreference( 194 const PrefService::Preference* pref = registrar_.prefs()->FindPreference(
194 pref_name); 195 pref_name);
195 CHECK(pref); 196 CHECK(pref);
196 197
197 base::ListValue args; 198 base::ListValue args;
198 base::DictionaryValue* dict = new base::DictionaryValue(); 199 base::DictionaryValue* dict = new base::DictionaryValue();
199 args.Append(dict); 200 args.Append(dict);
200 dict->Set(key, pref->GetValue()->DeepCopy()); 201 dict->Set(key, pref->GetValue()->DeepCopy());
201 202
202 extensions::preference_helpers::DispatchEventToExtensions( 203 extensions::preference_helpers::DispatchEventToExtensions(
203 profile_, 204 profile_, histogram_value, event_name, &args,
204 event_name, 205 APIPermission::kFontSettings, false, pref_name);
205 &args,
206 APIPermission::kFontSettings,
207 false,
208 pref_name);
209 } 206 }
210 207
211 FontSettingsAPI::FontSettingsAPI(content::BrowserContext* context) 208 FontSettingsAPI::FontSettingsAPI(content::BrowserContext* context)
212 : font_settings_event_router_( 209 : font_settings_event_router_(
213 new FontSettingsEventRouter(Profile::FromBrowserContext(context))) {} 210 new FontSettingsEventRouter(Profile::FromBrowserContext(context))) {}
214 211
215 FontSettingsAPI::~FontSettingsAPI() { 212 FontSettingsAPI::~FontSettingsAPI() {
216 } 213 }
217 214
218 static base::LazyInstance<BrowserContextKeyedAPIFactory<FontSettingsAPI> > 215 static base::LazyInstance<BrowserContextKeyedAPIFactory<FontSettingsAPI> >
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 449
453 const char* FontSettingsSetMinimumFontSizeFunction::GetPrefName() { 450 const char* FontSettingsSetMinimumFontSizeFunction::GetPrefName() {
454 return prefs::kWebKitMinimumFontSize; 451 return prefs::kWebKitMinimumFontSize;
455 } 452 }
456 453
457 const char* FontSettingsSetMinimumFontSizeFunction::GetKey() { 454 const char* FontSettingsSetMinimumFontSizeFunction::GetKey() {
458 return kPixelSizeKey; 455 return kPixelSizeKey;
459 } 456 }
460 457
461 } // namespace extensions 458 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698