diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-04 00:39:52 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-04 00:39:52 +0000 |
commit | bfa63bcb251b00dc6d7aaacec05cd3b0373159a9 (patch) | |
tree | e07668e0f42d7a96b7985cbc86cab578965fd622 /webkit | |
parent | 71fb73a3af934182951b12219b29b5281752c533 (diff) | |
download | chromium_src-bfa63bcb251b00dc6d7aaacec05cd3b0373159a9.zip chromium_src-bfa63bcb251b00dc6d7aaacec05cd3b0373159a9.tar.gz chromium_src-bfa63bcb251b00dc6d7aaacec05cd3b0373159a9.tar.bz2 |
Update scroll layer positions in WebLayerImpl
This is step 1 of a 3 step patch to disentangle Layer positions and
scroll offsets. When scrolling frames, RLC always sets the layer
position to be the negative scroll position. In order to remove this
from Blink, duplicate that work in the compositor bindings.
Step 2 is to make RLC not set scroll position when scrolling goes
through the ScrollingCoordinator.
See: https://codereview.chromium.org/18187004
Step 3 is to revert this patch and consider scroll offset when computing
draw transforms. It's currently ignored.
See: https://codereview.chromium.org/18400003
R=jamesr@chromium.org
BUG=256381
Review URL: https://chromiumcodereview.appspot.com/18405003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/renderer/compositor_bindings/web_layer_impl.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/webkit/renderer/compositor_bindings/web_layer_impl.cc b/webkit/renderer/compositor_bindings/web_layer_impl.cc index 4f3a3b8..c8ea7c3 100644 --- a/webkit/renderer/compositor_bindings/web_layer_impl.cc +++ b/webkit/renderer/compositor_bindings/web_layer_impl.cc @@ -227,6 +227,11 @@ void WebLayerImpl::setForceRenderSurface(bool force_render_surface) { void WebLayerImpl::setScrollPosition(WebKit::WebPoint position) { layer_->SetScrollOffset(gfx::Point(position).OffsetFromOrigin()); + // TODO(enne): Blink currently always updates scroll offset and layer position + // in tandem for frames in RenderLayerCompositor::frameViewDidScroll. + // So that this can be removed in Blink, temporarily do that work here. + // See: http://crbug.com/256381 + layer_->SetPosition(gfx::PointAtOffsetFromOrigin(-layer_->scroll_offset())); } WebKit::WebPoint WebLayerImpl::scrollPosition() const { |