New issue
Advanced search Search tips

Issue 920289 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

subtree layout fails to notify ancestor scroll anchor

Project Member Reported by skobes@chromium.org, Jan 9

Issue description

What steps will reproduce the problem?
1. Visit https://output.jsbin.com/didove
2. Click "Scroll"
3. Click "Shift"

What is the expected result?
Scroll anchoring adjustment keeps "ANCHOR" at the top.  "FAIL" is not visible.

What happens instead of that?
No scroll anchoring adjustment, "FAIL" is visible.

Discovered during investigation of  issue 746528 .  Root cause is that LocalFrameView::PerformLayout can begin with nodes other than the LayoutView, via LayoutFromRootObject.  When this happens, we fail to invoke ScrollAnchor::NotifyBeforeLayout on any scrollers that are DOM ancestors of the layout root.

If #inner is not marked "overflow: auto", the behavior is as expected.  The presence of overflow: auto causes #inner to appear in LocalFrameView::layout_subtree_root_list_, despite not having any overflow.
 
Status: Available (was: Unconfirmed)

Sign in to add a comment