Closed Bug 875180 Opened 12 years ago Closed 11 years ago

When a tab scrolls into view, half of the curve remains out of view

Categories

(Firefox :: Theme, defect)

defect
Not set
minor

Tracking

()

RESOLVED FIXED
Firefox 28

People

(Reporter: MattN, Assigned: jaws)

References

(Depends on 1 open bug)

Details

(Whiteboard: [Australis:M9][Australis:P2])

Attachments

(2 files, 1 obsolete file)

When you have overflow and a tab scrolls into view, the entire tab should be visible, not just the middle (.tab-background-middle). Currently, the half (15px) of the curve which overlaps the adjacent tab remains hidden in the regions scrolled out of view. STR: 1) Open many tabs so there is overflow 2) Select the 3rd last tab 3) Scroll the selected tab out of view 4) Switch to the 2nd last tab with the keyboard (Ctrl-tab) Expected result: The tab scrolls into view Actual result: ~15px of the selected tab curve remains hidden This is likely because of the overlap between tabs implemented with negative margins on tab elements. Look for usage of tabCurveHalfWidth in the CSS.
Whiteboard: [Australis:M?] → [Australis:M6]
Assignee: nobody → mnoorenberghe+bmo
Whiteboard: [Australis:M6] → [Australis:M7]
Whiteboard: [Australis:M7] → [Australis:M7][User Research Build+]
These bugs didn't make it into the UR Build that went out in bug 879846. Clearing the [User Research Build+] flag.
Whiteboard: [Australis:M7][User Research Build+] → [Australis:M7]
Removing the items from M7 that do not block landing on m-c.
Whiteboard: [Australis:M7] → [Australis:M?]
This has been brought up a few times as a major visual glitch, so P2.
Whiteboard: [Australis:M?] → [Australis:M?][Australis:P2]
(somewhat related to bug 579728, as Matt pointed out to me a while ago...)
Attached patch Patch (obsolete) (deleted) — Splinter Review
Assignee: mnoorenberghe+bmo → jaws
Status: NEW → ASSIGNED
Attachment #819209 - Flags: review?(gijskruitbosch+bugs)
Comment on attachment 819209 [details] [diff] [review] Patch Review of attachment 819209 [details] [diff] [review]: ----------------------------------------------------------------- Clearing review because of the caching and toolkit-reviewer issue. If we can just cache these, IMO we should do that, for sure, before thinking about landing this. I'd still like to get bug 579728 done, but if that turns out to take too long I'm OK with going this route to just stick to what we already have on m-c, and at least not make things worse. ::: browser/base/content/tabbrowser.xml @@ +3244,5 @@ > + <body><![CDATA[ > + let tabMiddle = document.getAnonymousElementByAttribute(aTab, "class", "tab-background-middle"); > + let tabMiddleStyle = window.getComputedStyle(tabMiddle, null); > + let tabMarginLeft = parseFloat(tabMiddleStyle.marginLeft); > + let tabMarginRight = parseFloat(tabMiddleStyle.marginRight); AFAIK in our implementation these are always the same for all tabs, and this causes sync reflows. Seems to me like we should find a better way of getting these and caching them, not computing them every time. ::: toolkit/content/widgets/scrollbox.xml @@ +225,5 @@ > + if (this._adjustElementStartAndEnd) { > + [elementStart, elementEnd] = > + this._adjustElementStartAndEnd(element, elementStart, elementEnd); > + } > + I'm not a toolkit peer, and I'm not sure we should be modifying scrollbox.xml for a styling issue in the tabbrowser usage of it. Can you get review from a toolkit peer? :-)
Attachment #819209 - Flags: review?(gijskruitbosch+bugs)
Attached patch Patch v1.1 (deleted) — Splinter Review
Sounds good, yeah this should get a toolkit review.
Attachment #819209 - Attachment is obsolete: true
Attachment #819222 - Flags: review?(dao)
Attachment #819222 - Flags: review?(bmcbride)
Comment on attachment 819222 [details] [diff] [review] Patch v1.1 Review of attachment 819222 [details] [diff] [review]: ----------------------------------------------------------------- r+ for toolkit change, but add a comment stating the function is expected to come from an inherited binding.
Attachment #819222 - Flags: review?(bmcbride) → review+
Comment on attachment 819222 [details] [diff] [review] Patch v1.1 Review of attachment 819222 [details] [diff] [review]: ----------------------------------------------------------------- And r+ for the browser changes too.
Attachment #819222 - Flags: review?(dao)
Whiteboard: [Australis:M?][Australis:P2] → [Australis:M9][Australis:P2][fixed-in-ux]
Depends on: 929750
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [Australis:M9][Australis:P2][fixed-in-ux] → [Australis:M9][Australis:P2]
Target Milestone: --- → Firefox 28
this patch need to check in the new _adjustElementStartAndEnd method that the scrollbox orient is horizontal with the current patch if the orient is vertical you end up offsetting tab's top/bottom with left/right margin
Depends on: 950715
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: