Bug 601022 - Add final visual style and graphics to add-ons manager. r=dtownsend,dao a=blocking
authorBlair McBride <bmcbride@mozilla.com>
Thu, 07 Oct 2010 13:20:06 +1300
changeset 58126 367398a8cbfe92969021d926cf0beb4d64bca337
parent 58125 66d88ee2623736105f7da1add40adb871fb33208
child 58128 ef38031be209395bf30806ad03d94eeb517f7c8a
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdtownsend, dao, blocking
bugs601022
milestone2.0b8pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 601022 - Add final visual style and graphics to add-ons manager. r=dtownsend,dao a=blocking
toolkit/mozapps/extensions/content/about.js
toolkit/mozapps/extensions/content/about.xul
toolkit/mozapps/extensions/content/eula.js
toolkit/mozapps/extensions/content/eula.xul
toolkit/mozapps/extensions/content/extensions.css
toolkit/mozapps/extensions/content/extensions.js
toolkit/mozapps/extensions/content/extensions.xml
toolkit/mozapps/extensions/content/extensions.xul
toolkit/mozapps/extensions/test/browser/browser_searching.js
toolkit/themes/gnomestripe/mozapps/extensions/extensions.css
toolkit/themes/gnomestripe/mozapps/extensions/extensions.svg
toolkit/themes/gnomestripe/mozapps/extensions/go-back.png
toolkit/themes/gnomestripe/mozapps/extensions/rating-not-won.png
toolkit/themes/gnomestripe/mozapps/extensions/rating-unrated.png
toolkit/themes/gnomestripe/mozapps/extensions/rating-won.png
toolkit/themes/gnomestripe/mozapps/extensions/stripes-error.png
toolkit/themes/gnomestripe/mozapps/extensions/stripes-info-negative.png
toolkit/themes/gnomestripe/mozapps/extensions/stripes-info-positive.png
toolkit/themes/gnomestripe/mozapps/extensions/stripes-warning.png
toolkit/themes/gnomestripe/mozapps/extensions/utilities.png
toolkit/themes/gnomestripe/mozapps/extensions/warning-stripes.png
toolkit/themes/gnomestripe/mozapps/jar.mn
toolkit/themes/pinstripe/mozapps/extensions/about.css
toolkit/themes/pinstripe/mozapps/extensions/alerticon-error.png
toolkit/themes/pinstripe/mozapps/extensions/alerticon-info-negative.png
toolkit/themes/pinstripe/mozapps/extensions/alerticon-info-positive.png
toolkit/themes/pinstripe/mozapps/extensions/alerticon-warning.png
toolkit/themes/pinstripe/mozapps/extensions/background-texture.png
toolkit/themes/pinstripe/mozapps/extensions/eula.css
toolkit/themes/pinstripe/mozapps/extensions/extensions.css
toolkit/themes/pinstripe/mozapps/extensions/extensions.svg
toolkit/themes/pinstripe/mozapps/extensions/go-back.png
toolkit/themes/pinstripe/mozapps/extensions/rating-not-won.png
toolkit/themes/pinstripe/mozapps/extensions/rating-unrated.png
toolkit/themes/pinstripe/mozapps/extensions/rating-won.png
toolkit/themes/pinstripe/mozapps/extensions/stripes-error.png
toolkit/themes/pinstripe/mozapps/extensions/stripes-info-negative.png
toolkit/themes/pinstripe/mozapps/extensions/stripes-info-positive.png
toolkit/themes/pinstripe/mozapps/extensions/stripes-warning.png
toolkit/themes/pinstripe/mozapps/extensions/utilities.png
toolkit/themes/pinstripe/mozapps/extensions/warning-stripes.png
toolkit/themes/pinstripe/mozapps/jar.mn
toolkit/themes/winstripe/mozapps/extensions/about.css
toolkit/themes/winstripe/mozapps/extensions/alerticon-error.png
toolkit/themes/winstripe/mozapps/extensions/alerticon-info-negative.png
toolkit/themes/winstripe/mozapps/extensions/alerticon-info-positive.png
toolkit/themes/winstripe/mozapps/extensions/alerticon-warning.png
toolkit/themes/winstripe/mozapps/extensions/background-texture.png
toolkit/themes/winstripe/mozapps/extensions/eula.css
toolkit/themes/winstripe/mozapps/extensions/extensions-aero.css
toolkit/themes/winstripe/mozapps/extensions/extensions.css
toolkit/themes/winstripe/mozapps/extensions/extensions.svg
toolkit/themes/winstripe/mozapps/extensions/go-back.png
toolkit/themes/winstripe/mozapps/extensions/rating-not-won.png
toolkit/themes/winstripe/mozapps/extensions/rating-unrated.png
toolkit/themes/winstripe/mozapps/extensions/rating-won.png
toolkit/themes/winstripe/mozapps/extensions/stripes-error.png
toolkit/themes/winstripe/mozapps/extensions/stripes-info-negative.png
toolkit/themes/winstripe/mozapps/extensions/stripes-info-positive.png
toolkit/themes/winstripe/mozapps/extensions/stripes-warning.png
toolkit/themes/winstripe/mozapps/extensions/utilities.png
toolkit/themes/winstripe/mozapps/extensions/warning-stripes.png
toolkit/themes/winstripe/mozapps/jar.mn
--- a/toolkit/mozapps/extensions/content/about.js
+++ b/toolkit/mozapps/extensions/content/about.js
@@ -35,65 +35,91 @@
 # the terms of any one of the MPL, the GPL or the LGPL.
 # 
 # ***** END LICENSE BLOCK *****
 
 function init() {
   var addon = window.arguments[0];
   var extensionsStrings = document.getElementById("extensionsStrings");
 
+  document.documentElement.setAttribute("addontype", addon.type);
+
+  if (addon.iconURL) {
+    var extensionIcon = document.getElementById("extensionIcon");
+    extensionIcon.src = addon.iconURL;
+  }
+
   document.title = extensionsStrings.getFormattedString("aboutWindowTitle", [addon.name]);
   var extensionName = document.getElementById("extensionName");
   extensionName.setAttribute("value", addon.name);
 
   var extensionVersion = document.getElementById("extensionVersion");
   if (addon.version)
     extensionVersion.setAttribute("value", extensionsStrings.getFormattedString("aboutWindowVersionString", [addon.version]));
   else
     extensionVersion.hidden = true;
 
   var extensionDescription = document.getElementById("extensionDescription");
   if (addon.description)
     extensionDescription.textContent = addon.description;
   else
     extensionDescription.hidden = true;
 
+  var numDetails = 0;
+
   var extensionCreator = document.getElementById("extensionCreator");
-  extensionCreator.setAttribute("value", addon.creator);
+  if (addon.creator) {
+    extensionCreator.setAttribute("value", addon.creator);
+    numDetails++;
+  } else {
+    extensionCreator.hidden = true;
+    var extensionCreatorLabel = document.getElementById("extensionCreatorLabel");
+    extensionCreatorLabel.hidden = true;
+  }
 
   var extensionHomepage = document.getElementById("extensionHomepage");
   var homepageURL = addon.homepageURL;
   if (homepageURL) {
     extensionHomepage.setAttribute("homepageURL", homepageURL);
     extensionHomepage.setAttribute("tooltiptext", homepageURL);
+    numDetails++;
   } else {
     extensionHomepage.hidden = true;
   }
 
-  appendToList("extensionDevelopers", "developersBox", addon.developers);
-  appendToList("extensionTranslators", "translatorsBox", addon.translators);
-  appendToList("extensionContributors", "contributorsBox", addon.contributors);
+  numDetails += appendToList("extensionDevelopers", "developersBox", addon.developers);
+  numDetails += appendToList("extensionTranslators", "translatorsBox", addon.translators);
+  numDetails += appendToList("extensionContributors", "contributorsBox", addon.contributors);
+
+  if (numDetails == 0) {
+    var groove = document.getElementById("groove");
+    groove.hidden = true;
+    var extensionDetailsBox = document.getElementById("extensionDetailsBox");
+    extensionDetailsBox.hidden = true;
+  }
 
   var acceptButton = document.documentElement.getButton("accept");
   acceptButton.label = extensionsStrings.getString("aboutWindowCloseButton");
 }
 
 function appendToList(aHeaderId, aNodeId, aItems) {
   var header = document.getElementById(aHeaderId);
   var node = document.getElementById(aNodeId);
 
   if (!aItems || aItems.length == 0) {
     header.hidden = true;
-    return;
+    return 0;
   }
 
   for (let i = 0; i < aItems.length; i++) {
     var label = document.createElement("label");
     label.setAttribute("value", aItems[i]);
     label.setAttribute("class", "contributor");
     node.appendChild(label);
   }
+
+  return aItems.length;
 }
 
 function loadHomepage(aEvent) {
   window.close();
   openURL(aEvent.target.getAttribute("homepageURL"));
 }
--- a/toolkit/mozapps/extensions/content/about.xul
+++ b/toolkit/mozapps/extensions/content/about.xul
@@ -18,16 +18,17 @@
 #
 # The Initial Developer of the Original Code is
 # Ben Goodger.
 # Portions created by the Initial Developer are Copyright (C) 2004
 # the Initial Developer. All Rights Reserved.
 #
 # Contributor(s):
 #   Ben Goodger <ben@bengoodger.com>
+#   Blair McBride <bmcbride@mozilla.com>
 #
 # Alternatively, the contents of this file may be used under the terms of
 # either the GNU General Public License Version 2 or later (the "GPL"), or
 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 # in which case the provisions of the GPL or the LGPL are applicable instead
 # of those above. If you wish to allow use of your version of this file only
 # under the terms of either the GPL or the LGPL, and not to allow others to
 # use your version of this file under the terms of the MPL, indicate your
@@ -47,38 +48,43 @@
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
         onload="init();"
         buttons="accept"
         buttoniconaccept="close"
         onaccept="close();">
 
   <script type="application/javascript" src="chrome://mozapps/content/extensions/about.js"/>
   <script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
-  
+
   <stringbundleset id="aboutSet">
     <stringbundle id="extensionsStrings" src="chrome://mozapps/locale/extensions/extensions.properties"/>
   </stringbundleset>
 
   <vbox id="clientBox" flex="1">
-    <label id="extensionName" crop="right"/>
-    <label id="extensionVersion" crop="right"/>
+    <hbox class="basic-info" align="center">
+      <image id="extensionIcon"/>
+      <vbox>
+        <label id="extensionName" crop="end"/>
+        <label id="extensionVersion" crop="end"/>
+      </vbox>
+    </hbox>
     <description id="extensionDescription" class="boxIndent"/>
 
-    <label id="extensionCreatorLabel" class="sectionTitle">&creator.label;</label>
-    <hbox id="creatorBox" class="boxIndent">
-      <label id="extensionCreator" flex="1" crop="right"/>
-      <label id="extensionHomepage" onclick="if (event.button == 0) { loadHomepage(event); }"
-             class="text-link" value="&homepage.label;"/>
-    </hbox>
-      
-    <label id="extensionDevelopers" class="sectionTitle">&developers.label;</label>
-    <vbox flex="1" id="developersBox" class="boxIndent"/>
-    <label id="extensionTranslators" class="sectionTitle">&translators.label;</label>
-    <vbox flex="1" id="translatorsBox" class="boxIndent"/>
-    <label id="extensionContributors" class="sectionTitle">&contributors.label;</label>
-    <vbox flex="1" id="contributorsBox" class="boxIndent"/>
+    <separator id="groove" class="groove"/>
+
+    <vbox id="extensionDetailsBox" flex="1">
+      <label id="extensionCreatorLabel" class="sectionTitle">&creator.label;</label>
+      <hbox id="creatorBox" class="boxIndent">
+        <label id="extensionCreator" flex="1" crop="end"/>
+        <label id="extensionHomepage" onclick="if (event.button == 0) { loadHomepage(event); }"
+               class="text-link" value="&homepage.label;"/>
+      </hbox>
+  
+      <label id="extensionDevelopers" class="sectionTitle">&developers.label;</label>
+      <vbox flex="1" id="developersBox" class="boxIndent"/>
+      <label id="extensionTranslators" class="sectionTitle">&translators.label;</label>
+      <vbox flex="1" id="translatorsBox" class="boxIndent"/>
+      <label id="extensionContributors" class="sectionTitle">&contributors.label;</label>
+      <vbox flex="1" id="contributorsBox" class="boxIndent"/>
+    </vbox>
   </vbox>
-    
-  <separator id="groove" class="groove"/>
 
 </dialog>
-
-        
\ No newline at end of file
--- a/toolkit/mozapps/extensions/content/eula.js
+++ b/toolkit/mozapps/extensions/content/eula.js
@@ -32,12 +32,19 @@
 # and other provisions required by the GPL or the LGPL. If you do not delete
 # the provisions above, a recipient may use your version of this file under
 # the terms of any one of the MPL, the GPL or the LGPL.
 #
 # ***** END LICENSE BLOCK *****
 
 function Startup() {
   var bundle = document.getElementById("extensionsStrings");
-  var label = document.createTextNode(bundle.getFormattedString("eulaHeader", [window.arguments[0].name]));
+  var addon = window.arguments[0].addon;
+
+  document.documentElement.setAttribute("addontype", addon.type);
+
+  if (addon.iconURL)
+    document.getElementById("icon").src = addon.iconURL;
+
+  var label = document.createTextNode(bundle.getFormattedString("eulaHeader", [addon.name]));
   document.getElementById("heading").appendChild(label);
-  document.getElementById("eula").value = window.arguments[0].text;
+  document.getElementById("eula").value = addon.eula;
 }
--- a/toolkit/mozapps/extensions/content/eula.xul
+++ b/toolkit/mozapps/extensions/content/eula.xul
@@ -54,13 +54,15 @@
         onload="Startup();">
 
   <script type="application/javascript" src="chrome://mozapps/content/extensions/eula.js"/>
   
   <stringbundleset id="extensionsSet">
     <stringbundle id="extensionsStrings" src="chrome://mozapps/locale/extensions/extensions.properties"/>
   </stringbundleset>
 
-  <label id="heading"/>
-
+  <hbox id="heading-container">
+    <image id="icon"/>
+    <label id="heading" flex="1"/>
+  </hbox>
+  
   <textbox id="eula" multiline="true" readonly="true" flex="1"/>
-
 </dialog>
--- a/toolkit/mozapps/extensions/content/extensions.css
+++ b/toolkit/mozapps/extensions/content/extensions.css
@@ -120,17 +120,17 @@ xhtml|link {
 .addon[pending="install"] .update-postfix,
 .addon[pending="install"] .disabled-postfix,
 #detail-view:not([notification="warning"]) .warning,
 #detail-view:not([notification="error"]) .error,
 #detail-view:not([notification="info"]) .info,
 #detail-view:not([pending]) .pending,
 #detail-view:not([upgrade="true"]) .update-postfix,
 #detail-view[active="true"] .disabled-postfix,
-#detail-view[loading] > .detail-view-container,
+#detail-view[loading] .detail-view-container,
 .detail-row:not([value]),
 #search-list[remote="false"] #search-allresults-link {
   display: none;
 }
 
 .view-pane:not(#updates-view) .addon .relnotes-toggle,
 .view-pane:not(#updates-view) .addon .include-update,
 #updates-view:not([updatetype="available"]) .addon .include-update,
@@ -139,8 +139,12 @@ xhtml|link {
 }
 
 #addons-page:not([warning]) .global-warning,
 #addons-page:not([warning="safemode"]) .global-warning-safemode,
 #addons-page:not([warning="checkcompatibility"]) .global-warning-checkcompatibility,
 #addons-page:not([warning="updatesecurity"]) .global-warning-updatesecurity {
   display: none;
 }
+
+.addon .relnotes {
+  -moz-user-select: text;
+}
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -1344,22 +1344,20 @@ var gCategories = {
     var view = gViewController.parseViewId(this.node.selectedItem.value);
     this._search.disabled = view.type != "search";
   }
 };
 
 
 var gHeader = {
   _search: null,
-  _searching: null,
   _dest: "",
 
   initialize: function() {
     this._search = document.getElementById("header-search");
-    this._searching = document.getElementById("header-searching");
 
     this._search.addEventListener("command", function(aEvent) {
       var query = aEvent.target.value;
       if (query.length == 0)
         return false;
 
       gViewController.loadView("addons://search/" + encodeURIComponent(query));
     }, false);
@@ -1403,27 +1401,16 @@ var gHeader = {
 
   get searchQuery() {
     return this._search.value;
   },
 
   set searchQuery(aQuery) {
     this._search.value = aQuery;
   },
-
-  get isSearching() {
-    return this._searching.hasAttribute("active");
-  },
-
-  set isSearching(aIsSearching) {
-    if (aIsSearching)
-      this._searching.setAttribute("active", true);
-    else
-      this._searching.removeAttribute("active");
-  }
 };
 
 
 var gDiscoverView = {
   node: null,
   enabled: true,
   // Set to true after the view is first shown. If initialization completes
   // after this then it must also load the discover homepage
@@ -1503,28 +1490,30 @@ var gDiscoverView = {
 
 
 var gCachedAddons = {};
 
 var gSearchView = {
   node: null,
   _filter: null,
   _sorters: null,
+  _loading: null,
   _listBox: null,
   _emptyNotice: null,
   _allResultsLink: null,
   _lastQuery: null,
   _lastRemoteTotal: 0,
   _pendingSearches: 0,
 
   initialize: function() {
     this.node = document.getElementById("search-view");
     this._filter = document.getElementById("search-filter-radiogroup");
     this._sorters = document.getElementById("search-sorters");
     this._sorters.handler = this;
+    this._loading = document.getElementById("search-loading");
     this._listBox = document.getElementById("search-list");
     this._emptyNotice = document.getElementById("search-list-empty");
     this._allResultsLink = document.getElementById("search-allresults-link");
 
     var self = this;
     this._listBox.addEventListener("keydown", function(aEvent) {
       if (aEvent.keyCode == aEvent.DOM_VK_ENTER ||
           aEvent.keyCode == aEvent.DOM_VK_RETURN) {
@@ -1544,19 +1533,19 @@ var gSearchView = {
 
   get isSearching() {
     return this._pendingSearches > 0;
   },
 
   show: function(aQuery, aRequest) {
     gEventManager.registerInstallListener(this);
 
-    gHeader.isSearching = true;
     this.showEmptyNotice(false);
     this.showAllResultsLink(0);
+    this.showLoading(true);
 
     gHeader.searchQuery = aQuery;
     aQuery = aQuery.trim().toLocaleLowerCase();
     if (this._lastQuery == aQuery) {
       this.updateView();
       gViewController.notifyViewChanged();
       return;
     }
@@ -1645,23 +1634,28 @@ var gSearchView = {
         else
           self._lastRemoteTotal = 0;
 
         var createdCount = createSearchResults(aAddonsList, false, true);
         finishSearch(createdCount);
       }
     });
   },
+  
+  showLoading: function(aLoading) {
+    this._loading.hidden = !aLoading;
+    this._listBox.hidden = aLoading;
+  },
 
   updateView: function() {
     var showLocal = this._filter.value == "local";
     this._listBox.setAttribute("local", showLocal);
     this._listBox.setAttribute("remote", !showLocal);
 
-    gHeader.isSearching = this.isSearching;
+    this.showLoading(this.isSearching && !showLocal);
     if (!this.isSearching) {
       var isEmpty = true;
       var results = this._listBox.getElementsByTagName("richlistitem");
       for (let i = 0; i < results.length; i++) {
         var isRemote = (results[i].getAttribute("remote") == "true");
         if ((isRemote && !showLocal) || (!isRemote && showLocal)) {
           isEmpty = false;
           break;
@@ -1730,45 +1724,71 @@ var gSearchView = {
     if (needles.length > 1 && aStr.indexOf(aQuery) != -1)
       score += needles.length;
 
     return score * aMultiplier;
   },
 
   showEmptyNotice: function(aShow) {
     this._emptyNotice.hidden = !aShow;
+    this._listBox.hidden = aShow;
   },
 
   showAllResultsLink: function(aTotalResults) {
     if (aTotalResults == 0) {
       this._allResultsLink.hidden = true;
       return;
     }
 
     var linkStr = gStrings.ext.GetStringFromName("showAllSearchResults");
     linkStr = PluralForm.get(aTotalResults, linkStr);
     linkStr = linkStr.replace("#1", aTotalResults);
-    this._allResultsLink.value = linkStr;
-
-    this._allResultsLink.href = AddonRepository.getSearchURL(this._lastQuery);
+    this._allResultsLink.setAttribute("value", linkStr);
+
+    this._allResultsLink.setAttribute("href",
+                                      AddonRepository.getSearchURL(this._lastQuery));
     this._allResultsLink.hidden = false;
  },
 
   onSortChanged: function(aSortBy, aAscending) {
     var footer = this._listBox.lastChild;
     this._listBox.removeChild(footer);
 
     var hints = aAscending ? "ascending" : "descending";
     if (INTEGER_FIELDS.indexOf(aSortBy) >= 0)
       hints += " integer";
 
     var sortService = Cc["@mozilla.org/xul/xul-sort-service;1"].
                       getService(Ci.nsIXULSortService);
     sortService.sort(this._listBox, aSortBy, hints);
 
+    var item = this._listBox.querySelector("richlistitem[remote='true'][first]");
+    if (item)
+      item.removeAttribute("first");
+    item = this._listBox.querySelector("richlistitem[remote='true'][last]");
+    if (item)
+      item.removeAttribute("last");
+    var items = this._listBox.querySelectorAll("richlistitem[remote='true']");
+    if (items.length > 0) {
+      items[0].setAttribute("first", true);
+      items[items.length - 1].setAttribute("last", true);
+    }
+
+    item = this._listBox.querySelector("richlistitem:not([remote='true'])[first]");
+    if (item)
+      item.removeAttribute("first");
+    item = this._listBox.querySelector("richlistitem:not([remote='true'])[last]");
+    if (item)
+      item.removeAttribute("last");
+    items = this._listBox.querySelectorAll("richlistitem:not([remote='true'])");
+    if (items.length > 0) {
+      items[0].setAttribute("first", true);
+      items[items.length - 1].setAttribute("last", true);
+    }
+
     this._listBox.appendChild(footer);
   },
 
   onDownloadCancelled: function(aInstall) {
     this.removeInstall(aInstall);
   },
 
   onInstallCancelled: function(aInstall) {
--- a/toolkit/mozapps/extensions/content/extensions.xml
+++ b/toolkit/mozapps/extensions/content/extensions.xml
@@ -201,16 +201,18 @@
       <property name="progress">
         <getter><![CDATA[
           return this._progress.value;
         ]]></getter>
         <setter><![CDATA[
           this._progress.value = val;
           if (val == this._progress.max)
             this.setAttribute("complete", true);
+          else
+            this.removeAttribute("complete");
         ]]></setter>
       </property>
 
       <property name="maxProgress">
         <getter><![CDATA[
           return this._progress.max;
         ]]></getter>
         <setter><![CDATA[
@@ -333,30 +335,39 @@
         ]]></body>
       </method>
 
       <method name="_refreshState">
         <body><![CDATA[
           var sortBy = this.sortBy;
           var checkState = this.ascending ? 2 : 1;
 
-          if (sortBy == "name")
+          if (sortBy == "name") {
             this._btnName.checkState = checkState;
-          else
+            this._btnName.checked = true;
+          } else {
             this._btnName.checkState = 0;
+            this._btnName.checked = false;
+          }
 
-          if (sortBy == "dateUpdated")
+          if (sortBy == "dateUpdated") {
             this._btnDate.checkState = checkState;
-          else
+            this._btnDate.checked = true;
+          } else {
             this._btnDate.checkState = 0;
+            this._btnDate.checked = false;
+          }
 
-          if (sortBy == "relevancescore")
+          if (sortBy == "relevancescore") {
             this._btnRelevance.checkState = checkState;
-          else
+            this._btnRelevance.checked = true;
+          } else {
             this._btnRelevance.checkState = 0;
+            this._btnRelevance.checked = false;
+          }
 
           if (this.handler && "onSortChanged" in this.handler)
             this.handler.onSortChanged(sortBy, this.ascending);
         ]]></body>
       </method>
     </implementation>
   </binding>
 
@@ -468,21 +479,21 @@
 
 
   <!-- Install status - Displays the status of an install/upgrade. -->
   <binding id="install-status">
     <content>
       <xul:label anonid="message"/>
       <xul:progressmeter anonid="progress" class="download-progress"/>
       <xul:button anonid="install-remote-btn" hidden="true"
-                  class="addon-control" label="&addon.install.label;"
+                  class="addon-control install" label="&addon.install.label;"
                   tooltiptext="&addon.install.tooltip;"
                   oncommand="document.getBindingParent(this).installRemote();"/>
       <xul:button anonid="restart-install-btn" hidden="true"
-                  class="addon-control" label="&addon.install.label;"
+                  class="addon-control install" label="&addon.install.label;"
                   tooltiptext="&addon.install.tooltip;"
                   oncommand="document.getBindingParent(this).restartInstall();"/>
     </content>
 
     <implementation>
       <constructor><![CDATA[
         if (this.mInstall)
           this.initWithInstall(this.mInstall);
@@ -581,40 +592,39 @@
         ]]></body>
       </method>
 
       <method name="showMessage">
         <parameter name="aMsgId"/>
         <parameter name="aHideProgress"/>
         <body><![CDATA[
           this._message.setAttribute("hidden", !aHideProgress);
-          this._progress.setAttribute("hidden", aHideProgress);
+          this._progress.setAttribute("hidden", !!aHideProgress);
 
           var msg = gStrings.ext.GetStringFromName(aMsgId);
           if (aHideProgress)
             this._message.value = msg;
           else
             this._progress.status = msg;
         ]]></body>
       </method>
 
       <method name="installRemote">
         <body><![CDATA[
           if (this.mControl.getAttribute("remote") != "true")
             return;
 
           if (this.mControl.mAddon.eula) {
-            var eula = {
-              name: this.mControl.mAddon.name,
-              text: this.mControl.mAddon.eula,
+            var data = {
+              addon: this.mControl.mAddon,
               accepted: false
             };
             window.openDialog("chrome://mozapps/content/extensions/eula.xul", "_blank",
-                              "chrome,dialog,modal,centerscreen,resizable=no", eula);
-            if (!eula.accepted)
+                              "chrome,dialog,modal,centerscreen,resizable=no", data);
+            if (!data.accepted)
               return;
           }
 
           delete this.mControl.mAddon;
           this.mControl.mInstall = this.mInstall;
           this.mControl.setAttribute("status", "installing");
           this.mInstall.install();
         ]]></body>
@@ -661,16 +671,17 @@
         <body><![CDATA[
           this._progress.maxProgress = this.mInstall.maxProgress;
           this._progress.progress = this.mInstall.progress;
         ]]></body>
       </method>
 
       <method name="onInstallStarted">
         <body><![CDATA[
+          this._progress.progress = 0;
           this.refreshState();
         ]]></body>
       </method>
 
       <method name="onInstallEnded">
         <body><![CDATA[
           this.refreshState();
           if ("onInstallCompleted" in this.mControl)
@@ -752,33 +763,34 @@
         <xul:button anonid="undo-btn" class="button-link"
                     label="&addon.undoAction.label;"
                     tooltipText="&addon.undoAction.tooltip;"
                     oncommand="document.getBindingParent(this).undo();"/>
         <xul:spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
       </xul:hbox>
 
       <xul:hbox>
-        <xul:vbox align="center" pack="center" class="icon-container">
+        <xul:vbox align="center" pack="start" class="icon-container">
           <xul:image anonid="icon" class="icon"/>
         </xul:vbox>
         <xul:vbox flex="1">
           <xul:hbox align="start">
             <xul:vbox flex="1">
               <xul:hbox class="name-container" align="end">
                 <xul:label anonid="name" class="name" crop="end" flex="1"
                            xbl:inherits="value=name,tooltiptext=name"/>
                 <xul:label anonid="version" class="version"/>
                 <xul:label class="disabled-postfix" value="&addon.disabled.postfix;"/>
                 <xul:label class="update-postfix" value="&addon.update.postfix;"/>
                 <xul:spacer flex="5000"/> <!-- Necessary to make the name crop -->
               </xul:hbox>
               <xul:label anonid="creator" class="creator"/>
             </xul:vbox>
-            <xul:label anonid="date-updated" unknown="&addon.unknownDate;"/>
+            <xul:label anonid="date-updated" class="date-updated"
+                       unknown="&addon.unknownDate;"/>
           </xul:hbox>
 
           <xul:hbox flex="1" align="end">
             <xul:vbox flex="1">
               <xul:hbox align="center" class="description-container">
                 <xul:label flex="1" anonid="description" class="description" crop="end"/>
                 <xul:button anonid="details-btn" class="details button-link"
                             label="&addon.details.label;"
@@ -786,17 +798,17 @@
                             oncommand="document.getBindingParent(this).showInDetailView();"/>
                 <xul:spacer flex="5000"/> <!-- Necessary to make the description crop -->
               </xul:hbox>
               <xul:vbox anonid="relnotes-container" class="relnotes-container">
                 <xul:label class="relnotes-header" value="&addon.releaseNotes.label;"/>
                 <xul:label anonid="relnotes-loading" value="&addon.loadingReleaseNotes.label;"/>
                 <xul:label anonid="relnotes-error" hidden="true"
                            value="&addon.errorLoadingReleaseNotes.label;"/>
-                <xul:vbox anonid="relnotes"/>
+                <xul:vbox anonid="relnotes" class="relnotes"/>
               </xul:vbox>
               <xul:hbox pack="start">
                 <xul:button anonid="relnotes-toggle-btn" class="relnotes-toggle"
                             hidden="true" label="&cmd.showReleaseNotes.label;"
                             tooltiptext="&cmd.showReleaseNotes.tooltip;"
                             showlabel="&cmd.showReleaseNotes.label;"
                             showtooltip="&cmd.showReleaseNotes.tooltip;"
                             hidelabel="&cmd.hideReleaseNotes.label;"
@@ -813,27 +825,28 @@
                 <xul:vbox anonid="update-available" class="update-available"
                           hidden="true" align="end">
                   <xul:checkbox anonid="include-update" class="include-update"
                                 label="&addon.includeUpdate.label;" checked="true"
                                 oncommand="document.getBindingParent(this).onIncludeUpdateChanged();"/>
                   <xul:hbox align="center">
                     <xul:label class="update-available-notice"
                                value="&addon.updateAvailable.label;"/>
-                    <xul:button anonid="update-btn" class="addon-control"
+                    <xul:button anonid="update-btn" class="addon-control update"
                                 label="&addon.updateNow.label;"
                                 tooltiptext="&addon.updateNow.tooltip;"
                                 oncommand="document.getBindingParent(this).upgrade();"/>
                   </xul:hbox>
                 </xul:vbox>
                 <xul:hbox anonid="install-status" class="install-status"
                           hidden="true"/>
               </xul:hbox>
               <xul:hbox anonid="control-container" class="control-container">
-                <xul:button anonid="preferences-btn" class="addon-control"
+                <xul:button anonid="preferences-btn"
+                            class="addon-control preferences"
 #ifdef XP_WIN
                             label="&cmd.showPreferencesWin.label;"
                             tooltiptext="&cmd.showPreferencesWin.tooltip;"
 #else
                             label="&cmd.showPreferencesUnix.label;"
                             tooltiptext="&cmd.showPreferencesUnix.tooltip;"
 #endif
                             oncommand="document.getBindingParent(this).showPreferences();"/>
--- a/toolkit/mozapps/extensions/content/extensions.xul
+++ b/toolkit/mozapps/extensions/content/extensions.xul
@@ -137,19 +137,19 @@
     <command id="cmd_uninstallItem"/>
     <command id="cmd_cancelUninstallItem"/>
     <command id="cmd_cancelOperation"/>
     <command id="cmd_contribute"/>
   </commandset>
 
   <!-- main header -->
   <hbox id="header" align="center">
-    <button id="back-btn" class="nav-button" command="cmd_back"
+    <toolbarbutton id="back-btn" class="nav-button header-button" command="cmd_back"
             tooltiptext="&cmd.back.tooltip;" hidden="true" disabled="true"/>
-    <button id="forward-btn" class="nav-button" command="cmd_forward"
+    <toolbarbutton id="forward-btn" class="nav-button header-button" command="cmd_forward"
             tooltiptext="&cmd.forward.tooltip;" hidden="true" disabled="true"/>
     <spacer flex="1"/>
     <hbox id="updates-container" align="center">
       <image class="spinner"/>
       <label id="updates-noneFound" hidden="true"
              value="&updates.noneFound.label;"/>
       <button id="updates-manualUpdatesFound-btn" class="button-link"
               hidden="true" label="&updates.manualUpdatesFound.label;"
@@ -159,17 +159,18 @@
       <label id="updates-installed" hidden="true"
              value="&updates.installed.label;"/>
       <label id="updates-downloaded" hidden="true"
              value="&updates.downloaded.label;"/>
       <button id="updates-restart-btn" class="button-link" hidden="true"
               label="&updates.restart.label;"
               command="cmd_restartApp"/>
     </hbox>
-    <button id="header-utils-btn" type="menu" tooltiptext="&toolsMenu.tooltip;">
+    <toolbarbutton id="header-utils-btn" class="header-button" type="menu"
+            tooltiptext="&toolsMenu.tooltip;">
       <menupopup id="utils-menu">
         <menuitem id="utils-updateNow"
                   label="&updates.checkForUpdates.label;"
                   accesskey="&updates.checkForUpdates.accesskey;"
                   command="cmd_findAllUpdates"/>
         <menuitem id="utils-viewUpdates"
                   label="&updates.viewUpdates.label;"
                   accesskey="&updates.viewUpdates.accesskey;"
@@ -189,83 +190,80 @@
                   label="&updates.resetUpdatesToAutomatic.label;"
                   accesskey="&updates.resetUpdatesToAutomatic.accesskey;"
                   command="cmd_resetAddonAutoUpdate"/>
         <menuitem id="utils-resetAddonUpdatesToManual"
                   label="&updates.resetUpdatesToManual.label;"
                   accesskey="&updates.resetUpdatesToManual.accesskey;"
                   command="cmd_resetAddonAutoUpdate"/>
       </menupopup>
-    </button>
+    </toolbarbutton>
     <textbox id="header-search" type="search" searchbutton="true"
              placeholder="&search.placeholder;"/>
-    <image id="header-searching"/>
   </hbox>
 
   <hbox flex="1">
 
     <!-- category list -->
     <richlistbox id="categories" persist="last-selected">
       <richlistitem id="category-search" value="addons://search/"
                     class="category"
-                    name="&view.search.label;" disabled="true"/>
+                    name="&view.search.label;"
+                    tooltiptext="&view.search.label;" disabled="true"/>
       <richlistitem id="category-discover" value="addons://discover/"
                     class="category"
-                    name="&view.discover.label;"/>
+                    name="&view.discover.label;"
+                    tooltiptext="&view.discover.label;"/>
       <richlistitem id="category-languages" value="addons://list/locale"
                     class="category"
                     name="&view.locales.label;"
+                    tooltiptext="&view.locales.label;"
                     hidden="true" persist="hidden"/>
       <richlistitem id="category-searchengines"
                     value="addons://list/searchengine"
                     class="category"
                     name="&view.searchengines.label;"
+                    tooltiptext="&view.searchengines.label;"
                     hidden="true" persist="hidden"/>
       <richlistitem id="category-extensions" value="addons://list/extension"
                     class="category"
-                    name="&view.features.label;"/>
+                    name="&view.features.label;"
+                    tooltiptext="&view.features.label;"/>
       <richlistitem id="category-themes" value="addons://list/theme"
                     class="category"
-                    name="&view.appearance2.label;"/>
+                    name="&view.appearance2.label;"
+                    tooltiptext="&view.appearance2.label;"/>
       <richlistitem id="category-plugins" value="addons://list/plugin"
                     class="category"
-                    name="&view.plugins.label;"/>
+                    name="&view.plugins.label;"
+                    tooltiptext="&view.plugins.label;"/>
       <richlistitem id="category-availableUpdates" value="addons://updates/available"
                     class="category"
-                    name="&view.availableUpdates.label;" disabled="true"/>
+                    name="&view.availableUpdates.label;"
+                    tooltiptext="&view.availableUpdates.label;"
+                    disabled="true"/>
       <richlistitem id="category-recentUpdates" value="addons://updates/recent"
                     class="category"
-                    name="&view.recentUpdates.label;" disabled="true"/>
+                    name="&view.recentUpdates.label;"
+                    tooltiptext="&view.recentUpdates.label;" disabled="true"/>
     </richlistbox>
 
     <box id="view-port-container" flex="1">
 
       <!-- view port -->
       <deck id="view-port" flex="1">
 
         <!-- discover view -->
         <vbox id="discover-view" flex="1" class="view-pane">
           <browser id="discover-browser" type="content" flex="1"
                    disablehistory="true" homepage="about:blank"/>
         </vbox>
 
         <!-- search view -->
         <vbox id="search-view" flex="1" class="view-pane">
-          <hbox id="search-filter" align="center">
-            <label id="search-filter-label" value="&search.filter2.label;"/>
-            <radiogroup id="search-filter-radiogroup" orient="horizontal"
-                        align="center" persist="value" value="local">
-              <radio id="search-filter-local" class="search-filter-radio"
-                     label="&search.filter2.installed.label;" value="local"
-                     tooltiptext="&search.filter2.installed.tooltip;"/>
-              <radio id="search-filter-remote" class="search-filter-radio"
-                     label="&search.filter2.available.label;" value="remote"
-                     tooltiptext="&search.filter2.available.tooltip;"/>
-            </radiogroup>
-          </hbox>
           <hbox class="view-header global-warning-container" align="center">
             <!-- global warnings -->
             <hbox class="global-warning" flex="1">
               <hbox class="global-warning-safemode" flex="1" align="center"
                     tooltiptext="&warning.safemode.label;">
                 <image class="warning-icon"/>
                 <label class="global-warning-text" flex="1" crop="end"
                        value="&warning.safemode.label;"/>
@@ -291,23 +289,46 @@
                       tooltiptext="&warning.updatesecurity.enable.tooltip;"
                       command="cmd_enableUpdateSecurity"/>
               <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
             </hbox>
             <spacer flex="1"/>
             <hbox id="search-sorters" class="sort-controls"
                   showrelevance="true" sortby="relevancescore" ascending="false"/>
           </hbox>
-          <vbox id="search-list-empty" class="empty-list-notice"
+          <hbox id="search-filter" align="center">
+            <label id="search-filter-label" value="&search.filter2.label;"/>
+            <radiogroup id="search-filter-radiogroup" orient="horizontal"
+                        align="center" persist="value" value="local">
+              <radio id="search-filter-local" class="search-filter-radio"
+                     label="&search.filter2.installed.label;" value="local"
+                     tooltiptext="&search.filter2.installed.tooltip;"/>
+              <radio id="search-filter-remote" class="search-filter-radio"
+                     label="&search.filter2.available.label;" value="remote"
+                     tooltiptext="&search.filter2.available.tooltip;"/>
+            </radiogroup>
+          </hbox>
+          <vbox id="search-loading" class="alert-container"
                 flex="1" hidden="true">
-            <spacer flex="1"/>
-            <label value="&listEmpty.search.label;"/>
-            <button label="&listEmpty.button.label;" class="addon-control"
-                    command="cmd_goToDiscoverPane"/>
-            <spacer flex="3"/>
+            <spacer class="alert-spacer-before"/>
+            <hbox class="alert loading" align="center">
+              <image/>
+              <label value="&loading.label;"/>
+            </hbox>
+            <spacer class="alert-spacer-after"/>
+          </vbox>
+          <vbox id="search-list-empty" class="alert-container"
+                flex="1" hidden="true">
+            <spacer class="alert-spacer-before"/>
+            <vbox class="alert">
+              <label value="&listEmpty.search.label;"/>
+              <button label="&listEmpty.button.label;" class="addon-control"
+                      command="cmd_goToDiscoverPane"/>
+            </vbox>
+            <spacer class="alert-spacer-after"/>
           </vbox>
           <richlistbox id="search-list" class="list" flex="1">
             <hbox pack="center">
               <label id="search-allresults-link" class="text-link"/>
             </hbox>
           </richlistbox>
         </vbox>
 
@@ -343,23 +364,25 @@
                       tooltiptext="&warning.updatesecurity.enable.tooltip;"
                       command="cmd_enableUpdateSecurity"/>
               <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
             </hbox>
             <spacer flex="1"/>
             <hbox id="list-sorters" class="sort-controls" sortby="name"
                   ascending="true"/>
           </hbox>
-          <vbox id="addon-list-empty" class="empty-list-notice"
+          <vbox id="addon-list-empty" class="alert-container"
                 flex="1" hidden="true">
-            <spacer flex="1"/>
-            <label value="&listEmpty.installed.label;"/>
-            <button label="&listEmpty.button.label;" class="addon-control"
-                    command="cmd_goToDiscoverPane"/>
-            <spacer flex="3"/>
+            <spacer class="alert-spacer-before"/>
+            <vbox class="alert">
+              <label value="&listEmpty.installed.label;"/>
+              <button label="&listEmpty.button.label;" class="addon-control"
+                      command="cmd_goToDiscoverPane"/>
+            </vbox>
+            <spacer class="alert-spacer-after"/>
           </vbox>
           <richlistbox id="addon-list" class="list" flex="1"/>
         </vbox>
 
         <!-- updates view -->
         <vbox id="updates-view" flex="1" class="view-pane">
           <hbox class="view-header global-warning-container" align="center">
             <!-- global warnings -->
@@ -391,24 +414,26 @@
                       tooltiptext="&warning.updatesecurity.enable.tooltip;"
                       command="cmd_enableUpdateSecurity"/>
               <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
             </hbox>
             <spacer flex="1"/>
             <hbox id="updates-sorters" class="sort-controls" sortby="dateUpdated"
                   ascending="false"/>
           </hbox>
-          <vbox id="updates-list-empty" class="empty-list-notice"
+          <vbox id="updates-list-empty" class="alert-container"
                 flex="1" hidden="true">
-            <spacer flex="1"/>
-            <label id="empty-availableUpdates-msg" value="&listEmpty.availableUpdates.label;"/>
-            <label id="empty-recentUpdates-msg" value="&listEmpty.recentUpdates.label;"/>
-            <button label="&listEmpty.findUpdates.label;" class="addon-control"
-                    command="cmd_findAllUpdates"/>
-            <spacer flex="3"/>
+            <spacer class="alert-spacer-before"/>
+            <vbox class="alert">
+              <label id="empty-availableUpdates-msg" value="&listEmpty.availableUpdates.label;"/>
+              <label id="empty-recentUpdates-msg" value="&listEmpty.recentUpdates.label;"/>
+              <button label="&listEmpty.findUpdates.label;" class="addon-control"
+                      command="cmd_findAllUpdates"/>
+            </vbox>
+            <spacer class="alert-spacer-after"/>
           </vbox>
           <hbox id="update-actions" pack="center">
             <button id="update-selected-btn" hidden="true"
                     label="&updates.updateSelected.label;"
                     tooltiptext="&updates.updateSelected.tooltip;"/>
           </hbox>
           <richlistbox id="updates-list" class="list" flex="1"/>
         </vbox>
@@ -443,20 +468,24 @@
                     label="&warning.updatesecurity.enable.label;"
                     tooltiptext="&warning.updatesecurity.enable.tooltip;"
                     command="cmd_enableUpdateSecurity"/>
             <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
           </hbox>
           <hbox flex="1">
             <spacer flex="1"/>
             <!-- "loading" splash screen -->
-            <hbox class="loading" flex="1">
-              <image/>
-              <label value="&loading.label;"/>
-            </hbox>
+            <vbox class="alert-container">
+              <spacer class="alert-spacer-before"/>
+              <hbox class="alert loading">
+                <image/>
+                <label value="&loading.label;"/>
+              </hbox>
+              <spacer class="alert-spacer-after"/>
+            </vbox>
             <!-- actual detail view -->
             <vbox class="detail-view-container" flex="3" contextmenu="addonitem-popup">
               <vbox id="detail-notifications">
                 <hbox id="warning-container" align="center" class="warning">
                   <image class="warning-icon"/>
                   <label id="detail-warning" flex="1"/>
                   <label id="detail-warning-link" class="text-link"/>
                   <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
@@ -479,37 +508,38 @@
                           command="cmd_cancelOperation"/>
                   <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
                 </hbox>
               </vbox>
               <hbox align="start">
                 <image id="detail-icon" class="icon"/>
                 <vbox flex="1">
                   <vbox id="detail-summary">
-                    <hbox id="detail-name-container" align="start">
+                    <hbox id="detail-name-container" class="name-container"
+                          align="start">
                       <label id="detail-name" flex="1"/>
                       <label id="detail-version"/>
                       <label class="disabled-postfix" value="&addon.disabled.postfix;"/>
                       <label class="update-postfix" value="&addon.update.postfix;"/>
                       <spacer flex="5000"/> <!-- Necessary to allow the name to wrap -->
                     </hbox>
                     <label id="detail-creator" class="creator"/>
                   </vbox>
-                  <hbox id="detail-desc-container" align="end">
+                  <hbox id="detail-desc-container" align="start">
                     <image id="detail-screenshot" hidden="true"/>
                     <description id="detail-desc" flex="1"/>
                   </hbox>
                   <vbox id="detail-contributions">
                     <description id="detail-contrib-description">
                       &detail.contributions.description;
                     </description>
                     <hbox align="center">
                       <label id="detail-contrib-suggested"/>
                       <spacer flex="1"/>
-                      <button id="detail-contrib-btn" class="addon-control"
+                      <button id="detail-contrib-btn"
                               label="&cmd.contribute.label;"
                               accesskey="&cmd.contribute.accesskey;"
                               tooltiptext="&cmd.contribute.tooltip;"
                               command="cmd_contribute"/>
                     </hbox>
                   </vbox>
                   <grid id="detail-grid">
                     <columns>
@@ -538,17 +568,17 @@
                                   label="&detail.checkForUpdates.label;"
                                   accesskey="&detail.checkForUpdates.accesskey;"
                                   tooltiptext="&detail.checkForUpdates.tooltip;"
                                   command="cmd_findItemUpdates"/>
                         </hbox>
                       </row>
                       <row class="detail-row-complex" id="detail-homepage-row" label="&detail.home;">
                         <label class="detail-row-label" value="&detail.home;"/>
-                        <label id="detail-homepage" class="detail-row-value text-link"/>
+                        <label id="detail-homepage" class="detail-row-value text-link" crop="end"/>
                       </row>
                       <row class="detail-row-complex" id="detail-repository-row" label="&detail.repository;">
                         <label class="detail-row-label" value="&detail.repository;"/>
                         <label id="detail-repository" class="detail-row-value text-link"/>
                       </row>
                       <row class="detail-row" id="detail-size" label="&detail.size;"/>
                       <row class="detail-row-complex" id="detail-rating-row">
                         <label class="detail-row-label" value="&rating2.label;"/>
@@ -557,17 +587,17 @@
                                  showrating="average"/>
                           <label id="detail-reviews" class="text-link"/>
                         </hbox>
                       </row>
                       <row class="detail-row" id="detail-downloads" label="&detail.numberOfDownloads.label;"/>
                     </rows>
                   </grid>
                   <hbox id="detail-controls">
-                    <button id="detail-prefs-btn" class="addon-control"
+                    <button id="detail-prefs-btn" class="addon-control preferences"
 #ifdef XP_WIN
                             label="&detail.showPreferencesWin.label;"
                             accesskey="&detail.showPreferencesWin.accesskey;"
                             tooltiptext="&detail.showPreferencesWin.tooltip;"
 #else
                             label="&detail.showPreferencesUnix.label;"
                             accesskey="&detail.showPreferencesUnix.accesskey;"
                             tooltiptext="&detail.showPreferencesUnix.tooltip;"
--- a/toolkit/mozapps/extensions/test/browser/browser_searching.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_searching.js
@@ -96,22 +96,18 @@ function getAnonymousElementByAttribute(
 
 /*
  * Checks whether or not the Add-ons Manager is currently searching
  *
  * @param  aExpectedSearching
  *         The expected isSearching state
  */
 function check_is_searching(aExpectedSearching) {
-  is(gManagerWindow.gHeader.isSearching, aExpectedSearching,
-     "Should get expected isSearching state");
-
-  var throbber = gManagerWindow.document.getElementById("header-searching");
-  var style = gManagerWindow.document.defaultView.getComputedStyle(throbber, "");
-  is(style.visibility, aExpectedSearching ? "visible" : "hidden",
+  var loading = gManagerWindow.document.getElementById("search-loading");
+  is(!is_hidden(loading), aExpectedSearching,
      "Search throbber should be showing iff currently searching");
 }
 
 /*
  * Completes a search
  *
  * @param  aQuery
  *         The query to search for
@@ -287,16 +283,36 @@ function check_results(aQuery, aSortBy, 
   // expectedOrder before unknownOrder
   if (aReverseOrder)
     actualOrder.reverse();
 
   // Check actual vs. expected list of results
   var totalExpectedResults = expectedOrder.length + unknownOrder.length;
   is(actualOrder.length, totalExpectedResults, "Should get correct number of results");
 
+  // Check the "first" and "last" attributes are set correctly
+  for (let i = 0; i < actualResults.length; i++) {
+    if (i == 0) {
+      is(actualResults[0].item.hasAttribute("first"), true,
+         "First item should have 'first' attribute set");
+      is(actualResults[0].item.hasAttribute("last"), false,
+         "First item should not have 'last' attribute set");
+    } else if (i == (actualResults.length - 1)) {
+      is(actualResults[actualResults.length - 1].item.hasAttribute("first"), false,
+         "Last item should not have 'first' attribute set");
+      is(actualResults[actualResults.length - 1].item.hasAttribute("last"), true,
+         "Last item should have 'last' attribute set");
+    } else {
+      is(actualResults[i].item.hasAttribute("first"), false,
+         "Item " + i + " should not have 'first' attribute set");
+      is(actualResults[i].item.hasAttribute("last"), false,
+         "Item " + i + " should not have 'last' attribute set");
+    }
+  }
+
   var i = 0;
   for (; i < expectedOrder.length; i++)
     is(actualOrder[i], expectedOrder[i], "Should have seen expected item");
 
   // Items with data that is unknown can appear in any order among themselves,
   // so just check that these items exist
   for (; i < actualOrder.length; i++) {
     var unknownOrderIndex = unknownOrder.indexOf(actualOrder[i]);
--- a/toolkit/themes/gnomestripe/mozapps/extensions/extensions.css
+++ b/toolkit/themes/gnomestripe/mozapps/extensions/extensions.css
@@ -31,86 +31,58 @@
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #addons-page {
-  margin: 20px 20px;
+  -moz-appearance: none;
+  padding: 18px;
+  background-color: Window;  
+  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 160px),
+                    -moz-linear-gradient(-moz-dialog, Window 160px);
+  color: WindowText;
 }
 
 #view-port-container {
   /* Needed to allow the radius to clip the inner content, see bug 595656 */
   overflow: hidden;
-  background-color: -moz-field;
-  color: -moz-fieldtext;
-  border: 1px solid threedshadow;
+  background-color: -moz-Field;
+  color: -moz-FieldText;
+  border: 1px solid ThreeDShadow;
   border-radius: 5px;
 }
 
-.nav-button {
-  -moz-appearance: toolbarbutton;
-  min-width: 0;
-}
-
-#back-btn:-moz-locale-dir(ltr) {
-  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
-}
-
-#forward-btn:-moz-locale-dir(ltr) {
-  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
-}
-
-#back-btn:-moz-locale-dir(rtl) {
-  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar");
-}
-
-#forward-btn:-moz-locale-dir(rtl) {
-  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar");
-}
-
-#back-btn[disabled="true"]:-moz-locale-dir(ltr) {
-  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
-}
-
-#forward-btn[disabled="true"]:-moz-locale-dir(ltr) {
-  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
-}
-
-#back-btn[disabled="true"]:-moz-locale-dir(rtl) {
-  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar&state=disabled");
-}
-
-#forward-btn[disabled="true"]:-moz-locale-dir(rtl) {
-  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar&state=disabled");
-}
-
 /*** global warnings ***/
 
 .global-warning-container {
   overflow-x: hidden;
 }
 
 .global-warning {
   -moz-box-align: center;
-  margin: 0 8px;
-  color: #916D15;
-  text-shadow: #FFFFFF 1px 1px 1px;
+  padding: 0 8px;
   font-weight: bold;
 }
 
 #addons-page[warning] .global-warning-container {
   background-color: rgba(255, 255, 0, 0.1);
-  background-image: url("chrome://mozapps/skin/extensions/warning-stripes.png");
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
   background-repeat: repeat-x;
 }
 
-@media all and (max-width: 700px) {
+#detail-view .global-warning {
+  padding: 4px 12px;
+  border-bottom: 1px solid ThreeDShadow;
+  min-height: 41px;
+}
+
+@media all and (max-width: 600px) {
   .global-warning-text {
     display: none;
   }
 }
 
 /*** notification icons ***/
 
 .warning-icon {
@@ -130,77 +102,127 @@
 .pending-icon,
 .info-icon {
   list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu");
   width: 16px;
   height: 16px;
   margin: 3px 0;
 }
 
+/*** view alert boxes ***/
+
+.alert-container {
+  -moz-box-align: center;
+}
+
+.alert-spacer-before {
+  -moz-box-flex: 1;
+}
+
+.alert-spacer-after {
+  -moz-box-flex: 3;
+}
+
+.alert {
+  -moz-box-align: center;
+  padding: 10px;
+  font-size: 12px;
+  border: 1px solid ThreeDShadow;
+  border-radius: 8px;
+  color: WindowText;
+  background-color: Window;
+}
+
+.alert .alert-title {
+  font-weight: bold;
+  font-size: 200%;
+  margin-bottom: 15px;
+}
+
+.alert .addon-control {
+  margin: 1em 2em;
+}
+
+.loading {
+  list-style-image: url("chrome://global/skin/icons/loading_16.png");
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
 /*** category selector ***/
 
 #categories {
   -moz-appearance: none;
   border: none;
   -moz-margin-end: -1px;
   background-color: transparent;
   position: relative;
+  margin-top: 41px;
 }
 
 .category {
   -moz-appearance: none;
   border-width: 1px;
   -moz-border-end-width: 0;
   border-style: solid;
   border-color: transparent;
   padding: 10px 4px;
   -moz-box-align: center;
   overflow: hidden;
-  min-height: 0px;
+  min-height: 0;
+  color: WindowText;
 }
 
 .category:-moz-locale-dir(ltr) {
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
 }
 
 .category:-moz-locale-dir(rtl) {
   border-top-right-radius: 5px;
   border-bottom-right-radius: 5px;
 }
 
 .category[disabled] {
-  height: 0px;
+  height: 0;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category:not([disabled]) {
   height: 52px;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category[selected] {
-  background-color: -moz-field;
-  color: -moz-fieldtext;
-  border-color: threedshadow;
+  background-color: -moz-Field;
+  color: -moz-FieldText;
+  border-color: ThreeDShadow;
+  font-weight: bold;
 }
 
 .category-name {
   font-size: 150%;
 }
 
+/* Maximize the size of the viewport when the window is small */
+@media all and (max-width: 800px) {
+  .category-name {
+    display: none;
+  }
+}
+
 .category-badge {
-  background-color: #55D4FF;
+  background-color: Highlight;
   padding: 2px 8px;
-  margin: 6px 0px;
+  margin: 6px 0;
   border-radius: 10000px;
-  color: #FFF;
+  color: HighlightText;
   font-weight: bold;
   text-align: center;
 }
 
 .category-badge[value="0"] {
   visibility: hidden;
 }
 
@@ -237,294 +259,281 @@
 #category-recentUpdates > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
 }
 
 
 /*** header ***/
 
 #header {
-  margin-bottom: 20px;
+  margin-bottom: 18px;
+}
+
+.nav-button {
+  min-width: 0;
 }
 
-#header-name, #header-link {
-  color: #555;
-  text-shadow: 1px 1px 1px #EEE;
+#back-btn:-moz-locale-dir(ltr) {
+  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
 }
 
-#header-name {
-  font-size: 180%;
+#forward-btn:-moz-locale-dir(ltr) {
+  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
+}
+
+#back-btn:-moz-locale-dir(rtl) {
+  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar");
 }
 
-#header-link {
-  -moz-appearance: none;
-  border: none;
-  background: transparent;
-  font-size: 120%;
-  cursor: pointer;
-  list-style-image: url("chrome://mozapps/skin/extensions/go-back.png");
+#forward-btn:-moz-locale-dir(rtl) {
+  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar");
+}
+
+#back-btn[disabled="true"]:-moz-locale-dir(ltr) {
+  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
 }
 
-#header-link .button-icon {
-  -moz-margin-end: 6px;
+#forward-btn[disabled="true"]:-moz-locale-dir(ltr) {
+  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
 }
 
-#header-searching {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
+#back-btn[disabled="true"]:-moz-locale-dir(rtl) {
+  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar&state=disabled");
+}
+
+#forward-btn[disabled="true"]:-moz-locale-dir(rtl) {
+  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar&state=disabled");
 }
 
 #header-utils-btn {
   min-width: 4.5em;
 }
 
