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

Side by Side Diff: chrome/browser/about_flags.cc

Issue 2257533005: Change logging of about:flags from actions to a histogram. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix typo in header. Created 4 years, 3 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 #include "chrome/browser/about_flags.h" 5 #include "chrome/browser/about_flags.h"
6 6
7 #include <iterator> 7 #include <iterator>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 }; 638 };
639 639
640 const FeatureEntry::Choice kSSLVersionMaxChoices[] = { 640 const FeatureEntry::Choice kSSLVersionMaxChoices[] = {
641 {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" }, 641 {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
642 {IDS_FLAGS_SSL_VERSION_MAX_TLS12, switches::kSSLVersionMax, "tls1.2"}, 642 {IDS_FLAGS_SSL_VERSION_MAX_TLS12, switches::kSSLVersionMax, "tls1.2"},
643 {IDS_FLAGS_SSL_VERSION_MAX_TLS13, switches::kSSLVersionMax, "tls1.3"}, 643 {IDS_FLAGS_SSL_VERSION_MAX_TLS13, switches::kSSLVersionMax, "tls1.3"},
644 }; 644 };
645 645
646 // RECORDING USER METRICS FOR FLAGS: 646 // RECORDING USER METRICS FOR FLAGS:
647 // ----------------------------------------------------------------------------- 647 // -----------------------------------------------------------------------------
648 // The first line of the entry is the internal name. If you'd like to gather 648 // The first line of the entry is the internal name.
649 // statistics about the usage of your flag, you should append a marker comment
650 // to the end of the feature name, like so:
651 // "my-special-feature", // FLAGS:RECORD_UMA
652 // 649 //
653 // After doing that, run
654 // tools/metrics/actions/extract_actions.py
655 // to add the metric to actions.xml (which will enable UMA to record your
656 // feature flag), then update the <owner>s and <description> sections. Make sure
657 // to include the actions.xml file when you upload your code for review!
658 //
659 // After your feature has shipped under a flag, you can locate the metrics under
660 // the action name AboutFlags_internal-action-name. Actions are recorded once
661 // per startup, so you should divide this number by AboutFlags_StartupTick to
662 // get a sense of usage. Note that this will not be the same as number of users
663 // with a given feature enabled because users can quit and relaunch the
664 // application multiple times over a given time interval. The dashboard also
665 // shows you how many (metrics reporting) users have enabled the flag over the
666 // last seven days. However, note that this is not the same as the number of
667 // users who have the flag enabled, since enabling the flag happens once,
668 // whereas running with the flag enabled happens until the user flips the flag
669 // again.
670
671 // To add a new entry, add to the end of kFeatureEntries. There are two 650 // To add a new entry, add to the end of kFeatureEntries. There are two
672 // distinct types of entries: 651 // distinct types of entries:
673 // . SINGLE_VALUE: entry is either on or off. Use the SINGLE_VALUE_TYPE 652 // . SINGLE_VALUE: entry is either on or off. Use the SINGLE_VALUE_TYPE
674 // macro for this type supplying the command line to the macro. 653 // macro for this type supplying the command line to the macro.
675 // . MULTI_VALUE: a list of choices, the first of which should correspond to a 654 // . MULTI_VALUE: a list of choices, the first of which should correspond to a
676 // deactivated state for this lab (i.e. no command line option). To specify 655 // deactivated state for this lab (i.e. no command line option). To specify
677 // this type of entry use the macro MULTI_VALUE_TYPE supplying it the 656 // this type of entry use the macro MULTI_VALUE_TYPE supplying it the
678 // array of choices. 657 // array of choices.
679 // See the documentation of FeatureEntry for details on the fields. 658 // See the documentation of FeatureEntry for details on the fields.
680 // 659 //
681 // Command-line switches must have entries in enum "LoginCustomFlags" in 660 // Usage of about:flags is logged on startup via the "Launch.FlagsAtStartup"
682 // histograms.xml. See note in histograms.xml and don't forget to run 661 // UMA histogram. This histogram shows the number of startups with a given flag
683 // AboutFlagsHistogramTest unit test to calculate and verify checksum. 662 // enabled. If you'd like to see user counts instead, make sure to switch to
663 // to "count users" view on the dashboard. When adding new entries, the enum
664 // "LoginCustomFlags" must be updated in histograms.xml. See note in
665 // histograms.xml and don't forget to run AboutFlagsHistogramTest unit test
666 // to calculate and verify checksum.
Nico 2017/06/14 21:27:58 Hm, this makes adding flags harder than it used to
Alexei Svitkine (slow) 2017/06/14 21:29:13 Actually, this CL didn't change it - it was alread
684 // 667 //
685 // When adding a new choice, add it to the end of the list. 668 // When adding a new choice, add it to the end of the list.
686 const FeatureEntry kFeatureEntries[] = { 669 const FeatureEntry kFeatureEntries[] = {
687 {"ignore-gpu-blacklist", IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME, 670 {"ignore-gpu-blacklist", IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME,
688 IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION, kOsAll, 671 IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION, kOsAll,
689 SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)}, 672 SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
690 {"enable-experimental-canvas-features", 673 {"enable-experimental-canvas-features",
691 IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_NAME, 674 IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_NAME,
692 IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION, kOsAll, 675 IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION, kOsAll,
693 SINGLE_VALUE_TYPE(switches::kEnableExperimentalCanvasFeatures)}, 676 SINGLE_VALUE_TYPE(switches::kEnableExperimentalCanvasFeatures)},
(...skipping 27 matching lines...) Expand all
721 IDS_FLAGS_WEBRTC_STUN_ORIGIN_DESCRIPTION, kOsAll, 704 IDS_FLAGS_WEBRTC_STUN_ORIGIN_DESCRIPTION, kOsAll,
722 SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)}, 705 SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)},
723 #endif 706 #endif
724 #if defined(OS_ANDROID) 707 #if defined(OS_ANDROID)
725 {"enable-osk-overscroll", IDS_FLAGS_ENABLE_OSK_OVERSCROLL_NAME, 708 {"enable-osk-overscroll", IDS_FLAGS_ENABLE_OSK_OVERSCROLL_NAME,
726 IDS_FLAGS_ENABLE_OSK_OVERSCROLL_DESCRIPTION, kOsAndroid, 709 IDS_FLAGS_ENABLE_OSK_OVERSCROLL_DESCRIPTION, kOsAndroid,
727 SINGLE_VALUE_TYPE(switches::kEnableOSKOverscroll)}, 710 SINGLE_VALUE_TYPE(switches::kEnableOSKOverscroll)},
728 #endif 711 #endif
729 // Native client is compiled out when DISABLE_NACL is defined. 712 // Native client is compiled out when DISABLE_NACL is defined.
730 #if !defined(DISABLE_NACL) 713 #if !defined(DISABLE_NACL)
731 {"enable-nacl", // FLAGS:RECORD_UMA 714 {"enable-nacl", IDS_FLAGS_NACL_NAME, IDS_FLAGS_NACL_DESCRIPTION, kOsAll,
732 IDS_FLAGS_NACL_NAME, IDS_FLAGS_NACL_DESCRIPTION, kOsAll,
733 SINGLE_VALUE_TYPE(switches::kEnableNaCl)}, 715 SINGLE_VALUE_TYPE(switches::kEnableNaCl)},
734 {"enable-nacl-debug", // FLAGS:RECORD_UMA 716 {"enable-nacl-debug", IDS_FLAGS_NACL_DEBUG_NAME,
735 IDS_FLAGS_NACL_DEBUG_NAME, IDS_FLAGS_NACL_DEBUG_DESCRIPTION, kOsDesktop, 717 IDS_FLAGS_NACL_DEBUG_DESCRIPTION, kOsDesktop,
736 SINGLE_VALUE_TYPE(switches::kEnableNaClDebug)}, 718 SINGLE_VALUE_TYPE(switches::kEnableNaClDebug)},
737 {"force-pnacl-subzero", IDS_FLAGS_PNACL_SUBZERO_NAME, 719 {"force-pnacl-subzero", IDS_FLAGS_PNACL_SUBZERO_NAME,
738 IDS_FLAGS_PNACL_SUBZERO_DESCRIPTION, kOsDesktop, 720 IDS_FLAGS_PNACL_SUBZERO_DESCRIPTION, kOsDesktop,
739 SINGLE_VALUE_TYPE(switches::kForcePNaClSubzero)}, 721 SINGLE_VALUE_TYPE(switches::kForcePNaClSubzero)},
740 {"nacl-debug-mask", // FLAGS:RECORD_UMA 722 {"nacl-debug-mask", IDS_FLAGS_NACL_DEBUG_MASK_NAME,
741 IDS_FLAGS_NACL_DEBUG_MASK_NAME, IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION, 723 IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION, kOsDesktop,
742 kOsDesktop, MULTI_VALUE_TYPE(kNaClDebugMaskChoices)}, 724 MULTI_VALUE_TYPE(kNaClDebugMaskChoices)},
743 #endif 725 #endif
744 #if defined(ENABLE_EXTENSIONS) 726 #if defined(ENABLE_EXTENSIONS)
745 {"extension-apis", // FLAGS:RECORD_UMA 727 {"extension-apis", IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME,
746 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME,
747 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION, kOsDesktop, 728 IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION, kOsDesktop,
748 SINGLE_VALUE_TYPE(extensions::switches::kEnableExperimentalExtensionApis)}, 729 SINGLE_VALUE_TYPE(extensions::switches::kEnableExperimentalExtensionApis)},
749 {"extensions-on-chrome-urls", IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME, 730 {"extensions-on-chrome-urls", IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME,
750 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION, kOsAll, 731 IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION, kOsAll,
751 SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)}, 732 SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
752 #endif 733 #endif
753 {"enable-fast-unload", IDS_FLAGS_FAST_UNLOAD_NAME, 734 {"enable-fast-unload", IDS_FLAGS_FAST_UNLOAD_NAME,
754 IDS_FLAGS_FAST_UNLOAD_DESCRIPTION, kOsAll, 735 IDS_FLAGS_FAST_UNLOAD_DESCRIPTION, kOsAll,
755 SINGLE_VALUE_TYPE(switches::kEnableFastUnload)}, 736 SINGLE_VALUE_TYPE(switches::kEnableFastUnload)},
756 #if defined(ENABLE_EXTENSIONS) 737 #if defined(ENABLE_EXTENSIONS)
(...skipping 11 matching lines...) Expand all
768 switches::kDisableContextualSearch)}, 749 switches::kDisableContextualSearch)},
769 #endif 750 #endif
770 {"show-autofill-type-predictions", 751 {"show-autofill-type-predictions",
771 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME, 752 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME,
772 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION, kOsAll, 753 IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION, kOsAll,
773 SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillTypePredictions)}, 754 SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillTypePredictions)},
774 {"enable-credit-card-signin-promo", 755 {"enable-credit-card-signin-promo",
775 IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_SIGNIN_PROMO_NAME, 756 IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_SIGNIN_PROMO_NAME,
776 IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_SIGNIN_PROMO_DESCRIPTION, kOsAll, 757 IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_SIGNIN_PROMO_DESCRIPTION, kOsAll,
777 FEATURE_VALUE_TYPE(autofill::kAutofillCreditCardSigninPromo)}, 758 FEATURE_VALUE_TYPE(autofill::kAutofillCreditCardSigninPromo)},
778 {"smooth-scrolling", // FLAGS:RECORD_UMA 759 {"smooth-scrolling", IDS_FLAGS_SMOOTH_SCROLLING_NAME,
779 IDS_FLAGS_SMOOTH_SCROLLING_NAME, IDS_FLAGS_SMOOTH_SCROLLING_DESCRIPTION, 760 IDS_FLAGS_SMOOTH_SCROLLING_DESCRIPTION,
780 // Mac has a separate implementation with its own setting to disable. 761 // Mac has a separate implementation with its own setting to disable.
781 kOsLinux | kOsCrOS | kOsWin | kOsAndroid, 762 kOsLinux | kOsCrOS | kOsWin | kOsAndroid,
782 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSmoothScrolling, 763 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSmoothScrolling,
783 switches::kDisableSmoothScrolling)}, 764 switches::kDisableSmoothScrolling)},
784 #if defined(USE_AURA) || defined(OS_LINUX) 765 #if defined(USE_AURA) || defined(OS_LINUX)
785 {"overlay-scrollbars", IDS_FLAGS_OVERLAY_SCROLLBARS_NAME, 766 {"overlay-scrollbars", IDS_FLAGS_OVERLAY_SCROLLBARS_NAME,
786 IDS_FLAGS_OVERLAY_SCROLLBARS_DESCRIPTION, 767 IDS_FLAGS_OVERLAY_SCROLLBARS_DESCRIPTION,
787 // Uses the system preference on Mac (a different implementation). 768 // Uses the system preference on Mac (a different implementation).
788 // On Android, this is always enabled. 769 // On Android, this is always enabled.
789 kOsLinux | kOsCrOS | kOsWin, 770 kOsLinux | kOsCrOS | kOsWin,
790 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOverlayScrollbar, 771 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOverlayScrollbar,
791 switches::kDisableOverlayScrollbar)}, 772 switches::kDisableOverlayScrollbar)},
792 #endif 773 #endif
793 {// See http://crbug.com/120416 for how to remove this flag. 774 {// See http://crbug.com/120416 for how to remove this flag.
794 "save-page-as-mhtml", // FLAGS:RECORD_UMA 775 "save-page-as-mhtml", IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME,
795 IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME,
796 IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION, kOsMac | kOsWin | kOsLinux, 776 IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION, kOsMac | kOsWin | kOsLinux,
797 SINGLE_VALUE_TYPE(switches::kSavePageAsMHTML)}, 777 SINGLE_VALUE_TYPE(switches::kSavePageAsMHTML)},
798 {"mhtml-generator-option", IDS_FLAGS_MHTML_GENERATOR_OPTION_NAME, 778 {"mhtml-generator-option", IDS_FLAGS_MHTML_GENERATOR_OPTION_NAME,
799 IDS_FLAGS_MHTML_GENERATOR_OPTION_DESCRIPTION, kOsMac | kOsWin | kOsLinux, 779 IDS_FLAGS_MHTML_GENERATOR_OPTION_DESCRIPTION, kOsMac | kOsWin | kOsLinux,
800 MULTI_VALUE_TYPE(kMHTMLGeneratorOptionChoices)}, 780 MULTI_VALUE_TYPE(kMHTMLGeneratorOptionChoices)},
801 {"enable-quic", IDS_FLAGS_QUIC_NAME, IDS_FLAGS_QUIC_DESCRIPTION, kOsAll, 781 {"enable-quic", IDS_FLAGS_QUIC_NAME, IDS_FLAGS_QUIC_DESCRIPTION, kOsAll,
802 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuic, switches::kDisableQuic)}, 782 ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuic, switches::kDisableQuic)},
803 {"disable-javascript-harmony-shipping", 783 {"disable-javascript-harmony-shipping",
804 IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_NAME, 784 IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_NAME,
805 IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_DESCRIPTION, kOsAll, 785 IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_DESCRIPTION, kOsAll,
(...skipping 18 matching lines...) Expand all
824 0, 804 0,
825 #endif 805 #endif
826 SINGLE_DISABLE_VALUE_TYPE(switches::kDisableSoftwareRasterizer)}, 806 SINGLE_DISABLE_VALUE_TYPE(switches::kDisableSoftwareRasterizer)},
827 {"enable-gpu-rasterization", IDS_FLAGS_GPU_RASTERIZATION_NAME, 807 {"enable-gpu-rasterization", IDS_FLAGS_GPU_RASTERIZATION_NAME,
828 IDS_FLAGS_GPU_RASTERIZATION_DESCRIPTION, kOsAll, 808 IDS_FLAGS_GPU_RASTERIZATION_DESCRIPTION, kOsAll,
829 MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)}, 809 MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
830 {"gpu-rasterization-msaa-sample-count", 810 {"gpu-rasterization-msaa-sample-count",
831 IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_NAME, 811 IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_NAME,
832 IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_DESCRIPTION, kOsAll, 812 IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_DESCRIPTION, kOsAll,
833 MULTI_VALUE_TYPE(kGpuRasterizationMSAASampleCountChoices)}, 813 MULTI_VALUE_TYPE(kGpuRasterizationMSAASampleCountChoices)},
834 {"enable-experimental-web-platform-features", // FLAGS:RECORD_UMA 814 {"enable-experimental-web-platform-features",
835 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME, 815 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME,
836 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION, kOsAll, 816 IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION, kOsAll,
837 SINGLE_VALUE_TYPE(switches::kEnableExperimentalWebPlatformFeatures)}, 817 SINGLE_VALUE_TYPE(switches::kEnableExperimentalWebPlatformFeatures)},
838 {"enable-web-bluetooth", // FLAGS:RECORD_UMA 818 {"enable-web-bluetooth", IDS_FLAGS_WEB_BLUETOOTH_NAME,
839 IDS_FLAGS_WEB_BLUETOOTH_NAME, IDS_FLAGS_WEB_BLUETOOTH_DESCRIPTION, 819 IDS_FLAGS_WEB_BLUETOOTH_DESCRIPTION,
840 kOsCrOS | kOsMac | kOsAndroid | kOsLinux, 820 kOsCrOS | kOsMac | kOsAndroid | kOsLinux,
841 SINGLE_VALUE_TYPE(switches::kEnableWebBluetooth)}, 821 SINGLE_VALUE_TYPE(switches::kEnableWebBluetooth)},
842 #if defined(ENABLE_EXTENSIONS) 822 #if defined(ENABLE_EXTENSIONS)
843 {"enable-ble-advertising-in-apps", 823 {"enable-ble-advertising-in-apps",
844 IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_NAME, 824 IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_NAME,
845 IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_DESCRIPTION, kOsCrOS, 825 IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_DESCRIPTION, kOsCrOS,
846 SINGLE_VALUE_TYPE(extensions::switches::kEnableBLEAdvertising)}, 826 SINGLE_VALUE_TYPE(extensions::switches::kEnableBLEAdvertising)},
847 #endif 827 #endif
848 {"enable-devtools-experiments", IDS_FLAGS_DEVTOOLS_EXPERIMENTS_NAME, 828 {"enable-devtools-experiments", IDS_FLAGS_DEVTOOLS_EXPERIMENTS_NAME,
849 IDS_FLAGS_DEVTOOLS_EXPERIMENTS_DESCRIPTION, kOsDesktop, 829 IDS_FLAGS_DEVTOOLS_EXPERIMENTS_DESCRIPTION, kOsDesktop,
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 #endif 1319 #endif
1340 {"translate-lang-by-ulp", IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_NAME, 1320 {"translate-lang-by-ulp", IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_NAME,
1341 IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_DESCRIPTION, kOsAll, 1321 IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_DESCRIPTION, kOsAll,
1342 FEATURE_VALUE_TYPE(translate::kTranslateLanguageByULP)}, 1322 FEATURE_VALUE_TYPE(translate::kTranslateLanguageByULP)},
1343 #if defined(OS_MACOSX) 1323 #if defined(OS_MACOSX)
1344 {"enable-native-notifications", IDS_NOTIFICATIONS_NATIVE_FLAG, 1324 {"enable-native-notifications", IDS_NOTIFICATIONS_NATIVE_FLAG,
1345 IDS_NOTIFICATIONS_NATIVE_FLAG_DESCRIPTION, kOsMac, 1325 IDS_NOTIFICATIONS_NATIVE_FLAG_DESCRIPTION, kOsMac,
1346 SINGLE_VALUE_TYPE(switches::kEnableNativeNotifications)}, 1326 SINGLE_VALUE_TYPE(switches::kEnableNativeNotifications)},
1347 #endif 1327 #endif
1348 #if defined(TOOLKIT_VIEWS) 1328 #if defined(TOOLKIT_VIEWS)
1349 {"disable-views-rect-based-targeting", // FLAGS:RECORD_UMA 1329 {"disable-views-rect-based-targeting",
1350 IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_NAME, 1330 IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_NAME,
1351 IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_DESCRIPTION, 1331 IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_DESCRIPTION,
1352 kOsCrOS | kOsWin | kOsLinux, 1332 kOsCrOS | kOsWin | kOsLinux,
1353 SINGLE_DISABLE_VALUE_TYPE( 1333 SINGLE_DISABLE_VALUE_TYPE(
1354 views::switches::kDisableViewsRectBasedTargeting)}, 1334 views::switches::kDisableViewsRectBasedTargeting)},
1355 #endif 1335 #endif
1356 #if defined(ENABLE_EXTENSIONS) 1336 #if defined(ENABLE_EXTENSIONS)
1357 {"enable-apps-show-on-first-paint", IDS_FLAGS_APPS_SHOW_ON_FIRST_PAINT_NAME, 1337 {"enable-apps-show-on-first-paint", IDS_FLAGS_APPS_SHOW_ON_FIRST_PAINT_NAME,
1358 IDS_FLAGS_APPS_SHOW_ON_FIRST_PAINT_DESCRIPTION, kOsDesktop, 1338 IDS_FLAGS_APPS_SHOW_ON_FIRST_PAINT_DESCRIPTION, kOsDesktop,
1359 SINGLE_VALUE_TYPE(extensions::switches::kEnableAppsShowOnFirstPaint)}, 1339 SINGLE_VALUE_TYPE(extensions::switches::kEnableAppsShowOnFirstPaint)},
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 #if defined(OS_ANDROID) 1498 #if defined(OS_ANDROID)
1519 {"enable-seccomp-sandbox-android", 1499 {"enable-seccomp-sandbox-android",
1520 IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_NAME, 1500 IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_NAME,
1521 IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_DESCRIPTION, kOsAndroid, 1501 IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_DESCRIPTION, kOsAndroid,
1522 FEATURE_VALUE_TYPE(features::kSeccompSandboxAndroid)}, 1502 FEATURE_VALUE_TYPE(features::kSeccompSandboxAndroid)},
1523 #endif 1503 #endif
1524 {"enable-touch-hover", IDS_FLAGS_TOUCH_HOVER_NAME, 1504 {"enable-touch-hover", IDS_FLAGS_TOUCH_HOVER_NAME,
1525 IDS_FLAGS_TOUCH_HOVER_DESCRIPTION, kOsAndroid, 1505 IDS_FLAGS_TOUCH_HOVER_DESCRIPTION, kOsAndroid,
1526 SINGLE_VALUE_TYPE("enable-touch-hover")}, 1506 SINGLE_VALUE_TYPE("enable-touch-hover")},
1527 #if defined(OS_CHROMEOS) 1507 #if defined(OS_CHROMEOS)
1528 {"enable-wifi-credential-sync", // FLAGS:RECORD_UMA 1508 {"enable-wifi-credential-sync", IDS_FLAGS_WIFI_CREDENTIAL_SYNC_NAME,
1529 IDS_FLAGS_WIFI_CREDENTIAL_SYNC_NAME,
1530 IDS_FLAGS_WIFI_CREDENTIAL_SYNC_DESCRIPTION, kOsCrOS, 1509 IDS_FLAGS_WIFI_CREDENTIAL_SYNC_DESCRIPTION, kOsCrOS,
1531 SINGLE_VALUE_TYPE(switches::kEnableWifiCredentialSync)}, 1510 SINGLE_VALUE_TYPE(switches::kEnableWifiCredentialSync)},
1532 {"enable-potentially-annoying-security-features", 1511 {"enable-potentially-annoying-security-features",
1533 IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_NAME, 1512 IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_NAME,
1534 IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_DESCRIPTION, kOsAll, 1513 IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_DESCRIPTION, kOsAll,
1535 SINGLE_VALUE_TYPE(switches::kEnablePotentiallyAnnoyingSecurityFeatures)}, 1514 SINGLE_VALUE_TYPE(switches::kEnablePotentiallyAnnoyingSecurityFeatures)},
1536 #endif 1515 #endif
1537 {"mark-non-secure-as", // FLAGS:RECORD_UMA 1516 {"mark-non-secure-as", IDS_MARK_NON_SECURE_AS_NAME,
1538 IDS_MARK_NON_SECURE_AS_NAME, IDS_MARK_NON_SECURE_AS_DESCRIPTION, kOsAll, 1517 IDS_MARK_NON_SECURE_AS_DESCRIPTION, kOsAll,
1539 MULTI_VALUE_TYPE(kMarkNonSecureAsChoices)}, 1518 MULTI_VALUE_TYPE(kMarkNonSecureAsChoices)},
1540 {"enable-site-per-process", IDS_FLAGS_SITE_PER_PROCESS_NAME, 1519 {"enable-site-per-process", IDS_FLAGS_SITE_PER_PROCESS_NAME,
1541 IDS_FLAGS_SITE_PER_PROCESS_DESCRIPTION, kOsAll, 1520 IDS_FLAGS_SITE_PER_PROCESS_DESCRIPTION, kOsAll,
1542 SINGLE_VALUE_TYPE(switches::kSitePerProcess)}, 1521 SINGLE_VALUE_TYPE(switches::kSitePerProcess)},
1543 {"enable-top-document-isolation", IDS_FLAGS_TOP_DOCUMENT_ISOLATION_NAME, 1522 {"enable-top-document-isolation", IDS_FLAGS_TOP_DOCUMENT_ISOLATION_NAME,
1544 IDS_FLAGS_TOP_DOCUMENT_ISOLATION_DESCRIPTION, kOsAll, 1523 IDS_FLAGS_TOP_DOCUMENT_ISOLATION_DESCRIPTION, kOsAll,
1545 SINGLE_VALUE_TYPE(switches::kTopDocumentIsolation)}, 1524 SINGLE_VALUE_TYPE(switches::kTopDocumentIsolation)},
1546 {"enable-use-zoom-for-dsf", IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_NAME, 1525 {"enable-use-zoom-for-dsf", IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_NAME,
1547 IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_DESCRIPTION, kOsAll, 1526 IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_DESCRIPTION, kOsAll,
1548 MULTI_VALUE_TYPE(kEnableUseZoomForDSFChoices)}, 1527 MULTI_VALUE_TYPE(kEnableUseZoomForDSFChoices)},
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 {"offline-pages-background-loading", 1697 {"offline-pages-background-loading",
1719 IDS_FLAGS_OFFLINE_PAGES_BACKGROUND_LOADING_NAME, 1698 IDS_FLAGS_OFFLINE_PAGES_BACKGROUND_LOADING_NAME,
1720 IDS_FLAGS_OFFLINE_PAGES_BACKGROUND_LOADING_DESCRIPTION, kOsAndroid, 1699 IDS_FLAGS_OFFLINE_PAGES_BACKGROUND_LOADING_DESCRIPTION, kOsAndroid,
1721 FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesBackgroundLoadingFeature)}, 1700 FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesBackgroundLoadingFeature)},
1722 {"offline-pages-sharing", IDS_FLAGS_OFFLINE_PAGES_SHARING_NAME, 1701 {"offline-pages-sharing", IDS_FLAGS_OFFLINE_PAGES_SHARING_NAME,
1723 IDS_FLAGS_OFFLINE_PAGES_SHARING_DESCRIPTION, kOsAndroid, 1702 IDS_FLAGS_OFFLINE_PAGES_SHARING_DESCRIPTION, kOsAndroid,
1724 FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesSharingFeature)}, 1703 FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesSharingFeature)},
1725 {"background-loader-for-downloads", 1704 {"background-loader-for-downloads",
1726 IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_NAME, 1705 IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_NAME,
1727 IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_DESCRIPTION, kOsAndroid, 1706 IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_DESCRIPTION, kOsAndroid,
1728 FEATURE_VALUE_TYPE( 1707 FEATURE_VALUE_TYPE(offline_pages::kBackgroundLoaderForDownloadsFeature)},
1729 offline_pages::kBackgroundLoaderForDownloadsFeature)},
1730 #endif // defined(OS_ANDROID) 1708 #endif // defined(OS_ANDROID)
1731 {"disallow-doc-written-script-loads", 1709 {"disallow-doc-written-script-loads",
1732 IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_NAME, 1710 IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_NAME,
1733 IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_DESCRIPTION, kOsAll, 1711 IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_DESCRIPTION, kOsAll,
1734 // NOTE: if we want to add additional experiment entries for other 1712 // NOTE: if we want to add additional experiment entries for other
1735 // features controlled by kBlinkSettings, we'll need to add logic to 1713 // features controlled by kBlinkSettings, we'll need to add logic to
1736 // merge the flag values. 1714 // merge the flag values.
1737 SINGLE_VALUE_TYPE_AND_VALUE( 1715 SINGLE_VALUE_TYPE_AND_VALUE(
1738 switches::kBlinkSettings, 1716 switches::kBlinkSettings,
1739 "disallowFetchForDocWrittenScriptsInMainFrame=true")}, 1717 "disallowFetchForDocWrittenScriptsInMainFrame=true")},
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
1971 SINGLE_VALUE_TYPE( 1949 SINGLE_VALUE_TYPE(
1972 chromeos::switches::kEnableExperimentalAccessibilityFeatures)}, 1950 chromeos::switches::kEnableExperimentalAccessibilityFeatures)},
1973 {"opt-in-ime-menu", IDS_FLAGS_ENABLE_IME_MENU_NAME, 1951 {"opt-in-ime-menu", IDS_FLAGS_ENABLE_IME_MENU_NAME,
1974 IDS_FLAGS_ENABLE_IME_MENU_DESCRIPTION, kOsCrOS, 1952 IDS_FLAGS_ENABLE_IME_MENU_DESCRIPTION, kOsCrOS,
1975 FEATURE_VALUE_TYPE(features::kOptInImeMenu)}, 1953 FEATURE_VALUE_TYPE(features::kOptInImeMenu)},
1976 {"disable-system-timezone-automatic-detection", 1954 {"disable-system-timezone-automatic-detection",
1977 IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_NAME, 1955 IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_NAME,
1978 IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_DESCRIPTION, kOsCrOS, 1956 IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_DESCRIPTION, kOsCrOS,
1979 SINGLE_VALUE_TYPE( 1957 SINGLE_VALUE_TYPE(
1980 chromeos::switches::kDisableSystemTimezoneAutomaticDetectionPolicy)}, 1958 chromeos::switches::kDisableSystemTimezoneAutomaticDetectionPolicy)},
1981 {"enable-native-cups", // FLAGS:RECORD_UMA 1959 {"enable-native-cups", IDS_FLAGS_ENABLE_NATIVE_CUPS_NAME,
1982 IDS_FLAGS_ENABLE_NATIVE_CUPS_NAME,
1983 IDS_FLAGS_ENABLE_NATIVE_CUPS_DESCRIPTION, kOsCrOS, 1960 IDS_FLAGS_ENABLE_NATIVE_CUPS_DESCRIPTION, kOsCrOS,
1984 SINGLE_VALUE_TYPE(switches::kEnableNativeCups)}, 1961 SINGLE_VALUE_TYPE(switches::kEnableNativeCups)},
1985 {"enable-files-details-panel", IDS_FLAGS_ENABLE_FILES_DETAILS_PANEL_NAME, 1962 {"enable-files-details-panel", IDS_FLAGS_ENABLE_FILES_DETAILS_PANEL_NAME,
1986 IDS_FLAGS_ENABLE_FILES_DETAILS_PANEL_DESCRIPTION, kOsCrOS, 1963 IDS_FLAGS_ENABLE_FILES_DETAILS_PANEL_DESCRIPTION, kOsCrOS,
1987 SINGLE_VALUE_TYPE(chromeos::switches::kEnableFilesDetailsPanel)}, 1964 SINGLE_VALUE_TYPE(chromeos::switches::kEnableFilesDetailsPanel)},
1988 #endif // defined(OS_CHROMEOS) 1965 #endif // defined(OS_CHROMEOS)
1989 #if !defined(OS_ANDROID) && !defined(OS_IOS) && defined(GOOGLE_CHROME_BUILD) 1966 #if !defined(OS_ANDROID) && !defined(OS_IOS) && defined(GOOGLE_CHROME_BUILD)
1990 {"enable-google-branded-context-menu", 1967 {"enable-google-branded-context-menu",
1991 IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_NAME, 1968 IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_NAME,
1992 IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_DESCRIPTION, kOsDesktop, 1969 IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_DESCRIPTION, kOsDesktop,
(...skipping 11 matching lines...) Expand all
2004 SINGLE_VALUE_TYPE(switches::kEnableFullscreenToolbarReveal)}, 1981 SINGLE_VALUE_TYPE(switches::kEnableFullscreenToolbarReveal)},
2005 #endif 1982 #endif
2006 #if defined(OS_ANDROID) 1983 #if defined(OS_ANDROID)
2007 {"important-sites-in-cbd", IDS_FLAGS_IMPORTANT_SITES_IN_CBD_NAME, 1984 {"important-sites-in-cbd", IDS_FLAGS_IMPORTANT_SITES_IN_CBD_NAME,
2008 IDS_FLAGS_IMPORTANT_SITES_IN_CBD_DESCRIPTION, kOsAndroid, 1985 IDS_FLAGS_IMPORTANT_SITES_IN_CBD_DESCRIPTION, kOsAndroid,
2009 FEATURE_VALUE_TYPE(chrome::android::kImportantSitesInCBD)}, 1986 FEATURE_VALUE_TYPE(chrome::android::kImportantSitesInCBD)},
2010 {"autoplay-muted-videos", IDS_FLAGS_ENABLE_AUTOPLAY_MUTED_VIDEOS_NAME, 1987 {"autoplay-muted-videos", IDS_FLAGS_ENABLE_AUTOPLAY_MUTED_VIDEOS_NAME,
2011 IDS_FLAGS_ENABLE_AUTOPLAY_MUTED_VIDEOS_DESCRIPTION, kOsAndroid, 1988 IDS_FLAGS_ENABLE_AUTOPLAY_MUTED_VIDEOS_DESCRIPTION, kOsAndroid,
2012 FEATURE_VALUE_TYPE(features::kAutoplayMutedVideos)}, 1989 FEATURE_VALUE_TYPE(features::kAutoplayMutedVideos)},
2013 #endif 1990 #endif
2014 {"enable-pointer-events", // FLAGS:RECORD_UMA 1991 {"enable-pointer-events", IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_NAME,
2015 IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_NAME,
2016 IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_DESCRIPTION, kOsAll, 1992 IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_DESCRIPTION, kOsAll,
2017 FEATURE_VALUE_TYPE(features::kPointerEvents)}, 1993 FEATURE_VALUE_TYPE(features::kPointerEvents)},
2018 {"passive-listener-default", // FLAGS:RECORD_UMA 1994 {"passive-listener-default", IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_NAME,
2019 IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_NAME,
2020 IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_DESCRIPTION, kOsAll, 1995 IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_DESCRIPTION, kOsAll,
2021 MULTI_VALUE_TYPE(kPassiveListenersChoices)}, 1996 MULTI_VALUE_TYPE(kPassiveListenersChoices)},
2022 {"document-passive-event-listeners", // FLAGS:RECORD_UMA 1997 {"document-passive-event-listeners",
2023 IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_NAME, 1998 IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_NAME,
2024 IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_DESCRIPTION, kOsAll, 1999 IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_DESCRIPTION, kOsAll,
2025 FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)}, 2000 FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
2026 {"passive-event-listeners-due-to-fling", // FLAGS:RECORD_UMA 2001 {"passive-event-listeners-due-to-fling",
2027 IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_NAME, 2002 IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_NAME,
2028 IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_DESCRIPTION, kOsAll, 2003 IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_DESCRIPTION, kOsAll,
2029 FEATURE_VALUE_TYPE(features::kPassiveEventListenersDueToFling)}, 2004 FEATURE_VALUE_TYPE(features::kPassiveEventListenersDueToFling)},
2030 {"enable-loading-ipc-optimization-for-small-resources", 2005 {"enable-loading-ipc-optimization-for-small-resources",
2031 IDS_FLAGS_OPTIMIZE_LOADING_IPC_FOR_SMALL_RESOURCES_NAME, 2006 IDS_FLAGS_OPTIMIZE_LOADING_IPC_FOR_SMALL_RESOURCES_NAME,
2032 IDS_FLAGS_OPTIMIZE_LOADING_IPC_FOR_SMALL_RESOURCES_DESCRIPTION, kOsAll, 2007 IDS_FLAGS_OPTIMIZE_LOADING_IPC_FOR_SMALL_RESOURCES_DESCRIPTION, kOsAll,
2033 FEATURE_VALUE_TYPE(features::kOptimizeLoadingIPCForSmallResources)}, 2008 FEATURE_VALUE_TYPE(features::kOptimizeLoadingIPCForSmallResources)},
2034 {"enable-font-cache-scaling", IDS_FLAGS_FONT_CACHE_SCALING_NAME, 2009 {"enable-font-cache-scaling", IDS_FLAGS_FONT_CACHE_SCALING_NAME,
2035 IDS_FLAGS_FONT_CACHE_SCALING_DESCRIPTION, kOsAll, 2010 IDS_FLAGS_FONT_CACHE_SCALING_DESCRIPTION, kOsAll,
2036 FEATURE_VALUE_TYPE(features::kFontCacheScaling)}, 2011 FEATURE_VALUE_TYPE(features::kFontCacheScaling)},
(...skipping 11 matching lines...) Expand all
2048 IDS_FLAGS_ENABLE_WEAK_MEMORYCACHE_DESCRIPTION, kOsAll, 2023 IDS_FLAGS_ENABLE_WEAK_MEMORYCACHE_DESCRIPTION, kOsAll,
2049 FEATURE_VALUE_TYPE(features::kWeakMemoryCache)}, 2024 FEATURE_VALUE_TYPE(features::kWeakMemoryCache)},
2050 #if defined(OS_CHROMEOS) 2025 #if defined(OS_CHROMEOS)
2051 {"disable-eol-notification", IDS_FLAGS_EOL_NOTIFICATION_NAME, 2026 {"disable-eol-notification", IDS_FLAGS_EOL_NOTIFICATION_NAME,
2052 IDS_FLAGS_EOL_NOTIFICATION_DESCRIPTION, kOsCrOS, 2027 IDS_FLAGS_EOL_NOTIFICATION_DESCRIPTION, kOsCrOS,
2053 SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableEolNotification)}, 2028 SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableEolNotification)},
2054 #endif // defined(OS_CHROMEOS) 2029 #endif // defined(OS_CHROMEOS)
2055 {"fill-on-account-select", IDS_FILL_ON_ACCOUNT_SELECT_NAME, 2030 {"fill-on-account-select", IDS_FILL_ON_ACCOUNT_SELECT_NAME,
2056 IDS_FILL_ON_ACCOUNT_SELECT_DESCRIPTION, kOsAll, 2031 IDS_FILL_ON_ACCOUNT_SELECT_DESCRIPTION, kOsAll,
2057 FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, 2032 FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)},
2058 {"new-audio-rendering-mixing-strategy", // FLAGS:RECORD_UMA 2033 {"new-audio-rendering-mixing-strategy",
2059 IDS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_NAME, 2034 IDS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_NAME,
2060 IDS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_DESCRIPTION, 2035 IDS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_DESCRIPTION,
2061 kOsWin | kOsMac | kOsLinux | kOsAndroid, 2036 kOsWin | kOsMac | kOsLinux | kOsAndroid,
2062 FEATURE_VALUE_TYPE(media::kNewAudioRenderingMixingStrategy)}, 2037 FEATURE_VALUE_TYPE(media::kNewAudioRenderingMixingStrategy)},
2063 #if defined(OS_CHROMEOS) 2038 #if defined(OS_CHROMEOS)
2064 {"files-quick-view", IDS_FLAGS_FILES_QUICK_VIEW_NAME, 2039 {"files-quick-view", IDS_FLAGS_FILES_QUICK_VIEW_NAME,
2065 IDS_FLAGS_FILES_QUICK_VIEW_DESCRIPTION, kOsCrOS, 2040 IDS_FLAGS_FILES_QUICK_VIEW_DESCRIPTION, kOsCrOS,
2066 ENABLE_DISABLE_VALUE_TYPE(chromeos::switches::kEnableFilesQuickView, 2041 ENABLE_DISABLE_VALUE_TYPE(chromeos::switches::kEnableFilesQuickView,
2067 chromeos::switches::kDisableFilesQuickView)}, 2042 chromeos::switches::kDisableFilesQuickView)},
2068 {"quick-unlock-pin", IDS_FLAGS_QUICK_UNLOCK_PIN, 2043 {"quick-unlock-pin", IDS_FLAGS_QUICK_UNLOCK_PIN,
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2208 std::map<std::string, base::CommandLine::StringType>* switch_list) { 2183 std::map<std::string, base::CommandLine::StringType>* switch_list) {
2209 FlagsStateSingleton::GetFlagsState()->RemoveFlagsSwitches(switch_list); 2184 FlagsStateSingleton::GetFlagsState()->RemoveFlagsSwitches(switch_list);
2210 } 2185 }
2211 2186
2212 void ResetAllFlags(flags_ui::FlagsStorage* flags_storage) { 2187 void ResetAllFlags(flags_ui::FlagsStorage* flags_storage) {
2213 FlagsStateSingleton::GetFlagsState()->ResetAllFlags(flags_storage); 2188 FlagsStateSingleton::GetFlagsState()->ResetAllFlags(flags_storage);
2214 } 2189 }
2215 2190
2216 void RecordUMAStatistics(flags_ui::FlagsStorage* flags_storage) { 2191 void RecordUMAStatistics(flags_ui::FlagsStorage* flags_storage) {
2217 std::set<std::string> flags = flags_storage->GetFlags(); 2192 std::set<std::string> flags = flags_storage->GetFlags();
2218 for (const std::string& flag : flags) { 2193 ReportAboutFlagsHistogram("Launch.FlagsAtStartup", flags);
2219 std::string action("AboutFlags_");
2220 action += flag;
2221 content::RecordComputedAction(action);
2222 }
2223 // Since flag metrics are recorded every startup, add a tick so that the
2224 // stats can be made meaningful.
2225 if (flags.size())
2226 content::RecordAction(base::UserMetricsAction("AboutFlags_StartupTick"));
2227 content::RecordAction(base::UserMetricsAction("StartupTick"));
2228 } 2194 }
2229 2195
2230 base::HistogramBase::Sample GetSwitchUMAId(const std::string& switch_name) { 2196 base::HistogramBase::Sample GetSwitchUMAId(const std::string& switch_name) {
2231 return static_cast<base::HistogramBase::Sample>( 2197 return static_cast<base::HistogramBase::Sample>(
2232 base::HashMetricName(switch_name)); 2198 base::HashMetricName(switch_name));
2233 } 2199 }
2234 2200
2235 void ReportCustomFlags(const std::string& uma_histogram_hame, 2201 void ReportAboutFlagsHistogram(const std::string& uma_histogram_name,
2236 const std::set<std::string>& command_line_difference) { 2202 const std::set<std::string>& flags) {
2237 for (const std::string& flag : command_line_difference) { 2203 for (const std::string& flag : flags) {
2238 int uma_id = about_flags::testing::kBadSwitchFormatHistogramId; 2204 int uma_id = about_flags::testing::kBadSwitchFormatHistogramId;
2239 if (base::StartsWith(flag, "--", base::CompareCase::SENSITIVE)) { 2205 if (base::StartsWith(flag, "--", base::CompareCase::SENSITIVE)) {
2240 // Skip '--' before switch name. 2206 // Skip '--' before switch name.
2241 std::string switch_name(flag.substr(2)); 2207 std::string switch_name(flag.substr(2));
2242 2208
2243 // Kill value, if any. 2209 // Kill value, if any.
2244 const size_t value_pos = switch_name.find('='); 2210 const size_t value_pos = switch_name.find('=');
2245 if (value_pos != std::string::npos) 2211 if (value_pos != std::string::npos)
2246 switch_name.resize(value_pos); 2212 switch_name.resize(value_pos);
2247 2213
2248 uma_id = GetSwitchUMAId(switch_name); 2214 uma_id = GetSwitchUMAId(switch_name);
2249 } else { 2215 } else {
2250 NOTREACHED() << "ReportCustomFlags(): flag '" << flag 2216 NOTREACHED() << "ReportAboutFlagsHistogram(): flag '" << flag
2251 << "' has incorrect format."; 2217 << "' has incorrect format.";
2252 } 2218 }
2253 DVLOG(1) << "ReportCustomFlags(): histogram='" << uma_histogram_hame 2219 DVLOG(1) << "ReportAboutFlagsHistogram(): histogram='" << uma_histogram_name
2254 << "' '" << flag << "', uma_id=" << uma_id; 2220 << "' '" << flag << "', uma_id=" << uma_id;
2255 2221
2256 // Sparse histogram macro does not cache the histogram, so it's safe 2222 // Sparse histogram macro does not cache the histogram, so it's safe
2257 // to use macro with non-static histogram name here. 2223 // to use macro with non-static histogram name here.
2258 UMA_HISTOGRAM_SPARSE_SLOWLY(uma_histogram_hame, uma_id); 2224 UMA_HISTOGRAM_SPARSE_SLOWLY(uma_histogram_name, uma_id);
2259 } 2225 }
2260 } 2226 }
2261 2227
2262 namespace testing { 2228 namespace testing {
2263 2229
2264 const base::HistogramBase::Sample kBadSwitchFormatHistogramId = 0; 2230 const base::HistogramBase::Sample kBadSwitchFormatHistogramId = 0;
2265 2231
2266 const FeatureEntry* GetFeatureEntries(size_t* count) { 2232 const FeatureEntry* GetFeatureEntries(size_t* count) {
2267 *count = arraysize(kFeatureEntries); 2233 *count = arraysize(kFeatureEntries);
2268 return kFeatureEntries; 2234 return kFeatureEntries;
2269 } 2235 }
2270 2236
2271 } // namespace testing 2237 } // namespace testing
2272 2238
2273 } // namespace about_flags 2239 } // namespace about_flags
OLDNEW
« no previous file with comments | « chrome/browser/about_flags.h ('k') | chrome/browser/chromeos/login/session/user_session_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698