Chromium Code Reviews| Index: chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.h |
| diff --git a/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.h b/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..14601f7771429f2c80c5b6c05fa03b5d09a62ce6 |
| --- /dev/null |
| +++ b/chrome/browser/safe_browsing/chrome_cleaner/settings_resetter_win.h |
| @@ -0,0 +1,66 @@ |
| +// Copyright 2017 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_CHROME_CLEANER_SETTINGS_RESETTER_WIN_H_ |
| +#define CHROME_BROWSER_SAFE_BROWSING_CHROME_CLEANER_SETTINGS_RESETTER_WIN_H_ |
| + |
| +#include <memory> |
| + |
| +#include "base/callback.h" |
| +#include "base/macros.h" |
| +#include "chrome/browser/safe_browsing/settings_reset_prompt/default_settings_fetcher.h" |
| + |
| +class Profile; |
| +class ProfileResetter; |
| + |
| +namespace user_prefs { |
| +class PrefRegistrySyncable; |
| +} // namespace user_prefs |
| + |
| +namespace safe_browsing { |
| + |
| +// Registers the settings reset pending tracked preference. |
| +void RegisterChromeCleanerProfilePrefs( |
| + user_prefs::PrefRegistrySyncable* registry); |
| + |
| +// Returns the post-cleanup reset pending prefs for |profile|. |
| +bool PostCleanupSettingsResetPending(Profile* profile); |
| + |
| +// Updates the post-cleanup reset pending prefs for |profile|. |
| +void RecordPostCleanupSettingsResetPending(bool value, Profile* profile); |
| + |
| +// Tags |profile| to have its settings reset once the current cleanup finishes, |
| +// by means of ResetPostCleanupSettingsIfTagged(). If a cleanup doesn't |
| +// require a reboot and the browser is still running once the cleanup finishes, |
| +// then settings will be reset as soon as the cleaner process returns; if the |
| +// user closes the browser while the cleanup is ongoing, then settings will be |
| +// reset on the first browser restart that happens after the cleaner process |
| +// ends. If the cleanup requires a reboot, then settings will be reset on the |
| +// first browser restart that happens after reboot. |
| +void TagProfileForResetting(Profile* profile); |
| + |
| +class SettingsResetterDelegate { |
| + public: |
| + SettingsResetterDelegate(); |
| + virtual ~SettingsResetterDelegate(); |
| + |
| + virtual void FetchDefaultSettings( |
| + DefaultSettingsFetcher::SettingsCallback callback); |
| + |
| + virtual std::unique_ptr<ProfileResetter> GetProfileResetter(Profile* profile); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(SettingsResetterDelegate); |
| +}; |
| + |
| +// Resets settings for the current profile if it's tagged for reset and a |
|
alito
2017/06/02 05:32:42
The comment says "current profile" but a vector of
ftirelo
2017/06/02 21:20:57
Done.
|
| +// cleanup has completed. |
| +void ResetPostCleanupSettingsIfTagged( |
| + std::vector<Profile*> profile, |
| + base::OnceClosure continuation, |
| + std::unique_ptr<SettingsResetterDelegate> delegate = nullptr); |
| + |
| +} // namespace safe_browsing |
| + |
| +#endif // CHROME_BROWSER_SAFE_BROWSING_CHROME_CLEANER_SETTINGS_RESETTER_WIN_H_ |