-#header-utils-btn .button-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/utilities.png");
+#header-utils-btn .toolbarbutton-icon {
+  list-style-image: url("moz-icon://stock/gtk-preferences?size=toolbar");
 }
 
 #header-utils-btn:-moz-focusring > .button-box {
   border: none;
 }
 
+#header-search {
+  margin: 0;
+}
+
 .view-header {
   padding: 4px;
-  margin: 0px;
-  border-bottom: 1px solid #A8A8A8;
+  margin: 0;
+  min-height: 41px;
+  background-color: ThreeDHighlight;
+  border-bottom: 1px solid ThreeDShadow;
 }
 
 
 /*** sorters ***/
 
 .sort-controls {
   -moz-appearance: none;
 }
 
-.sorter {
-  -moz-appearance: none;
-  border: none;
-  background-color: transparent;
-  border-radius: 10000px;
-  padding: 0px 6px;
-  margin: 0px 6px;
-  min-width: 12px !important;
-  -moz-box-direction: reverse;
-}
-
-.sorter[checkState="1"],
-.sorter[checkState="2"] {
-  background-color: #DADADA;
+.sorter[checkState="1"] .button-icon {
+  display: -moz-box;
+  list-style-image: url("moz-icon://stock/gtk-sort-descending?size=16");
 }
 
-.sorter[checkState="1"] {
-  list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
-}
-
-.sorter[checkState="2"] {
-  list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
-}
-
-.sorter .button-icon {
-  -moz-margin-start: 4px;
-}
-
-
-/*** empty list notification ***/
-
-.empty-list-notice {
-  -moz-box-align: center;
-}
-
-.empty-list-notice > button {
-  margin: 20px;
+.sorter[checkState="2"] .button-icon {
+  display: -moz-box;
+  list-style-image: url("moz-icon://stock/gtk-sort-ascending?size=16");
 }
 
 
 /*** list ***/
 
 .list {
   -moz-appearance: none;
-  margin: 0px;
+  margin: 0;
   border: none;
   background-color: transparent;
 }
 
 .addon {
-  border-bottom: 1px solid #F2F2F2;
+  border-bottom: 1px solid ThreeDLightShadow;
   padding: 5px;
 }
 
 .addon[status="installing"] {
   -moz-box-align: center;
 }
 
+.addon[selected] .text-link,
+.addon[selected] .button-link {
+  color: inherit;
+}
+
 .details {
   cursor: pointer;
   margin: 0;
   -moz-margin-start: 10px;
 }
 
 .icon-container {
   width: 48px;
   height: 48px;
-  margin: 7px;
+  margin: 22px 7px 7px 7px;
 }
 
 .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
   max-width: 48px;
   max-height: 48px;
 }
 
+.addon[active="false"] .icon {
+  filter: url("chrome://mozapps/skin/extensions/extensions.svg#greyscale");
+}
+
 .addon-view[type="theme"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
 }
 
 .addon-view[type="locale"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
 }
 
 .addon-view[type="plugin"] .icon {
   list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
 }
 
-.name-container {
+.name-container,
+.addon[status="installing"] .name {
   font-size: 150%;
-  margin-bottom: 0px;
+  margin-bottom: 0;
+  font-weight: bold;
+}
+
+.creator {
+  font-weight: bold;
+}
+
+.addon-view[active="false"]:not([selected]) {
+  color: GrayText;
 }
 
 .description-container {
   margin-top: 8px;
   -moz-margin-start: 6px;
 }
 
 .description {
   margin: 0;
 }
 
-.warning, .pending, .error, .info {
+.warning,
+.pending,
+.error {
   -moz-margin-start: 48px;
 }
 
 .addon-view:not([selected]) .warning {
   color: #90792E;
 }
 
 .addon-view:not([selected]) .error {
   color: #7C322B;
 }
 
 .addon-view:not([selected]) .pending {
   color: #4F7939;
 }
 
+.addon[active="false"] {
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0.2),
+                                         rgba(135, 135, 135, 0.1));
+}
+
 .addon-view[notification="warning"] {
-  background-image: -moz-linear-gradient(rgba(255, 255, 0, 0.2), rgba(255, 255, 0, 0.1));
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
+                    -moz-linear-gradient(rgba(255, 255, 0, 0.04),
+                                         rgba(255, 255, 0, 0));
+  background-repeat: repeat-x;
 }
 
 .addon-view[notification="error"] {
-  background-image: -moz-linear-gradient(rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.1));
-}
-
-.addon-view[notification="info"] {
-  background-image: -moz-linear-gradient(rgba(0, 0, 255, 0.2), rgba(0, 0, 255, 0.1));
+  background-image: url("chrome://mozapps/skin/extensions/stripes-error.png"),
+                    -moz-linear-gradient(rgba(255, 0, 0, 0.04),
+                                         rgba(255, 0, 0, 0));
+  background-repeat: repeat-x;
 }
 
 .addon-view[pending="enable"],
 .addon-view[pending="upgrade"],
 .addon-view[pending="install"] {
-  background-image: -moz-linear-gradient(rgba(0, 255, 0, 0.2), rgba(0, 255, 0, 0.1));
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-positive.png"),
+                    -moz-linear-gradient(rgba(0, 255, 0, 0.04),
+                                         rgba(0, 255, 0, 0));
+  background-repeat: repeat-x;
 }
 
 .addon-view[pending="disable"],
 .addon-view[pending="uninstall"] {
-  background-image: -moz-linear-gradient(rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0.1));
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-negative.png"),
+                    -moz-linear-gradient(rgba(128, 128, 128, 0.04),
+                                         rgba(128, 128, 128, 0));
+  background-repeat: repeat-x;
 }
 
 .addon .relnotes-container {
   -moz-box-align: start;
-  height: 0px;
+  height: 0;
   overflow: hidden;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon[show-relnotes] .relnotes-container {
   opacity: 1;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon .relnotes-header {
   font-weight: bold;
-  margin: 10px 0px;
+  margin: 10px 0;
 }
 
 .addon .relnotes-toggle {
   -moz-appearance: none;
   border: none;
   background: transparent;
   font-weight: bold;
-  -moz-box-direction: reverse;
   cursor: pointer;
-  list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
+  list-style-image: url("moz-icon://stock/gtk-go-down?size=16");
 }
 
 .addon .relnotes-toggle > .button-box > .button-icon {
-  -moz-padding-start: 4px;
+  display: -moz-box;
 }
 
 .addon[show-relnotes] .relnotes-toggle {
-  list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
-}
-
-
-/*** item - uninstalled ***/
-
-.addon[status="uninstalled"] {
-  border: none;
+  list-style-image: url("moz-icon://stock/gtk-go-up?size=16");
 }
 
-.addon[status="uninstalled"] > .container {
-  -moz-box-align: center;
-  padding: 4px 20px;
-  background-color: #FDFFA8;
-  border-radius: 8px;
-  font-size: 120%;
-}
-
-.addon[status="uninstalled"][selected] {
-  background-color: transparent;
-}
-
-
 
 /*** search view ***/
 
 #search-filter {
   padding: 5px 20px;
   font-size: 120%;
   overflow-x: hidden;
+  border-bottom: 1px solid ThreeDShadow;
 }
 
 #search-filter-label {
   font-weight: bold;
-  color: grey;
-}
-
-.search-filter-radio {
-  padding: 0px 6px;
-  margin: 0px 3px;
-}
-
-.search-filter-radio .radio-spacer-box {
-  display: none;
-}
-
-.search-filter-radio .radio-icon {
-  display: none;
 }
 
 #search-allresults-link {
   margin-top: 1em;
   margin-bottom: 2em;
 }
 
 /*** detail view ***/
@@ -544,33 +553,29 @@
 #detail-view[loading-extended] .loading {
   -moz-box-align: center;
   -moz-box-pack: center;
   opacity: 1;
   -moz-transition-property: opacity;
   -moz-transition-duration: 1s;
 }
 
-#detail-view .loading > image {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
-}
-
 .detail-view-container {
-  padding: 2em;
+  padding: 0 2em 2em 2em;
   font-size: 110%;
 }
 
 #detail-notifications {
+  margin-top: 1em;
   margin-bottom: 2em;
 }
 
 #detail-notifications .warning,
 #detail-notifications .pending,
-#detail-notifications .error,
-#detail-notifications .info {
+#detail-notifications .error {
   -moz-margin-start: 0;
 }
 
 #detail-icon {
   -moz-margin-end: 10px;
 }
 
 #detail-summary {
@@ -590,151 +595,139 @@
 }
 
 #detail-desc {
   -moz-margin-start: 6px;
   /* This is necessary to fix layout issues with multi-line descriptions, see
      bug 592712*/
   outline: solid transparent;
   white-space: pre-wrap;
+  min-width: 8em;
 }
 
 #detail-contributions {
   border-radius: 5px;
-  border: 1px solid #B0C8D1;
+  border: 1px solid ThreeDShadow;
   margin-bottom: 2em;
   padding: 1em;
-  background: #D8DDE4;
+  background: ThreeDHighlight;
 }
 
 #detail-contrib-description {
   font-style: italic;
   margin-bottom: 1em;
 }
 
 #detail-contrib-suggested {
-  color: grey;
+  color: GrayText;
 }
 
 #detail-grid {
   margin-bottom: 2em;
 }
 
 .detail-row[first-row="true"],
 .detail-row-complex[first-row="true"] {
   border-top: none;
 }
 
 .detail-row,
 .detail-row-complex {
-  border-top: 1px solid grey;
+  border-top: 1px solid ThreeDHighlight;
   -moz-box-align: center;
 }
 
 .detail-row-value {
   -moz-margin-start: 0;
 }
 
+#detail-controls {
+  margin-bottom: 1em;
+}
+
+#detail-view[active="false"]:not([pending]):not([notification]) {
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0.1),
+                                         rgba(135, 135, 135, 0));
+}
+
 
 /*** creator ***/
 
 .creator > label {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
 }
 
 .creator > .text-link {
   margin-top: 1px;
   margin-bottom: 1px;
 }
 
 
 /*** rating ***/
 
 .meta-rating {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
   vertical-align: text-top;
 }
 
 .meta-rating[showrating="average"] > .star {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
-  padding: 0px 1px;
+  padding: 0 1px;
 }
 
 .meta-rating[showrating="user"] > .star {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-unrated.png");
   padding: 2px 3px;
 }
 
 .meta-rating > .star[on="true"],
 .meta-rating[showrating="user"] > .star[hover] {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
-  padding: 0px 1px;
+  padding: 0 1px;
 }
 
 
 /*** download progress ***/
 
 .download-progress {
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-radius: 10000px;
-  border: 1px solid #555;
-  box-shadow: #777 1px 1px 1.5px;
   width: 200px;
-  height: 24px;
-  margin: 0px 8px;
 }
 
 .download-progress .start-cap,
-.download-progress[complete] .end-cap,
-.download-progress .progress .progress-bar {
-  -moz-appearance: none;
-  background-image: -moz-linear-gradient(#84A9D9, #5183C0);
+.download-progress .end-cap {
+  display: none;
 }
 
 .download-progress .progress {
-  background-color: transparent;
-}
-
-.download-progress .start-cap, .download-progress .end-cap {
-  width: 12px;
-}
-
-.download-progress .start-cap:-moz-locale-dir(ltr),
-.download-progress .end-cap:-moz-locale-dir(rtl) {
-  border-radius: 10000px 0 0 10000px;
-}
-
-.download-progress .end-cap:-moz-locale-dir(ltr),
-.download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 10000px 10000px 0;
-}
-
-.download-progress .progress {
-  -moz-appearance: none;
-  padding: 0px;
-  margin: 0px;
+  padding: 0;
+  margin: 0;
   border: none;
 }
 
-.download-progress .pause, .download-progress .cancel {
+.download-progress .pause,
+.download-progress .cancel {
   -moz-appearance: none;
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-width: 1px 0px 0px 1px;
-  padding-right: 1px;
+  background-color: ButtonFace;
+  padding-bottom: 1px;
+  -moz-padding-start: 2px;
+  border-width: 1px;
   border-style: solid;
-  -moz-border-top-colors: #FFF;
-  -moz-border-left-colors: #FFF;
+  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
   border-radius: 10000px;
   min-width: 16px;
   width: 16px;
   height: 16px;
   margin: 3px;
-  box-shadow: #777 1px 1px 1px;
+}
+
+.download-progress .pause:hover,
+.download-progress .cancel:hover {
+  background-color: -moz-ButtonHoverFace;
 }
 
 .download-progress .pause {
   list-style-image: url('chrome://mozapps/skin/extensions/pause.png');
 }
 
 .download-progress .cancel {
   list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
@@ -753,34 +746,64 @@
 
 
 /*** check for updates ***/
 
 #updates-container {
   -moz-box-align: center;
 }
 
-#updates-installed, #updates-downloaded {
-  color: #00BB00;
+#updates-installed,
+#updates-downloaded {
   font-weight: bold;
 }
 
 #update-selected {
   margin: 12px;
 }
 
 
 /*** buttons ***/
 
 .addon-control[disabled="true"] {
   display: none;
 }
 
+.addon-control.enable {
+  list-style-image: url("moz-icon://stock/gtk-yes?size=button");
+}
+
+.addon-control.disable {
+  list-style-image: url("moz-icon://stock/gtk-no?size=button");
+}
+
+.addon-control.remove {
+  list-style-image: url("moz-icon://stock/gtk-remove?size=button");
+}
+
+.addon-control.preferences {
+  list-style-image: url("moz-icon://stock/gtk-preferences?size=button");
+}
+
+.addon-control.install,
+.addon-control.update {
+  list-style-image: url("moz-icon://stock/gtk-save?size=button");
+}
+
 .button-link {
   -moz-appearance: none;
   background: transparent;
   border: none;
   text-decoration: underline;
   color: -moz-nativehyperlinktext;
   cursor: pointer;
   min-width: 0;
   margin: 0 6px;
 }
+
+.button-link:active {
+  color: -moz-activehyperlinktext;
+}
+
+.header-button .toolbarbutton-text {
+  display: none;
+}
+
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/gnomestripe/mozapps/extensions/extensions.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+  <filter id="greyscale">
+    <feColorMatrix values="0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0      0      0      1 0"/>
+  </filter>
+</svg>
deleted file mode 100644
index abc828811386c6030a022169c0e12f8c6a22311d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index 13471ee0e407a456a87afde5c2421b5120f87264..2761f19255511393ac671c0d075d4af2f63cf316
GIT binary patch
literal 1559
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5MbqpPEnv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uNzLiprioNom!MxmYU*Ll%J~r_OewbZnrq&b_+yr3U0T!;MA)R
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5?}NPxde{Fm-#nIEGZ*>Iw4o5q1>0_w!~h
zSCERr!GzUr9T%H89hu{<u&64!@y|1nQ_1Y<l;~vNTk+*dr10Lt3(d#oOIUVveq^cA
z6YXhjQwrERW6HKEUb~GSoA374@clFM?DX3AXU}}USMz>iEqis(Dc6ofjivuxcAF<Y
zO}DG9$oP|b@l`{SgiLXN>df{(b@A^{EMETizw0Bluv<lTUN>1!Z<;jc<B!?f-?MKB
z{O>RHo%2d1+k(|MPD*$i`UQWy>GJLBiyI&9Cr;Q_@ZOEJE{3mh;a!une)Ch;6`vD7
z7%Ae!*0ek7c39ER46U!VUYa{4=Fic{n^Yq6cG(o3*>k*Y6xpp0OZXa}sta-}R`}Pd
zHB(^GL9s=yTsJkA<_H8`yOH|4&c;me=>(<jGgs1Q#TRJydarh1)Ob|++9M@<Z$K#L
z6K#Qe`Z+g4v~IV*zqj*l@8A3jEoa{GZL{09G^0q``C37xZ#cu0hE460qD3b<t$g-y
z;ptA}<-fTVG=tY3_ffLkwtsK!9kETJT1O{FHgJdv{OSDEu$#k6SwwP=hEntM=?(^b
zDJzV{9ZHH`9laM&;Ky;5W4hJbPg2hhHXOKpey;3_y=6}?G2Q7uFzI?y>*q@cOKQ>t
z|1%_sEsDt%vUKhUHvRgw^j0s^XX)y9j^&qlrifmV4L&znqdE7GSe)va2Dy_zTcd6q
zJ!Sc@YR8?HzEx+V`0qAu%6)9Gy7bwB0LfDvw{)-ee=%~`*wDIUQPSO+VrLx6_Nwrg
zv>m?ob>WFQlP2A%Hn=1@``4QE6%+jQuRqARD>liC{m@M74S9EWSk<n2AHlY8y~CR4
z9@9TQ`T2TZy1u*rlTWK}uk!R*T5->6CHom+{ot+F8A=%J9^7^Nu$_UKLB&P=;Htw%
Q^g%_nr>mdKI;Vst0E?ts4*&oF
deleted file mode 100644
index c6f59558a3e5c39af65da8d09b6fee38b58f0ebb..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index c26d2dc2a0c24670ef8e287c523080c3f415aee0..336dd8f6ebb04770309496515714ff9ad6a81de3
GIT binary patch
literal 1662
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5Mbqobpfv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uM<waprioNom!MxmYU*Ll%J~r_OewbZns$Ab_+yr3U0Sp;?%1T
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5>WJtK~8<Fn#iLaSW-rRWc>kLnKh-`1!vx
zO4G|ii<EuOiY(Es<=G^#>62oOXV(IiH{KIAym1w1(Kx}*{mS)M%Yv3AO*~C<uP%D|
z2pa`mx_ar)KcDM=3)0e``#oQ`Qp4)Q^Lv)x|J55mpJVNubGz;AI`MvP`56-@{Lgth
zU8=JFeVW#dZ5?ZGZg{nLHsh>$V$YvcxK^$+54wA==KG8u!BY)Js%mQPr>1X_R8gE4
zciy9W!<imeE8|}aquMOWn;u<o2sBBscy7a&lH+{h_OVHG&hY$A+2h^rvYpR5sEWTP
zyEf#As3@b}gvBfd&kk4~n%0{y<+sD|1*_Ayv?Xm`lWpscMG6R;Db((Et!+M^w_=vM
zWs=U81j*`+W{#2KUK$hHe(h0~>;I*at$sQvlxfywrs+~lS0x$T{zM#f-Jm1wl*lU9
z#K+Ob!osBX<=2S^cbKf#Tg04|S^eKUkb7C`GGJ_RG_)S`IK$&~yjoa7bixBZ$EMRQ
z25st=t#$AG?w7C7Gk>4pYOcHb*F{SMnfi;*KXcpKv>wa6BI9Hr>d=wfuz`o8-FL=;
zrT6ZO*lj<`x%~MhS(cuY%a3qHN8P-2<L>m@tJm{6W3T_8{q*(>g%*ap3>*r@HC+zr
z)14d2*8QtE`L^uNjj-sgSNC6<Ydqcl?tAHbrKk5VSP=POVONvn)`JdVM_O)J7@v0d
zu=u?9Y56)A@8es&&RZmJxFuV8*5~Zk7i`^(Deo?2BzB&8aVf@}!(z_uXNB42zOI)x
zEDI{oNYQOEe)ROr0X>E@$;m1n4_;1t+NabLDE;TNbEZ*zW|+mqd0Pd1c~hb<a`f~G
zOGqs>usq9pv}N)(mzB|nMI0MMXL=l5o9D%O!qi4BTk%lT7rwrLA79%KA9?d`+F@5y
zea?MupMUSV+_`RE&Gyqw&hvezP7s~Em(R%HOmp()$oTK#A^Ud)M3^-!6ufeN&!1r4
z_p`FP_m}V4*L2tWK*XLF@00m6b3SNmOi*<wUHIqqHKD-jfWj5eo<6W=WMjCn(q8b{
S@mbG7HG-$BpUXO@geCyZ+JpiC
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1dc2d8504cbf625fffc9d5707ef9eb459c70fc0e
GIT binary patch
literal 1979
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..901ab1ec29fa9d08b240f68653f27f4b0bbda842
GIT binary patch
literal 2027
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
F{{wX7A_V{d
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..370ceec0f241b320339bd7a6239eafd4f19944cf
GIT binary patch
literal 1852
zc$|Gz3rtgI6s{;J2=Y=U0&=;9MAWvoEswRMLg}Tn!5W0Jp(0S)TPWJz(q5!6<uP$o
zM5KreP$0@faEO?pGMJEok~+v(BtZqyiO2+TI7N^#bhjw%k>H>Fk8|>U=RfEC-_1Q5
zyd%)UY=aqrK(OHR;1GOQ<1>7f3BGo2(%a&jJr)p-g`!d{Nu)vuYzZ2J0DQS9770N_
zlH`P2h!26V9Fz&ev2ek5rWlozMFtF6BUcg(!^c;n6p8mC7!ZTR$`mYcqNNQ4WD*wm
zg{J@#C^<-+jF+N9LQ{4K#VPy53<>DF4e-%0@c?oJ69F3eeubK;VS)2;nfTe@rhvda
z1lz{~-zOC=2nIN)3IROH5J?PqL4X&POr?8xdwXvMXb=^mKr{-KMxuH%=`<z;0Urj4
z-=>mCnISOu!(F(=0^=}D$)r${l9I?tbTX=nrBE3Rh9L%xM#2#!b+Q5zX-En+aUlYX
zsKqLo5|g0{z+j7F&_s*{f(s?cm5X5&>JM$g8%EKHloTo%qWlXe5PTdemoK8#SO_Bh
zI9e@CRw9%TM2#k@#Q4KWi3YNg$x$I93{?qHbpJvZgX2&PRmY)9fD`Ho2t;C;!eGzi
z1p+2tp~gfCF~WygAnqZ{WD=%#08Hi3X*9OKCyh#lxeQtWo8!;%@Zxa&{b6rtfeWMJ
zL^-0s7Pyjsxb!8t1}VH}BP!VeM8Z{}a$vq>rflh4prvzp&y_5l3w22@1y6?ZzlUCM
z;p#CQ7iEhZi^4|~xY|{?tlvHjUW0!v4Sbj_)bx*+4yY<1b3ggn1Jdd9EwjCc?wT~_
z`DKk-k$-Fkf}D&jiZf4&yE==!+TLYE6=;alt0zy)H9z-$=XOtn+IqUaU>~OuAJ`10
zy@5v}hn<ARFSjHL?w~wKig5GN4+i}jS!v8&rAuA^N7)nmcBA3RBkCib+!rSIrkAz4
zFgie@YH~OA$)2_uH}jdP^x@~%c1u?T=H0z~HE+t^<;2S51I2)^uOdFL)~d^{qFUdW
zaxkFZ(g92!;5mSIj3!tEuktSD>(9;sF1m{`4*c2NSN&k9F=+X^fm69$N9i)xdD&Z*
z#*QR3vO`@>&jd;l-6dLk7<`rJ%CJi=w0@P**t;qFOu0Crx{teaco(-RUoXti(=(pQ
zexq)DSX2G^gChD^RbPnl?Izyu&vbThVT@ya>}`72p|Md9c*=ccoMZ7&>qZ6?uN{tF
zaSW`g4~)+qFDmk{wB<&mJND~OL#}4W9Q%1mIiF6HbclaGZzQoP8GCfvdcR+YF*swt
z(;+0j?urSwkx;ygE!X;V@wQA*sb876nilj8*KtRja%upZ&Z)z8x!>63mfKBHt{0|O
zm!=N7uj`wUJ7ew6BxTR+GLKl;jhB+opL+WiD|gYwe(T11oZ6|~P<5*1cw;cpb3NPT
zdDADgH}!kzS<@>`Z(J5$&^ESf@8=Cl)9QZFXPx71$+_7(KGD`hDBf&U+oO#DYmIa^
zX{$l!=o{_eY14cOFp!`#|1L)l<iBYdc~}(|RLSRV+Dkm?H@4GGR%jh`bghwaovhS4
zD7*Wws0+=!uAJ!W+-kFUi90TUZSclIdr(gI*G{^qu60`_TX1~<8r?Fb`)~mqSz^6L
zyM3MZ2M=N<&o{>koP&n4C49Xi!nMPR=##u=v(;#>wST4aypj^m&V`qRm8}_{W!Qe%
zS{50Y4Z4$h3Zr7Sk6tN$y{n>OC|lo{U?gzpxpeUg^D|+(x~DtkR2^}!qId0R*<u(M
z_)k%$)o9j#9A~(2HmTg%+d?la5sRs}!e5db*si7=>7$;<tx-?c5+foc^?sE#-Bz+p
zoM@?wMZV^V@r(~?4~9v#9zU&ext*o2pm8b_ItSmGhb8!>XCje>);Y)U^0wL;aQ6%B
z!Am!BoaKD6!OJD2`HIhhl}Sg3GP3i&H`1M(_u#$iFyJ1iEi)n9@mXKf+%vkz@IT`R
L?11b2qrdtaSZ~G*
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..69463fb1af3de8f2cb8c9acc2fcbd61b226cb114
GIT binary patch
literal 2177
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
deleted file mode 100644
index 6f845c03a32ee553b19d49f8e82f2b0288885c15..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 69463fb1af3de8f2cb8c9acc2fcbd61b226cb114..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/themes/gnomestripe/mozapps/jar.mn
+++ b/toolkit/themes/gnomestripe/mozapps/jar.mn
@@ -1,36 +1,37 @@
 toolkit.jar:
 + skin/classic/mozapps/update/updates.css                  (update/updates.css)
 + skin/classic/mozapps/downloads/downloadIcon.png          (downloads/downloadIcon.png)
 + skin/classic/mozapps/downloads/downloads.css             (downloads/downloads.css)
 + skin/classic/mozapps/extensions/extensions.css           (extensions/extensions.css)
++ skin/classic/mozapps/extensions/extensions.svg           (extensions/extensions.svg)
 + skin/classic/mozapps/extensions/category-search.png      (extensions/category-search.png)
 + skin/classic/mozapps/extensions/category-discover.png    (extensions/category-discover.png)
 + skin/classic/mozapps/extensions/category-languages.png   (extensions/category-languages.png)
 + skin/classic/mozapps/extensions/category-searchengines.png (extensions/category-searchengines.png)
 + skin/classic/mozapps/extensions/category-extensions.png  (extensions/category-extensions.png)
 + skin/classic/mozapps/extensions/category-themes.png      (extensions/category-themes.png)
 + skin/classic/mozapps/extensions/category-plugins.png     (extensions/category-plugins.png)
 + skin/classic/mozapps/extensions/category-recent.png      (extensions/category-recent.png)
 + skin/classic/mozapps/extensions/category-available.png   (extensions/category-available.png)
 + skin/classic/mozapps/extensions/extensionGeneric.png     (extensions/extensionGeneric.png)
 + skin/classic/mozapps/extensions/extensionGeneric-16.png  (extensions/extensionGeneric-16.png)
 + skin/classic/mozapps/extensions/themeGeneric.png         (extensions/themeGeneric.png)
 + skin/classic/mozapps/extensions/themeGeneric-16.png      (extensions/themeGeneric-16.png)
 + skin/classic/mozapps/extensions/localeGeneric.png        (extensions/localeGeneric.png)
-+ skin/classic/mozapps/extensions/go-back.png              (extensions/go-back.png)
 + skin/classic/mozapps/extensions/rating-won.png           (extensions/rating-won.png)
 + skin/classic/mozapps/extensions/rating-not-won.png       (extensions/rating-not-won.png)
-+ skin/classic/mozapps/extensions/rating-unrated.png       (extensions/rating-unrated.png)
 + skin/classic/mozapps/extensions/cancel.png               (extensions/cancel.png)
 + skin/classic/mozapps/extensions/pause.png                (extensions/pause.png)
-+ skin/classic/mozapps/extensions/utilities.png            (extensions/utilities.png)
 + skin/classic/mozapps/extensions/heart.png                (extensions/heart.png)
-+ skin/classic/mozapps/extensions/warning-stripes.png      (extensions/warning-stripes.png)
++ skin/classic/mozapps/extensions/stripes-warning.png      (extensions/stripes-warning.png)
++ skin/classic/mozapps/extensions/stripes-error.png        (extensions/stripes-error.png)
++ skin/classic/mozapps/extensions/stripes-info-positive.png (extensions/stripes-info-positive.png)
++ kin/classic/mozapps/extensions/stripes-info-negative.png (extensions/stripes-info-negative.png)
 + skin/classic/mozapps/passwordmgr/key.png                 (passwordmgr/key.png)
 + skin/classic/mozapps/passwordmgr/key-16.png              (passwordmgr/key-16.png)
 + skin/classic/mozapps/passwordmgr/key-64.png              (passwordmgr/key-64.png)
 + skin/classic/mozapps/plugins/notifyPluginBlocked.png     (plugins/pluginBlocked-16.png)
 + skin/classic/mozapps/plugins/notifyPluginCrashed.png     (plugins/pluginGeneric-16.png)
 + skin/classic/mozapps/plugins/notifyPluginGeneric.png     (plugins/pluginGeneric-16.png)
 + skin/classic/mozapps/plugins/notifyPluginOutdated.png    (plugins/pluginOutdated-16.png)
 + skin/classic/mozapps/plugins/pluginGeneric.png           (plugins/pluginGeneric.png)
--- a/toolkit/themes/pinstripe/mozapps/extensions/about.css
+++ b/toolkit/themes/pinstripe/mozapps/extensions/about.css
@@ -1,48 +1,70 @@
+#genericAbout {
+  padding: 0px;
+  min-height: 200px;
+  max-height: 400px;
+  width: 30em;
+}
+
 #clientBox {
-  background-color: #FFFFFF;
-  color: #000000;
+  background-color: -moz-Dialog;
+  color: -moz-DialogText;
+}
+
+.basic-info {
+  padding: 10px;
+}
+
+#extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
+  max-width: 48px;
+  max-height: 48px;
+  -moz-margin-end: 6px;
+}
+
+#genericAbout[addontype="theme"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#genericAbout[addontype="locale"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#genericAbout[addontype="plugin"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
 }
 
 #extensionName {
-  font-size: large;
-  font-weight: bold;
+  font-size: 200%;
+  font-weight: bolder;
 }
 
 #extensionVersion {
   font-weight: bold;
-  color: #909090;
 }
 
-#genericAbout {
-  padding: 0px 0px 10px 0px;
-  min-height: 200px;
-  width: 30em;
+#extensionDescription {
+  margin-top: 4px;
 }
 
 #groove {
-  margin-top: 0px;
+  margin-top: 8px;
 }
 
-#clientBox {
-  padding: 10px;
-} 
-
-#extensionDescription {
-  color: #404040;
+#extensionDetailsBox {
+  overflow: auto;
+  min-height: 100px;
 }
 
 .boxIndent {
-  -moz-margin-start: 6px;
+  -moz-margin-start: 18px;
 }
 
 #extensionCreator, .contributor {
   margin: 0px;
 } 
 
 .sectionTitle {
-  border-top: 2px solid #C0C0C0;
   padding: 2px 0px 3px 0px;
   margin-top: 3px;
   font-weight: bold;
 }
-
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8740e4911a857dd0d2e479529594fa4bb17adf11
GIT binary patch
literal 3402
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2c5f628ab6001ba2f20a19e20f5d6c556b8f0169
GIT binary patch
literal 1564
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&q@BS$AwLqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pEL%e#eoQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-ywCQmhBU|^cy>EaktajPZB+an}V#P0uZJ9k;x&l4A!Y3)2=CfVUAz~ZRT$XzJ7
z<boC3QYlRVCiAVmixTd%_WSZ*nzJajbKy+KG@oThrp#7bJLme`>iqw*ZxprScFZo`
z_y704;&blj=UMVu*K2ra?(H{VzFm4d_IB6KKHb;v#6<2rH8pT^=kD&B-F14^EGE&?
z$Ii)t!ik%Bw;MA$#m-8Tc~&J@aF>6^>x0(Y^S>o)?YTFPC8og8qh+VsRQ0YdZ*{?g
zCnIuJ{=U^4?bz~Cj)kMWWmS0iwJY}gU%%bsZPkkj<B%%O(KaxuSzn(~BIJE0kLASr
zm0t5#{ZvS{T)OGQ#^tMP&HiOJ3Yl|%{4u@n=FFF3J~P_y`Z*ZLT`;+P{;QM6QsdH1
zOFUB*61FGwIC3PqEcQP<aUy4*S?q)V=a;RzRhcNl5Nxs`XL(I(>dvS<I|s?B>Zu2I
zG`Kway)ylxy86Xs-TPTSJ!@W-ShVcNfo!8=3IERiQ4BTjH&pv%>Z8Hox>P^TFSe_v
zN7`eT(pmOwn`LH)4c5PARdooBmwREwusZ&6>du^B9U<!;%;LQF=AMT1$&|0hensUJ
zK71Q<k1;(bK#MW7$L2&~%!K##Z?xCfY~8=@pQ%Ca-O`I`E&?l@T4&ze**)>$@w!WQ
zLT)F{+84K0fuZuZQSQz;yu7@<6X(4v?vIMTEqBhxUp44tuke(@57VCiy_vHu#q{4#
zb<rMvja~dJE+l$~?3HAAw#(XIKe46n7jx=^RZ((}TLa@*#Ki2s1o%`ci(az&EgtM-
zptG<3dZp=|=?W6H!4_{nXGJS_C`{hEdPVB)@SthZ=Twc0R)3SP+>pEbg4gmxU6D%P
vn+`BB`rVqwXY_L)_lxU|2_FvTGqN%CtDO8gYl*%fsJ!-c^>bP0l+XkKyrE0B
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a186c6b7adaf4d1606a3b717d3ff00e428e8fa41
GIT binary patch
literal 1338
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&qDS4SsPLqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pE7rc6{oQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-yY8|+%lz`(f9)5S5Q;?|N$d%c+*1&*eteb;mIKcb|tL^y<}Yg$=YSXXB5lqH=v
zBDwytZ)<7|RhZhlU}<O+w>0<aElmO(EGBAc_BGXYEEknt9g?fw{dxBHw6e;o^m+db
zmp#!J5q=uELoe#uQ~rWR(fHLpaaR}riu*4#k2z*~&$*X|zGv?I>TTBHoWK8|;7UQ2
zfH^#K8M4&1!dP#xt>LicnB8rp5;MueON-m$GoSEQ1NkTIR_2UHW;FL{+wrYhxyfsy
zasJ(&>W%52mO35^7h27|A|%3ispkxS)gaHP;wf$6vG;Rl_GQjoZr3`OrP1ADkL!h5
zeoB`fUu3)%siD7lnpeQI2!%t-&+XV$YbKI#dn=1<Ra+4=Z`PvSl@=UjpMJcld>vl6
zjHUE3n;zr)x&sA{_o{;?dt07&GUr&mFp%}4&1t4&C+!CDg!mAh@+TRG%Y4t5uoXyT
z2Hq1~sObASqie<5XKT3U&TA-bt=l3Pw8i%JHreJKj52P&gbufv&){1&S6ld8Ve0LQ
z*Ac&Jub1+wsQpgbe_%eR9h(pfYxauxWBERjwv3CoULRD<`IVplB(#B%;d9)oV!25#
QJ3ytGr>mdKI;Vst0CpeLGynhq
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..75ea826f9140c9d1a75f3a9f24213964f43f9447
GIT binary patch
literal 1567
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&qDM@J`9LqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pEOT2omoQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-yGeI#x%FfdK_ba4!+xYZKm>k$$tV)uMs_5IrSXJ<dJetagvCCDg6B8uatQZ$R=
z7NMjq1(5<<xLCBOax_oaWcId6O!CPxqnyM^7x|rBnz$P6XD-WI<8wOAO(y->zIU_d
z7@1m~E<XQr-}}1z2m3Z#Cv0|V=vbB{zK~^-<QlQej|b0k6kI<m_`_XN>Yn~BH}5Xx
zsFTwUHK`xZ_xTZc(_)_{gVGh&+|>Dr#Rjr`4-XWjY<L}G94h+$?S6(;sT0B$eSGiz
z@6$ZipkE;j(OzfwTSkW7msNZnGNJcPM1J&=0NoqE7rlx2{r1u;>)wqi9~%2MUO4f2
z+p}A*g;}njP<Y+L&7zyLA(!n?EZ^yCF6p1&HSS#beTuVGM3RP;^{+LDjK$2E7jSKB
zkrDcETV%$MuqTz8mm~uegBJ!dGHU0Z<GGW&D);vSrGxt!_uO!*tgt$txIkLOqBlSG
zk4a2NOAAk*V5n+>6vr|N+g~5w?$vUdx~A(sL(I`@HSMc*oop~-vU2}n^>dZa=b7z1
zvYTza1ZDPnKR;%re<eoR+*UMY>RzLq$t#|EUe7RdU$tYxj5?96x))dclz5Wo@SH(x
zuBFAdPieh}ro=PY$wo8xG0jR*pQNhGAf)|={m1t&s~>(kD7r{LEi6~L=<qjY9l!GV
z{c*DV0iI&KH@%k5Jl;_FK0siSCX4xh5BHl7z4sQSKPj!gdnG982iJ5v0oF!i$?0bC
zf7U(!B$<`9MD?^@>N;B?#ZBS%Up5q8UvkIt!J8=;qvRT<=pK!*YiT`SyIdo9;|yt@
zJ^!B^dOD9czRLg0-B<AwCZ2!(+ok#X>8aWqCsuGC*>>5bD{fA2wl62EuhYMn2(8K6
zR$AXqVc%&YqVO&#qA&2oSry}~IjrC9|7jjzm}R_G?d&R+7EqDx>FVdQ&MBb@010PL
A@c;k-
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..caffc241cf38e9d3ae7c5fd1f9180839d9943edf
GIT binary patch
literal 5940
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
F{{soTN^AfC
--- a/toolkit/themes/pinstripe/mozapps/extensions/eula.css
+++ b/toolkit/themes/pinstripe/mozapps/extensions/eula.css
@@ -1,19 +1,39 @@
+#icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
+  max-width: 48px;
+  max-height: 48px;
+  -moz-margin-end: 6px;
+}
+
+#eula-dialog[addontype="theme"] #icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#eula-dialog[addontype="locale"] #icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#eula-dialog[addontype="plugin"] #icon {
+  list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#heading-container {
+  -moz-box-align: center;
+}
+
 #heading {
   font-size: 120%;
 }
 
 #eula {
   -moz-appearance: none;
-  font-family: monospace;
-  color: -moz-dialogtext;
-  background-color: window;
-  margin: 1em 0 1em 0;
+  color: -moz-FieldText;
+  background-color: -moz-Field;
+  margin: 1em;
   border: 1px solid;
   -moz-border-top-colors: ActiveBorder;
   -moz-border-right-colors: ActiveBorder;
   -moz-border-bottom-colors: ActiveBorder;
   -moz-border-left-colors: ActiveBorder;
-  border-top-right-radius: 0;
-  border-bottom-left-radius: 0;
 }
 
--- a/toolkit/themes/pinstripe/mozapps/extensions/extensions.css
+++ b/toolkit/themes/pinstripe/mozapps/extensions/extensions.css
@@ -33,185 +33,220 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 %include ../../global/shared.inc
 
 #addons-page {
-  background-color: #c5ccd7;
   -moz-appearance: none;
-  margin: 20px;
+  padding: 18px;
+  background-image: /* Texture */
+                    url("chrome://mozapps/skin/extensions/background-texture.png"),
+                    /* Gradient */
+                    -moz-linear-gradient(top, #ADB5C2, #BFC6D1);
 }
 
 #view-port-container {
   /* Needed to allow the radius to clip the inner content, see bug 595656 */
   overflow: hidden;
-  background-color: #d2d7df;
-  border: 1px solid black;
+  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.25) 50%, rgba(255, 255, 255, 0.05));
+  border: 1px solid rgba(50, 65, 92, 0.4);
   border-radius: 5px;
 }
 
-.nav-button {
-  -moz-appearance: none;
-  min-width: 0;
-  padding: 0 4px;
-  margin: 0;
-  text-shadow: @loweredShadow@;
-  border: 1px solid @toolbarbuttonBorderColor@;
-  box-shadow: @loweredShadow@;
-  background: @toolbarbuttonBackground@;
-  background-origin: border-box;
-  list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
-}
-
-.nav-button .button-text {
-  display: none;
-}
-
-.nav-button[disabled="true"] .button-icon {
-  opacity: 0.4;
-}
-
-#back-btn:-moz-locale-dir(ltr),
-#forward-btn:-moz-locale-dir(rtl) {
-  border-top-left-radius: @toolbarbuttonCornerRadius@;
-  border-bottom-left-radius: @toolbarbuttonCornerRadius@;
-  border-right: none;
-  -moz-image-region: rect(0, 20px, 20px, 0);
-}
-
-#back-btn:-moz-locale-dir(rtl),
-#forward-btn:-moz-locale-dir(ltr) {
-  border-top-right-radius: @toolbarbuttonCornerRadius@;
-  border-bottom-right-radius: @toolbarbuttonCornerRadius@;
-  -moz-image-region: rect(0, 40px, 20px, 20px);
-}
-
-.nav-button:hover:active:not([disabled="true"]) {
-  background: @toolbarbuttonPressedBackgroundColor@;
-  text-shadow: @loweredShadow@;
-  box-shadow: @toolbarbuttonPressedInnerShadow@, @loweredShadow@;
-}
-
-.nav-button:-moz-window-inactive {
-  border-color: @toolbarbuttonInactiveBorderColor@;
-  background-image: @toolbarbuttonInactiveBackgroundImage@;
-}
-
 /*** global warnings ***/
 
 .global-warning-container {
   overflow-x: hidden;
 }
 
 .global-warning {
   -moz-box-align: center;
-  margin: 0 8px;
+  padding: 0 8px;
   color: #916D15;
+  font-weight: bold;
+}
+
+.global-warning,
+.global-warning .button-link {
   text-shadow: #FFFFFF 1px 1px 1px;
-  font-weight: bold;
 }
 
 #addons-page[warning] .global-warning-container {
   background-color: rgba(255, 255, 0, 0.1);
-  background-image: url("chrome://mozapps/skin/extensions/warning-stripes.png");
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
   background-repeat: repeat-x;
 }
 
-@media all and (max-width: 700px) {
+#detail-view .global-warning {
+  padding: 4px 12px;
+  min-height: 31px;
+  border-bottom: 1px solid rgba(50, 65, 92, 0.4);
+}
+
+@media all and (max-width: 600px) {
   .global-warning-text {
     display: none;
   }
+
+  .global-warning .warning-icon {
+    background-color: rgba(255, 255, 255, 0.7);
+    box-shadow: 0px 0px 2px 4px rgba(255, 255, 255, 0.7);
+    border-radius: 10px;
+  }
 }
 
 /*** notification icons ***/
 
 .warning-icon {
-  list-style-image: url("chrome://global/skin/icons/warning-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
 .error-icon {
-  list-style-image: url("chrome://global/skin/icons/error-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
 .pending-icon,
 .info-icon {
-  list-style-image: url("chrome://global/skin/icons/information-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
+  margin: 3px 0;
+}
+
+.addon-view[pending="disable"] .pending-icon,
+.addon-view[pending="uninstall"] .pending-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-negative.png");
+  width: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
+
+/*** view alert boxes ***/
+
+.alert-container {
+  -moz-box-align: center;
+}
+
+.alert-spacer-before {
+  -moz-box-flex: 1;
+}
+
+.alert-spacer-after {
+  -moz-box-flex: 3;
+}
+
+.alert {
+  -moz-box-align: center;
+  padding: 10px;
+  color: #373D48;
+  font-size: 12px;
+  border: 1px solid #A8B8D1;
+  border-radius: 8px;
+  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(236, 241, 247, 0.7));
+  box-shadow: 0 -3px 0 rgba(58, 78, 103, 0.05) inset,
+              0 3px 0 rgba(175, 195, 220, 0.3);  
+}
+
+.alert .alert-title {
+  font-weight: bold;
+  font-size: 200%;
+  margin-bottom: 15px;
+}
+
+.alert .addon-control {
+  margin: 1em 2em;
+}
+
+.loading {
+ list-style-image: url("chrome://global/skin/icons/loading_16.png");
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+
+
 /*** category selector ***/
 
 #categories {
   -moz-appearance: none;
   border: none;
   -moz-margin-end: -1px;
   background-color: transparent;
   position: relative;
+  margin-top: 31px;
 }
 
 .category {
   -moz-appearance: none;
+  color: #252F3B;
   border-width: 1px;
-  -moz-border-end-width: 0;
   border-style: solid;
   border-color: transparent;
   padding: 10px 4px;
   -moz-box-align: center;
   overflow: hidden;
-  min-height: 0px;
+  min-height: 0;
 }
 
 .category:-moz-locale-dir(ltr) {
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
 }
 
 .category:-moz-locale-dir(rtl) {
   border-top-right-radius: 5px;
   border-bottom-right-radius: 5px;
 }
 
 .category[disabled] {
-  height: 0px;
+  height: 0;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category:not([disabled]) {
   height: 52px;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category[selected] {
-  background-color: #d4d9e1;
+  background-color: rgba(255, 255, 255, 0.35);
   color: -moz-dialogtext;
-  border-color: black;
+  font-weight: bold;
+  border-color: rgba(50, 65, 92, 0.4);
+  -moz-border-end-color: #C9CFD7;
 }
 
 .category-name {
   font-size: 150%;
 }
 
+/* Maximize the size of the viewport when the window is small */
+@media all and (max-width: 800px) {
+  .category-name {
+    display: none;
+  }
+}
+
 .category-badge {
   background-color: #55D4FF;
   padding: 2px 8px;
-  margin: 6px 0px;
+  margin: 6px 0;
   border-radius: 10000px;
   color: #FFF;
   font-weight: bold;
   text-align: center;
 }
 
 .category-badge[value="0"] {
   visibility: hidden;
@@ -250,203 +285,207 @@
 #category-recentUpdates > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
 }
 
 
 /*** header ***/
 
 #header {
-  margin-bottom: 20px;
+  margin-bottom: 18px;
 }
 
-#header-name, #header-link {
-  color: #555;
-  text-shadow: 1px 1px 1px #EEE;
-}
-
-#header-name {
-  font-size: 180%;
+.nav-button {
+  list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
 }
 
-#header-link {
-  -moz-appearance: none;
-  border: none;
-  background: transparent;
-  font-size: 120%;
-  cursor: pointer;
-  list-style-image: url("chrome://mozapps/skin/extensions/go-back.png");
+#back-btn:-moz-locale-dir(ltr),
+#forward-btn:-moz-locale-dir(rtl) {
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
+  border-right: none;
+  -moz-image-region: rect(0, 20px, 20px, 0);
 }
 
-#header-link .button-icon {
-  -moz-margin-end: 6px;
-}
-
-#header-searching {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
+#back-btn:-moz-locale-dir(rtl),
+#forward-btn:-moz-locale-dir(ltr) {
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
+  -moz-image-region: rect(0, 40px, 20px, 20px);
 }
 
 #header-utils-btn {
-  -moz-appearance: none;
   min-width: 4.5em;
-  border-width: 1px;
-  -moz-border-top-colors: #999;
-  -moz-border-bottom-colors: #999;
-  -moz-border-left-colors: #999;
-  -moz-border-right-colors: #999;
-  border-radius: 8px;
-  background-image: -moz-linear-gradient(#FFF, #BBB);
   list-style-image: url("chrome://mozapps/skin/extensions/utilities.png");
+  -moz-margin-end: 18px;
 }
 
-#header-utils-btn:hover,
-#header-utils-btn[open="true"] {
-  -moz-border-top-colors: #777;
-  -moz-border-bottom-colors: #777;
-  -moz-border-left-colors: #777;
-  -moz-border-right-colors: #777;
+#header-search {
+  margin: 0;
 }
 
-#header-utils-btn[open="true"] {
-  box-shadow: inset 3px 3px 5.5px #555;
-}
-
-#header-utils-btn:-moz-focusring > .button-box {
-  border: none;
+#header-search:not([focused]) {
+  opacity: 0.7;
 }
 
 .view-header {
   padding: 4px;
-  margin: 0px;
-  border-bottom: 1px solid #A8A8A8;
+  margin: 0;
+  min-height: 31px;
+  border-bottom: 1px solid rgba(50, 65, 92, 0.4);
+  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.05));
 }
 
 
 /*** sorters ***/
 
 .sort-controls {
   -moz-appearance: none;
 }
 
 .sorter {
   -moz-appearance: none;
   border: none;
+  color: #41434B;
   background-color: transparent;
   border-radius: 10000px;
-  padding: 0px 6px;
-  margin: 0px 6px;
+  padding: 0 6px;
+  margin: 0 6px;
   min-width: 12px !important;
   -moz-box-direction: reverse;
 }
 
 .sorter[checkState="1"],
-.sorter[checkState="2"] {
-  background-color: #DADADA;
+.sorter[checkState="2"],
+.sorter:active:hover {
+  text-shadow: #FFF 0 1px 1px;
+  background-color: #C0C3CB;
+  box-shadow: inset #A3A6AC 0 1px 1px, #FFF 0 1px 1px;
+}
+
+.sorter:hover {
+  text-shadow: #FFF 0 1px 1px;
+  background-color: #C0C3CB;
 }
 
 .sorter[checkState="1"] {
   list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
 }
 
 .sorter[checkState="2"] {
   list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
 }
 
 .sorter .button-icon {
   -moz-margin-start: 4px;
 }
 
 
-/*** empty list notification ***/
-
-.empty-list-notice {
-  -moz-box-align: center;
-}
-
-.empty-list-notice > button {
-  margin: 20px;
-}
-
-
 /*** list ***/
 
 .list {
   -moz-appearance: none;
-  margin: 0px;
+  margin: 0;
   border: none;
   background-color: transparent;
 }
 
 .addon {
-  border-bottom: 1px solid #F2F2F2;
+  border-bottom: 1px solid #B6B1B9;
   padding: 5px;
+  color: #373D48;
 }
 
 .addon[status="installing"] {
   -moz-box-align: center;
 }
 
 .details {
   cursor: pointer;
   margin: 0;
   -moz-margin-start: 10px;
 }
 
 .icon-container {
   width: 48px;
   height: 48px;
-  margin: 7px;
+  margin: 22px 7px 7px 7px;
 }
 
 .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
   max-width: 48px;
   max-height: 48px;
 }
 
+.addon[active="false"] .icon {
+  filter: url("chrome://mozapps/skin/extensions/extensions.svg#greyscale");
+}
+
 .addon-view[type="theme"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
 }
 
 .addon-view[type="locale"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
 }
 
 .addon-view[type="plugin"] .icon {
   list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
 }
 
