Closed Bug 656284 Opened 9 years ago Closed 9 years ago

XUL progressmeter is clipped on Windows

Categories

(Core :: Widget: Win32, defect, P1)

x86
Windows 7
defect

Tracking

()

VERIFIED FIXED
mozilla6

People

(Reporter: jimm, Assigned: mounir)

References

Details

(Keywords: regression)

Attachments

(5 files, 3 obsolete files)

Attached image download progress
STR:

1) open download window
2) download something

see screenshot.

Looks like we are going to have to track down that weird lower bounds. (kProgressDeterminedXPOverflow is the patch in bug 568825)
This is really weird because, indeed, there is an issue with the download window but also, on my Windows VM, I don't have any overflow now (that means all progress bars look like the download window progress bars) but I do on Nightly.
This also occurs in the very quick pop-up for the "Processing Print" submission dialog.
Actually, it seems to happen with all XUL progressmeter element.
Summary: Progress meter in download manager is clipped → XUL progressmeter is clipped on Windows
Also in progress add-ons verify after change Firefox 4 to Nightly.
Duplicate of this bug: 656592
Duplicate of this bug: 656842
Attached patch Patch v1 (obsolete) — Splinter Review
Roc, this patch seems to fix the issue though I still don't understand why the issue is only showing on Windows.
Assignee: nobody → mounir.lamouri
Status: NEW → ASSIGNED
Attachment #532156 - Flags: review?(roc)
We really need this to be fixed for Firefox 6 branching. Otherwise, <progress> will probably miss the Firefox 6 train :(
Priority: -- → P1
Whiteboard: [needs review]
Can you explain why you're making these changes? I don't understand what the bug is or how these changes fix it.
(In reply to comment #9)
> Can you explain why you're making these changes? I don't understand what the
> bug is or how these changes fix it.

It's a regression from bug 568825. I have to admit I don't really understand what is happening but basically, there was this overflow that I thought was a bug somewhere between our Windows widget and Windows. So I wrote a dirty workaround that happens to broke XUL progressmeter.
It seems patch fixes the issue for HTML progress elements and doesn't regress XUL progressmeter. I'm not sure if that's a real fix but it seems to work and is obviously better than the previous fix.
I believe you have better knowledge of layout/ and widget/ code that me so you might understand better than me what's happening...
Comment on attachment 532156 [details] [diff] [review]
Patch v1

Review of attachment 532156 [details] [diff] [review]:
-----------------------------------------------------------------

::: layout/forms/nsProgressFrame.cpp
@@ +173,5 @@
>  {
>    bool vertical = GetStyleDisplay()->mOrient == NS_STYLE_ORIENT_VERTICAL;
>    nsHTMLReflowState reflowState(aPresContext, aReflowState, aBarFrame,
>                                  nsSize(aReflowState.ComputedWidth(),
> +                                       aReflowState.ComputedHeight()));

Setting an available height seems wrong for the reasons we discussed in the other bug.
I don't understand what these overflow values are supposed to mean.
Attached patch With -moz-box-sizing (obsolete) — Splinter Review
While looking around the code I realized that "-moz-box-sizing: border-box;" was used to prevent some overflows. I don't know if not using that was a real mistake but it seems to fix the issue for vertical and horizontal progress bars on Windows and do not regress anything on GTK.

Roc, does that sound like a real fix or still a workaround? If the later, is it safe?
Attachment #532156 - Attachment is obsolete: true
Attachment #532156 - Flags: review?(roc)
Attachment #532450 - Flags: review?(roc)
Comment on attachment 532450 [details] [diff] [review]
With -moz-box-sizing

If this works, great.

Can you make a reftest?
Attachment #532450 - Flags: review?(roc) → review+
Attached image screenshot
on Windows XP, meter is blank/empty.


GPU Accelerated Windows : 0/1
I had a reftest checking that there were no overflow. I guess I can keep it. To test the XUL regression, the only idea I have is to compare a very small <progresmeter> with a <progressmeter> styled so there is no bar (like done for <html:progres> in layout/reftests/native-theme/). Though, I don't know how to do that in XUL (can I access an anonymous element from a reftest?).

Please, let me know if you see a way to test that.
Attachment #532450 - Attachment is obsolete: true
Whiteboard: [needs review] → [needs landing]
Pushed:
http://hg.mozilla.org/mozilla-central/rev/93656440018a
Whiteboard: [needs landing]
Target Milestone: --- → mozilla6
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Flags: in-testsuite+
Can anyone confirm that the bug is fixed in the current Nightly and mark the bug as VERIFIED?
(In reply to comment #18)
> Can anyone confirm that the bug is fixed in the current Nightly and mark the
> bug as VERIFIED?

Nightly isn't out yet - but I will confirm when the build is available to download.
PARTIALLY confirmed.  There is still some extra white space on the bottom of the progress bar about a couple pixels wide, but it still looks better than the original screenshot above "download progress".  Still needs a slight modification, though.....
Attached image Download Window (5-17-11) (obsolete) —
(In reply to comment #21)
> Created attachment 532950 [details]
> Download Window (5-17-11)

Sorry....wrong upload.....
Attachment #532950 - Attachment is obsolete: true
The gap appears all the way around the bar, as though it has 1px padding. It's just more noticeable at the bottom.
(In reply to comment #24)
> The gap appears all the way around the bar, as though it has 1px padding.
> It's just more noticeable at the bottom.

Right - but I believe if the progress bar is say 20 pixels high, the entire 20 pixels should be filled in, like with the 5/10/11 build (last working one) and not only 14 or 16 pixels centered throughout.
Mozilla/5.0 (Windows NT 6.1; rv:8.0a1) Gecko/20110719 Firefox/8.0a1

Verified issue on the latest trunk. Adding a screenshot of how the download progress bar looks in the latest Nightly.
Status: RESOLVED → VERIFIED
Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/6.0

Verified issue also on 6.0b2 - not reproducible.
How was this verified fixed if there are still issues here?
Looking at the latest trunk I haven't noticed any issues. Can you please elaborate on what issues are you still observing?

Thanks!
(In reply to comment #29)
> Looking at the latest trunk I haven't noticed any issues. Can you please
> elaborate on what issues are you still observing?
> 
> Thanks!

As stated in comment 20 two months ago, the green fill in does NOT fill the entire rectangle when a file is downloading.  This also appears during the "Print Preparation" dialog.  I still see this issue in the latest Nightly.  Please refer to the attachments above:
  1) Download Window (5-17-11)
  2) Screenshot after 2nd patch
Please provide a new screenshot using the latest nightly Firefox 8.0a1
This bug is there in the same form from the day this bug landed until today. What's the point of posting another screenshot showing the same thing? You think we are making this up just to make you mad or something?
This bug is fixed, the remaining problem will be treated in bug 658885.
Depends on: 707073
No longer depends on: 707073
You need to log in before you can comment on or make changes to this bug.