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 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 state_vector.size()); | 621 state_vector.size()); |
622 PickleIterator iterator(pickle); | 622 PickleIterator iterator(pickle); |
623 | 623 |
624 return RestoreFromPickle(&iterator, web_contents_.get()); | 624 return RestoreFromPickle(&iterator, web_contents_.get()); |
625 } | 625 } |
626 | 626 |
627 bool AwContents::OnDraw(JNIEnv* env, | 627 bool AwContents::OnDraw(JNIEnv* env, |
628 jobject obj, | 628 jobject obj, |
629 jobject canvas, | 629 jobject canvas, |
630 jboolean is_hardware_accelerated, | 630 jboolean is_hardware_accelerated, |
631 jint scroll_x, | 631 jint scroll_x_pix, |
632 jint scroll_y, | 632 jint scroll_y_pix, |
633 jint clip_left, | 633 jint clip_left, |
634 jint clip_top, | 634 jint clip_top, |
635 jint clip_right, | 635 jint clip_right, |
636 jint clip_bottom) { | 636 jint clip_bottom) { |
637 return browser_view_renderer_->OnDraw(canvas, | 637 return browser_view_renderer_->OnDraw( |
638 is_hardware_accelerated, | 638 canvas, |
639 gfx::Point(scroll_x, scroll_y), | 639 is_hardware_accelerated, |
640 gfx::Rect(clip_left, | 640 gfx::Vector2d(scroll_x_pix, scroll_y_pix), |
641 clip_top, | 641 gfx::Rect(clip_left, |
642 clip_right - clip_left, | 642 clip_top, |
643 clip_bottom - clip_top)); | 643 clip_right - clip_left, |
| 644 clip_bottom - clip_top)); |
644 } | 645 } |
645 | 646 |
646 void AwContents::SetPendingWebContentsForPopup( | 647 void AwContents::SetPendingWebContentsForPopup( |
647 scoped_ptr<content::WebContents> pending) { | 648 scoped_ptr<content::WebContents> pending) { |
648 if (pending_contents_.get()) { | 649 if (pending_contents_.get()) { |
649 // TODO(benm): Support holding multiple pop up window requests. | 650 // TODO(benm): Support holding multiple pop up window requests. |
650 LOG(WARNING) << "Blocking popup window creation as an outstanding " | 651 LOG(WARNING) << "Blocking popup window creation as an outstanding " |
651 << "popup window is still pending."; | 652 << "popup window is still pending."; |
652 base::MessageLoop::current()->DeleteSoon(FROM_HERE, pending.release()); | 653 base::MessageLoop::current()->DeleteSoon(FROM_HERE, pending.release()); |
653 return; | 654 return; |
(...skipping 15 matching lines...) Expand all Loading... |
669 if (obj.is_null()) | 670 if (obj.is_null()) |
670 return gfx::Point(); | 671 return gfx::Point(); |
671 std::vector<int> location; | 672 std::vector<int> location; |
672 base::android::JavaIntArrayToIntVector( | 673 base::android::JavaIntArrayToIntVector( |
673 env, | 674 env, |
674 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), | 675 Java_AwContents_getLocationOnScreen(env, obj.obj()).obj(), |
675 &location); | 676 &location); |
676 return gfx::Point(location[0], location[1]); | 677 return gfx::Point(location[0], location[1]); |
677 } | 678 } |
678 | 679 |
| 680 void AwContents::ScrollContainerViewTo(gfx::Vector2d new_value) { |
| 681 JNIEnv* env = AttachCurrentThread(); |
| 682 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
| 683 if (obj.is_null()) |
| 684 return; |
| 685 Java_AwContents_scrollContainerViewTo( |
| 686 env, obj.obj(), new_value.x(), new_value.y()); |
| 687 } |
| 688 |
| 689 |
| 690 void AwContents::SetDipScale(JNIEnv* env, jobject obj, jdouble dipScale) { |
| 691 browser_view_renderer_->SetDipScale(dipScale); |
| 692 } |
| 693 |
| 694 void AwContents::ScrollTo(JNIEnv* env, jobject obj, jint xPix, jint yPix) { |
| 695 browser_view_renderer_->ScrollTo(gfx::Vector2d(xPix, yPix)); |
| 696 } |
| 697 |
679 void AwContents::OnPageScaleFactorChanged(float page_scale_factor) { | 698 void AwContents::OnPageScaleFactorChanged(float page_scale_factor) { |
680 JNIEnv* env = AttachCurrentThread(); | 699 JNIEnv* env = AttachCurrentThread(); |
681 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); | 700 ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
682 if (obj.is_null()) | 701 if (obj.is_null()) |
683 return; | 702 return; |
684 Java_AwContents_onPageScaleFactorChanged(env, obj.obj(), page_scale_factor); | 703 Java_AwContents_onPageScaleFactorChanged(env, obj.obj(), page_scale_factor); |
685 } | 704 } |
686 | 705 |
687 ScopedJavaLocalRef<jobject> AwContents::CapturePicture(JNIEnv* env, | 706 ScopedJavaLocalRef<jobject> AwContents::CapturePicture(JNIEnv* env, |
688 jobject obj) { | 707 jobject obj) { |
689 return browser_view_renderer_->CapturePicture(); | 708 return browser_view_renderer_->CapturePicture(); |
690 } | 709 } |
691 | 710 |
692 void AwContents::EnableOnNewPicture(JNIEnv* env, | 711 void AwContents::EnableOnNewPicture(JNIEnv* env, |
693 jobject obj, | 712 jobject obj, |
694 jboolean enabled) { | 713 jboolean enabled) { |
695 browser_view_renderer_->EnableOnNewPicture(enabled); | 714 browser_view_renderer_->EnableOnNewPicture(enabled); |
696 } | 715 } |
697 | 716 |
698 } // namespace android_webview | 717 } // namespace android_webview |
OLD | NEW |