-.name-container {
+.name-container,
+.addon[status="installing"] .name {
   font-size: 150%;
-  margin-bottom: 0px;
+  margin-bottom: 0;
+  font-weight: bold;
+  color: #000;
+  text-shadow: 1px 1px 1px #FFF;
+}
+
+.creator {
+  font-weight: bold;
+}
+
+.creator .text-link {
+  color: #0066CC;
 }
 
 .description-container {
   margin-top: 8px;
   -moz-margin-start: 6px;
 }
 
 .description {
   margin: 0;
 }
 
-.warning, .pending, .error, .info {
-  -moz-margin-start: 47px;
+.warning,
+.pending,
+.error {
+  -moz-margin-start: 48px;
+  font-weight: bold;
+  text-shadow: 1px 1px 1px #FFF;
+}
+
+.addon-view .warning {
+  color: #916D15;
 }
 
-.addon-view:not([selected]) .warning {
-  color: #90792E;
+.addon-view .error {
+  color: #864441;
 }
 
-.addon-view:not([selected]) .error {
-  color: #7C322B;
+.addon-view .pending {
+  color: #1B7123;
 }
 
-.addon-view:not([selected]) .pending {
-  color: #4F7939;
+.addon-view[pending="disable"] .pending,
+.addon-view[pending="uninstall"] .pending {
+  color: #62666E;
 }
 
 .addon-view[notification="warning"] {
   background-image: -moz-linear-gradient(rgba(255, 255, 0, 0.2), rgba(255, 255, 0, 0.1));
 }
 
 .addon-view[notification="error"] {
   background-image: -moz-linear-gradient(rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.1));
@@ -464,32 +503,32 @@
 
 .addon-view[pending="disable"],
 .addon-view[pending="uninstall"] {
   background-image: -moz-linear-gradient(rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0.1));
 }
 
 .addon .relnotes-container {
   -moz-box-align: start;
-  height: 0px;
+  height: 0;
   overflow: hidden;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon[show-relnotes] .relnotes-container {
   opacity: 1;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon .relnotes-header {
   font-weight: bold;
-  margin: 10px 0px;
+  margin: 10px 0;
 }
 
 .addon .relnotes-toggle {
   -moz-appearance: none;
   border: none;
   background: transparent;
   font-weight: bold;
   -moz-box-direction: reverse;
@@ -500,60 +539,102 @@
 .addon .relnotes-toggle > .button-box > .button-icon {
   -moz-padding-start: 4px;
 }
 
 .addon[show-relnotes] .relnotes-toggle {
   list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
 }
 
+.addon[active="false"] {
+  background-color: rgba(135, 135, 135, 0.1);
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0),
+                                         rgba(135, 135, 135, 0.1));
+}
 
-/*** item - uninstalled ***/
+.addon-view[active="false"],
+.addon-view[active="false"] .name-container {
+  color: #686A6B;
+}
 
-.addon[status="uninstalled"] {
-  border: none;
+.addon-view[notification="warning"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
+                    -moz-linear-gradient(rgba(255, 255, 0, 0.04),
+                                         rgba(255, 255, 0, 0));
+  background-repeat: repeat-x;
+}
+
+.addon-view[notification="error"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-error.png"),
+                    -moz-linear-gradient(rgba(255, 0, 0, 0.04),
+                                         rgba(255, 0, 0, 0));
+  background-repeat: repeat-x;
 }
 
-.addon[status="uninstalled"] > .container {
-  -moz-box-align: center;
-  padding: 4px 20px;
-  background-color: #FDFFA8;
-  border-radius: 8px;
-  font-size: 120%;
+.addon-view[pending="enable"],
+.addon-view[pending="upgrade"],
+.addon-view[pending="install"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-positive.png"),
+                    -moz-linear-gradient(rgba(0, 255, 0, 0.04),
+                                         rgba(0, 255, 0, 0));
+  background-repeat: repeat-x;
 }
 
-.addon[status="uninstalled"][selected] {
-  background-color: transparent;
+.addon-view[pending="disable"],
+.addon-view[pending="uninstall"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-negative.png"),
+                    -moz-linear-gradient(rgba(128, 128, 128, 0.04),
+                                         rgba(128, 128, 128, 0));
+  background-repeat: repeat-x;
 }
 
+.addon[selected] {
+  background-color: rgba(105, 125, 149, 0.39);
+  color: black;
+}
+
+.addon[selected] .name-container {
+  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.7);
+}
+
+.addon[active="false"][selected] .name-container {
+  color: #3F3F3F;
+}
 
 
 /*** search view ***/
 
 #search-filter {
   padding: 5px 20px;
   font-size: 120%;
   overflow-x: hidden;
+  border-bottom: 1px solid rgba(50, 65, 92, 0.4);
 }
 
 #search-filter-label {
   font-weight: bold;
-  color: grey;
+  color: #666;
 }
 
 .search-filter-radio {
   -moz-appearance: none;
-  padding: 0px 6px;
-  margin: 0px 3px;
+  padding: 0 10px;
+  margin: 0 3px;
   border-radius: 10000px;
 }
 
 .search-filter-radio[selected] {
-  background-color: grey;
-  color: white;
+  text-shadow: #FFF 0 1px 1px;
+  background-color: #C0C3CB;
+  box-shadow: inset #A3A6AC 0 1px 1px, #FFF 0 1px 1px;
+}
+
+.search-filter-radio:hover {
+  text-shadow: #FFF 0 1px 1px;
+  background-color: #C0C3CB;
 }
 
 .search-filter-radio .radio-check {
   display: none;
 }
 
 .search-filter-radio .radio-icon {
   display: none;
@@ -561,58 +642,49 @@
 
 #search-allresults-link {
   margin-top: 1em;
   margin-bottom: 2em;
 }
 
 /*** detail view ***/
 
-#detail-view[active="false"] .fade {
-  opacity: 0.6;
-}
-
 #detail-view .loading {
   opacity: 0;
 }
 
 #detail-view:not([loading]) .loading {
   visibility: collapse;
 }
 
 #detail-view[loading-extended] .loading {
-  -moz-box-align: center;
-  -moz-box-pack: center;
   opacity: 1;
   -moz-transition-property: opacity;
   -moz-transition-duration: 1s;
 }
 
-#detail-view .loading > image {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
-}
-
 .detail-view-container {
-  padding: 2em;
+  padding: 0 2em 2em 2em;
   font-size: 110%;
 }
 
 #detail-notifications {
+  margin-top: 1em;
   margin-bottom: 2em;
 }
 
 #detail-notifications .warning,
 #detail-notifications .pending,
-#detail-notifications .error,
-#detail-notifications .info {
+#detail-notifications .error {
   -moz-margin-start: 0;
 }
 
 #detail-icon {
   -moz-margin-end: 10px;
+  margin-top: 6px;
 }
 
 #detail-summary {
   margin-bottom: 2em;
 }
 
 #detail-name-container {
   font-size: 200%;
@@ -627,238 +699,338 @@
 }
 
 #detail-desc {
   -moz-margin-start: 6px;
   /* This is necessary to fix layout issues with multi-line descriptions, see
      bug 592712*/
   outline: solid transparent;
   white-space: pre-wrap;
+  min-width: 8em;
 }
 
 #detail-contributions {
   border-radius: 5px;
-  border: 1px solid #B0C8D1;
+  border: 1px solid rgba(50, 65, 92, 0.3);
   margin-bottom: 2em;
   padding: 1em;
-  background: #D8DDE4;
+  background-color: rgba(255, 255, 255, 0.35);
 }
 
 #detail-contrib-description {
   font-style: italic;
   margin-bottom: 1em;
+  color: #373D48;
 }
 
 #detail-contrib-suggested {
   color: grey;
+  font-weight: bold;
 }
 
 #detail-contrib-btn {
+  -moz-appearance: none;
   color: #FFF;
-  font-weight: bold;
-  text-shadow: #4C9EF8 -1px -1px 1px;
-  border: 1px solid #4C9EF8;
-  background-image: -moz-linear-gradient(#93C5FA, #4C9EF8);
+  border: 1px solid #3A4EEE;
+  border-radius: 3px;
   list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
+  background-color: #2F73EF;
+  background-image: -moz-linear-gradient(rgba(251, 252, 253, 0.70), rgba(246, 247, 248, 0.27) 49%, 
+                                         rgba(231, 232, 233, 0.25) 51%, rgba(225, 226, 229, 0.1));
+}
+
+#detail-contrib-btn .button-box {
+  padding: 0 6px 1px 6px;
 }
 
-#detail-contrib-btn:hover {
+#detail-contrib-btn .button-icon {
+  -moz-margin-end: 3px;
+}
+
+#detail-contrib-btn:not(:active):hover {
   border-color: #4271FF;
-  background-image: -moz-linear-gradient(#49CEFF, #4271FF);
+  background-color: #0459F7;
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1),
+              0 0 3.5px hsl(190, 90%, 80%);
+  -moz-transition: background-color .4s ease-in,
+                   border-color .3s ease-in,
+                   box-shadow .3s ease-in
+}
+
+#detail-contrib-btn:active:hover {
+  background-color: #8FA1C1;
+  border-color: rgba(0, 0, 0, 0.65) rgba(0, 0, 0, 0.55) rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 6.5px rgba(0, 0, 0, 0.4) inset,
+              0 0 2px rgba(0, 0, 0, 0.4) inset;
 }
 
 #detail-grid {
   margin-bottom: 2em;
 }
 
 .detail-row[first-row="true"],
 .detail-row-complex[first-row="true"] {
   border-top: none;
 }
 
 .detail-row,
 .detail-row-complex {
-  border-top: 1px solid grey;
+  border-top: 2px solid;
+  -moz-border-top-colors: rgba(28, 31, 37, 0.2) rgba(255, 255, 255, 0.2);
   -moz-box-align: center;
 }
 
 .detail-row-value {
   -moz-margin-start: 0;
 }
 
+#detail-controls {
+  margin-bottom: 1em;
+}
+
+#detail-view[active="false"]:not([pending]):not([notification]) {
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0.1),
+                                         rgba(135, 135, 135, 0));
+}
+
 
 /*** creator ***/
 
 .creator > label {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
 }
 
 .creator > .text-link {
   margin-top: 1px;
   margin-bottom: 1px;
 }
 
 
 /*** rating ***/
 
 .meta-rating {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
-  vertical-align: text-top;
-}
-
-.meta-rating[showrating="average"] > .star {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
-  padding: 0px 1px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
+  margin-top: 2px;
 }
 
