Open Bug 1281616 Opened 8 years ago Updated 2 years ago

Buttons cut off on confirmCheck prompt if checkbox text wraps

Categories

(Toolkit :: UI Widgets, defect, P3)

x86
All
defect

Tracking

()

Tracking Status
firefox50 --- affected

People

(Reporter: mkaply, Unassigned)

References

Details

(Keywords: stale-bug)

Attachments

(2 files)

The confirm close all tabs dialog is cut off at the bottom in multiple languages.

See attachment.
This is on a Windows 10 machine at 3840x2160 with the text resolution at 150% (Microsoft recommended).
OS: Unspecified → Windows 10
Hardware: Unspecified → x86
Version: Trunk → 47 Branch
See Also: → 1277895
Component: General → Tabbed Browser
I have seen this with other modal dialogs. I will try to get a screenshot next time I see it. I believe it's the same bug.

mkaply, do you know how to use mozregression with a different locale build? If we know what regressed this we'll be able to fix it much faster.
Flags: needinfo?(mozilla)
> mkaply, do you know how to use mozregression with a different locale build? If we know what regressed this we'll be able to fix it much faster.

I can take a look. Do we know for sure it is a regression?
Flags: needinfo?(mozilla)
I hope it is and that we haven't been shipping that since the beginning of time :)

Thanks for taking a look!
Mike, were you able to run mozregresion on this?
Flags: needinfo?(mozilla)
Priority: -- → P1
Not yet, but is on my todo list. Sorry.
Flags: needinfo?(mozilla)
There does not appear to be a way to do bisection of locale specific builds...
I missed the obvious commonality among all these dialogs - wrapped checkbox.

To recreate this on English, use this in a browser scratch pad:

var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                        .getService(Components.interfaces.nsIPromptService);

var check = {value: true};                   // default the checkbox to true

var result = prompts.confirmCheck(null, "Title of this Dialog", "Are you sure?",
                                  "Don't ask again (Really long to see if it cuts off the buttons . No really.)", check);
Summary: Close all tabs dialog cut off in multiple translations → Buttons cut off on confirmCheck prompt if checkbox text wraps
Attached image No wrapping on low res
On a low DPI screen, the checkbox never wraps.

So that's the difference here. On Hi res, we're wrapping the checkbox. On low res we are not.
Sorry, one more comment. On hi res, it doesn't wrap either with very long text. It only wraps if you are a few words over the initial width.
This appears to be a rounding error. You only ever see one word wrap, and it only happens on 150% or greater Windows displays.

To see this problem, run this in the browser scratch pad. Every one or two times you'll see one word wrap.

var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                        .getService(Components.interfaces.nsIPromptService);

var check = {value: true};                   // default the checkbox to true

var text = "Word";

for (var i=0; i < 50; i++) {
  text = text + " Word";

  var result = prompts.confirmCheck(null, "Title of this Dialog", "Are you sure?",
                                    text, check);
}
Component: Tabbed Browser → XUL Widgets
Product: Firefox → Toolkit
Version: 47 Branch → Trunk
The same rounding error exists on Mac, only it shifts the buttons down. You don't want to run the loop 50 times on Mac, though, it's slow as molasses.
OS: Windows 10 → All
Moving to p3 because no activity for at least 24 weeks.
Priority: P1 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: