Index: chrome/browser/search_engines/template_url_service.cc |
diff --git a/chrome/browser/search_engines/template_url_service.cc b/chrome/browser/search_engines/template_url_service.cc |
index e89b9e35ee7442c93826cb71d49f743c358f8d6b..6c1a93b0530f2245fe7106870f167e47499fc1fd 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -325,12 +325,26 @@ void TemplateURLService::Remove(const TemplateURL* template_url) { |
void TemplateURLService::RemoveAutoGeneratedBetween(base::Time created_after, |
base::Time created_before) { |
+ RemoveAutoGeneratedForOriginBetween(created_after, created_before, GURL()); |
+} |
+ |
+void TemplateURLService::RemoveAutoGeneratedSince(base::Time created_after) { |
+ RemoveAutoGeneratedForOriginBetween(created_after, base::Time(), GURL()); |
+} |
+ |
+void TemplateURLService::RemoveAutoGeneratedForOriginBetween( |
+ base::Time created_after, |
+ base::Time created_before, |
+ const GURL& origin) { |
+ GURL o(origin.GetOrigin()); |
bool should_notify = false; |
for (size_t i = 0; i < template_urls_.size();) { |
if (template_urls_[i]->date_created() >= created_after && |
(created_before.is_null() || |
template_urls_[i]->date_created() < created_before) && |
- CanReplace(template_urls_[i])) { |
+ CanReplace(template_urls_[i]) && |
+ (o.is_empty() || |
+ GenerateSearchURL(template_urls_[i]).GetOrigin() == o)) { |
RemoveNoNotify(template_urls_[i]); |
should_notify = true; |
} else { |
@@ -341,9 +355,6 @@ void TemplateURLService::RemoveAutoGeneratedBetween(base::Time created_after, |
NotifyObservers(); |
} |
-void TemplateURLService::RemoveAutoGeneratedSince(base::Time created_after) { |
- RemoveAutoGeneratedBetween(created_after, base::Time()); |
-} |
void TemplateURLService::RegisterExtensionKeyword(const Extension* extension) { |
// TODO(mpcomplete): disable the keyword when the extension is disabled. |