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

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

Issue 2906103002: Post-cleanup settings reset. (Closed)
Patch Set: Created 3 years, 7 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.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 ce874ab3c967716d85b29b8e7ce84732f0c1629c..e92c0f8a081281386c0a5b410fd0bad79479ebc4 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
@@ -2,10 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// DO NOT SUBMIT. Please ignore changes to this file for the moment.
+
#include "chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_controller_win.h"
#include "base/command_line.h"
#include "base/logging.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.h"
+#include "components/chrome_cleaner/public/constants/constants.h"
#include "content/public/browser/browser_thread.h"
namespace safe_browsing {
@@ -95,6 +100,8 @@ void ChromeCleanerController::Cleanup() {
if (state_ != State::kInfected)
return;
+ TagCurrentProfileForResetting();
+
state_ = State::kCleaning;
idle_reason_ = IdleReason::kInitialState;
NotifyAllObservers();
@@ -136,6 +143,9 @@ ChromeCleanerController::~ChromeCleanerController() {
g_chrome_cleaner_controller = nullptr;
}
+constexpr char kPostRebootResetPrefName[] =
+ "safebrowsing.chrome_cleaner.post_reboot_reset";
+
void ChromeCleanerController::OnCleanupFinished() {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
@@ -143,10 +153,18 @@ void ChromeCleanerController::OnCleanupFinished() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch("reboot-required")) {
state_ = State::kRebootRequired;
idle_reason_ = IdleReason::kInitialState;
+ NotifyAllObservers();
+ SetKeepAlive(true);
} else {
state_ = State::kIdle;
idle_reason_ = GetIdleReasonFromCommandLine();
+ ResetCurrentProfilePostCleanupIfTagged(base::BindOnce(
+ &ChromeCleanerController::FinalizeCleanup, base::RetainedRef(this)));
}
+}
+
+void ChromeCleanerController::FinalizeCleanup() {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
NotifyAllObservers();
SetKeepAlive(false);

Powered by Google App Engine
This is Rietveld 408576698