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

Unified Diff: chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h

Issue 2966453002: Chrome Cleaner UI: Add logs upload permission checkbox to the dialog (Closed)
Patch Set: More comments Created 3 years, 6 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/chrome_cleaner/chrome_cleaner_controller_win.h
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h
index 45ec62c5a85a1e28d7ab04355947f36d67ed0522..0547e742dc1c44fdc0d95bcf1b9ec941b1ac60c3 100644
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h
@@ -91,8 +91,10 @@ class ChromeCleanerController {
};
enum class UserResponse {
- // User accepted the cleanup operation.
- kAccepted,
+ // User accepted the cleanup operation and logs upload is enabled.
+ kAcceptedWithLogs,
+ // User accepted the cleanup operation and logs upload is not enabled.
+ kAcceptedWithoutLogs,
// User explicitly denied the cleanup operation, for example by clicking the
// Cleaner dialog's cancel button.
kDenied,
@@ -109,6 +111,7 @@ class ChromeCleanerController {
virtual void OnCleaning(const std::set<base::FilePath>& files_to_delete) {}
virtual void OnRebootRequired() {}
virtual void OnRebootFailed() {}
+ virtual void OnLogsEnabledChanged(bool logs_enabled) {}
protected:
virtual ~Observer() = default;
@@ -123,6 +126,12 @@ class ChromeCleanerController {
State state() const { return state_; }
+ // Called by Chrome Cleaner's UI when the user changes Cleaner logs upload
+ // permissions. Observers are notified if |logs_enabled| is different from the
+ // current permission state.
+ void SetLogsEnabled(bool logs_enabled);
+ bool logs_enabled() const { return logs_enabled_; }
+
// |AddObserver()| immediately notifies |observer| of the controller's state
// by calling the corresponding |On*()| function.
void AddObserver(Observer* observer);
@@ -167,10 +176,10 @@ class ChromeCleanerController {
// if the system calls to initiate a reboot return success.
void Reboot();
+ static void ResetInstanceForTesting();
// Passing in a nullptr as |delegate| resets the delegate to a default
// production version.
void SetDelegateForTesting(ChromeCleanerControllerDelegate* delegate);
- void DismissRebootForTesting();
private:
ChromeCleanerController();
@@ -216,6 +225,9 @@ class ChromeCleanerController {
ChromeCleanerControllerDelegate* delegate_;
State state_ = State::kIdle;
+ // The logs permission checkboxes in the Chrome Cleaner dialog and webui page
+ // are opt out.
+ bool logs_enabled_ = true;
IdleReason idle_reason_ = IdleReason::kInitial;
std::unique_ptr<SwReporterInvocation> reporter_invocation_;
std::unique_ptr<std::set<base::FilePath>> files_to_delete_;

Powered by Google App Engine
This is Rietveld 408576698