use scroll anchoring during browser zoom changes |
||||||
Issue descriptionBrowser zoom (ctrl + '+'/'-') triggers layout and causes scroll anchoring to make adjustments. These adjustments are minor but its worth thinking about since there is a visual difference with and without scroll anchoring. It's possible that there's nothing to do here. Repro: https://jsbin.com/cokemav/quiet
,
Sep 1 2016
Issue 641249 has been merged into this issue.
,
Sep 14 2016
After SANACLAP we're not making any adjustment in response to browser zoom. Changing the browser zoom does a full layout and causes the sanaclap bit to be set on the anchor element's parent. More specifically, the "effective_zoom" property changes that causes us to set "scrollAnchoringDisablingPropertyChanged" https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/style/ComputedStyle.cpp?rcl=1473852388&l=644 Browser zoom can change other things that can also cause the sanaclap to be set. For example, in the test page, StyleMultiColData changes on <body> https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/style/ComputedStyle.cpp?rcl=1473852388&l=617 So there are two options here, if we decide that changes in some of these style properties should not suppress scroll anchoring, then we need to ensure that scroll anchoring interacts well browser zoom. Otherwise, scroll anchoring will be suppressed by layout caused by ctrl + '+' / '-'. Note that there is already code (see LocalFrame::setPageAndTextZoomFactors) that ensures that we roughly end up in the same spot after zoom changes.
,
Sep 14 2016
It would be nice to use scroll anchoring in place of what LocalFrame::setPageAndTextZoomFactors is doing with the scroll position.
,
Sep 14 2016
That would require us to first determine the set of properties that would set the SANACLAP bit and intersect that with all the properties that browser zoom can change, and if the intersection is a null set, we can get rid of the code in LocalFrame::setPageeAndTextZoomFactor. Though, its not clear to me that using scroll anchoring here is the right thing to do. For example, say that we have anchored to a LayoutText that wraps differently after browser zoom, now either we will adjust incorrectly (if we keep anchoring on) or not adjust at all (if we turn off anchoring and remove the code in LocalFrame::setPageZoomFactors).
,
Oct 26 2016
,
Feb 21 2017
Issue 2484 has been merged into this issue.
,
Feb 22 2017
Issue 525932 has been merged into this issue.
,
Feb 22 2017
,
Mar 9 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 15 2018
Still an issue in 2018 Q1 check-in. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by bokan@chromium.org
, Sep 1 2016