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)
Tracking
()
RESOLVED
FIXED
Firefox 4.0b12
People
(Reporter: Margaret, Assigned: dao)
References
Details
(Keywords: regression)
Attachments
(2 files, 4 obsolete files)
34.06 KB,
image/png
|
Details | |
23.42 KB,
patch
|
fryn
:
review+
Dolske
:
approval2.0+
|
Details | Diff | Splinter Review |
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.
Assignee | ||
Comment 1•14 years ago
|
||
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)
Comment 2•14 years ago
|
||
(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?
Comment 3•14 years ago
|
||
(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 | ||
Updated•14 years ago
|
Assignee: nobody → dao
Assignee | ||
Updated•14 years ago
|
Blocks: 617506
Keywords: regression
Assignee | ||
Comment 4•14 years ago
|
||
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)
Assignee | ||
Comment 5•14 years ago
|
||
the correct patch
Attachment #510073 -
Attachment is obsolete: true
Attachment #510074 -
Flags: review?(fryn)
Attachment #510073 -
Flags: review?(fryn)
Assignee | ||
Updated•14 years ago
|
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)
Assignee | ||
Comment 6•14 years ago
|
||
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)
Assignee | ||
Comment 7•14 years ago
|
||
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)
Assignee | ||
Comment 8•14 years ago
|
||
(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.
Assignee | ||
Comment 9•14 years ago
|
||
This should be very close. Still need to verify my last few modifications on Windows, though.
Attachment #510077 -
Attachment is obsolete: true
Assignee | ||
Comment 10•14 years ago
|
||
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)
Comment 11•14 years ago
|
||
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-
Assignee | ||
Comment 12•14 years ago
|
||
(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.
Comment 13•14 years ago
|
||
(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
Comment 14•14 years ago
|
||
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?
Assignee | ||
Comment 15•14 years ago
|
||
(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.
Updated•14 years ago
|
Attachment #510151 -
Flags: approval2.0? → approval2.0+
Comment 16•14 years ago
|
||
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 4.0b12
Comment 17•14 years ago
|
||
After the land of this, with tabs on bottom there is no border above the content area
Comment 18•14 years ago
|
||
sorry, I was wrong. I had an old userstyle applyed
Assignee | ||
Updated•14 years ago
|
Attachment #511417 -
Attachment is obsolete: true
Comment 19•14 years ago
|
||
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.
Description
•