Closed
Bug 1209060
Opened 8 years ago
Closed 8 years ago
Text in button in fullscreen warning box causes overflow
Categories
(Firefox :: General, defect)
Firefox
General
Tracking
()
VERIFIED
FIXED
Firefox 44
Tracking | Status | |
---|---|---|
firefox42 | --- | unaffected |
firefox43 | + | verified |
firefox44 | --- | verified |
People
(Reporter: arni2033, Assigned: xidorn)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
1.02 KB,
text/html
|
Details | |
23.31 KB,
image/png
|
Details | |
40 bytes,
text/x-review-board-request
|
Details | |
30.63 KB,
image/png
|
Details | |
6.93 KB,
patch
|
lizzard
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
STR: 1. Download russian localization of Aurora 43 2. Open attached testcase 3. Click "Go fullscreen" Result: Text in button in fullscreen warning box causes overflow. And it's even worse on HiDPI Expectations: There should be no overflow somehow. Maybe there should be 1 small button to exit fullscreen (just like in animation inspector)
Flags: needinfo?(quanxunzhen)
I have 1366x768 screen. The attached screenshot was made with dpi = 100%
Flags: needinfo?(arni2033)
Assignee | ||
Comment 5•8 years ago
|
||
[Tracking Requested - why for this release]: annoying UI issue. this warning box is implemented in bug 1160023.
Assignee | ||
Comment 6•8 years ago
|
||
Bug 1209060 - Use html elements instead of xul ones for fullscreen warning box.
Attachment #8667081 -
Flags: review?(dao)
Assignee | ||
Comment 7•8 years ago
|
||
Use HTML ones here because the behavior of HTML elements is more predictable and reasonable. It seems to me that several CSS properties I used there do not interact well with XUL elements.
Flags: needinfo?(quanxunzhen)
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → quanxunzhen
So do you think that 2-line buttons is a good solution? I still can tolerate 1-line buttons with huge width, but 2-line native-styled buttons with huge width look *very* unusual, at least on Windows7. I haven't seen the CSS so sorry if I mistakenly decided that you made overflowed buttons take 2 lines
Assignee | ||
Comment 9•8 years ago
|
||
(In reply to arni2033 from comment #8) > So do you think that 2-line buttons is a good solution? I still can tolerate > 1-line buttons with huge width, but 2-line native-styled buttons with huge > width look *very* unusual, at least on Windows7. > > I haven't seen the CSS so sorry if I mistakenly decided that you made > overflowed buttons take 2 lines That won't usually happen anyway. It happens only when the domain is so long that things cannot be in one line. In that case, both the description and the button would become two lines. It is doable to make the button always one-line, though. But that could make the whole box thicker, because we would need more lines for the description.
Assignee | ||
Comment 10•8 years ago
|
||
Please the two wrap styles. Verdi, which one do you think is better?
Flags: needinfo?(mverdi)
Assignee | ||
Comment 11•8 years ago
|
||
I meant, please compare the two wrap styles...
Updated•8 years ago
|
Attachment #8667081 -
Flags: review?(dao) → review+
Comment 12•8 years ago
|
||
/* We must specify a max-width, otherwise word-wrap:break-word doesn't work in descendant <description> and <label> elements. Bug 630864. */ max-width: 95%; You removed the comment but not the code. Is this still needed? Bug 630864 only refers to XUL elements. /* We must specify a min-width, otherwise word-wrap:break-word doesn't work. Bug 630864. */ min-width: 1px; Ditto
Assignee | ||
Comment 13•8 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #12) > /* We must specify a max-width, otherwise word-wrap:break-word doesn't > work in descendant <description> and <label> elements. Bug 630864. */ > max-width: 95%; > > You removed the comment but not the code. Is this still needed? Bug 630864 > only refers to XUL elements. This code is now used to limit the width of the box, otherwise the box could be too long to fit in the screen. As I need this code no longer because of that bug, I removed the comment but keep the code. > /* We must specify a min-width, otherwise word-wrap:break-word doesn't > work. Bug 630864. */ > min-width: 1px; > > Ditto It seems to me this is still relevant. I'm not pretty sure, though. I'll test it again tomorrow to see whether we still need it.
Comment 14•8 years ago
|
||
(In reply to Xidorn Quan from comment #7) > Use HTML ones here because the behavior of HTML elements is more predictable > and reasonable. It seems to me that several CSS properties I used there do > not interact well with XUL elements. XUL has two modes for its text, single-line with optional ellipsis overflow or multiline HTML. (This predates text-overflow: ellipsis; support, which would presumably have made the distinction unnecessary.) Unfortunately the mode is determined by whether the label/description element has a value attribute or not, which is determined by the element's XBL binding. This resulted for example in the creation of bug 880918 to add support for wrapped labels to toolbarbuttons. On the other hand with regular buttons you might be able to add a suitable label as a child of the button instead. (Not that you support third-party themes any more, but it's possible that including an HTML button with chrome might confuse them.)
Reporter | ||
Comment 15•8 years ago
|
||
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #9) > That won't usually happen anyway. It happens only when the domain is so long that things cannot > be in one line. In that case, both the description and the button would become two lines. > > It is doable to make the button always one-line, though. But that could make the whole box thicker, > because we would need more lines for the description. You're saing that just like the (1) button _must_ contain all that text (2) The fullscreen notification itself _must_ look like table with 2 columns, not even like table with 2 rows What does mock-up say? If there's no mock-up, I'd suggest at least to add "margin-right:-100%;" to #fullscreen-warning. That would make that panel really flexible and eliminate those 3-line button cases >>> http://ssmaker.ru/bc0b99ac.png <<< >also http://ssmaker.ru/a38bd73c.png (HiDPI) and http://ssmaker.ru/658b8c69.png (russian DevEdition)
Comment 16•8 years ago
|
||
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #10) > Created attachment 8667247 [details] > comparison of button wrap style > > Please the two wrap styles. Verdi, which one do you think is better? Is it possible to stack the url over the button so each one has more room and less need for wrapping?
Flags: needinfo?(mverdi)
Reporter | ||
Comment 17•8 years ago
|
||
(In reply to Verdi [:verdi] from comment #16) > to stack the url over the button so each one has more room and less need for wrapping You're suggesting to always have at least 2 lines in notification while in many cases it's possible to avoid wrapping at all. Currently fullscreen notification can't take more than half of screen width due to bad styling, but it was designed to take up to 95% of screen width. I described how it could be fixed in my comment 15 (please don't ignore it as well as "#fullscreen-warning { max-width:95%; }" in browser stylesheet)
Assignee | ||
Comment 18•8 years ago
|
||
(In reply to arni2033 from comment #15) > What does mock-up say? If there's no mock-up, I'd suggest at least to add > "margin-right:-100%;" to #fullscreen-warning. That would make that panel > really flexible and eliminate those 3-line button cases > >>> http://ssmaker.ru/bc0b99ac.png <<< > >also http://ssmaker.ru/a38bd73c.png (HiDPI) and http://ssmaker.ru/658b8c69.png (russian DevEdition) My patch works exactly the same as the last picture you provide for your resolution (1366x768) and the given (not ridiculous long) domain name. The attachment I uploaded was for the extreme case which displays a unreasonably long domain in 800x600 resolution (which is the lowest resolution our users may have according to the telemetry).
Assignee | ||
Comment 19•8 years ago
|
||
(In reply to neil@parkwaycc.co.uk from comment #14) > (In reply to Xidorn Quan from comment #7) > > Use HTML ones here because the behavior of HTML elements is more predictable > > and reasonable. It seems to me that several CSS properties I used there do > > not interact well with XUL elements. > > (Not that you support third-party themes any more, but it's possible that > including an HTML button with chrome might confuse them.) So your suggestion is that, using HTML elements is otherwise fine, but we should probably still use the XUL button in any case, right? > XUL has two modes for its text, single-line with optional ellipsis overflow > or multiline HTML. (This predates text-overflow: ellipsis; support, which > would presumably have made the distinction unnecessary.) Unfortunately the > mode is determined by whether the label/description element has a value > attribute or not, which is determined by the element's XBL binding. This > resulted for example in the creation of bug 880918 to add support for > wrapped labels to toolbarbuttons. On the other hand with regular buttons you > might be able to add a suitable label as a child of the button instead. It seems just moving the text from the value attribute to its content text makes it wrap properly.
Flags: needinfo?(neil)
Assignee | ||
Comment 20•8 years ago
|
||
(In reply to Verdi [:verdi] from comment #16) > (In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #10) > > Created attachment 8667247 [details] > > comparison of button wrap style > > > > Please the two wrap styles. Verdi, which one do you think is better? > > Is it possible to stack the url over the button so each one has more room > and less need for wrapping? Could you provide a mockup for that? Also note that, I don't really think this could happen frequently after I actually expand the max width to 95% of the screen width. As I mentioned in comment 18, a common screen width of 1366px is enough for a reasonably long domain name like bug1209060.bmoattachments.org. Thus the wrapping is just for having a sensible enough behavior for rare cases.
Assignee | ||
Comment 21•8 years ago
|
||
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #13) > (In reply to Dão Gottwald [:dao] from comment #12) > > /* We must specify a min-width, otherwise word-wrap:break-word doesn't > > work. Bug 630864. */ > > min-width: 1px; > > > > Ditto > > It seems to me this is still relevant. I'm not pretty sure, though. I'll > test it again tomorrow to see whether we still need it. Yes, it is still needed because of the reason in the comment. As the comment says, if I remove the min-width here, word-wrap: break-word would stop working.
Comment 22•8 years ago
|
||
(In reply to Xidorn Quan from comment #19) > (In reply to comment #14) > > (Not that you support third-party themes any more, but it's possible that > > including an HTML button with chrome might confuse them.) > > So your suggestion is that, using HTML elements is otherwise fine, but we > should probably still use the XUL button in any case, right? I'm no browser peer but it would be my personal preference. > > the mode is determined by whether the label/description element has a value > > attribute or not, which is determined by the element's XBL binding. This > > resulted for example in the creation of bug 880918 to add support for > > wrapped labels to toolbarbuttons. On the other hand with regular buttons you > > might be able to add a suitable label as a child of the button instead. > > It seems just moving the text from the value attribute to its content text > makes it wrap properly. Indeed. (Of course that assumes you have direct control of the label element, which isn't true for the automatically generated element, thus the necessity of providing your own label element explicitly, which is fortunately permitted in the case of a button.)
Flags: needinfo?(neil)
Assignee | ||
Updated•8 years ago
|
Blocks: dom-fullscreen-ui
Assignee | ||
Comment 23•8 years ago
|
||
Comment on attachment 8667081 [details] MozReview Request: Bug 1209060 - Use html elements instead of xul ones for fullscreen warning box. Bug 1209060 - Use html elements instead of xul ones for fullscreen warning box.
Attachment #8667081 -
Flags: review+ → review?(dao)
Comment 24•8 years ago
|
||
Comment on attachment 8667081 [details] MozReview Request: Bug 1209060 - Use html elements instead of xul ones for fullscreen warning box. Switching everything to html except for the button doesn't seem like such a good idea to me. I'd prefer to have it all in either html or xul.
Attachment #8667081 -
Flags: review?(dao)
Updated•8 years ago
|
Component: Widget → General
Product: Core → Firefox
Assignee | ||
Comment 25•8 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #24) > Switching everything to html except for the button doesn't seem like such a > good idea to me. I'd prefer to have it all in either html or xul. Ah, okay, then I'll just land the previous patch.
Assignee | ||
Comment 26•8 years ago
|
||
https://hg.mozilla.org/integration/fx-team/rev/fb34a505c11eb7eaba36002ca6a59c29bc127aba Bug 1209060 - Use html elements instead of xul ones for fullscreen warning box. r=dao
Comment 27•8 years ago
|
||
(In reply to Xidorn Quan from comment #19) > So your suggestion is that, using HTML elements is otherwise fine, but we > should probably still use the XUL button in any case, right? Sorry, I misread that. If adding a <label>wrapped text here</label> child to the XUL button worked, then I would have gone with that, but I don't know why it was necessary to change the other label/description to HTML either.
Assignee | ||
Comment 28•8 years ago
|
||
(In reply to neil@parkwaycc.co.uk from comment #27) > (In reply to Xidorn Quan from comment #19) > > So your suggestion is that, using HTML elements is otherwise fine, but we > > should probably still use the XUL button in any case, right? > > Sorry, I misread that. If adding a <label>wrapped text here</label> child to > the XUL button worked, then I would have gone with that, but I don't know > why it was necessary to change the other label/description to HTML either. The issue is not only on the button. It seems "word-wrap: break-word" doesn't work on <label> as well. When the domain name is long enough, it would just let the text overflow instead of making it break. So I still think the behavior of HTML elements is more predictable (and better documented in specs) especially when interacting with CSS properties. (In addition, actually it seems while using text inside XUL button works, adding an additional <label> inside stops working. The label makes the text overflow whatever property I apply on it.)
Comment 29•8 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/fb34a505c11e
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44
Assignee | ||
Comment 30•8 years ago
|
||
Approval Request Comment [Feature/regressing bug #]: bug 1160023 [User impact if declined]: see broken fullscreen notification UI with long domain name or in certain locale [Describe test coverage new/current, TreeHerder]: n/a [Risks and why]: not sure how risky is it to use html element in chrome UI. I guess not too risky, though [String/UUID change made/needed]: n/a
Attachment #8668884 -
Flags: approval-mozilla-aurora?
Comment on attachment 8668884 [details] [diff] [review] patch Approved for uplift to aurora.
Attachment #8668884 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Let's verify this fix and make sure nothing odd happens on aurora 43... :)
Flags: qe-verify+
status-firefox42:
--- → unaffected
Comment 34•8 years ago
|
||
Verified as fixed on: * latest Nightly - build ID 20151022030546 * latest Aurora - build ID 20151022004116 Testing was performed with the Russian locale on Windows 7 x64, Windows 10 x64, Ubuntu 12.04 x86 and Mac OS X 10.9.5.
You need to log in
before you can comment on or make changes to this bug.
Description
•