Chromium Code Reviews| 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 d1a8872065e341e299c68b63a7a290a21a97e675..279d3e3b608d034c2353249c015c7b324ab98230 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" |
| @@ -50,9 +51,16 @@ struct SwReporterInvocation { |
| // 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 = false; |
| + // Flags to control optional behaviours. By default all are enabled; |
| + // experimental versions of the reporter will turn off the behaviours that |
| + // are not yet supported. |
| + using Flags = unsigned int; |
|
grt (UTC plus 2)
2016/09/01 21:08:56
"unsigned int" is almost never what you want; see
Joe Mason
2016/09/02 02:24:30
Done.
|
| + enum : Flags { |
| + FLAG_LOG_TO_RAPPOR = 0x1, |
| + FLAG_LOG_TO_PREFS = 0x2, |
| + FLAG_TRIGGER_PROMPT = 0x4, |
| + }; |
| + Flags flags = FLAG_LOG_TO_RAPPOR | FLAG_LOG_TO_PREFS | FLAG_TRIGGER_PROMPT; |
| SwReporterInvocation(); |
| @@ -63,18 +71,25 @@ struct SwReporterInvocation { |
| bool operator==(const SwReporterInvocation& other) const; |
| }; |
| +using SwReporterQueue = std::queue<SwReporterInvocation>; |
| + |
| // Tries to run the sw_reporter component, and then schedule the next try. If |
| // called multiple times, then multiple sequences of trying to run will happen, |
| -// yet only one reporter will run per specified period (either |
| +// yet only one SwReporterQueue will run per specified period (either |
| // |kDaysBetweenSuccessfulSwReporterRuns| or |
| // |kDaysBetweenSwReporterRunsForPendingPrompt|) will actually happen. |
|
grt (UTC plus 2)
2016/09/01 21:08:55
i think " will actually happen" should be removed.
Joe Mason
2016/09/02 02:24:30
Done.
|
| -// |invocation| is the details of the SwReporter to execute, and |version| is |
| -// its version. The task runners are provided to allow tests to provide their |
| -// own. |
| -void RunSwReporter(const SwReporterInvocation& invocation, |
| - const base::Version& version, |
| - scoped_refptr<base::TaskRunner> main_thread_task_runner, |
| - scoped_refptr<base::TaskRunner> blocking_task_runner); |
| +// |
| +// Each "run" of the sw_reporter component may actually involve executing the |
|
grt (UTC plus 2)
2016/09/01 21:08:55
suggestion: "...may aggregate the results of sever
Joe Mason
2016/09/02 02:24:30
Done.
|
| +// tool several times with different command-lines, and aggregating the |
| +// results. |invocations| is the queue of SwReporters to execute as a single |
| +// "run". When a new try is scheduled the entire queue is executed. |
| +// |
| +// |version| is the version of the tool that will run. The task runners are |
| +// provided to allow tests to provide their own. |
| +void RunSwReporters(const SwReporterQueue& 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 |