summaryrefslogtreecommitdiffstats
path: root/content/browser/android
diff options
context:
space:
mode:
authormkosiba@chromium.org <mkosiba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 16:32:00 +0000
committermkosiba@chromium.org <mkosiba@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 16:32:00 +0000
commitec2322e54319668369e5ae705db37e15391446a6 (patch)
tree19511d4375690ab6a2ae73e96ab0362316ed0ab9 /content/browser/android
parent575761f0a78a59a61ddff5d4d2d0688facbf1492 (diff)
downloadchromium_src-ec2322e54319668369e5ae705db37e15391446a6.zip
chromium_src-ec2322e54319668369e5ae705db37e15391446a6.tar.gz
chromium_src-ec2322e54319668369e5ae705db37e15391446a6.tar.bz2
Make LayerScrollOffsetDelegate updates consistent.
Looks like the inner+outer viewport changes had made the scroll size/range depend on the pageScale. BUG=340646 Review URL: https://codereview.chromium.org/256303006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270686 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/android')
-rw-r--r--content/browser/android/in_process/synchronous_compositor_impl.cc38
-rw-r--r--content/browser/android/in_process/synchronous_compositor_impl.h14
2 files changed, 19 insertions, 33 deletions
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc
index d424adc..347c3631 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc
@@ -220,20 +220,6 @@ void SynchronousCompositorImpl::DidActivatePendingTree() {
compositor_client_->DidUpdateContent();
}
-void SynchronousCompositorImpl::SetMaxScrollOffset(
- const gfx::Vector2dF& max_scroll_offset) {
- DCHECK(CalledOnValidThread());
- if (compositor_client_)
- compositor_client_->SetMaxRootLayerScrollOffset(max_scroll_offset);
-}
-
-void SynchronousCompositorImpl::SetTotalScrollOffset(
- const gfx::Vector2dF& new_value) {
- DCHECK(CalledOnValidThread());
- if (compositor_client_)
- compositor_client_->SetTotalRootLayerScrollOffset(new_value);
-}
-
gfx::Vector2dF SynchronousCompositorImpl::GetTotalScrollOffset() {
DCHECK(CalledOnValidThread());
if (compositor_client_)
@@ -248,21 +234,23 @@ bool SynchronousCompositorImpl::IsExternalFlingActive() const {
return false;
}
-void SynchronousCompositorImpl::SetTotalPageScaleFactorAndLimits(
+void SynchronousCompositorImpl::UpdateRootLayerState(
+ const gfx::Vector2dF& total_scroll_offset,
+ const gfx::Vector2dF& max_scroll_offset,
+ const gfx::SizeF& scrollable_size,
float page_scale_factor,
float min_page_scale_factor,
float max_page_scale_factor) {
DCHECK(CalledOnValidThread());
- if (compositor_client_)
- compositor_client_->SetRootLayerPageScaleFactorAndLimits(
- page_scale_factor, min_page_scale_factor, max_page_scale_factor);
-}
-
-void SynchronousCompositorImpl::SetScrollableSize(
- const gfx::SizeF& scrollable_size) {
- DCHECK(CalledOnValidThread());
- if (compositor_client_)
- compositor_client_->SetRootLayerScrollableSize(scrollable_size);
+ if (!compositor_client_)
+ return;
+
+ compositor_client_->UpdateRootLayerState(total_scroll_offset,
+ max_scroll_offset,
+ scrollable_size,
+ page_scale_factor,
+ min_page_scale_factor,
+ max_page_scale_factor);
}
// Not using base::NonThreadSafe as we want to enforce a more exacting threading
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.h b/content/browser/android/in_process/synchronous_compositor_impl.h
index 885db21..df6f3d2 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.h
+++ b/content/browser/android/in_process/synchronous_compositor_impl.h
@@ -73,16 +73,14 @@ class SynchronousCompositorImpl
virtual void DidActivatePendingTree() OVERRIDE;
// LayerScrollOffsetDelegate
- virtual void SetMaxScrollOffset(
- const gfx::Vector2dF& max_scroll_offset) OVERRIDE;
- virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE;
virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE;
+ virtual void UpdateRootLayerState(const gfx::Vector2dF& total_scroll_offset,
+ const gfx::Vector2dF& max_scroll_offset,
+ const gfx::SizeF& scrollable_size,
+ float page_scale_factor,
+ float min_page_scale_factor,
+ float max_page_scale_factor) OVERRIDE;
virtual bool IsExternalFlingActive() const OVERRIDE;
- virtual void SetTotalPageScaleFactorAndLimits(
- float page_scale_factor,
- float min_page_scale_factor,
- float max_page_scale_factor) OVERRIDE;
- virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE;
void SetInputHandler(cc::InputHandler* input_handler);
void DidOverscroll(const DidOverscrollParams& params);