The bookmarks toolbar is empty in RTL Firefox if even one bookmark overflows the width of the toolbar

RESOLVED FIXED in Firefox 4.0b8

Status

()

defect
--
major
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: smontagu, Assigned: mano)

Tracking

({regression, rtl})

Trunk
Firefox 4.0b8
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking2.0 final+)

Details

Attachments

(1 attachment)

Reporter

Description

9 years ago
In RTL mode the bookmarks toolbar works fine as long as it fits into the window width with no overflow. As soon as any bookmark overflows the width, all the bookmarks disappear into the overflow pop-up.

Regression range: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=29bc8f25685d&tochange=014349e11696 which looks like bug 528884

This was reported on the Mozilla Israel forum: http://www.mozilla.org.il/board/viewtopic.php?f=9&t=9515 (link in Hebrew)
Reporter

Updated

9 years ago
blocking2.0: --- → ?
tentatively assigning to Mano, feel free to opt-out if you don't have time available.
Assignee: nobody → mano
Blocks: 560198
Blocking. The impression of all toolbar bookmarks being gone is pretty serious primary UI breakage.
blocking2.0: ? → final+
Posted patch PatchSplinter Review
Whoever reviewed that should, well, review this patch too.
Attachment #490639 - Flags: review?(mak77)
Comment on attachment 490639 [details] [diff] [review]
Patch

>diff -r 23dcbd0c286c browser/components/places/content/browserPlacesViews.js

>@@ -1049,19 +1050,20 @@
> 
>   _updateChevronTimerCallback: function PT__updateChevronTimerCallback() {
>     let scrollRect = this._rootElt.getBoundingClientRect();
>     let childOverflowed = false;
>     for (let i = 0; i < this._rootElt.childNodes.length; i++) {
>       let child = this._rootElt.childNodes[i];
>       // Once a child overflows, all the next ones will.
>       if (!childOverflowed) {
>-        let childRect = child.getBoundingClientRect();
>-        childOverflowed = this._isRTL ? (childRect.left < scrollRect.left)
>-                                      : (childRect.right > scrollRect.right);
>+              let childRect = child.getBoundingClientRect();

this indentation change is probably a typo

thank you!
Attachment #490639 - Flags: review?(mak77) → review+
http://hg.mozilla.org/mozilla-central/rev/a1e24da8518f

and the nit fix (mano, don't put checkin-needed if there's more fix needed!):

http://hg.mozilla.org/mozilla-central/rev/622d3a8f8ab1

the first check-in i forgot to set mano as user, so probably going to back this all out again and re-land. ugh.
And now I've totally screwed my tree up trying to backout these. I'm going to leave it in as-is. Mano, if you want me to change it, ping me and I'll figure it out.
In case you back this out and reland it: the second getComputedStyle argument is optional.
Keywords: checkin-needed
Thanks.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 4.0b8
You need to log in before you can comment on or make changes to this bug.