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 "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/android/scoped_java_ref.h" | 10 #include "base/android/scoped_java_ref.h" |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
509 | 509 |
510 void ContentViewCoreImpl::OnBackgroundColorChanged(SkColor color) { | 510 void ContentViewCoreImpl::OnBackgroundColorChanged(SkColor color) { |
511 JNIEnv* env = AttachCurrentThread(); | 511 JNIEnv* env = AttachCurrentThread(); |
512 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 512 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
513 if (obj.is_null()) | 513 if (obj.is_null()) |
514 return; | 514 return; |
515 Java_ContentViewCore_onBackgroundColorChanged(env, obj.obj(), color); | 515 Java_ContentViewCore_onBackgroundColorChanged(env, obj.obj(), color); |
516 } | 516 } |
517 | 517 |
518 void ContentViewCoreImpl::ShowSelectPopupMenu( | 518 void ContentViewCoreImpl::ShowSelectPopupMenu( |
519 const std::vector<MenuItem>& items, int selected_item, bool multiple) { | 519 const gfx::Rect& bounds, const std::vector<MenuItem>& items, |
Ted C
2014/04/12 01:10:27
this formatting wasn't correct before, it should a
keishi
2014/04/15 14:41:07
Done.
| |
520 int selected_item, double item_font_size, bool multiple) { | |
520 JNIEnv* env = AttachCurrentThread(); | 521 JNIEnv* env = AttachCurrentThread(); |
521 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 522 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
522 if (j_obj.is_null()) | 523 if (j_obj.is_null()) |
523 return; | 524 return; |
524 | 525 |
526 ScopedJavaLocalRef<jobject> bounds_rect(CreateJavaRect(env, bounds)); | |
527 | |
525 // For multi-select list popups we find the list of previous selections by | 528 // For multi-select list popups we find the list of previous selections by |
526 // iterating through the items. But for single selection popups we take the | 529 // iterating through the items. But for single selection popups we take the |
527 // given |selected_item| as is. | 530 // given |selected_item| as is. |
528 ScopedJavaLocalRef<jintArray> selected_array; | 531 ScopedJavaLocalRef<jintArray> selected_array; |
529 if (multiple) { | 532 if (multiple) { |
530 scoped_ptr<jint[]> native_selected_array(new jint[items.size()]); | 533 scoped_ptr<jint[]> native_selected_array(new jint[items.size()]); |
531 size_t selected_count = 0; | 534 size_t selected_count = 0; |
532 for (size_t i = 0; i < items.size(); ++i) { | 535 for (size_t i = 0; i < items.size(); ++i) { |
533 if (items[i].checked) | 536 if (items[i].checked) |
534 native_selected_array[selected_count++] = i; | 537 native_selected_array[selected_count++] = i; |
(...skipping 17 matching lines...) Expand all Loading... | |
552 labels.push_back(items[i].label); | 555 labels.push_back(items[i].label); |
553 jint enabled = | 556 jint enabled = |
554 (items[i].type == MenuItem::GROUP ? POPUP_ITEM_TYPE_GROUP : | 557 (items[i].type == MenuItem::GROUP ? POPUP_ITEM_TYPE_GROUP : |
555 (items[i].enabled ? POPUP_ITEM_TYPE_ENABLED : | 558 (items[i].enabled ? POPUP_ITEM_TYPE_ENABLED : |
556 POPUP_ITEM_TYPE_DISABLED)); | 559 POPUP_ITEM_TYPE_DISABLED)); |
557 env->SetIntArrayRegion(enabled_array.obj(), i, 1, &enabled); | 560 env->SetIntArrayRegion(enabled_array.obj(), i, 1, &enabled); |
558 } | 561 } |
559 ScopedJavaLocalRef<jobjectArray> items_array( | 562 ScopedJavaLocalRef<jobjectArray> items_array( |
560 base::android::ToJavaArrayOfStrings(env, labels)); | 563 base::android::ToJavaArrayOfStrings(env, labels)); |
561 Java_ContentViewCore_showSelectPopup(env, j_obj.obj(), | 564 Java_ContentViewCore_showSelectPopup(env, j_obj.obj(), |
562 items_array.obj(), enabled_array.obj(), | 565 bounds_rect.obj(), |
563 multiple, selected_array.obj()); | 566 items_array.obj(), |
567 enabled_array.obj(), | |
568 item_font_size, | |
569 multiple, | |
570 selected_array.obj()); | |
564 } | 571 } |
565 | 572 |
566 void ContentViewCoreImpl::HideSelectPopupMenu() { | 573 void ContentViewCoreImpl::HideSelectPopupMenu() { |
567 JNIEnv* env = AttachCurrentThread(); | 574 JNIEnv* env = AttachCurrentThread(); |
568 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 575 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
569 if (!j_obj.is_null()) | 576 if (!j_obj.is_null()) |
570 Java_ContentViewCore_hideSelectPopup(env, j_obj.obj()); | 577 Java_ContentViewCore_hideSelectPopup(env, j_obj.obj()); |
571 } | 578 } |
572 | 579 |
573 void ContentViewCoreImpl::ConfirmTouchEvent(InputEventAckState ack_result) { | 580 void ContentViewCoreImpl::ConfirmTouchEvent(InputEventAckState ack_result) { |
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1801 reinterpret_cast<ui::ViewAndroid*>(view_android), | 1808 reinterpret_cast<ui::ViewAndroid*>(view_android), |
1802 reinterpret_cast<ui::WindowAndroid*>(window_android)); | 1809 reinterpret_cast<ui::WindowAndroid*>(window_android)); |
1803 return reinterpret_cast<intptr_t>(view); | 1810 return reinterpret_cast<intptr_t>(view); |
1804 } | 1811 } |
1805 | 1812 |
1806 bool RegisterContentViewCore(JNIEnv* env) { | 1813 bool RegisterContentViewCore(JNIEnv* env) { |
1807 return RegisterNativesImpl(env); | 1814 return RegisterNativesImpl(env); |
1808 } | 1815 } |
1809 | 1816 |
1810 } // namespace content | 1817 } // namespace content |
OLD | NEW |