Commit 14ea5d05 authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

Expose kEnableDoNotTrack to Java via prefs.h

Bug: 1016957
Change-Id: I39013d322b6927fee2052b203473cbd081f4a179
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1890655
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711302}
parent 32318071
......@@ -318,13 +318,6 @@ public class PrefServiceBridge {
PrefServiceBridge.this);
}
/**
* @return Whether Do Not Track is enabled
*/
public boolean isDoNotTrackEnabled() {
return PrefServiceBridgeJni.get().getDoNotTrackEnabled(PrefServiceBridge.this);
}
public boolean getPasswordEchoEnabled() {
return PrefServiceBridgeJni.get().getPasswordEchoEnabled(PrefServiceBridge.this);
}
......@@ -569,10 +562,6 @@ public class PrefServiceBridge {
setBoolean(Pref.BLOCK_THIRD_PARTY_COOKIES, enabled);
}
public void setDoNotTrackEnabled(boolean enabled) {
PrefServiceBridgeJni.get().setDoNotTrackEnabled(PrefServiceBridge.this, enabled);
}
public void setNotificationsVibrateEnabled(boolean enabled) {
PrefServiceBridgeJni.get().setNotificationsVibrateEnabled(PrefServiceBridge.this, enabled);
}
......@@ -943,7 +932,6 @@ public class PrefServiceBridge {
boolean getAllowLocationUserModifiable(PrefServiceBridge caller);
boolean getLocationAllowedByPolicy(PrefServiceBridge caller);
boolean getAllowLocationManagedByCustodian(PrefServiceBridge caller);
boolean getDoNotTrackEnabled(PrefServiceBridge caller);
boolean getPasswordEchoEnabled(PrefServiceBridge caller);
boolean getFirstRunEulaAccepted(PrefServiceBridge caller);
boolean getCameraEnabled(PrefServiceBridge caller);
......@@ -979,7 +967,6 @@ public class PrefServiceBridge {
void setAllowCookiesEnabled(PrefServiceBridge caller, boolean enabled);
void setBackgroundSyncEnabled(PrefServiceBridge caller, boolean enabled);
void setClipboardEnabled(PrefServiceBridge caller, boolean enabled);
void setDoNotTrackEnabled(PrefServiceBridge caller, boolean enabled);
boolean getAllowLocationEnabled(PrefServiceBridge caller);
boolean getNotificationsEnabled(PrefServiceBridge caller);
boolean getNotificationsVibrateEnabled(PrefServiceBridge caller);
......
......@@ -9,6 +9,7 @@ import android.support.v7.preference.PreferenceFragmentCompat;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.preferences.ChromeSwitchPreference;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.preferences.PreferenceUtils;
......@@ -16,6 +17,7 @@ import org.chromium.chrome.browser.preferences.PreferenceUtils;
* Fragment to manage 'Do Not Track' preference and to explain to the user what it does.
*/
public class DoNotTrackPreference extends PreferenceFragmentCompat {
// Must match key in do_not_track_preferences.xml.
private static final String PREF_DO_NOT_TRACK_SWITCH = "do_not_track_switch";
@Override
......@@ -26,11 +28,13 @@ public class DoNotTrackPreference extends PreferenceFragmentCompat {
ChromeSwitchPreference doNotTrackSwitch =
(ChromeSwitchPreference) findPreference(PREF_DO_NOT_TRACK_SWITCH);
boolean isDoNotTrackEnabled = PrefServiceBridge.getInstance().isDoNotTrackEnabled();
boolean isDoNotTrackEnabled =
PrefServiceBridge.getInstance().getBoolean(Pref.ENABLE_DO_NOT_TRACK);
doNotTrackSwitch.setChecked(isDoNotTrackEnabled);
doNotTrackSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
PrefServiceBridge.getInstance().setDoNotTrackEnabled((boolean) newValue);
PrefServiceBridge.getInstance().setBoolean(
Pref.ENABLE_DO_NOT_TRACK, (boolean) newValue);
return true;
});
}
......
......@@ -108,8 +108,9 @@ public class PrivacyPreferences
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
if (doNotTrackPref != null) {
doNotTrackPref.setSummary(
prefServiceBridge.isDoNotTrackEnabled() ? R.string.text_on : R.string.text_off);
doNotTrackPref.setSummary(prefServiceBridge.getBoolean(Pref.ENABLE_DO_NOT_TRACK)
? R.string.text_on
: R.string.text_off);
}
Preference usageStatsPref = findPreference(PREF_USAGE_STATS);
......
......@@ -351,12 +351,6 @@ static jboolean JNI_PrefServiceBridge_GetAutomaticDownloadsEnabled(
return GetBooleanForContentSetting(ContentSettingsType::AUTOMATIC_DOWNLOADS);
}
static jboolean JNI_PrefServiceBridge_GetDoNotTrackEnabled(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return GetPrefService()->GetBoolean(prefs::kEnableDoNotTrack);
}
static jboolean JNI_PrefServiceBridge_GetNetworkPredictionEnabled(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
......@@ -762,13 +756,6 @@ static jboolean JNI_PrefServiceBridge_CanPrefetchAndPrerender(
chrome_browser_net::NetworkPredictionStatus::ENABLED;
}
static void JNI_PrefServiceBridge_SetDoNotTrackEnabled(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jboolean allow) {
GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow);
}
static ScopedJavaLocalRef<jstring> JNI_PrefServiceBridge_GetSyncLastAccountName(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
......
......@@ -54,6 +54,7 @@ enum Pref {
CLICKED_UPDATE_MENU_ITEM,
LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM,
BLOCK_THIRD_PARTY_COOKIES,
ENABLE_DO_NOT_TRACK,
// PREF_NUM_PREFS must be the last entry.
PREF_NUM_PREFS
};
......@@ -96,6 +97,8 @@ const char* const kPrefsExposedToJava[] = {
prefs::kClickedUpdateMenuItem,
prefs::kLatestVersionWhenClickedUpdateMenuItem,
prefs::kBlockThirdPartyCookies,
prefs::kEnableDoNotTrack,
};
#endif // CHROME_BROWSER_ANDROID_PREFERENCES_PREFS_H_
......@@ -90,6 +90,7 @@ TEST_F(PrefsTest, TestIndex) {
GetPrefName(LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM));
EXPECT_EQ(prefs::kBlockThirdPartyCookies,
GetPrefName(BLOCK_THIRD_PARTY_COOKIES));
EXPECT_EQ(prefs::kEnableDoNotTrack, GetPrefName(ENABLE_DO_NOT_TRACK));
// If this check fails, a pref is missing a test case above.
EXPECT_EQ(Pref::PREF_NUM_PREFS, pref_count_);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment