New issue
Advanced search Search tips

Issue 855074 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 22
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocking:
issue 836890



Sign in to add a comment

[blink-gen-property-trees] viewport jitters by scrollbar width

Project Member Reported by bokan@chromium.org, Jun 21 2018

Issue description

What steps will reproduce the problem?
0. Start chrome with --enable-blink-gen-property-trees
1. Visit http://bokand.github.io/bottomfixed.html
2. Scroll/fling down quickly

What is the expected result?
The red box should remain fixed to the screen bottom

What happens instead of that?
The red box jitters as the page is scrolling, remaining approximately fixed but moving around by a few pixels.

 

Comment 1 by bokan@chromium.org, Jun 21 2018

Blocking: 836890
Owner: sahel@chromium.org
Summary: [blink-gen-property-trees] viewport jitters by scrollbar width (was: [blink-gen-property-trees] position: fixed element jitters while scrolling)
Actually, the scrollbars also move with the fixed element so it's not position:fixed that matters. Since the white space seen (easier to see on another page like horizontally scrolling https://bokand.github.io/textbox.html) looks like the scrollbar width I believe we're setting the bounds and container_bounds on a scroll node incorrectly excluding/including scrollbars. 

PTAL, look for where we set ScrollPaintPropertyNode::container_rect and contents_rect as a start. See if the max scroll offset is what you expect.
Status: Assigned (was: Available)
Screen shot showing the issue - see the white gap between the bottom right corner and the scrollbars
Screenshot from 2018-08-15 10-43-03 - 1.png
524 KB View Download
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/605cc1f42d865005ce76620eda5b46fd9c18e287

commit 605cc1f42d865005ce76620eda5b46fd9c18e287
Author: Sahel Sharify <sahel@chromium.org>
Date: Tue Aug 21 18:15:12 2018

Viewport contents rect should exclude scrollbar size.

the scrollbars are attached to the visual viewport but created by (and have space saved by) the
frame view. So we need to exclude them from the container rect but also from the contents rect
because we don't want to be able to scroll into the region saved for scrollbars.

Bug:  855074 
Test: All/PaintPropertyTreeUpdateTest.ViewportContentsAndContainerRectsDoNotIncludeScrollbar/*
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I4ea231f1a656f35094a2c388076bc2fdd61086da
Reviewed-on: https://chromium-review.googlesource.com/1183526
Commit-Queue: Sahel Sharify <sahel@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584827}
[modify] https://crrev.com/605cc1f42d865005ce76620eda5b46fd9c18e287/third_party/blink/renderer/core/frame/visual_viewport.cc
[modify] https://crrev.com/605cc1f42d865005ce76620eda5b46fd9c18e287/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc

Status: Fixed (was: Assigned)
Fix verified in ToT build! Nice!

Sign in to add a comment