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

Unified Diff: android_webview/native/popup_touch_handle_drawable.cc

Issue 2263043002: android_webview: Let AwContents manage TouchHandleDrawable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix build Created 4 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/popup_touch_handle_drawable.cc
diff --git a/content/browser/android/popup_touch_handle_drawable.cc b/android_webview/native/popup_touch_handle_drawable.cc
similarity index 65%
rename from content/browser/android/popup_touch_handle_drawable.cc
rename to android_webview/native/popup_touch_handle_drawable.cc
index 17cc54905b3a230c107beb3a8bef6875e0e51794..dd8e31b9dde0ca3c04c44fe095f176b8686b52df 100644
--- a/content/browser/android/popup_touch_handle_drawable.cc
+++ b/android_webview/native/popup_touch_handle_drawable.cc
@@ -1,39 +1,25 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/browser/android/popup_touch_handle_drawable.h"
+#include "android_webview/native/popup_touch_handle_drawable.h"
-#include "content/public/browser/android/content_view_core.h"
#include "jni/PopupTouchHandleDrawable_jni.h"
+using base::android::JavaParamRef;
using base::android::ScopedJavaLocalRef;
-namespace content {
+namespace android_webview {
-// static
-std::unique_ptr<PopupTouchHandleDrawable> PopupTouchHandleDrawable::Create(
- ContentViewCore* content_view_core,
- float dpi_scale) {
- DCHECK(content_view_core);
- base::android::ScopedJavaLocalRef<jobject> content_view_core_obj =
- content_view_core->GetJavaObject();
- if (content_view_core_obj.is_null())
- return nullptr;
- JNIEnv* env = base::android::AttachCurrentThread();
- base::android::ScopedJavaLocalRef<jobject> drawable_obj(
- Java_PopupTouchHandleDrawable_create(env, content_view_core_obj));
- return std::unique_ptr<PopupTouchHandleDrawable>(
- new PopupTouchHandleDrawable(env, drawable_obj.obj(), dpi_scale));
-}
-
-PopupTouchHandleDrawable::PopupTouchHandleDrawable(JNIEnv* env,
- jobject obj,
- float dpi_scale)
- : java_ref_(env, obj), dpi_scale_(dpi_scale) {
+PopupTouchHandleDrawable::PopupTouchHandleDrawable(
+ JNIEnv* env,
+ jobject obj,
+ float dip_scale,
+ float horizontal_padding_ratio)
+ : java_ref_(env, obj)
+ , dip_scale_(dip_scale)
+ , drawable_horizontal_padding_ratio_(horizontal_padding_ratio) {
DCHECK(!java_ref_.is_empty());
- drawable_horizontal_padding_ratio_ =
- Java_PopupTouchHandleDrawable_getHandleHorizontalPaddingRatio(env, obj);
}
PopupTouchHandleDrawable::~PopupTouchHandleDrawable() {
@@ -43,6 +29,10 @@ PopupTouchHandleDrawable::~PopupTouchHandleDrawable() {
Java_PopupTouchHandleDrawable_destroy(env, obj);
}
+bool PopupTouchHandleDrawable::RegisterPopupTouchHandleDrawable(JNIEnv* env) {
+ return RegisterNativesImpl(env);
+}
+
void PopupTouchHandleDrawable::SetEnabled(bool enabled) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
@@ -71,7 +61,7 @@ void PopupTouchHandleDrawable::SetOrigin(const gfx::PointF& origin) {
JNIEnv* env = base::android::AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
if (!obj.is_null()) {
- const gfx::PointF origin_pix = gfx::ScalePoint(origin, dpi_scale_);
+ const gfx::PointF origin_pix = gfx::ScalePoint(origin, dip_scale_);
Java_PopupTouchHandleDrawable_setOrigin(env, obj, origin_pix.x(),
origin_pix.y());
}
@@ -95,11 +85,22 @@ gfx::RectF PopupTouchHandleDrawable::GetVisibleBounds() const {
Java_PopupTouchHandleDrawable_getPositionY(env, obj),
Java_PopupTouchHandleDrawable_getVisibleWidth(env, obj),
Java_PopupTouchHandleDrawable_getVisibleHeight(env, obj));
- return gfx::ScaleRect(unscaled_rect, 1.f / dpi_scale_);
+ return gfx::ScaleRect(unscaled_rect, 1.f / dip_scale_);
}
float PopupTouchHandleDrawable::GetDrawableHorizontalPaddingRatio() const {
return drawable_horizontal_padding_ratio_;
}
+static jlong Init(JNIEnv* env,
+ const JavaParamRef<jobject>& obj,
+ const JavaParamRef<jobject>& content_view_core,
+ const jfloat dip_scale,
+ const jfloat horizontal_padding_ratio) {
+ DCHECK(content_view_core.obj());
+ return reinterpret_cast<intptr_t>(
+ new PopupTouchHandleDrawable(env, obj, dip_scale,
+ horizontal_padding_ratio));
+}
+
} // namespace content
« no previous file with comments | « android_webview/native/popup_touch_handle_drawable.h ('k') | content/browser/android/popup_touch_handle_drawable.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698