michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /** this should only contain XUL dialog and document window widget defaults. Defaults for widgets of michael@0: a particular application should be in that application's style sheet. michael@0: For example style definitions for navigator can be found in navigator.css michael@0: michael@0: THIS FILE IS LOCKED DOWN. YOU ARE NOT ALLOWED TO MODIFY IT WITHOUT FIRST HAVING YOUR michael@0: CHANGES REVIEWED BY enndeakin@sympatico.ca michael@0: **/ michael@0: michael@0: @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */ michael@0: @namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */ michael@0: @namespace xbl url("http://www.mozilla.org/xbl"); /* namespace for XBL elements */ michael@0: michael@0: * { michael@0: -moz-user-focus: ignore; michael@0: -moz-user-select: none; michael@0: display: -moz-box; michael@0: box-sizing: border-box; michael@0: } michael@0: michael@0: :root { michael@0: text-rendering: optimizeLegibility; michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#root-element"); michael@0: -moz-control-character-visibility: visible; michael@0: } michael@0: michael@0: :root:-moz-locale-dir(rtl) { michael@0: direction: rtl; michael@0: } michael@0: michael@0: /* hide the content and destroy the frame */ michael@0: [hidden="true"] { michael@0: display: none; michael@0: } michael@0: michael@0: /* hide the content, but don't destroy the frames */ michael@0: [collapsed="true"], michael@0: [moz-collapsed="true"] { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: michael@0: /* :::::::::: michael@0: :: Rules for 'hiding' portions of the chrome for special michael@0: :: kinds of windows (not JUST browser windows) with toolbars michael@0: ::::: */ michael@0: michael@0: window[chromehidden~="menubar"] .chromeclass-menubar, michael@0: window[chromehidden~="directories"] .chromeclass-directories, michael@0: window[chromehidden~="status"] .chromeclass-status, michael@0: window[chromehidden~="extrachrome"] .chromeclass-extrachrome, michael@0: window[chromehidden~="location"] .chromeclass-location, michael@0: window[chromehidden~="location"][chromehidden~="toolbar"] .chromeclass-toolbar, michael@0: window[chromehidden~="toolbar"] .chromeclass-toolbar-additional { michael@0: display: none; michael@0: } michael@0: michael@0: /* :::::::::: michael@0: :: Rules for forcing direction for entry and display of URIs michael@0: :: or URI elements michael@0: ::::: */ michael@0: michael@0: .uri-element { michael@0: direction: ltr !important; michael@0: } michael@0: michael@0: /****** elements that have no visual representation ******/ michael@0: michael@0: script, data, michael@0: xbl|children, michael@0: commands, commandset, command, michael@0: broadcasterset, broadcaster, observes, michael@0: keyset, key, toolbarpalette, toolbarset, michael@0: template, rule, conditions, action, michael@0: bindings, binding, content, member, triple, michael@0: treechildren, treeitem, treeseparator, treerow, treecell { michael@0: display: none; michael@0: } michael@0: michael@0: /********** focus rules **********/ michael@0: michael@0: button, michael@0: checkbox, michael@0: colorpicker[type="button"], michael@0: datepicker[type="grid"], michael@0: menulist, michael@0: radiogroup, michael@0: tree, michael@0: browser, michael@0: editor, michael@0: iframe { michael@0: -moz-user-focus: normal; michael@0: } michael@0: michael@0: menulist[editable="true"] { michael@0: -moz-user-focus: ignore; michael@0: } michael@0: michael@0: /******** window & page ******/ michael@0: michael@0: window, michael@0: page { michael@0: overflow: -moz-hidden-unscrollable; michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: /******** box *******/ michael@0: michael@0: vbox { michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: bbox { michael@0: -moz-box-align: baseline; michael@0: } michael@0: michael@0: /********** button **********/ michael@0: michael@0: button { michael@0: -moz-binding: url("chrome://global/content/bindings/button.xml#button"); michael@0: } michael@0: michael@0: button[type="repeat"] { michael@0: -moz-binding: url("chrome://global/content/bindings/button.xml#button-repeat"); michael@0: } michael@0: michael@0: button[type="menu"], button[type="panel"] { michael@0: -moz-binding: url("chrome://global/content/bindings/button.xml#menu"); michael@0: } michael@0: michael@0: button[type="menu-button"] { michael@0: -moz-binding: url("chrome://global/content/bindings/button.xml#menu-button"); michael@0: } michael@0: michael@0: %ifdef MOZ_WIDGET_GTK michael@0: /********* detection of system setting to use icons in buttons ***********/ michael@0: button[label]:not([label=""]) > .button-box > .button-icon:not(:-moz-system-metric(images-in-buttons)), michael@0: button[label]:not([label=""]) > .button-box > .box-inherit > .button-icon:not(:-moz-system-metric(images-in-buttons)) { michael@0: display: none; michael@0: } michael@0: %endif michael@0: michael@0: /********** toolbarbutton **********/ michael@0: michael@0: toolbarbutton { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton"); michael@0: } michael@0: michael@0: toolbarbutton[type="menu"], michael@0: toolbarbutton[type="panel"] { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu"); michael@0: } michael@0: michael@0: toolbarbutton[type="menu-button"] { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-button"); michael@0: } michael@0: michael@0: toolbar[mode="icons"] .toolbarbutton-text, michael@0: toolbar[mode="icons"] .toolbarbutton-multiline-text, michael@0: toolbar[mode="text"] .toolbarbutton-icon { michael@0: display: none; michael@0: } michael@0: michael@0: .toolbarbutton-multiline-text:not([wrap="true"]), michael@0: .toolbarbutton-text[wrap="true"] { michael@0: display: none; michael@0: } michael@0: michael@0: /******** browser, editor, iframe ********/ michael@0: michael@0: browser, michael@0: editor, michael@0: iframe { michael@0: display: inline; michael@0: } michael@0: michael@0: browser { michael@0: -moz-binding: url("chrome://global/content/bindings/browser.xml#browser"); michael@0: } michael@0: michael@0: editor { michael@0: -moz-binding: url("chrome://global/content/bindings/editor.xml#editor"); michael@0: } michael@0: michael@0: iframe { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#iframe"); michael@0: } michael@0: michael@0: /********** notifications **********/ michael@0: michael@0: notificationbox { michael@0: -moz-binding: url("chrome://global/content/bindings/notification.xml#notificationbox"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: .notificationbox-stack { michael@0: overflow: -moz-hidden-unscrollable; michael@0: } michael@0: michael@0: notification { michael@0: -moz-binding: url("chrome://global/content/bindings/notification.xml#notification"); michael@0: transition: margin-top 300ms, opacity 300ms; michael@0: } michael@0: michael@0: /*********** popup notification ************/ michael@0: popupnotification { michael@0: -moz-binding: url("chrome://global/content/bindings/notification.xml#popup-notification"); michael@0: } michael@0: michael@0: .popup-notification-menubutton:not([label]) { michael@0: display: none; michael@0: } michael@0: michael@0: /********** image **********/ michael@0: michael@0: image { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#image"); michael@0: } michael@0: michael@0: /********** checkbox **********/ michael@0: michael@0: checkbox { michael@0: -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox"); michael@0: } michael@0: michael@0: /********** radio **********/ michael@0: michael@0: radiogroup { michael@0: -moz-binding: url("chrome://global/content/bindings/radio.xml#radiogroup"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: radio { michael@0: -moz-binding: url("chrome://global/content/bindings/radio.xml#radio"); michael@0: } michael@0: michael@0: /******** groupbox *********/ michael@0: michael@0: groupbox { michael@0: -moz-binding: url("chrome://global/content/bindings/groupbox.xml#groupbox"); michael@0: display: -moz-groupbox; michael@0: } michael@0: michael@0: caption { michael@0: -moz-binding: url("chrome://global/content/bindings/groupbox.xml#caption"); michael@0: } michael@0: michael@0: .groupbox-body { michael@0: -moz-box-pack: inherit; michael@0: -moz-box-align: inherit; michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: /******* toolbar *******/ michael@0: michael@0: toolbox { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbox"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: toolbar { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar"); michael@0: } michael@0: michael@0: toolbar[customizing="true"][collapsed="true"] { michael@0: /* Some apps, e.g. Firefox, use 'collapsed' to hide toolbars. michael@0: Override it while customizing. */ michael@0: visibility: visible; michael@0: } michael@0: michael@0: toolbar[customizing="true"][hidden="true"] { michael@0: /* Some apps, e.g. SeaMonkey, use 'hidden' to hide toolbars. michael@0: Override it while customizing. */ michael@0: display: -moz-box; michael@0: } michael@0: michael@0: %ifdef XP_MACOSX michael@0: toolbar[type="menubar"] { michael@0: min-height: 0 !important; michael@0: border: 0 !important; michael@0: } michael@0: %else michael@0: toolbar[type="menubar"][autohide="true"] { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-menubar-autohide"); michael@0: overflow: hidden; michael@0: } michael@0: michael@0: toolbar[type="menubar"][autohide="true"][inactive="true"]:not([customizing="true"]) { michael@0: min-height: 0 !important; michael@0: height: 0 !important; michael@0: -moz-appearance: none !important; michael@0: border-style: none !important; michael@0: } michael@0: %endif michael@0: michael@0: toolbarseparator { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); michael@0: } michael@0: michael@0: toolbarspacer { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); michael@0: } michael@0: michael@0: toolbarspring { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); michael@0: -moz-box-flex: 1000; michael@0: } michael@0: michael@0: toolbarpaletteitem { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem"); michael@0: } michael@0: michael@0: toolbarpaletteitem[place="palette"] { michael@0: -moz-box-orient: vertical; michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem-palette"); michael@0: } michael@0: michael@0: /********* menubar ***********/ michael@0: michael@0: menubar { michael@0: -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar"); michael@0: } michael@0: michael@0: /********* menu ***********/ michael@0: michael@0: menubar > menu { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar"); michael@0: } michael@0: michael@0: menubar > menu.menu-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar-iconic"); michael@0: } michael@0: michael@0: menu { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menu"); michael@0: } michael@0: michael@0: menu.menu-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic"); michael@0: } michael@0: michael@0: menubar > menu:empty { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: /********* menuitem ***********/ michael@0: michael@0: menuitem { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem"); michael@0: } michael@0: michael@0: menuitem.menuitem-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic"); michael@0: } michael@0: michael@0: menuitem[description] { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-desc-noaccel"); michael@0: } michael@0: michael@0: menuitem[type="checkbox"], michael@0: menuitem[type="radio"] { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic"); michael@0: } michael@0: michael@0: menuitem.menuitem-non-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menubutton-item"); michael@0: } michael@0: michael@0: .menu-text { michael@0: -moz-box-flex: 1; michael@0: } michael@0: michael@0: %ifdef MOZ_WIDGET_GTK michael@0: /********* detection of system setting to use icons in menus ***********/ michael@0: @media not all and (-moz-images-in-menus) { michael@0: .menu-iconic-left { michael@0: visibility: hidden; michael@0: } michael@0: :-moz-any(menuitem[type], .menuitem-with-favicon) > .menu-iconic-left { michael@0: visibility: visible; michael@0: } michael@0: } michael@0: %endif michael@0: michael@0: /********* menuseparator ***********/ michael@0: michael@0: menuseparator { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuseparator"); michael@0: } michael@0: michael@0: /********* popup & menupopup ***********/ michael@0: michael@0: /* is deprecated. Only and are still valid. */ michael@0: michael@0: popup, michael@0: menupopup { michael@0: -moz-binding: url("chrome://global/content/bindings/popup.xml#popup"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: panel { michael@0: -moz-binding: url("chrome://global/content/bindings/popup.xml#panel"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: popup, michael@0: menupopup, michael@0: panel, michael@0: tooltip { michael@0: display: -moz-popup; michael@0: z-index: 2147483647; michael@0: text-shadow: none; michael@0: } michael@0: michael@0: tooltip { michael@0: -moz-binding: url("chrome://global/content/bindings/popup.xml#tooltip"); michael@0: -moz-box-orient: vertical; michael@0: white-space: pre-wrap; michael@0: margin-top: 21px; michael@0: } michael@0: michael@0: panel[type="arrow"] { michael@0: -moz-binding: url("chrome://global/content/bindings/popup.xml#arrowpanel"); michael@0: } michael@0: michael@0: %ifdef XP_MACOSX michael@0: .statusbar-resizerpanel { michael@0: display: none; michael@0: } michael@0: %else michael@0: window[sizemode="maximized"] statusbarpanel.statusbar-resizerpanel { michael@0: visibility: collapse; michael@0: } michael@0: %endif michael@0: michael@0: /******** grid **********/ michael@0: michael@0: grid { michael@0: display: -moz-grid; michael@0: } michael@0: michael@0: rows, michael@0: columns { michael@0: display: -moz-grid-group; michael@0: } michael@0: michael@0: row, michael@0: column { michael@0: display: -moz-grid-line; michael@0: } michael@0: michael@0: rows { michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: column { michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: /******** listbox **********/ michael@0: michael@0: listbox { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox"); michael@0: } michael@0: michael@0: listhead { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead"); michael@0: } michael@0: michael@0: listrows { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows"); michael@0: } michael@0: michael@0: listitem { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem"); michael@0: } michael@0: michael@0: listitem[type="checkbox"] { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox"); michael@0: } michael@0: michael@0: listheader { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listheader"); michael@0: -moz-box-ordinal-group: 2147483646; michael@0: } michael@0: michael@0: listcell { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell"); michael@0: } michael@0: michael@0: listcell[type="checkbox"] { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox"); michael@0: } michael@0: michael@0: .listitem-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-iconic"); michael@0: } michael@0: michael@0: listitem[type="checkbox"].listitem-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox-iconic"); michael@0: } michael@0: michael@0: .listcell-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-iconic"); michael@0: } michael@0: michael@0: listcell[type="checkbox"].listcell-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox-iconic"); michael@0: } michael@0: michael@0: listbox { michael@0: display: -moz-grid; michael@0: } michael@0: michael@0: listbox[rows] { michael@0: height: auto; michael@0: } michael@0: michael@0: listcols, listhead, listrows, listboxbody { michael@0: display: -moz-grid-group; michael@0: } michael@0: michael@0: listcol, listitem, listheaditem { michael@0: display: -moz-grid-line; michael@0: } michael@0: michael@0: listbox { michael@0: -moz-user-focus: normal; michael@0: -moz-box-orient: vertical; michael@0: min-width: 0px; michael@0: min-height: 0px; michael@0: width: 200px; michael@0: height: 200px; michael@0: } michael@0: michael@0: listhead { michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: listrows { michael@0: -moz-box-orient: vertical; michael@0: -moz-box-flex: 1; michael@0: } michael@0: michael@0: listboxbody { michael@0: -moz-box-orient: vertical; michael@0: -moz-box-flex: 1; michael@0: /* Don't permit a horizontal scrollbar. See bug 285449 */ michael@0: overflow-x: hidden !important; michael@0: overflow-y: auto; michael@0: min-height: 0px; michael@0: } michael@0: michael@0: listcol { michael@0: -moz-box-orient: vertical; michael@0: min-width: 16px; michael@0: } michael@0: michael@0: listcell { michael@0: -moz-box-align: center; michael@0: } michael@0: michael@0: /******** tree ******/ michael@0: michael@0: tree { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#tree"); michael@0: } michael@0: michael@0: treecols { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#treecols"); michael@0: } michael@0: michael@0: treecol { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol"); michael@0: -moz-box-ordinal-group: 2147483646; michael@0: } michael@0: michael@0: treecol.treecol-image { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol-image"); michael@0: } michael@0: michael@0: tree > treechildren { michael@0: display: -moz-box; michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#treebody"); michael@0: -moz-user-select: none; michael@0: -moz-box-flex: 1; michael@0: } michael@0: michael@0: treerows { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#treerows"); michael@0: } michael@0: michael@0: treecolpicker { michael@0: -moz-binding: url("chrome://global/content/bindings/tree.xml#columnpicker"); michael@0: } michael@0: michael@0: tree { michael@0: -moz-box-orient: vertical; michael@0: min-width: 0px; michael@0: min-height: 0px; michael@0: width: 10px; michael@0: height: 10px; michael@0: } michael@0: michael@0: tree[hidecolumnpicker="true"] > treecols > treecolpicker { michael@0: display: none; michael@0: } michael@0: michael@0: treecol { michael@0: min-width: 16px; michael@0: } michael@0: michael@0: treecol[hidden="true"] { michael@0: visibility: collapse; michael@0: display: -moz-box; michael@0: } michael@0: michael@0: .tree-scrollable-columns { michael@0: /* Yes, Virginia, this makes it scrollable */ michael@0: overflow: hidden; michael@0: } michael@0: michael@0: /* ::::: lines connecting cells ::::: */ michael@0: tree:not([treelines="true"]) > treechildren::-moz-tree-line { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: treechildren::-moz-tree-cell(ltr) { michael@0: direction: ltr !important; michael@0: } michael@0: michael@0: /********** deck & stack *********/ michael@0: michael@0: deck { michael@0: display: -moz-deck; michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#deck"); michael@0: } michael@0: michael@0: stack, bulletinboard { michael@0: display: -moz-stack; michael@0: } michael@0: michael@0: /********** tabbox *********/ michael@0: michael@0: tabbox { michael@0: -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabbox"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: tabs { michael@0: -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs"); michael@0: -moz-box-orient: horizontal; michael@0: } michael@0: michael@0: tab { michael@0: -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab"); michael@0: -moz-box-align: center; michael@0: -moz-box-pack: center; michael@0: } michael@0: michael@0: tab[selected="true"]:not([ignorefocus="true"]) { michael@0: -moz-user-focus: normal; michael@0: } michael@0: michael@0: tabpanels { michael@0: -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabpanels"); michael@0: display: -moz-deck; michael@0: } michael@0: michael@0: /********** progressmeter **********/ michael@0: michael@0: progressmeter { michael@0: -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter"); michael@0: } michael@0: michael@0: /********** basic rule for anonymous content that needs to pass box properties through michael@0: ********** to an insertion point parent that holds the real kids **************/ michael@0: michael@0: .box-inherit { michael@0: -moz-box-orient: inherit; michael@0: -moz-box-pack: inherit; michael@0: -moz-box-align: inherit; michael@0: -moz-box-direction: inherit; michael@0: } michael@0: michael@0: /********** label **********/ michael@0: michael@0: description { michael@0: -moz-binding: url("chrome://global/content/bindings/text.xml#text-base"); michael@0: } michael@0: michael@0: label { michael@0: -moz-binding: url("chrome://global/content/bindings/text.xml#text-label"); michael@0: } michael@0: michael@0: label.text-link, label[onclick] { michael@0: -moz-binding: url("chrome://global/content/bindings/text.xml#text-link"); michael@0: -moz-user-focus: normal; michael@0: } michael@0: michael@0: label[control], label.radio-label, label.checkbox-label, label.toolbarbutton-multiline-text { michael@0: -moz-binding: url("chrome://global/content/bindings/text.xml#label-control"); michael@0: } michael@0: michael@0: html|span.accesskey { michael@0: text-decoration: underline; michael@0: } michael@0: michael@0: /********** textbox **********/ michael@0: michael@0: textbox { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#textbox"); michael@0: -moz-user-select: text; michael@0: text-shadow: none; michael@0: } michael@0: michael@0: textbox[multiline="true"] { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#textarea"); michael@0: } michael@0: michael@0: .textbox-input-box { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#input-box"); michael@0: } michael@0: michael@0: html|textarea.textbox-textarea { michael@0: resize: none; michael@0: } michael@0: michael@0: textbox[resizable="true"] > .textbox-input-box > html|textarea.textbox-textarea { michael@0: resize: both; michael@0: } michael@0: michael@0: .textbox-input-box[spellcheck="true"] { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#input-box-spell"); michael@0: } michael@0: michael@0: textbox[type="timed"] { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#timed-textbox"); michael@0: } michael@0: michael@0: textbox[type="search"] { michael@0: -moz-binding: url("chrome://global/content/bindings/textbox.xml#search-textbox"); michael@0: } michael@0: michael@0: textbox[type="number"] { michael@0: -moz-binding: url("chrome://global/content/bindings/numberbox.xml#numberbox"); michael@0: } michael@0: michael@0: .textbox-contextmenu:-moz-locale-dir(rtl) { michael@0: direction: rtl; michael@0: } michael@0: michael@0: /********** autocomplete textbox **********/ michael@0: michael@0: /* SeaMonkey don't use the new toolkit's autocomplete widget yet.... */ michael@0: %ifdef MOZ_SUITE michael@0: %define AUTOCOMPLETE_OLD_STYLE michael@0: %endif michael@0: michael@0: %ifdef AUTOCOMPLETE_OLD_STYLE michael@0: michael@0: textbox[type="autocomplete"] { michael@0: -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete"); michael@0: } michael@0: michael@0: panel[type="autocomplete"] { michael@0: -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-result-popup"); michael@0: } michael@0: michael@0: .autocomplete-history-popup { michael@0: -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-history-popup"); michael@0: } michael@0: michael@0: .autocomplete-treebody { michael@0: -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treebody"); michael@0: } michael@0: michael@0: .autocomplete-history-dropmarker { michael@0: -moz-binding: url("chrome://global/content/autocomplete.xml#history-dropmarker"); michael@0: } michael@0: michael@0: %else michael@0: michael@0: textbox[type="autocomplete"] { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete"); michael@0: } michael@0: michael@0: panel[type="autocomplete"] { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-result-popup"); michael@0: } michael@0: michael@0: panel[type="autocomplete-richlistbox"] { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-rich-result-popup"); michael@0: } michael@0: michael@0: /* FIXME: bug 616258 */ michael@0: michael@0: .autocomplete-tree { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-tree"); michael@0: -moz-user-focus: ignore; michael@0: } michael@0: michael@0: .autocomplete-treebody { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treebody"); michael@0: } michael@0: michael@0: .autocomplete-richlistbox { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistbox"); michael@0: -moz-user-focus: ignore; michael@0: } michael@0: michael@0: .autocomplete-richlistbox > scrollbox { michael@0: overflow-x: hidden !important; michael@0: } michael@0: michael@0: .autocomplete-richlistitem { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-richlistitem"); michael@0: -moz-box-orient: vertical; michael@0: overflow: -moz-hidden-unscrollable; michael@0: } michael@0: michael@0: .autocomplete-treerows { michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treerows"); michael@0: } michael@0: michael@0: .autocomplete-history-dropmarker { michael@0: display: none; michael@0: } michael@0: michael@0: .autocomplete-history-dropmarker[enablehistory="true"] { michael@0: display: -moz-box; michael@0: -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#history-dropmarker"); michael@0: } michael@0: michael@0: .ac-ellipsis-after { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: .ac-url-text[type~="action"], michael@0: .ac-action-text:not([type~="action"]) { michael@0: visibility: collapse; michael@0: } michael@0: michael@0: %endif michael@0: michael@0: michael@0: michael@0: /* the C++ implementation of widgets is too eager to make popups visible. michael@0: this causes problems (bug 120155 and others), thus this workaround: */ michael@0: popup[type="autocomplete"][hidden="true"] { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: /* The following rule is here to fix bug 96899 (and now 117952). michael@0: Somehow trees create a situation michael@0: in which a popupset flows itself as if its popup child is directly within it michael@0: instead of the placeholder child that should actually be inside the popupset. michael@0: This is a stopgap measure, and it does not address the real bug. */ michael@0: .autocomplete-result-popupset { michael@0: max-width: 0px; michael@0: width: 0 !important; michael@0: min-width: 0%; michael@0: min-height: 0%; michael@0: } michael@0: michael@0: /********** colorpicker **********/ michael@0: michael@0: colorpicker { michael@0: -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker"); michael@0: } michael@0: michael@0: colorpicker[type="button"] { michael@0: -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker-button"); michael@0: } michael@0: michael@0: .colorpickertile { michael@0: -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpickertile"); michael@0: } michael@0: michael@0: /********** menulist **********/ michael@0: michael@0: menulist { michael@0: -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist"); michael@0: } michael@0: michael@0: menulist[editable="true"] { michael@0: -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-editable"); michael@0: } michael@0: michael@0: menulist[type="description"] { michael@0: -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-description"); michael@0: } michael@0: michael@0: menulist > menupopup > menuitem { michael@0: -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-noaccel"); michael@0: } michael@0: michael@0: dropmarker { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#dropmarker"); michael@0: } michael@0: michael@0: /********** resizer **********/ michael@0: michael@0: resizer { michael@0: -moz-binding: url("chrome://global/content/bindings/resizer.xml#resizer"); michael@0: position: relative; michael@0: z-index: 2147483647; michael@0: } michael@0: michael@0: /********** splitter **********/ michael@0: michael@0: splitter { michael@0: -moz-binding: url("chrome://global/content/bindings/splitter.xml#splitter"); michael@0: } michael@0: michael@0: grippy { michael@0: -moz-binding: url("chrome://global/content/bindings/splitter.xml#grippy"); michael@0: } michael@0: michael@0: .tree-splitter { michael@0: width: 0px; michael@0: max-width: 0px; michael@0: min-width: 0% ! important; michael@0: min-height: 0% ! important; michael@0: -moz-box-ordinal-group: 2147483646; michael@0: } michael@0: michael@0: /********** scrollbar **********/ michael@0: michael@0: /* Scrollbars are never flipped even if BiDI kicks in. */ michael@0: scrollbar[orient="horizontal"] { michael@0: direction: ltr; michael@0: } michael@0: michael@0: thumb { michael@0: -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#thumb); michael@0: display: -moz-box !important; michael@0: } michael@0: michael@0: .scale-thumb { michael@0: -moz-binding: url(chrome://global/content/bindings/scale.xml#scalethumb); michael@0: } michael@0: michael@0: scrollbar, scrollbarbutton, scrollcorner, slider, thumb, scale { michael@0: -moz-user-select: none; michael@0: } michael@0: michael@0: scrollcorner { michael@0: display: -moz-box !important; michael@0: } michael@0: michael@0: scrollcorner[hidden="true"] { michael@0: display: none !important; michael@0: } michael@0: michael@0: scrollbar[value="hidden"] { michael@0: visibility: hidden; michael@0: } michael@0: michael@0: scale { michael@0: -moz-binding: url(chrome://global/content/bindings/scale.xml#scale); michael@0: } michael@0: michael@0: .scale-slider { michael@0: -moz-binding: url(chrome://global/content/bindings/scale.xml#scaleslider); michael@0: -moz-user-focus: normal; michael@0: } michael@0: michael@0: scrollbarbutton[sbattr="scrollbar-up-top"]:not(:-moz-system-metric(scrollbar-start-backward)), michael@0: scrollbarbutton[sbattr="scrollbar-down-top"]:not(:-moz-system-metric(scrollbar-start-forward)), michael@0: scrollbarbutton[sbattr="scrollbar-up-bottom"]:not(:-moz-system-metric(scrollbar-end-backward)), michael@0: scrollbarbutton[sbattr="scrollbar-down-bottom"]:not(:-moz-system-metric(scrollbar-end-forward)) { michael@0: display: none; michael@0: } michael@0: michael@0: thumb[sbattr="scrollbar-thumb"]:-moz-system-metric(scrollbar-thumb-proportional) { michael@0: -moz-box-flex: 1; michael@0: } michael@0: michael@0: /******** scrollbox ********/ michael@0: michael@0: scrollbox { michael@0: -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#scrollbox"); michael@0: /* This makes it scrollable! */ michael@0: overflow: hidden; michael@0: } michael@0: michael@0: arrowscrollbox { michael@0: -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox"); michael@0: } michael@0: michael@0: arrowscrollbox[clicktoscroll="true"] { michael@0: -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox-clicktoscroll"); michael@0: } michael@0: michael@0: autorepeatbutton { michael@0: -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#autorepeatbutton"); michael@0: } michael@0: michael@0: /********** statusbar **********/ michael@0: michael@0: statusbar { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#statusbar"); michael@0: %ifdef XP_MACOSX michael@0: padding-right: 14px; michael@0: %endif michael@0: } michael@0: michael@0: statusbarpanel { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel"); michael@0: } michael@0: michael@0: .statusbarpanel-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic"); michael@0: } michael@0: michael@0: .statusbarpanel-iconic-text { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic-text"); michael@0: } michael@0: michael@0: .statusbarpanel-menu-iconic { michael@0: -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-menu-iconic"); michael@0: } michael@0: michael@0: /********** spinbuttons ***********/ michael@0: michael@0: spinbuttons { michael@0: -moz-binding: url("chrome://global/content/bindings/spinbuttons.xml#spinbuttons"); michael@0: } michael@0: michael@0: .spinbuttons-button { michael@0: -moz-user-focus: ignore; michael@0: } michael@0: michael@0: /********** stringbundle **********/ michael@0: michael@0: stringbundleset { michael@0: -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundleset"); michael@0: visibility: collapse; michael@0: } michael@0: michael@0: stringbundle { michael@0: -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundle"); michael@0: visibility: collapse; michael@0: } michael@0: michael@0: /********** dialog **********/ michael@0: michael@0: dialog, michael@0: dialog:root /* override :root from above */ { michael@0: -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialog"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: dialogheader { michael@0: -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialogheader"); michael@0: } michael@0: michael@0: /********* page ************/ michael@0: michael@0: page { michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: /********** wizard **********/ michael@0: michael@0: wizard, michael@0: wizard:root /* override :root from above */ { michael@0: -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard"); michael@0: -moz-box-orient: vertical; michael@0: width: 40em; michael@0: height: 30em; michael@0: } michael@0: michael@0: wizardpage { michael@0: -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizardpage"); michael@0: -moz-box-orient: vertical; michael@0: overflow: auto; michael@0: } michael@0: michael@0: .wizard-header { michael@0: -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-header"); michael@0: } michael@0: michael@0: .wizard-buttons { michael@0: -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-buttons"); michael@0: } michael@0: michael@0: /********** preferences ********/ michael@0: michael@0: prefwindow, michael@0: prefwindow:root /* override :root from above */ { michael@0: -moz-binding: url("chrome://global/content/bindings/preferences.xml#prefwindow"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: prefpane { michael@0: -moz-binding: url("chrome://global/content/bindings/preferences.xml#prefpane"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: prefwindow > .paneDeckContainer { michael@0: overflow: hidden; michael@0: } michael@0: michael@0: prefpane > .content-box { michael@0: overflow: hidden; michael@0: } michael@0: michael@0: prefwindow[type="child"] > .paneDeckContainer { michael@0: overflow: -moz-hidden-unscrollable; michael@0: } michael@0: michael@0: prefwindow[type="child"] > prefpane > .content-box { michael@0: -moz-box-flex: 1; michael@0: overflow: -moz-hidden-unscrollable; michael@0: } michael@0: michael@0: preferences { michael@0: -moz-binding: url("chrome://global/content/bindings/preferences.xml#preferences"); michael@0: visibility: collapse; michael@0: } michael@0: michael@0: preference { michael@0: -moz-binding: url("chrome://global/content/bindings/preferences.xml#preference"); michael@0: visibility: collapse; michael@0: } michael@0: michael@0: radio[pane] { michael@0: -moz-binding: url("chrome://global/content/bindings/preferences.xml#panebutton") !important; michael@0: -moz-box-orient: vertical; michael@0: -moz-box-align: center; michael@0: } michael@0: michael@0: prefwindow[chromehidden~="toolbar"] .chromeclass-toolbar { michael@0: display: none; michael@0: } michael@0: michael@0: /********** expander ********/ michael@0: michael@0: expander { michael@0: -moz-binding: url("chrome://global/content/bindings/expander.xml#expander"); michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: michael@0: /********** Rich Listbox ********/ michael@0: michael@0: richlistbox { michael@0: -moz-binding: url('chrome://global/content/bindings/richlistbox.xml#richlistbox'); michael@0: -moz-user-focus: normal; michael@0: -moz-box-orient: vertical; michael@0: } michael@0: michael@0: richlistitem { michael@0: -moz-binding: url('chrome://global/content/bindings/richlistbox.xml#richlistitem'); michael@0: } michael@0: michael@0: richlistbox > listheader { michael@0: -moz-box-ordinal-group: 1; michael@0: } michael@0: michael@0: /********** datepicker and timepicker ********/ michael@0: michael@0: datepicker { michael@0: -moz-binding: url('chrome://global/content/bindings/datetimepicker.xml#datepicker'); michael@0: } michael@0: michael@0: datepicker[type="popup"] { michael@0: -moz-binding: url('chrome://global/content/bindings/datetimepicker.xml#datepicker-popup'); michael@0: } michael@0: michael@0: datepicker[type="grid"] { michael@0: -moz-binding: url('chrome://global/content/bindings/datetimepicker.xml#datepicker-grid'); michael@0: } michael@0: michael@0: timepicker { michael@0: -moz-binding: url('chrome://global/content/bindings/datetimepicker.xml#timepicker'); michael@0: } michael@0: michael@0: michael@0: /*********** findbar ************/ michael@0: findbar { michael@0: -moz-binding: url('chrome://global/content/bindings/findbar.xml#findbar'); michael@0: } michael@0: michael@0: .findbar-textbox { michael@0: -moz-binding: url("chrome://global/content/bindings/findbar.xml#findbar-textbox"); michael@0: } michael@0: michael@0: michael@0: /*********** filefield ************/ michael@0: filefield { michael@0: -moz-binding: url("chrome://global/content/bindings/filefield.xml#filefield"); michael@0: } michael@0: michael@0: /*********** tabmodalprompt ************/ michael@0: tabmodalprompt { michael@0: -moz-binding: url("chrome://global/content/tabprompts.xml#tabmodalprompt"); michael@0: overflow: hidden; michael@0: text-shadow: none; michael@0: }