Closed Bug 631698 Opened 14 years ago Closed 14 years ago

1px border visible below active app tabs when there is tab overflow (using Aero Glass with DirectWrite disabled)

Categories

(Firefox :: Theme, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 4.0b12

People

(Reporter: Margaret, Assigned: dao)

References

Details

(Keywords: regression)

Attachments

(2 files, 4 obsolete files)

Attached image screenshot (deleted) —
It looks like the main toolbar shifts down 1px when I enter tab overflow mode, causing this 1px border to appear. However, it does not affect normal tabs.
I can only reproduce this with DirectWrite disabled.
Component: Tabbed Browser → Theme
QA Contact: tabbed.browser → theme
Summary: 1px border visible below active app tabs when there is tab overflow → 1px border visible below active app tabs when there is tab overflow (DirectWrite disabled)
(In reply to comment #1) > I can only reproduce this with DirectWrite disabled. Is DirectWrite disabled by default? I can reproduce this on Windows 7 with a fresh profile. How does one toggle DirectWrite?
(In reply to comment #2) > (In reply to comment #1) > > I can only reproduce this with DirectWrite disabled. > > Is DirectWrite disabled by default? I can reproduce this on Windows 7 with a > fresh profile. How does one toggle DirectWrite? Oh nevermind. Ignore my entire comment. Sorry.
Assignee: nobody → dao
Blocks: 617506
Keywords: regression
Attached patch patch (obsolete) (deleted) — Splinter Review
The current glass-specific tab bar styling relies on a DirectWrite-specific quirk that makes tabs 1px higher, so it fall apart without DirectWrite. Fixing this turned out to be a larger undertaking, as I decided to move to one uniform implementation for glass, non-glass and Linux. This should get us more consistency and ease maintenance. The alternative would have been glass-specific changes, letting the three implementations depart further from each other, which would be particularly bad for glass vs. non-glass: the former builds on the latter, so it quickly becomes messy if there are fundamental differences.
Attachment #510073 - Flags: review?(fryn)
Attached patch patch (obsolete) (deleted) — Splinter Review
the correct patch
Attachment #510073 - Attachment is obsolete: true
Attachment #510074 - Flags: review?(fryn)
Attachment #510073 - Flags: review?(fryn)
Summary: 1px border visible below active app tabs when there is tab overflow (DirectWrite disabled) → 1px border visible below active app tabs when there is tab overflow (using Aero Glass with DirectWrite disabled)
Attached patch patch (obsolete) (deleted) — Splinter Review
reviewed my own patch and spotted a chance to simplify a selector
Attachment #510074 - Attachment is obsolete: true
Attachment #510077 - Flags: review?(fryn)
Attachment #510074 - Flags: review?(fryn)
Comment on attachment 510077 [details] [diff] [review] patch After thinking about this a bit more, it seems that this is unnecessarily complex and might be unnecessarily expensive (e.g. when tabs overflow) for Linux and non-glass Windows. This is actually already a concern right now, as the scrollbox in the tab bar is positioned relatively and shifted down by a pixel. This shouldn't be needed. So instead I will shift focus towards simplifying the base styling (keeping it consistent across Windows and Linux) so that the more involved glass-specific stuff can easily build upon that.
Attachment #510077 - Flags: review?(fryn)
(In reply to comment #7) > So instead I will shift focus towards simplifying the base styling (keeping it > consistent across Windows and Linux) so that the more involved glass-specific > stuff can easily build upon that. As a further bonus, it should be possible to use the simple styling in maximized windows even with glass, as the border radius in restored windows is really the only factor requiring more complexity.
Attached patch patch v2 (deleted) — Splinter Review
This should be very close. Still need to verify my last few modifications on Windows, though.
Attachment #510077 - Attachment is obsolete: true
Comment on attachment 510151 [details] [diff] [review] patch v2 Works and fixes rough edges across the board. Glass-less Windows and Linux for the most part are now in line with Aero Glass, which in return allows us to use the default styling for Aero Glass except in restored windows.
Attachment #510151 - Flags: review?(gavin.sharp)
Attachment #510151 - Flags: review?(fryn)
Blocks: 624470
Comment on attachment 510151 [details] [diff] [review] patch v2 This patch causes the tabs to have a different height with DirectWrite compared to without DirectWrite. While I realize that font rendering quirks are the cause, I don't think that that will be an acceptable change. > +#main-window:not([disablechrome]) #navigator-toolbox[tabsontop=true] { I see that you're using the more compact [name=value] format instead of [name="value"]. :) However, if we're going to start using that, we ought to use it consistently from now on, so the following line should follow that too: + #navigator-toolbox[tabsontop="false"] > #nav-bar:not(:-moz-lwtheme) { After Firefox 4, we ought to do a global find and replace (at least within browser/themes/*) to do this for all attribute selectors with values containing only letters. Overall, this does a good job of simplifying the styling and reducing platform-specific code; particularly, it makes the tab backgrounds easier to understand. :)
Attachment #510151 - Flags: review?(gavin.sharp)
Attachment #510151 - Flags: review?(fryn)
Attachment #510151 - Flags: review-
(In reply to comment #11) > Comment on attachment 510151 [details] [diff] [review] > patch v2 > > This patch causes the tabs to have a different height with DirectWrite compared > to without DirectWrite. While I realize that font rendering quirks are the > cause, I don't think that that will be an acceptable change. It's expected, as the font is higher with DirectWrite (17px instead of 16px I think). Bug 617506 unintentionally "fixed" this and hence caused this bug.
(In reply to comment #12) > (In reply to comment #11) > > Comment on attachment 510151 [details] [diff] [review] > > patch v2 > > > > This patch causes the tabs to have a different height with DirectWrite compared > > to without DirectWrite. While I realize that font rendering quirks are the > > cause, I don't think that that will be an acceptable change. > > It's expected, as the font is higher with DirectWrite (17px instead of 16px I > think). Bug 617506 unintentionally "fixed" this and hence caused this bug. I see. Would setting the line-height to a fixed value fix that issue?
Blocks: 570279
No longer blocks: 570279
Comment on attachment 510151 [details] [diff] [review] patch v2 In that case, aside from the nit, this patch looks fine.
Attachment #510151 - Flags: review-
Attachment #510151 - Flags: review+
Attachment #510151 - Flags: approval2.0?
(In reply to comment #13) > I see. Would setting the line-height to a fixed value fix that issue? I looked into this some time ago, it didn't really work. We need to be careful not to break large-font / high-DPI settings, Asian fonts, etc.
Attachment #510151 - Flags: approval2.0? → approval2.0+
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 4.0b12
Depends on: 633195
Attached image no border above content area (obsolete) (deleted) —
After the land of this, with tabs on bottom there is no border above the content area
sorry, I was wrong. I had an old userstyle applyed
Attachment #511417 - Attachment is obsolete: true
No longer depends on: 633234
Depends on: 633360
Depends on: 633731
Blocks: 633884
No longer blocks: 633884
Depends on: 633524
Depends on: 633282
It appears that the fix for this bug has caused a regression: see bug 655294 comment 5
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: