Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(591)

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java

Issue 11192057: [Android] Add supportMultipleWindows setting (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments addressed, moved fields in WebPreferences. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | content/browser/android/content_settings.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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.android_webview.test; 5 package org.chromium.android_webview.test;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.os.Build; 8 import android.os.Build;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 10
(...skipping 857 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 "<p id=\"par\" style=\"font-size:14px;\">"); 868 "<p id=\"par\" style=\"font-size:14px;\">");
869 // Make the paragraph wide enough for being processed by the font au tosizer. 869 // Make the paragraph wide enough for being processed by the font au tosizer.
870 for (int i = 0; i < 100; i++) { 870 for (int i = 0; i < 100; i++) {
871 sb.append("Hello, World! "); 871 sb.append("Hello, World! ");
872 } 872 }
873 sb.append("</p></body></html>"); 873 sb.append("</p></body></html>");
874 return sb.toString(); 874 return sb.toString();
875 } 875 }
876 } 876 }
877 877
878 class AwSettingsJavaScriptPopupsTestHelper extends AwSettingsTestHelper<Bool ean> {
879 static private final String POPUP_ENABLED = "Popup enabled";
880 static private final String POPUP_BLOCKED = "Popup blocked";
881
882 AwSettingsJavaScriptPopupsTestHelper(
883 AwContents awContents,
884 TestAwContentsClient contentViewClient,
885 int index) throws Throwable {
886 super(awContents, contentViewClient, true);
887 }
888
889 @Override
890 protected Boolean getAlteredValue() {
891 return ENABLED;
892 }
893
894 @Override
895 protected Boolean getInitialValue() {
896 return DISABLED;
897 }
898
899 @Override
900 protected Boolean getCurrentValue() {
901 return mContentSettings.getJavaScriptCanOpenWindowsAutomatically();
902 }
903
904 @Override
905 protected void setCurrentValue(Boolean value) {
906 mContentSettings.setJavaScriptCanOpenWindowsAutomatically(value);
907 }
908
909 @Override
910 protected void doEnsureSettingHasValue(Boolean value) throws Throwable {
911 loadDataSync(getData());
912 final boolean expectPopupEnabled = value;
913 assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
914 @Override
915 public boolean isSatisfied() {
916 try {
917 String title = getTitleOnUiThread();
918 return expectPopupEnabled ? POPUP_ENABLED.equals(title) :
919 POPUP_BLOCKED.equals(title);
920 } catch (Throwable t) {
921 t.printStackTrace();
922 fail("Failed to getTitleOnUiThread: " + t.toString());
923 return false;
924 }
925 }
926 }, TEST_TIMEOUT, CHECK_INTERVAL));
927 assertEquals(value ? POPUP_ENABLED : POPUP_BLOCKED, getTitleOnUiThre ad());
928 }
929
930 private String getData() {
931 return "<html><head>" +
932 "<script>" +
933 " function tryOpenWindow() {" +
934 " var newWindow = window.open(" +
935 " 'data:text/html;charset=utf-8," +
936 " <html><head><title>" + POPUP_ENABLED + "</title> </head></html>');" +
937 " if (!newWindow) document.title = '" + POPUP_BLOCKED + "';" +
938 " }" +
939 "</script></head>" +
940 "<body onload='tryOpenWindow()'></body></html>";
941 }
942 }
943
878 // The test verifies that JavaScript is disabled upon WebView 944 // The test verifies that JavaScript is disabled upon WebView
879 // creation without accessing ContentSettings. If the test passes, 945 // creation without accessing ContentSettings. If the test passes,
880 // it means that WebView-specific web preferences configuration 946 // it means that WebView-specific web preferences configuration
881 // is applied on WebView creation. JS state is used, because it is 947 // is applied on WebView creation. JS state is used, because it is
882 // enabled by default in Chrome, but must be disabled by default 948 // enabled by default in Chrome, but must be disabled by default
883 // in WebView. 949 // in WebView.
884 @SmallTest 950 @SmallTest
885 @Feature({"Android-WebView", "Preferences"}) 951 @Feature({"Android-WebView", "Preferences"})
886 public void testJavaScriptDisabledByDefault() throws Throwable { 952 public void testJavaScriptDisabledByDefault() throws Throwable {
887 final String JS_ENABLED_STRING = "JS has run"; 953 final String JS_ENABLED_STRING = "JS has run";
(...skipping 930 matching lines...) Expand 10 before | Expand all | Expand 10 after
1818 * Blocked on crbug/157563 1884 * Blocked on crbug/157563
1819 */ 1885 */
1820 @DisabledTest 1886 @DisabledTest
1821 public void testTextZoomBoth() throws Throwable { 1887 public void testTextZoomBoth() throws Throwable {
1822 ViewPair views = createViews(NORMAL_VIEW, INCOGNITO_VIEW); 1888 ViewPair views = createViews(NORMAL_VIEW, INCOGNITO_VIEW);
1823 runPerViewSettingsTest( 1889 runPerViewSettingsTest(
1824 new AwSettingsTextZoomTestHelper(views.getContents0(), views.getClie nt0()), 1890 new AwSettingsTextZoomTestHelper(views.getContents0(), views.getClie nt0()),
1825 new AwSettingsTextZoomTestHelper(views.getContents1(), views.getClie nt1())); 1891 new AwSettingsTextZoomTestHelper(views.getContents1(), views.getClie nt1()));
1826 } 1892 }
1827 1893
1894 public void testJavaScriptPopupsNormal() throws Throwable {
1895 ViewPair views = createViews(NORMAL_VIEW, NORMAL_VIEW);
1896 runPerViewSettingsTest(
1897 new AwSettingsJavaScriptPopupsTestHelper(views.getContents0(), views .getClient0(), 0),
1898 new AwSettingsJavaScriptPopupsTestHelper(views.getContents1(), views .getClient1(), 1));
1899 }
1900
1901 public void testJavaScriptPopupsIncognito() throws Throwable {
1902 ViewPair views = createViews(INCOGNITO_VIEW, INCOGNITO_VIEW);
1903 runPerViewSettingsTest(
1904 new AwSettingsJavaScriptPopupsTestHelper(views.getContents0(), views .getClient0(), 0),
1905 new AwSettingsJavaScriptPopupsTestHelper(views.getContents1(), views .getClient1(), 1));
1906 }
1907
1908 public void testJavaScriptPopupsBoth() throws Throwable {
1909 ViewPair views = createViews(NORMAL_VIEW, INCOGNITO_VIEW);
1910 runPerViewSettingsTest(
1911 new AwSettingsJavaScriptPopupsTestHelper(views.getContents0(), views .getClient0(), 0),
1912 new AwSettingsJavaScriptPopupsTestHelper(views.getContents1(), views .getClient1(), 1));
1913 }
1914
1828 class ViewPair { 1915 class ViewPair {
1829 private final AwContents contents0; 1916 private final AwContents contents0;
1830 private final TestAwContentsClient client0; 1917 private final TestAwContentsClient client0;
1831 private final AwContents contents1; 1918 private final AwContents contents1;
1832 private final TestAwContentsClient client1; 1919 private final TestAwContentsClient client1;
1833 1920
1834 ViewPair(AwContents contents0, TestAwContentsClient client0, 1921 ViewPair(AwContents contents0, TestAwContentsClient client0,
1835 AwContents contents1, TestAwContentsClient client1) { 1922 AwContents contents1, TestAwContentsClient client1) {
1836 this.contents0 = contents0; 1923 this.contents0 = contents0;
1837 this.client0 = client0; 1924 this.client0 = client0;
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
2001 contentClient.getOnPageFinishedHelper(), 2088 contentClient.getOnPageFinishedHelper(),
2002 "file:///" + fileName); 2089 "file:///" + fileName);
2003 assertEquals(1, webServer.getRequestCount(httpPath)); 2090 assertEquals(1, webServer.getRequestCount(httpPath));
2004 assertEquals("img_onload_fired", getTitleOnUiThread(awContents)); 2091 assertEquals("img_onload_fired", getTitleOnUiThread(awContents));
2005 } finally { 2092 } finally {
2006 if (fileName != null) TestFileUtil.deleteFile(fileName); 2093 if (fileName != null) TestFileUtil.deleteFile(fileName);
2007 if (webServer != null) webServer.shutdown(); 2094 if (webServer != null) webServer.shutdown();
2008 } 2095 }
2009 } 2096 }
2010 } 2097 }
OLDNEW
« no previous file with comments | « no previous file | content/browser/android/content_settings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698