OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |