diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 07:31:35 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 07:31:35 +0000 |
commit | b4b26c6204d2e7653120267efefd2e2eeccf6733 (patch) | |
tree | 99b44feb4e53b66337a12c149860c42d1e801bfe | |
parent | b9ab6f84ee7a5f7e5db266125ed6484d073dd052 (diff) | |
download | chromium_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.cc | 12 | ||||
-rw-r--r-- | content/browser/android/content_view_core_impl.cc | 12 |
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 |