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. |