Closed Bug 2038792 Opened 6 months ago Closed 5 months ago

bug 2026246 removed tab border on macOS

Categories

(Firefox :: Tabbed Browser, defect)

defect

Tracking

()

RESOLVED FIXED
153 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox150 --- unaffected
firefox151 --- unaffected
firefox152 --- disabled
firefox153 --- fixed

People

(Reporter: soeren.hentzschel, Assigned: jswinarton)

References

Details

Attachments

(1 external file)

With browser.nova.enabled set to true, browser.theme.native-theme was set to true on macOS in bug 2026246, which removed the colored border for the active tab that had been introduced by bug 2023619 just one day before. This makes it very difficult to identify the active tab, since the tab color is identical to the color of the tab bar and the active tab is indicated only by a subtle shadow.

:jswinarton, since you are the author of the regressor, bug 2026246, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(jswinarton)

At https://searchfox.org/firefox-main/source/browser/themes/shared/tabbrowser/tabs.css#932 the selector uses -moz-native-theme which will now always be true on macOS with Nova. Do you remember why you targeted that way, Nikki? You did update https://searchfox.org/firefox-main/source/browser/themes/osx/browser.css#18 as well.

Jeremy, do you remember which specific capabilities/effects were unlocked by using the native theme pref on macOS?

Flags: needinfo?(nikkisharpley)

Yes, in the Nova specs the gradient border is used in dark/light/system themes to indicate the selected tabs. In custom themes we still want the ability to customize the selected appearance, hence using the below to only apply the gradient border to the intended themes.

    @media (not ((forced-colors) or (-moz-native-theme))) and (-moz-pref("browser.nova.enabled")) {
      :root:not([lwtheme]) & {
        border: 1px solid transparent;
        background:
          linear-gradient(var(--tab-background-color-selected)) padding-box,
          var(--tab-border-color-accent) border-box;
      }
    }

For browser.css, I only updated the name of the variable.

Flags: needinfo?(nikkisharpley)
Assignee: nobody → jswinarton
Status: NEW → ASSIGNED

I posted a patch that fixes this, but now I have a bigger architectural question.

When I wrote the patch for bug2026246, I based it on the existing rules for translucency that were gated under browser.theme.native-theme, which basically treats Nova as if it is a "native" theme (i.e. it is intended to look as if it is integrated into the OS — at least that was my best guess as to its meaning). So when Nova is enabled, the native-theme pref is also automatically enabled and the transparency rules apply. Now I wonder if that was the right choice. The other option would be to cut that tie and just add the transparency rules directly to the nova pref branch without involving the native-theme pref at all.

If we decide to just keep the linkage as is, the above patch can be landed — otherwise I can write another patch that cuts this link and makes it so that the translucency rules are linked directly to the nova pref.

Flags: needinfo?(jswinarton) → needinfo?(sthompson)

Sören, please don't mark work behind a pref as a regression. Its fine to report a bug but this is net new functionality and the feature is disabled by default right now as its in development.

Keywords: regression
No longer regressed by: 2026246
See Also: → 2026246
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch
QA Whiteboard: [qa-triage-done-c154/b153]
Flags: needinfo?(sthompson)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: