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