| Index: chrome/browser/safe_browsing/srt_fetcher_win.h
|
| diff --git a/chrome/browser/safe_browsing/srt_fetcher_win.h b/chrome/browser/safe_browsing/srt_fetcher_win.h
|
| index 8141ebb115b6bca9fe9be629709b6f613451703a..c8c04a848e5b6ed7a33e957541a1a04daaa35bcc 100644
|
| --- a/chrome/browser/safe_browsing/srt_fetcher_win.h
|
| +++ b/chrome/browser/safe_browsing/srt_fetcher_win.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <limits.h>
|
|
|
| +#include <queue>
|
| #include <string>
|
|
|
| #include "base/callback_forward.h"
|
| @@ -48,6 +49,15 @@ const int kSRTFetcherID = 47;
|
| struct SwReporterInvocation {
|
| base::CommandLine command_line;
|
|
|
| + // Experimental versions of the reporter will write metrics to registry keys
|
| + // ending in |suffix|. Those metrics should be copied to UMA histograms also
|
| + // ending in |suffix|. For the canonical version, |suffix| will be empty.
|
| + std::string suffix;
|
| +
|
| + // The experimental sw_reporter never triggers the prompt, just reports
|
| + // results through UMA.
|
| + bool is_experimental;
|
| +
|
| SwReporterInvocation();
|
| explicit SwReporterInvocation(const base::FilePath& exe_path);
|
| explicit SwReporterInvocation(const base::CommandLine& command_line);
|
| @@ -68,6 +78,24 @@ void RunSwReporter(const SwReporterInvocation& invocation,
|
| scoped_refptr<base::TaskRunner> main_thread_task_runner,
|
| scoped_refptr<base::TaskRunner> blocking_task_runner);
|
|
|
| +// Try to run multiple invocations of the sw_reporter component, with different
|
| +// combinations of command line args. Each set of invocations is treated as a
|
| +// normal scheduled launch of the sw_reporter for the purposes of retries, as
|
| +// described in |RunSwReporter|.
|
| +//
|
| +// |invocations| is a list of sw_reporter configurations which will be launched
|
| +// in order. Once one has been executed, the reporter is considered to have
|
| +// "run" - the remainder will also be executed as part of this run, but then
|
| +// the reporter will not be run again for the specified period. If none of the
|
| +// invocations in the queue execute, another queue can be tried by calling this
|
| +// function again.
|
| +//
|
| +// See |RunSwReporter| for the meaning of the remaining parameters.
|
| +void RunSwReporters(const std::queue<SwReporterInvocation>& invocations,
|
| + const base::Version& version,
|
| + scoped_refptr<base::TaskRunner> main_thread_task_runner,
|
| + scoped_refptr<base::TaskRunner> blocking_task_runner);
|
| +
|
| // Returns true iff Local State is successfully accessed and indicates the most
|
| // recent Reporter run terminated with an exit code indicating the presence of
|
| // UwS.
|
|
|