Closed Bug 289431 Opened 19 years ago Closed 19 years ago

Horizontal scrollbar appears periodically in Download Manager

Categories

(Core :: Layout, defect)

x86
All
defect
Not set
minor

Tracking

()

RESOLVED FIXED
mozilla1.8beta2

People

(Reporter: hidenosuke, Assigned: roc)

References

()

Details

(Keywords: testcase)

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050404 Firefox/1.0+
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050404 Firefox/1.0+

In the case that the size of download file is unknown and Download Manager
window is big enough, Horizontal scroolbar appears periodically in Download
Manager while downloading the file.

Reproducible: Always

Steps to Reproduce:
1.Open Download Manager
2.Maximize Dowload Manager window
3.Click above URL(start downloading)

Actual Results:  
Horizontal scroolbar appears periodically in Download Manager.

Expected Results:  
Horizontal scrollbar doesn't appear in Download Manager.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
Typo in the summary. Sorry for SPAM.
Summary: Horizontal scroolbar appers periodically in Download Manager → Horizontal scrollbar appears periodically in Download Manager
Attached file Testcase
A testcase that shows the situation here. My connection is just too fast for
the url ;)
Well, this could quite easily be fixed here:
http://lxr.mozilla.org/seamonkey/source/toolkit/content/widgets/progressmeter.xml#60
And here:
http://lxr.mozilla.org/seamonkey/source/xpfe/global/resources/content/bindings/progressmeter.xml#60
by not using overflow:-moz-hidden-unscrollable, but by using overflow:hidden; or
overflow:-moz-scrollbars-none; (Boris, is there a difference between the two?)

But isn't the underlying problem here that -moz-hidden-unscrollable isn't doing
the same as hidden/-moz-scrollbars-none? Should -moz-hidden-unscrollable not
behave the same here as hidden/-moz-scrollbars-none here?
> (Boris, is there a difference between the two?)

No, except the latter is deprecated.

> Should -moz-hidden-unscrollable not behave the same here as
> hidden/-moz-scrollbars-none here?

"good question".  Probably, but roc should know better.
The problem is that overflow:-moz-hidden-unscrollable isn't turning off the
overflow area for the frame, so the outer scrollable box sees the overflow of
the progress-meter's children and thinks it needs a scrollbar.

I'll make a patch to fix that.
Attached patch fixSplinter Review
Fairly easy fix ... not sure who should review this
Assignee: bugs → roc
Status: NEW → ASSIGNED
Attachment #180340 - Flags: superreview?(bzbarsky)
Attachment #180340 - Flags: review?(bzbarsky)
Comment on attachment 180340 [details] [diff] [review]
fix

>Index: layout/generic/nsFrame.cpp
>+  if (geometricOverflow &&
>+      GetStyleDisplay()->mOverflowX == NS_STYLE_OVERFLOW_CLIP) {

Assert in here that mOverflowY == CLIP if and only if mOverflowX == CLIP?  Just
in case that ever changes, for some odd reason?

>+nsBox::DoesClipChildren()
>+{
>+  return GetStyleDisplay()->mOverflowX == NS_STYLE_OVERFLOW_CLIP;

Similar here:

NS_ASSERTION((GetStyleDisplay()->mOverflowY == NS_STYLE_OVERFLOW_CLIP) ==
	     (GetStyleDisplay()->mOverflowX == NS_STYLE_OVERFLOW_CLIP),
	     "If one overflow is clip, the other should be too");

r+sr=bzbarsky with that.
Attachment #180340 - Flags: superreview?(bzbarsky)
Attachment #180340 - Flags: superreview+
Attachment #180340 - Flags: review?(bzbarsky)
Attachment #180340 - Flags: review+
Component: Download Manager → Build Config
Flags: review+
Product: Firefox → Core
Target Milestone: --- → mozilla1.8beta2
Version: unspecified → 1.0 Branch
Component: Build Config → Layout
Version: 1.0 Branch → Trunk
Comment on attachment 180340 [details] [diff] [review]
fix

a fairly safe fix to a core layout issue that has UI polish repercussions
Attachment #180340 - Flags: review+
Attachment #180340 - Flags: approval1.8b2?
Comment on attachment 180340 [details] [diff] [review]
fix

a=me for 1.8b2.

/be
Attachment #180340 - Flags: approval1.8b2? → approval1.8b2+
Sometimes I browse through Mozilla's source code and I notice a thing:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/style/nsRuleNode.cpp&rev=1.154&root=/cvsroot#2753
"// NS_STYLE_OVERFLOW_CLIP is a deprecated value, so if it's specified"
So that does mean one should not use NS_STYLE_OVERFLOW_CLIP anymore?
I'm not sure. It's slightly more efficient than overflow:hidden.
checked in
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
I confirmed to solve the problem.
Thanks.

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050412 Firefox/1.0+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: