| Index: ui/android/view_android.cc
|
| diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
|
| index 8a490cd20771f5a38be4c02981899e2ff97bd742..377ea408e7ce276214c26da734154c160adaee4a 100644
|
| --- a/ui/android/view_android.cc
|
| +++ b/ui/android/view_android.cc
|
| @@ -102,11 +102,11 @@
|
| }
|
|
|
| ViewAndroid::ScopedAnchorView ViewAndroid::AcquireAnchorView() {
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> delegate = GetViewAndroidDelegate().get(env);
|
| + ScopedJavaLocalRef<jobject> delegate(GetViewAndroidDelegate());
|
| if (delegate.is_null())
|
| return ViewAndroid::ScopedAnchorView();
|
|
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| return ViewAndroid::ScopedAnchorView(
|
| env, Java_ViewAndroidDelegate_acquireView(env, delegate), delegate);
|
| }
|
| @@ -116,8 +116,7 @@
|
| if (bounds.IsEmpty())
|
| return;
|
|
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> delegate = GetViewAndroidDelegate().get(env);
|
| + ScopedJavaLocalRef<jobject> delegate(GetViewAndroidDelegate());
|
| if (delegate.is_null())
|
| return;
|
|
|
| @@ -129,6 +128,7 @@
|
| // specific to a given web contents/render widget.
|
| int top_margin = std::round(
|
| (GetWindowAndroid()->content_offset().y() + bounds.y()) * scale);
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| Java_ViewAndroidDelegate_setViewPosition(
|
| env, delegate, anchor, bounds.x(), bounds.y(), bounds.width(),
|
| bounds.height(), scale, left_margin, top_margin);
|
| @@ -149,14 +149,14 @@
|
| return parent_ ? parent_->GetWindowAndroid() : nullptr;
|
| }
|
|
|
| -const JavaObjectWeakGlobalRef ViewAndroid::GetViewAndroidDelegate()
|
| +const ScopedJavaLocalRef<jobject> ViewAndroid::GetViewAndroidDelegate()
|
| const {
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> delegate = delegate_.get(env);
|
| + const ScopedJavaLocalRef<jobject> delegate = delegate_.get(env);
|
| if (!delegate.is_null())
|
| - return delegate_;
|
| + return delegate;
|
|
|
| - return parent_ ? parent_->GetViewAndroidDelegate() : delegate_;
|
| + return parent_ ? parent_->GetViewAndroidDelegate() : delegate;
|
| }
|
|
|
| cc::Layer* ViewAndroid::GetLayer() const {
|
| @@ -169,10 +169,10 @@
|
|
|
| void ViewAndroid::StartDragAndDrop(const JavaRef<jstring>& jtext,
|
| const JavaRef<jobject>& jimage) {
|
| - JNIEnv* env = base::android::AttachCurrentThread();
|
| - ScopedJavaLocalRef<jobject> delegate = delegate_.get(env);
|
| + ScopedJavaLocalRef<jobject> delegate(GetViewAndroidDelegate());
|
| if (delegate.is_null())
|
| return;
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| Java_ViewAndroidDelegate_startDragAndDrop(env, delegate, jtext, jimage);
|
| }
|
|
|
|
|