/** this should only contain XUL dialog and document window widget defaults. Defaults for widgets of a particular application should be in that application's style sheet. For example style definitions for navigator can be found in navigator.css THIS FILE IS LOCKED DOWN. YOU ARE NOT ALLOWED TO MODIFY IT WITHOUT FIRST HAVING YOUR CHANGES REVIEWED BY hyatt@netscape.com. **/ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */ @namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for HTML elements */ @namespace xbl url("http://www.mozilla.org/xbl"); /* namespace for XBL elements */ * { -moz-user-focus: ignore; display: -moz-box; } /* hide the content and destroy the frame */ *[hidden="true"] { display: none; } /* hide the content, but don't destroy the frames */ *[collapsed="true"], *[moz-collapsed="true"] { visibility: collapse; } /* :::::::::: :: Rules for 'hiding' portions of the chrome for special :: kinds of windows (not JUST browser windows) with toolbars ::::: */ window[chromehidden~="menubar"] .chromeclass-menubar, window[chromehidden~="directories"] .chromeclass-directories, window[chromehidden~="status"] .chromeclass-status, window[chromehidden~="extrachrome"] .chromeclass-extrachrome, window[chromehidden~="location"] .chromeclass-location, window[chromehidden~="location"][chromehidden~="toolbar"] .chromeclass-toolbar, window[chromehidden~="toolbar"] .chromeclass-toolbar-additional { display: none; } /****** elements that have no visual representation ******/ script, data, xbl|children, commands, commandset, command, broadcasterset, broadcaster, observes, keyset, key, toolbarpalette, toolbarset, template, rule, conditions, action, bindings, binding, content, member, triple, treechildren, treeitem, treeseparator, treerow, treecell { display: none; } /********** focus rules **********/ button, checkbox, colorpicker[type="button"], menulist, radiogroup, tree, browser, editor, iframe { -moz-user-focus: normal; } menulist[editable] { -moz-user-focus: ignore; } treecol, treerows, radio { -moz-user-focus: none; } /******** window & page ******/ window, page { overflow: -moz-hidden-unscrollable; -moz-box-orient: vertical; } /******** box *******/ vbox { -moz-box-orient: vertical; } bbox { -moz-box-align: baseline; } /********** button **********/ button { -moz-binding: url("chrome://global/content/bindings/button.xml#button"); } button[type="menu"] { -moz-binding: url("chrome://global/content/bindings/button.xml#menu"); } button[type="menu-button"] { -moz-binding: url("chrome://global/content/bindings/button.xml#menu-button"); } /********** toolbarbutton **********/ toolbarbutton { -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton"); } toolbarbutton[type="menu"] { -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu"); } toolbarbutton[orient] { -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-orient"); } toolbarbutton[type="menu-button"] { -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#menu-button"); } dropmarker[type="menu-button"] { -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#dropmarker"); } /******** browser, editor, iframe ********/ browser, editor, iframe { display: inline; } browser { -moz-binding: url("chrome://global/content/bindings/browser.xml#browser"); } tabbrowser { -moz-binding: url("chrome://global/content/bindings/tabbrowser.xml#tabbrowser"); } editor { -moz-binding: url("chrome://global/content/bindings/editor.xml#editor"); } iframe { -moz-binding: url("chrome://global/content/bindings/general.xml#iframe"); } /********** image **********/ image { -moz-binding: url("chrome://global/content/bindings/general.xml#image"); } /********** checkbox **********/ checkbox { -moz-binding: url("chrome://global/content/bindings/checkbox.xml#checkbox"); } /********** radio **********/ radiogroup { -moz-binding: url("chrome://global/content/bindings/radio.xml#radiogroup"); -moz-box-orient: vertical; } radio { -moz-binding: url("chrome://global/content/bindings/radio.xml#radio"); } /******** groupbox *********/ groupbox { -moz-binding: url("chrome://global/content/bindings/groupbox.xml#groupbox"); display: -moz-groupbox; } caption { -moz-binding: url("chrome://global/content/bindings/groupbox.xml#caption"); } .groupbox-body { -moz-box-pack: inherit; -moz-box-align: inherit; -moz-box-orient: vertical; } /******* toolbar *******/ toolbox { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbox"); -moz-box-orient: vertical; } toolbar { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar"); } #ifdef XP_MACOSX toolbar[type="menubar"] { min-height: 0 !important; border: 0 !important; } #endif toolbarseparator { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); } toolbarspacer { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); display: inline; } toolbarspring { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration"); -moz-box-flex: 1000; display: inline; } toolbarpaletteitem { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem"); } toolbarpaletteitem[place="palette"] { -moz-box-orient: vertical; -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem-palette"); } /********* menubar ***********/ menubar { -moz-binding: url("chrome://global/content/bindings/toolbar.xml#menubar"); } /********* menu ***********/ menubar > menu { -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar"); } menubar > menu.menu-iconic { -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar-iconic"); } menu { -moz-binding: url("chrome://global/content/bindings/menu.xml#menu"); } menu.menu-iconic { -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic"); } /********* menuitem ***********/ menuitem { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem"); } menuitem.menuitem-iconic { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic"); } menuitem[description] { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-desc-noaccel"); } menuitem[type="checkbox"], menuitem[type="radio"] { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic"); } menuitem.menuitem-non-iconic { -moz-binding: url("chrome://global/content/bindings/menu.xml#menubutton-item"); } /********* menuseparator ***********/ menuseparator { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuseparator"); } /********* popup & menupopup ***********/ /* is deprecated. Only and are still valid. */ popup, menupopup { -moz-binding: url("chrome://global/content/bindings/popup.xml#popup"); -moz-box-orient: vertical; display: none; } popup, menupopup, tooltip { z-index: 2147483647; } menupopup[menugenerated="true"], popup[menugenerated="true"], tooltip[menugenerated="true"] { display: -moz-popup; } tooltip { -moz-binding: url("chrome://global/content/bindings/popup.xml#tooltip"); display: -moz-popup; margin-top: 21px; } #ifdef XP_MACOSX .statusbar-resizerpanel { display: none; } #else window[sizemode="maximized"] statusbarpanel.statusbar-resizerpanel { visibility: collapse; } #endif /********** floating popups **********/ /* titlebar { -moz-binding: url("chrome://global/content/bindings/popup.xml#titlebar"); } resizer[resizerdirection="right"] { -moz-binding: url("chrome://global/content/bindings/popup.xml#ew-resizer"); } resizer[resizerdirection="bottom"] { -moz-binding: url("chrome://global/content/bindings/popup.xml#ns-resizer"); } resizer[resizerdirection="bottomright"] { -moz-binding: url("chrome://global/content/bindings/popup.xml#diag-resizer"); } floatingwindow { -moz-binding: url("chrome://global/content/bindings/popup.xml#floater-normal"); -moz-box-orient: vertical; display: none; z-index: 2147483647; } floatingwindow[docked="left"] { -moz-binding: url("chrome://global/content/bindings/popup.xml#floater-dock-left"); } button.popupClose { -moz-binding: url("chrome://global/content/bindings/popup.xml#close-button") !important; } */ /******** grid **********/ grid { display: -moz-grid; } rows, columns { display: -moz-grid-group; } row, column { display: -moz-grid-line; } rows { -moz-box-orient: vertical; } column { -moz-box-orient: vertical; } /******** listbox **********/ listbox { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox"); } listcols, listcol { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox-base"); } listhead { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead"); } listrows { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows"); } listitem { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem"); } listitem[type="checkbox"] { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox"); } listheader { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listheader"); -moz-box-ordinal-group: 2147483646; } listcell { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell"); } listcell[type="checkbox"] { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox"); } .listitem-iconic { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-iconic"); } listitem[type="checkbox"].listitem-iconic { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox-iconic"); } .listcell-iconic { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-iconic"); } listcell[type="checkbox"].listcell-iconic { -moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox-iconic"); } listbox { display: -moz-grid; } listbox[rows] { height: auto; } listcols, listhead, listrows, listboxbody { display: -moz-grid-group; } listcol, listitem, listheaditem { display: -moz-grid-line; } listbox { -moz-user-focus: normal; -moz-box-orient: vertical; min-width: 0px; min-height: 0px; width: 200px; height: 200px; } listhead { -moz-box-orient: vertical; } listrows { -moz-box-orient: vertical; -moz-box-flex: 1; } listboxbody { -moz-box-orient: vertical; -moz-box-flex: 1; overflow: auto; min-height: 0px; } listcol { -moz-box-orient: vertical; min-width: 16px; } listcell { -moz-box-align: center; } /******** tree ******/ tree { -moz-binding: url("chrome://global/content/bindings/tree.xml#tree"); } treecols { -moz-binding: url("chrome://global/content/bindings/tree.xml#treecols"); } treecol { -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol"); -moz-box-ordinal-group: 2147483646; } treecol.treecol-image { -moz-binding: url("chrome://global/content/bindings/tree.xml#treecol-image"); } tree > treechildren { display: -moz-box; -moz-binding: url("chrome://global/content/bindings/tree.xml#treebody"); -moz-user-select: none; -moz-box-flex: 1; } treerows { -moz-binding: url("chrome://global/content/bindings/tree.xml#treerows"); } treecolpicker { -moz-binding: url("chrome://global/content/bindings/tree.xml#columnpicker"); } tree { -moz-box-orient: vertical; -moz-user-select: none; min-width: 0px; min-height: 0px; width: 10px; height: 10px; } tree[hidecolumnpicker="true"] > treecols > treecolpicker { display: none; } treecol { min-width: 16px; } treecol[hidden="true"] { visibility: collapse; display: -moz-box; } /********** deck & stack *********/ deck { display: -moz-deck; -moz-binding: url("chrome://global/content/bindings/general.xml#deck"); } stack, bulletinboard { display: -moz-stack; } /********** tabbox *********/ tabbox { -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabbox"); -moz-box-orient: vertical; } tabs { -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs"); -moz-box-orient: horizontal; } tabs[closebutton="true"] { -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabs-closebutton"); } tab { -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tab"); -moz-box-align: center; -moz-box-pack: center; } tabpanels { -moz-binding: url("chrome://global/content/bindings/tabbox.xml#tabpanels"); display: -moz-deck; } /********** progressmeter **********/ progressmeter { -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter"); } progressmeter[mode="undetermined"] { -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter-undetermined"); } /********** basic rule for anonymous content that needs to pass box properties through ********** to an insertion point parent that holds the real kids **************/ .box-inherit { -moz-box-orient: inherit; -moz-box-pack: inherit; -moz-box-align: inherit; -moz-box-direction: inherit; } /********** label **********/ spacer { display: inline; } description { -moz-binding: url("chrome://global/content/bindings/text.xml#text-base"); } label { -moz-binding: url("chrome://global/content/bindings/text.xml#text-label"); } label.text-link { -moz-binding: url("chrome://global/content/bindings/text.xml#text-link"); -moz-user-focus: normal; } label[control], label.radio-label, label.checkbox-label { -moz-binding: url("chrome://global/content/bindings/text.xml#label-control"); } html|span.accesskey { text-decoration: underline; } /********** textbox **********/ textbox { -moz-binding: url("chrome://global/content/bindings/textbox.xml#textbox"); -moz-user-select: text; } textbox[multiline="true"] { -moz-binding: url("chrome://global/content/bindings/textbox.xml#textarea"); } html|*.textbox-input { -moz-appearance: none !important; text-align: inherit; } html|*.textbox-textarea { -moz-appearance: none !important; } .textbox-input-box { -moz-binding: url("chrome://global/content/bindings/textbox.xml#input-box"); } textbox[type="timed"] { -moz-binding: url("chrome://global/content/bindings/textbox.xml#timed-textbox"); } /********** autocomplete textbox **********/ /* thunderbird and Nvu don't use the new toolkit's autocomplete widget yet.... */ #ifdef MOZ_THUNDERBIRD #define AUTOCOMPLETE_OLD_STYLE #elifdef MOZ_STANDALONE_COMPOSER #define AUTOCOMPLETE_OLD_STYLE #endif #ifdef AUTOCOMPLETE_OLD_STYLE textbox[type="autocomplete"] { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete"); } .autocomplete-result-popup { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-result-popup"); } .autocomplete-history-popup { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-history-popup"); } .autocomplete-tree { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-tree"); } .autocomplete-treebody { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treebody"); } .autocomplete-treerows { -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-treerows"); } .autocomplete-history-dropmarker { -moz-binding: url("chrome://global/content/autocomplete.xml#history-dropmarker"); } #else textbox[type="autocomplete"] { -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete"); } popup[type="autocomplete"] { -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-result-popup"); display: -moz-popup !important; } .autocomplete-tree { -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-tree"); } .autocomplete-treebody { -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treebody"); } .autocomplete-treerows { -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#autocomplete-treerows"); } .autocomplete-history-dropmarker { display: none; } .autocomplete-history-dropmarker[enablehistory="true"] { display: -moz-box; -moz-binding: url("chrome://global/content/bindings/autocomplete.xml#history-dropmarker"); } #endif /* the C++ implementation of widgets is too eager to make popups visible. this causes problems (bug 120155 and others), thus this workaround: */ popup[type="autocomplete"][hidden="true"] { visibility: hidden; } /* The following rule is here to fix bug 96899 (and now 117952). Somehow trees create a situation in which a popupset flows itself as if its popup child is directly within it instead of the placeholder child that should actually be inside the popupset. This is a stopgap measure, and it does not address the real bug. */ .autocomplete-result-popupset { max-width: 0px; width: 0 !important; } /********** colorpicker **********/ colorpicker { -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker"); } colorpicker[type="button"] { -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpicker-button"); } .colorpickertile { -moz-binding: url("chrome://global/content/bindings/colorpicker.xml#colorpickertile"); } /********** menulist **********/ menulist { -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist"); } menulist[editable] { -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-editable"); } menulist[type="description"] { -moz-binding: url("chrome://global/content/bindings/menulist.xml#menulist-description"); } html|*.menulist-editable-input { -moz-appearance: none !important; } menulist > menupopup > menuitem { -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic-noaccel"); } dropmarker[type="menu"] { -moz-binding: url("chrome://global/content/bindings/general.xml#dropmarker"); } /********** splitter **********/ splitter { -moz-binding: url("chrome://global/content/bindings/splitter.xml#splitter"); } grippy { -moz-binding: url("chrome://global/content/bindings/splitter.xml#grippy"); } .tree-splitter { width: 0px; max-width: 0px; -moz-box-ordinal-group: 2147483646; } /********** scrollbar **********/ /* Scrollbars are never flipped even if BiDI kicks in. */ scrollbar { direction: ltr; } thumb { -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#thumb); } scrollbar, scrollbarbutton, slider, thumb { -moz-user-select: none; } scrollbar[value="hidden"] { visibility: hidden; } /******** scrollbox ********/ scrollbox { -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#scrollbox"); /* This makes it scrollable! */ overflow:hidden ! important; } arrowscrollbox { -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox"); } autorepeatbutton { -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#autorepeatbutton"); } /********** statusbar **********/ statusbar { -moz-binding: url("chrome://global/content/bindings/general.xml#statusbar"); #ifdef XP_MACOSX padding-right: 14px; #endif } statusbarpanel { -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel"); } .statusbarpanel-iconic { -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-iconic"); } .statusbarpanel-menu-iconic { -moz-binding: url("chrome://global/content/bindings/general.xml#statusbarpanel-menu-iconic"); } /********** spinbuttons ***********/ spinbuttons { -moz-binding: url("chrome://global/content/bindings/spinbuttons.xml#spinbuttons"); } /********** stringbundle **********/ stringbundleset { -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundleset"); visibility: collapse; } stringbundle { -moz-binding: url("chrome://global/content/bindings/stringbundle.xml#stringbundle"); visibility: collapse; } /********** dialog **********/ dialog { -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialog"); -moz-box-orient: vertical; } dialogheader { -moz-binding: url("chrome://global/content/bindings/dialog.xml#dialogheader"); } /********* page ************/ page { -moz-box-orient: vertical; } /********** wizard **********/ wizard { -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard"); -moz-box-orient: vertical; width: 40em; height: 30em; } wizardpage { -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizardpage"); -moz-box-orient: vertical; overflow: auto; } .wizard-header { -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-header"); } .wizard-buttons { -moz-binding: url("chrome://global/content/bindings/wizard.xml#wizard-buttons"); } /********** expander ********/ expander { -moz-binding: url("chrome://global/content/bindings/expander.xml#expander"); -moz-box-orient: vertical; }