Closed Bug 1940938 Opened 1 month ago Closed 1 month ago

displays double scrollbars

Categories

(Core :: Layout: Scrolling and Overflow, defect)

Firefox 134
defect

Tracking

()

RESOLVED FIXED
136 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox134 --- wontfix
firefox135 --- fixed
firefox136 --- fixed

People

(Reporter: gintvidas123, Assigned: dshin)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(4 files)

Attached image New_problem.jpg

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0

Steps to reproduce:

After updating to Firefox version 134.0 on my Windows computer, I noticed that the website https://misterjuggler.com/ displays double scrollbars. This issue did not exist in the previous version of Firefox.

Actual results:

I noticed that the website https://misterjuggler.com/ displays double scrollbars.

Expected results:

I should have seen one scroll, but I see double scroll in website https://misterjuggler.com/

Group: firefox-core-security

The Bugbug bot thinks this bug should belong to the 'Core::Layout: Scrolling and Overflow' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Layout: Scrolling and Overflow
Product: Firefox → Core

:dshin, since you are the author of the regressor, bug 1931466, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(dshin)

Empty span with newline causes the text to be located somewhere far down, and that is becoming part of the containing div's scrollable overflow:

Block(div id=dut)(0)@7e4ae9dcde50 parent=7e4ae9dcdba8 (x=0, y=-6000, w=6000, h=6000) ink-overflow=(x=0, y=0, w=6000, h=61740) scr-overflow=(x=0, y=0, w=6000, h=61740) [content=7e4ae7f07550] [cs=7e4aea7d0f08:-moz-scrolled-content] <
  line@7e4ae9dce250 count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=6000, h=6000) in-flow-scr-overflow=(x=0, y=0, w=6000, h=6000) <
    Block(div id=filler)(1)@7e4ae9dcdf18 parent=7e4ae9dcde50 next=7e4ae9dcdfe0 (x=0, y=0, w=6000, h=6000) [content=7e4ae7f075e0] [cs=7e4aea7d1008] <
    >
  >
  line@7e4ae9dce2a0 count=1 state=block,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:none(x=0, y=6000, w=6000, h=0) ink-overflow=(x=0, y=6000, w=6000, h=55740) scr-overflow=(x=0, y=6000, w=6000, h=55740) in-flow-scr-overflow=(x=0, y=6000, w=6000, h=0) <
    Block(div)(3)@7e4ae9dcdfe0 parent=7e4ae9dcde50 (x=0, y=6000, w=6000, h=0) ink-overflow=(x=0, y=0, w=6000, h=55740) scr-overflow=(x=0, y=0, w=6000, h=55740) [content=7e4ae7f07670] [cs=7e4aea7d0508] <
      line@7e4ae9dce200 count=1 state=inline,clean,prevmarginclean,not-impacted,not-wrapped,no-break,clear-before:none,clear-after:none(x=0, y=0, w=0, h=0) ink-overflow=(x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=55740, w=0, h=0) <
        Inline(span)(0)@7e4ae9dce0a8 parent=7e4ae9dcdfe0 (x=0, y=0, w=0, h=0) scr-overflow=(x=0, y=55740, w=0, h=0) [content=7e4ae7f07700] [cs=7e4aea7d0208] <
          Text(0)"\n\n"@7e4ae9dce160 parent=7e4ae9dce0a8 (x=0, y=55740, w=0, h=0) [content=7e4ae7f05180] [cs=7e4aea7d1108:-moz-text] [run=0][0,2,T] 
        >
      >
    >
  >
>
Flags: needinfo?(dshin)
Severity: -- → S3

IsValidOverflowRect was originally introduced to consider only zero-sized
rects that are located at origin to be invalid in Bug 1800907. However,
it doesn't make sense for a zero-sized rect located away from origin to
contribute to overflow.

Assignee: nobody → dshin
Status: NEW → ASSIGNED

Previous changeset caused assertions in text-indent-with-absolute-pos-child.html,
because when text-indent is negative, psd->mICoord - psd->mIStart, used to
compute the overflow rect of the line box, would end up being negative.
Prior to the previous patch, we'd add the overflow of the placeholder box, which
would be zero-sized, but offset by psd->mICoord, which would be considered valid,
thus adding to the negative-sized overflow rect and covering it up.

Depends on D234097

Pushed by dshin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/dd59e15ede57 Expand definition of Invalid overflow rect to be zero-sized rects that are offset from origin as well. r=layout-reviewers,TYLin https://hg.mozilla.org/integration/autoland/rev/af21fd2211a6 Prevent negative-size-overflow linebox for "outdented" lines. r=layout-reviewers,TYLin https://hg.mozilla.org/integration/autoland/rev/109dd7df5677 apply code formatting via Lando
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/50107 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
Flags: in-testsuite+

The patch landed in nightly and beta is affected.
:dshin, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox135 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(dshin)

Comment on attachment 9459235 [details]
Bug 1940938: Expand definition of Invalid overflow rect to be zero-sized rects that are offset from origin as well. r=#layout

Beta/Release Uplift Approval Request

  • User impact if declined/Reason for urgency: Potential scrolling jank due to unexpected multiple scrollbars on real websites
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce: If needed, check reporter's website for double scrollbars. More noticeable on platforms with classic (Non-overlay) scrollbars.
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Small change in logic for determining empty overflow based by disregarding its positioning.
  • String changes made/needed:
  • Is Android affected?: Yes
Flags: needinfo?(dshin)

Comment on attachment 9459235 [details]
Bug 1940938: Expand definition of Invalid overflow rect to be zero-sized rects that are offset from origin as well. r=#layout

Looks like the approval request flag didn't actually get set.

Attachment #9459235 - Flags: approval-mozilla-beta?

Comment on attachment 9459235 [details]
Bug 1940938: Expand definition of Invalid overflow rect to be zero-sized rects that are offset from origin as well. r=#layout

Approved for 135.0b9.

Attachment #9459235 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9459236 - Flags: approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: