| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include "content/browser/android/web_contents_observer_android.h" | 5 #include "content/browser/android/web_contents_observer_android.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include <jni.h> | 9 #include <jni.h> |
| 10 | 10 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 JNIEnv* env = AttachCurrentThread(); | 56 JNIEnv* env = AttachCurrentThread(); |
| 57 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); | 57 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); |
| 58 if (obj.is_null()) { | 58 if (obj.is_null()) { |
| 59 delete this; | 59 delete this; |
| 60 } else { | 60 } else { |
| 61 // The java side will destroy |this| | 61 // The java side will destroy |this| |
| 62 Java_WebContentsObserver_detachFromWebContents(env, obj.obj()); | 62 Java_WebContentsObserver_detachFromWebContents(env, obj.obj()); |
| 63 } | 63 } |
| 64 } | 64 } |
| 65 | 65 |
| 66 void WebContentsObserverAndroid::RenderViewReady() { |
| 67 JNIEnv* env = AttachCurrentThread(); |
| 68 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); |
| 69 if (obj.is_null()) |
| 70 return; |
| 71 Java_WebContentsObserver_renderViewReady(env, obj.obj()); |
| 72 } |
| 73 |
| 66 void WebContentsObserverAndroid::RenderProcessGone( | 74 void WebContentsObserverAndroid::RenderProcessGone( |
| 67 base::TerminationStatus termination_status) { | 75 base::TerminationStatus termination_status) { |
| 68 JNIEnv* env = AttachCurrentThread(); | 76 JNIEnv* env = AttachCurrentThread(); |
| 69 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); | 77 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); |
| 70 if (obj.is_null()) | 78 if (obj.is_null()) |
| 71 return; | 79 return; |
| 72 jboolean was_oom_protected = | 80 jboolean was_oom_protected = |
| 73 termination_status == base::TERMINATION_STATUS_OOM_PROTECTED; | 81 termination_status == base::TERMINATION_STATUS_OOM_PROTECTED; |
| 74 Java_WebContentsObserver_renderProcessGone( | 82 Java_WebContentsObserver_renderProcessGone( |
| 75 env, obj.obj(), was_oom_protected); | 83 env, obj.obj(), was_oom_protected); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 ScopedJavaLocalRef<jstring> jstring_base_url( | 175 ScopedJavaLocalRef<jstring> jstring_base_url( |
| 168 ConvertUTF8ToJavaString(env, params.base_url.spec())); | 176 ConvertUTF8ToJavaString(env, params.base_url.spec())); |
| 169 jboolean jboolean_is_reload = ui::PageTransitionCoreTypeIs( | 177 jboolean jboolean_is_reload = ui::PageTransitionCoreTypeIs( |
| 170 params.transition, ui::PAGE_TRANSITION_RELOAD); | 178 params.transition, ui::PAGE_TRANSITION_RELOAD); |
| 171 | 179 |
| 172 Java_WebContentsObserver_didNavigateAnyFrame( | 180 Java_WebContentsObserver_didNavigateAnyFrame( |
| 173 env, obj.obj(), jstring_url.obj(), jstring_base_url.obj(), | 181 env, obj.obj(), jstring_url.obj(), jstring_base_url.obj(), |
| 174 jboolean_is_reload); | 182 jboolean_is_reload); |
| 175 } | 183 } |
| 176 | 184 |
| 185 void WebContentsObserverAndroid::DocumentAvailableInMainFrame() { |
| 186 JNIEnv* env = AttachCurrentThread(); |
| 187 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); |
| 188 if (obj.is_null()) |
| 189 return; |
| 190 Java_WebContentsObserver_documentAvailableInMainFrame(env, obj.obj()); |
| 191 } |
| 192 |
| 177 void WebContentsObserverAndroid::DidStartProvisionalLoadForFrame( | 193 void WebContentsObserverAndroid::DidStartProvisionalLoadForFrame( |
| 178 RenderFrameHost* render_frame_host, | 194 RenderFrameHost* render_frame_host, |
| 179 const GURL& validated_url, | 195 const GURL& validated_url, |
| 180 bool is_error_page, | 196 bool is_error_page, |
| 181 bool is_iframe_srcdoc) { | 197 bool is_iframe_srcdoc) { |
| 182 JNIEnv* env = AttachCurrentThread(); | 198 JNIEnv* env = AttachCurrentThread(); |
| 183 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); | 199 ScopedJavaLocalRef<jobject> obj(weak_java_observer_.get(env)); |
| 184 if (obj.is_null()) | 200 if (obj.is_null()) |
| 185 return; | 201 return; |
| 186 ScopedJavaLocalRef<jstring> jstring_url( | 202 ScopedJavaLocalRef<jstring> jstring_url( |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 if (obj.is_null()) | 332 if (obj.is_null()) |
| 317 return; | 333 return; |
| 318 Java_WebContentsObserver_didFirstVisuallyNonEmptyPaint( | 334 Java_WebContentsObserver_didFirstVisuallyNonEmptyPaint( |
| 319 env, obj.obj()); | 335 env, obj.obj()); |
| 320 } | 336 } |
| 321 | 337 |
| 322 bool RegisterWebContentsObserverAndroid(JNIEnv* env) { | 338 bool RegisterWebContentsObserverAndroid(JNIEnv* env) { |
| 323 return RegisterNativesImpl(env); | 339 return RegisterNativesImpl(env); |
| 324 } | 340 } |
| 325 } // namespace content | 341 } // namespace content |
| OLD | NEW |