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

Unified Diff: content/browser/android/web_contents_observer_android.cc

Issue 373623002: Convert remaining WebContentsObservers loading callbacks to use RFH. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix CrOS test Created 6 years, 5 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/browser/android/web_contents_observer_android.cc
diff --git a/content/browser/android/web_contents_observer_android.cc b/content/browser/android/web_contents_observer_android.cc
index 7cccf16ae00a40ca0c0e52a46cc0559126c54d78..2305b964ec3cf0596d955ecff3f80560446d9a2e 100644
--- a/content/browser/android/web_contents_observer_android.cc
+++ b/content/browser/android/web_contents_observer_android.cc
@@ -24,6 +24,9 @@ using base::android::ConvertUTF16ToJavaString;
namespace content {
+// TODO(dcheng): File a bug. This class incorrectly passes just a frame ID,
+// which is not sufficient to identify a frame (since frame IDs are scoped per
+// render process, and so may collide).
WebContentsObserverAndroid::WebContentsObserverAndroid(
JNIEnv* env,
jobject obj,
@@ -36,8 +39,8 @@ WebContentsObserverAndroid::~WebContentsObserverAndroid() {
}
jlong Init(JNIEnv* env, jobject obj, jobject java_web_contents) {
- content::WebContents* web_contents =
- content::WebContents::FromJavaWebContents(java_web_contents);
+ WebContents* web_contents =
+ WebContents::FromJavaWebContents(java_web_contents);
CHECK(web_contents);
WebContentsObserverAndroid* native_observer = new WebContentsObserverAndroid(
@@ -97,7 +100,7 @@ void WebContentsObserverAndroid::DidStopLoading(
}
void WebContentsObserverAndroid::DidFailProvisionalLoad(
- content::RenderFrameHost* render_frame_host,
+ RenderFrameHost* render_frame_host,
const GURL& validated_url,
int error_code,
const base::string16& error_description) {
@@ -109,14 +112,15 @@ void WebContentsObserverAndroid::DidFailProvisionalLoad(
}
void WebContentsObserverAndroid::DidFailLoad(
- int64 frame_id,
+ RenderFrameHost* render_frame_host,
const GURL& validated_url,
- bool is_main_frame,
int error_code,
- const base::string16& error_description,
- RenderViewHost* render_view_host) {
- DidFailLoadInternal(
- false, is_main_frame, error_code, error_description, validated_url);
+ const base::string16& error_description) {
+ DidFailLoadInternal(false,
+ !render_frame_host->GetParent(),
+ error_code,
+ error_description,
+ validated_url);
}
void WebContentsObserverAndroid::DidNavigateMainFrame(
@@ -214,10 +218,8 @@ void WebContentsObserverAndroid::DidCommitProvisionalLoadForFrame(
}
void WebContentsObserverAndroid::DidFinishLoad(
- int64 frame_id,
- const GURL& validated_url,
- bool is_main_frame,
- RenderViewHost* render_view_host) {
+ RenderFrameHost* render_frame_host,
+ const GURL& validated_url) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env));
if (obj.is_null())
@@ -233,18 +235,21 @@ void WebContentsObserverAndroid::DidFinishLoad(
ScopedJavaLocalRef<jstring> jstring_url(
ConvertUTF8ToJavaString(env, url_string));
Java_WebContentsObserverAndroid_didFinishLoad(
- env, obj.obj(), frame_id, jstring_url.obj(), is_main_frame);
+ env,
+ obj.obj(),
+ render_frame_host->GetRoutingID(),
+ jstring_url.obj(),
+ !render_frame_host->GetParent());
}
void WebContentsObserverAndroid::DocumentLoadedInFrame(
- int64 frame_id,
- RenderViewHost* render_view_host) {
+ RenderFrameHost* render_frame_host) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env));
if (obj.is_null())
return;
Java_WebContentsObserverAndroid_documentLoadedInFrame(
- env, obj.obj(), frame_id);
+ env, obj.obj(), render_frame_host->GetRoutingID());
}
void WebContentsObserverAndroid::NavigationEntryCommitted(

Powered by Google App Engine
This is Rietveld 408576698