Bug 1088763 - Preload yosemite tab images. r?mconley draft
authorMarkus Stange <mstange@themasta.com>
Wed, 01 Jun 2016 16:57:27 -0400
changeset 374116 f7e86186440b10d170ed4c27e3e138457d945089
parent 374110 9bf522a2f841132d517d55050a8f6826c9242fae
child 522556 f54ccd2125f5be7bf86fdc8262353725bc137e19
push id19935
push usermstange@themasta.com
push dateWed, 01 Jun 2016 20:58:33 +0000
reviewersmconley
bugs1088763
milestone49.0a1
Bug 1088763 - Preload yosemite tab images. r?mconley We need to preload both the inactive and the active images. All our image loads need to be kicked off before the window document's load event. While the window is hidden, it is inactive. So we need the preloading hack to kick off the loads for the active images. MozReview-Commit-ID: 2dPdJNORwhw
browser/themes/osx/browser.css
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -2544,16 +2544,34 @@ toolbarbutton.chevron > .toolbarbutton-m
   }
 
   .tab-throbber[progress] {
     list-style-image: url("chrome://global/skin/icons/loading@2x.png");
   }
 }
 
 @media (-moz-mac-yosemite-theme) {
+  /* image preloading hack from shared/tabs.inc.css */
+  #tabbrowser-tabs::before {
+    background-image:
+      url(chrome://browser/skin/yosemite/tab-selected-end-inactive.svg),
+      url(chrome://browser/skin/yosemite/tab-selected-start-inactive.svg),
+      url(chrome://browser/skin/yosemite/tab-stroke-start-inactive.png),
+      url(chrome://browser/skin/yosemite/tab-active-middle-inactive.png),
+      url(chrome://browser/skin/yosemite/tab-stroke-end-inactive.png),
+      url(chrome://browser/skin/tabbrowser/tab-selected-end.svg),
+      url(chrome://browser/skin/tabbrowser/tab-selected-start.svg),
+      url(chrome://browser/skin/tabbrowser/tab-stroke-end.png),
+      url(chrome://browser/skin/tabbrowser/tab-active-middle.png),
+      url(chrome://browser/skin/tabbrowser/tab-stroke-start.png),
+      url(chrome://browser/skin/tabbrowser/tab-background-end.png),
+      url(chrome://browser/skin/tabbrowser/tab-background-middle.png),
+      url(chrome://browser/skin/tabbrowser/tab-background-start.png);
+  }
+
   .tab-background-middle[visuallyselected=true]:-moz-window-inactive {
     background-image: url(chrome://browser/skin/yosemite/tab-active-middle-inactive.png),
                       @fgTabTextureYosemiteInactive@,
                       none;
   }
 
   .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
   .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {
@@ -2573,16 +2591,34 @@ toolbarbutton.chevron > .toolbarbutton-m
 
   .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr):not(:-moz-lwtheme)::before,
   .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl):not(:-moz-lwtheme)::before {
     background-image: url(chrome://browser/skin/yosemite/tab-selected-end-inactive.svg);
     background-size: 100% 100%;
   }
 
   @media (min-resolution: 2dppx) {
+    /* image preloading hack from shared/tabs.inc.css */
+    #tabbrowser-tabs::before {
+      background-image:
+        url(chrome://browser/skin/yosemite/tab-selected-end-inactive.svg),
+        url(chrome://browser/skin/yosemite/tab-selected-start-inactive.svg),
+        url(chrome://browser/skin/yosemite/tab-stroke-start-inactive@2x.png),
+        url(chrome://browser/skin/yosemite/tab-active-middle-inactive@2x.png),
+        url(chrome://browser/skin/yosemite/tab-stroke-end-inactive@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-selected-end.svg),
+        url(chrome://browser/skin/tabbrowser/tab-selected-start.svg),
+        url(chrome://browser/skin/tabbrowser/tab-stroke-end@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-active-middle@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-stroke-start@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-background-end@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-background-middle@2x.png),
+        url(chrome://browser/skin/tabbrowser/tab-background-start@2x.png);
+    }
+
     .tab-background-middle[visuallyselected=true]:-moz-window-inactive {
       background-image: url(chrome://browser/skin/yosemite/tab-active-middle-inactive@2x.png),
                         @fgTabTextureYosemiteInactive@,
                         none;
     }
 
     .tab-background-start[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(ltr)::after,
     .tab-background-end[visuallyselected=true]:-moz-window-inactive:-moz-locale-dir(rtl)::after {