• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
5 package org.chromium.content_public.browser;
6 
7 /**
8  * The WebContents Java wrapper to allow communicating with the native WebContents object.
9  */
10 public interface WebContents {
11     /**
12      * @return The navigation controller associated with this WebContents.
13      */
getNavigationController()14     NavigationController getNavigationController();
15 
16     /**
17      * @return The title for the current visible page.
18      */
getTitle()19     String getTitle();
20 
21     /**
22      * @return The URL for the current visible page.
23      */
getVisibleUrl()24     String getVisibleUrl();
25 
26     /**
27      * Stop any pending navigation.
28      */
stop()29     void stop();
30 
31     /**
32      * Inserts css into main frame's document.
33      */
insertCSS(String css)34     void insertCSS(String css);
35     /**
36      * To be called when the ContentView is hidden.
37      */
onHide()38     public void onHide();
39 
40     /**
41      * To be called when the ContentView is shown.
42      */
onShow()43     public void onShow();
44 
45     /**
46      * Stops all media players for this WebContents.
47      */
releaseMediaPlayers()48     public void releaseMediaPlayers();
49 
50     /**
51      * Get the Background color from underlying RenderWidgetHost for this WebContent.
52      */
getBackgroundColor()53     public int getBackgroundColor();
54 
55     /**
56      * Requests the renderer insert a link to the specified stylesheet in the
57      * main frame's document.
58      */
addStyleSheetByURL(String url)59     void addStyleSheetByURL(String url);
60 
61     /**
62      * Shows an interstitial page driven by the passed in delegate.
63      *
64      * @param url The URL being blocked by the interstitial.
65      * @param delegate The delegate handling the interstitial.
66      */
showInterstitialPage( String url, long interstitialPageDelegateAndroid)67     public void showInterstitialPage(
68             String url, long interstitialPageDelegateAndroid);
69 
70     /**
71      * @return Whether the page is currently showing an interstitial, such as a bad HTTPS page.
72      */
isShowingInterstitialPage()73     public boolean isShowingInterstitialPage();
74 
75     /**
76      * If the view is ready to draw contents to the screen. In hardware mode,
77      * the initialization of the surface texture may not occur until after the
78      * view has been added to the layout. This method will return {@code true}
79      * once the texture is actually ready.
80      */
isReady()81     public boolean isReady();
82 
83      /**
84      * Inform WebKit that Fullscreen mode has been exited by the user.
85      */
exitFullscreen()86     public void exitFullscreen();
87 
88     /**
89      * Changes whether hiding the top controls is enabled.
90      *
91      * @param enableHiding Whether hiding the top controls should be enabled or not.
92      * @param enableShowing Whether showing the top controls should be enabled or not.
93      * @param animate Whether the transition should be animated or not.
94      */
updateTopControlsState(boolean enableHiding, boolean enableShowing, boolean animate)95     public void updateTopControlsState(boolean enableHiding, boolean enableShowing,
96             boolean animate);
97 
98     /**
99      * Shows the IME if the focused widget could accept text input.
100      */
showImeIfNeeded()101     public void showImeIfNeeded();
102 
103     /**
104      * Brings the Editable to the visible area while IME is up to make easier for inputing text.
105      */
scrollFocusedEditableNodeIntoView()106     public void scrollFocusedEditableNodeIntoView();
107 
108     /**
109      * Selects the word around the caret, if any.
110      * The caller can check if selection actually occurred by listening to OnSelectionChanged.
111      */
selectWordAroundCaret()112     public void selectWordAroundCaret();
113 
114     /**
115      * Get the URL of the current page.
116      *
117      * @return The URL of the current page.
118      */
getUrl()119     public String getUrl();
120 
121     /**
122      * Get the InCognito state of WebContents.
123      *
124      * @return whether this WebContents is in InCognito mode or not
125      */
isIncognito()126     public boolean isIncognito();
127 
128     /**
129      * Resumes the response which is deferred during start.
130      */
resumeResponseDeferredAtStart()131     public void resumeResponseDeferredAtStart();
132 
133     /**
134      * Set pending Navigation for transition testing on this WebContents.
135      */
setHasPendingNavigationTransitionForTesting()136     public void setHasPendingNavigationTransitionForTesting();
137 
138     /**
139      * Set delegate for notifying navigation transition.
140      */
setNavigationTransitionDelegate(NavigationTransitionDelegate delegate)141     public void setNavigationTransitionDelegate(NavigationTransitionDelegate delegate);
142 
143     /**
144      * Inserts the provided markup sandboxed into the frame.
145      */
setupTransitionView(String markup)146     public void setupTransitionView(String markup);
147 
148     /**
149      * Hides transition elements specified by the selector, and activates any
150      * exiting-transition stylesheets.
151      */
beginExitTransition(String cssSelector)152     public void beginExitTransition(String cssSelector);
153 
154     /**
155      * Injects the passed Javascript code in the current page and evaluates it.
156      * If a result is required, pass in a callback.
157      *
158      * @param script The Javascript to execute.
159      * @param callback The callback to be fired off when a result is ready. The script's
160      *                 result will be json encoded and passed as the parameter, and the call
161      *                 will be made on the main thread.
162      *                 If no result is required, pass null.
163      */
evaluateJavaScript(String script, JavaScriptCallback callback)164     public void evaluateJavaScript(String script, JavaScriptCallback callback);
165 
166 }
167