| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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.content.browser; | 5 package org.chromium.content.browser; |
| 6 | 6 |
| 7 import org.chromium.base.CalledByNative; | 7 import org.chromium.base.CalledByNative; |
| 8 import org.chromium.base.JNINamespace; | 8 import org.chromium.base.JNINamespace; |
| 9 import org.chromium.base.ThreadUtils; | 9 import org.chromium.base.ThreadUtils; |
| 10 import org.chromium.content_public.browser.WebContents; | 10 import org.chromium.content_public.browser.WebContents; |
| 11 | 11 |
| 12 /** | 12 /** |
| 13 * This class receives callbacks that act as hooks for various a native web cont
ents events related | 13 * This class receives callbacks that act as hooks for various a native web cont
ents events related |
| 14 * to loading a url. A single web contents can have multiple WebContentObservers
. | 14 * to loading a url. A single web contents can have multiple WebContentObservers
. |
| 15 */ | 15 */ |
| 16 @JNINamespace("content") | 16 @JNINamespace("content") |
| 17 public abstract class WebContentsObserver { | 17 public abstract class WebContentsObserver { |
| 18 private long mNativeWebContentsObserverAndroid; | 18 private long mNativeWebContentsObserverAndroid; |
| 19 | 19 |
| 20 public WebContentsObserver(WebContents webContents) { | 20 public WebContentsObserver(WebContents webContents) { |
| 21 ThreadUtils.assertOnUiThread(); | 21 ThreadUtils.assertOnUiThread(); |
| 22 mNativeWebContentsObserverAndroid = nativeInit(webContents); | 22 mNativeWebContentsObserverAndroid = nativeInit(webContents); |
| 23 } | 23 } |
| 24 | 24 |
| 25 /** |
| 26 * Called when the RenderView of the current RenderViewHost is ready, e.g. b
ecause we recreated |
| 27 * it after a crash. |
| 28 */ |
| 29 @CalledByNative |
| 30 public void renderViewReady() { |
| 31 } |
| 32 |
| 25 @CalledByNative | 33 @CalledByNative |
| 26 public void renderProcessGone(boolean wasOomProtected) { | 34 public void renderProcessGone(boolean wasOomProtected) { |
| 27 } | 35 } |
| 28 | 36 |
| 29 /** | 37 /** |
| 30 * Called when the a page starts loading. | 38 * Called when the a page starts loading. |
| 31 * @param url The validated url for the loading page. | 39 * @param url The validated url for the loading page. |
| 32 */ | 40 */ |
| 33 @CalledByNative | 41 @CalledByNative |
| 34 public void didStartLoading(String url) { | 42 public void didStartLoading(String url) { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 * Similar to didNavigateMainFrame but also called on subframe navigations. | 100 * Similar to didNavigateMainFrame but also called on subframe navigations. |
| 93 * @param url The validated url for the page. | 101 * @param url The validated url for the page. |
| 94 * @param baseUrl The validated base url for the page. | 102 * @param baseUrl The validated base url for the page. |
| 95 * @param isReload True if this navigation is a reload. | 103 * @param isReload True if this navigation is a reload. |
| 96 */ | 104 */ |
| 97 @CalledByNative | 105 @CalledByNative |
| 98 public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload
) { | 106 public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload
) { |
| 99 } | 107 } |
| 100 | 108 |
| 101 /** | 109 /** |
| 110 * Called once the window.document object of the main frame was created. |
| 111 */ |
| 112 @CalledByNative |
| 113 public void documentAvailableInMainFrame() { |
| 114 } |
| 115 |
| 116 /** |
| 102 * Notifies that a load is started for a given frame. | 117 * Notifies that a load is started for a given frame. |
| 103 * @param frameId A positive, non-zero integer identifying the navigating fr
ame. | 118 * @param frameId A positive, non-zero integer identifying the navigating fr
ame. |
| 104 * @param parentFrameId The frame identifier of the frame containing the nav
igating frame, | 119 * @param parentFrameId The frame identifier of the frame containing the nav
igating frame, |
| 105 * or -1 if the frame is not contained in another frame
. | 120 * or -1 if the frame is not contained in another frame
. |
| 106 * @param isMainFrame Whether the load is happening for the main frame. | 121 * @param isMainFrame Whether the load is happening for the main frame. |
| 107 * @param validatedUrl The validated URL that is being navigated to. | 122 * @param validatedUrl The validated URL that is being navigated to. |
| 108 * @param isErrorPage Whether this is navigating to an error page. | 123 * @param isErrorPage Whether this is navigating to an error page. |
| 109 * @param isIframeSrcdoc Whether this is navigating to about:srcdoc. | 124 * @param isIframeSrcdoc Whether this is navigating to about:srcdoc. |
| 110 */ | 125 */ |
| 111 @CalledByNative | 126 @CalledByNative |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 public void detachFromWebContents() { | 202 public void detachFromWebContents() { |
| 188 if (mNativeWebContentsObserverAndroid != 0) { | 203 if (mNativeWebContentsObserverAndroid != 0) { |
| 189 nativeDestroy(mNativeWebContentsObserverAndroid); | 204 nativeDestroy(mNativeWebContentsObserverAndroid); |
| 190 mNativeWebContentsObserverAndroid = 0; | 205 mNativeWebContentsObserverAndroid = 0; |
| 191 } | 206 } |
| 192 } | 207 } |
| 193 | 208 |
| 194 private native long nativeInit(WebContents webContents); | 209 private native long nativeInit(WebContents webContents); |
| 195 private native void nativeDestroy(long nativeWebContentsObserverAndroid); | 210 private native void nativeDestroy(long nativeWebContentsObserverAndroid); |
| 196 } | 211 } |
| OLD | NEW |