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

Side by Side Diff: chrome/browser/ui/toolbar/wrench_menu_model.cc

Issue 700673003: Add metrics to all items in the 'wrench' menu (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add WrenchMenu.TimeToAction timings histogram Created 6 years, 1 month 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 #include "chrome/browser/ui/toolbar/wrench_menu_model.h" 5 #include "chrome/browser/ui/toolbar/wrench_menu_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/metrics/histogram.h"
11 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
12 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
13 #include "base/strings/string_util.h" 14 #include "base/strings/string_util.h"
14 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
15 #include "chrome/app/chrome_command_ids.h" 16 #include "chrome/app/chrome_command_ids.h"
16 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/defaults.h" 18 #include "chrome/browser/defaults.h"
18 #include "chrome/browser/extensions/extension_toolbar_model.h" 19 #include "chrome/browser/extensions/extension_toolbar_model.h"
19 #include "chrome/browser/extensions/extension_util.h" 20 #include "chrome/browser/extensions/extension_util.h"
20 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 AddCheckItemWithStringId(IDC_PROFILING_ENABLED, IDS_PROFILING_ENABLED); 270 AddCheckItemWithStringId(IDC_PROFILING_ENABLED, IDS_PROFILING_ENABLED);
270 #endif 271 #endif
271 } 272 }
272 273
273 //////////////////////////////////////////////////////////////////////////////// 274 ////////////////////////////////////////////////////////////////////////////////
274 // WrenchMenuModel 275 // WrenchMenuModel
275 276
276 WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider, 277 WrenchMenuModel::WrenchMenuModel(ui::AcceleratorProvider* provider,
277 Browser* browser) 278 Browser* browser)
278 : ui::SimpleMenuModel(this), 279 : ui::SimpleMenuModel(this),
280 uma_action_recorded_(false),
279 provider_(provider), 281 provider_(provider),
280 browser_(browser), 282 browser_(browser),
281 tab_strip_model_(browser_->tab_strip_model()) { 283 tab_strip_model_(browser_->tab_strip_model()) {
282 Build(); 284 Build();
283 UpdateZoomControls(); 285 UpdateZoomControls();
284 286
285 content_zoom_subscription_ = 287 content_zoom_subscription_ =
286 content::HostZoomMap::GetDefaultForBrowserContext(browser->profile()) 288 content::HostZoomMap::GetDefaultForBrowserContext(browser->profile())
287 ->AddZoomLevelChangedCallback(base::Bind( 289 ->AddZoomLevelChangedCallback(base::Bind(
288 &WrenchMenuModel::OnZoomLevelChanged, base::Unretained(this))); 290 &WrenchMenuModel::OnZoomLevelChanged, base::Unretained(this)));
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 if (!switches::IsNewAvatarMenu() && command_id == IDC_SHOW_SIGNIN) { 399 if (!switches::IsNewAvatarMenu() && command_id == IDC_SHOW_SIGNIN) {
398 // If a custom error message is being shown, handle it. 400 // If a custom error message is being shown, handle it.
399 GlobalError* error = signin_ui_util::GetSignedInServiceError( 401 GlobalError* error = signin_ui_util::GetSignedInServiceError(
400 browser_->profile()->GetOriginalProfile()); 402 browser_->profile()->GetOriginalProfile());
401 if (error) { 403 if (error) {
402 error->ExecuteMenuItem(browser_); 404 error->ExecuteMenuItem(browser_);
403 return; 405 return;
404 } 406 }
405 } 407 }
406 408
407 if (command_id == IDC_HELP_PAGE_VIA_MENU) 409 LogMenuMetrics(command_id);
408 content::RecordAction(UserMetricsAction("ShowHelpTabViaWrenchMenu"));
409
410 if (command_id == IDC_FULLSCREEN) {
411 // We issue the UMA command here and not in BrowserCommandController or even
412 // FullscreenController since we want to be able to distinguish this event
413 // and a menu which is under development.
414 content::RecordAction(UserMetricsAction("EnterFullScreenWithWrenchMenu"));
415 }
416
417 chrome::ExecuteCommand(browser_, command_id); 410 chrome::ExecuteCommand(browser_, command_id);
418 } 411 }
419 412
413 void WrenchMenuModel::LogMenuMetrics(int command_id) {
414 base::TimeDelta now = timer_.Elapsed();
415
416 if (!uma_action_recorded_)
417 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction", now);
418
419 // Menu user metrics
Peter Kasting 2014/11/14 19:48:59 Nit: This comment is meaningless, remove.
edwardjung 2014/11/17 15:58:23 Done.
420 switch (command_id) {
421 case IDC_NEW_TAB:
422 if (!uma_action_recorded_)
423 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.NewTab", now);
424 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_NEW_TAB,
425 LIMIT_MENU_ACTION);
426 break;
427 case IDC_NEW_WINDOW:
428 if (!uma_action_recorded_)
429 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.NewWindow", now);
430 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_NEW_WINDOW,
431 LIMIT_MENU_ACTION);
432 break;
433 case IDC_NEW_INCOGNITO_WINDOW:
434 if (!uma_action_recorded_)
435 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.NewIncognitoWindow",
436 now);
437 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
438 MENU_ACTION_NEW_INCOGNITO_WINDOW,
439 LIMIT_MENU_ACTION);
440 break;
441
442 // Bookmarks sub menu.
443 case IDC_SHOW_BOOKMARK_BAR:
444 if (!uma_action_recorded_)
445 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ShowBookmarkBar",
446 now);
447 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
448 MENU_ACTION_SHOW_BOOKMARK_BAR,
449 LIMIT_MENU_ACTION);
450 break;
451 case IDC_SHOW_BOOKMARK_MANAGER:
452 if (!uma_action_recorded_)
453 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ShowBookmarkMgr",
454 now);
455 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
456 MENU_ACTION_SHOW_BOOKMARK_MANAGER,
457 LIMIT_MENU_ACTION);
458 break;
459 case IDC_IMPORT_SETTINGS:
460 if (!uma_action_recorded_)
461 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ImportSettings",
462 now);
463 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
464 MENU_ACTION_IMPORT_SETTINGS,
465 LIMIT_MENU_ACTION);
466 break;
467 case IDC_BOOKMARK_PAGE:
468 if (!uma_action_recorded_)
469 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.BookmarkPage", now);
470 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
471 MENU_ACTION_BOOKMARK_PAGE,
472 LIMIT_MENU_ACTION);
473 break;
474 case IDC_BOOKMARK_ALL_TABS:
475 if (!uma_action_recorded_)
476 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.BookmarkAllTabs",
477 now);
478 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
479 MENU_ACTION_BOOKMARK_ALL_TABS,
480 LIMIT_MENU_ACTION);
481 break;
482 case IDC_PIN_TO_START_SCREEN:
483 if (!uma_action_recorded_)
484 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.PinToStartScreen",
485 now);
486 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
487 MENU_ACTION_PIN_TO_START_SCREEN,
488 LIMIT_MENU_ACTION);
489 break;
490
491 // Recent tabs menu.
492 case IDC_RESTORE_TAB:
493 if (!uma_action_recorded_)
494 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.RestoreTab", now);
495 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
496 MENU_ACTION_RESTORE_TAB,
497 LIMIT_MENU_ACTION);
498 break;
499
500 // Windows.
501 case IDC_WIN_DESKTOP_RESTART:
502 if (!uma_action_recorded_)
503 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.WinDesktopRestart",
504 now);
505 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
506 MENU_ACTION_WIN_DESKTOP_RESTART,
507 LIMIT_MENU_ACTION);
508 break;
509 case IDC_WIN8_METRO_RESTART:
510 if (!uma_action_recorded_)
511 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Win8MetroRestart",
512 now);
513 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
514 MENU_ACTION_WIN8_METRO_RESTART,
515 LIMIT_MENU_ACTION);
516 break;
517
518 case IDC_WIN_CHROMEOS_RESTART:
519 if (!uma_action_recorded_)
520 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ChromeOSRestart",
521 now);
522 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
523 MENU_ACTION_WIN_CHROMEOS_RESTART,
524 LIMIT_MENU_ACTION);
525 break;
526 case IDC_DISTILL_PAGE:
527 if (!uma_action_recorded_)
528 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.DistillPage", now);
529 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
530 MENU_ACTION_DISTILL_PAGE,
531 LIMIT_MENU_ACTION);
532 break;
533 case IDC_SAVE_PAGE:
534 if (!uma_action_recorded_)
535 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.SavePage", now);
536 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
537 MENU_ACTION_SAVE_PAGE,
538 LIMIT_MENU_ACTION);
539 break;
540 case IDC_FIND:
541 if (!uma_action_recorded_)
542 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Find", now);
543 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_FIND,
544 LIMIT_MENU_ACTION);
545 break;
546 case IDC_PRINT:
547 if (!uma_action_recorded_)
548 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Print", now);
549 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_PRINT,
550 LIMIT_MENU_ACTION);
551 break;
552
553 // Edit menu.
554 case IDC_CUT:
555 if (!uma_action_recorded_)
556 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Cut", now);
557 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_CUT,
558 LIMIT_MENU_ACTION);
559 break;
560 case IDC_COPY:
561 if (!uma_action_recorded_)
562 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Copy", now);
563 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_COPY,
564 LIMIT_MENU_ACTION);
565 break;
566 case IDC_PASTE:
567 if (!uma_action_recorded_)
568 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Paste", now);
569 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_PASTE,
570 LIMIT_MENU_ACTION);
571 break;
572
573 // Tools menu.
574 case IDC_CREATE_HOSTED_APP:
575 if (!uma_action_recorded_)
576 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.CreateHostedApp",
577 now);
578 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
579 MENU_ACTION_CREATE_HOSTED_APP,
580 LIMIT_MENU_ACTION);
581 break;
582 case IDC_CREATE_SHORTCUTS:
583 if (!uma_action_recorded_)
584 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.CreateShortcuts",
585 now);
586 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
587 MENU_ACTION_CREATE_SHORTCUTS,
588 LIMIT_MENU_ACTION);
589 break;
590 case IDC_MANAGE_EXTENSIONS:
591 if (!uma_action_recorded_)
592 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ManageExtensions",
593 now);
594 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
595 MENU_ACTION_MANAGE_EXTENSIONS,
596 LIMIT_MENU_ACTION);
597 break;
598 case IDC_TASK_MANAGER:
599 if (!uma_action_recorded_)
600 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.TaskManager", now);
601 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
602 MENU_ACTION_TASK_MANAGER,
603 LIMIT_MENU_ACTION);
604 break;
605 case IDC_CLEAR_BROWSING_DATA:
606 if (!uma_action_recorded_)
607 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ClearBrowsingData",
608 now);
609 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
610 MENU_ACTION_CLEAR_BROWSING_DATA,
611 LIMIT_MENU_ACTION);
612 break;
613 case IDC_VIEW_SOURCE:
614 if (!uma_action_recorded_)
615 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ViewSource", now);
616 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
617 MENU_ACTION_VIEW_SOURCE,
618 LIMIT_MENU_ACTION);
619 break;
620 case IDC_DEV_TOOLS:
621 if (!uma_action_recorded_)
622 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.DevTools", now);
623 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_DEV_TOOLS,
624 LIMIT_MENU_ACTION);
625 break;
626 case IDC_DEV_TOOLS_CONSOLE:
627 if (!uma_action_recorded_)
628 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.DevToolsConsole",
629 now);
630 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
631 MENU_ACTION_DEV_TOOLS_CONSOLE,
632 LIMIT_MENU_ACTION);
633 break;
634 case IDC_DEV_TOOLS_DEVICES:
635 if (!uma_action_recorded_)
636 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.DevToolsDevices",
637 now);
638 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
639 MENU_ACTION_DEV_TOOLS_DEVICES,
640 LIMIT_MENU_ACTION);
641 break;
642 case IDC_PROFILING_ENABLED:
643 if (!uma_action_recorded_)
644 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ProfilingEnabled",
645 now);
646 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
647 MENU_ACTION_PROFILING_ENABLED,
648 LIMIT_MENU_ACTION);
649 break;
650
651 // Zoom menu
652 case IDC_ZOOM_MINUS:
653 if (!uma_action_recorded_) {
654 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ZoomMinus", now);
655 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
656 MENU_ACTION_ZOOM_MINUS, LIMIT_MENU_ACTION);
657 uma_action_recorded_ = true;
658 }
659 break;
660 case IDC_ZOOM_PLUS:
661 if (!uma_action_recorded_) {
662 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ZoomPlus", now);
663 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
664 MENU_ACTION_ZOOM_PLUS, LIMIT_MENU_ACTION);
Alexei Svitkine (slow) 2014/11/15 00:00:16 Please make a helper function for this macro. Each
Peter Kasting 2014/11/15 00:03:10 I'm not sure that's feasible. Don't we have to ex
Alexei Svitkine (slow) 2014/11/15 00:06:43 I'm suggesting specifically for "WrenchMenu.MenuAc
edwardjung 2014/11/17 15:58:23 Done.
665 uma_action_recorded_ = true;
666 }
667 break;
668 case IDC_FULLSCREEN:
669 content::RecordAction(UserMetricsAction("EnterFullScreenWithWrenchMenu"));
670
671 if (!uma_action_recorded_)
672 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.EnterFullScreen",
673 now);
674 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_FULLSCREEN,
675 LIMIT_MENU_ACTION);
676 break;
677
678 case IDC_SHOW_HISTORY:
679 if (!uma_action_recorded_)
680 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ShowHistory", now);
681 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
682 MENU_ACTION_SHOW_HISTORY,
683 LIMIT_MENU_ACTION);
684 break;
685 case IDC_SHOW_DOWNLOADS:
686 if (!uma_action_recorded_)
687 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ShowDownloads",
688 now);
689 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
690 MENU_ACTION_SHOW_DOWNLOADS,
691 LIMIT_MENU_ACTION);
692 break;
693 case IDC_SHOW_SYNC_SETUP:
694 if (!uma_action_recorded_)
695 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ShowSyncSetup",
696 now);
697 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
698 MENU_ACTION_SHOW_SYNC_SETUP,
699 LIMIT_MENU_ACTION);
700 break;
701 case IDC_OPTIONS:
702 if (!uma_action_recorded_)
703 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Settings", now);
704 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_OPTIONS,
705 LIMIT_MENU_ACTION);
706 break;
707 case IDC_ABOUT:
708 if (!uma_action_recorded_)
709 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.About", now);
710 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_ABOUT,
711 LIMIT_MENU_ACTION);
712 break;
713
714 // Help menu.
715 case IDC_HELP_PAGE_VIA_MENU:
716 content::RecordAction(UserMetricsAction("ShowHelpTabViaWrenchMenu"));
717
718 if (!uma_action_recorded_)
719 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.HelpPage", now);
720 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
721 MENU_ACTION_HELP_PAGE_VIA_MENU,
722 LIMIT_MENU_ACTION);
723 break;
724 #if defined(GOOGLE_CHROME_BUILD)
725 case IDC_FEEDBACK:
726 if (!uma_action_recorded_)
727 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Feedback", now);
728 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_FEEDBACK,
729 LIMIT_MENU_ACTION);
730 break;
731 #endif
732
733 case IDC_TOGGLE_REQUEST_TABLET_SITE:
734 if (!uma_action_recorded_)
735 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.RequestTabletSite",
736 now);
737 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction",
738 MENU_ACTION_TOGGLE_REQUEST_TABLET_SITE,
739 LIMIT_MENU_ACTION);
740 break;
741 case IDC_EXIT:
742 if (!uma_action_recorded_)
743 UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.Exit", now);
744 UMA_HISTOGRAM_ENUMERATION("WrenchMenu.MenuAction", MENU_ACTION_EXIT,
745 LIMIT_MENU_ACTION);
746 break;
747 }
748 }
749
420 bool WrenchMenuModel::IsCommandIdChecked(int command_id) const { 750 bool WrenchMenuModel::IsCommandIdChecked(int command_id) const {
421 if (command_id == IDC_SHOW_BOOKMARK_BAR) { 751 if (command_id == IDC_SHOW_BOOKMARK_BAR) {
422 return browser_->profile()->GetPrefs()->GetBoolean( 752 return browser_->profile()->GetPrefs()->GetBoolean(
423 bookmarks::prefs::kShowBookmarkBar); 753 bookmarks::prefs::kShowBookmarkBar);
424 } else if (command_id == IDC_PROFILING_ENABLED) { 754 } else if (command_id == IDC_PROFILING_ENABLED) {
425 return Profiling::BeingProfiled(); 755 return Profiling::BeingProfiled();
426 } else if (command_id == IDC_TOGGLE_REQUEST_TABLET_SITE) { 756 } else if (command_id == IDC_TOGGLE_REQUEST_TABLET_SITE) {
427 return chrome::IsRequestingTabletSite(browser_); 757 return chrome::IsRequestingTabletSite(browser_);
428 } 758 }
429 759
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 if (browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH) 988 if (browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH)
659 show_exit_menu = false; 989 show_exit_menu = false;
660 #endif 990 #endif
661 991
662 if (show_exit_menu) { 992 if (show_exit_menu) {
663 AddSeparator(ui::NORMAL_SEPARATOR); 993 AddSeparator(ui::NORMAL_SEPARATOR);
664 AddItemWithStringId(IDC_EXIT, IDS_EXIT); 994 AddItemWithStringId(IDC_EXIT, IDS_EXIT);
665 } 995 }
666 996
667 RemoveTrailingSeparators(); 997 RemoveTrailingSeparators();
998 uma_action_recorded_ = false;
668 } 999 }
669 1000
670 void WrenchMenuModel::AddGlobalErrorMenuItems() { 1001 void WrenchMenuModel::AddGlobalErrorMenuItems() {
671 // TODO(sail): Currently we only build the wrench menu once per browser 1002 // TODO(sail): Currently we only build the wrench menu once per browser
672 // window. This means that if a new error is added after the menu is built 1003 // window. This means that if a new error is added after the menu is built
673 // it won't show in the existing wrench menu. To fix this we need to some 1004 // it won't show in the existing wrench menu. To fix this we need to some
674 // how update the menu if new errors are added. 1005 // how update the menu if new errors are added.
675 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); 1006 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
676 // GetSignedInServiceErrors() can modify the global error list, so call it 1007 // GetSignedInServiceErrors() can modify the global error list, so call it
677 // before iterating through that list below. 1008 // before iterating through that list below.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 ->GetZoomPercent(); 1114 ->GetZoomPercent();
784 } 1115 }
785 zoom_label_ = l10n_util::GetStringFUTF16( 1116 zoom_label_ = l10n_util::GetStringFUTF16(
786 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); 1117 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent));
787 } 1118 }
788 1119
789 void WrenchMenuModel::OnZoomLevelChanged( 1120 void WrenchMenuModel::OnZoomLevelChanged(
790 const content::HostZoomMap::ZoomLevelChange& change) { 1121 const content::HostZoomMap::ZoomLevelChange& change) {
791 UpdateZoomControls(); 1122 UpdateZoomControls();
792 } 1123 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698