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

Unified Diff: chrome/browser/safe_browsing/srt_fetcher_win.h

Issue 2846333003: Chrome cleaner: move Chrome Cleaner files to their own directory (Closed)
Patch Set: Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
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
deleted file mode 100644
index 26400ce1b6a8279779727ca995994b10e03974ef..0000000000000000000000000000000000000000
--- a/chrome/browser/safe_browsing/srt_fetcher_win.h
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SAFE_BROWSING_SRT_FETCHER_WIN_H_
-#define CHROME_BROWSER_SAFE_BROWSING_SRT_FETCHER_WIN_H_
-
-#include <limits.h>
-#include <stdint.h>
-
-#include <queue>
-#include <string>
-
-#include "base/command_line.h"
-#include "base/feature_list.h"
-#include "base/process/launch.h"
-#include "base/process/process.h"
-#include "base/time/time.h"
-#include "components/chrome_cleaner/public/interfaces/chrome_prompt.mojom.h"
-
-namespace base {
-class FilePath;
-class TaskRunner;
-class Version;
-}
-
-class Browser;
-
-namespace safe_browsing {
-
-class ChromePromptImpl;
-
-// A special exit code identifying a failure to run the reporter.
-const int kReporterNotLaunchedExitCode = INT_MAX;
-
-// The number of days to wait before triggering another reporter run.
-const int kDaysBetweenSuccessfulSwReporterRuns = 7;
-const int kDaysBetweenSwReporterRunsForPendingPrompt = 1;
-// The number of days to wait before sending out reporter logs.
-const int kDaysBetweenReporterLogsSent = 7;
-
-// When enabled, moves all user interaction with the Software Reporter and the
-// Chrome Cleanup tool to Chrome.
-extern const base::Feature kInBrowserCleanerUIFeature;
-
-// Parameters used to invoke the sw_reporter component.
-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;
-
- // Flags to control behaviours the Software Reporter should support by
- // default. These flags are set in the Reporter installer, and experimental
- // versions of the reporter will turn on the behaviours that are not yet
- // supported.
- using Behaviours = uint32_t;
- enum : Behaviours {
- BEHAVIOUR_LOG_EXIT_CODE_TO_PREFS = 0x2,
- BEHAVIOUR_TRIGGER_PROMPT = 0x4,
- BEHAVIOUR_ALLOW_SEND_REPORTER_LOGS = 0x8,
- };
- Behaviours supported_behaviours = 0;
-
- // Whether logs upload was enabled in this invocation.
- bool logs_upload_enabled = false;
-
- SwReporterInvocation();
-
- static SwReporterInvocation FromFilePath(const base::FilePath& exe_path);
- static SwReporterInvocation FromCommandLine(
- const base::CommandLine& command_line);
-
- bool operator==(const SwReporterInvocation& other) const;
-
- bool BehaviourIsSupported(Behaviours intended_behaviour) 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 SwReporterQueue will actually run per specified period (either
-// |kDaysBetweenSuccessfulSwReporterRuns| or
-// |kDaysBetweenSwReporterRunsForPendingPrompt|).
-//
-// Each "run" of the sw_reporter component may aggregate the results of several
-// executions of the tool with different command lines. |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.
-void RunSwReporters(const SwReporterQueue& invocations,
- const base::Version& version);
-
-// 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.
-bool ReporterFoundUws();
-
-// Returns true iff a valid registry key for the SRT Cleaner exists, and that
-// key is nonempty.
-// TODO(tmartino): Consider changing to check whether the user has recently
-// run the cleaner, rather than checking if they've run it at all.
-bool UserHasRunCleaner();
-
-// A delegate used by tests to implement test doubles (e.g., stubs, fakes, or
-// mocks).
-class SwReporterTestingDelegate {
- public:
- virtual ~SwReporterTestingDelegate() {}
-
- // Invoked by tests in places of base::LaunchProcess.
- // See chrome_cleaner::mojom::ChromePromptRequest().
- virtual base::Process LaunchReporter(
- const SwReporterInvocation& invocation,
- const base::LaunchOptions& launch_options) = 0;
-
- // Invoked by tests in place of the actual prompting logic.
- // See MaybeFetchSRT().
- virtual void TriggerPrompt(Browser* browser,
- const std::string& reporter_version) = 0;
-
- // Invoked by tests to override the current time.
- // See Now() in srt_fetcher_win.cc.
- virtual base::Time Now() const = 0;
-
- // A task runner used to spawn the reporter process (which blocks).
- // See ReporterRunner::ScheduleNextInvocation().
- virtual base::TaskRunner* BlockingTaskRunner() const = 0;
-
- // Returns a ChromePromptImpl object that keeps track of specific
- // actions during tests. Replaces the object returned by
- // SwReporterProcess::CreateChromePromptImpl().
- // See SwReporterProcess::LaunchConnectedReporterProcess().
- virtual std::unique_ptr<ChromePromptImpl> CreateChromePromptImpl(
- chrome_cleaner::mojom::ChromePromptRequest request) = 0;
-
- // Connection closed callback defined by tests in place of the default
- // error handler. See SRTFetcherTest::CreateChromePromptImpl().
- virtual void OnConnectionClosed() = 0;
-
- // Bad message handler callback defined by tests in place of the default
- // error handler. See SwReporterProcess::LaunchConnectedReporterProcess().
- virtual void OnConnectionError(const std::string& message) = 0;
-};
-
-// Set a delegate for testing. The implementation will not take ownership of
-// |delegate| - it must remain valid until this function is called again to
-// reset the delegate. If |delegate| is nullptr, any previous delegate is
-// cleared.
-void SetSwReporterTestingDelegate(SwReporterTestingDelegate* delegate);
-
-void DisplaySRTPromptForTesting(const base::FilePath& download_path);
-
-} // namespace safe_browsing
-
-#endif // CHROME_BROWSER_SAFE_BROWSING_SRT_FETCHER_WIN_H_
« no previous file with comments | « chrome/browser/safe_browsing/srt_fetcher_browsertest_win.cc ('k') | chrome/browser/safe_browsing/srt_fetcher_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698