Properly use dynamictoolbar aware visual viewport size for scrollIntoView
Categories
(Core :: Layout: Scrolling and Overflow, defect, P2)
Tracking
()
People
(Reporter: hiro, Assigned: hiro)
References
Details
(Keywords: webcompat:platform-bug)
User Story
user-impact-score:1200
Attachments
(4 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
This bug will fix bug 2028072.
| Assignee | ||
Comment 1•4 months ago
|
||
Previously, GetVisualViewportSize() returned the raw mVisualViewportSize, so
callers via ScrollContainerFrame::GetVisualViewportSize() were unaware of the
dynamic toolbar state. The toolbar awareness logic that was inline in
VisualViewport.cpp is moved into GetVisualViewportSize() itself, so all callers
get the correct size when the toolbar is collapsing or collapsed.
| Assignee | ||
Comment 2•4 months ago
|
||
When scrollIntoView() is called on a position:fixed element that is already
visible in the visual viewport, ScrollFrameIntoVisualViewport() was still
calling ScrollToVisual() unnecessarily, causing a spurious visual scroll.
Add a check to skip the visual scroll if the element's rect (converted to
layout coordinates) is already contained within the current visual viewport.
Using layout coordinates is necessary since the visual viewport may have been
panned from the origin, in which case a viewport-origin check would give a
false negative for elements positioned beyond the visual viewport height.
Updated•4 months ago
|
Updated•4 months ago
|
Updated•3 months ago
|
https://hg.mozilla.org/mozilla-central/rev/f245a2481a91
https://hg.mozilla.org/mozilla-central/rev/0d02fcfe6f39
Comment 5•3 months ago
|
||
The patch landed in nightly and beta is affected.
:hiro, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- See https://wiki.mozilla.org/Release_Management/Requesting_an_Uplift for documentation on how to request an uplift.
- If no, please set
status-firefox152towontfix.
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 6•3 months ago
|
||
Previously, GetVisualViewportSize() returned the raw mVisualViewportSize, so
callers via ScrollContainerFrame::GetVisualViewportSize() were unaware of the
dynamic toolbar state. The toolbar awareness logic that was inline in
VisualViewport.cpp is moved into GetVisualViewportSize() itself, so all callers
get the correct size when the toolbar is collapsing or collapsed.
Original Revision: https://phabricator.services.mozilla.com/D297841
Updated•3 months ago
|
| Assignee | ||
Comment 7•3 months ago
|
||
When scrollIntoView() is called on a position:fixed element that is already
visible in the visual viewport, ScrollFrameIntoVisualViewport() was still
calling ScrollToVisual() unnecessarily, causing a spurious visual scroll.
Add a check to skip the visual scroll if the element's rect (converted to
layout coordinates) is already contained within the current visual viewport.
Using layout coordinates is necessary since the visual viewport may have been
panned from the origin, in which case a viewport-origin check would give a
false negative for elements positioned beyond the visual viewport height.
Original Revision: https://phabricator.services.mozilla.com/D297842
Updated•3 months ago
|
Comment 8•3 months ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined/Reason for urgency: Users are suffering from annoying/unexpected content scrolling up and down while typing comments on facebook
- Code covered by automated testing?: yes
- Fix verified in Nightly?: yes
- Needs manual QE testing?: yes
- Steps to reproduce for manual QE testing: It would be nice that someone (other than I) checks the facebook issue (bug 2028072) has been resolved.
- Risk associated with taking this patch: low
- Explanation of risk level: The change itself is relatively simple, also note that the change is only affecting on Android, not on desktops.
- String changes made/needed?: none
- Is Android affected?: yes
Updated•3 months ago
|
Updated•3 months ago
|
Updated•3 months ago
|
Updated•3 months ago
|
Comment 10•3 months ago
|
||
The facebook issue (bug 2028072) seems to be an Android bug. Should this be also verified on Desktop version(on Windows, macOS or Ubuntu pperating system)?
Updated•3 months ago
|
Comment 12•2 months ago
|
||
I am still seeing the glitches when commenting on a post.
Testing was performed on the Firefox for Android Nightly 153.0a1 from 6/11 using a Huawei Pura 70 (Android 12).
Updated•2 months ago
|
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 13•2 months ago
|
||
Mira, as far as I've tested I can no longer see bug 2028072 at all.
It would be nice to open a new bug for the glitches you saw. Thanks!
Description
•