| 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 |