summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 07:31:35 +0000
committerjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 07:31:35 +0000
commitb4b26c6204d2e7653120267efefd2e2eeccf6733 (patch)
tree99b44feb4e53b66337a12c149860c42d1e801bfe
parentb9ab6f84ee7a5f7e5db266125ed6484d073dd052 (diff)
downloadchromium_src-b4b26c6204d2e7653120267efefd2e2eeccf6733.zip
chromium_src-b4b26c6204d2e7653120267efefd2e2eeccf6733.tar.gz
chromium_src-b4b26c6204d2e7653120267efefd2e2eeccf6733.tar.bz2
Pass ScopedJavaGlobalRef to bind() by value
ScopedJavaGlobalRef now has a copy constructor, so we can make the code simpler (no base::Owned() explanations) by just passing by value. BUG= Review URL: https://chromiumcodereview.appspot.com/11971007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180624 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--android_webview/native/aw_contents.cc12
-rw-r--r--content/browser/android/content_view_core_impl.cc12
2 files changed, 10 insertions, 14 deletions
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
index 479c70d..28f6f18 100644
--- a/android_webview/native/aw_contents.cc
+++ b/android_webview/native/aw_contents.cc
@@ -551,21 +551,19 @@ jint GetAwDrawGLFunction(JNIEnv* env, jclass) {
}
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,
+void DocumentHasImagesCallback(const ScopedJavaGlobalRef<jobject>& message,
bool has_images) {
Java_AwContents_onDocumentHasImagesResponse(AttachCurrentThread(),
has_images,
- message->obj());
+ message.obj());
}
} // namespace
void AwContents::DocumentHasImages(JNIEnv* env, jobject obj, jobject message) {
- ScopedJavaGlobalRef<jobject>* j_message = new ScopedJavaGlobalRef<jobject>();
- j_message->Reset(env, message);
+ ScopedJavaGlobalRef<jobject> j_message;
+ j_message.Reset(env, message);
render_view_host_ext_->DocumentHasImages(
- base::Bind(&DocumentHasImagesCallback, base::Owned(j_message)));
+ base::Bind(&DocumentHasImagesCallback, j_message));
}
namespace {
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 4fd03ba..43cc049 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -1259,17 +1259,15 @@ void ContentViewCoreImpl::UndoScrollFocusedEditableNodeIntoView(
}
namespace {
-void JavaScriptResultCallback(ScopedJavaGlobalRef<jobject>* callback,
+void JavaScriptResultCallback(const ScopedJavaGlobalRef<jobject>& callback,
const base::Value* result) {
- // |callback| is passed as base::Owned, so it will automatically be deleted
- // when this base::Callback goes out of scope.
JNIEnv* env = base::android::AttachCurrentThread();
std::string json;
base::JSONWriter::Write(result, &json);
ScopedJavaLocalRef<jstring> j_json = ConvertUTF8ToJavaString(env, json);
Java_ContentViewCore_onEvaluateJavaScriptResult(env,
j_json.obj(),
- callback->obj());
+ callback.obj());
}
} // namespace
@@ -1289,10 +1287,10 @@ void ContentViewCoreImpl::EvaluateJavaScript(JNIEnv* env,
// Secure the Java callback in a scoped object and give ownership of it to the
// base::Callback.
- ScopedJavaGlobalRef<jobject>* j_callback = new ScopedJavaGlobalRef<jobject>();
- j_callback->Reset(env, callback);
+ ScopedJavaGlobalRef<jobject> j_callback;
+ j_callback.Reset(env, callback);
content::RenderViewHost::JavascriptResultCallback c_callback =
- base::Bind(&JavaScriptResultCallback, base::Owned(j_callback));
+ base::Bind(&JavaScriptResultCallback, j_callback);
host->ExecuteJavascriptInWebFrameCallbackResult(
string16(), // frame_xpath