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 a44c6a5f510fbb7230e6b6ac742ea17429120120..b93f4dd17296fe8491e72706ebb08a0ae0aab469 100644 |
--- a/chrome/browser/search_engines/template_url_service.cc |
+++ b/chrome/browser/search_engines/template_url_service.cc |
@@ -317,14 +317,28 @@ void TemplateURLService::Remove(const TemplateURL* template_url) { |
NotifyObservers(); |
} |
+void TemplateURLService::RemoveAutoGeneratedSince(base::Time created_after) { |
+ RemoveAutoGeneratedBetween(created_after, base::Time()); |
+} |
+ |
void TemplateURLService::RemoveAutoGeneratedBetween(base::Time created_after, |
base::Time created_before) { |
+ RemoveAutoGeneratedForOriginBetween(GURL(), created_after, created_before); |
+} |
+ |
+void TemplateURLService::RemoveAutoGeneratedForOriginBetween( |
+ const GURL& origin, |
+ base::Time created_after, |
+ base::Time created_before) { |
+ 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 { |
@@ -335,9 +349,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. |