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

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

Issue 2847823004: [tracing] Allow enabling heap profiling from chrome://flags (Closed)
Patch Set: Created 3 years, 7 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 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 920
921 #if defined(OS_ANDROID) 921 #if defined(OS_ANDROID)
922 const FeatureEntry::FeatureParam kPersistentMenuItemEnabled[] = { 922 const FeatureEntry::FeatureParam kPersistentMenuItemEnabled[] = {
923 {"persistent_menu_item_enabled", "true"}}; 923 {"persistent_menu_item_enabled", "true"}};
924 924
925 const FeatureEntry::FeatureVariation kDataReductionMainMenuFeatureVariations[] = 925 const FeatureEntry::FeatureVariation kDataReductionMainMenuFeatureVariations[] =
926 {{"(persistent)", kPersistentMenuItemEnabled, 926 {{"(persistent)", kPersistentMenuItemEnabled,
927 arraysize(kPersistentMenuItemEnabled), nullptr}}; 927 arraysize(kPersistentMenuItemEnabled), nullptr}};
928 #endif // OS_ANDROID 928 #endif // OS_ANDROID
929 929
930 const FeatureEntry::Choice kEnableHeapProfilingChoices[] = {
931 {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
932 {flag_descriptions::kEnableHeapProfilingModePseudo,
933 switches::kEnableHeapProfiling, switches::kEnableHeapProfilingModePseudo},
934 {flag_descriptions::kEnableHeapProfilingModeNative,
935 switches::kEnableHeapProfiling, switches::kEnableHeapProfilingModeNative},
936 {flag_descriptions::kEnableHeapProfilingTaskProfiler,
937 switches::kEnableHeapProfiling,
938 switches::kEnableHeapProfilingTaskProfiler}};
939
930 // RECORDING USER METRICS FOR FLAGS: 940 // RECORDING USER METRICS FOR FLAGS:
931 // ----------------------------------------------------------------------------- 941 // -----------------------------------------------------------------------------
932 // The first line of the entry is the internal name. 942 // The first line of the entry is the internal name.
933 // 943 //
934 // To add a new entry, add to the end of kFeatureEntries. There are two 944 // To add a new entry, add to the end of kFeatureEntries. There are two
935 // distinct types of entries: 945 // distinct types of entries:
936 // . SINGLE_VALUE: entry is either on or off. Use the SINGLE_VALUE_TYPE 946 // . SINGLE_VALUE: entry is either on or off. Use the SINGLE_VALUE_TYPE
937 // macro for this type supplying the command line to the macro. 947 // macro for this type supplying the command line to the macro.
938 // . MULTI_VALUE: a list of choices, the first of which should correspond to a 948 // . MULTI_VALUE: a list of choices, the first of which should correspond to a
939 // deactivated state for this lab (i.e. no command line option). To specify 949 // deactivated state for this lab (i.e. no command line option). To specify
(...skipping 1821 matching lines...) Expand 10 before | Expand all | Expand 10 after
2761 {"enable-clipboard-provider", 2771 {"enable-clipboard-provider",
2762 flag_descriptions::kEnableOmniboxClipboardProviderName, 2772 flag_descriptions::kEnableOmniboxClipboardProviderName,
2763 flag_descriptions::kEnableOmniboxClipboardProviderDescription, kOsAndroid, 2773 flag_descriptions::kEnableOmniboxClipboardProviderDescription, kOsAndroid,
2764 FEATURE_VALUE_TYPE(omnibox::kEnableClipboardProvider)}, 2774 FEATURE_VALUE_TYPE(omnibox::kEnableClipboardProvider)},
2765 #endif 2775 #endif
2766 2776
2767 {"autoplay-policy", flag_descriptions::kAutoplayPolicyName, 2777 {"autoplay-policy", flag_descriptions::kAutoplayPolicyName,
2768 flag_descriptions::kAutoplayPolicyDescription, kOsAll, 2778 flag_descriptions::kAutoplayPolicyDescription, kOsAll,
2769 MULTI_VALUE_TYPE(kAutoplayPolicyChoices)}, 2779 MULTI_VALUE_TYPE(kAutoplayPolicyChoices)},
2770 2780
2781 {"enable-heap-profiling", flag_descriptions::kEnableHeapProfilingName,
2782 flag_descriptions::kEnableHeapProfilingDescription, kOsAll,
2783 MULTI_VALUE_TYPE(kEnableHeapProfilingChoices)},
2784
2771 // NOTE: Adding new command-line switches requires adding corresponding 2785 // NOTE: Adding new command-line switches requires adding corresponding
2772 // entries to enum "LoginCustomFlags" in histograms.xml. See note in 2786 // entries to enum "LoginCustomFlags" in histograms.xml. See note in
2773 // histograms.xml and don't forget to run AboutFlagsHistogramTest unit test. 2787 // histograms.xml and don't forget to run AboutFlagsHistogramTest unit test.
2774 }; 2788 };
2775 2789
2776 class FlagsStateSingleton { 2790 class FlagsStateSingleton {
2777 public: 2791 public:
2778 FlagsStateSingleton() 2792 FlagsStateSingleton()
2779 : flags_state_(kFeatureEntries, arraysize(kFeatureEntries)) {} 2793 : flags_state_(kFeatureEntries, arraysize(kFeatureEntries)) {}
2780 ~FlagsStateSingleton() {} 2794 ~FlagsStateSingleton() {}
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
2986 const base::HistogramBase::Sample kBadSwitchFormatHistogramId = 0; 3000 const base::HistogramBase::Sample kBadSwitchFormatHistogramId = 0;
2987 3001
2988 const FeatureEntry* GetFeatureEntries(size_t* count) { 3002 const FeatureEntry* GetFeatureEntries(size_t* count) {
2989 *count = arraysize(kFeatureEntries); 3003 *count = arraysize(kFeatureEntries);
2990 return kFeatureEntries; 3004 return kFeatureEntries;
2991 } 3005 }
2992 3006
2993 } // namespace testing 3007 } // namespace testing
2994 3008
2995 } // namespace about_flags 3009 } // namespace about_flags
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698