OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.preferences.website; | 5 package org.chromium.chrome.browser.preferences.website; |
6 | 6 |
7 import android.content.Intent; | 7 import android.content.Intent; |
8 import android.os.Bundle; | 8 import android.os.Bundle; |
9 import android.test.suitebuilder.annotation.SmallTest; | 9 import android.test.suitebuilder.annotation.SmallTest; |
10 | 10 |
11 import org.chromium.base.ThreadUtils; | 11 import org.chromium.base.ThreadUtils; |
12 import org.chromium.base.test.util.CommandLineFlags; | 12 import org.chromium.base.test.util.CommandLineFlags; |
13 import org.chromium.base.test.util.Feature; | 13 import org.chromium.base.test.util.Feature; |
14 import org.chromium.base.test.util.RetryOnFailure; | 14 import org.chromium.base.test.util.RetryOnFailure; |
15 import org.chromium.chrome.browser.ChromeActivity; | 15 import org.chromium.chrome.browser.ChromeActivity; |
16 import org.chromium.chrome.browser.ChromeSwitches; | 16 import org.chromium.chrome.browser.ChromeSwitches; |
17 import org.chromium.chrome.browser.infobar.InfoBarContainer; | 17 import org.chromium.chrome.browser.infobar.InfoBarContainer; |
18 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; | 18 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; |
19 import org.chromium.chrome.browser.preferences.ChromeBaseListPreference; | |
20 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; | 19 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
21 import org.chromium.chrome.browser.preferences.LocationSettings; | 20 import org.chromium.chrome.browser.preferences.LocationSettings; |
22 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 21 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
23 import org.chromium.chrome.browser.preferences.Preferences; | 22 import org.chromium.chrome.browser.preferences.Preferences; |
24 import org.chromium.chrome.browser.preferences.PreferencesLauncher; | 23 import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
25 import org.chromium.chrome.test.ChromeActivityTestCaseBase; | 24 import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
26 import org.chromium.chrome.test.util.InfoBarTestAnimationListener; | 25 import org.chromium.chrome.test.util.InfoBarTestAnimationListener; |
27 import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil; | 26 import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil; |
28 import org.chromium.net.test.EmbeddedTestServer; | 27 import org.chromium.net.test.EmbeddedTestServer; |
29 | 28 |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 websitePreferences.findPreference( | 252 websitePreferences.findPreference( |
254 SingleCategoryPreferences.READ_WRITE_TOGGLE_KEY)
; | 253 SingleCategoryPreferences.READ_WRITE_TOGGLE_KEY)
; |
255 websitePreferences.onPreferenceChange(toggle, enabled); | 254 websitePreferences.onPreferenceChange(toggle, enabled); |
256 assertEquals("Mic should be " + (enabled ? "allowed" : "blocked"
), | 255 assertEquals("Mic should be " + (enabled ? "allowed" : "blocked"
), |
257 enabled, PrefServiceBridge.getInstance().isMicEnabled())
; | 256 enabled, PrefServiceBridge.getInstance().isMicEnabled())
; |
258 } | 257 } |
259 }); | 258 }); |
260 preferenceActivity.finish(); | 259 preferenceActivity.finish(); |
261 } | 260 } |
262 | 261 |
263 private void setEnableKeygen(final String origin, final boolean enabled) { | |
264 WebsiteAddress address = WebsiteAddress.create(origin); | |
265 Website website = new Website(address, address); | |
266 website.setKeygenInfo(new KeygenInfo(origin, origin, false)); | |
267 final Preferences preferenceActivity = startSingleWebsitePreferences(web
site); | |
268 | |
269 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | |
270 @Override | |
271 public void run() { | |
272 SingleWebsitePreferences websitePreferences = | |
273 (SingleWebsitePreferences) preferenceActivity.getFragmen
tForTest(); | |
274 ChromeBaseListPreference keygen = | |
275 (ChromeBaseListPreference) websitePreferences.findPrefer
ence( | |
276 SingleWebsitePreferences.PREF_KEYGEN_PERMISSION)
; | |
277 websitePreferences.onPreferenceChange(keygen, enabled | |
278 ? ContentSetting.ALLOW.toString() | |
279 : ContentSetting.BLOCK.toString()); | |
280 } | |
281 }); | |
282 preferenceActivity.finish(); | |
283 } | |
284 | |
285 private void setEnableBackgroundSync(final boolean enabled) { | 262 private void setEnableBackgroundSync(final boolean enabled) { |
286 final Preferences preferenceActivity = | 263 final Preferences preferenceActivity = |
287 startSiteSettingsCategory(SiteSettingsCategory.CATEGORY_BACKGROU
ND_SYNC); | 264 startSiteSettingsCategory(SiteSettingsCategory.CATEGORY_BACKGROU
ND_SYNC); |
288 | 265 |
289 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | 266 ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
290 @Override | 267 @Override |
291 public void run() { | 268 public void run() { |
292 SingleCategoryPreferences backgroundSyncPreferences = | 269 SingleCategoryPreferences backgroundSyncPreferences = |
293 (SingleCategoryPreferences) preferenceActivity.getFragme
ntForTest(); | 270 (SingleCategoryPreferences) preferenceActivity.getFragme
ntForTest(); |
294 ChromeSwitchPreference toggle = | 271 ChromeSwitchPreference toggle = |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 setEnablePopups(true); | 368 setEnablePopups(true); |
392 | 369 |
393 // Test that a popup opens. | 370 // Test that a popup opens. |
394 loadUrl(mTestServer.getURL("/chrome/test/data/android/popup.html")); | 371 loadUrl(mTestServer.getURL("/chrome/test/data/android/popup.html")); |
395 getInstrumentation().waitForIdleSync(); | 372 getInstrumentation().waitForIdleSync(); |
396 | 373 |
397 assertEquals(2, getTabCount()); | 374 assertEquals(2, getTabCount()); |
398 } | 375 } |
399 | 376 |
400 /** | 377 /** |
401 * Sets Allow Keygen Enabled to be false and make sure it is set correctly. | |
402 * @throws Exception | |
403 */ | |
404 @SmallTest | |
405 @Feature({"Preferences"}) | |
406 public void testKeygenBlocked() throws Exception { | |
407 final String origin = "http://example.com/"; | |
408 setEnableKeygen(origin, false); | |
409 | |
410 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | |
411 @Override | |
412 public void run() { | |
413 WebsiteAddress address = WebsiteAddress.create(origin); | |
414 Website site = new Website(address, address); | |
415 site.setKeygenInfo(new KeygenInfo(origin, origin, false)); | |
416 assertEquals(site.getKeygenPermission(), ContentSetting.BLOCK); | |
417 } | |
418 }); | |
419 } | |
420 | |
421 /** | |
422 * Sets Allow Keygen Enabled to be true and make sure it is set correctly. | |
423 * @throws Exception | |
424 */ | |
425 @SmallTest | |
426 @Feature({"Preferences"}) | |
427 public void testKeygenNotBlocked() throws Exception { | |
428 final String origin = "http://example.com/"; | |
429 setEnableKeygen(origin, true); | |
430 | |
431 ThreadUtils.runOnUiThreadBlocking(new Runnable() { | |
432 @Override | |
433 public void run() { | |
434 WebsiteAddress address = WebsiteAddress.create(origin); | |
435 Website site = new Website(address, address); | |
436 site.setKeygenInfo(new KeygenInfo(origin, origin, false)); | |
437 assertEquals(site.getKeygenPermission(), ContentSetting.ALLOW); | |
438 } | |
439 }); | |
440 } | |
441 | |
442 /** | |
443 * Test that showing the Site Settings menu doesn't crash (crbug.com/610576)
. | 378 * Test that showing the Site Settings menu doesn't crash (crbug.com/610576)
. |
444 * @throws Exception | 379 * @throws Exception |
445 */ | 380 */ |
446 @SmallTest | 381 @SmallTest |
447 @Feature({"Preferences"}) | 382 @Feature({"Preferences"}) |
448 public void testSiteSettingsMenu() throws Exception { | 383 public void testSiteSettingsMenu() throws Exception { |
449 final Preferences preferenceActivity = startSiteSettingsMenu(""); | 384 final Preferences preferenceActivity = startSiteSettingsMenu(""); |
450 preferenceActivity.finish(); | 385 preferenceActivity.finish(); |
451 } | 386 } |
452 | 387 |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 | 544 |
610 private int getTabCount() { | 545 private int getTabCount() { |
611 return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<Integer
>() { | 546 return ThreadUtils.runOnUiThreadBlockingNoException(new Callable<Integer
>() { |
612 @Override | 547 @Override |
613 public Integer call() throws Exception { | 548 public Integer call() throws Exception { |
614 return getActivity().getTabModelSelector().getTotalTabCount(); | 549 return getActivity().getTabModelSelector().getTotalTabCount(); |
615 } | 550 } |
616 }); | 551 }); |
617 } | 552 } |
618 } | 553 } |
OLD | NEW |