-.meta-rating[showrating="user"] > .star {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-unrated.png");
-  padding: 2px 3px;
+.meta-rating > .star {
+  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
+  padding: 0 1px;
 }
 
-.meta-rating > .star[on="true"],
-.meta-rating[showrating="user"] > .star[hover] {
+.meta-rating > .star[on="true"] {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
-  padding: 0px 1px;
 }
 
 
 /*** download progress ***/
 
 .download-progress {
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-radius: 10000px;
-  border: 1px solid #555;
-  box-shadow: #777 1px 1px 1.5px;
+  background-image: -moz-linear-gradient(top, #DCDEE3, #CBCED6);
+  border: 1px solid #858898;
+  border-radius: 3px;
+  box-shadow: inset #E3E8EC 0 1px 1px, rgba(227, 232, 236, 0.4) 0 1px 1px;
   width: 200px;
-  height: 24px;
-  margin: 0px 8px;
+  height: 21px;
+  margin: 0 8px;
 }
 
+
+
 .download-progress .start-cap,
 .download-progress[complete] .end-cap,
 .download-progress .progress .progress-bar {
   -moz-appearance: none;
-  background-image: -moz-linear-gradient(#84A9D9, #5183C0);
+  background-image: -moz-linear-gradient(#6AC47E, #4FAC6A);
+  margin-top: -1px;
+  margin-bottom: -1px;
+  border: 1px solid #2E773A;
+}
+
+.download-progress .start-cap {
+  -moz-margin-start: -1px;
+  -moz-border-end-width: 0;
+}
+
+.download-progress .end-cap {
+  -moz-margin-end: -1px;
+  -moz-border-start-width: 0px !important;
+}
+
+.download-progress .progress .progress-bar  {
+  border-left-width: 0;
+  border-right-width: 0;
 }
 
 .download-progress .progress {
+  -moz-appearance: none;
   background-color: transparent;
-  /* Force the progress meter to use the default binding rather than the OSX
-     animated binding */
-  -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter") !important;
+  padding: 0;
+  margin: 0;
+  border: none;
 }
 
-.download-progress .start-cap, .download-progress .end-cap {
-  width: 12px;
+.download-progress .start-cap,
+.download-progress .end-cap {
+  width: 4px;
 }
 
 .download-progress .start-cap:-moz-locale-dir(ltr),
 .download-progress .end-cap:-moz-locale-dir(rtl) {
-  border-radius: 10000px 0 0 10000px;
+  border-radius: 3px 0 0 3px;
 }
 
 .download-progress .end-cap:-moz-locale-dir(ltr),
 .download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 10000px 10000px 0;
-}
-
-.download-progress .progress {
-  -moz-appearance: none;
-  padding: 0px;
-  margin: 0px;
-  border: none;
+  border-radius: 0 3px 3px 0;
 }
 
-.download-progress .pause, .download-progress .cancel {
+.download-progress .pause,
+.download-progress .cancel {
   -moz-appearance: none;
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-width: 1px 0px 0px 1px;
-  padding-right: 1px;
-  border-style: solid;
-  -moz-border-top-colors: #FFF;
-  -moz-border-left-colors: #FFF;
-  border-radius: 10000px;
-  min-width: 16px;
-  width: 16px;
-  height: 16px;
+  background-color: rgba(255, 255, 255, 0.15);
+  border: 1px solid rgba(0, 0, 0, 0.4);
+  padding: 3px;
+  border-radius: 3px;
+  min-width: 0;
   margin: 3px;
-  box-shadow: #777 1px 1px 1px;
+}
+
+.download-progress .pause .button-text,
+.download-progress .cancel .button-text {
+  display: none;
+}
+
+.download-progress .pause .button-icon,
+.download-progress .cancel .button-icon {
+  -moz-margin-start: 0;
 }
 
 .download-progress .pause {
   list-style-image: url('chrome://mozapps/skin/extensions/pause.png');
 }
 
 .download-progress .cancel {
   list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
 }
 
 .download-progress .status-container {
   -moz-box-align: center;
 }
 
+.download-progress .status {
+  text-shadow: #FFF 0 0 2px;
+}
+
 
 /*** install status ***/
 
 .install-status {
   -moz-box-align: center;
 }
 
 
 /*** check for updates ***/
 
 #updates-container {
   -moz-box-align: center;
 }
 
-#updates-installed, #updates-downloaded {
+#updates-installed,
+#updates-downloaded {
   color: #00BB00;
   font-weight: bold;
 }
 
 #update-selected {
   margin: 12px;
 }
 
 
 /*** buttons ***/
 
 .addon-control {
   -moz-appearance: none;
-  padding: 0px 5px;
-  border: 1px solid #A2A6AD;
-  border-radius: 10000px;
-  background-image: -moz-linear-gradient(#F9F9F9, #DFDFDF);
-}
-
-.addon-control:hover {
-  border-color: #75797F;
-}
-
-.addon-control.enable:hover {
-  box-shadow: #00FF00 0px 0px 4px -1px;
-}
-
-.addon-control.disable:hover {
-  box-shadow: #FFD800 0px 0px 4px -1px;
-}
-
-.addon-control.remove:hover {
-  box-shadow: #FF0000 0px 0px 4px -1px;
+  padding: 2px 5px;
+  border: 1px solid #858898;
+  border-radius: 3px;
+  background-image: -moz-linear-gradient(top, #DCDEE3, #CBCED6);
+  box-shadow: inset #E3E8EC 0 1px 1px, rgba(227, 232, 236, 0.4) 0 1px 1px;
 }
 
 .addon-control[disabled="true"] {
   display: none;
 }
 
+.addon-control:hover {
+  border-color: @toolbarbuttonBorderColor@;
+}
+
+.addon-control:active:hover {
+  box-shadow: inset rgba(0, 0, 0, 0.5) 1px 1px 4px;
+  background-image: -moz-linear-gradient(top, #949599, #A8A9AD);
+  border-color: #50525B;
+}
+
+.addon-control:-moz-window-inactive {
+  border-color: @toolbarbuttonInactiveBorderColor@;
+}
+
 .button-link {
   -moz-appearance: none;
   background: transparent;
   border: none;
   text-decoration: underline;
-  color: -moz-nativehyperlinktext;
+  color: #0066CC;
   cursor: pointer;
   min-width: 0;
   margin: 0 6px;
 }
+
+.text-link {
+  color: #3386D5;
+}
+
+.button-link:hover,
+.text-link:hover {
+  color: #3DA1FF;
+}
+
+.header-button {
+  -moz-appearance: none;
+  min-width: 0;
+  padding: 0 3px;
+  margin: 0;
+  height: 22px;
+  border: 1px solid @toolbarbuttonBorderColor@;
+  border-radius: @toolbarbuttonCornerRadius@;
+  box-shadow: 0 1px rgba(255, 255, 255, 0.2);
+  background: @toolbarbuttonBackground@;
+  background-origin: border-box;
+  opacity: 0.8;
+}
+
+.header-button .toolbarbutton-text {
+  display: none;
+}
+
+.header-button[disabled="true"] .toolbarbutton-icon {
+  opacity: 0.4;
+}
+
+.header-button:not([disabled="true"]):hover {
+  opacity: 1;
+}
+
+.header-button:not([disabled="true"]):active:hover,
+.header-button[open="true"] {
+  background: @toolbarbuttonPressedBackgroundColor@;
+  text-shadow: @loweredShadow@;
+  box-shadow: @toolbarbuttonPressedInnerShadow@, @loweredShadow@;
+}
+
+.header-button:-moz-window-inactive {
+  border-color: @toolbarbuttonInactiveBorderColor@;
+  background-image: @toolbarbuttonInactiveBackgroundImage@;
+}
+
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/pinstripe/mozapps/extensions/extensions.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+  <filter id="greyscale">
+    <feColorMatrix values="0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0      0      0      1 0"/>
+  </filter>
+</svg>
deleted file mode 100644
index abc828811386c6030a022169c0e12f8c6a22311d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index 13471ee0e407a456a87afde5c2421b5120f87264..2761f19255511393ac671c0d075d4af2f63cf316
GIT binary patch
literal 1559
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5MbqpPEnv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uNzLiprioNom!MxmYU*Ll%J~r_OewbZnrq&b_+yr3U0T!;MA)R
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5?}NPxde{Fm-#nIEGZ*>Iw4o5q1>0_w!~h
zSCERr!GzUr9T%H89hu{<u&64!@y|1nQ_1Y<l;~vNTk+*dr10Lt3(d#oOIUVveq^cA
z6YXhjQwrERW6HKEUb~GSoA374@clFM?DX3AXU}}USMz>iEqis(Dc6ofjivuxcAF<Y
zO}DG9$oP|b@l`{SgiLXN>df{(b@A^{EMETizw0Bluv<lTUN>1!Z<;jc<B!?f-?MKB
z{O>RHo%2d1+k(|MPD*$i`UQWy>GJLBiyI&9Cr;Q_@ZOEJE{3mh;a!une)Ch;6`vD7
z7%Ae!*0ek7c39ER46U!VUYa{4=Fic{n^Yq6cG(o3*>k*Y6xpp0OZXa}sta-}R`}Pd
zHB(^GL9s=yTsJkA<_H8`yOH|4&c;me=>(<jGgs1Q#TRJydarh1)Ob|++9M@<Z$K#L
z6K#Qe`Z+g4v~IV*zqj*l@8A3jEoa{GZL{09G^0q``C37xZ#cu0hE460qD3b<t$g-y
z;ptA}<-fTVG=tY3_ffLkwtsK!9kETJT1O{FHgJdv{OSDEu$#k6SwwP=hEntM=?(^b
zDJzV{9ZHH`9laM&;Ky;5W4hJbPg2hhHXOKpey;3_y=6}?G2Q7uFzI?y>*q@cOKQ>t
z|1%_sEsDt%vUKhUHvRgw^j0s^XX)y9j^&qlrifmV4L&znqdE7GSe)va2Dy_zTcd6q
zJ!Sc@YR8?HzEx+V`0qAu%6)9Gy7bwB0LfDvw{)-ee=%~`*wDIUQPSO+VrLx6_Nwrg
zv>m?ob>WFQlP2A%Hn=1@``4QE6%+jQuRqARD>liC{m@M74S9EWSk<n2AHlY8y~CR4
z9@9TQ`T2TZy1u*rlTWK}uk!R*T5->6CHom+{ot+F8A=%J9^7^Nu$_UKLB&P=;Htw%
Q^g%_nr>mdKI;Vst0E?ts4*&oF
deleted file mode 100644
index c6f59558a3e5c39af65da8d09b6fee38b58f0ebb..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index c26d2dc2a0c24670ef8e287c523080c3f415aee0..336dd8f6ebb04770309496515714ff9ad6a81de3
GIT binary patch
literal 1662
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5Mbqobpfv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uM<waprioNom!MxmYU*Ll%J~r_OewbZns$Ab_+yr3U0Sp;?%1T
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5>WJtK~8<Fn#iLaSW-rRWc>kLnKh-`1!vx
zO4G|ii<EuOiY(Es<=G^#>62oOXV(IiH{KIAym1w1(Kx}*{mS)M%Yv3AO*~C<uP%D|
z2pa`mx_ar)KcDM=3)0e``#oQ`Qp4)Q^Lv)x|J55mpJVNubGz;AI`MvP`56-@{Lgth
zU8=JFeVW#dZ5?ZGZg{nLHsh>$V$YvcxK^$+54wA==KG8u!BY)Js%mQPr>1X_R8gE4
zciy9W!<imeE8|}aquMOWn;u<o2sBBscy7a&lH+{h_OVHG&hY$A+2h^rvYpR5sEWTP
zyEf#As3@b}gvBfd&kk4~n%0{y<+sD|1*_Ayv?Xm`lWpscMG6R;Db((Et!+M^w_=vM
zWs=U81j*`+W{#2KUK$hHe(h0~>;I*at$sQvlxfywrs+~lS0x$T{zM#f-Jm1wl*lU9
z#K+Ob!osBX<=2S^cbKf#Tg04|S^eKUkb7C`GGJ_RG_)S`IK$&~yjoa7bixBZ$EMRQ
z25st=t#$AG?w7C7Gk>4pYOcHb*F{SMnfi;*KXcpKv>wa6BI9Hr>d=wfuz`o8-FL=;
zrT6ZO*lj<`x%~MhS(cuY%a3qHN8P-2<L>m@tJm{6W3T_8{q*(>g%*ap3>*r@HC+zr
z)14d2*8QtE`L^uNjj-sgSNC6<Ydqcl?tAHbrKk5VSP=POVONvn)`JdVM_O)J7@v0d
zu=u?9Y56)A@8es&&RZmJxFuV8*5~Zk7i`^(Deo?2BzB&8aVf@}!(z_uXNB42zOI)x
zEDI{oNYQOEe)ROr0X>E@$;m1n4_;1t+NabLDE;TNbEZ*zW|+mqd0Pd1c~hb<a`f~G
zOGqs>usq9pv}N)(mzB|nMI0MMXL=l5o9D%O!qi4BTk%lT7rwrLA79%KA9?d`+F@5y
zea?MupMUSV+_`RE&Gyqw&hvezP7s~Em(R%HOmp()$oTK#A^Ud)M3^-!6ufeN&!1r4
z_p`FP_m}V4*L2tWK*XLF@00m6b3SNmOi*<wUHIqqHKD-jfWj5eo<6W=WMjCn(q8b{
S@mbG7HG-$BpUXO@geCyZ+JpiC
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1dc2d8504cbf625fffc9d5707ef9eb459c70fc0e
GIT binary patch
literal 1979
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..901ab1ec29fa9d08b240f68653f27f4b0bbda842
GIT binary patch
literal 2027
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
F{{wX7A_V{d
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..370ceec0f241b320339bd7a6239eafd4f19944cf
GIT binary patch
literal 1852
zc$|Gz3rtgI6s{;J2=Y=U0&=;9MAWvoEswRMLg}Tn!5W0Jp(0S)TPWJz(q5!6<uP$o
zM5KreP$0@faEO?pGMJEok~+v(BtZqyiO2+TI7N^#bhjw%k>H>Fk8|>U=RfEC-_1Q5
zyd%)UY=aqrK(OHR;1GOQ<1>7f3BGo2(%a&jJr)p-g`!d{Nu)vuYzZ2J0DQS9770N_
zlH`P2h!26V9Fz&ev2ek5rWlozMFtF6BUcg(!^c;n6p8mC7!ZTR$`mYcqNNQ4WD*wm
zg{J@#C^<-+jF+N9LQ{4K#VPy53<>DF4e-%0@c?oJ69F3eeubK;VS)2;nfTe@rhvda
z1lz{~-zOC=2nIN)3IROH5J?PqL4X&POr?8xdwXvMXb=^mKr{-KMxuH%=`<z;0Urj4
z-=>mCnISOu!(F(=0^=}D$)r${l9I?tbTX=nrBE3Rh9L%xM#2#!b+Q5zX-En+aUlYX
zsKqLo5|g0{z+j7F&_s*{f(s?cm5X5&>JM$g8%EKHloTo%qWlXe5PTdemoK8#SO_Bh
zI9e@CRw9%TM2#k@#Q4KWi3YNg$x$I93{?qHbpJvZgX2&PRmY)9fD`Ho2t;C;!eGzi
z1p+2tp~gfCF~WygAnqZ{WD=%#08Hi3X*9OKCyh#lxeQtWo8!;%@Zxa&{b6rtfeWMJ
zL^-0s7Pyjsxb!8t1}VH}BP!VeM8Z{}a$vq>rflh4prvzp&y_5l3w22@1y6?ZzlUCM
z;p#CQ7iEhZi^4|~xY|{?tlvHjUW0!v4Sbj_)bx*+4yY<1b3ggn1Jdd9EwjCc?wT~_
z`DKk-k$-Fkf}D&jiZf4&yE==!+TLYE6=;alt0zy)H9z-$=XOtn+IqUaU>~OuAJ`10
zy@5v}hn<ARFSjHL?w~wKig5GN4+i}jS!v8&rAuA^N7)nmcBA3RBkCib+!rSIrkAz4
zFgie@YH~OA$)2_uH}jdP^x@~%c1u?T=H0z~HE+t^<;2S51I2)^uOdFL)~d^{qFUdW
zaxkFZ(g92!;5mSIj3!tEuktSD>(9;sF1m{`4*c2NSN&k9F=+X^fm69$N9i)xdD&Z*
z#*QR3vO`@>&jd;l-6dLk7<`rJ%CJi=w0@P**t;qFOu0Crx{teaco(-RUoXti(=(pQ
zexq)DSX2G^gChD^RbPnl?Izyu&vbThVT@ya>}`72p|Md9c*=ccoMZ7&>qZ6?uN{tF
zaSW`g4~)+qFDmk{wB<&mJND~OL#}4W9Q%1mIiF6HbclaGZzQoP8GCfvdcR+YF*swt
z(;+0j?urSwkx;ygE!X;V@wQA*sb876nilj8*KtRja%upZ&Z)z8x!>63mfKBHt{0|O
zm!=N7uj`wUJ7ew6BxTR+GLKl;jhB+opL+WiD|gYwe(T11oZ6|~P<5*1cw;cpb3NPT
zdDADgH}!kzS<@>`Z(J5$&^ESf@8=Cl)9QZFXPx71$+_7(KGD`hDBf&U+oO#DYmIa^
zX{$l!=o{_eY14cOFp!`#|1L)l<iBYdc~}(|RLSRV+Dkm?H@4GGR%jh`bghwaovhS4
zD7*Wws0+=!uAJ!W+-kFUi90TUZSclIdr(gI*G{^qu60`_TX1~<8r?Fb`)~mqSz^6L
zyM3MZ2M=N<&o{>koP&n4C49Xi!nMPR=##u=v(;#>wST4aypj^m&V`qRm8}_{W!Qe%
zS{50Y4Z4$h3Zr7Sk6tN$y{n>OC|lo{U?gzpxpeUg^D|+(x~DtkR2^}!qId0R*<u(M
z_)k%$)o9j#9A~(2HmTg%+d?la5sRs}!e5db*si7=>7$;<tx-?c5+foc^?sE#-Bz+p
zoM@?wMZV^V@r(~?4~9v#9zU&ext*o2pm8b_ItSmGhb8!>XCje>);Y)U^0wL;aQ6%B
z!Am!BoaKD6!OJD2`HIhhl}Sg3GP3i&H`1M(_u#$iFyJ1iEi)n9@mXKf+%vkz@IT`R
L?11b2qrdtaSZ~G*
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..69463fb1af3de8f2cb8c9acc2fcbd61b226cb114
GIT binary patch
literal 2177
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
index 9e362f48811bf4758fe276b40314048b04f7d812..7e77aa202d1ff66483a4b7814e870f913258cfe3
GIT binary patch
literal 726
zc$@*&0xA88P)<h;3K|Lk000e1NJLTq000sI000sQ1^@s6R?d!B00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9
za%BKeVQFr3E>1;MAa*k@H7+$tiu~XJ00KryL_t(IPt{aQYZFlvE)=S`aaB-pDF|t8
zF=<W6JCn!EWHQsqOlI;hX)qyasHqAnMfd&+rPyFszM;&b;6nTZD%65IH*+)XwnAN{
z=PL~~HW9jX;PUZ3&bcS|UNScJUwt#~pf%$O?Gb)F)8IGU0T(TE+8r22p~s(aykVgW
z1cwfv*7cE%XXnB$kB|H1@x^y<&PUhW-q^T5lJ17%stp8(4j(znUmMy?l=G%PB6WkD
z!h9jo@dkyh5VydhDcuHwLx+#Xe8$j+HtO|ymzVB7?8Jne9pyC^NoHA;*BK`o#PwsY
zG5D?aqjkz(8u|0coHEO;Pw{l#&S=$d?><;<(qtew^kQ{+i!|5JCbxnq%NG{*f}HHo
z1S}yHSZCvPg9<L900<796AXqN@>Dl?n~|jI#6_c<%oG@}+-9jvk-dGtdFAA;;LzbC
zhdk;ACacs}taNtKmbB{8;^h)cN~Ul!1P;BQLB3L3u?8B^=<_&>{r%r+xpx0cT3y7B
z+ku!Q`@`Z@AUO0&{lVvhgFg$%qwdsMMN{fTGLwHP=~X5hH72U%ZbCAhn4s?h!J)$^
z{(|yHkM`8Z30j#~N{(XInObPrOZT2^DpV-v?l2%Ybj7UEITdMxtTMFG^R-t#z1ZB*
zicS0R(`OwTdoEjOFul~Wf#A^LBS-n!Q4jLM*Y7`!^^G^Hcuxqa`3B3Cmu=wjGnj(E
zz4KF}%=v#k$a55!><60dRSS)PeGNXXi8K8h^lx+M?flj05MCfqlfNVo^Z)<=07*qo
IM6N<$f@cL%eE<Le
deleted file mode 100644
index 69463fb1af3de8f2cb8c9acc2fcbd61b226cb114..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/themes/pinstripe/mozapps/jar.mn
+++ b/toolkit/themes/pinstripe/mozapps/jar.mn
@@ -14,28 +14,35 @@ toolkit.jar:
   skin/classic/mozapps/extensions/category-plugins.png            (extensions/category-plugins.png)
   skin/classic/mozapps/extensions/category-recent.png             (extensions/category-recent.png)
   skin/classic/mozapps/extensions/category-available.png          (extensions/category-available.png)
   skin/classic/mozapps/extensions/extensionGeneric.png            (extensions/extensionGeneric.png)
   skin/classic/mozapps/extensions/extensionGeneric-16.png         (extensions/extensionGeneric-16.png)
   skin/classic/mozapps/extensions/themeGeneric.png                (extensions/themeGeneric.png)
   skin/classic/mozapps/extensions/themeGeneric-16.png             (extensions/themeGeneric-16.png)
   skin/classic/mozapps/extensions/localeGeneric.png               (extensions/localeGeneric.png)
-  skin/classic/mozapps/extensions/go-back.png                     (extensions/go-back.png)
   skin/classic/mozapps/extensions/rating-won.png                  (extensions/rating-won.png)
   skin/classic/mozapps/extensions/rating-not-won.png              (extensions/rating-not-won.png)
-  skin/classic/mozapps/extensions/rating-unrated.png              (extensions/rating-unrated.png)
   skin/classic/mozapps/extensions/cancel.png                      (extensions/cancel.png)
   skin/classic/mozapps/extensions/pause.png                       (extensions/pause.png)
   skin/classic/mozapps/extensions/utilities.png                   (extensions/utilities.png)
   skin/classic/mozapps/extensions/heart.png                       (extensions/heart.png)
   skin/classic/mozapps/extensions/navigation.png                  (extensions/navigation.png)
-  skin/classic/mozapps/extensions/warning-stripes.png             (extensions/warning-stripes.png)
+  skin/classic/mozapps/extensions/stripes-warning.png             (extensions/stripes-warning.png)
+  skin/classic/mozapps/extensions/stripes-error.png               (extensions/stripes-error.png)
+  skin/classic/mozapps/extensions/stripes-info-positive.png       (extensions/stripes-info-positive.png)
+  skin/classic/mozapps/extensions/stripes-info-negative.png       (extensions/stripes-info-negative.png)
+  skin/classic/mozapps/extensions/alerticon-warning.png           (extensions/alerticon-warning.png)
+  skin/classic/mozapps/extensions/alerticon-error.png             (extensions/alerticon-error.png)
+  skin/classic/mozapps/extensions/alerticon-info-positive.png     (extensions/alerticon-info-positive.png)
+  skin/classic/mozapps/extensions/alerticon-info-negative.png     (extensions/alerticon-info-negative.png)
+  skin/classic/mozapps/extensions/background-texture.png          (extensions/background-texture.png)
   skin/classic/mozapps/extensions/about.css                       (extensions/about.css)
 * skin/classic/mozapps/extensions/extensions.css                  (extensions/extensions.css)
+  skin/classic/mozapps/extensions/extensions.svg                  (extensions/extensions.svg)
   skin/classic/mozapps/extensions/update.css                      (extensions/update.css)
   skin/classic/mozapps/extensions/eula.css                        (extensions/eula.css)
   skin/classic/mozapps/extensions/blocklist.css                   (extensions/blocklist.css)
   skin/classic/mozapps/passwordmgr/key.png                        (passwordmgr/key.png)
   skin/classic/mozapps/passwordmgr/key-16.png                     (passwordmgr/key-16.png)
   skin/classic/mozapps/passwordmgr/key-64.png                     (passwordmgr/key-64.png)
   skin/classic/mozapps/plugins/contentPluginBlocked.png           (plugins/contentPluginBlocked.png)
   skin/classic/mozapps/plugins/contentPluginCrashed.png           (plugins/contentPluginCrashed.png)
--- a/toolkit/themes/winstripe/mozapps/extensions/about.css
+++ b/toolkit/themes/winstripe/mozapps/extensions/about.css
@@ -1,48 +1,79 @@
+#genericAbout {
+  padding: 0px;
+  min-height: 200px;
+  max-height: 400px;
+  width: 30em;
+}
+
 #clientBox {
-  background-color: #FFFFFF;
-  color: #000000;
+  background-color: -moz-Dialog;
+  color: -moz-DialogText;
+}
+
+@media all and (-moz-windows-compositor) {
+  #genericAbout {
+    -moz-appearance: -moz-win-glass;
+    background: transparent;
+  }
+}
+
+
+.basic-info {
+  padding: 10px;
+}
+
+#extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
+  max-width: 48px;
+  max-height: 48px;
+  -moz-margin-end: 6px;
+}
+
+#genericAbout[addontype="theme"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#genericAbout[addontype="locale"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#genericAbout[addontype="plugin"] #extensionIcon {
+  list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
 }
 
 #extensionName {
-  font-size: large;
-  font-weight: bold;
+  font-size: 200%;
+  font-weight: bolder;
 }
 
 #extensionVersion {
   font-weight: bold;
-  color: #909090;
 }
 
-#genericAbout {
-  padding: 0px 0px 10px 0px;
-  min-height: 200px;
-  width: 30em;
+#extensionDescription {
+  margin-top: 4px;
 }
 
 #groove {
-  margin-top: 0px;
+  margin-top: 8px;
 }
 
-#clientBox {
-  padding: 10px;
-} 
-
-#extensionDescription {
-  color: #404040;
+#extensionDetailsBox {
+  overflow: auto;
+  min-height: 100px;
 }
 
 .boxIndent {
-  -moz-margin-start: 6px;
+  -moz-margin-start: 18px;
 }
 
 #extensionCreator, .contributor {
   margin: 0px;
 } 
 
 .sectionTitle {
-  border-top: 2px solid #C0C0C0;
   padding: 2px 0px 3px 0px;
   margin-top: 3px;
   font-weight: bold;
 }
 
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8740e4911a857dd0d2e479529594fa4bb17adf11
GIT binary patch
literal 3402
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2c5f628ab6001ba2f20a19e20f5d6c556b8f0169
GIT binary patch
literal 1564
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&q@BS$AwLqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pEL%e#eoQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-ywCQmhBU|^cy>EaktajPZB+an}V#P0uZJ9k;x&l4A!Y3)2=CfVUAz~ZRT$XzJ7
z<boC3QYlRVCiAVmixTd%_WSZ*nzJajbKy+KG@oThrp#7bJLme`>iqw*ZxprScFZo`
z_y704;&blj=UMVu*K2ra?(H{VzFm4d_IB6KKHb;v#6<2rH8pT^=kD&B-F14^EGE&?
z$Ii)t!ik%Bw;MA$#m-8Tc~&J@aF>6^>x0(Y^S>o)?YTFPC8og8qh+VsRQ0YdZ*{?g
zCnIuJ{=U^4?bz~Cj)kMWWmS0iwJY}gU%%bsZPkkj<B%%O(KaxuSzn(~BIJE0kLASr
zm0t5#{ZvS{T)OGQ#^tMP&HiOJ3Yl|%{4u@n=FFF3J~P_y`Z*ZLT`;+P{;QM6QsdH1
zOFUB*61FGwIC3PqEcQP<aUy4*S?q)V=a;RzRhcNl5Nxs`XL(I(>dvS<I|s?B>Zu2I
zG`Kway)ylxy86Xs-TPTSJ!@W-ShVcNfo!8=3IERiQ4BTjH&pv%>Z8Hox>P^TFSe_v
zN7`eT(pmOwn`LH)4c5PARdooBmwREwusZ&6>du^B9U<!;%;LQF=AMT1$&|0hensUJ
zK71Q<k1;(bK#MW7$L2&~%!K##Z?xCfY~8=@pQ%Ca-O`I`E&?l@T4&ze**)>$@w!WQ
zLT)F{+84K0fuZuZQSQz;yu7@<6X(4v?vIMTEqBhxUp44tuke(@57VCiy_vHu#q{4#
zb<rMvja~dJE+l$~?3HAAw#(XIKe46n7jx=^RZ((}TLa@*#Ki2s1o%`ci(az&EgtM-
zptG<3dZp=|=?W6H!4_{nXGJS_C`{hEdPVB)@SthZ=Twc0R)3SP+>pEbg4gmxU6D%P
vn+`BB`rVqwXY_L)_lxU|2_FvTGqN%CtDO8gYl*%fsJ!-c^>bP0l+XkKyrE0B
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a186c6b7adaf4d1606a3b717d3ff00e428e8fa41
GIT binary patch
literal 1338
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&qDS4SsPLqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pE7rc6{oQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-yY8|+%lz`(f9)5S5Q;?|N$d%c+*1&*eteb;mIKcb|tL^y<}Yg$=YSXXB5lqH=v
zBDwytZ)<7|RhZhlU}<O+w>0<aElmO(EGBAc_BGXYEEknt9g?fw{dxBHw6e;o^m+db
zmp#!J5q=uELoe#uQ~rWR(fHLpaaR}riu*4#k2z*~&$*X|zGv?I>TTBHoWK8|;7UQ2
zfH^#K8M4&1!dP#xt>LicnB8rp5;MueON-m$GoSEQ1NkTIR_2UHW;FL{+wrYhxyfsy
zasJ(&>W%52mO35^7h27|A|%3ispkxS)gaHP;wf$6vG;Rl_GQjoZr3`OrP1ADkL!h5
zeoB`fUu3)%siD7lnpeQI2!%t-&+XV$YbKI#dn=1<Ra+4=Z`PvSl@=UjpMJcld>vl6
zjHUE3n;zr)x&sA{_o{;?dt07&GUr&mFp%}4&1t4&C+!CDg!mAh@+TRG%Y4t5uoXyT
z2Hq1~sObASqie<5XKT3U&TA-bt=l3Pw8i%JHreJKj52P&gbufv&){1&S6ld8Ve0LQ
z*Ac&Jub1+wsQpgbe_%eR9h(pfYxauxWBERjwv3CoULRD<`IVplB(#B%;d9)oV!25#
QJ3ytGr>mdKI;Vst0CpeLGynhq
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..75ea826f9140c9d1a75f3a9f24213964f43f9447
GIT binary patch
literal 1567
zc%17D@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdjX$U}IlVkeHmETB4AY
znx2_wtMq>NekFy>6kDZmQ(pt$0_W6>OpmIf)Zi+=kmRcDWXlvKdpiZ23M-%ixv3?I
z3Kh9IdBs*0wn|`gt$=Khu)dN4SV>8?trEmh5xxNm&iO^D3Z{Any2%D+1`1||dWOa(
z=H}))3PuKo2Koj@`i4fjhUQkrMpgy}3Q(W~w5=#5%__*n4QdyVXRDM^Qc_^0uU}qX
zu2*iXmtT~wZ)j<02{OaTNEfI=x41H|B(Xv_uUHvof=g;~a#3bMNoIbY0*IfOlwVq6
ztE2?;LT-VtFWlg~VrW1CgG|37u|VHY&p<ynS0ARjxFjew4ZrH*kjjEo{h-w1{L-Ri
zV0@%0BUy!CD@Y;GHC8V9$)&lec_p4Mwn{(|y_C!pD_1u&Q&&qDM@J`9LqkIsH%lW|
zM`tHz6EkNwCnpzk1DIaVyyB9?yyR4v-b{pEOT2omoQqNuOY)0C^7C_Gu@{h$Uy@&(
zkzb(T9BiuKo0y!L2jYW*7V6T}qRg_?6t|-MTm^90SY@Kw4|2Pai>r%^sjG#dg^_`o
zg`uI7nYodLsimQ%p@oU5g{zAaRBs9ve-qTJ4|I$^T13NyfT;(>geO}d2cGa#^MI+n
z2$-yGeI#x%FfdK_ba4!+xYZKm>k$$tV)uMs_5IrSXJ<dJetagvCCDg6B8uatQZ$R=
z7NMjq1(5<<xLCBOax_oaWcId6O!CPxqnyM^7x|rBnz$P6XD-WI<8wOAO(y->zIU_d
z7@1m~E<XQr-}}1z2m3Z#Cv0|V=vbB{zK~^-<QlQej|b0k6kI<m_`_XN>Yn~BH}5Xx
zsFTwUHK`xZ_xTZc(_)_{gVGh&+|>Dr#Rjr`4-XWjY<L}G94h+$?S6(;sT0B$eSGiz
z@6$ZipkE;j(OzfwTSkW7msNZnGNJcPM1J&=0NoqE7rlx2{r1u;>)wqi9~%2MUO4f2
z+p}A*g;}njP<Y+L&7zyLA(!n?EZ^yCF6p1&HSS#beTuVGM3RP;^{+LDjK$2E7jSKB
zkrDcETV%$MuqTz8mm~uegBJ!dGHU0Z<GGW&D);vSrGxt!_uO!*tgt$txIkLOqBlSG
zk4a2NOAAk*V5n+>6vr|N+g~5w?$vUdx~A(sL(I`@HSMc*oop~-vU2}n^>dZa=b7z1
zvYTza1ZDPnKR;%re<eoR+*UMY>RzLq$t#|EUe7RdU$tYxj5?96x))dclz5Wo@SH(x
zuBFAdPieh}ro=PY$wo8xG0jR*pQNhGAf)|={m1t&s~>(kD7r{LEi6~L=<qjY9l!GV
z{c*DV0iI&KH@%k5Jl;_FK0siSCX4xh5BHl7z4sQSKPj!gdnG982iJ5v0oF!i$?0bC
zf7U(!B$<`9MD?^@>N;B?#ZBS%Up5q8UvkIt!J8=;qvRT<=pK!*YiT`SyIdo9;|yt@
zJ^!B^dOD9czRLg0-B<AwCZ2!(+ok#X>8aWqCsuGC*>>5bD{fA2wl62EuhYMn2(8K6
zR$AXqVc%&YqVO&#qA&2oSry}~IjrC9|7jjzm}R_G?d&R+7EqDx>FVdQ&MBb@010PL
A@c;k-
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0d3cacd1175b8ceb1bc41a863c2cf0a30285de67
GIT binary patch
literal 1751
zc$|Gz3s4hR6io+<fH+bC3tAx!S_MNke@GxABt(9}5F(8NN=P;&K(cXnk&ya9)Ru?=
zm0G}0RcNF@3$=)#V1)u&9R(B$RZ1mjwNOP-EX7Lg28DJygKuW{y?f`J`_8-X?5sf;
zxq7bMLOUD|H#andC&Fe&%VT4Wy<s8qDmJ;I!4fnYQlRNl7{mq2p+pcLs+J~!B2X&N
z*mN26$Kk99DzOBW2qM@rNKKMjFeIH?i?a;>0G(DUO94@QBABGoa0rj;FA(r5Ifw8e
zLqHa2xu8-NqKCm~eWX~XPm!_Ygn*TJe;peupaxMXUZ+mgAZ#6nFj<$4tu1MQfS-h*
zDICHpQ4)a=&xK$R&mfV#Wn?B9&!mtjG`f$E4-ro#Q^)|B3Q(xt6dyK?$|jTXuLl9!
z4VEj|A|C(sURcB-C{a|)27vVRbW%Ev1i?uFg~ei7YEY@(7{VLL(4bPCw+8W;s=xyg
z8LZNxDoBI3#L`444doCBQ%6v1r^{-P*KNWY2I!<(fI=bz{{adFZ-%PX(`W=0fr>Yy
z5pjkV1VkVLrNJ`n;uIbhvX;$-K`9EsVhBo|>Y`8yp%9{kw0Leb122%uR2oY>i5Cdi
zp&A60YGhz2k3+yRB$Z0e_6g*2Y4l(!m&RaGC_KI|gTmr7e7Qk<29FgK#Gm5wAX%Ck
z)Sy#b`M+G+j9iNqUa>(~wHcK2VMvXiJThA~vljBqT3&JGGi#yD$OSMl!2d3KDuubn
zvYfUp7EBu-)L?FhF<b8&fBY5pwS<TA0>!#psp55Oq61wx=g*r?ckCVjRXc^e-MFY-
zvl$DwQbv3Z6}lJ!|KyNaZuGDnPPXCiA2{u_?n=y;@yAVQ6YI8VNmhP@!VkH(rB|Zx
z==~cu+4q$<pG;YPu%iE5Tg>b;@L6I><?qzb3)-NBloVr*VZ@g1ldMFnF3aa5X4b5R
zeQr6e4n}@e_tSv;n{>M6l4g?>PMmKNg?2CS@`$3w@=pjed+ua$4Zdy8QDrgx2rD?s
ztKgHh)x|f#)qw^<60G%okNh(`cTM>Zit3K#?PWy5^?@734gFDL<InY}@tz-}ZD%jh
z5<e>_*x!EtR}w4e#J;k<C&znZ-*)O<VKefO>HdJ(KejFM)3lniLgHJoe|biA^$j(e
zZNI5c$2F5X%=M$L69eRl6+AybzvAN?_M1eWgGUfxe~1mgGt=7S<(3!j@DtJe<E~@5
zMt7&yz2EsQh6j6M79_P2p6|4#&v7s;i-KxP9-UcK)WF_&n;#yYBT}v=sI9}A!IJ9E
z!PA8o`Nf_2j$NLu=bWkc-4;<=x^G-8m*nQ=CKPSBHJbm-ysFAqul8G}Fpj3%T@Rug
za+00%hHJf$%*R(g*s{`H?-%E_r*YuQLcLz!krD25Fg`A>UtgkvPi9xvzBIoaS%(6E
zdHc9dctj9Pe|S?U%#5D1NU2P1>4>*V@+!aGT=Cn`(D&z8S^ZJncs12UZ#-x__)Nd_
z#gdY0(-E(GEJN}~Ep>gv74s{WkI?(5HFf4BLxX;VSL|XaUGk#p*gQMoxcFk}JT~~^
ziAUBdd}foz9ZqWev&Ypw&)!4X<q5C-qA5Wb)>6_K5t8M)jc){Qtfm|H==k=%gRHwG
zR!ci^xA_-lS<UrR`{c}xpxf5N#*nVU*wJ^!blsi94iAo@F~bM$T)RZ6J|dZzUG#0&
z`ura6qN7)xmgXJe%zZMn>7ICtT=$?jn-^K?__f>O%W=*{5f_Q2V<j@tgt&2iiF@JA
zy-rWFk0Qe(#8dTvWc~>0!tosm`DJ_O9KN>s4kA~)+kTB$TVb#0s@$GiQ~!*4ZPaz+
z-R+};PYcBX9?j)8g7z>)H7&0WGgG!n)ev4>`)Fl<70wEm9MV)r(K(7OznakCNM2=7
GLe@WYk-JR*
--- a/toolkit/themes/winstripe/mozapps/extensions/eula.css
+++ b/toolkit/themes/winstripe/mozapps/extensions/eula.css
@@ -1,17 +1,39 @@
+#icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
+  max-width: 48px;
+  max-height: 48px;
+  -moz-margin-end: 6px;
+}
+
+#eula-dialog[addontype="theme"] #icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
+}
+
+#eula-dialog[addontype="locale"] #icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
+}
+
+#eula-dialog[addontype="plugin"] #icon {
+  list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
+}
+
+#heading-container {
+  -moz-box-align: center;
+}
+
 #heading {
   font-size: 120%;
 }
 
 #eula {
   -moz-appearance: none;
-  font-family: monospace;
-  color: -moz-dialogtext;
-  background-color: window;
-  margin: 1em 0 1em 0;
+  color: -moz-FieldText;
+  background-color: -moz-Field;
+  margin: 1em;
   border: 1px solid;
   -moz-border-top-colors: ActiveBorder;
   -moz-border-right-colors: ActiveBorder;
   -moz-border-bottom-colors: ActiveBorder;
   -moz-border-left-colors: ActiveBorder;
 }
 
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/winstripe/mozapps/extensions/extensions-aero.css
@@ -0,0 +1,3 @@
+%define WINSTRIPE_AERO
+%include extensions.css
+%undef WINSTRIPE_AERO
--- a/toolkit/themes/winstripe/mozapps/extensions/extensions.css
+++ b/toolkit/themes/winstripe/mozapps/extensions/extensions.css
@@ -31,47 +31,102 @@
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #addons-page {
-  background-color: #c5ccd7;
   -moz-appearance: none;
-  margin: 20px;
+  padding: 18px;
+  background-repeat: repeat;
+  color: -moz-dialogText;
+  background-color: -moz-dialog;
+  background-image: /* Fade-out texture at the top, and blend with browser tab */
+                    -moz-linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0) 30%),
+                    /* Texture */
+                    url("chrome://mozapps/skin/extensions/background-texture.png");
+}
+
+%ifdef WINSTRIPE_AERO
+@media all and (-moz-windows-default) {
+  #addons-page {
+    color: #000;
+    background-color: #CCD9EA;
+    background-image: /* Fade-out texture at the top */
+                      -moz-linear-gradient(top, rgb(231,237,246), rgba(231,237,246,0) 156px),
+                      /* Texture */
+                      url("chrome://mozapps/skin/extensions/background-texture.png");
+  }
 }
+@media all and (-moz-windows-compositor) {
+  #addons-page {
+    border: 1px solid rgb(40%, 40%, 40%);
+    border-top: none;
+    color: #000;
+    /* Blame shorlander for this monstrosity. */
+    background-image: /* Fade-out texture and light beams at the top */
+                      -moz-linear-gradient(top, rgb(231,237,246) 3px, rgba(231,237,246,0) 156px),
+                      /* Side gradients */
+                      -moz-linear-gradient(left,
+                                           rgba(255,255,255,0.2), rgba(255,255,255,0) 40%,
+                                           rgba(255,255,255,0) 60%, rgba(255,255,255,0.2)),
+                      /* Aero-style light beams */
+                      -moz-linear-gradient(left 32deg,
+                                           /* First light beam */
+                                           rgba(255,255,255,0) 19.5%, rgba(255,255,255,0.1) 20%,
+                                           rgba(255,255,255,0.1) 21.5%, rgba(255,255,255,0.2) 22%,
+                                           rgba(255,255,255,0.2) 25.5%, rgba(255,255,255,0.1) 26%,
+                                           rgba(255,255,255,0.1) 27.5%, rgba(255,255,255,0) 28%,
+                                           /* Second light beam */
+                                           rgba(255,255,255,0) 49.5%, rgba(255,255,255,0.1) 50%,
+                                           rgba(255,255,255,0.1) 52.5%, rgba(255,255,255,0.2) 53%,
+                                           rgba(255,255,255,0.2) 54.5%, rgba(255,255,255,0.1) 55%,
+                                           rgba(255,255,255,0.1) 57.5%, rgba(255,255,255,0) 58%,
+                                           /* Third light beam */
+                                           rgba(255,255,255,0) 87%, rgba(255,255,255,0.2) 90%),
+                      /* Texture */
+                      url("chrome://mozapps/skin/extensions/background-texture.png");
+  }
+}
+%endif
 
 #view-port-container {
   /* Needed to allow the radius to clip the inner content, see bug 595656 */
   overflow: hidden;
-  background-color: #d2d7df;
-  border: 1px solid black;
+  background-color: rgba(255, 255, 255, 0.35);
+  background-image: -moz-linear-gradient(top,
+                                         rgba(255, 255, 255, 0),
+                                         rgba(255, 255, 255, 0.75));
+  border: 1px solid #C3CEDF;
   border-radius: 5px;
 }
 
 .nav-button {
   list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
   min-width: 0;
-  -moz-margin-end: 0;
 }
 
-.nav-button[disabled="true"] .button-icon {
-  opacity: 0.4;
+#forward-btn {
+  -moz-border-start: none;
 }
 
 #back-btn:-moz-locale-dir(ltr),
 #forward-btn:-moz-locale-dir(rtl) {
   -moz-image-region: rect(0, 18px, 18px, 0);
+  border-top-right-radius: 0;
+  border-bottom-right-radius: 0;
 }
 
 #back-btn:-moz-locale-dir(rtl),
 #forward-btn:-moz-locale-dir(ltr) {
   -moz-image-region: rect(0, 36px, 18px, 18px);
+  border-top-left-radius: 0;
+  border-bottom-left-radius: 0;
 }
 
 /*** global warnings ***/
 
 .global-warning-container {
   overflow-x: hidden;
 }
 
@@ -84,114 +139,181 @@
 
 .global-warning,
 .global-warning .button-link {
   text-shadow: #FFFFFF 1px 1px 1px;
 }
 
 #addons-page[warning] .global-warning-container {
   background-color: rgba(255, 255, 0, 0.1);
-  background-image: url("chrome://mozapps/skin/extensions/warning-stripes.png");
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
   background-repeat: repeat-x;
 }
 
 #detail-view .global-warning {
   padding: 4px 12px;
-  border-bottom: 1px solid #A8A8A8;  
+  border-bottom: 1px solid #CAD4E0;  
 }
 
-@media all and (max-width: 700px) {
+@media all and (max-width: 600px) {
   .global-warning-text {
     display: none;
   }
+
+  .global-warning .warning-icon {
+    background-color: #FFF;
+    box-shadow: 0px 0px 2px 5px #FFF;
+    border-radius: 10px;
+  }
 }
 
 /*** notification icons ***/
 
 .warning-icon {
-  list-style-image: url("chrome://global/skin/icons/warning-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
 .error-icon {
-  list-style-image: url("chrome://global/skin/icons/error-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
 .pending-icon,
 .info-icon {
-  list-style-image: url("chrome://global/skin/icons/information-16.png");
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
   width: 16px;
-  height: 16px;
+  height: 15px;
+  margin: 3px 0;
+}
+
+.addon-view[pending="disable"] .pending-icon,
+.addon-view[pending="uninstall"] .pending-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-negative.png");
+  width: 16px;
+  height: 15px;
   margin: 3px 0;
 }
 
+
+/*** view alert boxes ***/
+
+.alert-container {
+  -moz-box-align: center;
+}
+
+.alert-spacer-before {
+  -moz-box-flex: 1;
+}
+
+.alert-spacer-after {
+  -moz-box-flex: 3;
+}
+
+.alert {
+  -moz-box-align: center;
+  padding: 10px;
+  color: #373D48;
+  border: 1px solid #A8B8D1;
+  border-radius: 8px;
+  background-image: -moz-linear-gradient(top, #FFF, #ECF1F7);
+  box-shadow: 2px 2px 4px #999; 
+}
+
+.alert .alert-title {
+  font-weight: bold;
+  font-size: 200%;
+  margin-bottom: 15px;
+}
+
+.alert .addon-control {
+  margin: 1em 2em;
+}
+
+.loading {
+  list-style-image: url("chrome://global/skin/icons/loading_16.png");
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+
 /*** category selector ***/
 
 #categories {
   -moz-appearance: none;
   border: none;
   -moz-margin-end: -1px;
   background-color: transparent;
   position: relative;
+  margin-top: 31px;
 }
 
 .category {
   -moz-appearance: none;
+  background-color: transparent;
+  color: #252F3B;
+  min-height: 0;
+  padding: 10px 4px;
   border-width: 1px;
-  -moz-border-end-width: 0;
   border-style: solid;
   border-color: transparent;
-  padding: 10px 4px;
   -moz-box-align: center;
   overflow: hidden;
-  min-height: 0px;
 }
 
 .category:-moz-locale-dir(ltr) {
   border-top-left-radius: 5px;
   border-bottom-left-radius: 5px;
 }
 
 .category:-moz-locale-dir(rtl) {
   border-top-right-radius: 5px;
   border-bottom-right-radius: 5px;
 }
 
 .category[disabled] {
-  height: 0px;
+  height: 0;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category:not([disabled]) {
   height: 52px;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 1s, 0.8s;
 }
 
 .category[selected] {
-  background-color: #d4d9e1;
-  color: -moz-dialogtext;
-  border-color: black;
+  background-color: rgba(255, 255, 255, 0.4);
+  color: #252F3B;
+  font-weight: bold;
+  border-color: #C3CEDF;
+  -moz-border-end-color: #E2E9F2;
 }
 
 .category-name {
   font-size: 150%;
 }
 
+/* Maximize the size of the viewport when the window is small */
+@media all and (max-width: 800px) {
+  .category-name {
+    display: none;
+  }
+}
+
 .category-badge {
   background-color: #55D4FF;
   padding: 2px 8px;
-  margin: 6px 0px;
+  margin: 6px 0;
   border-radius: 10000px;
   color: #FFF;
   font-weight: bold;
   text-align: center;
 }
 
 .category-badge[value="0"] {
   visibility: hidden;
@@ -230,246 +352,237 @@
 #category-recentUpdates > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
 }
 
 
 /*** header ***/
 
 #header {
-  margin-bottom: 20px;
-}
-
-#header-name, #header-link {
-  color: #555;
-  text-shadow: 1px 1px 1px #EEE;
-}
-
-#header-name {
-  font-size: 180%;
+  margin-bottom: 18px;
 }
 
-#header-link {
+#header-search {
   -moz-appearance: none;
-  border: none;
-  background: transparent;
-  font-size: 120%;
-  cursor: pointer;
-  list-style-image: url("chrome://mozapps/skin/extensions/go-back.png");
+  color: black;
+  border: 1px solid;
+  border-color: rgba(0, 0, 0, 0.25) rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.37);
+  border-radius: 4px;
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) inset,
+              0 1px 0 rgba(255, 255, 255, 0.4);
+  padding: 3px;
+  background-color: rgba(255, 255, 255, 0.8);
+  margin: 0;
 }
 
-#header-link .button-icon {
-  -moz-margin-end: 6px;
+#header-search .textbox-input:-moz-placeholder {
+  color: grey;
 }
 
-#header-searching {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
+#header-search[focused="true"] {
+  background-color: white;
 }
 
 #header-utils-btn {
-  -moz-appearance: none;
   min-width: 4.5em;
-  border-width: 1px;
-  -moz-border-top-colors: #999;
-  -moz-border-bottom-colors: #999;
-  -moz-border-left-colors: #999;
-  -moz-border-right-colors: #999;
-  border-radius: 8px;
-  background-image: -moz-linear-gradient(#FFF, #BBB);
   list-style-image: url("chrome://mozapps/skin/extensions/utilities.png");
-}
-
-#header-utils-btn:hover,
-#header-utils-btn[open="true"] {
-  -moz-border-top-colors: #777;
-  -moz-border-bottom-colors: #777;
-  -moz-border-left-colors: #777;
-  -moz-border-right-colors: #777;
-}
-
-#header-utils-btn[open="true"] {
-  box-shadow: inset 3px 3px 5.5px #555;
-}
-
-#header-utils-btn:-moz-focusring > .button-box {
-  border: none;
+  -moz-margin-end: 18px;
 }
 
 .view-header {
+  background-color: rgba(251, 252, 253, 0.25);
   padding: 4px;
-  margin: 0px;
-  border-bottom: 1px solid #A8A8A8;
+  margin: 0;
+  min-height: 31px;
+  border-bottom: 1px solid #CAD4E0;
 }
 
 
 /*** sorters ***/
 
 .sort-controls {
   -moz-appearance: none;
 }
 
 .sorter {
   -moz-appearance: none;
   border: none;
   background-color: transparent;
+  color: #536680;
   border-radius: 10000px;
-  padding: 0px 6px;
-  margin: 0px 6px;
+  padding: 0 6px;
+  margin: 0 6px;
   min-width: 12px !important;
   -moz-box-direction: reverse;
 }
 
+.sorter .button-box {
+  padding-top: 0;
+  padding-bottom: 0;
+}
+
 .sorter[checkState="1"],
 .sorter[checkState="2"] {
-  background-color: #DADADA;
+  background-color: rgba(194, 200, 206, 0.4);
+  box-shadow: 1px 1px 2px #B6BBC4 inset;
 }
 
 .sorter[checkState="1"] {
   list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
 }
 
 .sorter[checkState="2"] {
   list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
 }
 
 .sorter .button-icon {
   -moz-margin-start: 4px;
 }
 
 
-/*** empty list notification ***/
-
-.empty-list-notice {
-  -moz-box-align: center;
-}
-
-.empty-list-notice > button {
-  margin: 20px;
-}
-
-
 /*** list ***/
 
 .list {
   -moz-appearance: none;
-  margin: 0px;
+  margin: 0;
   border: none;
   background-color: transparent;
 }
 
 .addon {
-  border-bottom: 1px solid #F2F2F2;
+  color: black;
+  border-top: 2px solid;
+  -moz-border-top-colors: rgba(0, 0, 0, 0.1) rgba(255, 255, 255, 0.1);
+  border-bottom: 1px solid;
+  -moz-border-bottom-colors: rgba(255, 255, 255, 0.1);
   padding: 5px;
+  background-origin: border-box;
+}
+
+.view-pane:not(#search-view) .addon:first-of-type,
+#search-view .addon[first] {
+  border-top-width: 1px;
+  -moz-border-top-colors: rgba(255, 255, 255, 0.1);
+}
+
+.view-pane:not(#search-view) .addon:last-of-type,
+#search-view .addon[last] {
+  border-bottom-width: 2px;
+  -moz-border-bottom-colors: rgba(0, 0, 0, 0.1) rgba(255, 255, 255, 0.1);
 }
 
 .addon[status="installing"] {
   -moz-box-align: center;
 }
 
 .details {
   cursor: pointer;
   margin: 0;
   -moz-margin-start: 10px;
 }
 
 .icon-container {
   width: 48px;
   height: 48px;
-  margin: 7px;
+  margin: 22px 7px 7px 7px;
 }
 
 .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
   max-width: 48px;
   max-height: 48px;
 }
 
+.addon[active="false"] .icon {
+  filter: url("chrome://mozapps/skin/extensions/extensions.svg#greyscale");
+}
+
+
 .addon-view[type="theme"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
 }
 
 .addon-view[type="locale"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
 }
 
 .addon-view[type="plugin"] .icon {
   list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
 }
 
-.name-container {
+.name-container,
+.addon[status="installing"] .name {
   font-size: 150%;
-  margin-bottom: 0px;
+  font-weight: bold;
+  color: #3F3F3F;
+  margin-bottom: 0;
+  text-shadow: 1px 1px 1px #FFF;
+}
+
+.creator {
+  font-weight: bold;
+}
+
+.creator .text-link {
+  color: #0066CC;
 }
 
 .description-container {
   margin-top: 8px;
   -moz-margin-start: 6px;
 }
 
 .description {
   margin: 0;
 }
 
-.warning, .pending, .error, .info {
+.warning,
+.pending,
+.error {
   -moz-margin-start: 48px;
+  font-weight: bold;
+  text-shadow: 1px 1px 1px #FFF;
 }
 
-.addon-view:not([selected]) .warning {
-  color: #90792E;
-}
-
-.addon-view:not([selected]) .error {
-  color: #7C322B;
-}
-
-.addon-view:not([selected]) .pending {
-  color: #4F7939;
+.addon-view .warning {
+  color: #916D15;
 }
 
-.addon-view[notification="warning"] {
-  background-image: -moz-linear-gradient(rgba(255, 255, 0, 0.2), rgba(255, 255, 0, 0.1));
-}
-
-.addon-view[notification="error"] {
-  background-image: -moz-linear-gradient(rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.1));
+.addon-view .error {
+  color: #864441;
 }
 
-.addon-view[notification="info"] {
-  background-image: -moz-linear-gradient(rgba(0, 0, 255, 0.2), rgba(0, 0, 255, 0.1));
+.addon-view .pending {
+  color: #1B7123;
 }
 
-.addon-view[pending="enable"],
-.addon-view[pending="upgrade"],
-.addon-view[pending="install"] {
-  background-image: -moz-linear-gradient(rgba(0, 255, 0, 0.2), rgba(0, 255, 0, 0.1));
-}
-
-.addon-view[pending="disable"],
-.addon-view[pending="uninstall"] {
-  background-image: -moz-linear-gradient(rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0.1));
+.addon-view[pending="disable"] .pending,
+.addon-view[pending="uninstall"] .pending {
+  color: #62666E;
 }
 
 .addon .relnotes-container {
   -moz-box-align: start;
-  height: 0px;
+  -moz-margin-start: 6px;
+  height: 0;
   overflow: hidden;
   opacity: 0;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon[show-relnotes] .relnotes-container {
   opacity: 1;
   -moz-transition-property: height, opacity;
   -moz-transition-duration: 0.5s, 0.5s;
 }
 
 .addon .relnotes-header {
   font-weight: bold;
-  margin: 10px 0px;
+  margin: 10px 0;
 }
 
 .addon .relnotes-toggle {
   -moz-appearance: none;
   border: none;
   background: transparent;
   font-weight: bold;
   -moz-box-direction: reverse;
@@ -480,16 +593,71 @@
 .addon .relnotes-toggle > .button-box > .button-icon {
   -moz-padding-start: 4px;
 }
 
 .addon[show-relnotes] .relnotes-toggle {
   list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
 }
 
+.addon[active="false"] {
+  background-color: rgba(135, 135, 135, 0.1);
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0),
+                                         rgba(135, 135, 135, 0.1));
+}
+
+.addon-view[active="false"],
+.addon-view[active="false"] .name-container {
+  color: #888A8B;
+}
+
+.addon-view[notification="warning"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
+                    -moz-linear-gradient(rgba(255, 255, 0, 0.04),
+                                         rgba(255, 255, 0, 0));
+  background-repeat: repeat-x;
+}
+
+.addon-view[notification="error"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-error.png"),
+                    -moz-linear-gradient(rgba(255, 0, 0, 0.04),
+                                         rgba(255, 0, 0, 0));
+  background-repeat: repeat-x;
+}
+
+.addon-view[pending="enable"],
+.addon-view[pending="upgrade"],
+.addon-view[pending="install"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-positive.png"),
+                    -moz-linear-gradient(rgba(0, 255, 0, 0.04),
+                                         rgba(0, 255, 0, 0));
+  background-repeat: repeat-x;
+}
+
+.addon-view[pending="disable"],
+.addon-view[pending="uninstall"] {
+  background-image: url("chrome://mozapps/skin/extensions/stripes-info-negative.png"),
+                    -moz-linear-gradient(rgba(128, 128, 128, 0.04),
+                                         rgba(128, 128, 128, 0));
+  background-repeat: repeat-x;
+}
+
+.addon[selected] {
+  background-color: rgba(148, 172, 204, 0.39);
+  color: black;
+}
+
+.addon[selected] .name-container {
+  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.7);  
+}
+
+.addon[active="false"][selected] .name-container {
+  color: #3F3F3F;
+}
+
 
 /*** item - uninstalled ***/
 
 .addon[status="uninstalled"] {
   border: none;
 }
 
 .addon[status="uninstalled"] > .container {
@@ -506,28 +674,29 @@
 
 
 
 /*** search view ***/
 
 #search-filter {
   padding: 5px 20px;
   font-size: 120%;
+  border-bottom: 1px solid #CAD4E0;
   overflow-x: hidden;
 }
 
 #search-filter-label {
   font-weight: bold;
   color: grey;
 }
 
 .search-filter-radio {
   -moz-appearance: none;
-  padding: 0px 6px;
-  margin: 0px 3px;
+  padding: 0 6px;
+  margin: 0 3px;
   border-radius: 10000px;
 }
 
 .search-filter-radio[selected] {
   background-color: grey;
   color: white;
 }
 
@@ -541,58 +710,49 @@
 
 #search-allresults-link {
   margin-top: 1em;
   margin-bottom: 2em;
 }
 
 /*** detail view ***/
 
-#detail-view[active="false"] .fade {
-  opacity: 0.6;
-}
-
 #detail-view .loading {
   opacity: 0;
 }
 
-#detail-view:not([loading]) .loading {
+#detail-view:not([loading]) .alert-container {
   visibility: collapse;
 }
 
 #detail-view[loading-extended] .loading {
-  -moz-box-align: center;
-  -moz-box-pack: center;
   opacity: 1;
   -moz-transition-property: opacity;
   -moz-transition-duration: 1s;
 }
 
-#detail-view .loading > image {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
-}
-
 .detail-view-container {
-  padding: 2em;
+  padding: 0 2em 2em 2em;
   font-size: 110%;
 }
 
 #detail-notifications {
+  margin-top: 1em;
   margin-bottom: 2em;
 }
 
 #detail-notifications .warning,
 #detail-notifications .pending,
-#detail-notifications .error,
-#detail-notifications .info {
+#detail-notifications .error {
   -moz-margin-start: 0;
 }
 
 #detail-icon {
   -moz-margin-end: 10px;
+  margin-top: 6px;
 }
 
 #detail-summary {
   margin-bottom: 2em;
 }
 
 #detail-name-container {
   font-size: 200%;
@@ -607,216 +767,393 @@
 }
 
 #detail-desc {
   -moz-margin-start: 6px;
   /* This is necessary to fix layout issues with multi-line descriptions, see
      bug 592712*/
   outline: solid transparent;
   white-space: pre-wrap;
+  min-width: 8em;
 }
 
 #detail-contributions {
   border-radius: 5px;
-  border: 1px solid #B0C8D1;
+  border: 1px solid #D2DBE8;
   margin-bottom: 2em;
   padding: 1em;
-  background: #D8DDE4;
+  background-color: #F3F7FB;
 }
 
 #detail-contrib-description {
   font-style: italic;
   margin-bottom: 1em;
+  color: #373D48;
 }
 
 #detail-contrib-suggested {
   color: grey;
+  font-weight: bold;
 }
 
-#detail-contrib-button {
+#detail-contrib-btn {
   -moz-appearance: none;
   color: #FFF;
-  text-shadow: #4C9EF8 -1px -1px 1px;
-  border: 1px solid #4C9EF8;
-  border-radius: 2px;
-  background-image: -moz-linear-gradient(#93C5FA, #4C9EF8);
+  border: 1px solid #3A4EEE;
+  border-radius: 3px;
   list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
+  background-color: #2F73EF;
+  background-image: -moz-linear-gradient(rgba(251, 252, 253, 0.70), rgba(246, 247, 248, 0.27) 49%, 
+                                         rgba(231, 232, 233, 0.25) 51%, rgba(225, 226, 229, 0.1));
 }
 
-#detail-contrib-button .button-icon {
+#detail-contrib-btn .button-box {
+  padding: 0 6px 1px 6px;
+}
+
+#detail-contrib-btn .button-icon {
   -moz-margin-end: 3px;
 }
 
-#detail-contrib-button:hover {
+#detail-contrib-btn:not(:active):hover {
   border-color: #4271FF;
-  background-image: -moz-linear-gradient(#49CEFF, #4271FF);
+  background-color: #0459F7;
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1),
+              0 0 3.5px hsl(190, 90%, 80%);
+  -moz-transition: background-color .4s ease-in,
+                   border-color .3s ease-in,
+                   box-shadow .3s ease-in
+}
+
+#detail-contrib-btn:active:hover {
+  background-color: #8FA1C1;
+  border-color: rgba(0, 0, 0, 0.65) rgba(0, 0, 0, 0.55) rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 6.5px rgba(0, 0, 0, 0.4) inset,
+              0 0 2px rgba(0, 0, 0, 0.4) inset,
+              0 1px 0 rgba(255, 255, 255, 0.4);
 }
 
 #detail-grid {
   margin-bottom: 2em;
 }
 
 .detail-row[first-row="true"],
 .detail-row-complex[first-row="true"] {
   border-top: none;
 }
 
 .detail-row,
 .detail-row-complex {
-  border-top: 1px solid grey;
+  border-top: 2px solid;
+  -moz-border-top-colors: rgba(28, 31, 37, 0.1) rgba(255, 255, 255, 0.1);
   -moz-box-align: center;
 }
 
 .detail-row-value {
   -moz-margin-start: 0;
 }
 
+#detail-controls {
+  margin-bottom: 1em;
+}
+
+#detail-view[active="false"]:not([pending]):not([notification]) {
+  background-image: -moz-linear-gradient(rgba(135, 135, 135, 0.1),
+                                         rgba(135, 135, 135, 0));
+}
 
 /*** creator ***/
 
 .creator > label {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
 }
 
 .creator > .text-link {
   margin-top: 1px;
   margin-bottom: 1px;
 }
 
 
 /*** rating ***/
 
 .meta-rating {
-  -moz-margin-start: 0px;
-  -moz-margin-end: 0px;
-  vertical-align: text-top;
-}
-
-.meta-rating[showrating="average"] > .star {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
-  padding: 0px 1px;
+  -moz-margin-start: 0;
+  -moz-margin-end: 0;
+  padding-top: 2px;
 }
 
-.meta-rating[showrating="user"] > .star {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-unrated.png");
-  padding: 2px 3px;
+.meta-rating > .star {
+  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
+  padding: 0 1px;
 }
 
-.meta-rating > .star[on="true"],
-.meta-rating[showrating="user"] > .star[hover] {
+.meta-rating > .star[on="true"] {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
-  padding: 0px 1px;
 }
 
 
 /*** download progress ***/
 
 .download-progress {
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-radius: 10000px;
-  border: 1px solid #555;
-  box-shadow: #777 1px 1px 1.5px;
+  background-color: rgba(151,152,153,.05);
+  background-image: -moz-linear-gradient(rgba(251, 252, 253, 0.95), rgba(246, 247, 248, 0.47) 49%, 
+                                         rgba(231, 232, 233, 0.45) 51%, rgba(225, 226, 229, 0.3));
+  background-clip: padding-box;
+  border-radius: 3px;
+  border: 1px solid;
+  border-color: rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.19) rgba(0, 0, 0, 0.38);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset,
+              0 0 0 2px rgba(255, 255, 255, 0.1) inset;
   width: 200px;
-  height: 24px;
-  margin: 0px 8px;
+  height: 21px;
+  margin: 0 8px;
 }
 
+
+
 .download-progress .start-cap,
 .download-progress[complete] .end-cap,
 .download-progress .progress .progress-bar {
   -moz-appearance: none;
-  background-image: -moz-linear-gradient(#84A9D9, #5183C0);
+  background-image: -moz-linear-gradient(#71CA83, #54B06C 49%, #43A05D 51%, #60BB76);
+  margin-top: -1px;
+  margin-bottom: -1px;
+  border: 1px solid;
+  border-color: #358942 #317F3D #2E773A;
+}
+
+.download-progress .start-cap {
+  -moz-margin-start: -1px;
+  -moz-border-end-width: 0;
+}
+
+.download-progress .end-cap {
+  -moz-margin-end: -1px;
+  -moz-border-start-width: 0px !important;
+}
+
+.download-progress .progress .progress-bar  {
+  border-left-width: 0;
+  border-right-width: 0;
 }
 
 .download-progress .progress {
+  -moz-appearance: none;
   background-color: transparent;
+  padding: 0;
+  margin: 0;
+  border: none;
 }
 
-.download-progress .start-cap, .download-progress .end-cap {
-  width: 12px;
+.download-progress .start-cap,
+.download-progress .end-cap {
+  width: 4px;
 }
 
 .download-progress .start-cap:-moz-locale-dir(ltr),
 .download-progress .end-cap:-moz-locale-dir(rtl) {
-  border-radius: 10000px 0 0 10000px;
+  border-radius: 3px 0 0 3px;
 }
 
 .download-progress .end-cap:-moz-locale-dir(ltr),
 .download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 10000px 10000px 0;
+  border-radius: 0 3px 3px 0;
+}
+
+.download-progress .pause,
+.download-progress .cancel {
+  -moz-appearance: none;
+  background-color: rgba(255, 255, 255, 0.4);
+  border: 1px solid rgba(0, 0, 0, 0.4);
+  padding: 3px;
+  border-radius: 3px;
+  min-width: 0;
+  margin: 3px;
 }
 
-.download-progress .progress {
-  -moz-appearance: none;
-  padding: 0px;
-  margin: 0px;
+.download-progress .pause:hover,
+.download-progress .cancel:hover {
+  background-color: rgba(255, 255, 255, 0.6);
+  border: 1px solid rgba(0, 0, 0, 0.8);
+}
+
+.download-progress .pause:active:hover,
+.download-progress .cancel:active:hover {
+  box-shadow: inset rgba(0, 0, 0, 0.5) 1px 1px 2px;
+}
+
+.download-progress .pause .button-box,
+.download-progress .cancel .button-box {
+  padding: 0;
   border: none;
 }
 
-.download-progress .pause, .download-progress .cancel {
-  -moz-appearance: none;
-  background-image: -moz-linear-gradient(#E1E1E1, #FEFEFE);
-  border-width: 1px 0px 0px 1px;
-  padding-right: 1px;
-  border-style: solid;
-  -moz-border-top-colors: #FFF;
-  -moz-border-left-colors: #FFF;
-  border-radius: 10000px;
-  min-width: 16px;
-  width: 16px;
-  height: 16px;
-  margin: 3px;
-  box-shadow: #777 1px 1px 1px;
+.download-progress .pause .button-text,
+.download-progress .cancel .button-text {
+  display: none;
+}
+
+.download-progress .pause .button-icon,
+.download-progress .cancel .button-icon {
+  -moz-margin-start: 0;
 }
 
 .download-progress .pause {
   list-style-image: url('chrome://mozapps/skin/extensions/pause.png');
 }
 
 .download-progress .cancel {
   list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
 }
 
 .download-progress .status-container {
   -moz-box-align: center;
 }
 
+.download-progress .status {
+  text-shadow: #FFF 0 0 2px;
+}
 
 /*** install status ***/
 
 .install-status {
   -moz-box-align: center;
 }
 
 
 /*** check for updates ***/
 
 #updates-container {
   -moz-box-align: center;
+  text-shadow: 0 0 3px white;
 }
 
-#updates-installed, #updates-downloaded {
+#updates-container .button-link {
+  text-shadow: 0 0 3px white;
+  font-weight: bold;
+}
+
+#updates-installed,
+#updates-downloaded {
   color: #00BB00;
   font-weight: bold;
 }
 
 #update-selected {
   margin: 12px;
 }
 
 
 /*** buttons ***/
 
+.addon-control {
+  -moz-appearance: none;
+  color: black;
+  padding: 0 5px;
+  background-color: rgba(151,152,153,.05);
+  background-image: -moz-linear-gradient(rgba(251, 252, 253, 0.95), rgba(246, 247, 248, 0.47) 49%, 
+                                         rgba(231, 232, 233, 0.45) 51%, rgba(225, 226, 229, 0.3));
+  background-clip: padding-box;
+  border-radius: 3px;
+  border: 1px solid;
+  border-color: rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.19) rgba(0, 0, 0, 0.38);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset,
+              0 0 0 2px rgba(255, 255, 255, 0.1) inset;
+}
+
+.addon-control:not(:active):hover {
+  background-color: hsla(190, 60%, 70%, 0.5);
+  border-color: hsla(190, 50%, 65%, 0.8) hsla(190, 50%, 50%, 0.8) hsla(190, 50%, 40%, 0.8);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset,
+              0 0 0 1.5px rgba(255, 255, 255, 0.1) inset,
+              0 1px 0 rgba(0, 0, 0, 0.1),
+              0 0 3.5px hsl(190, 90%, 80%);
+  -moz-transition: background-color .4s ease-in,
+                   border-color .3s ease-in,
+                   box-shadow .3s ease-in
+}
+
+.addon-control:active:hover {
+  background-color: transparent;
+  border-color: rgba(0, 0, 0, 0.65) rgba(0, 0, 0, 0.55) rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 6.5px rgba(0, 0, 0, 0.4) inset,
+              0 0 2px rgba(0, 0, 0, 0.4) inset,
+              0 1px 0 rgba(255, 255, 255, 0.4);
+}
+
+.addon-control .button-box {
+  padding: 1px;
+}
+
 .addon-control[disabled="true"] {
   display: none;
 }
 
 .button-link {
   -moz-appearance: none;
   background: transparent;
   border: none;
   text-decoration: underline;
-  color: -moz-nativehyperlinktext;
+  color: #0066CC;
   cursor: pointer;
   min-width: 0;
   margin: 0 6px;
 }
+
+.text-link {
+  color: #3386D5;
+}
+
+.button-link:hover,
+.text-link:hover {
+  color: #3DA1FF;
+}
+
+.header-button {
+  -moz-appearance: none;
+  margin: 0;
+  background: rgba(151,152,153,.05)
+              -moz-linear-gradient(rgba(251, 252, 253, 0.95), rgba(246, 247, 248, 0.47) 49%, 
+                                   rgba(231, 232, 233, 0.45) 51%, rgba(225, 226, 229, 0.3));
+  background-clip: padding-box;
+  border-radius: 4.5px;
+  border: 1px solid;
+  border-color: rgba(0, 0, 0, 0.12) rgba(0, 0, 0, 0.19) rgba(0, 0, 0, 0.38);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset,
+              0 0 0 2px rgba(255, 255, 255, 0.1) inset;
+}
+
+.header-button[disabled="true"] {
+  -moz-border-top-colors: rgba(0, 0, 0, 0.12) !important;
+  -moz-border-left-colors: rgba(0, 0, 0, 0.19) !important;
+  -moz-border-right-colors: rgba(0, 0, 0, 0.19) !important;
+  -moz-border-bottom-colors: rgba(0, 0, 0, 0.38) !important;
+  opacity: 0.8;
+}
+
+.nav-button[disabled="true"] .toolbarbutton-icon {
+  opacity: 0.4;
+}
+
+.header-button:not([open="true"]):not([disabled="true"]):not(:active):hover {
+  background-color: hsla(190, 60%, 70%, 0.5);
+  border-color: hsla(190, 50%, 65%, 0.8) hsla(190, 50%, 50%, 0.8) hsla(190, 50%, 40%, 0.8);
+  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset,
+              0 0 0 1.5px rgba(255, 255, 255, 0.1) inset,
+              0 1px 0 rgba(0, 0, 0, 0.1),
+              0 0 3.5px hsl(190, 90%, 80%);
+  -moz-transition: background-color .4s ease-in,
+                   border-color .3s ease-in,
+                   box-shadow .3s ease-in
+}
+
+.header-button:not([disabled="true"]):active:hover,
+.header-button[open="true"] {
+  background-color: transparent;
+  border-color: rgba(0, 0, 0, 0.65) rgba(0, 0, 0, 0.55) rgba(0, 0, 0, 0.5);
+  box-shadow: 0 0 6.5px rgba(0, 0, 0, 0.4) inset,
+              0 0 2px rgba(0, 0, 0, 0.4) inset;
+}
+
+.header-button .toolbarbutton-text {
+  display: none;
+}
new file mode 100644
--- /dev/null
+++ b/toolkit/themes/winstripe/mozapps/extensions/extensions.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+  <filter id="greyscale">
+    <feColorMatrix values="0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0.3333 0.3333 0.3333 0 0
+                           0      0      0      1 0"/>
+  </filter>
+</svg>
deleted file mode 100644
index abc828811386c6030a022169c0e12f8c6a22311d..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index 13471ee0e407a456a87afde5c2421b5120f87264..2761f19255511393ac671c0d075d4af2f63cf316
GIT binary patch
literal 1559
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5MbqpPEnv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uNzLiprioNom!MxmYU*Ll%J~r_OewbZnrq&b_+yr3U0T!;MA)R
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5?}NPxde{Fm-#nIEGZ*>Iw4o5q1>0_w!~h
zSCERr!GzUr9T%H89hu{<u&64!@y|1nQ_1Y<l;~vNTk+*dr10Lt3(d#oOIUVveq^cA
z6YXhjQwrERW6HKEUb~GSoA374@clFM?DX3AXU}}USMz>iEqis(Dc6ofjivuxcAF<Y
zO}DG9$oP|b@l`{SgiLXN>df{(b@A^{EMETizw0Bluv<lTUN>1!Z<;jc<B!?f-?MKB
z{O>RHo%2d1+k(|MPD*$i`UQWy>GJLBiyI&9Cr;Q_@ZOEJE{3mh;a!une)Ch;6`vD7
z7%Ae!*0ek7c39ER46U!VUYa{4=Fic{n^Yq6cG(o3*>k*Y6xpp0OZXa}sta-}R`}Pd
zHB(^GL9s=yTsJkA<_H8`yOH|4&c;me=>(<jGgs1Q#TRJydarh1)Ob|++9M@<Z$K#L
z6K#Qe`Z+g4v~IV*zqj*l@8A3jEoa{GZL{09G^0q``C37xZ#cu0hE460qD3b<t$g-y
z;ptA}<-fTVG=tY3_ffLkwtsK!9kETJT1O{FHgJdv{OSDEu$#k6SwwP=hEntM=?(^b
zDJzV{9ZHH`9laM&;Ky;5W4hJbPg2hhHXOKpey;3_y=6}?G2Q7uFzI?y>*q@cOKQ>t
z|1%_sEsDt%vUKhUHvRgw^j0s^XX)y9j^&qlrifmV4L&znqdE7GSe)va2Dy_zTcd6q
zJ!Sc@YR8?HzEx+V`0qAu%6)9Gy7bwB0LfDvw{)-ee=%~`*wDIUQPSO+VrLx6_Nwrg
zv>m?ob>WFQlP2A%Hn=1@``4QE6%+jQuRqARD>liC{m@M74S9EWSk<n2AHlY8y~CR4
z9@9TQ`T2TZy1u*rlTWK}uk!R*T5->6CHom+{ot+F8A=%J9^7^Nu$_UKLB&P=;Htw%
Q^g%_nr>mdKI;Vst0E?ts4*&oF
deleted file mode 100644
index c6f59558a3e5c39af65da8d09b6fee38b58f0ebb..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
index c26d2dc2a0c24670ef8e287c523080c3f415aee0..336dd8f6ebb04770309496515714ff9ad6a81de3
GIT binary patch
literal 1662
zc%17D@N?(olHy`uVBq!ia0vp^f<P?5!3HEh7*2@?Qj#UE5hcO-X(i=}MX3yqDfvmM
z3ZA)%>8U}fi7AzZCsS=07?_nZLn2Bde0{8v^K<nQL2C3Watjzhz{b9!ATc>RwL~E)
zH9a%WR_Xoj{Yna%DYi=CroINg1<t7%nI2U|slio#A<0$Q$(AWf_I3(36;?n4a#KqZ
z6)JLb@`|l0Y?Z*~S^?Q0VSOb9u#%E&TP292B76fBob!uP6-@OEbdwFt3>3@^^$d+o
z%+1Yp6pRcE4fG9+^bL)44b82LjjRj|6rex}Xj@TAnpKdC8`Lf!&sHg;q@=(~U%$M(
zT(8_%FTW^V-_X+15@d#vkuFe$ZgFK^Nn(X=Ua>OF1ees}<f6=ilFa-(1rR?mDZjMD
zR!Irwh1>$Tv3bSNU;+l1ennz|zM-ChK9WLTU;IjQbK$CsOM+6<@T)EksVqp<4@xc0
zFD*(2MqHXQNOOUeb5UwyNq$jCetr%t6azByOY(~|@(UE4gH08D6O%LZKzy)zUtcTF
zyyB9?yyR3*7h5Huh+bx9ij}L8tC5Mbqobpfv5TRhi<_m9tE01%vx%9ro0F4^xdBYC
zOMY@`Zfaf$Om7N8uM<waprioNom!MxmYU*Ll%J~r_OewbZns$Ab_+yr3U0Sp;?%1T
zbc{Y)M8kxDsRzV_CtDx~p72xifT_I*n5>WJtK~8<Fn#iLaSW-rRWc>kLnKh-`1!vx
zO4G|ii<EuOiY(Es<=G^#>62oOXV(IiH{KIAym1w1(Kx}*{mS)M%Yv3AO*~C<uP%D|
z2pa`mx_ar)KcDM=3)0e``#oQ`Qp4)Q^Lv)x|J55mpJVNubGz;AI`MvP`56-@{Lgth
zU8=JFeVW#dZ5?ZGZg{nLHsh>$V$YvcxK^$+54wA==KG8u!BY)Js%mQPr>1X_R8gE4
zciy9W!<imeE8|}aquMOWn;u<o2sBBscy7a&lH+{h_OVHG&hY$A+2h^rvYpR5sEWTP
zyEf#As3@b}gvBfd&kk4~n%0{y<+sD|1*_Ayv?Xm`lWpscMG6R;Db((Et!+M^w_=vM
zWs=U81j*`+W{#2KUK$hHe(h0~>;I*at$sQvlxfywrs+~lS0x$T{zM#f-Jm1wl*lU9
z#K+Ob!osBX<=2S^cbKf#Tg04|S^eKUkb7C`GGJ_RG_)S`IK$&~yjoa7bixBZ$EMRQ
z25st=t#$AG?w7C7Gk>4pYOcHb*F{SMnfi;*KXcpKv>wa6BI9Hr>d=wfuz`o8-FL=;
zrT6ZO*lj<`x%~MhS(cuY%a3qHN8P-2<L>m@tJm{6W3T_8{q*(>g%*ap3>*r@HC+zr
z)14d2*8QtE`L^uNjj-sgSNC6<Ydqcl?tAHbrKk5VSP=POVONvn)`JdVM_O)J7@v0d
zu=u?9Y56)A@8es&&RZmJxFuV8*5~Zk7i`^(Deo?2BzB&8aVf@}!(z_uXNB42zOI)x
zEDI{oNYQOEe)ROr0X>E@$;m1n4_;1t+NabLDE;TNbEZ*zW|+mqd0Pd1c~hb<a`f~G
zOGqs>usq9pv}N)(mzB|nMI0MMXL=l5o9D%O!qi4BTk%lT7rwrLA79%KA9?d`+F@5y
zea?MupMUSV+_`RE&Gyqw&hvezP7s~Em(R%HOmp()$oTK#A^Ud)M3^-!6ufeN&!1r4
z_p`FP_m}V4*L2tWK*XLF@00m6b3SNmOi*<wUHIqqHKD-jfWj5eo<6W=WMjCn(q8b{
S@mbG7HG-$BpUXO@geCyZ+JpiC
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1dc2d8504cbf625fffc9d5707ef9eb459c70fc0e
GIT binary patch
literal 1979
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..901ab1ec29fa9d08b240f68653f27f4b0bbda842
GIT binary patch
literal 2027
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
F{{wX7A_V{d
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..370ceec0f241b320339bd7a6239eafd4f19944cf
GIT binary patch
literal 1852
zc$|Gz3rtgI6s{;J2=Y=U0&=;9MAWvoEswRMLg}Tn!5W0Jp(0S)TPWJz(q5!6<uP$o
zM5KreP$0@faEO?pGMJEok~+v(BtZqyiO2+TI7N^#bhjw%k>H>Fk8|>U=RfEC-_1Q5
zyd%)UY=aqrK(OHR;1GOQ<1>7f3BGo2(%a&jJr)p-g`!d{Nu)vuYzZ2J0DQS9770N_
zlH`P2h!26V9Fz&ev2ek5rWlozMFtF6BUcg(!^c;n6p8mC7!ZTR$`mYcqNNQ4WD*wm
zg{J@#C^<-+jF+N9LQ{4K#VPy53<>DF4e-%0@c?oJ69F3eeubK;VS)2;nfTe@rhvda
z1lz{~-zOC=2nIN)3IROH5J?PqL4X&POr?8xdwXvMXb=^mKr{-KMxuH%=`<z;0Urj4
z-=>mCnISOu!(F(=0^=}D$)r${l9I?tbTX=nrBE3Rh9L%xM#2#!b+Q5zX-En+aUlYX
zsKqLo5|g0{z+j7F&_s*{f(s?cm5X5&>JM$g8%EKHloTo%qWlXe5PTdemoK8#SO_Bh
zI9e@CRw9%TM2#k@#Q4KWi3YNg$x$I93{?qHbpJvZgX2&PRmY)9fD`Ho2t;C;!eGzi
z1p+2tp~gfCF~WygAnqZ{WD=%#08Hi3X*9OKCyh#lxeQtWo8!;%@Zxa&{b6rtfeWMJ
zL^-0s7Pyjsxb!8t1}VH}BP!VeM8Z{}a$vq>rflh4prvzp&y_5l3w22@1y6?ZzlUCM
z;p#CQ7iEhZi^4|~xY|{?tlvHjUW0!v4Sbj_)bx*+4yY<1b3ggn1Jdd9EwjCc?wT~_
z`DKk-k$-Fkf}D&jiZf4&yE==!+TLYE6=;alt0zy)H9z-$=XOtn+IqUaU>~OuAJ`10
zy@5v}hn<ARFSjHL?w~wKig5GN4+i}jS!v8&rAuA^N7)nmcBA3RBkCib+!rSIrkAz4
zFgie@YH~OA$)2_uH}jdP^x@~%c1u?T=H0z~HE+t^<;2S51I2)^uOdFL)~d^{qFUdW
zaxkFZ(g92!;5mSIj3!tEuktSD>(9;sF1m{`4*c2NSN&k9F=+X^fm69$N9i)xdD&Z*
z#*QR3vO`@>&jd;l-6dLk7<`rJ%CJi=w0@P**t;qFOu0Crx{teaco(-RUoXti(=(pQ
zexq)DSX2G^gChD^RbPnl?Izyu&vbThVT@ya>}`72p|Md9c*=ccoMZ7&>qZ6?uN{tF
zaSW`g4~)+qFDmk{wB<&mJND~OL#}4W9Q%1mIiF6HbclaGZzQoP8GCfvdcR+YF*swt
z(;+0j?urSwkx;ygE!X;V@wQA*sb876nilj8*KtRja%upZ&Z)z8x!>63mfKBHt{0|O
zm!=N7uj`wUJ7ew6BxTR+GLKl;jhB+opL+WiD|gYwe(T11oZ6|~P<5*1cw;cpb3NPT
zdDADgH}!kzS<@>`Z(J5$&^ESf@8=Cl)9QZFXPx71$+_7(KGD`hDBf&U+oO#DYmIa^
zX{$l!=o{_eY14cOFp!`#|1L)l<iBYdc~}(|RLSRV+Dkm?H@4GGR%jh`bghwaovhS4
zD7*Wws0+=!uAJ!W+-kFUi90TUZSclIdr(gI*G{^qu60`_TX1~<8r?Fb`)~mqSz^6L
zyM3MZ2M=N<&o{>koP&n4C49Xi!nMPR=##u=v(;#>wST4aypj^m&V`qRm8}_{W!Qe%
zS{50Y4Z4$h3Zr7Sk6tN$y{n>OC|lo{U?gzpxpeUg^D|+(x~DtkR2^}!qId0R*<u(M
z_)k%$)o9j#9A~(2HmTg%+d?la5sRs}!e5db*si7=>7$;<tx-?c5+foc^?sE#-Bz+p
zoM@?wMZV^V@r(~?4~9v#9zU&ext*o2pm8b_ItSmGhb8!>XCje>);Y)U^0wL;aQ6%B
z!Am!BoaKD6!OJD2`HIhhl}Sg3GP3i&H`1M(_u#$iFyJ1iEi)n9@mXKf+%vkz@IT`R
L?11b2qrdtaSZ~G*
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..69463fb1af3de8f2cb8c9acc2fcbd61b226cb114
GIT binary patch
literal 2177
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
index 9e362f48811bf4758fe276b40314048b04f7d812..8efc3371185ddf3b3ca3e7b3efe54e156be88535
GIT binary patch
literal 848
zc$@)H1F!svP)<h;3K|Lk000e1NJLTq000sI000sQ1^@s6R?d!B00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9
za%BKeVQFr3E>1;MAa*k@H7+$tiu~XJ00O{CL_t(IPqkEENK<hXRtaCUi<wc07-~hZ
zgiy4Z|C*Z9ZC!QUZFh5SyVLn+=4QGnk{K0N4}tX(kxwB#ND%ZG2GxrZrOY0rvWL*3
zIa;QoJ)VBwZ4Pq@_0WYM=YHS$&UX*z{I<Bb|NVUUvUHf8{7on4ufNHPc1H{nV33rY
zGLy6?lQ=GQDq;v8A4uKS6hgPR*Q6{iy%2amUjUq?$Rm}`NQl7Tk@xxs48SpF=maL*
zz60y&hjJ+`J^M*uZlOR~QA>iooe+V+BhT&4T=xwO=~-RMZ)S|hsi`*(9z9-0)eROZ
ztk6)Qs&=;KjFrqSU4#e>9(hG!DQW6W1FSA9rmN54)heOUF`*F}N#Eomt<g>z!4f^d
z;E^|29gjbSS1Y%66Wva5X|2xeY@ZcuZFJgbT^t*KI2>O6(TWHx*jmZb((wkmm~H;r
zPU_75g9<uUQc1i;B3`u9-Fx>hEqq-mV)=MPVDLIol6BB?T$;R1xih@v<mQvkERl)L
z!_nm@ozY6qUIx@Gml)9`0)s~$I_R@mU8J*k*{EEtoj%12)X?Z8ySs-Pnwm+J+PWj6
zoru8T<vi0tUtX=5-rP|}XnEa;S<Ekn-7b%BPU`Ye1#bw~=*7Nkx9(^WfgNXk<ns96
z1;4GdLytOUlo1^|13M-IZ<YDQs;8!AH+A+8k>v4{-sU2;!74{!@Fr&m<rSZl?-{F0
z*t)qRMJn}`5;adwZyz~2&r#3d<*5$;AoUO5AVgsBlGjfssx(xo)%WB6Z8hRX$Hwht
zYVA^;Xd_o=_e5xU&0u$X>HPH(HWx1egGU~^u?LStW|SOrAwPzemCs+i?!I|@bY$b6
z@MatJUc5?(7%F(=Ctn3T&~N+0Wx`$TC^oJIFNo81ViO^5YzO(^_ciWc{!*gbjM>f~
aTz&%F6bZy^LpA#V0000<MNUMnLSTZ@$AfhM
deleted file mode 100644
index 69463fb1af3de8f2cb8c9acc2fcbd61b226cb114..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/themes/winstripe/mozapps/jar.mn
+++ b/toolkit/themes/winstripe/mozapps/jar.mn
@@ -4,42 +4,49 @@ toolkit.jar:
 # NOTE: If you add a new file here, you'll need to add it to the aero
 # section at the bottom of this file
         skin/classic/mozapps/downloads/downloadButtons.png         (downloads/downloadButtons.png)
         skin/classic/mozapps/downloads/downloadIcon.png            (downloads/downloadIcon.png)
         skin/classic/mozapps/downloads/downloads.css               (downloads/downloads.css)
         skin/classic/mozapps/downloads/unknownContentType.css      (downloads/unknownContentType.css)
         skin/classic/mozapps/extensions/about.css                  (extensions/about.css)
         skin/classic/mozapps/extensions/blocklist.css              (extensions/blocklist.css)
-        skin/classic/mozapps/extensions/extensions.css             (extensions/extensions.css)
+*       skin/classic/mozapps/extensions/extensions.css             (extensions/extensions.css)
         skin/classic/mozapps/extensions/update.css                 (extensions/update.css)
+        skin/classic/mozapps/extensions/extensions.svg             (extensions/extensions.svg)
         skin/classic/mozapps/extensions/category-search.png        (extensions/category-search.png)
         skin/classic/mozapps/extensions/category-discover.png      (extensions/category-discover.png)
         skin/classic/mozapps/extensions/category-languages.png     (extensions/category-languages.png)
         skin/classic/mozapps/extensions/category-searchengines.png (extensions/category-searchengines.png)
         skin/classic/mozapps/extensions/category-extensions.png    (extensions/category-extensions.png)
         skin/classic/mozapps/extensions/category-themes.png        (extensions/category-themes.png)
         skin/classic/mozapps/extensions/category-plugins.png       (extensions/category-plugins.png)
         skin/classic/mozapps/extensions/category-recent.png        (extensions/category-recent.png)
         skin/classic/mozapps/extensions/category-available.png     (extensions/category-available.png)
         skin/classic/mozapps/extensions/extensionGeneric.png       (extensions/extensionGeneric.png)
         skin/classic/mozapps/extensions/extensionGeneric-16.png    (extensions/extensionGeneric-16.png)
         skin/classic/mozapps/extensions/themeGeneric.png           (extensions/themeGeneric.png)
         skin/classic/mozapps/extensions/themeGeneric-16.png        (extensions/themeGeneric-16.png)
         skin/classic/mozapps/extensions/localeGeneric.png          (extensions/localeGeneric.png)
-        skin/classic/mozapps/extensions/go-back.png                (extensions/go-back.png)
         skin/classic/mozapps/extensions/rating-won.png             (extensions/rating-won.png)
         skin/classic/mozapps/extensions/rating-not-won.png         (extensions/rating-not-won.png)
-        skin/classic/mozapps/extensions/rating-unrated.png         (extensions/rating-unrated.png)
         skin/classic/mozapps/extensions/cancel.png                 (extensions/cancel.png)
         skin/classic/mozapps/extensions/pause.png                  (extensions/pause.png)
         skin/classic/mozapps/extensions/utilities.png              (extensions/utilities.png)
         skin/classic/mozapps/extensions/heart.png                  (extensions/heart.png)
         skin/classic/mozapps/extensions/navigation.png             (extensions/navigation.png)
-        skin/classic/mozapps/extensions/warning-stripes.png        (extensions/warning-stripes.png)
+        skin/classic/mozapps/extensions/stripes-warning.png        (extensions/stripes-warning.png)
+        skin/classic/mozapps/extensions/stripes-error.png          (extensions/stripes-error.png)
+        skin/classic/mozapps/extensions/stripes-info-positive.png  (extensions/stripes-info-positive.png)
+        skin/classic/mozapps/extensions/stripes-info-negative.png  (extensions/stripes-info-negative.png)
+        skin/classic/mozapps/extensions/alerticon-warning.png      (extensions/alerticon-warning.png)
+        skin/classic/mozapps/extensions/alerticon-error.png        (extensions/alerticon-error.png)
+        skin/classic/mozapps/extensions/alerticon-info-positive.png (extensions/alerticon-info-positive.png)
+        skin/classic/mozapps/extensions/alerticon-info-negative.png (extensions/alerticon-info-negative.png)
+        skin/classic/mozapps/extensions/background-texture.png     (extensions/background-texture.png)
         skin/classic/mozapps/extensions/eula.css                   (extensions/eula.css)
         skin/classic/mozapps/handling/handling.css                 (handling/handling.css)
         skin/classic/mozapps/passwordmgr/key.png                   (passwordmgr/key.png)
         skin/classic/mozapps/passwordmgr/key-16.png                (passwordmgr/key-16.png)
         skin/classic/mozapps/passwordmgr/key-64.png                (passwordmgr/key-64.png)
 #ifdef MOZ_PLACES
         skin/classic/mozapps/places/defaultFavicon.png             (places/defaultFavicon.png)
         skin/classic/mozapps/places/tagContainerIcon.png           (places/tagContainerIcon.png)
@@ -71,43 +78,50 @@ toolkit.jar:
 toolkit.jar:
 % skin mozapps classic/1.0 %skin/classic/aero/mozapps/ os=WINNT osversion>=6
         skin/classic/aero/mozapps/downloads/downloadButtons.png            (downloads/downloadButtons-aero.png)
         skin/classic/aero/mozapps/downloads/downloadIcon.png               (downloads/downloadIcon-aero.png)
 *       skin/classic/aero/mozapps/downloads/downloads.css                  (downloads/downloads-aero.css)
         skin/classic/aero/mozapps/downloads/unknownContentType.css         (downloads/unknownContentType.css)
         skin/classic/aero/mozapps/extensions/about.css                     (extensions/about.css)
         skin/classic/aero/mozapps/extensions/blocklist.css                 (extensions/blocklist.css)
-        skin/classic/aero/mozapps/extensions/extensions.css                (extensions/extensions.css)
+*       skin/classic/aero/mozapps/extensions/extensions.css                (extensions/extensions-aero.css)
         skin/classic/aero/mozapps/extensions/update.css                    (extensions/update.css)
+        skin/classic/aero/mozapps/extensions/extensions.svg                (extensions/extensions.svg)
         skin/classic/aero/mozapps/extensions/themeGeneric.png              (extensions/themeGeneric-aero.png)
         skin/classic/aero/mozapps/extensions/category-search.png           (extensions/category-search.png)
         skin/classic/aero/mozapps/extensions/category-discover.png         (extensions/category-discover-aero.png)
         skin/classic/aero/mozapps/extensions/category-languages.png        (extensions/category-languages-aero.png)
         skin/classic/aero/mozapps/extensions/category-searchengines.png    (extensions/category-searchengines.png)
         skin/classic/aero/mozapps/extensions/category-extensions.png       (extensions/category-extensions-aero.png)
         skin/classic/aero/mozapps/extensions/category-themes.png           (extensions/category-themes-aero.png)
         skin/classic/aero/mozapps/extensions/category-plugins.png          (extensions/category-plugins-aero.png)
         skin/classic/aero/mozapps/extensions/category-recent.png           (extensions/category-recent-aero.png)
         skin/classic/aero/mozapps/extensions/category-available.png        (extensions/category-available-aero.png)
         skin/classic/aero/mozapps/extensions/extensionGeneric.png          (extensions/extensionGeneric-aero.png)
         skin/classic/aero/mozapps/extensions/extensionGeneric-16.png       (extensions/extensionGeneric-16-aero.png)
         skin/classic/aero/mozapps/extensions/themeGeneric.png              (extensions/themeGeneric-aero.png)
         skin/classic/aero/mozapps/extensions/themeGeneric-16.png           (extensions/themeGeneric-16-aero.png)
         skin/classic/aero/mozapps/extensions/localeGeneric.png             (extensions/localeGeneric-aero.png)
-        skin/classic/aero/mozapps/extensions/go-back.png                   (extensions/go-back.png)
         skin/classic/aero/mozapps/extensions/rating-won.png                (extensions/rating-won.png)
         skin/classic/aero/mozapps/extensions/rating-not-won.png            (extensions/rating-not-won.png)
-        skin/classic/aero/mozapps/extensions/rating-unrated.png            (extensions/rating-unrated.png)
         skin/classic/aero/mozapps/extensions/cancel.png                    (extensions/cancel.png)
         skin/classic/aero/mozapps/extensions/pause.png                     (extensions/pause.png)
         skin/classic/aero/mozapps/extensions/utilities.png                 (extensions/utilities.png)
         skin/classic/aero/mozapps/extensions/heart.png                     (extensions/heart.png)
         skin/classic/aero/mozapps/extensions/navigation.png                (extensions/navigation.png)
-        skin/classic/aero/mozapps/extensions/warning-stripes.png           (extensions/warning-stripes.png)
+        skin/classic/aero/mozapps/extensions/stripes-warning.png           (extensions/stripes-warning.png)
+        skin/classic/aero/mozapps/extensions/stripes-error.png             (extensions/stripes-error.png)
+        skin/classic/aero/mozapps/extensions/stripes-info-positive.png     (extensions/stripes-info-positive.png)
+        skin/classic/aero/mozapps/extensions/stripes-info-negative.png     (extensions/stripes-info-negative.png)
+        skin/classic/aero/mozapps/extensions/alerticon-warning.png         (extensions/alerticon-warning.png)
+        skin/classic/aero/mozapps/extensions/alerticon-error.png           (extensions/alerticon-error.png)
+        skin/classic/aero/mozapps/extensions/alerticon-info-positive.png   (extensions/alerticon-info-positive.png)
+        skin/classic/aero/mozapps/extensions/alerticon-info-negative.png   (extensions/alerticon-info-negative.png)
+        skin/classic/aero/mozapps/extensions/background-texture.png        (extensions/background-texture.png)
         skin/classic/aero/mozapps/extensions/eula.css                      (extensions/eula.css)
         skin/classic/aero/mozapps/handling/handling.css                    (handling/handling.css)
         skin/classic/aero/mozapps/passwordmgr/key.png                      (passwordmgr/key-aero.png)
         skin/classic/aero/mozapps/passwordmgr/key-16.png                   (passwordmgr/key-aero-16.png)
         skin/classic/aero/mozapps/passwordmgr/key-64.png                   (passwordmgr/key-aero-64.png)
 #ifdef MOZ_PLACES
         skin/classic/aero/mozapps/places/defaultFavicon.png                (places/defaultFavicon-aero.png)
         skin/classic/aero/mozapps/places/tagContainerIcon.png              (places/tagContainerIcon-aero.png)