| 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 c18908ba2218e429fcbe42b2674980dfde12c632..01f7fd7fbf7c18647ebeb8fb848a37e435038ae7 100644
|
| --- a/chrome/browser/android/preferences/pref_service_bridge.cc
|
| +++ b/chrome/browser/android/preferences/pref_service_bridge.cc
|
| @@ -132,6 +132,15 @@ PrefService* GetPrefService() {
|
| return GetOriginalProfile()->GetPrefs();
|
| }
|
|
|
| +browsing_data::ClearBrowsingDataTab ToTabEnum(jint clear_browsing_data_tab) {
|
| + DCHECK_GE(clear_browsing_data_tab, 0);
|
| + DCHECK_LT(clear_browsing_data_tab,
|
| + static_cast<int>(browsing_data::ClearBrowsingDataTab::NUM_TYPES));
|
| +
|
| + return static_cast<browsing_data::ClearBrowsingDataTab>(
|
| + clear_browsing_data_tab);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // ----------------------------------------------------------------------------
|
| @@ -539,9 +548,11 @@ class ClearBrowsingDataObserver : public BrowsingDataRemover::Observer {
|
| static jboolean GetBrowsingDataDeletionPreference(
|
| JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
| - jint data_type) {
|
| + jint data_type,
|
| + jint clear_browsing_data_tab) {
|
| DCHECK_GE(data_type, 0);
|
| - DCHECK_LT(data_type, browsing_data::NUM_TYPES);
|
| + DCHECK_LT(data_type,
|
| + static_cast<int>(browsing_data::BrowsingDataType::NUM_TYPES));
|
|
|
| // If there is no corresponding preference for this |data_type|, pretend
|
| // that it's set to false.
|
| @@ -549,43 +560,50 @@ static jboolean GetBrowsingDataDeletionPreference(
|
| // data types for consistency.
|
| std::string pref;
|
| if (!browsing_data::GetDeletionPreferenceFromDataType(
|
| - static_cast<browsing_data::BrowsingDataType>(data_type), &pref)) {
|
| + static_cast<browsing_data::BrowsingDataType>(data_type),
|
| + ToTabEnum(clear_browsing_data_tab), &pref)) {
|
| return false;
|
| }
|
|
|
| return GetOriginalProfile()->GetPrefs()->GetBoolean(pref);
|
| }
|
|
|
| -static void SetBrowsingDataDeletionPreference(
|
| - JNIEnv* env,
|
| - const JavaParamRef<jobject>& obj,
|
| - jint data_type,
|
| - jboolean value) {
|
| +static void SetBrowsingDataDeletionPreference(JNIEnv* env,
|
| + const JavaParamRef<jobject>& obj,
|
| + jint data_type,
|
| + jint clear_browsing_data_tab,
|
| + jboolean value) {
|
| DCHECK_GE(data_type, 0);
|
| - DCHECK_LT(data_type, browsing_data::NUM_TYPES);
|
| + DCHECK_LT(data_type,
|
| + static_cast<int>(browsing_data::BrowsingDataType::NUM_TYPES));
|
|
|
| std::string pref;
|
| if (!browsing_data::GetDeletionPreferenceFromDataType(
|
| - static_cast<browsing_data::BrowsingDataType>(data_type), &pref)) {
|
| + static_cast<browsing_data::BrowsingDataType>(data_type),
|
| + ToTabEnum(clear_browsing_data_tab), &pref)) {
|
| return;
|
| }
|
|
|
| GetOriginalProfile()->GetPrefs()->SetBoolean(pref, value);
|
| }
|
|
|
| -static jint GetBrowsingDataDeletionTimePeriod(
|
| - JNIEnv* env,
|
| - const JavaParamRef<jobject>& obj) {
|
| - return GetPrefService()->GetInteger(browsing_data::prefs::kDeleteTimePeriod);
|
| +static jint GetBrowsingDataDeletionTimePeriod(JNIEnv* env,
|
| + const JavaParamRef<jobject>& obj,
|
| + jint clear_browsing_data_tab) {
|
| + return GetPrefService()->GetInteger(
|
| + browsing_data::GetTimePeriodPreferenceName(
|
| + ToTabEnum(clear_browsing_data_tab)));
|
| }
|
|
|
| -static void SetBrowsingDataDeletionTimePeriod(
|
| - JNIEnv* env,
|
| - const JavaParamRef<jobject>& obj,
|
| - jint time_period) {
|
| +static void SetBrowsingDataDeletionTimePeriod(JNIEnv* env,
|
| + const JavaParamRef<jobject>& obj,
|
| + jint clear_browsing_data_tab,
|
| + jint time_period) {
|
| DCHECK_GE(time_period, 0);
|
| - DCHECK_LE(time_period, browsing_data::TIME_PERIOD_LAST);
|
| - GetPrefService()->SetInteger(browsing_data::prefs::kDeleteTimePeriod,
|
| + DCHECK_LE(time_period,
|
| + static_cast<int>(browsing_data::TimePeriod::TIME_PERIOD_LAST));
|
| + GetPrefService()->SetInteger(browsing_data::GetTimePeriodPreferenceName(
|
| + ToTabEnum(clear_browsing_data_tab)),
|
| time_period);
|
| }
|
|
|
| @@ -604,6 +622,11 @@ static void SetLastClearBrowsingDataTab(JNIEnv* env,
|
| tab_index);
|
| }
|
|
|
| +static void MigrateBrowsingDataPreferences(JNIEnv* env,
|
| + const JavaParamRef<jobject>& obj) {
|
| + browsing_data::MigratePreferencesToBasic(GetOriginalProfile()->GetPrefs());
|
| +}
|
| +
|
| static void ClearBrowsingData(
|
| JNIEnv* env,
|
| const JavaParamRef<jobject>& obj,
|
| @@ -622,27 +645,27 @@ static void ClearBrowsingData(
|
| int remove_mask = 0;
|
| for (const int data_type : data_types_vector) {
|
| switch (static_cast<browsing_data::BrowsingDataType>(data_type)) {
|
| - case browsing_data::HISTORY:
|
| + case browsing_data::BrowsingDataType::HISTORY:
|
| remove_mask |= BrowsingDataRemover::REMOVE_HISTORY;
|
| break;
|
| - case browsing_data::CACHE:
|
| + case browsing_data::BrowsingDataType::CACHE:
|
| remove_mask |= BrowsingDataRemover::REMOVE_CACHE;
|
| break;
|
| - case browsing_data::COOKIES:
|
| + case browsing_data::BrowsingDataType::COOKIES:
|
| remove_mask |= BrowsingDataRemover::REMOVE_COOKIES;
|
| remove_mask |= BrowsingDataRemover::REMOVE_SITE_DATA;
|
| break;
|
| - case browsing_data::PASSWORDS:
|
| + case browsing_data::BrowsingDataType::PASSWORDS:
|
| remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS;
|
| break;
|
| - case browsing_data::FORM_DATA:
|
| + case browsing_data::BrowsingDataType::FORM_DATA:
|
| remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA;
|
| break;
|
| - case browsing_data::BOOKMARKS:
|
| + case browsing_data::BrowsingDataType::BOOKMARKS:
|
| // Bookmarks are deleted separately on the Java side.
|
| NOTREACHED();
|
| break;
|
| - case browsing_data::NUM_TYPES:
|
| + case browsing_data::BrowsingDataType::NUM_TYPES:
|
| NOTREACHED();
|
| }
|
| }
|
|
|