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

Unified Diff: content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java

Issue 1144463003: Remove Navigation Transitions from Chromium (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed TransitionPageHelper. Created 5 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java
diff --git a/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java
deleted file mode 100644
index 9b626fd8d5c91737166c4514389e8783124676f8..0000000000000000000000000000000000000000
--- a/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java
+++ /dev/null
@@ -1,385 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser;
-
-import android.test.suitebuilder.annotation.SmallTest;
-import android.text.TextUtils;
-import android.util.Pair;
-
-import org.chromium.base.test.util.UrlUtils;
-import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
-import org.chromium.content_public.browser.LoadUrlParams;
-import org.chromium.content_public.browser.NavigationTransitionDelegate;
-import org.chromium.content_public.browser.WebContents;
-import org.chromium.content_shell_apk.ContentShellActivity;
-import org.chromium.content_shell_apk.ContentShellTestBase;
-import org.chromium.net.test.util.TestWebServer;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Test suite for navigation transition listeners.
- */
-public class TransitionTest extends ContentShellTestBase {
-
- private static final String URL_1 = UrlUtils.encodeHtmlDataUri("<html>1</html>");
- private static final String URL_2 = "/2.html";
- private static final String URL_2_DATA = "<html>2</html>";
- private static final String URL_3 = "/3.html";
- private static final String URL_3_DATA = "<html>3</html>";
-
- static class TestNavigationTransitionDelegate implements NavigationTransitionDelegate {
- private boolean mDidCallDefer = false;
- private boolean mDidCallWillHandleDefer = false;
- private boolean mDidCallAddStylesheet = false;
- private boolean mHandleDefer = false;
- private boolean mWillFetchTransitionElements = false;
- private boolean mDidFetchTransitionElements = false;
- private ArrayList<String> mTransitionStylesheets;
- private WebContents mWebContents;
- private String mTransitionEnteringColor;
-
- TestNavigationTransitionDelegate(WebContents webContents, boolean handleDefer) {
- mWebContents = webContents;
- mHandleDefer = handleDefer;
- mTransitionStylesheets = new ArrayList<String>();
- }
-
- @Override
- public void didDeferAfterResponseStarted(String markup, String cssSelector,
- String enteringColor) {
- if (mWillFetchTransitionElements) {
- mWebContents.fetchTransitionElements(mWebContents.getUrl());
- }
- mDidCallDefer = true;
- mWebContents.resumeResponseDeferredAtStart();
- mTransitionEnteringColor = enteringColor;
- }
-
- @Override
- public boolean willHandleDeferAfterResponseStarted() {
- return mHandleDefer;
- }
-
- @Override
- public void addEnteringStylesheetToTransition(String stylesheet) {
- mDidCallAddStylesheet = true;
- mTransitionStylesheets.add(stylesheet);
- }
-
- @Override
- public void didStartNavigationTransitionForFrame(long frameId) {
- }
-
- @Override
- public void addNavigationTransitionElements(
- String name, int x, int y, int width, int height) {
- }
-
- @Override
- public void onTransitionElementsFetched(String cssSelector) {
- mDidFetchTransitionElements = true;
- }
-
- public boolean getDidCallDefer() {
- return mDidCallDefer;
- }
-
- public boolean getDidCallWillHandlerDefer() {
- return mDidCallWillHandleDefer;
- }
-
- public boolean getDidCallAddStylesheet() {
- return mDidCallAddStylesheet;
- }
-
- public boolean getDidFetchTransitionElements() {
- return mDidFetchTransitionElements;
- }
-
- public void setWillFetchTransitionElements() {
- mWillFetchTransitionElements = true;
- }
-
- public ArrayList<String> getTransitionStylesheets() {
- return mTransitionStylesheets;
- }
-
- public String getTransitionEnteringColor() {
- return mTransitionEnteringColor;
- }
- }
-
- private static List<Pair<String, String>> createHeadersList(String[] namesAndValues) {
- List<Pair<String, String>> result =
- new ArrayList<Pair<String, String>>();
- for (int i = 0; i < namesAndValues.length; i += 2) {
- result.add(Pair.create(namesAndValues[i], namesAndValues[i + 1]));
- }
- return result;
- }
-
- /**
- * Tests that the listener recieves DidDeferAfterResponseStarted if we specify that
- * the transition is handled.
- */
- @SmallTest
- public void testDidDeferAfterResponseStartedCalled() throws Throwable {
- ContentShellActivity activity = launchContentShellWithUrl(URL_1);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
-
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate = new TestNavigationTransitionDelegate(
- contentViewCore.getWebContents(),
- true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, new LoadUrlParams(URL_1));
-
- assertTrue("didDeferAfterResponseStarted called.", delegate.getDidCallDefer());
- }
-
- /**
- * Tests that the listener does not receive DidDeferAfterResponseStarted if we specify that
- * the transition is not handled.
- */
- @SmallTest
- public void testDidDeferAfterResponseStartedNotCalled() throws Throwable {
- ContentShellActivity activity = launchContentShellWithUrl(URL_1);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
-
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate = new TestNavigationTransitionDelegate(
- contentViewCore.getWebContents(),
- false);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, new LoadUrlParams(URL_1));
-
- assertFalse("didDeferAfterResponseStarted called.", delegate.getDidCallDefer());
- }
-
- /**
- * Tests clearNavigationTransitionData(). The listener does not receive
- * DidDeferAfterResponseStarted even if we specify that the transition is handled
- * because the data is cleared before the navigation.
- */
- @SmallTest
- public void testDidDeferAfterResponseStartedNotCalledWithoutData() throws Throwable {
- ContentShellActivity activity = launchContentShellWithUrl(URL_1);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
-
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate = new TestNavigationTransitionDelegate(
- contentViewCore.getWebContents(),
- true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- contentViewCore.getWebContents().clearNavigationTransitionData();
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, new LoadUrlParams(URL_1));
-
- assertFalse("didDeferAfterResponseStarted called.", delegate.getDidCallDefer());
- }
-
- /**
- * Tests that the resource handler doesn't query the listener if no transition is pending.
- */
- @SmallTest
- public void testWillHandleDeferAfterResponseStartedNotCalled() throws Throwable {
- ContentShellActivity activity = launchContentShellWithUrl(URL_1);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
-
- TestNavigationTransitionDelegate delegate = new TestNavigationTransitionDelegate(
- contentViewCore.getWebContents(),
- false);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, new LoadUrlParams(URL_1));
-
- assertFalse("didDeferAfterResponseStarted called.", delegate.getDidCallDefer());
- assertFalse("willHandleDeferAfterResponseStarted called.",
- delegate.getDidCallWillHandlerDefer());
- }
-
- /**
- * Tests that the listener receives addStylesheetToTransition if we specify
- * that there are entering transition stylesheet.
- */
- @SmallTest
- public void testAddStylesheetToTransitionCalled() throws Throwable {
- TestWebServer webServer = TestWebServer.start();
- try {
- final String url2 = webServer.setResponse(URL_2, URL_2_DATA, null);
- ContentShellActivity activity = launchContentShellWithUrl(url2);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate =
- new TestNavigationTransitionDelegate(contentViewCore.getWebContents(), true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- int currentCallCount = testCallbackHelperContainer
- .getOnPageFinishedHelper().getCallCount();
- String[] headers = {
- "link",
- "<transition0.css>;rel=transition-entering-stylesheet;scope=*",
- "link",
- "<transition1.css>;rel=transition-entering-stylesheet;scope=*",
- "link",
- "<transition2.css>;rel=transition-entering-stylesheet;scope=*"
- };
- final String url3 = webServer.setResponse(URL_3,
- URL_3_DATA,
- createHeadersList(headers));
- LoadUrlParams url3_params = new LoadUrlParams(url3);
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, url3_params);
- testCallbackHelperContainer.getOnPageFinishedHelper().waitForCallback(
- currentCallCount,
- 1,
- 10000,
- TimeUnit.MILLISECONDS);
-
- assertTrue("addStylesheetToTransition called.",
- delegate.getDidCallAddStylesheet());
- assertTrue("Three stylesheets are added",
- delegate.getTransitionStylesheets().size() == 3);
- } finally {
- webServer.shutdown();
- }
- }
-
- /**
- * Tests that the listener receives addStylesheetToTransition if we specify
- * that there are no entering transition stylesheet.
- */
- @SmallTest
- public void testAddStylesheetToTransitionNotCalled() throws Throwable {
- TestWebServer webServer = TestWebServer.start();
- try {
- final String url2 = webServer.setResponse(URL_2, URL_2_DATA, null);
- ContentShellActivity activity = launchContentShellWithUrl(url2);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate =
- new TestNavigationTransitionDelegate(contentViewCore.getWebContents(), true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- int currentCallCount = testCallbackHelperContainer
- .getOnPageFinishedHelper().getCallCount();
- final String url3 = webServer.setResponse(URL_3, URL_3_DATA, null);
- LoadUrlParams url3_params = new LoadUrlParams(url3);
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, url3_params);
- testCallbackHelperContainer.getOnPageFinishedHelper().waitForCallback(
- currentCallCount,
- 1,
- 10000,
- TimeUnit.MILLISECONDS);
-
- assertFalse("addStylesheetToTransition is not called.",
- delegate.getDidCallAddStylesheet());
- assertTrue("No stylesheets are added",
- delegate.getTransitionStylesheets().size() == 0);
- } finally {
- webServer.shutdown();
- }
- }
-
- /**
- * Tests that the listener receives the entering color if it's specified in the
- * response headers.
- */
- @SmallTest
- public void testParseTransitionEnteringColor() throws Throwable {
- TestWebServer webServer = TestWebServer.start();
- try {
- final String url2 = webServer.setResponse(URL_2, URL_2_DATA, null);
- ContentShellActivity activity = launchContentShellWithUrl(url2);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate =
- new TestNavigationTransitionDelegate(contentViewCore.getWebContents(), true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- String transitionEnteringColor = "#00FF00";
-
- int currentCallCount = testCallbackHelperContainer
- .getOnPageFinishedHelper().getCallCount();
- String[] headers = {
- "X-Transition-Entering-Color",
- transitionEnteringColor,
- };
- final String url3 = webServer.setResponse(URL_3,
- URL_3_DATA,
- createHeadersList(headers));
- LoadUrlParams url3Params = new LoadUrlParams(url3);
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, url3Params);
- testCallbackHelperContainer.getOnPageFinishedHelper().waitForCallback(
- currentCallCount,
- 1,
- 10000,
- TimeUnit.MILLISECONDS);
-
- assertTrue("X-Transition-Entering-Color parsed correctly.",
- TextUtils.equals(
- delegate.getTransitionEnteringColor(),
- transitionEnteringColor));
- } finally {
- webServer.shutdown();
- }
- }
-
- /**
- * Tests that transition elements are fetched.
- */
- @SmallTest
- public void testTransitionElementsFetched() throws Throwable {
- ContentShellActivity activity = launchContentShellWithUrl(URL_1);
- waitForActiveShellToBeDoneLoading();
- ContentViewCore contentViewCore = activity.getActiveContentViewCore();
- TestCallbackHelperContainer testCallbackHelperContainer =
- new TestCallbackHelperContainer(contentViewCore);
-
- contentViewCore.getWebContents().setHasPendingNavigationTransitionForTesting();
- TestNavigationTransitionDelegate delegate = new TestNavigationTransitionDelegate(
- contentViewCore.getWebContents(),
- true);
- contentViewCore.getWebContents().setNavigationTransitionDelegate(delegate);
-
- delegate.setWillFetchTransitionElements();
- loadUrl(contentViewCore.getWebContents().getNavigationController(),
- testCallbackHelperContainer, new LoadUrlParams(URL_1));
-
- assertTrue("did fetch transition elements.", delegate.getDidFetchTransitionElements());
- }
-}

Powered by Google App Engine
This is Rietveld 408576698