OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/android/content_view_core_impl.h" | 5 #include "content/browser/android/content_view_core_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 #include "ui/android/view_android.h" | 58 #include "ui/android/view_android.h" |
59 #include "ui/android/window_android.h" | 59 #include "ui/android/window_android.h" |
60 #include "ui/base/clipboard/clipboard.h" | 60 #include "ui/base/clipboard/clipboard.h" |
61 #include "ui/events/android/motion_event_android.h" | 61 #include "ui/events/android/motion_event_android.h" |
62 #include "ui/events/blink/blink_event_util.h" | 62 #include "ui/events/blink/blink_event_util.h" |
63 #include "ui/events/event_utils.h" | 63 #include "ui/events/event_utils.h" |
64 #include "ui/gfx/android/java_bitmap.h" | 64 #include "ui/gfx/android/java_bitmap.h" |
65 #include "ui/gfx/geometry/point_conversions.h" | 65 #include "ui/gfx/geometry/point_conversions.h" |
66 #include "ui/gfx/geometry/size_conversions.h" | 66 #include "ui/gfx/geometry/size_conversions.h" |
67 #include "ui/gfx/geometry/size_f.h" | 67 #include "ui/gfx/geometry/size_f.h" |
| 68 #include "ui/gfx/image/image_skia.h" |
68 | 69 |
69 using base::android::AttachCurrentThread; | 70 using base::android::AttachCurrentThread; |
70 using base::android::ConvertJavaStringToUTF16; | 71 using base::android::ConvertJavaStringToUTF16; |
71 using base::android::ConvertJavaStringToUTF8; | 72 using base::android::ConvertJavaStringToUTF8; |
72 using base::android::ConvertUTF16ToJavaString; | 73 using base::android::ConvertUTF16ToJavaString; |
73 using base::android::ConvertUTF8ToJavaString; | 74 using base::android::ConvertUTF8ToJavaString; |
74 using base::android::ScopedJavaLocalRef; | 75 using base::android::ScopedJavaLocalRef; |
75 using blink::WebGestureEvent; | 76 using blink::WebGestureEvent; |
76 using blink::WebInputEvent; | 77 using blink::WebInputEvent; |
77 | 78 |
(...skipping 1444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1522 drop_data.html = base::NullableString16(text_to_drop, false); | 1523 drop_data.html = base::NullableString16(text_to_drop, false); |
1523 } | 1524 } |
1524 } | 1525 } |
1525 | 1526 |
1526 wcva->OnPerformDrop(&drop_data, location, screen_location); | 1527 wcva->OnPerformDrop(&drop_data, location, screen_location); |
1527 break; | 1528 break; |
1528 } | 1529 } |
1529 case JNI_DragEvent::ACTION_DRAG_EXITED: | 1530 case JNI_DragEvent::ACTION_DRAG_EXITED: |
1530 wcva->OnDragExited(); | 1531 wcva->OnDragExited(); |
1531 break; | 1532 break; |
1532 default: // STARTED and ENDED. Nothing meaningful to do. | 1533 case JNI_DragEvent::ACTION_DRAG_ENDED: |
| 1534 wcva->OnDragEnded(); |
| 1535 break; |
| 1536 case JNI_DragEvent::ACTION_DRAG_STARTED: |
| 1537 // Nothing meaningful to do. |
1533 break; | 1538 break; |
1534 } | 1539 } |
1535 } | 1540 } |
1536 | 1541 |
1537 void ContentViewCoreImpl::RequestTextSurroundingSelection( | 1542 void ContentViewCoreImpl::RequestTextSurroundingSelection( |
1538 int max_length, | 1543 int max_length, |
1539 const base::Callback< | 1544 const base::Callback< |
1540 void(const base::string16& content, int start_offset, int end_offset)>& | 1545 void(const base::string16& content, int start_offset, int end_offset)>& |
1541 callback) { | 1546 callback) { |
1542 DCHECK(!callback.is_null()); | 1547 DCHECK(!callback.is_null()); |
(...skipping 11 matching lines...) Expand all Loading... |
1554 void ContentViewCoreImpl::OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip) { | 1559 void ContentViewCoreImpl::OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip) { |
1555 JNIEnv* env = AttachCurrentThread(); | 1560 JNIEnv* env = AttachCurrentThread(); |
1556 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 1561 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
1557 if (obj.is_null()) | 1562 if (obj.is_null()) |
1558 return; | 1563 return; |
1559 Java_ContentViewCore_onShowUnhandledTapUIIfNeeded( | 1564 Java_ContentViewCore_onShowUnhandledTapUIIfNeeded( |
1560 env, obj.obj(), static_cast<jint>(x_dip * dpi_scale()), | 1565 env, obj.obj(), static_cast<jint>(x_dip * dpi_scale()), |
1561 static_cast<jint>(y_dip * dpi_scale())); | 1566 static_cast<jint>(y_dip * dpi_scale())); |
1562 } | 1567 } |
1563 | 1568 |
| 1569 void ContentViewCoreImpl::StartDragging(const base::string16& dragged_text, |
| 1570 const gfx::ImageSkia& image) { |
| 1571 JNIEnv* env = AttachCurrentThread(); |
| 1572 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 1573 if (obj.is_null()) |
| 1574 return; |
| 1575 |
| 1576 ScopedJavaLocalRef<jstring> jtext = |
| 1577 ConvertUTF16ToJavaString(env, dragged_text); |
| 1578 Java_ContentViewCore_startDragging( |
| 1579 env, obj.obj(), jtext.obj(), |
| 1580 gfx::ConvertToJavaBitmap(image.bitmap()).obj()); |
| 1581 } |
| 1582 |
1564 void ContentViewCoreImpl::OnSmartClipDataExtracted( | 1583 void ContentViewCoreImpl::OnSmartClipDataExtracted( |
1565 const base::string16& text, | 1584 const base::string16& text, |
1566 const base::string16& html, | 1585 const base::string16& html, |
1567 const gfx::Rect& clip_rect) { | 1586 const gfx::Rect& clip_rect) { |
1568 JNIEnv* env = AttachCurrentThread(); | 1587 JNIEnv* env = AttachCurrentThread(); |
1569 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 1588 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
1570 if (obj.is_null()) | 1589 if (obj.is_null()) |
1571 return; | 1590 return; |
1572 ScopedJavaLocalRef<jstring> jtext = ConvertUTF16ToJavaString(env, text); | 1591 ScopedJavaLocalRef<jstring> jtext = ConvertUTF16ToJavaString(env, text); |
1573 ScopedJavaLocalRef<jstring> jhtml = ConvertUTF16ToJavaString(env, html); | 1592 ScopedJavaLocalRef<jstring> jhtml = ConvertUTF16ToJavaString(env, html); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1642 return ScopedJavaLocalRef<jobject>(); | 1661 return ScopedJavaLocalRef<jobject>(); |
1643 | 1662 |
1644 return view->GetJavaObject(); | 1663 return view->GetJavaObject(); |
1645 } | 1664 } |
1646 | 1665 |
1647 bool RegisterContentViewCore(JNIEnv* env) { | 1666 bool RegisterContentViewCore(JNIEnv* env) { |
1648 return RegisterNativesImpl(env) && JNI_DragEvent::RegisterNativesImpl(env); | 1667 return RegisterNativesImpl(env) && JNI_DragEvent::RegisterNativesImpl(env); |
1649 } | 1668 } |
1650 | 1669 |
1651 } // namespace content | 1670 } // namespace content |
OLD | NEW |