| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/profile_resetter/profile_resetter.h" | 5 #include "chrome/browser/profile_resetter/profile_resetter.h" |
| 6 | 6 |
| 7 #include "chrome/browser/profiles/profile.h" | 7 #include "chrome/browser/profiles/profile.h" |
| 8 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" |
| 9 #include "chrome/browser/search_engines/template_url_service.h" |
| 10 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 8 #include "content/public/browser/browser_thread.h" | 11 #include "content/public/browser/browser_thread.h" |
| 9 | 12 |
| 10 ProfileResetter::ProfileResetter(Profile* profile) | 13 ProfileResetter::ProfileResetter(Profile* profile) |
| 11 : profile_(profile), | 14 : profile_(profile), |
| 12 pending_reset_flags_(0) { | 15 pending_reset_flags_(0) { |
| 13 DCHECK(CalledOnValidThread()); | 16 DCHECK(CalledOnValidThread()); |
| 17 DCHECK(profile_); |
| 14 } | 18 } |
| 15 | 19 |
| 16 ProfileResetter::~ProfileResetter() {} | 20 ProfileResetter::~ProfileResetter() {} |
| 17 | 21 |
| 18 void ProfileResetter::Reset(ProfileResetter::ResettableFlags resettable_flags, | 22 void ProfileResetter::Reset(ProfileResetter::ResettableFlags resettable_flags, |
| 19 ExtensionHandling extension_handling, | 23 ExtensionHandling extension_handling, |
| 20 const base::Closure& callback) { | 24 const base::Closure& callback) { |
| 21 DCHECK(CalledOnValidThread()); | 25 DCHECK(CalledOnValidThread()); |
| 22 | 26 |
| 23 // We should never be called with unknown flags. | 27 // We should never be called with unknown flags. |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 | 67 |
| 64 void ProfileResetter::MarkAsDone(Resettable resettable) { | 68 void ProfileResetter::MarkAsDone(Resettable resettable) { |
| 65 DCHECK(CalledOnValidThread()); | 69 DCHECK(CalledOnValidThread()); |
| 66 | 70 |
| 67 // Check that we are never called twice or unexpectedly. | 71 // Check that we are never called twice or unexpectedly. |
| 68 CHECK(pending_reset_flags_ & resettable); | 72 CHECK(pending_reset_flags_ & resettable); |
| 69 | 73 |
| 70 pending_reset_flags_ &= ~resettable; | 74 pending_reset_flags_ &= ~resettable; |
| 71 | 75 |
| 72 if (!pending_reset_flags_) | 76 if (!pending_reset_flags_) |
| 73 callback_.Run(); | 77 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, |
| 78 callback_); |
| 74 } | 79 } |
| 75 | 80 |
| 76 void ProfileResetter::ResetDefaultSearchEngine() { | 81 void ProfileResetter::ResetDefaultSearchEngine() { |
| 77 DCHECK(CalledOnValidThread()); | 82 DCHECK(CalledOnValidThread()); |
| 78 NOTIMPLEMENTED(); | 83 |
| 79 // TODO(battre/vabr): Implement | 84 TemplateURLPrepopulateData::ClearPrepopulatedEnginesInPrefs(profile_); |
| 85 TemplateURLService* template_url_service = |
| 86 TemplateURLServiceFactory::GetForProfile(profile_); |
| 87 DCHECK(template_url_service); |
| 88 template_url_service->ClearDefaultProviderFromPrefs(); |
| 89 template_url_service->ResetNonExtensionURLs(); |
| 90 |
| 80 MarkAsDone(DEFAULT_SEARCH_ENGINE); | 91 MarkAsDone(DEFAULT_SEARCH_ENGINE); |
| 81 } | 92 } |
| 82 | 93 |
| 83 void ProfileResetter::ResetHomepage() { | 94 void ProfileResetter::ResetHomepage() { |
| 84 DCHECK(CalledOnValidThread()); | 95 DCHECK(CalledOnValidThread()); |
| 85 NOTIMPLEMENTED(); | 96 NOTIMPLEMENTED(); |
| 86 // TODO(battre/vabr): Implement | 97 // TODO(battre/vabr): Implement |
| 87 MarkAsDone(HOMEPAGE); | 98 MarkAsDone(HOMEPAGE); |
| 88 } | 99 } |
| 89 | 100 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 100 // TODO(battre/vabr): Implement | 111 // TODO(battre/vabr): Implement |
| 101 MarkAsDone(COOKIES_AND_SITE_DATA); | 112 MarkAsDone(COOKIES_AND_SITE_DATA); |
| 102 } | 113 } |
| 103 | 114 |
| 104 void ProfileResetter::ResetExtensions(ExtensionHandling extension_handling) { | 115 void ProfileResetter::ResetExtensions(ExtensionHandling extension_handling) { |
| 105 DCHECK(CalledOnValidThread()); | 116 DCHECK(CalledOnValidThread()); |
| 106 NOTIMPLEMENTED(); | 117 NOTIMPLEMENTED(); |
| 107 // TODO(battre/vabr): Implement | 118 // TODO(battre/vabr): Implement |
| 108 MarkAsDone(EXTENSIONS); | 119 MarkAsDone(EXTENSIONS); |
| 109 } | 120 } |
| OLD | NEW |