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, |