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

Side by Side Diff: chrome/browser/ui/webui/options/advanced_options_handler.cc

Issue 7314020: Update UMA user actions parsing, primarily to include WebUI metrics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/webui/options/advanced_options_handler.h" 5 #include "chrome/browser/ui/webui/options/advanced_options_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 182
183 void AdvancedOptionsHandler::Initialize() { 183 void AdvancedOptionsHandler::Initialize() {
184 DCHECK(web_ui_); 184 DCHECK(web_ui_);
185 SetupMetricsReportingCheckbox(); 185 SetupMetricsReportingCheckbox();
186 SetupMetricsReportingSettingVisibility(); 186 SetupMetricsReportingSettingVisibility();
187 SetupFontSizeLabel(); 187 SetupFontSizeLabel();
188 SetupDownloadLocationPath(); 188 SetupDownloadLocationPath();
189 SetupPromptForDownload(); 189 SetupPromptForDownload();
190 SetupAutoOpenFileTypesDisabledAttribute(); 190 SetupAutoOpenFileTypesDisabledAttribute();
191 SetupProxySettingsSection(); 191 SetupProxySettingsSection();
192 SetupSSLConfigSettings();
193 #if !defined(OS_CHROMEOS) 192 #if !defined(OS_CHROMEOS)
194 if (cloud_print_proxy_ui_enabled_) { 193 if (cloud_print_proxy_ui_enabled_) {
195 SetupCloudPrintProxySection(); 194 SetupCloudPrintProxySection();
196 RefreshCloudPrintStatusFromService(); 195 RefreshCloudPrintStatusFromService();
197 } else { 196 } else {
198 RemoveCloudPrintProxySection(); 197 RemoveCloudPrintProxySection();
199 } 198 }
200 #endif 199 #endif
201 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 200 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
202 SetupBackgroundModeSettings(); 201 SetupBackgroundModeSettings();
(...skipping 13 matching lines...) Expand all
216 // special behaviors that aren't handled by the standard prefs UI. 215 // special behaviors that aren't handled by the standard prefs UI.
217 DCHECK(web_ui_); 216 DCHECK(web_ui_);
218 PrefService* prefs = web_ui_->GetProfile()->GetPrefs(); 217 PrefService* prefs = web_ui_->GetProfile()->GetPrefs();
219 #if !defined(OS_CHROMEOS) 218 #if !defined(OS_CHROMEOS)
220 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, 219 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled,
221 g_browser_process->local_state(), this); 220 g_browser_process->local_state(), this);
222 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); 221 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this);
223 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); 222 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this);
224 #endif 223 #endif
225 224
226 rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled,
227 g_browser_process->local_state(), this);
228 ssl3_enabled_.Init(prefs::kSSL3Enabled, g_browser_process->local_state(),
229 this);
230 tls1_enabled_.Init(prefs::kTLS1Enabled, g_browser_process->local_state(),
231 this);
232
233 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 225 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
234 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, 226 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled,
235 g_browser_process->local_state(), 227 g_browser_process->local_state(),
236 this); 228 this);
237 #endif 229 #endif
238 230
239 default_download_location_.Init(prefs::kDownloadDefaultDirectory, 231 default_download_location_.Init(prefs::kDownloadDefaultDirectory,
240 prefs, this); 232 prefs, this);
241 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this); 233 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this);
242 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs, 234 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 NewCallback(this, 275 NewCallback(this,
284 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog)); 276 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog));
285 web_ui_->RegisterMessageCallback("disableCloudPrintProxy", 277 web_ui_->RegisterMessageCallback("disableCloudPrintProxy",
286 NewCallback(this, 278 NewCallback(this,
287 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy)); 279 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy));
288 } 280 }
289 web_ui_->RegisterMessageCallback("showNetworkProxySettings", 281 web_ui_->RegisterMessageCallback("showNetworkProxySettings",
290 NewCallback(this, 282 NewCallback(this,
291 &AdvancedOptionsHandler::ShowNetworkProxySettings)); 283 &AdvancedOptionsHandler::ShowNetworkProxySettings));
292 #endif 284 #endif
293 web_ui_->RegisterMessageCallback("checkRevocationCheckboxAction",
294 NewCallback(this,
295 &AdvancedOptionsHandler::HandleCheckRevocationCheckbox));
296 web_ui_->RegisterMessageCallback("useSSL3CheckboxAction",
297 NewCallback(this,
298 &AdvancedOptionsHandler::HandleUseSSL3Checkbox));
299 web_ui_->RegisterMessageCallback("useTLS1CheckboxAction",
300 NewCallback(this,
301 &AdvancedOptionsHandler::HandleUseTLS1Checkbox));
302 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 285 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
303 web_ui_->RegisterMessageCallback("backgroundModeAction", 286 web_ui_->RegisterMessageCallback("backgroundModeAction",
304 NewCallback(this, 287 NewCallback(this,
305 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox)); 288 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox));
306 #endif 289 #endif
307 } 290 }
308 291
309 void AdvancedOptionsHandler::Observe(NotificationType type, 292 void AdvancedOptionsHandler::Observe(NotificationType type,
310 const NotificationSource& source, 293 const NotificationSource& source,
311 const NotificationDetails& details) { 294 const NotificationDetails& details) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 } 332 }
350 333
351 void AdvancedOptionsHandler::HandlePromptForDownload( 334 void AdvancedOptionsHandler::HandlePromptForDownload(
352 const ListValue* args) { 335 const ListValue* args) {
353 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); 336 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
354 ask_for_save_location_.SetValue(checked_str == "true"); 337 ask_for_save_location_.SetValue(checked_str == "true");
355 } 338 }
356 339
357 void AdvancedOptionsHandler::FileSelected(const FilePath& path, int index, 340 void AdvancedOptionsHandler::FileSelected(const FilePath& path, int index,
358 void* params) { 341 void* params) {
359 UserMetricsRecordAction(UserMetricsAction("Options_SetDownloadDirectory")); 342 UserMetrics::RecordAction(UserMetricsAction("Options_SetDownloadDirectory"));
360 default_download_location_.SetValue(path); 343 default_download_location_.SetValue(path);
361 SetupDownloadLocationPath(); 344 SetupDownloadLocationPath();
362 } 345 }
363 346
364 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() { 347 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() {
365 #if !defined(OS_CHROMEOS) 348 #if !defined(OS_CHROMEOS)
366 if (cloud_print_proxy_ui_enabled_) 349 if (cloud_print_proxy_ui_enabled_)
367 SetupCloudPrintProxySection(); 350 SetupCloudPrintProxySection();
368 #endif 351 #endif
369 } 352 }
370 353
371 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) { 354 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) {
372 UserMetricsRecordAction(UserMetricsAction("Options_ResetAutoOpenFiles")); 355 UserMetrics::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles"));
373 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager(); 356 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager();
374 if (manager) 357 if (manager)
375 manager->download_prefs()->ResetAutoOpen(); 358 manager->download_prefs()->ResetAutoOpen();
376 } 359 }
377 360
378 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox( 361 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox(
379 const ListValue* args) { 362 const ListValue* args) {
380 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS) 363 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS)
381 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); 364 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
382 bool enabled = checked_str == "true"; 365 bool enabled = checked_str == "true";
383 UserMetricsRecordAction( 366 UserMetrics::RecordAction(
384 enabled ? 367 enabled ?
385 UserMetricsAction("Options_MetricsReportingCheckbox_Enable") : 368 UserMetricsAction("Options_MetricsReportingCheckbox_Enable") :
386 UserMetricsAction("Options_MetricsReportingCheckbox_Disable")); 369 UserMetricsAction("Options_MetricsReportingCheckbox_Disable"));
387 bool is_enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled); 370 bool is_enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled);
388 enable_metrics_recording_.SetValue(is_enabled); 371 enable_metrics_recording_.SetValue(is_enabled);
389 SetupMetricsReportingCheckbox(); 372 SetupMetricsReportingCheckbox();
390 #endif 373 #endif
391 } 374 }
392 375
393 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) { 376 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) {
394 int font_size; 377 int font_size;
395 if (ExtractIntegerValue(args, &font_size)) { 378 if (ExtractIntegerValue(args, &font_size)) {
396 if (font_size > 0) { 379 if (font_size > 0) {
397 default_font_size_.SetValue(font_size); 380 default_font_size_.SetValue(font_size);
398 SetupFontSizeLabel(); 381 SetupFontSizeLabel();
399 } 382 }
400 } 383 }
401 } 384 }
402 385
403 void AdvancedOptionsHandler::HandleCheckRevocationCheckbox(
404 const ListValue* args) {
405 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
406 bool enabled = checked_str == "true";
407 std::string metric =
408 (enabled ? "Options_CheckCertRevocation_Enable"
409 : "Options_CheckCertRevocation_Disable");
410 UserMetricsRecordAction(UserMetricsAction(metric.c_str()));
411 rev_checking_enabled_.SetValue(enabled);
412 }
413
414 void AdvancedOptionsHandler::HandleUseSSL3Checkbox(const ListValue* args) {
415 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
416 bool enabled = checked_str == "true";
417 std::string metric =
418 (enabled ? "Options_SSL3_Enable" : "Options_SSL3_Disable");
419 UserMetricsRecordAction(UserMetricsAction(metric.c_str()));
420 ssl3_enabled_.SetValue(enabled);
421 }
422
423 void AdvancedOptionsHandler::HandleUseTLS1Checkbox(const ListValue* args) {
424 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
425 bool enabled = checked_str == "true";
426 std::string metric =
427 (enabled ? "Options_TLS1_Enable" : "Options_TLS1_Disable");
428 UserMetricsRecordAction(UserMetricsAction(metric.c_str()));
429 tls1_enabled_.SetValue(enabled);
430 }
431
432 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 386 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
433 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox( 387 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox(
434 const ListValue* args) { 388 const ListValue* args) {
435 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); 389 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
436 bool enabled = checked_str == "true"; 390 bool enabled = checked_str == "true";
437 std::string metric = enabled ? "Options_BackgroundMode_Enable" : 391 if (enabled) {
438 "Options_BackgroundMode_Disable"; 392 UserMetrics::RecordAction(
439 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); 393 UserMetricsAction("Options_BackgroundMode_Enable"));
394 } else {
395 UserMetrics::RecordAction(
396 UserMetricsAction("Options_BackgroundMode_Disable"));
397 }
440 background_mode_enabled_.SetValue(enabled); 398 background_mode_enabled_.SetValue(enabled);
441 } 399 }
442 400
443 void AdvancedOptionsHandler::SetupBackgroundModeSettings() { 401 void AdvancedOptionsHandler::SetupBackgroundModeSettings() {
444 FundamentalValue checked(background_mode_enabled_.GetValue()); 402 FundamentalValue checked(background_mode_enabled_.GetValue());
445 web_ui_->CallJavascriptFunction( 403 web_ui_->CallJavascriptFunction(
446 "options.AdvancedOptions.SetBackgroundModeCheckboxState", checked); 404 "options.AdvancedOptions.SetBackgroundModeCheckboxState", checked);
447 } 405 }
448 #endif 406 #endif
449 407
450 #if !defined(OS_CHROMEOS) 408 #if !defined(OS_CHROMEOS)
451 void AdvancedOptionsHandler::ShowNetworkProxySettings(const ListValue* args) { 409 void AdvancedOptionsHandler::ShowNetworkProxySettings(const ListValue* args) {
452 UserMetricsRecordAction(UserMetricsAction("Options_ShowProxySettings")); 410 UserMetrics::RecordAction(UserMetricsAction("Options_ShowProxySettings"));
453 AdvancedOptionsUtilities::ShowNetworkProxySettings(web_ui_->tab_contents()); 411 AdvancedOptionsUtilities::ShowNetworkProxySettings(web_ui_->tab_contents());
454 } 412 }
455 #endif 413 #endif
456 414
457 #if !defined(USE_NSS) && !defined(USE_OPENSSL) 415 #if !defined(USE_NSS) && !defined(USE_OPENSSL)
458 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) { 416 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) {
459 UserMetricsRecordAction(UserMetricsAction("Options_ManageSSLCertificates")); 417 UserMetrics::RecordAction(UserMetricsAction("Options_ManageSSLCertificates"));
460 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents()); 418 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents());
461 } 419 }
462 #endif 420 #endif
463 421
464 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) { 422 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) {
465 UserMetricsRecordAction(UserMetricsAction("Options_ManageCloudPrinters")); 423 UserMetrics::RecordAction(UserMetricsAction("Options_ManageCloudPrinters"));
466 // Open a new tab in the current window for the management page. 424 // Open a new tab in the current window for the management page.
467 web_ui_->tab_contents()->OpenURL( 425 web_ui_->tab_contents()->OpenURL(
468 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceManageURL(), 426 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceManageURL(),
469 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); 427 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK);
470 } 428 }
471 429
472 #if !defined(OS_CHROMEOS) 430 #if !defined(OS_CHROMEOS)
473 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) { 431 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) {
474 UserMetricsRecordAction(UserMetricsAction("Options_EnableCloudPrintProxy")); 432 UserMetrics::RecordAction(UserMetricsAction("Options_EnableCloudPrintProxy"));
475 cloud_print_setup_handler_.reset(new CloudPrintSetupHandler(this)); 433 cloud_print_setup_handler_.reset(new CloudPrintSetupHandler(this));
476 CloudPrintSetupFlow::OpenDialog( 434 CloudPrintSetupFlow::OpenDialog(
477 web_ui_->GetProfile(), cloud_print_setup_handler_->AsWeakPtr(), 435 web_ui_->GetProfile(), cloud_print_setup_handler_->AsWeakPtr(),
478 web_ui_->tab_contents()->GetDialogRootWindow()); 436 web_ui_->tab_contents()->GetDialogRootWindow());
479 } 437 }
480 438
481 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy( 439 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy(
482 const ListValue* args) { 440 const ListValue* args) {
483 UserMetricsRecordAction(UserMetricsAction("Options_DisableCloudPrintProxy")); 441 UserMetrics::RecordAction(
442 UserMetricsAction("Options_DisableCloudPrintProxy"));
484 web_ui_->GetProfile()->GetCloudPrintProxyService()->DisableForUser(); 443 web_ui_->GetProfile()->GetCloudPrintProxyService()->DisableForUser();
485 } 444 }
486 445
487 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() { 446 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() {
488 DCHECK(web_ui_); 447 DCHECK(web_ui_);
489 if (cloud_print_proxy_ui_enabled_) 448 if (cloud_print_proxy_ui_enabled_)
490 web_ui_->GetProfile()->GetCloudPrintProxyService()-> 449 web_ui_->GetProfile()->GetCloudPrintProxyService()->
491 RefreshStatusFromService(); 450 RefreshStatusFromService();
492 } 451 }
493 452
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); 571 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL);
613 } else { 572 } else {
614 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, 573 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL,
615 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); 574 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
616 } 575 }
617 StringValue label(label_str); 576 StringValue label(label_str);
618 577
619 web_ui_->CallJavascriptFunction( 578 web_ui_->CallJavascriptFunction(
620 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); 579 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label);
621 } 580 }
622
623 void AdvancedOptionsHandler::SetupSSLConfigSettings() {
624 {
625 FundamentalValue checked(rev_checking_enabled_.GetValue());
626 FundamentalValue disabled(rev_checking_enabled_.IsManaged());
627 web_ui_->CallJavascriptFunction(
628 "options.AdvancedOptions.SetCheckRevocationCheckboxState", checked,
629 disabled);
630 }
631 {
632 FundamentalValue checked(ssl3_enabled_.GetValue());
633 FundamentalValue disabled(ssl3_enabled_.IsManaged());
634 web_ui_->CallJavascriptFunction(
635 "options.AdvancedOptions.SetUseSSL3CheckboxState", checked, disabled);
636 }
637 {
638 FundamentalValue checked(tls1_enabled_.GetValue());
639 FundamentalValue disabled(tls1_enabled_.IsManaged());
640 web_ui_->CallJavascriptFunction(
641 "options.AdvancedOptions.SetUseTLS1CheckboxState", checked, disabled);
642 }
643 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698