Index: chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.cc |
diff --git a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.cc b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.cc |
index 9eb9da33abb64205e1e5f25fb01353a712534561..d0ea9bece2d2f8fbf936c912417564a6f5df1b2f 100644 |
--- a/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.cc |
+++ b/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.cc |
@@ -157,6 +157,15 @@ bool ChromeCleanerController::ShouldShowCleanupInSettingsUI() { |
state == State::kRebootRequired; |
} |
+void ChromeCleanerController::SetLogsEnabled(bool logs_enabled) { |
+ if (logs_enabled_ == logs_enabled) |
+ return; |
+ |
+ logs_enabled_ = logs_enabled; |
+ for (auto& observer : observer_list_) |
+ observer.OnLogsEnabledChanged(logs_enabled_); |
+} |
+ |
void ChromeCleanerController::SetDelegateForTesting( |
ChromeCleanerControllerDelegate* delegate) { |
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); |
@@ -214,8 +223,15 @@ void ChromeCleanerController::ReplyWithUserResponse( |
PromptAcceptance acceptance = PromptAcceptance::DENIED; |
State new_state = State::kIdle; |
switch (user_response) { |
- case UserResponse::kAccepted: |
- acceptance = PromptAcceptance::ACCEPTED; |
+ case UserResponse::kAcceptedWithLogs: |
+ acceptance = PromptAcceptance::ACCEPTED_WITH_LOGS; |
+ SetLogsEnabled(true); |
+ new_state = State::kCleaning; |
+ delegate_->TagForResetting(profile); |
+ break; |
+ case UserResponse::kAcceptedWithoutLogs: |
+ acceptance = PromptAcceptance::ACCEPTED_WITHOUT_LOGS; |
+ SetLogsEnabled(false); |
new_state = State::kCleaning; |
delegate_->TagForResetting(profile); |
break; |