Theme changes in Firefox 3.5

Draft
This page is not complete.

This article covers the changes that need to be made to update a Firefox theme to work properly in Firefox 3.5.

Core, browser and toolkit changes requiring theme updates

There are a number of changes in the browser that may require you to make changes to your theme.

Affected files Details
scrollbar.xml, xulscrollbars.css The <gripper> element was removed from the scrollbar thumb button by bug 448704. For the Windows and Linux native default themes, the gripper is now drawn as a part of the background of the scrollbar thumb widget. Third-party themes can still draw a gripper for the scrollbar thumb button by applying a centered background image to the scrollbar's thumb button.
global/checkbox.css, global/radio.css Since bug 394892, radio buttons and checkboxes no longer have a minimum size on Mac OS X. If your theme uses native checkboxes or radiobuttons (-moz-appearance: radio / checkbox), this can result in distorted controls. You might have to set the width and height of .checkbox-check and .radio-check to 16px to avoid that problem. Look at the patch to see what was changed for Pinstripe.
Bug 450944 changed the way window shadow is handled on Mac OS X. Before that change, opaque windows always had a shadow and transparent windows never had a shadow. After that change, transparent windows also have a shadow by default. This can result in unwanted shadows in your theme, e.g. under the autoscroll icon or the identity panel. If you don't want the shadow, you can turn it off by setting the new -moz-window-shadow CSS property to none on the affected element.
browser.xul Bug 463189 added a new attribute on the XUL window element of browser.xul named browsingmode. The value of this attribute is normal when the Private Browsing mode is inactive, and private when it's active. This attribute can be used to style different parts of the browser window inside the Private Browsing mode. See this blog post for an example.

Supporting 3.5 Features

  • Video/Audio player: controlBar has to be styled (chrome://global/skin/media/videocontrols.css)
  • Shadow effect for disabled text using text-shadow.
  • Greying menus of inactive windows: active windows get attribute 'active="true"'. To do this only for 3.5 use a CSS selector that is only supported in 3.5, like so: window:not([active="true"]) menubar>menu:nth-child(1n) { color:threedshadow }
  • Private browsing: show private browsing state by coloring the URL bar, or by adding an icon to the toolbox/tabbrowserbar. See Private browsing for theme designers for details.
  • Native hyperlink color: use -moz-nativehyperlinktext, to select the computer's native hyperlink color.

All known changes

For a list of all the known changes see: MozillaZine's Forum: Theme changes for Firefox 3.5