| Index: chrome/browser/browsing_data/browsing_data_remover.cc
|
| diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc
|
| index cf4f0af778df91208481c01ea16ddb2edd4b9b25..f9fd23a3c311f87b295362997ec4418f100f2dc5 100644
|
| --- a/chrome/browser/browsing_data/browsing_data_remover.cc
|
| +++ b/chrome/browser/browsing_data/browsing_data_remover.cc
|
| @@ -550,15 +550,16 @@ void BrowsingDataRemover::RemoveImpl(
|
| TemplateURLServiceFactory::GetForProfile(profile_);
|
|
|
| if (keywords_model && !keywords_model->loaded()) {
|
| + // TODO(msramek): Store filters from the currently executed task on the
|
| + // object to avoid having to copy them to callback methods.
|
| template_url_sub_ = keywords_model->RegisterOnLoadedCallback(
|
| base::Bind(&BrowsingDataRemover::OnKeywordsLoaded,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + weak_ptr_factory_.GetWeakPtr(), filter));
|
| keywords_model->Load();
|
| waiting_for_clear_keyword_data_ = true;
|
| } else if (keywords_model) {
|
| - // TODO(dmurph): Support all backends with filter (crbug.com/113621).
|
| - keywords_model->RemoveAutoGeneratedForOriginBetween(GURL(), delete_begin_,
|
| - delete_end_);
|
| + keywords_model->RemoveAutoGeneratedForUrlsBetween(filter, delete_begin_,
|
| + delete_end_);
|
| }
|
|
|
| // The PrerenderManager keeps history of prerendered pages, so clear that.
|
| @@ -1222,12 +1223,14 @@ bool BrowsingDataRemover::AllDone() {
|
| !waiting_for_clear_auto_sign_in_;
|
| }
|
|
|
| -void BrowsingDataRemover::OnKeywordsLoaded() {
|
| +void BrowsingDataRemover::OnKeywordsLoaded(
|
| + base::Callback<bool(const GURL&)> url_filter) {
|
| // Deletes the entries from the model, and if we're not waiting on anything
|
| // else notifies observers and deletes this BrowsingDataRemover.
|
| TemplateURLService* model =
|
| TemplateURLServiceFactory::GetForProfile(profile_);
|
| - model->RemoveAutoGeneratedBetween(delete_begin_, delete_end_);
|
| + model->RemoveAutoGeneratedForUrlsBetween(url_filter, delete_begin_,
|
| + delete_end_);
|
| waiting_for_clear_keyword_data_ = false;
|
| template_url_sub_.reset();
|
| NotifyIfDone();
|
|
|