From 08378b4ad315549f14504d280cc1ad7f59a39177 Mon Sep 17 00:00:00 2001 From: Gavin Sharp Date: Fri, 15 Jul 2011 12:52:41 -0700 Subject: [PATCH 001/230] Change UX branch branding to be "UX" instead of "Nightly", a=limi --- browser/branding/nightly/branding.nsi | 2 +- browser/branding/nightly/configure.sh | 2 +- browser/branding/nightly/locales/en-US/brand.dtd | 4 ++-- browser/branding/nightly/locales/en-US/brand.properties | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/browser/branding/nightly/branding.nsi b/browser/branding/nightly/branding.nsi index 3776cbff4746..b7f0919e72a0 100644 --- a/browser/branding/nightly/branding.nsi +++ b/browser/branding/nightly/branding.nsi @@ -8,7 +8,7 @@ # BrandFullNameInternal is used for some registry and file system values # instead of BrandFullName and typically should not be modified. -!define BrandFullNameInternal "Nightly" +!define BrandFullNameInternal "UX" !define CompanyName "mozilla.org" !define URLInfoAbout "http://www.mozilla.org" !define URLUpdateInfo "http://www.mozilla.org/projects/firefox" diff --git a/browser/branding/nightly/configure.sh b/browser/branding/nightly/configure.sh index edd3bd3e86e5..e9d6a11e3363 100644 --- a/browser/branding/nightly/configure.sh +++ b/browser/branding/nightly/configure.sh @@ -2,4 +2,4 @@ # 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_APP_DISPLAYNAME=Nightly +MOZ_APP_DISPLAYNAME=UX diff --git a/browser/branding/nightly/locales/en-US/brand.dtd b/browser/branding/nightly/locales/en-US/brand.dtd index 0eaf44da6ddf..cb4b55f16145 100644 --- a/browser/branding/nightly/locales/en-US/brand.dtd +++ b/browser/branding/nightly/locales/en-US/brand.dtd @@ -2,7 +2,7 @@ - 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/. --> - - + + diff --git a/browser/branding/nightly/locales/en-US/brand.properties b/browser/branding/nightly/locales/en-US/brand.properties index 11ca95f6aa07..3736fafab0cc 100644 --- a/browser/branding/nightly/locales/en-US/brand.properties +++ b/browser/branding/nightly/locales/en-US/brand.properties @@ -2,8 +2,8 @@ # 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/. -brandShortName=Nightly -brandFullName=Nightly +brandShortName=UX +brandFullName=UX vendorShortName=Mozilla syncBrandShortName=Sync From bc15095d29eb9ac745b93005352ad95526298db4 Mon Sep 17 00:00:00 2001 From: Matthew Noorenberghe Date: Fri, 8 Jun 2012 11:05:00 -0700 Subject: [PATCH 002/230] Bug 738491 - Implement the Australis tab shape for Windows. r=dao,mconley --- browser/base/content/browser.xul | 12 + browser/themes/windows/browser-aero.css | 96 +++--- browser/themes/windows/browser.css | 289 ++++++++++++------ browser/themes/windows/jar.mn | 12 + .../windows/tabbrowser/tab-active-middle.png | Bin 0 -> 438 bytes .../windows/tabbrowser/tab-background-end.png | Bin 0 -> 837 bytes .../tabbrowser/tab-background-middle.png | Bin 0 -> 157 bytes .../tabbrowser/tab-background-start.png | Bin 0 -> 811 bytes .../windows/tabbrowser/tab-stroke-end.png | Bin 0 -> 439 bytes .../windows/tabbrowser/tab-stroke-start.png | Bin 0 -> 433 bytes toolkit/themes/windows/global/icons/close.png | Bin 1963 -> 1149 bytes toolkit/themes/windows/global/inContentUI.css | 2 +- 12 files changed, 285 insertions(+), 126 deletions(-) create mode 100644 browser/themes/windows/tabbrowser/tab-active-middle.png create mode 100644 browser/themes/windows/tabbrowser/tab-background-end.png create mode 100644 browser/themes/windows/tabbrowser/tab-background-middle.png create mode 100644 browser/themes/windows/tabbrowser/tab-background-start.png create mode 100644 browser/themes/windows/tabbrowser/tab-stroke-end.png create mode 100644 browser/themes/windows/tabbrowser/tab-stroke-start.png diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul index 47e32ac80d6f..9213120854cc 100644 --- a/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul @@ -1192,6 +1192,18 @@ + + + + + + + + + #endif #ifdef XP_MACOSX diff --git a/browser/themes/windows/browser-aero.css b/browser/themes/windows/browser-aero.css index 2368bd153f03..12ef18c94a03 100644 --- a/browser/themes/windows/browser-aero.css +++ b/browser/themes/windows/browser-aero.css @@ -47,27 +47,15 @@ background-color: @customToolbarColor@; } - .tabbrowser-tab:not(:-moz-lwtheme), - .tabs-newtab-button:not(:-moz-lwtheme) { - background-image: @toolbarShadowOnTab@, @bgTabTexture@, - linear-gradient(@customToolbarColor@, @customToolbarColor@); + .tab-background-start[selected=true]:not(:-moz-lwtheme)::before, + .tab-background-end[selected=true]:not(:-moz-lwtheme)::before { + background-color: @customToolbarColor@; + background-image: @fgTabTexture@; } - .tabbrowser-tab:not(:-moz-lwtheme):hover, - .tabs-newtab-button:not(:-moz-lwtheme):hover { - background-image: @toolbarShadowOnTab@, @bgTabTextureHover@, - linear-gradient(@customToolbarColor@, @customToolbarColor@); - } - - .tabbrowser-tab[selected="true"]:not(:-moz-lwtheme) { - background-image: linear-gradient(#fff, @toolbarHighlight@ 50%), - linear-gradient(@customToolbarColor@, @customToolbarColor@); - } - - #main-window[tabsontop=false]:not([disablechrome]) .tabbrowser-tab[selected=true]:not(:-moz-lwtheme) { - background-image: @toolbarShadowOnTab@, - linear-gradient(#fff, @toolbarHighlight@ 50%), - linear-gradient(@customToolbarColor@, @customToolbarColor@); + .tab-background-middle[selected=true]:not(:-moz-lwtheme) { + background-image: url(chrome://browser/skin/tabbrowser/tab-active-middle.png), + linear-gradient(transparent, transparent 2px, @customToolbarColor@ 2px, @customToolbarColor@); } #navigator-toolbox:not(:-moz-lwtheme)::after { @@ -163,11 +151,6 @@ margin-bottom: -1px; /* compensate white outer border */ } - #main-window[sizemode=fullscreen]:not(:-moz-lwtheme) { - -moz-appearance: none; - background-color: #556; - } - #toolbar-menubar:not(:-moz-lwtheme), #TabsToolbar[tabsontop=true]:not(:-moz-lwtheme), #nav-bar[tabsontop=false]:not(:-moz-lwtheme), @@ -179,14 +162,13 @@ border-right-style: none !important; } - :-moz-any(#toolbar-menubar, #nav-bar[tabsontop=false]) :-moz-any(@primaryToolbarButtons@):not(:-moz-any(#alltabs-button,#tabview-button,#sync-button[status])) > .toolbarbutton-icon:not(:-moz-lwtheme), - #TabsToolbar[tabsontop=true] :-moz-any(@primaryToolbarButtons@):not(:-moz-any(#alltabs-button,#tabview-button,#new-tab-button,#sync-button[status])) > .toolbarbutton-icon:not(:-moz-lwtheme), + #navigator-toolbox[tabsontop=false] > :-moz-any(#toolbar-menubar, #nav-bar) :-moz-any(@primaryToolbarButtons@):not(:-moz-any(#alltabs-button,#tabview-button,#sync-button[status])) > .toolbarbutton-icon:not(:-moz-lwtheme), #nav-bar + #customToolbars + #PersonalToolbar[collapsed=true] + #TabsToolbar[tabsontop=false]:last-child :-moz-any(@primaryToolbarButtons@):not(:-moz-any(#alltabs-button,#tabview-button,#new-tab-button,#sync-button[status])) > .toolbarbutton-icon:not(:-moz-lwtheme) { list-style-image: url("chrome://browser/skin/Toolbar-inverted.png"); } - :-moz-any(#toolbar-menubar, #TabsToolbar[tabsontop=true], #nav-bar[tabsontop=false]) .toolbarbutton-1 > .toolbarbutton-menu-dropmarker:not(:-moz-lwtheme), - :-moz-any(#toolbar-menubar, #TabsToolbar[tabsontop=true], #nav-bar[tabsontop=false]) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker:not(:-moz-lwtheme), + #navigator-toolbox[tabsontop=false] > :-moz-any(#toolbar-menubar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menu-dropmarker:not(:-moz-lwtheme), + #navigator-toolbox[tabsontop=false] > :-moz-any(#toolbar-menubar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker:not(:-moz-lwtheme), #nav-bar + #customToolbars + #PersonalToolbar[collapsed=true] + #TabsToolbar[tabsontop=false]:last-child .toolbarbutton-1 > .toolbarbutton-menu-dropmarker:not(:-moz-lwtheme), #nav-bar + #customToolbars + #PersonalToolbar[collapsed=true] + #TabsToolbar[tabsontop=false]:last-child .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker:not(:-moz-lwtheme) { list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow-inverted.png"); @@ -221,6 +203,16 @@ } /* Toolbar shadow behind tabs */ + #nav-bar[tabsontop=true]:not(:-moz-lwtheme), + #main-window[disablechrome] #navigator-toolbox[tabsontop=true]:not(:-moz-lwtheme)::after { + border-top: 1px solid @toolbarShadowColor@; + background-clip: padding-box; + } + + #main-window[disablechrome] #navigator-toolbox[tabsontop=true]:not(:-moz-lwtheme)::after { + visibility: visible; + } + /* This code is only needed for restored windows (i.e. sizemode=normal) because of the border radius on the toolbar below the tab bar. */ #main-window[sizemode=normal] #nav-bar[tabsontop=true]:not(:-moz-lwtheme), @@ -232,12 +224,9 @@ border-top-right-radius: 2.5px; background-clip: padding-box; } - #main-window[sizemode=normal] #TabsToolbar[tabsontop=true]:not(:-moz-lwtheme) { + + #TabsToolbar[tabsontop=true]:not(:-moz-lwtheme) { margin-bottom: -1px; - background-image: none !important; - } - #main-window[sizemode=normal] #tabbrowser-tabs[tabsontop=true] > .tabbrowser-arrowscrollbox > .arrowscrollbox-scrollbox > .scrollbox-innerbox:not(:-moz-lwtheme) { - position: relative; } #navigator-toolbox[tabsontop=false] > #PersonalToolbar { @@ -280,7 +269,7 @@ background-color: -moz-dialog; } - #main-menubar:not(:-moz-lwtheme):not(:-moz-window-inactive) { + #navigator-toolbox[tabsontop=false] > #toolbar-menubar > #menubar-items > #main-menubar:not(:-moz-lwtheme):not(:-moz-window-inactive) { background-color: rgba(255,255,255,.5); border-radius: 4px; } @@ -335,6 +324,45 @@ } } +@media (-moz-windows-glass) { + #main-window[sizemode=fullscreen]:not(:-moz-lwtheme) { + -moz-appearance: none; + background-color: #556; + } + + /* Glass Fog */ + #main-window[tabsintitlebar] #appmenu-button-container, + #main-window[tabsintitlebar] #titlebar-buttonbox { + z-index: 1; /* These elements need to appear above the glass fog */ + } + + #TabsToolbar:not(:-moz-lwtheme) { + background-image: none; + position: relative; + } + + #TabsToolbar:not(:-moz-lwtheme)::before { + box-shadow: 0 0 30px 30px rgb(174,189,204); + content: ""; + display: -moz-box; + height: 0; + margin: 0 60px; /* (30px + 30px) from box-shadow */ + opacity: 0.85; + position: absolute; + pointer-events: none; + top: 50%; + width: -moz-available; + z-index: -1; + } + + #main-window[sizemode=normal] #tabbrowser-tabs[tabsontop=true] > .tabbrowser-arrowscrollbox > .arrowscrollbox-scrollbox > .scrollbox-innerbox:not(:-moz-lwtheme) { + position: relative; + } + + /* End Glass Fog */ +} + + @media not all and (-moz-windows-compositor) { @media (-moz-windows-default-theme) { #main-window { diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index 8d9f9e68ad5b..1a71346e4a92 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -9,12 +9,10 @@ %include ../shared/browser.inc %filter substitution -%define toolbarHighlight rgba(255,255,255,.5) -%define selectedTabHighlight rgba(255,255,255,.7) -%define toolbarShadowColor rgba(10%,10%,10%,.4) -%define toolbarShadowOnTab linear-gradient(to top, rgba(10%,10%,10%,.4) 1px, transparent 1px) -%define bgTabTexture linear-gradient(transparent, hsla(0,0%,45%,.1) 1px, hsla(0,0%,32%,.2) 80%, hsla(0,0%,0%,.2)) -%define bgTabTextureHover linear-gradient(hsla(0,0%,100%,.3) 1px, hsla(0,0%,75%,.2) 80%, hsla(0,0%,60%,.2)) +%define toolbarHighlight rgba(253,253,253,0.45) +%define toolbarShadowColor hsla(209,67%,12%,0.35) +%define fgTabTexture linear-gradient(rgba(254,254,254,0.72), rgba(254,254,254,0.72) 0px, rgba(250,250,250,0.88) 1px, rgba(250,250,250,0.88) 1px, rgba(254,254,254,0.72) 2px, @toolbarHighlight@) +%define fgTabBackgroundMiddle linear-gradient(transparent, transparent 2px, -moz-dialog 2px, -moz-dialog) %define navbarTextboxCustomBorder border-color: rgba(0,0,0,.32); %define navbarLargeIcons #navigator-toolbox[iconsize=large][mode=icons] > #nav-bar %define forwardTransitionLength 150ms @@ -1145,10 +1143,6 @@ toolbar[mode=full] .toolbarbutton-1 > .toolbarbutton-menubutton-button { list-style-image: url(chrome://browser/skin/tabview/tabview.png); } -%ifdef WINDOWS_AERO -:-moz-any(#TabsToolbar, #nav-bar[tabsontop=false], #toolbar-menubar) > #tabview-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -:-moz-any(#TabsToolbar, #nav-bar[tabsontop=false], #toolbar-menubar) > toolbarpaletteitem > #tabview-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -%endif #tabview-button:-moz-lwtheme-brighttext { list-style-image: url(chrome://browser/skin/tabview/tabview-inverted.png); } @@ -1877,6 +1871,15 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- /* Tabstrip */ +/* + Tab background pseudo-elements which are positioned above .tab-background-start/end: + - ::before - provides the fill of the tab curve and is clipped to the tab shape. This is where + pointer events go for the curve. + - ::after - provides the border/stroke of the tab curve and is overlayed on ::before. Pointer + events go through to ::before to get the proper shape. For now, no borders are + shown for lightweight themes. + */ + #TabsToolbar { min-height: 0; padding: 0; @@ -1899,96 +1902,211 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- .tabbrowser-tab, .tabs-newtab-button { -moz-appearance: none; - background: @toolbarShadowOnTab@, @bgTabTexture@, - linear-gradient(-moz-dialog, -moz-dialog); - background-origin: border-box; - background-position: 1px 2px; - background-size: calc(100% - 2px) calc(100% - 2px); - background-repeat: no-repeat; - margin: 0; - padding: 2px 0 4px; - border-width: 4px 3px 0; - border-style: solid; - border-image: url(tabbrowser/tab.png) 4 3 0 fill repeat stretch; + background-color: transparent; border-radius: 0; + border-width: 0; + margin: 0; + padding: 0; } -.tabbrowser-tab:hover, +/* The selected tab should appear above adjacent tabs and .tabs-newtab-button */ +.tabbrowser-tab[selected=true] { + position: relative; + z-index: 1; +} + +.tab-background, +.tabs-newtab-button { + /* overlap the tab curves */ + -moz-margin-end: -14px; + -moz-margin-start: -14px; +} + +/* Background tab separators (1px wide). + Also show separators beside the selected tab when dragging it. */ +#tabbrowser-tabs[movingtab] > .tabbrowser-tab[beforeselected]:not([last-visible-tab])::after, +.tabbrowser-tab:not([selected]):not([afterselected-visible]):not([afterhovered]):not([first-visible-tab]):not(:hover)::before, +#tabbrowser-tabs:not([overflow]) > .tabbrowser-tab[last-visible-tab]:not([selected]):not([beforehovered]):not(:hover)::after { + -moz-margin-start: -1px; + background-image: linear-gradient(rgba(10,31,51,0), rgba(10,31,51,0.3)); + background-position: left bottom; + background-repeat: no-repeat; + background-size: 1px 100%; + content: ''; + display: -moz-box; + height: 29px; + width: 1px; +} + +/* pinned tabs need position: fixed for separator when overflowing */ +#tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned]::before { + position: fixed; +} + +.tab-background-start[selected=true]::after, +.tab-background-start[selected=true]::before, +.tab-background-start, +.tab-background-end, +.tab-background-end[selected=true]::after, +.tab-background-end[selected=true]::before { + min-height: 29px; + width: 29px; +} + +.tab-background-start[selected=true]::after, +.tab-background-end[selected=true]::after { + /* position ::after on top of its parent */ + content: ""; + display: -moz-box; + -moz-margin-start: -29px; +} + +.tab-background-start[selected=true]::before, +.tab-background-end[selected=true]::before { + /* all ::before pseudo elements */ + content: ""; + display: -moz-box; +} + +.tab-background-start[selected=true]::before { + clip-path: url(chrome://browser/content/browser.xul#windows-tab-curve-clip-path-start); +} + +.tab-background-end[selected=true]::before { + clip-path: url(chrome://browser/content/browser.xul#windows-tab-curve-clip-path-end); +} + +/* new tab button border and gradient on hover */ +.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]), .tabs-newtab-button:hover { - background-image: @toolbarShadowOnTab@, @bgTabTextureHover@, - linear-gradient(-moz-dialog, -moz-dialog); + background-image: url(chrome://browser/skin/tabbrowser/tab-background-start.png), + url(chrome://browser/skin/tabbrowser/tab-background-middle.png), + url(chrome://browser/skin/tabbrowser/tab-background-end.png); + background-position: 0px, 29px, right 0; + background-size: 29px 100%, calc(100% - 58px) 100%, 29px 100%; + background-repeat: no-repeat; +} + +.tab-background-start[selected=true]:not(:-moz-lwtheme)::after, +.tab-background-end[selected=true]:not(:-moz-lwtheme)::after { + background-repeat: no-repeat; +} + +.tab-background-start[selected=true]:not(:-moz-lwtheme)::after { + background-image: url(chrome://browser/skin/tabbrowser/tab-stroke-start.png); +} + +.tab-background-end[selected=true]:not(:-moz-lwtheme)::after { + background-image: url(chrome://browser/skin/tabbrowser/tab-stroke-end.png); +} + +.tab-background-start[selected=true]::before, +.tab-background-end[selected=true]::before { + background-color: -moz-dialog; + background-image: @fgTabTexture@; + background-repeat: no-repeat; +} + +.tab-background-middle[selected=true] { + background-image: url(chrome://browser/skin/tabbrowser/tab-active-middle.png), + @fgTabBackgroundMiddle@; + background-color: transparent; + background-repeat: repeat-x; +} + +/* Same as above but without border or -moz-dialog background */ +.tab-background-start[selected=true]:-moz-lwtheme::before, +.tab-background-end[selected=true]:-moz-lwtheme::before, +.tab-background-middle[selected=true]:-moz-lwtheme { + background-image: @fgTabTexture@; + background-color: transparent; + background-position: left 0 top 2px; +} + +.tabbrowser-tab[pinned][titlechanged]:not([selected="true"]) > .tab-stack > .tab-content { + background-image: radial-gradient(farthest-corner at center bottom, rgb(255,255,255) 3%, rgba(186,221,251,0.75) 20%, rgba(127,179,255,0.25) 40%, rgba(127,179,255,0) 70%); + background-repeat: no-repeat; + background-position: center bottom 1px; + background-size: 85% 100%; } %ifndef WINDOWS_AERO +/* Use lighter colors of buttons and text in the titlebar on luna-blue */ @media (-moz-windows-theme: luna-blue) { - .tabbrowser-tab, - .tabs-newtab-button { - background-image: @toolbarShadowOnTab@, - linear-gradient(hsla(51,34%,89%,.9), hsla(51,15%,79%,.9) 1px, hsla(51,9%,68%,.9)); + #main-window[tabsintitlebar] .tabbrowser-tab:not([selected]):not(:-moz-lwtheme) { + color: CaptionText; } - .tabbrowser-tab:hover, - .tabs-newtab-button:hover { - background-image: @toolbarShadowOnTab@, - linear-gradient(hsla(51,34%,100%,.9), hsla(51,15%,94%,.9) 1px, hsla(51,9%,83%,.9)); + #main-window[tabsintitlebar] .tabbrowser-arrowscrollbox > .scrollbutton-up, + #main-window[tabsintitlebar] .tabbrowser-arrowscrollbox > .scrollbutton-down { + list-style-image: url(chrome://browser/skin/tabbrowser/tab-arrow-left-inverted.png); + } + + #main-window[tabsintitlebar] .tabs-newtab-button, + #main-window[tabsintitlebar] #TabsToolbar > #new-tab-button, + #main-window[tabsintitlebar] #TabsToolbar > toolbarpaletteitem > #new-tab-button { + list-style-image: url(chrome://browser/skin/tabbrowser/newtab-inverted.png); + } + + #main-window[tabsintitlebar] #TabsToolbar > #alltabs-button { + list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow-inverted.png"); + } + + #main-window[tabsintitlebar] #TabsToolbar > #tabview-button { + list-style-image: url(chrome://browser/skin/tabview/tabview-inverted.png); + } + + #main-window[tabsintitlebar] .tab-close-button:not(:hover):not([selected="true"]) { + -moz-image-region: rect(0, 64px, 16px, 48px); } } %endif -.tabbrowser-tab[selected="true"] { - background-image: linear-gradient(@selectedTabHighlight@, @toolbarHighlight@ 50%), - linear-gradient(-moz-dialog, -moz-dialog); +.tabbrowser-arrowscrollbox > .arrowscrollbox-scrollbox { + -moz-padding-start: 14px; + -moz-padding-end: 14px; } -#main-window[tabsontop=false]:not([disablechrome]) .tabbrowser-tab[selected=true]:not(:-moz-lwtheme) { - background-image: @toolbarShadowOnTab@, - linear-gradient(@selectedTabHighlight@, @toolbarHighlight@ 50%), - linear-gradient(-moz-dialog, -moz-dialog); +.tabbrowser-tab, +.tab-background, +.tab-background-start[selected=true], +.tab-background-end[selected=true], +.tab-background-start[selected=true]::after, +.tab-background-end[selected=true]::after, +.tab-content { + pointer-events: none; +} + +.tab-background-start[selected=true]::before, +.tab-background-end[selected=true]::before, +.tab-background-middle, +.tabs-newtab-button, +.tab-close-button { + pointer-events: auto; +} + +.tab-background-middle { + -moz-box-flex: 1; + background-clip: padding-box; + border-left: 15px solid transparent; + border-right: 15px solid transparent; + margin: 0 -15px; +} + +.tab-content { + -moz-padding-start: 10px; + -moz-padding-end: 10px; } .tabbrowser-tab:-moz-lwtheme { color: inherit; } -.tabbrowser-tab[selected="true"]:-moz-lwtheme { - background-image: linear-gradient(@selectedTabHighlight@, @toolbarHighlight@ 50%); -} - -.tabbrowser-tab:-moz-lwtheme-brighttext:not([selected="true"]), -.tabs-newtab-button:-moz-lwtheme-brighttext { - background-image: linear-gradient(hsla(0,0%,40%,.6), hsla(0,0%,30%,.6) 80%); -} - -.tabbrowser-tab:-moz-lwtheme-brighttext:not([selected="true"]):hover, -.tabs-newtab-button:-moz-lwtheme-brighttext:hover { - background-image: linear-gradient(hsla(0,0%,60%,.6), hsla(0,0%,45%,.6) 80%); -} - -.tabbrowser-tab:-moz-lwtheme-darktext:not([selected="true"]), -.tabs-newtab-button:-moz-lwtheme-darktext { - background-image: linear-gradient(hsla(0,0%,60%,.5), hsla(0,0%,45%,.5) 80%); -} - -.tabbrowser-tab:-moz-lwtheme-darktext:not([selected="true"]):hover, -.tabs-newtab-button:-moz-lwtheme-darktext:hover { - background-image: linear-gradient(hsla(0,0%,80%,.5), hsla(0,0%,60%,.5) 80%); -} - -.tabbrowser-tab[pinned][titlechanged]:not([selected="true"]) { - background-image: radial-gradient(circle farthest-corner at 50% 3px, rgba(255,255,255,1) 3%, rgba(186,221,251,.75) 40%, rgba(127,179,255,.5) 80%, rgba(127,179,255,.25)); -} -.tabbrowser-tab[pinned][titlechanged]:not([selected="true"]):hover { - background-image: linear-gradient(hsla(0,0%,100%,.4), hsla(0,0%,75%,.4) 80%), - radial-gradient(circle farthest-corner at 50% 3px, rgba(255,255,255,1) 3%, rgba(186,221,251,.75) 40%, rgba(127,179,255,.5) 80%, rgba(127,179,255,.25)); -} - .tab-throbber, .tab-icon-image { width: 16px; height: 16px; list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png"); - -moz-margin-start: 2px; - -moz-margin-end: 3px; } .tab-throbber { @@ -1999,10 +2117,9 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- list-style-image: url("chrome://browser/skin/tabbrowser/loading.png"); } -.tab-throbber[pinned], -.tab-icon-image[pinned] { - -moz-margin-start: 5px; - -moz-margin-end: 5px; +.tab-throbber:not([pinned]), +.tab-icon-image:not([pinned]) { + -moz-margin-end: 6px; } /* tabbrowser-tab focus ring */ @@ -2019,7 +2136,8 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- /* Tab close button */ .tab-close-button { -moz-appearance: none; - -moz-image-region: rect(0, 64px, 16px, 48px); + -moz-image-region: rect(0, 16px, 16px, 0); + -moz-margin-start: 6px; border: none; padding: 0px; list-style-image: url("chrome://global/skin/icons/close.png"); @@ -2050,10 +2168,6 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- background-origin: border-box; } -%ifdef WINDOWS_AERO -.tabbrowser-arrowscrollbox > .scrollbutton-up:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -.tabbrowser-arrowscrollbox > .scrollbutton-down:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -%endif .tabbrowser-arrowscrollbox > .scrollbutton-up:-moz-lwtheme-brighttext, .tabbrowser-arrowscrollbox > .scrollbutton-down:-moz-lwtheme-brighttext { list-style-image: url(chrome://browser/skin/tabbrowser/tab-arrow-left-inverted.png); @@ -2097,10 +2211,6 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- -moz-image-region: auto; } -%ifdef WINDOWS_AERO -#TabsToolbar > #new-tab-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -#TabsToolbar > toolbarpaletteitem > #new-tab-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -%endif .tabs-newtab-button:-moz-lwtheme-brighttext, #TabsToolbar > #new-tab-button:-moz-lwtheme-brighttext, #TabsToolbar > toolbarpaletteitem > #new-tab-button:-moz-lwtheme-brighttext { @@ -2108,7 +2218,8 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- } .tabs-newtab-button { - width: 28px; + clip-path: url(chrome://browser/content/browser.xul#windows-tab-clip-path-outer); + width: 66px; } #TabsToolbar > #new-tab-button { @@ -2119,10 +2230,6 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow.png"); } -%ifdef WINDOWS_AERO -:-moz-any(#TabsToolbar, #nav-bar[tabsontop=false], #toolbar-menubar) > #alltabs-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -:-moz-any(#TabsToolbar, #nav-bar[tabsontop=false], #toolbar-menubar) > toolbarpaletteitem > #alltabs-button:-moz-system-metric(windows-compositor):not(:-moz-lwtheme), -%endif #alltabs-button:-moz-lwtheme-brighttext { list-style-image: url("chrome://browser/skin/toolbarbutton-dropdown-arrow-inverted.png"); } diff --git a/browser/themes/windows/jar.mn b/browser/themes/windows/jar.mn index 843a66a7e925..cd94d096ec64 100644 --- a/browser/themes/windows/jar.mn +++ b/browser/themes/windows/jar.mn @@ -130,9 +130,15 @@ browser.jar: skin/classic/browser/tabbrowser/connecting.png (tabbrowser/connecting.png) skin/classic/browser/tabbrowser/loading.png (tabbrowser/loading.png) skin/classic/browser/tabbrowser/tab.png (tabbrowser/tab.png) + skin/classic/browser/tabbrowser/tab-active-middle.png (tabbrowser/tab-active-middle.png) skin/classic/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png) skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png) + skin/classic/browser/tabbrowser/tab-background-start.png (tabbrowser/tab-background-start.png) + skin/classic/browser/tabbrowser/tab-background-middle.png (tabbrowser/tab-background-middle.png) + skin/classic/browser/tabbrowser/tab-background-end.png (tabbrowser/tab-background-end.png) skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png) + skin/classic/browser/tabbrowser/tab-stroke-end.png (tabbrowser/tab-stroke-end.png) + skin/classic/browser/tabbrowser/tab-stroke-start.png (tabbrowser/tab-stroke-start.png) skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png) skin/classic/browser/tabview/close.png (tabview/close.png) skin/classic/browser/tabview/edit-light.png (tabview/edit-light.png) @@ -374,9 +380,15 @@ browser.jar: skin/classic/aero/browser/tabbrowser/connecting.png (tabbrowser/connecting.png) skin/classic/aero/browser/tabbrowser/loading.png (tabbrowser/loading.png) skin/classic/aero/browser/tabbrowser/tab.png (tabbrowser/tab.png) + skin/classic/aero/browser/tabbrowser/tab-active-middle.png (tabbrowser/tab-active-middle.png) skin/classic/aero/browser/tabbrowser/tab-arrow-left.png (tabbrowser/tab-arrow-left.png) skin/classic/aero/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png) + skin/classic/aero/browser/tabbrowser/tab-background-start.png (tabbrowser/tab-background-start.png) + skin/classic/aero/browser/tabbrowser/tab-background-middle.png (tabbrowser/tab-background-middle.png) + skin/classic/aero/browser/tabbrowser/tab-background-end.png (tabbrowser/tab-background-end.png) skin/classic/aero/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png) + skin/classic/aero/browser/tabbrowser/tab-stroke-end.png (tabbrowser/tab-stroke-end.png) + skin/classic/aero/browser/tabbrowser/tab-stroke-start.png (tabbrowser/tab-stroke-start.png) skin/classic/aero/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png) skin/classic/aero/browser/tabview/close.png (tabview/close.png) skin/classic/aero/browser/tabview/edit-light.png (tabview/edit-light.png) diff --git a/browser/themes/windows/tabbrowser/tab-active-middle.png b/browser/themes/windows/tabbrowser/tab-active-middle.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7909399b0b0c1ebf0a40075953fc69d71fb7ce GIT binary patch literal 438 zcmV;n0ZIOeP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003cNkl4Q~DBph`vCd zDJ-Fc5NcUUgjgb$s)$Cl@>+d^WOsYcaIez*IGOL8Z|2S>RaJF&i**0+_;iajj^oc? zrfG_r5NE*@hG94-e!ek9@Fz7p{;(^o@PN$xOZcR*wGBK_YZb7IvO3* zUG{#}mS&JO;ns}}W<#^U=Emb|f;9uBipO7t$%5V+EnDs7a%t5<&>A!}8%)C!0fUWC zy_5Zo7aP@ZovSN%DF6Tf07*qoM6N<$f;>C5d;kCd literal 0 HcmV?d00001 diff --git a/browser/themes/windows/tabbrowser/tab-background-end.png b/browser/themes/windows/tabbrowser/tab-background-end.png new file mode 100644 index 0000000000000000000000000000000000000000..adbecd9d40cc06fae56abcbdda7ab74ae291098f GIT binary patch literal 837 zcmV-L1G@Z)P)myfJw_W$)tL!BTSy&<1DT1&%L{Vf!1c7w%P;}_fsY6jW zivqZ$6oah zG+pny>yF>$*o}vBKs;H1UYdPS#2m-fFbunwX4ric%`|!`y5-Nz!pZ)3pPEmcxn#q` z*&rH(N#&ZwJkPsV!?Jv>pJ5N;<<_S?y@ybNQoNKbl`nYxIvHfe&h_9p-c9+L#?kS~ zqouVi<#;h^g&bLJfUMXdgOf%phQI$hVl1vUlfH+FaxJB{Z-Oe6zW&XJ!6q{O5kRk1 zY}+Jul>NYk&Mp@Mq)1DyR&3oYEXUbL#wHr0bM}-W$TpzYBCb$CrJrVMIi)Xc3nx#5^k-+tJRU@;(6jW}Bk7_h=q=R22AF*0CE#hGegST3*o z!J}&7?3NDL?1E26kQJw^0Rxux{_~J+b)RP-B*=zl;9@0H)cU2m=U$ P00000NkvXXu0mjfpACmL literal 0 HcmV?d00001 diff --git a/browser/themes/windows/tabbrowser/tab-background-middle.png b/browser/themes/windows/tabbrowser/tab-background-middle.png new file mode 100644 index 0000000000000000000000000000000000000000..4c7c951bf77c892245234c29a73bc3eadaee22f9 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol}0V0ox?vVykk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X>^)r^Lo_BPKb&O#Ea?DKL_>t+>LaJK-M?=1D%iBy=9t#O z6DNMiPnWe&{l~k6ZlFv(@tAz z?-vR!hymmh5KtRX69|!DP)SVH7>p*~cW&KjTw-*I345b|!@uA^P;q0dK!KLaxS7#X zd!g+Zzs)pl&Ux~j?>%QurC}HV06jGZn~KVwY<@0%Le`pL?bFAGh_RECWKM1YgvoFN zZ~{=Q@1z}yCJ-e+3)bdxYWm~5H+_>6qrP}7;?P|#4*GqHv>7T*v%uxK>F|T4Y-FIf zM|V0M1!gKRQH}tEnf7XeiKvmjN&rEZQwyyuKTph@&v+cFTo=Ua%-Am8S(|=;=yD-><&z>WD{n6e-q-a8PY*O|WsaAPE3oug4vE_jWmzYLDim;GH_d(Q1#a zAo)M6zUfGJCVoo6+x4JLgG+1~fdBqdHZnHcUsMEd9R=E|F#}K(DZ>wMXWOLY@4(+7 zvJG5zNO+dASKO&&Y?F!hj%wSgu>jCEH$CMP%(+Hv>!;eNy>Gp4x97~M;XP(5He%bX zu@x$P=0e7yyR^+lZ5sy12PRA3IC^G$#6g5Dp!z}49GGhU;_OZ*4JO_tB74DAdTcGV z*4v#f5MkebbY)zRQnks!81r{z&3q^3=Of>8V z!$5NATq#tQLWFKC&gYrA>HgLQn^0?+C4l(##Y^%;cgGhgco!{{tg~$n-Khe{e4(e0 z?rf-1)Veb6<2dQNAo8Z=LD}hVxwS_t5$-P@UeaF*Zotly-qL!iMU@aUBjE91Libum38SFQ%&d;Jf p9@!AgIm0lF{C3d=n@Zw8)i1k~mzp<|=lTEu002ovPDHLkV1n;}dB6Yw literal 0 HcmV?d00001 diff --git a/browser/themes/windows/tabbrowser/tab-stroke-end.png b/browser/themes/windows/tabbrowser/tab-stroke-end.png new file mode 100644 index 0000000000000000000000000000000000000000..b1b7cc0145523cc8141b939a10b34fe8dda1a445 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^azHH4!3-piZ|XG#QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`djotzT!AzggfcMLGiYfs$lEiB>j?|13#ph1DjD<3>GDdM@~9YaE9r5` z8F9+!b4r_WC>XNK>$A(5@yQzTDwy!d8F0%OaVr`E6@b;4a4H&eDj4y~8}i5+^C%ke zD424~0~Hu^DHw6dn{vq;LsbIxDj4&~15GgDRxsk0H~uo&G6v`x{gNQRUBVxEmK|$?=e`r!)^Rzv>|bNn{1`+XH+;T!AzggfcMLGiYfssHiZA>j?|13o04&%jxn;nR3aSa>*HS%II@S zo3YF5^T`_V$r$n~nDEFO^T-)+%NPM=K?)R&ITeg}d&?Xx16wCAIXkKjA=fOE%uCo*#^#hY1|Gj@dnG~de$A-BP4K7O`(W+nXbbMQ-;8; z3Ri@hUzpr+>1SGggU4>o6~&cjgE-gdz5a7;XS?mcXlM5NHYGtbP}q99`njxgN@xNA DZ)t5t literal 0 HcmV?d00001 diff --git a/toolkit/themes/windows/global/icons/close.png b/toolkit/themes/windows/global/icons/close.png index e559a7003923cba3b85c4e659de29abbac4408da..bfd53d29df60f20cf646447ce81478d6f1e819e8 100644 GIT binary patch delta 1129 zcmV-v1eW`&5B&&`BYy-$Nkl<)%LD_ptxqM` z)&1+!^WmIlXPrL4_T&EF|NnJ;xUX}b`s-> zcW`%RrlJ8Y9=z~ec6Q@q2?>Kc=FL+ypv8lCP6V*W;~Bj4;sM<{d`LInZgm6=T0D4x z12tQgURk+P2iEtd$jUx!4=o;h0PpAL>r7RZzO1a&>GE>1p53|? z>^(GS!v=7FvhM*yn!(4)K3vZ+fD~(f$C8wUD=81oKbE#6DGsRVF$)(!{qp7d<-qeA zZ)(!*(J}pbXGT-Q!wS^b3#jQaLxUENJ%F~{Tzz2BqiP>MJP$YI@Aj zpp6tj+VsuaUrG9dm3_FLQvi^)F3;1M=~{Tv9R59^rpGK?0Ch{3>gQ*l(GLv`I=_9p zehpqW2cFe$q3;FM^q8SRi^m?oku_^{+8p-N4I4CivR9MAkjBgk)byC4K^q}}c*6>F z(6f?$XMeTV%+N&h2xL99G54r9Yw_nm9pUg`?MzM8c*~O-t*g`Uu3b7~UZrb+p#GYf z6;RV-h6XJjdjRkHeCpr4S*JE_QpdV=8t(4aL@)@{^q8SR8!3Q$3=0eylQ*XOB~1f0 zJ!WVe14vuEATHg!?F;ifNAhx3bOALzX5j+Zv43chMw@mkSX-;1ni>sMROosjpgXg7 z1=RGIp+Sqs9>C$%tJPCntnQ*BeNs@M;S(n`5eNb`J!WXoMhXDp4K8!&laj6jH9cl% zq6y#wuRHZZ*~9rqftp^V0BS8up~vg>t+}MmnVb4XFsK=G@M}W>0X02lXwc%Z2hi$v ztABItT78t4r;#pmc;gFob^B8xB4VqWwqDQT!IA9?shE zYV-MknjSMWXd?x{;d>;b&ta;YOHM{ORD-dVMZm3_D#TE|P!;4@?x5`mhY!zCCKR#jr6F4k1*{QC7e zS6u7}8nk%q0ld0wnLacJZ1;MdK!eul61>-NA1nKCz5hLcYRekvDlO4BRh9a>qGH?; zG-&bIz6uZQHG#aDmZsM9bVtyj#WQEV2|iU&P~ViDJysqcuV_Gv2QR$f_t!t|c8^8- vV+bvtxe$Q;=j=Aao+v?U;f>LcHzxi8Y~%!UV2Dyt00000NkvXXu0mjf=MXJr delta 1950 zcmV;P2VwaA2&)f}BYyxHbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU( zO-V#SRCwB~SA9%XWf*_Y$Nh#7xQKizUZxi2n#^pIS_$aPO%{T>scVX<%e85ntZuXipt0RzUQ8EdVik7d+Bhz7w=Xtdv*@z zect!}p3nF9GO{c)WPC(>hKC&G$$}U_EcD5esfPp-0P)Z#?xP1W(sHc}EAZDq~rVXd|bV@J80$+}szyxM8c+>P<{cWGxm8YciR@evY9I zkbOR%=<#@@;o)KF!Gi~8a8hD-clTA?Yjw_yu2daKihtudf)3!R2Uv!oh~ZBjcR)ar zh&v<_r$8Q^?7cS!rXOhxjwOR9oWQG;(O^y^Y7dGkA*$3f1OkE4?Ck7EHk(aMPfzEk zO`FDp19;2=MG>M84hW5mjD#ExN2sT#$A9 z-e@%Hc%D~kAQTFTe!pKZ7z|jm1j;~q`0$|+-d_&}q47qZB}0J_84d^}#iS=0X1$_d z_XWv)5UW8)l0jHTB1Udff-(`ZI8p{ks=z7VSbvT2d`?czc8ewM*Sx&E3i#iMg75eZ z=cv;-^$$Vaa|sCvd~$NK?(mWCHoyPDhvyo;{$@i`Qj!@3-|-vHp$_WenlN}hBnleO zLD;u89O`cDc9NoxY90Na0O|7tN#UMaN8{g4QUP;VA_g!Xvmipfvw$%duoeR5+2Ksa zcYpkbb6V%{8V|C)y}g&p*Q`yyaN+#&g$oxdQSR&SU;gUKl^2g6J9(sQtZa4L;X{W`;hd(nCI&VyoLHf5rM!@d{`~!er2K|0BRZNRLi+@CYB}j2!fO17p_IwD^!9 zkTI8QjL>MrGKPkRoc>_IV@;V66lIZkeLfF8lgF#Q>JTtxWrBH|*J$AHU z{<91G9e=hrMd+sCvtGt-4^OGOrgqhs$G4>Dm6vadaBMXZEfq(o&ZPB> z()Ag|6aB6LDc)1(C@d|{Y5%GDhLS;L>lX1W=V;x#J3ZTCB#)Q>`B z@uvWO3Gm;Eb_`A!KX>la8~uVG@i-i40wy z;295{KD7Vy`ZBlIUs6<5cy(?0Yv)kG?Q+R27n@7!_U#Xrmz5qwU0gH4#u%cI9~n~n z^#cccY%eag{q;*rTTA7RMSnQQSAW^Iw6r{b=Je#A*2*_+EP0G9$zhKG{#k%O3-AvC zemlj_0{$$(F9H4@EfeI_rvQizBnQNyO8ZQZbnG!8xIsw82h!)wo0mC%{`?UjL~L-BLb#!!0>+I|tz<+&qJ(Dpw=P5HW z>e&glX9N~$(Q!(H^avseLgT{|0K10|h*0OSmwa|>5Ha1;9D{LGe5$lZnr*^ZP?_Kb zygK^SC^WE7!vnfOx>Q6+%>D66hlUnM9$tZhFs9H)|KjSR^XXYe)jo zI3pG+8~_4j0He@hqRZuy;FuHfPN3826a@hq5p*Sm3ZwC;i)-j*NDAsrqi#V;&~p-D zCF}*P5@|GA0vp0qSOCj?aIbJf`2=*PQF<97QTTq$R9My+8Gm*_td}8oO-+rlva&J( zjzG`o=qLlxM{b}9WrElzFzOu4%bA&(ma3{MBaM{&(#DF$-w%Jgb;RY1H_`h5N3$TD zCNds>kO6*3e-~?T6>QktNK;&%;?fh-W$6F74o}DaLu)OT>#UcS)P4Ft_L#-APGcEZ k-`8l5`cK#4e-{K801F+Ws;^*s%m4rY07*qoM6N<$f+-5C&;S4c diff --git a/toolkit/themes/windows/global/inContentUI.css b/toolkit/themes/windows/global/inContentUI.css index 94b959815bf7..cc9dbeee3d66 100644 --- a/toolkit/themes/windows/global/inContentUI.css +++ b/toolkit/themes/windows/global/inContentUI.css @@ -17,7 +17,7 @@ color: -moz-dialogText; background-color: -moz-dialog; background-image: /* Fade-out texture at the top, and blend with browser tab */ - linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0) 30%), + linear-gradient(rgba(255,255,255,0.45), rgba(255,255,255,0) 30%), /* Texture */ url("chrome://global/skin/inContentUI/background-texture.png"); } From 4159335be7ea06592f4720d57c4c47b26d1d1f2e Mon Sep 17 00:00:00 2001 From: Matthew Noorenberghe Date: Fri, 8 Mar 2013 02:57:00 -0800 Subject: [PATCH 003/230] Bug 738491 - Move common tab styles to themes/shared/. r=dao,mconley --- browser/base/content/browser.xul | 31 +++-- browser/themes/shared/tabs.inc.css | 199 +++++++++++++++++++++++++++++ browser/themes/windows/browser.css | 181 +------------------------- 3 files changed, 215 insertions(+), 196 deletions(-) create mode 100644 browser/themes/shared/tabs.inc.css diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul index 9213120854cc..c730b7ee6628 100644 --- a/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul @@ -1184,30 +1184,29 @@ -#ifndef XP_UNIX + + + + + + + + + + +#ifndef XP_UNIX - - - - - - - - - - #endif #ifdef XP_MACOSX - @@ -1226,8 +1225,8 @@ - #endif + #