| Index: chrome/browser/profile_resetter/profile_resetter.cc
|
| diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc
|
| index 2528754e54cd862b11263556b1dcaddd7be86fc1..1696b537f76faa9b7d459a2b835c159a74fb2112 100644
|
| --- a/chrome/browser/profile_resetter/profile_resetter.cc
|
| +++ b/chrome/browser/profile_resetter/profile_resetter.cc
|
| @@ -5,12 +5,16 @@
|
| #include "chrome/browser/profile_resetter/profile_resetter.h"
|
|
|
| #include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/search_engines/template_url_prepopulate_data.h"
|
| +#include "chrome/browser/search_engines/template_url_service.h"
|
| +#include "chrome/browser/search_engines/template_url_service_factory.h"
|
| #include "content/public/browser/browser_thread.h"
|
|
|
| ProfileResetter::ProfileResetter(Profile* profile)
|
| : profile_(profile),
|
| pending_reset_flags_(0) {
|
| DCHECK(CalledOnValidThread());
|
| + DCHECK(profile_);
|
| }
|
|
|
| ProfileResetter::~ProfileResetter() {}
|
| @@ -70,13 +74,20 @@ void ProfileResetter::MarkAsDone(Resettable resettable) {
|
| pending_reset_flags_ &= ~resettable;
|
|
|
| if (!pending_reset_flags_)
|
| - callback_.Run();
|
| + content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
|
| + callback_);
|
| }
|
|
|
| void ProfileResetter::ResetDefaultSearchEngine() {
|
| DCHECK(CalledOnValidThread());
|
| - NOTIMPLEMENTED();
|
| - // TODO(battre/vabr): Implement
|
| +
|
| + TemplateURLPrepopulateData::ClearPrepopulatedEnginesInPrefs(profile_);
|
| + TemplateURLService* template_url_service =
|
| + TemplateURLServiceFactory::GetForProfile(profile_);
|
| + DCHECK(template_url_service);
|
| + template_url_service->ClearDefaultProviderFromPrefs();
|
| + template_url_service->ResetNonExtensionURLs();
|
| +
|
| MarkAsDone(DEFAULT_SEARCH_ENGINE);
|
| }
|
|
|
|
|