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 "android_webview/native/aw_contents.h" | 5 #include "android_webview/native/aw_contents.h" |
6 | 6 |
7 #include "android_webview/browser/aw_browser_context.h" | 7 #include "android_webview/browser/aw_browser_context.h" |
8 #include "android_webview/browser/aw_browser_main_parts.h" | 8 #include "android_webview/browser/aw_browser_main_parts.h" |
9 #include "android_webview/browser/gpu_memory_buffer_impl.h" | 9 #include "android_webview/browser/gpu_memory_buffer_impl.h" |
10 #include "android_webview/browser/in_process_view_renderer.h" | 10 #include "android_webview/browser/in_process_view_renderer.h" |
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 state_vector.size()); | 642 state_vector.size()); |
643 PickleIterator iterator(pickle); | 643 PickleIterator iterator(pickle); |
644 | 644 |
645 return RestoreFromPickle(&iterator, web_contents_.get()); | 645 return RestoreFromPickle(&iterator, web_contents_.get()); |
646 } | 646 } |
647 | 647 |
648 bool AwContents::OnDraw(JNIEnv* env, | 648 bool AwContents::OnDraw(JNIEnv* env, |
649 jobject obj, | 649 jobject obj, |
650 jobject canvas, | 650 jobject canvas, |
651 jboolean is_hardware_accelerated, | 651 jboolean is_hardware_accelerated, |
652 jint scroll_x, | 652 jint scroll_x_pix, |
653 jint scroll_y, | 653 jint scroll_y_pix, |
654 jint clip_left, | 654 jint clip_left, |
655 jint clip_top, | 655 jint clip_top, |
656 jint clip_right, | 656 jint clip_right, |
657 jint clip_bottom) { | 657 jint clip_bottom) { |
658 return browser_view_renderer_->OnDraw(canvas, | 658 return browser_view_renderer_->OnDraw( |
659 is_hardware_accelerated, | 659 canvas, |
660 gfx::Point(scroll_x, scroll_y), | 660 is_hardware_accelerated, |
661 gfx::Rect(clip_left, | 661 gfx::Vector2d(scroll_x_pix, scroll_y_pix), |
662 clip_top, | 662 gfx::Rect(clip_left, |
663 clip_right - clip_left, | 663 clip_top, |
664 clip_bottom - clip_top)); | 664 clip_right - clip_left, |
| 665 clip_bottom - clip_top)); |
665 } | 666 } |
666 | 667 |
667 void AwContents::SetPendingWebContentsForPopup( | 668 void AwContents::SetPendingWebContentsForPopup( |
668 scoped_ptr<content::WebContents> pending) { | 669 scoped_ptr<content::WebContents> pending) { |
669 if (pending_contents_.get()) { | 670 if (pending_contents_.get()) { |
670 // TODO(benm): Support holding multiple pop up window requests. | 671 // TODO(benm): Support holding multiple pop up window requests. |
671 LOG(WARNING) << "Blocking popup window creation as an outstanding " | 672 LOG(WARNING) << "Blocking popup window creation as an outstanding " |
672 << "popup window is still pending."; | 673 << "popup window is still pending."; |
673 base::MessageLoop::current()->DeleteSoon(FROM_HERE, pending.release()); | 674 base::MessageLoop::current()->DeleteSoon(FROM_HERE, pending.release()); |
674 return; | 675 return; |
(...skipping 15 matching lines...) Expand all Loading... |
690 if (obj.is_null()) | 691 if (obj.is_null()) |
691 return gfx::Point(); | 692 return gfx::Point(); |
692 std::vector<int> location; | 693 std::vector<int> location; |
693 base::android::JavaIntArrayToIntVector( | 694 base::android::JavaIntArrayToIntVector( |
694 env, | 695 env, |
695 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), | 696 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), |
696 &location); | 697 &location); |
697 return gfx::Point(location[0], location[1]); | 698 return gfx::Point(location[0], location[1]); |
698 } | 699 } |
699 | 700 |
| 701 void AwContents::ScrollContainerViewTo(gfx::Vector2dF new_value_css) { |
| 702 JNIEnv* env = AttachCurrentThread(); |
| 703 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 704 if (obj.is_null()) |
| 705 return; |
| 706 Java_AwContents_scrollContainerViewTo( |
| 707 env, obj.obj(), new_value_css.x(), new_value_css.y()); |
| 708 } |
| 709 |
| 710 void AwContents::ScrollTo(JNIEnv* env, jobject obj, jint x, jint y) { |
| 711 browser_view_renderer_->ScrollTo(gfx::Vector2dF(x, y)); |
| 712 } |
| 713 |
700 void AwContents::OnPageScaleFactorChanged(float page_scale_factor) { | 714 void AwContents::OnPageScaleFactorChanged(float page_scale_factor) { |
701 JNIEnv* env = AttachCurrentThread(); | 715 JNIEnv* env = AttachCurrentThread(); |
702 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 716 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
703 if (obj.is_null()) | 717 if (obj.is_null()) |
704 return; | 718 return; |
705 Java_AwContents_onPageScaleFactorChanged(env, obj.obj(), page_scale_factor); | 719 Java_AwContents_onPageScaleFactorChanged(env, obj.obj(), page_scale_factor); |
706 } | 720 } |
707 | 721 |
708 ScopedJavaLocalRef<jobject> AwContents::CapturePicture(JNIEnv* env, | 722 ScopedJavaLocalRef<jobject> AwContents::CapturePicture(JNIEnv* env, |
709 jobject obj) { | 723 jobject obj) { |
710 return browser_view_renderer_->CapturePicture(); | 724 return browser_view_renderer_->CapturePicture(); |
711 } | 725 } |
712 | 726 |
713 void AwContents::EnableOnNewPicture(JNIEnv* env, | 727 void AwContents::EnableOnNewPicture(JNIEnv* env, |
714 jobject obj, | 728 jobject obj, |
715 jboolean enabled) { | 729 jboolean enabled) { |
716 browser_view_renderer_->EnableOnNewPicture(enabled); | 730 browser_view_renderer_->EnableOnNewPicture(enabled); |
717 } | 731 } |
718 | 732 |
719 } // namespace android_webview | 733 } // namespace android_webview |
OLD | NEW |