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 |