| Bug 2032244 - toolkit Nova icons r=#desktop-theme-reviewers!
Authored by sthompson on Fri, May 22, 2:11 AM. Referenced Files | Unknown Object (File) | | Tue, Jun 16, 9:54 PM2026-06-16 21:54:39 (UTC+0) |
| Unknown Object (File) | | Tue, Jun 16, 9:54 PM2026-06-16 21:54:38 (UTC+0) |
| Unknown Object (File) | | Tue, Jun 16, 9:54 PM2026-06-16 21:54:38 (UTC+0) |
| Unknown Object (File) | | Wed, Jun 10, 3:27 PM2026-06-10 15:27:00 (UTC+0) |
| Unknown Object (File) | | Sun, Jun 7, 6:45 AM2026-06-07 06:45:11 (UTC+0) |
| Unknown Object (File) | | Sun, Jun 7, 1:39 AM2026-06-07 01:39:02 (UTC+0) |
| Unknown Object (File) | | Sun, Jun 7, 12:24 AM2026-06-07 00:24:25 (UTC+0) |
| Unknown Object (File) | | Sat, Jun 6, 11:07 PM2026-06-06 23:07:15 (UTC+0) |
Summary Displays the Nova iconography when is true.
Updates 72 existing toolkit icons with the following approach:
- wraps the existing <path>(s) in a
- appends the Nova redrawn icon's <path>(s) in a
- adds a <style> block with rules to show only one group at a time
This is an unorthodox approach. It has several drawbacks:
- increases individual SVG size
- increases the time required to render each SVG
- viewing the SVGs in normal image tools will only show the Proton variant, which is confusing
However, I think this approach is better than alternatives.
- do not need to add new Nova icon files and CSS rules to use them conditionally
- SVG uses in XHTML and similar contexts doesn't require special handling
- this can be undone very easily after Nova is released, leaving only the Nova paths
- the SVG rendering performance impact is not large, and alternatives would still have non-zero performance impact
- total size of SVGs is not that much larger than if we added separate Nova icons
Event Timelinedao added inline comments. | toolkit/themes/shared/reader/word-spacing-20.svg |
| 18 | clip0_8069_32752 doesn't seem to exist? Might apply to other updated files as well. |
| toolkit/themes/windows/global/icons/menu-check.svg |
| 7 | don't we need fill and fill-opacity here like for non-nova? or I guess move those to the svg element? please check if this applies to other updated icons as well. |
| toolkit/themes/windows/global/icons/search-textbox.svg |
| 18 ↗ | (On Diff #1280695) | same here. note that pre-nova uses fill="#939393", not sure if we'd want to keep that. |
| toolkit/themes/shared/reader/word-spacing-20.svg |
| 18 | This clip path isn't defined in the acorn-icons SVG, either. Looks like 75 of the icons in the acorn-icons repo have this same problem. I'll ask the design team to update their icon tooling. I can handle this special case in my own script by stripping because none of the acorn-icons actually have a clip path defined. |
| toolkit/themes/windows/global/icons/menu-check.svg |
| 7 | Hmm, yeah, this one may be tricky. All of the redrawn acorn-icons have the context drawing attributes defined on <svg>. There are 27 existing icons where context attrs are defined on specific paths. I'll have to go through these to figure out whether the acorn-icon wouldn't render correctly, whether to put the attrs on the <g class="nova"> only, or whether it's OK to promote these attrs to <svg>. |
| toolkit/themes/windows/global/icons/search-textbox.svg |
| 18 ↗ | (On Diff #1280695) | This is a bug in my script. Only the mac version should be updated with the Nova icon because the Nova version matches its style. The Windows one should be left alone because of the color issue and because there was no redrawn version in Nova. I flagged the Windows one with the design team already. I'll fix my script to apply the icon update to the right platform. |
Comment ActionsA number of updates here:
- The Acorn team updated their icon exporter to trim clip paths and references to them. I confirmed that there are no longer any in the Nova icons. There are some in the existing Proton icons, but I don't think I need to clean those up in this patch. They should be cleaned up when Nova icons are promoted and the Proton paths are deleted.
- thumbs-down-20 and thumbs-up-20 were uploaded to the acorn-icons repo on Github so I was able to include those
- I went through all of the icons that set fill/stroke/etc. on specific paths. Among all of the toolkit icons, I found that it was sufficient to promote those attributes to the <svg> element.
- I updated the osx search-textbox.svg flavor for Nova and left the Windows one alone. The previous version of this patch inappropriately changed the Windows one.
Through this process of going through all of the icons, I did encounter a few novel issues that hadn't been flagged by anyone yet. Mostly, these were issues where I mapped an inappropriate Acorn icon to the codebase. I think it's likely that there are still some errata in this patch stack, but I think they should be isolated issues rather than systematic ones. dao added inline comments. | toolkit/themes/osx/global/icons/search-textbox.svg |
| 17 | Sorry for the late suggestion, but if it's easy enough to adjust in your script: how do you feel about indenting this by only two spaces instead of four, so that after shipping we can remove the <g> wrapper without reindenting this? This would give us a simpler history on this line. |
Comment ActionsMade non-content updates -- the only new changes were whitespace (preserving existing indentation where possible, ensuring 2 space indentation on Nova elements, and putting no indentation on new <style> and <g> tags. | toolkit/themes/osx/global/icons/search-textbox.svg |
| 17 | I updated the script to add new <g>, <style> elements with no indentation at all. The indentation from the Proton elements is preserved. The indentation from the Nova elements are capped at 2 spaces.
For most icons, this means that the <svg> and Proton elements have no changes from this stack of patches, and it means that after cleaning up the Proton + migration boilerplate, we'll be left with Nova elements indented from the <svg> element by 2 spaces.
Note that for icons like this where I also moved the fill/fill-opacity attrs from <path> to <svg>, this patch results in changes to basically all of the lines. I think this is OK, and the cleanup should not need to touch the <svg> elements again. |
This revision was automatically updated to reflect the committed changes. | Path | Size |
|---|
| | | 17 lines | | | | 15 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 17 lines | | 13 lines | | 14 lines | | 13 lines | | 13 lines | | 15 lines | | 15 lines | | 13 lines | | 14 lines | | 14 lines | | 13 lines | | 13 lines | | 13 lines | | 14 lines | | 17 lines | | 13 lines | | 14 lines | | 13 lines | | 13 lines | | 15 lines | | 16 lines | | 14 lines | | 13 lines | | 13 lines | | 13 lines | | 15 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 13 lines | | 14 lines | | 15 lines | | 15 lines | | 15 lines | | 15 lines | | 13 lines | | 13 lines | | 13 lines | | | 13 lines | | 14 lines | | 18 lines | | 13 lines | | 15 lines | | 17 lines | | 17 lines | | 15 lines | | 13 lines | | | 13 lines | | 13 lines | | | 13 lines | | 13 lines | | 13 lines | | 14 lines | | 13 lines | | 13 lines | | 14 lines | | | 17 lines |
| Commit | Tree | Parents | Author | Summary | Date |
|---|
| 0a19a7c43867 | 343bc237db63 | Stephen Thompson | Bug 2032244 - toolkit Nova icons r=desktop-theme-reviewers,dao (Show More…) |
toolkit/themes/osx/global/icons/search-textbox.svgtoolkit/themes/shared/icons/arrow-counterclockwise-16.svgtoolkit/themes/shared/icons/arrow-down-12.svgtoolkit/themes/shared/icons/arrow-down.svgtoolkit/themes/shared/icons/arrow-left-12.svgtoolkit/themes/shared/icons/arrow-left.svgtoolkit/themes/shared/icons/arrow-right-12.svgtoolkit/themes/shared/icons/arrow-right.svgtoolkit/themes/shared/icons/arrow-up-12.svgtoolkit/themes/shared/icons/arrow-up.svgtoolkit/themes/shared/icons/arrows-updown.svgtoolkit/themes/shared/icons/block.svgtoolkit/themes/shared/icons/blocked.svgtoolkit/themes/shared/icons/check-filled.svgtoolkit/themes/shared/icons/check.svgtoolkit/themes/shared/icons/chevron.svgtoolkit/themes/shared/icons/close-fill.svgtoolkit/themes/shared/icons/close.svgtoolkit/themes/shared/icons/color-picker-20.svgtoolkit/themes/shared/icons/cursor-arrow.svgtoolkit/themes/shared/icons/defaultFavicon.svgtoolkit/themes/shared/icons/delete.svgtoolkit/themes/shared/icons/edit-copy.svgtoolkit/themes/shared/icons/edit-outline.svgtoolkit/themes/shared/icons/error.svgtoolkit/themes/shared/icons/folder.svgtoolkit/themes/shared/icons/help.svgtoolkit/themes/shared/icons/highlights.svgtoolkit/themes/shared/icons/info-filled.svgtoolkit/themes/shared/icons/info.svgtoolkit/themes/shared/icons/lightbulb.svgtoolkit/themes/shared/icons/more.svgtoolkit/themes/shared/icons/move-16.svgtoolkit/themes/shared/icons/newsfeed.svgtoolkit/themes/shared/icons/open-in-new.svgtoolkit/themes/shared/icons/page-landscape.svgtoolkit/themes/shared/icons/page-portrait.svgtoolkit/themes/shared/icons/plugin.svgtoolkit/themes/shared/icons/plus-20.svgtoolkit/themes/shared/icons/plus.svgtoolkit/themes/shared/icons/print.svgtoolkit/themes/shared/icons/reload.svgtoolkit/themes/shared/icons/search-glass.svgtoolkit/themes/shared/icons/security-warning.svgtoolkit/themes/shared/icons/security.svgtoolkit/themes/shared/icons/settings.svgtoolkit/themes/shared/icons/swap-horizontal-20.svgtoolkit/themes/shared/icons/tab-notes.svgtoolkit/themes/shared/icons/thumbs-down-20.svgtoolkit/themes/shared/icons/thumbs-up-20.svgtoolkit/themes/shared/icons/trending.svgtoolkit/themes/shared/icons/update-icon.svgtoolkit/themes/shared/icons/warning.svgtoolkit/themes/shared/media/audio-muted.svgtoolkit/themes/shared/media/audio.svgtoolkit/themes/shared/media/closed-caption-settings-button.svgtoolkit/themes/shared/media/pause-fill.svgtoolkit/themes/shared/media/picture-in-picture-closed.svgtoolkit/themes/shared/media/picture-in-picture-enter-fullscreen-button.svgtoolkit/themes/shared/media/picture-in-picture-exit-fullscreen-button.svgtoolkit/themes/shared/media/picture-in-picture-open.svgtoolkit/themes/shared/media/play-fill.svgtoolkit/themes/shared/narrate/skip-backward-20.svgtoolkit/themes/shared/narrate/skip-forward-20.svgtoolkit/themes/shared/reader/align-center-20.svgtoolkit/themes/shared/reader/align-left-20.svgtoolkit/themes/shared/reader/align-right-20.svgtoolkit/themes/shared/reader/character-spacing-20.svgtoolkit/themes/shared/reader/content-width-20.svgtoolkit/themes/shared/reader/line-spacing-20.svgtoolkit/themes/shared/reader/word-spacing-20.svgtoolkit/themes/windows/global/icons/menu-check.svg |