| Index: chrome/browser/android/preferences/pref_service_bridge.cc
|
| diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
|
| index 01f7fd7fbf7c18647ebeb8fb848a37e435038ae7..685995af963c7078025efb5ca1f418c8b20dfde4 100644
|
| --- a/chrome/browser/android/preferences/pref_service_bridge.cc
|
| +++ b/chrome/browser/android/preferences/pref_service_bridge.cc
|
| @@ -27,6 +27,7 @@
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/browsing_data/browsing_data_helper.h"
|
| +#include "chrome/browser/browsing_data/browsing_data_important_sites_util.h"
|
| #include "chrome/browser/browsing_data/browsing_data_remover.h"
|
| #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
| @@ -681,6 +682,7 @@ static void ClearBrowsingData(
|
| env, jignoring_domains.obj(), &ignoring_domains);
|
| base::android::JavaIntArrayToIntVector(env, jignoring_domain_reasons.obj(),
|
| &ignoring_domain_reasons);
|
| +
|
| std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder(
|
| content::BrowsingDataFilterBuilder::Create(
|
| content::BrowsingDataFilterBuilder::BLACKLIST));
|
| @@ -694,13 +696,6 @@ static void ClearBrowsingData(
|
| ignoring_domains, ignoring_domain_reasons);
|
| }
|
|
|
| - // Delete the types protected by Important Sites with a filter,
|
| - // and the rest completely.
|
| - int filterable_mask =
|
| - remove_mask & BrowsingDataRemover::IMPORTANT_SITES_DATATYPES;
|
| - int nonfilterable_mask = remove_mask &
|
| - ~BrowsingDataRemover::IMPORTANT_SITES_DATATYPES;
|
| -
|
| // ClearBrowsingDataObserver deletes itself when |browsing_data_remover| is
|
| // done with both removal tasks.
|
| ClearBrowsingDataObserver* observer = new ClearBrowsingDataObserver(
|
| @@ -708,28 +703,10 @@ static void ClearBrowsingData(
|
|
|
| browsing_data::TimePeriod period =
|
| static_cast<browsing_data::TimePeriod>(time_period);
|
| - browsing_data::RecordDeletionForPeriod(period);
|
| -
|
| - if (filterable_mask) {
|
| - browsing_data_remover->RemoveWithFilterAndReply(
|
| - browsing_data::CalculateBeginDeleteTime(period),
|
| - browsing_data::CalculateEndDeleteTime(period),
|
| - filterable_mask, BrowsingDataHelper::UNPROTECTED_WEB,
|
| - std::move(filter_builder), observer);
|
| - } else {
|
| - // Make sure |observer| doesn't wait for the filtered task.
|
| - observer->OnBrowsingDataRemoverDone();
|
| - }
|
|
|
| - if (nonfilterable_mask) {
|
| - browsing_data_remover->RemoveAndReply(
|
| - browsing_data::CalculateBeginDeleteTime(period),
|
| - browsing_data::CalculateEndDeleteTime(period),
|
| - nonfilterable_mask, BrowsingDataHelper::UNPROTECTED_WEB, observer);
|
| - } else {
|
| - // Make sure |observer| doesn't wait for the non-filtered task.
|
| - observer->OnBrowsingDataRemoverDone();
|
| - }
|
| + browsing_data_important_sites_util::Remove(
|
| + remove_mask, BrowsingDataHelper::UNPROTECTED_WEB, period,
|
| + std::move(filter_builder), browsing_data_remover, observer);
|
| }
|
|
|
| static jboolean CanDeleteBrowsingHistory(JNIEnv* env,
|
|
|