| 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(""));
|
| + 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)
|
| + websitePreferences.findPreference(
|
| + SingleWebsitePreferences.PREF_KEYGEN_PERMISSION);
|
| + websitePreferences.onPreferenceChange(keygen, (enabled ? "ALLOW" : "BLOCK"));
|
| + }
|
| + });
|
| + 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 {
|
| + 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
|
| */
|
|
|