| Index: chrome/browser/about_flags.h
|
| diff --git a/chrome/browser/about_flags.h b/chrome/browser/about_flags.h
|
| index 55859db985106a932db1ab706f74d13f416c2512..7a229a7e140326c481505d797361c76725ede75d 100644
|
| --- a/chrome/browser/about_flags.h
|
| +++ b/chrome/browser/about_flags.h
|
| @@ -5,7 +5,10 @@
|
| #ifndef CHROME_BROWSER_ABOUT_FLAGS_H_
|
| #define CHROME_BROWSER_ABOUT_FLAGS_H_
|
|
|
| +#include <stdint.h>
|
| +
|
| #include <map>
|
| +#include <set>
|
| #include <string>
|
|
|
| #include "base/command_line.h"
|
| @@ -21,6 +24,10 @@ namespace about_flags {
|
|
|
| class FlagsStorage;
|
|
|
| +// This value is reported as switch histogram ID if switch name has unknown
|
| +// format.
|
| +extern const uint32_t kBadSwitchFormatHistogramId;
|
| +
|
| // Enumeration of OSs.
|
| // This is exposed only for testing.
|
| enum { kOsMac = 1 << 0, kOsWin = 1 << 1, kOsLinux = 1 << 2 , kOsCrOS = 1 << 3,
|
| @@ -117,9 +124,12 @@ void ConvertFlagsToSwitches(FlagsStorage* flags_storage,
|
|
|
| // Compares a set of switches of the two provided command line objects and
|
| // returns true if they are the same and false otherwise.
|
| +// If |out_difference| is not NULL, it's filled with set_symmetric_difference
|
| +// between sets.
|
| bool AreSwitchesIdenticalToCurrentCommandLine(
|
| const base::CommandLine& new_cmdline,
|
| - const base::CommandLine& active_cmdline);
|
| + const base::CommandLine& active_cmdline,
|
| + std::set<CommandLine::StringType>* out_difference);
|
|
|
| // Differentiate between generic flags available on a per session base and flags
|
| // that influence the whole machine and can be said by the admin only. This flag
|
| @@ -160,6 +170,16 @@ int GetCurrentPlatform();
|
| // startup.
|
| void RecordUMAStatistics(FlagsStorage* flags_storage);
|
|
|
| +// Returns the UMA id for the specified switch name.
|
| +uint32_t GetSwitchUMAId(const std::string& switch_name);
|
| +
|
| +// Sends stats (as UMA histogram) about command_line_difference.
|
| +// This is used on ChromeOS to report flags that lead to browser restart.
|
| +// |command_line_difference| is the result of
|
| +// AreSwitchesIdenticalToCurrentCommandLine().
|
| +void ReportCustomFlags(const std::string& uma_histogram_hame,
|
| + const std::set<std::string>& command_line_difference);
|
| +
|
| namespace testing {
|
|
|
| // Clears internal global state, for unit tests.
|
|
|