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

Unified Diff: content/browser/android/content_view_core_impl.cc

Issue 2135493002: Support dragging texts out of webview/Chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Support dragging texts out of webview/Chrome. Created 4 years, 5 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: content/browser/android/content_view_core_impl.cc
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 561c2fb041108fd4081f836525303c6e9c18be86..cddef8b103d6e4df59fdaaa23f543ff6a0bd91fe 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -65,6 +65,7 @@
#include "ui/gfx/geometry/point_conversions.h"
#include "ui/gfx/geometry/size_conversions.h"
#include "ui/gfx/geometry/size_f.h"
+#include "ui/gfx/image/image_skia.h"
using base::android::AttachCurrentThread;
using base::android::ConvertJavaStringToUTF16;
@@ -1529,7 +1530,11 @@ void ContentViewCoreImpl::OnDragEvent(
case JNI_DragEvent::ACTION_DRAG_EXITED:
wcva->OnDragExited();
break;
- default: // STARTED and ENDED. Nothing meaningful to do.
+ case JNI_DragEvent::ACTION_DRAG_ENDED:
+ wcva->OnDragEnded();
+ break;
+ case JNI_DragEvent::ACTION_DRAG_STARTED:
+ // Nothing meaningful to do.
break;
}
}
@@ -1561,6 +1566,20 @@ void ContentViewCoreImpl::OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip) {
static_cast<jint>(y_dip * dpi_scale()));
}
+void ContentViewCoreImpl::StartDragging(const base::string16& dragged_text,
+ const gfx::ImageSkia& image) {
+ JNIEnv* env = AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> obj = java_ref_.get(env);
+ if (obj.is_null())
+ return;
+
+ ScopedJavaLocalRef<jstring> jtext =
+ ConvertUTF16ToJavaString(env, dragged_text);
+ Java_ContentViewCore_startDragging(
+ env, obj.obj(), jtext.obj(),
+ gfx::ConvertToJavaBitmap(image.bitmap()).obj());
+}
+
void ContentViewCoreImpl::OnSmartClipDataExtracted(
const base::string16& text,
const base::string16& html,

Powered by Google App Engine
This is Rietveld 408576698