Chromium Code Reviews| 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..c68aaf6c7939ba74e5892d53e71441bbb1158d90 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 |
| @@ -16,6 +16,7 @@ import org.chromium.chrome.browser.ChromeApplication; |
| import org.chromium.chrome.browser.ChromeSwitches; |
| import org.chromium.chrome.browser.infobar.InfoBarContainer; |
| import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; |
| +import org.chromium.chrome.browser.preferences.ChromeBaseListPreference; |
| import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
| import org.chromium.chrome.browser.preferences.LocationSettings; |
| import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| @@ -123,6 +124,16 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro |
| return (Preferences) getInstrumentation().startActivitySync(intent); |
| } |
| + private Preferences startSingleWebsitePreferences(Website site) { |
| + Bundle fragmentArgs = new Bundle(); |
| + fragmentArgs.putSerializable(SingleWebsitePreferences.EXTRA_SITE, site); |
| + 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 +265,25 @@ public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro |
| preferenceActivity.finish(); |
| } |
| + private void setEnableKeygen(String origin, final boolean enabled) { |
| + Website website = new Website(WebsiteAddress.create(origin)); |
| + website.setKeygenInfo(new KeygenInfo(origin, origin, false)); |
|
newt (away)
2015/12/17 21:00:27
Should you be setting the embedder here, or just t
|
| + final Preferences preferenceActivity = startSingleWebsitePreferences(website); |
| + |
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
| + @Override |
| + public void run() { |
| + SingleWebsitePreferences websitePreferences = |
| + (SingleWebsitePreferences) preferenceActivity.getFragmentForTest(); |
| + ChromeBaseListPreference keygen = (ChromeBaseListPreference) |
| + websitePreferences.findPreference( |
| + SingleWebsitePreferences.PREF_KEYGEN_PERMISSION); |
| + keygen.setValue(enabled ? "ALLOW" : "BLOCK"); |
| + } |
| + }); |
| + preferenceActivity.finish(); |
| + } |
| + |
| /** |
| * Tests that disabling cookies turns off the third-party cookie toggle. |
| * @throws Exception |
| @@ -351,6 +381,34 @@ 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 { |
| + String origin = "http://example.com/"; |
| + setEnableKeygen(origin, false); |
| + int setting = WebsitePreferenceBridge.nativeGetKeygenSettingForOrigin( |
| + origin, origin, false); |
| + assertEquals(ContentSetting.fromInt(setting), ContentSetting.BLOCK); |
| + } |
| + |
| + /** |
| + * Sets Allow Keygen Enabled to be true and make sure it is set correctly. |
| + * @throws Exception |
| + */ |
| + @SmallTest |
| + @Feature({"Preferences"}) |
| + public void testKeygenNotBlocked() throws Exception { |
| + String origin = "http://example.com/"; |
| + setEnableKeygen(origin, true); |
| + int setting = WebsitePreferenceBridge.nativeGetKeygenSettingForOrigin( |
| + origin, origin, false); |
| + assertEquals(ContentSetting.fromInt(setting), ContentSetting.ALLOW); |
| + } |
| + |
| + /** |
| * Sets Allow Camera Enabled to be false and make sure it is set correctly. |
| * @throws Exception |
| */ |