Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4047)

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java

Issue 1432573002: Adding <keygen> Content Setting (Android UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@keygen_ui
Patch Set: Fix rebase across multiple ancestors. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java
index 047dd81fa5db917c79b1d60339ecae0f64229a64..aa42769c5ac7cdc0d907a37172b4a513bc59bc31 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java
@@ -123,6 +123,16 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro
return (Preferences) getInstrumentation().startActivitySync(intent);
}
+ private Preferences startSingleWebsitePreferences() {
+ Bundle fragmentArgs = SingleWebsitePreferences.createFragmentArgsForSite(
+ TestHttpServerClient.getUrl(""));
newt (away) 2015/12/15 00:10:01 Why not use a real page here? Seems like TestHttpS
svaldez 2015/12/15 21:45:57 Done.
+ Intent intent = PreferencesLauncher.createIntentForSettingsPage(
+ getInstrumentation().getTargetContext(),
+ SingleWebsitePreferences.class.getName());
+ intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, fragmentArgs);
+ return (Preferences) getInstrumentation().startActivitySync(intent);
+ }
+
private void setCookiesEnabled(final Preferences preferenceActivity, final boolean enabled) {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -254,6 +264,23 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro
preferenceActivity.finish();
}
+ private void setEnableKeygen(final boolean enabled) {
+ final Preferences preferenceActivity = startSingleWebsitePreferences();
+
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ SingleWebsitePreferences websitePreferences =
+ (SingleWebsitePreferences) preferenceActivity.getFragmentForTest();
+ ChromeSwitchPreference keygen = (ChromeSwitchPreference)
newt (away) 2015/12/15 00:10:01 Doesn't this cast fail? I thought PREF_KEYGEN_PERM
svaldez 2015/12/15 21:45:57 Done.
+ websitePreferences.findPreference(
+ SingleWebsitePreferences.PREF_KEYGEN_PERMISSION);
+ websitePreferences.onPreferenceChange(keygen, (enabled ? "ALLOW" : "BLOCK"));
newt (away) 2015/12/15 00:10:01 I'd simulate clicking the switch, rather than call
svaldez 2015/12/15 21:45:57 Done.
+ }
+ });
+ preferenceActivity.finish();
+ }
+
/**
* Tests that disabling cookies turns off the third-party cookie toggle.
* @throws Exception
@@ -351,6 +378,32 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro
}
/**
+ * Sets Allow Keygen Enabled to be false and make sure it is set correctly.
+ * @throws Exception
+ */
+ @SmallTest
+ @Feature({"Preferences"})
+ public void testKeygenBlocked() throws Exception {
newt (away) 2015/12/15 00:10:01 Alternatively, you could just test the Preferences
svaldez 2015/12/15 21:45:57 Done.
+ setEnableKeygen(false);
+
+ loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/keygen.html"));
+ assertEquals("false", runJavaScriptCodeInCurrentTab("didKeygen();"));
+ }
+
+ /**
+ * Sets Allow Keygen Enabled to be true and make sure it is set correctly.
+ * @throws Exception
+ */
+ @SmallTest
+ @Feature({"Preferences"})
+ public void testKeygenNotBlocked() throws Exception {
+ setEnableKeygen(true);
+
+ loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/keygen.html"));
+ assertEquals("true", runJavaScriptCodeInCurrentTab("didKeygen();"));
+ }
+
+ /**
* Sets Allow Camera Enabled to be false and make sure it is set correctly.
* @throws Exception
*/

Powered by Google App Engine
This is Rietveld 408576698