summaryrefslogtreecommitdiff
path: root/toolkit/themes
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /toolkit/themes
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloaduxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/themes')
-rw-r--r--toolkit/themes/LICENSE2
-rw-r--r--toolkit/themes/faststripe/global/button.css125
-rw-r--r--toolkit/themes/faststripe/global/checkbox.css81
-rw-r--r--toolkit/themes/faststripe/global/dropmarker.css27
-rw-r--r--toolkit/themes/faststripe/global/groupbox.css37
-rw-r--r--toolkit/themes/faststripe/global/jar.mn18
-rw-r--r--toolkit/themes/faststripe/global/menu.css234
-rw-r--r--toolkit/themes/faststripe/global/menulist.css95
-rw-r--r--toolkit/themes/faststripe/global/moz.build7
-rw-r--r--toolkit/themes/faststripe/global/popup.css61
-rw-r--r--toolkit/themes/faststripe/global/radio.css89
-rw-r--r--toolkit/themes/faststripe/global/tabbox.css122
-rw-r--r--toolkit/themes/faststripe/global/textbox.css106
-rw-r--r--toolkit/themes/faststripe/global/xulscrollbars.css210
-rw-r--r--toolkit/themes/linux/global/alerts/alert.css23
-rw-r--r--toolkit/themes/linux/global/autocomplete.css189
-rw-r--r--toolkit/themes/linux/global/button.css152
-rw-r--r--toolkit/themes/linux/global/checkbox.css99
-rw-r--r--toolkit/themes/linux/global/colorpicker.css47
-rw-r--r--toolkit/themes/linux/global/commonDialog.css22
-rw-r--r--toolkit/themes/linux/global/dirListing/remote.pngbin0 -> 653 bytes
-rw-r--r--toolkit/themes/linux/global/dropmarker.css7
-rw-r--r--toolkit/themes/linux/global/filepicker.css63
-rw-r--r--toolkit/themes/linux/global/filepicker/Filepicker.pngbin0 -> 1028 bytes
-rw-r--r--toolkit/themes/linux/global/findBar.css159
-rw-r--r--toolkit/themes/linux/global/global.css334
-rw-r--r--toolkit/themes/linux/global/groupbox.css32
-rw-r--r--toolkit/themes/linux/global/icons/Authentication.pngbin0 -> 2714 bytes
-rw-r--r--toolkit/themes/linux/global/icons/autocomplete-search.svg22
-rw-r--r--toolkit/themes/linux/global/icons/autoscroll.pngbin0 -> 2305 bytes
-rw-r--r--toolkit/themes/linux/global/icons/blacklist_favicon.pngbin0 -> 655 bytes
-rw-r--r--toolkit/themes/linux/global/icons/blacklist_large.pngbin0 -> 3846 bytes
-rw-r--r--toolkit/themes/linux/global/icons/close.svg76
-rw-r--r--toolkit/themes/linux/global/icons/errorGhosted-64.pngbin0 -> 1331 bytes
-rw-r--r--toolkit/themes/linux/global/icons/informationGhosted-64.pngbin0 -> 1687 bytes
-rw-r--r--toolkit/themes/linux/global/icons/questionGhosted-64.pngbin0 -> 1720 bytes
-rw-r--r--toolkit/themes/linux/global/icons/resizer-rtl.pngbin0 -> 189 bytes
-rw-r--r--toolkit/themes/linux/global/icons/resizer.pngbin0 -> 190 bytes
-rw-r--r--toolkit/themes/linux/global/icons/sslWarning.pngbin0 -> 3207 bytes
-rw-r--r--toolkit/themes/linux/global/icons/warningGhosted-64.pngbin0 -> 1680 bytes
-rw-r--r--toolkit/themes/linux/global/in-content/common.css123
-rw-r--r--toolkit/themes/linux/global/in-content/info-pages.css1
-rw-r--r--toolkit/themes/linux/global/jar.mn53
-rw-r--r--toolkit/themes/linux/global/listbox.css133
-rw-r--r--toolkit/themes/linux/global/menu.css195
-rw-r--r--toolkit/themes/linux/global/menulist.css83
-rw-r--r--toolkit/themes/linux/global/moz.build7
-rw-r--r--toolkit/themes/linux/global/netError.css145
-rw-r--r--toolkit/themes/linux/global/notification.css109
-rw-r--r--toolkit/themes/linux/global/numberbox.css38
-rw-r--r--toolkit/themes/linux/global/popup.css101
-rw-r--r--toolkit/themes/linux/global/preferences.css62
-rw-r--r--toolkit/themes/linux/global/printPageSetup.css11
-rw-r--r--toolkit/themes/linux/global/printPreview.css19
-rw-r--r--toolkit/themes/linux/global/radio.css110
-rw-r--r--toolkit/themes/linux/global/scrollbox.css33
-rw-r--r--toolkit/themes/linux/global/splitter.css65
-rw-r--r--toolkit/themes/linux/global/tabbox.css91
-rw-r--r--toolkit/themes/linux/global/textbox.css92
-rw-r--r--toolkit/themes/linux/global/toolbar.css113
-rw-r--r--toolkit/themes/linux/global/toolbar/spring.pngbin0 -> 924 bytes
-rw-r--r--toolkit/themes/linux/global/toolbarbutton.css138
-rw-r--r--toolkit/themes/linux/global/tree.css365
-rw-r--r--toolkit/themes/linux/global/tree/twisty-clsd.pngbin0 -> 221 bytes
-rw-r--r--toolkit/themes/linux/global/tree/twisty-open.pngbin0 -> 192 bytes
-rw-r--r--toolkit/themes/linux/moz.build8
-rw-r--r--toolkit/themes/linux/mozapps/downloads/downloadIcon.pngbin0 -> 1262 bytes
-rw-r--r--toolkit/themes/linux/mozapps/downloads/downloads.css112
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-available.pngbin0 -> 1092 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-discover.pngbin0 -> 1482 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-plugins.pngbin0 -> 1172 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-recent.pngbin0 -> 2020 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-search.pngbin0 -> 2600 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/category-service.pngbin0 -> 2063 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/dictionaryGeneric-16.pngbin0 -> 584 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/dictionaryGeneric.pngbin0 -> 1290 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/extensionGeneric-16.pngbin0 -> 713 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/extensions.css42
-rw-r--r--toolkit/themes/linux/mozapps/extensions/heart.pngbin0 -> 2949 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/localeGeneric.pngbin0 -> 1860 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/newaddon.css5
-rw-r--r--toolkit/themes/linux/mozapps/extensions/themeGeneric-16.pngbin0 -> 638 bytes
-rw-r--r--toolkit/themes/linux/mozapps/extensions/themeGeneric.pngbin0 -> 1734 bytes
-rw-r--r--toolkit/themes/linux/mozapps/jar.mn35
-rw-r--r--toolkit/themes/linux/mozapps/moz.build7
-rw-r--r--toolkit/themes/linux/mozapps/plugins/pluginBlocked.pngbin0 -> 1573 bytes
-rw-r--r--toolkit/themes/linux/mozapps/plugins/pluginGeneric-16.pngbin0 -> 565 bytes
-rw-r--r--toolkit/themes/linux/mozapps/plugins/pluginGeneric.pngbin0 -> 1295 bytes
-rw-r--r--toolkit/themes/linux/mozapps/profile/profileicon.pngbin0 -> 736 bytes
-rw-r--r--toolkit/themes/linux/mozapps/update/updates.css130
-rw-r--r--toolkit/themes/linux/mozapps/viewsource/viewsource.css122
-rw-r--r--toolkit/themes/mobile/global/empty.css7
-rw-r--r--toolkit/themes/mobile/global/icons/Error.pngbin0 -> 2148 bytes
-rw-r--r--toolkit/themes/mobile/global/media/TopLevelImageDocument.css17
-rw-r--r--toolkit/themes/mobile/global/media/TopLevelVideoDocument.css12
-rw-r--r--toolkit/themes/mobile/global/media/clicktoplay-bgtexture.pngbin0 -> 1751 bytes
-rw-r--r--toolkit/themes/mobile/global/media/error.pngbin0 -> 433 bytes
-rw-r--r--toolkit/themes/mobile/global/media/imagedoc-darknoise.pngbin0 -> 3050 bytes
-rw-r--r--toolkit/themes/mobile/global/media/imagedoc-lightnoise.pngbin0 -> 4025 bytes
-rw-r--r--toolkit/themes/mobile/global/media/throbber.pngbin0 -> 30718 bytes
-rw-r--r--toolkit/themes/mobile/global/media/videoClickToPlayButton.svg30
-rw-r--r--toolkit/themes/mobile/jar.mn55
-rw-r--r--toolkit/themes/mobile/moz.build7
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginActivate.pngbin0 -> 3043 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginBlocked.pngbin0 -> 1514 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginClose.pngbin0 -> 1370 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginCrashed.pngbin0 -> 1470 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginDisabled.pngbin0 -> 1620 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/contentPluginStripe.pngbin0 -> 460 bytes
-rw-r--r--toolkit/themes/mobile/mozapps/plugins/pluginProblem.css196
-rw-r--r--toolkit/themes/moz.build35
-rw-r--r--toolkit/themes/osx/global/10pct_transparent_grey.pngbin0 -> 123 bytes
-rw-r--r--toolkit/themes/osx/global/50pct_transparent_grey.pngbin0 -> 107 bytes
-rw-r--r--toolkit/themes/osx/global/alerts/alert.css30
-rw-r--r--toolkit/themes/osx/global/arrow.css38
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-dn-dis.gifbin0 -> 65 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-dn-dis.pngbin0 -> 185 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-dn-sharp.gifbin0 -> 51 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-dn.gifbin0 -> 56 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-dn.pngbin0 -> 191 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-lft-dis.gifbin0 -> 105 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-lft-hov.gifbin0 -> 57 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-lft-sharp-end.gifbin0 -> 56 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-lft-sharp.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-lft.gifbin0 -> 57 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-rit-dis.gifbin0 -> 105 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-rit-hov.gifbin0 -> 57 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-rit-sharp-end.gifbin0 -> 56 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-rit-sharp.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-rit.gifbin0 -> 57 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-up-dis.gifbin0 -> 65 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-up-sharp.gifbin0 -> 52 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/arrow-up.gifbin0 -> 56 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/panelarrow-horizontal.pngbin0 -> 117 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/panelarrow-horizontal@2x.pngbin0 -> 267 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/panelarrow-vertical.pngbin0 -> 133 bytes
-rw-r--r--toolkit/themes/osx/global/arrow/panelarrow-vertical@2x.pngbin0 -> 227 bytes
-rw-r--r--toolkit/themes/osx/global/autocomplete.css174
-rw-r--r--toolkit/themes/osx/global/button.css85
-rw-r--r--toolkit/themes/osx/global/checkbox.css39
-rw-r--r--toolkit/themes/osx/global/checkbox/cbox-check-dis.gifbin0 -> 60 bytes
-rw-r--r--toolkit/themes/osx/global/checkbox/cbox-check.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/osx/global/colorpicker.css41
-rw-r--r--toolkit/themes/osx/global/commonDialog.css35
-rw-r--r--toolkit/themes/osx/global/customizeToolbar.css38
-rw-r--r--toolkit/themes/osx/global/datetimepicker.css126
-rw-r--r--toolkit/themes/osx/global/dialog.css77
-rw-r--r--toolkit/themes/osx/global/dirListing/dirListing.css104
-rw-r--r--toolkit/themes/osx/global/dirListing/folder.pngbin0 -> 325 bytes
-rw-r--r--toolkit/themes/osx/global/dirListing/remote.pngbin0 -> 563 bytes
-rw-r--r--toolkit/themes/osx/global/dirListing/up.pngbin0 -> 617 bytes
-rw-r--r--toolkit/themes/osx/global/dropmarker.css31
-rw-r--r--toolkit/themes/osx/global/filefield.css38
-rw-r--r--toolkit/themes/osx/global/filters.svg14
-rw-r--r--toolkit/themes/osx/global/findBar.css266
-rw-r--r--toolkit/themes/osx/global/global.css378
-rw-r--r--toolkit/themes/osx/global/groupbox.css30
-rw-r--r--toolkit/themes/osx/global/icons/Error.pngbin0 -> 1439 bytes
-rw-r--r--toolkit/themes/osx/global/icons/autocomplete-dropmarker.pngbin0 -> 234 bytes
-rw-r--r--toolkit/themes/osx/global/icons/autocomplete-search.svg22
-rw-r--r--toolkit/themes/osx/global/icons/autoscroll.pngbin0 -> 2983 bytes
-rw-r--r--toolkit/themes/osx/global/icons/blacklist_64.pngbin0 -> 3771 bytes
-rw-r--r--toolkit/themes/osx/global/icons/blacklist_favicon.pngbin0 -> 543 bytes
-rw-r--r--toolkit/themes/osx/global/icons/checkbox.pngbin0 -> 1737 bytes
-rw-r--r--toolkit/themes/osx/global/icons/checkbox@2x.pngbin0 -> 1824 bytes
-rw-r--r--toolkit/themes/osx/global/icons/chevron-inverted.pngbin0 -> 247 bytes
-rw-r--r--toolkit/themes/osx/global/icons/chevron-inverted@2x.pngbin0 -> 481 bytes
-rw-r--r--toolkit/themes/osx/global/icons/chevron.pngbin0 -> 251 bytes
-rw-r--r--toolkit/themes/osx/global/icons/chevron@2x.pngbin0 -> 462 bytes
-rw-r--r--toolkit/themes/osx/global/icons/close.pngbin0 -> 1240 bytes
-rwxr-xr-xtoolkit/themes/osx/global/icons/close@2x.pngbin0 -> 2768 bytes
-rw-r--r--toolkit/themes/osx/global/icons/error-16.pngbin0 -> 677 bytes
-rw-r--r--toolkit/themes/osx/global/icons/error-64.pngbin0 -> 2533 bytes
-rw-r--r--toolkit/themes/osx/global/icons/error-large.pngbin0 -> 1996 bytes
-rw-r--r--toolkit/themes/osx/global/icons/glyph-dropdown.pngbin0 -> 99 bytes
-rw-r--r--toolkit/themes/osx/global/icons/glyph-dropdown@2x.pngbin0 -> 130 bytes
-rw-r--r--toolkit/themes/osx/global/icons/information-16.pngbin0 -> 818 bytes
-rw-r--r--toolkit/themes/osx/global/icons/information-24.pngbin0 -> 1289 bytes
-rw-r--r--toolkit/themes/osx/global/icons/information-32.pngbin0 -> 1773 bytes
-rw-r--r--toolkit/themes/osx/global/icons/information-64.pngbin0 -> 3687 bytes
-rw-r--r--toolkit/themes/osx/global/icons/information-large.pngbin0 -> 2592 bytes
-rw-r--r--toolkit/themes/osx/global/icons/menulist-dropmarker.pngbin0 -> 158 bytes
-rw-r--r--toolkit/themes/osx/global/icons/notfound.pngbin0 -> 597 bytes
-rw-r--r--toolkit/themes/osx/global/icons/panebutton-active.pngbin0 -> 400 bytes
-rw-r--r--toolkit/themes/osx/global/icons/panebutton-inactive.pngbin0 -> 257 bytes
-rw-r--r--toolkit/themes/osx/global/icons/panel-dropmarker.pngbin0 -> 161 bytes
-rw-r--r--toolkit/themes/osx/global/icons/question-16.pngbin0 -> 866 bytes
-rw-r--r--toolkit/themes/osx/global/icons/question-32.pngbin0 -> 1962 bytes
-rw-r--r--toolkit/themes/osx/global/icons/question-64.pngbin0 -> 3970 bytes
-rw-r--r--toolkit/themes/osx/global/icons/question-large.pngbin0 -> 2851 bytes
-rw-r--r--toolkit/themes/osx/global/icons/resizer-rtl.pngbin0 -> 192 bytes
-rw-r--r--toolkit/themes/osx/global/icons/resizer-rtl@2x.pngbin0 -> 284 bytes
-rw-r--r--toolkit/themes/osx/global/icons/resizer.pngbin0 -> 196 bytes
-rw-r--r--toolkit/themes/osx/global/icons/resizer@2x.pngbin0 -> 288 bytes
-rw-r--r--toolkit/themes/osx/global/icons/search-textbox.svg13
-rw-r--r--toolkit/themes/osx/global/icons/searchfield-cancel.svg20
-rw-r--r--toolkit/themes/osx/global/icons/sslWarning.pngbin0 -> 4120 bytes
-rw-r--r--toolkit/themes/osx/global/icons/tabprompts-bgtexture.pngbin0 -> 5940 bytes
-rw-r--r--toolkit/themes/osx/global/icons/warning-16.pngbin0 -> 690 bytes
-rw-r--r--toolkit/themes/osx/global/icons/warning-32.pngbin0 -> 1483 bytes
-rw-r--r--toolkit/themes/osx/global/icons/warning-64.pngbin0 -> 3308 bytes
-rw-r--r--toolkit/themes/osx/global/icons/warning-large.pngbin0 -> 2281 bytes
-rw-r--r--toolkit/themes/osx/global/in-content/common.css121
-rw-r--r--toolkit/themes/osx/global/in-content/info-pages.css1
-rw-r--r--toolkit/themes/osx/global/jar.mn150
-rw-r--r--toolkit/themes/osx/global/linkTree.css32
-rw-r--r--toolkit/themes/osx/global/listbox.css113
-rw-r--r--toolkit/themes/osx/global/menu.css187
-rw-r--r--toolkit/themes/osx/global/menulist.css65
-rw-r--r--toolkit/themes/osx/global/moz.build7
-rw-r--r--toolkit/themes/osx/global/nativescrollbars.css89
-rw-r--r--toolkit/themes/osx/global/netError.css145
-rw-r--r--toolkit/themes/osx/global/notification.css206
-rw-r--r--toolkit/themes/osx/global/notification/close.pngbin0 -> 795 bytes
-rw-r--r--toolkit/themes/osx/global/notification/error-icon.pngbin0 -> 518 bytes
-rw-r--r--toolkit/themes/osx/global/notification/info-icon.pngbin0 -> 533 bytes
-rw-r--r--toolkit/themes/osx/global/notification/warning-icon.pngbin0 -> 626 bytes
-rw-r--r--toolkit/themes/osx/global/numberbox.css33
-rw-r--r--toolkit/themes/osx/global/popup.css141
-rw-r--r--toolkit/themes/osx/global/preferences.css64
-rw-r--r--toolkit/themes/osx/global/progressmeter.css22
-rw-r--r--toolkit/themes/osx/global/radio.css43
-rw-r--r--toolkit/themes/osx/global/resizer.css69
-rw-r--r--toolkit/themes/osx/global/richlistbox.css27
-rw-r--r--toolkit/themes/osx/global/scale.css46
-rw-r--r--toolkit/themes/osx/global/scale/scale-tray-horiz.gifbin0 -> 50 bytes
-rw-r--r--toolkit/themes/osx/global/scale/scale-tray-vert.gifbin0 -> 50 bytes
-rw-r--r--toolkit/themes/osx/global/scrollbox.css62
-rw-r--r--toolkit/themes/osx/global/shared.inc20
-rw-r--r--toolkit/themes/osx/global/spinbuttons.css31
-rw-r--r--toolkit/themes/osx/global/splitter.css124
-rw-r--r--toolkit/themes/osx/global/splitter/dimple.pngbin0 -> 155 bytes
-rw-r--r--toolkit/themes/osx/global/splitter/grip-bottom.gifbin0 -> 145 bytes
-rw-r--r--toolkit/themes/osx/global/splitter/grip-left.gifbin0 -> 157 bytes
-rw-r--r--toolkit/themes/osx/global/splitter/grip-right.gifbin0 -> 157 bytes
-rw-r--r--toolkit/themes/osx/global/splitter/grip-top.gifbin0 -> 144 bytes
-rw-r--r--toolkit/themes/osx/global/tabbox.css148
-rw-r--r--toolkit/themes/osx/global/tabprompts.css67
-rw-r--r--toolkit/themes/osx/global/textbox.css102
-rw-r--r--toolkit/themes/osx/global/toolbar.css118
-rw-r--r--toolkit/themes/osx/global/toolbar/spring.pngbin0 -> 239 bytes
-rw-r--r--toolkit/themes/osx/global/toolbar/toolbar-separator.pngbin0 -> 115 bytes
-rw-r--r--toolkit/themes/osx/global/toolbarbutton.css124
-rw-r--r--toolkit/themes/osx/global/tree.css296
-rw-r--r--toolkit/themes/osx/global/tree/arrow-disclosure.svg28
-rw-r--r--toolkit/themes/osx/global/tree/columnpicker.gifbin0 -> 68 bytes
-rw-r--r--toolkit/themes/osx/global/tree/folder.pngbin0 -> 320 bytes
-rw-r--r--toolkit/themes/osx/global/tree/folder@2x.pngbin0 -> 589 bytes
-rw-r--r--toolkit/themes/osx/global/viewbuttons.css36
-rw-r--r--toolkit/themes/osx/global/wizard.css62
-rw-r--r--toolkit/themes/osx/mochitests/.eslintrc.js7
-rw-r--r--toolkit/themes/osx/mochitests/chrome.ini3
-rw-r--r--toolkit/themes/osx/mochitests/test_bug510426.xul54
-rw-r--r--toolkit/themes/osx/moz.build9
-rw-r--r--toolkit/themes/osx/mozapps/downloads/buttons.pngbin0 -> 2288 bytes
-rw-r--r--toolkit/themes/osx/mozapps/downloads/downloadIcon.pngbin0 -> 1301 bytes
-rw-r--r--toolkit/themes/osx/mozapps/downloads/downloads.css123
-rw-r--r--toolkit/themes/osx/mozapps/downloads/unknownContentType.css30
-rw-r--r--toolkit/themes/osx/mozapps/extensions/about.css78
-rw-r--r--toolkit/themes/osx/mozapps/extensions/blocklist.css20
-rw-r--r--toolkit/themes/osx/mozapps/extensions/cancel.pngbin0 -> 115 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-available.pngbin0 -> 1671 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-dictionaries.pngbin0 -> 1769 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-discover.pngbin0 -> 1324 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-experiments.pngbin0 -> 822 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-plugins.pngbin0 -> 886 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-recent.pngbin0 -> 1642 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-search.pngbin0 -> 2600 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/category-service.pngbin0 -> 2063 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/dictionaryGeneric-16.pngbin0 -> 742 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/dictionaryGeneric.pngbin0 -> 1769 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/discover-logo.pngbin0 -> 12007 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/eula.css47
-rw-r--r--toolkit/themes/osx/mozapps/extensions/experimentGeneric.pngbin0 -> 822 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/extensionGeneric-16.pngbin0 -> 554 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/extensions.css51
-rw-r--r--toolkit/themes/osx/mozapps/extensions/heart.pngbin0 -> 2949 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/localeGeneric.pngbin0 -> 2410 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/newaddon.css5
-rw-r--r--toolkit/themes/osx/mozapps/extensions/rating-not-won.pngbin0 -> 1559 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/rating-won.pngbin0 -> 1662 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/search.pngbin0 -> 423 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/themeGeneric-16.pngbin0 -> 710 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/themeGeneric.pngbin0 -> 2185 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/toolbarbutton-dropmarker.pngbin0 -> 147 bytes
-rw-r--r--toolkit/themes/osx/mozapps/extensions/update.css28
-rw-r--r--toolkit/themes/osx/mozapps/extensions/xpinstallConfirm.css90
-rw-r--r--toolkit/themes/osx/mozapps/handling/handling.css30
-rw-r--r--toolkit/themes/osx/mozapps/jar.mn62
-rw-r--r--toolkit/themes/osx/mozapps/moz.build7
-rw-r--r--toolkit/themes/osx/mozapps/plugins/notifyPluginGeneric.pngbin0 -> 313 bytes
-rw-r--r--toolkit/themes/osx/mozapps/plugins/pluginBlocked-64.pngbin0 -> 4563 bytes
-rw-r--r--toolkit/themes/osx/mozapps/plugins/pluginBlocked.pngbin0 -> 2152 bytes
-rw-r--r--toolkit/themes/osx/mozapps/plugins/pluginGeneric-16.pngbin0 -> 759 bytes
-rw-r--r--toolkit/themes/osx/mozapps/plugins/pluginGeneric.pngbin0 -> 1939 bytes
-rw-r--r--toolkit/themes/osx/mozapps/plugins/pluginHelp-16.pngbin0 -> 620 bytes
-rw-r--r--toolkit/themes/osx/mozapps/profile/profileSelection.css29
-rw-r--r--toolkit/themes/osx/mozapps/profile/profileicon-selected.pngbin0 -> 502 bytes
-rw-r--r--toolkit/themes/osx/mozapps/profile/profileicon.pngbin0 -> 588 bytes
-rw-r--r--toolkit/themes/osx/mozapps/update/buttons.pngbin0 -> 2288 bytes
-rw-r--r--toolkit/themes/osx/mozapps/update/updates.css171
-rw-r--r--toolkit/themes/osx/mozapps/viewsource/viewsource.css5
-rw-r--r--toolkit/themes/osx/reftests/482681-ref.xul21
-rw-r--r--toolkit/themes/osx/reftests/482681.xul22
-rw-r--r--toolkit/themes/osx/reftests/baseline.xul175
-rw-r--r--toolkit/themes/osx/reftests/checkboxsize-ref.xul32
-rw-r--r--toolkit/themes/osx/reftests/checkboxsize.xul31
-rw-r--r--toolkit/themes/osx/reftests/nostretch-ref.xul107
-rw-r--r--toolkit/themes/osx/reftests/nostretch.xul120
-rw-r--r--toolkit/themes/osx/reftests/radiosize-ref.xul32
-rw-r--r--toolkit/themes/osx/reftests/radiosize.xul31
-rw-r--r--toolkit/themes/osx/reftests/reftest-stylo.list6
-rw-r--r--toolkit/themes/osx/reftests/reftest.list5
-rw-r--r--toolkit/themes/shared/about.css62
-rw-r--r--toolkit/themes/shared/aboutCache.css70
-rw-r--r--toolkit/themes/shared/aboutCacheEntry.css29
-rw-r--r--toolkit/themes/shared/aboutMemory.css5
-rw-r--r--toolkit/themes/shared/aboutNetworking.css123
-rw-r--r--toolkit/themes/shared/aboutProfiles.css68
-rw-r--r--toolkit/themes/shared/aboutReader.css178
-rw-r--r--toolkit/themes/shared/aboutReaderContent.css177
-rw-r--r--toolkit/themes/shared/aboutReaderControls.css388
-rw-r--r--toolkit/themes/shared/aboutServiceWorkers.css44
-rw-r--r--toolkit/themes/shared/aboutSupport.css131
-rw-r--r--toolkit/themes/shared/alert-common.css165
-rw-r--r--toolkit/themes/shared/appPicker.css23
-rw-r--r--toolkit/themes/shared/config.css49
-rw-r--r--toolkit/themes/shared/extensions/alerticon-error.svg6
-rw-r--r--toolkit/themes/shared/extensions/alerticon-info-negative.svg6
-rw-r--r--toolkit/themes/shared/extensions/alerticon-info-positive.svg6
-rw-r--r--toolkit/themes/shared/extensions/alerticon-warning.svg6
-rw-r--r--toolkit/themes/shared/extensions/extensionGeneric.svg12
-rw-r--r--toolkit/themes/shared/extensions/extensions.inc.css1082
-rw-r--r--toolkit/themes/shared/extensions/navigation.pngbin0 -> 663 bytes
-rw-r--r--toolkit/themes/shared/extensions/newaddon.inc.css114
-rw-r--r--toolkit/themes/shared/extensions/utilities.svg30
-rw-r--r--toolkit/themes/shared/formautofill/requestAutocomplete.css11
-rw-r--r--toolkit/themes/shared/icons/find-arrows.svg16
-rw-r--r--toolkit/themes/shared/icons/input-clear.svg16
-rw-r--r--toolkit/themes/shared/icons/loading.pngbin0 -> 12585 bytes
-rw-r--r--toolkit/themes/shared/icons/loading@2x.pngbin0 -> 40165 bytes
-rw-r--r--toolkit/themes/shared/in-content/check-partial.svg28
-rw-r--r--toolkit/themes/shared/in-content/check.svg28
-rw-r--r--toolkit/themes/shared/in-content/common.inc.css830
-rw-r--r--toolkit/themes/shared/in-content/dropdown.svg22
-rw-r--r--toolkit/themes/shared/in-content/help-glyph.svg28
-rw-r--r--toolkit/themes/shared/in-content/info-pages.inc.css109
-rw-r--r--toolkit/themes/shared/in-content/radio.svg22
-rw-r--r--toolkit/themes/shared/incontent-icons/blocked.svg13
-rw-r--r--toolkit/themes/shared/incontent-icons/info.svg8
-rw-r--r--toolkit/themes/shared/incontent-icons/warning.svg13
-rw-r--r--toolkit/themes/shared/jar.inc.mn99
-rw-r--r--toolkit/themes/shared/media/TopLevelImageDocument.css17
-rw-r--r--toolkit/themes/shared/media/TopLevelVideoDocument.css12
-rw-r--r--toolkit/themes/shared/media/clicktoplay-bgtexture.pngbin0 -> 5940 bytes
-rw-r--r--toolkit/themes/shared/media/closeCaptionButton.pngbin0 -> 583 bytes
-rw-r--r--toolkit/themes/shared/media/closeCaptionButton@2x.pngbin0 -> 1335 bytes
-rw-r--r--toolkit/themes/shared/media/error.pngbin0 -> 433 bytes
-rw-r--r--toolkit/themes/shared/media/fullscreenButton.pngbin0 -> 733 bytes
-rw-r--r--toolkit/themes/shared/media/fullscreenButton@2x.pngbin0 -> 1759 bytes
-rw-r--r--toolkit/themes/shared/media/imagedoc-darknoise.pngbin0 -> 3050 bytes
-rw-r--r--toolkit/themes/shared/media/imagedoc-lightnoise.pngbin0 -> 4025 bytes
-rw-r--r--toolkit/themes/shared/media/muteButton.pngbin0 -> 619 bytes
-rw-r--r--toolkit/themes/shared/media/muteButton@2x.pngbin0 -> 1185 bytes
-rw-r--r--toolkit/themes/shared/media/noAudio.pngbin0 -> 930 bytes
-rw-r--r--toolkit/themes/shared/media/noAudio@2x.pngbin0 -> 1756 bytes
-rw-r--r--toolkit/themes/shared/media/pauseButton.pngbin0 -> 269 bytes
-rw-r--r--toolkit/themes/shared/media/pauseButton@2x.pngbin0 -> 434 bytes
-rw-r--r--toolkit/themes/shared/media/playButton.pngbin0 -> 448 bytes
-rw-r--r--toolkit/themes/shared/media/playButton@2x.pngbin0 -> 831 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumb.pngbin0 -> 562 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumb@2x.pngbin0 -> 1354 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumbWide.pngbin0 -> 563 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumbWide@2x.pngbin0 -> 1396 bytes
-rw-r--r--toolkit/themes/shared/media/stalled.pngbin0 -> 20763 bytes
-rw-r--r--toolkit/themes/shared/media/throbber.pngbin0 -> 30718 bytes
-rw-r--r--toolkit/themes/shared/media/unmuteButton.pngbin0 -> 324 bytes
-rw-r--r--toolkit/themes/shared/media/unmuteButton@2x.pngbin0 -> 542 bytes
-rw-r--r--toolkit/themes/shared/media/videoClickToPlayButton.svg30
-rw-r--r--toolkit/themes/shared/media/videocontrols.css440
-rw-r--r--toolkit/themes/shared/media/volume-empty.pngbin0 -> 295 bytes
-rw-r--r--toolkit/themes/shared/media/volume-empty@2x.pngbin0 -> 268 bytes
-rw-r--r--toolkit/themes/shared/media/volume-full.pngbin0 -> 297 bytes
-rw-r--r--toolkit/themes/shared/media/volume-full@2x.pngbin0 -> 267 bytes
-rw-r--r--toolkit/themes/shared/menu-check-active.svg7
-rw-r--r--toolkit/themes/shared/menu-check-black.svg7
-rw-r--r--toolkit/themes/shared/menu-check-hover.svg7
-rw-r--r--toolkit/themes/shared/menu-check.pngbin0 -> 197 bytes
-rw-r--r--toolkit/themes/shared/menu-check@2x.pngbin0 -> 377 bytes
-rw-r--r--toolkit/themes/shared/mozapps.inc.mn28
-rw-r--r--toolkit/themes/shared/narrate.css46
-rw-r--r--toolkit/themes/shared/narrate/arrow.svg3
-rw-r--r--toolkit/themes/shared/narrate/back.svg15
-rw-r--r--toolkit/themes/shared/narrate/fast.svg3
-rw-r--r--toolkit/themes/shared/narrate/forward.svg15
-rw-r--r--toolkit/themes/shared/narrate/slow.svg6
-rw-r--r--toolkit/themes/shared/narrate/start.svg3
-rw-r--r--toolkit/themes/shared/narrate/stop.svg3
-rw-r--r--toolkit/themes/shared/narrateControls.css185
-rw-r--r--toolkit/themes/shared/non-mac.jar.inc.mn141
-rw-r--r--toolkit/themes/shared/passwordmgr.css26
-rw-r--r--toolkit/themes/shared/places/defaultFavicon-inverted.pngbin0 -> 452 bytes
-rw-r--r--toolkit/themes/shared/places/defaultFavicon-inverted@2x.pngbin0 -> 1005 bytes
-rw-r--r--toolkit/themes/shared/places/defaultFavicon.pngbin0 -> 485 bytes
-rw-r--r--toolkit/themes/shared/places/defaultFavicon@2x.pngbin0 -> 1146 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginActivate.pngbin0 -> 3043 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginBlocked.pngbin0 -> 1514 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginClose.pngbin0 -> 1370 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginCrashed.pngbin0 -> 1470 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginDisabled.pngbin0 -> 1620 bytes
-rw-r--r--toolkit/themes/shared/plugins/contentPluginStripe.pngbin0 -> 460 bytes
-rw-r--r--toolkit/themes/shared/plugins/pluginProblem.css206
-rw-r--r--toolkit/themes/shared/reader/RM-Close-24x24.svg23
-rw-r--r--toolkit/themes/shared/reader/RM-Content-Width-Minus-42x16.svg19
-rw-r--r--toolkit/themes/shared/reader/RM-Content-Width-Plus-44x16.svg19
-rw-r--r--toolkit/themes/shared/reader/RM-Line-Height-Minus-38x14.svg20
-rw-r--r--toolkit/themes/shared/reader/RM-Line-Height-Plus-38x24.svg20
-rw-r--r--toolkit/themes/shared/reader/RM-Minus-24x24.svg7
-rw-r--r--toolkit/themes/shared/reader/RM-Plus-24x24.svg7
-rw-r--r--toolkit/themes/shared/reader/RM-Type-Controls-24x24.svg7
-rw-r--r--toolkit/themes/shared/reader/RM-Type-Controls-Arrow.svg8
-rw-r--r--toolkit/themes/shared/timepicker.css153
-rw-r--r--toolkit/themes/windows/global/alerts/alert.css53
-rw-r--r--toolkit/themes/windows/global/arrow.css50
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-dn-dis.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-dn-hov.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-dn-sharp.gifbin0 -> 59 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-dn.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-down.pngbin0 -> 170 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-lft-dis.gifbin0 -> 47 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-lft-sharp-end.gifbin0 -> 64 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-lft-sharp.gifbin0 -> 60 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-lft.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-rit-dis.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-rit-sharp-end.gifbin0 -> 64 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-rit-sharp.gifbin0 -> 60 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-rit.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-up-dis.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-up-hov.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-up-sharp.gifbin0 -> 59 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/arrow-up.gifbin0 -> 54 bytes
-rw-r--r--toolkit/themes/windows/global/arrow/panelarrow-horizontal-themed.svg8
-rw-r--r--toolkit/themes/windows/global/arrow/panelarrow-horizontal.svg8
-rw-r--r--toolkit/themes/windows/global/arrow/panelarrow-vertical-themed.svg8
-rw-r--r--toolkit/themes/windows/global/arrow/panelarrow-vertical.svg8
-rw-r--r--toolkit/themes/windows/global/autocomplete.css179
-rw-r--r--toolkit/themes/windows/global/button.css158
-rw-r--r--toolkit/themes/windows/global/checkbox.css86
-rw-r--r--toolkit/themes/windows/global/checkbox/cbox-check-dis.gifbin0 -> 60 bytes
-rw-r--r--toolkit/themes/windows/global/checkbox/cbox-check.gifbin0 -> 62 bytes
-rw-r--r--toolkit/themes/windows/global/colorpicker.css48
-rw-r--r--toolkit/themes/windows/global/commonDialog.css8
-rw-r--r--toolkit/themes/windows/global/customizeToolbar.css23
-rw-r--r--toolkit/themes/windows/global/datetimepicker.css147
-rw-r--r--toolkit/themes/windows/global/dialog.css74
-rw-r--r--toolkit/themes/windows/global/dirListing/dirListing.css113
-rw-r--r--toolkit/themes/windows/global/dirListing/folder-XP.pngbin0 -> 446 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/folder.pngbin0 -> 572 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/local-XP.pngbin0 -> 688 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/local.pngbin0 -> 655 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/remote-XP.pngbin0 -> 558 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/remote.pngbin0 -> 574 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/up-XP.pngbin0 -> 607 bytes
-rw-r--r--toolkit/themes/windows/global/dirListing/up.pngbin0 -> 711 bytes
-rw-r--r--toolkit/themes/windows/global/dropmarker.css35
-rw-r--r--toolkit/themes/windows/global/expander.css14
-rw-r--r--toolkit/themes/windows/global/filefield.css36
-rw-r--r--toolkit/themes/windows/global/findBar.css160
-rw-r--r--toolkit/themes/windows/global/global.css404
-rw-r--r--toolkit/themes/windows/global/globalBindings.xml55
-rw-r--r--toolkit/themes/windows/global/groupbox.css37
-rw-r--r--toolkit/themes/windows/global/icons/Close.gifbin0 -> 59 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Error-XP.pngbin0 -> 1477 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Error.pngbin0 -> 2148 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Landscape-XP.pngbin0 -> 801 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Landscape.pngbin0 -> 485 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Minimize.gifbin0 -> 53 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Portrait-XP.pngbin0 -> 837 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Portrait.pngbin0 -> 540 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Print-preview-XP.pngbin0 -> 715 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Print-preview.pngbin0 -> 514 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Question-XP.pngbin0 -> 1693 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Question.pngbin0 -> 2257 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Restore.gifbin0 -> 61 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Search-close-XP.pngbin0 -> 586 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Search-close.pngbin0 -> 685 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Search-glass-XP.pngbin0 -> 1448 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Search-glass.pngbin0 -> 1350 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Warning-XP.pngbin0 -> 1269 bytes
-rw-r--r--toolkit/themes/windows/global/icons/Warning.pngbin0 -> 1623 bytes
-rw-r--r--toolkit/themes/windows/global/icons/autocomplete-search.svg22
-rw-r--r--toolkit/themes/windows/global/icons/autoscroll-XP.pngbin0 -> 2305 bytes
-rw-r--r--toolkit/themes/windows/global/icons/autoscroll.pngbin0 -> 3275 bytes
-rw-r--r--toolkit/themes/windows/global/icons/blacklist_favicon-XP.pngbin0 -> 603 bytes
-rw-r--r--toolkit/themes/windows/global/icons/blacklist_favicon.pngbin0 -> 607 bytes
-rw-r--r--toolkit/themes/windows/global/icons/blacklist_large-XP.pngbin0 -> 3587 bytes
-rw-r--r--toolkit/themes/windows/global/icons/blacklist_large.pngbin0 -> 4740 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-XPVista7.pngbin0 -> 931 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-XPVista7@2x.pngbin0 -> 2031 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-inverted-XPVista7.pngbin0 -> 855 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-inverted-XPVista7@2x.pngbin0 -> 1865 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-inverted.pngbin0 -> 598 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close-inverted@2x.pngbin0 -> 1207 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close.pngbin0 -> 572 bytes
-rw-r--r--toolkit/themes/windows/global/icons/close@2x.pngbin0 -> 1160 bytes
-rw-r--r--toolkit/themes/windows/global/icons/collapse.pngbin0 -> 238 bytes
-rw-r--r--toolkit/themes/windows/global/icons/error-16-XP.pngbin0 -> 722 bytes
-rw-r--r--toolkit/themes/windows/global/icons/error-16.pngbin0 -> 926 bytes
-rw-r--r--toolkit/themes/windows/global/icons/error-64-XP.pngbin0 -> 3914 bytes
-rw-r--r--toolkit/themes/windows/global/icons/error-64.pngbin0 -> 5590 bytes
-rw-r--r--toolkit/themes/windows/global/icons/expand.pngbin0 -> 240 bytes
-rw-r--r--toolkit/themes/windows/global/icons/find-arrows.pngbin0 -> 540 bytes
-rw-r--r--toolkit/themes/windows/global/icons/folder-item-XP.pngbin0 -> 1602 bytes
-rw-r--r--toolkit/themes/windows/global/icons/folder-item.pngbin0 -> 1302 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-16-XP.pngbin0 -> 769 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-16.pngbin0 -> 648 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-24-XP.pngbin0 -> 1244 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-24.pngbin0 -> 1477 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-32-XP.pngbin0 -> 1609 bytes
-rw-r--r--toolkit/themes/windows/global/icons/information-32.pngbin0 -> 2080 bytes
-rw-r--r--toolkit/themes/windows/global/icons/question-16-XP.pngbin0 -> 854 bytes
-rw-r--r--toolkit/themes/windows/global/icons/question-16.pngbin0 -> 759 bytes
-rw-r--r--toolkit/themes/windows/global/icons/question-64-XP.pngbin0 -> 4204 bytes
-rw-r--r--toolkit/themes/windows/global/icons/question-64.pngbin0 -> 5181 bytes
-rw-r--r--toolkit/themes/windows/global/icons/resizer-rtl.pngbin0 -> 202 bytes
-rw-r--r--toolkit/themes/windows/global/icons/resizer.pngbin0 -> 197 bytes
-rw-r--r--toolkit/themes/windows/global/icons/sslWarning-XP.pngbin0 -> 3860 bytes
-rw-r--r--toolkit/themes/windows/global/icons/sslWarning.pngbin0 -> 4608 bytes
-rw-r--r--toolkit/themes/windows/global/icons/tabprompts-bgtexture.pngbin0 -> 1751 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-16-XP.pngbin0 -> 563 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-16.pngbin0 -> 780 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-64-XP.pngbin0 -> 3525 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-64.pngbin0 -> 4086 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-large-XP.pngbin0 -> 2125 bytes
-rw-r--r--toolkit/themes/windows/global/icons/warning-large.pngbin0 -> 2603 bytes
-rw-r--r--toolkit/themes/windows/global/icons/windowControls-XP.pngbin0 -> 2060 bytes
-rw-r--r--toolkit/themes/windows/global/icons/windowControls.pngbin0 -> 3001 bytes
-rw-r--r--toolkit/themes/windows/global/in-content/common.css82
-rw-r--r--toolkit/themes/windows/global/in-content/info-pages.css1
-rw-r--r--toolkit/themes/windows/global/jar.mn140
-rw-r--r--toolkit/themes/windows/global/linkTree.css32
-rw-r--r--toolkit/themes/windows/global/listbox.css240
-rw-r--r--toolkit/themes/windows/global/menu.css293
-rw-r--r--toolkit/themes/windows/global/menulist.css143
-rw-r--r--toolkit/themes/windows/global/moz.build10
-rw-r--r--toolkit/themes/windows/global/netError.css146
-rw-r--r--toolkit/themes/windows/global/notification.css215
-rw-r--r--toolkit/themes/windows/global/numberbox.css24
-rw-r--r--toolkit/themes/windows/global/popup.css159
-rw-r--r--toolkit/themes/windows/global/preferences.css76
-rw-r--r--toolkit/themes/windows/global/printPageSetup.css11
-rw-r--r--toolkit/themes/windows/global/printPreview.css21
-rw-r--r--toolkit/themes/windows/global/progressmeter.css43
-rw-r--r--toolkit/themes/windows/global/radio.css100
-rw-r--r--toolkit/themes/windows/global/radio/radio-check-dis.gifbin0 -> 46 bytes
-rw-r--r--toolkit/themes/windows/global/radio/radio-check.gifbin0 -> 46 bytes
-rw-r--r--toolkit/themes/windows/global/resizer.css49
-rw-r--r--toolkit/themes/windows/global/richlistbox.css36
-rw-r--r--toolkit/themes/windows/global/scale.css50
-rw-r--r--toolkit/themes/windows/global/scale/scale-tray-horiz.gifbin0 -> 50 bytes
-rw-r--r--toolkit/themes/windows/global/scale/scale-tray-vert.gifbin0 -> 50 bytes
-rw-r--r--toolkit/themes/windows/global/scrollbar/slider.gifbin0 -> 44 bytes
-rw-r--r--toolkit/themes/windows/global/scrollbox.css100
-rw-r--r--toolkit/themes/windows/global/spinbuttons.css65
-rw-r--r--toolkit/themes/windows/global/splitter.css135
-rw-r--r--toolkit/themes/windows/global/splitter/grip-bottom.gifbin0 -> 145 bytes
-rw-r--r--toolkit/themes/windows/global/splitter/grip-left.gifbin0 -> 157 bytes
-rw-r--r--toolkit/themes/windows/global/splitter/grip-right.gifbin0 -> 157 bytes
-rw-r--r--toolkit/themes/windows/global/splitter/grip-top.gifbin0 -> 144 bytes
-rw-r--r--toolkit/themes/windows/global/tabbox.css133
-rw-r--r--toolkit/themes/windows/global/tabprompts.css27
-rw-r--r--toolkit/themes/windows/global/textbox.css120
-rw-r--r--toolkit/themes/windows/global/throbber/Throbber-small.gifbin0 -> 825 bytes
-rw-r--r--toolkit/themes/windows/global/toolbar.css120
-rw-r--r--toolkit/themes/windows/global/toolbar/chevron-inverted.pngbin0 -> 85 bytes
-rw-r--r--toolkit/themes/windows/global/toolbar/chevron.gifbin0 -> 57 bytes
-rw-r--r--toolkit/themes/windows/global/toolbar/spring-XP.pngbin0 -> 440 bytes
-rw-r--r--toolkit/themes/windows/global/toolbar/spring.pngbin0 -> 436 bytes
-rw-r--r--toolkit/themes/windows/global/toolbarbutton.css180
-rw-r--r--toolkit/themes/windows/global/tree.css603
-rw-r--r--toolkit/themes/windows/global/tree/columnpicker.gifbin0 -> 74 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-asc-XP.pngbin0 -> 161 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-asc-classic.pngbin0 -> 182 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-asc.pngbin0 -> 209 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-dsc-XP.pngbin0 -> 155 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-dsc-classic.pngbin0 -> 173 bytes
-rw-r--r--toolkit/themes/windows/global/tree/sort-dsc.pngbin0 -> 215 bytes
-rw-r--r--toolkit/themes/windows/global/tree/twisty-Vista78.svg39
-rw-r--r--toolkit/themes/windows/global/tree/twisty-XP.svg33
-rw-r--r--toolkit/themes/windows/global/tree/twisty.svg35
-rw-r--r--toolkit/themes/windows/global/wizard.css54
-rw-r--r--toolkit/themes/windows/global/xulscrollbars.css235
-rw-r--r--toolkit/themes/windows/moz.build8
-rw-r--r--toolkit/themes/windows/mozapps/downloads/downloadButtons-XP.pngbin0 -> 3243 bytes
-rw-r--r--toolkit/themes/windows/mozapps/downloads/downloadButtons.pngbin0 -> 5148 bytes
-rw-r--r--toolkit/themes/windows/mozapps/downloads/downloadIcon-XP.pngbin0 -> 1376 bytes
-rw-r--r--toolkit/themes/windows/mozapps/downloads/downloadIcon.pngbin0 -> 1384 bytes
-rw-r--r--toolkit/themes/windows/mozapps/downloads/downloads.css139
-rw-r--r--toolkit/themes/windows/mozapps/downloads/unknownContentType.css31
-rw-r--r--toolkit/themes/windows/mozapps/extensions/about.css91
-rw-r--r--toolkit/themes/windows/mozapps/extensions/blocklist.css20
-rw-r--r--toolkit/themes/windows/mozapps/extensions/cancel.pngbin0 -> 115 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-available-XP.pngbin0 -> 1671 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-available.pngbin0 -> 2235 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-discover-XP.pngbin0 -> 1324 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-discover.pngbin0 -> 1355 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-plugins-XP.pngbin0 -> 886 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-plugins.pngbin0 -> 962 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-recent-XP.pngbin0 -> 1642 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-recent.pngbin0 -> 2251 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-search.pngbin0 -> 2600 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/category-service.pngbin0 -> 2063 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/dictionaryGeneric-16.pngbin0 -> 733 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/dictionaryGeneric.pngbin0 -> 1665 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/discover-logo.pngbin0 -> 12007 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/eula.css47
-rw-r--r--toolkit/themes/windows/mozapps/extensions/experimentGeneric.pngbin0 -> 822 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/extensionGeneric-16-XP.pngbin0 -> 398 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/extensionGeneric-16.pngbin0 -> 418 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/extensions.css42
-rw-r--r--toolkit/themes/windows/mozapps/extensions/heart.pngbin0 -> 2949 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/localeGeneric-XP.pngbin0 -> 2410 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/localeGeneric.pngbin0 -> 2518 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/newaddon.css5
-rw-r--r--toolkit/themes/windows/mozapps/extensions/rating-not-won.pngbin0 -> 1559 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/rating-won.pngbin0 -> 1662 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/themeGeneric-16-XP.pngbin0 -> 842 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/themeGeneric-16.pngbin0 -> 837 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/themeGeneric-XP.pngbin0 -> 2185 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/themeGeneric.pngbin0 -> 2094 bytes
-rw-r--r--toolkit/themes/windows/mozapps/extensions/update.css28
-rw-r--r--toolkit/themes/windows/mozapps/extensions/xpinstallConfirm.css101
-rw-r--r--toolkit/themes/windows/mozapps/handling/handling.css30
-rw-r--r--toolkit/themes/windows/mozapps/jar.mn65
-rw-r--r--toolkit/themes/windows/mozapps/moz.build7
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginBlocked-64.pngbin0 -> 3427 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginBlocked-XP.pngbin0 -> 1230 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginBlocked.pngbin0 -> 1200 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginGeneric-16-XP.pngbin0 -> 544 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginGeneric-16.pngbin0 -> 539 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginGeneric-XP.pngbin0 -> 895 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginGeneric.pngbin0 -> 971 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginHelp-16.pngbin0 -> 620 bytes
-rw-r--r--toolkit/themes/windows/mozapps/plugins/pluginInstallerWizard.css12
-rw-r--r--toolkit/themes/windows/mozapps/profile/profileSelection.css25
-rw-r--r--toolkit/themes/windows/mozapps/profile/profileicon-XP.pngbin0 -> 826 bytes
-rw-r--r--toolkit/themes/windows/mozapps/profile/profileicon.pngbin0 -> 846 bytes
-rw-r--r--toolkit/themes/windows/mozapps/update/downloadButtons-XP.pngbin0 -> 3243 bytes
-rw-r--r--toolkit/themes/windows/mozapps/update/downloadButtons.pngbin0 -> 5148 bytes
-rw-r--r--toolkit/themes/windows/mozapps/update/updates.css147
-rw-r--r--toolkit/themes/windows/mozapps/viewsource/viewsource.css5
651 files changed, 22942 insertions, 0 deletions
diff --git a/toolkit/themes/LICENSE b/toolkit/themes/LICENSE
new file mode 100644
index 0000000000..39d4f8fdf5
--- /dev/null
+++ b/toolkit/themes/LICENSE
@@ -0,0 +1,2 @@
+All files in this directory are assumed to be licensed under the MPL 2 license
+which is used throughout this codebase.
diff --git a/toolkit/themes/faststripe/global/button.css b/toolkit/themes/faststripe/global/button.css
new file mode 100644
index 0000000000..39f3227119
--- /dev/null
+++ b/toolkit/themes/faststripe/global/button.css
@@ -0,0 +1,125 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== button.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* :::::::::: button :::::::::: */
+
+button {
+ /*-moz-appearance: button;*/
+ margin: 3px 7px 3px 7px;
+ min-width: 6.3em;
+ border: 1px solid;
+ border-color: #555555;
+ background-color: #eeeeee;
+ color: black;
+ border-radius: 3px 3px;
+}
+
+.button-box {
+ border: 1px solid transparent;
+ padding-top: 1px;
+ padding-bottom: 2px;
+ padding-inline-start: 3px;
+ padding-inline-end: 4px;
+}
+
+.button-text {
+ margin: 0 !important;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus {
+}
+
+button:focus > .button-box {
+ border: 1px dotted black;
+}
+
+/* .......... default state .......... */
+
+button[default="true"] {
+ margin: 1px 5px 1px 5px;
+ border-width: 2px;
+ border-radius: 3px 3px;
+ border-color: black;
+}
+
+/* .......... active/open/checked state .......... */
+
+button:hover:active,
+button[open="true"],
+button[checked="true"] {
+ border-color: black;
+ background: #777777;
+}
+
+/* .......... disabled state .......... */
+
+button[disabled="true"] {
+ border-color: #dddddd;
+ color: gray;
+}
+
+button[disabled="true"] > .button-box {
+ padding-top: 1px !important;
+ padding-bottom: 2px !important;
+ padding-inline-start: 3px !important;
+ padding-inline-end: 4px !important;
+}
+
+/* ::::: menu/menu-button buttons ::::: */
+
+button[type="menu-button"] {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 0;
+ border: none;
+}
+
+.button-menu-dropmarker,
+.button-menubutton-dropmarker {
+ -moz-appearance: none !important;
+ margin: 1px;
+ background-color: transparent !important;
+ border: none !important;
+ min-width:11px;
+ min-height:11px;
+}
+
+.button-menubutton-dropmarker[open="true"] {
+ margin-top: 2px;
+ margin-bottom: 0px;
+ margin-inline-start: 2px;
+ margin-inline-end: 0px;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+}
+
+button[type="disclosure"] {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+ list-style-image: url("chrome://global/skin/tree/twisty-clsd.png");
+ min-width: 0px !important;
+ background-color: transparent;
+}
+
+button[type="disclosure"][open="true"] {
+ list-style-image: url("chrome://global/skin/tree/twisty-open.png");
+}
+
+
diff --git a/toolkit/themes/faststripe/global/checkbox.css b/toolkit/themes/faststripe/global/checkbox.css
new file mode 100644
index 0000000000..716ffd7f30
--- /dev/null
+++ b/toolkit/themes/faststripe/global/checkbox.css
@@ -0,0 +1,81 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== checkbox.css ===================================================
+ == Styles used by the XUL checkbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: checkbox ::::: */
+
+checkbox {
+ -moz-box-align: center;
+ margin: 2px 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+}
+
+.checkbox-label-box {
+ margin-inline-start: 2px;
+ border: 1px solid transparent;
+ padding: 0px 1px;
+}
+
+.checkbox-icon {
+ margin-inline-end: 2px;
+}
+
+.checkbox-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+checkbox:focus > .checkbox-label-box {
+ border: 1px dotted gray;
+}
+
+/* ..... disabled state ..... */
+
+checkbox[disabled="true"] > .checkbox-check {
+ background-color: gray;
+}
+
+checkbox[disabled="true"] {
+ color: GrayText;
+}
+
+checkbox[disabled="true"]:-moz-system-metric(windows-classic) {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+}
+
+/* ::::: checkmark image ::::: */
+
+.checkbox-check {
+ -moz-box-align: center;
+ border: 1px solid #555555;
+ min-width: 13px;
+ min-height: 13px;
+ background: white;
+ background: white no-repeat 50% 50%;
+}
+
+checkbox:hover:active > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+/* ..... checked state ..... */
+
+checkbox[checked="true"] > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+
+checkbox[checked="true"][disabled="true"] > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif") !important;
+}
+
diff --git a/toolkit/themes/faststripe/global/dropmarker.css b/toolkit/themes/faststripe/global/dropmarker.css
new file mode 100644
index 0000000000..900d29515f
--- /dev/null
+++ b/toolkit/themes/faststripe/global/dropmarker.css
@@ -0,0 +1,27 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+dropmarker {
+ width: 16px;
+ height: 16px;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ background-color: transparent;
+ padding: 1px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+ -moz-image-region: auto;
+}
+
+dropmarker:hover:active {
+ background: #aaaaaa;
+ padding-top: 2px;
+ padding-bottom: 0px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+dropmarker[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+ padding: 1px !important;
+}
diff --git a/toolkit/themes/faststripe/global/groupbox.css b/toolkit/themes/faststripe/global/groupbox.css
new file mode 100644
index 0000000000..ae1e80fc94
--- /dev/null
+++ b/toolkit/themes/faststripe/global/groupbox.css
@@ -0,0 +1,37 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== groupbox.css ==================================================
+ == Styles used by the XUL groupbox and related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: groupbox ::::: */
+
+groupbox {
+ -moz-appearance: groupbox;
+ border: 1px solid gray;
+ border-radius: 3px;
+ margin: 3px;
+ padding: 3px 3px 6px 3px;
+}
+
+.groupbox-body {
+ padding: inherit;
+}
+
+caption {
+ margin: 0px 6px 0px 6px;
+ background-color: -moz-Dialog;
+}
+
+tabpanels caption {
+ -moz-appearance: tabpanel;
+}
+
+/* !important is needed to override label in global.css */
+.caption-text {
+ margin: 0 2px !important;
+}
diff --git a/toolkit/themes/faststripe/global/jar.mn b/toolkit/themes/faststripe/global/jar.mn
new file mode 100644
index 0000000000..84cc90cd3f
--- /dev/null
+++ b/toolkit/themes/faststripe/global/jar.mn
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+% skin global classic/1.0 %skin/classic/global/
+# These are the CSS files that have been changed from windows
+ skin/classic/global/button.css
+ skin/classic/global/checkbox.css
+ skin/classic/global/dropmarker.css
+ skin/classic/global/groupbox.css
+ skin/classic/global/menu.css
+ skin/classic/global/menulist.css
+ skin/classic/global/popup.css
+ skin/classic/global/radio.css
+ skin/classic/global/tabbox.css
+ skin/classic/global/textbox.css
+ skin/classic/global/scrollbars.css (xulscrollbars.css)
diff --git a/toolkit/themes/faststripe/global/menu.css b/toolkit/themes/faststripe/global/menu.css
new file mode 100644
index 0000000000..4f58205228
--- /dev/null
+++ b/toolkit/themes/faststripe/global/menu.css
@@ -0,0 +1,234 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menu.css =======================================================
+ == Styles used by XUL menu-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menu/menuitem ::::: */
+
+menu,
+menuitem {
+ -moz-appearance: menuitem;
+ -moz-box-align: center;
+ color: MenuText;
+ font: menu;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
+
+menuitem[default="true"] {
+ font-weight: bold;
+}
+
+menu[disabled="true"], menuitem[disabled="true"],
+menu[_moz-menuactive="true"][disabled="true"],
+menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+}
+
+menuitem.spell-suggestion {
+ font-weight:bold;
+}
+
+/* ..... internal content .... */
+
+.menu-accel,
+.menu-iconic-accel,
+.menu-text,
+.menu-iconic-text {
+ margin: 0px !important;
+ padding: 1px 0px;
+ color: inherit;
+}
+
+.menu-text {
+ padding-inline-start: 1.45em !important;
+ -moz-appearance: menuitemtext;
+}
+
+.menu-text,
+.menu-iconic-text {
+ font-weight: inherit;
+ margin-inline-start: 2px !important;
+ padding-inline-end: 2px;
+}
+
+.menu-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+.menu-accel,
+.menu-iconic-accel {
+ color: inherit;
+ margin-inline-start: 0.74em !important;
+ margin-inline-end: 1.35em !important;
+}
+
+.menu-iconic-left {
+ min-width: 1.45em;
+}
+
+.menu-iconic-icon {
+ width: 16px;
+ height: 16px;
+}
+
+menu.menu-iconic > .menu-iconic-left,
+menuitem.menuitem-iconic > .menu-iconic-left,
+menu.menu-iconic > .menu-iconic-right,
+menuitem.menuitem-iconic > .menu-iconic-right {
+ -moz-appearance: menuimage;
+ padding-top: 2px;
+}
+
+/* ..... menu arrow box ..... */
+
+.menu-right {
+ margin-inline-end: -2px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-sharp.gif");
+ -moz-box-pack: center;
+ min-width: 1.28em;
+ padding-top: 1px;
+}
+
+.menu-right[_moz-menuactive="true"],
+.menu-right[disabled="true"] {
+ /* XXXzpao We need a new image, essentially arrow-rit-sharp but white
+ * disabled=true should probably have a different image. */
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
+
+/* ::::: menu/menuitems in menubar ::::: */
+
+menubar > menu {
+ padding: 1px 2px 2px 2px;
+}
+menubar > menu[_moz-menuactive="true"],
+menubar > menu[_moz-menuactive="true"][open="true"] {
+ color: -moz-menubarhovertext;
+ background-color: highlight;
+}
+
+/* ..... internal content .... */
+
+.menubar-left {
+ color: inherit;
+}
+
+.menubar-text {
+ margin: 1px 6px 2px 6px !important;
+ color: inherit;
+}
+
+/* ::::: menu/menuitems in popups ::::: */
+
+menupopup > menu,
+popup > menu,
+menupopup > menuitem,
+popup > menuitem {
+ padding-bottom: 1px;
+ max-width: 42em;
+}
+
+menu[_moz-menuactive="true"],
+menuitem[_moz-menuactive="true"] {
+ background-color: -moz-menuhover;
+ color: -moz-menuhovertext;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menu {
+ -moz-appearance: none;
+ border: 1px solid transparent;
+ padding: 1px 5px;
+ max-width: none;
+ font: message-box;
+ color: -moz-FieldText;
+}
+
+menulist > menupopup > menuitem > .menu-iconic-left,
+menulist > menupopup > menu > .menu-iconic-left {
+ display: none;
+}
+
+menulist > menupopup > menuitem > label,
+menulist > menupopup > menu > label {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+menulist > menupopup > menuitem[_moz-menuactive="true"] {
+ border: 1px dotted #F5DB95;
+ background-color: highlight;
+ color: highlighttext;
+}
+
+menulist > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+}
+
+menulist > menupopup > menuitem[disabled="true"]:not([_moz-menuactive="true"]):-moz-system-metric(windows-classic) {
+ color: GrayText;
+ text-shadow: none;
+}
+
+menulist > menupopup > menuitem > .menu-iconic-text {
+ margin: 0 !important;
+}
+
+/* ::::: checkbox and radio menuitems ::::: */
+
+menuitem[checked="true"] > .menu-iconic-left {
+ list-style-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+menuitem[checked="true"] > .menu-iconic-left[_moz-menuactive="true"],
+menuitem[checked="true"][disabled="true"] > .menu-iconic-left {
+ /* XXXzpao We need another image for here too.
+ * disabled=true should probably have a different image. */
+ list-style-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
+}
+
+menuitem[type="radio"][checked="true"] > .menu-iconic-left {
+ list-style-image: url("chrome://global/skin/radio/radio-check.gif");
+}
+menuitem[type="radio"][checked="true"] > .menu-iconic-left[_moz-menuactive="true"],
+menuitem[type="radio"][checked="true"][disabled="true"] > .menu-iconic-left {
+ /* XXXzpao We need another image for here too
+ * disabled=true might need another image. Not sure if that can ever happen though. */
+ list-style-image: url("chrome://global/skin/radio/radio-check-dis.gif");
+}
+
+menuitem[type="checkbox"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[type="radio"] > .menu-iconic-left > .menu-iconic-icon {
+ padding-top: 0px;
+ height: auto;
+ width: auto;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ margin: 3px 1px 5px 1px;
+ border-bottom: 1px solid gray;
+}
+
+menulist > menupopup > menuseparator {
+ padding: 6px 0 5px 0;
+ border-top: 1px solid black;
+}
+
+/* ::::: autocomplete ::::: */
+
+.autocomplete-history-popup > menuitem {
+ max-width: none !important;
+ font: message-box;
+}
diff --git a/toolkit/themes/faststripe/global/menulist.css b/toolkit/themes/faststripe/global/menulist.css
new file mode 100644
index 0000000000..8666a1ca8a
--- /dev/null
+++ b/toolkit/themes/faststripe/global/menulist.css
@@ -0,0 +1,95 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menulist.css ===================================================
+ == Styles used by the XUL menulist element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* :::::::::: menulist :::::::::: */
+
+menulist {
+ margin: 2px 4px;
+ border: 1px solid #555555;
+ background-color: white;
+ color: black;
+}
+
+.menulist-label-box {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 1px;
+}
+
+.menulist-label-box,
+menulist[open="true"]:focus > .menulist-label-box {
+ border: 1px solid transparent;
+ background-color: transparent;
+ color: inherit;
+ -moz-box-align: center;
+}
+
+.menulist-icon[src] {
+ margin: 0px 2px 0px 2px;
+}
+
+.menulist-label {
+ margin-top: 0 !important;
+ margin-inline-end: 0 !important;
+ margin-bottom: 0 !important;
+ margin-inline-start: 1px !important;
+}
+
+.menulist-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+/* ..... dropmarker ..... */
+
+menulist[disabled="true"]:hover:active > .menulist-dropmarker {
+ padding: 1px;
+}
+
+menulist:hover:active > .menulist-dropmarker {
+ padding-top: 2px;
+ padding-bottom: 0px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+/* ..... focused state ..... */
+
+menulist:focus > .menulist-label-box {
+ border: 1px dotted #F5DB95;
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+/* ..... disabled state ..... */
+
+menulist[disabled="true"] {
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: editable menulists ::::: */
+
+.menulist-editable-box {
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+html|*.menulist-editable-input {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px !important;
+ background: inherit;
+ font: inherit;
+}
diff --git a/toolkit/themes/faststripe/global/moz.build b/toolkit/themes/faststripe/global/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/faststripe/global/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/faststripe/global/popup.css b/toolkit/themes/faststripe/global/popup.css
new file mode 100644
index 0000000000..b321347f81
--- /dev/null
+++ b/toolkit/themes/faststripe/global/popup.css
@@ -0,0 +1,61 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== popup.css ===================================================
+ == Styles used by the XUL popup element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menupopup ::::: */
+
+menupopup,
+popup,
+panel {
+ border: 1px solid menutext;
+ padding: 2px;
+ min-width: 1px;
+ background: Menu;
+}
+
+menupopup,
+/* auto complete popups don't render well as vista menus */
+popup:not([type="autocomplete"])
+{
+ -moz-appearance: menupopup;
+}
+
+menupopup > menu > menupopup,
+popup > menu > menupopup {
+ /* align submenus */
+ margin-inline-start: -3px;
+ margin-top: -3px;
+}
+
+/* ::::: tooltip ::::: */
+
+tooltip {
+ margin-top: 21px;
+ border: 1px solid InfoText;
+ padding: 2px 3px;
+ max-width: 40em;
+ background-color: InfoBackground;
+ color: InfoText;
+ font: message-box;
+}
+
+tooltip[titletip="true"] {
+ /* See bug 32157 comment 128
+ * margin: -2px 0px 0px -3px;
+ */
+ max-width: none;
+}
+
+/* rules for popups associated with menulists */
+
+menulist > menupopup {
+ padding: 1px;
+ min-width: 0px;
+ background-color: -moz-Field;
+}
diff --git a/toolkit/themes/faststripe/global/radio.css b/toolkit/themes/faststripe/global/radio.css
new file mode 100644
index 0000000000..f2d399e3d5
--- /dev/null
+++ b/toolkit/themes/faststripe/global/radio.css
@@ -0,0 +1,89 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== radio.css ===================================================
+ == Styles used by the XUL radio element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: radio ::::: */
+
+radio {
+ -moz-appearance: radio-container;
+ -moz-box-align: center;
+ margin: 2px 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+}
+
+.radio-label-box {
+ margin-inline-start: 2px;
+ border: 1px solid transparent;
+ padding-top: 0px;
+ padding-bottom: 1px;
+ padding-inline-start: 1px;
+ padding-inline-end: 0px;
+}
+
+.radio-icon {
+ margin-inline-end: 2px;
+}
+
+.radio-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+radio[focused="true"] > .radio-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+radio[disabled="true"] > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+radio[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: checkmark image ::::: */
+
+.radio-check-box1 {
+ margin: 1px 0px;
+ border: 1px solid #555555;
+ border-radius: 50%;
+ width: 12px;
+ height: 12px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+.radio-check-box2 {
+ border: 1px solid #555555;
+ border-radius: 50%;
+ padding: 2px;
+ width: 4px;
+ height: 4px;
+ list-style-image: none;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+radio:hover:active > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+/* ..... selected state ..... */
+
+radio[selected="true"] > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check.gif");
+}
+
+radio[selected="true"][disabled="true"] > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check-dis.gif") !important
+}
diff --git a/toolkit/themes/faststripe/global/tabbox.css b/toolkit/themes/faststripe/global/tabbox.css
new file mode 100644
index 0000000000..dfe0275e15
--- /dev/null
+++ b/toolkit/themes/faststripe/global/tabbox.css
@@ -0,0 +1,122 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== tabbox.css =================================================
+ == Styles used by XUL tab-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: tabs ::::: */
+
+.tabs-left,
+.tabs-right {
+ border-bottom: 1px solid #555555;
+}
+
+/* ::::: tabpanels ::::: */
+
+tabpanels {
+ border-right: 1px solid #555555;
+ border-bottom: 1px solid #555555;
+ border-left: 1px solid #555555;
+ padding: 8px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ::::: tab ::::: */
+
+tab
+{
+ margin-top: 2px;
+ border-top: 1px solid #555555;
+ border-right: 1px solid #555555;
+ border-left: 1px solid #555555;
+ border-bottom: 1px solid #555555;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ padding: 1px 4px 2px 4px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+tab:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 1px;
+ border-bottom-right-radius: 0px;
+}
+
+.tab-text {
+ margin: 0 !important;
+}
+
+tab[visuallyselected="true"] {
+ margin-top: 0;
+ border-bottom-color: transparent;
+ padding: 1px 6px 4px 6px;
+}
+
+tab:focus > .tab-middle {
+ /* Don't specify the outline-color, we should always use initial value. */
+ outline: 1px dotted;
+}
+
+tab[beforeselected="true"]:not(:-moz-locale-dir(rtl)),
+tab[visuallyselected="true"]:-moz-locale-dir(rtl) + tab {
+ border-right: none;
+ border-top-right-radius: 0;
+}
+
+tab[visuallyselected="true"]:not(:-moz-locale-dir(rtl)) + tab,
+tab[beforeselected="true"]:-moz-locale-dir(rtl) {
+ border-left: none;
+ border-top-left-radius: 0;
+}
+
+tab:first-of-type[visuallyselected="true"] {
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+/* ::::: tab-bottom ::::::::::
+ :: Tabs that are attached to the bottom of a panel, but not necessarily
+ :: a tabpanels.
+ ::::: */
+
+.tab-bottom {
+ margin-top: 0;
+ margin-bottom: 2px;
+ border-top: 1px solid;
+ border-bottom: 1px solid #555555;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ padding: 2px 4px 1px 4px;
+}
+
+.tab-bottom[visuallyselected="true"] {
+ margin-bottom: 0;
+ -moz-border-top-colors: -moz-Dialog;
+ padding: 4px 6px 1px 6px;
+}
+
+.tab-bottom[beforeselected="true"]:not(:-moz-locale-dir(rtl)),
+.tab-bottom[visuallyselected="true"]:-moz-locale-dir(rtl) + .tab-bottom {
+ border-bottom-right-radius: 0;
+}
+
+.tab-bottom[visuallyselected="true"]:not(:-moz-locale-dir(rtl)) + .tab-bottom,
+.tab-bottom[beforeselected="true"]:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 0;
+}
+
+/* ::::: tabs-bottom ::::: */
+
+.tabs-bottom > .tabs-left,
+.tabs-bottom > .tabs-right {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: none;
+}
+
diff --git a/toolkit/themes/faststripe/global/textbox.css b/toolkit/themes/faststripe/global/textbox.css
new file mode 100644
index 0000000000..702f7040a9
--- /dev/null
+++ b/toolkit/themes/faststripe/global/textbox.css
@@ -0,0 +1,106 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== textbox.css ==================================================
+ == Styles used by the XUL textbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: textbox ::::: */
+
+textbox {
+ cursor: text;
+ margin: 2px 4px;
+ border: 1px solid #555555;
+ padding: 2px 2px 3px;
+ padding-inline-start: 4px;
+ background-color: white;
+ color: black;
+}
+
+html|*.textbox-input,
+html|*.textbox-textarea {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px 1px !important;
+ background-color: inherit;
+ color: inherit;
+ font: inherit;
+}
+
+.textbox-contextmenu {
+ cursor: default;
+}
+
+/* ..... readonly state ..... */
+
+textbox[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ..... disabled state ..... */
+
+textbox[disabled="true"] {
+ cursor: default;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: plain textbox ::::: */
+
+textbox.plain {
+ background-color: transparent;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: none !important;
+}
+
+textbox.plain html|*.textbox-input,
+textbox.plain html|*.textbox-textarea {
+ padding: 0px !important;
+}
+
+/* ::::: search textbox ::::: */
+
+.textbox-search-icon {
+ list-style-image: url(chrome://global/skin/icons/Search-glass.png);
+ -moz-image-region: rect(0, 16px, 16px, 0);
+}
+
+.textbox-search-icon:-moz-locale-dir(rtl) {
+ transform: scaleX(-1);
+}
+
+.textbox-search-icon[searchbutton]:not([disabled]) {
+ cursor: pointer;
+}
+
+.textbox-search-clear {
+ list-style-image: url(chrome://global/skin/icons/Search-close.png);
+ -moz-image-region: rect(0, 16px, 16px, 0);
+}
+
+.textbox-search-clear:not([disabled]) {
+ cursor: default;
+}
+
+.textbox-search-clear:not([disabled]):hover ,
+.textbox-search-icon[searchbutton]:not([disabled]):hover {
+ -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
+.textbox-search-clear:not([disabled]):hover:active ,
+.textbox-search-icon[searchbutton]:not([disabled]):hover:active {
+ -moz-image-region: rect(0, 48px, 16px, 32px);
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > .textbox-input-box > html|*.textbox-input {
+ visibility: hidden;
+}
+
diff --git a/toolkit/themes/faststripe/global/xulscrollbars.css b/toolkit/themes/faststripe/global/xulscrollbars.css
new file mode 100644
index 0000000000..141327c2f0
--- /dev/null
+++ b/toolkit/themes/faststripe/global/xulscrollbars.css
@@ -0,0 +1,210 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== xulscrollbars.css ==============================================
+ == Styles used by XUL scrollbar-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
+
+/* ::::: scrollbar ::::: */
+
+scrollbar {
+ -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+ cursor: default;
+ background: #888888;
+ border-left: 1px solid #555555;
+ border-right: 1px solid #555555;
+}
+
+scrollbar[orient="vertical"]
+{
+ -moz-appearance: scrollbar-vertical;
+ border-left: none;
+ border-right: none;
+ border-top: 1px solid #555555;
+ border-bottom: 1px solid #555555;
+}
+
+/* ::::: borders for thumb and buttons ::::: */
+
+thumb,
+scrollbarbutton {
+ border: 1px solid #555555;
+ background-color: -moz-Dialog;
+}
+
+/* ::::: thumb (horizontal) ::::: */
+
+thumb {
+ min-height: 8px;
+}
+
+thumb[orient="horizontal"] {
+ min-width: 8px;
+}
+
+/* ::::: scrollbar button ::::: */
+
+scrollbarbutton {
+ background: -moz-Dialog no-repeat 50% 50%;
+ min-width: 16px;
+ min-height: 16px;
+}
+
+scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
+ border-color: #999999;
+ background-position: 60% 60%;
+}
+
+/* ::::: square at the corner of two scrollbars ::::: */
+
+scrollcorner {
+ /* XXX -moz-appearance: scrollcorner; */
+ -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
+ width: 16px;
+ cursor: default;
+ background-color: -moz-Dialog;
+}
+
+/* ..... increment .... */
+
+scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-right;
+ background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+}
+
+scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-down;
+ background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+}
+
+/* ..... decrement .... */
+
+scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-left;
+ background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+}
+
+scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-up;
+ background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+}
+
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+@media print {
+ /* ::::: scrollbar ::::: */
+
+ html|div scrollbar {
+ -moz-appearance: scrollbar-horizontal;
+ -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+ cursor: default;
+ background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
+ }
+
+ html|div scrollbar[orient="vertical"]
+ {
+ -moz-appearance: scrollbar-vertical;
+ }
+
+ /* ::::: borders for thumb and buttons ::::: */
+
+ html|div thumb,
+ html|div scrollbarbutton {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ }
+
+ /* ::::: thumb (horizontal) ::::: */
+
+ html|div thumb {
+ -moz-appearance: scrollbarthumb-vertical;
+ min-height: 8px;
+ }
+
+ html|div thumb[orient="horizontal"] {
+ -moz-appearance: scrollbarthumb-horizontal;
+ min-width: 8px;
+ }
+
+ /* ::::: scrollbar button ::::: */
+
+ html|div scrollbarbutton {
+ background: -moz-Dialog no-repeat 50% 50%;
+ min-width: 16px;
+ min-height: 16px;
+ }
+
+ html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ background-position: 60% 60%;
+ }
+
+ /* ..... increment .... */
+
+ html|div scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-right;
+ background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+ }
+
+ html|div scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-down;
+ background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+ }
+
+ /* ..... decrement .... */
+
+ html|div scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-left;
+ background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+ }
+
+ html|div scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-up;
+ background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+ }
+
+}
diff --git a/toolkit/themes/linux/global/alerts/alert.css b/toolkit/themes/linux/global/alerts/alert.css
new file mode 100644
index 0000000000..7d09f02920
--- /dev/null
+++ b/toolkit/themes/linux/global/alerts/alert.css
@@ -0,0 +1,23 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== alert.css =====================================================
+ == Styles specific to the alerts dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/alerts/alert-common.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.alertBox {
+ border: 1px solid threedshadow;
+ background-color: -moz-Dialog;
+}
+
+.alertCloseButton {
+ -moz-appearance: none;
+ height: 16px;
+ padding: 4px 2px;
+ width: 16px;
+}
diff --git a/toolkit/themes/linux/global/autocomplete.css b/toolkit/themes/linux/global/autocomplete.css
new file mode 100644
index 0000000000..0b4536c32b
--- /dev/null
+++ b/toolkit/themes/linux/global/autocomplete.css
@@ -0,0 +1,189 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== autocomplete.css =================================================
+ == Styles used by the autocomplete widget.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: autocomplete ::::: */
+
+/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
+textbox:not(.padded) {
+ cursor: default;
+ padding: 0;
+}
+
+textbox[enablehistory="true"] {
+ -moz-appearance: none;
+ border: 0;
+ background-color: transparent;
+}
+
+textbox[nomatch="true"][highlightnonmatches="true"] {
+ color: red;
+}
+
+.autocomplete-textbox-container {
+ -moz-box-align: center;
+}
+
+textbox[enablehistory="true"] > .autocomplete-textbox-container {
+ -moz-appearance: menulist-textfield;
+}
+
+textbox:not(.padded) .textbox-input-box {
+ margin: 0 3px;
+}
+
+.textbox-input-box {
+ -moz-box-align: center;
+}
+
+/* ::::: autocomplete popups ::::: */
+
+panel[type="autocomplete"],
+panel[type="autocomplete-richlistbox"],
+.autocomplete-history-popup {
+ border: 1px solid ThreeDShadow;
+ padding: 0;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+ -moz-appearance: none;
+}
+
+.autocomplete-history-popup {
+ max-height: 180px;
+}
+
+/* ::::: tree ::::: */
+
+.autocomplete-tree {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+}
+
+.autocomplete-treecol {
+ -moz-appearance: none !important;
+ margin: 0 !important;
+ border: none !important;
+ padding: 0 !important;
+}
+
+/* GTK calculates space for a sort arrow */
+.autocomplete-treecol > .treecol-sortdirection {
+ -moz-appearance: none !important;
+}
+
+.autocomplete-treebody::-moz-tree-cell-text {
+ padding-inline-start: 8px;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+ background-color: Highlight;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+ color: HighlightText !important;
+}
+
+.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+ max-width: 16px;
+ height: 16px;
+}
+
+/* ::::: richlistbox autocomplete ::::: */
+
+.autocomplete-richlistbox {
+ -moz-appearance: none;
+ margin: 1px;
+ background-color: transparent;
+}
+
+.autocomplete-richlistitem[selected] {
+ color: HighlightText;
+}
+
+.ac-type-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 13px;
+ margin-inline-end: 6px;
+}
+
+.ac-site-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 0;
+ margin-inline-end: 11px;
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
+}
+
+.ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted.png");
+}
+
+@media (min-resolution: 1.1dppx) {
+ .ac-site-icon {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png");
+ }
+ .ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted@2x.png");
+ }
+}
+
+.ac-title {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+html|span.ac-tag {
+ margin-inline-start: 0;
+ margin-inline-end: 2px;
+}
+
+.ac-tags {
+ margin-inline-start: 0;
+ margin-inline-end: 4px;
+}
+
+.ac-separator {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+/* Better align the URL/action with the title. */
+.ac-tags,
+.ac-separator,
+.ac-url,
+.ac-action {
+ margin-bottom: -2px;
+}
+
+.ac-title-text,
+.ac-tags-text,
+.ac-separator-text,
+.ac-url-text,
+.ac-action-text,
+.ac-text-overflow-container {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
+
+toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/linux/global/button.css b/toolkit/themes/linux/global/button.css
new file mode 100644
index 0000000000..620247587a
--- /dev/null
+++ b/toolkit/themes/linux/global/button.css
@@ -0,0 +1,152 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== button.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* :::::::::: button :::::::::: */
+
+button {
+ -moz-appearance: button;
+ margin: 1px 5px 2px 5px;
+ min-width: 6.3em;
+ border: 3px solid;
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ background-color: ThreeDFace;
+ color: ButtonText;
+ text-shadow: none;
+}
+
+.button-box {
+ -moz-appearance: button-focus;
+ border: 1px solid transparent;
+ padding-top: 1px;
+ padding-bottom: 2px;
+ padding-inline-start: 3px;
+ padding-inline-end: 4px;
+}
+
+.button-icon {
+ margin-inline-end: 2px;
+}
+
+.button-text {
+ margin: 0 !important;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+}
+
+button:focus > .button-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* .......... default state .......... */
+
+button[default="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+}
+
+/* .......... hover state .......... */
+
+button:hover {
+ color: -moz-buttonhovertext;
+ background-color: -moz-buttonhoverface;
+}
+
+/* .......... active/open/checked state .......... */
+
+button:hover:active,
+button[open="true"],
+button[checked="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ color: ButtonText;
+}
+
+button:hover:active > .button-box,
+button[open="true"] > .button-box,
+button[checked="true"] > .button-box {
+ padding-top: 2px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 3px;
+}
+
+/* .......... disabled state .......... */
+
+button[disabled="true"],
+button[disabled="true"]:hover:active {
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ color: GrayText;
+}
+
+button[disabled="true"] > .button-box {
+ padding-top: 1px !important;
+ padding-bottom: 2px !important;
+ padding-inline-start: 3px !important;
+ padding-inline-end: 4px !important;
+}
+
+/* ::::: menu/menu-button buttons ::::: */
+
+button[type="menu-button"] {
+ -moz-appearance: dualbutton;
+}
+
+.button-menubutton-button {
+ margin: 0;
+}
+
+.button-menu-dropmarker,
+.button-menubutton-dropmarker {
+ -moz-appearance: toolbarbutton-dropdown !important;
+}
+
+.button-menubutton-dropmarker {
+ margin-inline-end: 3px;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+}
+
+button[type="disclosure"] {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+ -moz-appearance: none;
+ list-style-image: url("chrome://global/skin/tree/twisty-clsd.png");
+ min-width: 0px !important;
+ background-color: transparent;
+}
+
+button[type="disclosure"][open="true"] {
+ list-style-image: url("chrome://global/skin/tree/twisty-open.png");
+}
diff --git a/toolkit/themes/linux/global/checkbox.css b/toolkit/themes/linux/global/checkbox.css
new file mode 100644
index 0000000000..a4e07448ec
--- /dev/null
+++ b/toolkit/themes/linux/global/checkbox.css
@@ -0,0 +1,99 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== checkbox.css ===================================================
+ == Styles used by the XUL checkbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: checkbox ::::: */
+
+checkbox {
+ -moz-appearance: checkbox-container;
+ margin: 2px 4px;
+ border-left: 2px transparent;
+ border-right: 2px transparent;
+}
+
+/* With native theming on, the spacer-box paints the check mark and includes
+ the spacing to the right, so that oversized checkbox images can slop over
+ into the space.
+
+ If we need to disable checkbox theming, the spacer box no longer paints
+ the check mark, but its fallback CSS border supplies the padding between
+ the mark and the label. The xul:image then takes over painting the check
+ mark. */
+
+.checkbox-spacer-box {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ margin: 2px;
+ border-right: 2px solid transparent;
+}
+
+.checkbox-label-center-box {
+ -moz-box-align: center;
+}
+
+.checkbox-label-box {
+ -moz-appearance: checkbox-label;
+}
+
+.checkbox-icon[src] {
+ margin-inline-end: 2px;
+}
+
+.checkbox-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+checkbox:focus > .checkbox-label-center-box > .checkbox-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+checkbox[disabled="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+checkbox[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: checkmark image ::::: */
+
+.checkbox-check {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+checkbox:not([disabled="true"]):hover {
+ color: -moz-buttonhovertext;
+ text-shadow: none;
+}
+
+checkbox:hover:active > .checkbox-spacer-box > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+/* ..... checked state ..... */
+
+checkbox[checked="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+
+checkbox[checked="true"][disabled="true"] > .checkbox-spacer-box > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif") !important
+}
+
diff --git a/toolkit/themes/linux/global/colorpicker.css b/toolkit/themes/linux/global/colorpicker.css
new file mode 100644
index 0000000000..5870ed5d1b
--- /dev/null
+++ b/toolkit/themes/linux/global/colorpicker.css
@@ -0,0 +1,47 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== colorpicker.css ================================================
+ == Styles used by the XUL colorpicker element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: colorpicker button ::::: */
+
+/* colorpicker button */
+
+colorpicker[type="button"] {
+ -moz-appearance: button;
+ width: 38px;
+ height: 24px;
+}
+
+.colorpicker-button-colorbox {
+ border: 1px solid #000000;
+}
+
+/* ::::: colorpicker tiles ::::: */
+
+.colorpickertile {
+ width: 20px;
+ height: 20px;
+ margin: 1px;
+ border-left: 1px solid ThreeDShadow;
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+.colorpickertile[selected="true"] {
+ border: 2px outset #C0C0C0;
+}
+
+.colorpickertile[hover="true"] {
+ border: 2px dotted #FFFFFF;
+}
+
+.cp-light[hover="true"] {
+ border: 2px dotted #909090;
+}
diff --git a/toolkit/themes/linux/global/commonDialog.css b/toolkit/themes/linux/global/commonDialog.css
new file mode 100644
index 0000000000..f5c5af7d7c
--- /dev/null
+++ b/toolkit/themes/linux/global/commonDialog.css
@@ -0,0 +1,22 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#filler {
+ margin-inline-start: -8px;
+ margin-inline-end: -10px;
+}
+
+#iconContainer {
+ -moz-box-pack: center;
+ min-height: 55px; /* maximum icon height + icon margin */
+ min-width: 58px; /* maximum icon width + icon margin */
+}
+
+#info\.icon {
+ max-width: 48px;
+ max-height: 48px;
+ /* The 'spaced' class does this already. It's repeated here to make it clearer
+ what margin values the #iconContainer's min-height and max-height depend on: */
+ margin: 3px 5px 4px;
+}
diff --git a/toolkit/themes/linux/global/dirListing/remote.png b/toolkit/themes/linux/global/dirListing/remote.png
new file mode 100644
index 0000000000..281fb2acf6
--- /dev/null
+++ b/toolkit/themes/linux/global/dirListing/remote.png
Binary files differ
diff --git a/toolkit/themes/linux/global/dropmarker.css b/toolkit/themes/linux/global/dropmarker.css
new file mode 100644
index 0000000000..5b44ac40ea
--- /dev/null
+++ b/toolkit/themes/linux/global/dropmarker.css
@@ -0,0 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+dropmarker {
+ -moz-appearance: menulist-button;
+}
diff --git a/toolkit/themes/linux/global/filepicker.css b/toolkit/themes/linux/global/filepicker.css
new file mode 100644
index 0000000000..b072c20ba1
--- /dev/null
+++ b/toolkit/themes/linux/global/filepicker.css
@@ -0,0 +1,63 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== filepicker.css =================================================
+ == Styles used by the File Picker dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: column widths ::::: */
+
+#FilenameColumn,
+#ContentLengthColumn,
+#LastModifiedDateColumn {
+ width: 100px;
+}
+
+/* ::::: file/directory items ::::: */
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue),
+treechildren::-moz-tree-image(FilenameColumn) {
+ padding-right: 2px;
+ margin: 0px 2px;
+ width: 16px;
+ height: 16px;
+}
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue, directory),
+treechildren::-moz-tree-image(FilenameColumn, directory) {
+ list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
+}
+
+treechildren::-moz-tree-image(treecolAutoCompleteValue, file),
+treechildren::-moz-tree-image(FilenameColumn, file) {
+ list-style-image: url("moz-icon://stock/gtk-file?size=menu");
+}
+
+/* ::::: button items ::::: */
+
+/* up-button */
+
+.up-button {
+ list-style-image: url("moz-icon://stock/gtk-go-up?size=toolbar");
+ max-width: 36px;
+}
+
+/* home-button */
+
+.home-button {
+ list-style-image: url("moz-icon://stock/gtk-home?size=toolbar");
+ max-width: 36px;
+}
+
+/* new-dir-button */
+
+.new-dir-button {
+ list-style-image: url("chrome://global/skin/Filepicker.png");
+ max-width: 36px;
+}
+
diff --git a/toolkit/themes/linux/global/filepicker/Filepicker.png b/toolkit/themes/linux/global/filepicker/Filepicker.png
new file mode 100644
index 0000000000..236edaa0dd
--- /dev/null
+++ b/toolkit/themes/linux/global/filepicker/Filepicker.png
Binary files differ
diff --git a/toolkit/themes/linux/global/findBar.css b/toolkit/themes/linux/global/findBar.css
new file mode 100644
index 0000000000..f049114024
--- /dev/null
+++ b/toolkit/themes/linux/global/findBar.css
@@ -0,0 +1,159 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+findbar {
+ border-top: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDHighlight;
+ min-width: 1px;
+ transition-property: margin-bottom, opacity, visibility;
+ transition-duration: 150ms, 150ms, 0s;
+ transition-timing-function: ease-in-out, ease-in-out, linear;
+}
+
+findbar[hidden] {
+ /* Override display:none to make the transition work. */
+ display: -moz-box;
+ visibility: collapse;
+ margin-bottom: -1em;
+ opacity: 0;
+ transition-delay: 0s, 0s, 150ms;
+}
+
+findbar[noanim] {
+ transition-duration: 0s !important;
+ transition-delay: 0s !important;
+}
+
+.findbar-container {
+ padding-inline-start: 8px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+.findbar-closebutton {
+ -moz-appearance: none;
+ width: 16px;
+ height: 16px;
+ margin: 0 8px;
+}
+
+/* Search field */
+
+.findbar-textbox {
+ -moz-appearance: none;
+ border: 1px solid ThreeDShadow;
+ box-shadow: 0 0 1px 0 ThreeDShadow inset;
+ margin: 0;
+ padding: 5px;
+ width: 14em;
+}
+
+.findbar-textbox:-moz-locale-dir(ltr) {
+ border-radius: 3px 0 0 3px;
+ border-right-width: 0;
+}
+
+.findbar-textbox:-moz-locale-dir(rtl) {
+ border-radius: 0 3px 3px 0;
+ border-left-width: 0;
+}
+
+.findbar-textbox[focused="true"] {
+ border-color: Highlight;
+ box-shadow: 0 0 1px 0 Highlight inset;
+}
+
+.findbar-textbox[status="notfound"] {
+ background-color: #f66;
+ color: white;
+}
+
+.findbar-textbox[flash="true"] {
+ background-color: yellow;
+ color: black;
+}
+
+.findbar-textbox.minimal {
+ border-width: 1px;
+ border-radius: 3px;
+}
+
+.findbar-find-previous,
+.findbar-find-next {
+ margin-inline-start: 0;
+ -moz-appearance: none;
+ background: linear-gradient(rgba(255,255,255,.8) 1px, rgba(255,255,255,.4) 1px, rgba(255,255,255,.1));
+ border: 1px solid ThreeDShadow;
+ padding: 5px 9px;
+ line-height: 1em;
+}
+
+.findbar-find-previous:focus,
+.findbar-find-next:focus {
+ border-color: Highlight;
+ box-shadow: 0 0 1px 0 Highlight inset;
+}
+
+.findbar-find-previous:not([disabled]):active,
+.findbar-find-next:not([disabled]):active {
+ background: rgba(23,50,76,.2);
+ border: 1px solid ThreeDShadow;
+ box-shadow: 0 1px 2px rgba(10,31,51,.2) inset;
+}
+
+.findbar-find-previous {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-previous);
+ border-inline-end-width: 0;
+}
+
+.findbar-find-next {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-next);
+}
+
+.findbar-find-previous > .toolbarbutton-icon,
+.findbar-find-next > .toolbarbutton-icon {
+ margin: 0;
+}
+
+.findbar-find-previous[disabled="true"] > .toolbarbutton-icon,
+.findbar-find-next[disabled="true"] > .toolbarbutton-icon {
+ opacity: .5;
+}
+
+.findbar-find-next:-moz-locale-dir(ltr) {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px;
+}
+
+.findbar-find-next:-moz-locale-dir(rtl) {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.findbar-find-previous:focus + .findbar-find-next {
+ border-inline-start-width: 0;
+}
+
+.findbar-find-previous:focus {
+ border-inline-end-width: 1px;
+}
+
+.findbar-highlight,
+.findbar-case-sensitive,
+.findbar-entire-word {
+ margin-inline-start: 5px;
+}
+
+.findbar-find-status,
+.findbar-matches {
+ color: GrayText;
+ margin: 0 !important;
+ margin-inline-start: 12px !important;
+}
+
+.find-status-icon[status="pending"] {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+}
diff --git a/toolkit/themes/linux/global/global.css b/toolkit/themes/linux/global/global.css
new file mode 100644
index 0000000000..1f9e7e458c
--- /dev/null
+++ b/toolkit/themes/linux/global/global.css
@@ -0,0 +1,334 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== global.css =====================================================
+ == Styles that apply everywhere.
+ ======================================================================= */
+
+/* all localizable skin settings shall live here */
+@import url("chrome://global/locale/intl.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: XBL bindings ::::: */
+
+checkbox {
+ -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox-with-spacing");
+}
+
+radio {
+ -moz-binding: url("chrome://global/skin/globalBindings.xml#radio-with-spacing");
+}
+
+menulist > menupopup {
+ -moz-binding: url("chrome://global/content/bindings/popup.xml#popup-scrollbars");
+}
+
+progressmeter[mode="undetermined"] {
+ -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter-undetermined");
+}
+
+toolbar[type="menubar"]:not([autohide="true"]):not(:-moz-lwtheme):-moz-system-metric(menubar-drag) {
+ -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
+}
+
+/* ::::: Variables ::::: */
+:root {
+ --arrowpanel-padding: 10px;
+ --arrowpanel-background: -moz-field;
+ --arrowpanel-color: -moz-fieldText;
+ --arrowpanel-border-color: ThreeDShadow;
+}
+
+/* ::::: root elements ::::: */
+
+window,
+page,
+dialog,
+wizard,
+prefwindow {
+ -moz-appearance: window;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ font: message-box;
+}
+
+/* deprecated */
+window.dialog {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+/* ::::: alert icons :::::*/
+
+.message-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-info?size=dialog");
+}
+
+.alert-dialog #info\.icon,
+.alert-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=dialog");
+}
+
+.error-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-error?size=dialog");
+}
+
+.question-icon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-question?size=dialog");
+}
+
+.authentication-icon {
+ list-style-image: url("chrome://global/skin/icons/Authentication.png");
+}
+
+/* ::::: iframe ::::: */
+
+iframe {
+ border: none;
+ width: 100px;
+ height: 100px;
+ min-width: 10px;
+ min-height: 10px;
+}
+
+/* ::::: statusbar ::::: */
+
+statusbar {
+ -moz-appearance: statusbar;
+ border-top: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ background-color: -moz-Dialog;
+ min-height: 22px;
+}
+
+statusbarpanel {
+ -moz-appearance: statusbarpanel;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border-left: 1px solid ThreeDHighlight;
+ border-top: 1px solid ThreeDHighlight;
+ border-right: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+ padding: 0 4px;
+}
+
+.statusbar-resizerpanel {
+ -moz-box-align: end;
+ -moz-box-pack: end;
+ -moz-appearance: resizerpanel;
+ padding: 0;
+ border: none;
+}
+
+.statusbarpanel-iconic,
+.statusbarpanel-iconic-text,
+.statusbarpanel-menu-iconic {
+ padding: 0 1px;
+}
+
+/* XXXBlake yeah, shoot me -- these don't belong here. I'll move them later. */
+
+sidebarheader {
+ height: 25px;
+ background-color: -moz-Dialog;
+}
+
+sidebarheader > label {
+ padding-inline-start: 4px;
+}
+
+.toolbar-focustarget {
+ -moz-user-focus: ignore !important;
+}
+
+toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
+
+/* ::::: miscellaneous formatting ::::: */
+
+:root:-moz-lwtheme,
+[lwthemefooter="true"],
+statusbarpanel:-moz-lwtheme {
+ -moz-appearance: none;
+}
+
+sidebarheader:-moz-lwtheme {
+ background: none;
+}
+
+:root:-moz-lwtheme-darktext {
+ text-shadow: 0 -0.5px 1.5px white;
+}
+
+:root:-moz-lwtheme-brighttext {
+ text-shadow: 1px 1px 1.5px black;
+}
+
+.inset {
+ border: 1px solid ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ margin: 0 5px 5px;
+}
+
+.outset {
+ border: 1px solid ThreeDShadow;
+ border-left-color: ThreeDHighlight;
+ border-top-color: ThreeDHighlight;
+}
+
+separator:not([orient="vertical"]) {
+ height: 1.5em;
+}
+separator[orient="vertical"] {
+ width: 1.5em;
+}
+
+separator.thin:not([orient="vertical"]) {
+ height: 0.5em;
+}
+separator.thin[orient="vertical"] {
+ width: 0.5em;
+}
+
+separator.groove:not([orient="vertical"]) {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+ height: 0;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+}
+separator.groove[orient="vertical"] {
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ width: 0;
+ margin-left: 0.4em;
+ margin-right: 0.4em;
+}
+
+.small-margin {
+ margin: 1px 2px;
+}
+
+.plain {
+ -moz-appearance: none;
+ margin: 0 !important;
+ border: none;
+ padding: 0;
+}
+
+description,
+label {
+ cursor: default;
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+description {
+ margin-bottom: 4px;
+}
+
+label[disabled="true"] {
+ color: GrayText;
+}
+
+.tooltip-label {
+ margin: 0;
+}
+
+.header {
+ font-weight: bold;
+}
+
+.monospace {
+ font-family: monospace;
+}
+
+.indent {
+ margin-inline-start: 23px;
+}
+
+.box-padded {
+ padding: 5px;
+}
+
+.spaced {
+ margin: 3px 5px 4px;
+}
+
+.wizard-box {
+ padding: 20px 44px 10px;
+}
+
+.text-link {
+ color: -moz-nativehyperlinktext;
+ cursor: pointer;
+}
+
+.text-link:hover {
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ outline: 1px dotted;
+}
+
+notification > button {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+popupnotificationcontent {
+ margin-top: .5em;
+}
+
+/* :::::: autoscroll popup ::::: */
+
+.autoscroller {
+ height: 28px;
+ width: 28px;
+ border: none;
+ margin: -14px;
+ padding: 0;
+ background-image: url("chrome://global/skin/icons/autoscroll.png");
+ background-color: transparent;
+ background-position: right top;
+ -moz-appearance: none;
+}
+
+.autoscroller[scrolldir="NS"] {
+ background-position: right center;
+}
+
+.autoscroller[scrolldir="EW"] {
+ background-position: right bottom;
+}
+
+/* :::::: Close button icons ::::: */
+
+.close-icon {
+ -moz-appearance: none;
+ height: 16px;
+ width: 16px;
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.close-icon:hover {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 32, 16, 16);
+}
+
+.close-icon:hover:active {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 48, 16, 32);
+}
diff --git a/toolkit/themes/linux/global/groupbox.css b/toolkit/themes/linux/global/groupbox.css
new file mode 100644
index 0000000000..5cf1cb431f
--- /dev/null
+++ b/toolkit/themes/linux/global/groupbox.css
@@ -0,0 +1,32 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== groupbox.css ==================================================
+ == Styles used by the XUL groupbox and related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: groupbox ::::: */
+
+groupbox {
+ margin: 5px;
+ padding: 5px;
+}
+
+.groupbox-body {
+ padding-inline-start: 10px;
+}
+
+caption {
+ margin-bottom: 2px;
+ font-weight: bold;
+}
+
+/* !important is needed to override label in global.css */
+.caption-text {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ margin-inline-start: 1px !important;
+}
diff --git a/toolkit/themes/linux/global/icons/Authentication.png b/toolkit/themes/linux/global/icons/Authentication.png
new file mode 100644
index 0000000000..facbfbe086
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/Authentication.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/autocomplete-search.svg b/toolkit/themes/linux/global/icons/autocomplete-search.svg
new file mode 100644
index 0000000000..5da904d825
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/autocomplete-search.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16" >
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: GrayText;
+ }
+ use[id$="-inverted"] {
+ fill: highlighttext;
+ }
+ </style>
+ <defs>
+ <path id="search" fill-rule="evenodd" d="M9.356,1.178c-3.014,0-5.458,2.45-5.458,5.472c0,1.086,0.32,2.096,0.864,2.947 l-3.279,3.287c-0.396,0.397-0.396,1.041,0,1.438l0.202,0.202c0.396,0.397,1.039,0.397,1.435,0l3.275-3.283 c0.854,0.554,1.869,0.88,2.962,0.88c3.014,0,5.458-2.45,5.458-5.471C14.814,3.627,12.371,1.178,9.356,1.178z M9.356,10.001 c-1.847,0-3.344-1.501-3.344-3.352c0-1.851,1.497-3.352,3.344-3.352c1.846,0,3.344,1.501,3.344,3.352 C12.7,8.501,11.203,10.001,9.356,10.001z"/>
+ </defs>
+ <use id="search-icon" xlink:href="#search"/>
+ <use id="search-icon-inverted" xlink:href="#search"/>
+</svg>
diff --git a/toolkit/themes/linux/global/icons/autoscroll.png b/toolkit/themes/linux/global/icons/autoscroll.png
new file mode 100644
index 0000000000..6aac3d98e9
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/autoscroll.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/blacklist_favicon.png b/toolkit/themes/linux/global/icons/blacklist_favicon.png
new file mode 100644
index 0000000000..f41f68485e
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/blacklist_favicon.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/blacklist_large.png b/toolkit/themes/linux/global/icons/blacklist_large.png
new file mode 100644
index 0000000000..f4c4d9e396
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/blacklist_large.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/close.svg b/toolkit/themes/linux/global/icons/close.svg
new file mode 100644
index 0000000000..042ecbfd6a
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/close.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="96px" height="16px" viewBox="0 0 96 16">
+ <defs>
+ <style>
+ /* X Glyph Styles */
+ .glyphShape-style-foreground {
+ fill: ButtonText;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-background {
+ fill: -moz-MenuBarText;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-hover {
+ fill: #fff;
+ }
+ .glyphShape-style-hover-shadow {
+ fill: #b32c12;
+ }
+ .glyphShape-style-hover-active {
+ fill: #fff;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-hover-active-shadow {
+ fill: #99260f;
+ }
+ .glyphShape-style-LWT-bright {
+ fill: #fff;
+ fill-opacity: .8;
+ }
+ .glyphShape-style-LWT-dark {
+ fill: #000;
+ fill-opacity: .8;
+ }
+ /* Close Button Background Styles */
+ .icon-background-hover {
+ fill: #d93616;
+ }
+ .icon-background-hover-active {
+ fill: #b32c12;
+ }
+ </style>
+ <polygon id="glyphShape-close" points="4,5.5 5.5,4 8,6.5 10.5,4 12,5.5 9.5,8 12,10.5 10.5,12 8,9.5 5.5,12 4,10.5 6.5,8"/>
+ <polygon id="glyphShape-close-topHighlight" points="4,5.5 5.5,4 8,6.5 10.5,4 12,5.5 9.5,8 11.5,6 10.5,5 8,7.5 5.5,5 4.5,6"/>
+ <rect id="glyphShape-background" x="2" y="2" rx="2" width="12" height="12"/>
+ </defs>
+ <g id="icon-closeForeground-default">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-foreground" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-foreground" />
+ </g>
+ <g id="icon-close-hover" transform="translate(16)">
+ <use xlink:href="#glyphShape-background" class="icon-background-hover" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-shadow" transform="translate(0,1)" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover" />
+ </g>
+ <g id="icon-close-hover-active" transform="translate(32)">
+ <use xlink:href="#glyphShape-background" class="icon-background-hover-active" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-active-shadow" transform="translate(0,1)" />
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-hover-active" />
+ </g>
+ <g id="icon-closeBackground-default" transform="translate(48)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-background" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-background" />
+ </g>
+ <g id="icon-close-LWT-bright" transform="translate(64)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-LWT-bright" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-LWT-bright" />
+ </g>
+ <g id="icon-close-LWT-dark" transform="translate(80)">
+ <use xlink:href="#glyphShape-close" class="glyphShape-style-LWT-dark" />
+ <use xlink:href="#glyphShape-close-topHighlight" class="glyphShape-style-LWT-dark" />
+ </g>
+</svg>
diff --git a/toolkit/themes/linux/global/icons/errorGhosted-64.png b/toolkit/themes/linux/global/icons/errorGhosted-64.png
new file mode 100644
index 0000000000..9d9063bca2
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/errorGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/informationGhosted-64.png b/toolkit/themes/linux/global/icons/informationGhosted-64.png
new file mode 100644
index 0000000000..35997d6ec6
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/informationGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/questionGhosted-64.png b/toolkit/themes/linux/global/icons/questionGhosted-64.png
new file mode 100644
index 0000000000..15f9aa02ae
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/questionGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/resizer-rtl.png b/toolkit/themes/linux/global/icons/resizer-rtl.png
new file mode 100644
index 0000000000..98bef914f3
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/resizer-rtl.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/resizer.png b/toolkit/themes/linux/global/icons/resizer.png
new file mode 100644
index 0000000000..0b1e63a576
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/resizer.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/sslWarning.png b/toolkit/themes/linux/global/icons/sslWarning.png
new file mode 100644
index 0000000000..6517bb953a
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/sslWarning.png
Binary files differ
diff --git a/toolkit/themes/linux/global/icons/warningGhosted-64.png b/toolkit/themes/linux/global/icons/warningGhosted-64.png
new file mode 100644
index 0000000000..352ea7f1e7
--- /dev/null
+++ b/toolkit/themes/linux/global/icons/warningGhosted-64.png
Binary files differ
diff --git a/toolkit/themes/linux/global/in-content/common.css b/toolkit/themes/linux/global/in-content/common.css
new file mode 100644
index 0000000000..75035d2e52
--- /dev/null
+++ b/toolkit/themes/linux/global/in-content/common.css
@@ -0,0 +1,123 @@
+/* - This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ - You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/in-content/common.inc.css
+
+xul|tab[visuallyselected] {
+ /* Override styles for tab[selected] from
+ toolkit/themes/linux/global/tabbox.css */
+ margin-bottom: 0;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+xul|button,
+html|button,
+xul|colorpicker[type="button"],
+xul|menulist {
+ margin: 2px 4px;
+}
+
+xul|button > xul|*.button-box,
+xul|menulist > xul|*.menulist-label-box {
+ -moz-appearance: none;
+}
+
+xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
+ -moz-appearance: none !important;
+}
+
+xul|*.help-button > xul|*.button-box > xul|*.button-icon {
+ margin-inline-end: 0;
+}
+
+xul|*.groupbox-body {
+ padding-inline-start: 0;
+}
+
+xul|menulist {
+ font-size: inherit;
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
+ display: -moz-box;
+ margin-top: 6px;
+ margin-bottom: 6px;
+}
+
+xul|checkbox {
+ -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox");
+ -moz-box-align: center;
+}
+
+xul|*.checkbox-check {
+ background-image: none !important;
+}
+
+xul|*.checkbox-check[checked] {
+ list-style-image: url("chrome://global/skin/in-content/check.svg#check-native");
+ background-color: -moz-dialog;
+}
+
+xul|radio {
+ -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
+ -moz-box-align: center;
+}
+
+xul|*.radio-check {
+ background-image: none;
+}
+
+xul|*.radio-check[selected] {
+ list-style-image: url("chrome://global/skin/in-content/radio.svg#radio-native");
+ background-color: -moz-dialog;
+}
+
+xul|*.radio-label-box {
+ -moz-appearance: none;
+}
+
+/* Override OS-theme-based color to make it visible
+ on dark color themes. */
+xul|radio:not([disabled="true"]):hover,
+xul|checkbox:not([disabled="true"]):hover {
+ color: var(--in-content-text-color);
+}
+
+xul|*.numberbox-input-box {
+ -moz-appearance: none;
+ border-width: 0;
+}
+
+xul|*.text-link:-moz-focusring {
+ border: 1px dotted -moz-DialogText;
+}
+
+xul|menulist:-moz-focusring > xul|*.menulist-label-box,
+xul|radio[focused="true"] > xul|*.radio-label-box,
+html|input[type="checkbox"]:-moz-focusring + html|label:before,
+xul|checkbox:-moz-focusring > xul|*.checkbox-label-box {
+ outline: 1px dotted;
+}
+
+xul|spinbuttons {
+ -moz-appearance: none;
+}
+
+xul|treechildren::-moz-tree-row(multicol, odd) {
+ background-color: var(--in-content-box-background-odd);
+}
+
+/* These rules are duplicated from common.inc.css
+ * because above -moz-tree-row(multicol, odd) rule
+ * overrides also hover/selected states.
+ */
+xul|treechildren::-moz-tree-row(hover) {
+ background-color: var(--in-content-item-hover);
+}
+
+xul|treechildren::-moz-tree-row(selected) {
+ background-color: var(--in-content-item-selected);
+}
+
diff --git a/toolkit/themes/linux/global/in-content/info-pages.css b/toolkit/themes/linux/global/in-content/info-pages.css
new file mode 100644
index 0000000000..a25b9f6a3d
--- /dev/null
+++ b/toolkit/themes/linux/global/in-content/info-pages.css
@@ -0,0 +1 @@
+%include ../../../shared/in-content/info-pages.inc.css \ No newline at end of file
diff --git a/toolkit/themes/linux/global/jar.mn b/toolkit/themes/linux/global/jar.mn
new file mode 100644
index 0000000000..e67ea020e5
--- /dev/null
+++ b/toolkit/themes/linux/global/jar.mn
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include ../../shared/non-mac.jar.inc.mn
+
+toolkit.jar:
+ skin/classic/global/autocomplete.css
+ skin/classic/global/button.css
+ skin/classic/global/checkbox.css
+ skin/classic/global/colorpicker.css
+ skin/classic/global/commonDialog.css
+ skin/classic/global/dropmarker.css
+ skin/classic/global/filepicker.css
+ skin/classic/global/Filepicker.png (filepicker/Filepicker.png)
+ skin/classic/global/findBar.css
+ skin/classic/global/global.css
+ skin/classic/global/groupbox.css
+ skin/classic/global/listbox.css
+ skin/classic/global/menu.css
+ skin/classic/global/menulist.css
+ skin/classic/global/netError.css
+* skin/classic/global/notification.css
+ skin/classic/global/numberbox.css
+ skin/classic/global/popup.css
+ skin/classic/global/preferences.css
+ skin/classic/global/printPageSetup.css
+ skin/classic/global/printPreview.css
+ skin/classic/global/radio.css
+ skin/classic/global/scrollbox.css
+ skin/classic/global/splitter.css
+ skin/classic/global/tabbox.css
+ skin/classic/global/textbox.css
+ skin/classic/global/toolbar.css
+ skin/classic/global/toolbarbutton.css
+ skin/classic/global/tree.css
+ skin/classic/global/alerts/alert.css (alerts/alert.css)
+ skin/classic/global/dirListing/remote.png (dirListing/remote.png)
+
+ skin/classic/global/icons/Authentication.png (icons/Authentication.png)
+ skin/classic/global/icons/autocomplete-search.svg (icons/autocomplete-search.svg)
+ skin/classic/global/icons/autoscroll.png (icons/autoscroll.png)
+ skin/classic/global/icons/blacklist_favicon.png (icons/blacklist_favicon.png)
+ skin/classic/global/icons/blacklist_large.png (icons/blacklist_large.png)
+ skin/classic/global/icons/close.svg (icons/close.svg)
+ skin/classic/global/icons/resizer.png (icons/resizer.png)
+ skin/classic/global/icons/sslWarning.png (icons/sslWarning.png)
+
+* skin/classic/global/in-content/common.css (in-content/common.css)
+* skin/classic/global/in-content/info-pages.css (in-content/info-pages.css)
+ skin/classic/global/toolbar/spring.png (toolbar/spring.png)
+ skin/classic/global/tree/twisty-clsd.png (tree/twisty-clsd.png)
+ skin/classic/global/tree/twisty-open.png (tree/twisty-open.png)
diff --git a/toolkit/themes/linux/global/listbox.css b/toolkit/themes/linux/global/listbox.css
new file mode 100644
index 0000000000..dbce007cee
--- /dev/null
+++ b/toolkit/themes/linux/global/listbox.css
@@ -0,0 +1,133 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== listbox.css =======================================================
+ == Styles used by XUL listbox-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: listbox ::::: */
+
+listbox {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+listbox[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: listitem ::::: */
+
+listitem {
+ border: 1px solid transparent;
+}
+
+listbox:focus > listitem[selected="true"][current="true"] {
+ outline: 1px dotted #F3D982;
+}
+
+listbox:focus > listitem[current="true"] {
+ outline: 1px dotted Highlight;
+ outline-offset: -1px;
+}
+
+listitem[selected="true"] {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+listbox:focus > listitem[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+/* ::::: listheader ::::: */
+
+listheader {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0 2px;
+}
+
+listheader:hover {
+ color: -moz-buttonhovertext;
+}
+
+listheader[sortable="true"]:hover:active {
+ color: ButtonText;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-inline-start: 3px;
+ padding-inline-end: 1px;
+}
+
+.listheader-icon {
+ margin-inline-end: 2px;
+}
+
+.listheader-icon[sortable="true"]:hover:active {
+ margin-inline-end: 1px;
+}
+
+.listheader-label {
+ margin: 0px !important;
+}
+
+/* ..... sort direction icon ..... */
+
+.listheader-sortdirection {
+ -moz-appearance: treeheadersortarrow;
+}
+
+/* ::::: listcell ::::: */
+
+.listcell-label {
+ margin: 0px !important;
+ padding-top: 0px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 0px;
+ white-space: nowrap;
+}
+
+.listcell-icon {
+ margin-inline-end: 2px;
+}
+
+.listcell-label[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: listcell checkbox ::::: */
+
+.listcell-check {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ margin: 0px 2px;
+ border: 1px solid -moz-DialogText;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
diff --git a/toolkit/themes/linux/global/menu.css b/toolkit/themes/linux/global/menu.css
new file mode 100644
index 0000000000..06e3b217bd
--- /dev/null
+++ b/toolkit/themes/linux/global/menu.css
@@ -0,0 +1,195 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menu.css =======================================================
+ == Styles used by XUL menu-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menu/menuitem ::::: */
+
+menu,
+menuitem,
+menucaption,
+.splitmenu-menuitem {
+ -moz-appearance: menuitem;
+ -moz-box-align: center;
+ max-width: 42em;
+ color: MenuText;
+ font: menu;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
+
+menuitem[default="true"] {
+ font-weight: bold;
+}
+
+menu[_moz-menuactive="true"],
+menuitem[_moz-menuactive="true"],
+.splitmenu-menuitem[_moz-menuactive="true"] {
+ color: -moz-menuhovertext;
+ background-color: -moz-menuhover;
+}
+
+menu[disabled="true"],
+menuitem[disabled="true"],
+.splitmenu-menuitem[disabled="true"],
+menucaption[disabled="true"] {
+ color: GrayText;
+}
+
+menubar > menu {
+ padding: 0px 4px;
+ color: -moz-menubartext;
+}
+
+menubar:-moz-lwtheme > menu {
+ text-shadow: none;
+}
+
+menubar:-moz-lwtheme > menu:not([open="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+}
+
+menubar > menu[_moz-menuactive="true"]:not([open]):not([disabled="true"]):not(:-moz-lwtheme) {
+ color: -moz-menubartext;
+}
+
+menubar > menu[open] {
+ color: -moz-menubarhovertext;
+ background-color: -moz-menuhover;
+}
+menuitem.spell-suggestion {
+ font-weight:bold;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menucaption,
+menulist > menupopup > menu {
+ padding: 1px 5px;
+ max-width: none;
+ font: message-box;
+}
+
+/* ..... internal content .... */
+
+.menu-text,
+.menu-iconic-left,
+.menu-iconic-right,
+.menu-iconic-text {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+ margin-inline-start: 0px !important;
+ margin-inline-end: 2px !important;
+ color: inherit;
+}
+
+.menu-text {
+ /* This is (18 + the size of end-padding on .menu-iconic-left)px */
+ margin-inline-start: 21px !important;
+ font-weight: inherit;
+}
+
+menucaption > .menu-text,
+menucaption > .menu-iconic-text {
+ margin-inline-start: 0 !important;
+ font-weight: bold;
+}
+
+.menu-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+.menu-accel,
+.menu-iconic-accel {
+ margin-top: 0px !important;
+ margin-bottom: 0px !important;
+ margin-inline-start: 7px !important;
+ color: inherit;
+}
+
+.menu-accel-container {
+ -moz-box-pack: end;
+}
+
+.menu-iconic-left,
+.menu-iconic-right {
+ width: 16px;
+ /* We can only hardcode this, to make the default GTK icon<->label spacing */
+ padding-inline-end: 3px !important;
+}
+
+.menu-iconic-icon {
+ width: 16px;
+ height: 16px;
+}
+
+.menu-right {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-inline-start: 6px;
+ margin-inline-end: 0px;
+ width: 1ex;
+ height: 1ex;
+ /* These next two rules are needed to prevent inheritance and thus ugliness */
+ list-style-image: none;
+ -moz-image-region: auto;
+ -moz-appearance: menuarrow;
+}
+
+.menubar-left {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-inline-start: 0px;
+ margin-inline-end: 2px;
+ color: inherit;
+}
+
+.menubar-text {
+ margin: 0 1px !important;
+ color: inherit;
+}
+
+
+menulist > menupopup > menuitem > .menu-iconic-left,
+menulist > menupopup > menucaption > .menu-iconic-left,
+menulist > menupopup > menu > .menu-iconic-left {
+ display: none;
+}
+
+/* ::::: checkbox menuitem ::::: */
+
+menuitem[checked="true"] {
+ -moz-appearance: checkmenuitem !important;
+}
+
+menuitem[type="checkbox"] {
+ -moz-appearance: checkmenuitem !important;
+}
+
+/* ::::: radio menuitem ::::: */
+
+menuitem[type="radio"] {
+ -moz-appearance: radiomenuitem !important;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ -moz-appearance: menuseparator;
+}
+
+/* ::::: autocomplete ::::: */
+
+.autocomplete-history-popup > menuitem {
+ max-width: none !important;
+ font: message-box;
+}
diff --git a/toolkit/themes/linux/global/menulist.css b/toolkit/themes/linux/global/menulist.css
new file mode 100644
index 0000000000..30e55e11ba
--- /dev/null
+++ b/toolkit/themes/linux/global/menulist.css
@@ -0,0 +1,83 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menulist.css ===================================================
+ == Styles used by the XUL menulist element.
+ ====================================================================== */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* :::::::::: menulist :::::::::: */
+
+menulist {
+ -moz-appearance: menulist;
+ margin: 2px 4px;
+ color: -moz-DialogText;
+ font: menu;
+ text-shadow: none;
+}
+
+.menulist-label-box {
+ -moz-appearance: menulist-text;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ color: inherit;
+}
+
+.menulist-label {
+ margin: 1px 3px !important;
+}
+
+.menulist-dropmarker {
+ display: none;
+}
+
+menulist:hover {
+ color: -moz-buttonhovertext;
+}
+
+menulist:hover:active,
+menulist[open="true"] {
+ color: ButtonText;
+}
+
+menulist[disabled="true"],
+menulist[disabled="true"]:hover,
+menulist[disabled="true"]:hover:active {
+ color: GrayText;
+}
+
+.menulist-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+/* ::::: editable menulists ::::: */
+
+menulist[editable="true"] {
+ -moz-appearance: none;
+ color: -moz-FieldText;
+}
+
+.menulist-editable-box {
+ -moz-appearance: menulist-textfield;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+menulist[editable="true"] > .menulist-dropmarker {
+ display: -moz-box;
+ -moz-appearance: menulist-button;
+}
+
+html|*.menulist-editable-input {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px !important;
+ font: inherit;
+}
diff --git a/toolkit/themes/linux/global/moz.build b/toolkit/themes/linux/global/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/linux/global/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/linux/global/netError.css b/toolkit/themes/linux/global/netError.css
new file mode 100644
index 0000000000..69e74c55b6
--- /dev/null
+++ b/toolkit/themes/linux/global/netError.css
@@ -0,0 +1,145 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This defines the look-and-feel styling of the error pages.
+ * (see: netError.xhtml)
+ *
+ * Original styling by William Price <bugzilla@mob.rice.edu>
+ * Updated by: Michael Ventnor <m.ventnor@gmail.com>
+ */
+
+html {
+ background: -moz-Dialog;
+}
+
+body {
+ margin: 0;
+ padding: 0 1em;
+ color: -moz-FieldText;
+ font: message-box;
+}
+
+h1 {
+ margin: 0 0 .6em 0;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-size: 160%;
+}
+
+ul, ol {
+ margin: 0;
+ margin-inline-start: 1.5em;
+ padding: 0;
+}
+
+ul > li, ol > li {
+ margin-bottom: .5em;
+}
+
+ul {
+ list-style: square;
+}
+
+#errorPageContainer {
+ position: relative;
+ min-width: 13em;
+ max-width: 52em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: url("moz-icon://stock/gtk-dialog-warning?size=dialog") left 0 no-repeat -moz-Field;
+ background-origin: content-box;
+}
+
+#errorPageContainer.certerror {
+ background-image: url("chrome://global/skin/icons/sslWarning.png");
+}
+
+#errorPageContainer:dir(rtl) {
+ background-position: right 0;
+}
+
+#errorTitle {
+ margin-inline-start: 80px;
+}
+
+#errorLongContent {
+ margin-inline-start: 80px;
+}
+
+#errorShortDesc > p {
+ overflow: auto;
+ border-bottom: 1px solid ThreeDLightShadow;
+ padding-bottom: 1em;
+ font-size: 130%;
+ white-space: pre-wrap;
+}
+
+#errorLongDesc {
+ padding-inline-end: 3em;
+ font-size: 110%;
+}
+
+#errorLongDesc > p {
+}
+
+#errorTryAgain {
+ margin-top: 2em;
+ margin-inline-start: 80px;
+}
+
+#brand {
+ position: absolute;
+ right: 0;
+ bottom: -1.5em;
+ margin-inline-end: 10px;
+ opacity: .4;
+}
+
+#brand:dir(rtl) {
+ right: auto;
+ left: 0;
+}
+
+#brand > p {
+ margin: 0;
+}
+
+#errorContainer {
+ display: none;
+}
+
+#securityOverrideDiv {
+ padding-top: 10px;
+}
+
+#securityOverrideContent {
+ background-color: InfoBackground;
+ color: InfoText;
+ padding: 10px;
+ border-radius: 10px;
+}
+
+/* Custom styling for 'blacklist' error class */
+:root.blacklist #errorTitle, :root.blacklist #errorLongContent,
+:root.blacklist #errorShortDesc, :root.blacklist #errorLongDesc,
+:root.blacklist a {
+ background-color: #722; /* Dark red */
+ color: white;
+}
+
+:root.blacklist #errorPageContainer {
+ background-image: url("chrome://global/skin/icons/blacklist_large.png");
+ background-color: #722;
+}
+
+:root.blacklist {
+ background: #333;
+}
+
+:root.blacklist #errorTryAgain {
+ display: none;
+}
diff --git a/toolkit/themes/linux/global/notification.css b/toolkit/themes/linux/global/notification.css
new file mode 100644
index 0000000000..f1282797bb
--- /dev/null
+++ b/toolkit/themes/linux/global/notification.css
@@ -0,0 +1,109 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+notification {
+ color: -moz-gtk-info-bar-text;
+ -moz-appearance: -moz-gtk-info-bar;
+%if MOZ_WIDGET_GTK == 2
+ background-color: InfoBackground;
+%endif
+ text-shadow: none;
+}
+
+notification[type="info"] {
+ color: -moz-DialogText;
+ background-color: -moz-Dialog;
+ -moz-appearance: none;
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+}
+
+notificationbox[notificationside="top"] > notification[type="info"] {
+ border-top-style: none;
+}
+
+notificationbox[notificationside="bottom"] > notification[type="info"] {
+ border-bottom-style: none;
+}
+
+notification[type="critical"] {
+ color: white;
+ background-image: linear-gradient(rgb(212,0,0), rgb(152,0,0));
+ -moz-appearance: none;
+}
+
+.notification-inner {
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+.messageText {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.messageText > .text-link {
+ color: inherit !important;
+ text-decoration: underline;
+}
+
+.messageImage {
+ width: 16px;
+ height: 16px;
+ margin-inline-start: 6px;
+ margin-inline-end: 1px;
+}
+
+/* Default icons for notifications */
+
+.messageImage[type="info"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu");
+}
+
+.messageImage[type="warning"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
+}
+
+.messageImage[type="critical"] {
+ list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu");
+}
+
+.messageCloseButton {
+ padding-left: 11px;
+ padding-right: 11px;
+}
+
+/* Popup notification */
+
+.popup-notification-body {
+ max-width: 25em;
+}
+
+.popup-notification-origin:not([value]),
+.popup-notification-learnmore-link:not([href]) {
+ display: none;
+}
+
+.popup-notification-origin {
+ margin-bottom: .3em !important;
+}
+
+.popup-notification-learnmore-link {
+ margin-top: .5em !important;
+}
+
+.popup-notification-button-container {
+ margin-top: 17px;
+}
+
+.popup-notification-closebutton {
+ margin-inline-end: -10px;
+ margin-top: -6px;
+}
+
+.popup-notification-menubutton > .button-menubutton-button[disabled] {
+ opacity: 0.5;
+}
diff --git a/toolkit/themes/linux/global/numberbox.css b/toolkit/themes/linux/global/numberbox.css
new file mode 100644
index 0000000000..867e0a6e88
--- /dev/null
+++ b/toolkit/themes/linux/global/numberbox.css
@@ -0,0 +1,38 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== numberbox.css ==================================================
+ == Styles used by the XUL textbox type="number" element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+textbox[type="number"] {
+ -moz-appearance: none;
+ padding: 0 !important;
+ border: none;
+ cursor: default;
+ background-color: transparent;
+}
+
+html|*.numberbox-input {
+ text-align: right;
+}
+
+.numberbox-input-box {
+ -moz-box-align: center;
+ -moz-appearance: spinner-textfield;
+ margin-right: -1px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 3px;
+}
+
+textbox[hidespinbuttons="true"] > .numberbox-input-box {
+ -moz-appearance: textfield;
+}
diff --git a/toolkit/themes/linux/global/popup.css b/toolkit/themes/linux/global/popup.css
new file mode 100644
index 0000000000..d435fca6f4
--- /dev/null
+++ b/toolkit/themes/linux/global/popup.css
@@ -0,0 +1,101 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menupopup ::::: */
+
+menupopup,
+panel {
+ -moz-appearance: menupopup;
+ min-width: 1px;
+ color: MenuText;
+}
+
+/* ::::: arrow panel ::::: */
+
+panel[type="arrow"] {
+ -moz-appearance: none;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"] {
+ margin-left: -20px;
+ margin-right: -20px;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"] {
+ margin-top: -20px;
+ margin-bottom: -20px;
+}
+
+.panel-arrowcontent {
+ padding: var(--arrowpanel-padding);
+ color: var(--arrowpanel-color);
+ background: var(--arrowpanel-background);
+ border: 1px solid var(--arrowpanel-border-color);
+ box-shadow: 0 0 4px hsla(0,0%,0%,.2);
+ margin: 4px;
+}
+
+.panel-arrow[side="top"],
+.panel-arrow[side="bottom"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical-themed.svg"));
+ position: relative;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+.panel-arrow[side="top"] {
+ margin-bottom: -5px;
+}
+
+.panel-arrow[side="bottom"] {
+ transform: scaleY(-1);
+ margin-top: -5px;
+}
+
+.panel-arrow[side="left"],
+.panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal-themed.svg");
+ position: relative;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.panel-arrow[side="left"] {
+ margin-right: -5px;
+}
+
+.panel-arrow[side="right"] {
+ transform: scaleX(-1);
+ margin-left: -5px;
+}
+
+/* ::::: tooltip ::::: */
+
+tooltip {
+ -moz-appearance: tooltip;
+ margin-top: 21px;
+ max-width: 40em;
+ color: InfoText;
+ font: message-box;
+}
+
+tooltip[titletip="true"] {
+ /* See bug 32157 comment 128
+ * margin: -2px 0px 0px -3px;
+ */
+ max-width: none;
+}
+
+/* rules for popups associated with menulists */
+
+menulist > menupopup {
+ padding: 0px;
+ min-width: 0px;
+}
+
diff --git a/toolkit/themes/linux/global/preferences.css b/toolkit/themes/linux/global/preferences.css
new file mode 100644
index 0000000000..ef6a622e41
--- /dev/null
+++ b/toolkit/themes/linux/global/preferences.css
@@ -0,0 +1,62 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== preferences.css =====================================================
+ == Styles used by the XUL prefwindow element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: dialog ::::: */
+
+prefwindow {
+ padding: 0px;
+}
+
+prefpane {
+ padding: 8px;
+}
+
+prefwindow[type="child"] {
+ padding: 8px;
+}
+
+prefwindow[type="child"] > prefpane {
+ padding: 0px;
+}
+
+.prefWindow-dlgbuttons {
+ padding-bottom: 8px;
+ padding-inline-start: 8px;
+ padding-inline-end: 8px;
+}
+
+prefwindow[type="child"] .prefWindow-dlgbuttons {
+ padding: 0px;
+}
+
+radio[pane] {
+ -moz-appearance: none;
+ min-width: 4.5em;
+ margin: 0;
+ padding: 3px;
+ color: -moz-FieldText;
+}
+
+.paneSelector {
+ -moz-appearance: listbox;
+ margin: 8px 8px 0 8px;
+ padding: 0;
+}
+
+.paneButtonIcon {
+ width: 32px;
+ height: 32px;
+}
+
+radio[pane][selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
diff --git a/toolkit/themes/linux/global/printPageSetup.css b/toolkit/themes/linux/global/printPageSetup.css
new file mode 100644
index 0000000000..d9b17c1e5c
--- /dev/null
+++ b/toolkit/themes/linux/global/printPageSetup.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.portrait-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-portrait?size=button");
+}
+
+.landscape-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-landscape?size=button");
+}
diff --git a/toolkit/themes/linux/global/printPreview.css b/toolkit/themes/linux/global/printPreview.css
new file mode 100644
index 0000000000..5d20e35b97
--- /dev/null
+++ b/toolkit/themes/linux/global/printPreview.css
@@ -0,0 +1,19 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.navigate-button {
+ min-width: 1.9em;
+}
+
+.navigate-button > .toolbarbutton-icon {
+ display: none;
+}
+
+.toolbar-portrait-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-portrait?size=button");
+}
+
+.toolbar-landscape-page {
+ list-style-image: url("moz-icon://stock/gtk-orientation-landscape?size=button");
+}
diff --git a/toolkit/themes/linux/global/radio.css b/toolkit/themes/linux/global/radio.css
new file mode 100644
index 0000000000..5083e82f8d
--- /dev/null
+++ b/toolkit/themes/linux/global/radio.css
@@ -0,0 +1,110 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== radio.css ===================================================
+ == Styles used by the XUL radio element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: radio ::::: */
+
+radio {
+ -moz-appearance: radio-container;
+ margin: 2px 4px;
+ border-left: 2px transparent;
+ border-right: 2px transparent;
+}
+
+/* With native theming on, the spacer-box paints the radio mark and includes
+ the spacing to the right, so that oversized radio images can slop over
+ into the space.
+
+ If we need to disable radio button theming, the spacer box no longer paints
+ the radio mark, but its fallback CSS border supplies the padding between
+ the mark and the label. The xul:image then takes over painting the radio
+ mark. */
+
+.radio-spacer-box {
+ -moz-appearance: radio;
+ -moz-box-align: center;
+ margin: 2px;
+ border-right: 2px solid transparent;
+}
+
+.radio-label-center-box {
+ -moz-box-align: center;
+}
+
+.radio-label-box {
+ -moz-appearance: radio-label;
+}
+
+.radio-icon[src] {
+ margin-inline-end: 2px;
+}
+
+.radio-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+radio[focused="true"] > .radio-label-center-box > .radio-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+radio[disabled="true"] > .radio-spacer-box > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+radio[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: checkmark image ::::: */
+
+.radio-check-box1 {
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ border-left: 1px solid ThreeDShadow;
+ border-radius: 50%;
+ min-width: 12px;
+ min-height: 12px;
+ background-color: -moz-Field;
+}
+
+.radio-check-box2 {
+ border-top: 1px solid ThreeDDarkShadow;
+ border-right: 1px solid ThreeDLightShadow;
+ border-bottom: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDDarkShadow;
+ border-radius: 50%;
+ padding: 2px;
+ width: 4px;
+ height: 4px;
+ list-style-image: none;
+}
+
+radio:not([disabled="true"]):hover {
+ color: -moz-buttonhovertext;
+ text-shadow: none;
+}
+
+radio:hover:active > .radio-spacer-box > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+/* ..... selected state ..... */
+
+radio[selected="true"] > .radio-spacer-box > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check.gif");
+}
+
+radio[selected="true"][disabled="true"] > .radio-spacer-box > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check-dis.gif") !important
+}
diff --git a/toolkit/themes/linux/global/scrollbox.css b/toolkit/themes/linux/global/scrollbox.css
new file mode 100644
index 0000000000..90cbc86523
--- /dev/null
+++ b/toolkit/themes/linux/global/scrollbox.css
@@ -0,0 +1,33 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.autorepeatbutton-up > .autorepeatbutton-icon,
+.scrollbutton-up > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-up;
+}
+
+.autorepeatbutton-down > .autorepeatbutton-icon,
+.scrollbutton-down > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-down;
+}
+
+.autorepeatbutton-up[orient="horizontal"] > .autorepeatbutton-icon,
+.scrollbutton-up[orient="horizontal"] > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-previous;
+}
+
+.autorepeatbutton-down[orient="horizontal"] > .autorepeatbutton-icon,
+.scrollbutton-down[orient="horizontal"] > .toolbarbutton-icon {
+ -moz-appearance: button-arrow-next;
+}
+
+:-moz-any(.scrollbutton-up, .scrollbutton-down) > .toolbarbutton-text {
+ display: none;
+}
+
+autorepeatbutton {
+ border: 1px solid ThreeDShadow;
+}
diff --git a/toolkit/themes/linux/global/splitter.css b/toolkit/themes/linux/global/splitter.css
new file mode 100644
index 0000000000..193539d10b
--- /dev/null
+++ b/toolkit/themes/linux/global/splitter.css
@@ -0,0 +1,65 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== splitter.css ===================================================
+ == Styles used by the XUL splitter element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: splitter (vertical) ::::: */
+
+splitter {
+ -moz-appearance: splitter;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ cursor: ew-resize;
+}
+
+splitter[state="collapsed"][collapse="before"],
+splitter[state="collapsed"][substate="before"],
+splitter[state="collapsed"][collapse="after"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="after"]:-moz-locale-dir(rtl) {
+ cursor: e-resize;
+}
+
+splitter[state="collapsed"][collapse="after"],
+splitter[state="collapsed"][substate="after"],
+splitter[state="collapsed"][collapse="before"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="before"]:-moz-locale-dir(rtl) {
+ cursor: w-resize;
+}
+
+/* ::::: splitter (horizontal) ::::: */
+
+splitter[orient="vertical"] {
+ cursor: ns-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="before"],
+splitter[orient="vertical"][state="collapsed"][substate="before"] {
+ cursor: s-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="after"],
+splitter[orient="vertical"][state="collapsed"][substate="after"] {
+ cursor: n-resize;
+}
+
+splitter[disabled="true"] {
+ cursor: default !important;
+}
+
+/* ::::: splitter grippy ::::: */
+
+grippy {
+ cursor: pointer;
+ min-width: 4px;
+ min-height: 115px;
+}
+
+splitter[orient="vertical"] > grippy {
+ min-width: 115px;
+ min-height: 4px;
+}
diff --git a/toolkit/themes/linux/global/tabbox.css b/toolkit/themes/linux/global/tabbox.css
new file mode 100644
index 0000000000..e8c3741a84
--- /dev/null
+++ b/toolkit/themes/linux/global/tabbox.css
@@ -0,0 +1,91 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== tabbox.css =================================================
+ == Styles used by XUL tab-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+
+/* ::::: tabs ::::: */
+
+tabs {
+ position: relative;
+ z-index: 0;
+}
+
+/* ::::: tabpanels ::::: */
+
+tabpanels {
+ -moz-appearance: tabpanels;
+ border: 2px solid;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ padding: 8px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ::::: tab ::::: */
+
+tab {
+ position: relative;
+ -moz-appearance: tab;
+ margin-top: 2px;
+ border: 2px solid;
+ border-bottom: none;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ padding: 3px 4px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+tab[visuallyselected="true"] {
+ z-index: 1;
+ margin-top: 0;
+ margin-bottom: -2px;
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
+ padding-top: 4px;
+ padding-bottom: 6px;
+}
+
+tab + tab {
+ margin-inline-start: -2px;
+}
+
+.tab-text {
+ margin: 0 !important;
+}
+
+/* ::::: tab-bottom ::::::::::
+ :: Tabs that are attached to the bottom of a panel, but not necessarily
+ :: a tabpanels.
+ ::::: */
+
+.tab-bottom {
+ margin-top: 0;
+ margin-bottom: 2px;
+ border-top: none;
+ border-bottom: 2px solid;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.tab-bottom[visuallyselected="true"] {
+ margin-bottom: 0;
+ margin-top: -2px;
+ padding-top: 6px;
+ padding-bottom: 4px;
+}
diff --git a/toolkit/themes/linux/global/textbox.css b/toolkit/themes/linux/global/textbox.css
new file mode 100644
index 0000000000..9e75e0cd23
--- /dev/null
+++ b/toolkit/themes/linux/global/textbox.css
@@ -0,0 +1,92 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== textbox.css ==================================================
+ == Styles used by the XUL textbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: textbox ::::: */
+
+textbox {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 2px 2px 3px;
+ padding-inline-start: 4px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+html|*.textbox-input,
+html|*.textbox-textarea {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px 1px !important;
+ background-color: inherit;
+ color: inherit;
+ font: inherit;
+}
+
+.textbox-contextmenu {
+ cursor: default;
+}
+
+/* ..... readonly state ..... */
+
+textbox[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ..... disabled state ..... */
+
+textbox[disabled="true"] {
+ cursor: default;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: plain textbox ::::: */
+
+textbox.plain {
+ -moz-appearance: none !important;
+ background-color: transparent;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: none !important;
+}
+
+textbox.plain html|*.textbox-input,
+textbox.plain html|*.textbox-textarea {
+ padding: 0px !important;
+}
+
+/* ::::: search textbox ::::: */
+
+.textbox-search-icon {
+ list-style-image: url(moz-icon://stock/gtk-find?size=menu);
+}
+
+.textbox-search-clear {
+ list-style-image: url(moz-icon://stock/gtk-clear?size=menu);
+}
+
+.textbox-search-icon[searchbutton]:not([disabled]) ,
+.textbox-search-clear:not([disabled]) {
+ cursor: pointer;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > .textbox-input-box > html|*.textbox-input {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/linux/global/toolbar.css b/toolkit/themes/linux/global/toolbar.css
new file mode 100644
index 0000000000..f17fea12f1
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbar.css
@@ -0,0 +1,113 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== toolbar.css ====================================================
+ == Styles used by XUL toolbar-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbox ::::: */
+
+toolbox {
+ -moz-appearance: toolbox;
+}
+
+/* ::::: menubar & toolbar ::::: */
+
+toolbar {
+ -moz-appearance: toolbar;
+ min-width: 1px;
+ min-height: 20px;
+ padding: 2px 0px;
+}
+
+menubar, toolbar[type="menubar"] {
+ -moz-appearance: menubar;
+ color: -moz-menubartext;
+ min-width: 1px;
+ min-height: 20px;
+ padding: 1px 0px;
+}
+
+menubar:-moz-lwtheme,
+toolbar:-moz-lwtheme {
+ -moz-appearance: none;
+ color: inherit;
+}
+
+/* in browser.xul, the menubar is inside a toolbar... */
+toolbaritem > menubar {
+ -moz-appearance: none;
+}
+
+/* ::::: toolbar decorations ::::: */
+
+toolbarseparator {
+ -moz-appearance: separator;
+ margin : 0;
+ border: 0;
+ min-width: 2px;
+}
+
+toolbarspacer {
+ width: 15px;
+}
+
+/* ::::: toolbarpaletteitem ::::: */
+
+toolbarpaletteitem {
+ cursor: grab;
+}
+
+.toolbarpaletteitem-box[type="spacer"],
+.toolbarpaletteitem-box[type="spring"] {
+ border: 1px solid #808080;
+ background-color: #FFF !important;
+}
+
+toolbarpaletteitem[place="toolbar"] > toolbarspacer {
+ width: 11px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="toolbar"],
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-inline-start: 0px;
+ margin-inline-end: 2px;
+}
+
+.toolbarpaletteitem-box[type="separator"][place="palette"] {
+ width: 2px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="palette"],
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ margin-bottom: 2px;
+ width: 50px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ background: url("chrome://global/skin/toolbar/spring.png") no-repeat center;
+}
+
+/* ..... drag and drop feedback ..... */
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-left: -2px;
+ margin-right: -2px;
+ border-left: 2px solid transparent;
+ border-right: 2px solid transparent;
+}
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
diff --git a/toolkit/themes/linux/global/toolbar/spring.png b/toolkit/themes/linux/global/toolbar/spring.png
new file mode 100644
index 0000000000..3340f47191
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbar/spring.png
Binary files differ
diff --git a/toolkit/themes/linux/global/toolbarbutton.css b/toolkit/themes/linux/global/toolbarbutton.css
new file mode 100644
index 0000000000..c28d64d13c
--- /dev/null
+++ b/toolkit/themes/linux/global/toolbarbutton.css
@@ -0,0 +1,138 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== toolbarbutton.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbarbutton ::::: */
+
+toolbarbutton {
+ -moz-appearance: toolbarbutton;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 0;
+ padding: 3px;
+ color: -moz-DialogText;
+}
+
+toolbarbutton:-moz-lwtheme {
+ text-shadow: none;
+}
+
+.toolbarbutton-icon[label]:not([label=""]),
+.toolbarbutton-icon[type="menu"] {
+ margin-inline-end: 2px;
+}
+
+.toolbarbutton-text {
+ margin: 0 !important; /* !important for overriding global.css */
+ text-align: center;
+}
+
+toolbarbutton.tabbable {
+ -moz-user-focus: normal !important;
+}
+
+toolbarbutton:hover {
+ color: -moz-buttonhovertext;
+}
+
+toolbarbutton:hover:active,
+toolbarbutton[open="true"] {
+ padding-top: 4px;
+ padding-bottom: 2px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+ color: ButtonText;
+}
+
+toolbarbutton[disabled="true"],
+toolbarbutton[disabled="true"]:hover,
+toolbarbutton[disabled="true"]:hover:active,
+toolbarbutton[disabled="true"][open="true"] {
+ padding: 3px;
+ color: GrayText;
+}
+
+toolbarbutton[checked="true"]:not(:hover) {
+ color: ButtonText;
+}
+
+toolbarbutton:-moz-lwtheme:not(:hover):not([checked="true"]):not([open="true"]):not([disabled="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+}
+
+/* ::::: toolbarbutton menu ::::: */
+
+.toolbarbutton-menu-dropmarker {
+ -moz-appearance: toolbarbutton-dropdown !important;
+ list-style-image: none;
+ -moz-image-region: auto;
+ padding: 0;
+ margin: 0;
+}
+
+.toolbarbutton-menu-dropmarker[disabled="true"] {
+ padding: 0 !important;
+}
+
+/* ::::: toolbarbutton menu-button ::::: */
+
+toolbarbutton[type="menu-button"] {
+ -moz-box-align: stretch;
+ -moz-appearance: dualbutton;
+ -moz-box-orient: horizontal !important;
+}
+
+toolbarbutton[type="menu-button"],
+toolbarbutton[type="menu-button"]:hover,
+toolbarbutton[type="menu-button"]:hover:active,
+toolbarbutton[type="menu-button"][open="true"],
+toolbarbutton[type="menu-button"][disabled="true"],
+toolbarbutton[type="menu-button"][disabled="true"]:hover,
+toolbarbutton[type="menu-button"][disabled="true"]:hover:active {
+ padding: 0 !important;
+}
+
+.toolbarbutton-menubutton-button {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ -moz-box-orient: vertical;
+}
+
+/* ::::: toolbarbutton badged ::::: */
+.toolbarbutton-badge-stack > .toolbarbutton-icon[label]:not([label=""]) {
+ margin-inline-end: 0;
+}
+
+.toolbarbutton-badge {
+ background-color: #d90000;
+ font-size: 10px;
+ padding: 0 2px 1px;
+ color: #fff;
+ border-radius: 2px;
+ box-shadow: 0 1px 0 hsla(0, 100%, 100%, .2) inset,
+ 0 -1px 0 hsla(0, 0%, 0%, .1) inset,
+ 0 1px 0 hsla(206, 50%, 10%, .2);
+ margin: -6px 0 0 !important;
+ margin-inline-end: -8px !important;
+ min-width: 14px;
+ max-width: 28px;
+ line-height: 10px;
+ text-align: center;
+ -moz-stack-sizing: ignore;
+}
+
+/* .......... dropmarker .......... */
+
+.toolbarbutton-menubutton-dropmarker {
+ margin: 0 3px;
+ -moz-appearance: toolbarbutton-dropdown !important;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
diff --git a/toolkit/themes/linux/global/tree.css b/toolkit/themes/linux/global/tree.css
new file mode 100644
index 0000000000..2fb50da712
--- /dev/null
+++ b/toolkit/themes/linux/global/tree.css
@@ -0,0 +1,365 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== tree.css ===================================================
+ == Styles used by the XUL outline element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: tree ::::: */
+
+tree {
+ margin: 0px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+ -moz-appearance: listbox;
+}
+
+/* ::::: tree focusring ::::: */
+
+.focusring > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid transparent;
+}
+
+.focusring:focus > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid #000000;
+}
+
+
+/* ::::: tree rows ::::: */
+
+treechildren::-moz-tree-row {
+ border: 1px solid transparent;
+ min-height: 18px;
+ height: 1.3em;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(multicol, odd) {
+ background-color: -moz-oddtreerow;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected) {
+ background-color: -moz-cellhighlight;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected, focus) {
+ background-color: Highlight;
+}
+
+treechildren::-moz-tree-row(current, focus) {
+ border: 1px dotted Highlight;
+}
+
+treechildren::-moz-tree-row(selected, current, focus) {
+ border: 1px dotted #F3D982;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-row,
+tree[seltype="text"] > treechildren::-moz-tree-row {
+ border: none;
+ background-color: transparent;
+}
+
+/* ::::: tree cells ::::: */
+
+treechildren::-moz-tree-cell {
+ padding: 0px 2px 0px 2px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text,
+tree[seltype="text"] > treechildren::-moz-tree-cell-text,
+treechildren::-moz-tree-cell-text {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell-text(selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell {
+ border: 1px solid transparent;
+ padding: 0px 1px 0px 1px;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text {
+ border: 1px solid transparent;
+ padding: 0px 1px 1px 1px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected) {
+ background-color: -moz-cellhighlight;
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected) {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+treechildren::-moz-tree-cell-text(selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+/* ::::: lines connecting cells ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-line,
+tree[seltype="text"] > treechildren::-moz-tree-line,
+treechildren::-moz-tree-line {
+ border: 1px dotted ThreeDShadow;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-line(active, selected, focus),
+treechildren::-moz-tree-line(selected, focus) {
+ border: 1px dotted HighlightText;
+}
+
+
+/* ::::: tree separator ::::: */
+
+treechildren::-moz-tree-separator {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+
+/* ::::: drop feedback ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+treechildren::-moz-tree-cell-text(primary, dropOn) {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+treechildren::-moz-tree-drop-feedback {
+ background-color: Highlight;
+ width: 50px;
+ height: 2px;
+ margin-inline-start: 5px;
+}
+
+/* ::::: tree progress meter ::::: */
+
+treechildren::-moz-tree-progressmeter {
+ margin: 2px 4px;
+ padding: 1px;
+ border: 1px solid;
+ border-top-color: ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ border-left-color: ThreeDShadow;
+ background-color: -moz-Dialog;
+ color: ThreeDShadow;
+}
+
+treechildren::-moz-tree-cell-text(progressmeter) {
+ margin: 2px 4px;
+}
+
+/* ::::: tree columns ::::: */
+
+treecol,
+treecolpicker {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0px 2px;
+}
+
+treecol:hover,
+treecolpicker:hover {
+ color: -moz-buttonhovertext;
+}
+
+.treecol-image {
+ padding: 0px 1px;
+}
+
+.treecol-text {
+ margin: 0px !important;
+}
+
+treecol[hideheader="true"] {
+ -moz-appearance: none;
+ border: none;
+ padding: 0;
+}
+
+/* ..... internal box ..... */
+
+treecol:hover:active,
+treecolpicker:hover:active {
+ color: ButtonText;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-inline-start: 3px;
+ padding-inline-end: 1px;
+}
+
+.treecol-image:hover:active {
+ padding: 0px;
+ padding-inline-start: 2px;
+}
+
+treecol:hover:active .treecol-text {
+ margin: 1px 0px -1px 0px !important;
+}
+
+/* ::::: column drag and drop styles ::::: */
+
+treecol[dragging="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-right-colors: ThreeDDarkShadow transparent!important;
+ -moz-border-bottom-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-left-colors: ThreeDDarkShadow transparent !important;
+ background-color: ThreeDShadow !important;
+ color: ThreeDHighlight !important;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(ltr),
+treecol[insertbefore="true"]:-moz-locale-dir(rtl) {
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(rtl),
+treecol[insertbefore="true"]:-moz-locale-dir(ltr) {
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertbefore) {
+ border-inline-start: 1px solid ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertafter) {
+ border-inline-end: 1px solid ThreeDShadow;
+}
+
+/* ::::: sort direction indicator ::::: */
+
+.treecol-sortdirection {
+ -moz-appearance: treeheadersortarrow;
+}
+
+/* ::::: column picker ::::: */
+
+.tree-columnpicker-icon {
+ list-style-image: url("chrome://global/skin/tree/columnpicker.gif");
+}
+
+/* ::::: twisty ::::: */
+
+treechildren::-moz-tree-twisty {
+ -moz-appearance: treetwisty;
+ padding-inline-end: 4px;
+ padding-top: 1px;
+ width: 9px; /* The image's width is 9 pixels */
+ list-style-image: url("chrome://global/skin/tree/twisty-clsd.png");
+}
+
+treechildren::-moz-tree-twisty(open) {
+ -moz-appearance: treetwistyopen;
+ width: 9px; /* The image's width is 9 pixels */
+ list-style-image: url("chrome://global/skin/tree/twisty-open.png");
+}
+
+treechildren::-moz-tree-indentation {
+ width: 18px;
+}
+
+/* ::::: gridline style ::::: */
+
+treechildren.gridlines::-moz-tree-cell {
+ border-right: 1px solid transparent !important;
+ border-bottom: 1px solid transparent !important;
+}
+
+treechildren.gridlines::-moz-tree-row {
+ border: none;
+}
+
+/* ::::: editable tree ::::: */
+
+treechildren::-moz-tree-row(selected, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(selected, editing) {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="text"] > treechildren::-moz-tree-cell(active, selected, focus, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(active, selected, editing) {
+ opacity: 0;
+}
+
+.tree-input {
+ -moz-appearance: none;
+ border: 1px solid Highlight;
+ -moz-border-top-colors: Highlight;
+ -moz-border-bottom-colors: Highlight;
+ -moz-border-left-colors: Highlight;
+ -moz-border-right-colors: Highlight;
+ margin: 0;
+ margin-inline-start: -4px;
+ padding: 1px;
+}
diff --git a/toolkit/themes/linux/global/tree/twisty-clsd.png b/toolkit/themes/linux/global/tree/twisty-clsd.png
new file mode 100644
index 0000000000..f67f60cd00
--- /dev/null
+++ b/toolkit/themes/linux/global/tree/twisty-clsd.png
Binary files differ
diff --git a/toolkit/themes/linux/global/tree/twisty-open.png b/toolkit/themes/linux/global/tree/twisty-open.png
new file mode 100644
index 0000000000..b8b7583bf8
--- /dev/null
+++ b/toolkit/themes/linux/global/tree/twisty-open.png
Binary files differ
diff --git a/toolkit/themes/linux/moz.build b/toolkit/themes/linux/moz.build
new file mode 100644
index 0000000000..8f98eff895
--- /dev/null
+++ b/toolkit/themes/linux/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['global', 'mozapps']
+
diff --git a/toolkit/themes/linux/mozapps/downloads/downloadIcon.png b/toolkit/themes/linux/mozapps/downloads/downloadIcon.png
new file mode 100644
index 0000000000..39eeb7be17
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/downloads/downloadIcon.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/downloads/downloads.css b/toolkit/themes/linux/mozapps/downloads/downloads.css
new file mode 100644
index 0000000000..bb441f4b11
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/downloads/downloads.css
@@ -0,0 +1,112 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#downloadManager {
+ background-color: ThreeDFace;
+}
+
+/* Download View */
+#downloadView {
+ -moz-appearance: none !important;
+ margin: 0;
+ border-bottom: 2px solid;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+}
+
+/* Download View Items */
+richlistitem[type="download"] {
+ padding: 4px 8px 4px 4px;
+ min-height: 46px;
+}
+
+richlistitem[type="download"]:not([selected="true"]):nth-child(odd) {
+ background-color: -moz-oddtreerow;
+}
+
+richlistitem[type="download"] .name {
+ font-size: larger;
+}
+
+richlistitem[type="download"] .dateTime {
+ font-size: smaller;
+}
+
+.mini-button {
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ padding: 0;
+ margin: 0;
+ min-width: 0;
+ min-height: 0;
+}
+
+.mini-button > .button-box {
+ padding: 0 !important;
+}
+
+menuitem:not([type]) {
+ -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
+}
+
+.cancel,
+#menuitem_cancel {
+ list-style-image: url("moz-icon://stock/gtk-cancel?size=menu");
+}
+
+#menuitem_open {
+ list-style-image: url("moz-icon://stock/gtk-open?size=menu");
+}
+#menuitem_open[disabled="true"] {
+ list-style-image: url("moz-icon://stock/gtk-open?size=menu&state=disabled");
+}
+
+.pause,
+#menuitem_pause {
+ list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu");
+}
+
+.pause[disabled="true"],
+#menuitem_pause[disabled="true"] {
+ list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu&state=disabled");
+}
+
+.resume,
+#menuitem_resume {
+ list-style-image: url("moz-icon://stock/gtk-media-play?size=menu");
+}
+
+.retry,
+#menuitem_retry {
+ list-style-image: url("moz-icon://stock/gtk-redo?size=menu");
+}
+
+#menuitem_removeFromList {
+ list-style-image: url("moz-icon://stock/gtk-remove?size=menu");
+}
+
+#menuitem_copyLocation {
+ list-style-image: url("moz-icon://stock/gtk-copy?size=menu");
+}
+
+.blockedIcon {
+ list-style-image: url("moz-icon://stock/gtk-dialog-error?size=dialog");
+ width: 32px;
+ height: 32px;
+}
+
+/* prevent flickering when changing states */
+.downloadTypeIcon {
+ min-height: 32px;
+ min-width: 32px;
+}
+
+#clearListButton {
+ list-style-image: url(moz-icon://stock/gtk-clear?size=button);
+ margin-top: 3px;
+}
+
+#clearListButton[disabled="true"] {
+ list-style-image: url(moz-icon://stock/gtk-clear?size=button&state=disabled);
+}
diff --git a/toolkit/themes/linux/mozapps/extensions/category-available.png b/toolkit/themes/linux/mozapps/extensions/category-available.png
new file mode 100644
index 0000000000..689d526c9d
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-available.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/category-discover.png b/toolkit/themes/linux/mozapps/extensions/category-discover.png
new file mode 100644
index 0000000000..ccea27524f
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-discover.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/category-plugins.png b/toolkit/themes/linux/mozapps/extensions/category-plugins.png
new file mode 100644
index 0000000000..b253dd08f9
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-plugins.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/category-recent.png b/toolkit/themes/linux/mozapps/extensions/category-recent.png
new file mode 100644
index 0000000000..9039b27aac
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-recent.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/category-search.png b/toolkit/themes/linux/mozapps/extensions/category-search.png
new file mode 100644
index 0000000000..52e91a7cea
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-search.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/category-service.png b/toolkit/themes/linux/mozapps/extensions/category-service.png
new file mode 100644
index 0000000000..997c8541ca
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/category-service.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric-16.png b/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric-16.png
new file mode 100644
index 0000000000..08a0447a47
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric.png b/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric.png
new file mode 100644
index 0000000000..a1e0d53596
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/dictionaryGeneric.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/extensionGeneric-16.png b/toolkit/themes/linux/mozapps/extensions/extensionGeneric-16.png
new file mode 100644
index 0000000000..b1a2f36521
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/extensionGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/extensions.css b/toolkit/themes/linux/mozapps/extensions/extensions.css
new file mode 100644
index 0000000000..a756699377
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/extensions.css
@@ -0,0 +1,42 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/extensions.inc.css
+
+#header-utils-btn .toolbarbutton-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-native");
+}
+
+.sorter[checkState="1"] .button-icon {
+ display: -moz-box;
+ list-style-image: url("moz-icon://stock/gtk-sort-descending?size=16");
+}
+
+.sorter[checkState="2"] .button-icon {
+ display: -moz-box;
+ list-style-image: url("moz-icon://stock/gtk-sort-ascending?size=16");
+}
+
+.addon .relnotes-toggle {
+ list-style-image: url("moz-icon://stock/gtk-go-down?size=16");
+}
+
+.addon .relnotes-toggle > .button-box > .button-icon {
+ display: -moz-box;
+}
+
+.addon[show-relnotes] .relnotes-toggle {
+ list-style-image: url("moz-icon://stock/gtk-go-up?size=16");
+}
+
+.meta-rating[showrating="average"] > .star {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
+ padding: 0 1px;
+}
+
+.meta-rating > .star[on="true"],
+.meta-rating[showrating="user"] > .star[hover] {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
+ padding: 0 1px;
+}
diff --git a/toolkit/themes/linux/mozapps/extensions/heart.png b/toolkit/themes/linux/mozapps/extensions/heart.png
new file mode 100644
index 0000000000..655f4c4be7
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/heart.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/localeGeneric.png b/toolkit/themes/linux/mozapps/extensions/localeGeneric.png
new file mode 100644
index 0000000000..c721159066
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/localeGeneric.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/newaddon.css b/toolkit/themes/linux/mozapps/extensions/newaddon.css
new file mode 100644
index 0000000000..edfba0ef55
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/newaddon.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/newaddon.inc.css
diff --git a/toolkit/themes/linux/mozapps/extensions/themeGeneric-16.png b/toolkit/themes/linux/mozapps/extensions/themeGeneric-16.png
new file mode 100644
index 0000000000..019886fea5
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/themeGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/extensions/themeGeneric.png b/toolkit/themes/linux/mozapps/extensions/themeGeneric.png
new file mode 100644
index 0000000000..cde1c7834b
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/extensions/themeGeneric.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/jar.mn b/toolkit/themes/linux/mozapps/jar.mn
new file mode 100644
index 0000000000..2070dd6fdb
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/jar.mn
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+#include ../../shared/mozapps.inc.mn
+ skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
+ skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
+* skin/classic/mozapps/extensions/extensions.css (extensions/extensions.css)
+ skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
+ skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)
+ skin/classic/mozapps/extensions/category-plugins.png (extensions/category-plugins.png)
+ skin/classic/mozapps/extensions/category-service.png (extensions/category-service.png)
+ skin/classic/mozapps/extensions/category-recent.png (extensions/category-recent.png)
+ skin/classic/mozapps/extensions/category-available.png (extensions/category-available.png)
+ skin/classic/mozapps/extensions/extensionGeneric-16.png (extensions/extensionGeneric-16.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric.png (extensions/dictionaryGeneric.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric-16.png (extensions/dictionaryGeneric-16.png)
+ skin/classic/mozapps/extensions/themeGeneric.png (extensions/themeGeneric.png)
+ skin/classic/mozapps/extensions/themeGeneric-16.png (extensions/themeGeneric-16.png)
+ skin/classic/mozapps/extensions/localeGeneric.png (extensions/localeGeneric.png)
+* skin/classic/mozapps/extensions/newaddon.css (extensions/newaddon.css)
+ skin/classic/mozapps/extensions/heart.png (extensions/heart.png)
+ skin/classic/mozapps/plugins/pluginGeneric.png (plugins/pluginGeneric.png)
+ skin/classic/mozapps/plugins/pluginBlocked.png (plugins/pluginBlocked.png)
+ skin/classic/mozapps/plugins/pluginGeneric-16.png (plugins/pluginGeneric-16.png)
+ skin/classic/mozapps/profile/profileicon.png (profile/profileicon.png)
+ skin/classic/mozapps/update/updates.css (update/updates.css)
+ skin/classic/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
diff --git a/toolkit/themes/linux/mozapps/moz.build b/toolkit/themes/linux/mozapps/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/linux/mozapps/plugins/pluginBlocked.png b/toolkit/themes/linux/mozapps/plugins/pluginBlocked.png
new file mode 100644
index 0000000000..7238c8dbdd
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/plugins/pluginBlocked.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/plugins/pluginGeneric-16.png b/toolkit/themes/linux/mozapps/plugins/pluginGeneric-16.png
new file mode 100644
index 0000000000..34cabf8553
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/plugins/pluginGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/plugins/pluginGeneric.png b/toolkit/themes/linux/mozapps/plugins/pluginGeneric.png
new file mode 100644
index 0000000000..d9aef96a2b
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/plugins/pluginGeneric.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/profile/profileicon.png b/toolkit/themes/linux/mozapps/profile/profileicon.png
new file mode 100644
index 0000000000..6a5679330f
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/profile/profileicon.png
Binary files differ
diff --git a/toolkit/themes/linux/mozapps/update/updates.css b/toolkit/themes/linux/mozapps/update/updates.css
new file mode 100644
index 0000000000..90ff4f511b
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/update/updates.css
@@ -0,0 +1,130 @@
+/* General */
+/* Specify the size for the wizardpage so the billboard has a fixed size. 3rd
+ party themes should typically specify the same values. */
+wizardpage {
+ height: 360px;
+ width: 700px;
+}
+
+/* Remove margin and padding so the billboard will extend to the edge of the
+ window. 3rd party themes should typically specify the same values. */
+#updates, .wizard-page-box {
+ margin: 0;
+ padding: 0;
+}
+
+.update-header {
+ padding: 0px 10px;
+}
+
+.update-content {
+ padding: 10px;
+}
+
+.wizard-buttons-separator {
+ margin-top: 0 !important;
+}
+
+.inline-link {
+ color: -moz-nativehyperlinktext;
+ text-decoration: none;
+}
+
+.inline-link:hover {
+ text-decoration: underline;
+}
+
+/* Unsupported Page */
+#unsupportedLabel, #unsupportedLinkLabel {
+ margin-inline-start: 0;
+ padding-inline-start: 0;
+}
+
+/* Update Found Basic Page */
+#updateName, #updateFinishedName {
+ font-weight: bold;
+ font-size: larger;
+}
+
+/* Downloading Page */
+#downloadStatusLine {
+ -moz-box-align: center;
+}
+
+#downloadStatus {
+ height: 3em !important;
+}
+
+#downloadStatusProgress {
+ padding-right: 5px;
+}
+
+#pauseButton {
+ list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu");
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ min-width: 0;
+ min-height: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/* !Important must be used otherwise this won't immediately take affect */
+#pauseButton > .button-box {
+ padding: 0 !important;
+}
+
+#pauseButton[disabled="true"] {
+ list-style-image: url("moz-icon://stock/gtk-media-pause?size=menu&state=disabled");
+}
+
+#pauseButton[paused="true"] {
+ list-style-image: url("moz-icon://stock/gtk-media-play?size=menu");
+}
+
+#pauseButton[paused="true"][disabled="true"] {
+ list-style-image: url("moz-icon://stock/gtk-media-play?size=menu&state=disabled");
+}
+
+#verificationFailedIcon {
+ margin-left: 5px;
+ list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
+}
+
+/* Error Page */
+#errorReason {
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px !important;
+ margin-inline-end: 5px;
+ font-weight: bold;
+}
+
+/* Update History Window */
+update {
+ border-bottom: 1px dotted #C0C0C0;
+}
+
+.update-name {
+ font-weight: bold;
+}
+
+.update-label-column {
+ -moz-box-align: end;
+}
+
+.update-type {
+ font-weight: bold;
+ color: #990000;
+}
+
+#historyItems {
+ -moz-appearance: listbox;
+ height: 200px;
+ margin: 1px 5px 4px 5px;
+}
+
+#historyItems > scrollbox {
+ margin-bottom: 1px;
+}
diff --git a/toolkit/themes/linux/mozapps/viewsource/viewsource.css b/toolkit/themes/linux/mozapps/viewsource/viewsource.css
new file mode 100644
index 0000000000..5c33c73e92
--- /dev/null
+++ b/toolkit/themes/linux/mozapps/viewsource/viewsource.css
@@ -0,0 +1,122 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* Stock icons for the menu bar items */
+menuitem:not([type]) {
+ -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
+}
+
+#menu_savePage {
+ list-style-image: url("moz-icon://stock/gtk-save-as?size=menu");
+}
+
+#menu_printPreview {
+ list-style-image: url("moz-icon://stock/gtk-print-preview?size=menu");
+}
+
+#menu_print {
+ list-style-image: url("moz-icon://stock/gtk-print?size=menu");
+}
+
+#menu_close {
+ list-style-image: url("moz-icon://stock/gtk-close?size=menu");
+}
+
+#menu_undo {
+ list-style-image: url("moz-icon://stock/gtk-undo?size=menu");
+}
+
+#menu_undo[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-undo?size=menu&state=disabled");
+}
+
+#menu_redo {
+ list-style-image: url("moz-icon://stock/gtk-redo?size=menu");
+}
+
+#menu_redo[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-redo?size=menu&state=disabled");
+}
+
+#menu_cut {
+ list-style-image: url("moz-icon://stock/gtk-cut?size=menu");
+}
+
+#menu_cut[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-cut?size=menu&state=disabled");
+}
+
+#cMenu_copy,
+#menu_copy {
+ list-style-image: url("moz-icon://stock/gtk-copy?size=menu");
+}
+
+#menu_copy[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-copy?size=menu&state=disabled");
+}
+
+#menu_paste {
+ list-style-image: url("moz-icon://stock/gtk-paste?size=menu");
+}
+
+#menu_paste[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-paste?size=menu&state=disabled");
+}
+
+#menu_delete {
+ list-style-image: url("moz-icon://stock/gtk-delete?size=menu");
+}
+
+#menu_delete[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-delete?size=menu&state=disabled");
+}
+
+#cMenu_selectAll,
+#menu_selectAll {
+ list-style-image: url("moz-icon://stock/gtk-select-all?size=menu");
+}
+
+#menu_find {
+ list-style-image: url("moz-icon://stock/gtk-find?size=menu");
+}
+
+#menu_find[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-find?size=menu&state=disabled");
+}
+
+#menu_goToLine {
+ list-style-image: url("moz-icon://stock/gtk-jump-to?size=menu");
+}
+
+#menu_goToLine[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-jump-to?size=menu&state=disabled");
+}
+
+#menu_reload {
+ list-style-image: url("moz-icon://stock/gtk-refresh?size=menu");
+}
+
+#menu_reload[disabled] {
+ list-style-image: url("moz-icon://stock/gtk-refresh?size=menu&state=disabled");
+}
+
+#menu_textEnlarge {
+ list-style-image: url("moz-icon://stock/gtk-zoom-in?size=menu");
+}
+
+#menu_textReduce {
+ list-style-image: url("moz-icon://stock/gtk-zoom-out?size=menu");
+}
+
+#menu_textReset {
+ list-style-image: url("moz-icon://stock/gtk-zoom-100?size=menu");
+}
+
+#menu_openHelp {
+ list-style-image: url("moz-icon://stock/gtk-help?size=menu");
+}
+
+#aboutName {
+ list-style-image: url("moz-icon://stock/gtk-about?size=menu");
+}
diff --git a/toolkit/themes/mobile/global/empty.css b/toolkit/themes/mobile/global/empty.css
new file mode 100644
index 0000000000..d615bf8862
--- /dev/null
+++ b/toolkit/themes/mobile/global/empty.css
@@ -0,0 +1,7 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * Empty stub for theme CSS
+ */
diff --git a/toolkit/themes/mobile/global/icons/Error.png b/toolkit/themes/mobile/global/icons/Error.png
new file mode 100644
index 0000000000..bd4064f49a
--- /dev/null
+++ b/toolkit/themes/mobile/global/icons/Error.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/TopLevelImageDocument.css b/toolkit/themes/mobile/global/media/TopLevelImageDocument.css
new file mode 100644
index 0000000000..5242175161
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/TopLevelImageDocument.css
@@ -0,0 +1,17 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@media not print {
+ /* N.B.: Remember to update ImageDocument.css in the tree or reftests may fail! */
+
+ body {
+ color: #eee;
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ }
+
+ img.transparent {
+ background: hsl(0,0%,90%) url("chrome://global/skin/media/imagedoc-lightnoise.png");
+ color: #222;
+ }
+}
diff --git a/toolkit/themes/mobile/global/media/TopLevelVideoDocument.css b/toolkit/themes/mobile/global/media/TopLevelVideoDocument.css
new file mode 100644
index 0000000000..760cdcd538
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/TopLevelVideoDocument.css
@@ -0,0 +1,12 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ background-color: rgb(33,33,33); /* Average color of that ^ image. */
+}
+
+video {
+ box-shadow: 0 0 15px #000;
+}
diff --git a/toolkit/themes/mobile/global/media/clicktoplay-bgtexture.png b/toolkit/themes/mobile/global/media/clicktoplay-bgtexture.png
new file mode 100644
index 0000000000..0d3cacd117
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/clicktoplay-bgtexture.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/error.png b/toolkit/themes/mobile/global/media/error.png
new file mode 100644
index 0000000000..58e37283a7
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/error.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/imagedoc-darknoise.png b/toolkit/themes/mobile/global/media/imagedoc-darknoise.png
new file mode 100644
index 0000000000..5c33e24d4c
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/imagedoc-darknoise.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/imagedoc-lightnoise.png b/toolkit/themes/mobile/global/media/imagedoc-lightnoise.png
new file mode 100644
index 0000000000..3467cf4d47
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/imagedoc-lightnoise.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/throbber.png b/toolkit/themes/mobile/global/media/throbber.png
new file mode 100644
index 0000000000..8e49fe5b2a
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/throbber.png
Binary files differ
diff --git a/toolkit/themes/mobile/global/media/videoClickToPlayButton.svg b/toolkit/themes/mobile/global/media/videoClickToPlayButton.svg
new file mode 100644
index 0000000000..f7ca6b6535
--- /dev/null
+++ b/toolkit/themes/mobile/global/media/videoClickToPlayButton.svg
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 64 64">
+ <defs>
+ <linearGradient id="whiteGradientStops">
+ <stop style="stop-color:#fff;stop-opacity:.95" offset="0"/>
+ <stop style="stop-color:#fff;stop-opacity:.75" offset=".45"/>
+ <stop style="stop-color:#fff;stop-opacity:.72" offset=".55"/>
+ <stop style="stop-color:#fff;stop-opacity:.65" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="0" x2="32" y2="62" id="whiteGradient" xlink:href="#whiteGradientStops" gradientUnits="userSpaceOnUse"/>
+ <linearGradient id="arrowGradientStops">
+ <stop style="stop-color:#333;stop-opacity:.5" offset="0"/>
+ <stop style="stop-color:#666;stop-opacity:.5" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="16" x2="32" y2="48" id="arrowGradient" xlink:href="#arrowGradientStops" gradientUnits="userSpaceOnUse"/>
+ <filter x="-0.15" y="-0.15" width="1.25" height="1.25" color-interpolation-filters="sRGB" id="dropShadow">
+ <feDropShadow dx="0" dy="1" flood-opacity="0.5"/>
+ </filter>
+ <mask id="dropShadowMask">
+ <path style="fill:#fff;" d="M47.285,30.991L23.75,17.24c-0.357-0.208-0.692-0.278-0.969-0.221 C22.32,17.115,22,17.555,22,18.252v27.499c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748C48.238,32.458,48.238,31.547,47.285,30.991 z M0,0v64h64V0H0z M32,60C16.536,60,4,47.464,4,32S16.536,4,32,4s28,12.536,28,28S47.464,60,32,60z"/>
+ </mask>
+ </defs>
+ <path mask="url(#dropShadowMask)" id="playButtonShadow" style="filter:url(#dropShadow);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonArrow" style="fill:url(#arrowGradient);" d="M22.781,17.019C22.32,17.114,22,17.555,22,18.251v27.5c0,1.112,0.797,1.568,1.75,1.011 l23.535-13.748c0.953-0.556,0.953-1.467,0-2.023L23.75,17.24C23.393,17.031,23.058,16.961,22.781,17.019z"/>
+ <path id="playButton" style="fill:url(#whiteGradient);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonEdgeHighlights" style="fill:white;fill-opacity:.3;" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M32,59C17.112,59,5,46.888,5,32S17.112,5,32,5s27,12.112,27,27S46.888,59,32,59z M47.789,30.127l-23.534-13.75 C23.826,16.126,23.396,16,22.976,16c-0.135,0-0.27,0.014-0.398,0.041C21.62,16.238,21,17.106,21,18.251v27.5 C21,47.075,21.812,48,22.977,48c0.423,0,0.854-0.126,1.279-0.375L47.79,33.877c0.769-0.449,1.21-1.132,1.21-1.875 S48.559,30.576,47.789,30.127z M47.285,33.014L23.75,46.762C23.474,46.924,23.211,47,22.977,47C22.402,47,22,46.541,22,45.751v-27.5 c0-0.697,0.32-1.137,0.781-1.232L22.976,17c0.233,0,0.498,0.079,0.775,0.24l23.535,13.751 C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonTopEdgeHighlights" style="fill:white;fill-opacity:.8;" d="M32,4C16.536,4,4,16.536,4,32c0,0.167,0.01,0.333,0.013,0.5 C4.28,17.268,16.704,5,32,5c15.296,0,27.72,12.268,27.987,27.5C59.99,32.333,60,32.167,60,32C60,16.536,47.464,4,32,4z M47.285,33.014L23.75,46.762C22.797,47.319,22,46.863,22,45.751v1c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748 c0.697-0.406,0.879-1.003,0.556-1.512C47.723,32.688,47.541,32.864,47.285,33.014z"/>
+</svg>
diff --git a/toolkit/themes/mobile/jar.mn b/toolkit/themes/mobile/jar.mn
new file mode 100644
index 0000000000..62f8893494
--- /dev/null
+++ b/toolkit/themes/mobile/jar.mn
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+% skin global classic/1.0 %skin/classic/global/
+# These are the CSS files that must exist
+ skin/classic/global/autocomplete.css (global/empty.css)
+ skin/classic/global/button.css (global/empty.css)
+ skin/classic/global/checkbox.css (global/empty.css)
+ skin/classic/global/dialog.css (global/empty.css)
+ skin/classic/global/dropmarker.css (global/empty.css)
+ skin/classic/global/global.css (global/empty.css)
+ skin/classic/global/groupbox.css (global/empty.css)
+ skin/classic/global/listbox.css (global/empty.css)
+ skin/classic/global/menu.css (global/empty.css)
+ skin/classic/global/menulist.css (global/empty.css)
+ skin/classic/global/numberbox.css (global/empty.css)
+ skin/classic/global/popup.css (global/empty.css)
+ skin/classic/global/preferences.css (global/empty.css)
+ skin/classic/global/progressmeter.css (global/empty.css)
+ skin/classic/global/radio.css (global/empty.css)
+ skin/classic/global/resizer.css (global/empty.css)
+ skin/classic/global/richlistbox.css (global/empty.css)
+ skin/classic/global/scale.css (global/empty.css)
+ skin/classic/global/scrollbox.css (global/empty.css)
+ skin/classic/global/spinbuttons.css (global/empty.css)
+ skin/classic/global/splitter.css (global/empty.css)
+ skin/classic/global/tabbox.css (global/empty.css)
+ skin/classic/global/textbox.css (global/empty.css)
+ skin/classic/global/toolbar.css (global/empty.css)
+ skin/classic/global/toolbarbutton.css (global/empty.css)
+ skin/classic/global/tree.css (global/empty.css)
+ skin/classic/global/wizard.css (global/empty.css)
+ skin/classic/global/scrollbars.css (global/empty.css)
+
+ skin/classic/global/media/clicktoplay-bgtexture.png (global/media/clicktoplay-bgtexture.png)
+ skin/classic/global/media/error.png (global/media/error.png)
+ skin/classic/global/media/throbber.png (global/media/throbber.png)
+ skin/classic/global/media/videoClickToPlayButton.svg (global/media/videoClickToPlayButton.svg)
+ skin/classic/global/media/TopLevelImageDocument.css (global/media/TopLevelImageDocument.css)
+ skin/classic/global/media/TopLevelVideoDocument.css (global/media/TopLevelVideoDocument.css)
+ skin/classic/global/media/imagedoc-lightnoise.png (global/media/imagedoc-lightnoise.png)
+ skin/classic/global/media/imagedoc-darknoise.png (global/media/imagedoc-darknoise.png)
+
+ skin/classic/global/icons/Error.png (global/icons/Error.png)
+
+% skin mozapps classic/1.0 %skin/classic/mozapps/
+ skin/classic/mozapps/plugins/pluginProblem.css (mozapps/plugins/pluginProblem.css)
+
+ skin/classic/mozapps/plugins/contentPluginActivate.png (mozapps/plugins/contentPluginActivate.png)
+ skin/classic/mozapps/plugins/contentPluginBlocked.png (mozapps/plugins/contentPluginBlocked.png)
+ skin/classic/mozapps/plugins/contentPluginClose.png (mozapps/plugins/contentPluginClose.png)
+ skin/classic/mozapps/plugins/contentPluginCrashed.png (mozapps/plugins/contentPluginCrashed.png)
+ skin/classic/mozapps/plugins/contentPluginStripe.png (mozapps/plugins/contentPluginStripe.png)
diff --git a/toolkit/themes/mobile/moz.build b/toolkit/themes/mobile/moz.build
new file mode 100644
index 0000000000..aac3a838c4
--- /dev/null
+++ b/toolkit/themes/mobile/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginActivate.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginActivate.png
new file mode 100644
index 0000000000..31351dc3b7
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginActivate.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginBlocked.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginBlocked.png
new file mode 100644
index 0000000000..1e092bf189
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginBlocked.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginClose.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginClose.png
new file mode 100644
index 0000000000..61eb558288
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginClose.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginCrashed.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginCrashed.png
new file mode 100644
index 0000000000..89d3e91a99
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginCrashed.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginDisabled.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginDisabled.png
new file mode 100644
index 0000000000..b8b6a10205
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginDisabled.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/contentPluginStripe.png b/toolkit/themes/mobile/mozapps/plugins/contentPluginStripe.png
new file mode 100644
index 0000000000..6035ee1215
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/contentPluginStripe.png
Binary files differ
diff --git a/toolkit/themes/mobile/mozapps/plugins/pluginProblem.css b/toolkit/themes/mobile/mozapps/plugins/pluginProblem.css
new file mode 100644
index 0000000000..e436b96cf1
--- /dev/null
+++ b/toolkit/themes/mobile/mozapps/plugins/pluginProblem.css
@@ -0,0 +1,196 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace html url(http://www.w3.org/1999/xhtml);
+
+/* These styles affect only the bound element, not other page content. */
+/* Keep any changes to these styles in sync with plugin-doorhanger.inc.css */
+.mainBox {
+ font: message-box;
+ font-size: 12px;
+ text-align: center;
+ display: table;
+ width: 100%;
+ height: 100%;
+ background-color: rgb(72,72,72);
+ color: white;
+ -moz-user-select: none;
+}
+
+.hoverBox {
+ display: table-cell;
+ box-sizing: border-box;
+ padding: 5px;
+ vertical-align: middle;
+ width: 100%;
+ height: 100%;
+}
+:-moz-handler-vulnerable-updatable .hoverBox:active,
+:-moz-handler-vulnerable-no-update .hoverBox:active,
+:-moz-handler-clicktoplay .hoverBox:active {
+ background-color: rgb(65, 65, 65);
+}
+
+:-moz-handler-clicktoplay .hoverBox:active .msgTapToPlay,
+:-moz-handler-clicktoplay .hoverBox:active .msgClickToPlay,
+:-moz-handler-vulnerable-updatable .hoverBox:active .msgTapToPlay,
+:-moz-handler-vulnerable-updatable .hoverBox:active .msgClickToPlay,
+:-moz-handler-vulnerable-no-update .hoverBox:active .msgTapToPlay,
+:-moz-handler-vulnerable-no-update .hoverBox:active .msgClickToPlay {
+ color: red;
+}
+
+:-moz-handler-vulnerable-updatable .hoverBox,
+:-moz-handler-vulnerable-no-update .hoverBox,
+:-moz-handler-blocked .hoverBox,
+:-moz-handler-crashed .hoverBox {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginStripe.png);
+}
+
+html|a {
+ color: white;
+}
+
+.icon {
+ width: 48px;
+ height: 48px;
+ background-position: center;
+ background-repeat: no-repeat;
+ border: none;
+ background-color: transparent;
+ -moz-user-focus: ignore;
+ margin-bottom: 6px;
+}
+
+:-moz-handler-vulnerable-updatable .icon,
+:-moz-handler-vulnerable-no-update .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
+ -moz-user-focus: normal;
+}
+:-moz-handler-blocked .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
+}
+:-moz-handler-clicktoplay .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginActivate.png);
+ -moz-user-focus: normal;
+}
+:-moz-handler-crashed .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginCrashed.png);
+}
+
+.throbber {
+ padding-left: 16px; /* width of the background image */
+ background: url(chrome://global/skin/icons/loading.png) no-repeat;
+ margin-left: 5px;
+}
+
+.msgTapToPlay,
+.msgClickToPlay {
+ text-decoration: underline;
+}
+
+@media not all and (-moz-touch-enabled) {
+ :-moz-handler-clicktoplay .msgTapToPlay {
+ display: none;
+ }
+}
+
+@media (-moz-touch-enabled) {
+ :-moz-handler-clicktoplay .msgClickToPlay {
+ display: none;
+ }
+}
+
+.submitStatus div {
+ min-height: 19px; /* height of biggest line (with throbber) */
+}
+
+.submitComment {
+ width: 340px;
+ height: 70px;
+ padding: 5px;
+ border: none;
+ border-radius: 5px;
+ resize: none;
+ font-family: inherit;
+ font-size: inherit;
+}
+
+.submitURLOptInBox {
+ text-align: start;
+}
+
+.submitURLOptIn {
+ margin-left: -1px;
+}
+
+.mainBox[chromedir="rtl"] .submitURLOptIn {
+ margin-left: 0;
+ margin-right: -1px;
+}
+
+.submitButtonBox {
+ margin-top: 7px;
+}
+
+.submitButton {
+ float: right;
+}
+
+.mainBox[chromedir="rtl"] .submitButton {
+ float: left;
+}
+
+.helpIcon {
+ display: inline-block;
+ min-width: 16px;
+ min-height: 16px;
+ background: url(chrome://mozapps/skin/plugins/pluginHelp-16.png) no-repeat;
+ cursor: pointer;
+ float: left;
+}
+
+.mainBox[chromedir="rtl"] .helpIcon {
+ float: right;
+}
+
+.closeIcon {
+ display: block;
+ width: 16px;
+ height: 16px;
+ margin-top: 4px;
+ margin-inline-start: -20px;
+ margin-inline-end: 4px;
+ border: none;
+ background-color: transparent;
+ background-image: url("chrome://mozapps/skin/plugins/contentPluginClose.png");
+ background-repeat: no-repeat;
+}
+
+.closeIcon:hover {
+ background-position: -16px 0;
+}
+
+.closeIcon:hover:active {
+ background-position: -32px 0;
+}
+
+.action-link {
+ display: inline-block;
+ border-radius: 10px;
+ background-color: rgb(35, 35, 35);
+ padding: 2px 8px;
+ margin-top: 7px;
+ text-decoration: none;
+}
+.action-link:active {
+ background-color: rgb(20, 20, 20);
+}
+
+:-moz-handler-vulnerable-updatable .action-link {
+ background-color: #a81b0c;
+}
+:-moz-handler-vulnerable-updatable .action-link:active {
+ background-color: #801409;
+}
diff --git a/toolkit/themes/moz.build b/toolkit/themes/moz.build
new file mode 100644
index 0000000000..3d435ba71e
--- /dev/null
+++ b/toolkit/themes/moz.build
@@ -0,0 +1,35 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Theme Selection
+#
+# Shared (toolkit/themes/shared/) is always included.
+#
+# MacOS X osx (toolkit/themes/osx)
+# Windows windows (toolkit/themes/windows) +
+# non-mac (toolkit/themes/shared/non-mac)
+# GNOME/Linux linux (toolkit/themes/linux)
+# non-mac (toolkit/themes/shared/non-mac)
+# faststripe windows + faststripe (no native theme components)
+# mobile native UIs that do not use XUL for UI
+
+toolkit = CONFIG['MOZ_WIDGET_TOOLKIT']
+app = CONFIG['MOZ_BUILD_APP']
+
+if toolkit == 'cocoa':
+ DIRS += ['osx']
+elif toolkit in ('gtk2', 'gtk3'):
+ DIRS += ['linux']
+elif app == 'mobile/android':
+ DIRS += ['mobile']
+else:
+ DIRS += ['windows']
+
+ if CONFIG['MOZ_THEME_FASTSTRIPE']:
+ DIRS += ['faststripe/global']
+
+with Files('**'):
+ BUG_COMPONENT = ('Toolkit', 'Themes')
diff --git a/toolkit/themes/osx/global/10pct_transparent_grey.png b/toolkit/themes/osx/global/10pct_transparent_grey.png
new file mode 100644
index 0000000000..01f2edd9f4
--- /dev/null
+++ b/toolkit/themes/osx/global/10pct_transparent_grey.png
Binary files differ
diff --git a/toolkit/themes/osx/global/50pct_transparent_grey.png b/toolkit/themes/osx/global/50pct_transparent_grey.png
new file mode 100644
index 0000000000..0e462a46fa
--- /dev/null
+++ b/toolkit/themes/osx/global/50pct_transparent_grey.png
Binary files differ
diff --git a/toolkit/themes/osx/global/alerts/alert.css b/toolkit/themes/osx/global/alerts/alert.css
new file mode 100644
index 0000000000..3ca1a6e066
--- /dev/null
+++ b/toolkit/themes/osx/global/alerts/alert.css
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== alert.css =====================================================
+ == Styles specific to the alerts dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/alerts/alert-common.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#alertNotification {
+ -moz-appearance: none;
+ background: transparent;
+}
+
+#alertBox {
+ border: 1px solid ThreeDShadow;
+ border-radius: 1px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+.alertCloseButton {
+ -moz-appearance: none;
+ padding: 0;
+ margin: 2px;
+ border: none;
+}
diff --git a/toolkit/themes/osx/global/arrow.css b/toolkit/themes/osx/global/arrow.css
new file mode 100644
index 0000000000..f8d14becab
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow.css
@@ -0,0 +1,38 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.up {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+.up[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+}
+
+.down {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+.down[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
+
+.left {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+}
+.left[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+}
+
+.right {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+}
+.right[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
diff --git a/toolkit/themes/osx/global/arrow/arrow-dn-dis.gif b/toolkit/themes/osx/global/arrow/arrow-dn-dis.gif
new file mode 100644
index 0000000000..3d62e40063
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-dn-dis.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-dn-dis.png b/toolkit/themes/osx/global/arrow/arrow-dn-dis.png
new file mode 100644
index 0000000000..a202fd85c9
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-dn-dis.png
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-dn-sharp.gif b/toolkit/themes/osx/global/arrow/arrow-dn-sharp.gif
new file mode 100644
index 0000000000..206d7c19dd
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-dn-sharp.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-dn.gif b/toolkit/themes/osx/global/arrow/arrow-dn.gif
new file mode 100644
index 0000000000..33849a6391
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-dn.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-dn.png b/toolkit/themes/osx/global/arrow/arrow-dn.png
new file mode 100644
index 0000000000..91486a3e9a
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-dn.png
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-lft-dis.gif b/toolkit/themes/osx/global/arrow/arrow-lft-dis.gif
new file mode 100644
index 0000000000..33243517b1
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-lft-dis.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-lft-hov.gif b/toolkit/themes/osx/global/arrow/arrow-lft-hov.gif
new file mode 100644
index 0000000000..3367bde312
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-lft-hov.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-lft-sharp-end.gif b/toolkit/themes/osx/global/arrow/arrow-lft-sharp-end.gif
new file mode 100644
index 0000000000..c22294ba21
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-lft-sharp-end.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-lft-sharp.gif b/toolkit/themes/osx/global/arrow/arrow-lft-sharp.gif
new file mode 100644
index 0000000000..ae9b1dd0fb
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-lft-sharp.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-lft.gif b/toolkit/themes/osx/global/arrow/arrow-lft.gif
new file mode 100644
index 0000000000..c5c362d89b
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-lft.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-rit-dis.gif b/toolkit/themes/osx/global/arrow/arrow-rit-dis.gif
new file mode 100644
index 0000000000..cda95fe215
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-rit-dis.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-rit-hov.gif b/toolkit/themes/osx/global/arrow/arrow-rit-hov.gif
new file mode 100644
index 0000000000..5010921adc
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-rit-hov.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-rit-sharp-end.gif b/toolkit/themes/osx/global/arrow/arrow-rit-sharp-end.gif
new file mode 100644
index 0000000000..c1b3750d4c
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-rit-sharp-end.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-rit-sharp.gif b/toolkit/themes/osx/global/arrow/arrow-rit-sharp.gif
new file mode 100644
index 0000000000..ca628ba69b
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-rit-sharp.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-rit.gif b/toolkit/themes/osx/global/arrow/arrow-rit.gif
new file mode 100644
index 0000000000..dce39aecc1
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-rit.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-up-dis.gif b/toolkit/themes/osx/global/arrow/arrow-up-dis.gif
new file mode 100644
index 0000000000..381dee3e5d
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-up-dis.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-up-sharp.gif b/toolkit/themes/osx/global/arrow/arrow-up-sharp.gif
new file mode 100644
index 0000000000..883a4f95ca
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-up-sharp.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/arrow-up.gif b/toolkit/themes/osx/global/arrow/arrow-up.gif
new file mode 100644
index 0000000000..b8e09b21b8
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/arrow-up.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/panelarrow-horizontal.png b/toolkit/themes/osx/global/arrow/panelarrow-horizontal.png
new file mode 100644
index 0000000000..c110f8592d
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/panelarrow-horizontal.png
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/panelarrow-horizontal@2x.png b/toolkit/themes/osx/global/arrow/panelarrow-horizontal@2x.png
new file mode 100644
index 0000000000..4cb7353e70
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/panelarrow-horizontal@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/panelarrow-vertical.png b/toolkit/themes/osx/global/arrow/panelarrow-vertical.png
new file mode 100644
index 0000000000..3986f9cbf5
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/panelarrow-vertical.png
Binary files differ
diff --git a/toolkit/themes/osx/global/arrow/panelarrow-vertical@2x.png b/toolkit/themes/osx/global/arrow/panelarrow-vertical@2x.png
new file mode 100644
index 0000000000..a741dd0e16
--- /dev/null
+++ b/toolkit/themes/osx/global/arrow/panelarrow-vertical@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/autocomplete.css b/toolkit/themes/osx/global/autocomplete.css
new file mode 100644
index 0000000000..7e05d2f29c
--- /dev/null
+++ b/toolkit/themes/osx/global/autocomplete.css
@@ -0,0 +1,174 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
+textbox:not(.padded) {
+ cursor: default;
+ padding: 0;
+}
+
+textbox[nomatch="true"][highlightnonmatches="true"] {
+ color: red;
+}
+
+textbox:not(.padded) .textbox-input-box {
+ margin: 0 3px;
+}
+
+.textbox-input-box {
+ -moz-box-align: center;
+}
+
+/* ::::: history button ::::: */
+
+.autocomplete-history-dropmarker {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+ padding: 0px;
+ list-style-image: url("chrome://global/skin/icons/autocomplete-dropmarker.png");
+ margin: 0px;
+}
+
+/* ::::: autocomplete popups ::::: */
+
+panel[type="autocomplete"],
+panel[type="autocomplete-richlistbox"],
+.autocomplete-history-popup {
+ padding: 0px !important;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+ font: icon;
+ -moz-appearance: none;
+}
+
+.autocomplete-history-popup {
+ max-height: 180px;
+}
+
+/* ::::: tree ::::: */
+
+.autocomplete-tree {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+}
+
+.autocomplete-treecol {
+ -moz-appearance: none !important;
+ margin: 0 !important;
+ border: none !important;
+ padding: 0 !important;
+}
+
+.autocomplete-treebody::-moz-tree-cell-text {
+ padding-left: 2px;
+}
+
+.autocomplete-treebody::-moz-tree-row {
+ border-top: none;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+ background-color: Highlight;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+ color: HighlightText !important;
+}
+
+.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+ max-width: 16px;
+ height: 16px;
+}
+
+/* ::::: richlistbox autocomplete ::::: */
+
+.autocomplete-richlistbox {
+ -moz-appearance: none;
+ margin: 0;
+}
+
+.ac-type-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 16px;
+ margin-inline-end: 6px;
+}
+
+.ac-site-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 0;
+ margin-inline-end: 11px;
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
+}
+
+.ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted.png");
+}
+
+@media (min-resolution: 2dppx) {
+ .ac-site-icon {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png");
+ }
+ .ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted@2x.png");
+ }
+}
+
+.ac-title {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+html|span.ac-tag {
+ margin-inline-start: 0;
+ margin-inline-end: 2px;
+}
+
+.ac-tags {
+ margin-inline-start: 0;
+ margin-inline-end: 4px;
+}
+
+.ac-separator {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+/* Better align the URL/action with the title. */
+.ac-tags,
+.ac-separator,
+.ac-url,
+.ac-action {
+ margin-bottom: -2px;
+}
+
+.ac-title-text,
+.ac-tags-text,
+.ac-separator-text,
+.ac-url-text,
+.ac-action-text,
+.ac-text-overflow-container {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
+
+toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/osx/global/button.css b/toolkit/themes/osx/global/button.css
new file mode 100644
index 0000000000..45f292e1f1
--- /dev/null
+++ b/toolkit/themes/osx/global/button.css
@@ -0,0 +1,85 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+button {
+ -moz-appearance: button;
+ /* The horizontal margin used here come from the Aqua Human Interface
+ Guidelines, there should be 12 pixels between two buttons. */
+ margin: 5px 6px 3px;
+ min-width: 79px;
+ color: ButtonText;
+ text-shadow: none;
+}
+
+button:not([disabled="true"]):hover:active {
+ color: -moz-mac-buttonactivetext;
+}
+
+/* When the window isn't focused, the default button background isn't drawn,
+ * so don't change the text color then: */
+button[default="true"]:not([disabled="true"]):not(:-moz-window-inactive) {
+ color: -moz-mac-defaultbuttontext;
+}
+
+/* Likewise, when active (mousedown) but not hovering, the default button
+ * background isn't drawn, override the previous selector for that case: */
+button[default="true"]:not(:hover):active {
+ color: ButtonText;
+}
+
+.button-text {
+ margin: 1px 0 !important;
+ margin-inline-start: 3px !important;
+ margin-inline-end: 2px !important;
+ text-align: center;
+}
+
+.button-icon {
+ margin-inline-start: 1px;
+}
+
+button[type="default"] {
+ font: menu;
+}
+
+/* .......... disabled state .......... */
+
+button[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: menu/menu-button buttons ::::: */
+
+button[type="menu-button"] {
+ margin: 0;
+ border: none;
+}
+
+.button-menu-dropmarker,
+.button-menubutton-dropmarker {
+ -moz-appearance: none !important;
+ border: none;
+ background-color: transparent !important;
+ margin: 1px;
+}
+
+.button-menu-dropmarker {
+ display: none;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+/* ::::: help button ::::: */
+
+button[dlgtype="help"] {
+ -moz-appearance: -moz-mac-help-button;
+ width: 20px;
+}
diff --git a/toolkit/themes/osx/global/checkbox.css b/toolkit/themes/osx/global/checkbox.css
new file mode 100644
index 0000000000..b49af98d04
--- /dev/null
+++ b/toolkit/themes/osx/global/checkbox.css
@@ -0,0 +1,39 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+checkbox {
+ -moz-appearance: checkbox-container;
+ -moz-box-align: center;
+ margin: 4px 2px;
+}
+
+.checkbox-icon {
+ margin-right: 2px;
+}
+
+.checkbox-label {
+ margin: 1px 0 !important;
+}
+
+/* ..... disabled state ..... */
+
+checkbox[disabled="true"] {
+ color: GrayText !important;
+}
+
+/* ::::: checkmark image ::::: */
+
+.checkbox-check {
+ -moz-appearance: checkbox;
+ margin: 1px 1px 0;
+ /* vertical-align tells native theming where to snap to. However, this doesn't
+ * always work reliably because of bug 503833. */
+ vertical-align: top;
+ width: 1.3em;
+ height: 1.3em;
+}
+
+
diff --git a/toolkit/themes/osx/global/checkbox/cbox-check-dis.gif b/toolkit/themes/osx/global/checkbox/cbox-check-dis.gif
new file mode 100644
index 0000000000..bd43dd17c3
--- /dev/null
+++ b/toolkit/themes/osx/global/checkbox/cbox-check-dis.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/checkbox/cbox-check.gif b/toolkit/themes/osx/global/checkbox/cbox-check.gif
new file mode 100644
index 0000000000..f6919f8fad
--- /dev/null
+++ b/toolkit/themes/osx/global/checkbox/cbox-check.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/colorpicker.css b/toolkit/themes/osx/global/colorpicker.css
new file mode 100644
index 0000000000..075437db89
--- /dev/null
+++ b/toolkit/themes/osx/global/colorpicker.css
@@ -0,0 +1,41 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: colorpicker button ::::: */
+
+colorpicker[type="button"] {
+ width: 38px;
+ height: 24px;
+ border: 1px solid #a7a7a7;
+ background-color: ThreeDFace;
+ padding: 3px;
+ -moz-appearance: button-bevel;
+}
+
+.colorpicker-button-colorbox {
+ border: 1px solid #000000;
+}
+
+/* ::::: colorpicker tiles ::::: */
+
+.colorpickertile {
+ width : 20px;
+ height : 20px;
+ margin : 1px;
+}
+
+.colorpickertile[selected="true"] {
+ border : 1px outset #C0C0C0;
+
+}
+
+.colorpickertile[hover="true"] {
+ border : 1px dotted #A7A7A7;
+}
+
+.cp-light[hover="true"] {
+ border : 1px dotted #000000;
+}
diff --git a/toolkit/themes/osx/global/commonDialog.css b/toolkit/themes/osx/global/commonDialog.css
new file mode 100644
index 0000000000..53b02796d2
--- /dev/null
+++ b/toolkit/themes/osx/global/commonDialog.css
@@ -0,0 +1,35 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#commonDialog {
+ line-height: 13px;
+}
+
+#filler {
+ margin: 0px -14px;
+}
+
+#infoContainer {
+ max-width: 33em;
+}
+
+#loginContainer {
+ padding-top: 10px;
+}
+
+#info\.icon {
+ margin-inline-end: 14px;
+}
+
+#info\.title,
+#info\.header,
+#info\.body {
+ font: menu;
+ line-height: 16px;
+ margin-bottom: 6px;
+}
+
+#info\.title {
+ font-weight: bold;
+}
diff --git a/toolkit/themes/osx/global/customizeToolbar.css b/toolkit/themes/osx/global/customizeToolbar.css
new file mode 100644
index 0000000000..bcedb2b99a
--- /dev/null
+++ b/toolkit/themes/osx/global/customizeToolbar.css
@@ -0,0 +1,38 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#palette-box {
+ margin-top: 2px;
+ -moz-appearance: listbox;
+ margin: 0 0 10px;
+}
+
+#palette-box > toolbarpaletteitem {
+ padding: 8px 2px;
+ margin: 0 8px;
+}
+
+#main-box {
+ padding: 12px;
+}
+
+#main-box > separator {
+ -moz-appearance: none;
+ border-bottom: none;
+}
+
+#instructions {
+ font: menu;
+ font-weight: bold;
+ line-height: 16pt;
+}
+
+hbox button {
+ font: menu;
+}
+
+#main-box > box > button {
+ min-height: 19px; /* aqua size for small buttons */
+ font: message-box;
+}
diff --git a/toolkit/themes/osx/global/datetimepicker.css b/toolkit/themes/osx/global/datetimepicker.css
new file mode 100644
index 0000000000..3d7b201f2e
--- /dev/null
+++ b/toolkit/themes/osx/global/datetimepicker.css
@@ -0,0 +1,126 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+datepicker, timepicker {
+ padding: 0 0 1px;
+ margin: 4px;
+ border: none;
+}
+
+.datetimepicker-input-box {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin-right: 4px;
+ margin-bottom: 2px;
+ border: 3px solid;
+ -moz-border-top-colors: transparent #888888 #000000;
+ -moz-border-right-colors: transparent #FFFFFF #000000;
+ -moz-border-bottom-colors: transparent #FFFFFF #000000;
+ -moz-border-left-colors: transparent #888888 #000000;
+ border-top-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ padding: 0px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+.datetimepicker-input-subbox {
+ width: 1.6em;
+}
+
+html|*.datetimepicker-input {
+ text-align: end;
+}
+
+.datetimepicker-separator {
+ margin: 0 !important;
+}
+
+.datetimepicker-year {
+ width: 3.2em;
+}
+
+.datepicker-dropmarker {
+ margin-bottom: 2px;
+}
+
+datepicker[readonly="true"],
+timepicker[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+datepicker[disabled="true"],
+timepicker[disabled="true"] {
+ cursor: default;
+ -moz-border-top-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: transparent ThreeDShadow -moz-Dialog;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+.datepicker-mainbox {
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: #EEEEEE;
+ color: -moz-DialogText;
+}
+
+.datepicker-popupgrid > .datepicker-mainbox {
+ margin: 0;
+ border: none;
+}
+
+.datepicker-gridlabel, .datepicker-weeklabel {
+ text-align: center;
+}
+
+.datepicker-gridlabel[today="true"] {
+ background-color: darkgrey;
+ color: white;
+}
+
+.datepicker-gridlabel[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+.datepicker-button {
+ -moz-appearance: none;
+ min-width: 8px;
+ padding: 0px;
+}
+
+.datepicker-previous {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+}
+
+.datepicker-next {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+}
+
+.datepicker-previous:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-hov.gif");
+}
+
+.datepicker-next:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-hov.gif");
+}
+
+.datepicker-previous[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+}
+
+.datepicker-next[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
diff --git a/toolkit/themes/osx/global/dialog.css b/toolkit/themes/osx/global/dialog.css
new file mode 100644
index 0000000000..98ed3ca207
--- /dev/null
+++ b/toolkit/themes/osx/global/dialog.css
@@ -0,0 +1,77 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#commonDialog > image {
+ margin-inline-end: 14px !important;
+}
+
+#commonDialog > .dialog-button-box {
+ margin-inline-start: 80px;
+}
+
+dialog {
+ -moz-appearance: dialog;
+ padding: 14px;
+}
+
+/* ::::: dialog buttons ::::: */
+
+.dialog-button {
+ font: menu;
+}
+
+/* ::::: dialog header ::::: */
+
+dialogheader {
+ margin: 0 5px 5px;
+ padding: 5px 8px;
+}
+
+.dialogheader-title {
+ margin: 0 !important;
+ font-size: larger;
+ font-weight: bold;
+ display: none;
+}
+
+/* ::::: large dialog header ::::: */
+
+.header-large {
+ -moz-box-orient: vertical;
+ margin: -14px -14px 0;
+ padding: 12px;
+ padding-inline-end: 5px;
+ padding-inline-start: 25px;
+}
+
+.header-large > .dialogheader-title {
+ font: inherit;
+ font-weight: bold;
+}
+
+.header-large > .dialogheader-description {
+ margin-left: 12px !important;
+}
+
+.dialogheader-description {
+ font-weight: bold !important;
+}
+
+.dialogheader-title {
+ font-weight: bold !important;
+}
+
+/*XXX - belongs to toolkit/content/finddialog.xul: */
+
+#findDialog,
+#findDialog > menu,
+#findDialog > groupbox {
+ font: menu !important;
+}
+
+#dialog\.caseSensitive {
+ margin-top: 8px;
+}
diff --git a/toolkit/themes/osx/global/dirListing/dirListing.css b/toolkit/themes/osx/global/dirListing/dirListing.css
new file mode 100644
index 0000000000..de881a5e4b
--- /dev/null
+++ b/toolkit/themes/osx/global/dirListing/dirListing.css
@@ -0,0 +1,104 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+:root {
+ background-color: -moz-dialog;
+ color: -moz-dialogtext;
+ font: message-box;
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
+body {
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ min-width: 30em;
+ max-width: 65em;
+ margin: 4em auto;
+ background-color: -moz-field;
+ color: -moz-fieldtext;
+}
+
+h1 {
+ font-size: 160%;
+ margin: 0 0 .6em;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-weight: normal;
+}
+
+a {
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+p {
+ font-size: 110%;
+}
+
+#UI_goUp {
+ margin-top: 0;
+ float: left;
+}
+
+#UI_goUp:dir(rtl) {
+ float: right;
+}
+
+#UI_showHidden {
+ margin-top: 0;
+ float: right;
+}
+
+#UI_showHidden:dir(rtl) {
+ float: left;
+}
+
+table {
+ clear: both;
+ width: 90%;
+ margin: 0 auto;
+}
+
+thead {
+ font-size: 130%;
+}
+
+/* last modified */
+th:last-child {
+ text-align: center;
+}
+
+th:hover > a {
+ text-decoration: underline;
+}
+
+body > table > tbody > tr:hover {
+ outline: 1px solid ThreeDLightShadow;
+ -moz-outline-radius: .3em;
+}
+
+/* let 'Size' and 'Last Modified' take only as much space as they need and 'Name' all the rest */
+td:not(:first-child) {
+ width: 0;
+}
+
+.up {
+ padding: 0 .5em;
+ margin-inline-start: 20px;
+}
+
+.up::before {
+ margin-inline-end: 4px;
+ margin-inline-start: -20px;
+ vertical-align: middle;
+ content: url(chrome://global/skin/dirListing/up.png);
+}
+
+.dir::before {
+ content: url(chrome://global/skin/dirListing/folder.png);
+}
diff --git a/toolkit/themes/osx/global/dirListing/folder.png b/toolkit/themes/osx/global/dirListing/folder.png
new file mode 100644
index 0000000000..eb3a607e03
--- /dev/null
+++ b/toolkit/themes/osx/global/dirListing/folder.png
Binary files differ
diff --git a/toolkit/themes/osx/global/dirListing/remote.png b/toolkit/themes/osx/global/dirListing/remote.png
new file mode 100644
index 0000000000..d854bd9d9f
--- /dev/null
+++ b/toolkit/themes/osx/global/dirListing/remote.png
Binary files differ
diff --git a/toolkit/themes/osx/global/dirListing/up.png b/toolkit/themes/osx/global/dirListing/up.png
new file mode 100644
index 0000000000..7af8949ad3
--- /dev/null
+++ b/toolkit/themes/osx/global/dirListing/up.png
Binary files differ
diff --git a/toolkit/themes/osx/global/dropmarker.css b/toolkit/themes/osx/global/dropmarker.css
new file mode 100644
index 0000000000..701eea75c4
--- /dev/null
+++ b/toolkit/themes/osx/global/dropmarker.css
@@ -0,0 +1,31 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+dropmarker {
+ -moz-appearance: menulist-button;
+ width: 16px;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ padding: 1px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+ -moz-image-region: auto;
+}
+
+dropmarker:hover:active:not([disabled="true"]) {
+ -moz-border-top-colors: ThreeDShadow ThreeDFace;
+ -moz-border-right-colors: ThreeDShadow ThreeDFace;
+ -moz-border-bottom-colors: ThreeDShadow ThreeDFace;
+ -moz-border-left-colors: ThreeDShadow ThreeDFace;
+ padding: 2px 0 0 2px;
+}
+
+dropmarker[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
diff --git a/toolkit/themes/osx/global/filefield.css b/toolkit/themes/osx/global/filefield.css
new file mode 100644
index 0000000000..8ae3fdb52a
--- /dev/null
+++ b/toolkit/themes/osx/global/filefield.css
@@ -0,0 +1,38 @@
+/*
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+.fileFieldIcon {
+ width: 16px;
+ height: 16px;
+}
+
+.fileFieldIcon[disabled="true"] {
+ opacity: 0.5;
+}
+
+filefield {
+ margin: 4px;
+ margin-inline-start: 27px;
+ -moz-appearance: textfield;
+}
+
+.fileFieldContentBox {
+ margin: -3px;
+ background-color: rgba(230, 230, 230, 0.6);
+ color: -moz-DialogText;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ padding-inline-start: 5px;
+ padding-inline-end: 3px;
+}
+
+.fileFieldLabel {
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ margin: 0 4px;
+}
diff --git a/toolkit/themes/osx/global/filters.svg b/toolkit/themes/osx/global/filters.svg
new file mode 100644
index 0000000000..d3ad6a76b8
--- /dev/null
+++ b/toolkit/themes/osx/global/filters.svg
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg xmlns="http://www.w3.org/2000/svg">
+ <filter id="iconPressed" color-interpolation-filters="sRGB">
+ <!-- Multiply all components with 0.55. -->
+ <feComponentTransfer>
+ <feFuncR type="linear" slope=".55"/>
+ <feFuncG type="linear" slope=".55"/>
+ <feFuncB type="linear" slope=".55"/>
+ </feComponentTransfer>
+ </filter>
+</svg>
diff --git a/toolkit/themes/osx/global/findBar.css b/toolkit/themes/osx/global/findBar.css
new file mode 100644
index 0000000000..4e775292f7
--- /dev/null
+++ b/toolkit/themes/osx/global/findBar.css
@@ -0,0 +1,266 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include shared.inc
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+findbar {
+ background: @scopeBarBackground@;
+ border-top: @scopeBarSeparatorBorder@;
+ min-width: 1px;
+ transition-property: margin-bottom, opacity, visibility;
+ transition-duration: 150ms, 150ms, 0s;
+ transition-timing-function: ease-in-out, ease-in-out, linear;
+}
+
+findbar[hidden] {
+ /* Override display:none to make the transition work. */
+ display: -moz-box;
+ visibility: collapse;
+ margin-bottom: -1em;
+ opacity: 0;
+ transition-delay: 0s, 0s, 150ms;
+}
+
+findbar[noanim] {
+ transition-duration: 0s !important;
+ transition-delay: 0s !important;
+}
+
+findbar:-moz-lwtheme {
+ -moz-appearance: none;
+ background: none;
+ border-style: none;
+}
+
+.findbar-container {
+ padding-inline-start: 2px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+label.findbar-find-fast {
+ color: @scopeBarTitleColor@;
+ margin: 0;
+ margin-inline-start: 12px;
+ text-shadow: @loweredShadow@;
+}
+
+label.findbar-find-fast:-moz-lwtheme,
+.findbar-find-status:-moz-lwtheme {
+ color: inherit;
+ text-shadow: inherit;
+}
+
+.findbar-closebutton {
+ margin-inline-start: 4px;
+ padding-inline-start: 0;
+ padding-inline-end: 8px;
+ border: none;
+ /* make sure the closebutton is displayed as the first element in the bar: */
+ -moz-box-ordinal-group: 0;
+}
+
+@media (min-resolution: 2dppx) {
+ .findbar-closebutton > .toolbarbutton-icon {
+ width: 16px;
+ }
+}
+
+.findbar-find-next,
+.findbar-find-previous,
+.findbar-highlight,
+.findbar-case-sensitive,
+.findbar-entire-word {
+ -moz-appearance: none;
+ border-radius: 10000px;
+ border: @roundButtonBorder@;
+ background: @roundButtonBackground@;
+ box-shadow: @roundButtonShadow@;
+ color: buttontext;
+ margin: 0;
+}
+
+@media (-moz-mac-yosemite-theme) {
+ .findbar-find-previous,
+ .findbar-find-next {
+ border-radius: 3px;
+ box-shadow: none;
+ }
+}
+
+.findbar-highlight,
+.findbar-case-sensitive,
+.findbar-entire-word {
+ margin-inline-end: 5px;
+ padding: 2px 9px;
+}
+
+.findbar-highlight {
+ margin-inline-start: 8px;
+}
+
+.findbar-container > toolbarbutton:-moz-focusring,
+.findbar-find-next:-moz-focusring,
+.findbar-find-previous:-moz-focusring {
+ position: relative;
+ box-shadow: @focusRingShadow@, @roundButtonShadow@;
+}
+
+.findbar-container > toolbarbutton[disabled] {
+ color: GrayText !important;
+}
+
+.findbar-find-next:not([disabled]):hover:active,
+.findbar-find-previous:not([disabled]):hover:active,
+.findbar-highlight:not([disabled]):hover:active,
+.findbar-case-sensitive:not([disabled]):hover:active,
+.findbar-entire-word:not([disabled]):hover:active,
+.findbar-highlight:not([disabled])[checked="true"],
+.findbar-case-sensitive:not([disabled])[checked="true"],
+.findbar-entire-word:not([disabled])[checked="true"] {
+ text-shadow: @loweredShadow@;
+ background: @roundButtonPressedBackground@;
+ box-shadow: @roundButtonPressedShadow@;
+}
+
+.findbar-find-next:hover:active:-moz-focusring,
+.findbar-find-previous:hover:active:-moz-focusring {
+ text-shadow: @loweredShadow@;
+ background: @roundButtonPressedBackground@;
+ box-shadow: @focusRingShadow@, @roundButtonPressedShadow@;
+}
+
+@media (-moz-mac-yosemite-theme) {
+ .findbar-container > toolbarbutton:-moz-focusring,
+ .findbar-find-next:-moz-focusring,
+ .findbar-find-previous:-moz-focusring {
+ box-shadow: @yosemiteFocusRingShadow@, @roundButtonShadow@;
+ }
+
+ .findbar-find-next:hover:active:-moz-focusring,
+ .findbar-find-previous:hover:active:-moz-focusring {
+ box-shadow: @yosemiteFocusRingShadow@, @roundButtonPressedShadow@;
+ }
+}
+
+/* Search field */
+
+.findbar-textbox {
+ position: relative;
+ -moz-appearance: none;
+ border: @roundButtonBorder@;
+ border-radius: 10000px 0 0 10000px;
+ box-shadow: @roundButtonShadow@;
+ background: url("chrome://global/skin/icons/search-textbox.svg") -moz-Field no-repeat 5px center;
+ margin: 0;
+ padding: 2px 8px;
+ padding-inline-start: 19px;
+}
+
+.findbar-textbox:-moz-locale-dir(rtl) {
+ border-radius: 0 10000px 10000px 0;
+}
+
+@media (-moz-mac-yosemite-theme) {
+ .findbar-textbox {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ box-shadow: none;
+ }
+
+ .findbar-textbox:-moz-locale-dir(rtl) {
+ border-radius: 0 3px 3px 0;
+ }
+}
+
+.findbar-textbox:not([focused="true"]):-moz-lwtheme {
+ opacity: 0.9;
+}
+
+.findbar-textbox[focused="true"] {
+ box-shadow: @focusRingShadow@;
+}
+
+@media (-moz-mac-yosemite-theme) {
+ .findbar-textbox[focused="true"] {
+ box-shadow: @yosemiteFocusRingShadow@;
+ }
+}
+
+.findbar-textbox[flash="true"] {
+ background-color: #F7E379;
+}
+
+.findbar-textbox[status="notfound"] {
+ background-color: #FD919B;
+ color: #FFF;
+}
+
+.findbar-textbox.minimal {
+ border-radius: 10000px;
+ margin-inline-start: 5px;
+}
+
+/* Find previous/next buttons */
+
+.findbar-find-previous,
+.findbar-find-next {
+ margin-inline-start: 0;
+ padding: 3px 6px 1px;
+}
+
+.findbar-find-previous > .toolbarbutton-icon,
+.findbar-find-next > .toolbarbutton-icon {
+ margin: 0;
+}
+
+.findbar-find-previous {
+ border-left: none;
+ border-right: none;
+ margin-inline-end: 0;
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-previous);
+ border-radius: 0;
+}
+
+.findbar-find-next {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-next);
+ padding-inline-end: 7px;
+}
+
+.findbar-find-next:-moz-locale-dir(ltr) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.findbar-find-next:-moz-locale-dir(rtl) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+/* Status description */
+
+.find-status-icon {
+ display: none;
+}
+
+.find-status-icon[status="pending"] {
+ display: block;
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+}
+
+@media (min-resolution: 2dppx) {
+ .find-status-icon[status="pending"] {
+ width: 16px;
+ list-style-image: url("chrome://global/skin/icons/loading@2x.png");
+ }
+}
+
+.findbar-find-status,
+.found-matches {
+ color: rgba(0,0,0,.5);
+ margin: 0 !important;
+ margin-inline-start: 12px !important;
+ text-shadow: 0 1px rgba(255,255,255,.4);
+}
diff --git a/toolkit/themes/osx/global/global.css b/toolkit/themes/osx/global/global.css
new file mode 100644
index 0000000000..261abe3138
--- /dev/null
+++ b/toolkit/themes/osx/global/global.css
@@ -0,0 +1,378 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* all localizable skin settings shall live here */
+@import url("chrome://global/locale/intl.css");
+
+%include shared.inc
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: XBL bindings ::::: */
+
+menulist > menupopup {
+ -moz-binding: url("chrome://global/content/bindings/popup.xml#popup-scrollbars");
+}
+
+/* ::::: Variables ::::: */
+:root {
+ --arrowpanel-padding: 16px;
+ --arrowpanel-background: linear-gradient(hsla(0,0%,99%,1), hsla(0,0%,99%,.975) 10%, hsla(0,0%,98%,.975));
+ --arrowpanel-color: hsl(0,0%,10%);
+ --arrowpanel-border-color: hsla(210,4%,10%,.05);
+ --arrowpanel-border-radius: 3.5px;
+}
+
+/* ::::: root elements ::::: */
+
+window,
+page,
+dialog,
+wizard,
+prefwindow {
+ -moz-appearance: dialog;
+ background-color: #FFFFFF;
+ color: -moz-DialogText;
+ font: message-box;
+}
+
+prefwindow[type="child"] {
+ padding-top: 18px;
+ padding-bottom: 15px;
+ padding-inline-start: 18px;
+ padding-inline-end: 20px;
+}
+
+/* deprecated */
+window.dialog {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+/* ::::: alert icons :::::*/
+
+.message-icon,
+.alert-icon,
+.error-icon,
+.question-icon {
+ width: 64px;
+ height: 64px;
+ margin: 6px;
+ margin-inline-end: 20px;
+}
+
+.message-icon {
+ list-style-image: url("chrome://global/skin/icons/information-64.png");
+}
+
+.alert-dialog #info\.icon,
+.alert-icon {
+ list-style-image: url("chrome://global/skin/icons/warning-64.png");
+}
+
+.error-icon {
+ list-style-image: url("chrome://global/skin/icons/error-64.png");
+}
+
+.question-icon {
+ list-style-image: url("chrome://global/skin/icons/question-64.png");
+}
+
+/* ::::: iframe ::::: */
+
+iframe {
+ border: none;
+ width: 100px;
+ height: 100px;
+ min-width: 10px;
+ min-height: 10px;
+}
+
+/* ::::: statusbar ::::: */
+
+statusbar {
+ min-width: 1px; /* DON'T DELETE!
+ Prevents hiding of scrollbars in browser when window is made smaller.*/
+ min-height: 15px !important;
+ margin: 0px !important;
+ /* need to use padding-inline-end when/if bug 631729 gets fixed: */
+ padding: 0px 16px 1px 1px;
+ -moz-appearance: statusbar;
+ text-shadow: rgba(255, 255, 255, 0.4) 0 1px;
+}
+
+statusbarpanel {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ padding: 0 4px;
+}
+
+.statusbarpanel-iconic {
+ padding: 0px;
+}
+
+/* ::::: miscellaneous formatting ::::: */
+
+:root:-moz-lwtheme,
+[lwthemefooter="true"] {
+ -moz-appearance: none;
+}
+
+:root:-moz-lwtheme-darktext {
+ text-shadow: 0 -0.5px 1.5px white;
+}
+
+:root:-moz-lwtheme-brighttext {
+ text-shadow: 1px 1px 1.5px black;
+}
+
+statusbar:-moz-lwtheme {
+ -moz-appearance: none;
+ background: none;
+ border-style: none;
+ text-shadow: inherit;
+}
+
+.inset {
+ border: 1px solid ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ margin: 0 5px 5px;
+}
+
+.outset {
+ border: 1px solid ThreeDShadow;
+ border-left-color: ThreeDHighlight;
+ border-top-color: ThreeDHighlight;
+}
+
+separator:not([orient="vertical"]) {
+ height: 1.5em;
+}
+separator[orient="vertical"] {
+ width: 1.5em;
+}
+
+separator.thin:not([orient="vertical"]) {
+ height: 0.5em;
+}
+separator.thin[orient="vertical"] {
+ width: 0.5em;
+}
+
+separator.groove:not([orient="vertical"]) {
+ border-top: 1px solid #A3A3A3;
+ height: 0;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+}
+separator.groove[orient="vertical"] {
+ border-left: 1px solid #A3A3A3;
+ width: 0;
+ margin-left: 0.4em;
+ margin-right: 0.4em;
+}
+
+.plain {
+ -moz-appearance: none;
+ margin: 0 !important;
+ border: none;
+ padding: 0;
+}
+
+description,
+label {
+ cursor: default;
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+description {
+ margin-bottom: 4px;
+}
+
+label[disabled="true"] {
+ color: GrayText;
+}
+
+.tooltip-label {
+ margin: 0;
+}
+
+.header {
+ font-weight: bold;
+}
+
+.monospace {
+ font-family: monospace;
+}
+
+.indent {
+ margin-inline-start: 23px;
+}
+
+.box-padded {
+ padding: 5px;
+}
+
+.spaced {
+ margin: 3px 5px 4px;
+}
+
+.wizard-box {
+ padding: 20px 44px 10px;
+}
+
+.text-link {
+ color: -moz-nativehyperlinktext;
+ cursor: pointer;
+}
+
+.text-link:hover {
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ box-shadow: @focusRingShadow@;
+}
+
+.toolbar-focustarget {
+ -moz-user-focus: ignore !important;
+}
+
+notification > button {
+ margin: 0 3px;
+ padding: 1px 10px;
+ min-width: 60px;
+ min-height: 16px;
+ -moz-appearance: none;
+ border-radius: 10000px;
+ border: @roundButtonBorder@;
+ text-shadow: @loweredShadow@;
+ background: @roundButtonBackground@;
+ box-shadow: @roundButtonShadow@;
+}
+
+notification > button:active:hover {
+ background: @roundButtonPressedBackground@;
+ box-shadow: @roundButtonPressedShadow@;
+}
+
+notification > button:-moz-focusring {
+ box-shadow: @focusRingShadow@, @roundButtonShadow@;
+}
+
+notification > button:active:hover:-moz-focusring {
+ box-shadow: @focusRingShadow@, @roundButtonPressedShadow@;
+}
+
+notification > button > .button-box > .button-text {
+ margin: 0 !important;
+}
+
+popupnotificationcontent {
+ margin-top: .5em;
+}
+
+/* :::::: autoscroll popup ::::: */
+
+.autoscroller {
+ height: 28px;
+ width: 28px;
+ border: none;
+ margin: -14px;
+ padding: 0;
+ background-image: url("chrome://global/skin/icons/autoscroll.png");
+ background-color: transparent;
+ background-position: right top;
+ -moz-appearance: none;
+ -moz-window-shadow: none;
+}
+
+.autoscroller[scrolldir="NS"] {
+ background-position: right center;
+}
+
+.autoscroller[scrolldir="EW"] {
+ background-position: right bottom;
+}
+
+/* autorepeatbuttons in menus */
+
+.popup-internal-box > autorepeatbutton {
+ height: 15px;
+ position: relative;
+ list-style-image: none;
+ /* Here we're using a little magic.
+ * The arrow button is supposed to overlay the scrollbox, blocking
+ * everything under it from reaching the screen. However, the menu background
+ * is slightly transparent, so how can we block something completely without
+ * messing up the transparency? It's easy: The native theming of the
+ * "menuitem" appearance uses CGContextClearRect before drawing, which
+ * clears everything under it.
+ * Without help from native theming this effect wouldn't be achievable.
+ */
+ -moz-appearance: menuitem;
+}
+
+.popup-internal-box > .autorepeatbutton-up {
+ padding-top: 1px; /* 4px padding-top from the .popup-internal-box. */
+ margin-bottom: -15px;
+}
+
+.popup-internal-box > .autorepeatbutton-up > .autorepeatbutton-icon {
+ -moz-appearance: button-arrow-up;
+}
+
+.popup-internal-box > .autorepeatbutton-down {
+ padding-top: 5px;
+ margin-top: -15px;
+}
+
+.popup-internal-box > .autorepeatbutton-down > .autorepeatbutton-icon {
+ -moz-appearance: button-arrow-down;
+}
+
+.popup-internal-box > autorepeatbutton[disabled="true"] {
+ visibility: collapse;
+}
+
+/* :::::: Close button icons ::::: */
+
+.close-icon {
+ list-style-image: url("chrome://global/skin/icons/close.png");
+ -moz-image-region: rect(0, 16px, 16px, 0);
+}
+
+.close-icon:hover {
+ -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
+.close-icon:hover:active {
+ -moz-image-region: rect(0, 48px, 16px, 32px);
+}
+
+@media (min-resolution: 2dppx) {
+ .close-icon > .button-icon,
+ .close-icon > .button-box > .button-icon,
+ .close-icon > .toolbarbutton-icon {
+ width: 16px;
+ }
+
+ .close-icon {
+ list-style-image: url("chrome://global/skin/icons/close@2x.png");
+ -moz-image-region: rect(0, 32px, 32px, 0);
+ }
+
+ .close-icon:hover {
+ -moz-image-region: rect(0, 64px, 32px, 32px);
+ }
+
+ .close-icon:hover:active {
+ -moz-image-region: rect(0, 96px, 32px, 64px);
+ }
+}
diff --git a/toolkit/themes/osx/global/groupbox.css b/toolkit/themes/osx/global/groupbox.css
new file mode 100644
index 0000000000..8406458278
--- /dev/null
+++ b/toolkit/themes/osx/global/groupbox.css
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+groupbox {
+ padding: 5px 1px 1px;
+ padding-inline-start: 0;
+ margin: 6px;
+}
+
+.groupbox-body {
+ -moz-appearance: groupbox;
+ padding: 8px 8px 3px;
+ margin: 0;
+}
+
+caption {
+ padding-inline-start: 4px;
+ padding-bottom: 1px;
+ font: caption;
+}
+
+/* !important is needed to override label in global.css */
+.caption-text {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ margin-inline-start: 1px !important;
+}
diff --git a/toolkit/themes/osx/global/icons/Error.png b/toolkit/themes/osx/global/icons/Error.png
new file mode 100644
index 0000000000..424ebfd4ad
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/Error.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/autocomplete-dropmarker.png b/toolkit/themes/osx/global/icons/autocomplete-dropmarker.png
new file mode 100644
index 0000000000..e48d044526
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/autocomplete-dropmarker.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/autocomplete-search.svg b/toolkit/themes/osx/global/icons/autocomplete-search.svg
new file mode 100644
index 0000000000..3d1795d29d
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/autocomplete-search.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: GrayText;
+ }
+ use[id$="-inverted"] {
+ fill: highlighttext;
+ }
+ </style>
+ <defs>
+ <path id="search" fill-rule="evenodd" d="M14.517,12.884l-3.279-3.287c0.545-0.851,0.864-1.861,0.864-2.947 c0-3.022-2.444-5.472-5.458-5.472c-3.014,0-5.458,2.45-5.458,5.472c0,3.022,2.444,5.471,5.458,5.471 c1.093,0,2.108-0.325,2.962-0.88l3.275,3.283c0.396,0.397,1.039,0.397,1.435,0l0.202-0.202 C14.913,13.925,14.913,13.281,14.517,12.884z M6.644,10.001c-1.846,0-3.344-1.501-3.344-3.352c0-1.851,1.497-3.352,3.344-3.352 c1.847,0,3.344,1.501,3.344,3.352C9.987,8.501,8.49,10.001,6.644,10.001z"/>
+ </defs>
+ <use id="search-icon" xlink:href="#search"/>
+ <use id="search-icon-inverted" xlink:href="#search"/>
+</svg>
diff --git a/toolkit/themes/osx/global/icons/autoscroll.png b/toolkit/themes/osx/global/icons/autoscroll.png
new file mode 100644
index 0000000000..c21e067d9a
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/autoscroll.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/blacklist_64.png b/toolkit/themes/osx/global/icons/blacklist_64.png
new file mode 100644
index 0000000000..90555a93bf
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/blacklist_64.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/blacklist_favicon.png b/toolkit/themes/osx/global/icons/blacklist_favicon.png
new file mode 100644
index 0000000000..e67d3d34f0
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/blacklist_favicon.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/checkbox.png b/toolkit/themes/osx/global/icons/checkbox.png
new file mode 100644
index 0000000000..137e4e801f
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/checkbox.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/checkbox@2x.png b/toolkit/themes/osx/global/icons/checkbox@2x.png
new file mode 100644
index 0000000000..61bcc59c7d
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/checkbox@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/chevron-inverted.png b/toolkit/themes/osx/global/icons/chevron-inverted.png
new file mode 100644
index 0000000000..8ad164baaf
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/chevron-inverted.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/chevron-inverted@2x.png b/toolkit/themes/osx/global/icons/chevron-inverted@2x.png
new file mode 100644
index 0000000000..4327a1a457
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/chevron-inverted@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/chevron.png b/toolkit/themes/osx/global/icons/chevron.png
new file mode 100644
index 0000000000..b2d31e38f5
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/chevron.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/chevron@2x.png b/toolkit/themes/osx/global/icons/chevron@2x.png
new file mode 100644
index 0000000000..dd91178030
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/chevron@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/close.png b/toolkit/themes/osx/global/icons/close.png
new file mode 100644
index 0000000000..9bba044ce5
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/close.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/close@2x.png b/toolkit/themes/osx/global/icons/close@2x.png
new file mode 100755
index 0000000000..01c5ef4232
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/close@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/error-16.png b/toolkit/themes/osx/global/icons/error-16.png
new file mode 100644
index 0000000000..41514d0806
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/error-16.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/error-64.png b/toolkit/themes/osx/global/icons/error-64.png
new file mode 100644
index 0000000000..972abaff3b
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/error-64.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/error-large.png b/toolkit/themes/osx/global/icons/error-large.png
new file mode 100644
index 0000000000..5a1479e28b
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/error-large.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/glyph-dropdown.png b/toolkit/themes/osx/global/icons/glyph-dropdown.png
new file mode 100644
index 0000000000..fa08515836
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/glyph-dropdown.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/glyph-dropdown@2x.png b/toolkit/themes/osx/global/icons/glyph-dropdown@2x.png
new file mode 100644
index 0000000000..653039a3e6
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/glyph-dropdown@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/information-16.png b/toolkit/themes/osx/global/icons/information-16.png
new file mode 100644
index 0000000000..6fb2e3a804
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/information-16.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/information-24.png b/toolkit/themes/osx/global/icons/information-24.png
new file mode 100644
index 0000000000..6907d02e5f
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/information-24.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/information-32.png b/toolkit/themes/osx/global/icons/information-32.png
new file mode 100644
index 0000000000..4501bc813a
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/information-32.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/information-64.png b/toolkit/themes/osx/global/icons/information-64.png
new file mode 100644
index 0000000000..8d9b72498e
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/information-64.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/information-large.png b/toolkit/themes/osx/global/icons/information-large.png
new file mode 100644
index 0000000000..3912f1c79a
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/information-large.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/menulist-dropmarker.png b/toolkit/themes/osx/global/icons/menulist-dropmarker.png
new file mode 100644
index 0000000000..689a1fe877
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/menulist-dropmarker.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/notfound.png b/toolkit/themes/osx/global/icons/notfound.png
new file mode 100644
index 0000000000..694dae910e
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/notfound.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/panebutton-active.png b/toolkit/themes/osx/global/icons/panebutton-active.png
new file mode 100644
index 0000000000..ca241c7b8a
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/panebutton-active.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/panebutton-inactive.png b/toolkit/themes/osx/global/icons/panebutton-inactive.png
new file mode 100644
index 0000000000..de527b6627
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/panebutton-inactive.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/panel-dropmarker.png b/toolkit/themes/osx/global/icons/panel-dropmarker.png
new file mode 100644
index 0000000000..e605e835c7
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/panel-dropmarker.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/question-16.png b/toolkit/themes/osx/global/icons/question-16.png
new file mode 100644
index 0000000000..8d8311fced
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/question-16.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/question-32.png b/toolkit/themes/osx/global/icons/question-32.png
new file mode 100644
index 0000000000..7c80831b04
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/question-32.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/question-64.png b/toolkit/themes/osx/global/icons/question-64.png
new file mode 100644
index 0000000000..96fd746409
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/question-64.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/question-large.png b/toolkit/themes/osx/global/icons/question-large.png
new file mode 100644
index 0000000000..dd2b21874b
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/question-large.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/resizer-rtl.png b/toolkit/themes/osx/global/icons/resizer-rtl.png
new file mode 100644
index 0000000000..6ab7d33457
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/resizer-rtl.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/resizer-rtl@2x.png b/toolkit/themes/osx/global/icons/resizer-rtl@2x.png
new file mode 100644
index 0000000000..6c85d4f332
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/resizer-rtl@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/resizer.png b/toolkit/themes/osx/global/icons/resizer.png
new file mode 100644
index 0000000000..efed0240b8
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/resizer.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/resizer@2x.png b/toolkit/themes/osx/global/icons/resizer@2x.png
new file mode 100644
index 0000000000..2304cc65fe
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/resizer@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/search-textbox.svg b/toolkit/themes/osx/global/icons/search-textbox.svg
new file mode 100644
index 0000000000..12be833c40
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/search-textbox.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <style>
+ path {
+ fill: #4c4c4c;
+ fill-rule: evenodd;
+ }
+ </style>
+ <path id="glyph-search" d="M11.354,10.646l-0.707.707L7.295,8A4.483,4.483,0,1,1,9,4.5,4.458,4.458,0,0,1,8,7.295ZM4.5,1A3.5,3.5,0,1,0,8,4.5,3.5,3.5,0,0,0,4.5,1Z"/>
+</svg>
diff --git a/toolkit/themes/osx/global/icons/searchfield-cancel.svg b/toolkit/themes/osx/global/icons/searchfield-cancel.svg
new file mode 100644
index 0000000000..9899144e95
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/searchfield-cancel.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14" height="14" viewBox="0 0 14 14">
+ <style>
+ circle {
+ fill: #808080;
+ }
+
+ line {
+ stroke: #fff;
+ stroke-width: 1.5px;
+ }
+ </style>
+
+ <circle cx="7" cy="7" r="7" />
+ <line x1="4" y1="4" x2="10" y2="10" />
+ <line x1="10" y1="4" x2="4" y2="10" />
+</svg> \ No newline at end of file
diff --git a/toolkit/themes/osx/global/icons/sslWarning.png b/toolkit/themes/osx/global/icons/sslWarning.png
new file mode 100644
index 0000000000..e8ad586b6e
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/sslWarning.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/tabprompts-bgtexture.png b/toolkit/themes/osx/global/icons/tabprompts-bgtexture.png
new file mode 100644
index 0000000000..caffc241cf
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/tabprompts-bgtexture.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/warning-16.png b/toolkit/themes/osx/global/icons/warning-16.png
new file mode 100644
index 0000000000..2ab4b3915e
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/warning-16.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/warning-32.png b/toolkit/themes/osx/global/icons/warning-32.png
new file mode 100644
index 0000000000..750abaa220
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/warning-32.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/warning-64.png b/toolkit/themes/osx/global/icons/warning-64.png
new file mode 100644
index 0000000000..37d2120538
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/warning-64.png
Binary files differ
diff --git a/toolkit/themes/osx/global/icons/warning-large.png b/toolkit/themes/osx/global/icons/warning-large.png
new file mode 100644
index 0000000000..73fd65f6fa
--- /dev/null
+++ b/toolkit/themes/osx/global/icons/warning-large.png
Binary files differ
diff --git a/toolkit/themes/osx/global/in-content/common.css b/toolkit/themes/osx/global/in-content/common.css
new file mode 100644
index 0000000000..a987cbfe1f
--- /dev/null
+++ b/toolkit/themes/osx/global/in-content/common.css
@@ -0,0 +1,121 @@
+/* - This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ - You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../shared.inc
+%include ../../../shared/in-content/common.inc.css
+
+xul|tabs {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+xul|tab[visuallyselected] {
+ text-shadow: none;
+}
+
+xul|button,
+html|button,
+xul|colorpicker[type="button"],
+xul|menulist {
+ margin-top: 3px;
+}
+
+xul|button,
+html|button {
+ /* use the same margin of other elements for the alignment */
+ margin-left: 4px;
+ margin-right: 4px;
+}
+
+xul|caption {
+ padding-inline-start: 0;
+}
+
+xul|groupbox > xul|*.groupbox-body {
+ padding: 0;
+}
+
+xul|menulist:not([editable="true"]) > xul|menupopup > xul|menuitem[checked="true"]::before,
+xul|menulist:not([editable="true"]) > xul|menupopup > xul|menuitem[selected="true"]::before {
+ display: none;
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
+ display: -moz-box;
+ margin-top: 1px;
+ margin-bottom: 1px;
+}
+
+xul|menulist > xul|menupopup xul|menu,
+xul|menulist > xul|menupopup xul|menuitem,
+xul|button[type="menu"] > xul|menupopup xul|menu,
+xul|button[type="menu"] > xul|menupopup xul|menuitem {
+ padding-inline-end: 34px;
+}
+
+xul|*.help-button > xul|*.button-box > xul|*.button-icon {
+ margin-inline-start: 0;
+}
+
+xul|*.checkbox-icon {
+ margin-right: 0;
+}
+
+xul|*.radio-icon {
+ margin-inline-end: 0;
+}
+
+xul|*.numberbox-input-box {
+ -moz-appearance: none;
+ border-width: 0;
+}
+
+xul|description {
+ font-size: 1.25rem;
+ line-height: 22px;
+}
+
+xul|*.text-link:-moz-focusring {
+ color: var(--in-content-link-highlight);
+ text-decoration: underline;
+ box-shadow: none;
+}
+
+xul|button:-moz-focusring,
+xul|menulist:-moz-focusring,
+xul|checkbox:-moz-focusring > .checkbox-check,
+html|input[type="checkbox"]:-moz-focusring + html|label:before,
+xul|radio[focused="true"] > .radio-check,
+xul|tab:-moz-focusring > .tab-middle > .tab-text {
+ outline: 2px solid rgba(0,149,221,0.5);
+ outline-offset: 1px;
+ -moz-outline-radius: 2px;
+}
+
+xul|radio[focused="true"] > .radio-check {
+ -moz-outline-radius: 100%;
+}
+
+xul|spinbuttons {
+ -moz-appearance: none;
+}
+
+xul|*.spinbuttons-up {
+ margin-top: 0 !important;
+ border-radius: 4px 4px 0 0;
+}
+
+xul|*.spinbuttons-down {
+ margin-bottom: 0 !important;
+ border-radius: 0 0 4px 4px;
+}
+
+xul|*.spinbuttons-button > xul|*.button-box {
+ padding-inline-start: 2px !important;
+ padding-inline-end: 3px !important;
+}
+
+xul|*.spinbuttons-button > xul|*.button-box > xul|*.button-text {
+ display: none;
+}
diff --git a/toolkit/themes/osx/global/in-content/info-pages.css b/toolkit/themes/osx/global/in-content/info-pages.css
new file mode 100644
index 0000000000..a25b9f6a3d
--- /dev/null
+++ b/toolkit/themes/osx/global/in-content/info-pages.css
@@ -0,0 +1 @@
+%include ../../../shared/in-content/info-pages.inc.css \ No newline at end of file
diff --git a/toolkit/themes/osx/global/jar.mn b/toolkit/themes/osx/global/jar.mn
new file mode 100644
index 0000000000..def597650d
--- /dev/null
+++ b/toolkit/themes/osx/global/jar.mn
@@ -0,0 +1,150 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include ../../shared/jar.inc.mn
+
+toolkit.jar:
+ skin/classic/global/10pct_transparent_grey.png
+ skin/classic/global/50pct_transparent_grey.png
+ skin/classic/global/arrow.css
+ skin/classic/global/autocomplete.css
+ skin/classic/global/button.css
+ skin/classic/global/checkbox.css
+ skin/classic/global/colorpicker.css
+ skin/classic/global/commonDialog.css
+ skin/classic/global/customizeToolbar.css
+ skin/classic/global/dialog.css
+ skin/classic/global/dropmarker.css
+ skin/classic/global/filefield.css
+ skin/classic/global/filters.svg
+* skin/classic/global/findBar.css
+* skin/classic/global/global.css
+ skin/classic/global/groupbox.css
+ skin/classic/global/linkTree.css
+ skin/classic/global/listbox.css
+ skin/classic/global/menu.css
+ skin/classic/global/menulist.css
+* skin/classic/global/notification.css
+ skin/classic/global/netError.css
+ skin/classic/global/numberbox.css
+ skin/classic/global/popup.css
+ skin/classic/global/preferences.css
+ skin/classic/global/progressmeter.css
+ skin/classic/global/radio.css
+ skin/classic/global/resizer.css
+ skin/classic/global/richlistbox.css
+ skin/classic/global/scrollbars.css (nativescrollbars.css)
+ skin/classic/global/scale.css
+ skin/classic/global/scrollbox.css
+ skin/classic/global/spinbuttons.css
+ skin/classic/global/splitter.css
+ skin/classic/global/tabprompts.css
+ skin/classic/global/tabbox.css
+ skin/classic/global/textbox.css
+ skin/classic/global/datetimepicker.css
+ skin/classic/global/toolbar.css
+ skin/classic/global/toolbarbutton.css
+* skin/classic/global/tree.css
+* skin/classic/global/viewbuttons.css
+ skin/classic/global/wizard.css
+ skin/classic/global/alerts/alert.css (alerts/alert.css)
+ skin/classic/global/arrow/arrow-dn-dis.gif (arrow/arrow-dn-dis.gif)
+ skin/classic/global/arrow/arrow-dn-dis.png (arrow/arrow-dn-dis.png)
+ skin/classic/global/arrow/arrow-dn-sharp.gif (arrow/arrow-dn-sharp.gif)
+ skin/classic/global/arrow/arrow-dn.gif (arrow/arrow-dn.gif)
+ skin/classic/global/arrow/arrow-dn.png (arrow/arrow-dn.png)
+ skin/classic/global/arrow/arrow-lft-dis.gif (arrow/arrow-lft-dis.gif)
+ skin/classic/global/arrow/arrow-lft-hov.gif (arrow/arrow-lft-hov.gif)
+ skin/classic/global/arrow/arrow-lft-sharp-end.gif (arrow/arrow-lft-sharp-end.gif)
+ skin/classic/global/arrow/arrow-lft-sharp.gif (arrow/arrow-lft-sharp.gif)
+ skin/classic/global/arrow/arrow-lft.gif (arrow/arrow-lft.gif)
+ skin/classic/global/arrow/arrow-rit-dis.gif (arrow/arrow-rit-dis.gif)
+ skin/classic/global/arrow/arrow-rit-hov.gif (arrow/arrow-rit-hov.gif)
+ skin/classic/global/arrow/arrow-rit-sharp-end.gif (arrow/arrow-rit-sharp-end.gif)
+ skin/classic/global/arrow/arrow-rit-sharp.gif (arrow/arrow-rit-sharp.gif)
+ skin/classic/global/arrow/arrow-rit.gif (arrow/arrow-rit.gif)
+ skin/classic/global/arrow/arrow-up-dis.gif (arrow/arrow-up-dis.gif)
+ skin/classic/global/arrow/arrow-up-sharp.gif (arrow/arrow-up-sharp.gif)
+ skin/classic/global/arrow/arrow-up.gif (arrow/arrow-up.gif)
+ skin/classic/global/arrow/panelarrow-horizontal.png (arrow/panelarrow-horizontal.png)
+ skin/classic/global/arrow/panelarrow-horizontal@2x.png (arrow/panelarrow-horizontal@2x.png)
+ skin/classic/global/arrow/panelarrow-vertical.png (arrow/panelarrow-vertical.png)
+ skin/classic/global/arrow/panelarrow-vertical@2x.png (arrow/panelarrow-vertical@2x.png)
+ skin/classic/global/checkbox/cbox-check.gif (checkbox/cbox-check.gif)
+ skin/classic/global/checkbox/cbox-check-dis.gif (checkbox/cbox-check-dis.gif)
+ skin/classic/global/dirListing/dirListing.css (dirListing/dirListing.css)
+ skin/classic/global/dirListing/folder.png (dirListing/folder.png)
+ skin/classic/global/dirListing/remote.png (dirListing/remote.png)
+ skin/classic/global/dirListing/up.png (dirListing/up.png)
+ skin/classic/global/icons/autocomplete-dropmarker.png (icons/autocomplete-dropmarker.png)
+ skin/classic/global/icons/autocomplete-search.svg (icons/autocomplete-search.svg)
+ skin/classic/global/icons/autoscroll.png (icons/autoscroll.png)
+ skin/classic/global/icons/blacklist_favicon.png (icons/blacklist_favicon.png)
+ skin/classic/global/icons/blacklist_64.png (icons/blacklist_64.png)
+ skin/classic/global/icons/chevron.png (icons/chevron.png)
+ skin/classic/global/icons/chevron-inverted.png (icons/chevron-inverted.png)
+ skin/classic/global/icons/chevron@2x.png (icons/chevron@2x.png)
+ skin/classic/global/icons/chevron-inverted@2x.png (icons/chevron-inverted@2x.png)
+ skin/classic/global/icons/checkbox.png (icons/checkbox.png)
+ skin/classic/global/icons/checkbox@2x.png (icons/checkbox@2x.png)
+ skin/classic/global/icons/close.png (icons/close.png)
+ skin/classic/global/icons/close@2x.png (icons/close@2x.png)
+ skin/classic/global/icons/glyph-dropdown.png (icons/glyph-dropdown.png)
+ skin/classic/global/icons/glyph-dropdown@2x.png (icons/glyph-dropdown@2x.png)
+ skin/classic/global/icons/information-16.png (icons/information-16.png)
+ skin/classic/global/icons/information-24.png (icons/information-24.png)
+ skin/classic/global/icons/information-32.png (icons/information-32.png)
+ skin/classic/global/icons/information-64.png (icons/information-64.png)
+ skin/classic/global/icons/information-large.png (icons/information-large.png)
+ skin/classic/global/icons/menulist-dropmarker.png (icons/menulist-dropmarker.png)
+ skin/classic/global/icons/notfound.png (icons/notfound.png)
+ skin/classic/global/icons/panebutton-active.png (icons/panebutton-active.png)
+ skin/classic/global/icons/panebutton-inactive.png (icons/panebutton-inactive.png)
+ skin/classic/global/icons/panel-dropmarker.png (icons/panel-dropmarker.png)
+ skin/classic/global/icons/resizer.png (icons/resizer.png)
+ skin/classic/global/icons/resizer@2x.png (icons/resizer@2x.png)
+ skin/classic/global/icons/resizer-rtl.png (icons/resizer-rtl.png)
+ skin/classic/global/icons/resizer-rtl@2x.png (icons/resizer-rtl@2x.png)
+ skin/classic/global/icons/search-textbox.svg (icons/search-textbox.svg)
+ skin/classic/global/icons/searchfield-cancel.svg (icons/searchfield-cancel.svg)
+ skin/classic/global/icons/tabprompts-bgtexture.png (icons/tabprompts-bgtexture.png)
+ skin/classic/global/icons/warning-16.png (icons/warning-16.png)
+ skin/classic/global/icons/warning-32.png (icons/warning-32.png)
+ skin/classic/global/icons/warning-64.png (icons/warning-64.png)
+ skin/classic/global/icons/warning-large.png (icons/warning-large.png)
+ skin/classic/global/icons/error-16.png (icons/error-16.png)
+ skin/classic/global/icons/error-64.png (icons/error-64.png)
+ skin/classic/global/icons/error-large.png (icons/error-large.png)
+ skin/classic/global/icons/Error.png (icons/Error.png)
+ skin/classic/global/icons/question-16.png (icons/question-16.png)
+ skin/classic/global/icons/question-32.png (icons/question-32.png)
+ skin/classic/global/icons/question-64.png (icons/question-64.png)
+ skin/classic/global/icons/question-large.png (icons/question-large.png)
+ skin/classic/global/icons/sslWarning.png (icons/sslWarning.png)
+ skin/classic/global/notification/close.png (notification/close.png)
+ skin/classic/global/notification/error-icon.png (notification/error-icon.png)
+ skin/classic/global/notification/info-icon.png (notification/info-icon.png)
+ skin/classic/global/notification/warning-icon.png (notification/warning-icon.png)
+* skin/classic/global/in-content/common.css (in-content/common.css)
+* skin/classic/global/in-content/info-pages.css (in-content/info-pages.css)
+ skin/classic/global/scale/scale-tray-horiz.gif (scale/scale-tray-horiz.gif)
+ skin/classic/global/scale/scale-tray-vert.gif (scale/scale-tray-vert.gif)
+ skin/classic/global/splitter/dimple.png (splitter/dimple.png)
+ skin/classic/global/splitter/grip-bottom.gif (splitter/grip-bottom.gif)
+ skin/classic/global/splitter/grip-top.gif (splitter/grip-top.gif)
+ skin/classic/global/splitter/grip-left.gif (splitter/grip-left.gif)
+ skin/classic/global/splitter/grip-right.gif (splitter/grip-right.gif)
+ skin/classic/global/toolbar/spring.png (toolbar/spring.png)
+ skin/classic/global/toolbar/toolbar-separator.png (toolbar/toolbar-separator.png)
+ skin/classic/global/tree/arrow-disclosure.svg (tree/arrow-disclosure.svg)
+ skin/classic/global/tree/columnpicker.gif (tree/columnpicker.gif)
+ skin/classic/global/tree/folder.png (tree/folder.png)
+ skin/classic/global/tree/folder@2x.png (tree/folder@2x.png)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
+% override chrome://global/skin/dirListing/local.png chrome://global/skin/dirListing/folder.png
diff --git a/toolkit/themes/osx/global/linkTree.css b/toolkit/themes/osx/global/linkTree.css
new file mode 100644
index 0000000000..d83c5bfd9d
--- /dev/null
+++ b/toolkit/themes/osx/global/linkTree.css
@@ -0,0 +1,32 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/**
+ * All the properties in this rule are important to avoid having to create
+ * a special type of tree. This stylesheet can be loaded into a document with
+ * a single tree that is a link tree. Hardly elegant but it's efficient.
+ */
+treeitem[selected="true"] > treerow
+ {
+ background : transparent !important;
+ border : none !important;
+ color : -moz-FieldText !important;
+ }
+
+treecell:hover
+ {
+ text-decoration : underline !important;
+ color : #000080 !important;
+ cursor : pointer;
+ }
+
+treecell:hover:active
+ {
+ text-decoration : underline !important;
+ color : red !important;
+ }
+
+
diff --git a/toolkit/themes/osx/global/listbox.css b/toolkit/themes/osx/global/listbox.css
new file mode 100644
index 0000000000..90928c7699
--- /dev/null
+++ b/toolkit/themes/osx/global/listbox.css
@@ -0,0 +1,113 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+listbox {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ background-color: #FFFFFF;
+ color: -moz-FieldText;
+}
+
+.listcell-label {
+ margin: 0px !important;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ white-space: nowrap;
+}
+
+/* ::::: listitem ::::: */
+
+listitem {
+ border: 1px solid transparent;
+}
+
+listitem[selected="true"] {
+ background-color: -moz-mac-secondaryhighlight;
+ color: -moz-DialogText;
+}
+
+listbox:focus > listitem[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+/* ::::: listheader ::::: */
+
+listheader {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0 4px;
+}
+
+listheader[sortable="true"]:hover:active {
+ border-top: 2px solid;
+ border-right: 1px solid;
+ border-bottom: 1px solid;
+ border-left: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDShadow;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 1px;
+ padding-inline-start: 5px;
+ padding-inline-end: 4px;
+}
+
+.listheader-icon {
+ margin-inline-end: 2px;
+}
+
+.listheader-label {
+ margin: 0px !important;
+}
+
+/* ::::: listcell ::::: */
+
+.listcell-label {
+ margin: 0px !important;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ white-space: nowrap;
+}
+
+.listcell-icon {
+ margin-inline-end: 2px;
+}
+
+.listcell-label[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: listcell checkbox ::::: */
+
+.listcell-check {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ margin: 0px 2px;
+ border: 1px solid -moz-DialogText;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+.listcell-check[checked="true"] {
+ background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+
+.listcell-check[disabled="true"] {
+ border-color: GrayText;
+}
+
+.listcell-check[disabled="true"][checked="true"] {
+ background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
+}
diff --git a/toolkit/themes/osx/global/menu.css b/toolkit/themes/osx/global/menu.css
new file mode 100644
index 0000000000..49ca168a64
--- /dev/null
+++ b/toolkit/themes/osx/global/menu.css
@@ -0,0 +1,187 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+menu,
+menuitem,
+menucaption {
+ -moz-appearance: menuitem;
+ -moz-box-align: center;
+ color: MenuText;
+ font: -moz-pull-down-menu;
+ list-style-image: none;
+ -moz-image-region: auto;
+ padding: 0 21px 2px;
+}
+
+menu[disabled="true"], menuitem[disabled="true"],
+menu[_moz-menuactive="true"][disabled="true"],
+menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: -moz-mac-menutextdisable;
+}
+
+/* ..... internal content .... */
+
+.menu-text,
+.menu-iconic-text,
+.menu-accel,
+.menu-iconic-accel {
+ margin: 0 !important;
+}
+
+.menu-text,
+.menu-iconic-text {
+ font-weight: inherit;
+ color: inherit;
+}
+
+menucaption > .menu-text,
+menucaption > .menu-iconic-text {
+ font-weight: bold;
+}
+
+.menu-description {
+ font-style: italic;
+ color: -moz-mac-menutextdisable;
+ margin-inline-start: 1ex !important;
+}
+
+.menu-iconic-icon {
+ height: 16px;
+ margin-top: -2px;
+ margin-bottom: -2px;
+ margin-inline-end: 5px;
+ /* Empty icons shouldn't take up room, so we need to compensate
+ * the 5px margin-end with a negative margin-start.
+ */
+ margin-inline-start: -5px;
+}
+
+/* menuitems with icons */
+.menuitem-iconic,
+.menu-iconic,
+menuitem[image],
+menuitem[src] {
+ /* 2px higher than those without icons */
+ padding-top: 1px;
+ padding-bottom: 3px;
+}
+
+.menuitem-iconic > .menu-iconic-left > .menu-iconic-icon,
+.menu-iconic > .menu-iconic-left > .menu-iconic-icon,
+menuitem[image] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[src] > .menu-iconic-left > .menu-iconic-icon {
+ margin-inline-start: 0;
+ width: 16px;
+}
+
+/* ..... menu arrow box ..... */
+
+.menu-right,
+.menu-accel-container {
+ margin-inline-start: 21px;
+ margin-inline-end: -9px;
+ -moz-box-pack: end;
+}
+
+.menu-right {
+ list-style-image: none;
+ -moz-appearance: menuarrow;
+}
+
+/* ::::: menu/menuitems in menubar ::::: */
+
+menubar > menu {
+ -moz-appearance: none;
+ padding: 2px 5px 2px 7px;
+ margin: 1px 0;
+}
+
+menubar > menu[_moz-menuactive="true"] {
+ color: inherit;
+ background-color: transparent;
+}
+
+menubar > menu[_moz-menuactive="true"][open="true"] {
+ -moz-appearance: menuitem;
+ color: -moz-mac-menutextselect;
+}
+
+/* ..... internal content .... */
+
+.menubar-left {
+ margin: 0 2px;
+ color: inherit;
+}
+
+.menubar-text {
+ margin: 0 1px !important;
+ color: inherit;
+}
+
+/* ::::: menu/menuitems in popups ::::: */
+
+menupopup > menu,
+menupopup > menuitem,
+menupopup > menucaption {
+ max-width: 42em;
+}
+
+menu[_moz-menuactive="true"],
+menuitem[_moz-menuactive="true"] {
+ color: -moz-mac-menutextselect;
+ background-color: Highlight;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menucaption,
+menulist > menupopup > menu {
+ max-width: none;
+ font: inherit;
+ color: -moz-FieldText;
+}
+
+/* ::::: menuitems in editable menulist popups ::::: */
+
+menulist[editable="true"] > menupopup > menuitem,
+menulist[editable="true"] > menupopup > menucaption {
+ -moz-appearance: none;
+}
+
+menulist[editable="true"] > menupopup > :-moz-any(menuitem, menucaption) > .menu-iconic-left {
+ display: none;
+}
+
+/* ::::: checked menuitems ::::: */
+
+:not(menulist) > menupopup > menuitem[checked="true"],
+:not(menulist) > menupopup > menuitem[selected="true"] {
+ -moz-appearance: checkmenuitem;
+}
+
+menulist:not([editable="true"]) > menupopup > menuitem[checked="true"]::before,
+menulist:not([editable="true"]) > menupopup > menuitem[selected="true"]::before {
+ content: '\2713'; /* a checkmark */
+ display: block;
+ width: 15px;
+ margin-inline-start: -15px;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ -moz-appearance: menuseparator;
+ margin: 5px 0;
+ padding: 1px 0;
+}
+
+/* ::::: autocomplete ::::: */
+
+.autocomplete-history-popup > menuitem {
+ max-width: none !important;
+ font: message-box;
+}
diff --git a/toolkit/themes/osx/global/menulist.css b/toolkit/themes/osx/global/menulist.css
new file mode 100644
index 0000000000..a4feca947e
--- /dev/null
+++ b/toolkit/themes/osx/global/menulist.css
@@ -0,0 +1,65 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+menulist {
+ -moz-appearance: menulist;
+ margin: 5px 2px 3px;
+ color: -moz-DialogText;
+ text-shadow: none;
+}
+
+menulist:not([popuponly="true"]) {
+ min-height: 20px;
+}
+
+.menulist-label-box {
+ -moz-appearance: menulist-text;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin-bottom: 1px;
+}
+
+.menulist-label {
+ margin: 1px 3px !important;
+}
+
+.menulist-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+/* ..... dropmarker ..... */
+
+.menulist-dropmarker {
+ display: none;
+}
+
+/* ..... disabled state ..... */
+
+menulist[disabled="true"] {
+ color: GrayText;
+}
+
+menulist[disabled="true"] > .menulist-dropmarker {
+ padding-inline-start: 7px !important;
+}
+
+/* ::::: editable menulists ::::: */
+
+menulist[editable="true"] {
+ -moz-appearance: menulist-textfield;
+ margin: 4px 2px;
+}
+
+html|*.menulist-editable-input {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px !important;
+ background: inherit;
+ font: inherit;
+}
diff --git a/toolkit/themes/osx/global/moz.build b/toolkit/themes/osx/global/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/osx/global/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/osx/global/nativescrollbars.css b/toolkit/themes/osx/global/nativescrollbars.css
new file mode 100644
index 0000000000..82ef4d2ac1
--- /dev/null
+++ b/toolkit/themes/osx/global/nativescrollbars.css
@@ -0,0 +1,89 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+scrollbar {
+ -moz-appearance: scrollbar;
+ -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar);
+ cursor: default;
+ background-color: white;
+}
+
+scrollbar[root="true"] {
+ position: relative;
+ z-index: 2147483647; /* largest positive value of a signed 32-bit integer */
+}
+
+html|select[size]:not([size="0"]):not([size="1"]) > scrollbar,
+html|select[multiple] > scrollbar {
+ -moz-appearance: scrollbar-small;
+}
+
+@media all and (-moz-overlay-scrollbars) {
+ scrollbar:not([active="true"]),
+ scrollbar[disabled="true"] {
+ visibility: hidden;
+ }
+}
+
+/* ..... track ..... */
+
+slider {
+ -moz-appearance: scrollbartrack-horizontal;
+}
+
+slider[orient="vertical"] {
+ -moz-appearance: scrollbartrack-vertical;
+}
+
+/* ..... thumb ..... */
+
+thumb {
+ -moz-appearance: scrollbarthumb-horizontal;
+}
+
+thumb[orient="vertical"] {
+ -moz-appearance: scrollbarthumb-vertical;
+}
+
+/* ..... increment ..... */
+
+scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-right;
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-down;
+}
+
+/* ..... decrement ..... */
+
+scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-left;
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-up;
+}
+
+/* ::::: square at the corner of two scrollbars ::::: */
+
+scrollcorner {
+ /* XXX -moz-appearance: scrollcorner; */
+ -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
+ width: 16px;
+ cursor: default;
+ background-color: white;
+}
+
+/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
+@media print {
+ html|div scrollbar {
+ -moz-appearance: scrollbar;
+ -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar);
+ cursor: default;
+ }
+}
diff --git a/toolkit/themes/osx/global/netError.css b/toolkit/themes/osx/global/netError.css
new file mode 100644
index 0000000000..9255f958e3
--- /dev/null
+++ b/toolkit/themes/osx/global/netError.css
@@ -0,0 +1,145 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This defines the look-and-feel styling of the error pages.
+ * (see: netError.xhtml)
+ *
+ * Original styling by William Price <bugzilla@mob.rice.edu>
+ * Updated by: Steven Garrity <steven@silverorange.com>
+ * Henrik Skupin <mozilla@hskupin.info>
+ */
+
+html {
+ background: -moz-Dialog;
+}
+
+body {
+ margin: 0;
+ padding: 0 1em;
+ color: -moz-FieldText;
+ font: message-box;
+}
+
+h1 {
+ margin: 0 0 .6em 0;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-size: 160%;
+}
+
+ul, ol {
+ margin: 0;
+ margin-inline-start: 1.5em;
+ padding: 0;
+}
+
+ul > li, ol > li {
+ margin-bottom: .5em;
+}
+
+ul {
+ list-style: square;
+}
+
+#errorPageContainer {
+ position: relative;
+ min-width: 13em;
+ max-width: 52em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: url("chrome://global/skin/icons/warning-large.png") left 0 no-repeat -moz-Field;
+ background-origin: content-box;
+}
+
+#errorPageContainer.certerror {
+ background-image: url("chrome://global/skin/icons/sslWarning.png");
+}
+
+#errorPageContainer:dir(rtl) {
+ background-position: right 0;
+}
+
+#errorTitle {
+ margin-inline-start: 80px;
+}
+
+#errorLongContent {
+ margin-inline-start: 80px;
+}
+
+#errorShortDesc > p {
+ overflow: auto;
+ border-bottom: 1px solid ThreeDLightShadow;
+ padding-bottom: 1em;
+ font-size: 130%;
+ white-space: pre-wrap;
+}
+
+#errorLongDesc {
+ padding-inline-end: 3em;
+ font-size: 110%;
+}
+
+#errorLongDesc > p {
+}
+
+#errorTryAgain {
+ margin-top: 2em;
+ margin-inline-start: 80px;
+}
+
+#brand {
+ position: absolute;
+ right: 0;
+ bottom: -1.5em;
+ margin-inline-end: 10px;
+ opacity: .4;
+}
+
+#brand:dir(rtl) {
+ right: auto;
+ left: 0;
+}
+
+#brand > p {
+ margin: 0;
+}
+
+#errorContainer {
+ display: none;
+}
+
+#securityOverrideDiv {
+ padding-top: 10px;
+}
+
+#securityOverrideContent {
+ background-color: #FFF090; /* Pale yellow */
+ padding: 10px;
+ border-radius: 10px;
+}
+
+/* Custom styling for 'blacklist' error class */
+:root.blacklist #errorTitle, :root.blacklist #errorLongContent,
+:root.blacklist #errorShortDesc, :root.blacklist #errorLongDesc,
+:root.blacklist a {
+ background-color: #722; /* Dark red */
+ color: white;
+}
+
+:root.blacklist #errorPageContainer {
+ background-image: url("chrome://global/skin/icons/blacklist_64.png");
+ background-color: #722;
+}
+
+:root.blacklist {
+ background: #333;
+}
+
+:root.blacklist #errorTryAgain {
+ display: none;
+}
diff --git a/toolkit/themes/osx/global/notification.css b/toolkit/themes/osx/global/notification.css
new file mode 100644
index 0000000000..24b3d3920b
--- /dev/null
+++ b/toolkit/themes/osx/global/notification.css
@@ -0,0 +1,206 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include shared.inc
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+notification {
+ padding: 3px 3px 4px;
+ text-shadow: none;
+}
+
+notification[type="info"] {
+ color: rgba(255,255,255,0.95);
+ background: linear-gradient(#606060, #404040);
+ border-top: 1px solid #2a2a2a;
+ border-bottom: 1px solid #2a2a2a;
+}
+
+notification[type="warning"] {
+ color: rgba(0,0,0,0.95);
+ background: linear-gradient(#ffe13e, #ffc703);
+ border-top: 1px solid #bf8a01;
+ border-bottom: 1px solid #bf8a01;
+}
+
+notification[type="critical"] {
+ color: rgba(255,255,255,0.95);
+ background: linear-gradient(#d40000, #980000);
+ border-top: 1px solid #5d0000;
+ border-bottom: 1px solid #5d0000;
+}
+
+notificationbox[notificationside="top"] > notification {
+ border-top-style: none;
+}
+
+notificationbox[notificationside="bottom"] > notification {
+ border-bottom-style: none;
+}
+
+.messageText > .text-link {
+ color: inherit !important;
+ text-decoration: underline;
+}
+
+.messageImage {
+ width: 16px;
+ height: 16px;
+ margin: 0 4px;
+}
+
+/* Default icons for notifications */
+
+.messageImage[type="info"] {
+ list-style-image: url("chrome://global/skin/notification/info-icon.png");
+}
+
+.messageImage[type="warning"] {
+ list-style-image: url("chrome://global/skin/notification/warning-icon.png");
+}
+
+.messageImage[type="critical"] {
+ list-style-image: url("chrome://global/skin/notification/error-icon.png");
+}
+
+.messageText {
+ margin: 0 3px !important;
+ padding: 0;
+ font-weight: bold;
+}
+
+.messageCloseButton {
+ -moz-appearance: none;
+ padding: 0;
+ margin: 0 2px;
+ border: none;
+}
+
+/*
+ Invert the close icon for @type=info since both are normally dark. It's unclear
+ why !important is necessary here so remove it if it's no longer needed.
+*/
+notification[type="info"]:not([value="translation"]) .close-icon:not(:hover) {
+ -moz-image-region: rect(0, 64px, 16px, 48px) !important;
+}
+
+@media (min-resolution: 2dppx) {
+ notification[type="info"]:not([value="translation"]) .close-icon:not(:hover) {
+ -moz-image-region: rect(0, 128px, 32px, 96px) !important;
+ }
+}
+
+.messageCloseButton:-moz-focusring > .toolbarbutton-icon {
+ border-radius: 10000px;
+ box-shadow: 0 0 2px 1px -moz-mac-focusring,
+ 0 0 0 2px -moz-mac-focusring inset;
+}
+
+@media (min-resolution: 2dppx) {
+ .messageCloseButton > .toolbarbutton-icon {
+ width: 16px;
+ }
+}
+
+/* Popup notification */
+
+.popup-notification-body {
+ max-width: 25em;
+}
+
+.popup-notification-origin:not([value]),
+.popup-notification-learnmore-link:not([href]) {
+ display: none;
+}
+
+.popup-notification-origin {
+ margin-bottom: .3em !important;
+}
+
+.popup-notification-learnmore-link {
+ margin-top: .5em !important;
+}
+
+.popup-notification-button-container {
+ margin-top: 17px;
+}
+
+.popup-notification-menubutton {
+ -moz-appearance: none;
+}
+
+.popup-notification-menubutton:not([type="menu-button"]):-moz-focusring,
+.popup-notification-menubutton:-moz-focusring > .button-menubutton-dropmarker,
+.popup-notification-menubutton > .button-menubutton-button:-moz-focusring {
+ box-shadow: @focusRingShadow@;
+ position: relative;
+}
+
+.popup-notification-menubutton:not([type="menu-button"]),
+.popup-notification-menubutton > .button-menubutton-button,
+.popup-notification-menubutton > .button-menubutton-dropmarker {
+ -moz-appearance: none;
+ color: #434343;
+ border-radius: 4px;
+ border: 1px solid #b5b5b5;
+ background: linear-gradient(#fff, #f2f2f2);
+ box-shadow: inset 0 1px rgba(255,255,255,.8),
+ inset 0 0 1px rgba(255,255,255,.25),
+ 0 1px rgba(255,255,255,.3);
+ background-clip: padding-box;
+ background-origin: padding-box;
+ padding: 2px 6px;
+}
+
+.popup-notification-menubutton > .button-menubutton-button {
+ -moz-appearance: none;
+ margin: 0;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ padding-inline-start: 8px;
+ padding-inline-end: 5px;
+}
+
+.popup-notification-menubutton > .button-menubutton-dropmarker {
+ padding: 7px 8px;
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-inline-start: -1px;
+ list-style-image: url("chrome://global/skin/icons/panel-dropmarker.png");
+}
+
+.popup-notification-menubutton > .button-menubutton-button:-moz-locale-dir(ltr),
+.popup-notification-menubutton > .button-menubutton-dropmarker:-moz-locale-dir(rtl) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.popup-notification-menubutton > .button-menubutton-button:-moz-locale-dir(rtl),
+.popup-notification-menubutton > .button-menubutton-dropmarker:-moz-locale-dir(ltr) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.popup-notification-menubutton:not([type="menu-button"]):hover:active,
+.popup-notification-menubutton > .button-menubutton-button:hover:active,
+.popup-notification-menubutton[open="true"] > .button-menubutton-dropmarker {
+ box-shadow: inset 0 1px 4px -3px #000, 0 1px rgba(255, 255, 255, 0.3);
+}
+
+.popup-notification-closebutton {
+ margin-inline-end: -12px;
+ margin-top: -13px;
+}
+
+.popup-notification-closeitem > .menu-iconic-left {
+ display: none;
+}
+
+.popup-notification-menubutton > .button-menubutton-button[disabled] {
+ opacity: 0.5;
+}
+
+.popup-notification-warning {
+ color: #aa1b08;
+}
diff --git a/toolkit/themes/osx/global/notification/close.png b/toolkit/themes/osx/global/notification/close.png
new file mode 100644
index 0000000000..3300a4d61e
--- /dev/null
+++ b/toolkit/themes/osx/global/notification/close.png
Binary files differ
diff --git a/toolkit/themes/osx/global/notification/error-icon.png b/toolkit/themes/osx/global/notification/error-icon.png
new file mode 100644
index 0000000000..54cc7e663b
--- /dev/null
+++ b/toolkit/themes/osx/global/notification/error-icon.png
Binary files differ
diff --git a/toolkit/themes/osx/global/notification/info-icon.png b/toolkit/themes/osx/global/notification/info-icon.png
new file mode 100644
index 0000000000..55d45f165c
--- /dev/null
+++ b/toolkit/themes/osx/global/notification/info-icon.png
Binary files differ
diff --git a/toolkit/themes/osx/global/notification/warning-icon.png b/toolkit/themes/osx/global/notification/warning-icon.png
new file mode 100644
index 0000000000..13cf79d6df
--- /dev/null
+++ b/toolkit/themes/osx/global/notification/warning-icon.png
Binary files differ
diff --git a/toolkit/themes/osx/global/numberbox.css b/toolkit/themes/osx/global/numberbox.css
new file mode 100644
index 0000000000..e5de22d218
--- /dev/null
+++ b/toolkit/themes/osx/global/numberbox.css
@@ -0,0 +1,33 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+textbox[type="number"] {
+ -moz-appearance: none;
+ -moz-box-align: center;
+ padding: 0 !important;
+ border: none;
+ background-color: transparent;
+ cursor: default;
+}
+
+html|*.numberbox-input {
+ text-align: right;
+ padding: 0 1px !important;
+}
+
+.numberbox-input-box {
+ -moz-appearance: textfield;
+ margin-right: 4px;
+ border: 3px solid;
+ -moz-border-top-colors: transparent #888888 #000000;
+ -moz-border-right-colors: transparent #FFFFFF #000000;
+ -moz-border-bottom-colors: transparent #FFFFFF #000000;
+ -moz-border-left-colors: transparent #888888 #000000;
+ border-top-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ background-color: -moz-Field;
+}
diff --git a/toolkit/themes/osx/global/popup.css b/toolkit/themes/osx/global/popup.css
new file mode 100644
index 0000000000..cf0266a3a6
--- /dev/null
+++ b/toolkit/themes/osx/global/popup.css
@@ -0,0 +1,141 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+menupopup,
+panel {
+ -moz-appearance: menupopup;
+ background-color: Menu;
+}
+
+menupopup > menu > menupopup {
+ margin-top: -4px;
+}
+
+.popup-internal-box {
+ padding: 4px 0;
+}
+
+panel[titlebar] {
+ -moz-appearance: none; /* to disable rounded corners */
+}
+
+panel[type="arrow"] {
+ -moz-appearance: none;
+ background: transparent;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"] {
+ margin-left: -25px;
+ margin-right: -25px;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"] {
+ margin-top: -25px;
+ margin-bottom: -25px;
+}
+
+.panel-arrowcontent {
+ -moz-appearance: none;
+ background: var(--arrowpanel-background);
+ border-radius: var(--arrowpanel-border-radius);
+ box-shadow: 0 0 0 1px var(--arrowpanel-border-color);
+ color: var(--arrowpanel-color);
+ border: none;
+ padding: var(--arrowpanel-padding);
+ margin: 1px;
+}
+
+.panel-arrow[side="top"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical.png"));
+ margin-left: 16px;
+ margin-right: 16px;
+ margin-bottom: -1px;
+}
+
+.panel-arrow[side="bottom"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-vertical.png");
+ -moz-transform: scaleY(-1);
+ margin-left: 16px;
+ margin-right: 16px;
+ margin-top: -1px;
+}
+
+.panel-arrow[side="left"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal.png");
+ margin-top: 16px;
+ margin-bottom: 16px;
+ margin-right: -1px;
+}
+
+.panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal.png");
+ transform: scaleX(-1);
+ margin-top: 16px;
+ margin-bottom: 16px;
+ margin-left: -1px;
+}
+
+@media (min-resolution: 2dppx) {
+ .panel-arrow[side="top"],
+ .panel-arrow[side="bottom"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical@2x.png"));
+ width: 18px;
+ height: 10px;
+ }
+
+ .panel-arrow[side="left"],
+ .panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal@2x.png");
+ width: 10px;
+ height: 18px;
+ }
+}
+
+/* ::::: tooltip ::::: */
+
+tooltip {
+ -moz-appearance: tooltip;
+ margin-top: 18px;
+ padding: 2px 3px;
+ max-width: 40em;
+ color: InfoText;
+ font: message-box;
+ cursor: default;
+}
+
+tooltip[titletip="true"] {
+ /* See bug 32157 comment 128
+ * margin: -2px 0px 0px -3px;
+ */
+ max-width: none;
+}
+
+/* rules for popups associated with menulists */
+
+menulist > menupopup {
+ min-width: 0px;
+}
+
+menulist > menupopup:not([position]) {
+ margin-inline-start: -13px;
+ margin-top: -2px;
+}
+
+menulist[editable="true"] > menupopup {
+ -moz-appearance: none;
+}
+
+menulist > menupopup > .popup-internal-box {
+ padding: 0;
+}
+
+menulist:not([editable="true"]) > menupopup {
+ padding: 4px 0;
+}
diff --git a/toolkit/themes/osx/global/preferences.css b/toolkit/themes/osx/global/preferences.css
new file mode 100644
index 0000000000..d0b82a819c
--- /dev/null
+++ b/toolkit/themes/osx/global/preferences.css
@@ -0,0 +1,64 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+prefwindow {
+ padding: 0;
+ font: -moz-dialog !important;
+}
+
+prefpane {
+ padding: 12px 12px 0 12px;
+}
+
+prefwindow[type="child"] > prefpane {
+ padding: 0;
+}
+
+.prefWindow-dlgbuttons {
+ margin: 0 12px 12px;
+ padding-top: 0 !important;
+}
+
+.paneSelector {
+ font: message-box;
+ padding: 1px 4px;
+ -moz-appearance: toolbar;
+ margin: 0;
+}
+
+radio[pane] {
+ border: solid transparent;
+ border-width: 0 2px;
+ padding: 5px 4px 3px;
+ margin: 0;
+ -moz-appearance: none;
+ text-shadow: rgba(255, 255, 255, 0.4) 0 1px;
+}
+
+radio[pane]:active:hover {
+ text-shadow: none;
+}
+
+radio[pane] > .paneButtonIcon {
+ /* preload external filter file */
+ background-image: url("chrome://global/skin/filters.svg");
+}
+
+radio[pane]:active:hover > .paneButtonIcon {
+ filter: url("chrome://global/skin/filters.svg#iconPressed");
+}
+
+radio[pane][selected="true"] {
+ -moz-border-image: url("chrome://global/skin/icons/panebutton-active.png") 0 2 fill repeat stretch;
+}
+
+radio[pane][selected="true"]:-moz-window-inactive {
+ -moz-border-image: url("chrome://global/skin/icons/panebutton-inactive.png") 0 2 fill repeat stretch;
+}
+
+.paneButtonLabel {
+ margin: 0 !important;
+}
diff --git a/toolkit/themes/osx/global/progressmeter.css b/toolkit/themes/osx/global/progressmeter.css
new file mode 100644
index 0000000000..13fce252ab
--- /dev/null
+++ b/toolkit/themes/osx/global/progressmeter.css
@@ -0,0 +1,22 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+progressmeter {
+ -moz-appearance: progressbar;
+ margin: 2px 4px;
+ min-width: 128px;
+ height: 12px;
+}
+
+.progress-remainder[flex="100"], .progress-remainder[flex="0"] {
+ background-image: none !important;
+ -moz-appearance: none;
+}
+
+.progressmeter-statusbar {
+ margin: 0;
+ border-width: 1px;
+}
diff --git a/toolkit/themes/osx/global/radio.css b/toolkit/themes/osx/global/radio.css
new file mode 100644
index 0000000000..e21d93011b
--- /dev/null
+++ b/toolkit/themes/osx/global/radio.css
@@ -0,0 +1,43 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+radiogroup {
+ margin: 1px 0px 1px 0px;
+}
+
+radio {
+ -moz-appearance: radio-container;
+ -moz-box-align: center;
+ margin: 4px 2px;
+ -moz-user-focus: ignore;
+}
+
+.radio-label-box {
+ margin-inline-start: 0px;
+ padding: 0px;
+}
+
+.radio-icon {
+ margin-inline-end: 2px;
+}
+
+.radio-label {
+ margin: 1px 0 !important;
+}
+
+radio[disabled="true"] {
+ color: GrayText !important;
+}
+
+.radio-check, .radio-check-box1 {
+ -moz-appearance: radio;
+ margin: 0 1px 1px;
+ /* vertical-align tells native theming where to snap to. However, this doesn't
+ * always work reliably because of bug 503833. */
+ vertical-align: bottom;
+ width: 1.3em;
+ height: 1.3em;
+}
diff --git a/toolkit/themes/osx/global/resizer.css b/toolkit/themes/osx/global/resizer.css
new file mode 100644
index 0000000000..18cdd2bc93
--- /dev/null
+++ b/toolkit/themes/osx/global/resizer.css
@@ -0,0 +1,69 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+resizer {
+ -moz-appearance: resizer;
+ background: url("chrome://global/skin/icons/resizer.png") no-repeat;
+ background-size: 100% 100%;
+ cursor: se-resize;
+ min-width: 15px;
+ width: 15px;
+ min-height: 15px;
+ height: 15px;
+}
+@media (min-resolution: 2dppx) {
+ resizer {
+ background-image: url("chrome://global/skin/icons/resizer@2x.png");
+ background-size: 100% 100%;
+ }
+}
+
+resizer[type="window"] {
+ display: none;
+}
+
+resizer[rtl="true"],
+resizer[dir="bottomend"]:-moz-locale-dir(rtl) {
+ background: url("chrome://global/skin/icons/resizer-rtl.png") no-repeat;
+}
+@media (min-resolution: 2dppx) {
+ resizer[rtl="true"],
+ resizer[dir="bottomend"]:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/icons/resizer-rtl@2x.png");
+ background-size: 100% 100%;
+ }
+}
+
+
+resizer[dir="left"],
+resizer[dir="bottomleft"],
+resizer[dir="bottomstart"] {
+ transform: scaleX(-1);
+}
+
+resizer[dir="bottomleft"],
+resizer[dir="bottomstart"]:not([rtl="true"]):not(:-moz-locale-dir(rtl)),
+resizer[dir="bottomend"][rtl="true"] {
+ cursor: sw-resize;
+}
+
+resizer[dir="top"],
+resizer[dir="bottom"] {
+ cursor: ns-resize;
+}
+
+resizer[dir="left"],
+resizer[dir="right"] {
+ cursor: ew-resize;
+}
+
+resizer[dir="topleft"] {
+ cursor: nw-resize;
+}
+
+resizer[dir="topright"] {
+ cursor: ne-resize;
+}
diff --git a/toolkit/themes/osx/global/richlistbox.css b/toolkit/themes/osx/global/richlistbox.css
new file mode 100644
index 0000000000..605c89abb3
--- /dev/null
+++ b/toolkit/themes/osx/global/richlistbox.css
@@ -0,0 +1,27 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+richlistbox {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+richlistbox[disabled="true"] {
+ color: GrayText;
+}
+
+richlistitem[selected="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+richlistbox:focus > richlistitem[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
diff --git a/toolkit/themes/osx/global/scale.css b/toolkit/themes/osx/global/scale.css
new file mode 100644
index 0000000000..2e090bf28d
--- /dev/null
+++ b/toolkit/themes/osx/global/scale.css
@@ -0,0 +1,46 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.scale-slider {
+ -moz-appearance: scale-horizontal;
+ background: url("chrome://global/skin/scale/scale-tray-horiz.gif") 0% 50% repeat-x;
+ margin: 2px 4px;
+ width: 100px;
+}
+
+.scale-slider[orient="vertical"]
+{
+ -moz-appearance: scale-vertical;
+ background: url("chrome://global/skin/scale/scale-tray-vert.gif") 50% 0% repeat-y;
+ margin: 4px 2px;
+ width: auto;
+ height: 100px;
+}
+
+.scale-thumb {
+ -moz-appearance: scalethumb-horizontal;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ min-width: 30px;
+ min-height: 15px;
+}
+
+.scale-thumb[orient="vertical"] {
+ -moz-appearance: scalethumb-vertical;
+ min-width: 15px;
+ min-height: 30px;
+}
+
+.scale-thumb[disabled="true"] {
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow !important;
+}
diff --git a/toolkit/themes/osx/global/scale/scale-tray-horiz.gif b/toolkit/themes/osx/global/scale/scale-tray-horiz.gif
new file mode 100644
index 0000000000..b87fe68c15
--- /dev/null
+++ b/toolkit/themes/osx/global/scale/scale-tray-horiz.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/scale/scale-tray-vert.gif b/toolkit/themes/osx/global/scale/scale-tray-vert.gif
new file mode 100644
index 0000000000..97687b2e22
--- /dev/null
+++ b/toolkit/themes/osx/global/scale/scale-tray-vert.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/scrollbox.css b/toolkit/themes/osx/global/scrollbox.css
new file mode 100644
index 0000000000..c9b7276698
--- /dev/null
+++ b/toolkit/themes/osx/global/scrollbox.css
@@ -0,0 +1,62 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* Horizontal enabled */
+.autorepeatbutton-up[orient="horizontal"],
+.scrollbutton-up[orient="horizontal"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-sharp.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[orient="horizontal"],
+.scrollbutton-down[orient="horizontal"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-sharp.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Horizontal disabled */
+.autorepeatbutton-up[orient="horizontal"][disabled="true"],
+.scrollbutton-up[orient="horizontal"][disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[orient="horizontal"][disabled="true"],
+.scrollbutton-down[orient="horizontal"][disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical enabled */
+.autorepeatbutton-up:not([orient="horizontal"]),
+.scrollbutton-up {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-sharp.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down:not([orient="horizontal"]),
+.scrollbutton-down {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-sharp.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical disabled */
+.autorepeatbutton-up[disabled="true"]:not([orient="horizontal"]),
+.scrollbutton-up[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[disabled="true"]:not([orient="horizontal"]),
+.scrollbutton-down[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-up > .toolbarbutton-text,
+.scrollbutton-down > .toolbarbutton-text {
+ display: none;
+}
diff --git a/toolkit/themes/osx/global/shared.inc b/toolkit/themes/osx/global/shared.inc
new file mode 100644
index 0000000000..350fed1721
--- /dev/null
+++ b/toolkit/themes/osx/global/shared.inc
@@ -0,0 +1,20 @@
+%filter substitution
+
+%define loweredShadow 0 1px rgba(255, 255, 255, .4)
+%define focusRingShadow 0 0 1px -moz-mac-focusring inset, 0 0 4px 1px -moz-mac-focusring, 0 0 1.5px 1px -moz-mac-focusring
+%define yosemiteFocusRingShadow 0 0 0 0.5px -moz-mac-focusring inset, 0 0 0 2px -moz-mac-focusring
+
+%define roundButtonBorder 1px solid rgba(0,0,0,.35)
+%define roundButtonBackground linear-gradient(#f6f6f6, #e9e9e9)
+%define roundButtonShadow 0 1px rgba(255,255,255,.5), inset 0 1px 1px rgba(255,255,255,.5)
+%define roundButtonPressedBackground #dadada
+%define roundButtonPressedShadow 0 1px rgba(255,255,255,.4), inset 0 1px 3px rgba(0,0,0,.2)
+
+%define scopeBarBackground linear-gradient(#E8E8E8, #D0D0D0) repeat-x
+%define scopeBarSeparatorBorder 1px solid #888
+%define scopeBarTitleColor #6D6D6D
+
+%define toolbarbuttonCornerRadius 3px
+%define toolbarbuttonBackground linear-gradient(#FFF, #ADADAD) repeat-x
+%define toolbarbuttonPressedInnerShadow inset rgba(0, 0, 0, 0.3) 0 -6px 10px, inset #000 0 1px 3px, inset rgba(0, 0, 0, 0.2) 0 1px 3px
+%define toolbarbuttonInactiveBorderColor rgba(146, 146, 146, 0.84)
diff --git a/toolkit/themes/osx/global/spinbuttons.css b/toolkit/themes/osx/global/spinbuttons.css
new file mode 100644
index 0000000000..bf89520f68
--- /dev/null
+++ b/toolkit/themes/osx/global/spinbuttons.css
@@ -0,0 +1,31 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+spinbuttons {
+ height: 24px;
+ min-height: 24px;
+ -moz-appearance: spinner;
+ cursor: default;
+}
+
+.spinbuttons-up {
+ -moz-appearance: none;
+ -moz-box-flex: 1;
+ min-width: 1px;
+ min-height: 1px;
+ margin: 0;
+ padding: 0;
+}
+
+.spinbuttons-down {
+ -moz-appearance: none;
+ -moz-box-flex: 1;
+ min-width: 1px;
+ min-height: 1px;
+ margin: 0;
+ padding: 0;
+}
+
diff --git a/toolkit/themes/osx/global/splitter.css b/toolkit/themes/osx/global/splitter.css
new file mode 100644
index 0000000000..caaa83ad0a
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter.css
@@ -0,0 +1,124 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: splitter (vertical) ::::: */
+
+splitter {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ cursor: ew-resize;
+ min-width: 9px;
+ min-height: 9px;
+ background: url("chrome://global/skin/splitter/dimple.png") transparent no-repeat center;
+}
+
+splitter[state="collapsed"][collapse="before"],
+splitter[state="collapsed"][substate="before"],
+splitter[state="collapsed"][collapse="after"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="after"]:-moz-locale-dir(rtl) {
+ cursor: e-resize;
+}
+
+splitter[state="collapsed"][collapse="after"],
+splitter[state="collapsed"][substate="after"],
+splitter[state="collapsed"][collapse="before"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="before"]:-moz-locale-dir(rtl) {
+ cursor: w-resize;
+}
+
+splitter:-moz-lwtheme {
+ background: none;
+}
+
+/* ::::: splitter (horizontal) ::::: */
+
+splitter[orient="vertical"] {
+ cursor: ns-resize;
+ min-width: 0px;
+ min-height: 9px;
+ min-width: 9px;
+ background: url("chrome://global/skin/splitter/dimple.png") transparent no-repeat center;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="before"],
+splitter[orient="vertical"][state="collapsed"][substate="before"] {
+ cursor: s-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="after"],
+splitter[orient="vertical"][state="collapsed"][substate="after"] {
+ cursor: n-resize;
+}
+
+splitter[disabled="true"] {
+ cursor: default !important;
+}
+
+/* ::::: splitter grippy ::::: */
+
+grippy {
+ cursor: pointer;
+ margin: 0px 1px;
+ min-width: 4px;
+ min-height: 115px;
+ background-color: transparent;
+ background-repeat: no-repeat;
+}
+
+grippy:hover {
+ background-color: ThreeDHighlight;
+}
+
+splitter[orient="vertical"] > grippy {
+ margin: 1px 0px;
+ min-width: 115px;
+ min-height: 4px;
+}
+
+/* ..... normal state ..... */
+
+/* vertical grippies */
+splitter[collapse="before"] > grippy,
+splitter[collapse="after"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-left.gif");
+}
+
+splitter[collapse="after"] > grippy,
+splitter[collapse="before"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-right.gif");
+}
+
+/* horizontal grippies */
+splitter[collapse="before"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-top.gif");
+}
+
+splitter[collapse="after"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-bottom.gif");
+}
+
+/* ..... collapsed state ..... */
+
+/* vertical grippies */
+splitter[collapse="before"][state="collapsed"] > grippy,
+splitter[collapse="after"][state="collapsed"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-right.gif");
+}
+
+splitter[collapse="after"][state="collapsed"] > grippy,
+splitter[collapse="before"][state="collapsed"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-left.gif");
+}
+
+/* horizontal grippies */
+splitter[collapse="before"][state="collapsed"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-bottom.gif");
+}
+
+splitter[collapse="after"][state="collapsed"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-top.gif");
+}
+
diff --git a/toolkit/themes/osx/global/splitter/dimple.png b/toolkit/themes/osx/global/splitter/dimple.png
new file mode 100644
index 0000000000..4d0b91bfea
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter/dimple.png
Binary files differ
diff --git a/toolkit/themes/osx/global/splitter/grip-bottom.gif b/toolkit/themes/osx/global/splitter/grip-bottom.gif
new file mode 100644
index 0000000000..af6290fe9d
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter/grip-bottom.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/splitter/grip-left.gif b/toolkit/themes/osx/global/splitter/grip-left.gif
new file mode 100644
index 0000000000..6be9bc4f40
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter/grip-left.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/splitter/grip-right.gif b/toolkit/themes/osx/global/splitter/grip-right.gif
new file mode 100644
index 0000000000..71be69083e
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter/grip-right.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/splitter/grip-top.gif b/toolkit/themes/osx/global/splitter/grip-top.gif
new file mode 100644
index 0000000000..3cba005946
--- /dev/null
+++ b/toolkit/themes/osx/global/splitter/grip-top.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/tabbox.css b/toolkit/themes/osx/global/tabbox.css
new file mode 100644
index 0000000000..4fcbac486d
--- /dev/null
+++ b/toolkit/themes/osx/global/tabbox.css
@@ -0,0 +1,148 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ The default style of these tabs is that of an NSTabView with tabs at
+ the top in the "regular" size. These tabs can be used with or without
+ a tabbox element.
+ For bottom tabs you should use the "tabs-bottom" class on the tabbox
+ or the tabs element. Bottom tabs use a style that's similar to the
+ one used in Adium.
+*/
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+tabbox {
+ margin: 0 5px;
+}
+
+tabpanels {
+ -moz-appearance: tabpanels;
+ padding: 33px 15px 15px;
+}
+
+tabs {
+ -moz-box-align: center;
+ font: menu;
+}
+
+tabbox > tabs {
+ padding: 0 10px;
+ margin-bottom: -12px;
+ position: relative;
+}
+
+tab {
+ -moz-appearance: tab;
+}
+
+tab:-moz-focusring {
+ /* Tab focus rings need to overlay adjacent tabs. */
+ position: relative;
+}
+
+tab:first-of-type {
+ padding-inline-start: 2px;
+}
+
+tab:last-of-type {
+ padding-inline-end: 2px;
+}
+
+tab[visuallyselected="true"] {
+ color: #FFF;
+ text-shadow: rgba(0, 0, 0, 0.4) 0 1px;
+}
+
+.tab-middle {
+ padding: 1px 6px 2px;
+}
+
+.tabs-left,
+.tabs-right {
+ -moz-box-flex: 1;
+}
+
+/* Tabs at the bottom
+ * These tabs are smaller, left aligned and don't extend into the tabpanel.
+ */
+
+tabbox.tabs-bottom > tabpanels {
+ padding: 10px;
+}
+
+tabbox.tabs-bottom > tabs,
+tabs.tabs-bottom {
+ background-color: rgba(0, 0, 0, 0.1);
+ padding: 0;
+ margin: 0;
+ border-top: 2px solid;
+ -moz-border-top-colors: #888 rgba(0, 0, 0, 0.08);
+ -moz-box-align: start;
+ font: message-box;
+}
+
+tabbox.tabs-bottom > tabs > .tabs-left,
+tabs.tabs-bottom > .tabs-left {
+ -moz-box-flex: 0;
+}
+
+tabbox.tabs-bottom > tabs > tab,
+tabs.tabs-bottom > tab {
+ -moz-appearance: none;
+ margin: -1px 0 0;
+ padding: 0 0 2px 0;
+ position: relative;
+ border-inline-end: 1px solid rgba(0, 0, 0, 0.19);
+}
+
+tabbox.tabs-bottom > tabs > tab > .tab-middle,
+tabs.tabs-bottom > tab > .tab-middle {
+ padding: 1px 2px 0 2px;
+}
+
+tabbox.tabs-bottom > tabs > tab:not([visuallyselected=true]):hover,
+tabs.tabs-bottom > tab:not([visuallyselected=true]):hover {
+ background-color: rgba(0, 0, 0, 0.1);
+ border-inline-end-color: rgba(0, 0, 0, 0.1);
+}
+
+tabbox.tabs-bottom > tabs > tab[visuallyselected=true],
+tabs.tabs-bottom > tab[visuallyselected=true] {
+ color: #000;
+ text-shadow: none;
+ border: solid #888;
+ border-width: 0 2px 2px;
+ border-radius: 2px;
+ -moz-border-left-colors: rgba(0, 0, 0, 0.08) #888;
+ -moz-border-right-colors: rgba(0, 0, 0, 0.08) #888;
+ -moz-border-bottom-colors: rgba(0, 0, 0, 0.08) #888;
+ margin-inline-end: -1px;
+ margin-top: -2px;
+ margin-bottom: 1px;
+ padding: 0;
+}
+
+tabbox.tabs-bottom > tabs > tab[beforeselected=true],
+tabs.tabs-bottom > tab[beforeselected=true] {
+ border-inline-end-color: transparent;
+ margin-inline-end: -2px;
+}
+
+tabbox.tabs-bottom > tabs > tab:first-of-type:not([visuallyselected=true]),
+tabs.tabs-bottom > tab:first-of-type:not([visuallyselected=true]) {
+ border-inline-start: 4px solid transparent;
+}
+
+tabbox.tabs-bottom > tabs > tab:first-of-type[visuallyselected=true],
+tabs.tabs-bottom > tab:first-of-type[visuallyselected=true] {
+ margin-inline-start: 2px;
+}
+
+tabbox.tabs-bottom,
+tabbox.tabs-bottom > tabpanels,
+tabbox.tabs-bottom > tabs > tab[visuallyselected=true] > .tab-middle,
+tabs.tabs-bottom > tab[visuallyselected=true] > .tab-middle {
+ -moz-appearance: dialog;
+}
diff --git a/toolkit/themes/osx/global/tabprompts.css b/toolkit/themes/osx/global/tabprompts.css
new file mode 100644
index 0000000000..14a23f2696
--- /dev/null
+++ b/toolkit/themes/osx/global/tabprompts.css
@@ -0,0 +1,67 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* Tab Modal Prompt boxes */
+tabmodalprompt {
+ background-image: url(chrome://global/skin/icons/tabprompts-bgtexture.png);
+ background-color: hsla(0,0%,10%,.5);
+ font-family: sans-serif; /* use content font not system UI font */
+ font-size: 110%;
+}
+
+.mainContainer {
+ color: black;
+ background-color: hsla(0,0%,100%,.95);
+ background-clip: padding-box;
+ border-radius: 2px;
+ border: 1px solid hsla(0,0%,0%,.5);
+}
+
+.topContainer {
+ padding: 20px;
+}
+
+.buttonContainer {
+ padding: 12px 20px 15px;
+ background-color: hsla(0,0%,0%,.05);
+ border-top: 1px solid hsla(0,0%,0%,.05);
+}
+
+button {
+ -moz-appearance: none;
+ padding: 2px 0;
+ margin: 0;
+ margin-inline-start: 8px;
+ border-radius: 2px;
+ color: black !important;
+ background-color: hsl(0,0%,90%);
+ background-image: linear-gradient(hsla(0,0%,100%,.7), transparent);
+ background-clip: padding-box;
+ border: 1px solid;
+ border-color: hsl(0,0%,65%) hsl(0,0%,60%) hsl(0,0%,50%);
+ box-shadow: 0 1px 0 hsla(0,0%,100%,.9) inset,
+ 0 1px 2px hsla(0,0%,0%,.1);
+}
+
+
+button[default=true] {
+ background-color: hsl(0,0%,79%);
+}
+
+button:hover {
+ background-color: hsl(0,0%,96%);
+}
+
+button:hover:active {
+ background-image: linear-gradient(hsla(0,0%,100%,.2), transparent);
+ background-color: hsl(0,0%,70%);
+ box-shadow: 0 1px 0 hsla(0,0%,100%,.2) inset,
+ 0 1px 3px hsla(0,0%,0%,.2);
+}
+
+button:focus {
+ box-shadow: 0 0 1px -moz-mac-focusring inset,
+ 0 0 4px 1px -moz-mac-focusring,
+ 0 0 1.5px 1px -moz-mac-focusring;
+}
diff --git a/toolkit/themes/osx/global/textbox.css b/toolkit/themes/osx/global/textbox.css
new file mode 100644
index 0000000000..d7a31c7acc
--- /dev/null
+++ b/toolkit/themes/osx/global/textbox.css
@@ -0,0 +1,102 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+textbox {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin: 4px;
+ border: 3px solid;
+ -moz-border-top-colors: transparent #888888 #000000;
+ -moz-border-right-colors: transparent #FFFFFF #000000;
+ -moz-border-bottom-colors: transparent #FFFFFF #000000;
+ -moz-border-left-colors: transparent #888888 #000000;
+ border-top-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ padding: 0px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+html|*.textbox-input,
+html|*.textbox-textarea {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px 1px !important;
+ background-color: inherit;
+ color: inherit;
+ font: inherit;
+}
+
+.textbox-contextmenu {
+ cursor: default;
+}
+
+textbox[focused="true"] {
+ -moz-border-top-colors: -moz-mac-focusring -moz-mac-focusring #000000;
+ -moz-border-right-colors: -moz-mac-focusring -moz-mac-focusring #000000;
+ -moz-border-bottom-colors: -moz-mac-focusring -moz-mac-focusring #000000;
+ -moz-border-left-colors: -moz-mac-focusring -moz-mac-focusring #000000;
+}
+
+textbox[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+textbox[disabled="true"] {
+ cursor: default;
+ -moz-border-top-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: transparent ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: transparent ThreeDShadow -moz-Dialog;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+textbox.plain {
+ -moz-appearance: none !important;
+ background-color: transparent;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: none !important;
+}
+
+textbox.plain html|*.textbox-input,
+textbox.plain html|*.textbox-textarea {
+ padding: 0px !important;
+}
+
+/* ::::: search box ::::: */
+
+textbox[type="search"] {
+ -moz-appearance: searchfield;
+ padding: 1px;
+ font-size: 12px;
+}
+
+.textbox-search-clear {
+ list-style-image: url(chrome://global/skin/icons/searchfield-cancel.svg);
+ -moz-image-region: rect(0, 14px, 14px, 0);
+ margin-bottom: 1px;
+}
+
+textbox[type="search"].compact {
+ padding: 0;
+ font-size: 11px;
+}
+
+textbox[type="search"].compact > .textbox-input-box > .textbox-search-icons > .textbox-search-clear {
+ width: 11px;
+}
+
+.textbox-search-clear:not([disabled]) {
+ cursor: default;
+}
+
+.textbox-search-icons:not([selectedIndex="1"]) {
+ visibility: hidden;
+}
diff --git a/toolkit/themes/osx/global/toolbar.css b/toolkit/themes/osx/global/toolbar.css
new file mode 100644
index 0000000000..820436f142
--- /dev/null
+++ b/toolkit/themes/osx/global/toolbar.css
@@ -0,0 +1,118 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+toolbox {
+ /* Setting -moz-appearance:toolbox causes sheets to attach under the
+ * toolbox and has no other effects. It doesn't render anything. */
+ -moz-appearance: toolbox;
+}
+
+toolbar {
+ min-width: 1px;
+ min-height: 20px;
+ -moz-appearance: toolbar;
+}
+
+menubar:-moz-lwtheme,
+toolbar:-moz-lwtheme {
+ -moz-appearance: none;
+ background: none;
+ border-color: transparent;
+}
+
+menubar {
+ -moz-appearance: dialog; /* For content menubars, "toolbar" is too dark, so we use "dialog". */
+ min-width: 1px;
+}
+
+toolbarseparator {
+ -moz-appearance: none;
+ margin: 3px 4px;
+ background: url("chrome://global/skin/toolbar/toolbar-separator.png") transparent repeat-y;
+ padding: 0;
+ width: 1px !important;
+}
+
+/* ::::: toolbarpaletteitem ::::: */
+
+toolbarpaletteitem {
+ cursor: grab;
+}
+
+toolbar[iconsize="small"] toolbarpaletteitem[type="spacer"] {
+ min-width: 24px !important;
+}
+
+toolbarpaletteitem[type="spacer"] {
+ min-width: 32px !important;
+}
+
+.toolbarpaletteitem-box[type="spacer"] {
+ border: 1px solid #A3A3A3;
+ background: url("chrome://global/skin/10pct_transparent_grey.png") repeat;
+ width: 32px;
+ margin-top: 18px;
+}
+
+.toolbarpaletteitem-box[type="spring"] {
+ border: 1px solid #A3A3A3;
+ background: url("chrome://global/skin/toolbar/spring.png") #FFFFFF no-repeat;
+ width: 32px;
+ margin-top: 18px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ background: url("chrome://global/skin/10pct_transparent_grey.png") repeat;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="toolbar"],
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ margin: 2px;
+}
+
+.toolbarpaletteitem-box[type="separator"][place="palette"] {
+ width: 2px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="palette"],
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ margin-top: 0;
+ margin-bottom: 2px;
+ height: 32px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ background-position: center;
+ margin-left: 8px;
+ margin-right: 8px;
+}
+
+/* ..... drag and drop feedback ..... */
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-left: -2px;
+ margin-right: -2px;
+ border-left: 2px solid transparent;
+ border-right: 2px solid transparent;
+}
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
+
+toolbar[iconsize="small"] toolbarspacer {
+ min-width: 24px !important;
+}
+
+toolbarspacer {
+ min-width: 32px !important;
+}
+
diff --git a/toolkit/themes/osx/global/toolbar/spring.png b/toolkit/themes/osx/global/toolbar/spring.png
new file mode 100644
index 0000000000..807e1f5e54
--- /dev/null
+++ b/toolkit/themes/osx/global/toolbar/spring.png
Binary files differ
diff --git a/toolkit/themes/osx/global/toolbar/toolbar-separator.png b/toolkit/themes/osx/global/toolbar/toolbar-separator.png
new file mode 100644
index 0000000000..21e17543a0
--- /dev/null
+++ b/toolkit/themes/osx/global/toolbar/toolbar-separator.png
Binary files differ
diff --git a/toolkit/themes/osx/global/toolbarbutton.css b/toolkit/themes/osx/global/toolbarbutton.css
new file mode 100644
index 0000000000..ab24387e3c
--- /dev/null
+++ b/toolkit/themes/osx/global/toolbarbutton.css
@@ -0,0 +1,124 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+toolbarbutton {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 0 2px;
+ padding: 3px 2px;
+ background-color: transparent;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
+}
+
+toolbarbutton[open="true"],
+toolbarbutton:not([disabled="true"]):active:hover {
+ text-shadow: none;
+}
+
+.toolbarbutton-text {
+ margin: 0 !important; /* !important for overriding global.css */
+ padding: 0px;
+ text-align: center;
+ vertical-align: middle;
+}
+
+toolbarbutton[disabled="true"],
+toolbarbutton[disabled="true"]:hover,
+toolbarbutton[disabled="true"]:hover:active,
+toolbarbutton[disabled="true"][open="true"] {
+ color: -moz-mac-disabledtoolbartext !important;
+}
+
+/* ::::: toolbarbutton menu ::::: */
+
+.toolbarbutton-menu-dropmarker {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.png");
+ padding: 0;
+ padding-inline-start: 2px;
+ width: auto;
+}
+
+.toolbarbutton-menu-dropmarker[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.png");
+ padding: 0;
+ padding-inline-start: 2px;
+}
+
+/* ::::: toolbarbutton menu-button ::::: */
+
+toolbarbutton[type="menu-button"] {
+ -moz-box-align: stretch;
+ -moz-box-orient: horizontal !important;
+}
+
+toolbarbutton[type="menu-button"],
+toolbarbutton[type="menu-button"]:hover,
+toolbarbutton[type="menu-button"]:hover:active,
+toolbarbutton[type="menu-button"][open="true"],
+toolbarbutton[type="menu-button"][disabled="true"],
+toolbarbutton[type="menu-button"][disabled="true"]:hover,
+toolbarbutton[type="menu-button"][disabled="true"]:hover:active {
+ background-color: transparent;
+}
+
+.toolbarbutton-menubutton-button {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ -moz-box-orient: vertical;
+ text-shadow: inherit;
+}
+
+/* ::::: toolbarbutton badged ::::: */
+
+.toolbarbutton-badge {
+ background-color: #d90000;
+ font-size: 9px;
+ padding: 1px 2px;
+ color: #fff;
+ border-radius: 2px;
+ box-shadow: 0 1px 0 hsla(0, 100%, 100%, .2) inset,
+ 0 -1px 0 hsla(0, 0%, 0%, .1) inset,
+ 0 1px 0 hsla(206, 50%, 10%, .2);
+ margin: -6px 0 0 !important;
+ margin-inline-end: -6px !important;
+ min-width: 14px;
+ max-width: 28px;
+ line-height: 10px;
+ text-align: center;
+ -moz-stack-sizing: ignore;
+}
+
+.toolbarbutton-badge:-moz-window-inactive {
+ background-color: rgb(230,230,230);
+ box-shadow: none;
+ color: rgb(192,192,192);
+}
+
+toolbar[mode="icons"] > *|* > .toolbarbutton-badge {
+ margin-inline-end: -10px !important;
+}
+
+/* .......... dropmarker .......... */
+
+.toolbarbutton-menubutton-dropmarker {
+ -moz-appearance: none;
+ border: none;
+ background-color: transparent !important;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.png");
+ width: auto;
+ padding: 0 5px;
+}
+
+.toolbarbutton-menubutton-dropmarker[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.png");
+}
+
+toolbarbutton.tabbable {
+ -moz-user-focus: normal !important;
+}
diff --git a/toolkit/themes/osx/global/tree.css b/toolkit/themes/osx/global/tree.css
new file mode 100644
index 0000000000..472a51fc91
--- /dev/null
+++ b/toolkit/themes/osx/global/tree.css
@@ -0,0 +1,296 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include shared.inc
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+tree {
+ margin: 0px 4px;
+ color: -moz-DialogText;
+ background-color: #FFFFFF;
+ -moz-appearance: listbox;
+}
+
+/* ::::: tree focusring ::::: */
+
+.focusring > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid transparent;
+}
+
+.focusring:focus > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid -moz-mac-focusring;
+}
+
+
+/* ::::: tree rows ::::: */
+
+treechildren::-moz-tree-row {
+ border-top: 1px solid transparent;
+ height: 18px;
+ background-color: -moz-field;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(multicol, odd) {
+ background-color: -moz-oddtreerow;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected) {
+ background-color: -moz-mac-secondaryhighlight;
+}
+
+treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected, focus) {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-row,
+tree[seltype="text"] > treechildren::-moz-tree-row {
+ border-top: none;
+ background-color: transparent;
+}
+
+/* ::::: tree cells ::::: */
+
+treechildren::-moz-tree-cell {
+ padding: 0px 2px 0px 2px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text,
+tree[seltype="text"] > treechildren::-moz-tree-cell-text,
+treechildren::-moz-tree-cell-text {
+ color: inherit;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell {
+ padding: 0px 1px 0px 1px;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text {
+ padding: 0px 1px 1px 1px;
+}
+
+treechildren::-moz-tree-cell-text(selected) {
+ color: -moz-DialogText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected) {
+ background-color: -moz-mac-secondaryhighlight;
+
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected) {
+ color: -moz-DialogText;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected) {
+ background-color: -moz-mac-secondaryhighlight;
+ color: -moz-DialogText;
+}
+
+treechildren::-moz-tree-cell-text(selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus) {
+ background-color: Highlight;
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+/* ::::: lines connecting cells ::::: */
+
+treechildren::-moz-tree-line {
+ /* XXX there should be no border on Mac, but trees currently
+ paint the line black by default, so I'll just leave this
+ for now. */
+ visibility: hidden;
+ border: 1px dotted grey;
+}
+
+
+/* ::::: tree separator ::::: */
+
+treechildren::-moz-tree-separator {
+ border-top: 1px dashed #C7C7C7;
+ margin: 0 2px;
+}
+
+
+/* ::::: drop feedback ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(primary, dropOn),
+tree[seltype="text"] > treechildren::-moz-tree-cell(primary, dropOn),
+treechildren::-moz-tree-cell(primary, dropOn) {
+ background-color: #A1A1A1 !important;
+ color: #FFF !important;
+ background-image: none;
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+treechildren::-moz-tree-cell-text(primary, dropOn) {
+ color: #FFF !important;
+}
+
+treechildren::-moz-tree-drop-feedback {
+ background-color: #A1A1A1;
+ width: 50px;
+ height: 2px;
+ margin-inline-start: 5px;
+}
+
+/* ::::: tree progress meter ::::: */
+
+treechildren::-moz-tree-progressmeter {
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: #AAAAAA #000000;
+ -moz-border-right-colors: #FFFFFF #000000;
+ -moz-border-bottom-colors: #FFFFFF #000000;
+ -moz-border-left-colors: #AAAAAA #000000;
+}
+
+treechildren::-moz-tree-cell-text(progressmeter) {
+ margin: 2px 4px;
+ -moz-appearance: progressbar;
+}
+
+/* ::::: tree columns ::::: */
+
+treecol,
+treecolpicker {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0px 4px;
+}
+
+.treecol-image {
+ padding: 0px 1px;
+}
+
+.treecol-text {
+ margin: 0px !important;
+}
+
+treecol[hideheader="true"] {
+ -moz-appearance: none;
+ border: none;
+ padding: 0;
+ max-height: 0px;
+}
+
+/* ..... internal box ..... */
+
+treecol:hover:active,
+treecolpicker:hover:active {
+ border-top: 2px solid;
+ border-bottom: 1px solid;
+ border-inline-start: 2px solid;
+ border-inline-end: 1px solid;
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-right-colors: ThreeDDarkShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+ background-color: #666666;
+}
+
+/* ::::: column drag and drop styles ::::: */
+
+treecol[dragging="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow!important;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow !important;
+ padding: 0px 4px !important;
+ background-color: ThreeDShadow !important;
+ color: ThreeDHighlight !important;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(ltr),
+treecol[insertbefore="true"]:-moz-locale-dir(rtl) {
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(rtl),
+treecol[insertbefore="true"]:-moz-locale-dir(ltr) {
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertbefore) {
+ border-inline-start: 1px solid ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertafter) {
+ border-inline-end: 1px solid ThreeDShadow;
+}
+
+/* ::::: column picker ::::: */
+
+.tree-columnpicker-icon {
+ list-style-image: url("chrome://global/skin/tree/columnpicker.gif");
+}
+
+/* ::::: twisty ::::: */
+
+treechildren::-moz-tree-twisty {
+ -moz-appearance: treetwisty;
+ padding-inline-end: 2px;
+}
+
+treechildren::-moz-tree-twisty(open) {
+ -moz-appearance: treetwistyopen;
+}
+
+treechildren::-moz-tree-twisty(Name, separator) {
+ -moz-appearance: none;
+}
+
+treechildren::-moz-tree-indentation {
+ width: 16px;
+}
+
+/* ::::: gridline style ::::: */
+
+treechildren.gridlines::-moz-tree-cell {
+ border-inline-end: 1px solid GrayText;
+ border-bottom: 1px solid GrayText;
+}
+
+treechildren.gridlines::-moz-tree-row {
+ border: none;
+}
+
+/* ::::: editable tree ::::: */
+
+.tree-input {
+ -moz-appearance: none;
+ border-width: 0;
+ box-shadow: @focusRingShadow@;
+ margin: 0;
+ margin-inline-start: -2px;
+ padding: 2px 1px 1px;
+}
+
+treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="text"] > treechildren::-moz-tree-cell(active, selected, focus, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(active, selected, editing) {
+ opacity: 0;
+}
diff --git a/toolkit/themes/osx/global/tree/arrow-disclosure.svg b/toolkit/themes/osx/global/tree/arrow-disclosure.svg
new file mode 100644
index 0000000000..0fee858071
--- /dev/null
+++ b/toolkit/themes/osx/global/tree/arrow-disclosure.svg
@@ -0,0 +1,28 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
+
+ <style>
+ .icon:not(:target) {
+ display: none;
+ }
+
+ .icon {
+ fill: #8c8c8c;
+ }
+
+ .icon.white {
+ fill: #fff;
+ }
+ </style>
+
+ <polygon id="arrow-disclosure-collapsed" class="icon" points="4,4 12,8.5 4,13" />
+ <polygon id="arrow-disclosure-collapsed-rtl" class="icon" points="4,8.5 12,4 12,13" />
+ <polygon id="arrow-disclosure-collapsed-inverted" class="icon white" points="4,4 12,8.5 4,13" />
+ <polygon id="arrow-disclosure-collapsed-inverted-rtl" class="icon white" points="4,8.5 12,4 12,13" />
+
+ <polygon id="arrow-disclosure-expanded" class="icon" points="3,5 12,5 7.5,13" />
+ <polygon id="arrow-disclosure-expanded-inverted" class="icon white" points="3,5 12,5 7.5,13" />
+
+</svg>
diff --git a/toolkit/themes/osx/global/tree/columnpicker.gif b/toolkit/themes/osx/global/tree/columnpicker.gif
new file mode 100644
index 0000000000..167f3789af
--- /dev/null
+++ b/toolkit/themes/osx/global/tree/columnpicker.gif
Binary files differ
diff --git a/toolkit/themes/osx/global/tree/folder.png b/toolkit/themes/osx/global/tree/folder.png
new file mode 100644
index 0000000000..8f21ff790a
--- /dev/null
+++ b/toolkit/themes/osx/global/tree/folder.png
Binary files differ
diff --git a/toolkit/themes/osx/global/tree/folder@2x.png b/toolkit/themes/osx/global/tree/folder@2x.png
new file mode 100644
index 0000000000..c07acf5ffb
--- /dev/null
+++ b/toolkit/themes/osx/global/tree/folder@2x.png
Binary files differ
diff --git a/toolkit/themes/osx/global/viewbuttons.css b/toolkit/themes/osx/global/viewbuttons.css
new file mode 100644
index 0000000000..bb407a64ed
--- /dev/null
+++ b/toolkit/themes/osx/global/viewbuttons.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include shared.inc
+
+#topBar {
+ -moz-appearance: toolbar;
+}
+
+.viewGroupWrapper {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+}
+
+#viewGroup {
+ margin: 4px 0 9px;
+}
+
+#viewGroup > radio,
+#viewGroup > toolbarbutton {
+ -moz-box-orient: vertical;
+ -moz-box-align: center;
+ -moz-appearance: toolbarbutton;
+ font: menu;
+ text-shadow: @loweredShadow@;
+ margin: 0;
+ padding: 0 1px;
+ height: 22px;
+}
+
+#viewGroup > radio[selected=true],
+#viewGroup > toolbarbutton[checked=true] {
+ color: #FFF !important;
+ text-shadow: rgba(0, 0, 0, 0.4) 0 1px;
+}
diff --git a/toolkit/themes/osx/global/wizard.css b/toolkit/themes/osx/global/wizard.css
new file mode 100644
index 0000000000..9c5e6200ce
--- /dev/null
+++ b/toolkit/themes/osx/global/wizard.css
@@ -0,0 +1,62 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+wizard {
+ padding: 14px;
+}
+
+#header {
+ display: inline !important;
+}
+
+.wizard-header {
+ -moz-appearance: dialog;
+}
+
+.wizard-header-box-1 {
+ color: #000;
+}
+
+.wizard-header-box-text {
+ padding: 6px 10px;
+ font: menu;
+ font-weight: bold;
+}
+
+.wizard-header-label {
+ margin-left: 23px;
+ font-weight: bold;
+}
+
+.wizard-header-box-icon {
+ margin-top: 3px;
+ margin-inline-end: 20px;
+ margin-bottom: 0;
+ margin-inline-start: 3px;
+}
+
+wizard[branded="true"] .wizard-header-icon {
+ list-style-image: url("chrome://branding/content/icon48.png");
+}
+
+.wizard-page-box {
+ padding: 15px 23px;
+ -moz-appearance: dialog;
+}
+
+.wizard-buttons-separator {
+ margin: 0 !important;
+ border-bottom: 1px solid #fff !important;
+}
+
+.wizard-buttons-btm {
+ padding: 3px 6px 6px;
+}
+
+.wizard-button {
+ font: menu !important;
+}
+
diff --git a/toolkit/themes/osx/mochitests/.eslintrc.js b/toolkit/themes/osx/mochitests/.eslintrc.js
new file mode 100644
index 0000000000..2c669d844e
--- /dev/null
+++ b/toolkit/themes/osx/mochitests/.eslintrc.js
@@ -0,0 +1,7 @@
+"use strict";
+
+module.exports = {
+ "extends": [
+ "../../../../testing/mochitest/chrome.eslintrc.js"
+ ]
+};
diff --git a/toolkit/themes/osx/mochitests/chrome.ini b/toolkit/themes/osx/mochitests/chrome.ini
new file mode 100644
index 0000000000..b7c425bc70
--- /dev/null
+++ b/toolkit/themes/osx/mochitests/chrome.ini
@@ -0,0 +1,3 @@
+[DEFAULT]
+
+[test_bug510426.xul]
diff --git a/toolkit/themes/osx/mochitests/test_bug510426.xul b/toolkit/themes/osx/mochitests/test_bug510426.xul
new file mode 100644
index 0000000000..4294ce42de
--- /dev/null
+++ b/toolkit/themes/osx/mochitests/test_bug510426.xul
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=510426
+-->
+<window title="Mozilla Bug 510426"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ align="start">
+ <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
+
+<body xmlns="http://www.w3.org/1999/xhtml">
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=510426">Mozilla Bug 510426</a>
+</body>
+
+<notificationbox id="nb" width="300" height="100">
+ <box width="100" height="100" id="overflowGenerator"/>
+</notificationbox>
+
+<script class="testbody" type="application/javascript">
+<![CDATA[
+
+/** Test for Bug 510426 **/
+SimpleTest.waitForExplicitFinish();
+
+function openNotification() {
+ var nb = document.getElementById("nb");
+ var n = nb.appendNotification("Notification", "", null,
+ nb.PRIORITY_WARNING_LOW, [{
+ label: "Button",
+ accesskey: "u",
+ callback: null,
+ popup: null
+ }]);
+ n.addEventListener("transitionend", function (event) {
+ if (event.propertyName == "margin-top") {
+ setTimeout(function () {
+ is(n.getBoundingClientRect().height, 27, "notification bar has wrong height");
+ SimpleTest.finish();
+ }, 0);
+ }
+ }, false);
+}
+
+window.onload = openNotification;
+
+]]>
+</script>
+</window>
diff --git a/toolkit/themes/osx/moz.build b/toolkit/themes/osx/moz.build
new file mode 100644
index 0000000000..763e4296d0
--- /dev/null
+++ b/toolkit/themes/osx/moz.build
@@ -0,0 +1,9 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['global', 'mozapps']
+
+MOCHITEST_CHROME_MANIFESTS += ['mochitests/chrome.ini']
diff --git a/toolkit/themes/osx/mozapps/downloads/buttons.png b/toolkit/themes/osx/mozapps/downloads/buttons.png
new file mode 100644
index 0000000000..04da26a252
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/downloads/buttons.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/downloads/downloadIcon.png b/toolkit/themes/osx/mozapps/downloads/downloadIcon.png
new file mode 100644
index 0000000000..42dc4943d7
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/downloads/downloadIcon.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/downloads/downloads.css b/toolkit/themes/osx/mozapps/downloads/downloads.css
new file mode 100644
index 0000000000..3ba246c1fc
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/downloads/downloads.css
@@ -0,0 +1,123 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../global/shared.inc
+
+#downloadView {
+ -moz-appearance: none;
+ margin: 0;
+ padding: 0;
+ border-width: 0;
+}
+
+/* Download View Items */
+richlistitem[type="download"] {
+ padding: 5px;
+ min-height: 44px !important;
+ border: 1px solid transparent;
+}
+
+richlistitem[type="download"]:not([selected="true"]):nth-child(odd) {
+ background-color: -moz-oddtreerow;
+}
+
+richlistitem[type="download"] .dateTime,
+richlistitem[type="download"] .status {
+ font-size: smaller;
+ color: #555;
+}
+
+richlistitem[selected="true"][type="download"] {
+ outline: none;
+}
+
+richlistbox:focus > richlistitem[selected="true"][type="download"] .dateTime,
+richlistbox:focus > richlistitem[selected="true"][type="download"] .status {
+ color: highlighttext;
+}
+
+
+richlistitem[type="download"] button {
+ -moz-appearance: none;
+ min-height: 16px;
+ min-width: 16px;
+ max-height: 16px;
+ max-width: 16px;
+ padding: 0;
+ margin: 0 1px 0 1px;
+}
+
+/**
+ * Images for buttons in the interface
+ */
+richlistitem[type="download"] button {
+ list-style-image: url(chrome://mozapps/skin/downloads/buttons.png);
+}
+.cancel {
+ -moz-image-region: rect(0px, 16px, 16px, 0px);
+}
+.cancel:hover {
+ -moz-image-region: rect(0px, 32px, 16px, 16px);
+}
+.cancel:hover:active {
+ -moz-image-region: rect(0px, 48px, 16px, 32px);
+}
+
+.pause {
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+}
+.pause:hover {
+ -moz-image-region: rect(48px, 32px, 64px, 16px);
+}
+.pause:not([disabled="true"]):hover:active {
+ -moz-image-region: rect(48px, 48px, 64px, 32px);
+}
+.pause[disabled="true"] {
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+}
+
+.resume {
+ -moz-image-region: rect(16px, 16px, 32px, 0px);
+}
+.resume:hover {
+ -moz-image-region: rect(16px, 32px, 32px, 16px);
+}
+.resume:hover:active {
+ -moz-image-region: rect(16px, 48px, 32px, 32px);
+}
+
+.retry {
+ -moz-image-region: rect(32px, 16px, 48px, 0px);
+}
+.retry:hover {
+ -moz-image-region: rect(32px, 32px, 48px, 16px);
+}
+.retry:hover:active {
+ -moz-image-region: rect(32px, 48px, 48px, 32px);
+}
+
+.blockedIcon {
+ list-style-image: url(chrome://global/skin/icons/Error.png);
+}
+
+/* prevent flickering when changing states */
+.downloadTypeIcon {
+ height: 32px;
+ width: 32px;
+ padding-inline-end: 2px;
+}
+
+#search {
+ -moz-box-pack: end;
+ padding-inline-end: 4px;
+ -moz-appearance: statusbar;
+}
+
+#clearListButton {
+ -moz-appearance: toolbarbutton;
+ min-height: 18px;
+ min-width: 0;
+ margin: 0 6px;
+ text-shadow: @loweredShadow@;
+}
diff --git a/toolkit/themes/osx/mozapps/downloads/unknownContentType.css b/toolkit/themes/osx/mozapps/downloads/unknownContentType.css
new file mode 100644
index 0000000000..28d01b57af
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/downloads/unknownContentType.css
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#unknownContentType {
+ font: menu;
+}
+
+description {
+ font-weight: bold;
+}
+
+.plain {
+ background-color: transparent;
+ background-image: none;
+ border: none;
+}
+
+#contentTypeImage {
+ margin-right: 3px;
+ width: 16px;
+}
+
+#container > .small-indent {
+ margin-left: 0px;
+}
+
+.small-indent label {
+ margin-left: 0px;
+}
diff --git a/toolkit/themes/osx/mozapps/extensions/about.css b/toolkit/themes/osx/mozapps/extensions/about.css
new file mode 100644
index 0000000000..c13ce5f598
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/about.css
@@ -0,0 +1,78 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#genericAbout {
+ padding: 0px;
+ min-height: 200px;
+ max-height: 400px;
+ width: 30em;
+}
+
+#clientBox {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+.basic-info {
+ padding: 10px;
+}
+
+#extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+ max-width: 64px;
+ max-height: 64px;
+ margin-inline-end: 6px;
+}
+
+#genericAbout[addontype="theme"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#genericAbout[addontype="locale"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#genericAbout[addontype="plugin"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#genericAbout[addontype="dictionary"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+#extensionName {
+ font-size: 200%;
+ font-weight: bolder;
+}
+
+#extensionVersion {
+ font-weight: bold;
+}
+
+#extensionDescription {
+ margin-top: 4px;
+}
+
+#groove {
+ margin-top: 8px;
+}
+
+#extensionDetailsBox {
+ overflow: auto;
+ min-height: 100px;
+}
+
+.boxIndent {
+ margin-inline-start: 18px;
+}
+
+#extensionCreator, .contributor {
+ margin: 0px;
+}
+
+.sectionTitle {
+ padding: 2px 0px 3px 0px;
+ margin-top: 3px;
+ font-weight: bold;
+}
diff --git a/toolkit/themes/osx/mozapps/extensions/blocklist.css b/toolkit/themes/osx/mozapps/extensions/blocklist.css
new file mode 100644
index 0000000000..02f6e1d494
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/blocklist.css
@@ -0,0 +1,20 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+richlistitem {
+ padding-top: 6px;
+ padding-bottom: 6px;
+ padding-inline-start: 7px;
+ padding-inline-end: 7px;
+ border-bottom: 1px solid #C0C0C0;
+}
+
+.addon-name-version {
+ font-size: 110%;
+}
+
+.blockedLabel {
+ font-weight: bold;
+ font-style: italic;
+}
diff --git a/toolkit/themes/osx/mozapps/extensions/cancel.png b/toolkit/themes/osx/mozapps/extensions/cancel.png
new file mode 100644
index 0000000000..0d98ab2359
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/cancel.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-available.png b/toolkit/themes/osx/mozapps/extensions/category-available.png
new file mode 100644
index 0000000000..d1b737ab05
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-available.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-dictionaries.png b/toolkit/themes/osx/mozapps/extensions/category-dictionaries.png
new file mode 100644
index 0000000000..54ae4f93fc
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-dictionaries.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-discover.png b/toolkit/themes/osx/mozapps/extensions/category-discover.png
new file mode 100644
index 0000000000..a6f5b49b37
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-discover.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-experiments.png b/toolkit/themes/osx/mozapps/extensions/category-experiments.png
new file mode 100644
index 0000000000..a9d00545ef
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-experiments.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-plugins.png b/toolkit/themes/osx/mozapps/extensions/category-plugins.png
new file mode 100644
index 0000000000..5c4d8bf471
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-plugins.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-recent.png b/toolkit/themes/osx/mozapps/extensions/category-recent.png
new file mode 100644
index 0000000000..7ecfc7d4c8
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-recent.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-search.png b/toolkit/themes/osx/mozapps/extensions/category-search.png
new file mode 100644
index 0000000000..52e91a7cea
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-search.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/category-service.png b/toolkit/themes/osx/mozapps/extensions/category-service.png
new file mode 100644
index 0000000000..997c8541ca
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/category-service.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric-16.png b/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric-16.png
new file mode 100644
index 0000000000..4ad1a1a825
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric.png b/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric.png
new file mode 100644
index 0000000000..54ae4f93fc
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/dictionaryGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/discover-logo.png b/toolkit/themes/osx/mozapps/extensions/discover-logo.png
new file mode 100644
index 0000000000..cd50735a89
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/discover-logo.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/eula.css b/toolkit/themes/osx/mozapps/extensions/eula.css
new file mode 100644
index 0000000000..05aeb3c1c4
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/eula.css
@@ -0,0 +1,47 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+ max-width: 48px;
+ max-height: 48px;
+ margin-inline-end: 6px;
+}
+
+#eula-dialog[addontype="theme"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#eula-dialog[addontype="locale"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#eula-dialog[addontype="plugin"] #icon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#eula-dialog[addontype="dictionary"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+#heading-container {
+ -moz-box-align: center;
+}
+
+#heading {
+ font-size: 120%;
+}
+
+#eula {
+ -moz-appearance: none;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+ margin: 1em;
+ border: 1px solid;
+ -moz-border-top-colors: ActiveBorder;
+ -moz-border-right-colors: ActiveBorder;
+ -moz-border-bottom-colors: ActiveBorder;
+ -moz-border-left-colors: ActiveBorder;
+}
+
diff --git a/toolkit/themes/osx/mozapps/extensions/experimentGeneric.png b/toolkit/themes/osx/mozapps/extensions/experimentGeneric.png
new file mode 100644
index 0000000000..a9d00545ef
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/experimentGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/extensionGeneric-16.png b/toolkit/themes/osx/mozapps/extensions/extensionGeneric-16.png
new file mode 100644
index 0000000000..fc6c8a2583
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/extensionGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/extensions.css b/toolkit/themes/osx/mozapps/extensions/extensions.css
new file mode 100644
index 0000000000..d4dac2f012
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/extensions.css
@@ -0,0 +1,51 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/extensions.inc.css
+
+.no-auto-hide > .menulist-dropmarker {
+ padding-inline-start: 0px !important;
+}
+
+#header-utils-btn {
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities");
+ margin-inline-end: 18px;
+}
+
+#header-utils-btn > .toolbarbutton-menu-dropmarker {
+ list-style-image: url("chrome://mozapps/skin/extensions/toolbarbutton-dropmarker.png");
+ padding: 0;
+ margin-inline-start: 2px;
+}
+
+.sorter[checkState="1"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+
+.sorter[checkState="2"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+
+.addon .relnotes-toggle {
+ -moz-box-direction: reverse;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+
+.addon[show-relnotes] .relnotes-toggle {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+
+.download-progress {
+ margin-top: 3px;
+ margin-bottom: 3px;
+}
+
+.meta-rating > .star {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
+ padding: 0 1px;
+}
+
+.meta-rating > .star[on="true"] {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
+}
diff --git a/toolkit/themes/osx/mozapps/extensions/heart.png b/toolkit/themes/osx/mozapps/extensions/heart.png
new file mode 100644
index 0000000000..655f4c4be7
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/heart.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/localeGeneric.png b/toolkit/themes/osx/mozapps/extensions/localeGeneric.png
new file mode 100644
index 0000000000..4d9ac5ad89
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/localeGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/newaddon.css b/toolkit/themes/osx/mozapps/extensions/newaddon.css
new file mode 100644
index 0000000000..edfba0ef55
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/newaddon.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/newaddon.inc.css
diff --git a/toolkit/themes/osx/mozapps/extensions/rating-not-won.png b/toolkit/themes/osx/mozapps/extensions/rating-not-won.png
new file mode 100644
index 0000000000..2761f19255
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/rating-not-won.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/rating-won.png b/toolkit/themes/osx/mozapps/extensions/rating-won.png
new file mode 100644
index 0000000000..336dd8f6eb
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/rating-won.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/search.png b/toolkit/themes/osx/mozapps/extensions/search.png
new file mode 100644
index 0000000000..93196dbbf6
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/search.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/themeGeneric-16.png b/toolkit/themes/osx/mozapps/extensions/themeGeneric-16.png
new file mode 100644
index 0000000000..190bb30d71
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/themeGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/themeGeneric.png b/toolkit/themes/osx/mozapps/extensions/themeGeneric.png
new file mode 100644
index 0000000000..be645f76df
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/themeGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/toolbarbutton-dropmarker.png b/toolkit/themes/osx/mozapps/extensions/toolbarbutton-dropmarker.png
new file mode 100644
index 0000000000..e7674c62a6
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/toolbarbutton-dropmarker.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/extensions/update.css b/toolkit/themes/osx/mozapps/extensions/update.css
new file mode 100644
index 0000000000..a0a016868c
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/update.css
@@ -0,0 +1,28 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.throbber {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+ width: 16px;
+ height: 16px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-inline-start: 5px;
+ margin-inline-end: 2px;
+}
+
+@media (min-resolution: 2dppx) {
+ .throbber {
+ list-style-image: url("chrome://global/skin/icons/loading@2x.png");
+ }
+}
+
+.alertBox {
+ background-color: InfoBackground;
+ color: InfoText;
+ border: 1px outset InfoBackground;
+ margin-left: 3px;
+ margin-right: 3px;
+ padding: 5px;
+}
diff --git a/toolkit/themes/osx/mozapps/extensions/xpinstallConfirm.css b/toolkit/themes/osx/mozapps/extensions/xpinstallConfirm.css
new file mode 100644
index 0000000000..48af7c1a91
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/extensions/xpinstallConfirm.css
@@ -0,0 +1,90 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#xpinstallheader {
+ margin-bottom: 2em;
+}
+
+.alert-icon {
+ width: 48px;
+ height: 48px;
+ list-style-image: url("chrome://global/skin/icons/warning-large.png");
+ margin-top: 0 !important;
+ margin-bottom: 6px !important;
+ margin-inline-start: 6px !important;
+ margin-inline-end: 20px !important;
+}
+
+#itemList {
+ -moz-appearance: listbox;
+ margin: 3px 4px 10px 4px;
+ height: 14em;
+}
+
+#itemWarningIntro {
+ margin-inline-start: 8px;
+}
+
+#dialogContentBox {
+ padding: 5px;
+}
+
+installitem {
+ padding: 5px 0 5px 5px;
+ border-bottom: 1px dotted #C0C0C0;
+ margin-bottom: 5px;
+}
+
+.warning {
+ font-weight: bold;
+ font-size: 1.25em;
+ margin-bottom: 1em;
+}
+
+.xpinstallIconContainer {
+ width: 32px;
+ height: 32px;
+ margin-inline-end: 5px;
+}
+
+.xpinstallItemName {
+ font-weight: bold;
+}
+
+.xpinstallItemSigned {
+ font-style: italic;
+ font-size: 0.9em;
+}
+
+.xpinstallItemURL {
+ -moz-appearance: none;
+ border: none;
+ background-color: Window;
+ margin-top: 2px;
+ margin-bottom: 1px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+.xpinstallItemIcon {
+ max-width: 32px;
+ max-height: 32px;
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+}
+
+installitem[type="theme"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+installitem[type="locale"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+installitem[type="plugin"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+installitem[type="dictionary"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
diff --git a/toolkit/themes/osx/mozapps/handling/handling.css b/toolkit/themes/osx/mozapps/handling/handling.css
new file mode 100644
index 0000000000..9598bedaed
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/handling/handling.css
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#description-image:not([src]) {
+ height: 32px;
+ width: 32px;
+}
+
+richlistitem[type] {
+ min-height: 36px; /* Don't forget to update the richlistbox height! */
+ padding-inline-start: 2px;
+ }
+
+richlistitem {
+ -moz-box-align: center;
+}
+
+richlistbox {
+ /* 3 items high, plus 4px for top and bottom margins, less 2px for border */
+ min-height: 110px;
+}
+
+.name {
+ font-weight: bold;
+}
+
+.description {
+ color: GrayText;
+}
diff --git a/toolkit/themes/osx/mozapps/jar.mn b/toolkit/themes/osx/mozapps/jar.mn
new file mode 100644
index 0000000000..3b58f1e4e5
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/jar.mn
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+#include ../../shared/mozapps.inc.mn
+ skin/classic/mozapps/downloads/buttons.png (downloads/buttons.png)
+ skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
+* skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
+ skin/classic/mozapps/downloads/unknownContentType.css (downloads/unknownContentType.css)
+ skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
+ skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)
+ skin/classic/mozapps/extensions/category-plugins.png (extensions/category-plugins.png)
+ skin/classic/mozapps/extensions/category-service.png (extensions/category-service.png)
+ skin/classic/mozapps/extensions/category-dictionaries.png (extensions/category-dictionaries.png)
+ skin/classic/mozapps/extensions/category-experiments.png (extensions/category-experiments.png)
+ skin/classic/mozapps/extensions/category-recent.png (extensions/category-recent.png)
+ skin/classic/mozapps/extensions/category-available.png (extensions/category-available.png)
+ skin/classic/mozapps/extensions/discover-logo.png (extensions/discover-logo.png)
+ skin/classic/mozapps/extensions/extensionGeneric-16.png (extensions/extensionGeneric-16.png)
+ skin/classic/mozapps/extensions/themeGeneric.png (extensions/themeGeneric.png)
+ skin/classic/mozapps/extensions/themeGeneric-16.png (extensions/themeGeneric-16.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric.png (extensions/dictionaryGeneric.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric-16.png (extensions/dictionaryGeneric-16.png)
+ skin/classic/mozapps/extensions/experimentGeneric.png (extensions/experimentGeneric.png)
+ skin/classic/mozapps/extensions/localeGeneric.png (extensions/localeGeneric.png)
+ skin/classic/mozapps/extensions/rating-won.png (extensions/rating-won.png)
+ skin/classic/mozapps/extensions/rating-not-won.png (extensions/rating-not-won.png)
+ skin/classic/mozapps/extensions/cancel.png (extensions/cancel.png)
+ skin/classic/mozapps/extensions/toolbarbutton-dropmarker.png (extensions/toolbarbutton-dropmarker.png)
+ skin/classic/mozapps/extensions/heart.png (extensions/heart.png)
+ skin/classic/mozapps/extensions/search.png (extensions/search.png)
+ skin/classic/mozapps/extensions/about.css (extensions/about.css)
+* skin/classic/mozapps/extensions/extensions.css (extensions/extensions.css)
+ skin/classic/mozapps/extensions/update.css (extensions/update.css)
+ skin/classic/mozapps/extensions/eula.css (extensions/eula.css)
+ skin/classic/mozapps/extensions/blocklist.css (extensions/blocklist.css)
+* skin/classic/mozapps/extensions/newaddon.css (extensions/newaddon.css)
+ skin/classic/mozapps/plugins/notifyPluginGeneric.png (plugins/notifyPluginGeneric.png)
+ skin/classic/mozapps/plugins/pluginGeneric.png (plugins/pluginGeneric.png)
+ skin/classic/mozapps/plugins/pluginBlocked.png (plugins/pluginBlocked.png)
+ skin/classic/mozapps/plugins/pluginBlocked-64.png (plugins/pluginBlocked-64.png)
+ skin/classic/mozapps/plugins/pluginGeneric-16.png (plugins/pluginGeneric-16.png)
+ skin/classic/mozapps/plugins/pluginHelp-16.png (plugins/pluginHelp-16.png)
+ skin/classic/mozapps/profile/profileicon.png (profile/profileicon.png)
+ skin/classic/mozapps/profile/profileSelection.css (profile/profileSelection.css)
+ skin/classic/mozapps/profile/profileicon-selected.png (profile/profileicon-selected.png)
+ skin/classic/mozapps/update/buttons.png (update/buttons.png)
+* skin/classic/mozapps/update/updates.css (update/updates.css)
+ skin/classic/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)
+ skin/classic/mozapps/xpinstall/xpinstallConfirm.css (extensions/xpinstallConfirm.css)
+ skin/classic/mozapps/handling/handling.css (handling/handling.css)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
+% override chrome://mozapps/skin/extensions/category-extensions.svg chrome://mozapps/skin/extensions/extensionGeneric.svg
+% override chrome://mozapps/skin/extensions/category-languages.png chrome://mozapps/skin/extensions/localeGeneric.png
+% override chrome://mozapps/skin/extensions/category-themes.png chrome://mozapps/skin/extensions/themeGeneric.png
+% override chrome://mozapps/skin/plugins/notifyPluginCrashed.png chrome://mozapps/skin/plugins/notifyPluginGeneric.png
diff --git a/toolkit/themes/osx/mozapps/moz.build b/toolkit/themes/osx/mozapps/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/osx/mozapps/plugins/notifyPluginGeneric.png b/toolkit/themes/osx/mozapps/plugins/notifyPluginGeneric.png
new file mode 100644
index 0000000000..449e081496
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/notifyPluginGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/plugins/pluginBlocked-64.png b/toolkit/themes/osx/mozapps/plugins/pluginBlocked-64.png
new file mode 100644
index 0000000000..56b8a3322d
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/pluginBlocked-64.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/plugins/pluginBlocked.png b/toolkit/themes/osx/mozapps/plugins/pluginBlocked.png
new file mode 100644
index 0000000000..6e8e1761bf
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/pluginBlocked.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/plugins/pluginGeneric-16.png b/toolkit/themes/osx/mozapps/plugins/pluginGeneric-16.png
new file mode 100644
index 0000000000..6956ffef81
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/pluginGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/plugins/pluginGeneric.png b/toolkit/themes/osx/mozapps/plugins/pluginGeneric.png
new file mode 100644
index 0000000000..6ada1616bb
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/pluginGeneric.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/plugins/pluginHelp-16.png b/toolkit/themes/osx/mozapps/plugins/pluginHelp-16.png
new file mode 100644
index 0000000000..9a577c08f2
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/plugins/pluginHelp-16.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/profile/profileSelection.css b/toolkit/themes/osx/mozapps/profile/profileSelection.css
new file mode 100644
index 0000000000..cc3ab451c7
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/profile/profileSelection.css
@@ -0,0 +1,29 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+@import url("chrome://global/skin/global.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#profiles > listitem {
+ list-style-image: url("chrome://mozapps/skin/profile/profileicon.png");
+}
+
+#profiles:focus > listitem[selected="true"] {
+ list-style-image: url("chrome://mozapps/skin/profile/profileicon-selected.png");
+}
+
+#profiles > listitem > listcell > image {
+ width: 16px;
+ height: 16px;
+}
+
+box#managebuttons > button {
+ min-width: 8em;
+}
+
+#managebuttons {
+ padding-top: 1em;
+}
diff --git a/toolkit/themes/osx/mozapps/profile/profileicon-selected.png b/toolkit/themes/osx/mozapps/profile/profileicon-selected.png
new file mode 100644
index 0000000000..f3e1f8e110
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/profile/profileicon-selected.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/profile/profileicon.png b/toolkit/themes/osx/mozapps/profile/profileicon.png
new file mode 100644
index 0000000000..f67a43714e
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/profile/profileicon.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/update/buttons.png b/toolkit/themes/osx/mozapps/update/buttons.png
new file mode 100644
index 0000000000..04da26a252
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/update/buttons.png
Binary files differ
diff --git a/toolkit/themes/osx/mozapps/update/updates.css b/toolkit/themes/osx/mozapps/update/updates.css
new file mode 100644
index 0000000000..9bd78ef6f8
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/update/updates.css
@@ -0,0 +1,171 @@
+%include ../../global/shared.inc
+
+/* General */
+/* Specify the size for the wizardpage so the billboard has a fixed size. 3rd
+ party themes should typically specify the same values. */
+wizardpage {
+ height: 360px;
+ width: 700px;
+}
+
+/* Remove margin and padding so the billboard will extend to the edge of the
+ window. 3rd party themes should typically specify the same values. */
+#updates, .wizard-page-box {
+ margin: 0;
+ padding: 0;
+}
+
+.update-content {
+ padding: 6px 12px 12px 12px;
+}
+
+.wizard-header-box-text {
+ padding: 0;
+}
+
+.wizard-header {
+ margin: 12px 12px 0 12px;
+}
+
+.wizard-buttons-btm {
+ padding: 15px 12px;
+}
+
+/* Don't use top margin - it can cause a scrollbar on some pages */
+.wizard-buttons {
+ padding: 0;
+ -moz-appearance: statusbar;
+ -moz-window-dragging: drag;
+}
+
+.wizard-buttons button {
+ -moz-appearance: toolbarbutton;
+ color: ButtonText;
+ min-height: 22px;
+ margin: 0 6px;
+ padding: 0;
+ text-shadow: @loweredShadow@;
+}
+
+#finishedBackgroundMore {
+ margin-bottom: 6px;
+}
+
+.inline-link {
+ color: -moz-nativehyperlinktext;
+ text-decoration: none;
+}
+
+.inline-link:hover {
+ text-decoration: underline;
+}
+
+/* Unsupported Page */
+#unsupportedLabel, #unsupportedLinkLabel {
+ margin-inline-start: 0;
+ padding-inline-start: 0;
+}
+
+/* Update Found Basic Page */
+#updateName, #updateFinishedName {
+ font-weight: bold;
+ font-size: larger;
+}
+
+/* Downloading Page */
+#downloadStatusLine {
+ -moz-box-align: center;
+}
+
+#downloadStatus {
+ height: 3em !important;
+}
+
+#downloadStatusProgress {
+ padding-right: 5px;
+}
+
+#pauseButton {
+ list-style-image: url(chrome://mozapps/skin/update/buttons.png);
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ min-height: 16px;
+ min-width: 16px;
+ max-height: 16px;
+ max-width: 16px;
+ margin: 0 1px 0 1px;
+ padding: 0;
+}
+
+/* !Important must be used otherwise this won't immediately take affect */
+#pauseButton > .button-box {
+ padding: 0 !important;
+}
+
+#pauseButton:hover {
+ -moz-image-region: rect(48px, 32px, 64px, 16px);
+}
+
+#pauseButton:not([disabled="true"]):hover:active {
+ -moz-image-region: rect(48px, 48px, 64px, 32px);
+}
+
+#pauseButton[disabled="true"] {
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+}
+
+#pauseButton[paused="true"] {
+ -moz-image-region: rect(16px, 16px, 32px, 0px);
+}
+
+#pauseButton[paused="true"]:hover {
+ -moz-image-region: rect(16px, 32px, 32px, 16px);
+}
+
+#pauseButton[paused="true"]:hover:active {
+ -moz-image-region: rect(16px, 48px, 32px, 32px);
+}
+
+#verificationFailedIcon {
+ margin-left: 5px;
+ list-style-image: url("chrome://global/skin/icons/notfound.png");
+}
+
+/* Error Page */
+#errorReason {
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px !important;
+ margin-inline-end: 5px;
+ font-weight: bold;
+}
+
+/* Update History Window */
+update {
+ border-bottom: 1px dotted #C0C0C0;
+}
+
+.update-name {
+ font-weight: bold;
+}
+
+.update-label-column {
+ -moz-box-align: end;
+}
+
+.update-type {
+ font-weight: bold;
+ color: #990000;
+}
+
+#historyItems {
+ -moz-appearance: listbox;
+ height: 200px;
+ margin: 1px 5px 4px 5px;
+}
+
+#historyItems > scrollbox {
+ margin-bottom: 1px;
+}
diff --git a/toolkit/themes/osx/mozapps/viewsource/viewsource.css b/toolkit/themes/osx/mozapps/viewsource/viewsource.css
new file mode 100644
index 0000000000..76c7d00b9d
--- /dev/null
+++ b/toolkit/themes/osx/mozapps/viewsource/viewsource.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* This is for styling the menus of the viewsource window */
diff --git a/toolkit/themes/osx/reftests/482681-ref.xul b/toolkit/themes/osx/reftests/482681-ref.xul
new file mode 100644
index 0000000000..62fb4bb8d5
--- /dev/null
+++ b/toolkit/themes/osx/reftests/482681-ref.xul
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+box {
+ -moz-appearance: button;
+}
+" type="text/css"?>
+
+<window title="Reference for mini, small and regular button sizes"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox>
+ <hbox><box width="79" height="16"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="79" height="19"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="79" height="22"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/482681.xul b/toolkit/themes/osx/reftests/482681.xul
new file mode 100644
index 0000000000..6cb9aaeae4
--- /dev/null
+++ b/toolkit/themes/osx/reftests/482681.xul
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+button {
+ color: transparent;
+ margin: 0;
+}
+" type="text/css"?>
+
+<window title="Buttons with mini, small and regular control font"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox style="font-size: 9px">
+ <hbox><button label="Mini"/></hbox>
+ </vbox>
+ <vbox style="font: message-box">
+ <hbox><button label="Small"/></hbox>
+ </vbox>
+ <vbox style="font: -moz-dialog">
+ <hbox><button label="Regular"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/baseline.xul b/toolkit/themes/osx/reftests/baseline.xul
new file mode 100644
index 0000000000..2ec6f5132f
--- /dev/null
+++ b/toolkit/themes/osx/reftests/baseline.xul
@@ -0,0 +1,175 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+
+<!--
+ * This is a complicated test.
+ * XUL authors like to place several different widgets on the same line by
+ * putting them in a <hbox align="center">. In order for this to look good,
+ * the baselines of the text contained in the widgets should line up.
+ * This is what this test is testing.
+ * The test passes if it's completely white.
+ *
+ * It works like this:
+ * For every combination of two different widgets (where widget is one of
+ * label, radio, checkbox, button, textbox, menulist, menulist[editable="true"] or
+ * filefield), there's a stack with two layers. The back layer in the stack is
+ * just a vertically centered label with a bunch of underscores. This is the
+ * baseline that the text on the widgets should hit.
+ * On the foreground layer in the stack we've placed the pair of widgets we're
+ * testing. They also have underscores in their labels.
+ *
+ * Now we want to test whether the underscores in the foreground layer are directly
+ * on top of those in the back layer. For that we use color-keying and a tricky
+ * SVG color transformation.
+ * The back layer of the stack has a red background; the underscores of the
+ * back label are in white (and have a white text-shadow in order to fill up the
+ * gaps between the individual letters).
+ * Now we want the foreground layer to be solid white, except for those pixels
+ * that make up the labels: These should be transparent.
+ * So if the baselines line up, everything is white, since at those pixels where
+ * the foreground is transparent, only the white pixels from the back layer shine
+ * through. If the baselines don't line up, red pixels from the background will
+ * shine through, and the comparison with about:blank (completely white) will fail.
+ *
+ * So how do we get the foreground white and transparent? That's the job of the
+ * SVG color transformation filter. It's a simple matrix that makes turns opaque
+ * yellow into transparent and all other colors into white.
+ * -->
+
+<window title="Baseline test"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ orient="vertical"
+ class="reftest-wait"
+ onload="loaded()">
+
+<html:style><![CDATA[
+window {
+ -moz-appearance: none;
+ background-color: white;
+}
+.regular {
+ font: -moz-dialog;
+}
+.small {
+ font: message-box;
+}
+.spacer {
+ height: 40px;
+}
+stack > hbox:first-child {
+ background: red;
+ color: white;
+ text-shadow: 5px 0 white, -5px 0 white;
+}
+stack > .foreground {
+ filter: url(#yellow2transparent);
+}
+stack > hbox:last-child > * {
+ color: yellow;
+}
+]]>
+</html:style>
+
+ <svg:svg style="visibility: collapse;">
+ <svg:filter id="yellow2transparent" color-interpolation-filters="sRGB">
+ <svg:feColorMatrix type="matrix"
+ values="0 0 0 0 1
+ 0 0 0 0 1
+ 0 0 0 0 1
+ -100 -100 100 -100 300"/>
+ </svg:filter>
+ </svg:svg>
+
+<script type="application/javascript;version=1.8"><![CDATA[
+
+function cE(elem) {
+ return document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", elem);
+}
+function elWithValue(elem, val) {
+ let e = cE(elem);
+ e.setAttribute(elem == "label" || elem == "textbox" ? "value" : "label", val);
+ return e;
+}
+
+function allPairs(set) {
+ let ps = [];
+ for(let i = 0; i < set.length; ++i) {
+ for (let j = i + 1; j < set.length; ++j) {
+ ps.push([set[i], set[j]]);
+ }
+ }
+ return ps;
+}
+
+function createLabel(v) {
+ return elWithValue("label", v);
+}
+function createRadio(v) {
+ return elWithValue("radio", v);
+}
+function createCheckbox(v) {
+ return elWithValue("checkbox", v);
+}
+function createButton(v) {
+ return elWithValue("button", v);
+}
+function createTextField(v) {
+ return elWithValue("textbox", v);
+}
+function createMenulist(v) {
+ let [list, popup, item] = [cE("menulist"), cE("menupopup"), elWithValue("menuitem", v)];
+ item.setAttribute("selected", "true");
+ popup.appendChild(item);
+ list.appendChild(popup);
+ return list;
+}
+function createEditableMenulist(v) {
+ let list = createMenulist(v);
+ list.setAttribute("editable", "true");
+ return list;
+}
+function createFileField(v) {
+ let field = elWithValue("filefield", v);
+ field.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAChJREFUSMftzUEBAAAEBLCjf2dK8NsKrCaTT51nAoFAIBAIBAKB4MoCtVsCPjrGuiwAAAAASUVORK5CYII=");
+ return field;
+}
+function loaded() {
+ let template = document.getElementById("template");
+ ["regular", "small"].forEach(function(size) {
+ let wrapper = document.querySelectorAll("#wrapper > ." + size)[0];
+ allPairs([
+ createLabel, createRadio, createCheckbox, createButton, createMenulist, createTextField,
+ /* createEditableMenulist, createFileField, */ /* These don't inherit "color" properly */
+ ]).forEach(function(elemList) {
+ let newBox = template.cloneNode(true);
+ newBox.className = "spacer";
+ let foregroundRow = newBox.firstChild.lastChild;
+ elemList.forEach(function(creator) {
+ foregroundRow.appendChild(creator("______"));
+ });
+ wrapper.appendChild(newBox);
+ });
+ });
+ document.documentElement.className = "";
+}
+
+]]></script>
+ <vbox id="template">
+ <stack>
+ <hbox align="center">
+ <label value="______________________________________________"/>
+ </hbox>
+ <hbox align="center" class="foreground">
+ </hbox>
+ </stack>
+ </vbox>
+ <hbox id="wrapper">
+ <vbox class="regular" flex="1"/>
+ <vbox class="small" flex="1"/>
+ </hbox>
+
+ <spacer flex="1"/>
+
+</window>
diff --git a/toolkit/themes/osx/reftests/checkboxsize-ref.xul b/toolkit/themes/osx/reftests/checkboxsize-ref.xul
new file mode 100644
index 0000000000..08d1e9a670
--- /dev/null
+++ b/toolkit/themes/osx/reftests/checkboxsize-ref.xul
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+box {
+ -moz-appearance: checkbox;
+ margin-left: 2px;
+ margin-top: 1px;
+}
+" type="text/css"?>
+
+<window title="Reference for mini, small and regular checkbox sizes"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox>
+ <hbox><box width="11" height="11"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="13" height="13"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="16" height="16"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox checked="true"><box width="11" height="11"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox checked="true"><box width="13" height="13"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox checked="true"><box width="16" height="16"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/checkboxsize.xul b/toolkit/themes/osx/reftests/checkboxsize.xul
new file mode 100644
index 0000000000..55429ef8f8
--- /dev/null
+++ b/toolkit/themes/osx/reftests/checkboxsize.xul
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+checkbox {
+ color: transparent;
+ margin: 0;
+}
+" type="text/css"?>
+
+<window title="Checkboxes with mini, small and regular control font"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox style="font-size: 9px">
+ <hbox><checkbox label="Mini"/></hbox>
+ </vbox>
+ <vbox style="font: message-box">
+ <hbox><checkbox label="Small"/></hbox>
+ </vbox>
+ <vbox style="font: -moz-dialog">
+ <hbox><checkbox label="Regular"/></hbox>
+ </vbox>
+ <vbox style="font-size: 9px">
+ <hbox><checkbox label="Mini" checked="true"/></hbox>
+ </vbox>
+ <vbox style="font: message-box">
+ <hbox><checkbox label="Small" checked="true"/></hbox>
+ </vbox>
+ <vbox style="font: -moz-dialog">
+ <hbox><checkbox label="Regular" checked="true"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/nostretch-ref.xul b/toolkit/themes/osx/reftests/nostretch-ref.xul
new file mode 100644
index 0000000000..a1aee555e6
--- /dev/null
+++ b/toolkit/themes/osx/reftests/nostretch-ref.xul
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+
+<window title="Stretched controls test reference"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ orient="vertical"
+ class="reftest-wait"
+ onload="loaded()">
+
+<html:style><![CDATA[
+.regular {
+ font: -moz-dialog;
+}
+.small {
+ font: message-box;
+}
+.spacer {
+ height: 40px;
+}
+.foreground > :nth-child(2) {
+ display: none; /* <----- This is the only difference from nostretch.xul */
+}
+]]>
+</html:style>
+
+<script type="application/javascript;version=1.8"><![CDATA[
+
+function cE(elem) {
+ return document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", elem);
+}
+function elWithValue(elem, val) {
+ let e = cE(elem);
+ e.setAttribute(elem == "label" || elem == "textbox" ? "value" : "label", val);
+ return e;
+}
+
+function allPairs(set) {
+ let ps = [];
+ for(let i = 0; i < set.length; ++i) {
+ for (let j = 0; j < set.length; ++j) {
+ if (i != j)
+ ps.push([set[i], set[j]]);
+ }
+ }
+ return ps;
+}
+
+function createLabel(v) {
+ return elWithValue("label", v);
+}
+function createRadio(v) {
+ return elWithValue("radio", v);
+}
+function createCheckbox(v) {
+ return elWithValue("checkbox", v);
+}
+function createButton(v) {
+ return elWithValue("button", v);
+}
+function createTextField(v) {
+ return elWithValue("textbox", v);
+}
+function createMenulist(v) {
+ let [list, popup, item] = [cE("menulist"), cE("menupopup"), elWithValue("menuitem", v)];
+ item.setAttribute("selected", "true");
+ popup.appendChild(item);
+ list.appendChild(popup);
+ return list;
+}
+function createEditableMenulist(v) {
+ let list = createMenulist(v);
+ list.setAttribute("editable", "true");
+ return list;
+}
+function loaded() {
+ let template = document.getElementById("template");
+ ["regular", "small"].forEach(function(size) {
+ let wrapper = document.querySelectorAll("#wrapper > ." + size)[0];
+ allPairs([
+ createButton, createMenulist, createTextField, createEditableMenulist,
+ ]).forEach(function(elemList) {
+ let newBox = template.cloneNode(true);
+ newBox.className = "spacer";
+ let foregroundRow = newBox.firstChild;
+ elemList.forEach(function(creator) {
+ foregroundRow.appendChild(creator("Label"));
+ });
+ wrapper.appendChild(newBox);
+ });
+ });
+ document.documentElement.className = "";
+}
+
+]]></script>
+ <vbox id="template">
+ <hbox class="foreground"/>
+ </vbox>
+ <hbox id="wrapper">
+ <vbox class="regular" width="500"/>
+ <vbox class="small" flex="1"/>
+ </hbox>
+
+ <spacer flex="1"/>
+
+</window>
diff --git a/toolkit/themes/osx/reftests/nostretch.xul b/toolkit/themes/osx/reftests/nostretch.xul
new file mode 100644
index 0000000000..cd28fa1b7b
--- /dev/null
+++ b/toolkit/themes/osx/reftests/nostretch.xul
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+
+<!--
+ * This test tests whether you can put different widgets in the same
+ * hbox without stretching them, even if you don't set align="center".
+ * I.e. prior to the fix that added this patch, having a button and a
+ * menulist in the same hbox next to each other would stretch the menulist
+ * vertically because the button had such a big vertical margin.
+ *
+ * The test works like this: Two widgets are placed in a hbox, and the second
+ * widget is visibility: hidden. In the reference (nostretch-ref.xul), the
+ * second widget is display: none. If test and reference look the same,
+ * adding the second widget hasn't affected the appearance of the first widget,
+ * and everything's fine.
+ * -->
+<window title="Stretched controls test"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ orient="vertical"
+ class="reftest-wait"
+ onload="loaded()">
+
+<html:style><![CDATA[
+.regular {
+ font: -moz-dialog;
+}
+.small {
+ font: message-box;
+}
+.spacer {
+ height: 40px;
+}
+.foreground > :nth-child(2) {
+ visibility: hidden;
+}
+]]>
+</html:style>
+
+<script type="application/javascript;version=1.8"><![CDATA[
+
+function cE(elem) {
+ return document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", elem);
+}
+function elWithValue(elem, val) {
+ let e = cE(elem);
+ e.setAttribute(elem == "label" || elem == "textbox" ? "value" : "label", val);
+ return e;
+}
+
+function allPairs(set) {
+ let ps = [];
+ for(let i = 0; i < set.length; ++i) {
+ for (let j = 0; j < set.length; ++j) {
+ if (i != j)
+ ps.push([set[i], set[j]]);
+ }
+ }
+ return ps;
+}
+
+function createLabel(v) {
+ return elWithValue("label", v);
+}
+function createRadio(v) {
+ return elWithValue("radio", v);
+}
+function createCheckbox(v) {
+ return elWithValue("checkbox", v);
+}
+function createButton(v) {
+ return elWithValue("button", v);
+}
+function createTextField(v) {
+ return elWithValue("textbox", v);
+}
+function createMenulist(v) {
+ let [list, popup, item] = [cE("menulist"), cE("menupopup"), elWithValue("menuitem", v)];
+ item.setAttribute("selected", "true");
+ popup.appendChild(item);
+ list.appendChild(popup);
+ return list;
+}
+function createEditableMenulist(v) {
+ let list = createMenulist(v);
+ list.setAttribute("editable", "true");
+ return list;
+}
+function loaded() {
+ let template = document.getElementById("template");
+ ["regular", "small"].forEach(function(size) {
+ let wrapper = document.querySelectorAll("#wrapper > ." + size)[0];
+ allPairs([
+ createButton, createMenulist, createTextField, createEditableMenulist,
+ ]).forEach(function(elemList) {
+ let newBox = template.cloneNode(true);
+ newBox.className = "spacer";
+ let foregroundRow = newBox.firstChild;
+ elemList.forEach(function(creator) {
+ foregroundRow.appendChild(creator("Label"));
+ });
+ wrapper.appendChild(newBox);
+ });
+ });
+ document.documentElement.className = "";
+}
+
+]]></script>
+ <vbox id="template">
+ <hbox class="foreground"/>
+ </vbox>
+ <hbox id="wrapper">
+ <vbox class="regular" width="500"/>
+ <vbox class="small" flex="1"/>
+ </hbox>
+
+ <spacer flex="1"/>
+
+</window>
diff --git a/toolkit/themes/osx/reftests/radiosize-ref.xul b/toolkit/themes/osx/reftests/radiosize-ref.xul
new file mode 100644
index 0000000000..632f39e41f
--- /dev/null
+++ b/toolkit/themes/osx/reftests/radiosize-ref.xul
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+box {
+ -moz-appearance: radio;
+ margin-left: 2px;
+ margin-top: 1px;
+}
+" type="text/css"?>
+
+<window title="Reference for mini, small and regular radio button sizes"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox>
+ <hbox><box width="11" height="11"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="13" height="13"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox><box width="16" height="16"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox selected="true"><box width="11" height="11"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox selected="true"><box width="13" height="13"/></hbox>
+ </vbox>
+ <vbox>
+ <hbox selected="true"><box width="16" height="16"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/radiosize.xul b/toolkit/themes/osx/reftests/radiosize.xul
new file mode 100644
index 0000000000..44f735db07
--- /dev/null
+++ b/toolkit/themes/osx/reftests/radiosize.xul
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="data:text/css,
+vbox { height: 50px; }
+radio {
+ color: transparent;
+ margin: 0;
+}
+" type="text/css"?>
+
+<window title="Radio buttons with mini, small and regular control font"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <vbox style="font-size: 9px">
+ <hbox><radio label="Mini"/></hbox>
+ </vbox>
+ <vbox style="font: message-box">
+ <hbox><radio label="Small"/></hbox>
+ </vbox>
+ <vbox style="font: -moz-dialog">
+ <hbox><radio label="Regular"/></hbox>
+ </vbox>
+ <vbox style="font-size: 9px">
+ <hbox><radio label="Mini" selected="true"/></hbox>
+ </vbox>
+ <vbox style="font: message-box">
+ <hbox><radio label="Small" selected="true"/></hbox>
+ </vbox>
+ <vbox style="font: -moz-dialog">
+ <hbox><radio label="Regular" selected="true"/></hbox>
+ </vbox>
+</window>
diff --git a/toolkit/themes/osx/reftests/reftest-stylo.list b/toolkit/themes/osx/reftests/reftest-stylo.list
new file mode 100644
index 0000000000..82df4273dc
--- /dev/null
+++ b/toolkit/themes/osx/reftests/reftest-stylo.list
@@ -0,0 +1,6 @@
+# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
+skip-if(!cocoaWidget) == 482681.xul 482681.xul
+skip-if(!cocoaWidget) == radiosize.xul radiosize.xul
+skip-if(!cocoaWidget) == checkboxsize.xul checkboxsize.xul
+skip-if(!cocoaWidget) == baseline.xul baseline.xul
+skip-if(!cocoaWidget) == nostretch.xul nostretch.xul
diff --git a/toolkit/themes/osx/reftests/reftest.list b/toolkit/themes/osx/reftests/reftest.list
new file mode 100644
index 0000000000..27034dd862
--- /dev/null
+++ b/toolkit/themes/osx/reftests/reftest.list
@@ -0,0 +1,5 @@
+skip-if(!cocoaWidget) == 482681.xul 482681-ref.xul
+skip-if(!cocoaWidget) == radiosize.xul radiosize-ref.xul
+skip-if(!cocoaWidget) == checkboxsize.xul checkboxsize-ref.xul
+skip-if(!cocoaWidget) == baseline.xul about:blank
+skip-if(!cocoaWidget) == nostretch.xul nostretch-ref.xul
diff --git a/toolkit/themes/shared/about.css b/toolkit/themes/shared/about.css
new file mode 100644
index 0000000000..25f52992a8
--- /dev/null
+++ b/toolkit/themes/shared/about.css
@@ -0,0 +1,62 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+html {
+ background: -moz-Dialog;
+ padding: 0 1em;
+ font: message-box;
+}
+
+body {
+ color: -moz-FieldText;
+ position: relative;
+ min-width: 330px;
+ max-width: 50em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: -moz-Field;
+}
+
+.aboutPageWideContainer {
+ max-width: 80%;
+}
+
+#aboutLogoContainer {
+ border: 1px solid ThreeDLightShadow;
+ width: 300px;
+ margin-bottom: 2em;
+}
+
+img {
+ border: 0;
+}
+
+#version {
+ font-weight: bold;
+ color: #909090;
+ margin: -24px 0 9px 17px;
+}
+
+ul {
+ margin: 0;
+ margin-inline-start: 1.5em;
+ padding: 0;
+ list-style: square;
+}
+
+ul > li {
+ margin-top: .5em;
+}
+
+th, td {
+ padding: 0 5px;
+}
+
+.columns {
+ -moz-column-width: 20em;
+ -moz-column-gap: 3em;
+}
diff --git a/toolkit/themes/shared/aboutCache.css b/toolkit/themes/shared/aboutCache.css
new file mode 100644
index 0000000000..7fb6318080
--- /dev/null
+++ b/toolkit/themes/shared/aboutCache.css
@@ -0,0 +1,70 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+h2 {
+ margin-top: 2em;
+}
+
+table {
+ table-layout: fixed;
+ width: 100%;
+ margin-bottom: 1em;
+ padding: 0.5em 0;
+ border-radius: 10px;
+}
+
+#disk,
+#memory,
+#offline {
+ background-color: rgba(0, 0, 0, .1);
+}
+
+th {
+ width: 14em;
+ white-space: nowrap;
+ text-align: end;
+}
+
+td {
+ font-family: -moz-fixed;
+ word-wrap: break-word;
+}
+
+#col-key {
+ width: 60%;
+}
+
+#col-dataSize,
+#col-fetchCount,
+#col-lastModified,
+#col-expires {
+ width: 13%;
+}
+
+#col-pinned {
+ width: 5em;
+}
+
+#entries > tbody > tr:nth-child(odd) {
+ background-color: rgba(0, 0, 0, .03);
+}
+
+#entries > tbody > tr:nth-child(even) {
+ background-color: rgba(0, 0, 0, .06);
+}
+
+#entries > tbody > tr > td {
+ padding: .5em 0;
+ text-align: center;
+}
+
+#entries > thead > tr > th {
+ text-align: center;
+ white-space: normal;
+}
+
+#entries > thead > tr > th:first-child,
+#entries > tbody > tr > td:first-child {
+ text-align: start;
+}
diff --git a/toolkit/themes/shared/aboutCacheEntry.css b/toolkit/themes/shared/aboutCacheEntry.css
new file mode 100644
index 0000000000..8c8eb9a970
--- /dev/null
+++ b/toolkit/themes/shared/aboutCacheEntry.css
@@ -0,0 +1,29 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ display: table;
+}
+
+table {
+ table-layout: fixed;
+ width: 100%;
+}
+
+th {
+ width: 12em;
+ word-wrap: break-word;
+ vertical-align: top;
+ text-align: end;
+}
+
+td {
+ display: block;
+ font-family: -moz-fixed;
+ white-space: pre-wrap;
+}
+
+#td-key {
+ word-wrap: break-word;
+}
diff --git a/toolkit/themes/shared/aboutMemory.css b/toolkit/themes/shared/aboutMemory.css
new file mode 100644
index 0000000000..88fa27d501
--- /dev/null
+++ b/toolkit/themes/shared/aboutMemory.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://global/content/aboutMemory.css");
diff --git a/toolkit/themes/shared/aboutNetworking.css b/toolkit/themes/shared/aboutNetworking.css
new file mode 100644
index 0000000000..981c04a39b
--- /dev/null
+++ b/toolkit/themes/shared/aboutNetworking.css
@@ -0,0 +1,123 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://global/skin/in-content/common.css");
+
+html {
+ height: 100%;
+}
+
+body {
+ display: flex;
+ align-items: stretch;
+ height: 100%;
+}
+
+#sectionTitle {
+ float: left;
+}
+
+#refreshDiv {
+ justify-content: flex-end;
+ margin-bottom: 0.5em;
+}
+
+#refreshButton {
+ margin-top: 0;
+}
+
+/** Categories **/
+
+.category {
+ cursor: pointer;
+ /* Center category names */
+ display: flex;
+ align-items: center;
+}
+
+.category .category-name {
+ pointer-events: none;
+}
+
+#categories hr {
+ border-top-color: rgba(255,255,255,0.15);
+}
+
+/** Warning container **/
+
+/* XXX: a lot of this is duplicated from info-pages.css since that stylesheet
+ is incompatible with this type of layout */
+.warningBackground:not([hidden]) {
+ display: flex;
+}
+
+.warningBackground {
+ flex-direction: column;
+ box-sizing: border-box;
+ min-height: 100vh;
+ align-items: center;
+ justify-content: center;
+ width: 100%;
+ height: 100%;
+ z-index: 10;
+ top: 0;
+ left: 0;
+ position: fixed;
+ background: var(--in-content-page-background);
+}
+
+.title {
+ position: relative;
+ border-bottom: 1px solid var(--in-content-box-border-color);
+ margin-bottom: 1em;
+ padding-bottom: 0.5em;
+}
+
+.title::before {
+ content: "";
+ left: -2.3em;
+ top: 0;
+ position: absolute;
+ display: block;
+ width: 1.6em;
+ height: 1.6em;
+ background: url("chrome://global/skin/icons/warning.svg") no-repeat left center;
+ background-size: 1.6em;
+}
+
+.warningBackground button {
+ margin-top: 1em;
+ margin-left: 0;
+ min-width: 100px;
+}
+
+/** Content area **/
+
+.main-content {
+ flex: 1;
+}
+
+.tab {
+ padding: 0.5em 0;
+}
+
+.tab table {
+ width: 100%;
+}
+
+th, td, table {
+ border-collapse: collapse;
+ border: none;
+ text-align: start;
+}
+
+th {
+ padding-bottom: 0.5em;
+ font-size: larger;
+}
+
+td {
+ padding-bottom: 0.25em;
+ border-bottom: 1px solid var(--in-content-box-border-color);
+}
diff --git a/toolkit/themes/shared/aboutProfiles.css b/toolkit/themes/shared/aboutProfiles.css
new file mode 100644
index 0000000000..09dc9ea81f
--- /dev/null
+++ b/toolkit/themes/shared/aboutProfiles.css
@@ -0,0 +1,68 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+html {
+ --aboutProfiles-table-background: #ebebeb;
+ background-color: var(--in-content-page-background);
+}
+
+body {
+ margin: 40px 48px;
+}
+
+.page-subtitle {
+ margin-bottom: 3em;
+}
+
+button {
+ margin-inline-start: 0;
+ margin-inline-end: 8px;
+}
+
+table {
+ background-color: var(--aboutProfiles-table-background);
+ color: var(--in-content-text-color);
+ font: message-box;
+ text-align: start;
+ width: 100%;
+ border: 1px solid var(--in-content-border-color);
+ border-spacing: 0px;
+}
+
+th, td {
+ border: 1px solid var(--in-content-border-color);
+ padding: 4px;
+ text-align: start;
+}
+
+th {
+ background-color: var(--in-content-table-header-background);
+ color: var(--in-content-selected-text);
+}
+
+th.column {
+ white-space: nowrap;
+ width: 0px;
+}
+
+td {
+ border-color: var(--in-content-table-border-dark-color);
+}
+
+#action-box {
+ background-color: var(--aboutProfiles-table-background);
+ border: 1px solid var(--in-content-border-color);
+ color: var(--in-content-text-color);
+ float: right;
+ margin-top: 2em;
+ margin-bottom: 20px;
+ margin-inline-start: 20px;
+ margin-inline-end: 0;
+ padding: 16px;
+ width: 30%;
+}
+
+#action-box:dir(rtl) {
+ float: left;
+}
diff --git a/toolkit/themes/shared/aboutReader.css b/toolkit/themes/shared/aboutReader.css
new file mode 100644
index 0000000000..49436de84e
--- /dev/null
+++ b/toolkit/themes/shared/aboutReader.css
@@ -0,0 +1,178 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ padding: 64px 51px;
+}
+
+@media print {
+ #container {
+ max-width: 100% !important;
+ font-size: 14px !important;
+ font-family: Georgia, "Times New Roman", serif !important;
+ }
+
+ body {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ }
+}
+
+body.loaded {
+ transition: color 0.4s, background-color 0.4s;
+}
+
+body.light {
+ color: #333333;
+ background-color: #ffffff;
+}
+
+body.dark {
+ color: #eeeeee;
+ background-color: #333333;
+}
+
+body.dark *::-moz-selection {
+ background-color: #FFFFFF;
+ color: #0095DD;
+}
+body.dark a::-moz-selection {
+ color: #DD4800;
+}
+
+body.sepia {
+ color: #5b4636;
+ background-color: #f4ecd8;
+}
+
+body.sans-serif,
+body.sans-serif .remove-button {
+ font-family: Helvetica, Arial, sans-serif;
+}
+
+body.serif,
+body.serif .remove-button {
+ font-family: Georgia, "Times New Roman", serif;
+}
+
+#container {
+ max-width: 30em;
+ margin: 0 auto;
+}
+
+#container.font-size1 {
+ font-size: 12px;
+}
+
+#container.font-size2 {
+ font-size: 14px;
+}
+
+#container.font-size3 {
+ font-size: 16px;
+}
+
+#container.font-size4 {
+ font-size: 18px;
+}
+
+#container.font-size5 {
+ font-size: 20px;
+}
+
+#container.font-size6 {
+ font-size: 22px;
+}
+
+#container.font-size7 {
+ font-size: 24px;
+}
+
+#container.font-size8 {
+ font-size: 26px;
+}
+
+#container.font-size9 {
+ font-size: 28px;
+}
+
+#container.content-width1 {
+ max-width: 20em;
+}
+
+#container.content-width2 {
+ max-width: 25em;
+}
+
+#container.content-width3 {
+ max-width: 30em;
+}
+
+#container.content-width4 {
+ max-width: 35em;
+}
+
+#container.content-width5 {
+ max-width: 40em;
+}
+
+#container.content-width6 {
+ max-width: 45em;
+}
+
+#container.content-width7 {
+ max-width: 50em;
+}
+
+#container.content-width8 {
+ max-width: 55em;
+}
+
+#container.content-width9 {
+ max-width: 60em;
+}
+
+/* Override some controls and content styles based on color scheme */
+
+body.light > .container > .header > .domain {
+ border-bottom-color: #333333 !important;
+}
+
+body.sepia > .container > .header > .domain {
+ border-bottom-color: #5b4636 !important;
+}
+
+body.dark > .container > .header > .domain {
+ border-bottom-color: #eeeeee !important;
+}
+
+body.sepia > .container > .footer {
+ background-color: #dedad4 !important;
+}
+
+body.light blockquote {
+ border-inline-start: 2px solid #333333 !important;
+}
+
+body.sepia blockquote {
+ border-inline-start: 2px solid #5b4636 !important;
+}
+
+body.dark blockquote {
+ border-inline-start: 2px solid #eeeeee !important;
+}
+
+/* Add toolbar transition base on loaded class */
+
+body.loaded .toolbar {
+ transition: transform 0.3s ease-out;
+}
+
+body:not(.loaded) .toolbar:-moz-locale-dir(ltr) {
+ transform: translateX(-100%);
+}
+
+body:not(.loaded) .toolbar:-moz-locale-dir(rtl) {
+ transform: translateX(100%);
+}
diff --git a/toolkit/themes/shared/aboutReaderContent.css b/toolkit/themes/shared/aboutReaderContent.css
new file mode 100644
index 0000000000..633391d372
--- /dev/null
+++ b/toolkit/themes/shared/aboutReaderContent.css
@@ -0,0 +1,177 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#moz-reader-content {
+ display: none;
+ font-size: 1em;
+ line-height: 1.6em;
+}
+
+#moz-reader-content.line-height1 {
+ line-height: 1em;
+}
+
+#moz-reader-content.line-height2 {
+ line-height: 1.2em;
+}
+
+#moz-reader-content.line-height3 {
+ line-height: 1.4em;
+}
+
+#moz-reader-content.line-height4 {
+ line-height: 1.6em;
+}
+
+#moz-reader-content.line-height5 {
+ line-height: 1.8em;
+}
+
+#moz-reader-content.line-height6 {
+ line-height: 2.0em;
+}
+
+#moz-reader-content.line-height7 {
+ line-height: 2.2em;
+}
+
+#moz-reader-content.line-height8 {
+ line-height: 2.4em;
+}
+
+#moz-reader-content.line-height9 {
+ line-height: 2.6em;
+}
+
+@media print {
+ p,
+ code,
+ pre,
+ blockquote,
+ ul,
+ ol,
+ li,
+ figure,
+ .wp-caption {
+ margin: 0 0 10px 0 !important;
+ }
+}
+
+h1,
+h2,
+h3 {
+ font-weight: bold;
+}
+
+h1 {
+ font-size: 1.6em;
+ line-height: 1.25em;
+}
+
+h2 {
+ font-size: 1.2em;
+ line-height: 1.51em;
+}
+
+h3 {
+ font-size: 1em;
+ line-height: 1.66em;
+}
+
+a:link {
+ text-decoration: underline;
+ font-weight: normal;
+}
+
+a:link,
+a:link:hover,
+a:link:active {
+ color: #0095dd;
+}
+
+a:visited {
+ color: #c2e;
+}
+
+* {
+ max-width: 100%;
+ height: auto;
+}
+
+p,
+code,
+pre,
+blockquote,
+ul,
+ol,
+li,
+figure,
+.wp-caption {
+ margin: -10px -10px 20px -10px;
+ padding: 10px;
+ border-radius: 5px;
+}
+
+li {
+ margin-bottom: 0;
+}
+
+li > ul,
+li > ol {
+ margin-bottom: -10px;
+}
+
+p > img:only-child,
+p > a:only-child > img:only-child,
+.wp-caption img,
+figure img {
+ display: block;
+}
+
+img[moz-reader-center] {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.caption,
+.wp-caption-text,
+figcaption {
+ font-size: 0.9em;
+ line-height: 1.48em;
+ font-style: italic;
+}
+
+code,
+pre {
+ white-space: pre-wrap;
+}
+
+blockquote {
+ padding: 0;
+ padding-inline-start: 16px;
+}
+
+ul,
+ol {
+ padding: 0;
+}
+
+ul {
+ padding-inline-start: 30px;
+ list-style: disc;
+}
+
+ol {
+ padding-inline-start: 30px;
+ list-style: decimal;
+}
+
+/* Hide elements with common "hidden" class names */
+.visually-hidden,
+.visuallyhidden,
+.hidden,
+.invisible,
+.sr-only {
+ display: none;
+}
diff --git a/toolkit/themes/shared/aboutReaderControls.css b/toolkit/themes/shared/aboutReaderControls.css
new file mode 100644
index 0000000000..afd65f4584
--- /dev/null
+++ b/toolkit/themes/shared/aboutReaderControls.css
@@ -0,0 +1,388 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.light-button {
+ color: #333333;
+ background-color: #ffffff;
+}
+
+.dark-button {
+ color: #eeeeee;
+ background-color: #333333;
+}
+
+.sepia-button {
+ color: #5b4636;
+ background-color: #f4ecd8;
+}
+
+.sans-serif-button {
+ font-family: Helvetica, Arial, sans-serif;
+}
+
+.serif-button {
+ font-family: Georgia, "Times New Roman", serif;
+}
+
+/* Loading/error message */
+
+#reader-message {
+ margin-top: 40px;
+ display: none;
+ text-align: center;
+ width: 100%;
+ font-size: 0.9em;
+}
+
+/* Header */
+
+.header {
+ text-align: start;
+ display: none;
+}
+
+.domain {
+ font-size: 0.9em;
+ line-height: 1.48em;
+ padding-bottom: 4px;
+ font-family: Helvetica, Arial, sans-serif;
+ text-decoration: none;
+ border-bottom: 1px solid;
+ color: #0095dd;
+}
+
+.header > h1 {
+ font-size: 1.6em;
+ line-height: 1.25em;
+ width: 100%;
+ margin: 30px 0;
+ padding: 0;
+}
+
+.header > .credits {
+ font-size: 0.9em;
+ line-height: 1.48em;
+ margin: 0 0 30px 0;
+ padding: 0;
+ font-style: italic;
+}
+
+/*======= Controls toolbar =======*/
+
+.toolbar {
+ font-family: Helvetica, Arial, sans-serif;
+ position: fixed;
+ height: 100%;
+ top: 0;
+ left: 0;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ background-color: #fbfbfb;
+ -moz-user-select: none;
+ border-right: 1px solid #b5b5b5;
+ z-index: 1;
+}
+
+.button {
+ display: block;
+ background-size: 24px 24px;
+ background-repeat: no-repeat;
+ color: #333;
+ background-color: #fbfbfb;
+ height: 40px;
+ padding: 0;
+}
+
+.toolbar .button {
+ width: 40px;
+ background-position: center;
+ margin-right: -1px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 1px solid #b5b5b5;
+ border-bottom: 1px solid #c1c1c1;
+}
+
+.button[hidden] {
+ display: none;
+}
+
+.dropdown {
+ text-align: center;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+.dropdown li {
+ margin: 0;
+ padding: 0;
+}
+
+/*======= Popup =======*/
+
+.dropdown-popup {
+ min-width: 300px;
+ text-align: start;
+ position: absolute;
+ left: 48px; /* offset to account for toolbar width */
+ z-index: 1000;
+ background-color: #fbfbfb;
+ visibility: hidden;
+ border-radius: 4px;
+ border: 1px solid #b5b5b5;
+ border-bottom-width: 0;
+ box-shadow: 0 1px 12px #666;
+}
+
+.keep-open .dropdown-popup {
+ z-index: initial;
+}
+
+.dropdown-popup > hr {
+ display: none;
+}
+
+.open > .dropdown-popup {
+ visibility: visible;
+}
+
+.dropdown-arrow {
+ position: absolute;
+ top: 30px; /* offset arrow from top of popup */
+ left: -16px;
+ width: 24px;
+ height: 24px;
+ background-image: url("chrome://global/skin/reader/RM-Type-Controls-Arrow.svg");
+ display: block;
+}
+
+/*======= Font style popup =======*/
+
+#font-type-buttons,
+#font-size-buttons,
+#color-scheme-buttons,
+#content-width-buttons,
+#line-height-buttons {
+ display: flex;
+ flex-direction: row;
+}
+
+#font-type-buttons > button:first-child {
+ border-top-left-radius: 3px;
+}
+#font-type-buttons > button:last-child {
+ border-top-right-radius: 3px;
+}
+#color-scheme-buttons > button:first-child {
+ border-bottom-left-radius: 3px;
+}
+#color-scheme-buttons > button:last-child {
+ border-bottom-right-radius: 3px;
+}
+
+#font-type-buttons > button,
+#font-size-buttons > button,
+#color-scheme-buttons > button,
+#content-width-buttons > button,
+#line-height-buttons > button {
+ text-align: center;
+ border: 0;
+}
+
+#font-type-buttons > button,
+#font-size-buttons > button,
+#content-width-buttons > button,
+#line-height-buttons > button {
+ width: 50%;
+ background-color: transparent;
+ border-left: 1px solid #B5B5B5;
+ border-bottom: 1px solid #B5B5B5;
+}
+
+#color-scheme-buttons > button {
+ width: 33.33%;
+ font-size: 14px;
+}
+
+#color-scheme-buttons > .dark-button {
+ margin-top: -1px;
+ height: 61px;
+}
+
+#font-type-buttons > button:first-child,
+#font-size-buttons > button:first-child,
+#content-width-buttons > button:first-child,
+#line-height-buttons > button:first-child {
+ border-left: 0;
+}
+
+#font-type-buttons > button {
+ display: inline-block;
+ font-size: 62px;
+ height: 100px;
+}
+
+#font-size-buttons > button,
+#color-scheme-buttons > button,
+#content-width-buttons > button,
+#line-height-buttons > button {
+ height: 60px;
+}
+
+#font-type-buttons > button:active:hover,
+#font-type-buttons > button.selected,
+#color-scheme-buttons > button:active:hover,
+#color-scheme-buttons > button.selected {
+ box-shadow: inset 0 -3px 0 0 #fc6420;
+}
+
+#font-type-buttons > button:active:hover,
+#font-type-buttons > button.selected {
+ border-bottom: 1px solid #FC6420;
+}
+
+/* Make the serif button content the same size as the sans-serif button content. */
+#font-type-buttons > button > .description {
+ color: #666;
+ font-size: 12px;
+ margin-top: -5px;
+}
+
+/* Font sizes are different per-platform, so we need custom CSS to line them up. */
+%ifdef XP_MACOSX
+#font-type-buttons > .sans-serif-button > .name {
+ margin-top: 10px;
+}
+
+#font-type-buttons > .sans-serif-button > .description {
+ margin-top: -4px;
+}
+
+#font-type-buttons > .serif-button > .name {
+ font-size: 63px;
+}
+%elifdef XP_WIN
+#font-type-buttons > .sans-serif-button > .name {
+ margin-top: 2px;
+}
+
+#font-type-buttons > .sans-serif-button > .description {
+ margin-top: -4px;
+}
+
+#font-type-buttons > .serif-button > .name {
+ font-size: 63px;
+}
+%else
+#font-type-buttons > .sans-serif-button > .name {
+ margin-top: 5px;
+}
+
+#font-type-buttons > .sans-serif-button > .description {
+ margin-top: -8px;
+}
+
+#font-type-buttons > .serif-button > .name {
+ font-size: 70px;
+}
+%endif
+
+.button:hover,
+#font-size-buttons > button:hover,
+#font-type-buttons > button:hover,
+#content-width-buttons > button:hover,
+#line-height-buttons > button:hover {
+ background-color: #ebebeb;
+}
+
+.dropdown.open,
+.button:active,
+#font-size-buttons > button:active,
+#font-size-buttons > button.selected,
+#content-width-buttons > button:active,
+#content-width-buttons > button.selected,
+#line-height-buttons > button:active,
+#line-height-buttons > button.selected {
+ background-color: #dadada;
+}
+
+/* Only used on Android */
+#font-size-sample {
+ display: none;
+}
+
+.minus-button,
+.plus-button,
+.content-width-minus-button,
+.content-width-plus-button,
+.line-height-minus-button,
+.line-height-plus-button {
+ background-color: transparent;
+ border: 0;
+ background-size: 18px 18px;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
+/*======= Toolbar icons =======*/
+
+.close-button {
+ background-image: url("chrome://global/skin/reader/RM-Close-24x24.svg#close");
+ height: 68px;
+ background-position: center 8px;
+}
+
+.close-button:hover {
+ background-image: url("chrome://global/skin/reader/RM-Close-24x24.svg#close-hover");
+ background-color: #d94141;
+ border-bottom: 1px solid #d94141;
+ border-right: 1px solid #d94141;
+}
+
+.close-button:hover:active {
+ background-image: url("chrome://global/skin/reader/RM-Close-24x24.svg#close-hover");
+ background-color: #AE2325;
+ border-bottom: 1px solid #AE2325;
+ border-right: 1px solid #AE2325;
+}
+
+.style-button {
+ background-image: url("chrome://global/skin/reader/RM-Type-Controls-24x24.svg");
+}
+
+.minus-button {
+ background-image: url("chrome://global/skin/reader/RM-Minus-24x24.svg");
+}
+
+.plus-button {
+ background-image: url("chrome://global/skin/reader/RM-Plus-24x24.svg");
+}
+
+.content-width-minus-button {
+ background-size: 42px 16px;
+ background-image: url("chrome://global/skin/reader/RM-Content-Width-Minus-42x16.svg");
+}
+
+.content-width-plus-button {
+ background-size: 44px 16px;
+ background-image: url("chrome://global/skin/reader/RM-Content-Width-Plus-44x16.svg");
+}
+
+.line-height-minus-button {
+ background-size: 34px 14px;
+ background-image: url("chrome://global/skin/reader/RM-Line-Height-Minus-38x14.svg");
+}
+
+.line-height-plus-button {
+ background-size: 34px 24px;
+ background-image: url("chrome://global/skin/reader/RM-Line-Height-Plus-38x24.svg");
+}
+
+@media print {
+ .toolbar {
+ display: none !important;
+ }
+}
diff --git a/toolkit/themes/shared/aboutServiceWorkers.css b/toolkit/themes/shared/aboutServiceWorkers.css
new file mode 100644
index 0000000000..1f1f29757e
--- /dev/null
+++ b/toolkit/themes/shared/aboutServiceWorkers.css
@@ -0,0 +1,44 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ min-width: 330px;
+ max-width: 100%;
+ min-height: 330px;
+ max-height: 100%;
+}
+
+.warningBackground {
+ display: none;
+ background: -moz-Dialog;
+ width:100%;
+ height:100%;
+ z-index:10;
+ top:0;
+ left:0;
+ position:fixed;
+}
+
+.warningMessage {
+ color: -moz-FieldText;
+ position: relative;
+ min-width: 330px;
+ max-width: 50em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: -moz-Field;
+ margin-left: auto;
+ text-align: center;
+}
+
+.active {
+ display: block;
+}
+
+.inactive {
+ display: none;
+}
diff --git a/toolkit/themes/shared/aboutSupport.css b/toolkit/themes/shared/aboutSupport.css
new file mode 100644
index 0000000000..d26cd3cbd2
--- /dev/null
+++ b/toolkit/themes/shared/aboutSupport.css
@@ -0,0 +1,131 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+html {
+ --aboutSupport-table-background: #ebebeb;
+ background-color: var(--in-content-page-background);
+}
+
+body {
+ margin: 40px 48px;
+}
+
+.page-subtitle {
+ margin-bottom: 3em;
+}
+
+.major-section {
+ margin-top: 2em;
+ margin-bottom: 1em;
+ font-size: large;
+ text-align: start;
+ font-weight: bold;
+}
+
+button {
+ margin-inline-start: 0;
+ margin-inline-end: 8px;
+}
+
+table {
+ background-color: var(--aboutSupport-table-background);
+ color: var(--in-content-text-color);
+ font: message-box;
+ text-align: start;
+ width: 100%;
+ border: 1px solid var(--in-content-border-color);
+ border-spacing: 0px;
+}
+
+th, td {
+ border: 1px solid var(--in-content-border-color);
+ padding: 4px;
+}
+
+thead th {
+ text-align: center;
+}
+
+th {
+ text-align: start;
+ background-color: var(--in-content-table-header-background);
+ color: var(--in-content-selected-text);
+}
+
+th.title-column {
+ white-space: nowrap;
+ width: 0px;
+ font-size: medium;
+}
+
+th.column {
+ white-space: nowrap;
+ width: 0px;
+}
+
+td {
+ text-align: start;
+ border-color: var(--in-content-table-border-dark-color);
+}
+
+.prefs-table {
+ width: 100%;
+ table-layout: fixed;
+}
+
+.pref-name {
+ width: 70%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.pref-value {
+ width: 30%;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+#action-box {
+ background-color: var(--aboutSupport-table-background);
+ border: 1px solid var(--in-content-border-color);
+ color: var(--in-content-text-color);
+ float: right;
+ margin-top: 2em;
+ margin-bottom: 20px;
+ margin-inline-start: 20px;
+ margin-inline-end: 0;
+ padding: 16px;
+ width: 30%;
+}
+
+#action-box,
+#reset-box,
+#safe-mode-box {
+ display: none;
+}
+
+#action-box:dir(rtl) {
+ float: left;
+}
+
+#reset-box > h3 {
+ margin-top: 0;
+}
+
+#action-box button {
+ display: block;
+}
+
+#verify-place-result {
+ max-height: 200px;
+ overflow: auto;
+}
+
+.block {
+ display: block;
+}
+
+.hidden {
+ display: none;
+}
diff --git a/toolkit/themes/shared/alert-common.css b/toolkit/themes/shared/alert-common.css
new file mode 100644
index 0000000000..010e89393d
--- /dev/null
+++ b/toolkit/themes/shared/alert-common.css
@@ -0,0 +1,165 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== alert.css =====================================================
+ == Shared styles specific to the alerts dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#alertBox[animate] {
+ animation-timing-function: cubic-bezier(.12,1.23,.48,1.09);
+}
+
+#alertBox[animate][clicked] {
+ animation-duration: .6s;
+ animation-name: alert-clicked-animation;
+}
+
+/* This is used if the close button is clicked
+ before the animation has finished. */
+#alertBox[animate][closing] {
+ animation-duration: .6s;
+ animation-name: alert-closing-animation;
+}
+
+#alertBox[animate]:not([clicked]):not([closing]):hover {
+ /* !important is necessary because CSS animations have highest
+ importance in the cascade with exception to !important rules. */
+ opacity: 1 !important;
+}
+
+@keyframes alert-animation {
+ from {
+ opacity: 0;
+ }
+ 5% {
+ opacity: 1;
+ }
+ 95% {
+ opacity: 1;
+ }
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes alert-clicked-animation {
+ to {
+ opacity: 0;
+ }
+}
+
+@keyframes alert-closing-animation {
+ to {
+ opacity: 0;
+ }
+}
+
+#alertIcon {
+ margin-top: 6px;
+ margin-inline-start: 8px;
+ margin-inline-end: 0;
+ margin-bottom: 0;
+ width: 16px;
+ min-height: 16px;
+ max-height: 16px;
+}
+
+@media (resolution: 2dppx) {
+ #alertIcon {
+ image-rendering: -moz-crisp-edges;
+ }
+}
+
+#alertImage {
+ width: 80px;
+ height: 80px;
+ max-width: 80px;
+ max-height: 80px;
+ object-fit: scale-down;
+ margin: 0 7px 7px;
+}
+
+.alertTextBox {
+ padding-top: 4px;
+ /* The text box width is increased to make up for the lack of image when one
+ is not provided. 349px is the text box width when a picture is present,
+ 255px, plus the width of the image, 80px, and the margins, 7px each. */
+ width: 349px;
+}
+
+#alertBox[hasImage] > box > #alertTextBox {
+ width: 255px;
+}
+
+#alertBox:not([hasImage]) > box > #alertTextBox {
+ padding-inline-start: 8px;
+}
+
+#alertTextLabel {
+ padding-inline-end: 8px;
+}
+
+.alertTitle {
+ -moz-box-flex: 1;
+ font-weight: bold;
+ padding: 6px 8px 0;
+ width: 255px;
+}
+
+#alertFooter {
+ -moz-box-align: start;
+}
+
+#alertBox:not([hasOrigin]) > box > #alertTextBox,
+#alertFooter {
+ padding-bottom: 5px;
+}
+
+#alertSourceLabel {
+ -moz-box-flex: 1;
+ font-size: 83.334%;
+ color: GrayText;
+}
+
+#alertSettings {
+ -moz-appearance: none;
+ background-color: transparent;
+ border-width: 0;
+ border-radius: 20px;
+ min-width: 0;
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-grayscale");
+ margin-inline-end: 0;
+ margin-bottom: 0;
+}
+
+#alertSettings > .button-box {
+ padding: 0;
+}
+
+#alertSettings:hover,
+#alertSettings[open] {
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-inverted");
+}
+
+#alertSettings:hover {
+ background-color: rgb(128,128,128);
+}
+
+#alertSettings[open],
+#alertSettings:hover:active {
+ background-color: rgb(102,102,102);
+}
+
+#alertSettings[focusedViaMouse]:-moz-focusring > .button-box {
+ border-color: transparent;
+}
+
+#alertSettings > .button-box > .button-menu-dropmarker,
+#alertSettings > .button-box > .box-inherit > .button-text {
+ display: none;
+}
diff --git a/toolkit/themes/shared/appPicker.css b/toolkit/themes/shared/appPicker.css
new file mode 100644
index 0000000000..3bdb31b6cf
--- /dev/null
+++ b/toolkit/themes/shared/appPicker.css
@@ -0,0 +1,23 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+#app-picker {
+ width: 320px;
+}
+
+#content-description {
+ font-weight: bold;
+}
+
+#content-icon,
+.listcell-icon {
+ margin: 5px;
+ width: 32px;
+ height: 32px;
+}
+
+.listcell-label {
+ padding: 5px;
+}
diff --git a/toolkit/themes/shared/config.css b/toolkit/themes/shared/config.css
new file mode 100644
index 0000000000..8e8d23acec
--- /dev/null
+++ b/toolkit/themes/shared/config.css
@@ -0,0 +1,49 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#warningScreen {
+ font-size: 15px;
+ padding-top: 0;
+ padding-bottom: 0;
+ padding-inline-start: calc(48px + 4.6em);
+ padding-inline-end: 48px;
+}
+
+.title {
+ background-image: url("chrome://global/skin/icons/warning.svg");
+}
+
+#warningTitle {
+ font-weight: lighter;
+ line-height: 1.2;
+ color: #333;
+ margin: 0;
+ margin-bottom: .5em;
+}
+
+#warningText {
+ margin: 1em 0;
+}
+
+#warningButton {
+ margin-top: 0.6em;
+}
+
+#filterRow {
+ margin-top: 4px;
+ margin-inline-start: 4px;
+}
+
+#configTree {
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+#configTreeBody::-moz-tree-cell-text(user) {
+ font-weight: bold;
+}
+
+#configTreeBody::-moz-tree-cell-text(locked) {
+ font-style: italic;
+}
diff --git a/toolkit/themes/shared/extensions/alerticon-error.svg b/toolkit/themes/shared/extensions/alerticon-error.svg
new file mode 100644
index 0000000000..cb883e16e9
--- /dev/null
+++ b/toolkit/themes/shared/extensions/alerticon-error.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 18 18">
+ <path fill="#e62117" d="M10.124,1.324l7.705,14.127c0.234,0.421,0.228,0.843-0.019,1.264c-0.114,0.193-0.271,0.347-0.467,0.461c-0.198,0.114-0.41,0.171-0.638,0.171H1.294c-0.228,0-0.44-0.057-0.636-0.171c-0.198-0.114-0.353-0.268-0.467-0.461c-0.247-0.421-0.254-0.843-0.02-1.264L7.876,1.324C7.99,1.117,8.147,0.953,8.348,0.833C8.548,0.712,8.766,0.652,9,0.652c0.234,0,0.451,0.06,0.652,0.181C9.853,0.953,10.009,1.117,10.124,1.324z M10.264,10.695l0.181-4.605c0-0.08-0.034-0.143-0.1-0.191c-0.087-0.073-0.168-0.11-0.241-0.11H7.896c-0.073,0-0.154,0.037-0.241,0.11c-0.067,0.048-0.1,0.118-0.1,0.211l0.17,4.586c0,0.067,0.034,0.122,0.1,0.165c0.067,0.044,0.147,0.065,0.241,0.065h1.856c0.094,0,0.172-0.021,0.236-0.065C10.222,10.818,10.258,10.762,10.264,10.695z M10.284,14.448v-1.907c0-0.094-0.031-0.172-0.095-0.236c-0.064-0.064-0.139-0.095-0.225-0.095H8.036c-0.087,0-0.162,0.031-0.225,0.095c-0.064,0.064-0.095,0.142-0.095,0.236v1.907c0,0.094,0.031,0.173,0.095,0.236c0.064,0.064,0.138,0.095,0.225,0.095h1.927c0.086,0,0.162-0.031,0.225-0.095C10.252,14.621,10.284,14.542,10.284,14.448z"/>
+</svg>
diff --git a/toolkit/themes/shared/extensions/alerticon-info-negative.svg b/toolkit/themes/shared/extensions/alerticon-info-negative.svg
new file mode 100644
index 0000000000..733f8571aa
--- /dev/null
+++ b/toolkit/themes/shared/extensions/alerticon-info-negative.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 18 18">
+ <path fill="#828282" d="M10.124,1.324l7.705,14.127c0.234,0.421,0.228,0.843-0.019,1.264c-0.114,0.193-0.271,0.347-0.467,0.461c-0.198,0.114-0.41,0.171-0.638,0.171H1.294c-0.228,0-0.44-0.057-0.636-0.171c-0.198-0.114-0.353-0.268-0.467-0.461c-0.247-0.421-0.254-0.843-0.02-1.264L7.876,1.324C7.99,1.117,8.147,0.953,8.348,0.833C8.548,0.712,8.766,0.652,9,0.652c0.234,0,0.451,0.06,0.652,0.181C9.853,0.953,10.009,1.117,10.124,1.324z M10.264,10.695l0.181-4.605c0-0.08-0.034-0.143-0.1-0.191c-0.087-0.073-0.168-0.11-0.241-0.11H7.896c-0.073,0-0.154,0.037-0.241,0.11c-0.067,0.048-0.1,0.118-0.1,0.211l0.17,4.586c0,0.067,0.034,0.122,0.1,0.165c0.067,0.044,0.147,0.065,0.241,0.065h1.856c0.094,0,0.172-0.021,0.236-0.065C10.222,10.818,10.258,10.762,10.264,10.695z M10.284,14.448v-1.907c0-0.094-0.031-0.172-0.095-0.236c-0.064-0.064-0.139-0.095-0.225-0.095H8.036c-0.087,0-0.162,0.031-0.225,0.095c-0.064,0.064-0.095,0.142-0.095,0.236v1.907c0,0.094,0.031,0.173,0.095,0.236c0.064,0.064,0.138,0.095,0.225,0.095h1.927c0.086,0,0.162-0.031,0.225-0.095C10.252,14.621,10.284,14.542,10.284,14.448z"/>
+</svg>
diff --git a/toolkit/themes/shared/extensions/alerticon-info-positive.svg b/toolkit/themes/shared/extensions/alerticon-info-positive.svg
new file mode 100644
index 0000000000..031190bce8
--- /dev/null
+++ b/toolkit/themes/shared/extensions/alerticon-info-positive.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 18 18">
+ <path fill="#62c44e" d="M18,4.796c0,0.31-0.109,0.573-0.325,0.79l-8.408,8.406l-1.579,1.58c-0.217,0.217-0.48,0.325-0.789,0.325c-0.31,0-0.573-0.108-0.79-0.325l-1.579-1.58L0.325,9.79C0.108,9.573,0,9.31,0,9s0.108-0.573,0.325-0.79l1.58-1.579c0.216-0.217,0.479-0.325,0.789-0.325s0.573,0.108,0.79,0.325l3.414,3.426l7.617-7.63c0.217-0.216,0.48-0.325,0.79-0.325c0.309,0,0.572,0.109,0.789,0.325l1.58,1.58C17.891,4.224,18,4.487,18,4.796z"/>
+</svg>
diff --git a/toolkit/themes/shared/extensions/alerticon-warning.svg b/toolkit/themes/shared/extensions/alerticon-warning.svg
new file mode 100644
index 0000000000..2b403220ec
--- /dev/null
+++ b/toolkit/themes/shared/extensions/alerticon-warning.svg
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 18 18">
+ <path fill="#f0cd2f" d="M10.124,1.324l7.705,14.127c0.234,0.421,0.228,0.843-0.019,1.264c-0.114,0.193-0.271,0.347-0.467,0.461c-0.198,0.114-0.41,0.171-0.638,0.171H1.294c-0.228,0-0.44-0.057-0.636-0.171c-0.198-0.114-0.353-0.268-0.467-0.461c-0.247-0.421-0.254-0.843-0.02-1.264L7.876,1.324C7.99,1.117,8.147,0.953,8.348,0.833C8.548,0.712,8.766,0.652,9,0.652c0.234,0,0.451,0.06,0.652,0.181C9.853,0.953,10.009,1.117,10.124,1.324z M10.264,10.695l0.181-4.605c0-0.08-0.034-0.143-0.1-0.191c-0.087-0.073-0.168-0.11-0.241-0.11H7.896c-0.073,0-0.154,0.037-0.241,0.11c-0.067,0.048-0.1,0.118-0.1,0.211l0.17,4.586c0,0.067,0.034,0.122,0.1,0.165c0.067,0.044,0.147,0.065,0.241,0.065h1.856c0.094,0,0.172-0.021,0.236-0.065C10.222,10.818,10.258,10.762,10.264,10.695z M10.284,14.448v-1.907c0-0.094-0.031-0.172-0.095-0.236c-0.064-0.064-0.139-0.095-0.225-0.095H8.036c-0.087,0-0.162,0.031-0.225,0.095c-0.064,0.064-0.095,0.142-0.095,0.236v1.907c0,0.094,0.031,0.173,0.095,0.236c0.064,0.064,0.138,0.095,0.225,0.095h1.927c0.086,0,0.162-0.031,0.225-0.095C10.252,14.621,10.284,14.542,10.284,14.448z"/>
+</svg>
diff --git a/toolkit/themes/shared/extensions/extensionGeneric.svg b/toolkit/themes/shared/extensions/extensionGeneric.svg
new file mode 100644
index 0000000000..28c2f7ba38
--- /dev/null
+++ b/toolkit/themes/shared/extensions/extensionGeneric.svg
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 64 64">
+ <defs>
+ <linearGradient id="gradient-linear-puzzle-piece" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" stop-color="#66cc52" stop-opacity="1"/>
+ <stop offset="100%" stop-color="#60bf4c" stop-opacity="1"/>
+ </linearGradient>
+ </defs>
+ <path fill="url('#gradient-linear-puzzle-piece')" d="M42,62c2.2,0,4-1.8,4-4l0-14.2c0,0,0.4-3.7,2.8-3.7c2.4,0,2.2,3.9,6.7,3.9c2.3,0,6.2-1.2,6.2-8.2 c0-7-3.9-7.9-6.2-7.9c-4.5,0-4.3,3.7-6.7,3.7c-2.4,0-2.8-3.8-2.8-3.8V22c0-2.2-1.8-4-4-4H31.5c0,0-3.4-0.6-3.4-3 c0-2.4,3.8-2.6,3.8-7.1c0-2.3-1.3-5.9-8.3-5.9s-8,3.6-8,5.9c0,4.5,3.4,4.7,3.4,7.1c0,2.4-3.4,3-3.4,3H6c-2.2,0-4,1.8-4,4l0,7.8 c0,0-0.4,6,4.4,6c3.1,0,3.2-4.1,7.3-4.1c2,0,4,1.9,4,6c0,4.2-2,6.3-4,6.3c-4,0-4.2-4.1-7.3-4.1c-4.8,0-4.4,5.8-4.4,5.8L2,58 c0,2.2,1.8,4,4,4H19c0,0,6.3,0.4,6.3-4.4c0-3.1-4-3.6-4-7.7c0-2,2.2-4.5,6.4-4.5c4.2,0,6.6,2.5,6.6,4.5c0,4-3.9,4.6-3.9,7.7 c0,4.9,6.3,4.4,6.3,4.4H42z"/>
+</svg>
diff --git a/toolkit/themes/shared/extensions/extensions.inc.css b/toolkit/themes/shared/extensions/extensions.inc.css
new file mode 100644
index 0000000000..c4523bbe64
--- /dev/null
+++ b/toolkit/themes/shared/extensions/extensions.inc.css
@@ -0,0 +1,1082 @@
+%if 0
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+%endif
+@import url("chrome://global/skin/in-content/common.css");
+
+.main-content {
+ padding: 0;
+}
+
+#nav-header {
+ min-height: 39px;
+ background-color: #424f5a;
+}
+
+.view-pane > .list > scrollbox {
+ padding-right: 48px;
+ padding-left: 48px;
+}
+
+
+/*** global warnings ***/
+
+.global-warning-container {
+ overflow-x: hidden;
+}
+
+.global-warning {
+ -moz-box-align: center;
+ padding: 0 8px;
+ color: #c8a91e;
+ font-weight: bold;
+}
+
+#addons-page[warning] .global-warning-container {
+ background-image: linear-gradient(transparent, rgba(255, 255, 0, 0.1));
+}
+
+#detail-view .global-warning {
+ padding: 4px 12px;
+ border-bottom: 1px solid #c1c1c1;
+}
+
+@media (max-width: 600px) {
+ .global-warning-text {
+ display: none;
+ }
+
+ .global-warning .warning-icon {
+ background-color: #fff;
+ box-shadow: 0 0 2px 5px #fff;
+ border-radius: 10px;
+ }
+}
+
+/*** global informations ***/
+
+/* Plugins aren't yet disabled by safemode (bug 342333),
+ so don't show that warning when viewing plugins. */
+#addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
+#addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
+ background-color: inherit;
+ background-image: none;
+}
+
+
+/*** notification icons ***/
+
+.warning-icon,
+.error-icon,
+.pending-icon,
+.info-icon {
+ width: 16px;
+ height: 16px;
+ margin: 3px 0;
+}
+
+.warning-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.svg");
+}
+
+.error-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.svg");
+}
+
+.pending-icon,
+.info-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.svg");
+}
+
+.addon-view[pending="disable"] .pending-icon,
+.addon-view[pending="uninstall"] .pending-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-negative.svg");
+}
+
+/*** view alert boxes ***/
+
+.alert-container {
+ -moz-box-align: center;
+ margin-right: 48px;
+ margin-left: 48px;
+}
+
+.alert-spacer-before {
+ -moz-box-flex: 1;
+}
+
+.alert-spacer-after {
+ -moz-box-flex: 3;
+}
+
+.alert {
+ -moz-box-align: center;
+ padding: 10px;
+ color: #333;
+ border: 1px solid #c1c1c1;
+ border-radius: 2px;
+ background-color: #ebebeb;
+}
+
+.alert .alert-title {
+ font-weight: bold;
+ font-size: 200%;
+ margin-bottom: 15px;
+}
+
+.alert button {
+ margin: 1em 2em;
+}
+
+.loading {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+@media (min-resolution: 1.1dppx) {
+ .loading > image {
+ width: 16px;
+ list-style-image: url("chrome://global/skin/icons/loading@2x.png");
+ }
+}
+
+button.warning {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.svg");
+}
+
+
+/*** category selector ***/
+
+#categories {
+ padding-top: 0;
+}
+
+.category[selected="true"]:hover {
+ background-color:#1A2533;
+}
+
+.category[disabled] {
+ overflow: hidden;
+ height: 0;
+ min-height: 0;
+ opacity: 0;
+ transition-property: min-height, opacity;
+ transition-duration: 1s, 0.8s;
+}
+
+.category:not([disabled]) {
+ min-height: 40px;
+ transition-property: min-height, opacity;
+ transition-duration: 1s, 0.8s;
+}
+
+/* Maximize the size of the viewport when the window is small */
+@media (max-width: 800px) {
+ .category-name {
+ display: none;
+ }
+}
+
+.category-badge {
+ background-color: #55D4FF;
+ padding: 2px 8px;
+ margin: 6px 0;
+ margin-inline-start: 6px;
+ border-radius: 100%;
+ color: #FFF;
+ font-weight: bold;
+ text-align: center;
+}
+
+.category-badge[value="0"] {
+ display: none;
+}
+
+#category-search > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
+}
+#category-discover > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
+}
+#category-locale > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-languages.png");
+}
+#category-extension > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-extensions.svg");
+}
+#category-service > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-service.png");
+}
+#category-theme > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-themes.png");
+}
+#category-plugin > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-plugins.png");
+}
+#category-dictionary > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-dictionaries.png");
+}
+#category-experiment > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-experiments.png");
+}
+#category-availableUpdates > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-available.png");
+}
+#category-recentUpdates > .category-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
+}
+
+
+/*** header ***/
+
+#header {
+ margin-top: 20px;
+ margin-bottom: 20px;
+ margin-right: 48px;
+ margin-left: 48px;
+}
+
+@media (max-width: 600px) {
+ #header-search {
+ width: 12em;
+ }
+}
+
+.view-header {
+ margin: 0 48px;
+ border-bottom: 1px solid #c1c1c1;
+}
+
+#header-utils-btn {
+ height: 30px;
+ line-height: 20px;
+ border-color: #c1c1c1;
+ background-color: #fbfbfb;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+
+#header-utils-btn:not([disabled="true"]):active:hover,
+#header-utils-btn[open="true"] {
+ background-color: #dadada;
+}
+
+.header-button {
+ -moz-appearance: none;
+ border: 1px solid;
+ border-radius: 2px;
+}
+
+.header-button[disabled="true"] > .toolbarbutton-icon {
+ opacity: 0.4;
+}
+
+.header-button:not([disabled="true"]):hover,
+#header-utils-btn:not([disabled="true"]):hover {
+ background-color: #ebebeb;
+ cursor: pointer;
+}
+
+.header-button > .toolbarbutton-text {
+ display: none;
+}
+
+.nav-button {
+ list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
+ margin-top: 15px;
+ margin-bottom: 15px;
+ border-color: transparent;
+}
+
+.nav-button:not([disabled="true"]):hover {
+ border-color: #ebebeb;
+}
+
+#back-btn:-moz-locale-dir(ltr),
+#forward-btn:-moz-locale-dir(rtl) {
+ -moz-image-region: rect(0, 18px, 18px, 0);
+}
+
+#back-btn:-moz-locale-dir(rtl),
+#forward-btn:-moz-locale-dir(ltr) {
+ -moz-image-region: rect(0, 36px, 18px, 18px);
+}
+
+
+/*** sorters ***/
+
+.sort-controls {
+ -moz-appearance: none;
+}
+
+.sorter {
+ height: 35px;
+ border: none;
+ border-radius: 0;
+ background-color: transparent;
+ color: #536680;
+ margin: 0;
+ min-width: 12px !important;
+ -moz-box-direction: reverse;
+}
+
+.sorter .button-box {
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.sorter[checkState="1"],
+.sorter[checkState="2"] {
+ background-color: #ebebeb;
+ box-shadow: 0 -4px 0 0 #ff9500 inset;
+}
+
+.sorter .button-icon {
+ margin-inline-start: 6px;
+}
+
+
+/*** discover view ***/
+
+.discover-spacer-before,
+.discover-spacer-after {
+ -moz-box-flex: 1;
+}
+
+#discover-error .alert {
+ max-width: 45em;
+ -moz-box-flex: 1;
+}
+
+.discover-logo {
+ list-style-image: url("chrome://mozapps/skin/extensions/discover-logo.png");
+ margin-inline-end: 15px;
+}
+
+.discover-title {
+ font-weight: bold;
+ font-size: 24px;
+ font-family: MetaWebPro-Book, "Trebuchet MS", sans-serif;
+ margin: 0 0 15px 0;
+}
+
+.discover-description {
+ text-align: justify;
+ margin: 0 0 15px 0;
+}
+
+.discover-footer {
+ text-align: justify;
+}
+
+
+/*** list ***/
+
+.list {
+ -moz-appearance: none;
+ margin: 0;
+ border-width: 0 !important;
+ background-color: transparent;
+}
+
+.list > scrollbox > .scrollbox-innerbox {
+ border: 1px dotted transparent;
+}
+
+.list:-moz-focusring > scrollbox > .scrollbox-innerbox {
+ border-color: #0095dd;
+}
+
+.addon {
+ color: #444;
+ border-bottom: 1px solid #c1c1c1;
+ padding: 5px;
+ background-origin: border-box;
+}
+
+.addon:not(:only-child):last-child {
+ border-bottom-width: 0;
+}
+
+.details {
+ cursor: pointer;
+ margin: 0;
+ margin-inline-start: 10px;
+}
+
+.icon-container {
+ width: 48px;
+ height: 48px;
+ margin: 3px 7px;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+}
+
+.icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+ max-width: 32px;
+ max-height: 32px;
+}
+
+.content-inner-container {
+ margin-inline-end: 5px;
+}
+
+.addon[active="false"] .icon {
+ filter: grayscale(1);
+}
+
+.addon-view[type="theme"] .icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+.addon-view[type="locale"] .icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+.addon-view[type="plugin"] .icon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+.addon-view[type="dictionary"] .icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+.addon-view[type="experiment"] .icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
+}
+
+.name-container {
+ font-size: 1.3rem;
+ font-weight: bold;
+ -moz-box-align: end;
+ -moz-box-flex: 1;
+}
+
+.creator {
+ font-weight: bold;
+}
+
+.description-container {
+ margin-inline-start: 6px;
+ -moz-box-align: center;
+ font-size: 1.25rem;
+}
+
+.description {
+ margin: 0;
+}
+
+.warning,
+.pending,
+.error {
+ margin-inline-start: 48px;
+ font-weight: bold;
+ -moz-box-align: center;
+}
+
+.content-container,
+.basicinfo-container {
+ -moz-box-align: start;
+}
+
+.addon[status="installing"] > .content-container {
+ -moz-box-align: stretch;
+}
+
+.update-info-container {
+ -moz-box-align: center;
+}
+
+.update-available {
+ -moz-box-align: end;
+}
+
+.install-status-container {
+ -moz-box-pack: end;
+ -moz-box-align: end;
+}
+
+.name-outer-container {
+ -moz-box-pack: center;
+}
+
+.relnotes-toggle-container,
+.icon-outer-container {
+ -moz-box-pack: start;
+}
+
+.status-container,
+.control-container {
+ -moz-box-pack: end;
+}
+
+.addon-view .warning {
+ color: #d8b826;
+}
+
+.addon-view .error {
+ color: #e62117;
+}
+
+.addon-view .pending {
+ color: #62c44e;
+}
+
+.addon-view[pending="disable"] .pending,
+.addon-view[pending="uninstall"] .pending {
+ color: #898989;
+}
+
+.addon .relnotes-container {
+ -moz-box-align: start;
+ margin-inline-start: 6px;
+ height: 0;
+ overflow: hidden;
+ opacity: 0;
+ transition-property: height, opacity;
+ transition-duration: 0.5s, 0.5s;
+}
+
+.addon[show-relnotes] .relnotes-container {
+ opacity: 1;
+ transition-property: height, opacity;
+ transition-duration: 0.5s, 0.5s;
+}
+
+.addon .relnotes-header {
+ font-weight: bold;
+ margin: 10px 0;
+}
+
+.addon .relnotes-toggle {
+ -moz-appearance: none;
+ border: none;
+ background: transparent;
+ font-weight: bold;
+ cursor: pointer;
+}
+
+.addon .relnotes-toggle > .button-box > .button-icon {
+ padding-inline-start: 4px;
+}
+
+.addon-view[notification],
+.addon-view[pending] {
+ --view-highlight-color: transparent;
+ background-image: radial-gradient(at 50% 0%,
+ var(--view-highlight-color) 0%,
+ transparent 75%);
+}
+.addon-view[notification="warning"] {
+ --view-highlight-color: #F9F5E5;
+}
+
+.addon-view[notification="error"] {
+ --view-highlight-color: #FFE8E9;
+}
+
+.addon-view[pending="enable"],
+.addon-view[pending="upgrade"],
+.addon-view[pending="install"] {
+ --view-highlight-color: #EFFAF2;
+}
+
+.addon-view[pending="disable"],
+.addon-view[pending="uninstall"] {
+ --view-highlight-color: #F2F2F2;
+}
+
+.addon[selected] {
+ background-color: #fafafa;
+ color: #333;
+ padding-inline-start: 1px; /* compensate the 4px border */
+ border-inline-start: solid 4px #ff9500;
+}
+
+.addon[active="false"] > .content-container > .content-inner-container {
+ color: #999;
+}
+
+.addon[active="false"][selected] > .content-container > .content-inner-container {
+ color: #777;
+}
+
+
+/*** item - uninstalled ***/
+
+.addon[status="uninstalled"] {
+ border: none;
+}
+
+.addon[status="uninstalled"] > .container {
+ -moz-box-align: center;
+ padding: 4px 20px;
+ background-color: #FDFFA8;
+ border-radius: 8px;
+ font-size: 120%;
+}
+
+.addon[status="uninstalled"][selected] {
+ background-color: transparent;
+}
+
+
+/*** search view ***/
+
+#search-filter {
+ padding: 5px 20px;
+ margin-right: 48px;
+ margin-left: 48px;
+ font-size: 120%;
+ border-bottom: 1px solid #c1c1c1;
+ overflow-x: hidden;
+}
+
+#search-filter-label {
+ font-weight: bold;
+ color: grey;
+ margin-inline-end: 10px;
+}
+
+#search-allresults-link {
+ margin-top: 1em;
+ margin-bottom: 2em;
+}
+
+
+/*** detail view ***/
+
+#detail-view > .box-inherit {
+ margin-right: 48px;
+ margin-left: 48px;
+}
+
+#detail-view .loading {
+ opacity: 0;
+}
+
+#detail-view[loading-extended] .loading {
+ opacity: 1;
+ transition-property: opacity;
+ transition-duration: 1s;
+}
+
+.detail-view-container {
+ padding-inline-end: 2em;
+ padding-bottom: 2em;
+ font-size: 1.25rem;
+ color: #333;
+}
+
+#detail-notifications {
+ margin-top: 1em;
+ margin-bottom: 2em;
+}
+
+#detail-notifications .warning,
+#detail-notifications .pending,
+#detail-notifications .error {
+ margin-inline-start: 0;
+}
+
+#detail-icon-container {
+ width: 64px;
+ margin-inline-end: 10px;
+ margin-top: 6px;
+}
+
+#detail-icon {
+ max-width: 64px;
+ max-height: 64px;
+}
+
+#detail-summary {
+ margin-bottom: 2em;
+}
+
+#detail-name-container {
+ font-size: 2.5rem;
+ font-weight: normal;
+}
+
+#detail-screenshot-box {
+ margin-inline-end: 2em;
+ background-image: linear-gradient(rgba(255,255,255,.5), transparent);
+ background-color: white;
+ box-shadow: 0 1px 2px #666;
+ border-radius: 2px;
+}
+
+#detail-screenshot {
+ max-width: 300px;
+ max-height: 300px;
+}
+
+#detail-screenshot[loading] {
+ background-image: url("chrome://global/skin/icons/loading.png");
+ background-position: 50% 50%;
+ background-repeat: no-repeat;
+}
+
+@media (min-resolution: 1.1dppx) {
+ #detail-screenshot[loading] {
+ background-image: url("chrome://global/skin/icons/loading@2x.png");
+ background-size: 16px;
+ }
+}
+
+#detail-screenshot[loading="error"] {
+ background-image: url("chrome://global/skin/media/error.png");
+}
+
+#detail-desc-container {
+ margin-bottom: 2em;
+}
+
+#detail-desc, #detail-fulldesc {
+ margin-inline-start: 6px;
+ /* This is necessary to fix layout issues with multi-line descriptions, see
+ bug 592712*/
+ outline: solid transparent;
+ white-space: pre-wrap;
+ min-width: 10em;
+}
+
+#detail-fulldesc {
+ margin-top: 1em;
+}
+
+#detail-contributions {
+ border-radius: 2px;
+ border: 1px solid #D2DBE8;
+ margin-bottom: 2em;
+ padding: 1em;
+ background-color: #F3F7FB;
+}
+
+#detail-contrib-description {
+ font-style: italic;
+ margin-bottom: 1em;
+ color: #373D48;
+}
+
+#detail-contrib-suggested {
+ color: grey;
+ font-weight: bold;
+}
+
+#detail-contrib-btn {
+ color: #FFF;
+ text-shadow: none;
+ border: 1px solid #0095dd;
+ list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
+ background-color: #0095dd;
+}
+
+#detail-contrib-btn .button-icon {
+ margin-inline-end: 5px;
+}
+
+#detail-contrib-btn:not(:active):hover {
+ border-color: #008acb;
+ background-color: #008acb;
+}
+
+#detail-contrib-btn:active:hover {
+ background-color: #006b9d;
+ border-color: #006b9d;
+}
+
+#detail-grid {
+ margin-bottom: 2em;
+}
+
+#detail-grid > columns > column:first-child {
+ min-width: 15em;
+ max-width: 25em;
+}
+
+.detail-row[first-row="true"],
+.detail-row-complex[first-row="true"],
+setting[first-row="true"] {
+ border-top: none;
+}
+
+.detail-row,
+.detail-row-complex,
+setting {
+ border-top: 1px solid #c1c1c1;
+ -moz-box-align: center;
+ min-height: 35px;
+ line-height: 20px;
+ text-shadow: 0 1px 1px #fefffe;
+}
+
+#detail-controls {
+ margin-bottom: 1em;
+}
+
+.inline-options-browser,
+setting[first-row="true"] {
+ margin-top: 2em;
+}
+
+setting {
+ -moz-box-align: start;
+}
+
+.preferences-alignment {
+ min-height: 30px;
+ -moz-box-align: center;
+}
+
+.preferences-description {
+ font-size: 90.9%;
+ color: graytext;
+ margin-top: -2px;
+ margin-inline-start: 2em;
+ white-space: pre-wrap;
+}
+
+.preferences-description:empty {
+ display: none;
+}
+
+setting[type="radio"] > radiogroup {
+ -moz-box-orient: horizontal;
+}
+
+
+/*** creator ***/
+
+.creator > label {
+ margin-inline-start: 0;
+ margin-inline-end: 0;
+}
+
+.creator > .text-link {
+ margin-top: 1px;
+ margin-bottom: 1px;
+}
+
+
+/*** rating ***/
+
+.meta-rating {
+ margin-inline-end: 0;
+ padding-top: 2px;
+}
+
+
+/*** download progress ***/
+
+.download-progress {
+ border: 1px solid #c1c1c1;
+ border-radius: 2px;
+ background-color: #fbfbfb;
+ width: 200px;
+ height: 30px;
+ margin: 2px 4px;
+}
+
+.download-progress[mode="undetermined"] {
+ border-color: #0095dd;
+}
+
+.download-progress .start-cap,
+.download-progress[complete] .end-cap,
+.download-progress[mode="undetermined"] .end-cap,
+.download-progress .progress .progress-bar {
+ -moz-appearance: none;
+ background-color: #0095dd;
+}
+
+.download-progress .progress .progress-bar {
+ min-height: 28px;
+}
+
+.download-progress .progress {
+ -moz-appearance: none;
+ background-color: transparent;
+ padding: 0;
+ margin: 0;
+ border: none;
+}
+
+.download-progress .start-cap,
+.download-progress .end-cap {
+ width: 4px;
+}
+
+.download-progress .start-cap:-moz-locale-dir(ltr),
+.download-progress .end-cap:-moz-locale-dir(rtl) {
+ border-radius: 1px 0 0 1px;
+}
+
+.download-progress .end-cap:-moz-locale-dir(ltr),
+.download-progress .start-cap:-moz-locale-dir(rtl) {
+ border-radius: 0 1px 1px 0;
+}
+
+.download-progress .cancel {
+ -moz-appearance: none;
+ padding: 3px;
+ min-width: 0;
+ width: 20px;
+ height: 20px;
+ margin: 3px;
+}
+
+.download-progress .cancel .button-box {
+ /* override in-content/common.css !important rule */
+ padding: 0 !important;
+ border: none;
+}
+
+.download-progress .cancel .button-text {
+ display: none;
+}
+
+.download-progress .cancel .button-icon {
+ margin: 0;
+}
+
+.download-progress .cancel {
+ list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
+}
+
+.download-progress .status-container {
+ -moz-box-align: center;
+}
+
+.download-progress .status {
+ color: #333;
+ text-shadow: #fff 0 0 2px;
+}
+
+
+/*** install status ***/
+
+.install-status {
+ -moz-box-align: center;
+}
+
+
+/*** check for updates ***/
+
+#updates-container {
+ -moz-box-align: center;
+}
+
+#updates-container .button-link {
+ font-weight: bold;
+}
+
+#updates-installed,
+#updates-downloaded {
+ color: #00BB00;
+ font-weight: bold;
+}
+
+#update-selected {
+ margin: 12px;
+}
+
+
+/*** buttons ***/
+
+.addon-control[disabled="true"]:not(.no-auto-hide) {
+ display: none;
+}
+
+.no-auto-hide .addon-control {
+ display: block !important;
+}
+
+button.button-link {
+ -moz-appearance: none;
+ background: transparent;
+ border: none;
+ box-shadow: none;
+ color: #0095dd;
+ cursor: pointer;
+ min-width: 0;
+ min-height: 20px;
+ margin: 0 6px;
+}
+
+button.button-link:not(:-moz-focusring) > .button-box {
+ border-width: 0;
+ margin: 1px;
+}
+
+button.button-link:hover {
+ background-color: transparent;
+ color: #178ce5;
+ text-decoration: underline;
+}
+
+/* Needed to override normal button style from inContent.css */
+button.button-link:not([disabled="true"]):active:hover {
+ background-color: transparent;
+ color: #ff9500;
+ text-decoration: none;
+}
+
+
+/*** telemetry experiments ***/
+
+#detail-experiment-container {
+ font-size: 80%;
+ margin-bottom: 1em;
+}
+
+#detail-experiment-bullet-container,
+#detail-experiment-state,
+#detail-experiment-time,
+.experiment-bullet-container,
+.experiment-state,
+.experiment-time {
+ vertical-align: middle;
+ display: inline-block;
+}
+
+.addon .experiment-bullet,
+#detail-experiment-bullet {
+ fill: rgb(158, 158, 158);
+}
+
+.addon[active="true"] .experiment-bullet,
+#detail-view[active="true"] #detail-experiment-bullet {
+ fill: rgb(106, 201, 20);
+}
+
+/*** info UI for add-ons that have been disabled for being unsigned ***/
+
+#show-disabled-unsigned-extensions:not(:hover) {
+ background-color: #fcf8ed;
+}
+
+#disabled-unsigned-addons-info {
+ margin-bottom: 2em;
+ margin-right: 48px;
+ margin-left: 48px;
+}
+
+#disabled-unsigned-addons-heading {
+ font-size: 1.4em;
+ font-weight: bold;
+ margin-bottom: .5em;
+}
+
+#signing-dev-info {
+ font-style: italic;
+}
+
+#detail-findUpdates-btn[hidden] {
+ display: -moz-box;
+ visibility: hidden;
+}
diff --git a/toolkit/themes/shared/extensions/navigation.png b/toolkit/themes/shared/extensions/navigation.png
new file mode 100644
index 0000000000..67ff3d9a76
--- /dev/null
+++ b/toolkit/themes/shared/extensions/navigation.png
Binary files differ
diff --git a/toolkit/themes/shared/extensions/newaddon.inc.css b/toolkit/themes/shared/extensions/newaddon.inc.css
new file mode 100644
index 0000000000..52352ccd26
--- /dev/null
+++ b/toolkit/themes/shared/extensions/newaddon.inc.css
@@ -0,0 +1,114 @@
+%if 0
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+%endif
+@import url("chrome://global/skin/in-content/common.css");
+
+#addon-page {
+ font-size: 1.1em;
+}
+
+#addon-scrollbox {
+ overflow: auto;
+ -moz-box-orient: vertical;
+ -moz-box-flex: 1;
+}
+
+#spacer-start {
+ -moz-box-flex: 1;
+}
+
+#spacer-end {
+ -moz-box-flex: 3;
+}
+
+#addon-container {
+ overflow: visible;
+ max-width: 800px;
+ margin: 20px;
+ padding: 30px 90px;
+}
+
+#addon-info {
+ -moz-box-align: start;
+ margin: 25px 10px;
+}
+
+#icon {
+ margin-top: 8px;
+ margin-inline-end: 10px;
+ max-width: 64px;
+ max-height: 64px;
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+}
+
+.addon-info[type="theme"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+.addon-info[type="locale"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+.addon-info[type="plugin"] #icon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+.addon-info[type="dictionary"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+#name {
+ font-size: 130%;
+}
+
+#author {
+ color: GrayText;
+}
+
+#location {
+ color: GrayText;
+}
+
+#warning {
+ margin-bottom: 25px;
+ -moz-box-align: start;
+}
+
+#warning-icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.svg");
+ width: 16px;
+ height: 16px;
+ margin-top: 5px;
+ margin-inline-end: 5px;
+}
+
+#allow {
+ margin-inline-start: 84px;
+ margin-bottom: 20px;
+}
+
+#buttonDeck {
+ margin-top: 25px;
+ -moz-box-align: stretch;
+}
+
+#continuePanel {
+ -moz-box-pack: end;
+ -moz-box-align: end;
+}
+
+#restartPanel {
+ -moz-box-pack: end;
+ -moz-box-align: stretch;
+}
+
+#restartPanelButtons {
+ margin-top: 25px;
+ -moz-box-pack: end;
+}
+
+#later {
+ color: GrayText;
+}
diff --git a/toolkit/themes/shared/extensions/utilities.svg b/toolkit/themes/shared/extensions/utilities.svg
new file mode 100644
index 0000000000..8bf24458ce
--- /dev/null
+++ b/toolkit/themes/shared/extensions/utilities.svg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: #424f5a;
+ }
+ use[id$="-native"] {
+ fill: GrayText;
+ }
+ use[id$="-grayscale"] {
+ fill: #4d4d4d;
+ }
+ use[id$="-inverted"] {
+ fill: #ddd;
+ }
+ </style>
+ <defs>
+ <path id="utilities-shape" d="m11.5,13.9l-.6-1.5c.3-.2 .5-.4 .8-.6 .2-.2 .4-.5 .6-.7l1.5,.6c.3,.1 .6,0 .7-.3l.4-1c.1-.3 0-.6-.3-.7l-1.5-.6c.1-.6 .1-1.3 0-2l1.5-.6c.3-.1 .4-.4 .3-.7l-.4-1c-.1-.3-.4-.4-.7-.3l-1.5,.6c-.2-.3-.4-.5-.6-.8-.2-.1-.5-.3-.7-.5l.6-1.5c.1-.3 0-.6-.3-.7l-.9-.4c-.3-.1-.6,0-.7,.3l-.6,1.5c-.6-.1-1.3-.1-2,0l-.6-1.5c-.1-.3-.4-.4-.7-.3l-1,.4c-.2,.1-.3,.4-.2,.6l.6,1.5c-.3,.3-.5,.5-.8,.7-.2,.3-.4,.5-.6,.8l-1.5-.7c-.3-.1-.6,0-.7,.3l-.4,.9c-.1,.3 0,.6 .3,.7l1.5,.7c-.1,.6-.1,1.3 0,1.9l-1.5,.6c-.3,.1-.4,.4-.3,.7l.4,1c.1,.3 .4,.4 .7,.3l1.5-.6c.2,.3 .4,.5 .6,.8 .2,.2 .5,.4 .7,.6l-.6,1.5c-.1,.3 0,.6 .3,.7l1,.4c.3,.1 .6,0 .7-.3l.6-1.5c.6,.1 1.3,.1 2,0l.6,1.5c.1,.3 .4,.4 .7,.3l1-.4c.1-.1 .3-.4 .1-.7zm-5.1-4.2c-.9-.9-.9-2.4 0-3.3 .9-.9 2.4-.9 3.3,0 .9,.9 .9,2.4 0,3.3-.9,.9-2.4,.9-3.3,0z"/>
+ </defs>
+ <use id="utilities" xlink:href="#utilities-shape"/>
+ <use id="utilities-native" xlink:href="#utilities-shape"/>
+ <use id="utilities-grayscale" xlink:href="#utilities-shape"/>
+ <use id="utilities-inverted" xlink:href="#utilities-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/formautofill/requestAutocomplete.css b/toolkit/themes/shared/formautofill/requestAutocomplete.css
new file mode 100644
index 0000000000..7ddd77c6bf
--- /dev/null
+++ b/toolkit/themes/shared/formautofill/requestAutocomplete.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@import url("chrome://global/skin/in-content/common.css");
+
+:root {
+ height: 100%;
+ width: 100%;
+ padding: 0;
+}
diff --git a/toolkit/themes/shared/icons/find-arrows.svg b/toolkit/themes/shared/icons/find-arrows.svg
new file mode 100644
index 0000000000..608c0a7dbd
--- /dev/null
+++ b/toolkit/themes/shared/icons/find-arrows.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+ <style>
+ path:not(:target) {
+ display: none;
+ }
+ path {
+ fill: -moz-dialogtext;
+ }
+ </style>
+ <path id="glyph-find-previous" d="M5.407,1.5l-5,4.599L1.65,7.283l3.757-3.387l3.705,3.385l1.296-1.158L5.407,1.5z"/>
+ <path id="glyph-find-next" d="M5.547,8.255L0.538,3.53l1.239-1.265l3.77,3.641l3.719-3.641l1.264,1.188L5.547,8.255z"/>
+</svg>
diff --git a/toolkit/themes/shared/icons/input-clear.svg b/toolkit/themes/shared/icons/input-clear.svg
new file mode 100644
index 0000000000..0abaaf9b1f
--- /dev/null
+++ b/toolkit/themes/shared/icons/input-clear.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12">
+ <style>
+ .st0 {
+ fill: #858585;
+ }
+ .st1 {
+ fill: #FFFFFF;
+ }
+ </style>
+ <circle id="Combined-Shape" class="st0" cx="6" cy="6" r="6"/>
+ <polygon id="Close_Button_-_Normal-path" class="st1" points="9,8.1 8.1,9 6,6.9 3.9,9 3,8.1 5.1,6 3,3.9 3.9,3 6,5.1 8.1,3 9,3.9 6.9,6"/>
+</svg>
diff --git a/toolkit/themes/shared/icons/loading.png b/toolkit/themes/shared/icons/loading.png
new file mode 100644
index 0000000000..b886c73eff
--- /dev/null
+++ b/toolkit/themes/shared/icons/loading.png
Binary files differ
diff --git a/toolkit/themes/shared/icons/loading@2x.png b/toolkit/themes/shared/icons/loading@2x.png
new file mode 100644
index 0000000000..ac928c5853
--- /dev/null
+++ b/toolkit/themes/shared/icons/loading@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/in-content/check-partial.svg b/toolkit/themes/shared/in-content/check-partial.svg
new file mode 100644
index 0000000000..e436abf0dc
--- /dev/null
+++ b/toolkit/themes/shared/in-content/check-partial.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="21" height="21" viewBox="0 0 21 21">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: #2292d0;
+ }
+ use[id$="-inverted"] {
+ fill: #fff;
+ stroke: #0095dd;
+ stroke-width: 0.5;
+ }
+ use[id$="-native"] {
+ fill: -moz-dialogText;
+ }
+ </style>
+ <defs>
+ <rect id="check-shape" x="3" y="9" width="15" height="3"/>
+ </defs>
+ <use id="check-partial" xlink:href="#check-shape"/>
+ <use id="check-partial-inverted" xlink:href="#check-shape"/>
+ <use id="check-partial-native" xlink:href="#check-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/in-content/check.svg b/toolkit/themes/shared/in-content/check.svg
new file mode 100644
index 0000000000..1f9f99ccad
--- /dev/null
+++ b/toolkit/themes/shared/in-content/check.svg
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="21" height="21" viewBox="0 0 21 21">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: #2292d0;
+ }
+ use[id$="-inverted"] {
+ fill: #fff;
+ stroke: #0095dd;
+ stroke-width: 0.5;
+ }
+ use[id$="-native"] {
+ fill: -moz-dialogText;
+ }
+ </style>
+ <defs>
+ <path id="check-shape" d="M 9.39,16.5 16.28,6 14.77,4.5 9.37,12.7 6.28,9.2 4.7,10.7 z"/>
+ </defs>
+ <use id="check" xlink:href="#check-shape"/>
+ <use id="check-inverted" xlink:href="#check-shape"/>
+ <use id="check-native" xlink:href="#check-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/in-content/common.inc.css b/toolkit/themes/shared/in-content/common.inc.css
new file mode 100644
index 0000000000..ecd961d8da
--- /dev/null
+++ b/toolkit/themes/shared/in-content/common.inc.css
@@ -0,0 +1,830 @@
+%if 0
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+%endif
+@namespace html "http://www.w3.org/1999/xhtml";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+*|*:root {
+ --in-content-page-color: #424e5a;
+ --in-content-page-background: #fbfbfb;
+ --in-content-text-color: #333;
+ --in-content-selected-text: #fff;
+ --in-content-header-border-color: #c8c8c8;
+ --in-content-box-background: #fff;
+ --in-content-box-background-odd: #f3f6fa;
+ --in-content-box-background-hover: #ebebeb;
+ --in-content-box-background-active: #dadada;
+ --in-content-box-border-color: #c1c1c1;
+ --in-content-item-hover: rgba(0,149,221,0.25);
+ --in-content-item-selected: #0095dd;
+ --in-content-border-highlight: #ff9500;
+ --in-content-border-focus: #0095dd;
+ --in-content-border-color: #c1c1c1;
+ --in-content-category-text: #c1c1c1;
+ --in-content-category-border-focus: 1px dotted #fff;
+ --in-content-category-text-selected: #f2f2f2;
+ --in-content-category-background: #424f5a;
+ --in-content-category-background-hover: #5e6972;
+ --in-content-category-background-active: #343f48;
+ --in-content-tab-color: #424f5a;
+ --in-content-link-color: #0095dd;
+ --in-content-link-color-hover: #178ce5;
+ --in-content-link-color-active: #ff9500;
+ --in-content-link-color-visited: #551a8b;
+ --in-content-primary-button-background: #0095dd;
+ --in-content-primary-button-background-hover: #008acb;
+ --in-content-primary-button-background-active: #006b9d;
+ --in-content-table-border-dark-color: #d1d1d1;
+ --in-content-table-header-background: #0095dd;
+}
+
+html|html,
+xul|page,
+xul|window {
+ font: message-box;
+ -moz-appearance: none;
+ background-color: var(--in-content-page-background);
+ color: var(--in-content-page-color);
+}
+
+html|body {
+ font-size: 15px;
+ font-weight: normal;
+ margin: 0;
+}
+
+html|h1 {
+ font-size: 2.5em;
+ font-weight: lighter;
+ line-height: 1.2;
+ color: var(--in-content-text-color);
+ margin: 0;
+ margin-bottom: .5em;
+}
+
+html|hr {
+ border-style: solid none none none;
+ border-color: var(--in-content-border-color);
+}
+
+xul|caption {
+ -moz-appearance: none;
+ margin: 0;
+}
+
+html|h2,
+xul|caption > xul|checkbox,
+xul|caption > xul|label {
+ font-size: 1.3rem;
+ font-weight: bold;
+ line-height: 22px;
+}
+
+xul|caption > xul|checkbox,
+xul|caption > xul|label {
+ margin: 0 !important;
+}
+
+*|*.main-content {
+ padding-top: 40px;
+ padding-inline-end: 44px; /* compensate the 4px margin of child elements */
+ padding-bottom: 48px;
+ padding-inline-start: 48px;
+ overflow: auto;
+}
+
+xul|prefpane > xul|*.content-box {
+ overflow: visible;
+}
+
+/* groupboxes */
+
+xul|groupbox {
+ -moz-appearance: none;
+ border: none;
+ margin: 15px 0 0;
+ padding-inline-start: 0;
+ padding-inline-end: 0;
+ font-size: 1.25rem;
+}
+
+xul|groupbox xul|label:not(.menu-accel):not(.menu-text):not(.indent),
+xul|groupbox xul|description {
+ /* !important needed to override toolkit !important rule */
+ margin-inline-start: 0 !important;
+ margin-inline-end: 0 !important;
+}
+
+/* tabpanels and tabs */
+
+xul|tabpanels {
+ -moz-appearance: none;
+ font-size: 1.25rem;
+ line-height: 22px;
+ border: none;
+ padding: 0;
+ background-color: transparent;
+ color: inherit;
+}
+
+xul|tabs {
+ margin-bottom: 15px;
+ border-top: 1px solid var(--in-content-box-border-color);
+ border-bottom: 1px solid var(--in-content-box-border-color);
+ background-color: var(--in-content-page-background);
+}
+
+xul|*.tabs-left,
+xul|*.tabs-right {
+ border-bottom: none;
+}
+
+xul|tab {
+ -moz-appearance: none;
+ margin-top: 0;
+ padding: 4px 20px;
+ min-height: 44px;
+ color: var(--in-content-tab-color);
+ background-color: var(--in-content-page-background);
+ border-width: 0;
+ /* !important overrides tabbox.css RTL and visuallyselected rules */
+ border-radius: 0 !important;
+ transition: background-color 50ms ease 0s;
+}
+
+xul|tab:hover {
+ background-color: var(--in-content-box-background-hover);
+}
+
+xul|tab[selected] {
+ background-color: var(--in-content-box-background-hover);
+ padding-bottom: 0; /* compensate the 4px border */
+ border-bottom: 4px solid var(--in-content-border-highlight);
+}
+
+xul|*.tab-text {
+ font-size: 1.3rem;
+ line-height: 22px;
+}
+
+/* html buttons */
+
+html|button {
+ padding: 3px;
+ /* override forms.css */
+ font: inherit;
+}
+
+/* xul buttons and menulists */
+
+*|button,
+html|select,
+xul|colorpicker[type="button"],
+xul|menulist {
+ -moz-appearance: none;
+ min-height: 30px;
+ color: var(--in-content-text-color);
+ border: 1px solid var(--in-content-box-border-color);
+ -moz-border-top-colors: none !important;
+ -moz-border-right-colors: none !important;
+ -moz-border-bottom-colors: none !important;
+ -moz-border-left-colors: none !important;
+ border-radius: 2px;
+ background-color: var(--in-content-page-background);
+}
+
+html|button:enabled:hover,
+html|select:enabled:hover,
+xul|button:not([disabled="true"]):hover,
+xul|colorpicker[type="button"]:not([disabled="true"]):hover,
+xul|menulist:not([disabled="true"]):hover {
+ background-color: var(--in-content-box-background-hover);
+}
+
+html|button:enabled:hover:active,
+html|select:enabled:hover:active,
+xul|button:not([disabled="true"]):hover:active,
+xul|colorpicker[type="button"]:not([disabled="true"]):hover:active,
+xul|menulist[open="true"]:not([disabled="true"]) {
+ background-color: var(--in-content-box-background-active);
+}
+
+html|button:disabled,
+html|select:disabled,
+xul|button[disabled="true"],
+xul|colorpicker[type="button"][disabled="true"],
+xul|menulist[disabled="true"] {
+ opacity: 0.5;
+}
+
+*|button.primary {
+ background-color: var(--in-content-primary-button-background);
+ border-color: transparent;
+ color: var(--in-content-selected-text);
+}
+
+html|button.primary:enabled:hover,
+xul|button.primary:not([disabled="true"]):hover {
+ background-color: var(--in-content-primary-button-background-hover);
+}
+
+html|button.primary:enabled:hover:active,
+xul|button.primary:not([disabled="true"]):hover:active {
+ background-color: var(--in-content-primary-button-background-active);
+}
+
+xul|colorpicker[type="button"] {
+ padding: 6px;
+ width: 50px;
+}
+
+xul|button > xul|*.button-box,
+xul|menulist > xul|*.menulist-label-box {
+ padding-right: 10px !important;
+ padding-left: 10px !important;
+}
+
+xul|menulist > xul|*.menulist-label-box > xul|*.menulist-icon[src] {
+ margin-inline-end: 5px;
+}
+
+xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
+ -moz-appearance: none;
+ margin: 1px 0;
+ margin-inline-start: 10px;
+ padding: 0;
+ width: 10px;
+ height: 16px;
+ border: none;
+ background-color: transparent;
+ list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
+}
+
+xul|*.help-button {
+ min-width: 16px;
+ margin-inline-end: 0;
+ border-width: 0;
+ background-image: none;
+ box-shadow: none;
+ list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
+}
+
+xul|*.help-button:not([disabled="true"]):hover {
+ background-image: none;
+ /* Override default button background */
+ background-color: transparent;
+ list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
+}
+
+xul|*.help-button:not([disabled="true"]):hover:active {
+ background-image: none;
+ /* Override default button background */
+ background-color: transparent;
+ list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
+}
+
+xul|*.close-icon > xul|*.button-box,
+xul|*.help-button > xul|*.button-box {
+ padding-top: 0;
+ padding-bottom: 0;
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+xul|*.help-button > xul|*.button-box > xul|*.button-icon {
+ width: 16px;
+ height: 16px;
+}
+
+xul|*.help-button > xul|*.button-box > xul|*.button-text {
+ display: none;
+}
+
+html|*.help-button {
+ width: 16px;
+ height: 16px;
+ border: 0;
+ padding: 0;
+ display: inline-block;
+ background-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
+ background-repeat: no-repeat;
+ background-position: center center;
+ background-size: contain;
+}
+
+html|*.help-button:hover {
+ background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
+}
+
+html|*.help-button:hover:active {
+ background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
+}
+
+xul|*.spinbuttons-button {
+ min-height: initial;
+ margin-inline-start: 10px !important;
+ margin-inline-end: 2px !important;
+}
+
+xul|*.spinbuttons-up {
+ margin-top: 2px !important;
+ border-radius: 1px 1px 0 0;
+}
+
+xul|*.spinbuttons-down {
+ margin-bottom: 2px !important;
+ border-radius: 0 0 1px 1px;
+}
+
+xul|*.spinbuttons-button > xul|*.button-box {
+ padding: 1px 5px 2px !important;
+}
+
+xul|*.spinbuttons-up > xul|*.button-box > xul|*.button-icon {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+
+xul|*.spinbuttons-up[disabled="true"] > xul|*.button-box > xul|*.button-icon {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+}
+
+xul|*.spinbuttons-down > xul|*.button-box > xul|*.button-icon {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+
+xul|*.spinbuttons-down[disabled="true"] > xul|*.button-box > xul|*.button-icon {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
+ -moz-appearance: none;
+ margin-inline-end: 4px;
+ padding: 0;
+ border: none;
+ background-color: transparent;
+ list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker > xul|*.dropmarker-icon {
+ width: 18px;
+ height: 18px;
+}
+
+xul|menulist[disabled="true"]:not([editable="true"]) > xul|*.menulist-dropmarker {
+ list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown-disabled")
+}
+
+xul|menulist > xul|menupopup,
+xul|button[type="menu"] > xul|menupopup {
+ -moz-appearance: none;
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: 2px;
+ background-color: var(--in-content-box-background);
+}
+
+xul|menulist > xul|menupopup xul|menu,
+xul|menulist > xul|menupopup xul|menuitem,
+xul|button[type="menu"] > xul|menupopup xul|menu,
+xul|button[type="menu"] > xul|menupopup xul|menuitem {
+ -moz-appearance: none;
+ font-size: 1em;
+ color: var(--in-content-text-color);
+ padding-top: 0.2em;
+ padding-bottom: 0.2em;
+ padding-inline-start: 10px;
+ padding-inline-end: 30px;
+}
+
+xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
+xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"] {
+ color: var(--in-content-text-color);
+ background-color: var(--in-content-item-hover);
+}
+
+xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
+xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"] {
+ color: var(--in-content-selected-text);
+ background-color: var(--in-content-item-selected);
+}
+
+xul|menulist > xul|menupopup > xul|menu[disabled="true"],
+xul|menulist > xul|menupopup > xul|menuitem[disabled="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menu[disabled="true"],
+xul|button[type="menu"] > xul|menupopup > xul|menuitem[disabled="true"] {
+ color: #999;
+ /* override the [_moz-menuactive="true"] background color from
+ global/menu.css */
+ background-color: transparent;
+}
+
+xul|menulist > xul|menupopup xul|menuseparator,
+xul|button[type="menu"] > xul|menupopup xul|menuseparator {
+ -moz-appearance: none;
+ margin: 0;
+ padding: 0;
+ border-top: 1px solid var(--in-content-box-border-color);
+ border-bottom: none;
+}
+
+/* textboxes */
+
+html|input[type="text"],
+html|textarea,
+xul|textbox {
+ -moz-appearance: none;
+ color: var(--in-content-text-color);
+ border: 1px solid var(--in-content-box-border-color);
+ -moz-border-top-colors: none !important;
+ -moz-border-right-colors: none !important;
+ -moz-border-bottom-colors: none !important;
+ -moz-border-left-colors: none !important;
+ border-radius: 2px;
+ background-color: var(--in-content-box-background);
+}
+
+xul|textbox {
+ min-height: 30px;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+
+/* Create a separate rule to unset these styles on .tree-input instead of
+ using :not(.tree-input) so the selector specifity doesn't change. */
+xul|textbox.tree-input {
+ min-height: unset;
+ padding-right: unset;
+ padding-left: unset;
+}
+
+html|input[type="text"],
+html|textarea {
+ font-family: inherit;
+ font-size: inherit;
+ padding: 5px 10px;
+}
+
+html|input[type="text"]:focus,
+html|textarea:focus,
+xul|textbox[focused] {
+ border-color: var(--in-content-border-focus);
+}
+
+html|input[type="text"]:disabled,
+html|textarea:disabled,
+xul|textbox[disabled="true"] {
+ opacity: 0.5;
+}
+
+/* Links */
+
+html|a,
+.text-link {
+ color: var(--in-content-link-color);
+ text-decoration: none;
+}
+
+html|a:hover,
+.text-link:hover {
+ color: var(--in-content-link-color-hover);
+ text-decoration: underline;
+}
+
+html|a:visited {
+ color: var(--in-content-link-color-visited);
+}
+
+html|a:hover:active,
+.text-link:hover:active {
+ color: var(--in-content-link-color-active);
+ text-decoration: none;
+}
+
+/* Checkboxes and radio buttons */
+
+/* Hide the actual checkbox */
+html|input[type="checkbox"] {
+ opacity: 0;
+ width: 0;
+ pointer-events: none;
+ position: absolute;
+}
+
+/* Create a box to style as the checkbox */
+html|input[type="checkbox"] + html|label:before {
+ display: inline-block;
+ content: "";
+ vertical-align: middle;
+}
+
+html|input[type="checkbox"] + html|label {
+ line-height: 0px;
+}
+
+xul|checkbox {
+ margin-inline-start: 0;
+}
+
+xul|*.checkbox-check,
+html|input[type="checkbox"] + html|label:before {
+ -moz-appearance: none;
+ width: 23px;
+ height: 23px;
+ border-radius: 2px;
+ border: 1px solid var(--in-content-box-border-color);
+ margin-inline-end: 10px;
+ background-color: #f1f1f1;
+ /* !important needed to override toolkit checked !important rule */
+ background-image: linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
+ background-position: center center;
+ background-repeat: no-repeat;
+ box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
+}
+
+xul|checkbox:not([disabled="true"]):hover > xul|*.checkbox-check,
+html|input[type="checkbox"]:not(:disabled) + html|label:hover:before {
+ border-color: var(--in-content-border-focus);
+}
+
+xul|*.checkbox-check[checked] {
+ list-style-image: url("chrome://global/skin/in-content/check.svg#check");
+}
+
+html|input[type="checkbox"]:checked + html|label:before {
+ background-image: url("chrome://global/skin/in-content/check.svg#check"), linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
+}
+
+xul|checkbox[disabled="true"] > xul|*.checkbox-check,
+html|input[type="checkbox"]:disabled + html|label {
+ opacity: 0.5;
+}
+
+xul|*.checkbox-label-box {
+ margin-inline-start: -1px; /* negative margin for the transparent border */
+ padding-inline-start: 0;
+}
+
+xul|richlistitem > xul|*.checkbox-check {
+ margin: 3px 6px;
+}
+
+html|*.toggle-container-with-text {
+ display: flex;
+ align-items: center;
+}
+
+xul|radio {
+ margin-inline-start: 0;
+}
+
+xul|*.radio-check {
+ -moz-appearance: none;
+ width: 23px;
+ height: 23px;
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: 50%;
+ margin-inline-end: 10px;
+ background-color: #f1f1f1;
+ background-image: linear-gradient(#fff, rgba(255,255,255,0.80));
+ box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
+}
+
+xul|radio:not([disabled="true"]):hover > xul|*.radio-check {
+ border-color: var(--in-content-border-focus);
+}
+
+xul|*.radio-check[selected] {
+ list-style-image: url("chrome://global/skin/in-content/radio.svg#radio");
+}
+
+xul|radio[disabled="true"] > xul|*.radio-check {
+ opacity: 0.5;
+}
+
+xul|*.radio-label-box {
+ margin-inline-start: -1px; /* negative margin for the transparent border */
+ margin-inline-end: 10px;
+ padding-inline-start: 0;
+}
+
+/* Category List */
+
+*|*#categories {
+ -moz-appearance: none;
+ background-color: var(--in-content-category-background);
+ padding-top: 39px;
+ margin: 0;
+ border-width: 0;
+}
+
+*|*.category {
+ -moz-appearance: none;
+ color: var(--in-content-category-text);
+ border-inline-end-width: 0;
+ padding-inline-start: 15px;
+ padding-inline-end: 21px;
+ min-height: 40px;
+ transition: background-color 150ms;
+}
+
+*|*.category:hover {
+ background-color: var(--in-content-category-background-hover);
+}
+
+*|*.category[selected],
+*|*.category.selected {
+ background-color: var(--in-content-category-background-active);
+ color: var(--in-content-category-text-selected);
+ padding-inline-start: 11px; /* compensate the 4px border */
+ border-inline-start: solid 4px var(--in-content-border-highlight);
+}
+
+*|*#categories[keyboard-navigation="true"]:-moz-focusring > *|*.category[current] {
+ border-top: var(--in-content-category-border-focus);
+ border-bottom: var(--in-content-category-border-focus);
+}
+
+*|*.category-name {
+ line-height: 22px;
+ font-size: 1.25rem;
+ padding-bottom: 2px;
+ padding-inline-start: 9px;
+ margin: 0;
+ -moz-user-select: none;
+}
+
+*|*.category-icon {
+ width: 24px;
+ height: 24px;
+}
+
+/* header */
+
+*|*.header {
+ border-bottom: 1px solid var(--in-content-header-border-color);
+ margin-inline-end: 4px; /* add the 4px end-margin of other elements */
+ margin-bottom: 15px;
+ padding-bottom: 15px;
+ -moz-box-align: baseline;
+}
+
+*|*.header-name {
+ font-size: 2.5rem;
+ font-weight: normal;
+ line-height: 40px;
+ margin: 0;
+ -moz-user-select: none;
+}
+
+/* File fields */
+
+xul|filefield {
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ padding: 0;
+}
+
+xul|*.fileFieldContentBox {
+ background-color: transparent;
+}
+
+xul|*.fileFieldIcon {
+ margin-inline-start: 10px;
+ margin-inline-end: 0;
+}
+
+xul|*.fileFieldLabel {
+ margin-inline-start: -26px;
+ padding-inline-start: 36px;
+}
+
+xul|textbox:-moz-locale-dir(rtl),
+xul|*.fileFieldLabel:-moz-locale-dir(rtl),
+xul|textbox + xul|button:-moz-locale-dir(ltr),
+xul|filefield + xul|button:-moz-locale-dir(ltr) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+xul|textbox:-moz-locale-dir(ltr),
+xul|*.fileFieldLabel:-moz-locale-dir(ltr),
+xul|textbox + xul|button:-moz-locale-dir(rtl),
+xul|filefield + xul|button:-moz-locale-dir(rtl) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+xul|textbox + xul|button,
+xul|filefield + xul|button {
+ border-inline-start: none;
+}
+
+/* List boxes */
+
+xul|richlistbox,
+xul|listbox {
+ -moz-appearance: none;
+ margin-inline-start: 0;
+ background-color: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ color: var(--in-content-text-color);
+}
+
+xul|treechildren::-moz-tree-row,
+xul|listbox xul|listitem {
+ padding: 0.3em;
+ margin: 0;
+ border: none;
+ border-radius: 0;
+ background-image: none;
+}
+
+xul|treechildren::-moz-tree-row(hover),
+xul|listbox xul|listitem:hover {
+ background-color: var(--in-content-item-hover);
+}
+
+xul|treechildren::-moz-tree-row(selected),
+xul|listbox xul|listitem[selected="true"] {
+ background-color: var(--in-content-item-selected);
+ color: var(--in-content-selected-text);
+}
+
+/* Trees */
+
+xul|tree {
+ -moz-appearance: none;
+ font-size: 1em;
+ border: 1px solid var(--in-content-box-border-color);
+ background-color: var(--in-content-box-background);
+ margin: 0;
+}
+
+xul|tree:-moz-focusring,
+xul|richlistbox:-moz-focusring {
+ border: 1px dotted var(--in-content-border-focus);
+}
+
+xul|listheader,
+xul|treecols {
+ -moz-appearance: none;
+ border: none;
+ border-bottom: 1px solid var(--in-content-border-color);
+ padding: 0;
+}
+
+.autocomplete-tree > xul|treecols {
+ border-bottom: none !important;
+}
+
+xul|treecol:not([hideheader="true"]),
+xul|treecolpicker {
+ -moz-appearance: none;
+ border: none;
+ background-color: var(--in-content-box-background-hover);
+ color: #808080;
+ padding: 5px 10px;
+}
+
+xul|treecol:not([hideheader="true"]):not([sortable="false"]):hover,
+xul|treecolpicker:hover {
+ background-color: var(--in-content-box-background-active);
+ color: var(--in-content-text-color);
+}
+
+xul|treecol:not([hideheader="true"]):not(:first-child),
+xul|treecolpicker {
+ border-inline-start-width: 1px;
+ border-inline-start-style: solid;
+ border-image: linear-gradient(transparent 0%, transparent 20%, #c1c1c1 20%, #c1c1c1 80%, transparent 80%, transparent 100%) 1 1;
+}
+
+xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection] {
+ list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
+ width: 18px;
+ height: 18px;
+}
+
+xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection="ascending"] {
+ transform: scaleY(-1);
+}
+
+/* This is the only way to increase the height of a tree row unfortunately */
+xul|treechildren::-moz-tree-row {
+ min-height: 2em;
+}
+
+/* Color needs to be set on tree cell in order to be applied */
+xul|treechildren::-moz-tree-cell-text {
+ color: var(--in-content-text-color);
+}
+
+xul|treechildren::-moz-tree-cell-text(selected) {
+ color: var(--in-content-selected-text);
+}
diff --git a/toolkit/themes/shared/in-content/dropdown.svg b/toolkit/themes/shared/in-content/dropdown.svg
new file mode 100644
index 0000000000..bc7bad2c59
--- /dev/null
+++ b/toolkit/themes/shared/in-content/dropdown.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: -moz-DialogText;
+ }
+ use[id$="-disabled"] {
+ fill: GrayText;
+ }
+ </style>
+ <defs>
+ <path id="dropdown-shape" d="M12,6l-4.016,4L4,6H12z"/>
+ </defs>
+ <use id="dropdown" xlink:href="#dropdown-shape"/>
+ <use id="dropdown-disabled" xlink:href="#dropdown-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/in-content/help-glyph.svg b/toolkit/themes/shared/in-content/help-glyph.svg
new file mode 100644
index 0000000000..5dc3af4e1f
--- /dev/null
+++ b/toolkit/themes/shared/in-content/help-glyph.svg
@@ -0,0 +1,28 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
+ <style>
+ use:not(:target) { display: none; }
+
+ path { fill: #999; }
+ circle { fill: none; stroke: #999; stroke-width: 2; }
+
+ #help-hover path { fill: #fff; }
+ #help-hover circle { fill: #808080; stroke: #808080; }
+
+ #help-pressed path { fill: #fff; }
+ #help-pressed circle { fill: #666; stroke: #666; }
+ </style>
+
+ <defs>
+ <g id="help-shape">
+ <circle cx="12" cy="12" r="11" />
+ <path d="M12.2,4.9c-1.6,0-2.9,0.4-3.8,0.8L9.2,8c0.6-0.4,1.5-0.6,2.2-0.6c1.1,0,1.6,0.5,1.6,1.2 c0,0.7-0.6,1.3-1.3,2.1c-1,1.1-1.4,2.1-1.3,3.2l0,0.5h3V14c0-0.9,0.3-1.7,1.2-2.5c0.9-0.9,1.9-1.9,1.9-3.4 C16.6,6.4,15.2,4.9,12.2,4.9z M12,16.1c-1.1,0-1.9,0.8-1.9,1.9c0,1.1,0.8,1.9,1.9,1.9c1.2,0,1.9-0.8,1.9-1.9 C13.9,16.9,13.1,16.1,12,16.1z"/>
+ </g>
+ </defs>
+
+ <use id="help" xlink:href="#help-shape" />
+ <use id="help-hover" xlink:href="#help-shape" />
+ <use id="help-pressed" xlink:href="#help-shape" />
+</svg>
diff --git a/toolkit/themes/shared/in-content/info-pages.inc.css b/toolkit/themes/shared/in-content/info-pages.inc.css
new file mode 100644
index 0000000000..4889602a09
--- /dev/null
+++ b/toolkit/themes/shared/in-content/info-pages.inc.css
@@ -0,0 +1,109 @@
+% This Source Code Form is subject to the terms of the Mozilla Public
+% License, v. 2.0. If a copy of the MPL was not distributed with this
+% file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+@import url("chrome://global/skin/in-content/common.css");
+/* Body and container */
+body {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-height: 100vh;
+ padding-top: 0;
+ padding-bottom: 0;
+ padding-inline-start: calc(48px + 4.6em);
+ padding-inline-end: 48px;
+ align-items: center;
+ justify-content: center;
+}
+
+.container {
+ min-width: 13em;
+ max-width: 52em;
+}
+
+.container.restore-chosen {
+ display: flex;
+ flex-direction: column;
+ flex-grow: 1;
+ margin: 10vh 0;
+}
+
+/* Typography */
+.title {
+ background-image: url("chrome://global/skin/icons/info.svg");
+ background-position: left 0;
+ background-repeat: no-repeat;
+ background-size: 1.6em;
+ margin-inline-start: -2.3em;
+ padding-inline-start: 2.3em;
+ font-size: 2.5em;
+}
+
+.title:dir(rtl) {
+ background-position: right 0;
+}
+
+.title-text {
+ border-bottom: 1px solid #C1C1C1;
+ font-size: inherit;
+ padding-bottom: 0.4em;
+}
+
+@media (max-width: 675px) {
+ body {
+ padding: 0 48px;
+ }
+
+ .title {
+ background-image: none !important;
+ padding-inline-start: 0;
+ margin-inline-start: 0;
+ }
+
+ .title-text {
+ padding-top: 0;
+ }
+}
+
+ul, ol {
+ margin: 0;
+ padding: 0;
+ margin-inline-start: 1em;
+}
+
+ul > li, ol > li {
+ margin-bottom: .5em;
+}
+
+ul {
+ list-style: disc;
+}
+
+/* Buttons */
+.button-container {
+ margin-top: 1.2em;
+}
+
+.button-container > button {
+ min-width: 150px;
+}
+
+.button-container > button:first-child {
+ margin-inline-start: 0;
+}
+
+/* Trees */
+.tree-container {
+ margin-top: 1.2em;
+ flex-grow: 1;
+ min-height: 12em;
+}
+
+.tree-container > tree {
+ height: 100%;
+}
+
+tree {
+ width: 100%;
+}
diff --git a/toolkit/themes/shared/in-content/radio.svg b/toolkit/themes/shared/in-content/radio.svg
new file mode 100644
index 0000000000..97826bc206
--- /dev/null
+++ b/toolkit/themes/shared/in-content/radio.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 21 21">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: #2292d0;
+ }
+ use[id$="-native"] {
+ fill: -moz-dialogText;
+ }
+ </style>
+ <defs>
+ <circle id="radio-shape" cx="10.5" cy="10.5" r="6"/>
+ </defs>
+ <use id="radio" xlink:href="#radio-shape"/>
+ <use id="radio-native" xlink:href="#radio-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/incontent-icons/blocked.svg b/toolkit/themes/shared/incontent-icons/blocked.svg
new file mode 100644
index 0000000000..2f1c6413c9
--- /dev/null
+++ b/toolkit/themes/shared/incontent-icons/blocked.svg
@@ -0,0 +1,13 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 45 45">
+ <defs>
+ <circle id="stop-sign" cx="22.5" cy="22.5" r="20.5"/>
+ <mask id="stop-symbol">
+ <rect width="45" height="45" fill="#fff"/>
+ <line x1="10" y1="23" x2="35" y2="23" stroke="#000" stroke-width="6"/>
+ </mask>
+ </defs>
+ <use xlink:href="#stop-sign" mask="url(#stop-symbol)" fill="#fff"/>
+</svg> \ No newline at end of file
diff --git a/toolkit/themes/shared/incontent-icons/info.svg b/toolkit/themes/shared/incontent-icons/info.svg
new file mode 100644
index 0000000000..2fc0607a19
--- /dev/null
+++ b/toolkit/themes/shared/incontent-icons/info.svg
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="#424e5a">
+ <circle cx="50" cy="50" r="44" stroke="#424e5a" stroke-width="11" fill="none"/>
+ <circle cx="50" cy="24.6" r="6.4"/>
+ <rect x="45" y="39.9" width="10.1" height="41.8"/>
+</svg>
diff --git a/toolkit/themes/shared/incontent-icons/warning.svg b/toolkit/themes/shared/incontent-icons/warning.svg
new file mode 100644
index 0000000000..bde2da120d
--- /dev/null
+++ b/toolkit/themes/shared/incontent-icons/warning.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 60 60">
+ <defs>
+ <linearGradient id="gradient" gradientUnits="userSpaceOnUse" x1="30" y1="10" x2="30" y2="50">
+ <stop offset="0" style="stop-color: #fedb00"/>
+ <stop offset="1" style="stop-color: #fcce00"/>
+ </linearGradient>
+ </defs>
+ <path fill="url(#gradient)" d="M49.316,42.867L33.829,12.7c-0.879-1.715-2.274-2.7-3.828-2.7c-1.554,0-2.949,0.985-3.829,2.702 L10.685,42.864c-0.869,1.69-0.913,3.482-0.121,4.909C11.35,49.187,12.817,50,14.591,50h30.82c1.772,0,3.24-0.81,4.023-2.224 C50.227,46.349,50.185,44.56,49.316,42.867z M32.176,22.304l-0.48,14.304h-3.424L27.76,22.304H32.176z M30,44.896 c-1.44,0-2.592-1.184-2.592-2.592c0-1.44,1.152-2.592,2.592-2.592c1.472,0,2.592,1.152,2.592,2.592 C32.592,43.712,31.472,44.896,30,44.896z"/>
+</svg>
diff --git a/toolkit/themes/shared/jar.inc.mn b/toolkit/themes/shared/jar.inc.mn
new file mode 100644
index 0000000000..9c3d86a40d
--- /dev/null
+++ b/toolkit/themes/shared/jar.inc.mn
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is not a complete / proper jar manifest. It is included by the
+# actual theme-specific manifests, so that shared resources need only
+# be specified once. As a result, the source file paths are relative
+# to the location of the actual manifest.
+
+toolkit.jar:
+% skin global classic/1.0 %skin/classic/global/
+% skin help classic/1.0 %skin/classic/help/
+% skin mozapps classic/1.0 %skin/classic/mozapps/
+ skin/classic/global/about.css (../../shared/about.css)
+ skin/classic/global/aboutCache.css (../../shared/aboutCache.css)
+ skin/classic/global/aboutCacheEntry.css (../../shared/aboutCacheEntry.css)
+ skin/classic/global/aboutMemory.css (../../shared/aboutMemory.css)
+ skin/classic/global/aboutReader.css (../../shared/aboutReader.css)
+ skin/classic/global/aboutReaderContent.css (../../shared/aboutReaderContent.css)
+* skin/classic/global/aboutReaderControls.css (../../shared/aboutReaderControls.css)
+ skin/classic/global/aboutSupport.css (../../shared/aboutSupport.css)
+ skin/classic/global/appPicker.css (../../shared/appPicker.css)
+ skin/classic/global/config.css (../../shared/config.css)
+ skin/classic/global/timepicker.css (../../shared/timepicker.css)
+ skin/classic/global/icons/find-arrows.svg (../../shared/icons/find-arrows.svg)
+ skin/classic/global/icons/info.svg (../../shared/incontent-icons/info.svg)
+ skin/classic/global/icons/input-clear.svg (../../shared/icons/input-clear.svg)
+ skin/classic/global/icons/loading.png (../../shared/icons/loading.png)
+ skin/classic/global/icons/loading@2x.png (../../shared/icons/loading@2x.png)
+ skin/classic/global/icons/warning.svg (../../shared/incontent-icons/warning.svg)
+ skin/classic/global/icons/blocked.svg (../../shared/incontent-icons/blocked.svg)
+ skin/classic/global/alerts/alert-common.css (../../shared/alert-common.css)
+ skin/classic/global/narrate.css (../../shared/narrate.css)
+ skin/classic/global/narrateControls.css (../../shared/narrateControls.css)
+ skin/classic/global/narrate/arrow.svg (../../shared/narrate/arrow.svg)
+ skin/classic/global/narrate/back.svg (../../shared/narrate/back.svg)
+ skin/classic/global/narrate/fast.svg (../../shared/narrate/fast.svg)
+ skin/classic/global/narrate/forward.svg (../../shared/narrate/forward.svg)
+ skin/classic/global/narrate/slow.svg (../../shared/narrate/slow.svg)
+ skin/classic/global/narrate/start.svg (../../shared/narrate/start.svg)
+ skin/classic/global/narrate/stop.svg (../../shared/narrate/stop.svg)
+ skin/classic/global/menu/shared-menu-check@2x.png (../../shared/menu-check@2x.png)
+ skin/classic/global/menu/shared-menu-check.png (../../shared/menu-check.png)
+ skin/classic/global/menu/shared-menu-check-active.svg (../../shared/menu-check-active.svg)
+ skin/classic/global/menu/shared-menu-check-black.svg (../../shared/menu-check-black.svg)
+ skin/classic/global/menu/shared-menu-check-hover.svg (../../shared/menu-check-hover.svg)
+ skin/classic/global/in-content/check.svg (../../shared/in-content/check.svg)
+ skin/classic/global/in-content/check-partial.svg (../../shared/in-content/check-partial.svg)
+ skin/classic/global/in-content/dropdown.svg (../../shared/in-content/dropdown.svg)
+ skin/classic/global/in-content/help-glyph.svg (../../shared/in-content/help-glyph.svg)
+ skin/classic/global/in-content/radio.svg (../../shared/in-content/radio.svg)
+ skin/classic/global/passwordmgr.css (../../shared/passwordmgr.css)
+ skin/classic/global/reader/RM-Close-24x24.svg (../../shared/reader/RM-Close-24x24.svg)
+ skin/classic/global/reader/RM-Minus-24x24.svg (../../shared/reader/RM-Minus-24x24.svg)
+ skin/classic/global/reader/RM-Plus-24x24.svg (../../shared/reader/RM-Plus-24x24.svg)
+ skin/classic/global/reader/RM-Type-Controls-24x24.svg (../../shared/reader/RM-Type-Controls-24x24.svg)
+ skin/classic/global/reader/RM-Type-Controls-Arrow.svg (../../shared/reader/RM-Type-Controls-Arrow.svg)
+ skin/classic/global/reader/RM-Content-Width-Minus-42x16.svg (../../shared/reader/RM-Content-Width-Minus-42x16.svg)
+ skin/classic/global/reader/RM-Content-Width-Plus-44x16.svg (../../shared/reader/RM-Content-Width-Plus-44x16.svg)
+ skin/classic/global/reader/RM-Line-Height-Minus-38x14.svg (../../shared/reader/RM-Line-Height-Minus-38x14.svg)
+ skin/classic/global/reader/RM-Line-Height-Plus-38x24.svg (../../shared/reader/RM-Line-Height-Plus-38x24.svg)
+ skin/classic/global/media/TopLevelImageDocument.css (../../shared/media/TopLevelImageDocument.css)
+ skin/classic/global/media/TopLevelVideoDocument.css (../../shared/media/TopLevelVideoDocument.css)
+ skin/classic/global/media/imagedoc-lightnoise.png (../../shared/media/imagedoc-lightnoise.png)
+ skin/classic/global/media/imagedoc-darknoise.png (../../shared/media/imagedoc-darknoise.png)
+* skin/classic/global/media/videocontrols.css (../../shared/media/videocontrols.css)
+ skin/classic/global/media/pauseButton.png (../../shared/media/pauseButton.png)
+ skin/classic/global/media/pauseButton@2x.png (../../shared/media/pauseButton@2x.png)
+ skin/classic/global/media/playButton.png (../../shared/media/playButton.png)
+ skin/classic/global/media/playButton@2x.png (../../shared/media/playButton@2x.png)
+ skin/classic/global/media/muteButton.png (../../shared/media/muteButton.png)
+ skin/classic/global/media/muteButton@2x.png (../../shared/media/muteButton@2x.png)
+ skin/classic/global/media/unmuteButton.png (../../shared/media/unmuteButton.png)
+ skin/classic/global/media/unmuteButton@2x.png (../../shared/media/unmuteButton@2x.png)
+ skin/classic/global/media/noAudio.png (../../shared/media/noAudio.png)
+ skin/classic/global/media/noAudio@2x.png (../../shared/media/noAudio@2x.png)
+ skin/classic/global/media/closeCaptionButton.png (../../shared/media/closeCaptionButton.png)
+ skin/classic/global/media/closeCaptionButton@2x.png (../../shared/media/closeCaptionButton@2x.png)
+ skin/classic/global/media/fullscreenButton.png (../../shared/media/fullscreenButton.png)
+ skin/classic/global/media/fullscreenButton@2x.png (../../shared/media/fullscreenButton@2x.png)
+ skin/classic/global/media/scrubberThumb.png (../../shared/media/scrubberThumb.png)
+ skin/classic/global/media/scrubberThumb@2x.png (../../shared/media/scrubberThumb@2x.png)
+ skin/classic/global/media/scrubberThumbWide.png (../../shared/media/scrubberThumbWide.png)
+ skin/classic/global/media/scrubberThumbWide@2x.png (../../shared/media/scrubberThumbWide@2x.png)
+ skin/classic/global/media/error.png (../../shared/media/error.png)
+ skin/classic/global/media/throbber.png (../../shared/media/throbber.png)
+ skin/classic/global/media/stalled.png (../../shared/media/stalled.png)
+ skin/classic/global/media/volume-empty.png (../../shared/media/volume-empty.png)
+ skin/classic/global/media/volume-empty@2x.png (../../shared/media/volume-empty@2x.png)
+ skin/classic/global/media/volume-full.png (../../shared/media/volume-full.png)
+ skin/classic/global/media/volume-full@2x.png (../../shared/media/volume-full@2x.png)
+ skin/classic/global/media/clicktoplay-bgtexture.png (../../shared/media/clicktoplay-bgtexture.png)
+ skin/classic/global/media/videoClickToPlayButton.svg (../../shared/media/videoClickToPlayButton.svg)
+#ifdef MOZ_PLACES
+ skin/classic/mozapps/places/defaultFavicon.png (../../shared/places/defaultFavicon.png)
+ skin/classic/mozapps/places/defaultFavicon@2x.png (../../shared/places/defaultFavicon@2x.png)
+ skin/classic/mozapps/places/defaultFavicon-inverted.png (../../shared/places/defaultFavicon-inverted.png)
+ skin/classic/mozapps/places/defaultFavicon-inverted@2x.png (../../shared/places/defaultFavicon-inverted@2x.png)
+#endif
diff --git a/toolkit/themes/shared/media/TopLevelImageDocument.css b/toolkit/themes/shared/media/TopLevelImageDocument.css
new file mode 100644
index 0000000000..5242175161
--- /dev/null
+++ b/toolkit/themes/shared/media/TopLevelImageDocument.css
@@ -0,0 +1,17 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@media not print {
+ /* N.B.: Remember to update ImageDocument.css in the tree or reftests may fail! */
+
+ body {
+ color: #eee;
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ }
+
+ img.transparent {
+ background: hsl(0,0%,90%) url("chrome://global/skin/media/imagedoc-lightnoise.png");
+ color: #222;
+ }
+}
diff --git a/toolkit/themes/shared/media/TopLevelVideoDocument.css b/toolkit/themes/shared/media/TopLevelVideoDocument.css
new file mode 100644
index 0000000000..760cdcd538
--- /dev/null
+++ b/toolkit/themes/shared/media/TopLevelVideoDocument.css
@@ -0,0 +1,12 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ background-color: rgb(33,33,33); /* Average color of that ^ image. */
+}
+
+video {
+ box-shadow: 0 0 15px #000;
+}
diff --git a/toolkit/themes/shared/media/clicktoplay-bgtexture.png b/toolkit/themes/shared/media/clicktoplay-bgtexture.png
new file mode 100644
index 0000000000..caffc241cf
--- /dev/null
+++ b/toolkit/themes/shared/media/clicktoplay-bgtexture.png
Binary files differ
diff --git a/toolkit/themes/shared/media/closeCaptionButton.png b/toolkit/themes/shared/media/closeCaptionButton.png
new file mode 100644
index 0000000000..469310fb1b
--- /dev/null
+++ b/toolkit/themes/shared/media/closeCaptionButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/closeCaptionButton@2x.png b/toolkit/themes/shared/media/closeCaptionButton@2x.png
new file mode 100644
index 0000000000..0335078922
--- /dev/null
+++ b/toolkit/themes/shared/media/closeCaptionButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/error.png b/toolkit/themes/shared/media/error.png
new file mode 100644
index 0000000000..58e37283a7
--- /dev/null
+++ b/toolkit/themes/shared/media/error.png
Binary files differ
diff --git a/toolkit/themes/shared/media/fullscreenButton.png b/toolkit/themes/shared/media/fullscreenButton.png
new file mode 100644
index 0000000000..ffbc3d5ae4
--- /dev/null
+++ b/toolkit/themes/shared/media/fullscreenButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/fullscreenButton@2x.png b/toolkit/themes/shared/media/fullscreenButton@2x.png
new file mode 100644
index 0000000000..b09ebbd43c
--- /dev/null
+++ b/toolkit/themes/shared/media/fullscreenButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/imagedoc-darknoise.png b/toolkit/themes/shared/media/imagedoc-darknoise.png
new file mode 100644
index 0000000000..5c33e24d4c
--- /dev/null
+++ b/toolkit/themes/shared/media/imagedoc-darknoise.png
Binary files differ
diff --git a/toolkit/themes/shared/media/imagedoc-lightnoise.png b/toolkit/themes/shared/media/imagedoc-lightnoise.png
new file mode 100644
index 0000000000..3467cf4d47
--- /dev/null
+++ b/toolkit/themes/shared/media/imagedoc-lightnoise.png
Binary files differ
diff --git a/toolkit/themes/shared/media/muteButton.png b/toolkit/themes/shared/media/muteButton.png
new file mode 100644
index 0000000000..894480761d
--- /dev/null
+++ b/toolkit/themes/shared/media/muteButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/muteButton@2x.png b/toolkit/themes/shared/media/muteButton@2x.png
new file mode 100644
index 0000000000..b2cd21c5eb
--- /dev/null
+++ b/toolkit/themes/shared/media/muteButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/noAudio.png b/toolkit/themes/shared/media/noAudio.png
new file mode 100644
index 0000000000..3db8c973b6
--- /dev/null
+++ b/toolkit/themes/shared/media/noAudio.png
Binary files differ
diff --git a/toolkit/themes/shared/media/noAudio@2x.png b/toolkit/themes/shared/media/noAudio@2x.png
new file mode 100644
index 0000000000..7de728b2d7
--- /dev/null
+++ b/toolkit/themes/shared/media/noAudio@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/pauseButton.png b/toolkit/themes/shared/media/pauseButton.png
new file mode 100644
index 0000000000..944098ca19
--- /dev/null
+++ b/toolkit/themes/shared/media/pauseButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/pauseButton@2x.png b/toolkit/themes/shared/media/pauseButton@2x.png
new file mode 100644
index 0000000000..df22919419
--- /dev/null
+++ b/toolkit/themes/shared/media/pauseButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/playButton.png b/toolkit/themes/shared/media/playButton.png
new file mode 100644
index 0000000000..11e2731df6
--- /dev/null
+++ b/toolkit/themes/shared/media/playButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/playButton@2x.png b/toolkit/themes/shared/media/playButton@2x.png
new file mode 100644
index 0000000000..fb20075b24
--- /dev/null
+++ b/toolkit/themes/shared/media/playButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumb.png b/toolkit/themes/shared/media/scrubberThumb.png
new file mode 100644
index 0000000000..f159627631
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumb.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumb@2x.png b/toolkit/themes/shared/media/scrubberThumb@2x.png
new file mode 100644
index 0000000000..f8790f4672
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumb@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumbWide.png b/toolkit/themes/shared/media/scrubberThumbWide.png
new file mode 100644
index 0000000000..96d2ed7514
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumbWide.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumbWide@2x.png b/toolkit/themes/shared/media/scrubberThumbWide@2x.png
new file mode 100644
index 0000000000..52c9d72727
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumbWide@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/stalled.png b/toolkit/themes/shared/media/stalled.png
new file mode 100644
index 0000000000..525375889b
--- /dev/null
+++ b/toolkit/themes/shared/media/stalled.png
Binary files differ
diff --git a/toolkit/themes/shared/media/throbber.png b/toolkit/themes/shared/media/throbber.png
new file mode 100644
index 0000000000..8e49fe5b2a
--- /dev/null
+++ b/toolkit/themes/shared/media/throbber.png
Binary files differ
diff --git a/toolkit/themes/shared/media/unmuteButton.png b/toolkit/themes/shared/media/unmuteButton.png
new file mode 100644
index 0000000000..5b76e2fa45
--- /dev/null
+++ b/toolkit/themes/shared/media/unmuteButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/unmuteButton@2x.png b/toolkit/themes/shared/media/unmuteButton@2x.png
new file mode 100644
index 0000000000..86f21859ee
--- /dev/null
+++ b/toolkit/themes/shared/media/unmuteButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/videoClickToPlayButton.svg b/toolkit/themes/shared/media/videoClickToPlayButton.svg
new file mode 100644
index 0000000000..f7ca6b6535
--- /dev/null
+++ b/toolkit/themes/shared/media/videoClickToPlayButton.svg
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 64 64">
+ <defs>
+ <linearGradient id="whiteGradientStops">
+ <stop style="stop-color:#fff;stop-opacity:.95" offset="0"/>
+ <stop style="stop-color:#fff;stop-opacity:.75" offset=".45"/>
+ <stop style="stop-color:#fff;stop-opacity:.72" offset=".55"/>
+ <stop style="stop-color:#fff;stop-opacity:.65" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="0" x2="32" y2="62" id="whiteGradient" xlink:href="#whiteGradientStops" gradientUnits="userSpaceOnUse"/>
+ <linearGradient id="arrowGradientStops">
+ <stop style="stop-color:#333;stop-opacity:.5" offset="0"/>
+ <stop style="stop-color:#666;stop-opacity:.5" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="16" x2="32" y2="48" id="arrowGradient" xlink:href="#arrowGradientStops" gradientUnits="userSpaceOnUse"/>
+ <filter x="-0.15" y="-0.15" width="1.25" height="1.25" color-interpolation-filters="sRGB" id="dropShadow">
+ <feDropShadow dx="0" dy="1" flood-opacity="0.5"/>
+ </filter>
+ <mask id="dropShadowMask">
+ <path style="fill:#fff;" d="M47.285,30.991L23.75,17.24c-0.357-0.208-0.692-0.278-0.969-0.221 C22.32,17.115,22,17.555,22,18.252v27.499c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748C48.238,32.458,48.238,31.547,47.285,30.991 z M0,0v64h64V0H0z M32,60C16.536,60,4,47.464,4,32S16.536,4,32,4s28,12.536,28,28S47.464,60,32,60z"/>
+ </mask>
+ </defs>
+ <path mask="url(#dropShadowMask)" id="playButtonShadow" style="filter:url(#dropShadow);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonArrow" style="fill:url(#arrowGradient);" d="M22.781,17.019C22.32,17.114,22,17.555,22,18.251v27.5c0,1.112,0.797,1.568,1.75,1.011 l23.535-13.748c0.953-0.556,0.953-1.467,0-2.023L23.75,17.24C23.393,17.031,23.058,16.961,22.781,17.019z"/>
+ <path id="playButton" style="fill:url(#whiteGradient);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonEdgeHighlights" style="fill:white;fill-opacity:.3;" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M32,59C17.112,59,5,46.888,5,32S17.112,5,32,5s27,12.112,27,27S46.888,59,32,59z M47.789,30.127l-23.534-13.75 C23.826,16.126,23.396,16,22.976,16c-0.135,0-0.27,0.014-0.398,0.041C21.62,16.238,21,17.106,21,18.251v27.5 C21,47.075,21.812,48,22.977,48c0.423,0,0.854-0.126,1.279-0.375L47.79,33.877c0.769-0.449,1.21-1.132,1.21-1.875 S48.559,30.576,47.789,30.127z M47.285,33.014L23.75,46.762C23.474,46.924,23.211,47,22.977,47C22.402,47,22,46.541,22,45.751v-27.5 c0-0.697,0.32-1.137,0.781-1.232L22.976,17c0.233,0,0.498,0.079,0.775,0.24l23.535,13.751 C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonTopEdgeHighlights" style="fill:white;fill-opacity:.8;" d="M32,4C16.536,4,4,16.536,4,32c0,0.167,0.01,0.333,0.013,0.5 C4.28,17.268,16.704,5,32,5c15.296,0,27.72,12.268,27.987,27.5C59.99,32.333,60,32.167,60,32C60,16.536,47.464,4,32,4z M47.285,33.014L23.75,46.762C22.797,47.319,22,46.863,22,45.751v1c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748 c0.697-0.406,0.879-1.003,0.556-1.512C47.723,32.688,47.541,32.864,47.285,33.014z"/>
+</svg>
diff --git a/toolkit/themes/shared/media/videocontrols.css b/toolkit/themes/shared/media/videocontrols.css
new file mode 100644
index 0000000000..a40d77fe3a
--- /dev/null
+++ b/toolkit/themes/shared/media/videocontrols.css
@@ -0,0 +1,440 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+.controlBar {
+ height: 28px;
+ background-color: rgba(35,31,32,.74);
+}
+
+.playButton,
+.muteButton,
+.closedCaptionButton,
+.fullscreenButton {
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-position: center;
+ -moz-appearance: none; /* Remove the native button appearance and styling */
+ margin: 0;
+ padding: 0;
+ min-height: 28px;
+ min-width: 28px;
+ border: none;
+ opacity: 0.7;
+}
+
+.playButton:hover,
+.muteButton:hover,
+.closedCaptionButton:hover,
+.fullscreenButton:hover {
+ opacity: 1;
+}
+
+.playButton:hover:active,
+.muteButton:hover:active,
+.closedCaptionButton:hover:active,
+.fullscreenButton:hover:active {
+ opacity: 0.4;
+}
+
+.playButton {
+ background-image: url(chrome://global/skin/media/pauseButton.png);
+ margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */
+ position: relative; /* Trick to work around negative margin interfering with clicking on the button. */
+}
+
+.playButton[paused] {
+ background-image: url(chrome://global/skin/media/playButton.png);
+}
+
+.muteButton {
+ background-image: url(chrome://global/skin/media/muteButton.png);
+ min-width: 33px;
+}
+.muteButton[muted] {
+ background-image: url(chrome://global/skin/media/unmuteButton.png);
+}
+
+.muteButton[noAudio] {
+ background-image: url(chrome://global/skin/media/noAudio.png);
+}
+
+.muteButton[noAudio] + .volumeStack {
+ display: none;
+}
+
+.closedCaptionButton {
+ background-image: url(chrome://global/skin/media/closeCaptionButton.png);
+ background-position: 4px;
+}
+
+.closedCaptionButton[enabled] {
+ opacity: 1;
+}
+
+.closedCaptionButton[hidden] {
+ display: none;
+}
+
+.fullscreenButton {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0);
+}
+
+.fullscreenButton[fullscreened] {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 32, 16, 16);
+}
+
+.volumeControl {
+ width: 32px;
+ opacity: 0;
+}
+
+.volumeBackground,
+.volumeForeground {
+ background-repeat: no-repeat;
+ background-position: center;
+ width: 32px;
+}
+
+.volumeBackground {
+ background-image: url(chrome://global/skin/media/volume-empty.png);
+}
+
+.volumeForeground {
+ background-image: url(chrome://global/skin/media/volume-full.png);
+ background-clip: content-box;
+}
+
+.textTrackList {
+ display: -moz-box;
+ -moz-appearance: none;
+ -moz-box-pack: end;
+ -moz-box-align: end;
+ padding: 0;
+}
+
+.textTrackList[hidden] {
+ display: none;
+}
+
+.textTrackList > html|*.textTrackItem {
+ -moz-appearance: none;
+ -moz-box-align: start;
+ text-align: start;
+ overflow: hidden;
+ margin: 0;
+ padding: 2px 10px;
+ -moz-margin-end: 10px;
+ border: none;
+ color: rgba(255,255,255,.5);
+ background-color: rgba(35,31,32,.74);
+ white-space: nowrap;
+}
+
+.textTrackList > html|*.textTrackItem[on] {
+ color: white;
+ background-color: black;
+}
+
+.textTrackList > html|*.textTrackItem:hover {
+ background-color: rgba(0,0,0,.55);
+}
+
+.controlBar[fullscreen-unavailable] {
+ /* This value is duplicated in the videocontrols.xml adjustControlSize function. */
+ padding-inline-end: 8px;
+}
+
+.volumeControl .scale-thumb {
+ min-width: 0;
+ opacity: 0;
+}
+
+.durationBox {
+ -moz-box-pack: center;
+}
+
+.durationLabel {
+ margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */
+ padding-left: 8px; /* don't bump into the scrubber bar */
+ color: rgba(255,255,255,.75);
+ font: message-box;
+ font-size: 11px;
+}
+
+%ifdef XP_MACOSX
+.durationLabel {
+ padding-top: 2px; /* center vertically with scrubber bar */
+}
+%else
+.durationLabel {
+ padding-top: 0; /* center vertically with scrubber bar */
+}
+%endif
+
+.positionLabel {
+ display: none;
+}
+
+.backgroundBar {
+ /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
+ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
+ margin: 10px 22px;
+ background-color: rgba(255,255,255,.5);
+ border-radius: 2.5px;
+}
+
+.bufferBar,
+.progressBar {
+ /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
+ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
+ margin: 10px 22px;
+ -moz-appearance: none;
+ border: none;
+ background-color: transparent;
+ min-width: 0;
+ min-height: 0;
+}
+
+/* .progress-bar is an element inside the <progressmeter> implementation. */
+.bufferBar .progress-bar {
+ /*
+ * Note that this is drawn on top of the .backgroundBar. So although this
+ * has the same background-color specified, the semitransparent
+ * compositing gives it a different visual appearance.
+ */
+ background-color: rgba(255,255,255,.5);
+ border-radius: 2.5px;
+ -moz-appearance: none;
+}
+
+.progressBar .progress-bar {
+ background-color: white;
+ border-radius: 2.5px;
+ -moz-appearance: none;
+}
+
+/* .scale-slider is an element inside the <scale> implementation. */
+.scrubber .scale-slider,
+.volumeControl .scale-slider {
+ /* Hide the default horizontal bar. */
+ -moz-appearance: none;
+ background: none;
+ margin: 0;
+}
+
+.scrubber .scale-slider {
+ /* abs(margin-top) + margin-bottom + bar height == timeThumb height */
+ margin-top: -10px;
+ margin-bottom: 10px;
+}
+/* .scale-thumb is an element inside the <scale> implementation. */
+.scrubber .scale-thumb,
+.volumeControl .scale-thumb {
+ /* Override the default thumb appearance with a custom image. */
+ -moz-appearance: none;
+ background: transparent;
+ border: none;
+}
+
+.timeThumb {
+ background: url(chrome://global/skin/media/scrubberThumb.png) no-repeat center;
+ min-width: 45px;
+ min-height: 28px;
+ -moz-box-pack: center;
+}
+
+.timeThumb[showhours="true"] {
+ background-image: url(chrome://global/skin/media/scrubberThumbWide.png);
+}
+
+.timeLabel {
+ color: rgba(255,255,255,.75);
+ font: message-box;
+ font-size: 10px;
+ text-shadow: rgba(0,0,0,.3) 0 1px;
+ padding-top: 7px;
+}
+
+%ifdef XP_MACOSX
+.timeLabel {
+ padding-top: 7px; /* center vertically with scrubber bar */
+}
+%else
+.timeLabel {
+ padding-top: 5px; /* center vertically with scrubber bar */
+}
+%endif
+
+.statusOverlay {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ background-color: rgba(0,0,0,.55);
+}
+
+.statusIcon {
+ margin-bottom: 28px; /* same height as .controlBar, to keep icon centered above it */
+ width: 36px;
+ height: 36px;
+}
+
+.statusIcon[type="throbber"] {
+ background: url(chrome://global/skin/media/throbber.png) no-repeat center;
+}
+
+.statusIcon[type="throbber"][stalled] {
+ background: url(chrome://global/skin/media/stalled.png) no-repeat center;
+}
+
+.statusIcon[type="error"] {
+ background: url(chrome://global/skin/media/error.png) no-repeat center;
+}
+
+/* Overlay Play button */
+.clickToPlay {
+ width: 64px;
+ height: 64px;
+ -moz-box-pack: center;
+ -moz-box-align: center;
+ opacity: 0.7;
+ background-image: url(chrome://global/skin/media/clicktoplay-bgtexture.png),
+ url(chrome://global/skin/media/videoClickToPlayButton.svg);
+ background-repeat: repeat, no-repeat;
+ background-position: center, center;
+ background-size: auto, 64px 64px;
+ background-color: hsla(0,0%,10%,.5);
+}
+.clickToPlay:hover {
+ opacity: 1;
+}
+
+/* Statistics formatting */
+html|*.statsDiv {
+ position: relative;
+}
+html|td {
+ height: 1em;
+ max-height: 1em;
+ padding: 0 2px;
+}
+html|table {
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 11px;
+ color: white;
+ text-shadow:
+ -1px -1px 0 #000,
+ 1px -1px 0 #000,
+ -1px 1px 0 #000,
+ 1px 1px 0 #000;
+ min-width: 100%;
+ background: rgba(68,68,68,.7);
+ table-layout: fixed;
+ border-collapse: collapse;
+ position: absolute;
+}
+
+/* CSS Transitions */
+.clickToPlay {
+ transition-property: opacity, background-size;
+ transition-duration: 400ms, 400ms;
+}
+.clickToPlay[fadeout] {
+ background-size: auto, 192px 192px;
+ opacity: 0;
+}
+.clickToPlay[fadeout][immediate] {
+ transition-property: opacity, background-size;
+ transition-duration: 0s, 0s;
+}
+.controlBar:not([immediate]) {
+ transition-property: opacity;
+ transition-duration: 200ms;
+}
+.controlBar[fadeout] {
+ opacity: 0;
+}
+.volumeStack:not([immediate]) {
+ transition-property: opacity, margin-top;
+ transition-duration: 200ms, 200ms;
+}
+.volumeStack[fadeout] {
+ opacity: 0;
+ margin-top: 0;
+}
+.statusOverlay:not([immediate]) {
+ transition-property: opacity;
+ transition-duration: 300ms;
+ transition-delay: 750ms;
+}
+.statusOverlay[fadeout] {
+ opacity: 0;
+}
+
+/* Error description formatting */
+.errorLabel {
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 11px;
+ color: #bbb;
+ text-shadow:
+ -1px -1px 0 #000,
+ 1px -1px 0 #000,
+ -1px 1px 0 #000,
+ 1px 1px 0 #000;
+ padding: 0 10px;
+ text-align: center;
+}
+
+@media (min-resolution: 2dppx) {
+ .playButton {
+ background-image: url(chrome://global/skin/media/pauseButton@2x.png);
+ background-size: 28px 28px;
+ }
+ .playButton[paused] {
+ background-image: url(chrome://global/skin/media/playButton@2x.png);
+ background-size: 28px 28px;
+ }
+ .volumeBackground {
+ background-image: url(chrome://global/skin/media/volume-empty@2x.png);
+ background-size: 32px 16px;
+ }
+ .volumeForeground {
+ background-image: url(chrome://global/skin/media/volume-full@2x.png);
+ background-size: 32px 16px;
+ }
+ .muteButton {
+ background-image: url(chrome://global/skin/media/muteButton@2x.png);
+ background-size: 33px 28px;
+ }
+ .muteButton[muted] {
+ background-image: url(chrome://global/skin/media/unmuteButton@2x.png);
+ background-size: 33px 28px;
+ }
+ .muteButton[noAudio] {
+ background-image: url(chrome://global/skin/media/noAudio@2x.png);
+ background-size: 33px 28px;
+ }
+ .closedCaptionButton {
+ background-image: url(chrome://global/skin/media/closeCaptionButton@2x.png);
+ background-position: 4px;
+ background-size: 28px 28px;
+ }
+ .fullscreenButton {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 32, 32, 0);
+ background-size: 16px 16px;
+ }
+ .fullscreenButton[fullscreened] {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 64, 32, 32);
+ background-size: 16px 16px;
+ }
+ .timeThumb {
+ background-image: url(chrome://global/skin/media/scrubberThumb@2x.png);
+ background-size: 33px 28px;
+ }
+ .timeThumb[showhours="true"] {
+ background-image: url(chrome://global/skin/media/scrubberThumbWide@2x.png);
+ background-size: 45px 28px;
+ }
+}
diff --git a/toolkit/themes/shared/media/volume-empty.png b/toolkit/themes/shared/media/volume-empty.png
new file mode 100644
index 0000000000..589abfbd58
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-empty.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-empty@2x.png b/toolkit/themes/shared/media/volume-empty@2x.png
new file mode 100644
index 0000000000..ca494e8936
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-empty@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-full.png b/toolkit/themes/shared/media/volume-full.png
new file mode 100644
index 0000000000..4398a569b8
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-full.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-full@2x.png b/toolkit/themes/shared/media/volume-full@2x.png
new file mode 100644
index 0000000000..5bf63c7ee2
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-full@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/menu-check-active.svg b/toolkit/themes/shared/menu-check-active.svg
new file mode 100644
index 0000000000..ba8a7c992d
--- /dev/null
+++ b/toolkit/themes/shared/menu-check-active.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+ <polygon fill="#4a90e2" points="7.1,15.5 0.5,10.8 2.2,8.3 6.3,11.2 13,0.5 15.5,2.2 "/>
+</svg>
diff --git a/toolkit/themes/shared/menu-check-black.svg b/toolkit/themes/shared/menu-check-black.svg
new file mode 100644
index 0000000000..f388f8151e
--- /dev/null
+++ b/toolkit/themes/shared/menu-check-black.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9">
+ <polygon points="4,9 0,6.2 1,4.7 3.5,6.4 7.5,0 9,1 "/>
+</svg>
diff --git a/toolkit/themes/shared/menu-check-hover.svg b/toolkit/themes/shared/menu-check-hover.svg
new file mode 100644
index 0000000000..b8c8ec322d
--- /dev/null
+++ b/toolkit/themes/shared/menu-check-hover.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 9">
+ <polygon fill="#ccc" points="4,9 0,6.2 1,4.7 3.5,6.4 7.5,0 9,1 "/>
+</svg>
diff --git a/toolkit/themes/shared/menu-check.png b/toolkit/themes/shared/menu-check.png
new file mode 100644
index 0000000000..d82635a639
--- /dev/null
+++ b/toolkit/themes/shared/menu-check.png
Binary files differ
diff --git a/toolkit/themes/shared/menu-check@2x.png b/toolkit/themes/shared/menu-check@2x.png
new file mode 100644
index 0000000000..2b1f836132
--- /dev/null
+++ b/toolkit/themes/shared/menu-check@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/mozapps.inc.mn b/toolkit/themes/shared/mozapps.inc.mn
new file mode 100644
index 0000000000..bb43fd4d2c
--- /dev/null
+++ b/toolkit/themes/shared/mozapps.inc.mn
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is not a complete / proper jar manifest. It is included by the
+# actual theme-specific manifests, so that shared resources need only
+# be specified once. As a result, the source file paths are relative
+# to the location of the actual manifest.
+
+ skin/classic/mozapps/extensions/extensionGeneric.svg (../../shared/extensions/extensionGeneric.svg)
+ skin/classic/mozapps/extensions/utilities.svg (../../shared/extensions/utilities.svg)
+ skin/classic/mozapps/extensions/navigation.png (../../shared/extensions/navigation.png)
+ skin/classic/mozapps/extensions/alerticon-warning.svg (../../shared/extensions/alerticon-warning.svg)
+ skin/classic/mozapps/extensions/alerticon-error.svg (../../shared/extensions/alerticon-error.svg)
+ skin/classic/mozapps/extensions/alerticon-info-positive.svg (../../shared/extensions/alerticon-info-positive.svg)
+ skin/classic/mozapps/extensions/alerticon-info-negative.svg (../../shared/extensions/alerticon-info-negative.svg)
+ skin/classic/mozapps/formautofill/requestAutocomplete.css (../../shared/formautofill/requestAutocomplete.css)
+ skin/classic/mozapps/plugins/pluginProblem.css (../../shared/plugins/pluginProblem.css)
+ skin/classic/mozapps/aboutNetworking.css (../../shared/aboutNetworking.css)
+#ifndef ANDROID
+ skin/classic/mozapps/aboutProfiles.css (../../shared/aboutProfiles.css)
+#endif
+ skin/classic/mozapps/aboutServiceWorkers.css (../../shared/aboutServiceWorkers.css)
+ skin/classic/mozapps/plugins/contentPluginActivate.png (../../shared/plugins/contentPluginActivate.png)
+ skin/classic/mozapps/plugins/contentPluginBlocked.png (../../shared/plugins/contentPluginBlocked.png)
+ skin/classic/mozapps/plugins/contentPluginClose.png (../../shared/plugins/contentPluginClose.png)
+ skin/classic/mozapps/plugins/contentPluginCrashed.png (../../shared/plugins/contentPluginCrashed.png)
+ skin/classic/mozapps/plugins/contentPluginStripe.png (../../shared/plugins/contentPluginStripe.png)
diff --git a/toolkit/themes/shared/narrate.css b/toolkit/themes/shared/narrate.css
new file mode 100644
index 0000000000..8a44e78e25
--- /dev/null
+++ b/toolkit/themes/shared/narrate.css
@@ -0,0 +1,46 @@
+.narrating {
+ position: relative;
+ z-index: 1;
+}
+
+body.light .narrating {
+ background-color: #ffc;
+}
+
+body.sepia .narrating {
+ background-color: #e0d7c5;
+}
+
+body.dark .narrating {
+ background-color: #242424;
+}
+
+.narrate-word-highlight {
+ position: absolute;
+ display: none;
+ transform: translate(-50%, calc(-50% - 2px));
+ z-index: -1;
+ border-bottom-style: solid;
+ border-bottom-width: 7px;
+ transition: left 0.1s ease;
+}
+
+.narrating > .narrate-word-highlight {
+ display: inline-block;
+}
+
+.narrate-word-highlight.newline {
+ transition: none;
+}
+
+body.light .narrate-word-highlight {
+ border-bottom-color: #ffe087;
+}
+
+body.sepia .narrate-word-highlight {
+ border-bottom-color: #bdb5a5;
+}
+
+body.dark .narrate-word-highlight {
+ border-bottom-color: #6f6f6f;
+}
diff --git a/toolkit/themes/shared/narrate/arrow.svg b/toolkit/themes/shared/narrate/arrow.svg
new file mode 100644
index 0000000000..2fb21417d6
--- /dev/null
+++ b/toolkit/themes/shared/narrate/arrow.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 12 12">
+ <path d="M6 9L1 4l1-1 4 4 4-4 1 1z" fill="#4C4C4C"/>
+</svg>
diff --git a/toolkit/themes/shared/narrate/back.svg b/toolkit/themes/shared/narrate/back.svg
new file mode 100644
index 0000000000..d29586e382
--- /dev/null
+++ b/toolkit/themes/shared/narrate/back.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
+ <defs>
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ #disabled {
+ opacity: 0.5;
+ }
+ </style>
+ <path id="shape" d="M 5 0 C 4.446 0 4 0.446 4 1 L 4 23 C 4 23.554 4.446 24 5 24 L 7 24 C 7.554 24 8 23.554 8 23 L 8 12.404297 C 8.04108 12.509297 8.109944 12.610125 8.203125 12.703125 L 19.296875 23.775391 C 19.495259 23.972391 19.661613 24.039562 19.796875 23.976562 C 19.932137 23.915564 20 23.748516 20 23.478516 L 20 0.52148438 C 20 0.25248437 19.93214 0.084484365 19.796875 0.021484375 C 19.661613 -0.040515625 19.495259 0.02856248 19.296875 0.2265625 L 8.203125 11.298828 C 8.1099445 11.381828 8.04108 11.481703 8 11.595703 L 8 1 C 8 0.446 7.554 0 7 0 L 5 0 z " fill="gray"/>
+ </defs>
+ <use id="enabled" xlink:href="#shape"/>
+ <use id="disabled" xlink:href="#shape"/>
+</svg>
diff --git a/toolkit/themes/shared/narrate/fast.svg b/toolkit/themes/shared/narrate/fast.svg
new file mode 100644
index 0000000000..cd25a6a035
--- /dev/null
+++ b/toolkit/themes/shared/narrate/fast.svg
@@ -0,0 +1,3 @@
+<svg id="Icons" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 20.4">
+ <path fill="gray" d="M14.42 16.68a.77.77 0 0 0 .54.7l2.51.68a1.58 1.58 0 0 1 1.06 1.22l.05.39-3.89-.53a4.34 4.34 0 0 1-1.74-.72L7.2 14.03a5.79 5.79 0 0 1-5.34-4.88h-.82a1 1 0 0 1-1-1l2.9-3.24a6.16 6.16 0 0 1 4.7-2.39 5.88 5.88 0 0 1 .77.05 5 5 0 0 1 .87.15c3.75 1 6.5 5.84 6.5 5.84a2.27 2.27 0 0 0 1.14.85h.17a1.27 1.27 0 0 0 1.22-.4l.78-1-2.47-1.2c-3.38-1.46-2.46-5.71-2.46-5.71 0-.26.23-.32.42-.14l5.32 5-4.31-4.81a1.39 1.39 0 0 1 .81-1.22l4.17 6.65.33.31 2.19 1.54a2.44 2.44 0 0 1 .92 1.75v2.77l-.16.13a1.66 1.66 0 0 1-1.63.19l-.75-.36a2.57 2.57 0 0 0-2.55.32l-2.18 1.82a4.28 4.28 0 0 1-.89.55 10.18 10.18 0 0 0-4.62-8.46c-.27-.16-.66.31-.47.48a10.52 10.52 0 0 1 3.68 8.5v.48zm8.38-5.42a.49.49 0 1 0-.49-.49.49.49 0 0 0 .49.49zm-18 9.14v-.52a1.39 1.39 0 0 1 .93-1.25s2.7-.66 3.43-1.84l2.06 1.63a25.62 25.62 0 0 1-6.43 2z"/>
+</svg>
diff --git a/toolkit/themes/shared/narrate/forward.svg b/toolkit/themes/shared/narrate/forward.svg
new file mode 100644
index 0000000000..53e64e9511
--- /dev/null
+++ b/toolkit/themes/shared/narrate/forward.svg
@@ -0,0 +1,15 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
+ <defs>
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ #disabled {
+ opacity: 0.5;
+ }
+ </style>
+ <path id="shape" d="m 19,0 c 0.554,0 1,0.446 1,1 l 0,22 c 0,0.554 -0.446,1 -1,1 l -2,0 c -0.554,0 -1,-0.446 -1,-1 l 0,-10.595703 c -0.04108,0.105 -0.109944,0.205828 -0.203125,0.298828 L 4.703125,23.775391 c -0.198384,0.197 -0.364738,0.264171 -0.5,0.201171 C 4.067863,23.915564 4,23.748516 4,23.478516 L 4,0.52148438 c 0,-0.26900001 0.06786,-0.43700001 0.203125,-0.5 0.135262,-0.062 0.301616,0.0070781 0.5,0.20507812 l 11.09375,11.0722655 c 0.09318,0.083 0.162045,0.182875 0.203125,0.296875 L 16,1 c 0,-0.554 0.446,-1 1,-1 l 2,0 z" fill="gray"/>
+ </defs>
+ <use id="enabled" xlink:href="#shape"/>
+ <use id="disabled" xlink:href="#shape"/>
+</svg>
diff --git a/toolkit/themes/shared/narrate/slow.svg b/toolkit/themes/shared/narrate/slow.svg
new file mode 100644
index 0000000000..1892b66e1f
--- /dev/null
+++ b/toolkit/themes/shared/narrate/slow.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <g fill="gray">
+ <path d="M1.684,13.486c-0.209,0-0.404-0.132-0.474-0.341c-0.528-1.58-0.23-5.767,4.097-7.921 c1.315-0.656,2.589-0.988,3.787-0.988c3.237,0,5.096,2.341,5.99,3.465c0.158,0.199,0.181,0.533,0,0.713 c-0.793,0.794-1.852,1.542-3.231,2.286c-2.46,1.327-5.045,1.775-7.121,2.134c-1.123,0.194-2.093,0.361-2.89,0.627 C1.789,13.479,1.735,13.486,1.684,13.486L1.684,13.486z"/>
+ <path d="M23.185,5.465c-0.86-1.121-2.074-1.819-3.168-1.819c-0.641,0-1.556,0.23-2.273,1.328 c-0.374,0.571-0.577,1.161-0.773,1.73c-0.512,1.482-1.041,3.016-4.662,4.969c-2.316,1.249-4.707,1.664-6.815,2.03 c-2.524,0.438-4.704,0.814-5.455,2.622c-0.069,0.165-0.045,0.354,0.062,0.495c0.107,0.143,0.281,0.217,0.46,0.193 c0.667-0.081,1.533,0.041,2.434,0.217c-0.122,0.146-0.261,0.286-0.391,0.418c-0.38,0.385-0.774,0.783-0.657,1.292 c0.108,0.474,0.604,0.699,0.966,0.828c0.399,0.142,0.843,0.217,1.283,0.217c1.241,0,2.216-0.579,2.649-1.539 c1.704,0.287,3.487,0.313,5.043,0.313l1.639-0.006c0.066,0.056,0.178,0.166,0.264,0.25c0.504,0.506,1.348,1.351,2.721,1.351 c0.129,0,0.264-0.008,0.416-0.026c0.687-0.102,1.351-0.267,1.574-0.787c0.227-0.528-0.123-1.023-0.526-1.597 c-0.481-0.685-1.08-1.532-0.998-2.652c0.196-0.397,0.368-0.824,0.546-1.267c0.479-1.19,0.975-2.421,2.12-3.513 c0.431,0.343,1.022,0.549,1.63,0.549l0,0c0.439,0,0.876-0.102,1.295-0.3c0.624-0.293,1.104-0.967,1.316-1.847 C24.175,7.707,23.914,6.418,23.185,5.465L23.185,5.465z M20.397,7.757c-0.276,0-0.5-0.224-0.5-0.5s0.224-0.5,0.5-0.5 c0.275,0,0.5,0.224,0.5,0.5S20.674,7.757,20.397,7.757z"/>
+ </g>
+</svg>
diff --git a/toolkit/themes/shared/narrate/start.svg b/toolkit/themes/shared/narrate/start.svg
new file mode 100644
index 0000000000..95fa713133
--- /dev/null
+++ b/toolkit/themes/shared/narrate/start.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M21.64 12.44L2.827 22.895c-.217.123-.403.137-.56.042-.155-.094-.233-.264-.233-.51V1.572c0-.244.08-.414.233-.51.157-.093.343-.08.56.044L21.642 11.56c.217.124.326.27.326.44 0 .17-.11.316-.327.44z" fill="gray"/>
+</svg>
diff --git a/toolkit/themes/shared/narrate/stop.svg b/toolkit/themes/shared/narrate/stop.svg
new file mode 100644
index 0000000000..c017c578f9
--- /dev/null
+++ b/toolkit/themes/shared/narrate/stop.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <rect ry="1" rx="1" y="2" x="2" height="20" width="20" fill="gray"/>
+</svg>
diff --git a/toolkit/themes/shared/narrateControls.css b/toolkit/themes/shared/narrateControls.css
new file mode 100644
index 0000000000..91d02d85a9
--- /dev/null
+++ b/toolkit/themes/shared/narrateControls.css
@@ -0,0 +1,185 @@
+:scope {
+ --border-color: #e5e5e5;
+}
+
+#narrate-toggle > svg {
+ display: block;
+ margin: 0 8px;
+}
+
+.dropdown-popup button {
+ background-color: transparent;
+}
+
+.dropdown-popup button:hover:not(:disabled) {
+ background-color: #eaeaea;
+}
+
+.narrate-row {
+ display: flex;
+ align-items: center;
+ min-height: 40px;
+ box-sizing: border-box;
+}
+
+.narrate-row:not(:first-child) {
+ border-top: 1px solid var(--border-color);
+}
+
+/* Control buttons */
+
+#narrate-control > button {
+ background-size: 24px 24px;
+ background-repeat: no-repeat;
+ background-position: center center;
+ height: 64px;
+ width: 100px;
+ border: none;
+ color: #666;
+ box-sizing: border-box;
+}
+
+#narrate-control > button:not(:first-child) {
+ border-left: 1px solid var(--border-color);
+}
+
+#narrate-skip-previous {
+ border-top-left-radius: 3px;
+ background-image: url("chrome://global/skin/narrate/back.svg#enabled");
+}
+
+#narrate-skip-next {
+ border-top-right-radius: 3px;
+ background-image: url("chrome://global/skin/narrate/forward.svg#enabled");
+}
+
+#narrate-skip-previous:disabled {
+ background-image: url("chrome://global/skin/narrate/back.svg#disabled");
+}
+
+#narrate-skip-next:disabled {
+ background-image: url("chrome://global/skin/narrate/forward.svg#disabled");
+}
+
+#narrate-start-stop {
+ background-image: url("chrome://global/skin/narrate/start.svg");
+}
+
+#narrate-dropdown.speaking #narrate-start-stop {
+ background-image: url("chrome://global/skin/narrate/stop.svg");
+}
+
+/* Rate control */
+
+#narrate-rate::before, #narrate-rate::after {
+ content: '';
+ width: 48px;
+ height: 40px;
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: 24px auto;
+}
+
+#narrate-rate::before {
+ background-image: url("chrome://global/skin/narrate/slow.svg");
+}
+
+#narrate-rate::after {
+ background-image: url("chrome://global/skin/narrate/fast.svg");
+}
+
+#narrate-rate-input {
+ margin: 0 1px;
+ flex-grow: 1;
+}
+
+#narrate-rate-input::-moz-range-track {
+ background-color: #979797;
+ height: 2px;
+}
+
+#narrate-rate-input::-moz-range-progress {
+ background-color: #2EA3FF;
+ height: 2px;
+}
+
+#narrate-rate-input::-moz-range-thumb {
+ background-color: #808080;
+ height: 16px;
+ width: 16px;
+ border-radius: 8px;
+ border-width: 0;
+}
+
+#narrate-rate-input:active::-moz-range-thumb {
+ background-color: #2EA3FF;
+}
+
+/* Voice selection */
+
+.voiceselect {
+ width: 100%;
+}
+
+.voiceselect > button.select-toggle,
+.voiceselect > .options > button.option {
+ -moz-appearance: none;
+ border: none;
+ width: 100%;
+ min-height: 40px;
+}
+
+.voiceselect.open > button.select-toggle {
+ border-bottom: 1px solid var(--border-color);
+}
+
+.voiceselect > button.select-toggle::after {
+ content: '';
+ background-image: url("chrome://global/skin/narrate/arrow.svg");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: 12px 12px;
+ display: inline-block;
+ width: 1.5em;
+ height: 1em;
+ vertical-align: middle;
+}
+
+.voiceselect > .options > button.option:not(:first-child) {
+ border-top: 1px solid var(--border-color);
+}
+
+.voiceselect > .options > button.option {
+ box-sizing: border-box;
+}
+
+.voiceselect > .options:not(.hovering) > button.option:focus {
+ background-color: #eaeaea;
+}
+
+.voiceselect > .options:not(.hovering) > button.option:hover:not(:focus) {
+ background-color: transparent;
+}
+
+.voiceselect > .options > button.option::-moz-focus-inner {
+ outline: none;
+ border: 0;
+}
+
+.voiceselect > .options {
+ display: none;
+ overflow-y: auto;
+}
+
+.voiceselect.open > .options {
+ display: block;
+}
+
+.current-voice {
+ color: #7f7f7f;
+}
+
+.voiceselect:not(.open) > button,
+.option:last-child {
+ border-radius: 0 0 3px 3px;
+}
diff --git a/toolkit/themes/shared/non-mac.jar.inc.mn b/toolkit/themes/shared/non-mac.jar.inc.mn
new file mode 100644
index 0000000000..151749f72f
--- /dev/null
+++ b/toolkit/themes/shared/non-mac.jar.inc.mn
@@ -0,0 +1,141 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is not a complete / proper jar manifest. It is conditionally included
+# by the shared jar manifest, which in turn is included by the os-specific
+# manifests.
+# As a result, the source file paths are relative to the location of the
+# actual manifests.
+
+#include jar.inc.mn
+
+ skin/classic/global/arrow.css (../../windows/global/arrow.css)
+ skin/classic/global/customizeToolbar.css (../../windows/global/customizeToolbar.css)
+ skin/classic/global/datetimepicker.css (../../windows/global/datetimepicker.css)
+ skin/classic/global/dialog.css (../../windows/global/dialog.css)
+ skin/classic/global/expander.css (../../windows/global/expander.css)
+ skin/classic/global/filefield.css (../../windows/global/filefield.css)
+ skin/classic/global/globalBindings.xml (../../windows/global/globalBindings.xml)
+ skin/classic/global/linkTree.css (../../windows/global/linkTree.css)
+ skin/classic/global/progressmeter.css (../../windows/global/progressmeter.css)
+ skin/classic/global/resizer.css (../../windows/global/resizer.css)
+ skin/classic/global/richlistbox.css (../../windows/global/richlistbox.css)
+ skin/classic/global/scale.css (../../windows/global/scale.css)
+#ifndef MOZ_THEME_FASTSTRIPE
+ skin/classic/global/scrollbars.css (../../windows/global/xulscrollbars.css)
+#endif
+ skin/classic/global/spinbuttons.css (../../windows/global/spinbuttons.css)
+ skin/classic/global/tabprompts.css (../../windows/global/tabprompts.css)
+ skin/classic/global/wizard.css (../../windows/global/wizard.css)
+
+ skin/classic/global/arrow/arrow-dn.gif (../../windows/global/arrow/arrow-dn.gif)
+ skin/classic/global/arrow/arrow-dn-dis.gif (../../windows/global/arrow/arrow-dn-dis.gif)
+ skin/classic/global/arrow/arrow-dn-hov.gif (../../windows/global/arrow/arrow-dn-hov.gif)
+ skin/classic/global/arrow/arrow-dn-sharp.gif (../../windows/global/arrow/arrow-dn-sharp.gif)
+ skin/classic/global/arrow/arrow-down.png (../../windows/global/arrow/arrow-down.png)
+ skin/classic/global/arrow/arrow-lft.gif (../../windows/global/arrow/arrow-lft.gif)
+ skin/classic/global/arrow/arrow-lft-dis.gif (../../windows/global/arrow/arrow-lft-dis.gif)
+ skin/classic/global/arrow/arrow-lft-sharp.gif (../../windows/global/arrow/arrow-lft-sharp.gif)
+ skin/classic/global/arrow/arrow-lft-sharp-end.gif (../../windows/global/arrow/arrow-lft-sharp-end.gif)
+ skin/classic/global/arrow/arrow-rit.gif (../../windows/global/arrow/arrow-rit.gif)
+ skin/classic/global/arrow/arrow-rit-dis.gif (../../windows/global/arrow/arrow-rit-dis.gif)
+ skin/classic/global/arrow/arrow-rit-sharp.gif (../../windows/global/arrow/arrow-rit-sharp.gif)
+ skin/classic/global/arrow/arrow-rit-sharp-end.gif (../../windows/global/arrow/arrow-rit-sharp-end.gif)
+ skin/classic/global/arrow/arrow-up.gif (../../windows/global/arrow/arrow-up.gif)
+ skin/classic/global/arrow/arrow-up-dis.gif (../../windows/global/arrow/arrow-up-dis.gif)
+ skin/classic/global/arrow/arrow-up-hov.gif (../../windows/global/arrow/arrow-up-hov.gif)
+ skin/classic/global/arrow/arrow-up-sharp.gif (../../windows/global/arrow/arrow-up-sharp.gif)
+ skin/classic/global/arrow/panelarrow-horizontal.svg (../../windows/global/arrow/panelarrow-horizontal.svg)
+ skin/classic/global/arrow/panelarrow-vertical.svg (../../windows/global/arrow/panelarrow-vertical.svg)
+ skin/classic/global/arrow/panelarrow-horizontal-themed.svg (../../windows/global/arrow/panelarrow-horizontal-themed.svg)
+ skin/classic/global/arrow/panelarrow-vertical-themed.svg (../../windows/global/arrow/panelarrow-vertical-themed.svg)
+
+ skin/classic/global/checkbox/cbox-check.gif (../../windows/global/checkbox/cbox-check.gif)
+ skin/classic/global/checkbox/cbox-check-dis.gif (../../windows/global/checkbox/cbox-check-dis.gif)
+* skin/classic/global/dirListing/dirListing.css (../../windows/global/dirListing/dirListing.css)
+ skin/classic/global/dirListing/folder.png (../../windows/global/dirListing/folder.png)
+ skin/classic/global/dirListing/local.png (../../windows/global/dirListing/local.png)
+ skin/classic/global/dirListing/up.png (../../windows/global/dirListing/up.png)
+ skin/classic/global/icons/Close.gif (../../windows/global/icons/Close.gif)
+ skin/classic/global/icons/close.png (../../windows/global/icons/close.png)
+ skin/classic/global/icons/close@2x.png (../../windows/global/icons/close@2x.png)
+ skin/classic/global/icons/close-inverted.png (../../windows/global/icons/close-inverted.png)
+ skin/classic/global/icons/close-inverted@2x.png (../../windows/global/icons/close-inverted@2x.png)
+ skin/classic/global/icons/collapse.png (../../windows/global/icons/collapse.png)
+ skin/classic/global/icons/Error.png (../../windows/global/icons/Error.png)
+ skin/classic/global/icons/error-16.png (../../windows/global/icons/error-16.png)
+ skin/classic/global/icons/error-64.png (../../windows/global/icons/error-64.png)
+ skin/classic/global/icons/expand.png (../../windows/global/icons/expand.png)
+ skin/classic/global/icons/folder-item.png (../../windows/global/icons/folder-item.png)
+ skin/classic/global/icons/information-16.png (../../windows/global/icons/information-16.png)
+ skin/classic/global/icons/information-24.png (../../windows/global/icons/information-24.png)
+ skin/classic/global/icons/information-32.png (../../windows/global/icons/information-32.png)
+ skin/classic/global/icons/Minimize.gif (../../windows/global/icons/Minimize.gif)
+ skin/classic/global/icons/Print-preview.png (../../windows/global/icons/Print-preview.png)
+ skin/classic/global/icons/Portrait.png (../../windows/global/icons/Portrait.png)
+ skin/classic/global/icons/Landscape.png (../../windows/global/icons/Landscape.png)
+ skin/classic/global/icons/Question.png (../../windows/global/icons/Question.png)
+ skin/classic/global/icons/question-16.png (../../windows/global/icons/question-16.png)
+ skin/classic/global/icons/question-64.png (../../windows/global/icons/question-64.png)
+ skin/classic/global/icons/resizer-rtl.png (../../windows/global/icons/resizer-rtl.png)
+ skin/classic/global/icons/Restore.gif (../../windows/global/icons/Restore.gif)
+ skin/classic/global/icons/Search-close.png (../../windows/global/icons/Search-close.png)
+ skin/classic/global/icons/Search-glass.png (../../windows/global/icons/Search-glass.png)
+ skin/classic/global/icons/tabprompts-bgtexture.png (../../windows/global/icons/tabprompts-bgtexture.png)
+ skin/classic/global/icons/Warning.png (../../windows/global/icons/Warning.png)
+ skin/classic/global/icons/warning-large.png (../../windows/global/icons/warning-large.png)
+ skin/classic/global/icons/warning-16.png (../../windows/global/icons/warning-16.png)
+ skin/classic/global/icons/warning-64.png (../../windows/global/icons/warning-64.png)
+ skin/classic/global/icons/windowControls.png (../../windows/global/icons/windowControls.png)
+ skin/classic/global/radio/radio-check.gif (../../windows/global/radio/radio-check.gif)
+ skin/classic/global/radio/radio-check-dis.gif (../../windows/global/radio/radio-check-dis.gif)
+ skin/classic/global/scale/scale-tray-horiz.gif (../../windows/global/scale/scale-tray-horiz.gif)
+ skin/classic/global/scale/scale-tray-vert.gif (../../windows/global/scale/scale-tray-vert.gif)
+ skin/classic/global/scrollbar/slider.gif (../../windows/global/scrollbar/slider.gif)
+ skin/classic/global/splitter/grip-bottom.gif (../../windows/global/splitter/grip-bottom.gif)
+ skin/classic/global/splitter/grip-top.gif (../../windows/global/splitter/grip-top.gif)
+ skin/classic/global/splitter/grip-left.gif (../../windows/global/splitter/grip-left.gif)
+ skin/classic/global/splitter/grip-right.gif (../../windows/global/splitter/grip-right.gif)
+ skin/classic/global/toolbar/chevron.gif (../../windows/global/toolbar/chevron.gif)
+ skin/classic/global/toolbar/chevron-inverted.png (../../windows/global/toolbar/chevron-inverted.png)
+ skin/classic/global/tree/columnpicker.gif (../../windows/global/tree/columnpicker.gif)
+ skin/classic/global/tree/sort-asc.png (../../windows/global/tree/sort-asc.png)
+ skin/classic/global/tree/sort-dsc.png (../../windows/global/tree/sort-dsc.png)
+ skin/classic/global/tree/sort-asc-classic.png (../../windows/global/tree/sort-asc-classic.png)
+ skin/classic/global/tree/sort-dsc-classic.png (../../windows/global/tree/sort-dsc-classic.png)
+
+ skin/classic/mozapps/downloads/downloadButtons.png (../../windows/mozapps/downloads/downloadButtons.png)
+ skin/classic/mozapps/downloads/unknownContentType.css (../../windows/mozapps/downloads/unknownContentType.css)
+ skin/classic/mozapps/extensions/about.css (../../windows/mozapps/extensions/about.css)
+ skin/classic/mozapps/extensions/blocklist.css (../../windows/mozapps/extensions/blocklist.css)
+ skin/classic/mozapps/extensions/update.css (../../windows/mozapps/extensions/update.css)
+ skin/classic/mozapps/extensions/discover-logo.png (../../windows/mozapps/extensions/discover-logo.png)
+ skin/classic/mozapps/extensions/experimentGeneric.png (../../windows/mozapps/extensions/experimentGeneric.png)
+ skin/classic/mozapps/extensions/rating-won.png (../../windows/mozapps/extensions/rating-won.png)
+ skin/classic/mozapps/extensions/rating-not-won.png (../../windows/mozapps/extensions/rating-not-won.png)
+ skin/classic/mozapps/extensions/cancel.png (../../windows/mozapps/extensions/cancel.png)
+ skin/classic/mozapps/extensions/eula.css (../../windows/mozapps/extensions/eula.css)
+ skin/classic/mozapps/handling/handling.css (../../windows/mozapps/handling/handling.css)
+ skin/classic/mozapps/plugins/pluginBlocked-64.png (../../windows/mozapps/plugins/pluginBlocked-64.png)
+ skin/classic/mozapps/plugins/pluginHelp-16.png (../../windows/mozapps/plugins/pluginHelp-16.png)
+ skin/classic/mozapps/profile/profileSelection.css (../../windows/mozapps/profile/profileSelection.css)
+ skin/classic/mozapps/update/downloadButtons.png (../../windows/mozapps/update/downloadButtons.png)
+* skin/classic/mozapps/xpinstall/xpinstallConfirm.css (../../windows/mozapps/extensions/xpinstallConfirm.css)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
+% override chrome://global/skin/arrow/arrow-lft-hov.gif chrome://global/skin/arrow/arrow-lft.gif
+% override chrome://global/skin/arrow/arrow-rit-hov.gif chrome://global/skin/arrow/arrow-rit.gif
+% override chrome://mozapps/skin/extensions/category-dictionaries.png chrome://mozapps/skin/extensions/dictionaryGeneric.png
+% override chrome://mozapps/skin/extensions/category-experiments.png chrome://mozapps/skin/extensions/experimentGeneric.png
+% override chrome://mozapps/skin/extensions/category-extensions.svg chrome://mozapps/skin/extensions/extensionGeneric.svg
+% override chrome://mozapps/skin/extensions/category-languages.png chrome://mozapps/skin/extensions/localeGeneric.png
+% override chrome://mozapps/skin/extensions/category-themes.png chrome://mozapps/skin/extensions/themeGeneric.png
+% override chrome://mozapps/skin/plugins/notifyPluginCrashed.png chrome://mozapps/skin/plugins/pluginGeneric-16.png
+% override chrome://mozapps/skin/plugins/notifyPluginGeneric.png chrome://mozapps/skin/plugins/pluginGeneric-16.png
+% override chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png chrome://mozapps/skin/extensions/extensionGeneric.png
+
diff --git a/toolkit/themes/shared/passwordmgr.css b/toolkit/themes/shared/passwordmgr.css
new file mode 100644
index 0000000000..f95d176d73
--- /dev/null
+++ b/toolkit/themes/shared/passwordmgr.css
@@ -0,0 +1,26 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.contentPane {
+ margin: 9px 8px 5px 8px;
+}
+
+.actionButtons {
+ margin: 0px 3px 6px 3px !important;
+}
+
+treechildren::-moz-tree-image(siteCol) {
+ list-style-image: url(chrome://mozapps/skin/places/defaultFavicon.png);
+ width: 16px;
+ height: 16px;
+ margin-inline-end: 5px;
+}
+
+@media (min-resolution: 1.1dppx) {
+ treechildren::-moz-tree-image(siteCol) {
+ list-style-image: url(chrome://mozapps/skin/places/defaultFavicon@2x.png);
+ }
+}
diff --git a/toolkit/themes/shared/places/defaultFavicon-inverted.png b/toolkit/themes/shared/places/defaultFavicon-inverted.png
new file mode 100644
index 0000000000..82c8d1f874
--- /dev/null
+++ b/toolkit/themes/shared/places/defaultFavicon-inverted.png
Binary files differ
diff --git a/toolkit/themes/shared/places/defaultFavicon-inverted@2x.png b/toolkit/themes/shared/places/defaultFavicon-inverted@2x.png
new file mode 100644
index 0000000000..b5663444e4
--- /dev/null
+++ b/toolkit/themes/shared/places/defaultFavicon-inverted@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/places/defaultFavicon.png b/toolkit/themes/shared/places/defaultFavicon.png
new file mode 100644
index 0000000000..4092dfb55d
--- /dev/null
+++ b/toolkit/themes/shared/places/defaultFavicon.png
Binary files differ
diff --git a/toolkit/themes/shared/places/defaultFavicon@2x.png b/toolkit/themes/shared/places/defaultFavicon@2x.png
new file mode 100644
index 0000000000..a1b23f6837
--- /dev/null
+++ b/toolkit/themes/shared/places/defaultFavicon@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginActivate.png b/toolkit/themes/shared/plugins/contentPluginActivate.png
new file mode 100644
index 0000000000..31351dc3b7
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginActivate.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginBlocked.png b/toolkit/themes/shared/plugins/contentPluginBlocked.png
new file mode 100644
index 0000000000..1e092bf189
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginBlocked.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginClose.png b/toolkit/themes/shared/plugins/contentPluginClose.png
new file mode 100644
index 0000000000..61eb558288
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginClose.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginCrashed.png b/toolkit/themes/shared/plugins/contentPluginCrashed.png
new file mode 100644
index 0000000000..89d3e91a99
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginCrashed.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginDisabled.png b/toolkit/themes/shared/plugins/contentPluginDisabled.png
new file mode 100644
index 0000000000..b8b6a10205
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginDisabled.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/contentPluginStripe.png b/toolkit/themes/shared/plugins/contentPluginStripe.png
new file mode 100644
index 0000000000..6035ee1215
--- /dev/null
+++ b/toolkit/themes/shared/plugins/contentPluginStripe.png
Binary files differ
diff --git a/toolkit/themes/shared/plugins/pluginProblem.css b/toolkit/themes/shared/plugins/pluginProblem.css
new file mode 100644
index 0000000000..9929bd92aa
--- /dev/null
+++ b/toolkit/themes/shared/plugins/pluginProblem.css
@@ -0,0 +1,206 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace html url(http://www.w3.org/1999/xhtml);
+
+/* These styles affect only the bound element, not other page content. */
+/* Keep any changes to these styles in sync with plugin-doorhanger.inc.css */
+.mainBox {
+ font: message-box;
+ font-size: 12px;
+ text-align: center;
+ display: table;
+ width: 100%;
+ height: 100%;
+ background-color: rgb(72,72,72);
+ color: white;
+ -moz-user-select: none;
+}
+
+.hoverBox {
+ display: table-cell;
+ box-sizing: border-box;
+ padding: 5px;
+ vertical-align: middle;
+ width: 100%;
+ height: 100%;
+}
+:-moz-handler-vulnerable-updatable .hoverBox:active,
+:-moz-handler-vulnerable-no-update .hoverBox:active,
+:-moz-handler-clicktoplay .hoverBox:active {
+ background-color: rgb(65, 65, 65);
+}
+
+:-moz-handler-clicktoplay .hoverBox:active .msgTapToPlay,
+:-moz-handler-clicktoplay .hoverBox:active .msgClickToPlay,
+:-moz-handler-vulnerable-updatable .hoverBox:active .msgTapToPlay,
+:-moz-handler-vulnerable-updatable .hoverBox:active .msgClickToPlay,
+:-moz-handler-vulnerable-no-update .hoverBox:active .msgTapToPlay,
+:-moz-handler-vulnerable-no-update .hoverBox:active .msgClickToPlay {
+ color: red;
+}
+
+:-moz-handler-vulnerable-updatable .hoverBox,
+:-moz-handler-vulnerable-no-update .hoverBox,
+:-moz-handler-blocked .hoverBox,
+:-moz-handler-crashed .hoverBox {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginStripe.png);
+}
+
+html|a {
+ color: white;
+}
+
+.icon {
+ width: 48px;
+ height: 48px;
+ background-position: center;
+ background-repeat: no-repeat;
+ border: none;
+ background-color: transparent;
+ -moz-user-focus: ignore;
+ margin-bottom: 6px;
+}
+
+:-moz-handler-vulnerable-updatable .icon,
+:-moz-handler-vulnerable-no-update .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
+ -moz-user-focus: normal;
+}
+:-moz-handler-blocked .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginBlocked.png);
+}
+a .icon,
+:-moz-handler-clicktoplay .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginActivate.png);
+ -moz-user-focus: normal;
+}
+:-moz-handler-crashed .icon {
+ background-image: url(chrome://mozapps/skin/plugins/contentPluginCrashed.png);
+}
+
+.throbber {
+ padding-left: 16px; /* width of the background image */
+ background: url(chrome://global/skin/icons/loading.png) no-repeat;
+ margin-left: 5px;
+}
+
+@media (min-resolution: 1.1dppx) {
+ .throbber {
+ background-image: url(chrome://global/skin/icons/loading@2x.png);
+ background-size: 16px;
+ }
+}
+
+.msgTapToPlay,
+.msgClickToPlay {
+ text-decoration: underline;
+}
+
+@media not all and (-moz-touch-enabled) {
+ :-moz-handler-clicktoplay .msgTapToPlay,
+ a .msgTapToPlay {
+ display: none;
+ }
+}
+
+@media (-moz-touch-enabled) {
+ :-moz-handler-clicktoplay .msgClickToPlay,
+ a .msgClickToPlay {
+ display: none;
+ }
+}
+
+.submitStatus div {
+ min-height: 19px; /* height of biggest line (with throbber) */
+}
+
+.submitComment {
+ width: 340px;
+ height: 70px;
+ padding: 5px;
+ border: none;
+ border-radius: 5px;
+ resize: none;
+ font-family: inherit;
+ font-size: inherit;
+}
+
+.submitURLOptInBox {
+ text-align: start;
+}
+
+.submitURLOptIn {
+ margin-left: -1px;
+}
+
+.mainBox[chromedir="rtl"] .submitURLOptIn {
+ margin-left: 0;
+ margin-right: -1px;
+}
+
+.submitButtonBox {
+ margin-top: 7px;
+}
+
+.submitButton {
+ float: right;
+}
+
+.mainBox[chromedir="rtl"] .submitButton {
+ float: left;
+}
+
+.helpIcon {
+ display: inline-block;
+ min-width: 16px;
+ min-height: 16px;
+ background: url(chrome://mozapps/skin/plugins/pluginHelp-16.png) no-repeat;
+ cursor: pointer;
+ float: left;
+}
+
+.mainBox[chromedir="rtl"] .helpIcon {
+ float: right;
+}
+
+.closeIcon {
+ display: block;
+ width: 16px;
+ height: 16px;
+ margin-top: 4px;
+ margin-inline-start: -20px;
+ margin-inline-end: 4px;
+ border: none;
+ background-color: transparent;
+ background-image: url("chrome://mozapps/skin/plugins/contentPluginClose.png");
+ background-repeat: no-repeat;
+}
+
+.closeIcon:hover {
+ background-position: -16px 0;
+}
+
+.closeIcon:hover:active {
+ background-position: -32px 0;
+}
+
+.action-link {
+ display: inline-block;
+ border-radius: 10px;
+ background-color: rgb(35, 35, 35);
+ padding: 2px 8px;
+ margin-top: 7px;
+ text-decoration: none;
+}
+.action-link:active {
+ background-color: rgb(20, 20, 20);
+}
+
+:-moz-handler-vulnerable-updatable .action-link {
+ background-color: #a81b0c;
+}
+:-moz-handler-vulnerable-updatable .action-link:active {
+ background-color: #801409;
+}
diff --git a/toolkit/themes/shared/reader/RM-Close-24x24.svg b/toolkit/themes/shared/reader/RM-Close-24x24.svg
new file mode 100644
index 0000000000..89fc1eb865
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Close-24x24.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
+ <defs>
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ #close {
+ fill: #808080;
+ }
+ #close-hover {
+ fill: #fff;
+ }
+ </style>
+
+ <path id="close-shape" d="M19,22H6a2,2,0,0,1-2-2V18l2,2H18a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1H6L4,6V4A2,2,0,0,1,6,2H19a2,2,0,0,1,2,2V20A2,2,0,0,1,19,22Zm-6-9H5.4l4.2,4.154L8.186,18.631,1.567,12.017,8.021,5.411,9.5,6.95,5.424,11H13v2Z"/>
+ </defs>
+ <use id="close" xlink:href="#close-shape"/>
+ <use id="close-hover" xlink:href="#close-shape"/>
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Content-Width-Minus-42x16.svg b/toolkit/themes/shared/reader/RM-Content-Width-Minus-42x16.svg
new file mode 100644
index 0000000000..48bbb9e890
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Content-Width-Minus-42x16.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="42"
+ height="16"
+ viewBox="0 0 42 16"
+ fill="#808080">
+
+ <path d="M14.5,7 L8.75,1.25 L10,-1.91791433e-15 L18,8 L17.375,8.625 L10,16 L8.75,14.75 L14.5,9 L1.13686838e-13,9 L1.13686838e-13,7 L14.5,7 Z"/>
+ <path d="M38.5,7 L32.75,1.25 L34,6.58831647e-15 L42,8 L41.375,8.625 L34,16 L32.75,14.75 L38.5,9 L24,9 L24,7 L38.5,7 Z" transform="translate(33.000000, 8.000000) scale(-1, 1) translate(-33.000000, -8.000000)"/>
+
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Content-Width-Plus-44x16.svg b/toolkit/themes/shared/reader/RM-Content-Width-Plus-44x16.svg
new file mode 100644
index 0000000000..bcdcbe8ad4
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Content-Width-Plus-44x16.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="44"
+ height="16"
+ viewBox="0 0 44 16"
+ fill="#808080">
+
+ <path d="M14.5,7 L8.75,1.25 L10,-1.91791433e-15 L18,8 L17.375,8.625 L10,16 L8.75,14.75 L14.5,9 L1.13686838e-13,9 L1.13686838e-13,7 L14.5,7 Z" transform="translate(9.000000, 8.000000) scale(-1, 1) translate(-9.000000, -8.000000)"/>
+ <path d="M40.5,7 L34.75,1.25 L36,-5.17110888e-16 L44,8 L43.375,8.625 L36,16 L34.75,14.75 L40.5,9 L26,9 L26,7 L40.5,7 Z"/>
+
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Line-Height-Minus-38x14.svg b/toolkit/themes/shared/reader/RM-Line-Height-Minus-38x14.svg
new file mode 100644
index 0000000000..05d52828a1
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Line-Height-Minus-38x14.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="38"
+ height="14"
+ viewBox="0 0 38 14"
+ fill="#808080">
+
+ <rect x="0" y="0" width="28" height="2"/>
+ <rect x="0" y="6" width="38" height="2"/>
+ <rect x="0" y="12" width="18" height="2"/>
+
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Line-Height-Plus-38x24.svg b/toolkit/themes/shared/reader/RM-Line-Height-Plus-38x24.svg
new file mode 100644
index 0000000000..0a5ee0dccf
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Line-Height-Plus-38x24.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<svg version="1.1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="38"
+ height="24"
+ viewBox="0 0 38 24"
+ fill="#808080">
+
+ <rect x="0" y="0" width="28" height="2"/>
+ <rect x="0" y="11" width="38" height="2"/>
+ <rect x="0" y="22" width="18" height="2"/>
+
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Minus-24x24.svg b/toolkit/themes/shared/reader/RM-Minus-24x24.svg
new file mode 100644
index 0000000000..e85a397613
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Minus-24x24.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path fill-rule="evenodd" fill="#808080" d="M0,13.5v-3h24v3H0z"/>
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Plus-24x24.svg b/toolkit/themes/shared/reader/RM-Plus-24x24.svg
new file mode 100644
index 0000000000..f3a98ddb2b
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Plus-24x24.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path fill-rule="evenodd" fill="#808080" d="M24,13.5H13.5V24h-3V13.5H0v-3h10.5V0h3v10.5H24V13.5z"/>
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Type-Controls-24x24.svg b/toolkit/themes/shared/reader/RM-Type-Controls-24x24.svg
new file mode 100644
index 0000000000..5f43818de7
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Type-Controls-24x24.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+ <path fill="#737373" d="M10.87,18.989h2.144L8.3,3.991H5.724l-4.739,15H3.044l1.115-4.171h5.6ZM4.652,12.91L6.968,5.69l2.294,7.22H4.652ZM22.1,16.515v-5.06c0-2.31-.984-3.713-3.65-3.713a10.236,10.236,0,0,0-3.7.756L15.116,9.9A9.9,9.9,0,0,1,18.1,9.317c1.533,0,1.958.627,1.958,2.223v0.975h-1.35c-3.086,0-4.871,1.125-4.871,3.5a3.217,3.217,0,0,0,3.527,3.338,3.205,3.205,0,0,0,2.945-1.659,2.573,2.573,0,0,0,2.436,1.659l0.441-1.344A1.408,1.408,0,0,1,22.1,16.515ZM17.8,17.9a1.744,1.744,0,0,1-1.911-1.995c0-1.512,1.029-2.111,3.065-2.111h1.1V16.18C19.426,17.334,18.938,17.9,17.8,17.9Z"/>
+</svg>
diff --git a/toolkit/themes/shared/reader/RM-Type-Controls-Arrow.svg b/toolkit/themes/shared/reader/RM-Type-Controls-Arrow.svg
new file mode 100644
index 0000000000..837392ff3f
--- /dev/null
+++ b/toolkit/themes/shared/reader/RM-Type-Controls-Arrow.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <polygon opacity="0.15" points="16.583,0.015 16.569,0 4.583,12 16.569,24 16.583,23.985"/>
+ <polygon fill="#fbfbfb" points="16.575,1.021 16.561,1.008 5.583,12 16.577,23.008 16.591,22.994 "/>
+</svg>
diff --git a/toolkit/themes/shared/timepicker.css b/toolkit/themes/shared/timepicker.css
new file mode 100644
index 0000000000..e8d081b301
--- /dev/null
+++ b/toolkit/themes/shared/timepicker.css
@@ -0,0 +1,153 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+:root {
+ --font-size-default: 1.1rem;
+ --spinner-width: 3rem;
+ --spinner-margin-top-bottom: 0.4rem;
+ --spinner-item-height: 2.4rem;
+ --spinner-item-margin-bottom: 0.1rem;
+ --spinner-button-height: 1.2rem;
+ --colon-width: 2rem;
+ --day-period-spacing-width: 1rem;
+
+ --border: 0.1rem solid #D6D6D6;
+ --border-radius: 0.3rem;
+
+ --font-color: #191919;
+ --fill-color: #EBEBEB;
+
+ --selected-font-color: #FFFFFF;
+ --selected-fill-color: #0996F8;
+
+ --button-font-color: #858585;
+ --button-font-color-hover: #4D4D4D;
+ --button-font-color-active: #191919;
+
+ --disabled-opacity: 0.2;
+}
+
+html {
+ font-size: 10px;
+}
+
+body {
+ margin: 0;
+ color: var(--font-color);
+ font-size: var(--font-size-default);
+}
+
+#time-picker {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-around;
+}
+
+.spinner-container {
+ font-family: sans-serif;
+ display: flex;
+ flex-direction: column;
+ width: var(--spinner-width);
+}
+
+.spinner-container > button {
+ -moz-appearance: none;
+ border: none;
+ background: none;
+ background-color: var(--button-font-color);
+ height: var(--spinner-button-height);
+}
+
+.spinner-container > button:hover {
+ background-color: var(--button-font-color-hover);
+}
+
+.spinner-container > button.active {
+ background-color: var(--button-font-color-active);
+}
+
+.spinner-container > button.up {
+ mask: url("chrome://global/skin/icons/find-arrows.svg#glyph-find-previous") no-repeat 50% 50%;
+}
+
+.spinner-container > button.down {
+ mask: url("chrome://global/skin/icons/find-arrows.svg#glyph-find-next") no-repeat 50% 50%;
+}
+
+.spinner-container.hide-buttons > button {
+ visibility: hidden;
+}
+
+.spinner-container > .spinner {
+ position: relative;
+ width: 100%;
+ margin: var(--spinner-margin-top-bottom) 0;
+ cursor: default;
+ overflow-y: scroll;
+ scroll-snap-type: mandatory;
+ scroll-snap-points-y: repeat(100%);
+}
+
+.spinner-container > .spinner > div {
+ box-sizing: border-box;
+ position: relative;
+ text-align: center;
+ padding: calc((var(--spinner-item-height) - var(--font-size-default)) / 2) 0;
+ margin-bottom: var(--spinner-item-margin-bottom);
+ height: var(--spinner-item-height);
+ -moz-user-select: none;
+ scroll-snap-coordinate: 0 0;
+}
+
+.spinner-container > .spinner > div:hover::before {
+ background: var(--fill-color);
+ border: var(--border);
+ border-radius: var(--border-radius);
+ content: "";
+ position: absolute;
+ top: 0%;
+ bottom: 0%;
+ left: 0%;
+ right: 0%;
+ z-index: -10;
+}
+
+.spinner-container > .spinner:not(.scrolling) > div.selection {
+ color: var(--selected-font-color);
+}
+
+.spinner-container > .spinner > div.selection::before {
+ background: var(--selected-fill-color);
+ border: none;
+ border-radius: var(--border-radius);
+ content: "";
+ position: absolute;
+ top: 0%;
+ bottom: 0%;
+ left: 0%;
+ right: 0%;
+ z-index: -10;
+}
+
+.spinner-container > .spinner > div.disabled::before,
+.spinner-container > .spinner.scrolling > div.selection::before,
+.spinner-container > .spinner.scrolling > div:hover::before {
+ display: none;
+}
+
+.spinner-container > .spinner > div.disabled {
+ opacity: var(--disabled-opacity);
+}
+
+.colon {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: var(--colon-width);
+ margin-bottom: 0.3rem;
+}
+
+.spacer {
+ width: var(--day-period-spacing-width);
+} \ No newline at end of file
diff --git a/toolkit/themes/windows/global/alerts/alert.css b/toolkit/themes/windows/global/alerts/alert.css
new file mode 100644
index 0000000000..ce7f259126
--- /dev/null
+++ b/toolkit/themes/windows/global/alerts/alert.css
@@ -0,0 +1,53 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== alert.css =====================================================
+ == Styles specific to the alerts dialog.
+ ======================================================================= */
+
+@import url("chrome://global/skin/alerts/alert-common.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#alertNotification {
+ -moz-appearance: none;
+ background: transparent;
+ padding: 10px;
+}
+
+#alertBox {
+ border: 1px solid ThreeDShadow;
+ border-radius: 1px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ box-shadow: 0 2px 10px rgba(0,0,0,0.59);
+}
+
+.alertCloseButton {
+ -moz-appearance: none;
+ padding: 4px 2px;
+ border: none !important;
+}
+
+.alertCloseBox {
+ /* The close button is larger on Windows and has a large
+ circle around it, so we add more space between the close
+ button and the edge of the window. */
+ margin-inline-end: 2px;
+}
+
+#alertSettings {
+ /* The close button is larger on Windows, so the
+ gear button is moved over to accomodate it and
+ keep the two buttons horizontally aligned together. */
+ margin-inline-end: 5px;
+}
+
+@media (-moz-windows-default-theme) {
+ #alertBox {
+ border-color: rgba(107,107,107,.3);
+ background-color: rgba(255,255,255,.9);
+ color: rgba(0,0,0,.9);
+ }
+}
diff --git a/toolkit/themes/windows/global/arrow.css b/toolkit/themes/windows/global/arrow.css
new file mode 100644
index 0000000000..1693b6df9f
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow.css
@@ -0,0 +1,50 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.up {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+.up:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-hov.gif");
+}
+.up[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+}
+
+.down {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+.down:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-hov.gif");
+}
+.down[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
+
+.left {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+}
+.left:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-hov.gif");
+}
+.left[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+}
+
+.right {
+ min-width: 0px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+}
+.right:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-hov.gif");
+}
+.right[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
diff --git a/toolkit/themes/windows/global/arrow/arrow-dn-dis.gif b/toolkit/themes/windows/global/arrow/arrow-dn-dis.gif
new file mode 100644
index 0000000000..222c7664e0
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-dn-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-dn-hov.gif b/toolkit/themes/windows/global/arrow/arrow-dn-hov.gif
new file mode 100644
index 0000000000..b07a6d2a85
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-dn-hov.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-dn-sharp.gif b/toolkit/themes/windows/global/arrow/arrow-dn-sharp.gif
new file mode 100644
index 0000000000..57254bb88d
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-dn-sharp.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-dn.gif b/toolkit/themes/windows/global/arrow/arrow-dn.gif
new file mode 100644
index 0000000000..a54e5437a0
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-dn.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-down.png b/toolkit/themes/windows/global/arrow/arrow-down.png
new file mode 100644
index 0000000000..8290b712c2
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-down.png
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-lft-dis.gif b/toolkit/themes/windows/global/arrow/arrow-lft-dis.gif
new file mode 100644
index 0000000000..49c5b3fb55
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-lft-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-lft-sharp-end.gif b/toolkit/themes/windows/global/arrow/arrow-lft-sharp-end.gif
new file mode 100644
index 0000000000..f324779b2d
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-lft-sharp-end.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-lft-sharp.gif b/toolkit/themes/windows/global/arrow/arrow-lft-sharp.gif
new file mode 100644
index 0000000000..f276538aa1
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-lft-sharp.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-lft.gif b/toolkit/themes/windows/global/arrow/arrow-lft.gif
new file mode 100644
index 0000000000..f209383cc9
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-lft.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-rit-dis.gif b/toolkit/themes/windows/global/arrow/arrow-rit-dis.gif
new file mode 100644
index 0000000000..7b0e07b169
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-rit-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-rit-sharp-end.gif b/toolkit/themes/windows/global/arrow/arrow-rit-sharp-end.gif
new file mode 100644
index 0000000000..903451b17e
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-rit-sharp-end.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-rit-sharp.gif b/toolkit/themes/windows/global/arrow/arrow-rit-sharp.gif
new file mode 100644
index 0000000000..cf36086261
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-rit-sharp.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-rit.gif b/toolkit/themes/windows/global/arrow/arrow-rit.gif
new file mode 100644
index 0000000000..3abf3ad50d
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-rit.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-up-dis.gif b/toolkit/themes/windows/global/arrow/arrow-up-dis.gif
new file mode 100644
index 0000000000..2b25b229a6
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-up-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-up-hov.gif b/toolkit/themes/windows/global/arrow/arrow-up-hov.gif
new file mode 100644
index 0000000000..b8bd0f5198
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-up-hov.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-up-sharp.gif b/toolkit/themes/windows/global/arrow/arrow-up-sharp.gif
new file mode 100644
index 0000000000..9f4e7a9d02
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-up-sharp.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/arrow-up.gif b/toolkit/themes/windows/global/arrow/arrow-up.gif
new file mode 100644
index 0000000000..b7a3f32285
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/arrow-up.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-horizontal-themed.svg b/toolkit/themes/windows/global/arrow/panelarrow-horizontal-themed.svg
new file mode 100644
index 0000000000..29e9c3dcec
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/panelarrow-horizontal-themed.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="10" height="20">
+ <path d="M 10,0 L 0,10 10,20 z" fill="ThreeDShadow"/>
+ <path d="M 10,1 L 1,10 10,19 z" fill="-moz-field"/>
+</svg>
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-horizontal.svg b/toolkit/themes/windows/global/arrow/panelarrow-horizontal.svg
new file mode 100644
index 0000000000..40ffa2566f
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/panelarrow-horizontal.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="10" height="20">
+ <path d="M 10,0 L 0,10 10,20 z" fill="hsla(210,4%,10%,.2)"/>
+ <path d="M 10,1 L 1,10 10,19 z" fill="-moz-field"/>
+</svg>
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-vertical-themed.svg b/toolkit/themes/windows/global/arrow/panelarrow-vertical-themed.svg
new file mode 100644
index 0000000000..0bd6073cc1
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/panelarrow-vertical-themed.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="10">
+ <path d="M 0,10 L 10,0 20,10 z" fill="ThreeDShadow"/>
+ <path d="M 1,10 L 10,1 19,10 z" fill="-moz-field"/>
+</svg>
diff --git a/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg b/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg
new file mode 100644
index 0000000000..8048693269
--- /dev/null
+++ b/toolkit/themes/windows/global/arrow/panelarrow-vertical.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="20" height="10">
+ <path d="M 0,10 L 10,0 20,10 z" fill="hsla(210,4%,10%,.2)"/>
+ <path d="M 1,10 L 10,1 19,10 z" fill="-moz-field"/>
+</svg>
diff --git a/toolkit/themes/windows/global/autocomplete.css b/toolkit/themes/windows/global/autocomplete.css
new file mode 100644
index 0000000000..79748f2895
--- /dev/null
+++ b/toolkit/themes/windows/global/autocomplete.css
@@ -0,0 +1,179 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== autocomplete.css =================================================
+ == Styles used by the autocomplete widget.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: autocomplete ::::: */
+
+/* .padded is used by autocomplete widgets that don't have an icon. Gross. -dwh */
+textbox:not(.padded) {
+ cursor: default;
+ padding: 0;
+}
+
+textbox[nomatch="true"][highlightnonmatches="true"] {
+ color: red;
+}
+
+.autocomplete-textbox-container {
+ -moz-box-align: center;
+}
+
+textbox:not(.padded) .textbox-input-box {
+ margin: 0 3px;
+}
+
+.textbox-input-box {
+ -moz-box-align: center;
+}
+
+/* ::::: autocomplete popups ::::: */
+
+panel[type="autocomplete"],
+panel[type="autocomplete-richlistbox"],
+.autocomplete-history-popup {
+ -moz-appearance: none;
+ border-width: 1px;
+ -moz-border-top-colors: ThreeDShadow;
+ -moz-border-right-colors: ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDShadow;
+ -moz-border-left-colors: ThreeDShadow;
+ padding: 0;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+}
+
+.autocomplete-history-popup {
+ max-height: 180px;
+}
+
+/* ::::: tree ::::: */
+
+.autocomplete-tree {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+}
+
+.autocomplete-treecol {
+ -moz-appearance: none !important;
+ margin: 0 !important;
+ border: none !important;
+ padding: 0 !important;
+}
+
+/* GTK calculates space for a sort arrow */
+.autocomplete-treecol > .treecol-sortdirection {
+ -moz-appearance: none !important;
+}
+
+.autocomplete-treebody::-moz-tree-cell-text {
+ padding-inline-start: 8px;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-row(selected) {
+ background-color: Highlight;
+}
+
+treechildren.autocomplete-treebody::-moz-tree-cell-text(selected) {
+ color: HighlightText !important;
+}
+
+.autocomplete-treebody::-moz-tree-image(treecolAutoCompleteValue) {
+ max-width: 16px;
+ height: 16px;
+}
+
+/* ::::: richlistbox autocomplete ::::: */
+
+.autocomplete-richlistbox {
+ -moz-appearance: none;
+ margin: 0;
+}
+
+.ac-type-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 14px;
+ margin-inline-end: 6px;
+}
+
+.ac-site-icon {
+ width: 16px;
+ height: 16px;
+ max-width: 16px;
+ max-height: 16px;
+ margin-inline-start: 0;
+ margin-inline-end: 11px;
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
+}
+
+.ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted.png");
+}
+
+@media (min-resolution: 1.1dppx) {
+ .ac-site-icon {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png");
+ }
+ .ac-site-icon[selected] {
+ list-style-image: url("chrome://mozapps/skin/places/defaultFavicon-inverted@2x.png");
+ }
+}
+
+.ac-title {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+html|span.ac-tag {
+ margin-inline-start: 0;
+ margin-inline-end: 2px;
+}
+
+.ac-tags {
+ margin-inline-start: 0;
+ margin-inline-end: 4px;
+}
+
+.ac-separator {
+ margin-inline-start: 0;
+ margin-inline-end: 6px;
+}
+
+/* Better align the URL/action with the title. */
+.ac-tags,
+.ac-separator,
+.ac-url,
+.ac-action {
+ margin-bottom: -2px;
+}
+
+.ac-title-text,
+.ac-tags-text,
+.ac-separator-text,
+.ac-url-text,
+.ac-action-text,
+.ac-text-overflow-container {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
+
+toolbarpaletteitem > toolbaritem > * > textbox > hbox > hbox > html|*.textbox-input {
+ visibility: hidden;
+}
+
diff --git a/toolkit/themes/windows/global/button.css b/toolkit/themes/windows/global/button.css
new file mode 100644
index 0000000000..278339404c
--- /dev/null
+++ b/toolkit/themes/windows/global/button.css
@@ -0,0 +1,158 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== button.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* :::::::::: button :::::::::: */
+
+button {
+ -moz-appearance: button;
+ margin: 1px 5px 2px 5px;
+ min-width: 6.3em;
+ border: 3px solid;
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow;
+ background-color: ThreeDFace;
+ color: ButtonText;
+ text-shadow: none;
+}
+
+.button-box {
+ border: 1px solid transparent;
+ padding-top: 1px;
+ padding-bottom: 2px;
+ padding-inline-start: 3px;
+ padding-inline-end: 4px;
+}
+
+.button-text {
+ margin: 0 !important;
+ text-align: center;
+}
+
+/* .......... focused state .......... */
+
+button:focus {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight transparent;
+}
+
+button:-moz-focusring > .button-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* .......... default state .......... */
+
+button[default="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDHighlight ThreeDLightShadow;
+}
+
+@media not all and (-moz-windows-default-theme) {
+ @media (-moz-windows-compositor) {
+ /* This is for high-contrast themes on Windows 8 and later */
+ button[default="true"],
+ button:hover {
+ color: HighlightText;
+ }
+ }
+}
+
+/* .......... active/open/checked state .......... */
+
+button:hover:active,
+button[open="true"],
+button[checked="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow transparent;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow transparent;
+}
+
+button:hover:active > .button-box:-moz-system-metric(windows-classic),
+button[open="true"] > .button-box:-moz-system-metric(windows-classic),
+button[checked="true"] > .button-box:-moz-system-metric(windows-classic) {
+ padding-top: 2px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 3px;
+}
+
+/* .......... disabled state .......... */
+
+button[disabled="true"] {
+ -moz-border-top-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: transparent ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: transparent ThreeDHighlight ThreeDLightShadow !important;
+ color: GrayText;
+}
+
+button[disabled="true"]:-moz-system-metric(windows-classic) {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+}
+
+button[disabled="true"] > .button-box {
+ padding-top: 1px !important;
+ padding-bottom: 2px !important;
+ padding-inline-start: 3px !important;
+ padding-inline-end: 4px !important;
+}
+
+/* ::::: menu/menu-button buttons ::::: */
+
+button[type="menu-button"] {
+ margin: 0;
+ border: none;
+}
+
+.button-menu-dropmarker,
+.button-menubutton-dropmarker {
+ -moz-appearance: none !important;
+ margin: 1px;
+ background-color: transparent;
+ border: none;
+ width: 11px;
+ height: 11px;
+}
+
+.button-menubutton-dropmarker[open="true"] {
+ margin-top: 2px;
+ margin-bottom: 0px;
+ margin-inline-start: 2px;
+ margin-inline-end: 0px;
+}
+
+/* ::::: plain buttons ::::: */
+
+button.plain {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+}
+
+button[type="disclosure"] {
+ border: 0px !important;
+ margin: 0px !important;
+ padding: 0px !important;
+ -moz-appearance: none;
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#clsd");
+ min-width: 0px !important;
+ background-color: transparent;
+}
+
+button[type="disclosure"][open="true"] {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#open");
+}
diff --git a/toolkit/themes/windows/global/checkbox.css b/toolkit/themes/windows/global/checkbox.css
new file mode 100644
index 0000000000..c7719bff2e
--- /dev/null
+++ b/toolkit/themes/windows/global/checkbox.css
@@ -0,0 +1,86 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== checkbox.css ===================================================
+ == Styles used by the XUL checkbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: checkbox ::::: */
+
+checkbox {
+ -moz-appearance: checkbox-container;
+ -moz-box-align: center;
+ margin: 2px 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+}
+
+.checkbox-label-box {
+ margin-inline-start: 2px;
+ border: 1px solid transparent;
+ padding: 0px 1px;
+}
+
+.checkbox-icon {
+ margin-inline-end: 2px;
+}
+
+.checkbox-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+checkbox:-moz-focusring > .checkbox-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+checkbox[disabled="true"] > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+checkbox[disabled="true"] {
+ color: GrayText;
+}
+
+checkbox[disabled="true"]:-moz-system-metric(windows-classic) {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+}
+
+/* ::::: checkmark image ::::: */
+
+.checkbox-check {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+checkbox:hover:active > .checkbox-check {
+ background-color: -moz-Dialog;
+}
+
+/* ..... checked state ..... */
+
+checkbox[checked="true"] > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
+}
+
+checkbox[checked="true"][disabled="true"] > .checkbox-check {
+ background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif") !important
+}
+
diff --git a/toolkit/themes/windows/global/checkbox/cbox-check-dis.gif b/toolkit/themes/windows/global/checkbox/cbox-check-dis.gif
new file mode 100644
index 0000000000..bd43dd17c3
--- /dev/null
+++ b/toolkit/themes/windows/global/checkbox/cbox-check-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/checkbox/cbox-check.gif b/toolkit/themes/windows/global/checkbox/cbox-check.gif
new file mode 100644
index 0000000000..fa0b1964f3
--- /dev/null
+++ b/toolkit/themes/windows/global/checkbox/cbox-check.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/colorpicker.css b/toolkit/themes/windows/global/colorpicker.css
new file mode 100644
index 0000000000..dfab1e9baa
--- /dev/null
+++ b/toolkit/themes/windows/global/colorpicker.css
@@ -0,0 +1,48 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== colorpicker.css ================================================
+ == Styles used by the XUL colorpicker element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: colorpicker button ::::: */
+
+/* colorpicker button */
+
+colorpicker[type="button"] {
+ -moz-appearance: button;
+ width: 38px;
+ height: 24px;
+ padding: 3px;
+}
+
+.colorpicker-button-colorbox {
+ border: 1px solid #000000;
+}
+
+/* ::::: colorpicker tiles ::::: */
+
+.colorpickertile {
+ width: 20px;
+ height: 20px;
+ margin: 1px;
+ border-left: 1px solid ThreeDShadow;
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+.colorpickertile[selected="true"] {
+ border: 2px outset #C0C0C0;
+}
+
+.colorpickertile[hover="true"] {
+ border: 2px dotted #FFFFFF;
+}
+
+.cp-light[hover="true"] {
+ border: 2px dotted #909090;
+}
diff --git a/toolkit/themes/windows/global/commonDialog.css b/toolkit/themes/windows/global/commonDialog.css
new file mode 100644
index 0000000000..3a1b9f43de
--- /dev/null
+++ b/toolkit/themes/windows/global/commonDialog.css
@@ -0,0 +1,8 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#filler {
+ margin-inline-start: -8px;
+ margin-inline-end: -10px;
+}
diff --git a/toolkit/themes/windows/global/customizeToolbar.css b/toolkit/themes/windows/global/customizeToolbar.css
new file mode 100644
index 0000000000..3c11b9cbe0
--- /dev/null
+++ b/toolkit/themes/windows/global/customizeToolbar.css
@@ -0,0 +1,23 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+window,
+dialog {
+ padding: 6px;
+}
+
+#instructions {
+ font-weight: bold;
+ font-size: larger;
+}
+
+#palette-box {
+ -moz-appearance: listbox;
+ margin: 0 0 10px;
+}
+
+#palette-box > toolbarpaletteitem {
+ padding: 8px 2px;
+ margin: 0 8px;
+}
diff --git a/toolkit/themes/windows/global/datetimepicker.css b/toolkit/themes/windows/global/datetimepicker.css
new file mode 100644
index 0000000000..255210332d
--- /dev/null
+++ b/toolkit/themes/windows/global/datetimepicker.css
@@ -0,0 +1,147 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== datetimepicker.css =============================================
+ == Styles used by the XUL datepicker and timepicker elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+datepicker, timepicker {
+ margin: 2px 4px;
+ padding: 0;
+ border: none;
+ background: none;
+ cursor: default;
+}
+
+.datetimepicker-input-box {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin-inline-end: 2px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 2px 0 3px 0;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+.datetimepicker-input-subbox {
+ width: 1.6em;
+}
+
+html|*.datetimepicker-input {
+ text-align: end;
+}
+
+.datetimepicker-separator {
+ margin: 0 !important;
+}
+
+.datetimepicker-year {
+ width: 3.2em;
+}
+
+datepicker[readonly="true"],
+timepicker[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+datepicker[disabled="true"],
+timepicker[disabled="true"] {
+ cursor: default;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+.datepicker-mainbox {
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+.datepicker-popupgrid > .datepicker-mainbox {
+ margin: 0;
+ border: none;
+}
+
+.datepicker-gridlabel, .datepicker-weeklabel {
+ text-align: center;
+}
+
+.datepicker-gridlabel[today="true"] {
+ background-color: darkgrey;
+ color: white;
+}
+
+.datepicker-gridlabel[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+.datepicker-button {
+ -moz-appearance: none;
+ min-width: 8px;
+ padding: 0px;
+}
+
+.datepicker-previous {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+}
+
+.datepicker-next {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+}
+
+.datepicker-previous:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-hov.gif");
+}
+
+.datepicker-next:hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-hov.gif");
+}
+
+.datepicker-previous[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+}
+
+.datepicker-next[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
+
+.datepicker-previous:-moz-locale-dir(rtl) {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+}
+
+.datepicker-next:-moz-locale-dir(rtl) {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+}
+
+.datepicker-previous:-moz-locale-dir(rtl) {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-hov.gif");
+}
+
+.datepicker-next:-moz-locale-dir(rtl):hover {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-hov.gif");
+}
+
+.datepicker-previous[disabled="true"]:-moz-locale-dir(rtl) {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+}
+
+.datepicker-next[disabled="true"]:-moz-locale-dir(rtl) {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+}
diff --git a/toolkit/themes/windows/global/dialog.css b/toolkit/themes/windows/global/dialog.css
new file mode 100644
index 0000000000..635425e616
--- /dev/null
+++ b/toolkit/themes/windows/global/dialog.css
@@ -0,0 +1,74 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== dialog.css =====================================================
+ == Styles used by the XUL dialog element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: dialog ::::: */
+
+dialog {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+/* ::::: dialog buttons ::::: */
+
+.dialog-button {
+ font: menu;
+ margin-top: 6px;
+}
+
+/* ::::: dialog header ::::: */
+
+dialogheader {
+ margin: 0px 5px 5px 5px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDDarkShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDDarkShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 5px 8px;
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+.dialogheader-title {
+ margin: 0px !important;
+ font-size: larger;
+ font-weight: bold;
+}
+
+/* ::::: large dialog header ::::: */
+
+.header-large {
+ -moz-box-orient: vertical;
+ margin-top: -8px;
+ margin-bottom: 0;
+ margin-inline-start: -8px;
+ margin-inline-end: -10px;
+ border-left: none;
+ border-right: none;
+ border-top: none;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDShadow;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ padding-inline-start: 25px;
+ padding-inline-end: 5px;
+ background-color: Window;
+ color: WindowText;
+}
+
+.header-large > .dialogheader-title {
+ font: inherit;
+ font-weight: bold;
+}
+
+.header-large > .dialogheader-description {
+ margin-inline-start: 12px !important;
+}
diff --git a/toolkit/themes/windows/global/dirListing/dirListing.css b/toolkit/themes/windows/global/dirListing/dirListing.css
new file mode 100644
index 0000000000..8677caf306
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/dirListing.css
@@ -0,0 +1,113 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+:root {
+ background-color: -moz-dialog;
+ color: -moz-dialogtext;
+ font: message-box;
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
+body {
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ min-width: 30em;
+ max-width: 65em;
+ margin: 4em auto;
+ background-color: -moz-field;
+ color: -moz-fieldtext;
+}
+
+h1 {
+ font-size: 160%;
+ margin: 0 0 .6em;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-weight: normal;
+}
+
+a {
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+p {
+ font-size: 110%;
+}
+
+#UI_goUp {
+ margin-top: 0;
+ float: left;
+}
+
+#UI_goUp:dir(rtl) {
+ float: right;
+}
+
+#UI_showHidden {
+ margin-top: 0;
+ float: right;
+}
+
+#UI_showHidden:dir(rtl) {
+ float: left;
+}
+
+table {
+ clear: both;
+ width: 90%;
+ margin: 0 auto;
+}
+
+thead {
+ font-size: 130%;
+}
+
+/* last modified */
+th:last-child {
+ text-align: center;
+}
+
+th:hover > a {
+ text-decoration: underline;
+}
+
+body > table > tbody > tr:hover {
+ outline: 1px solid ThreeDLightShadow;
+ -moz-outline-radius: .3em;
+}
+
+/* let 'Size' and 'Last Modified' take only as much space as they need and 'Name' all the rest */
+td:not(:first-child) {
+ width: 0;
+}
+
+.up {
+ padding: 0 .5em;
+ margin-inline-start: 20px;
+}
+
+.up::before {
+ margin-inline-end: 4px;
+ margin-inline-start: -20px;
+ vertical-align: middle;
+%ifdef MOZ_WIDGET_GTK
+ content: url(moz-icon://stock/gtk-go-up?size=menu);
+%else
+ content: url(chrome://global/skin/dirListing/up.png);
+%endif
+}
+
+.dir::before {
+%ifdef MOZ_WIDGET_GTK
+ content: url(moz-icon://stock/gtk-directory?size=menu);
+%else
+ content: url(chrome://global/skin/dirListing/folder.png);
+%endif
+}
+
diff --git a/toolkit/themes/windows/global/dirListing/folder-XP.png b/toolkit/themes/windows/global/dirListing/folder-XP.png
new file mode 100644
index 0000000000..102de51960
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/folder-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/folder.png b/toolkit/themes/windows/global/dirListing/folder.png
new file mode 100644
index 0000000000..c266b012e8
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/folder.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/local-XP.png b/toolkit/themes/windows/global/dirListing/local-XP.png
new file mode 100644
index 0000000000..99191f3a52
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/local-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/local.png b/toolkit/themes/windows/global/dirListing/local.png
new file mode 100644
index 0000000000..c5da02b7fc
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/local.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/remote-XP.png b/toolkit/themes/windows/global/dirListing/remote-XP.png
new file mode 100644
index 0000000000..4febb764bd
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/remote-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/remote.png b/toolkit/themes/windows/global/dirListing/remote.png
new file mode 100644
index 0000000000..c7d01f8416
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/remote.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/up-XP.png b/toolkit/themes/windows/global/dirListing/up-XP.png
new file mode 100644
index 0000000000..851502d47d
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/up-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dirListing/up.png b/toolkit/themes/windows/global/dirListing/up.png
new file mode 100644
index 0000000000..6c11509ce5
--- /dev/null
+++ b/toolkit/themes/windows/global/dirListing/up.png
Binary files differ
diff --git a/toolkit/themes/windows/global/dropmarker.css b/toolkit/themes/windows/global/dropmarker.css
new file mode 100644
index 0000000000..34814abd44
--- /dev/null
+++ b/toolkit/themes/windows/global/dropmarker.css
@@ -0,0 +1,35 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+dropmarker {
+ -moz-appearance: menulist-button;
+ width: 16px;
+ height: 16px;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ padding: 1px;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+ -moz-image-region: auto;
+}
+
+dropmarker:hover:active:not([disabled="true"]) {
+ -moz-border-top-colors: ThreeDShadow ThreeDFace;
+ -moz-border-right-colors: ThreeDShadow ThreeDFace;
+ -moz-border-bottom-colors: ThreeDShadow ThreeDFace;
+ -moz-border-left-colors: ThreeDShadow ThreeDFace;
+ padding-top: 2px;
+ padding-bottom: 0px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+dropmarker[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
diff --git a/toolkit/themes/windows/global/expander.css b/toolkit/themes/windows/global/expander.css
new file mode 100644
index 0000000000..92cb18dee8
--- /dev/null
+++ b/toolkit/themes/windows/global/expander.css
@@ -0,0 +1,14 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.expanderButton {
+ cursor: pointer !important;
+}
+
+.settingsContainer {
+ padding-top: 3px;
+ padding-bottom: 5px;
+ padding-inline-start: 20px;
+ padding-inline-end: 5px;
+}
diff --git a/toolkit/themes/windows/global/filefield.css b/toolkit/themes/windows/global/filefield.css
new file mode 100644
index 0000000000..e22b64ec6d
--- /dev/null
+++ b/toolkit/themes/windows/global/filefield.css
@@ -0,0 +1,36 @@
+/*
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+/* File Field Widget */
+filefield {
+ margin: 2px 4px;
+ -moz-appearance: textfield;
+}
+
+.fileFieldContentBox {
+ background-color: -moz-Dialog;
+}
+
+.fileFieldIcon[disabled="true"] {
+ opacity: 0.4;
+}
+
+.fileFieldIcon {
+ width: 16px;
+ height: 16px;
+ margin-top: 1px;
+ margin-bottom: 1px;
+ margin-inline-start: 1px;
+ margin-inline-end: 4px;
+}
+
+.fileFieldLabel {
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ margin: 0px;
+}
diff --git a/toolkit/themes/windows/global/findBar.css b/toolkit/themes/windows/global/findBar.css
new file mode 100644
index 0000000000..96115f1938
--- /dev/null
+++ b/toolkit/themes/windows/global/findBar.css
@@ -0,0 +1,160 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+findbar {
+ box-shadow: 0 1px 1px rgba(0,0,0,.1) inset;
+ background-image: linear-gradient(rgba(0,0,0,.15) 1px, rgba(255,255,255,.15) 1px);
+ background-size: 100% 2px;
+ background-repeat: no-repeat;
+ min-width: 1px;
+ transition-property: margin-bottom, opacity, visibility;
+ transition-duration: 150ms, 150ms, 0s;
+ transition-timing-function: ease-in-out, ease-in-out, linear;
+}
+
+findbar[hidden] {
+ /* Override display:none to make the transition work. */
+ display: -moz-box;
+ visibility: collapse;
+ margin-bottom: -1em;
+ opacity: 0;
+ transition-delay: 0s, 0s, 150ms;
+}
+
+findbar[noanim] {
+ transition-duration: 0s !important;
+ transition-delay: 0s !important;
+}
+
+.findbar-container {
+ padding-inline-start: 8px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+.findbar-closebutton {
+ margin-inline-start: 4px;
+ padding-inline-start: 0;
+ padding-inline-end: 8px;
+ border: none;
+ -moz-appearance: none;
+}
+
+
+/* Search field */
+
+.findbar-textbox {
+ -moz-appearance: none;
+ border: 1px solid ThreeDShadow;
+ border-radius: 2px 0 0 2px;
+ margin: 0;
+ padding: 1px 5px;
+ width: 14em;
+}
+
+.findbar-textbox:-moz-locale-dir(rtl) {
+ border-radius: 0 2px 2px 0;
+}
+
+.findbar-textbox[focused="true"] {
+ border-color: Highlight;
+}
+
+.findbar-textbox[status="notfound"] {
+ background-color: #f66;
+ color: white;
+}
+
+.findbar-textbox[flash="true"] {
+ background-color: yellow;
+ color: black;
+}
+
+.findbar-textbox.minimal {
+ border-radius: 2px;
+}
+
+/* Buttons */
+
+.findbar-find-previous,
+.findbar-find-next {
+ margin-inline-start: 0;
+ -moz-appearance: none;
+ background: linear-gradient(rgba(255,255,255,.8) 1px, rgba(255,255,255,.4) 1px, rgba(255,255,255,.1));
+ border: 1px solid ThreeDShadow;
+ padding: 1px 5px;
+ line-height: 1em;
+}
+
+.findbar-find-previous:not([disabled]):active,
+.findbar-find-next:not([disabled]):active {
+ background: rgba(23,50,76,.2);
+ box-shadow: 0 1px 2px rgba(10,31,51,.2) inset;
+}
+
+.findbar-find-previous {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-previous);
+}
+
+.findbar-find-next {
+ list-style-image: url(chrome://global/skin/icons/find-arrows.svg#glyph-find-next);
+}
+
+.findbar-find-previous,
+.findbar-find-previous:not([disabled]):active {
+ border-right: none;
+ border-left: none;
+}
+
+.findbar-find-previous > .toolbarbutton-icon,
+.findbar-find-next > .toolbarbutton-icon {
+ margin: 0;
+}
+
+.findbar-find-previous[disabled="true"] > .toolbarbutton-icon,
+.findbar-find-next[disabled="true"] > .toolbarbutton-icon {
+ opacity: .5;
+}
+
+.findbar-find-next:-moz-locale-dir(ltr) {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px;
+}
+
+.findbar-find-next:-moz-locale-dir(rtl) {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.findbar-highlight,
+.findbar-case-sensitive,
+.findbar-entire-word {
+ margin-inline-start: 5px;
+}
+
+.findbar-highlight > .toolbarbutton-icon,
+.findbar-case-sensitive > .toolbarbutton-icon,
+.findbar-entire-word > .toolbarbutton-icon {
+ display: none;
+}
+
+.findbar-find-status,
+.found-matches {
+ color: GrayText;
+ margin: 0 !important;
+ margin-inline-start: 12px !important;
+}
+
+.find-status-icon[status="pending"] {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+}
+
+@media (min-resolution: 1.1dppx) {
+ .find-status-icon[status="pending"] {
+ width: 16px;
+ list-style-image: url("chrome://global/skin/icons/loading@2x.png");
+ }
+}
diff --git a/toolkit/themes/windows/global/global.css b/toolkit/themes/windows/global/global.css
new file mode 100644
index 0000000000..20a190684b
--- /dev/null
+++ b/toolkit/themes/windows/global/global.css
@@ -0,0 +1,404 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== global.css =====================================================
+ == Styles that apply everywhere.
+ ======================================================================= */
+
+/* all localizable skin settings shall live here */
+@import url("chrome://global/locale/intl.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: XBL bindings ::::: */
+
+radio {
+ -moz-binding: url("chrome://global/skin/globalBindings.xml#radio");
+}
+
+menulist > menupopup {
+ -moz-binding: url("chrome://global/content/bindings/popup.xml#popup-scrollbars");
+}
+
+/* ::::: Variables ::::: */
+:root {
+ --arrowpanel-padding: 10px;
+ --arrowpanel-background: -moz-field;
+ --arrowpanel-color: -moz-FieldText;
+ --arrowpanel-border-color: ThreeDShadow;
+}
+
+/* ::::: root elements ::::: */
+
+window,
+page,
+dialog,
+wizard,
+prefwindow {
+ -moz-appearance: window;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ font: message-box;
+}
+
+/* deprecated */
+window.dialog {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+/* ::::: alert icons :::::*/
+
+.message-icon,
+.alert-icon,
+.error-icon,
+.question-icon {
+ width: 32px;
+ height: 32px;
+}
+
+.message-icon {
+ list-style-image: url("chrome://global/skin/icons/information-32.png");
+}
+
+.alert-dialog #info\.icon,
+.alert-icon {
+ list-style-image: url("chrome://global/skin/icons/Warning.png");
+}
+
+.error-icon {
+ list-style-image: url("chrome://global/skin/icons/Error.png");
+}
+
+.question-icon {
+ list-style-image: url("chrome://global/skin/icons/Question.png");
+}
+
+/* ::::: iframe ::::: */
+
+iframe {
+ border: none;
+ width: 100px;
+ height: 100px;
+ min-width: 10px;
+ min-height: 10px;
+}
+
+/* ::::: statusbar ::::: */
+
+statusbar {
+ -moz-appearance: statusbar;
+ border-top: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ background-color: -moz-Dialog;
+ min-height: 22px;
+}
+
+statusbarpanel {
+ -moz-appearance: statusbarpanel;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border-left: 1px solid ThreeDHighlight;
+ border-top: 1px solid ThreeDHighlight;
+ border-right: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+ padding: 0 4px;
+}
+
+statusbarpanel:not(.statusbar-resizerpanel):-moz-lwtheme {
+ -moz-appearance: none;
+ border-top-style: none;
+ border-bottom-style: none;
+ border-inline-start-style: none;
+}
+
+.statusbar-resizerpanel {
+ -moz-box-align: end;
+ -moz-box-pack: end;
+ -moz-appearance: resizerpanel;
+ padding: 0;
+ border: none;
+}
+
+.statusbarpanel-iconic,
+.statusbarpanel-iconic-text,
+.statusbarpanel-menu-iconic {
+ padding: 0 1px;
+}
+
+/* XXXBlake yeah, shoot me -- these don't belong here. I'll move them later. */
+
+sidebarheader {
+ height: 25px;
+ background-color: -moz-Dialog;
+ -moz-appearance: toolbox;
+ border-bottom: 1px solid ThreeDShadow;
+ border-top: 1px solid ThreeDHighlight;
+}
+
+sidebarheader > label {
+ padding-inline-start: 4px;
+}
+
+.toolbar-focustarget {
+ -moz-user-focus: ignore !important;
+}
+
+toolbar[mode="text"] .toolbarbutton-text {
+ padding: 0 !important;
+ margin: 3px 5px !important;
+}
+
+/* ::::: miscellaneous formatting ::::: */
+
+:root:-moz-lwtheme,
+[lwthemefooter="true"] {
+ -moz-appearance: none;
+}
+
+:root:-moz-lwtheme-darktext {
+ text-shadow: 0 -0.5px 1.5px white;
+}
+
+:root:-moz-lwtheme-brighttext {
+ text-shadow: 1px 1px 1.5px black;
+}
+
+statusbar:-moz-lwtheme,
+sidebarheader:-moz-lwtheme {
+ -moz-appearance: none;
+ background: none;
+ border-style: none;
+}
+
+.inset {
+ border: 1px solid ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ margin: 0 5px 5px;
+}
+
+.outset {
+ border: 1px solid ThreeDShadow;
+ border-left-color: ThreeDHighlight;
+ border-top-color: ThreeDHighlight;
+}
+
+/* separators */
+separator:not([orient="vertical"]) {
+ height: 1.5em;
+}
+separator[orient="vertical"] {
+ width: 1.5em;
+}
+
+separator.thin:not([orient="vertical"]) {
+ height: 0.5em;
+}
+separator.thin[orient="vertical"] {
+ width: 0.5em;
+}
+
+separator.groove:not([orient="vertical"]) {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+ height: 0;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+}
+separator.groove[orient="vertical"] {
+ border-left: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ width: 0;
+ margin-left: 0.4em;
+ margin-right: 0.4em;
+}
+
+.small-margin {
+ margin: 1px 2px;
+}
+
+.plain {
+ -moz-appearance: none;
+ margin: 0 !important;
+ border: none;
+ padding: 0;
+}
+
+description,
+label {
+ cursor: default;
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+description {
+ margin-bottom: 4px;
+}
+
+label[disabled="true"] {
+ color: GrayText;
+}
+
+label[disabled="true"]:-moz-system-metric(windows-classic) {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+}
+
+.tooltip-label {
+ margin: 0;
+}
+
+.header {
+ font-weight: bold;
+}
+
+.monospace {
+ font-family: monospace;
+}
+
+.indent {
+ margin-inline-start: 23px;
+}
+
+.box-padded {
+ padding: 5px;
+}
+
+.spaced {
+ margin: 3px 5px 4px;
+}
+
+.wizard-box {
+ padding: 20px 44px 10px;
+}
+
+.text-link {
+ color: -moz-nativehyperlinktext;
+ cursor: pointer;
+}
+
+.text-link:hover {
+ text-decoration: underline;
+}
+
+.text-link:-moz-focusring {
+ outline: 1px dotted;
+}
+
+popupnotificationcontent {
+ margin-top: .5em;
+}
+
+/* :::::: autoscroll popup ::::: */
+
+.autoscroller {
+ height: 28px;
+ width: 28px;
+ border: none;
+ margin: -14px;
+ padding: 0;
+ background-image: url("chrome://global/skin/icons/autoscroll.png");
+ background-color: transparent;
+%ifdef XP_WIN
+ background-position: right top;
+%endif
+ -moz-appearance: none;
+}
+
+.autoscroller[scrolldir="NS"] {
+%ifdef XP_WIN
+ background-position: right center;
+%else
+ background-position: left center;
+%endif
+}
+
+.autoscroller[scrolldir="EW"] {
+%ifdef XP_WIN
+ background-position: right bottom;
+%else
+ background-position: left bottom;
+%endif
+}
+
+/* :::::: Close button icons ::::: */
+
+.close-icon {
+ list-style-image: url("chrome://global/skin/icons/close.png");
+ -moz-image-region: rect(0, 20px, 20px, 0);
+}
+
+.close-icon:hover {
+ -moz-image-region: rect(0, 40px, 20px, 20px);
+}
+
+.close-icon:hover:active {
+ -moz-image-region: rect(0, 60px, 20px, 40px);
+}
+
+.close-icon > .button-icon,
+.close-icon > .button-box > .button-icon,
+.close-icon > .toolbarbutton-icon {
+ width: 20px;
+}
+
+@media (-moz-os-version: windows-xp),
+ (-moz-os-version: windows-vista),
+ (-moz-os-version: windows-win7) {
+ .close-icon {
+ -moz-image-region: rect(0, 16px, 16px, 0);
+ }
+
+ .close-icon:hover {
+ -moz-image-region: rect(0, 32px, 16px, 16px);
+ }
+
+ .close-icon:hover:active {
+ -moz-image-region: rect(0, 48px, 16px, 32px);
+ }
+
+ .close-icon > .button-icon,
+ .close-icon > .button-box > .button-icon,
+ .close-icon > .toolbarbutton-icon {
+ width: 16px;
+ }
+}
+
+@media (min-resolution: 1.1dppx) {
+ .close-icon {
+ list-style-image: url("chrome://global/skin/icons/close@2x.png");
+ -moz-image-region: rect(0, 40px, 40px, 0);
+ }
+
+ .close-icon:hover {
+ -moz-image-region: rect(0, 80px, 40px, 40px);
+ }
+
+ .close-icon:hover:active {
+ -moz-image-region: rect(0, 120px, 40px, 80px);
+ }
+
+ @media (-moz-os-version: windows-xp),
+ (-moz-os-version: windows-vista),
+ (-moz-os-version: windows-win7) {
+ .close-icon {
+ -moz-image-region: rect(0, 32px, 32px, 0);
+ }
+
+ .close-icon:hover {
+ -moz-image-region: rect(0, 64px, 32px, 32px);
+ }
+
+ .close-icon:hover:active {
+ -moz-image-region: rect(0, 96px, 32px, 64px);
+ }
+ }
+}
diff --git a/toolkit/themes/windows/global/globalBindings.xml b/toolkit/themes/windows/global/globalBindings.xml
new file mode 100644
index 0000000000..8daa8a2a10
--- /dev/null
+++ b/toolkit/themes/windows/global/globalBindings.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<bindings id="globalBindings"
+ xmlns="http://www.mozilla.org/xbl"
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:xbl="http://www.mozilla.org/xbl">
+
+ <binding id="radio"
+ extends="chrome://global/content/bindings/radio.xml#radio">
+ <content>
+ <xul:hbox class="radio-check-box1" xbl:inherits="selected,checked,disabled">
+ <xul:hbox class="radio-check-box2" flex="1">
+ <xul:image class="radio-check" xbl:inherits="selected,checked,disabled"/>
+ </xul:hbox>
+ </xul:hbox>
+ <xul:hbox class="radio-label-box" align="center" flex="1">
+ <xul:image class="radio-icon" xbl:inherits="src"/>
+ <xul:label class="radio-label" xbl:inherits="xbl:text=label,accesskey,crop" flex="1"/>
+ </xul:hbox>
+ </content>
+ </binding>
+
+ <binding id="radio-with-spacing"
+ extends="chrome://global/skin/globalBindings.xml#radio">
+ <content>
+ <xul:hbox class="radio-spacer-box">
+ <xul:hbox class="radio-check-box1" xbl:inherits="selected,checked,disabled">
+ <xul:hbox class="radio-check-box2" flex="1">
+ <xul:image class="radio-check" xbl:inherits="selected,checked,disabled"/>
+ </xul:hbox>
+ </xul:hbox>
+ </xul:hbox>
+ <xul:hbox class="radio-label-center-box" flex="1">
+ <xul:hbox class="radio-label-box" flex="1">
+ <xul:image class="radio-icon" xbl:inherits="src"/>
+ <xul:label class="radio-label" xbl:inherits="xbl:text=label,accesskey,crop" flex="1"/>
+ </xul:hbox>
+ </xul:hbox>
+ </content>
+ </binding>
+
+ <binding id="toolbarpaletteitem-spacer"
+ extends="chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem">
+ <content>
+ <xul:spacer class="spacer-left"/>
+ <children/>
+ <xul:spacer class="spacer-right"/>
+ </content>
+ </binding>
+
+</bindings>
diff --git a/toolkit/themes/windows/global/groupbox.css b/toolkit/themes/windows/global/groupbox.css
new file mode 100644
index 0000000000..f07c6a5427
--- /dev/null
+++ b/toolkit/themes/windows/global/groupbox.css
@@ -0,0 +1,37 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== groupbox.css ==================================================
+ == Styles used by the XUL groupbox and related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: groupbox ::::: */
+
+groupbox {
+ -moz-appearance: groupbox;
+ border: 2px groove ThreeDFace;
+ border-radius: 3px;
+ margin: 3px;
+ padding: 3px 3px 6px;
+}
+
+.groupbox-body {
+ padding: inherit;
+}
+
+caption {
+ margin: 0 6px;
+ background-color: -moz-Dialog;
+}
+
+tabpanels caption {
+ -moz-appearance: tabpanel;
+}
+
+/* !important is needed to override label in global.css */
+.caption-text {
+ margin: 0 2px !important;
+}
diff --git a/toolkit/themes/windows/global/icons/Close.gif b/toolkit/themes/windows/global/icons/Close.gif
new file mode 100644
index 0000000000..358055b50b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Close.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Error-XP.png b/toolkit/themes/windows/global/icons/Error-XP.png
new file mode 100644
index 0000000000..59ad20d70b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Error-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Error.png b/toolkit/themes/windows/global/icons/Error.png
new file mode 100644
index 0000000000..bd4064f49a
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Error.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Landscape-XP.png b/toolkit/themes/windows/global/icons/Landscape-XP.png
new file mode 100644
index 0000000000..cc43abdf31
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Landscape-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Landscape.png b/toolkit/themes/windows/global/icons/Landscape.png
new file mode 100644
index 0000000000..925506c3ba
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Landscape.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Minimize.gif b/toolkit/themes/windows/global/icons/Minimize.gif
new file mode 100644
index 0000000000..295003780a
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Minimize.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Portrait-XP.png b/toolkit/themes/windows/global/icons/Portrait-XP.png
new file mode 100644
index 0000000000..ce36e84132
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Portrait-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Portrait.png b/toolkit/themes/windows/global/icons/Portrait.png
new file mode 100644
index 0000000000..fb7e18d5ef
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Portrait.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Print-preview-XP.png b/toolkit/themes/windows/global/icons/Print-preview-XP.png
new file mode 100644
index 0000000000..6f4736737f
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Print-preview-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Print-preview.png b/toolkit/themes/windows/global/icons/Print-preview.png
new file mode 100644
index 0000000000..51c760159c
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Print-preview.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Question-XP.png b/toolkit/themes/windows/global/icons/Question-XP.png
new file mode 100644
index 0000000000..c10004078b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Question-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Question.png b/toolkit/themes/windows/global/icons/Question.png
new file mode 100644
index 0000000000..ed8d371122
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Question.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Restore.gif b/toolkit/themes/windows/global/icons/Restore.gif
new file mode 100644
index 0000000000..cdc66e1124
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Restore.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Search-close-XP.png b/toolkit/themes/windows/global/icons/Search-close-XP.png
new file mode 100644
index 0000000000..39d800e1ae
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Search-close-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Search-close.png b/toolkit/themes/windows/global/icons/Search-close.png
new file mode 100644
index 0000000000..7faca922a9
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Search-close.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Search-glass-XP.png b/toolkit/themes/windows/global/icons/Search-glass-XP.png
new file mode 100644
index 0000000000..9eb0e259f2
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Search-glass-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Search-glass.png b/toolkit/themes/windows/global/icons/Search-glass.png
new file mode 100644
index 0000000000..16a75cf297
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Search-glass.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Warning-XP.png b/toolkit/themes/windows/global/icons/Warning-XP.png
new file mode 100644
index 0000000000..c0ec9b519f
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Warning-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/Warning.png b/toolkit/themes/windows/global/icons/Warning.png
new file mode 100644
index 0000000000..ee5622f5a5
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/Warning.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/autocomplete-search.svg b/toolkit/themes/windows/global/icons/autocomplete-search.svg
new file mode 100644
index 0000000000..7ecb20d009
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/autocomplete-search.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ fill: GrayText;
+ }
+ use[id$="-inverted"] {
+ fill: highlighttext;
+ }
+ </style>
+ <defs>
+ <path id="search" fill-rule="evenodd" d="M9.356,1.178c-3.014,0-5.458,2.45-5.458,5.472c0,1.086,0.32,2.096,0.864,2.947 l-3.279,3.287c-0.396,0.397-0.396,1.041,0,1.438l0.202,0.202c0.396,0.397,1.039,0.397,1.435,0l3.275-3.283 c0.854,0.554,1.869,0.88,2.962,0.88c3.014,0,5.458-2.45,5.458-5.471C14.814,3.627,12.371,1.178,9.356,1.178z M9.356,10.001 c-1.847,0-3.344-1.501-3.344-3.352c0-1.851,1.497-3.352,3.344-3.352c1.846,0,3.344,1.501,3.344,3.352 C12.7,8.501,11.203,10.001,9.356,10.001z"/>
+ </defs>
+ <use id="search-icon" xlink:href="#search"/>
+ <use id="search-icon-inverted" xlink:href="#search"/>
+</svg>
diff --git a/toolkit/themes/windows/global/icons/autoscroll-XP.png b/toolkit/themes/windows/global/icons/autoscroll-XP.png
new file mode 100644
index 0000000000..6aac3d98e9
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/autoscroll-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/autoscroll.png b/toolkit/themes/windows/global/icons/autoscroll.png
new file mode 100644
index 0000000000..95794f822f
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/autoscroll.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/blacklist_favicon-XP.png b/toolkit/themes/windows/global/icons/blacklist_favicon-XP.png
new file mode 100644
index 0000000000..74af56f577
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/blacklist_favicon-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/blacklist_favicon.png b/toolkit/themes/windows/global/icons/blacklist_favicon.png
new file mode 100644
index 0000000000..4fa815157b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/blacklist_favicon.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/blacklist_large-XP.png b/toolkit/themes/windows/global/icons/blacklist_large-XP.png
new file mode 100644
index 0000000000..96ff341c0a
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/blacklist_large-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/blacklist_large.png b/toolkit/themes/windows/global/icons/blacklist_large.png
new file mode 100644
index 0000000000..acab997dda
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/blacklist_large.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-XPVista7.png b/toolkit/themes/windows/global/icons/close-XPVista7.png
new file mode 100644
index 0000000000..ea6ada49e6
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-XPVista7.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-XPVista7@2x.png b/toolkit/themes/windows/global/icons/close-XPVista7@2x.png
new file mode 100644
index 0000000000..c25a64a4b0
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-XPVista7@2x.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-inverted-XPVista7.png b/toolkit/themes/windows/global/icons/close-inverted-XPVista7.png
new file mode 100644
index 0000000000..68596a3076
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-inverted-XPVista7.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-inverted-XPVista7@2x.png b/toolkit/themes/windows/global/icons/close-inverted-XPVista7@2x.png
new file mode 100644
index 0000000000..eec52e6d13
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-inverted-XPVista7@2x.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-inverted.png b/toolkit/themes/windows/global/icons/close-inverted.png
new file mode 100644
index 0000000000..0e815805d6
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-inverted.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close-inverted@2x.png b/toolkit/themes/windows/global/icons/close-inverted@2x.png
new file mode 100644
index 0000000000..79d6e872c6
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close-inverted@2x.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close.png b/toolkit/themes/windows/global/icons/close.png
new file mode 100644
index 0000000000..1a79a875b7
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/close@2x.png b/toolkit/themes/windows/global/icons/close@2x.png
new file mode 100644
index 0000000000..3cc9ea2a74
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/close@2x.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/collapse.png b/toolkit/themes/windows/global/icons/collapse.png
new file mode 100644
index 0000000000..c688dc6ed8
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/collapse.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/error-16-XP.png b/toolkit/themes/windows/global/icons/error-16-XP.png
new file mode 100644
index 0000000000..936d2abeb9
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/error-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/error-16.png b/toolkit/themes/windows/global/icons/error-16.png
new file mode 100644
index 0000000000..54b57405b8
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/error-16.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/error-64-XP.png b/toolkit/themes/windows/global/icons/error-64-XP.png
new file mode 100644
index 0000000000..75a00c4903
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/error-64-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/error-64.png b/toolkit/themes/windows/global/icons/error-64.png
new file mode 100644
index 0000000000..a5b78a434c
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/error-64.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/expand.png b/toolkit/themes/windows/global/icons/expand.png
new file mode 100644
index 0000000000..246d5ee8bd
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/expand.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/find-arrows.png b/toolkit/themes/windows/global/icons/find-arrows.png
new file mode 100644
index 0000000000..1a3a9dad54
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/find-arrows.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/folder-item-XP.png b/toolkit/themes/windows/global/icons/folder-item-XP.png
new file mode 100644
index 0000000000..26cda98c9b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/folder-item-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/folder-item.png b/toolkit/themes/windows/global/icons/folder-item.png
new file mode 100644
index 0000000000..905ef0f4a9
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/folder-item.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-16-XP.png b/toolkit/themes/windows/global/icons/information-16-XP.png
new file mode 100644
index 0000000000..aa8ce6e88a
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-16.png b/toolkit/themes/windows/global/icons/information-16.png
new file mode 100644
index 0000000000..4393795448
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-16.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-24-XP.png b/toolkit/themes/windows/global/icons/information-24-XP.png
new file mode 100644
index 0000000000..7fa782d58c
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-24-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-24.png b/toolkit/themes/windows/global/icons/information-24.png
new file mode 100644
index 0000000000..e23f9c3fed
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-24.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-32-XP.png b/toolkit/themes/windows/global/icons/information-32-XP.png
new file mode 100644
index 0000000000..5120db685e
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-32-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/information-32.png b/toolkit/themes/windows/global/icons/information-32.png
new file mode 100644
index 0000000000..a2a64a4fc1
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/information-32.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/question-16-XP.png b/toolkit/themes/windows/global/icons/question-16-XP.png
new file mode 100644
index 0000000000..0c8eafda08
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/question-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/question-16.png b/toolkit/themes/windows/global/icons/question-16.png
new file mode 100644
index 0000000000..7e9aa7f242
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/question-16.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/question-64-XP.png b/toolkit/themes/windows/global/icons/question-64-XP.png
new file mode 100644
index 0000000000..a1a51b8d8f
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/question-64-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/question-64.png b/toolkit/themes/windows/global/icons/question-64.png
new file mode 100644
index 0000000000..f07efc057e
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/question-64.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/resizer-rtl.png b/toolkit/themes/windows/global/icons/resizer-rtl.png
new file mode 100644
index 0000000000..973bc05bae
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/resizer-rtl.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/resizer.png b/toolkit/themes/windows/global/icons/resizer.png
new file mode 100644
index 0000000000..56f0c0c5a9
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/resizer.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/sslWarning-XP.png b/toolkit/themes/windows/global/icons/sslWarning-XP.png
new file mode 100644
index 0000000000..09946986fe
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/sslWarning-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/sslWarning.png b/toolkit/themes/windows/global/icons/sslWarning.png
new file mode 100644
index 0000000000..08ab6fab3b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/sslWarning.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/tabprompts-bgtexture.png b/toolkit/themes/windows/global/icons/tabprompts-bgtexture.png
new file mode 100644
index 0000000000..0d3cacd117
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/tabprompts-bgtexture.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-16-XP.png b/toolkit/themes/windows/global/icons/warning-16-XP.png
new file mode 100644
index 0000000000..a21574370b
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-16.png b/toolkit/themes/windows/global/icons/warning-16.png
new file mode 100644
index 0000000000..513c954851
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-16.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-64-XP.png b/toolkit/themes/windows/global/icons/warning-64-XP.png
new file mode 100644
index 0000000000..832f348867
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-64-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-64.png b/toolkit/themes/windows/global/icons/warning-64.png
new file mode 100644
index 0000000000..a93e891d20
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-64.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-large-XP.png b/toolkit/themes/windows/global/icons/warning-large-XP.png
new file mode 100644
index 0000000000..0ec8e79f68
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-large-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/warning-large.png b/toolkit/themes/windows/global/icons/warning-large.png
new file mode 100644
index 0000000000..2b445f0bd0
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/warning-large.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/windowControls-XP.png b/toolkit/themes/windows/global/icons/windowControls-XP.png
new file mode 100644
index 0000000000..d90efb05b2
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/windowControls-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/icons/windowControls.png b/toolkit/themes/windows/global/icons/windowControls.png
new file mode 100644
index 0000000000..9925b842cf
--- /dev/null
+++ b/toolkit/themes/windows/global/icons/windowControls.png
Binary files differ
diff --git a/toolkit/themes/windows/global/in-content/common.css b/toolkit/themes/windows/global/in-content/common.css
new file mode 100644
index 0000000000..c0c71662c8
--- /dev/null
+++ b/toolkit/themes/windows/global/in-content/common.css
@@ -0,0 +1,82 @@
+/* - This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ - You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/in-content/common.inc.css
+
+xul|caption {
+ background-color: transparent;
+}
+
+xul|button,
+html|button,
+xul|colorpicker[type="button"],
+xul|menulist {
+ margin: 2px 4px;
+}
+
+xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
+ margin-top: 1px;
+ margin-bottom: 1px;
+}
+
+xul|checkbox {
+ padding-inline-start: 0;
+}
+
+@media not all and (-moz-windows-default-theme) {
+ xul|*.checkbox-check {
+ background-image: none !important;
+ }
+
+ xul|*.checkbox-check[checked] {
+ list-style-image: url("chrome://global/skin/in-content/check.svg#check-native");
+ background-color: -moz-dialog;
+ }
+}
+
+xul|radio {
+ -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
+ padding-inline-start: 0;
+}
+
+@media not all and (-moz-windows-default-theme) {
+ xul|*.radio-check {
+ background-image: none;
+ }
+
+ xul|*.radio-check[selected] {
+ list-style-image: url("chrome://global/skin/in-content/radio.svg#radio-native");
+ background-color: -moz-dialog;
+ }
+}
+
+xul|*.radio-icon,
+xul|*.checkbox-icon {
+ margin-inline-end: 0;
+}
+
+/* Never draw a border for the focusring, use outline instead */
+xul|*.button-box,
+xul|*.menulist-label-box,
+xul|*.radio-label-box,
+xul|*.checkbox-label-box {
+ border-style: none;
+}
+
+xul|button:-moz-focusring > xul|*.button-box,
+xul|menulist:-moz-focusring > xul|*.menulist-label-box,
+xul|radio[focused="true"] > xul|*.radio-label-box,
+html|input[type="checkbox"]:-moz-focusring + html|label:before,
+xul|checkbox:-moz-focusring > xul|*.checkbox-label-box {
+ outline: 1px dotted;
+}
+
+/* Use a 2px border so that selected row highlight is still visible behind
+ an existing high-contrast border that uses the background color */
+@media not all and (-moz-windows-default-theme) {
+ xul|treechildren::-moz-tree-row(selected),
+ xul|listbox xul|listitem[selected="true"] {
+ border: 2px dotted Highlight;
+ }
+}
diff --git a/toolkit/themes/windows/global/in-content/info-pages.css b/toolkit/themes/windows/global/in-content/info-pages.css
new file mode 100644
index 0000000000..a25b9f6a3d
--- /dev/null
+++ b/toolkit/themes/windows/global/in-content/info-pages.css
@@ -0,0 +1 @@
+%include ../../../shared/in-content/info-pages.inc.css \ No newline at end of file
diff --git a/toolkit/themes/windows/global/jar.mn b/toolkit/themes/windows/global/jar.mn
new file mode 100644
index 0000000000..c3ad17af12
--- /dev/null
+++ b/toolkit/themes/windows/global/jar.mn
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include ../../shared/non-mac.jar.inc.mn
+
+toolkit.jar:
+ skin/classic/global/autocomplete.css
+#ifndef MOZ_THEME_FASTSTRIPE
+ skin/classic/global/button.css
+ skin/classic/global/checkbox.css
+ skin/classic/global/dropmarker.css
+ skin/classic/global/groupbox.css
+* skin/classic/global/menu.css
+ skin/classic/global/menulist.css
+* skin/classic/global/popup.css
+ skin/classic/global/radio.css
+ skin/classic/global/tabbox.css
+ skin/classic/global/textbox.css
+#endif
+ skin/classic/global/colorpicker.css
+ skin/classic/global/commonDialog.css
+ skin/classic/global/findBar.css
+* skin/classic/global/global.css
+ skin/classic/global/listbox.css
+ skin/classic/global/netError.css
+ skin/classic/global/numberbox.css
+* skin/classic/global/notification.css
+ skin/classic/global/preferences.css
+ skin/classic/global/printPageSetup.css
+ skin/classic/global/printPreview.css
+ skin/classic/global/scrollbox.css
+ skin/classic/global/splitter.css
+ skin/classic/global/toolbar.css
+ skin/classic/global/toolbarbutton.css
+* skin/classic/global/tree.css
+ skin/classic/global/alerts/alert.css (alerts/alert.css)
+ skin/classic/global/dirListing/remote.png (dirListing/remote.png)
+ skin/classic/global/icons/autocomplete-search.svg (icons/autocomplete-search.svg)
+ skin/classic/global/icons/blacklist_favicon.png (icons/blacklist_favicon.png)
+ skin/classic/global/icons/blacklist_large.png (icons/blacklist_large.png)
+ skin/classic/global/icons/close-XPVista7.png (icons/close-XPVista7.png)
+ skin/classic/global/icons/close-XPVista7@2x.png (icons/close-XPVista7@2x.png)
+ skin/classic/global/icons/close-inverted-XPVista7.png (icons/close-inverted-XPVista7.png)
+ skin/classic/global/icons/close-inverted-XPVista7@2x.png (icons/close-inverted-XPVista7@2x.png)
+ skin/classic/global/icons/resizer.png (icons/resizer.png)
+ skin/classic/global/icons/sslWarning.png (icons/sslWarning.png)
+* skin/classic/global/in-content/common.css (in-content/common.css)
+* skin/classic/global/in-content/info-pages.css (in-content/info-pages.css)
+ skin/classic/global/toolbar/spring.png (toolbar/spring.png)
+
+ skin/classic/global/dirListing/folder-XP.png (dirListing/folder-XP.png)
+ skin/classic/global/dirListing/local-XP.png (dirListing/local-XP.png)
+ skin/classic/global/dirListing/remote-XP.png (dirListing/remote-XP.png)
+ skin/classic/global/dirListing/up-XP.png (dirListing/up-XP.png)
+ skin/classic/global/icons/autoscroll.png (icons/autoscroll.png)
+ skin/classic/global/icons/autoscroll-XP.png (icons/autoscroll-XP.png)
+ skin/classic/global/icons/blacklist_favicon-XP.png (icons/blacklist_favicon-XP.png)
+ skin/classic/global/icons/blacklist_large-XP.png (icons/blacklist_large-XP.png)
+ skin/classic/global/icons/Error-XP.png (icons/Error-XP.png)
+ skin/classic/global/icons/error-16-XP.png (icons/error-16-XP.png)
+ skin/classic/global/icons/error-64-XP.png (icons/error-64-XP.png)
+ skin/classic/global/icons/folder-item-XP.png (icons/folder-item-XP.png)
+ skin/classic/global/icons/information-16-XP.png (icons/information-16-XP.png)
+ skin/classic/global/icons/information-24-XP.png (icons/information-24-XP.png)
+ skin/classic/global/icons/information-32-XP.png (icons/information-32-XP.png)
+ skin/classic/global/icons/Print-preview-XP.png (icons/Print-preview-XP.png)
+ skin/classic/global/icons/Portrait-XP.png (icons/Portrait-XP.png)
+ skin/classic/global/icons/Landscape-XP.png (icons/Landscape-XP.png)
+ skin/classic/global/icons/Question-XP.png (icons/Question-XP.png)
+ skin/classic/global/icons/question-16-XP.png (icons/question-16-XP.png)
+ skin/classic/global/icons/question-64-XP.png (icons/question-64-XP.png)
+ skin/classic/global/icons/Search-close-XP.png (icons/Search-close-XP.png)
+ skin/classic/global/icons/Search-glass-XP.png (icons/Search-glass-XP.png)
+ skin/classic/global/icons/sslWarning-XP.png (icons/sslWarning-XP.png)
+ skin/classic/global/icons/Warning-XP.png (icons/Warning-XP.png)
+ skin/classic/global/icons/warning-large-XP.png (icons/warning-large-XP.png)
+ skin/classic/global/icons/warning-16-XP.png (icons/warning-16-XP.png)
+ skin/classic/global/icons/warning-64-XP.png (icons/warning-64-XP.png)
+ skin/classic/global/icons/windowControls-XP.png (icons/windowControls-XP.png)
+ skin/classic/global/toolbar/spring-XP.png (toolbar/spring-XP.png)
+ skin/classic/global/tree/sort-asc-XP.png (tree/sort-asc-XP.png)
+ skin/classic/global/tree/sort-dsc-XP.png (tree/sort-dsc-XP.png)
+ skin/classic/global/tree/twisty.svg (tree/twisty.svg)
+ skin/classic/global/tree/twisty-XP.svg (tree/twisty-XP.svg)
+ skin/classic/global/tree/twisty-Vista78.svg (tree/twisty-Vista78.svg)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
+% override chrome://global/skin/dirListing/folder.png chrome://global/skin/dirListing/folder-XP.png osversion<6
+% override chrome://global/skin/dirListing/local.png chrome://global/skin/dirListing/local-XP.png osversion<6
+% override chrome://global/skin/dirListing/remote.png chrome://global/skin/dirListing/remote-XP.png osversion<6
+% override chrome://global/skin/dirListing/up.png chrome://global/skin/dirListing/up-XP.png osversion<6
+% override chrome://global/skin/icons/autoscroll.png chrome://global/skin/icons/autoscroll-XP.png osversion<6
+% override chrome://global/skin/icons/blacklist_favicon.png chrome://global/skin/icons/blacklist_favicon-XP.png osversion<6
+% override chrome://global/skin/icons/blacklist_large.png chrome://global/skin/icons/blacklist_large-XP.png osversion<6
+% override chrome://global/skin/icons/Error.png chrome://global/skin/icons/Error-XP.png osversion<6
+% override chrome://global/skin/icons/error-16.png chrome://global/skin/icons/error-16-XP.png osversion<6
+% override chrome://global/skin/icons/error-64.png chrome://global/skin/icons/error-64-XP.png osversion<6
+% override chrome://global/skin/icons/folder-item.png chrome://global/skin/icons/folder-item-XP.png osversion<6
+% override chrome://global/skin/icons/information-16.png chrome://global/skin/icons/information-16-XP.png osversion<6
+% override chrome://global/skin/icons/information-24.png chrome://global/skin/icons/information-24-XP.png osversion<6
+% override chrome://global/skin/icons/information-32.png chrome://global/skin/icons/information-32-XP.png osversion<6
+% override chrome://global/skin/icons/Print-preview.png chrome://global/skin/icons/Print-preview-XP.png osversion<6
+% override chrome://global/skin/icons/Portrait.png chrome://global/skin/icons/Portrait-XP.png osversion<6
+% override chrome://global/skin/icons/Landscape.png chrome://global/skin/icons/Landscape-XP.png osversion<6
+% override chrome://global/skin/icons/Question.png chrome://global/skin/icons/Question-XP.png osversion<6
+% override chrome://global/skin/icons/question-16.png chrome://global/skin/icons/question-16-XP.png osversion<6
+% override chrome://global/skin/icons/question-64.png chrome://global/skin/icons/question-64-XP.png osversion<6
+% override chrome://global/skin/icons/Search-close.png chrome://global/skin/icons/Search-close-XP.png osversion<6
+% override chrome://global/skin/icons/Search-glass.png chrome://global/skin/icons/Search-glass-XP.png osversion<6
+% override chrome://global/skin/icons/sslWarning.png chrome://global/skin/icons/sslWarning-XP.png osversion<6
+% override chrome://global/skin/icons/Warning.png chrome://global/skin/icons/Warning-XP.png osversion<6
+% override chrome://global/skin/icons/warning-large.png chrome://global/skin/icons/warning-large-XP.png osversion<6
+% override chrome://global/skin/icons/warning-16.png chrome://global/skin/icons/warning-16-XP.png osversion<6
+% override chrome://global/skin/icons/warning-64.png chrome://global/skin/icons/warning-64-XP.png osversion<6
+% override chrome://global/skin/icons/windowControls.png chrome://global/skin/icons/windowControls-XP.png osversion<6
+% override chrome://global/skin/toolbar/spring.png chrome://global/skin/toolbar/spring-XP.png osversion<6
+% override chrome://global/skin/tree/sort-asc.png chrome://global/skin/tree/sort-asc-XP.png osversion<6
+% override chrome://global/skin/tree/sort-dsc.png chrome://global/skin/tree/sort-dsc-XP.png osversion<6
+
+% override chrome://global/skin/icons/close.png chrome://global/skin/icons/close-XPVista7.png osversion<=6.1
+% override chrome://global/skin/icons/close@2x.png chrome://global/skin/icons/close-XPVista7@2x.png osversion<=6.1
+% override chrome://global/skin/icons/close-inverted.png chrome://global/skin/icons/close-inverted-XPVista7.png osversion<=6.1
+% override chrome://global/skin/icons/close-inverted@2x.png chrome://global/skin/icons/close-inverted-XPVista7@2x.png osversion<=6.1
+
+% override chrome://global/skin/tree/twisty.svg#clsd chrome://global/skin/tree/twisty-Vista78.svg#clsd osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#clsd-rtl chrome://global/skin/tree/twisty-Vista78.svg#clsd-rtl osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#clsd-hover chrome://global/skin/tree/twisty-Vista78.svg#clsd-hover osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#clsd-hover-rtl chrome://global/skin/tree/twisty-Vista78.svg#clsd-hover-rtl osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#open chrome://global/skin/tree/twisty-Vista78.svg#open osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#open-rtl chrome://global/skin/tree/twisty-Vista78.svg#open-rtl osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#open-hover chrome://global/skin/tree/twisty-Vista78.svg#open-hover osversion<=6.3
+% override chrome://global/skin/tree/twisty.svg#open-hover-rtl chrome://global/skin/tree/twisty-Vista78.svg#open-hover-rtl osversion<=6.3
+# to be sure osversion<6 has always higher precedence than osversion<=6.3 we override twisty-Vista78.svg instead of twisty.svg
+% override chrome://global/skin/tree/twisty-Vista78.svg#clsd chrome://global/skin/tree/twisty-XP.svg#clsd osversion<6
+% override chrome://global/skin/tree/twisty-Vista78.svg#open chrome://global/skin/tree/twisty-XP.svg#open osversion<6
diff --git a/toolkit/themes/windows/global/linkTree.css b/toolkit/themes/windows/global/linkTree.css
new file mode 100644
index 0000000000..d83c5bfd9d
--- /dev/null
+++ b/toolkit/themes/windows/global/linkTree.css
@@ -0,0 +1,32 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/**
+ * All the properties in this rule are important to avoid having to create
+ * a special type of tree. This stylesheet can be loaded into a document with
+ * a single tree that is a link tree. Hardly elegant but it's efficient.
+ */
+treeitem[selected="true"] > treerow
+ {
+ background : transparent !important;
+ border : none !important;
+ color : -moz-FieldText !important;
+ }
+
+treecell:hover
+ {
+ text-decoration : underline !important;
+ color : #000080 !important;
+ cursor : pointer;
+ }
+
+treecell:hover:active
+ {
+ text-decoration : underline !important;
+ color : red !important;
+ }
+
+
diff --git a/toolkit/themes/windows/global/listbox.css b/toolkit/themes/windows/global/listbox.css
new file mode 100644
index 0000000000..fd60b16934
--- /dev/null
+++ b/toolkit/themes/windows/global/listbox.css
@@ -0,0 +1,240 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== listbox.css =======================================================
+ == Styles used by XUL listbox-related elements.
+ ======================================================================= */
+
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: listbox ::::: */
+
+listbox {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+listbox[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: listitem ::::: */
+
+listitem {
+ border: 1px solid transparent;
+}
+
+listbox:focus > listitem[selected="true"][current="true"] {
+ outline: 1px dotted #F3D982;
+}
+
+listbox:focus > listitem[current="true"] {
+ outline: 1px dotted Highlight;
+ outline-offset: -1px;
+}
+
+listitem[selected="true"] {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+listbox:focus > listitem[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+/* ::::: listheader ::::: */
+
+listheader {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0 4px;
+}
+
+listheader[sortable="true"]:hover:active {
+ border-top: 2px solid;
+ border-right: 1px solid;
+ border-bottom: 1px solid;
+ border-left: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDShadow;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 1px;
+ padding-bottom: 0px;
+ padding-inline-start: 5px;
+ padding-inline-end: 4px;
+}
+
+.listheader-icon {
+ margin-inline-end: 2px;
+}
+
+.listheader-label {
+ margin: 0px !important;
+}
+
+/* ..... sort direction icon ..... */
+
+.listheader-sortdirection {
+ list-style-image: none;
+}
+
+.listheader-sortdirection[sortDirection="ascending"] {
+ list-style-image: url("chrome://global/skin/tree/sort-asc.png");
+}
+
+.listheader-sortdirection[sortDirection="ascending"]:-moz-system-metric(windows-classic) {
+ list-style-image: url("chrome://global/skin/tree/sort-asc-classic.png");
+}
+
+.listheader-sortdirection[sortDirection="descending"] {
+ list-style-image: url("chrome://global/skin/tree/sort-dsc.png");
+}
+
+.listheader-sortdirection[sortDirection="descending"]:-moz-system-metric(windows-classic) {
+ list-style-image: url("chrome://global/skin/tree/sort-dsc-classic.png");
+}
+
+/* ::::: listcell ::::: */
+
+.listcell-label {
+ margin: 0px !important;
+ padding-top: 0px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 0px;
+ white-space: nowrap;
+}
+
+.listcell-icon {
+ margin-inline-end: 2px;
+}
+
+.listcell-label[disabled="true"] {
+ color: GrayText;
+}
+
+/* ::::: listcell checkbox ::::: */
+
+.listcell-check {
+ -moz-appearance: checkbox;
+ -moz-box-align: center;
+ margin: 0px 2px;
+ border: 1px solid -moz-DialogText;
+ min-width: 13px;
+ min-height: 13px;
+ background: -moz-Field no-repeat 50% 50%;
+}
+
+@media (-moz-windows-default-theme) {
+ @media not all and (-moz-os-version: windows-xp) {
+ listitem {
+ --listitem-selectedColor: rgb(217,217,217);
+ --listitem-selectedBorder: var(--listitem-selectedColor);
+ --listitem-selectedBottomBorder: rgb(204,204,204);
+ --listitem-selectedBackground: var(--listitem-selectedColor);
+ --listitem-selectedImage: none;
+ --listitem-selectedCurrentBorder: rgb(123,195,255);
+ --listitem-selectedFocusColor: rgb(205,232,255);
+ --listitem-selectedFocusBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusBottomBorder: rgb(165,214,255);
+ --listitem-selectedFocusBackground: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusImage: none;
+ --listitem-selectedFocusCurrentBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusCurrentBottomBorder: var(--listitem-selectedFocusBottomBorder);
+ --listitem-selectedFocusCurrentBackground: var(--listitem-selectedFocusColor);
+
+ color: -moz-FieldText;
+ margin-inline-start: 1px;
+ margin-inline-end: 1px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ border-width: 1px;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ }
+
+ listitem[selected="true"] {
+ border-top-color: var(--listitem-selectedBorder);
+ border-right-color: var(--listitem-selectedBorder);
+ border-left-color: var(--listitem-selectedBorder);
+ border-bottom-color: var(--listitem-selectedBottomBorder);
+ background-image: var(--listitem-selectedImage);
+ background-color: var(--listitem-selectedBackground);
+ color: -moz-DialogText;
+ }
+
+ listbox:focus > listitem[selected="true"] {
+ border-top-color: var(--listitem-selectedFocusBorder);
+ border-right-color: var(--listitem-selectedFocusBorder);
+ border-left-color: var(--listitem-selectedFocusBorder);
+ border-bottom-color: var(--listitem-selectedFocusBottomBorder);
+ background-image: var(--listitem-selectedFocusImage);
+ background-color: var(--listitem-selectedFocusBackground);
+ color: -moz-DialogText;
+ }
+
+ listbox:focus > listitem[current="true"] {
+ border-color: var(--listitem-selectedCurrentBorder);
+ outline: none;
+ }
+
+ listbox:focus > listitem[selected="true"][current="true"] {
+ border-top-color: var(--listitem-selectedFocusCurrentBorder);
+ border-right-color: var(--listitem-selectedFocusCurrentBorder);
+ border-left-color: var(--listitem-selectedFocusCurrentBorder);
+ border-bottom-color: var(--listitem-selectedFocusCurrentBottomBorder);
+ background-color: var(--listitem-selectedFocusCurrentBackground);
+ outline: none;
+ }
+ }
+
+ @media (-moz-os-version: windows-vista),
+ (-moz-os-version: windows-win7) {
+ listitem {
+ --listitem-selectedBottomBorder: var(--listitem-selectedColor);
+ --listitem-selectedBackground: rgba(190,190,190,.15);
+ --listitem-selectedImage: linear-gradient(rgba(190,190,190,.1), rgba(190,190,190,.4));
+ --listitem-selectedCurrentBorder: rgb(125,162,206);
+ --listitem-selectedFocusColor: rgb(132,172,221);
+ --listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusBackground: rgba(131,183,249,.02);
+ --listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.375));
+ --listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
+
+ border-radius: 3px;
+ box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), inset 0 -1px 0 1px rgba(255,255,255,.2);
+ }
+ }
+
+ @media (-moz-os-version: windows-win8) {
+ listitem {
+ --listitem-selectedBottomBorder: var(--listitem-selectedColor);
+ --listitem-selectedBackground: rgba(190,190,190,.15);
+ --listitem-selectedImage: linear-gradient(rgba(190,190,190,.4), rgba(190,190,190,.4));
+ --listitem-selectedCurrentBorder: rgb(125,162,206);
+ --listitem-selectedFocusColor: rgb(132,172,221);
+ --listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
+ --listitem-selectedFocusBackground: rgba(131,183,249,.02);
+ --listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.375), rgba(131,183,249,.375));
+ --listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
+ }
+ }
+}
diff --git a/toolkit/themes/windows/global/menu.css b/toolkit/themes/windows/global/menu.css
new file mode 100644
index 0000000000..2a228251d4
--- /dev/null
+++ b/toolkit/themes/windows/global/menu.css
@@ -0,0 +1,293 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menu.css =======================================================
+ == Styles used by XUL menu-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menu/menuitem ::::: */
+
+menu,
+menuitem,
+menucaption,
+.splitmenu-menuitem {
+ -moz-appearance: menuitem;
+ -moz-box-align: center;
+ color: MenuText;
+ font: menu;
+ list-style-image: none;
+ -moz-image-region: auto;
+}
+
+menuitem[default="true"] {
+ font-weight: bold;
+}
+
+menu[disabled="true"],
+menuitem[disabled="true"],
+.splitmenu-menuitem[disabled="true"],
+menu[_moz-menuactive="true"][disabled="true"],
+menuitem[_moz-menuactive="true"][disabled="true"],
+.splitmenu-menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+ text-shadow: none;
+}
+
+@media (-moz-windows-classic) {
+ menu[disabled="true"],
+ menubar > menu[disabled="true"][_moz-menuactive="true"],
+ menuitem[disabled="true"],
+ .splitmenu-menuitem[disabled="true"] {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+ }
+}
+
+menuitem.spell-suggestion {
+ font-weight: bold;
+}
+
+/* ..... internal content .... */
+
+.menu-accel,
+.menu-iconic-accel,
+.menu-text,
+.menu-iconic-text {
+ margin: 0px !important;
+ padding: 1px 0px;
+ color: inherit;
+}
+
+.menu-text {
+ padding-inline-start: 1.45em !important;
+ -moz-appearance: menuitemtext;
+}
+
+.menu-text,
+.menu-iconic-text {
+ font-weight: inherit;
+ margin-inline-start: 2px !important;
+ padding-inline-end: 2px;
+}
+
+menucaption > .menu-text,
+menucaption > .menu-iconic-text {
+ font-weight: bold;
+ padding-inline-start: 0 !important;
+}
+
+.menu-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+.menu-accel,
+.menu-iconic-accel {
+ color: inherit;
+ margin-inline-start: 0.74em !important;
+ margin-inline-end: 1.35em !important;
+}
+
+.menu-iconic-left {
+ min-width: 1.45em;
+}
+
+.menu-iconic-icon {
+ width: 16px;
+ height: 16px;
+}
+
+menu.menu-iconic > .menu-iconic-left,
+menuitem.menuitem-iconic > .menu-iconic-left,
+.splitmenu-menuitem[iconic="true"] > .menu-iconic-left {
+ -moz-appearance: menuimage;
+ padding-top: 2px;
+}
+
+/* ..... menu arrow box ..... */
+
+.menu-right {
+ -moz-appearance: menuarrow;
+ margin-inline-end: -2px;
+ list-style-image: none;
+ min-width: 1.28em;
+ padding-top: 1px;
+}
+
+/* ::::: menu/menuitems in menubar ::::: */
+
+menubar > menu {
+ border: 2px solid transparent;
+}
+
+menubar > menu[_moz-menuactive="true"]:not([disabled="true"]) {
+ color: -moz-menubarhovertext;
+}
+
+menubar > menu[_moz-menuactive="true"][open="true"] {
+ border-width: 3px 1px 1px 3px;
+}
+
+menubar > menu:-moz-lwtheme {
+ -moz-appearance: none;
+ border-color: transparent;
+}
+
+menubar > menu:-moz-lwtheme:not([disabled="true"]) {
+ color: inherit !important;
+}
+
+menubar > menu:-moz-lwtheme[_moz-menuactive="true"]:not([disabled="true"]) {
+ background-color: Highlight;
+ color: HighlightText !important;
+ text-shadow: none;
+}
+
+@media (-moz-windows-default-theme) {
+ @media not all and (-moz-os-version: windows-xp) {
+ menubar > menu:-moz-lwtheme {
+ -moz-appearance: menuitem;
+ }
+
+ menubar > menu:-moz-lwtheme[_moz-menuactive="true"]:not([disabled="true"]) {
+ color: inherit !important;
+ text-shadow: inherit;
+ }
+ }
+}
+
+%ifdef XP_WIN
+menubar > menu:-moz-window-inactive {
+ color: ThreeDShadow;
+}
+%endif
+
+/* ..... internal content .... */
+
+.menubar-left {
+ color: inherit;
+}
+
+.menubar-text {
+ margin: 1px 6px 2px 6px !important;
+ color: inherit;
+}
+
+/* ::::: menu/menuitems in popups ::::: */
+
+menupopup > menu,
+menupopup > menuitem,
+menupopup > menucaption {
+ max-width: 42em;
+}
+
+menu[_moz-menuactive="true"],
+menuitem[_moz-menuactive="true"],
+.splitmenu-menuitem[_moz-menuactive="true"] {
+ background-color: -moz-menuhover;
+ color: -moz-menuhovertext;
+}
+
+/* ::::: menu/menuitems in menulist popups ::::: */
+
+menulist > menupopup > menuitem,
+menulist > menupopup > menucaption,
+menulist > menupopup > menu {
+ -moz-appearance: none !important;
+ border: 1px solid transparent;
+ padding-inline-start: 5px;
+ padding-inline-end: 5px;
+ max-width: none;
+ font: message-box;
+ color: -moz-FieldText;
+}
+
+menulist > menupopup > menuitem[_moz-menuactive="true"],
+menulist > menupopup > menu[_moz-menuactive="true"] {
+ background-color: highlight;
+ color: highlighttext;
+}
+
+menulist > menupopup > menuitem > .menu-iconic-left,
+menulist > menupopup > menucaption > .menu-iconic-left,
+menulist > menupopup > menu > .menu-iconic-left {
+ display: none;
+}
+
+menulist > menupopup > menuitem > label,
+menulist > menupopup > menucaption > label,
+menulist > menupopup > menu > label {
+ padding-top: 0px;
+ padding-bottom: 0px;
+}
+
+menulist:-moz-focusring > menupopup > menuitem[_moz-menuactive="true"] {
+ border: 1px dotted #F5DB95;
+}
+
+menulist > menupopup > menuitem[_moz-menuactive="true"][disabled="true"] {
+ color: GrayText;
+}
+
+menulist > menupopup > menuitem[disabled="true"]:not([_moz-menuactive="true"]):-moz-system-metric(windows-classic) {
+ color: GrayText;
+ text-shadow: none;
+}
+
+menulist > menupopup > :-moz-any(menuitem, menucaption):not(.menuitem-iconic) > .menu-iconic-text {
+ margin: 0 !important;
+}
+
+/* ::::: checkbox and radio menuitems ::::: */
+
+menuitem[type="checkbox"],
+menuitem[checked="true"] {
+ -moz-appearance: checkmenuitem;
+}
+menuitem[type="checkbox"] > .menu-iconic-left,
+menuitem[checked="true"] > .menu-iconic-left {
+ -moz-appearance: menucheckbox;
+ padding-top: 0px;
+}
+
+menuitem[type="radio"] {
+ -moz-appearance: radiomenuitem;
+}
+menuitem[type="radio"] > .menu-iconic-left {
+ -moz-appearance: menuradio;
+ padding-top: 0px;
+}
+
+menuitem[type="checkbox"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[type="radio"] > .menu-iconic-left > .menu-iconic-icon {
+ /* prevent .menu-iconic-icon from enforcing a minimal height of 16px (see bug 411064)
+ XXXzeniko apply that .menu-iconic-icon rule only for children of .menu-iconic */
+ display: none;
+}
+
+/* ::::: menuseparator ::::: */
+
+menuseparator {
+ -moz-appearance: menuseparator;
+ padding: 3px 1px 4px 1px;
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+menulist > menupopup > menuseparator {
+ padding: 6px 0 5px 0;
+ border-top: 1px solid #000000;
+ border-bottom: none;
+}
+
+/* ::::: autocomplete ::::: */
+
+.autocomplete-history-popup > menuitem {
+ max-width: none !important;
+ font: message-box;
+}
diff --git a/toolkit/themes/windows/global/menulist.css b/toolkit/themes/windows/global/menulist.css
new file mode 100644
index 0000000000..9480bffdaf
--- /dev/null
+++ b/toolkit/themes/windows/global/menulist.css
@@ -0,0 +1,143 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== menulist.css ===================================================
+ == Styles used by the XUL menulist element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* :::::::::: menulist :::::::::: */
+
+menulist {
+ -moz-appearance: menulist;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+ text-shadow: none;
+}
+
+.menulist-label-box {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 1px;
+ border: 1px solid transparent;
+ background-color: transparent;
+ color: inherit;
+}
+
+.menulist-icon[src] {
+ margin: 0px 2px 0px 2px;
+}
+
+.menulist-label {
+ margin-top: 0 !important;
+ margin-inline-end: 0 !important;
+ margin-bottom: 0 !important;
+ margin-inline-start: 1px !important;
+}
+
+.menulist-description {
+ font-style: italic;
+ color: GrayText;
+ margin-inline-start: 1ex !important;
+}
+
+/* ..... dropmarker ..... */
+
+menulist[disabled="true"]:hover:active > .menulist-dropmarker {
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ padding: 1px;
+}
+
+menulist:hover:active > .menulist-dropmarker {
+ -moz-border-top-colors: ThreeDShadow ThreeDFace;
+ -moz-border-right-colors: ThreeDShadow ThreeDFace;
+ -moz-border-bottom-colors: ThreeDShadow ThreeDFace;
+ -moz-border-left-colors: ThreeDShadow ThreeDFace;
+ padding-top: 2px;
+ padding-bottom: 0px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+/* ..... focused state ..... */
+
+menulist:focus:not([open="true"]) > .menulist-label-box {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+menulist:-moz-focusring:not([open="true"]) > .menulist-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+@media (-moz-os-version: windows-xp) {
+ menulist:-moz-focusring:not([open="true"]) > .menulist-label-box {
+ border: 1px dotted #F5DB95;
+ }
+}
+
+/* ..... disabled state ..... */
+
+menulist[disabled="true"] {
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: editable menulists ::::: */
+
+.menulist-editable-box {
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+html|*.menulist-editable-input {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px !important;
+ background: inherit;
+ font: inherit;
+}
+
+@media (-moz-windows-default-theme) {
+ @media not all and (-moz-os-version: windows-xp) {
+ .menulist-label-box {
+ background-color: transparent !important;
+ color: inherit !important;
+ }
+
+ .menulist-label {
+ margin-top: -1px !important;
+ margin-bottom: -1px !important;
+ margin-inline-start: 0 !important;
+ }
+
+ .menulist-description {
+ margin-inline-start: 1ex !important;
+ }
+
+ menulist:not([editable="true"]) > .menulist-dropmarker {
+ margin-top: -2px;
+ margin-inline-start: 3px;
+ margin-inline-end: -3px;
+ }
+
+ .menulist-icon {
+ margin-top: -1px;
+ margin-bottom: -1px;
+ }
+ }
+}
diff --git a/toolkit/themes/windows/global/moz.build b/toolkit/themes/windows/global/moz.build
new file mode 100644
index 0000000000..29c581d234
--- /dev/null
+++ b/toolkit/themes/windows/global/moz.build
@@ -0,0 +1,10 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
+
+if CONFIG['MOZ_THEME_FASTSTRIPE']:
+ DEFINES['MOZ_THEME_FASTSTRIPE'] = True
diff --git a/toolkit/themes/windows/global/netError.css b/toolkit/themes/windows/global/netError.css
new file mode 100644
index 0000000000..caf6a47c2a
--- /dev/null
+++ b/toolkit/themes/windows/global/netError.css
@@ -0,0 +1,146 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This defines the look-and-feel styling of the error pages.
+ * (see: netError.xhtml)
+ *
+ * Original styling by William Price <bugzilla@mob.rice.edu>
+ * Updated by: Steven Garrity <steven@silverorange.com>
+ * Henrik Skupin <mozilla@hskupin.info>
+ */
+
+html {
+ background: -moz-Dialog;
+}
+
+body {
+ margin: 0;
+ padding: 0 1em;
+ color: -moz-FieldText;
+ font: message-box;
+}
+
+h1 {
+ margin: 0 0 .6em 0;
+ border-bottom: 1px solid ThreeDLightShadow;
+ font-size: 160%;
+}
+
+ul, ol {
+ margin: 0;
+ margin-inline-start: 1.5em;
+ padding: 0;
+}
+
+ul > li, ol > li {
+ margin-bottom: .5em;
+}
+
+ul {
+ list-style: square;
+}
+
+#errorPageContainer {
+ position: relative;
+ min-width: 13em;
+ max-width: 52em;
+ margin: 4em auto;
+ border: 1px solid ThreeDShadow;
+ border-radius: 10px;
+ padding: 3em;
+ padding-inline-start: 30px;
+ background: url("chrome://global/skin/icons/warning-large.png") left 0 no-repeat -moz-Field;
+ background-origin: content-box;
+}
+
+#errorPageContainer.certerror {
+ background-image: url("chrome://global/skin/icons/sslWarning.png");
+}
+
+#errorPageContainer:dir(rtl) {
+ background-position: right 0;
+}
+
+#errorTitle {
+ margin-inline-start: 80px;
+}
+
+#errorLongContent {
+ margin-inline-start: 80px;
+}
+
+#errorShortDesc > p {
+ overflow: auto;
+ border-bottom: 1px solid ThreeDLightShadow;
+ padding-bottom: 1em;
+ font-size: 130%;
+ white-space: pre-wrap;
+}
+
+#errorLongDesc {
+ padding-inline-end: 3em;
+ font-size: 110%;
+}
+
+#errorLongDesc > p {
+}
+
+#errorTryAgain {
+ margin-top: 2em;
+ margin-inline-start: 80px;
+}
+
+#brand {
+ position: absolute;
+ right: 0;
+ bottom: -1.5em;
+ margin-inline-end: 10px;
+ opacity: .4;
+}
+
+#brand:dir(rtl) {
+ right: auto;
+ left: 0;
+}
+
+#brand > p {
+ margin: 0;
+}
+
+#errorContainer {
+ display: none;
+}
+
+#securityOverrideDiv {
+ padding-top: 10px;
+}
+
+#securityOverrideContent {
+ background-color: InfoBackground;
+ color: InfoText;
+ padding: 10px;
+ border-radius: 10px;
+}
+
+/* Custom styling for 'blacklist' error class */
+:root.blacklist #errorTitle, :root.blacklist #errorLongContent,
+:root.blacklist #errorShortDesc, :root.blacklist #errorLongDesc,
+:root.blacklist a {
+ background-color: #722; /* Dark red */
+ color: white;
+}
+
+:root.blacklist #errorPageContainer {
+ background-image: url("chrome://global/skin/icons/blacklist_large.png");
+ background-color: #722;
+}
+
+:root.blacklist {
+ background: #333;
+}
+
+:root.blacklist #errorTryAgain {
+ display: none;
+}
diff --git a/toolkit/themes/windows/global/notification.css b/toolkit/themes/windows/global/notification.css
new file mode 100644
index 0000000000..433a8a006f
--- /dev/null
+++ b/toolkit/themes/windows/global/notification.css
@@ -0,0 +1,215 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+notification {
+ color: InfoText;
+ background-color: InfoBackground;
+ text-shadow: none;
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+}
+
+notificationbox[notificationside="top"] > notification {
+ border-top-style: none;
+}
+
+notificationbox[notificationside="bottom"] > notification {
+ border-bottom-style: none;
+}
+
+notification[type="info"] {
+ color: -moz-DialogText;
+ background-color: -moz-Dialog;
+}
+
+notification[type="critical"] {
+ color: white;
+ background-image: linear-gradient(rgb(212,0,0), rgb(152,0,0));
+}
+
+.messageText > .text-link {
+ color: inherit !important;
+ text-decoration: underline;
+}
+
+.messageImage {
+ width: 16px;
+ height: 16px;
+ margin-inline-start: 6px;
+ margin-inline-end: 1px;
+}
+
+/* Default icons for notifications */
+
+.messageImage[type="info"] {
+ list-style-image: url("chrome://global/skin/icons/information-16.png");
+}
+
+.messageImage[type="warning"] {
+ list-style-image: url("chrome://global/skin/icons/warning-16.png");
+}
+
+.messageImage[type="critical"] {
+ list-style-image: url("chrome://global/skin/icons/error-16.png");
+}
+
+.messageCloseButton {
+ -moz-appearance: none;
+ padding: 4px 2px;
+ border: none !important;
+}
+
+.messageCloseButton > .toolbarbutton-icon {
+ margin-inline-end: 5px;
+}
+
+/* Popup notification */
+
+.popup-notification-body {
+ max-width: 25em;
+}
+
+.popup-notification-origin:not([value]),
+.popup-notification-learnmore-link:not([href]) {
+ display: none;
+}
+
+.popup-notification-origin {
+ margin-bottom: .3em !important;
+}
+
+.popup-notification-learnmore-link {
+ margin-top: .5em !important;
+}
+
+.popup-notification-button-container {
+ margin-top: 17px;
+}
+
+%ifdef XP_WIN
+/*
+XXX: apply styles to all themes until bug 509642 is fixed
+@media (-moz-windows-default-theme) {
+*/
+ .popup-notification-menubutton {
+ -moz-appearance: none;
+ border-radius: 3px;
+ padding: 0;
+ background-color: rgba(250,250,250,.3)
+ }
+
+ .popup-notification-menubutton:hover:active {
+ border-color: rgba(0,0,0,.5);
+ }
+
+ .popup-notification-menubutton:not([type="menu-button"]),
+ .popup-notification-menubutton > .button-menubutton-button,
+ .popup-notification-menubutton > .button-menubutton-dropmarker {
+ -moz-appearance: none;
+ margin: 0;
+ border: 1px solid rgba(0,0,0,.35);
+
+ box-shadow: 0 1px 0 rgba(255,255,255,.5) inset,
+ 0 2px 2px rgba(255,255,255,.35) inset,
+ 0 -1px 2px rgba(0,0,0,.1) inset,
+ 0 1px 0 rgba(255,255,255,.35);
+
+ }
+
+ @media (-moz-windows-glass) {
+ .popup-notification-menubutton:not([type="menu-button"]),
+ .popup-notification-menubutton > .button-menubutton-button,
+ .popup-notification-menubutton > .button-menubutton-dropmarker {
+ background-color: transparent;
+ background-image: linear-gradient(rgba(250,250,250,.6), rgba(175,175,175,.25) 49%, rgba(0,0,0,.12) 51%, rgba(0,0,0,.09) 60%, rgba(0,0,0,.05));
+ box-shadow: 0 0 1px 1px rgba(255,255,255,.75) inset;
+ }
+ }
+
+ .popup-notification-menubutton > .button-menubutton-button {
+ background-color: transparent;
+ padding: 1px;
+ border-inline-end: none;
+ }
+
+ .popup-notification-menubutton:not([type="menu-button"]),
+ .popup-notification-menubutton > .button-menubutton-button > .button-box {
+ padding-inline-start: 8px;
+ padding-inline-end: 5px;
+ }
+
+ .popup-notification-menubutton > .button-menubutton-dropmarker {
+ padding: 9px 5px 8px;
+ width: auto;
+ height: auto;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-sharp.gif");
+ }
+
+ .popup-notification-menubutton:-moz-focusring > .button-menubutton-dropmarker {
+ outline: 1px dotted ThreeDDarkShadow;
+ outline-offset: -3px;
+ }
+
+ @media (-moz-windows-glass) {
+ .popup-notification-menubutton > .button-menubutton-button:-moz-locale-dir(ltr),
+ .popup-notification-menubutton > .button-menubutton-dropmarker:-moz-locale-dir(rtl) {
+ border-radius: 2px 0 0 2px;
+ }
+
+ .popup-notification-menubutton > .button-menubutton-button:-moz-locale-dir(rtl),
+ .popup-notification-menubutton > .button-menubutton-dropmarker:-moz-locale-dir(ltr) {
+ border-radius: 0 2px 2px 0;
+ }
+ }
+
+ .popup-notification-menubutton:not([type="menu-button"]):hover,
+ .popup-notification-menubutton > .button-menubutton-button:hover,
+ .popup-notification-menubutton > .button-menubutton-dropmarker:hover {
+ background-color: rgba(250,250,250,.6);
+ }
+
+ .popup-notification-menubutton:not([type="menu-button"]):hover:active,
+ .popup-notification-menubutton > .button-menubutton-button:hover:active,
+ .popup-notification-menubutton > .button-menubutton-dropmarker:hover:active,
+ .popup-notification-menubutton[open="true"] > .button-menubutton-dropmarker {
+ background-color: rgba(0,0,0,.05);
+ box-shadow: 0 0 2px rgba(0,0,0,.65) inset;
+ }
+
+ @media (-moz-windows-glass) {
+ .popup-notification-menubutton:not([type="menu-button"]):hover,
+ .popup-notification-menubutton > .button-menubutton-button:hover,
+ .popup-notification-menubutton > .button-menubutton-dropmarker:hover {
+ background-color: transparent;
+ background-image: linear-gradient(rgba(250,250,250,.9), rgba(200,200,200,.6) 49%, rgba(0,0,0,.23) 51%, rgba(0,0,0,.17) 60%, rgba(0,0,0,.05));
+ box-shadow: 0 0 0 1px white inset,
+ 0 0 2px 1px rgba(255,255,255,.75) inset;
+ }
+ .popup-notification-menubutton:not([type="menu-button"]):hover:active,
+ .popup-notification-menubutton > .button-menubutton-button:hover:active,
+ .popup-notification-menubutton > .button-menubutton-dropmarker:hover:active,
+ .popup-notification-menubutton[open="true"] > .button-menubutton-dropmarker {
+ background-color: transparent;
+ background-image: linear-gradient(rgba(250,250,250,.9), rgba(200,200,200,.6) 49%, rgba(0,0,0,.23) 51%, rgba(0,0,0,.17) 60%, rgba(0,0,0,.05));
+ }
+ }
+/*}*/
+%endif
+
+.popup-notification-closebutton {
+ margin-inline-end: -14px;
+ margin-top: -10px;
+}
+
+.popup-notification-menubutton > .button-menubutton-button[disabled] {
+ opacity: 0.5;
+}
+
+@media (-moz-windows-default-theme) {
+ .popup-notification-warning {
+ color: #aa1b08;
+ }
+}
diff --git a/toolkit/themes/windows/global/numberbox.css b/toolkit/themes/windows/global/numberbox.css
new file mode 100644
index 0000000000..b5289c4d82
--- /dev/null
+++ b/toolkit/themes/windows/global/numberbox.css
@@ -0,0 +1,24 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== numberbox.css ==================================================
+ == Styles used by the XUL textbox type="number" element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+textbox[type="number"] {
+ padding: 0 !important;
+ cursor: default;
+}
+
+html|*.numberbox-input {
+ text-align: right;
+}
+
+.numberbox-input-box {
+ -moz-box-align: center;
+}
+
diff --git a/toolkit/themes/windows/global/popup.css b/toolkit/themes/windows/global/popup.css
new file mode 100644
index 0000000000..010e85a932
--- /dev/null
+++ b/toolkit/themes/windows/global/popup.css
@@ -0,0 +1,159 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: menupopup ::::: */
+
+menupopup,
+panel {
+ border: 3px solid transparent;
+ -moz-border-top-colors : ThreeDLightShadow ThreeDHighlight ThreeDFace;
+ -moz-border-left-colors : ThreeDLightShadow ThreeDHighlight ThreeDFace;
+ -moz-border-right-colors : ThreeDDarkShadow ThreeDShadow ThreeDFace;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow ThreeDFace;
+ padding: 0px;
+ min-width: 1px;
+ background: Menu;
+ color: MenuText;
+}
+
+menupopup {
+ -moz-appearance: menupopup;
+}
+
+menupopup > menu > menupopup {
+ /* align submenus */
+ margin-inline-start: -3px;
+ margin-top: -3px;
+}
+
+panel[type="arrow"] {
+ -moz-appearance: none;
+ background: transparent;
+ border: none;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"] {
+ margin-left: -20px;
+ margin-right: -20px;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"] {
+ margin-top: -20px;
+ margin-bottom: -20px;
+}
+
+.panel-arrowcontent {
+ padding: var(--arrowpanel-padding);
+ color: var(--arrowpanel-color);
+ background: var(--arrowpanel-background);
+ background-clip: padding-box;
+ border: 1px solid var(--arrowpanel-border-color);
+ box-shadow: 0 0 4px hsla(0,0%,0%,.2);
+ margin: 4px;
+}
+
+%ifdef XP_WIN
+@media (-moz-os-version: windows-xp),
+ (-moz-os-version: windows-vista),
+ (-moz-os-version: windows-win7) {
+%endif
+.panel-arrowcontent {
+ border-radius: 4px;
+}
+%ifdef XP_WIN
+}
+%endif
+
+.panel-arrow[side="top"],
+.panel-arrow[side="bottom"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical-themed.svg"));
+ position: relative;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+.panel-arrow[side="top"] {
+ margin-bottom: -5px;
+}
+
+.panel-arrow[side="bottom"] {
+ transform: scaleY(-1);
+ margin-top: -5px;
+}
+
+.panel-arrow[side="left"],
+.panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal-themed.svg");
+ position: relative;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.panel-arrow[side="left"] {
+ margin-right: -5px;
+}
+
+.panel-arrow[side="right"] {
+ transform: scaleX(-1);
+ margin-left: -5px;
+}
+
+%ifdef XP_WIN
+@media (-moz-windows-default-theme) {
+ .panel-arrowcontent {
+ --arrowpanel-border-color: hsla(210,4%,10%,.2);
+ box-shadow: 0 0 4px hsla(210,4%,10%,.2);
+ }
+
+ .panel-arrow[side="top"],
+ .panel-arrow[side="bottom"] {
+ list-style-image: var(--panel-arrow-image-vertical,
+ url("chrome://global/skin/arrow/panelarrow-vertical.svg"));
+ }
+
+ .panel-arrow[side="left"],
+ .panel-arrow[side="right"] {
+ list-style-image: url("chrome://global/skin/arrow/panelarrow-horizontal.svg");
+ }
+}
+%endif
+
+/* ::::: tooltip ::::: */
+
+tooltip {
+ -moz-appearance: tooltip;
+ margin-top: 21px;
+ border: 1px solid InfoText;
+ padding: 2px 3px;
+ max-width: 40em;
+ background-color: InfoBackground;
+ color: InfoText;
+ font: message-box;
+}
+
+tooltip[titletip="true"] {
+ /* See bug 32157 comment 128
+ * margin: -2px 0px 0px -3px;
+ */
+ max-width: none;
+}
+
+/* rules for popups associated with menulists */
+
+menulist > menupopup {
+ -moz-appearance: none;
+ border-width: 1px;
+ -moz-border-top-colors: -moz-FieldText;
+ -moz-border-right-colors: -moz-FieldText;
+ -moz-border-bottom-colors: -moz-FieldText;
+ -moz-border-left-colors: -moz-FieldText;
+ padding: 0px;
+ min-width: 0px;
+ background-color: -moz-Field;
+}
diff --git a/toolkit/themes/windows/global/preferences.css b/toolkit/themes/windows/global/preferences.css
new file mode 100644
index 0000000000..b096358dd4
--- /dev/null
+++ b/toolkit/themes/windows/global/preferences.css
@@ -0,0 +1,76 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== preferences.css =====================================================
+ == Styles used by the XUL prefwindow element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: dialog ::::: */
+
+prefwindow {
+ padding: 0px;
+}
+
+prefpane {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+prefwindow[type="child"] {
+ padding-top: 8px;
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+prefwindow[type="child"] > prefpane {
+ padding: 0px;
+}
+
+.prefWindow-dlgbuttons {
+ padding-bottom: 10px;
+ padding-inline-start: 8px;
+ padding-inline-end: 10px;
+}
+
+prefwindow[type="child"] .prefWindow-dlgbuttons {
+ padding: 0px;
+}
+
+radio[pane] {
+ -moz-appearance: none;
+ margin: 0px 1px 0px 1px;
+ padding: 1px 3px 1px 3px;
+ min-width: 4.5em;
+}
+
+.paneSelector {
+ border-bottom: 2px groove ThreeDFace;
+ margin: 0px;
+ padding-inline-start: 10px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+.paneButtonIcon {
+ width: 32px;
+ height: 32px;
+}
+
+radio[pane]:hover {
+ background-color: #E0E8F6;
+ color: black;
+ -moz-appearance: none;
+}
+
+radio[pane][selected="true"] {
+ background-color: #C1D2EE;
+ color: black;
+ -moz-appearance: none;
+}
+
diff --git a/toolkit/themes/windows/global/printPageSetup.css b/toolkit/themes/windows/global/printPageSetup.css
new file mode 100644
index 0000000000..02cfa44285
--- /dev/null
+++ b/toolkit/themes/windows/global/printPageSetup.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.portrait-page {
+ list-style-image: url("chrome://global/skin/icons/Portrait.png");
+}
+
+.landscape-page {
+ list-style-image: url("chrome://global/skin/icons/Landscape.png");
+}
diff --git a/toolkit/themes/windows/global/printPreview.css b/toolkit/themes/windows/global/printPreview.css
new file mode 100644
index 0000000000..60fae180f2
--- /dev/null
+++ b/toolkit/themes/windows/global/printPreview.css
@@ -0,0 +1,21 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.navigate-button {
+ min-width: 1.9em;
+}
+
+.navigate-button > .toolbarbutton-icon {
+ display: none;
+}
+
+.toolbar-portrait-page {
+ list-style-image: url("chrome://global/skin/icons/Print-preview.png");
+ -moz-image-region: rect(0px 16px 16px 0px);
+}
+
+.toolbar-landscape-page {
+ list-style-image: url("chrome://global/skin/icons/Print-preview.png");
+ -moz-image-region: rect(0px 32px 16px 16px);
+}
diff --git a/toolkit/themes/windows/global/progressmeter.css b/toolkit/themes/windows/global/progressmeter.css
new file mode 100644
index 0000000000..623fa7ac88
--- /dev/null
+++ b/toolkit/themes/windows/global/progressmeter.css
@@ -0,0 +1,43 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== progressmeter.css ==============================================
+ == Styles used by the XUL progressmeter element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: progressmeter ::::: */
+
+progressmeter {
+ -moz-appearance: progressbar;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDHighlight -moz-Dialog;
+ -moz-border-bottom-colors: ThreeDHighlight -moz-Dialog;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ background-color: -moz-Dialog;
+ min-width: 128px;
+ min-height: 15px;
+}
+
+.progress-bar
+{
+ -moz-appearance: progresschunk;
+ min-width: 0px;
+ background-color: ThreeDShadow;
+}
+
+/* ::::: statusbar progressmeter ::::: */
+
+.progressmeter-statusbar {
+ margin: 0;
+ border: 0px;
+ -moz-border-top-colors: ThreeDHighlight -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: ThreeDHighlight -moz-Dialog;
+ min-width: 96px;
+}
diff --git a/toolkit/themes/windows/global/radio.css b/toolkit/themes/windows/global/radio.css
new file mode 100644
index 0000000000..c4a009d057
--- /dev/null
+++ b/toolkit/themes/windows/global/radio.css
@@ -0,0 +1,100 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== radio.css ===================================================
+ == Styles used by the XUL radio element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: radio ::::: */
+
+radio {
+ -moz-appearance: radio-container;
+ -moz-box-align: center;
+ margin: 2px 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+}
+
+.radio-label-box {
+ margin-inline-start: 2px;
+ border: 1px solid transparent;
+ padding-top: 0px;
+ padding-bottom: 1px;
+ padding-inline-start: 1px;
+ padding-inline-end: 0px;
+}
+
+.radio-icon {
+ margin-inline-end: 2px;
+}
+
+.radio-label {
+ margin: 0 !important;
+}
+
+/* ..... focused state ..... */
+
+radio[focused="true"] > .radio-label-box {
+ border: 1px dotted ThreeDDarkShadow;
+}
+
+/* ..... disabled state ..... */
+
+radio[disabled="true"] > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+radio[disabled="true"] {
+ color: GrayText;
+}
+
+radio[disabled="true"]:-moz-system-metric(windows-classic) {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+}
+
+/* ::::: checkmark image ::::: */
+
+.radio-check-box1 {
+ -moz-appearance: radio;
+ margin: 1px 0px;
+ border-top: 1px solid ThreeDShadow;
+ border-right: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDHighlight;
+ border-left: 1px solid ThreeDShadow;
+ border-radius: 50%;
+ width: 12px;
+ height: 12px;
+ background-color: -moz-Field;
+}
+
+.radio-check-box2 {
+ border-top: 1px solid ThreeDDarkShadow;
+ border-right: 1px solid ThreeDLightShadow;
+ border-bottom: 1px solid ThreeDLightShadow;
+ border-left: 1px solid ThreeDDarkShadow;
+ border-radius: 50%;
+ padding: 2px;
+ width: 4px;
+ height: 4px;
+ list-style-image: none;
+}
+
+radio:hover:active > .radio-check-box1 {
+ background-color: -moz-Dialog;
+}
+
+/* ..... selected state ..... */
+
+radio[selected="true"] > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check.gif");
+}
+
+radio[selected="true"][disabled="true"] > .radio-check-box1 > .radio-check-box2 {
+ list-style-image: url("chrome://global/skin/radio/radio-check-dis.gif") !important
+}
diff --git a/toolkit/themes/windows/global/radio/radio-check-dis.gif b/toolkit/themes/windows/global/radio/radio-check-dis.gif
new file mode 100644
index 0000000000..5e9a1cb014
--- /dev/null
+++ b/toolkit/themes/windows/global/radio/radio-check-dis.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/radio/radio-check.gif b/toolkit/themes/windows/global/radio/radio-check.gif
new file mode 100644
index 0000000000..26aa14026a
--- /dev/null
+++ b/toolkit/themes/windows/global/radio/radio-check.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/resizer.css b/toolkit/themes/windows/global/resizer.css
new file mode 100644
index 0000000000..8108d7e85a
--- /dev/null
+++ b/toolkit/themes/windows/global/resizer.css
@@ -0,0 +1,49 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+resizer {
+ -moz-appearance: resizer;
+ background: url("chrome://global/skin/icons/resizer.png") no-repeat;
+ background-size: 100% 100%;
+ cursor: se-resize;
+ width: 15px;
+ height: 15px;
+}
+
+resizer[rtl="true"],
+resizer[dir="bottomend"]:-moz-locale-dir(rtl) {
+ background: url("chrome://global/skin/icons/resizer-rtl.png") no-repeat;
+}
+
+resizer[dir="left"],
+resizer[dir="bottomleft"],
+resizer[dir="bottomstart"] {
+ transform: scaleX(-1);
+}
+
+resizer[dir="bottomleft"],
+resizer[dir="bottomstart"]:not([rtl="true"]):not(:-moz-locale-dir(rtl)),
+resizer[dir="bottomend"][rtl="true"] {
+ cursor: sw-resize;
+}
+
+resizer[dir="top"],
+resizer[dir="bottom"] {
+ cursor: ns-resize;
+}
+
+resizer[dir="left"],
+resizer[dir="right"] {
+ cursor: ew-resize;
+}
+
+resizer[dir="topleft"] {
+ cursor: nw-resize;
+}
+
+resizer[dir="topright"] {
+ cursor: ne-resize;
+}
diff --git a/toolkit/themes/windows/global/richlistbox.css b/toolkit/themes/windows/global/richlistbox.css
new file mode 100644
index 0000000000..90c6e672a6
--- /dev/null
+++ b/toolkit/themes/windows/global/richlistbox.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+richlistbox {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+richlistbox[disabled="true"] {
+ color: GrayText;
+}
+
+richlistitem[selected="true"] {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+richlistbox:focus > richlistitem[selected="true"] {
+ background-color: Highlight;
+ color: HighlightText;
+}
+
+richlistbox[seltype="multiple"]:focus > richlistitem[current="true"] {
+ outline: 1px dotted Highlight;
+ outline-offset: -1px;
+}
+
+richlistbox[seltype="multiple"]:focus > richlistitem[current="true"][selected="true"] {
+ outline: 1px dotted #F3D982; /* TODO: find a suitable system color */
+}
+
diff --git a/toolkit/themes/windows/global/scale.css b/toolkit/themes/windows/global/scale.css
new file mode 100644
index 0000000000..4812546164
--- /dev/null
+++ b/toolkit/themes/windows/global/scale.css
@@ -0,0 +1,50 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: scale ::::: */
+
+.scale-slider {
+ -moz-appearance: scale-horizontal;
+ background: url("chrome://global/skin/scale/scale-tray-horiz.gif") 0% 50% repeat-x;
+ margin: 2px 4px;
+ width: 100px;
+}
+
+.scale-slider[orient="vertical"]
+{
+ -moz-appearance: scale-vertical;
+ background: url("chrome://global/skin/scale/scale-tray-vert.gif") 50% 0% repeat-y;
+ margin: 4px 2px;
+ width: auto;
+ height: 100px;
+}
+
+/* ::::: scale thumb ::::: */
+
+.scale-thumb {
+ -moz-appearance: scalethumb-horizontal;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ min-width: 30px;
+ min-height: 15px;
+}
+
+.scale-thumb[orient="vertical"] {
+ -moz-appearance: scalethumb-vertical;
+ min-width: 15px;
+ min-height: 30px;
+}
+
+.scale-thumb[disabled="true"] {
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow !important;
+}
diff --git a/toolkit/themes/windows/global/scale/scale-tray-horiz.gif b/toolkit/themes/windows/global/scale/scale-tray-horiz.gif
new file mode 100644
index 0000000000..b87fe68c15
--- /dev/null
+++ b/toolkit/themes/windows/global/scale/scale-tray-horiz.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/scale/scale-tray-vert.gif b/toolkit/themes/windows/global/scale/scale-tray-vert.gif
new file mode 100644
index 0000000000..97687b2e22
--- /dev/null
+++ b/toolkit/themes/windows/global/scale/scale-tray-vert.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/scrollbar/slider.gif b/toolkit/themes/windows/global/scrollbar/slider.gif
new file mode 100644
index 0000000000..355fcb27cc
--- /dev/null
+++ b/toolkit/themes/windows/global/scrollbar/slider.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/scrollbox.css b/toolkit/themes/windows/global/scrollbox.css
new file mode 100644
index 0000000000..b7a6f9987c
--- /dev/null
+++ b/toolkit/themes/windows/global/scrollbox.css
@@ -0,0 +1,100 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/*
+ * Scroll arrows
+ */
+
+/* Horizontal enabled */
+.autorepeatbutton-up[orient="horizontal"],
+.autorepeatbutton-down:-moz-locale-dir(rtl)[orient="horizontal"],
+.scrollbutton-up[orient="horizontal"],
+.scrollbutton-down:-moz-locale-dir(rtl)[orient="horizontal"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[orient="horizontal"],
+.autorepeatbutton-up:-moz-locale-dir(rtl)[orient="horizontal"],
+.scrollbutton-down[orient="horizontal"],
+.scrollbutton-up:-moz-locale-dir(rtl)[orient="horizontal"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+ /* Horizontal disabled */
+.autorepeatbutton-up[orient="horizontal"][disabled="true"],
+.autorepeatbutton-down:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"],
+.scrollbutton-up[orient="horizontal"][disabled="true"],
+.scrollbutton-down:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[orient="horizontal"][disabled="true"],
+.autorepeatbutton-up:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"],
+.scrollbutton-down[orient="horizontal"][disabled="true"],
+.scrollbutton-up:-moz-locale-dir(rtl)[orient="horizontal"][disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical enabled */
+.autorepeatbutton-up,
+.scrollbutton-up {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down,
+.scrollbutton-down {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+/* Vertical disabled */
+.autorepeatbutton-up[disabled="true"],
+.scrollbutton-up[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.autorepeatbutton-down[disabled="true"],
+.scrollbutton-down[disabled="true"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+ -moz-image-region: auto; /* cut off inheritance */
+}
+
+.scrollbutton-up > .toolbarbutton-text,
+.scrollbutton-down > .toolbarbutton-text {
+ display: none;
+}
+
+autorepeatbutton,
+.scrollbutton-up,
+.scrollbutton-down {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 1px;
+ margin-inline-end: 2px;
+}
+
+autorepeatbutton {
+ border: 1px solid transparent;
+ padding: 1px;
+}
+
+autorepeatbutton:not([disabled="true"]):hover,
+autorepeatbutton:not([disabled="true"]):hover:active {
+ margin: 1px;
+ border: 1px inset ThreeDFace;
+ padding-top: 2px;
+ padding-bottom: 1px;
+ padding-inline-start: 2px;
+ padding-inline-end: 1px;
+}
diff --git a/toolkit/themes/windows/global/spinbuttons.css b/toolkit/themes/windows/global/spinbuttons.css
new file mode 100644
index 0000000000..a2f2ebf49a
--- /dev/null
+++ b/toolkit/themes/windows/global/spinbuttons.css
@@ -0,0 +1,65 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+spinbuttons {
+ -moz-appearance: spinner;
+ cursor: default;
+}
+
+.spinbuttons-button {
+ min-width: 13px;
+ min-height: 11px;
+ margin: 0 !important;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: ThreeDFace;
+}
+
+.spinbuttons-button > .button-box {
+ border: 0;
+}
+
+.spinbuttons-button:hover:active
+{
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+.spinbuttons-button[disabled="true"] {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow !important;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow !important;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow !important;
+}
+
+.spinbuttons-up {
+ -moz-appearance: spinner-upbutton;
+ background-image: url("chrome://global/skin/arrow/arrow-up.gif");
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.spinbuttons-up[disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
+}
+
+.spinbuttons-down {
+ -moz-appearance: spinner-downbutton;
+ background-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+ background-position: center center;
+ background-repeat: no-repeat;
+}
+
+.spinbuttons-down[disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
+}
diff --git a/toolkit/themes/windows/global/splitter.css b/toolkit/themes/windows/global/splitter.css
new file mode 100644
index 0000000000..3a0417ee2e
--- /dev/null
+++ b/toolkit/themes/windows/global/splitter.css
@@ -0,0 +1,135 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== splitter.css ===================================================
+ == Styles used by the XUL splitter element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: splitter (vertical) ::::: */
+
+splitter {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ cursor: ew-resize;
+ border-width: 0 2px;
+ border-style: solid;
+ -moz-border-left-colors: ThreeDShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDFace;
+ min-width: 6px;
+ background-color: ThreeDFace;
+}
+
+splitter[state="collapsed"][collapse="before"],
+splitter[state="collapsed"][substate="before"],
+splitter[state="collapsed"][collapse="after"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="after"]:-moz-locale-dir(rtl) {
+ cursor: e-resize;
+}
+
+splitter[state="collapsed"][collapse="after"],
+splitter[state="collapsed"][substate="after"],
+splitter[state="collapsed"][collapse="before"]:-moz-locale-dir(rtl),
+splitter[state="collapsed"][substate="before"]:-moz-locale-dir(rtl) {
+ cursor: w-resize;
+}
+
+splitter:-moz-lwtheme {
+ background: none;
+}
+
+/* ::::: splitter (horizontal) ::::: */
+
+splitter[orient="vertical"] {
+ cursor: ns-resize;
+ border-width: 2px 0;
+ -moz-border-top-colors: ThreeDShadow ThreeDHighlight;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDFace;
+ min-height: 6px;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="before"],
+splitter[orient="vertical"][state="collapsed"][substate="before"] {
+ cursor: s-resize;
+}
+
+splitter[orient="vertical"][state="collapsed"][collapse="after"],
+splitter[orient="vertical"][state="collapsed"][substate="after"] {
+ cursor: n-resize;
+}
+
+splitter[disabled="true"] {
+ cursor: default !important;
+}
+
+/* ::::: splitter grippy ::::: */
+
+grippy {
+ cursor: pointer;
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDShadow;
+ min-width: 4px;
+ min-height: 115px;
+ background-color: transparent;
+ background-repeat: no-repeat;
+}
+
+grippy:hover {
+ background-color: ThreeDHighlight;
+}
+
+splitter[orient="vertical"] > grippy {
+ border-top: none;
+ border-right: 1px solid ThreeDShadow;
+ border-bottom: none;
+ border-left: 1px solid ThreeDShadow;;
+ min-width: 115px;
+ min-height: 4px;
+}
+
+/* ..... normal state ..... */
+
+/* vertical grippies */
+splitter[collapse="before"] > grippy,
+splitter[collapse="after"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-left.gif");
+}
+
+splitter[collapse="after"] > grippy,
+splitter[collapse="before"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-right.gif");
+}
+
+/* horizontal grippies */
+splitter[collapse="before"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-top.gif");
+}
+
+splitter[collapse="after"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-bottom.gif");
+}
+
+/* ..... collapsed state ..... */
+
+/* vertical grippies */
+splitter[collapse="before"][state="collapsed"] > grippy,
+splitter[collapse="after"][state="collapsed"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-right.gif");
+}
+
+splitter[collapse="after"][state="collapsed"] > grippy,
+splitter[collapse="before"][state="collapsed"] > grippy:-moz-locale-dir(rtl) {
+ background-image: url("chrome://global/skin/splitter/grip-left.gif");
+}
+
+/* horizontal grippies */
+splitter[collapse="before"][state="collapsed"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-bottom.gif");
+}
+
+splitter[collapse="after"][state="collapsed"][orient="vertical"] > grippy {
+ background-image: url("chrome://global/skin/splitter/grip-top.gif");
+}
+
diff --git a/toolkit/themes/windows/global/splitter/grip-bottom.gif b/toolkit/themes/windows/global/splitter/grip-bottom.gif
new file mode 100644
index 0000000000..af6290fe9d
--- /dev/null
+++ b/toolkit/themes/windows/global/splitter/grip-bottom.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/splitter/grip-left.gif b/toolkit/themes/windows/global/splitter/grip-left.gif
new file mode 100644
index 0000000000..6be9bc4f40
--- /dev/null
+++ b/toolkit/themes/windows/global/splitter/grip-left.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/splitter/grip-right.gif b/toolkit/themes/windows/global/splitter/grip-right.gif
new file mode 100644
index 0000000000..71be69083e
--- /dev/null
+++ b/toolkit/themes/windows/global/splitter/grip-right.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/splitter/grip-top.gif b/toolkit/themes/windows/global/splitter/grip-top.gif
new file mode 100644
index 0000000000..3cba005946
--- /dev/null
+++ b/toolkit/themes/windows/global/splitter/grip-top.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/tabbox.css b/toolkit/themes/windows/global/tabbox.css
new file mode 100644
index 0000000000..6a414cc4e3
--- /dev/null
+++ b/toolkit/themes/windows/global/tabbox.css
@@ -0,0 +1,133 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== tabbox.css =================================================
+ == Styles used by XUL tab-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: tabs ::::: */
+
+.tabs-left,
+.tabs-right {
+ border-bottom: 2px solid;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+}
+
+/* ::::: tabpanels ::::: */
+
+tabpanels {
+ -moz-appearance: tabpanels;
+ border-right: 2px solid;
+ border-bottom: 2px solid;
+ border-left: 2px solid;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ padding: 8px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ::::: tab ::::: */
+
+tab
+{
+ -moz-appearance: tab;
+ margin-top: 2px;
+ border-top: 2px solid;
+ border-right: 2px solid;
+ border-left: 2px solid;
+ border-bottom: 1px solid ThreeDHighlight;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ border-top-left-radius: 2px;
+ border-top-right-radius: 2px;
+ padding: 1px 4px 2px 4px;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+tab:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 1px;
+ border-bottom-right-radius: 0px;
+}
+
+.tab-text {
+ margin: 0 !important;
+}
+
+tab[visuallyselected="true"] {
+ margin-top: 0;
+ border-bottom-color: transparent;
+ padding: 1px 6px 4px 6px;
+}
+
+tab:-moz-focusring > .tab-middle {
+ /* Don't specify the outline-color, we should always use initial value. */
+ outline: 1px dotted;
+}
+
+tab[beforeselected="true"]:-moz-locale-dir(ltr),
+tab[visuallyselected="true"]:-moz-locale-dir(rtl) + tab {
+ border-right: none;
+ border-top-right-radius: 0;
+}
+
+tab[visuallyselected="true"]:-moz-locale-dir(ltr) + tab,
+tab[beforeselected="true"]:-moz-locale-dir(rtl) {
+ border-left: none;
+ border-top-left-radius: 0;
+}
+
+tab:first-of-type[visuallyselected="true"] {
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+/* ::::: tab-bottom ::::::::::
+ :: Tabs that are attached to the bottom of a panel, but not necessarily
+ :: a tabpanels.
+ ::::: */
+
+.tab-bottom {
+ margin-top: 0;
+ margin-bottom: 2px;
+ border-top: 1px solid;
+ border-bottom: 2px solid;
+ -moz-border-top-colors: ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDShadow ThreeDLightShadow;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ padding: 2px 4px 1px 4px;
+}
+
+.tab-bottom[visuallyselected="true"] {
+ margin-bottom: 0;
+ -moz-border-top-colors: -moz-Dialog;
+ padding: 4px 6px 1px 6px;
+}
+
+.tab-bottom[beforeselected="true"]:-moz-locale-dir(ltr),
+.tab-bottom[visuallyselected="true"]:-moz-locale-dir(rtl) + .tab-bottom {
+ border-bottom-right-radius: 0;
+}
+
+.tab-bottom[visuallyselected="true"]:-moz-locale-dir(ltr) + .tab-bottom,
+.tab-bottom[beforeselected="true"]:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 0;
+}
+
+/* ::::: tabs-bottom ::::: */
+
+.tabs-bottom > .tabs-left,
+.tabs-bottom > .tabs-right {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: none;
+}
+
diff --git a/toolkit/themes/windows/global/tabprompts.css b/toolkit/themes/windows/global/tabprompts.css
new file mode 100644
index 0000000000..e9461d6cea
--- /dev/null
+++ b/toolkit/themes/windows/global/tabprompts.css
@@ -0,0 +1,27 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* Tab Modal Prompt boxes */
+tabmodalprompt {
+ background-image: url(chrome://global/skin/icons/tabprompts-bgtexture.png);
+ background-color: hsla(0,0%,10%,.5);
+ font-family: sans-serif; /* use content font not system UI font */
+}
+
+.mainContainer {
+ color: -moz-fieldText;
+ background-color: -moz-field;
+ border-radius: 2px;
+ border: 1px solid threeDDarkShadow;
+}
+
+.topContainer {
+ padding: 20px;
+}
+
+.buttonContainer {
+ padding: 12px 20px 15px;
+ background-color: hsla(0,0%,0%,.05);
+ border-top: 1px solid hsla(0,0%,0%,.05);
+}
diff --git a/toolkit/themes/windows/global/textbox.css b/toolkit/themes/windows/global/textbox.css
new file mode 100644
index 0000000000..78ca7f3205
--- /dev/null
+++ b/toolkit/themes/windows/global/textbox.css
@@ -0,0 +1,120 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== textbox.css ==================================================
+ == Styles used by the XUL textbox element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+/* ::::: textbox ::::: */
+
+textbox {
+ -moz-appearance: textfield;
+ cursor: text;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ padding: 2px 2px 3px;
+ padding-inline-start: 4px;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+html|*.textbox-input,
+html|*.textbox-textarea {
+ margin: 0px !important;
+ border: none !important;
+ padding: 0px 1px !important;
+ background-color: inherit;
+ color: inherit;
+ font: inherit;
+}
+
+@media (-moz-windows-default-theme) {
+ @media not all and (-moz-os-version: windows-xp) {
+ textbox html|*.textbox-input::placeholder {
+ font-style: italic;
+ }
+ }
+}
+
+.textbox-contextmenu {
+ cursor: default;
+}
+
+/* ..... readonly state ..... */
+
+textbox[readonly="true"] {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+/* ..... disabled state ..... */
+
+textbox[disabled="true"] {
+ cursor: default;
+ background-color: -moz-Dialog;
+ color: GrayText;
+}
+
+/* ::::: plain textbox ::::: */
+
+textbox.plain {
+ -moz-appearance: none !important;
+ background-color: transparent;
+ padding: 0px !important;
+ margin: 0px !important;
+ border: none !important;
+}
+
+textbox.plain html|*.textbox-input,
+textbox.plain html|*.textbox-textarea {
+ padding: 0px !important;
+}
+
+/* ::::: search textbox ::::: */
+
+.textbox-search-icon {
+ list-style-image: url(chrome://global/skin/icons/Search-glass.png);
+ -moz-image-region: rect(0, 16px, 16px, 0);
+}
+
+.textbox-search-icon:-moz-locale-dir(rtl) {
+ transform: scaleX(-1);
+}
+
+.textbox-search-icon[searchbutton]:not([disabled]) {
+ cursor: pointer;
+}
+
+.textbox-search-clear {
+ list-style-image: url(chrome://global/skin/icons/Search-close.png);
+ -moz-image-region: rect(0, 16px, 16px, 0);
+}
+
+.textbox-search-clear:not([disabled]) {
+ cursor: default;
+}
+
+.textbox-search-clear:not([disabled]):hover ,
+.textbox-search-icon[searchbutton]:not([disabled]):hover {
+ -moz-image-region: rect(0, 32px, 16px, 16px);
+}
+
+.textbox-search-clear:not([disabled]):hover:active ,
+.textbox-search-icon[searchbutton]:not([disabled]):hover:active {
+ -moz-image-region: rect(0, 48px, 16px, 32px);
+}
+
+/* ::::: textboxes inside toolbarpaletteitems ::::: */
+
+toolbarpaletteitem > toolbaritem > textbox > .textbox-input-box > html|*.textbox-input {
+ visibility: hidden;
+}
+
diff --git a/toolkit/themes/windows/global/throbber/Throbber-small.gif b/toolkit/themes/windows/global/throbber/Throbber-small.gif
new file mode 100644
index 0000000000..cce32f20f4
--- /dev/null
+++ b/toolkit/themes/windows/global/throbber/Throbber-small.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/toolbar.css b/toolkit/themes/windows/global/toolbar.css
new file mode 100644
index 0000000000..dcd8d361f0
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar.css
@@ -0,0 +1,120 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== toolbar.css ====================================================
+ == Styles used by XUL toolbar-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbox ::::: */
+
+toolbox {
+ -moz-appearance: toolbox;
+ background-color: -moz-Dialog;
+ border-top: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDHighlight;
+}
+
+/* ::::: toolbar & menubar ::::: */
+
+toolbar, menubar {
+ -moz-appearance: toolbar;
+}
+
+toolbar {
+ min-width: 1px;
+ min-height: 19px;
+ border-top: 1px solid ThreeDHighlight;
+ border-bottom: 1px solid ThreeDShadow;
+}
+
+toolbar:first-child, menubar {
+ min-width: 1px;
+ border-bottom: 1px solid ThreeDShadow;
+ border-top: 0px !important;
+}
+
+/* ::::: lightweight theme ::::: */
+
+menubar:-moz-lwtheme,
+toolbox:-moz-lwtheme,
+toolbar:-moz-lwtheme {
+ -moz-appearance: none;
+ background: none;
+ border-color: transparent;
+}
+
+/* ::::: toolbar decorations ::::: */
+
+toolbarseparator {
+ -moz-appearance: separator;
+ border-top: 2px solid transparent;
+ border-bottom: 2px solid transparent;
+ border-left: 3px solid transparent;
+ border-right: 3px solid transparent;
+ -moz-border-left-colors : transparent transparent ThreeDShadow;
+ -moz-border-right-colors : transparent transparent ThreeDHighlight;
+}
+
+toolbarspacer {
+ width: 15px;
+}
+
+/* ::::: toolbarpaletteitem ::::: */
+
+toolbarpaletteitem {
+ cursor: grab;
+}
+
+.toolbarpaletteitem-box[type="spacer"],
+.toolbarpaletteitem-box[type="spring"] {
+ border: 1px solid #808080;
+ background-color: #FFF !important;
+}
+
+toolbarpaletteitem[place="toolbar"] > toolbarspacer {
+ width: 11px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="toolbar"],
+.toolbarpaletteitem-box[type="spring"][place="toolbar"] {
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-inline-start: 0px;
+ margin-inline-end: 2px;
+}
+
+.toolbarpaletteitem-box[type="separator"][place="palette"] {
+ width: 2px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spacer"][place="palette"],
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ margin-bottom: 2px;
+ width: 50px;
+ height: 50px;
+}
+
+.toolbarpaletteitem-box[type="spring"][place="palette"] {
+ background: url("chrome://global/skin/toolbar/spring.png") no-repeat center;
+}
+
+/* ..... drag and drop feedback ..... */
+
+toolbarpaletteitem[place="toolbar"] {
+ margin-left: -2px;
+ margin-right: -2px;
+ border-left: 2px solid transparent;
+ border-right: 2px solid transparent;
+}
+
+toolbarpaletteitem[dragover="left"] {
+ border-left-color: #000000;
+}
+
+toolbarpaletteitem[dragover="right"] {
+ border-right-color: #000000;
+}
diff --git a/toolkit/themes/windows/global/toolbar/chevron-inverted.png b/toolkit/themes/windows/global/toolbar/chevron-inverted.png
new file mode 100644
index 0000000000..861e41a812
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar/chevron-inverted.png
Binary files differ
diff --git a/toolkit/themes/windows/global/toolbar/chevron.gif b/toolkit/themes/windows/global/toolbar/chevron.gif
new file mode 100644
index 0000000000..cccba6e43f
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar/chevron.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/toolbar/spring-XP.png b/toolkit/themes/windows/global/toolbar/spring-XP.png
new file mode 100644
index 0000000000..e20f602c22
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar/spring-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/toolbar/spring.png b/toolkit/themes/windows/global/toolbar/spring.png
new file mode 100644
index 0000000000..60d88e6d39
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbar/spring.png
Binary files differ
diff --git a/toolkit/themes/windows/global/toolbarbutton.css b/toolkit/themes/windows/global/toolbarbutton.css
new file mode 100644
index 0000000000..e96e529cf3
--- /dev/null
+++ b/toolkit/themes/windows/global/toolbarbutton.css
@@ -0,0 +1,180 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== toolbarbutton.css =====================================================
+ == Styles used by the XUL button element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: toolbarbutton ::::: */
+
+toolbarbutton {
+ -moz-appearance: toolbarbutton;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ margin: 0;
+ border: 1px solid transparent;
+ padding: 3px;
+ background-color: transparent;
+ color: -moz-DialogText;
+}
+
+.toolbarbutton-icon[label]:not([label=""]),
+.toolbarbutton-icon[type="menu"] {
+ margin-inline-end: 5px;
+}
+
+.toolbarbutton-text {
+ margin: 0 !important; /* !important for overriding global.css */
+ text-align: center;
+}
+
+toolbarbutton.tabbable {
+ -moz-user-focus: normal !important;
+}
+
+toolbarbutton:-moz-focusring {
+ /* -moz-appearance looks redundant here but is necessary.
+ Without it, the outline won't appear. */
+ -moz-appearance: toolbarbutton;
+ outline: 1px dotted -moz-DialogText;
+ outline-offset: -2px;
+}
+
+toolbarbutton:hover:not([disabled="true"]) {
+ border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;
+}
+
+toolbarbutton:hover:active:not([disabled="true"]),
+toolbarbutton[open="true"]:hover,
+toolbarbutton[open="true"] {
+ border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;
+ padding-top: 4px;
+ padding-bottom: 2px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+}
+
+toolbarbutton[disabled="true"] {
+ color: GrayText;
+ text-shadow: none;
+}
+
+@media (-moz-windows-classic) {
+ toolbarbutton[disabled="true"] {
+ color: ThreeDShadow;
+ text-shadow: 1px 1px ThreeDHighlight;
+ }
+}
+
+toolbarbutton[checked="true"]:not([disabled="true"]) {
+ border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;
+ padding-top: 4px;
+ padding-bottom: 2px;
+ padding-inline-start: 4px;
+ padding-inline-end: 2px;
+ background-color: rgba(255,255,255,0.5);
+ color: ButtonText;
+}
+
+@media (-moz-windows-default-theme) {
+ toolbarbutton:-moz-lwtheme {
+ text-shadow: none;
+ }
+
+ toolbarbutton:-moz-lwtheme:not(:hover):not([checked="true"]):not([open="true"]):not([disabled="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+ }
+
+ @media not all and (-moz-os-version: windows-xp) {
+ toolbarbutton:-moz-lwtheme:not([disabled="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+ }
+ }
+}
+
+@media not all and (-moz-windows-default-theme) {
+ toolbarbutton:-moz-lwtheme {
+ -moz-appearance: none;
+ }
+
+ toolbarbutton:-moz-lwtheme:not([disabled="true"]) {
+ color: inherit;
+ text-shadow: inherit;
+ }
+}
+
+/* ::::: toolbarbutton menu ::::: */
+
+.toolbarbutton-menu-dropmarker {
+ -moz-appearance: none !important;
+ border: none !important;
+ background-color: transparent !important;
+ padding: 0;
+ width: auto;
+ height: auto;
+ margin-top: 1px;
+}
+
+/* ::::: toolbarbutton menu-button ::::: */
+
+toolbarbutton[type="menu-button"] {
+ -moz-box-align: stretch;
+ -moz-box-orient: horizontal !important;
+}
+
+toolbarbutton[type="menu-button"],
+toolbarbutton[type="menu-button"]:hover,
+toolbarbutton[type="menu-button"]:hover:active,
+toolbarbutton[type="menu-button"][open="true"],
+toolbarbutton[type="menu-button"][disabled="true"],
+toolbarbutton[type="menu-button"][disabled="true"]:hover,
+toolbarbutton[type="menu-button"][disabled="true"]:hover:active {
+ border-style: none;
+ padding: 0 !important;
+}
+
+.toolbarbutton-menubutton-button {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ -moz-box-orient: vertical;
+}
+
+/* ::::: toolbarbutton badged ::::: */
+
+.toolbarbutton-badge-stack > .toolbarbutton-icon[label]:not([label=""]) {
+ margin-inline-end: 0;
+}
+
+.toolbarbutton-badge {
+ background-color: #d90000;
+ font-size: 10px;
+ font-weight: bold;
+ padding: 0 2px 1px;
+ color: #fff;
+ border-radius: 2px;
+ box-shadow: 0 1px 0 hsla(0, 100%, 100%, .2) inset,
+ 0 -1px 0 hsla(0, 0%, 0%, .1) inset,
+ 0 1px 0 hsla(206, 50%, 10%, .2);
+ margin: -6px 0 0 !important;
+ margin-inline-end: -8px !important;
+ min-width: 14px;
+ max-width: 28px;
+ line-height: 10px;
+ text-align: center;
+ -moz-stack-sizing: ignore;
+}
+
+/* .......... dropmarker .......... */
+
+.toolbarbutton-menubutton-dropmarker {
+ -moz-appearance: none;
+ padding: 3px 7px;
+ border: none;
+ background-color: transparent;
+ width: auto;
+}
diff --git a/toolkit/themes/windows/global/tree.css b/toolkit/themes/windows/global/tree.css
new file mode 100644
index 0000000000..1300968248
--- /dev/null
+++ b/toolkit/themes/windows/global/tree.css
@@ -0,0 +1,603 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== tree.css ===================================================
+ == Styles used by the XUL outline element.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* ::::: tree ::::: */
+
+tree {
+ margin: 0px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+ -moz-appearance: listbox;
+}
+
+/* ::::: tree focusring ::::: */
+
+.focusring > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid transparent;
+}
+
+.focusring:-moz-focusring > .tree-stack > .tree-rows > .tree-bodybox {
+ border: 1px solid #000000;
+}
+
+
+/* ::::: tree rows ::::: */
+
+treechildren::-moz-tree-row {
+ border: 1px solid transparent;
+ min-height: 18px;
+ height: 1.3em;
+}
+
+treechildren::-moz-tree-row(selected) {
+ background-color: -moz-cellhighlight;
+}
+
+treechildren::-moz-tree-row(selected, focus) {
+ background-color: Highlight;
+}
+
+treechildren::-moz-tree-row(current, focus) {
+ border: 1px dotted Highlight;
+}
+
+treechildren::-moz-tree-row(selected, current, focus) {
+ border: 1px dotted #F3D982;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-row,
+tree[seltype="text"] > treechildren::-moz-tree-row {
+ border: none;
+ background-color: transparent;
+ background-image: none;
+}
+
+/* ::::: tree cells ::::: */
+
+treechildren::-moz-tree-cell {
+ padding: 0px 2px 0px 2px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text,
+tree[seltype="text"] > treechildren::-moz-tree-cell-text,
+treechildren::-moz-tree-cell-text {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell-text(selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell {
+ border: 1px solid transparent;
+ padding: 0px 1px 0px 1px;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text {
+ border: 1px solid transparent;
+ padding: 0px 1px 1px 1px;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected) {
+ background-color: -moz-cellhighlight;
+}
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected) {
+ color: -moz-cellhighlighttext;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected) {
+ background-color: -moz-cellhighlight;
+ color: -moz-cellhighlighttext;
+}
+
+treechildren::-moz-tree-cell-text(selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ background-color: Highlight;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, focus) {
+ color: HighlightText;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, current, focus) {
+ border: 1px dotted #000000;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(active, selected, current, focus) {
+ border: 1px dotted #C0C0C0;
+}
+
+/* ::::: lines connecting cells ::::: */
+
+tree[seltype="cell"] > treechildren::-moz-tree-line,
+tree[seltype="text"] > treechildren::-moz-tree-line,
+treechildren::-moz-tree-line {
+ border: 1px dotted ThreeDShadow;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-line(active, selected, focus),
+treechildren::-moz-tree-line(selected, focus) {
+ border: 1px dotted HighlightText;
+}
+
+/* ::::: tree separator ::::: */
+
+treechildren::-moz-tree-separator {
+ border-top: 1px solid ThreeDShadow;
+ border-bottom: 1px solid ThreeDHighlight;
+}
+
+
+/* ::::: drop feedback ::::: */
+
+treechildren::-moz-tree-row(dropOn) {
+ background-color: Highlight;
+}
+
+tree[seltype="cell"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+tree[seltype="text"] > treechildren::-moz-tree-cell-text(primary, dropOn),
+treechildren::-moz-tree-cell-text(primary, dropOn) {
+ color: HighlightText;
+}
+
+treechildren::-moz-tree-drop-feedback {
+ background-color: Highlight;
+ width: 50px;
+ height: 2px;
+ margin-inline-start: 5px;
+}
+
+/* ::::: tree progress meter ::::: */
+
+treechildren::-moz-tree-progressmeter {
+ margin: 2px 4px;
+ padding: 1px;
+ border: 1px solid;
+ border-top-color: ThreeDShadow;
+ border-right-color: ThreeDHighlight;
+ border-bottom-color: ThreeDHighlight;
+ border-left-color: ThreeDShadow;
+ background-color: -moz-Dialog;
+ color: ThreeDShadow;
+}
+
+treechildren::-moz-tree-cell-text(progressmeter) {
+ margin: 2px 4px;
+}
+
+/* ::::: tree columns ::::: */
+
+treecol,
+treecolpicker {
+ -moz-appearance: treeheadercell;
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+ padding: 0px 4px;
+}
+
+.treecol-image {
+ padding: 0px 1px;
+}
+
+.treecol-text {
+ margin: 0px !important;
+}
+
+treecol[hideheader="true"] {
+ -moz-appearance: none;
+ border: none;
+ padding: 0;
+}
+
+/* ..... internal box ..... */
+
+treecol:hover:active,
+treecolpicker:hover:active {
+ border-top: 2px solid;
+ border-bottom: 1px solid;
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDShadow;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ padding-top: 1px;
+ padding-bottom: 0px;
+ padding-inline-start: 5px;
+ padding-inline-end: 3px;
+}
+
+.treecol-image:hover:active {
+ padding-top: 1px;
+ padding-bottom: 0px;
+ padding-inline-start: 2px;
+ padding-inline-end: 0px;
+}
+
+/* ::::: column drag and drop styles ::::: */
+
+treecol[dragging="true"] {
+ -moz-border-top-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-right-colors: ThreeDDarkShadow transparent!important;
+ -moz-border-bottom-colors: ThreeDDarkShadow transparent !important;
+ -moz-border-left-colors: ThreeDDarkShadow transparent !important;
+ background-color: ThreeDShadow !important;
+ color: ThreeDHighlight !important;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(ltr),
+treecol[insertbefore="true"]:-moz-locale-dir(rtl) {
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treecol[insertafter="true"]:-moz-locale-dir(rtl),
+treecol[insertbefore="true"]:-moz-locale-dir(ltr) {
+ -moz-border-left-colors: ThreeDDarkShadow ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertbefore) {
+ border-inline-start: 1px solid ThreeDShadow;
+}
+
+treechildren::-moz-tree-column(insertafter) {
+ border-inline-end: 1px solid ThreeDShadow;
+}
+
+/* ::::: sort direction indicator ::::: */
+
+.treecol-sortdirection {
+ list-style-image: none;
+}
+
+treecol:not([hideheader="true"]) > .treecol-sortdirection[sortDirection="ascending"] {
+ list-style-image: url("chrome://global/skin/tree/sort-asc.png");
+}
+
+treecol:not([hideheader="true"]) > .treecol-sortdirection[sortDirection="ascending"]:-moz-system-metric(windows-classic) {
+ list-style-image: url("chrome://global/skin/tree/sort-asc-classic.png");
+}
+
+treecol:not([hideheader="true"]) > .treecol-sortdirection[sortDirection="descending"] {
+ list-style-image: url("chrome://global/skin/tree/sort-dsc.png");
+}
+
+treecol:not([hideheader="true"]) > .treecol-sortdirection[sortDirection="descending"]:-moz-system-metric(windows-classic) {
+ list-style-image: url("chrome://global/skin/tree/sort-dsc-classic.png");
+}
+
+/* ::::: column picker ::::: */
+
+.tree-columnpicker-icon {
+ list-style-image: url("chrome://global/skin/tree/columnpicker.gif");
+}
+
+/* ::::: twisty ::::: */
+
+treechildren::-moz-tree-twisty {
+ padding-inline-end: 4px;
+ padding-top: 1px;
+ width: 9px; /* The image's width is 9 pixels */
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#clsd");
+}
+
+treechildren::-moz-tree-twisty(open) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#open");
+}
+
+treechildren::-moz-tree-indentation {
+ width: 18px;
+}
+
+/* ::::: gridline style ::::: */
+
+treechildren.gridlines::-moz-tree-cell {
+ border-right: 1px solid transparent !important;
+ border-bottom: 1px solid transparent !important;
+}
+
+treechildren.gridlines::-moz-tree-row {
+ border: none;
+}
+
+/* ::::: editable tree ::::: */
+
+treechildren::-moz-tree-row(selected, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(selected, editing) {
+ color: inherit;
+}
+
+treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="cell"] > treechildren::-moz-tree-cell(active, selected, focus, editing),
+tree[seltype="text"] > treechildren::-moz-tree-cell(active, selected, focus, editing) {
+ background-color: transparent;
+ border: none;
+}
+
+treechildren::-moz-tree-cell-text(active, selected, editing) {
+ opacity: 0;
+}
+
+.tree-input {
+ -moz-appearance: none;
+ border: 1px solid Highlight;
+ -moz-border-top-colors: Highlight;
+ -moz-border-bottom-colors: Highlight;
+ -moz-border-left-colors: Highlight;
+ -moz-border-right-colors: Highlight;
+ margin: 0;
+ margin-inline-start: -4px;
+ padding: 1px;
+}
+
+%ifdef XP_WIN
+@media not all and (-moz-os-version: windows-xp) {
+ /* ::::: twisty ::::: */
+
+ treechildren::-moz-tree-indentation {
+ width: 12px;
+ }
+
+ treechildren::-moz-tree-twisty {
+ padding-inline-end: 1px;
+ }
+
+ treechildren::-moz-tree-twisty(hover) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#clsd-hover");
+ }
+
+ treechildren::-moz-tree-twisty(hover, open) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#open-hover");
+ }
+
+ treechildren:-moz-locale-dir(rtl)::-moz-tree-twisty {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#clsd-rtl");
+ }
+
+ treechildren:-moz-locale-dir(rtl)::-moz-tree-twisty(open) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#open-rtl");
+ }
+
+ treechildren:-moz-locale-dir(rtl)::-moz-tree-twisty(hover) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#clsd-hover-rtl");
+ }
+
+ treechildren:-moz-locale-dir(rtl)::-moz-tree-twisty(hover, open) {
+ list-style-image: url("chrome://global/skin/tree/twisty.svg#open-hover-rtl");
+ }
+
+ @media (-moz-windows-default-theme) {
+ treechildren {
+ --treechildren-outline: none;
+ --treechildren-2ndBorderColor: rgba(255,255,255,.4);
+ --treechildren-selectedColor: rgb(217,217,217);
+ --treechildren-focusColor: rgb(123,195,255);
+ --treechildren-selectedFocusColor: rgb(205,232,255);
+ --treechildren-currentColor: rgb(125,162,206);
+ --treechildren-hoverColor: rgb(229,243,255);
+ --treechildren-selectedBorder: var(--treechildren-selectedColor);
+ --treechildren-selectedBottomBorder: rgb(204,204,204);
+ --treechildren-selectedImage: linear-gradient(rgb(217,217,217), rgb(217,217,217));
+ --treechildren-selectedBackground: transparent;
+ --treechildren-currentFocusBorder: var(--treechildren-focusColor);
+ --treechildren-currentFocusBottomBorder: var(--treechildren-focusColor);
+ --treechildren-selectedFocusBorder: var(--treechildren-selectedFocusColor);
+ --treechildren-selectedFocusBottomBorder: rgb(165,214,255);
+ --treechildren-selectedFocusImage: none;
+ --treechildren-selectedFocusBackground: var(--treechildren-selectedFocusColor);
+ --treechildren-selectedFocusCurrentBorder: var(--treechildren-focusColor);
+ --treechildren-selectedFocusCurrentBottomBorder: var(--treechildren-focusColor);
+ --treechildren-selectedFocusCurrentImage: linear-gradient(rgb(205,232,255), rgb(205,232,255));
+ --treechildren-hoverBorder: var(--treechildren-hoverColor);
+ --treechildren-hoverBottomBorder: var(--treechildren-hoverColor);
+ --treechildren-hoverImage: linear-gradient(rgb(229,243,255), rgb(229,243,255));
+ --treechildren-hoverCurrentBorder: var(--treechildren-currentColor);
+ --treechildren-hoverCurrentBottomBorder: var(--treechildren-currentColor);
+ --treechildren-hoverCurrentImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.16));
+ --treechildren-hoverSelectedBorder: var(--treechildren-focusColor);
+ --treechildren-hoverSelectedBottomBorder: var(--treechildren-focusColor);
+ --treechildren-hoverSelectedImage: linear-gradient(rgb(205,232,255), rgb(205,232,255));
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row {
+ height: 1.8em;
+ color: -moz-FieldText;
+ margin-inline-start: 1px;
+ margin-inline-end: 1px;
+ border-width: 1px;
+ border-color: transparent;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected) {
+ -moz-border-top-colors: var(--treechildren-selectedBorder);
+ -moz-border-right-colors: var(--treechildren-selectedBorder);
+ -moz-border-left-colors: var(--treechildren-selectedBorder);
+ -moz-border-bottom-colors: var(--treechildren-selectedBottomBorder);
+ background-image: var(--treechildren-selectedImage);
+ background-color: var(--treechildren-selectedBackground);
+ outline: var(--treechildren-outline);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(current, focus) {
+ border-style: solid;
+ -moz-border-top-colors: var(--treechildren-currentFocusBorder);
+ -moz-border-right-colors: var(--treechildren-currentFocusBorder);
+ -moz-border-left-colors: var(--treechildren-currentFocusBorder);
+ -moz-border-bottom-colors: var(--treechildren-currentFocusBottomBorder);
+ outline: var(--treechildren-outline);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected, focus),
+ treechildren::-moz-tree-row(dropOn) {
+ -moz-border-top-colors: var(--treechildren-selectedFocusBorder);
+ -moz-border-right-colors: var(--treechildren-selectedFocusBorder);
+ -moz-border-left-colors: var(--treechildren-selectedFocusBorder);
+ -moz-border-bottom-colors: var(--treechildren-selectedFocusBottomBorder);
+ background-image: var(--treechildren-selectedFocusImage);
+ background-color: var(--treechildren-selectedFocusBackground);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(selected, current, focus) {
+ border-style: solid;
+ -moz-border-top-colors: var(--treechildren-selectedFocusCurrentBorder);
+ -moz-border-right-colors: var(--treechildren-selectedFocusCurrentBorder);
+ -moz-border-left-colors: var(--treechildren-selectedFocusCurrentBorder);
+ -moz-border-bottom-colors: var(--treechildren-selectedFocusCurrentBottomBorder);
+ background-image: var(--treechildren-selectedFocusCurrentImage);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(hover) {
+ -moz-border-top-colors: var(--treechildren-hoverBorder);
+ -moz-border-right-colors: var(--treechildren-hoverBorder);
+ -moz-border-left-colors: var(--treechildren-hoverBorder);
+ -moz-border-bottom-colors: var(--treechildren-hoverBottomBorder);
+ background-image: var(--treechildren-hoverImage);
+ outline: var(--treechildren-outline);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(hover, current) {
+ -moz-border-top-colors: var(--treechildren-hoverCurrentBorder);
+ -moz-border-right-colors: var(--treechildren-hoverCurrentBorder);
+ -moz-border-left-colors: var(--treechildren-hoverCurrentBorder);
+ -moz-border-bottom-colors: var(--treechildren-hoverCurrentBottomBorder);
+ background-image: var(--treechildren-hoverCurrentImage);
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row(hover, selected) {
+ -moz-border-top-colors: var(--treechildren-hoverSelectedBorder);
+ -moz-border-right-colors: var(--treechildren-hoverSelectedBorder);
+ -moz-border-left-colors: var(--treechildren-hoverSelectedBorder);
+ -moz-border-bottom-colors: var(--treechildren-hoverSelectedBottomBorder);
+ background-image: var(--treechildren-hoverSelectedImage);
+ }
+
+ tree[disabled="true"] > treechildren::-moz-tree-row {
+ background: none;
+ -moz-border-top-colors: transparent;
+ -moz-border-right-colors: transparent;
+ -moz-border-left-colors: transparent;
+ -moz-border-bottom-colors: transparent;
+ }
+
+ treechildren::-moz-tree-cell(dropOn) {
+ background-image: none;
+ background-color: transparent;
+ border-radius: 0;
+ }
+
+ treechildren::-moz-tree-cell-text(primary, dropOn) {
+ color: -moz-FieldText;
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-cell-text {
+ padding-bottom: initial;
+ border-color: transparent;
+ background-color: transparent;
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-cell-text(selected, focus) {
+ color: -moz-DialogText;
+ }
+
+ @media (-moz-os-version: windows-vista),
+ (-moz-os-version: windows-win7) {
+ treechildren {
+ --treechildren-outline: 1px solid var(--treechildren-2ndBorderColor);
+ --treechildren-2ndBottomBorderColor: rgba(255,255,255,.6);
+ --treechildren-selectedBorder: var(--treechildren-selectedColor) var(--treechildren-2ndBorderColor);
+ --treechildren-selectedBottomBorder: var(--treechildren-selectedColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-selectedImage: linear-gradient(rgba(190,190,190,.1), rgba(190,190,190,.4));
+ --treechildren-currentFocusBorder: var(--treechildren-currentColor) var(--treechildren-2ndBorderColor);
+ --treechildren-currentFocusBottomBorder: var(--treechildren-currentColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-selectedFocusBorder: rgb(132,172,221) var(--treechildren-2ndBorderColor);
+ --treechildren-selectedFocusBottomBorder: var(--treechildren-currentColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-selectedFocusImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.375));
+ --treechildren-selectedFocusBackground: transparent;
+ --treechildren-selectedFocusCurrentBorder: var(--treechildren-currentColor) var(--treechildren-2ndBorderColor);
+ --treechildren-selectedFocusCurrentBottomBorder: var(--treechildren-currentColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-selectedFocusCurrentImage: linear-gradient(rgba(131,183,249,.28), rgba(131,183,249,.5));
+ --treechildren-hoverBorder: rgb(184,214,251) var(--treechildren-2ndBorderColor);
+ --treechildren-hoverBottomBorder: rgb(184,214,251) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-hoverImage: linear-gradient(rgba(131,183,249,.05), rgba(131,183,249,.16));
+ --treechildren-hoverCurrentBorder: var(--treechildren-currentColor) var(--treechildren-2ndBorderColor);
+ --treechildren-hoverCurrentBottomBorder: var(--treechildren-currentColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-hoverCurrentImage: linear-gradient(rgba(131,183,249,.05), rgba(131,183,249,.16));
+ --treechildren-hoverSelectedBorder: var(--treechildren-currentColor) var(--treechildren-2ndBorderColor);
+ --treechildren-hoverSelectedBottomBorder: var(--treechildren-currentColor) var(--treechildren-2ndBottomBorderColor);
+ --treechildren-hoverSelectedImage: linear-gradient(rgba(131,183,249,.28), rgba(131,183,249,.5));
+ }
+
+ treechildren:not(.autocomplete-treebody)::-moz-tree-row {
+ border-width: 2px;
+ border-radius: 3px;
+ -moz-outline-radius: 3px;
+ }
+ }
+
+ @media (-moz-os-version: windows-win8) {
+ treechildren {
+ --treechildren-outline: 1px solid var(--treechildren-2ndBorderColor);
+ --treechildren-selectedBorder: var(--treechildren-selectedColor);
+ --treechildren-selectedBottomBorder: var(--treechildren-selectedColor);
+ --treechildren-selectedImage: linear-gradient(rgba(190,190,190,.4), rgba(190,190,190,.4));
+ --treechildren-currentFocusBorder: var(--treechildren-currentColor);
+ --treechildren-currentFocusBottomBorder: var(--treechildren-currentColor);
+ --treechildren-selectedFocusBorder: rgb(132,172,221) var(--treechildren-2ndBorderColor);
+ --treechildren-selectedFocusBottomBorder: var(--treechildren-currentColor);
+ --treechildren-selectedFocusImage: linear-gradient(rgba(131,183,249,.375), rgba(131,183,249,.375));
+ --treechildren-selectedFocusBackground: transparent;
+ --treechildren-selectedFocusCurrentBorder: var(--treechildren-currentColor);
+ --treechildren-selectedFocusCurrentBottomBorder: var(--treechildren-currentColor);
+ --treechildren-selectedFocusCurrentImage: linear-gradient(rgba(131,183,249,.5), rgba(131,183,249,.5));
+ --treechildren-hoverBorder: rgb(184,214,251);
+ --treechildren-hoverBottomBorder: rgb(184,214,251);
+ --treechildren-hoverImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.16));
+ --treechildren-hoverSelectedBorder: var(--treechildren-currentColor);
+ --treechildren-hoverSelectedBottomBorder: var(--treechildren-currentColor);
+ --treechildren-hoverSelectedImage: linear-gradient(rgba(131,183,249,.5), rgba(131,183,249,.5));
+ }
+ }
+ }
+}
+%endif
diff --git a/toolkit/themes/windows/global/tree/columnpicker.gif b/toolkit/themes/windows/global/tree/columnpicker.gif
new file mode 100644
index 0000000000..88c13a0b22
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/columnpicker.gif
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-asc-XP.png b/toolkit/themes/windows/global/tree/sort-asc-XP.png
new file mode 100644
index 0000000000..64d077a8f4
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-asc-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-asc-classic.png b/toolkit/themes/windows/global/tree/sort-asc-classic.png
new file mode 100644
index 0000000000..60892b9559
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-asc-classic.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-asc.png b/toolkit/themes/windows/global/tree/sort-asc.png
new file mode 100644
index 0000000000..4e335c55cc
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-asc.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-dsc-XP.png b/toolkit/themes/windows/global/tree/sort-dsc-XP.png
new file mode 100644
index 0000000000..9c4a82587c
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-dsc-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-dsc-classic.png b/toolkit/themes/windows/global/tree/sort-dsc-classic.png
new file mode 100644
index 0000000000..b2f04ec12f
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-dsc-classic.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/sort-dsc.png b/toolkit/themes/windows/global/tree/sort-dsc.png
new file mode 100644
index 0000000000..d5bb668e7e
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/sort-dsc.png
Binary files differ
diff --git a/toolkit/themes/windows/global/tree/twisty-Vista78.svg b/toolkit/themes/windows/global/tree/twisty-Vista78.svg
new file mode 100644
index 0000000000..0a69086346
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/twisty-Vista78.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9" height="9">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ stroke: #74747b;
+ stroke-opacity: 0.85;
+ fill: none;
+ }
+ use[id^="open"] {
+ stroke: #636363;
+ stroke-opacity: 1;
+ }
+ use[id*="-hover"] {
+ stroke: #1cc4f7;
+ stroke-opacity: 1;
+ fill: #c0e8f9;
+ }
+ </style>
+ <defs>
+ <path id="clsd-shape" d="m 2.5,0.5 4,4 -4,4 z"/>
+ <path id="open-shape" d="M 7.5,3 7.5,7.5 3,7.5 3,6.5 6.5,3 Z"/>
+ <path id="clsd-rtl-shape" d="m 6.5,0.5 -4,4 4,4 z"/>
+ <path id="open-rtl-shape" d="m 1.5,3 0,4.5 4.5,0 0,-1 L 2.5,3 Z"/>
+ </defs>
+ <use id="clsd" xlink:href="#clsd-shape"/>
+ <use id="clsd-hover" xlink:href="#clsd-shape"/>
+ <use id="open" xlink:href="#open-shape"/>
+ <use id="open-hover" xlink:href="#open-shape"/>
+ <use id="clsd-rtl" xlink:href="#clsd-rtl-shape"/>
+ <use id="clsd-hover-rtl" xlink:href="#clsd-rtl-shape"/>
+ <use id="open-rtl" xlink:href="#open-rtl-shape"/>
+ <use id="open-hover-rtl" xlink:href="#open-rtl-shape"/>
+</svg>
diff --git a/toolkit/themes/windows/global/tree/twisty-XP.svg b/toolkit/themes/windows/global/tree/twisty-XP.svg
new file mode 100644
index 0000000000..66219d513e
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/twisty-XP.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9" height="9">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ stroke: #000000;
+ stroke-width: 1;
+ }
+ </style>
+ <defs>
+ <linearGradient id="linearGradient1">
+ <stop style="stop-color: #ffffff;" offset="0"/>
+ <stop style="stop-color: #e0e0e0;" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2">
+ <stop style="stop-color: #c9c9c9;" offset="0"/>
+ <stop style="stop-color: #f8f8f8;" offset="1"/>
+ </linearGradient>
+ <linearGradient id="gradient1" xlink:href="#linearGradient1" gradientUnits="userSpaceOnUse" x1="4.5" y1="2" x2="4.5" y2="7"/>
+ <linearGradient id="gradient2" xlink:href="#linearGradient2" gradientUnits="userSpaceOnUse" x1="4.5" y1="6" x2="4.5" y2="3"/>
+ <path id="clsd-shape" d="m 2,4.5 5,0 M 4.5,2 l 0,5"/>
+ <path id="open-shape" d="m 2,4.5 5,0"/>
+ </defs>
+ <rect style="fill: url(#gradient1); stroke: #5d5cc2; stroke-linejoin: round; stroke-opacity: 0.8" width="8" height="8" x="0.5" y="0.5"/>
+ <rect style="fill: url(#gradient2);" width="5" height="5" x="2" y="2"/>
+ <use id="clsd" xlink:href="#clsd-shape"/>
+ <use id="open" xlink:href="#open-shape"/>
+</svg>
diff --git a/toolkit/themes/windows/global/tree/twisty.svg b/toolkit/themes/windows/global/tree/twisty.svg
new file mode 100644
index 0000000000..4eeb029ee3
--- /dev/null
+++ b/toolkit/themes/windows/global/tree/twisty.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9" height="9">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ use {
+ stroke: #b6b6b6;
+ stroke-width: 1.6;
+ fill: none;
+ }
+ use[id^="open"] {
+ stroke: #636363;
+ }
+ use[id*="-hover"] {
+ stroke: #4ed0f9;
+ }
+ </style>
+ <defs>
+ <path id="clsd-shape" d="m 2.5,0.5 4,4 -4,4"/>
+ <path id="open-shape" d="m 8.5,2.5 -4,4 -4,-4"/>
+ <path id="clsd-rtl-shape" d="m 6.5,0.5 -4,4 4,4"/>
+ </defs>
+ <use id="clsd" xlink:href="#clsd-shape"/>
+ <use id="clsd-hover" xlink:href="#clsd-shape"/>
+ <use id="open" xlink:href="#open-shape"/>
+ <use id="open-hover" xlink:href="#open-shape"/>
+ <use id="clsd-rtl" xlink:href="#clsd-rtl-shape"/>
+ <use id="clsd-hover-rtl" xlink:href="#clsd-rtl-shape"/>
+ <use id="open-rtl" xlink:href="#open-shape"/>
+ <use id="open-hover-rtl" xlink:href="#open-shape"/>
+</svg>
diff --git a/toolkit/themes/windows/global/wizard.css b/toolkit/themes/windows/global/wizard.css
new file mode 100644
index 0000000000..b46ed7e17a
--- /dev/null
+++ b/toolkit/themes/windows/global/wizard.css
@@ -0,0 +1,54 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+.wizard-header {
+ border-bottom: 2px groove ThreeDFace;
+ background-color: Window;
+ color: WindowText;
+}
+
+.wizard-header-box-1 {
+ padding: 5px 0px 5px 0px;
+}
+
+wizard[description=""] .wizard-header-description {
+ display: none;
+}
+
+.wizard-header-label {
+ margin-inline-start: 23px;
+ font-weight: bold;
+}
+
+.wizard-header-description {
+ margin-inline-start: 44px;
+}
+
+wizard[branded="true"] .wizard-header-icon {
+ list-style-image: url("chrome://branding/content/icon48.png");
+ margin-inline-end: 5px;
+}
+
+.wizard-page-box {
+ margin: 10px 44px;
+}
+
+.wizard-buttons-separator {
+ margin-bottom: 0px !important;
+}
+
+.wizard-buttons-box-2 {
+ margin: 10px;
+}
+
+.wizard-button[dlgtype="finish"],
+.wizard-button[dlgtype="next"] {
+ margin-inline-start: 0px !important;
+}
+
+.wizard-button[dlgtype="back"] {
+ margin-inline-end: 0px !important;
+}
diff --git a/toolkit/themes/windows/global/xulscrollbars.css b/toolkit/themes/windows/global/xulscrollbars.css
new file mode 100644
index 0000000000..6d8f1c8c82
--- /dev/null
+++ b/toolkit/themes/windows/global/xulscrollbars.css
@@ -0,0 +1,235 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* ===== xulscrollbars.css ==============================================
+ == Styles used by XUL scrollbar-related elements.
+ ======================================================================= */
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */
+
+/* ::::: scrollbar ::::: */
+
+scrollbar {
+ -moz-appearance: scrollbar-horizontal;
+ -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+ cursor: default;
+ background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
+}
+
+@media all and (-moz-overlay-scrollbars) {
+ scrollbar[root="true"] {
+ position: relative;
+ z-index: 2147483647; /* largest positive value of a signed 32-bit integer */
+ }
+
+ scrollbar:not([active="true"]),
+ scrollbar[disabled="true"] {
+ visibility: hidden;
+ }
+}
+
+scrollbar[orient="vertical"]
+{
+ -moz-appearance: scrollbar-vertical;
+}
+
+/* ::::: borders for thumb and buttons ::::: */
+
+thumb,
+scrollbarbutton {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+}
+
+/* ::::: slider - a thumb is inside ::::: */
+slider {
+ -moz-appearance: scrollbartrack-horizontal;
+}
+
+slider[orient="vertical"] {
+ -moz-appearance: scrollbartrack-vertical;
+}
+
+/* ::::: thumb (horizontal) ::::: */
+
+thumb {
+ -moz-appearance: scrollbarthumb-vertical;
+ min-height: 8px;
+}
+
+thumb[orient="horizontal"] {
+ -moz-appearance: scrollbarthumb-horizontal;
+ min-width: 8px;
+}
+
+/* ::::: scrollbar button ::::: */
+
+scrollbarbutton {
+ background: -moz-Dialog no-repeat 50% 50%;
+ min-width: 16px;
+ min-height: 16px;
+}
+
+scrollbarbutton:hover:active, scrollbarbutton[active="true"] {
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ background-position: 60% 60%;
+}
+
+/* ::::: square at the corner of two scrollbars ::::: */
+
+scrollcorner {
+ /* XXX -moz-appearance: scrollcorner; */
+ -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base);
+ width: 16px;
+ cursor: default;
+ background-color: -moz-Dialog;
+}
+
+/* ..... increment .... */
+
+scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-right;
+ background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+}
+
+scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-down;
+ background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+}
+
+/* ..... decrement .... */
+
+scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-left;
+ background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+}
+
+scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-up;
+ background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+}
+
+scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+}
+
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+/* ::::::::::::::::::::: MEDIA PRINT :::::::::::::::::::::: */
+/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
+@media print {
+ /* ::::: scrollbar ::::: */
+
+ html|div scrollbar {
+ -moz-appearance: scrollbar-horizontal;
+ -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar");
+ cursor: default;
+ background: url("chrome://global/skin/scrollbar/slider.gif") scrollbar;
+ }
+
+ html|div scrollbar[orient="vertical"]
+ {
+ -moz-appearance: scrollbar-vertical;
+ }
+
+ /* ::::: borders for thumb and buttons ::::: */
+
+ html|div thumb,
+ html|div scrollbarbutton {
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDLightShadow ThreeDHighlight;
+ -moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
+ -moz-border-left-colors: ThreeDLightShadow ThreeDHighlight;
+ background-color: -moz-Dialog;
+ }
+
+ /* ::::: thumb (horizontal) ::::: */
+
+ html|div thumb {
+ -moz-appearance: scrollbarthumb-vertical;
+ min-height: 8px;
+ }
+
+ html|div thumb[orient="horizontal"] {
+ -moz-appearance: scrollbarthumb-horizontal;
+ min-width: 8px;
+ }
+
+ /* ::::: scrollbar button ::::: */
+
+ html|div scrollbarbutton {
+ background: -moz-Dialog no-repeat 50% 50%;
+ min-width: 16px;
+ min-height: 16px;
+ }
+
+ html|div scrollbarbutton:hover:active, html|div scrollbarbutton[active="true"] {
+ -moz-border-top-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-right-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-bottom-colors: ThreeDShadow -moz-Dialog;
+ -moz-border-left-colors: ThreeDShadow -moz-Dialog;
+ background-position: 60% 60%;
+ }
+
+ /* ..... increment .... */
+
+ html|div scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-right;
+ background-image: url("chrome://global/skin/arrow/arrow-rit.gif")
+ }
+
+ html|div scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-rit-dis.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] {
+ -moz-appearance: scrollbarbutton-down;
+ background-image: url("chrome://global/skin/arrow/arrow-dn.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif")
+ }
+
+ /* ..... decrement .... */
+
+ html|div scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-left;
+ background-image: url("chrome://global/skin/arrow/arrow-lft.gif")
+ }
+
+ html|div scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-lft-dis.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] {
+ -moz-appearance: scrollbarbutton-up;
+ background-image: url("chrome://global/skin/arrow/arrow-up.gif")
+ }
+
+ html|div scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] {
+ background-image: url("chrome://global/skin/arrow/arrow-up-dis.gif")
+ }
+
+}
diff --git a/toolkit/themes/windows/moz.build b/toolkit/themes/windows/moz.build
new file mode 100644
index 0000000000..8f98eff895
--- /dev/null
+++ b/toolkit/themes/windows/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['global', 'mozapps']
+
diff --git a/toolkit/themes/windows/mozapps/downloads/downloadButtons-XP.png b/toolkit/themes/windows/mozapps/downloads/downloadButtons-XP.png
new file mode 100644
index 0000000000..d36385ce53
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/downloadButtons-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/downloads/downloadButtons.png b/toolkit/themes/windows/mozapps/downloads/downloadButtons.png
new file mode 100644
index 0000000000..a5d0944eb4
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/downloadButtons.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/downloads/downloadIcon-XP.png b/toolkit/themes/windows/mozapps/downloads/downloadIcon-XP.png
new file mode 100644
index 0000000000..8225b6c2dc
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/downloadIcon-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/downloads/downloadIcon.png b/toolkit/themes/windows/mozapps/downloads/downloadIcon.png
new file mode 100644
index 0000000000..fd01949cbb
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/downloadIcon.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/downloads/downloads.css b/toolkit/themes/windows/mozapps/downloads/downloads.css
new file mode 100644
index 0000000000..202ec016fe
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/downloads.css
@@ -0,0 +1,139 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#downloadManager {
+ background-color: ThreeDFace;
+}
+
+/* Download View */
+@media not all and (-moz-windows-classic) {
+ #downloadView {
+ -moz-appearance: none;
+ margin: 0;
+ border-bottom: 2px solid;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ }
+}
+
+/* Download View Items */
+richlistitem[type="download"] {
+ padding: 4px 8px 4px 4px;
+ min-height: 46px;
+ border-bottom: 1px solid ThreeDLightShadow;
+}
+
+richlistitem[type="download"] .name {
+ font-size: larger;
+}
+
+richlistitem[type="download"] .dateTime {
+ font-size: smaller;
+}
+
+.mini-button {
+ -moz-appearance: none;
+ list-style-image: url(chrome://mozapps/skin/downloads/downloadButtons.png);
+ background-color: transparent;
+ border: none;
+ padding: 0;
+ margin: 0;
+ min-width: 0;
+ min-height: 0;
+}
+
+.mini-button > .button-box {
+ padding: 0 !important;
+}
+
+.cancel {
+ -moz-image-region: rect(0px, 32px, 16px, 16px);
+}
+.cancel:hover {
+ -moz-image-region: rect(16px, 32px, 32px, 16px);
+}
+.cancel:active {
+ -moz-image-region: rect(32px, 32px, 48px, 16px);
+}
+.cancel[disabled="true"] {
+ -moz-image-region: rect(48px, 32px, 64px, 16px);
+}
+.pause {
+ -moz-image-region: rect(0px, 48px, 16px, 32px);
+}
+.pause:hover {
+ -moz-image-region: rect(16px, 48px, 32px, 32px);
+}
+.pause:active {
+ -moz-image-region: rect(32px, 48px, 48px, 32px);
+}
+.pause[disabled="true"] {
+ -moz-image-region: rect(48px, 48px, 64px, 32px);
+}
+.resume {
+ -moz-image-region: rect(0px, 16px, 16px, 0px);
+}
+.resume:hover {
+ -moz-image-region: rect(16px, 16px, 32px, 0px);
+}
+.resume:active {
+ -moz-image-region: rect(32px, 16px, 48px, 0px);
+}
+.resume[disabled="true"] {
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+}
+.retry {
+ -moz-image-region: rect(0px, 64px, 16px, 48px);
+}
+.retry:hover {
+ -moz-image-region: rect(16px, 64px, 32px, 48px);
+}
+.retry:active {
+ -moz-image-region: rect(32px, 64px, 48px, 48px);
+}
+.retry[disabled="true"] {
+ -moz-image-region: rect(48px, 64px, 64px, 48px);
+}
+
+.blockedIcon {
+ list-style-image: url(chrome://global/skin/icons/Error.png);
+}
+
+/* prevent flickering when changing states */
+.downloadTypeIcon {
+ min-height: 32px;
+ min-width: 32px;
+}
+
+#clearListButton {
+ min-height: 0;
+ min-width: 0;
+ margin-top: 3px;
+}
+
+@media (-moz-windows-compositor) {
+ #downloadManager {
+ -moz-appearance: -moz-win-glass;
+ background: transparent;
+ }
+
+ #downloadView {
+ /* Clamp glass bounds to the rich list so our glass haze stays constant. */
+ -moz-appearance: -moz-win-exclude-glass;
+ border: none;
+ }
+
+ windowdragbox {
+ -moz-binding: url("chrome://global/content/bindings/general.xml#windowdragbox");
+ }
+
+ #clearListButton {
+ margin-inline-start: 0;
+ margin-bottom: 0;
+ }
+
+ #searchbox {
+ margin-inline-end: 0;
+ margin-bottom: 0;
+ }
+}
diff --git a/toolkit/themes/windows/mozapps/downloads/unknownContentType.css b/toolkit/themes/windows/mozapps/downloads/unknownContentType.css
new file mode 100644
index 0000000000..0682146539
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/downloads/unknownContentType.css
@@ -0,0 +1,31 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+#from {
+ margin-top: 1px;
+}
+
+#location {
+ font-weight: bold;
+}
+
+#contentTypeImage {
+ height: 16px;
+ width: 16px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ margin-inline-start: 0px;
+ margin-inline-end: 5px;
+}
+
+.small-indent {
+ margin-inline-start: 15px;
+ margin-inline-end: 15px;
+}
+
+.small-indent label {
+ margin-inline-start: 0px;
+}
+
diff --git a/toolkit/themes/windows/mozapps/extensions/about.css b/toolkit/themes/windows/mozapps/extensions/about.css
new file mode 100644
index 0000000000..19eaddca86
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/about.css
@@ -0,0 +1,91 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#genericAbout {
+ padding: 0px;
+ min-height: 200px;
+ max-height: 400px;
+ width: 30em;
+}
+
+#clientBox {
+ background-color: -moz-Dialog;
+ color: -moz-DialogText;
+}
+
+@media (-moz-windows-compositor) {
+ #genericAbout {
+ -moz-appearance: -moz-win-glass;
+ background: transparent;
+ }
+
+ #clientBox {
+ -moz-appearance: -moz-win-exclude-glass;
+ }
+}
+
+
+.basic-info {
+ padding: 10px;
+}
+
+#extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+ max-width: 64px;
+ max-height: 64px;
+ margin-inline-end: 6px;
+}
+
+#genericAbout[addontype="theme"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#genericAbout[addontype="locale"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#genericAbout[addontype="plugin"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#genericAbout[addontype="dictionary"] #extensionIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+#extensionName {
+ font-size: 200%;
+ font-weight: bolder;
+}
+
+#extensionVersion {
+ font-weight: bold;
+}
+
+#extensionDescription {
+ margin-top: 4px;
+}
+
+#groove {
+ margin-top: 8px;
+}
+
+#extensionDetailsBox {
+ overflow: auto;
+ min-height: 100px;
+}
+
+.boxIndent {
+ margin-inline-start: 18px;
+}
+
+#extensionCreator, .contributor {
+ margin: 0px;
+}
+
+.sectionTitle {
+ padding: 2px 0px 3px 0px;
+ margin-top: 3px;
+ font-weight: bold;
+}
+
diff --git a/toolkit/themes/windows/mozapps/extensions/blocklist.css b/toolkit/themes/windows/mozapps/extensions/blocklist.css
new file mode 100644
index 0000000000..1cdbb35ac6
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/blocklist.css
@@ -0,0 +1,20 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+richlistitem {
+ padding-top: 6px;
+ padding-bottom: 6px;
+ padding-inline-start: 7px;
+ padding-inline-end: 7px;
+ border-bottom: 1px solid #C0C0C0;
+}
+
+.addonName {
+ font-weight: bold;
+}
+
+.blockedLabel {
+ font-weight: bold;
+ font-style: italic;
+}
diff --git a/toolkit/themes/windows/mozapps/extensions/cancel.png b/toolkit/themes/windows/mozapps/extensions/cancel.png
new file mode 100644
index 0000000000..0d98ab2359
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/cancel.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-available-XP.png b/toolkit/themes/windows/mozapps/extensions/category-available-XP.png
new file mode 100644
index 0000000000..d1b737ab05
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-available-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-available.png b/toolkit/themes/windows/mozapps/extensions/category-available.png
new file mode 100644
index 0000000000..9341f2aa7b
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-available.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-discover-XP.png b/toolkit/themes/windows/mozapps/extensions/category-discover-XP.png
new file mode 100644
index 0000000000..a6f5b49b37
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-discover-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-discover.png b/toolkit/themes/windows/mozapps/extensions/category-discover.png
new file mode 100644
index 0000000000..af954a6135
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-discover.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-plugins-XP.png b/toolkit/themes/windows/mozapps/extensions/category-plugins-XP.png
new file mode 100644
index 0000000000..5c4d8bf471
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-plugins-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-plugins.png b/toolkit/themes/windows/mozapps/extensions/category-plugins.png
new file mode 100644
index 0000000000..100a90307b
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-plugins.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-recent-XP.png b/toolkit/themes/windows/mozapps/extensions/category-recent-XP.png
new file mode 100644
index 0000000000..7ecfc7d4c8
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-recent-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-recent.png b/toolkit/themes/windows/mozapps/extensions/category-recent.png
new file mode 100644
index 0000000000..d651586465
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-recent.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-search.png b/toolkit/themes/windows/mozapps/extensions/category-search.png
new file mode 100644
index 0000000000..52e91a7cea
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-search.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/category-service.png b/toolkit/themes/windows/mozapps/extensions/category-service.png
new file mode 100644
index 0000000000..997c8541ca
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/category-service.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric-16.png b/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric-16.png
new file mode 100644
index 0000000000..37e2a5e4ce
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric.png b/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric.png
new file mode 100644
index 0000000000..b26bb7100c
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/dictionaryGeneric.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/discover-logo.png b/toolkit/themes/windows/mozapps/extensions/discover-logo.png
new file mode 100644
index 0000000000..cd50735a89
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/discover-logo.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/eula.css b/toolkit/themes/windows/mozapps/extensions/eula.css
new file mode 100644
index 0000000000..05aeb3c1c4
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/eula.css
@@ -0,0 +1,47 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+ max-width: 48px;
+ max-height: 48px;
+ margin-inline-end: 6px;
+}
+
+#eula-dialog[addontype="theme"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#eula-dialog[addontype="locale"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#eula-dialog[addontype="plugin"] #icon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#eula-dialog[addontype="dictionary"] #icon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
+
+#heading-container {
+ -moz-box-align: center;
+}
+
+#heading {
+ font-size: 120%;
+}
+
+#eula {
+ -moz-appearance: none;
+ color: -moz-FieldText;
+ background-color: -moz-Field;
+ margin: 1em;
+ border: 1px solid;
+ -moz-border-top-colors: ActiveBorder;
+ -moz-border-right-colors: ActiveBorder;
+ -moz-border-bottom-colors: ActiveBorder;
+ -moz-border-left-colors: ActiveBorder;
+}
+
diff --git a/toolkit/themes/windows/mozapps/extensions/experimentGeneric.png b/toolkit/themes/windows/mozapps/extensions/experimentGeneric.png
new file mode 100644
index 0000000000..a9d00545ef
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/experimentGeneric.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16-XP.png b/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16-XP.png
new file mode 100644
index 0000000000..36e7689a30
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16.png b/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16.png
new file mode 100644
index 0000000000..2724b9e7c6
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/extensionGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/extensions.css b/toolkit/themes/windows/mozapps/extensions/extensions.css
new file mode 100644
index 0000000000..335a31bde9
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/extensions.css
@@ -0,0 +1,42 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/extensions.inc.css
+
+#header-utils-btn {
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities");
+ margin-inline-end: 16px;
+}
+
+@media not all and (-moz-windows-default-theme) {
+ #header-utils-btn {
+ list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-native");
+ }
+}
+
+.sorter[checkState="1"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+
+.sorter[checkState="2"] {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+
+.addon .relnotes-toggle {
+ -moz-box-direction: reverse;
+ list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+}
+
+.addon[show-relnotes] .relnotes-toggle {
+ list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
+}
+
+.meta-rating > .star {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
+ padding: 0 1px;
+}
+
+.meta-rating > .star[on="true"] {
+ list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
+}
diff --git a/toolkit/themes/windows/mozapps/extensions/heart.png b/toolkit/themes/windows/mozapps/extensions/heart.png
new file mode 100644
index 0000000000..655f4c4be7
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/heart.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/localeGeneric-XP.png b/toolkit/themes/windows/mozapps/extensions/localeGeneric-XP.png
new file mode 100644
index 0000000000..4d9ac5ad89
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/localeGeneric-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/localeGeneric.png b/toolkit/themes/windows/mozapps/extensions/localeGeneric.png
new file mode 100644
index 0000000000..623ba3a6a2
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/localeGeneric.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/newaddon.css b/toolkit/themes/windows/mozapps/extensions/newaddon.css
new file mode 100644
index 0000000000..edfba0ef55
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/newaddon.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+%include ../../../shared/extensions/newaddon.inc.css
diff --git a/toolkit/themes/windows/mozapps/extensions/rating-not-won.png b/toolkit/themes/windows/mozapps/extensions/rating-not-won.png
new file mode 100644
index 0000000000..2761f19255
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/rating-not-won.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/rating-won.png b/toolkit/themes/windows/mozapps/extensions/rating-won.png
new file mode 100644
index 0000000000..336dd8f6eb
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/rating-won.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/themeGeneric-16-XP.png b/toolkit/themes/windows/mozapps/extensions/themeGeneric-16-XP.png
new file mode 100644
index 0000000000..16d77a4a25
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/themeGeneric-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/themeGeneric-16.png b/toolkit/themes/windows/mozapps/extensions/themeGeneric-16.png
new file mode 100644
index 0000000000..ff13ce37f7
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/themeGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/themeGeneric-XP.png b/toolkit/themes/windows/mozapps/extensions/themeGeneric-XP.png
new file mode 100644
index 0000000000..be645f76df
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/themeGeneric-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/themeGeneric.png b/toolkit/themes/windows/mozapps/extensions/themeGeneric.png
new file mode 100644
index 0000000000..9cea549dd8
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/themeGeneric.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/extensions/update.css b/toolkit/themes/windows/mozapps/extensions/update.css
new file mode 100644
index 0000000000..0db1793303
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/update.css
@@ -0,0 +1,28 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.throbber {
+ list-style-image: url("chrome://global/skin/icons/loading.png");
+ width: 16px;
+ height: 16px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-inline-start: 5px;
+ margin-inline-end: 2px;
+}
+
+@media (min-resolution: 1.1dppx) {
+ .throbber {
+ list-style-image: url("chrome://global/skin/icons/loading@2x.png");
+ }
+}
+
+.alertBox {
+ background-color: InfoBackground;
+ color: InfoText;
+ border: 1px outset InfoBackground;
+ margin-left: 3px;
+ margin-right: 3px;
+ padding: 5px;
+}
diff --git a/toolkit/themes/windows/mozapps/extensions/xpinstallConfirm.css b/toolkit/themes/windows/mozapps/extensions/xpinstallConfirm.css
new file mode 100644
index 0000000000..42db4cd4d7
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/extensions/xpinstallConfirm.css
@@ -0,0 +1,101 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#xpinstallheader {
+ margin-bottom: 2em;
+}
+
+#itemList {
+ -moz-appearance: listbox;
+ margin: 3px 4px 10px 4px;
+ height: 14em;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
+#itemWarningIntro {
+ margin-inline-start: 8px;
+}
+
+#dialogContentBox {
+ padding: 5px;
+}
+
+installitem {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ padding-inline-start: 5px;
+ padding-inline-end: 0;
+ border-bottom: 1px dotted #C0C0C0;
+ margin-bottom: 5px;
+}
+
+.alert-icon {
+%ifdef XP_WIN
+ list-style-image: url("chrome://global/skin/icons/warning-large.png");
+ width: 48px;
+ height: 48px;
+%endif
+ margin-inline-end: 20px;
+}
+
+.warning {
+ font-weight: bold;
+ font-size: 1.25em;
+ margin-bottom: 1em;
+}
+
+.xpinstallIconContainer {
+ width: 32px;
+ height: 32px;
+ margin-inline-end: 5px;
+}
+
+.xpinstallItemName {
+ font-weight: bold;
+}
+
+.xpinstallItemSigned {
+ font-style: italic;
+ font-size: 0.9em;
+}
+
+.xpinstallItemURL {
+ -moz-appearance: none;
+ border: none;
+ padding: 0;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+ margin-top: 1px;
+ margin-bottom: 1px;
+ margin-inline-start: 6px;
+ margin-inline-end: 5px;
+}
+
+.xpinstallItemIcon {
+ max-width: 32px;
+ max-height: 32px;
+ list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.svg");
+}
+
+installitem[type="theme"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+installitem[type="locale"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+installitem[type="plugin"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+installitem[type="dictionary"] .xpinstallItemIcon {
+ list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
+}
diff --git a/toolkit/themes/windows/mozapps/handling/handling.css b/toolkit/themes/windows/mozapps/handling/handling.css
new file mode 100644
index 0000000000..be14425fed
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/handling/handling.css
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#description-image:not([src]) {
+ height: 32px;
+ width: 32px;
+}
+
+richlistitem[type] {
+ min-height: 36px; /* Don't forget to update the richlistbox height! */
+ padding-inline-start: 2px;
+ }
+
+richlistitem {
+ -moz-box-align: center;
+}
+
+richlistbox {
+ /* 3 items high, plus 4px for top and bottom margins, less 2px for border */
+ min-height: 110px;
+}
+
+.name {
+ font-weight: bold;
+}
+
+.description {
+ color: GrayText;
+}
diff --git a/toolkit/themes/windows/mozapps/jar.mn b/toolkit/themes/windows/mozapps/jar.mn
new file mode 100644
index 0000000000..9cf4acda34
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/jar.mn
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolkit.jar:
+#include ../../shared/mozapps.inc.mn
+ skin/classic/mozapps/downloads/downloadIcon.png (downloads/downloadIcon.png)
+ skin/classic/mozapps/downloads/downloads.css (downloads/downloads.css)
+* skin/classic/mozapps/extensions/extensions.css (extensions/extensions.css)
+ skin/classic/mozapps/extensions/category-search.png (extensions/category-search.png)
+ skin/classic/mozapps/extensions/category-discover.png (extensions/category-discover.png)
+ skin/classic/mozapps/extensions/category-plugins.png (extensions/category-plugins.png)
+ skin/classic/mozapps/extensions/category-service.png (extensions/category-service.png)
+ skin/classic/mozapps/extensions/category-recent.png (extensions/category-recent.png)
+ skin/classic/mozapps/extensions/category-available.png (extensions/category-available.png)
+ skin/classic/mozapps/extensions/extensionGeneric-16.png (extensions/extensionGeneric-16.png)
+ skin/classic/mozapps/extensions/themeGeneric.png (extensions/themeGeneric.png)
+ skin/classic/mozapps/extensions/themeGeneric-16.png (extensions/themeGeneric-16.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric.png (extensions/dictionaryGeneric.png)
+ skin/classic/mozapps/extensions/dictionaryGeneric-16.png (extensions/dictionaryGeneric-16.png)
+ skin/classic/mozapps/extensions/localeGeneric.png (extensions/localeGeneric.png)
+ skin/classic/mozapps/extensions/heart.png (extensions/heart.png)
+* skin/classic/mozapps/extensions/newaddon.css (extensions/newaddon.css)
+ skin/classic/mozapps/plugins/pluginGeneric.png (plugins/pluginGeneric.png)
+ skin/classic/mozapps/plugins/pluginBlocked.png (plugins/pluginBlocked.png)
+ skin/classic/mozapps/plugins/pluginGeneric-16.png (plugins/pluginGeneric-16.png)
+ skin/classic/mozapps/profile/profileicon.png (profile/profileicon.png)
+ skin/classic/mozapps/update/updates.css (update/updates.css)
+ skin/classic/mozapps/viewsource/viewsource.css (viewsource/viewsource.css)
+ skin/classic/mozapps/downloads/downloadButtons-XP.png (downloads/downloadButtons-XP.png)
+ skin/classic/mozapps/downloads/downloadIcon-XP.png (downloads/downloadIcon-XP.png)
+ skin/classic/mozapps/extensions/category-discover-XP.png (extensions/category-discover-XP.png)
+ skin/classic/mozapps/extensions/category-plugins-XP.png (extensions/category-plugins-XP.png)
+ skin/classic/mozapps/extensions/category-recent-XP.png (extensions/category-recent-XP.png)
+ skin/classic/mozapps/extensions/category-available-XP.png (extensions/category-available-XP.png)
+ skin/classic/mozapps/extensions/extensionGeneric-16-XP.png (extensions/extensionGeneric-16-XP.png)
+ skin/classic/mozapps/extensions/themeGeneric-XP.png (extensions/themeGeneric-XP.png)
+ skin/classic/mozapps/extensions/themeGeneric-16-XP.png (extensions/themeGeneric-16-XP.png)
+ skin/classic/mozapps/extensions/localeGeneric-XP.png (extensions/localeGeneric-XP.png)
+ skin/classic/mozapps/plugins/pluginGeneric-XP.png (plugins/pluginGeneric-XP.png)
+ skin/classic/mozapps/plugins/pluginBlocked-XP.png (plugins/pluginBlocked-XP.png)
+ skin/classic/mozapps/plugins/pluginGeneric-16-XP.png (plugins/pluginGeneric-16-XP.png)
+ skin/classic/mozapps/profile/profileicon-XP.png (profile/profileicon-XP.png)
+ skin/classic/mozapps/update/downloadButtons-XP.png (update/downloadButtons-XP.png)
+
+#if MOZ_BUILD_APP == browser
+[browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#elif MOZ_SEPARATE_MANIFEST_FOR_THEME_OVERRIDES
+[extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}] chrome.jar:
+#endif
+% override chrome://mozapps/skin/downloads/downloadButtons.png chrome://mozapps/skin/downloads/downloadButtons-XP.png osversion<6
+% override chrome://mozapps/skin/downloads/downloadIcon.png chrome://mozapps/skin/downloads/downloadIcon-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/category-discover.png chrome://mozapps/skin/extensions/category-discover-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/category-plugins.png chrome://mozapps/skin/extensions/category-plugins-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/category-recent.png chrome://mozapps/skin/extensions/category-recent-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/category-available.png chrome://mozapps/skin/extensions/category-available-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/extensionGeneric-16.png chrome://mozapps/skin/extensions/extensionGeneric-16-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/themeGeneric.png chrome://mozapps/skin/extensions/themeGeneric-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/themeGeneric-16.png chrome://mozapps/skin/extensions/themeGeneric-16-XP.png osversion<6
+% override chrome://mozapps/skin/extensions/localeGeneric.png chrome://mozapps/skin/extensions/localeGeneric-XP.png osversion<6
+% override chrome://mozapps/skin/plugins/pluginGeneric.png chrome://mozapps/skin/plugins/pluginGeneric-XP.png osversion<6
+% override chrome://mozapps/skin/plugins/pluginBlocked.png chrome://mozapps/skin/plugins/pluginBlocked-XP.png osversion<6
+% override chrome://mozapps/skin/plugins/pluginGeneric-16.png chrome://mozapps/skin/plugins/pluginGeneric-16-XP.png osversion<6
+% override chrome://mozapps/skin/profile/profileicon.png chrome://mozapps/skin/profile/profileicon-XP.png osversion<6
+% override chrome://mozapps/skin/update/downloadButtons.png chrome://mozapps/skin/update/downloadButtons-XP.png osversion<6
diff --git a/toolkit/themes/windows/mozapps/moz.build b/toolkit/themes/windows/mozapps/moz.build
new file mode 100644
index 0000000000..eb4454d28f
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn'] \ No newline at end of file
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginBlocked-64.png b/toolkit/themes/windows/mozapps/plugins/pluginBlocked-64.png
new file mode 100644
index 0000000000..3263cc1be9
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginBlocked-64.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginBlocked-XP.png b/toolkit/themes/windows/mozapps/plugins/pluginBlocked-XP.png
new file mode 100644
index 0000000000..954036c1f0
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginBlocked-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginBlocked.png b/toolkit/themes/windows/mozapps/plugins/pluginBlocked.png
new file mode 100644
index 0000000000..49997c06db
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginBlocked.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16-XP.png b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16-XP.png
new file mode 100644
index 0000000000..d6dffb29b4
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16.png b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16.png
new file mode 100644
index 0000000000..5d796cc4c5
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-16.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginGeneric-XP.png b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-XP.png
new file mode 100644
index 0000000000..3e6d43c9ac
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginGeneric-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginGeneric.png b/toolkit/themes/windows/mozapps/plugins/pluginGeneric.png
new file mode 100644
index 0000000000..d8b270ae52
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginGeneric.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginHelp-16.png b/toolkit/themes/windows/mozapps/plugins/pluginHelp-16.png
new file mode 100644
index 0000000000..9a577c08f2
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginHelp-16.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/plugins/pluginInstallerWizard.css b/toolkit/themes/windows/mozapps/plugins/pluginInstallerWizard.css
new file mode 100644
index 0000000000..2337ca1997
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/plugins/pluginInstallerWizard.css
@@ -0,0 +1,12 @@
+#licenseContainer, #pluginList {
+ -moz-appearance: listbox;
+ margin: 2px 4px;
+ border: 2px solid;
+ -moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
+ -moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
+ -moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
+ background-color: -moz-Field;
+ color: -moz-FieldText;
+}
+
diff --git a/toolkit/themes/windows/mozapps/profile/profileSelection.css b/toolkit/themes/windows/mozapps/profile/profileSelection.css
new file mode 100644
index 0000000000..7e9495d00a
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/profile/profileSelection.css
@@ -0,0 +1,25 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+@import url("chrome://global/skin/global.css");
+
+@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#profiles > listitem {
+ list-style-image: url("chrome://mozapps/skin/profile/profileicon.png");
+}
+
+#profiles > listitem > listcell > image {
+ width: 16px;
+ height: 16px;
+}
+
+box#managebuttons > button {
+ min-width: 8em;
+}
+
+#managebuttons {
+ padding-top: 1em;
+}
diff --git a/toolkit/themes/windows/mozapps/profile/profileicon-XP.png b/toolkit/themes/windows/mozapps/profile/profileicon-XP.png
new file mode 100644
index 0000000000..0854ee1774
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/profile/profileicon-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/profile/profileicon.png b/toolkit/themes/windows/mozapps/profile/profileicon.png
new file mode 100644
index 0000000000..c6827468da
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/profile/profileicon.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/update/downloadButtons-XP.png b/toolkit/themes/windows/mozapps/update/downloadButtons-XP.png
new file mode 100644
index 0000000000..d36385ce53
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/update/downloadButtons-XP.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/update/downloadButtons.png b/toolkit/themes/windows/mozapps/update/downloadButtons.png
new file mode 100644
index 0000000000..a5d0944eb4
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/update/downloadButtons.png
Binary files differ
diff --git a/toolkit/themes/windows/mozapps/update/updates.css b/toolkit/themes/windows/mozapps/update/updates.css
new file mode 100644
index 0000000000..daf5222309
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/update/updates.css
@@ -0,0 +1,147 @@
+/* General */
+/* Specify the size for the wizardpage so the billboard has a fixed size. 3rd
+ party themes should typically specify the same values. */
+wizardpage {
+ height: 360px;
+ width: 700px;
+}
+
+/* Remove margin and padding so the billboard will extend to the edge of the
+ window. 3rd party themes should typically specify the same values. */
+#updates, .wizard-page-box {
+ margin: 0;
+ padding: 0;
+}
+
+.update-header {
+ padding: 0px 10px;
+}
+
+.update-content {
+ padding: 10px;
+}
+
+.wizard-buttons-separator {
+ margin-top: 0 !important;
+}
+
+.inline-link {
+ color: -moz-nativehyperlinktext;
+ text-decoration: none;
+}
+
+.inline-link:hover {
+ text-decoration: underline;
+}
+
+/* Unsupported Page */
+#unsupportedLabel, #unsupportedLinkLabel {
+ margin-inline-start: 0;
+ padding-inline-start: 0;
+}
+
+/* Update Found Basic Page */
+#updateName, #updateFinishedName {
+ font-weight: bold;
+ font-size: larger;
+}
+
+/* Downloading Page */
+#downloadStatusLine {
+ -moz-box-align: center;
+}
+
+#downloadStatus {
+ height: 3em !important;
+}
+
+#downloadStatusProgress {
+ padding-right: 5px;
+}
+
+#pauseButton {
+ list-style-image: url(chrome://mozapps/skin/update/downloadButtons.png);
+ -moz-image-region: rect(0px, 48px, 16px, 32px);
+ -moz-appearance: none;
+ background-color: transparent;
+ border: none;
+ min-width: 0;
+ min-height: 0;
+ margin: 0;
+ padding: 0;
+}
+
+/* !Important must be used otherwise this won't immediately take affect */
+#pauseButton > .button-box {
+ padding: 0 !important;
+}
+
+#pauseButton:hover {
+ -moz-image-region: rect(16px, 48px, 32px, 32px);
+}
+
+#pauseButton:active {
+ -moz-image-region: rect(32px, 48px, 48px, 32px);
+}
+
+#pauseButton[disabled="true"] {
+ -moz-image-region: rect(48px, 48px, 64px, 32px);
+}
+
+#pauseButton[paused="true"] {
+ -moz-image-region: rect(0px, 16px, 16px, 0px);
+}
+
+#pauseButton[paused="true"]:hover {
+ -moz-image-region: rect(16px, 16px, 32px, 0px);
+}
+
+#pauseButton[paused="true"]:active {
+ -moz-image-region: rect(32px, 16px, 48px, 0px);
+}
+
+#pauseButton[paused="true"][disabled="true"] {
+ -moz-image-region: rect(48px, 16px, 64px, 0px);
+}
+
+#verificationFailedIcon {
+ margin-left: 5px;
+ list-style-image: url("chrome://global/skin/icons/information-16.png");
+}
+
+/* Error Page */
+#errorReason {
+ margin-top: 1px;
+ margin-bottom: 2px;
+ margin-inline-start: 6px !important;
+ margin-inline-end: 5px;
+ font-weight: bold;
+}
+
+/* Update History Window */
+update {
+ border-bottom: 1px dotted #C0C0C0;
+}
+
+.update-name {
+ font-weight: bold;
+}
+
+.update-label-column {
+ -moz-box-align: end;
+}
+
+.update-type {
+ font-weight: bold;
+ color: #990000;
+}
+
+#historyItems {
+ -moz-appearance: listbox;
+ height: 200px;
+ margin: 1px 5px 4px 5px;
+}
+
+#historyItems > scrollbox {
+ margin-bottom: 1px;
+}
diff --git a/toolkit/themes/windows/mozapps/viewsource/viewsource.css b/toolkit/themes/windows/mozapps/viewsource/viewsource.css
new file mode 100644
index 0000000000..76c7d00b9d
--- /dev/null
+++ b/toolkit/themes/windows/mozapps/viewsource/viewsource.css
@@ -0,0 +1,5 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/* This is for styling the menus of the viewsource window */