Commit ed97857f authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

Migrate Supervised User preferences to prefs.h

Migrate Supervised User preferences to use PrefServiceBridge generic
methods, making use of the prefs.h enums.

Replace duplicated Java constants for SupervisedUserURLFilter::
FilteringBehavior C++ enum with a generated Java enum.

Bug: 1016957
Change-Id: Id0eb0b19464fb6bc487cb7924b68de6f753fba60
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1885505
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Reviewed-by: default avatarAga Wronska <agawronska@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Reviewed-by: default avatarBrandon Wylie <wylieb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710977}
parent 5c8c249e
...@@ -1759,6 +1759,12 @@ if (is_android) { ...@@ -1759,6 +1759,12 @@ if (is_android) {
] ]
} }
java_cpp_enum("supervised_user_url_filter_enum_javagen") {
sources = [
"browser/supervised_user/supervised_user_url_filter.h",
]
}
source_set("chrome_android_core") { source_set("chrome_android_core") {
sources = [ sources = [
"app/android/chrome_android_initializer.cc", "app/android/chrome_android_initializer.cc",
......
...@@ -430,6 +430,7 @@ android_library("chrome_java") { ...@@ -430,6 +430,7 @@ android_library("chrome_java") {
"//chrome:payments_journey_logger_enum_javagen", "//chrome:payments_journey_logger_enum_javagen",
"//chrome:pref_enum_javagen", "//chrome:pref_enum_javagen",
"//chrome:quick_action_category_enum_javagen", "//chrome:quick_action_category_enum_javagen",
"//chrome:supervised_user_url_filter_enum_javagen",
"//chrome/browser/notifications/scheduler/public:jni_enums", "//chrome/browser/notifications/scheduler/public:jni_enums",
"//chrome/browser:sharing_dialog_type_generated_enum", "//chrome/browser:sharing_dialog_type_generated_enum",
"//chrome/browser:sharing_send_message_result_generated_enum", "//chrome/browser:sharing_send_message_result_generated_enum",
......
...@@ -251,7 +251,9 @@ public class ManagedPreferencesUtils { ...@@ -251,7 +251,9 @@ public class ManagedPreferencesUtils {
private static @StringRes int getManagedByParentStringRes() { private static @StringRes int getManagedByParentStringRes() {
boolean singleParentIsManager = boolean singleParentIsManager =
PrefServiceBridge.getInstance().getSupervisedUserSecondCustodianName().isEmpty(); PrefServiceBridge.getInstance()
.getString(Pref.SUPERVISED_USER_SECOND_CUSTODIAN_NAME)
.isEmpty();
return singleParentIsManager ? R.string.managed_by_your_parent return singleParentIsManager ? R.string.managed_by_your_parent
: R.string.managed_by_your_parents; : R.string.managed_by_your_parents;
} }
......
...@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.preferences; ...@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.preferences;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
...@@ -30,12 +31,6 @@ import java.util.List; ...@@ -30,12 +31,6 @@ import java.util.List;
* preferences. * preferences.
*/ */
public class PrefServiceBridge { public class PrefServiceBridge {
// These values must match the native enum values in
// SupervisedUserURLFilter::FilteringBehavior
public static final int SUPERVISED_USER_FILTERING_ALLOW = 0;
public static final int SUPERVISED_USER_FILTERING_WARN = 1;
public static final int SUPERVISED_USER_FILTERING_BLOCK = 2;
private static final String MIGRATION_PREF_KEY = "PrefMigrationVersion"; private static final String MIGRATION_PREF_KEY = "PrefMigrationVersion";
private static final int MIGRATION_CURRENT_VERSION = 4; private static final int MIGRATION_CURRENT_VERSION = 4;
...@@ -145,6 +140,7 @@ public class PrefServiceBridge { ...@@ -145,6 +140,7 @@ public class PrefServiceBridge {
* @param preference The name of the preference. * @param preference The name of the preference.
* @return value The value of the specified preference. * @return value The value of the specified preference.
*/ */
@NonNull
public String getString(@Pref int preference) { public String getString(@Pref int preference) {
return PrefServiceBridgeJni.get().getString(PrefServiceBridge.this, preference); return PrefServiceBridgeJni.get().getString(PrefServiceBridge.this, preference);
} }
...@@ -153,7 +149,7 @@ public class PrefServiceBridge { ...@@ -153,7 +149,7 @@ public class PrefServiceBridge {
* @param preference The name of the preference. * @param preference The name of the preference.
* @param value The value the specified preference will be set to. * @param value The value the specified preference will be set to.
*/ */
public void setString(@Pref int preference, String value) { public void setString(@Pref int preference, @NonNull String value) {
PrefServiceBridgeJni.get().setString(PrefServiceBridge.this, preference, value); PrefServiceBridgeJni.get().setString(PrefServiceBridge.this, preference, value);
} }
...@@ -790,35 +786,6 @@ public class PrefServiceBridge { ...@@ -790,35 +786,6 @@ public class PrefServiceBridge {
PrefServiceBridgeJni.get().resetAcceptLanguages(PrefServiceBridge.this, defaultLocale); PrefServiceBridgeJni.get().resetAcceptLanguages(PrefServiceBridge.this, defaultLocale);
} }
/**
* @return Whether SafeSites for supervised users is enabled.
*/
public boolean isSupervisedUserSafeSitesEnabled() {
return PrefServiceBridgeJni.get().getSupervisedUserSafeSitesEnabled(PrefServiceBridge.this);
}
/**
* @return the default supervised user filtering behavior
*/
public int getDefaultSupervisedUserFilteringBehavior() {
return PrefServiceBridgeJni.get().getDefaultSupervisedUserFilteringBehavior(
PrefServiceBridge.this);
}
public String getSupervisedUserCustodianEmail() {
return PrefServiceBridgeJni.get().getSupervisedUserCustodianEmail(PrefServiceBridge.this);
}
public String getSupervisedUserSecondCustodianName() {
return PrefServiceBridgeJni.get().getSupervisedUserSecondCustodianName(
PrefServiceBridge.this);
}
public String getSupervisedUserSecondCustodianEmail() {
return PrefServiceBridgeJni.get().getSupervisedUserSecondCustodianEmail(
PrefServiceBridge.this);
}
/** /**
* @return A sorted list of LanguageItems representing the Chrome accept languages with details. * @return A sorted list of LanguageItems representing the Chrome accept languages with details.
* Languages that are not supported on Android have been filtered out. * Languages that are not supported on Android have been filtered out.
...@@ -943,11 +910,6 @@ public class PrefServiceBridge { ...@@ -943,11 +910,6 @@ public class PrefServiceBridge {
PrefServiceBridge.this); PrefServiceBridge.this);
} }
@VisibleForTesting
public void setSupervisedUserId(String supervisedUserId) {
PrefServiceBridgeJni.get().setSupervisedUserId(PrefServiceBridge.this, supervisedUserId);
}
/** /**
* @return The stored download default directory. * @return The stored download default directory.
*/ */
...@@ -1041,7 +1003,6 @@ public class PrefServiceBridge { ...@@ -1041,7 +1003,6 @@ public class PrefServiceBridge {
boolean getPrintingEnabled(PrefServiceBridge caller); boolean getPrintingEnabled(PrefServiceBridge caller);
boolean getSensorsEnabled(PrefServiceBridge caller); boolean getSensorsEnabled(PrefServiceBridge caller);
boolean getSoundEnabled(PrefServiceBridge caller); boolean getSoundEnabled(PrefServiceBridge caller);
boolean getSupervisedUserSafeSitesEnabled(PrefServiceBridge caller);
void setTranslateEnabled(PrefServiceBridge caller, boolean enabled); void setTranslateEnabled(PrefServiceBridge caller, boolean enabled);
void migrateJavascriptPreference(PrefServiceBridge caller); void migrateJavascriptPreference(PrefServiceBridge caller);
boolean getBrowsingDataDeletionPreference( boolean getBrowsingDataDeletionPreference(
...@@ -1085,10 +1046,6 @@ public class PrefServiceBridge { ...@@ -1085,10 +1046,6 @@ public class PrefServiceBridge {
void setEulaAccepted(PrefServiceBridge caller); void setEulaAccepted(PrefServiceBridge caller);
void resetAcceptLanguages(PrefServiceBridge caller, String defaultLocale); void resetAcceptLanguages(PrefServiceBridge caller, String defaultLocale);
String getSyncLastAccountName(PrefServiceBridge caller); String getSyncLastAccountName(PrefServiceBridge caller);
String getSupervisedUserCustodianEmail(PrefServiceBridge caller);
int getDefaultSupervisedUserFilteringBehavior(PrefServiceBridge caller);
String getSupervisedUserSecondCustodianName(PrefServiceBridge caller);
String getSupervisedUserSecondCustodianEmail(PrefServiceBridge caller);
boolean isMetricsReportingEnabled(PrefServiceBridge caller); boolean isMetricsReportingEnabled(PrefServiceBridge caller);
void setMetricsReportingEnabled(PrefServiceBridge caller, boolean enabled); void setMetricsReportingEnabled(PrefServiceBridge caller, boolean enabled);
boolean isMetricsReportingManaged(PrefServiceBridge caller); boolean isMetricsReportingManaged(PrefServiceBridge caller);
...@@ -1096,7 +1053,6 @@ public class PrefServiceBridge { ...@@ -1096,7 +1053,6 @@ public class PrefServiceBridge {
boolean getClickedUpdateMenuItem(PrefServiceBridge caller); boolean getClickedUpdateMenuItem(PrefServiceBridge caller);
void setLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller, String version); void setLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller, String version);
String getLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller); String getLatestVersionWhenClickedUpdateMenuItem(PrefServiceBridge caller);
void setSupervisedUserId(PrefServiceBridge caller, String supervisedUserId);
void getChromeAcceptLanguages(PrefServiceBridge caller, List<LanguageItem> list); void getChromeAcceptLanguages(PrefServiceBridge caller, List<LanguageItem> list);
void getUserAcceptLanguages(PrefServiceBridge caller, List<String> list); void getUserAcceptLanguages(PrefServiceBridge caller, List<String> list);
void updateUserAcceptLanguages(PrefServiceBridge caller, String language, boolean add); void updateUserAcceptLanguages(PrefServiceBridge caller, String language, boolean add);
......
...@@ -31,6 +31,7 @@ import org.chromium.base.ApiCompatibilityUtils; ...@@ -31,6 +31,7 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.preferences.ChromeBasePreference; import org.chromium.chrome.browser.preferences.ChromeBasePreference;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.preferences.PreferencesLauncher; import org.chromium.chrome.browser.preferences.PreferencesLauncher;
import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.Profile;
...@@ -42,6 +43,7 @@ import org.chromium.chrome.browser.signin.SignOutDialogFragment.SignOutDialogLis ...@@ -42,6 +43,7 @@ import org.chromium.chrome.browser.signin.SignOutDialogFragment.SignOutDialogLis
import org.chromium.chrome.browser.signin.SigninManager; import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver; import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
import org.chromium.chrome.browser.signin.SigninUtils; import org.chromium.chrome.browser.signin.SigninUtils;
import org.chromium.chrome.browser.superviseduser.FilteringBehavior;
import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.ChromeSigninController; import org.chromium.components.signin.ChromeSigninController;
...@@ -232,8 +234,9 @@ public class AccountManagementFragment extends PreferenceFragmentCompat ...@@ -232,8 +234,9 @@ public class AccountManagementFragment extends PreferenceFragmentCompat
if (mProfile.isChild()) { if (mProfile.isChild()) {
PrefServiceBridge prefService = PrefServiceBridge.getInstance(); PrefServiceBridge prefService = PrefServiceBridge.getInstance();
String firstParent = prefService.getSupervisedUserCustodianEmail(); String firstParent = prefService.getString(Pref.SUPERVISED_USER_CUSTODIAN_EMAIL);
String secondParent = prefService.getSupervisedUserSecondCustodianEmail(); String secondParent =
prefService.getString(Pref.SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL);
String parentText; String parentText;
if (!secondParent.isEmpty()) { if (!secondParent.isEmpty()) {
...@@ -247,10 +250,11 @@ public class AccountManagementFragment extends PreferenceFragmentCompat ...@@ -247,10 +250,11 @@ public class AccountManagementFragment extends PreferenceFragmentCompat
parentAccounts.setSummary(parentText); parentAccounts.setSummary(parentText);
final int childContentSummary; final int childContentSummary;
int defaultBehavior = prefService.getDefaultSupervisedUserFilteringBehavior(); int defaultBehavior =
if (defaultBehavior == PrefServiceBridge.SUPERVISED_USER_FILTERING_BLOCK) { prefService.getInteger(Pref.DEFAULT_SUPERVISED_USER_FILTERING_BEHAVIOR);
if (defaultBehavior == FilteringBehavior.BLOCK) {
childContentSummary = R.string.account_management_child_content_approved; childContentSummary = R.string.account_management_child_content_approved;
} else if (prefService.isSupervisedUserSafeSitesEnabled()) { } else if (prefService.getBoolean(Pref.SUPERVISED_USER_SAFE_SITES)) {
childContentSummary = R.string.account_management_child_content_filter_mature; childContentSummary = R.string.account_management_child_content_filter_mature;
} else { } else {
childContentSummary = R.string.account_management_child_content_all; childContentSummary = R.string.account_management_child_content_all;
......
...@@ -633,7 +633,7 @@ public class HistoryActivityTest { ...@@ -633,7 +633,7 @@ public class HistoryActivityTest {
// Set supervised user. // Set supervised user.
int onPreferenceChangeCallCount = mTestObserver.onPreferenceChangeCallback.getCallCount(); int onPreferenceChangeCallCount = mTestObserver.onPreferenceChangeCallback.getCallCount();
Assert.assertTrue(TestThreadUtils.runOnUiThreadBlocking(() -> { Assert.assertTrue(TestThreadUtils.runOnUiThreadBlocking(() -> {
PrefServiceBridge.getInstance().setSupervisedUserId("ChildAccountSUID"); PrefServiceBridge.getInstance().setString(Pref.SUPERVISED_USER_ID, "ChildAccountSUID");
return Profile.getLastUsedProfile().isChild() return Profile.getLastUsedProfile().isChild()
&& !PrefServiceBridge.getInstance().getBoolean( && !PrefServiceBridge.getInstance().getBoolean(
Pref.ALLOW_DELETING_BROWSER_HISTORY) Pref.ALLOW_DELETING_BROWSER_HISTORY)
...@@ -664,7 +664,7 @@ public class HistoryActivityTest { ...@@ -664,7 +664,7 @@ public class HistoryActivityTest {
private void signOut() throws Exception { private void signOut() throws Exception {
// Clear supervised user id. // Clear supervised user id.
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
() -> PrefServiceBridge.getInstance().setSupervisedUserId("")); () -> PrefServiceBridge.getInstance().setString(Pref.SUPERVISED_USER_ID, ""));
// Sign out of account. // Sign out of account.
int currentCallCount = mTestObserver.onSigninStateChangedCallback.getCallCount(); int currentCallCount = mTestObserver.onSigninStateChangedCallback.getCallCount();
......
...@@ -504,20 +504,6 @@ static jboolean JNI_PrefServiceBridge_GetResolveNavigationErrorManaged( ...@@ -504,20 +504,6 @@ static jboolean JNI_PrefServiceBridge_GetResolveNavigationErrorManaged(
return GetPrefService()->IsManagedPreference( return GetPrefService()->IsManagedPreference(
prefs::kAlternateErrorPagesEnabled); prefs::kAlternateErrorPagesEnabled);
} }
static jboolean JNI_PrefServiceBridge_GetSupervisedUserSafeSitesEnabled(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return GetPrefService()->GetBoolean(prefs::kSupervisedUserSafeSites);
}
static jint JNI_PrefServiceBridge_GetDefaultSupervisedUserFilteringBehavior(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return GetPrefService()->GetInteger(
prefs::kDefaultSupervisedUserFilteringBehavior);
}
static jboolean JNI_PrefServiceBridge_GetIncognitoModeEnabled( static jboolean JNI_PrefServiceBridge_GetIncognitoModeEnabled(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
...@@ -983,32 +969,6 @@ static ScopedJavaLocalRef<jobject> JNI_PrefServiceBridge_GetAboutVersionStrings( ...@@ -983,32 +969,6 @@ static ScopedJavaLocalRef<jobject> JNI_PrefServiceBridge_GetAboutVersionStrings(
ConvertUTF8ToJavaString(env, os_version)); ConvertUTF8ToJavaString(env, os_version));
} }
static ScopedJavaLocalRef<jstring>
JNI_PrefServiceBridge_GetSupervisedUserCustodianEmail(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return ConvertUTF8ToJavaString(
env, GetPrefService()->GetString(prefs::kSupervisedUserCustodianEmail));
}
static ScopedJavaLocalRef<jstring>
JNI_PrefServiceBridge_GetSupervisedUserSecondCustodianName(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return ConvertUTF8ToJavaString(
env,
GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianName));
}
static ScopedJavaLocalRef<jstring>
JNI_PrefServiceBridge_GetSupervisedUserSecondCustodianEmail(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
return ConvertUTF8ToJavaString(
env,
GetPrefService()->GetString(prefs::kSupervisedUserSecondCustodianEmail));
}
// static // static
// This logic should be kept in sync with prependToAcceptLanguagesIfNecessary in // This logic should be kept in sync with prependToAcceptLanguagesIfNecessary in
// chrome/android/java/src/org/chromium/chrome/browser/ // chrome/android/java/src/org/chromium/chrome/browser/
...@@ -1099,14 +1059,6 @@ void PrefServiceBridge::GetAndroidPermissionsForContentSetting( ...@@ -1099,14 +1059,6 @@ void PrefServiceBridge::GetAndroidPermissionsForContentSetting(
out); out);
} }
static void JNI_PrefServiceBridge_SetSupervisedUserId(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
const JavaParamRef<jstring>& pref) {
GetPrefService()->SetString(prefs::kSupervisedUserId,
ConvertJavaStringToUTF8(env, pref));
}
static void JNI_PrefServiceBridge_GetChromeAcceptLanguages( static void JNI_PrefServiceBridge_GetChromeAcceptLanguages(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
......
...@@ -44,6 +44,12 @@ enum Pref { ...@@ -44,6 +44,12 @@ enum Pref {
REMEMBER_PASSWORDS_ENABLED, REMEMBER_PASSWORDS_ENABLED,
PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED, PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED,
PASSWORD_MANAGER_LEAK_DETECTION_ENABLED, PASSWORD_MANAGER_LEAK_DETECTION_ENABLED,
SUPERVISED_USER_SAFE_SITES,
DEFAULT_SUPERVISED_USER_FILTERING_BEHAVIOR,
SUPERVISED_USER_ID,
SUPERVISED_USER_CUSTODIAN_EMAIL,
SUPERVISED_USER_SECOND_CUSTODIAN_NAME,
SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL,
// PREF_NUM_PREFS must be the last entry. // PREF_NUM_PREFS must be the last entry.
PREF_NUM_PREFS PREF_NUM_PREFS
}; };
...@@ -77,6 +83,12 @@ const char* const kPrefsExposedToJava[] = { ...@@ -77,6 +83,12 @@ const char* const kPrefsExposedToJava[] = {
password_manager::prefs::kCredentialsEnableService, password_manager::prefs::kCredentialsEnableService,
password_manager::prefs::kCredentialsEnableAutosignin, password_manager::prefs::kCredentialsEnableAutosignin,
password_manager::prefs::kPasswordLeakDetectionEnabled, password_manager::prefs::kPasswordLeakDetectionEnabled,
prefs::kSupervisedUserSafeSites,
prefs::kDefaultSupervisedUserFilteringBehavior,
prefs::kSupervisedUserId,
prefs::kSupervisedUserCustodianEmail,
prefs::kSupervisedUserSecondCustodianName,
prefs::kSupervisedUserSecondCustodianEmail,
}; };
#endif // CHROME_BROWSER_ANDROID_PREFERENCES_PREFS_H_ #endif // CHROME_BROWSER_ANDROID_PREFERENCES_PREFS_H_
...@@ -73,6 +73,17 @@ TEST_F(PrefsTest, TestIndex) { ...@@ -73,6 +73,17 @@ TEST_F(PrefsTest, TestIndex) {
GetPrefName(PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED)); GetPrefName(PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED));
EXPECT_EQ(password_manager::prefs::kPasswordLeakDetectionEnabled, EXPECT_EQ(password_manager::prefs::kPasswordLeakDetectionEnabled,
GetPrefName(PASSWORD_MANAGER_LEAK_DETECTION_ENABLED)); GetPrefName(PASSWORD_MANAGER_LEAK_DETECTION_ENABLED));
EXPECT_EQ(prefs::kSupervisedUserSafeSites,
GetPrefName(SUPERVISED_USER_SAFE_SITES));
EXPECT_EQ(prefs::kDefaultSupervisedUserFilteringBehavior,
GetPrefName(DEFAULT_SUPERVISED_USER_FILTERING_BEHAVIOR));
EXPECT_EQ(prefs::kSupervisedUserId, GetPrefName(SUPERVISED_USER_ID));
EXPECT_EQ(prefs::kSupervisedUserCustodianEmail,
GetPrefName(SUPERVISED_USER_CUSTODIAN_EMAIL));
EXPECT_EQ(prefs::kSupervisedUserSecondCustodianName,
GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_NAME));
EXPECT_EQ(prefs::kSupervisedUserSecondCustodianEmail,
GetPrefName(SUPERVISED_USER_SECOND_CUSTODIAN_EMAIL));
// If this check fails, a pref is missing a test case above. // If this check fails, a pref is missing a test case above.
EXPECT_EQ(Pref::PREF_NUM_PREFS, pref_count_); EXPECT_EQ(Pref::PREF_NUM_PREFS, pref_count_);
......
...@@ -42,6 +42,8 @@ class SharedURLLoaderFactory; ...@@ -42,6 +42,8 @@ class SharedURLLoaderFactory;
// sources. // sources.
class SupervisedUserURLFilter { class SupervisedUserURLFilter {
public: public:
// A Java counterpart will be generated for this enum.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.superviseduser
enum FilteringBehavior { enum FilteringBehavior {
ALLOW, ALLOW,
WARN, WARN,
......
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