NavigationTransitionDelegate.java revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package org.chromium.content_public.browser;
6
7/**
8 * An interface that allows the embedder to be notified of navigation transition
9 * related events and respond to them.
10 */
11public interface NavigationTransitionDelegate {
12    /**
13     * Called when the navigation is deferred immediately after the response started.
14     * @param markup The markup coming as part of response.
15     * @param cssSelector The CSS selectors, which is to be applied to transition layer's
16     *                    makrup.
17     * @param enteringColor The background color of the entering document, as a String
18     *                      representing a legal CSS color value. This is inserted into
19     *                      the transition layer's markup after the entering stylesheets
20     *                      have been applied.
21     */
22    public void didDeferAfterResponseStarted(
23            String markup, String cssSelector, String enteringColor);
24
25    /**
26     * Called when a navigation transition has been detected, and we need to check
27     * if it's supported.
28     */
29    public boolean willHandleDeferAfterResponseStarted();
30
31    /**
32     * Called when the navigation is deferred immediately after the response
33     * started.
34     */
35    public void addEnteringStylesheetToTransition(String stylesheet);
36
37    /**
38     * Notifies that a navigation transition is started for a given frame.
39     * @param frameId A positive, non-zero integer identifying the navigating frame.
40     */
41    public void didStartNavigationTransitionForFrame(long frameId);
42}
43