Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / android_webview / javatests / src / org / chromium / android_webview / test / AwSettingsTest.java
index ea0f68a..9ecf971 100644 (file)
@@ -33,9 +33,9 @@ import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.TestFileUtil;
 import org.chromium.base.test.util.UrlUtils;
-import org.chromium.content.browser.ContentViewCore;
 import org.chromium.content.browser.test.util.CallbackHelper;
 import org.chromium.content.browser.test.util.HistoryUtils;
+import org.chromium.content_public.browser.WebContents;
 import org.chromium.net.test.util.TestWebServer;
 import org.chromium.ui.gfx.DeviceDisplayInfo;
 
@@ -1485,11 +1485,11 @@ public class AwSettingsTest extends AwTestBase {
     @SmallTest
     @Feature({"AndroidWebView", "Preferences"})
     public void testJavaScriptDisabledByDefault() throws Throwable {
-        final String JS_ENABLED_STRING = "JS has run";
-        final String JS_DISABLED_STRING = "JS has not run";
-        final String TEST_PAGE_HTML =
-                "<html><head><title>" + JS_DISABLED_STRING + "</title>"
-                + "</head><body onload=\"document.title='" + JS_ENABLED_STRING
+        final String jsEnabledString = "JS has run";
+        final String jsDisabledString = "JS has not run";
+        final String testPageHtml =
+                "<html><head><title>" + jsDisabledString + "</title>"
+                + "</head><body onload=\"document.title='" + jsEnabledString
                 + "';\"></body></html>";
         final TestAwContentsClient contentClient = new TestAwContentsClient();
         final AwTestContainerView testContainerView =
@@ -1498,10 +1498,10 @@ public class AwSettingsTest extends AwTestBase {
         loadDataSync(
             awContents,
             contentClient.getOnPageFinishedHelper(),
-            TEST_PAGE_HTML,
+            testPageHtml,
             "text/html",
             false);
-        assertEquals(JS_DISABLED_STRING, getTitleOnUiThread(awContents));
+        assertEquals(jsDisabledString, getTitleOnUiThread(awContents));
     }
 
     @SmallTest
@@ -1675,7 +1675,7 @@ public class AwSettingsTest extends AwTestBase {
         final AwTestContainerView testContainerView =
                 createAwTestContainerViewOnMainSync(contentClient);
         final AwContents awContents = testContainerView.getAwContents();
-        final ContentViewCore contentView = testContainerView.getContentViewCore();
+        final WebContents webContents = awContents.getWebContents();
         CallbackHelper onPageFinishedHelper = contentClient.getOnPageFinishedHelper();
         AwSettings settings = getAwSettingsOnUiThread(awContents);
         settings.setJavaScriptEnabled(true);
@@ -1701,9 +1701,9 @@ public class AwSettingsTest extends AwTestBase {
         settings.setUserAgentString(null);
         // Must not cause any changes until the next page loading.
         assertEquals(page2Title + customUserAgentString, getTitleOnUiThread(awContents));
-        HistoryUtils.goBackSync(getInstrumentation(), contentView, onPageFinishedHelper);
+        HistoryUtils.goBackSync(getInstrumentation(), webContents, onPageFinishedHelper);
         assertEquals(page1Title + defaultUserAgentString, getTitleOnUiThread(awContents));
-        HistoryUtils.goForwardSync(getInstrumentation(), contentView,
+        HistoryUtils.goForwardSync(getInstrumentation(), webContents,
                                    onPageFinishedHelper);
         assertEquals(page2Title + defaultUserAgentString, getTitleOnUiThread(awContents));
     }
@@ -2714,12 +2714,8 @@ public class AwSettingsTest extends AwTestBase {
         assertTrue(VideoTestUtil.runVideoTest(this, false, WAIT_TIMEOUT_MS));
     }
 
-    /*
     @SmallTest
     @Feature({"AndroidWebView", "Preferences"})
-    http://crbug.com/396645
-    */
-    @DisabledTest
     public void testMediaPlaybackWithUserGesture() throws Throwable {
         // Wait for 5 second to see if video played.
         assertFalse(VideoTestUtil.runVideoTest(this, true, scaleTimeout(5000)));
@@ -2729,12 +2725,12 @@ public class AwSettingsTest extends AwTestBase {
     @Feature({"AndroidWebView", "Preferences"})
     public void testDefaultVideoPosterURL() throws Throwable {
         final CallbackHelper videoPosterAccessedCallbackHelper = new CallbackHelper();
-        final String DEFAULT_VIDEO_POSTER_URL = "http://default_video_poster/";
+        final String defaultVideoPosterUrl = "http://default_video_poster/";
         TestAwContentsClient client = new TestAwContentsClient() {
             @Override
             public AwWebResourceResponse shouldInterceptRequest(
                     ShouldInterceptRequestParams params) {
-                if (params.url.equals(DEFAULT_VIDEO_POSTER_URL)) {
+                if (params.url.equals(defaultVideoPosterUrl)) {
                     videoPosterAccessedCallbackHelper.notifyCalled();
                 }
                 return null;
@@ -2745,7 +2741,7 @@ public class AwSettingsTest extends AwTestBase {
             @Override
             public void run() {
                 AwSettings awSettings = awContents.getSettings();
-                awSettings.setDefaultVideoPosterURL(DEFAULT_VIDEO_POSTER_URL);
+                awSettings.setDefaultVideoPosterURL(defaultVideoPosterUrl);
             }
         });
         VideoTestWebServer webServer = new VideoTestWebServer(
@@ -2778,42 +2774,50 @@ public class AwSettingsTest extends AwTestBase {
 
         awSettings.setJavaScriptEnabled(true);
 
-        TestWebServer httpsServer = new TestWebServer(true);
-        TestWebServer httpServer = new TestWebServer(false);
+        TestWebServer httpsServer = null;
+        TestWebServer httpServer = null;
+        try {
+            httpsServer = new TestWebServer(true);
+            httpServer = new TestWebServer(false);
 
-        final String JS_URL = "/insecure.js";
-        final String IMG_URL = "/insecure.png";
-        final String SECURE_URL = "/secure.html";
-        httpServer.setResponse(JS_URL, "window.loaded_js = 42;", null);
-        httpServer.setResponseBase64(IMG_URL, CommonResources.FAVICON_DATA_BASE64, null);
+            final String jsUrl = "/insecure.js";
+            final String imageUrl = "/insecure.png";
+            final String secureUrl = "/secure.html";
+            httpServer.setResponse(jsUrl, "window.loaded_js = 42;", null);
+            httpServer.setResponseBase64(imageUrl, CommonResources.FAVICON_DATA_BASE64, null);
 
-        final String JS_HTML = "<script src=\"" + httpServer.getResponseUrl(JS_URL) +
+            final String jsHtml = "<script src=\"" + httpServer.getResponseUrl(jsUrl) +
                 "\"></script>";
-        final String IMG_HTML = "<img src=\"" + httpServer.getResponseUrl(IMG_URL) + "\" />";
-        final String SECURE_HTML = "<body>" + IMG_HTML + " " + JS_HTML + "</body>";
-
-        String secureUrl = httpsServer.setResponse(SECURE_URL, SECURE_HTML, null);
-
-        awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_NEVER_ALLOW);
-        loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), secureUrl);
-        assertEquals(1, httpsServer.getRequestCount(SECURE_URL));
-        assertEquals(0, httpServer.getRequestCount(JS_URL));
-        assertEquals(0, httpServer.getRequestCount(IMG_URL));
-
-        awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_ALWAYS_ALLOW);
-        loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), secureUrl);
-        assertEquals(2, httpsServer.getRequestCount(SECURE_URL));
-        assertEquals(1, httpServer.getRequestCount(JS_URL));
-        assertEquals(1, httpServer.getRequestCount(IMG_URL));
-
-        awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
-        loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), secureUrl);
-        assertEquals(3, httpsServer.getRequestCount(SECURE_URL));
-        assertEquals(1, httpServer.getRequestCount(JS_URL));
-        assertEquals(2, httpServer.getRequestCount(IMG_URL));
-
-        httpServer.shutdown();
-        httpsServer.shutdown();
+            final String imageHtml = "<img src=\"" + httpServer.getResponseUrl(imageUrl) + "\" />";
+            final String secureHtml = "<body>" + imageHtml + " " + jsHtml + "</body>";
+
+            String fullSecureUrl = httpsServer.setResponse(secureUrl, secureHtml, null);
+
+            awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_NEVER_ALLOW);
+            loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), fullSecureUrl);
+            assertEquals(1, httpsServer.getRequestCount(secureUrl));
+            assertEquals(0, httpServer.getRequestCount(jsUrl));
+            assertEquals(0, httpServer.getRequestCount(imageUrl));
+
+            awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_ALWAYS_ALLOW);
+            loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), fullSecureUrl);
+            assertEquals(2, httpsServer.getRequestCount(secureUrl));
+            assertEquals(1, httpServer.getRequestCount(jsUrl));
+            assertEquals(1, httpServer.getRequestCount(imageUrl));
+
+            awSettings.setMixedContentMode(AwSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
+            loadUrlSync(awContents, contentClient.getOnPageFinishedHelper(), fullSecureUrl);
+            assertEquals(3, httpsServer.getRequestCount(secureUrl));
+            assertEquals(1, httpServer.getRequestCount(jsUrl));
+            assertEquals(2, httpServer.getRequestCount(imageUrl));
+        } finally {
+            if (httpServer != null) {
+                httpServer.shutdown();
+            }
+            if (httpsServer != null) {
+                httpsServer.shutdown();
+            }
+        }
     }