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

Unified Diff: android_webview/native/aw_contents.cc

Issue 10890024: Implement DocuementHasImages (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix test Created 8 years, 4 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: android_webview/native/aw_contents.cc
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
index f5eeebe0f1f166bbfa32331b8327ed4951a9a21a..362a60325397ff675512df6673d47dfb06081071 100644
--- a/android_webview/native/aw_contents.cc
+++ b/android_webview/native/aw_contents.cc
@@ -4,11 +4,14 @@
#include "android_webview/native/aw_contents.h"
+#include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
#include "android_webview/native/aw_browser_dependency_factory.h"
#include "android_webview/native/aw_contents_container.h"
#include "android_webview/native/aw_web_contents_delegate.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
+#include "base/bind.h"
+#include "base/callback.h"
#include "base/supports_user_data.h"
#include "content/public/browser/android/content_view_core.h"
#include "content/public/browser/web_contents.h"
@@ -16,6 +19,8 @@
using base::android::AttachCurrentThread;
using base::android::ConvertUTF16ToJavaString;
+using base::android::ScopedJavaGlobalRef;
+using base::android::ScopedJavaLocalRef;
using content::ContentViewCore;
using content::WebContents;
@@ -64,6 +69,7 @@ AwContents::AwContents(JNIEnv* env,
dependency_factory->GetJavaScriptDialogCreator());
web_contents->SetUserData(kAwContentsUserDataKey,
new AwContentsUserData(this));
+ render_view_host_ext_.reset(new AwRenderViewHostExt(web_contents));
}
AwContents::~AwContents() {
@@ -80,6 +86,24 @@ void AwContents::Destroy(JNIEnv* env, jobject obj) {
delete this;
}
+namespace {
+// |message| is passed as base::Owned, so it will automatically be deleted
+// when the callback goes out of scope.
+void DocumentHasImagesCallback(ScopedJavaGlobalRef<jobject>* message,
+ bool has_images) {
+ Java_AwContents_onDocumentHasImagesResponse(AttachCurrentThread(),
+ has_images,
+ message->obj());
+}
+} // namespace
+
+void AwContents::DocumentHasImages(JNIEnv* env, jobject obj, jobject message) {
+ render_view_host_ext_->DocumentHasImages(
+ base::Bind(&DocumentHasImagesCallback,
+ base::Owned(new ScopedJavaGlobalRef<jobject>(
+ ScopedJavaLocalRef<jobject>(env, message)))));
+}
+
static jint Init(JNIEnv* env,
jobject obj,
jobject web_contents_delegate,

Powered by Google App Engine
This is Rietveld 408576698