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 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 | 709 |
710 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 710 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
711 if (obj.is_null()) | 711 if (obj.is_null()) |
712 return ScopedJavaLocalRef<jobject>(); | 712 return ScopedJavaLocalRef<jobject>(); |
713 | 713 |
714 return Java_ContentViewCore_getContext(env, obj.obj()); | 714 return Java_ContentViewCore_getContext(env, obj.obj()); |
715 } | 715 } |
716 | 716 |
717 gfx::Size ContentViewCoreImpl::GetViewSize() const { | 717 gfx::Size ContentViewCoreImpl::GetViewSize() const { |
718 gfx::Size size = GetViewportSizeDip(); | 718 gfx::Size size = GetViewportSizeDip(); |
719 size.Enlarge(0, -GetTopControlsLayoutHeightDip()); | 719 if (DoTopControlsShrinkBlinkSize()) |
| 720 size.Enlarge(0, -GetTopControlsHeightDip()); |
720 return size; | 721 return size; |
721 } | 722 } |
722 | 723 |
723 gfx::Size ContentViewCoreImpl::GetPhysicalBackingSize() const { | 724 gfx::Size ContentViewCoreImpl::GetPhysicalBackingSize() const { |
724 JNIEnv* env = AttachCurrentThread(); | 725 JNIEnv* env = AttachCurrentThread(); |
725 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 726 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
726 if (j_obj.is_null()) | 727 if (j_obj.is_null()) |
727 return gfx::Size(); | 728 return gfx::Size(); |
728 return gfx::Size( | 729 return gfx::Size( |
729 Java_ContentViewCore_getPhysicalBackingWidthPix(env, j_obj.obj()), | 730 Java_ContentViewCore_getPhysicalBackingWidthPix(env, j_obj.obj()), |
730 Java_ContentViewCore_getPhysicalBackingHeightPix(env, j_obj.obj())); | 731 Java_ContentViewCore_getPhysicalBackingHeightPix(env, j_obj.obj())); |
731 } | 732 } |
732 | 733 |
733 gfx::Size ContentViewCoreImpl::GetViewportSizePix() const { | 734 gfx::Size ContentViewCoreImpl::GetViewportSizePix() const { |
734 JNIEnv* env = AttachCurrentThread(); | 735 JNIEnv* env = AttachCurrentThread(); |
735 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 736 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
736 if (j_obj.is_null()) | 737 if (j_obj.is_null()) |
737 return gfx::Size(); | 738 return gfx::Size(); |
738 return gfx::Size( | 739 return gfx::Size( |
739 Java_ContentViewCore_getViewportWidthPix(env, j_obj.obj()), | 740 Java_ContentViewCore_getViewportWidthPix(env, j_obj.obj()), |
740 Java_ContentViewCore_getViewportHeightPix(env, j_obj.obj())); | 741 Java_ContentViewCore_getViewportHeightPix(env, j_obj.obj())); |
741 } | 742 } |
742 | 743 |
743 int ContentViewCoreImpl::GetTopControlsLayoutHeightPix() const { | 744 int ContentViewCoreImpl::GetTopControlsHeightPix() const { |
744 JNIEnv* env = AttachCurrentThread(); | 745 JNIEnv* env = AttachCurrentThread(); |
745 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 746 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
746 if (j_obj.is_null()) | 747 if (j_obj.is_null()) |
747 return 0; | 748 return 0; |
748 return Java_ContentViewCore_getTopControlsLayoutHeightPix(env, j_obj.obj()); | 749 return Java_ContentViewCore_getTopControlsHeightPix(env, j_obj.obj()); |
749 } | 750 } |
750 | 751 |
751 gfx::Size ContentViewCoreImpl::GetViewportSizeDip() const { | 752 gfx::Size ContentViewCoreImpl::GetViewportSizeDip() const { |
752 return gfx::ToCeiledSize( | 753 return gfx::ToCeiledSize( |
753 gfx::ScaleSize(GetViewportSizePix(), 1.0f / dpi_scale())); | 754 gfx::ScaleSize(GetViewportSizePix(), 1.0f / dpi_scale())); |
754 } | 755 } |
755 | 756 |
756 float ContentViewCoreImpl::GetTopControlsLayoutHeightDip() const { | 757 bool ContentViewCoreImpl::DoTopControlsShrinkBlinkSize() const { |
757 return GetTopControlsLayoutHeightPix() / dpi_scale(); | 758 JNIEnv* env = AttachCurrentThread(); |
| 759 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
| 760 if (j_obj.is_null()) |
| 761 return false; |
| 762 return Java_ContentViewCore_doTopControlsShrinkBlinkSize(env, j_obj.obj()); |
| 763 } |
| 764 |
| 765 float ContentViewCoreImpl::GetTopControlsHeightDip() const { |
| 766 return GetTopControlsHeightPix() / dpi_scale(); |
758 } | 767 } |
759 | 768 |
760 void ContentViewCoreImpl::AttachLayer(scoped_refptr<cc::Layer> layer) { | 769 void ContentViewCoreImpl::AttachLayer(scoped_refptr<cc::Layer> layer) { |
761 root_layer_->InsertChild(layer, 0); | 770 root_layer_->InsertChild(layer, 0); |
762 root_layer_->SetIsDrawable(false); | 771 root_layer_->SetIsDrawable(false); |
763 } | 772 } |
764 | 773 |
765 void ContentViewCoreImpl::RemoveLayer(scoped_refptr<cc::Layer> layer) { | 774 void ContentViewCoreImpl::RemoveLayer(scoped_refptr<cc::Layer> layer) { |
766 layer->RemoveFromParent(); | 775 layer->RemoveFromParent(); |
767 | 776 |
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1338 reinterpret_cast<ui::WindowAndroid*>(window_android), | 1347 reinterpret_cast<ui::WindowAndroid*>(window_android), |
1339 retained_objects_set); | 1348 retained_objects_set); |
1340 return reinterpret_cast<intptr_t>(view); | 1349 return reinterpret_cast<intptr_t>(view); |
1341 } | 1350 } |
1342 | 1351 |
1343 bool RegisterContentViewCore(JNIEnv* env) { | 1352 bool RegisterContentViewCore(JNIEnv* env) { |
1344 return RegisterNativesImpl(env); | 1353 return RegisterNativesImpl(env); |
1345 } | 1354 } |
1346 | 1355 |
1347 } // namespace content | 1356 } // namespace content |
OLD | NEW |