I’d like to request an API exemption for M7 for the following change:
Bug 491556 - [Welcome] Provide theme-specific mechanism to influence path resolution
This change adds a new theme property for Welcome/Intro themes called “filePrefix” used to resolve theme-dependent variants of images that are referenced by the theme.
We need this functionality for the new Solstice theme (bug 466370). Unlike the previous themes (circles, slate, and mesh), the Solstice theme has a dark background where the product logos are shown. The Eclipse logo is effectively invisible in this theme.
The filePrefix causes the Intro code to first attempt to resolve images with the given prefix and then fallback to the path as-is. This prefixing only happens for files specified as product-properties, such as the branding logo. For example, the Solstice theme defines (simplified; full details in patch):
<property name=“filePrefix” value=“solstice-“ />
The Platform and SDK products specify their branding logo using a product property like:
<property name=“introBrandingImage” value=“product:intro-eclipse.png” />
When resolving the introBrandingImage, the code will now first try resolving ’solstice-intro-eclipse.png’ from the product bundle. If not found, it will fallback to ‘intro-eclipse.png’. If a directory is specified (e.g., ‘product:logos/eclipse.png’) then the prefix is applied to the file portion (‘logos/solstice-eclipse.png’).
Without this change, product definitions have to explicitly reference a more Solstice-friendly logo. But then the other themes don’t look as intended. [Though to be honest, I think they all look better with the white logo.]
Solstice with the current logo (purple lettering):
<Without Solstice-friendly logo.PNG>