Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(580)

Side by Side Diff: android_webview/browser/browser_view_renderer.cc

Issue 274323004: NOT FOR LANDING - [WebView] Allow fling animation via the LayerScrollOffsetDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/browser_view_renderer.h" 5 #include "android_webview/browser/browser_view_renderer.h"
6 6
7 #include "android_webview/browser/browser_view_renderer_client.h" 7 #include "android_webview/browser/browser_view_renderer_client.h"
8 #include "android_webview/browser/shared_renderer_state.h" 8 #include "android_webview/browser/shared_renderer_state.h"
9 #include "android_webview/public/browser/draw_gl.h" 9 #include "android_webview/public/browser/draw_gl.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 ui_task_runner_->PostTask( 610 ui_task_runner_->PostTask(
611 FROM_HERE, 611 FROM_HERE,
612 base::Bind(&BrowserViewRenderer::SetRootLayerScrollableSize, 612 base::Bind(&BrowserViewRenderer::SetRootLayerScrollableSize,
613 ui_thread_weak_ptr_, 613 ui_thread_weak_ptr_,
614 scrollable_size)); 614 scrollable_size));
615 return; 615 return;
616 } 616 }
617 client_->SetContentsSize(scrollable_size); 617 client_->SetContentsSize(scrollable_size);
618 } 618 }
619 619
620 void BrowserViewRenderer::SetNeedsAnimate(const AnimationCallback& animation) {
621 if (!ui_task_runner_->BelongsToCurrentThread()) {
622 // This is scary, must ensure |animation| is called on the right thread.
623 ui_task_runner_->PostTask(
624 FROM_HERE,
625 base::Bind(&BrowserViewRenderer::SetNeedsAnimate,
626 ui_thread_weak_ptr_,
627 animation));
628 return;
629 }
630 // TODO(jdduke): Implement.
631 // client_->Foo(); ??
632 // Stash the callback and wait for a call? Trigger an invalidate?
mkosiba (inactive) 2014/05/15 13:48:51 probably more like TODO(mkosiba): Implement. ;) T
jdduke (slow) 2014/05/15 14:15:43 Yes, you get the |SetNeedsAnimate()| call either 1
mkosiba (inactive) 2014/05/15 17:23:38 ok, thanks for the explanation. sounds good.
633 }
634
620 void BrowserViewRenderer::DidOverscroll(gfx::Vector2dF accumulated_overscroll, 635 void BrowserViewRenderer::DidOverscroll(gfx::Vector2dF accumulated_overscroll,
621 gfx::Vector2dF latest_overscroll_delta, 636 gfx::Vector2dF latest_overscroll_delta,
622 gfx::Vector2dF current_fling_velocity) { 637 gfx::Vector2dF current_fling_velocity) {
623 if (!ui_task_runner_->BelongsToCurrentThread()) { 638 if (!ui_task_runner_->BelongsToCurrentThread()) {
624 ui_task_runner_->PostTask( 639 ui_task_runner_->PostTask(
625 FROM_HERE, 640 FROM_HERE,
626 base::Bind(&BrowserViewRenderer::DidOverscroll, 641 base::Bind(&BrowserViewRenderer::DidOverscroll,
627 ui_thread_weak_ptr_, 642 ui_thread_weak_ptr_,
628 accumulated_overscroll, 643 accumulated_overscroll,
629 latest_overscroll_delta, 644 latest_overscroll_delta,
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 base::StringAppendF(&str, 783 base::StringAppendF(&str,
769 "surface width height: [%d %d] ", 784 "surface width height: [%d %d] ",
770 draw_info->width, 785 draw_info->width,
771 draw_info->height); 786 draw_info->height);
772 base::StringAppendF(&str, "is_layer: %d ", draw_info->is_layer); 787 base::StringAppendF(&str, "is_layer: %d ", draw_info->is_layer);
773 } 788 }
774 return str; 789 return str;
775 } 790 }
776 791
777 } // namespace android_webview 792 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698