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..7425c6fef0a1fa7852b9231d8668d82044767dea 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("")); |
+ Intent intent = PreferencesLauncher.createIntentForSettingsPage( |
+ getInstrumentation().getTargetContext(), |
+ SingleWebsitePreferences.class.getName()); |
+ intent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, fragmentArgs); |
+ return (Preferences) getInstrumentation().startActivitySync(intent); |
Finnur
2015/12/11 17:53:05
I don't quite understand how this test works becau
svaldez
2015/12/11 18:13:10
Those params are created through createFragmentArg
Finnur
2015/12/11 18:29:29
Ah, right, right. Serves me right for making this
|
+ } |
+ |
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) |
+ websitePreferences.findPreference( |
+ SingleWebsitePreferences.PREF_KEYGEN_PERMISSION); |
+ websitePreferences.onPreferenceChange(keygen, enabled); |
+ } |
+ }); |
+ preferenceActivity.finish(); |
+ } |
+ |
/** |
* Tests that disabling cookies turns off the third-party cookie toggle. |
* @throws Exception |
@@ -351,6 +378,33 @@ 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 { |
+ setEnableKeygen(false); |
+ |
+ |
+ loadUrl(TestHttpServerClient.getUrl("chrome/test/data/android/keygen.html")); |
+ assertEquals("true", runJavaScriptCodeInCurrentTab("didKeygen();")); |
Finnur
2015/12/11 17:53:05
Shouldn't this assert check for "false"?
svaldez
2015/12/11 18:13:10
Done.
|
+ } |
+ |
+ /** |
+ * 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 |
*/ |