Bug 989469 - Use new style for add-on manager. ui-r=mmasalaney r=mossop CLOSED TREE
authorRichard Marti <richard.marti@gmail.com>
Fri, 03 Apr 2015 17:00:56 +0200
changeset 273244 3b4fa5cc62106533d8c95fcfbbc617e2e997ff61
parent 273243 83909aa7f4facafed634205b51b60d411695de3c
child 273245 211fa8dd7c249d5750b75d5fd1476bf3e585d386
push id863
push userraliiev@mozilla.com
push dateMon, 03 Aug 2015 13:22:43 +0000
treeherdermozilla-release@f6321b14228d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmmasalaney, mossop
bugs989469
milestone40.0a1
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 989469 - Use new style for add-on manager. ui-r=mmasalaney r=mossop CLOSED TREE
toolkit/mozapps/extensions/content/extensions.js
toolkit/mozapps/extensions/content/extensions.xml
toolkit/mozapps/extensions/content/extensions.xul
toolkit/mozapps/extensions/test/browser/browser_bug591663.js
toolkit/mozapps/extensions/test/browser/browser_details.js
toolkit/mozapps/extensions/test/browser/browser_inlinesettings_info.js
toolkit/themes/linux/mozapps/extensions/extensions.css
toolkit/themes/linux/mozapps/extensions/heart.png
toolkit/themes/linux/mozapps/jar.mn
toolkit/themes/osx/mozapps/extensions/extensions.css
toolkit/themes/osx/mozapps/jar.mn
toolkit/themes/shared/extensions/extensions.inc.css
toolkit/themes/shared/extensions/navigation.png
toolkit/themes/windows/mozapps/extensions/extensions.css
toolkit/themes/windows/mozapps/extensions/navigation.png
toolkit/themes/windows/mozapps/jar.mn
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -2634,16 +2634,17 @@ var gListView = {
 
   hide: function gListView_hide() {
     gEventManager.unregisterInstallListener(this);
     doPendingUninstalls(this._listBox);
   },
 
   showEmptyNotice: function gListView_showEmptyNotice(aShow) {
     this._emptyNotice.hidden = !aShow;
+    this._listBox.hidden = aShow;
   },
 
   onSortChanged: function gListView_onSortChanged(aSortBy, aAscending) {
     sortList(this._listBox, aSortBy, aAscending);
   },
 
   onExternalInstall: function gListView_onExternalInstall(aAddon, aExistingAddon, aRequiresRestart) {
     // The existing list item will take care of upgrade installs
@@ -2780,31 +2781,32 @@ var gDetailView = {
     var version = document.getElementById("detail-version");
     if (shouldShowVersionNumber(aAddon)) {
       version.hidden = false;
       version.value = aAddon.version;
     } else {
       version.hidden = true;
     }
 
+    var screenshotbox = document.getElementById("detail-screenshot-box");
     var screenshot = document.getElementById("detail-screenshot");
     if (aAddon.screenshots && aAddon.screenshots.length > 0) {
       if (aAddon.screenshots[0].thumbnailURL) {
         screenshot.src = aAddon.screenshots[0].thumbnailURL;
         screenshot.width = aAddon.screenshots[0].thumbnailWidth;
         screenshot.height = aAddon.screenshots[0].thumbnailHeight;
       } else {
         screenshot.src = aAddon.screenshots[0].url;
         screenshot.width = aAddon.screenshots[0].width;
         screenshot.height = aAddon.screenshots[0].height;
       }
       screenshot.setAttribute("loading", "true");
-      screenshot.hidden = false;
+      screenshotbox.hidden = false;
     } else {
-      screenshot.hidden = true;
+      screenshotbox.hidden = true;
     }
 
     var desc = document.getElementById("detail-desc");
     desc.textContent = aAddon.description;
 
     var fullDesc = document.getElementById("detail-fulldesc");
     if (aAddon.fullDescription) {
       // The following is part of an awful hack to include the licenses for GMP
@@ -3462,18 +3464,18 @@ var gUpdatesView = {
       if (!aIsRefresh && gViewController && aRequest &&
           aRequest != gViewController.currentViewRequest)
         return;
 
       if (aIsRefresh) {
         self.showEmptyNotice(false);
         self._updateSelected.hidden = true;
 
-        while (self._listBox.itemCount > 0)
-          self._listBox.removeItemAt(0);
+        while (self._listBox.childNodes.length > 0)
+          self._listBox.removeChild(self._listBox.firstChild);
       }
 
       var elements = [];
 
       for (let install of aInstallsList) {
         if (!self.isManualUpdate(install))
           continue;
 
@@ -3497,16 +3499,17 @@ var gUpdatesView = {
       self._categoryItem.badgeCount = self._listBox.itemCount;
 
       gViewController.notifyViewChanged();
     });
   },
 
   showEmptyNotice: function gUpdatesView_showEmptyNotice(aShow) {
     this._emptyNotice.hidden = !aShow;
+    this._listBox.hidden = aShow;
   },
 
   isManualUpdate: function gUpdatesView_isManualUpdate(aInstall, aOnlyAvailable) {
     var isManual = aInstall.existingAddon &&
                    !AddonManager.shouldAutoUpdate(aInstall.existingAddon);
     if (isManual && aOnlyAvailable)
       return isInState(aInstall, "available");
     return isManual;
--- a/toolkit/mozapps/extensions/content/extensions.xml
+++ b/toolkit/mozapps/extensions/content/extensions.xml
@@ -782,17 +782,17 @@
                     oncommand="document.getBindingParent(this).restart();"/>
         <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 class="content-container">
+      <xul:hbox class="content-container" align="center">
         <xul:vbox class="icon-container">
           <xul:image anonid="icon" class="icon"/>
         </xul:vbox>
         <xul:vbox class="content-inner-container" flex="1">
           <xul:hbox class="basicinfo-container">
               <xul:hbox class="name-container">
                 <xul:label anonid="name" class="name" crop="end" flex="1"
                            xbl:inherits="value=name,tooltiptext=name"/>
@@ -837,87 +837,87 @@
                             tooltiptext="&cmd.showReleaseNotes.tooltip;"
                             showlabel="&cmd.showReleaseNotes.label;"
                             showtooltip="&cmd.showReleaseNotes.tooltip;"
                             hidelabel="&cmd.hideReleaseNotes.label;"
                             hidetooltip="&cmd.hideReleaseNotes.tooltip;"
                             oncommand="document.getBindingParent(this).toggleReleaseNotes();"/>
               </xul:hbox>
             </xul:vbox>
-            <xul:vbox class="status-control-wrapper">
-              <xul:hbox class="status-container">
-                <xul:hbox anonid="checking-update" hidden="true">
-                  <xul:image class="spinner"/>
-                  <xul:label value="&addon.checkingForUpdates.label;"/>
-                </xul:hbox>
-                <xul:vbox anonid="update-available" class="update-available"
-                          hidden="true">
-                  <xul:checkbox anonid="include-update" class="include-update"
-                                label="&addon.includeUpdate.label;" checked="true"
-                                oncommand="document.getBindingParent(this).onIncludeUpdateChanged();"/>
-                  <xul:hbox class="update-info-container">
-                    <xul:label class="update-available-notice"
-                               value="&addon.updateAvailable.label;"/>
-                    <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 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();"/>
-                            <!-- label="&cmd.debugAddon.label;" -->
-                <xul:button anonid="debug-btn" class="addon-control debug"
-                            label="&cmd.debugAddon.label;"
-                            oncommand="document.getBindingParent(this).debug();"/>
-
-                <xul:button anonid="enable-btn"  class="addon-control enable"
-                            label="&cmd.enableAddon.label;"
-                            oncommand="document.getBindingParent(this).userDisabled = false;"/>
-                <xul:button anonid="disable-btn" class="addon-control disable"
-                            label="&cmd.disableAddon.label;"
-                            oncommand="document.getBindingParent(this).userDisabled = true;"/>
-                <xul:button anonid="remove-btn" class="addon-control remove"
-                            label="&cmd.uninstallAddon.label;"
-                            oncommand="document.getBindingParent(this).uninstall();"/>
-                <xul:menulist anonid="state-menulist"
-                              class="addon-control state"
-                              tooltiptext="&cmd.stateMenu.tooltip;">
-                  <xul:menupopup>
-                    <xul:menuitem anonid="ask-to-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.askToActivate.label;"
-                                  tooltiptext="&cmd.askToActivate.tooltip;"
-                                  oncommand="document.getBindingParent(this).userDisabled = AddonManager.STATE_ASK_TO_ACTIVATE;"/>
-                    <xul:menuitem anonid="always-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.alwaysActivate.label;"
-                                  tooltiptext="&cmd.alwaysActivate.tooltip;"
-                                  oncommand="document.getBindingParent(this).userDisabled = false;"/>
-                    <xul:menuitem anonid="never-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.neverActivate.label;"
-                                  tooltiptext="&cmd.neverActivate.tooltip;"
-                                  oncommand="document.getBindingParent(this).userDisabled = true;"/>
-                  </xul:menupopup>
-                </xul:menulist>
+          </xul:hbox>
+        </xul:vbox>
+        <xul:vbox class="status-control-wrapper">
+          <xul:hbox class="status-container">
+            <xul:hbox anonid="checking-update" hidden="true">
+              <xul:image class="spinner"/>
+              <xul:label value="&addon.checkingForUpdates.label;"/>
+            </xul:hbox>
+            <xul:vbox anonid="update-available" class="update-available"
+                      hidden="true">
+              <xul:checkbox anonid="include-update" class="include-update"
+                            label="&addon.includeUpdate.label;" checked="true"
+                            oncommand="document.getBindingParent(this).onIncludeUpdateChanged();"/>
+              <xul:hbox class="update-info-container">
+                <xul:label class="update-available-notice"
+                           value="&addon.updateAvailable.label;"/>
+                <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 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();"/>
+                        <!-- label="&cmd.debugAddon.label;" -->
+            <xul:button anonid="debug-btn" class="addon-control debug"
+                        label="&cmd.debugAddon.label;"
+                        oncommand="document.getBindingParent(this).debug();"/>
+
+            <xul:button anonid="enable-btn"  class="addon-control enable"
+                        label="&cmd.enableAddon.label;"
+                        oncommand="document.getBindingParent(this).userDisabled = false;"/>
+            <xul:button anonid="disable-btn" class="addon-control disable"
+                        label="&cmd.disableAddon.label;"
+                        oncommand="document.getBindingParent(this).userDisabled = true;"/>
+            <xul:button anonid="remove-btn" class="addon-control remove"
+                        label="&cmd.uninstallAddon.label;"
+                        oncommand="document.getBindingParent(this).uninstall();"/>
+            <xul:menulist anonid="state-menulist"
+                          class="addon-control state"
+                          tooltiptext="&cmd.stateMenu.tooltip;">
+              <xul:menupopup>
+                <xul:menuitem anonid="ask-to-activate-menuitem"
+                              class="addon-control"
+                              label="&cmd.askToActivate.label;"
+                              tooltiptext="&cmd.askToActivate.tooltip;"
+                              oncommand="document.getBindingParent(this).userDisabled = AddonManager.STATE_ASK_TO_ACTIVATE;"/>
+                <xul:menuitem anonid="always-activate-menuitem"
+                              class="addon-control"
+                              label="&cmd.alwaysActivate.label;"
+                              tooltiptext="&cmd.alwaysActivate.tooltip;"
+                              oncommand="document.getBindingParent(this).userDisabled = false;"/>
+                <xul:menuitem anonid="never-activate-menuitem"
+                              class="addon-control"
+                              label="&cmd.neverActivate.label;"
+                              tooltiptext="&cmd.neverActivate.tooltip;"
+                              oncommand="document.getBindingParent(this).userDisabled = true;"/>
+              </xul:menupopup>
+            </xul:menulist>
           </xul:hbox>
         </xul:vbox>
       </xul:hbox>
     </content>
 
     <implementation>
       <constructor><![CDATA[
         this._installStatus.mControl = this;
--- a/toolkit/mozapps/extensions/content/extensions.xul
+++ b/toolkit/mozapps/extensions/content/extensions.xul
@@ -114,218 +114,357 @@
     <command id="cmd_neverActivateItem"/>
   </commandset>
 
   <keyset>
     <!-- XXXunf Disabled until bug 371900 is fixed. -->
     <key id="focusSearch" key="&search.commandkey;" modifiers="accel"
          disabled="true"/>
   </keyset>
+  <hbox flex="1">
+    <vbox>
+      <hbox id="nav-header"
+            align="center"
+            pack="center">
+        <toolbarbutton id="back-btn"
+                       class="nav-button header-button"
+                       command="cmd_back"
+                       tooltiptext="&cmd.back.tooltip;"
+                       hidden="true"
+                       disabled="true"/>
+        <toolbarbutton id="forward-btn"
+                       class="nav-button header-button"
+                       command="cmd_forward"
+                       tooltiptext="&cmd.forward.tooltip;"
+                       hidden="true"
+                       disabled="true"/>
+      </hbox>
+      <!-- category list -->
+      <richlistbox id="categories" flex="1">
+        <richlistitem id="category-search" value="addons://search/"
+                      class="category"
+                      name="&view.search.label;" priority="0"
+                      tooltiptext="&view.search.label;" disabled="true"/>
+        <richlistitem id="category-discover" value="addons://discover/"
+                      class="category"
+                      name="&view.discover.label;" priority="1000"
+                      tooltiptext="&view.discover.label;"/>
+        <richlistitem id="category-availableUpdates" value="addons://updates/available"
+                      class="category"
+                      name="&view.availableUpdates.label;" priority="100000"
+                      tooltiptext="&view.availableUpdates.label;"
+                      disabled="true"/>
+        <richlistitem id="category-recentUpdates" value="addons://updates/recent"
+                      class="category"
+                      name="&view.recentUpdates.label;" priority="101000"
+                      tooltiptext="&view.recentUpdates.label;" disabled="true"/>
+      </richlistbox>
+    </vbox>
+    <vbox flex="1">
+      <!-- main header -->
+      <hbox id="header" align="center">
+        <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;"
+                  command="cmd_goToAvailableUpdates"/>
+          <label id="updates-progress" hidden="true"
+                 value="&updates.updating.label;"/>
+          <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>
+        <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;"
+                      command="cmd_goToRecentUpdates"/>
+            <menuseparator id="utils-installFromFile-separator"/>
+            <menuitem id="utils-installFromFile"
+                      label="&installAddonFromFile.label;"
+                      accesskey="&installAddonFromFile.accesskey;"
+                      command="cmd_installFromFile"/>
+            <menuseparator/>
+            <menuitem id="utils-autoUpdateDefault"
+                      label="&updates.updateAddonsAutomatically.label;"
+                      accesskey="&updates.updateAddonsAutomatically.accesskey;"
+                      type="checkbox" autocheck="false"
+                      command="cmd_toggleAutoUpdateDefault"/>
+            <menuitem id="utils-resetAddonUpdatesToAutomatic"
+                      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>
+        </toolbarbutton>
+        <textbox id="header-search" type="search" searchbutton="true"
+                 searchbuttonlabel="&search.buttonlabel;"
+                 placeholder="&search.placeholder;"/>
+      </hbox>
+      <box id="view-port-container" class="main-content" flex="1">
+        <!-- view port -->
+        <deck id="view-port" flex="1" selectedIndex="0">
 
-  <!-- main header -->
-  <hbox id="header" align="center">
-    <toolbarbutton id="back-btn" class="nav-button header-button" command="cmd_back"
-            tooltiptext="&cmd.back.tooltip;" hidden="true" disabled="true"/>
-    <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;"
-              command="cmd_goToAvailableUpdates"/>
-      <label id="updates-progress" hidden="true"
-             value="&updates.updating.label;"/>
-      <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>
-    <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;"
-                  command="cmd_goToRecentUpdates"/>
-        <menuseparator id="utils-installFromFile-separator"/>
-        <menuitem id="utils-installFromFile"
-                  label="&installAddonFromFile.label;"
-                  accesskey="&installAddonFromFile.accesskey;"
-                  command="cmd_installFromFile"/>
-        <menuseparator/>
-        <menuitem id="utils-autoUpdateDefault"
-                  label="&updates.updateAddonsAutomatically.label;"
-                  accesskey="&updates.updateAddonsAutomatically.accesskey;"
-                  type="checkbox" autocheck="false"
-                  command="cmd_toggleAutoUpdateDefault"/>
-        <menuitem id="utils-resetAddonUpdatesToAutomatic"
-                  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>
-    </toolbarbutton>
-    <textbox id="header-search" type="search" searchbutton="true"
-             searchbuttonlabel="&search.buttonlabel;"
-             placeholder="&search.placeholder;"/>
-  </hbox>
+          <!-- discover view -->
+          <deck id="discover-view" flex="1" class="view-pane" selectedIndex="0" tabindex="0">
+            <vbox id="discover-loading" align="center" pack="stretch" flex="1" class="alert-container">
+              <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="discover-error" align="center" pack="stretch" flex="1" class="alert-container">
+              <spacer class="alert-spacer-before"/>
+              <hbox>
+                <spacer class="discover-spacer-before"/>
+                <hbox class="alert" align="center">
+                  <image class="discover-logo"/>
+                  <vbox flex="1" align="stretch">
+                    <label class="discover-title">&discover.title;</label>
+                    <description class="discover-description">&discover.description2;</description>
+                    <description class="discover-footer">&discover.footer;</description>
+                  </vbox>
+                </hbox>
+                <spacer class="discover-spacer-after"/>
+              </hbox>
+              <spacer class="alert-spacer-after"/>
+            </vbox>
+            <browser id="discover-browser" type="content" flex="1"
+                     disablehistory="true" homepage="about:blank"/>
+          </deck>
 
-  <hbox flex="1">
-
-    <!-- category list -->
-    <richlistbox id="categories">
-      <richlistitem id="category-search" value="addons://search/"
-                    class="category"
-                    name="&view.search.label;" priority="0"
-                    tooltiptext="&view.search.label;" disabled="true"/>
-      <richlistitem id="category-discover" value="addons://discover/"
-                    class="category"
-                    name="&view.discover.label;" priority="1000"
-                    tooltiptext="&view.discover.label;"/>
-      <richlistitem id="category-availableUpdates" value="addons://updates/available"
-                    class="category"
-                    name="&view.availableUpdates.label;" priority="100000"
-                    tooltiptext="&view.availableUpdates.label;"
-                    disabled="true"/>
-      <richlistitem id="category-recentUpdates" value="addons://updates/recent"
-                    class="category"
-                    name="&view.recentUpdates.label;" priority="101000"
-                    tooltiptext="&view.recentUpdates.label;" disabled="true"/>
-    </richlistbox>
-
-    <box id="view-port-container" class="main-content" flex="1">
-
-      <!-- view port -->
-      <deck id="view-port" flex="1" selectedIndex="0">
-
-        <!-- discover view -->
-        <deck id="discover-view" flex="1" class="view-pane" selectedIndex="0" tabindex="0">
-          <vbox id="discover-loading" align="center" pack="stretch" flex="1" class="alert-container">
-            <spacer class="alert-spacer-before"/>
-            <hbox class="alert loading" align="center">
-              <image/>
-              <label value="&loading.label;"/>
+          <!-- search view -->
+          <vbox id="search-view" flex="1" class="view-pane" tabindex="0">
+            <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;"/>
+                </hbox>
+                <hbox class="global-warning-checkcompatibility" flex="1" align="center"
+                      tooltiptext="&warning.checkcompatibility.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.checkcompatibility.label;"/>
+                </hbox>
+                <button class="button-link global-warning-checkcompatibility"
+                        label="&warning.checkcompatibility.enable.label;"
+                        tooltiptext="&warning.checkcompatibility.enable.tooltip;"
+                        command="cmd_enableCheckCompatibility"/>
+                <hbox class="global-warning-updatesecurity" flex="1" align="center"
+                      tooltiptext="&warning.updatesecurity.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.updatesecurity.label;"/>
+                </hbox>
+                <button class="button-link global-warning-updatesecurity"
+                        label="&warning.updatesecurity.enable.label;"
+                        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>
-            <spacer class="alert-spacer-after"/>
+            <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="remote">
+                <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 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 class="discover-button"
+                        id="discover-button-search"
+                        label="&listEmpty.button.label;"
+                        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>
-          <vbox id="discover-error" align="center" pack="stretch" flex="1" class="alert-container">
-            <spacer class="alert-spacer-before"/>
-            <hbox>
-              <spacer class="discover-spacer-before"/>
-              <hbox class="alert" align="center">
-                <image class="discover-logo"/>
-                <vbox flex="1" align="stretch">
-                  <label class="discover-title">&discover.title;</label>
-                  <description class="discover-description">&discover.description2;</description>
-                  <description class="discover-footer">&discover.footer;</description>
-                </vbox>
+
+          <!-- list view -->
+          <vbox id="list-view" flex="1" class="view-pane" align="stretch" tabindex="0">
+            <hbox class="view-header global-warning-container">
+              <!-- 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;"/>
+                </hbox>
+                <hbox class="global-warning-checkcompatibility" flex="1" align="center"
+                      tooltiptext="&warning.checkcompatibility.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.checkcompatibility.label;"/>
+                </hbox>
+                <button class="button-link global-warning-checkcompatibility"
+                        label="&warning.checkcompatibility.enable.label;"
+                        tooltiptext="&warning.checkcompatibility.enable.tooltip;"
+                        command="cmd_enableCheckCompatibility"/>
+                <hbox class="global-warning-updatesecurity" flex="1" align="center"
+                      tooltiptext="&warning.updatesecurity.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.updatesecurity.label;"/>
+                </hbox>
+                <button class="button-link global-warning-updatesecurity"
+                        label="&warning.updatesecurity.enable.label;"
+                        tooltiptext="&warning.updatesecurity.enable.tooltip;"
+                        command="cmd_enableUpdateSecurity"/>
+                <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
               </hbox>
-              <spacer class="discover-spacer-after"/>
             </hbox>
-            <spacer class="alert-spacer-after"/>
-          </vbox>
-          <browser id="discover-browser" type="content" flex="1"
-                   disablehistory="true" homepage="about:blank"/>
-        </deck>
-
-        <!-- search view -->
-        <vbox id="search-view" flex="1" class="view-pane" tabindex="0">
-          <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;"/>
+            <hbox class="view-header global-info-container plugin-info-container">
+              <hbox class="global-info" flex="1" align="center">
+                <button class="button-link global-info-plugincheck"
+                        label="&info.plugincheck.label;"
+                        tooltiptext="&info.plugincheck.tooltip;"
+                        command="cmd_pluginCheck"/>
+                <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
               </hbox>
-              <hbox class="global-warning-checkcompatibility" flex="1" align="center"
-                    tooltiptext="&warning.checkcompatibility.label;">
-                <image class="warning-icon"/>
-                <label class="global-warning-text" flex="1" crop="end"
-                       value="&warning.checkcompatibility.label;"/>
-              </hbox>
-              <button class="button-link global-warning-checkcompatibility"
-                      label="&warning.checkcompatibility.enable.label;"
-                      tooltiptext="&warning.checkcompatibility.enable.tooltip;"
-                      command="cmd_enableCheckCompatibility"/>
-              <hbox class="global-warning-updatesecurity" flex="1" align="center"
-                    tooltiptext="&warning.updatesecurity.label;">
-                <image class="warning-icon"/>
-                <label class="global-warning-text" flex="1" crop="end"
-                       value="&warning.updatesecurity.label;"/>
+            </hbox>
+            <hbox class="view-header global-info-container experiment-info-container">
+              <hbox class="global-info" flex="1" align="center">
+                <label value="&experiment.info.label;"/>
+                <button id="experiments-learn-more"
+                        label="&experiment.info.learnmore;"
+                        tooltiptext="&experiment.info.learnmore;"
+                        accesskey="&experiment.info.learnmore.accesskey;"
+                        command="cmd_experimentsLearnMore"/>
+                <button id="experiments-change-telemetry"
+                        label="&experiment.info.changetelemetry;"
+                        tooltiptext="&experiment.info.changetelemetry;"
+                        accesskey="&experiment.info.changetelemetry.accesskey;"
+                        command="cmd_experimentsOpenTelemetryPreferences"/>
+                <spacer flex="5000"/> <!-- Necessary to allow the message to wrap. -->
               </hbox>
-              <button class="button-link global-warning-updatesecurity"
-                      label="&warning.updatesecurity.enable.label;"
-                      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>
-          <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="remote">
-              <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 class="alert-spacer-before"/>
-            <hbox class="alert loading" align="center">
-              <image/>
-              <label value="&loading.label;"/>
-            </hbox>
-            <spacer class="alert-spacer-after"/>
+            <vbox id="addon-list-empty" class="alert-container"
+                  flex="1" hidden="true">
+              <spacer class="alert-spacer-before"/>
+              <vbox class="alert">
+                <label value="&listEmpty.installed.label;"/>
+                <button class="discover-button"
+                        id="discover-button-install"
+                        label="&listEmpty.button.label;"
+                        command="cmd_goToDiscoverPane"/>
+              </vbox>
+              <spacer class="alert-spacer-after"/>
+            </vbox>
+            <richlistbox id="addon-list" class="list" flex="1"/>
           </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 class="discover-button"
-                      id="discover-button-search"
-                      label="&listEmpty.button.label;"
-                      command="cmd_goToDiscoverPane"/>
+          <!-- updates view -->
+          <vbox id="updates-view" flex="1" class="view-pane" tabindex="0">
+            <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;"/>
+                </hbox>
+                <hbox class="global-warning-checkcompatibility" flex="1" align="center"
+                      tooltiptext="&warning.checkcompatibility.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.checkcompatibility.label;"/>
+                </hbox>
+                <button class="button-link global-warning-checkcompatibility"
+                        label="&warning.checkcompatibility.enable.label;"
+                        tooltiptext="&warning.checkcompatibility.enable.tooltip;"
+                        command="cmd_enableCheckCompatibility"/>
+                <hbox class="global-warning-updatesecurity" flex="1" align="center"
+                      tooltiptext="&warning.updatesecurity.label;">
+                  <image class="warning-icon"/>
+                  <label class="global-warning-text" flex="1" crop="end"
+                         value="&warning.updatesecurity.label;"/>
+                </hbox>
+                <button class="button-link global-warning-updatesecurity"
+                        label="&warning.updatesecurity.enable.label;"
+                        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="updateDate"
+                    ascending="false"/>
+            </hbox>
+            <vbox id="updates-list-empty" class="alert-container"
+                  flex="1" hidden="true">
+              <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;"
+                        command="cmd_findAllUpdates"/>
+              </vbox>
+              <spacer class="alert-spacer-after"/>
             </vbox>
-            <spacer class="alert-spacer-after"/>
+            <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>
-          <richlistbox id="search-list" class="list" flex="1">
-            <hbox pack="center">
-              <label id="search-allresults-link" class="text-link"/>
-            </hbox>
-          </richlistbox>
-        </vbox>
 
-        <!-- list view -->
-        <vbox id="list-view" flex="1" class="view-pane" align="stretch" tabindex="0">
-          <hbox class="view-header global-warning-container">
+          <!-- detail view -->
+          <scrollbox id="detail-view" flex="1" class="view-pane addon-view" orient="vertical" tabindex="0"
+                     role="document">
             <!-- global warnings -->
-            <hbox class="global-warning" flex="1">
+            <hbox class="global-warning-container global-warning">
               <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;"/>
               </hbox>
               <hbox class="global-warning-checkcompatibility" flex="1" align="center"
                     tooltiptext="&warning.checkcompatibility.label;">
@@ -344,345 +483,213 @@
                        value="&warning.updatesecurity.label;"/>
               </hbox>
               <button class="button-link global-warning-updatesecurity"
                       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>
-          <hbox class="view-header global-info-container plugin-info-container">
-            <hbox class="global-info" flex="1" align="center">
-              <button class="button-link global-info-plugincheck"
-                      label="&info.plugincheck.label;"
-                      tooltiptext="&info.plugincheck.tooltip;"
-                      command="cmd_pluginCheck"/>
-              <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
-            </hbox>
-          </hbox>
-          <hbox class="view-header global-info-container experiment-info-container">
-            <hbox class="global-info" flex="1" align="center">
-              <label value="&experiment.info.label;"/>
-              <button id="experiments-learn-more"
-                      label="&experiment.info.learnmore;"
-                      tooltiptext="&experiment.info.learnmore;"
-                      accesskey="&experiment.info.learnmore.accesskey;"
-                      command="cmd_experimentsLearnMore"/>
-              <button id="experiments-change-telemetry"
-                      label="&experiment.info.changetelemetry;"
-                      tooltiptext="&experiment.info.changetelemetry;"
-                      accesskey="&experiment.info.changetelemetry.accesskey;"
-                      command="cmd_experimentsOpenTelemetryPreferences"/>
-              <spacer flex="5000"/> <!-- Necessary to allow the message to wrap. -->
-            </hbox>
-          </hbox>
-          <vbox id="addon-list-empty" class="alert-container"
-                flex="1" hidden="true">
-            <spacer class="alert-spacer-before"/>
-            <vbox class="alert">
-              <label value="&listEmpty.installed.label;"/>
-              <button class="discover-button"
-                      id="discover-button-install"
-                      label="&listEmpty.button.label;"
-                      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" tabindex="0">
-          <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;"/>
-              </hbox>
-              <hbox class="global-warning-checkcompatibility" flex="1" align="center"
-                    tooltiptext="&warning.checkcompatibility.label;">
-                <image class="warning-icon"/>
-                <label class="global-warning-text" flex="1" crop="end"
-                       value="&warning.checkcompatibility.label;"/>
-              </hbox>
-              <button class="button-link global-warning-checkcompatibility"
-                      label="&warning.checkcompatibility.enable.label;"
-                      tooltiptext="&warning.checkcompatibility.enable.tooltip;"
-                      command="cmd_enableCheckCompatibility"/>
-              <hbox class="global-warning-updatesecurity" flex="1" align="center"
-                    tooltiptext="&warning.updatesecurity.label;">
-                <image class="warning-icon"/>
-                <label class="global-warning-text" flex="1" crop="end"
-                       value="&warning.updatesecurity.label;"/>
-              </hbox>
-              <button class="button-link global-warning-updatesecurity"
-                      label="&warning.updatesecurity.enable.label;"
-                      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="updateDate"
-                  ascending="false"/>
-          </hbox>
-          <vbox id="updates-list-empty" class="alert-container"
-                flex="1" hidden="true">
-            <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;"
-                      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>
-
-        <!-- detail view -->
-        <scrollbox id="detail-view" flex="1" class="view-pane addon-view" orient="vertical" tabindex="0"
-                   role="document">
-          <!-- global warnings -->
-          <hbox class="global-warning-container global-warning">
-            <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;"/>
-            </hbox>
-            <hbox class="global-warning-checkcompatibility" flex="1" align="center"
-                  tooltiptext="&warning.checkcompatibility.label;">
-              <image class="warning-icon"/>
-              <label class="global-warning-text" flex="1" crop="end"
-                     value="&warning.checkcompatibility.label;"/>
-            </hbox>
-            <button class="button-link global-warning-checkcompatibility"
-                    label="&warning.checkcompatibility.enable.label;"
-                    tooltiptext="&warning.checkcompatibility.enable.tooltip;"
-                    command="cmd_enableCheckCompatibility"/>
-            <hbox class="global-warning-updatesecurity" flex="1" align="center"
-                  tooltiptext="&warning.updatesecurity.label;">
-              <image class="warning-icon"/>
-              <label class="global-warning-text" flex="1" crop="end"
-                     value="&warning.updatesecurity.label;"/>
-            </hbox>
-            <button class="button-link global-warning-updatesecurity"
-                    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 -->
-            <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 -->
+            <hbox flex="1">
+              <spacer flex="1"/>
+              <!-- "loading" splash screen -->
+              <vbox class="alert-container">
+                <spacer class="alert-spacer-before"/>
+                <hbox class="alert loading">
+                  <image/>
+                  <label value="&loading.label;"/>
                 </hbox>
-                <hbox id="error-container" align="center" class="error">
-                  <image class="error-icon"/>
-                  <label id="detail-error" flex="1"/>
-                  <label id="detail-error-link" class="text-link"/>
-                  <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
-                </hbox>
-                <hbox id="pending-container" align="center" class="pending">
-                  <image class="pending-icon"/>
-                  <label id="detail-pending" flex="1"/>
-                  <button id="detail-restart-btn" class="button-link"
-                          label="&addon.restartNow.label;"
-                          command="cmd_restartApp"/>
-                  <button id="detail-undo-btn" class="button-link"
-                          label="&addon.undoAction.label;"
-                          tooltipText="&addon.undoAction.tooltip;"
-                          command="cmd_cancelOperation"/>
-                  <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
+                <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 -->
+                  </hbox>
+                  <hbox id="error-container" align="center" class="error">
+                    <image class="error-icon"/>
+                    <label id="detail-error" flex="1"/>
+                    <label id="detail-error-link" class="text-link"/>
+                    <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
+                  </hbox>
+                  <hbox id="pending-container" align="center" class="pending">
+                    <image class="pending-icon"/>
+                    <label id="detail-pending" flex="1"/>
+                    <button id="detail-restart-btn" class="button-link"
+                            label="&addon.restartNow.label;"
+                            command="cmd_restartApp"/>
+                    <button id="detail-undo-btn" class="button-link"
+                            label="&addon.undoAction.label;"
+                            tooltipText="&addon.undoAction.tooltip;"
+                            command="cmd_cancelOperation"/>
+                    <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
+                  </hbox>
+                </vbox>
+                <hbox align="start">
+                  <vbox id="detail-icon-container" align="end">
+                    <image id="detail-icon" class="icon"/>
+                  </vbox>
+                  <vbox flex="1">
+                    <vbox id="detail-summary">
+                      <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-experiment-container">
+                      <svg width="8" height="8" viewBox="0 0 8 8" version="1.1"
+                           xmlns="http://www.w3.org/2000/svg"
+                           id="detail-experiment-bullet-container">
+                        <circle cx="4" cy="4" r="4" id="detail-experiment-bullet"/>
+                      </svg>
+                      <label id="detail-experiment-state"/>
+                      <label id="detail-experiment-time"/>
+                    </hbox>
+                    <hbox id="detail-desc-container" align="start">
+                      <vbox id="detail-screenshot-box" pack="center" hidden="true"> <!-- Necessary to work around bug 394738 -->
+                        <image id="detail-screenshot"/>
+                      </vbox>
+                      <vbox flex="1">
+                        <description id="detail-desc"/>
+                        <description id="detail-fulldesc"/>
+                      </vbox>
+                    </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"
+                                label="&cmd.contribute.label;"
+                                accesskey="&cmd.contribute.accesskey;"
+                                tooltiptext="&cmd.contribute.tooltip;"
+                                command="cmd_contribute"/>
+                      </hbox>
+                    </vbox>
+                    <grid id="detail-grid">
+                      <columns>
+                         <column flex="1"/>
+                         <column flex="2"/>
+                      </columns>
+                      <rows id="detail-rows">
+                        <row class="detail-row-complex" id="detail-updates-row">
+                          <label class="detail-row-label" value="&detail.updateType;"/>
+                          <hbox align="center">
+                            <radiogroup id="detail-autoUpdate" orient="horizontal">
+                              <!-- The values here need to match the values of
+                                   AddonManager.AUTOUPDATE_* -->
+                              <radio label="&detail.updateDefault.label;"
+                                     tooltiptext="&detail.updateDefault.tooltip;"
+                                     value="1"/>
+                              <radio label="&detail.updateAutomatic.label;"
+                                     tooltiptext="&detail.updateAutomatic.tooltip;"
+                                     value="2"/>
+                              <radio label="&detail.updateManual.label;"
+                                     tooltiptext="&detail.updateManual.tooltip;"
+                                     value="0"/>
+                            </radiogroup>
+                            <button id="detail-findUpdates-btn" class="button-link"
+                                    label="&detail.checkForUpdates.label;"
+                                    accesskey="&detail.checkForUpdates.accesskey;"
+                                    tooltiptext="&detail.checkForUpdates.tooltip;"
+                                    command="cmd_findItemUpdates"/>
+                          </hbox>
+                        </row>
+                        <row class="detail-row" id="detail-dateUpdated" label="&detail.lastupdated.label;"/>
+                        <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" 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;"/>
+                          <hbox>
+                            <label id="detail-rating" class="meta-value meta-rating"
+                                   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 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;"
+#endif
+                              command="cmd_showItemPreferences"/>
+                      <spacer flex="1"/>
+                      <button id="detail-debug-btn" class="addon-control debug"
+                              label="&cmd.debugAddon.label;"
+                              accesskey="&cmd.debugAddon.accesskey;"
+                              command="cmd_debugItem" />
+                      <button id="detail-enable-btn" class="addon-control enable"
+                              label="&cmd.enableAddon.label;"
+                              accesskey="&cmd.enableAddon.accesskey;"
+                              command="cmd_enableItem"/>
+                      <button id="detail-disable-btn" class="addon-control disable"
+                              label="&cmd.disableAddon.label;"
+                              accesskey="&cmd.disableAddon.accesskey;"
+                              command="cmd_disableItem"/>
+                      <button id="detail-uninstall-btn" class="addon-control remove"
+                              label="&cmd.uninstallAddon.label;"
+                              accesskey="&cmd.uninstallAddon.accesskey;"
+                              command="cmd_uninstallItem"/>
+                      <button id="detail-purchase-btn" class="addon-control purchase"
+                              command="cmd_purchaseItem"/>
+                      <button id="detail-install-btn" class="addon-control install"
+                              label="&cmd.installAddon.label;"
+                              accesskey="&cmd.installAddon.accesskey;"
+                              command="cmd_installItem"/>
+                      <menulist id="detail-state-menulist"
+                                crop="none" sizetopopup="always"
+                                tooltiptext="&cmd.stateMenu.tooltip;">
+                        <menupopup>
+                          <menuitem id="detail-ask-to-activate-menuitem"
+                                    class="addon-control"
+                                    label="&cmd.askToActivate.label;"
+                                    tooltiptext="&cmd.askToActivate.tooltip;"
+                                    command="cmd_askToActivateItem"/>
+                          <menuitem id="detail-always-activate-menuitem"
+                                    class="addon-control"
+                                    label="&cmd.alwaysActivate.label;"
+                                    tooltiptext="&cmd.alwaysActivate.tooltip;"
+                                    command="cmd_alwaysActivateItem"/>
+                          <menuitem id="detail-never-activate-menuitem"
+                                    class="addon-control"
+                                    label="&cmd.neverActivate.label;"
+                                    tooltiptext="&cmd.neverActivate.tooltip;"
+                                    command="cmd_neverActivateItem"/>
+                        </menupopup>
+                      </menulist>
+                    </hbox>
+                  </vbox>
                 </hbox>
               </vbox>
-              <hbox align="start">
-                <vbox id="detail-icon-container" align="end">
-                  <image id="detail-icon" class="icon"/>
-                </vbox>
-                <vbox flex="1">
-                  <vbox id="detail-summary">
-                    <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-experiment-container">
-                    <svg width="8" height="8" viewBox="0 0 8 8" version="1.1"
-                         xmlns="http://www.w3.org/2000/svg"
-                         id="detail-experiment-bullet-container">
-                      <circle cx="4" cy="4" r="4" id="detail-experiment-bullet"/>
-                    </svg>
-                    <label id="detail-experiment-state"/>
-                    <label id="detail-experiment-time"/>
-                  </hbox>
-                  <hbox id="detail-desc-container" align="start">
-                    <vbox pack="center"> <!-- Necessary to work around bug 394738 -->
-                      <image id="detail-screenshot" hidden="true"/>
-                    </vbox>
-                    <vbox flex="1">
-                      <description id="detail-desc"/>
-                      <description id="detail-fulldesc"/>
-                    </vbox>
-                  </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"
-                              label="&cmd.contribute.label;"
-                              accesskey="&cmd.contribute.accesskey;"
-                              tooltiptext="&cmd.contribute.tooltip;"
-                              command="cmd_contribute"/>
-                    </hbox>
-                  </vbox>
-                  <grid id="detail-grid">
-                    <columns>
-                       <column flex="1"/>
-                       <column flex="2"/>
-                    </columns>
-                    <rows id="detail-rows">
-                      <row class="detail-row-complex" id="detail-updates-row">
-                        <label class="detail-row-label" value="&detail.updateType;"/>
-                        <hbox align="center">
-                          <radiogroup id="detail-autoUpdate" orient="horizontal">
-                            <!-- The values here need to match the values of
-                                 AddonManager.AUTOUPDATE_* -->
-                            <radio label="&detail.updateDefault.label;"
-                                   tooltiptext="&detail.updateDefault.tooltip;"
-                                   value="1"/>
-                            <radio label="&detail.updateAutomatic.label;"
-                                   tooltiptext="&detail.updateAutomatic.tooltip;"
-                                   value="2"/>
-                            <radio label="&detail.updateManual.label;"
-                                   tooltiptext="&detail.updateManual.tooltip;"
-                                   value="0"/>
-                          </radiogroup>
-                          <button id="detail-findUpdates-btn" class="button-link"
-                                  label="&detail.checkForUpdates.label;"
-                                  accesskey="&detail.checkForUpdates.accesskey;"
-                                  tooltiptext="&detail.checkForUpdates.tooltip;"
-                                  command="cmd_findItemUpdates"/>
-                        </hbox>
-                      </row>
-                      <row class="detail-row" id="detail-dateUpdated" label="&detail.lastupdated.label;"/>
-                      <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" 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;"/>
-                        <hbox>
-                          <label id="detail-rating" class="meta-value meta-rating"
-                                 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 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;"
-#endif
-                            command="cmd_showItemPreferences"/>
-                    <spacer flex="1"/>
-                    <button id="detail-debug-btn" class="addon-control debug"
-                            label="&cmd.debugAddon.label;"
-                            accesskey="&cmd.debugAddon.accesskey;"
-                            command="cmd_debugItem" />
-                    <button id="detail-enable-btn" class="addon-control enable"
-                            label="&cmd.enableAddon.label;"
-                            accesskey="&cmd.enableAddon.accesskey;"
-                            command="cmd_enableItem"/>
-                    <button id="detail-disable-btn" class="addon-control disable"
-                            label="&cmd.disableAddon.label;"
-                            accesskey="&cmd.disableAddon.accesskey;"
-                            command="cmd_disableItem"/>
-                    <button id="detail-uninstall-btn" class="addon-control remove"
-                            label="&cmd.uninstallAddon.label;"
-                            accesskey="&cmd.uninstallAddon.accesskey;"
-                            command="cmd_uninstallItem"/>
-                    <button id="detail-purchase-btn" class="addon-control purchase"
-                            command="cmd_purchaseItem"/>
-                    <button id="detail-install-btn" class="addon-control install"
-                            label="&cmd.installAddon.label;"
-                            accesskey="&cmd.installAddon.accesskey;"
-                            command="cmd_installItem"/>
-                    <menulist id="detail-state-menulist"
-                              crop="none" sizetopopup="always"
-                              tooltiptext="&cmd.stateMenu.tooltip;">
-                      <menupopup>
-                        <menuitem id="detail-ask-to-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.askToActivate.label;"
-                                  tooltiptext="&cmd.askToActivate.tooltip;"
-                                  command="cmd_askToActivateItem"/>
-                        <menuitem id="detail-always-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.alwaysActivate.label;"
-                                  tooltiptext="&cmd.alwaysActivate.tooltip;"
-                                  command="cmd_alwaysActivateItem"/>
-                        <menuitem id="detail-never-activate-menuitem"
-                                  class="addon-control"
-                                  label="&cmd.neverActivate.label;"
-                                  tooltiptext="&cmd.neverActivate.tooltip;"
-                                  command="cmd_neverActivateItem"/>
-                      </menupopup>
-                    </menulist>
-                  </hbox>
-                </vbox>
-              </hbox>
-            </vbox>
-            <spacer flex="1"/>
-          </hbox>
-        </scrollbox>
-
-      </deck>
-
-    </box>
+              <spacer flex="1"/>
+            </hbox>
+          </scrollbox>
+        </deck>
+      </box>
+    </vbox>
   </hbox>
-
 </page>
--- a/toolkit/mozapps/extensions/test/browser/browser_bug591663.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_bug591663.js
@@ -59,17 +59,17 @@ function end_test() {
 function check_list(aItem) {
   // Check state of the empty notice
   let emptyNotice = gManagerWindow.document.getElementById(EMPTY_ID);
   ok(emptyNotice != null, "Should have found the empty notice");
   is(!emptyNotice.hidden, (aItem == null), "Empty notice should be showing if list empty");
 
   // Check the children of the list
   let list = gManagerWindow.document.getElementById(LIST_ID);
-  is(list.itemCount, aItem ? 1 : 0, "Should get expected number of items in list");
+  is(list.childNodes.length, aItem ? 1 : 0, "Should get expected number of items in list");
   if (aItem != null) {
     let itemName = list.firstChild.getAttribute("name");
     is(itemName, aItem.name, "List item should have correct name");
   }
 }
 
 
 // Test that the empty notice is showing and no items are showing in list
--- a/toolkit/mozapps/extensions/test/browser/browser_details.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_details.js
@@ -176,17 +176,17 @@ function end_test() {
 // Opens and tests the details view for add-on 1
 add_test(function() {
   open_details("addon1@tests.mozilla.org", "extension", function() {
     is(get("detail-name").textContent, "Test add-on 1", "Name should be correct");
     is_element_visible(get("detail-version"), "Version should not be hidden");
     is(get("detail-version").value, "2.1", "Version should be correct");
     is(get("detail-icon").src, "chrome://foo/skin/icon64.png", "Icon should be correct");
     is_element_hidden(get("detail-creator"), "Creator should be hidden");
-    is_element_hidden(get("detail-screenshot"), "Screenshot should be hidden");
+    is_element_hidden(get("detail-screenshot-box"), "Screenshot should be hidden");
     is(get("detail-screenshot").width, "", "Screenshot dimensions should not be set");
     is(get("detail-screenshot").height, "", "Screenshot dimensions should not be set");
     is(get("detail-desc").textContent, "Short description", "Description should be correct");
     is(get("detail-fulldesc").textContent, "Longer description", "Full description should be correct");
 
     is_element_visible(get("detail-contributions"), "Contributions section should be visible");
     is_element_visible(get("detail-contrib-suggested"), "Contributions amount should be visible");
     ok(get("detail-contrib-suggested").value, "$0.99");
@@ -283,17 +283,17 @@ add_test(function() {
     is(get("detail-version").value, "2.2", "Version should be correct");
     is(get("detail-icon").src, "chrome://foo/skin/icon.png", "Icon should be correct");
 
     is_element_visible(get("detail-creator"), "Creator should not be hidden");
     is_element_visible(get("detail-creator")._creatorName, "Creator name should not be hidden");
     is(get("detail-creator")._creatorName.value, "Mozilla", "Creator should be correct");
     is_element_hidden(get("detail-creator")._creatorLink, "Creator link should be hidden");
 
-    is_element_visible(get("detail-screenshot"), "Screenshot should be visible");
+    is_element_visible(get("detail-screenshot-box"), "Screenshot should be visible");
     is(get("detail-screenshot").src, "chrome://branding/content/about.png", "Should be showing the full sized screenshot");
     is(get("detail-screenshot").width, 200, "Screenshot dimensions should be set");
     is(get("detail-screenshot").height, 150, "Screenshot dimensions should be set");
     is(get("detail-screenshot").hasAttribute("loading"), true, "Screenshot should have loading attribute");
     is(get("detail-desc").textContent, "Short description", "Description should be correct");
     is_element_hidden(get("detail-fulldesc"), "Full description should be hidden");
 
     is_element_visible(get("detail-contributions"), "Contributions section should be visible");
@@ -340,17 +340,17 @@ add_test(function() {
     is(get("detail-icon").src, "", "Icon should be correct");
 
     is_element_visible(get("detail-creator"), "Creator should not be hidden");
     is_element_hidden(get("detail-creator")._creatorName, "Creator name should be hidden");
     is_element_visible(get("detail-creator")._creatorLink, "Creator link should not be hidden");
     is(get("detail-creator")._creatorLink.value, "Mozilla", "Creator link should be correct");
     is(get("detail-creator")._creatorLink.href, "http://www.mozilla.org", "Creator link href should be correct");
 
-    is_element_visible(get("detail-screenshot"), "Screenshot should be visible");
+    is_element_visible(get("detail-screenshot-box"), "Screenshot should be visible");
     is(get("detail-screenshot").src, "chrome://branding/content/icon64.png", "Should be showing the thumbnail");
     is(get("detail-screenshot").width, 160, "Screenshot dimensions should be set");
     is(get("detail-screenshot").height, 120, "Screenshot dimensions should be set");
     is(get("detail-screenshot").hasAttribute("loading"), true, "Screenshot should have loading attribute");
 
     is_element_hidden(get("detail-contributions"), "Contributions section should be hidden");
 
     is_element_visible(get("detail-updates-row"), "Updates should not be hidden");
@@ -781,17 +781,17 @@ add_test(function() {
       operationsRequiringRestart: AddonManager.OP_NEEDS_RESTART_NONE
     }]);
 
     is(get("detail-name").textContent, "Test add-on replacement", "Name should be correct");
     is_element_visible(get("detail-version"), "Version should not be hidden");
     is(get("detail-version").value, "2.5", "Version should be correct");
     is(get("detail-icon").src, "chrome://foo/skin/icon264.png", "Icon should be correct");
     is_element_hidden(get("detail-creator"), "Creator should be hidden");
-    is_element_hidden(get("detail-screenshot"), "Screenshot should be hidden");
+    is_element_hidden(get("detail-screenshot-box"), "Screenshot should be hidden");
     is(get("detail-desc").textContent, "Short description replacement", "Description should be correct");
     is(get("detail-fulldesc").textContent, "Longer description replacement", "Full description should be correct");
 
     is_element_hidden(get("detail-contributions"), "Contributions section should be hidden");
 
     is_element_hidden(get("detail-dateUpdated"), "Update date should be hidden");
 
     is_element_visible(get("detail-rating-row"), "Rating row should not be hidden");
--- a/toolkit/mozapps/extensions/test/browser/browser_inlinesettings_info.js
+++ b/toolkit/mozapps/extensions/test/browser/browser_inlinesettings_info.js
@@ -266,16 +266,20 @@ add_test(function() {
     EventUtils.synthesizeKey("VK_RETURN", {}, gManagerWindow);
     input.hidePopup();
     is(input.color, "#FF9900", "Color picker should have updated value");
     is(Services.prefs.getCharPref("extensions.inlinesettings1.color"), "#FF9900", "Color pref should have been updated");
 
     try {
       ok(!settings[6].hasAttribute("first-row"), "Not the first row");
       var button = gManagerWindow.document.getAnonymousElementByAttribute(settings[6], "anonid", "button");
+
+      // Workaround for bug 1155324 - we need to ensure that the button is scrolled into view.
+      button.scrollIntoView();
+
       input = gManagerWindow.document.getAnonymousElementByAttribute(settings[6], "anonid", "input");
       is(input.value, "", "Label value should be empty");
       is(input.tooltipText, "", "Label tooltip should be empty");
 
       var profD = Services.dirsvc.get("ProfD", Ci.nsIFile);
       var curProcD = Services.dirsvc.get("CurProcD", Ci.nsIFile);
 
       MockFilePicker.returnFiles = [profD];
--- a/toolkit/themes/linux/mozapps/extensions/extensions.css
+++ b/toolkit/themes/linux/mozapps/extensions/extensions.css
@@ -1,956 +1,63 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-@import url("chrome://global/skin/inContentUI.css");
-
-
-/*** global warnings ***/
-
-.global-warning-container {
-  overflow-x: hidden;
-}
+%include ../../../shared/extensions/extensions.inc.css
 
-.global-warning {
-  -moz-box-align: center;
-  padding: 0 8px;
-  font-weight: bold;
-}
-
-.global-warning-text {
-  color: -moz-FieldText;
-}
-
-#addons-page[warning] .global-warning-container {
-  background-color: rgba(255, 255, 0, 0.1);
-  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
-  background-repeat: repeat-x;
+#header-utils-btn .toolbarbutton-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-native");
 }
 
-#detail-view .global-warning {
-  padding: 4px 12px;
-  border-bottom: 1px solid ThreeDShadow;
-  min-height: 41px;
-}
-
-@media (max-width: 600px) {
-  .global-warning-text {
-    display: none;
-  }
-}
-
-/* Plugins aren't yet disabled by safemode (bug 342333),
-   so don't show that warning when viewing plugins. */
-#addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
-#addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
-  background-color: inherit;
-  background-image: none;
-}
-
-
-/*** notification icons ***/
-
 .warning-icon {
   list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
-  width: 16px;
   height: 16px;
-  margin: 3px 0;
 }
 
 .error-icon {
   list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu");
-  width: 16px;
   height: 16px;
-  margin: 3px 0;
 }
 
 .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;
-  background-clip: padding-box;
-}
-
-.alert .alert-title {
-  font-weight: bold;
-  font-size: 200%;
-  margin-bottom: 15px;
-}
-
-.alert button {
-  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: 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] {
-  border-top: 0;
-  border-bottom: 0;
-  height: 0;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category:not([disabled]) {
-  height: 52px;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category[selected] {
-  background-color: -moz-Field;
-  color: -moz-FieldText;
-  border-color: ThreeDShadow;
-}
-
-.category-name {
-  font-size: 150%;
-}
-
-/* Maximize the size of the viewport when the window is small */
-@media (max-width: 800px) {
-  .category-name {
-    display: none;
-  }
-}
-
-.category-badge {
-  background-color: Highlight;
-  padding: 2px 8px;
-  margin: 6px 0;
-  border-radius: 10000px;
-  color: HighlightText;
-  font-weight: bold;
-  text-align: center;
-}
-
-.category-badge[value="0"] {
-  visibility: hidden;
-}
-
-.category-icon {
-  width: 32px;
-  height: 32px;
-  -moz-margin-start: 6px;
-}
-
-#category-search > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
-}
-#category-discover > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
-}
-#category-locale > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-languages.png");
-}
-#category-searchengine > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-searchengines.png");
-}
-#category-extension > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-extensions.png");
-}
-#category-service > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-service.png");
-}
-#category-theme > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-themes.png");
-}
-#category-plugin > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-plugins.png");
-}
-#category-dictionary > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-dictionaries.png");
-}
-#category-experiment > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-experiments.png");
-}
-#category-availableUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-available.png");
-}
-#category-recentUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
-}
-
-
-/*** header ***/
-
-#header {
-  margin-bottom: 18px;
-}
-
-.nav-button {
-  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");
-}
-
-#header-utils-btn {
-  min-width: 4.5em;
-}
-
-#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;
-}
-
-@media (max-width: 600px) {
-  #header-search {
-    width: 12em;
-  }
-}
-
-.view-header {
-  padding: 4px;
-  margin: 0;
-  min-height: 41px;
-  background-color: ThreeDHighlight;
-  border-bottom: 1px solid ThreeDShadow;
-}
-
-
-/*** sorters ***/
-
-.sort-controls {
-  -moz-appearance: none;
 }
 
 .sorter[checkState="1"] .button-icon {
   display: -moz-box;
   list-style-image: url("moz-icon://stock/gtk-sort-descending?size=16");
 }
 
 .sorter[checkState="2"] .button-icon {
   display: -moz-box;
   list-style-image: url("moz-icon://stock/gtk-sort-ascending?size=16");
 }
 
-
-/*** discover view ***/
-
-.discover-spacer-before,
-.discover-spacer-after {
-  -moz-box-flex: 1;
-}
-
-#discover-error .alert {
-  max-width: 45em;
-  -moz-box-flex: 1;
-}
-
-.discover-logo {
-  list-style-image: url("chrome://mozapps/skin/extensions/discover-logo.png");
-  -moz-margin-end: 15px;
-}
-
-.discover-title {
-  font-weight: bold;
-  font-size: 24px;
-  font-family: MetaWebPro-Book, "Trebuchet MS", sans-serif;
-  margin: 0 0 15px 0;
-}
-
-.discover-description {
-  text-align: justify;
-  margin: 0 0 15px 0;
-}
-
-.discover-footer {
-  text-align: justify;
-}
-
-
-/*** list ***/
-
-.list {
-  -moz-appearance: none;
-  margin: 0;
-  border: none;
-  background-color: transparent;
-}
-
-.addon {
-  border-bottom: 1px solid ThreeDLightShadow;
-  padding: 5px;
-}
-
-.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: 3px 7px;
-  -moz-box-align: center;
-  -moz-box-pack: center;
-}
-
-.icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
-  max-width: 48px;
-  max-height: 48px;
-}
-
-.addon[active="false"] .icon {
-  filter: grayscale(1);
-}
-
-.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");
-}
-
-.addon-view[type="dictionary"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
-}
-
-.addon-view[type="experiment"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
-}
-
-.name-container {
-  font-size: 150%;
-  margin-bottom: 0;
-  font-weight: bold;
-  -moz-box-align: end;
-  -moz-box-flex: 1;
-}
-
-.creator {
-  font-weight: bold;
-}
-
-.addon-view[active="false"]:not([selected]) {
-  color: GrayText;
-}
-
-.description-container {
-  -moz-margin-start: 6px;
-  -moz-box-align: center;
-}
-
-.description {
-  margin: 0;
-}
-
-.warning,
-.pending,
-.error {
-  -moz-margin-start: 48px;
-  -moz-box-align: center;
-}
-
-.content-container,
-.basicinfo-container {
-  -moz-box-align: start;
-}
-
-.addon[status="installing"] > .content-container {
-  -moz-box-align: stretch;
-}
-
-.advancedinfo-container,
-.update-info-container {
-  -moz-box-align: center;
-}
-
-.update-available {
-  -moz-box-align: end;
-}
-
-.install-status-container {
-  -moz-box-pack: end;
-  -moz-box-align: end;
-}
-
-.name-outer-container {
-  -moz-box-pack: center;
-}
-
-.relnotes-toggle-container,
-.icon-outer-container {
-  -moz-box-pack: start;
-}
-
-.status-container,
-.control-container {
-  -moz-box-pack: end;
-}
-
-.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: linear-gradient(rgba(135, 135, 135, 0.2),
-                                    rgba(135, 135, 135, 0.1));
-}
-
-.addon-view[notification="warning"] {
-  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
-                    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"),
-                    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"),
-                    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"),
-                    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: 0;
-  overflow: hidden;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon[show-relnotes] .relnotes-container {
-  opacity: 1;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon .relnotes-header {
-  font-weight: bold;
-  margin: 10px 0;
-}
-
 .addon .relnotes-toggle {
-  -moz-appearance: none;
-  border: none;
-  background: transparent;
-  font-weight: bold;
-  cursor: pointer;
   list-style-image: url("moz-icon://stock/gtk-go-down?size=16");
 }
 
 .addon .relnotes-toggle > .button-box > .button-icon {
   display: -moz-box;
 }
 
 .addon[show-relnotes] .relnotes-toggle {
   list-style-image: url("moz-icon://stock/gtk-go-up?size=16");
 }
 
-
-/*** search view ***/
-
-#search-filter {
-  padding: 5px 20px;
-  font-size: 120%;
-  overflow-x: hidden;
-  border-bottom: 1px solid ThreeDShadow;
-}
-
-#search-filter-label {
-  font-weight: bold;
-}
-
-#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[loading-extended] .loading {
-  -moz-box-align: center;
-  -moz-box-pack: center;
-  opacity: 1;
-  transition-property: opacity;
-  transition-duration: 1s;
-}
-
-.detail-view-container {
-  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 {
-  -moz-margin-start: 0;
-}
-
-#detail-icon-container {
-  width: 64px;
-  -moz-margin-end: 10px;
-}
-
-#detail-icon {
-  max-width: 64px;
-  max-height: 64px;
-}
-
-#detail-summary {
-  margin-bottom: 2em;
-}
-
-#detail-name-container {
-  font-size: 200%;
-}
-
-#detail-screenshot {
-  -moz-margin-end: 2em;
-  max-width: 300px;
-  max-height: 300px;
-}
-
-#detail-screenshot[loading] {
-  background-image: url("chrome://global/skin/icons/loading_16.png");
-  background-position: 50% 50%;
-  background-repeat: no-repeat;
-  border: 1px threedshadow solid;
-  border-radius: 5px;
-  box-sizing: border-box;
-}
-
-#detail-screenshot[loading="error"] {
-  background-image: url("chrome://global/skin/media/error.png");
-}
-
-#detail-desc-container {
-  margin-bottom: 2em;
-}
-
-#detail-desc, #detail-fulldesc {
-  -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: 10em;
-}
-
-#detail-fulldesc {
-  margin-top: 1em;
-}
-
-#detail-contributions {
-  border-radius: 5px;
-  border: 1px solid ThreeDShadow;
-  margin-bottom: 2em;
-  padding: 1em;
-  background: ThreeDHighlight;
-}
-
-#detail-contrib-description {
-  font-style: italic;
-  margin-bottom: 1em;
-}
-
-#detail-contrib-suggested {
-  color: GrayText;
-}
-
-#detail-grid {
-  margin-bottom: 2em;
-}
-
-#detail-grid > columns > column:first-child {
-  min-width: 15em;
-  max-width: 25em;
-}
-
-.detail-row[first-row="true"],
-.detail-row-complex[first-row="true"],
-setting[first-row="true"] {
-  border-top: none;
-}
-
-.detail-row,
-.detail-row-complex,
-setting {
-  border-top: 1px solid ThreeDShadow;
-  -moz-box-align: center;
-  min-height: 32px;
-}
-
-#detail-controls {
-  margin-bottom: 1em;
-}
-
-#detail-view[active="false"]:not([pending]):not([notification]) {
-  background-image: linear-gradient(rgba(135, 135, 135, 0.1),
-                                    rgba(135, 135, 135, 0));
-}
-
-setting[first-row="true"] {
-  margin-top: 2em;
-}
-
-setting {
-  -moz-box-align: start;
-}
-
-.preferences-alignment {
-  min-height: 32px;
-  -moz-box-align: center;
-}
-
-.preferences-description {
-  font-size: 90.9%;
-  color: graytext;
-  margin-top: -2px;
-  -moz-margin-start: 2em;
-  white-space: pre-wrap;
-}
-
-.preferences-description:empty {
-  display: none;
-}
-
-menulist { /* Fixes some styling inconsistencies */
-  font-size: 100%;
-  margin: 1px 5px 2px 5px;
-}
-
-colorpicker[type="button"] { /* Fixes some styling inconsistencies */
-  height: 29px;
-  margin: 1px 5px 2px 5px;
-}
-
-setting[type="radio"] > radiogroup {
-  -moz-box-orient: horizontal;
-}
-
-/*** creator ***/
-
-.creator > label {
-  -moz-margin-start: 0;
-  -moz-margin-end: 0;
-}
-
-.creator > .text-link {
-  margin-top: 1px;
-  margin-bottom: 1px;
-}
-
-
-/*** rating ***/
-
-.meta-rating {
-  -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: 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: 0 1px;
 }
-
-
-/*** download progress ***/
-
-.download-progress {
-  width: 200px;
-}
-
-.download-progress .start-cap,
-.download-progress .end-cap {
-  display: none;
-}
-
-.download-progress .progress {
-  padding: 0;
-  margin: 0;
-  border: none;
-}
-
-.download-progress .cancel {
-  -moz-appearance: none;
-  background-color: ButtonFace;
-  padding-bottom: 1px;
-  -moz-padding-start: 2px;
-  border-width: 1px;
-  border-style: solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-  border-radius: 10000px;
-  min-width: 16px;
-  width: 16px;
-  height: 16px;
-  margin: 3px;
-}
-
-.download-progress .cancel:hover {
-  background-color: -moz-ButtonHoverFace;
-}
-
-.download-progress .cancel {
-  list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
-}
-
-.download-progress .status-container {
-  -moz-box-align: center;
-}
-
-
-/*** install status ***/
-
-.install-status {
-  -moz-box-align: center;
-}
-
-
-/*** check for updates ***/
-
-#updates-container {
-  -moz-box-align: center;
-}
-
-#updates-installed,
-#updates-downloaded {
-  font-weight: bold;
-}
-
-#update-selected {
-  margin: 12px;
-}
-
-
-/*** buttons ***/
-
-.addon-control[disabled="true"]:not(.no-auto-hide) {
-  display: none;
-}
-
-.no-auto-hide .addon-control {
-  display: block !important;
-}
-
-.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;
-}
-
-/*** telemetry experiments ***/
-
-#detail-experiment-container {
-  font-size: 80%;
-  margin-bottom: 1em;
-}
-
-#detail-experiment-bullet-container,
-#detail-experiment-state,
-#detail-experiment-time,
-.experiment-bullet-container,
-.experiment-state,
-.experiment-time {
-  vertical-align: middle;
-  display: inline-block;
-}
-
-.addon .experiment-bullet,
-#detail-experiment-bullet {
-  fill: rgb(158, 158, 158);
-}
-
-.addon[active="true"] .experiment-bullet,
-#detail-view[active="true"] #detail-experiment-bullet {
-  fill: rgb(106, 201, 20);
-}
copy from toolkit/themes/windows/mozapps/extensions/heart.png
copy to toolkit/themes/linux/mozapps/extensions/heart.png
--- a/toolkit/themes/linux/mozapps/jar.mn
+++ b/toolkit/themes/linux/mozapps/jar.mn
@@ -1,32 +1,35 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 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.css           (extensions/extensions.css)
 + 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-plugins.png     (extensions/category-plugins.png)
 + skin/classic/mozapps/extensions/category-service.png     (extensions/category-service.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/dictionaryGeneric.png    (extensions/dictionaryGeneric.png)
 + skin/classic/mozapps/extensions/dictionaryGeneric-16.png (extensions/dictionaryGeneric-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/newaddon.css             (extensions/newaddon.css)
 + skin/classic/mozapps/extensions/selectAddons.css         (extensions/selectAddons.css)
++ skin/classic/mozapps/extensions/heart.png                (extensions/heart.png)
++ skin/classic/mozapps/extensions/navigation.png           (../../shared/extensions/navigation.png)
++ skin/classic/mozapps/extensions/utilities.svg            (../../shared/extensions/utilities.svg)
 + 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/pluginGeneric.png           (plugins/pluginGeneric.png)
 + skin/classic/mozapps/plugins/pluginBlocked.png           (plugins/pluginBlocked.png)
 + skin/classic/mozapps/plugins/pluginGeneric-16.png        (plugins/pluginGeneric-16.png)
 + skin/classic/mozapps/profile/profileicon.png             (profile/profileicon.png)
 + skin/classic/mozapps/viewsource/viewsource.css           (viewsource/viewsource.css)
 #ifdef MOZ_PLACES
--- a/toolkit/themes/osx/mozapps/extensions/extensions.css
+++ b/toolkit/themes/osx/mozapps/extensions/extensions.css
@@ -1,1199 +1,72 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-@import url("chrome://global/skin/inContentUI.css");
-
-%include ../../global/shared.inc
-
-@namespace html url("http://www.w3.org/1999/xhtml");
-
-
-/*** global warnings ***/
-
-.global-warning-container {
-  overflow-x: hidden;
-}
-
-.global-warning {
-  -moz-box-align: center;
-  padding: 0 8px;
-  color: #916D15;
-  font-weight: bold;
-}
-
-.global-warning,
-.global-warning .button-link {
-  text-shadow: @loweredShadow@;
-}
-
-#addons-page[warning] .global-warning-container {
-  background-color: rgba(255, 255, 0, 0.1);
-  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
-  background-repeat: repeat-x;
-}
-
-#detail-view .global-warning {
-  padding: 4px 12px;
-  min-height: 31px;
-  border-bottom: 1px solid rgba(50, 65, 92, 0.4);
-}
-
-@media (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;
-  }
-}
-
-/*** global informations ***/
-#addons-page .global-info-container {
-  background-color: #e3e6eb;
-  border-top-right-radius: 5px;
-  border-top-left-radius: 5px;
-}
-
-/* Plugins aren't yet disabled by safemode (bug 342333),
-   so don't show that warning when viewing plugins. */
-#addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
-#addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
-  background-color: inherit;
-  background-image: none;
-}
-
-
-/*** notification icons ***/
-
-.warning-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
-.error-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
-.pending-icon,
-.info-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
-  width: 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: linear-gradient(rgba(255, 255, 255, 0.7), rgba(236, 241, 247, 0.7));
-  background-clip: padding-box;
-  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 button {
-  margin: 1em 2em;
-}
-
-.loading {
-  list-style-image: url("chrome://global/skin/icons/loading_16.png");
-  padding-left: 20px;
-  padding-right: 20px;
-}
-
-
-
-/*** category selector ***/
+%include ../../../shared/extensions/extensions.inc.css
 
-#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;
-  border-style: solid;
-  border-color: transparent;
-  padding: 10px 4px;
-  -moz-box-align: center;
-  overflow: hidden;
-  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] {
-  border-top: 0;
-  border-bottom: 0;
-  height: 0;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category:not([disabled]) {
-  height: 52px;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category[selected] {
-  background-color: rgba(255, 255, 255, 0.35);
-  color: -moz-dialogtext;
-  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 (max-width: 800px) {
-  .category-name {
-    display: none;
-  }
-}
-
-.category-badge {
-  background-color: #55D4FF;
-  padding: 2px 8px;
-  margin: 6px 0;
-  border-radius: 10000px;
-  color: #FFF;
-  font-weight: bold;
-  text-align: center;
-}
-
-.category-badge[value="0"] {
-  visibility: hidden;
-}
-
-.category-icon {
-  width: 32px;
-  height: 32px;
-  -moz-margin-start: 6px;
-}
-
-#category-search > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
-}
-#category-discover > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
-}
-#category-locale > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-languages.png");
-}
-#category-searchengine > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-searchengines.png");
-}
-#category-extension > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-extensions.png");
-}
-#category-service > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-service.png");
-}
-#category-theme > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-themes.png");
-}
-#category-plugin > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-plugins.png");
-}
-#category-dictionary > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-dictionaries.png");
-}
-#category-experiment > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-experiments.png");
-}
-#category-availableUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-available.png");
-}
-#category-recentUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
-}
-
-
-/*** header ***/
-
-#header {
-  margin-bottom: 18px;
-}
-
-.nav-button {
-  list-style-image: url(chrome://mozapps/skin/extensions/navigation.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);
-  padding-right: 3px;
-}
-
-#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);
-  padding-left: 3px;
+.no-auto-hide > .menulist-dropmarker {
+  -moz-padding-start: 0px !important;
 }
 
 #header-utils-btn {
   list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities");
   -moz-margin-end: 18px;
 }
 
 #header-utils-btn > .toolbarbutton-menu-dropmarker {
   list-style-image: url("chrome://mozapps/skin/extensions/toolbarbutton-dropmarker.png");
   padding: 0;
   -moz-margin-start: 2px;
 }
 
-#header-search {
-  margin: 0;
-  -moz-appearance: none;
-  padding: 3px 5px 2px;
-  border: 1px solid rgba(60,73,97,0.5);
-  border-radius: 10000px;
-  box-shadow: inset 0 1px 1px rgba(0,0,0,0.15), 0 1px rgba(255,255,255,0.25);
-  background: linear-gradient(rgba(255,255,255,0.2), rgba(255,255,255,0.3));
-  background-clip: padding-box;
-}
-
-@media (max-width: 600px) {
-  #header-search {
-    width: 12em;
-  }
+.warning-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
+  height: 15px;
 }
 
-#header-search[focused] {
-  box-shadow: @focusRingShadow@, inset 0 1px 1px rgba(0,0,0,0.15);
-  border-color: -moz-mac-focusring;
-}
-
-#header-search > .textbox-input-box {
-  -moz-padding-start: 15px;
-  background: url("chrome://mozapps/skin/extensions/search.png") left no-repeat;
-}
-
-#header-search > .textbox-input-box:-moz-locale-dir(rtl) {
-  background-position: right;
-}
-
-#header-search > .textbox-input-box > html|*.textbox-input::-moz-placeholder {
-  color: #5C6470;
-  opacity: 1.0;
+.error-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
+  height: 15px;
 }
 
-.view-header {
-  padding: 4px;
-  margin: 0;
-  min-height: 31px;
-  border-bottom: 1px solid rgba(50, 65, 92, 0.4);
-  background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.05));
-}
-
-
-/*** sorters ***/
-
-.sort-controls {
-  -moz-appearance: none;
+.pending-icon,
+.info-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
+  height: 15px;
 }
 
-.sorter {
-  -moz-appearance: none;
-  border: none;
-  color: #41434B;
-  background-color: transparent;
-  border-radius: 10000px;
-  padding: 0 6px;
-  margin: 0 6px;
-  min-width: 12px !important;
-  -moz-box-direction: reverse;
-}
-
-.sorter[checkState="1"],
-.sorter[checkState="2"],
-.sorter:active:hover {
-  text-shadow: @loweredShadow@;
-  background-color: #C0C3CB;
-  box-shadow: inset #A3A6AC 0 1px 1px, @loweredShadow@;
-}
-
-.sorter:hover {
-  text-shadow: @loweredShadow@;
-  background-color: #C0C3CB;
+.addon-view[pending="disable"] .pending-icon,
+.addon-view[pending="uninstall"] .pending-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-negative.png");
 }
 
 .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;
-}
-
-
-/*** discover view ***/
-
-.discover-spacer-before,
-.discover-spacer-after {
-  -moz-box-flex: 1;
-}
-
-#discover-error .alert {
-  max-width: 45em;
-  -moz-box-flex: 1;
-}
-
-.discover-logo {
-  list-style-image: url("chrome://mozapps/skin/extensions/discover-logo.png");
-  -moz-margin-end: 15px;
-}
-
-.discover-title {
-  font-weight: bold;
-  font-size: 24px;
-  font-family: MetaWebPro-Book, "Trebuchet MS", sans-serif;
-  margin: 0 0 15px 0;
-}
-
-.discover-description {
-  text-align: justify;
-  margin: 0 0 15px 0;
-}
-
-.discover-footer {
-  text-align: justify;
-}
-
-
-/*** list ***/
-
-.list {
-  -moz-appearance: none;
-  margin: 0;
-  border: none;
-  background-color: transparent;
-}
-
-.addon {
-  border-bottom: 1px solid #B6B1B9;
-  padding: 5px;
-  color: #373D48;
-}
-
-.details {
-  cursor: pointer;
-  margin: 0;
-  -moz-margin-start: 10px;
-}
-
-.icon-container {
-  width: 48px;
-  height: 48px;
-  margin: 3px 7px;
-  -moz-box-align: center;
-  -moz-box-pack: center;
-}
-
-.icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
-  max-width: 48px;
-  max-height: 48px;
-}
-
-.addon[active="false"] .icon {
-  filter: grayscale(1);
-}
-
-.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");
-}
-
-.addon-view[type="dictionary"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
-}
-
-.addon-view[type="experiment"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
-}
-
-.name-container {
-  font-size: 150%;
-  margin-bottom: 0;
-  font-weight: bold;
-  color: #000;
-  text-shadow: @loweredShadow@;
-  -moz-box-align: end;
-  -moz-box-flex: 1;
-}
-
-.creator {
-  font-weight: bold;
-}
-
-.creator .text-link {
-  color: #0066CC;
-}
-
-.description-container {
-  margin-top: 8px;
-  -moz-margin-start: 6px;
-  -moz-box-align: center;
-}
-
-.description {
-  margin: 0;
-}
-
-.warning,
-.pending,
-.error {
-  -moz-margin-start: 48px;
-  font-weight: bold;
-  text-shadow: @loweredShadow@;
-  -moz-box-align: center;
-}
-
-.content-container,
-.basicinfo-container {
-  -moz-box-align: start;
-}
-
-.addon[status="installing"] > .content-container {
-  -moz-box-align: stretch;
-}
-
-.update-info-container {
-  -moz-box-align: center;
-}
-
-.advancedinfo-container,
-.update-available {
-  -moz-box-align: end;
-}
-
-.install-status-container {
-  -moz-box-pack: end;
-  -moz-box-align: end;
-}
-
-.name-outer-container {
-  -moz-box-pack: center;
-}
-
-.relnotes-toggle-container,
-.icon-outer-container {
-  -moz-box-pack: start;
-}
-
-.status-container,
-.control-container {
-  -moz-box-pack: end;
-}
-
-.addon-view .warning {
-  color: #916D15;
-}
-
-.addon-view .error {
-  color: #864441;
-}
-
-.addon-view .pending {
-  color: #1B7123;
-}
-
-.addon-view[pending="disable"] .pending,
-.addon-view[pending="uninstall"] .pending {
-  color: #62666E;
-}
-
-.addon-view[notification="warning"] {
-  background-image: linear-gradient(rgba(255, 255, 0, 0.2), rgba(255, 255, 0, 0.1));
-}
-
-.addon-view[notification="error"] {
-  background-image: linear-gradient(rgba(255, 0, 0, 0.2), rgba(255, 0, 0, 0.1));
-}
-
-.addon-view[notification="info"] {
-  background-image: linear-gradient(rgba(0, 0, 255, 0.2), rgba(0, 0, 255, 0.1));
-}
-
-.addon-view[pending="enable"],
-.addon-view[pending="upgrade"],
-.addon-view[pending="install"] {
-  background-image: linear-gradient(rgba(0, 255, 0, 0.2), rgba(0, 255, 0, 0.1));
-}
-
-.addon-view[pending="disable"],
-.addon-view[pending="uninstall"] {
-  background-image: linear-gradient(rgba(128, 128, 128, 0.2), rgba(128, 128, 128, 0.1));
-}
-
-.addon .relnotes-container {
-  -moz-box-align: start;
-  height: 0;
-  overflow: hidden;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon[show-relnotes] .relnotes-container {
-  opacity: 1;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon .relnotes-header {
-  font-weight: bold;
-  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");
 }
 
-.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: linear-gradient(rgba(135, 135, 135, 0),
-                                    rgba(135, 135, 135, 0.1));
-}
-
-.addon-view[active="false"],
-.addon-view[active="false"] .name-container {
-  color: #686A6B;
-}
-
-.addon-view[notification="warning"] {
-  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
-                    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"),
-                    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"),
-                    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"),
-                    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: @loweredShadow@;
-}
-
-.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: #666;
-}
-
-.search-filter-radio {
-  -moz-appearance: none;
-  padding: 0 10px;
-  margin: 0 3px;
-  border-radius: 10000px;
-}
-
-.search-filter-radio[selected] {
-  text-shadow: @loweredShadow@;
-  background-color: #C0C3CB;
-  box-shadow: inset #A3A6AC 0 1px 1px, @loweredShadow@;
-}
-
-.search-filter-radio:hover {
-  text-shadow: @loweredShadow@;
-  background-color: #C0C3CB;
-}
-
-.search-filter-radio .radio-check {
-  display: none;
-}
-
-.search-filter-radio .radio-icon {
-  display: none;
-}
-
-#search-allresults-link {
-  margin-top: 1em;
-  margin-bottom: 2em;
-}
-
-/*** detail view ***/
-
-#detail-view .loading {
-  opacity: 0;
-}
-
-#detail-view[loading-extended] .loading {
-  opacity: 1;
-  transition-property: opacity;
-  transition-duration: 1s;
-}
-
-.detail-view-container {
-  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 {
-  -moz-margin-start: 0;
-}
-
-#detail-icon-container {
-  width: 64px;
-  -moz-margin-end: 10px;
-  margin-top: 6px;
-}
-
-#detail-icon {
-  max-width: 64px;
-  max-height: 64px;
-}
-
-#detail-summary {
-  margin-bottom: 2em;
-}
-
-#detail-name-container {
-  font-size: 200%;
-}
-
-#detail-screenshot {
-  -moz-margin-end: 2em;
-  max-width: 300px;
-  max-height: 300px;
-}
-
-#detail-screenshot[loading] {
-  background-image: url("chrome://global/skin/icons/loading_16.png"),
-                    linear-gradient(rgba(255, 255, 255, 0.5), transparent);
-  background-position: 50% 50%;
-  background-repeat: no-repeat;
-  border-radius: 3px;
-}
-
-#detail-screenshot[loading="error"] {
-  background-image: url("chrome://global/skin/media/error.png"),
-                    linear-gradient(rgba(255, 255, 255, 0.5), transparent);
-}
-
-#detail-desc-container {
-  margin-bottom: 2em;
-}
-
-#detail-desc, #detail-fulldesc {
-  -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: 10em;
-}
-
-#detail-fulldesc {
-  margin-top: 1em;
-}
-
-#detail-contributions {
-  border-radius: 5px;
-  border: 1px solid rgba(50, 65, 92, 0.3);
-  margin-bottom: 2em;
-  padding: 1em;
-  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;
-  border: 1px solid #3A4EEE;
-  border-radius: 3px;
-  list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
-  background-color: #2F73EF;
-  background-image: 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 .button-icon {
-  -moz-margin-end: 3px;
-}
-
-#detail-contrib-btn:not(:active):hover {
-  border-color: #4271FF;
-  background-color: #0459F7;
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1),
-              0 0 3.5px hsl(190, 90%, 80%);
-  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-grid > columns > column:first-child {
-  min-width: 15em;
-  max-width: 25em;
-}
-
-.detail-row[first-row="true"],
-.detail-row-complex[first-row="true"],
-setting[first-row="true"] {
-  border-top: none;
-}
-
-.detail-row,
-.detail-row-complex,
-setting {
-  border-top: 2px solid;
-  -moz-border-top-colors: rgba(28, 31, 37, 0.2) rgba(255, 255, 255, 0.2);
-  -moz-box-align: center;
-  min-height: 30px;
-}
-
-#detail-controls {
-  margin-bottom: 1em;
-}
-
-#detail-view[active="false"]:not([pending]):not([notification]) {
-  background-image: linear-gradient(rgba(135, 135, 135, 0.1),
-                                    rgba(135, 135, 135, 0));
-}
-
-setting[first-row="true"] {
-  margin-top: 2em;
-}
-
-setting {
-  -moz-box-align: start;
-}
-
-.preferences-alignment {
-  min-height: 30px;
-  -moz-box-align: center;
-}
-
-.preferences-description {
-  font-size: 90.9%;
-  color: graytext;
-  margin-top: -2px;
-  -moz-margin-start: 2em;
-  white-space: pre-wrap;
-}
-
-.preferences-description:empty {
-  display: none;
-}
-
-setting[type="radio"] > radiogroup {
-  -moz-box-orient: horizontal;
-}
-
-
-/*** creator ***/
-
-.creator > label {
-  -moz-margin-start: 0;
-  -moz-margin-end: 0;
-}
-
-.creator > .text-link {
-  margin-top: 1px;
-  margin-bottom: 1px;
-}
-
-
-/*** rating ***/
-
-.meta-rating {
-  -moz-margin-end: 0;
-  margin-top: 2px;
+.download-progress {
+  margin-top: 3px;
+  margin-bottom: 3px;
 }
 
 .meta-rating > .star {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
   padding: 0 1px;
 }
 
 .meta-rating > .star[on="true"] {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
 }
-
-
-/*** download progress ***/
-
-.download-progress {
-  background-image: linear-gradient(#DCDEE3, #CBCED6);
-  border: 1px solid #858898;
-  border-radius: 3px;
-  box-shadow: inset #E3E8EC 0 1px 1px, @loweredShadow@;
-  width: 200px;
-  height: 21px;
-  margin: 0 8px;
-}
-
-.download-progress[mode="undetermined"] .progress {
-  -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter-undetermined");
-}
-
-.download-progress[mode="undetermined"] {
-  border-color: #2E773A;
-}
-
-.download-progress[mode="undetermined"] .status-container {
-  padding: 0 2px;
-}
-
-.download-progress .start-cap,
-.download-progress[complete] .end-cap,
-.download-progress[mode="undetermined"] .end-cap,
-.download-progress .progress .progress-bar {
-  -moz-appearance: none;
-  background-image: 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;
-  min-height: 21px;
-}
-
-.download-progress .progress {
-  -moz-appearance: none;
-  background-color: transparent;
-  padding: 0;
-  margin: 0;
-  border: none;
-}
-
-.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: 3px 0 0 3px;
-}
-
-.download-progress .end-cap:-moz-locale-dir(ltr),
-.download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 3px 3px 0;
-}
-
-.download-progress .cancel {
-  -moz-appearance: none;
-  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;
-}
-
-.download-progress .cancel .button-text {
-  display: none;
-}
-
-.download-progress .cancel .button-icon {
-  -moz-margin-start: 0;
-}
-
-.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: @loweredShadow@;
-}
-
-
-/*** install status ***/
-
-.install-status {
-  -moz-box-align: center;
-}
-
-
-/*** check for updates ***/
-
-#updates-container {
-  -moz-box-align: center;
-}
-
-#updates-installed,
-#updates-downloaded {
-  color: #3C735C;
-  font-weight: bold;
-}
-
-#update-selected {
-  margin: 12px;
-}
-
-
-/*** buttons ***/
-
-.addon-control[disabled="true"]:not(.no-auto-hide) {
-  display: none;
-}
-
-.no-auto-hide .addon-control {
-  display: block !important;
-}
-
-.no-auto-hide > .menulist-dropmarker {
-  -moz-padding-start: 0px !important;
-}
-
-button.button-link {
-  -moz-appearance: none;
-  background: transparent;
-  border: none;
-  box-shadow: none;
-  text-decoration: underline;
-  color: #0066CC;
-  cursor: pointer;
-  min-width: 0;
-  margin: 0 6px;
-}
-
-.text-link {
-  color: #3386D5;
-}
-
-.button-link:hover,
-.text-link:hover {
-  color: #3DA1FF;
-}
-
-/* Needed to override normal button style from inContent.css */
-button.button-link:not([disabled="true"]):active:hover {
-  background: transparent;
-  border: none;
-  box-shadow: none;
-}
-
-.header-button {
-  -moz-appearance: none;
-  padding: 0 4px;
-  margin: 0;
-  height: 22px;
-  border: 1px solid rgba(60,73,97,0.5);
-  border-radius: @toolbarbuttonCornerRadius@;
-  box-shadow: inset 0 1px rgba(255,255,255,0.25), 0 1px rgba(255,255,255,0.25);
-  background: linear-gradient(rgba(255,255,255,0.45), transparent);
-  background-clip: padding-box;
-}
-
-.header-button .toolbarbutton-text {
-  display: none;
-}
-
-.header-button[disabled="true"] .toolbarbutton-icon {
-  opacity: 0.4;
-}
-
-.header-button:not([disabled="true"]):active:hover,
-.header-button[open="true"] {
-  border-color: rgba(45,54,71,0.7);
-  box-shadow: inset 0 0 4px rgb(45,54,71), 0 1px rgba(255,255,255,0.25);
-  background-image: linear-gradient(rgba(45,54,71,0.6), transparent);
-}
-
-/*** telemetry experiments ***/
-
-#detail-experiment-container {
-  font-size: 80%;
-  margin-bottom: 1em;
-}
-
-#detail-experiment-bullet-container,
-#detail-experiment-state,
-#detail-experiment-time,
-.experiment-bullet-container,
-.experiment-state,
-.experiment-time {
-  vertical-align: middle;
-  display: inline-block;
-}
-
-.addon .experiment-bullet,
-#detail-experiment-bullet {
-  fill: rgb(158, 158, 158);
-}
-
-.addon[active="true"] .experiment-bullet,
-#detail-view[active="true"] #detail-experiment-bullet {
-  fill: rgb(106, 201, 20);
-}
--- a/toolkit/themes/osx/mozapps/jar.mn
+++ b/toolkit/themes/osx/mozapps/jar.mn
@@ -27,17 +27,17 @@ toolkit.jar:
   skin/classic/mozapps/extensions/experimentGeneric.png           (extensions/experimentGeneric.png)
   skin/classic/mozapps/extensions/localeGeneric.png               (extensions/localeGeneric.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/cancel.png                      (extensions/cancel.png)
   skin/classic/mozapps/extensions/utilities.svg                   (../../shared/extensions/utilities.svg)
   skin/classic/mozapps/extensions/toolbarbutton-dropmarker.png    (extensions/toolbarbutton-dropmarker.png)
   skin/classic/mozapps/extensions/heart.png                       (extensions/heart.png)
-  skin/classic/mozapps/extensions/navigation.png                  (extensions/navigation.png)
+  skin/classic/mozapps/extensions/navigation.png                  (../../shared/extensions/navigation.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)
copy from toolkit/themes/windows/mozapps/extensions/extensions.css
copy to toolkit/themes/shared/extensions/extensions.inc.css
--- a/toolkit/themes/windows/mozapps/extensions/extensions.css
+++ b/toolkit/themes/shared/extensions/extensions.inc.css
@@ -1,35 +1,27 @@
+%if 0
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-@import url("chrome://global/skin/inContentUI.css");
-
+%endif
+@import url("chrome://global/skin/in-content/common.css");
 
-.nav-button {
-  list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
-}
-
-#forward-btn {
-  -moz-border-start: none;
+.main-content {
+  padding-top: 0;
+  -moz-padding-end: 0;
 }
 
-#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;
+#nav-header {
+  min-height: 39px;
+  background-color: #424f5a;
 }
 
-#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;
+.view-pane > .list > scrollbox {
+  -moz-padding-end: 48px;
 }
 
 
 /*** global warnings ***/
 
 .global-warning-container {
   overflow-x: hidden;
 }
@@ -44,103 +36,80 @@
 #addons-page[warning] .global-warning-container {
   background-color: rgba(255, 255, 0, 0.1);
   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 #CAD4E0;  
+  border-bottom: 1px solid #c1c1c1;
 }
 
 @media (max-width: 600px) {
   .global-warning-text {
     display: none;
   }
 
   .global-warning .warning-icon {
-    background-color: #FFF;
-    box-shadow: 0px 0px 2px 5px #FFF;
+    background-color: #fff;
+    box-shadow: 0 0 2px 5px #fff;
     border-radius: 10px;
   }
 }
 
 /*** global informations ***/
 #addons-page .global-info-container {
   background-color: #f3f7fb;
-  border-top-right-radius: 5px;
-  border-top-left-radius: 5px;
+  border-top-right-radius: 2px;
+  border-top-left-radius: 2px;
 }
 
 /* Plugins aren't yet disabled by safemode (bug 342333),
    so don't show that warning when viewing plugins. */
 #addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
 #addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
   background-color: inherit;
   background-image: none;
 }
 
 
 /*** notification icons ***/
 
-.warning-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
-.error-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
+.warning-icon,
+.error-icon,
 .pending-icon,
 .info-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
   width: 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;
+  -moz-margin-end: 48px;
 }
 
 .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: linear-gradient(#FFF, #ECF1F7);
-  background-clip: padding-box;
-  box-shadow: 2px 2px 4px #999; 
+  color: #333;
+  border: 1px solid #c1c1c1;
+  border-radius: 2px;
+  background-color: #ebebeb;
 }
 
 .alert .alert-title {
   font-weight: bold;
   font-size: 200%;
   margin-bottom: 15px;
 }
 
@@ -153,106 +122,54 @@
   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;
-  border-style: solid;
-  border-color: transparent;
-  -moz-box-align: center;
-  overflow: hidden;
+  padding-top: 0;
 }
 
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  .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;
-  }
-%ifdef XP_WIN
-}
-%endif
-
 .category[disabled] {
-  border-top: 0;
-  border-bottom: 0;
+  overflow: hidden;
   height: 0;
+  min-height: 0;
   opacity: 0;
-  transition-property: height, opacity;
+  transition-property: min-height, opacity;
   transition-duration: 1s, 0.8s;
 }
 
 .category:not([disabled]) {
-  height: 52px;
-  transition-property: height, opacity;
+  min-height: 40px;
+  transition-property: min-height, opacity;
   transition-duration: 1s, 0.8s;
 }
 
-.category[selected] {
-  background-color: rgba(255, 255, 255, 0.4);
-  color: #252F3B;
-  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 (max-width: 800px) {
   .category-name {
     display: none;
   }
 }
 
 .category-badge {
   background-color: #55D4FF;
   padding: 2px 8px;
   margin: 6px 0;
-  border-radius: 10000px;
+  -moz-margin-start: 6px;
+  border-radius: 100%;
   color: #FFF;
   font-weight: bold;
   text-align: center;
 }
 
 .category-badge[value="0"] {
-  visibility: hidden;
-}
-
-.category-icon {
-  width: 32px;
-  height: 32px;
-  -moz-margin-start: 6px;
+  display: none;
 }
 
 #category-search > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
 }
 #category-discover > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
 }
@@ -286,117 +203,119 @@
 #category-recentUpdates > .category-icon {
   list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
 }
 
 
 /*** header ***/
 
 #header {
-  margin-bottom: 18px;
-}
-
-#header-search {
-  margin: 0;
+  margin-top: 20px;
+  margin-bottom: 20px;
+  -moz-margin-end: 48px;
 }
 
 @media (max-width: 600px) {
   #header-search {
     width: 12em;
   }
 }
 
-@media (-moz-windows-default-theme) {
-  #header-search {
-    -moz-appearance: none;
-    border: 1px solid rgba(0, 0, 0, 0.32);
-    padding-bottom: 2px;
-    background-color: rgba(255, 255, 255, 0.4);
-  }
-
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  #header-search {
-    border-radius: 2.5px;
-  }
-%ifdef XP_WIN
-}
-%endif
-
-  #header-search:hover {
-    background-color: rgba(255, 255, 255, .75);
-  }
-
-  #header-search[focused] {
-    background-color: white;
-  }
+.view-header {
+  margin: 0;
+  -moz-margin-end: 48px;
+  border-bottom: 1px solid #c1c1c1;
 }
 
 #header-utils-btn {
-  list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities");
-  -moz-margin-end: 16px;
+  height: 30px;
+  line-height: 20px;
+  border-color: #c1c1c1;
+  background-color: #fbfbfb;
+  padding-right: 10px;
+  padding-left: 10px;
+}
+
+#header-utils-btn:not([disabled="true"]):active:hover,
+#header-utils-btn[open="true"] {
+  background-color: #dadada;
+}
+
+.header-button {
+  -moz-appearance: none;
+  border: 1px solid;
+  border-radius: 2px;
+}
+
+.header-button[disabled="true"] > .toolbarbutton-icon {
+  opacity: 0.4;
 }
 
-@media not all and (-moz-windows-default-theme) {
-  #header-utils-btn {
-    list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-native");
-  }
+.header-button:not([disabled="true"]):hover,
+#header-utils-btn:not([disabled="true"]):hover {
+  background-color: #ebebeb;
+  cursor: pointer;
+}
+
+.header-button > .toolbarbutton-text {
+  display: none;
 }
 
-.view-header {
-  background-color: rgba(251, 252, 253, 0.25);
-  padding: 4px;
-  margin: 0;
-  min-height: 31px;
-  border-bottom: 1px solid #CAD4E0;
+.nav-button {
+  list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
+  margin-top: 15px;
+  margin-bottom: 15px;
+  border-color: transparent;
+}
+
+.nav-button:not([disabled="true"]):hover {
+  border-color: #ebebeb;
+}
+
+#back-btn:-moz-locale-dir(ltr),
+#forward-btn:-moz-locale-dir(rtl) {
+  -moz-image-region: rect(0, 18px, 18px, 0);
+}
+
+#back-btn:-moz-locale-dir(rtl),
+#forward-btn:-moz-locale-dir(ltr) {
+  -moz-image-region: rect(0, 36px, 18px, 18px);
 }
 
 
 /*** sorters ***/
 
 .sort-controls {
   -moz-appearance: none;
 }
 
 .sorter {
-  -moz-appearance: none;
+  height: 35px;
   border: none;
+  border-radius: 0;
   background-color: transparent;
   color: #536680;
-  border-radius: 10000px;
-  padding: 0 6px;
-  margin: 0 6px;
+  margin: 0;
   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: 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");
+  background-color: #ebebeb;
+  box-shadow: 0 -4px 0 0 #ff9500 inset;
 }
 
 .sorter .button-icon {
-  -moz-margin-start: 4px;
+  -moz-margin-start: 6px;
 }
 
 
 /*** discover view ***/
 
 .discover-spacer-before,
 .discover-spacer-after {
   -moz-box-flex: 1;
@@ -429,40 +348,29 @@
 }
 
 
 /*** list ***/
 
 .list {
   -moz-appearance: none;
   margin: 0;
-  border: none;
+  border-color: transparent;
   background-color: transparent;
 }
 
 .addon {
-  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);
+  color: #444;
+  border-bottom: 1px solid #c1c1c1;
   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:not(:only-child):last-child {
+  border-bottom-width: 0;
 }
 
 .details {
   cursor: pointer;
   margin: 0;
   -moz-margin-start: 10px;
 }
 
@@ -475,21 +383,24 @@
 }
 
 .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
   max-width: 48px;
   max-height: 48px;
 }
 
+.content-inner-container {
+  -moz-margin-end: 5px;
+}
+
 .addon[active="false"] .icon {
   filter: grayscale(1);
 }
 
-
 .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");
 }
 
@@ -503,30 +414,24 @@
 
 .addon-view[type="experiment"] .icon {
   list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
 }
 
 .name-container {
   font-size: 150%;
   font-weight: bold;
-  color: #3F3F3F;
-  margin-bottom: 0;
   -moz-box-align: end;
   -moz-box-flex: 1;
 }
 
 .creator {
   font-weight: bold;
 }
 
-.creator .text-link {
-  color: #0066CC;
-}
-
 .description-container {
   -moz-margin-start: 6px;
   -moz-box-align: center;
 }
 
 .description {
   margin: 0;
 }
@@ -543,17 +448,16 @@
 .basicinfo-container {
   -moz-box-align: start;
 }
 
 .addon[status="installing"] > .content-container {
   -moz-box-align: stretch;
 }
 
-.advancedinfo-container,
 .update-info-container {
   -moz-box-align: center;
 }
 
 .update-available {
   -moz-box-align: end;
 }
 
@@ -572,30 +476,30 @@
 }
 
 .status-container,
 .control-container {
   -moz-box-pack: end;
 }
 
 .addon-view .warning {
-  color: #916D15;
+  color: #916d15;
 }
 
 .addon-view .error {
-  color: #864441;
+  color: #d74345;
 }
 
 .addon-view .pending {
-  color: #1B7123;
+  color: #1b7123;
 }
 
 .addon-view[pending="disable"] .pending,
 .addon-view[pending="uninstall"] .pending {
-  color: #62666E;
+  color: #62666e;
 }
 
 .addon .relnotes-container {
   -moz-box-align: start;
   -moz-margin-start: 6px;
   height: 0;
   overflow: hidden;
   opacity: 0;
@@ -614,40 +518,23 @@
   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");
 }
 
 .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: 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"),
                     linear-gradient(rgba(255, 255, 0, 0.04),
                                     rgba(255, 255, 0, 0));
   background-repeat: repeat-x;
 }
 
 .addon-view[notification="error"] {
@@ -670,22 +557,28 @@
 .addon-view[pending="uninstall"] {
   background-image: url("chrome://mozapps/skin/extensions/stripes-info-negative.png"),
                     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;
+  background-color: #fafafa;
+  color: #333;
+  -moz-padding-start: 1px; /* compensate the 4px border */
+  -moz-border-start: solid 4px #ff9500;
 }
 
-.addon[active="false"][selected] .name-container {
-  color: #3F3F3F;
+.addon[active="false"] {
+  opacity: 0.5;
+}
+
+.addon[active="false"][selected] {
+  opacity: 0.7;
 }
 
 
 /*** item - uninstalled ***/
 
 .addon[status="uninstalled"] {
   border: none;
 }
@@ -698,71 +591,59 @@
   font-size: 120%;
 }
 
 .addon[status="uninstalled"][selected] {
   background-color: transparent;
 }
 
 
-
 /*** search view ***/
 
 #search-filter {
   padding: 5px 20px;
+  -moz-margin-end: 48px;
   font-size: 120%;
-  border-bottom: 1px solid #CAD4E0;
+  border-bottom: 1px solid #c1c1c1;
   overflow-x: hidden;
 }
 
 #search-filter-label {
   font-weight: bold;
   color: grey;
-}
-
-.search-filter-radio {
-  -moz-appearance: none;
-  padding: 0 6px;
-  margin: 0 3px;
-  border-radius: 10000px;
-}
-
-.search-filter-radio[selected] {
-  background-color: grey;
-  color: white;
-}
-
-.search-filter-radio .radio-check-box1 {
-  display: none;
-}
-
-.search-filter-radio .radio-icon {
-  display: none;
+  -moz-margin-end: 10px;
 }
 
 #search-allresults-link {
   margin-top: 1em;
   margin-bottom: 2em;
 }
 
+
 /*** detail view ***/
 
+#detail-view {
+  -moz-margin-end: 48px;
+}
+
 #detail-view .loading {
   opacity: 0;
 }
 
 #detail-view[loading-extended] .loading {
   opacity: 1;
   transition-property: opacity;
   transition-duration: 1s;
 }
 
 .detail-view-container {
-  padding: 0 2em 2em 2em;
+  -moz-padding-end: 2em;
+  padding-bottom: 2em;
   font-size: 110%;
+  color: #333;
 }
 
 #detail-notifications {
   margin-top: 1em;
   margin-bottom: 2em;
 }
 
 #detail-notifications .warning,
@@ -785,28 +666,34 @@
 #detail-summary {
   margin-bottom: 2em;
 }
 
 #detail-name-container {
   font-size: 200%;
 }
 
+#detail-screenshot-box {
+  -moz-margin-end: 2em;
+  padding: 10px;
+  background-color: white;
+  box-shadow: 0 1px 2px #666;
+}
+
 #detail-screenshot {
-  -moz-margin-end: 2em;
   max-width: 300px;
   max-height: 300px;
 }
 
 #detail-screenshot[loading] {
   background-image: url("chrome://global/skin/icons/loading_16.png"),
                     linear-gradient(rgba(255, 255, 255, 0.5), transparent);
   background-position: 50% 50%;
   background-repeat: no-repeat;
-  border-radius: 3px;
+  border-radius: 2px;
 }
 
 #detail-screenshot[loading="error"] {
   background-image: url("chrome://global/skin/media/error.png"),
                     linear-gradient(rgba(255, 255, 255, 0.5), transparent);
 }
 
 #detail-desc-container {
@@ -822,17 +709,17 @@
   min-width: 10em;
 }
 
 #detail-fulldesc {
   margin-top: 1em;
 }
 
 #detail-contributions {
-  border-radius: 5px;
+  border-radius: 2px;
   border: 1px solid #D2DBE8;
   margin-bottom: 2em;
   padding: 1em;
   background-color: #F3F7FB;
 }
 
 #detail-contrib-description {
   font-style: italic;
@@ -841,50 +728,35 @@
 }
 
 #detail-contrib-suggested {
   color: grey;
   font-weight: bold;
 }
 
 #detail-contrib-btn {
-  -moz-appearance: none;
   color: #FFF;
-  border: 1px solid #3A4EEE;
-  border-radius: 3px;
+  text-shadow: none;
+  border: 1px solid #0095dd;
   list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
-  background-color: #2F73EF;
-  background-image: 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;
+  background-color: #0095dd;
 }
 
 #detail-contrib-btn .button-icon {
-  -moz-margin-end: 3px;
+  -moz-margin-end: 5px;
 }
 
 #detail-contrib-btn:not(:active):hover {
-  border-color: #4271FF;
-  background-color: #0459F7;
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1),
-              0 0 3.5px hsl(190, 90%, 80%);
-  transition: background-color .4s ease-in,
-              border-color .3s ease-in,
-              box-shadow .3s ease-in;
+  border-color: #008acb;
+  background-color: #008acb;
 }
 
 #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);
+  background-color: #006b9d;
+  border-color: #006b9d;
 }
 
 #detail-grid {
   margin-bottom: 2em;
 }
 
 #detail-grid > columns > column:first-child {
   min-width: 15em;
@@ -895,31 +767,28 @@
 .detail-row-complex[first-row="true"],
 setting[first-row="true"] {
   border-top: none;
 }
 
 .detail-row,
 .detail-row-complex,
 setting {
-  border-top: 2px solid;
-  -moz-border-top-colors: rgba(28, 31, 37, 0.1) rgba(255, 255, 255, 0.1);
+  border-top: 1px solid #c1c1c1;
   -moz-box-align: center;
-  min-height: 30px;
+  min-height: 35px;
+  font-size: 1.25rem;
+  line-height: 20px;
+  text-shadow: 0 1px 1px #fefffe;
 }
 
 #detail-controls {
   margin-bottom: 1em;
 }
 
-#detail-view[active="false"]:not([pending]):not([notification]) {
-  background-image: linear-gradient(rgba(135, 135, 135, 0.1),
-                                    rgba(135, 135, 135, 0));
-}
-
 setting[first-row="true"] {
   margin-top: 2em;
 }
 
 setting {
   -moz-box-align: start;
 }
 
@@ -939,19 +808,16 @@ setting {
 .preferences-description:empty {
   display: none;
 }
 
 setting[type="radio"] > radiogroup {
   -moz-box-orient: horizontal;
 }
 
-menulist { /* Fixes some styling inconsistencies */
-  margin: 1px 5px 2px 5px;
-}
 
 /*** creator ***/
 
 .creator > label {
   -moz-margin-start: 0;
   -moz-margin-end: 0;
 }
 
@@ -963,77 +829,42 @@ menulist { /* Fixes some styling inconsi
 
 /*** rating ***/
 
 .meta-rating {
   -moz-margin-end: 0;
   padding-top: 2px;
 }
 
-.meta-rating > .star {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
-  padding: 0 1px;
-}
-
-.meta-rating > .star[on="true"] {
-  list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
-}
-
 
 /*** download progress ***/
 
 .download-progress {
-  background-color: rgba(151,152,153,.05);
-  background-image: 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;
+  border: 1px solid #c1c1c1;
+  border-radius: 2px;
+  background-color: #fbfbfb;
   width: 200px;
-  height: 21px;
-  margin: 0 8px;
+  height: 30px;
+  margin: 2px 4px;
 }
 
 .download-progress[mode="undetermined"] {
-  border-color: #358942 #317F3D #2E773A;
-}
-
-.download-progress[mode="undetermined"] .status-container {
-  padding: 0 2px;
+  border-color: #0095dd;
 }
 
 .download-progress .start-cap,
 .download-progress[complete] .end-cap,
 .download-progress[mode="undetermined"] .end-cap,
 .download-progress .progress .progress-bar {
   -moz-appearance: none;
-  background-image: linear-gradient(#92DDA0, #6FC483 49%, #5EB272 51%, #80CE91);
-  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;
+  background-color: #0095dd;
 }
 
 .download-progress .progress .progress-bar  {
-  border-left-width: 0;
-  border-right-width: 0;
-  min-height: 21px;
+  min-height: 28px;
 }
 
 .download-progress .progress {
   -moz-appearance: none;
   background-color: transparent;
   padding: 0;
   margin: 0;
   border: none;
@@ -1041,68 +872,61 @@ menulist { /* Fixes some styling inconsi
 
 .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: 3px 0 0 3px;
+  border-radius: 1px 0 0 1px;
 }
 
 .download-progress .end-cap:-moz-locale-dir(ltr),
 .download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 3px 3px 0;
+  border-radius: 0 1px 1px 0;
 }
 
 .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;
+  width: 20px;
+  height: 20px;
   margin: 3px;
 }
 
-.download-progress .cancel:hover {
-  background-color: rgba(255, 255, 255, 0.6);
-  border: 1px solid rgba(0, 0, 0, 0.8);
-}
-
-.download-progress .cancel:active:hover {
-  box-shadow: inset rgba(0, 0, 0, 0.5) 1px 1px 2px;
-}
-
 .download-progress .cancel .button-box {
-  padding: 0;
+  /* override in-content/common.css !important rule */
+  padding: 0 !important;
   border: none;
 }
 
 .download-progress .cancel .button-text {
   display: none;
 }
 
 .download-progress .cancel .button-icon {
-  -moz-margin-start: 0;
+  margin: 0;
 }
 
 .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;
+  color: #333;
+  text-shadow: #fff 0 0 2px;
 }
 
+
 /*** install status ***/
 
 .install-status {
   -moz-box-align: center;
 }
 
 
 /*** check for updates ***/
@@ -1137,82 +961,44 @@ menulist { /* Fixes some styling inconsi
 }
 
 button.button-link {
   -moz-appearance: none;
   background: transparent;
   border: none;
   box-shadow: none;
   text-decoration: underline;
-  color: #0066CC;
+  color: #0095dd;
   cursor: pointer;
   min-width: 0;
+  height: 20px;
   margin: 0 6px;
 }
 
+button.button-link:not(:-moz-focusring) > .button-box {
+  border-width: 0;
+  margin: 1px;
+}
+
 .text-link {
-  color: #3386D5;
+  color: #0095dd;
+  font-size: inherit;
 }
 
-.button-link:hover,
+button.button-link:hover,
 .text-link:hover {
-  color: #3DA1FF;
+  color: #4cb1ff;
+  background-color: transparent;
 }
 
 /* Needed to override normal button style from inContent.css */
 button.button-link:not([disabled="true"]):active:hover {
-  background: transparent;
-  border: none;
-  box-shadow: none;
-}
-
-.header-button {
-  -moz-appearance: none;
-  padding: 1px 3px;
-  color: #444;
-  text-shadow: 0 0 3px white;
-  background: linear-gradient(rgba(251, 252, 253, 0.95), transparent 49%, 
-                              rgba(211, 212, 213, 0.45) 51%, rgba(225, 226, 229, 0.3));
-  background-clip: padding-box;
-  border: 1px solid rgba(31, 64, 100, 0.4);
-  border-top-color: rgba(31, 64, 100, 0.3);
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25) inset,
-              0 0 2px 1px rgba(255, 255, 255, 0.25) inset;
+  background-color: transparent;
 }
 
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  .header-button {
-    border-radius: 2.5px;
-  }
-%ifdef XP_WIN
-}
-%endif
-
-.header-button[disabled="true"] {
-  opacity: 0.8;
-}
-
-.header-button[disabled="true"] > .toolbarbutton-icon {
-  opacity: 0.4;
-}
-
-.header-button:not([disabled="true"]):active:hover,
-.header-button[open="true"] {
-  background-color: rgba(61, 76, 92, 0.2);
-  border-color: rgba(39, 53, 68, 0.5);
-  box-shadow: 0 0 3px 1px rgba(39, 53, 68, 0.2) inset;
-}
-
-.header-button > .toolbarbutton-text {
-  display: none;
-}
 
 /*** telemetry experiments ***/
 
 #detail-experiment-container {
   font-size: 80%;
   margin-bottom: 1em;
 }
 
rename from toolkit/themes/windows/mozapps/extensions/navigation.png
rename to toolkit/themes/shared/extensions/navigation.png
index 8ff639127ab3cd167c789a7e4d5f0a395ad46b0f..67ff3d9a76f123e8e54dfa586a02ed9b3d1ff6e1
GIT binary patch
literal 663
zc$@*30%-k-P)<h;3K|Lk000e1NJLTq001Na000sQ1^@s6Gb4N`0007BNkl<Zc-muN
z7;1o5Sc(^jOMzIQ0yFG^I2VZ7DRoS=ysCEVl4UD*hDF6s1M(ZlFry(WuV~(^xeK<6
zN+~u0`Of4zCLH9Ld-oqa{0{_Qfxy|rcLGpcnFKRT<C4;5{`~ptH^_|h7cO2EmXvP<
zg&3)h2?jal_MN*A{v(0X%G%XHIbRaY$(=T1_8w$2&YV4e8R{rYVh!<^Rn}~|dF%FF
zWP`Tv-2H-IRAv%To*9IRFbAZLTUt?l-q~~K-y@rK{KTmXP)C^(bc}?YYV)=0H|`)C
zuxIc7S3(kUt3c@i4f|tDcW7#wq!iRQUATDZ1G1S%jvYS_^dLyy9A|t3ebaLN#?9OR
zi2xvV*b+HN?EV8tx+4UR9Y1*<8d9QIa|6)T=l&B3zJ2@l3*AA`XlnRR0$9Cv{XU?c
zdaMrGyYIk#VhsXjy5H1r(6SY)FJdiDfP&U?Dq3rRas8ecgHE10^9EOxUA%nd12JZR
z(k3v<76J9h;z~!czy!GY-1!SAj@q<k+jBk<=>tG{WV{YfqTYzC7FZx2JaO{$TVykL
z?cV!RP+SgFj5ra>X;C<G#aU>sASK)LLUZjcWV3)t1D0zYi7ks_fMwAZ^q_C+>;)MT
zPC~(04y<-|A)B%9z#&jHfkMWG)Y3X$K}~1tm8;i3f(-ig>-WEygw!>lv_^s%p=DKd
zd;k6W2X@TC!$)6>Nh_@dio20ppCtnm`qp_17e7qP%DV*Q_mN@7l!}`A>r<x9x({>=
xDBXEdTH~t%F(@ZwQD8<r5YGc*i6Phi0ssZm*sGNPi%9?g002ovPDHLkV1g8rFMt35
--- a/toolkit/themes/windows/mozapps/extensions/extensions.css
+++ b/toolkit/themes/windows/mozapps/extensions/extensions.css
@@ -1,1237 +1,63 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-@import url("chrome://global/skin/inContentUI.css");
-
-
-.nav-button {
-  list-style-image: url(chrome://mozapps/skin/extensions/navigation.png);
-}
-
-#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;
-}
-
-.global-warning {
-  -moz-box-align: center;
-  padding: 0 8px;
-  color: #916D15;
-  font-weight: bold;
-}
-
-#addons-page[warning] .global-warning-container {
-  background-color: rgba(255, 255, 0, 0.1);
-  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 #CAD4E0;  
-}
-
-@media (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;
-  }
-}
-
-/*** global informations ***/
-#addons-page .global-info-container {
-  background-color: #f3f7fb;
-  border-top-right-radius: 5px;
-  border-top-left-radius: 5px;
-}
-
-/* Plugins aren't yet disabled by safemode (bug 342333),
-   so don't show that warning when viewing plugins. */
-#addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
-#addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
-  background-color: inherit;
-  background-image: none;
-}
-
-
-/*** notification icons ***/
-
-.warning-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
-.error-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
-  width: 16px;
-  height: 15px;
-  margin: 3px 0;
-}
-
-.pending-icon,
-.info-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
-  width: 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: linear-gradient(#FFF, #ECF1F7);
-  background-clip: padding-box;
-  box-shadow: 2px 2px 4px #999; 
-}
-
-.alert .alert-title {
-  font-weight: bold;
-  font-size: 200%;
-  margin-bottom: 15px;
-}
-
-.alert button {
-  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;
-  border-style: solid;
-  border-color: transparent;
-  -moz-box-align: center;
-  overflow: hidden;
-}
-
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  .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;
-  }
-%ifdef XP_WIN
-}
-%endif
-
-.category[disabled] {
-  border-top: 0;
-  border-bottom: 0;
-  height: 0;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category:not([disabled]) {
-  height: 52px;
-  transition-property: height, opacity;
-  transition-duration: 1s, 0.8s;
-}
-
-.category[selected] {
-  background-color: rgba(255, 255, 255, 0.4);
-  color: #252F3B;
-  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 (max-width: 800px) {
-  .category-name {
-    display: none;
-  }
-}
-
-.category-badge {
-  background-color: #55D4FF;
-  padding: 2px 8px;
-  margin: 6px 0;
-  border-radius: 10000px;
-  color: #FFF;
-  font-weight: bold;
-  text-align: center;
-}
-
-.category-badge[value="0"] {
-  visibility: hidden;
-}
-
-.category-icon {
-  width: 32px;
-  height: 32px;
-  -moz-margin-start: 6px;
-}
-
-#category-search > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
-}
-#category-discover > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
-}
-#category-locale > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-languages.png");
-}
-#category-searchengine > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-searchengines.png");
-}
-#category-extension > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-extensions.png");
-}
-#category-service > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-service.png");
-}
-#category-theme > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-themes.png");
-}
-#category-plugin > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-plugins.png");
-}
-#category-dictionary > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-dictionaries.png");
-}
-#category-experiment > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-experiments.png");
-}
-#category-availableUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-available.png");
-}
-#category-recentUpdates > .category-icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
-}
-
-
-/*** header ***/
-
-#header {
-  margin-bottom: 18px;
-}
-
-#header-search {
-  margin: 0;
-}
-
-@media (max-width: 600px) {
-  #header-search {
-    width: 12em;
-  }
-}
-
-@media (-moz-windows-default-theme) {
-  #header-search {
-    -moz-appearance: none;
-    border: 1px solid rgba(0, 0, 0, 0.32);
-    padding-bottom: 2px;
-    background-color: rgba(255, 255, 255, 0.4);
-  }
-
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  #header-search {
-    border-radius: 2.5px;
-  }
-%ifdef XP_WIN
-}
-%endif
-
-  #header-search:hover {
-    background-color: rgba(255, 255, 255, .75);
-  }
-
-  #header-search[focused] {
-    background-color: white;
-  }
-}
+%include ../../../shared/extensions/extensions.inc.css
 
 #header-utils-btn {
   list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities");
   -moz-margin-end: 16px;
 }
 
 @media not all and (-moz-windows-default-theme) {
   #header-utils-btn {
     list-style-image: url("chrome://mozapps/skin/extensions/utilities.svg#utilities-native");
   }
 }
 
-.view-header {
-  background-color: rgba(251, 252, 253, 0.25);
-  padding: 4px;
-  margin: 0;
-  min-height: 31px;
-  border-bottom: 1px solid #CAD4E0;
+.warning-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-warning.png");
+  height: 15px;
 }
 
-
-/*** sorters ***/
-
-.sort-controls {
-  -moz-appearance: none;
+.error-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-error.png");
+  height: 15px;
 }
 
-.sorter {
-  -moz-appearance: none;
-  border: none;
-  background-color: transparent;
-  color: #536680;
-  border-radius: 10000px;
-  padding: 0 6px;
-  margin: 0 6px;
-  min-width: 12px !important;
-  -moz-box-direction: reverse;
+.pending-icon,
+.info-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-positive.png");
+  height: 15px;
 }
 
-.sorter .button-box {
-  padding-top: 0;
-  padding-bottom: 0;
-}
-
-.sorter[checkState="1"],
-.sorter[checkState="2"] {
-  background-color: rgba(194, 200, 206, 0.4);
-  box-shadow: 1px 1px 2px #B6BBC4 inset;
+.addon-view[pending="disable"] .pending-icon,
+.addon-view[pending="uninstall"] .pending-icon {
+  list-style-image: url("chrome://mozapps/skin/extensions/alerticon-info-negative.png");
 }
 
 .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;
-}
-
-
-/*** discover view ***/
-
-.discover-spacer-before,
-.discover-spacer-after {
-  -moz-box-flex: 1;
-}
-
-#discover-error .alert {
-  max-width: 45em;
-  -moz-box-flex: 1;
-}
-
-.discover-logo {
-  list-style-image: url("chrome://mozapps/skin/extensions/discover-logo.png");
-  -moz-margin-end: 15px;
-}
-
-.discover-title {
-  font-weight: bold;
-  font-size: 24px;
-  font-family: MetaWebPro-Book, "Trebuchet MS", sans-serif;
-  margin: 0 0 15px 0;
-}
-
-.discover-description {
-  text-align: justify;
-  margin: 0 0 15px 0;
-}
-
-.discover-footer {
-  text-align: justify;
-}
-
-
-/*** list ***/
-
-.list {
-  -moz-appearance: none;
-  margin: 0;
-  border: none;
-  background-color: transparent;
-}
-
-.addon {
-  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);
-}
-
-.details {
-  cursor: pointer;
-  margin: 0;
-  -moz-margin-start: 10px;
-}
-
-.icon-container {
-  width: 48px;
-  height: 48px;
-  margin: 3px 7px;
-  -moz-box-align: center;
-  -moz-box-pack: center;
-}
-
-.icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
-  max-width: 48px;
-  max-height: 48px;
-}
-
-.addon[active="false"] .icon {
-  filter: grayscale(1);
-}
-
-
-.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");
-}
-
-.addon-view[type="dictionary"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
-}
-
-.addon-view[type="experiment"] .icon {
-  list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
-}
-
-.name-container {
-  font-size: 150%;
-  font-weight: bold;
-  color: #3F3F3F;
-  margin-bottom: 0;
-  -moz-box-align: end;
-  -moz-box-flex: 1;
-}
-
-.creator {
-  font-weight: bold;
-}
-
-.creator .text-link {
-  color: #0066CC;
-}
-
-.description-container {
-  -moz-margin-start: 6px;
-  -moz-box-align: center;
-}
-
-.description {
-  margin: 0;
-}
-
-.warning,
-.pending,
-.error {
-  -moz-margin-start: 48px;
-  font-weight: bold;
-  -moz-box-align: center;
-}
-
-.content-container,
-.basicinfo-container {
-  -moz-box-align: start;
-}
-
-.addon[status="installing"] > .content-container {
-  -moz-box-align: stretch;
-}
-
-.advancedinfo-container,
-.update-info-container {
-  -moz-box-align: center;
-}
-
-.update-available {
-  -moz-box-align: end;
-}
-
-.install-status-container {
-  -moz-box-pack: end;
-  -moz-box-align: end;
-}
-
-.name-outer-container {
-  -moz-box-pack: center;
-}
-
-.relnotes-toggle-container,
-.icon-outer-container {
-  -moz-box-pack: start;
-}
-
-.status-container,
-.control-container {
-  -moz-box-pack: end;
-}
-
-.addon-view .warning {
-  color: #916D15;
-}
-
-.addon-view .error {
-  color: #864441;
-}
-
-.addon-view .pending {
-  color: #1B7123;
-}
-
-.addon-view[pending="disable"] .pending,
-.addon-view[pending="uninstall"] .pending {
-  color: #62666E;
-}
-
-.addon .relnotes-container {
-  -moz-box-align: start;
-  -moz-margin-start: 6px;
-  height: 0;
-  overflow: hidden;
-  opacity: 0;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon[show-relnotes] .relnotes-container {
-  opacity: 1;
-  transition-property: height, opacity;
-  transition-duration: 0.5s, 0.5s;
-}
-
-.addon .relnotes-header {
-  font-weight: bold;
-  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");
 }
 
-.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: 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"),
-                    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"),
-                    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"),
-                    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"),
-                    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[active="false"][selected] .name-container {
-  color: #3F3F3F;
-}
-
-
-/*** item - uninstalled ***/
-
-.addon[status="uninstalled"] {
-  border: none;
-}
-
-.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%;
-  border-bottom: 1px solid #CAD4E0;
-  overflow-x: hidden;
-}
-
-#search-filter-label {
-  font-weight: bold;
-  color: grey;
-}
-
-.search-filter-radio {
-  -moz-appearance: none;
-  padding: 0 6px;
-  margin: 0 3px;
-  border-radius: 10000px;
-}
-
-.search-filter-radio[selected] {
-  background-color: grey;
-  color: white;
-}
-
-.search-filter-radio .radio-check-box1 {
-  display: none;
-}
-
-.search-filter-radio .radio-icon {
-  display: none;
-}
-
-#search-allresults-link {
-  margin-top: 1em;
-  margin-bottom: 2em;
-}
-
-/*** detail view ***/
-
-#detail-view .loading {
-  opacity: 0;
-}
-
-#detail-view[loading-extended] .loading {
-  opacity: 1;
-  transition-property: opacity;
-  transition-duration: 1s;
-}
-
-.detail-view-container {
-  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 {
-  -moz-margin-start: 0;
-}
-
-#detail-icon-container {
-  width: 64px;
-  -moz-margin-end: 10px;
-  margin-top: 6px;
-}
-
-#detail-icon {
-  max-width: 64px;
-  max-height: 64px;
-}
-
-#detail-summary {
-  margin-bottom: 2em;
-}
-
-#detail-name-container {
-  font-size: 200%;
-}
-
-#detail-screenshot {
-  -moz-margin-end: 2em;
-  max-width: 300px;
-  max-height: 300px;
-}
-
-#detail-screenshot[loading] {
-  background-image: url("chrome://global/skin/icons/loading_16.png"),
-                    linear-gradient(rgba(255, 255, 255, 0.5), transparent);
-  background-position: 50% 50%;
-  background-repeat: no-repeat;
-  border-radius: 3px;
-}
-
-#detail-screenshot[loading="error"] {
-  background-image: url("chrome://global/skin/media/error.png"),
-                    linear-gradient(rgba(255, 255, 255, 0.5), transparent);
-}
-
-#detail-desc-container {
-  margin-bottom: 2em;
-}
-
-#detail-desc, #detail-fulldesc {
-  -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: 10em;
-}
-
-#detail-fulldesc {
-  margin-top: 1em;
-}
-
-#detail-contributions {
-  border-radius: 5px;
-  border: 1px solid #D2DBE8;
-  margin-bottom: 2em;
-  padding: 1em;
-  background-color: #F3F7FB;
-}
-
-#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;
-  border: 1px solid #3A4EEE;
-  border-radius: 3px;
-  list-style-image: url("chrome://mozapps/skin/extensions/heart.png");
-  background-color: #2F73EF;
-  background-image: 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 .button-icon {
-  -moz-margin-end: 3px;
-}
-
-#detail-contrib-btn:not(:active):hover {
-  border-color: #4271FF;
-  background-color: #0459F7;
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1),
-              0 0 3.5px hsl(190, 90%, 80%);
-  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-grid > columns > column:first-child {
-  min-width: 15em;
-  max-width: 25em;
-}
-
-.detail-row[first-row="true"],
-.detail-row-complex[first-row="true"],
-setting[first-row="true"] {
-  border-top: none;
-}
-
-.detail-row,
-.detail-row-complex,
-setting {
-  border-top: 2px solid;
-  -moz-border-top-colors: rgba(28, 31, 37, 0.1) rgba(255, 255, 255, 0.1);
-  -moz-box-align: center;
-  min-height: 30px;
-}
-
-#detail-controls {
-  margin-bottom: 1em;
-}
-
-#detail-view[active="false"]:not([pending]):not([notification]) {
-  background-image: linear-gradient(rgba(135, 135, 135, 0.1),
-                                    rgba(135, 135, 135, 0));
-}
-
-setting[first-row="true"] {
-  margin-top: 2em;
-}
-
-setting {
-  -moz-box-align: start;
-}
-
-.preferences-alignment {
-  min-height: 30px;
-  -moz-box-align: center;
-}
-
-.preferences-description {
-  font-size: 90.9%;
-  color: graytext;
-  margin-top: -2px;
-  -moz-margin-start: 2em;
-  white-space: pre-wrap;
-}
-
-.preferences-description:empty {
-  display: none;
-}
-
-setting[type="radio"] > radiogroup {
-  -moz-box-orient: horizontal;
-}
-
-menulist { /* Fixes some styling inconsistencies */
-  margin: 1px 5px 2px 5px;
-}
-
-/*** creator ***/
-
-.creator > label {
-  -moz-margin-start: 0;
-  -moz-margin-end: 0;
-}
-
-.creator > .text-link {
-  margin-top: 1px;
-  margin-bottom: 1px;
-}
-
-
-/*** rating ***/
-
-.meta-rating {
-  -moz-margin-end: 0;
-  padding-top: 2px;
-}
-
 .meta-rating > .star {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
   padding: 0 1px;
 }
 
 .meta-rating > .star[on="true"] {
   list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
 }
-
-
-/*** download progress ***/
-
-.download-progress {
-  background-color: rgba(151,152,153,.05);
-  background-image: 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: 21px;
-  margin: 0 8px;
-}
-
-.download-progress[mode="undetermined"] {
-  border-color: #358942 #317F3D #2E773A;
-}
-
-.download-progress[mode="undetermined"] .status-container {
-  padding: 0 2px;
-}
-
-.download-progress .start-cap,
-.download-progress[complete] .end-cap,
-.download-progress[mode="undetermined"] .end-cap,
-.download-progress .progress .progress-bar {
-  -moz-appearance: none;
-  background-image: linear-gradient(#92DDA0, #6FC483 49%, #5EB272 51%, #80CE91);
-  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;
-  min-height: 21px;
-}
-
-.download-progress .progress {
-  -moz-appearance: none;
-  background-color: transparent;
-  padding: 0;
-  margin: 0;
-  border: none;
-}
-
-.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: 3px 0 0 3px;
-}
-
-.download-progress .end-cap:-moz-locale-dir(ltr),
-.download-progress .start-cap:-moz-locale-dir(rtl) {
-  border-radius: 0 3px 3px 0;
-}
-
-.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 .cancel:hover {
-  background-color: rgba(255, 255, 255, 0.6);
-  border: 1px solid rgba(0, 0, 0, 0.8);
-}
-
-.download-progress .cancel:active:hover {
-  box-shadow: inset rgba(0, 0, 0, 0.5) 1px 1px 2px;
-}
-
-.download-progress .cancel .button-box {
-  padding: 0;
-  border: none;
-}
-
-.download-progress .cancel .button-text {
-  display: none;
-}
-
-.download-progress .cancel .button-icon {
-  -moz-margin-start: 0;
-}
-
-.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-container .button-link {
-  font-weight: bold;
-}
-
-#updates-installed,
-#updates-downloaded {
-  color: #00BB00;
-  font-weight: bold;
-}
-
-#update-selected {
-  margin: 12px;
-}
-
-
-/*** buttons ***/
-
-.addon-control[disabled="true"]:not(.no-auto-hide) {
-  display: none;
-}
-
-.no-auto-hide .addon-control {
-  display: block !important;
-}
-
-button.button-link {
-  -moz-appearance: none;
-  background: transparent;
-  border: none;
-  box-shadow: none;
-  text-decoration: underline;
-  color: #0066CC;
-  cursor: pointer;
-  min-width: 0;
-  margin: 0 6px;
-}
-
-.text-link {
-  color: #3386D5;
-}
-
-.button-link:hover,
-.text-link:hover {
-  color: #3DA1FF;
-}
-
-/* Needed to override normal button style from inContent.css */
-button.button-link:not([disabled="true"]):active:hover {
-  background: transparent;
-  border: none;
-  box-shadow: none;
-}
-
-.header-button {
-  -moz-appearance: none;
-  padding: 1px 3px;
-  color: #444;
-  text-shadow: 0 0 3px white;
-  background: linear-gradient(rgba(251, 252, 253, 0.95), transparent 49%, 
-                              rgba(211, 212, 213, 0.45) 51%, rgba(225, 226, 229, 0.3));
-  background-clip: padding-box;
-  border: 1px solid rgba(31, 64, 100, 0.4);
-  border-top-color: rgba(31, 64, 100, 0.3);
-  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25) inset,
-              0 0 2px 1px rgba(255, 255, 255, 0.25) inset;
-}
-
-%ifdef XP_WIN
-@media (-moz-os-version: windows-xp),
-       (-moz-os-version: windows-vista),
-       (-moz-os-version: windows-win7) {
-%endif
-  .header-button {
-    border-radius: 2.5px;
-  }
-%ifdef XP_WIN
-}
-%endif
-
-.header-button[disabled="true"] {
-  opacity: 0.8;
-}
-
-.header-button[disabled="true"] > .toolbarbutton-icon {
-  opacity: 0.4;
-}
-
-.header-button:not([disabled="true"]):active:hover,
-.header-button[open="true"] {
-  background-color: rgba(61, 76, 92, 0.2);
-  border-color: rgba(39, 53, 68, 0.5);
-  box-shadow: 0 0 3px 1px rgba(39, 53, 68, 0.2) inset;
-}
-
-.header-button > .toolbarbutton-text {
-  display: none;
-}
-
-/*** telemetry experiments ***/
-
-#detail-experiment-container {
-  font-size: 80%;
-  margin-bottom: 1em;
-}
-
-#detail-experiment-bullet-container,
-#detail-experiment-state,
-#detail-experiment-time,
-.experiment-bullet-container,
-.experiment-state,
-.experiment-time {
-  vertical-align: middle;
-  display: inline-block;
-}
-
-.addon .experiment-bullet,
-#detail-experiment-bullet {
-  fill: rgb(158, 158, 158);
-}
-
-.addon[active="true"] .experiment-bullet,
-#detail-view[active="true"] #detail-experiment-bullet {
-  fill: rgb(106, 201, 20);
-}
--- a/toolkit/themes/windows/mozapps/jar.mn
+++ b/toolkit/themes/windows/mozapps/jar.mn
@@ -29,17 +29,17 @@ toolkit.jar:
         skin/classic/mozapps/extensions/dictionaryGeneric-16.png   (extensions/dictionaryGeneric-16.png)
         skin/classic/mozapps/extensions/experimentGeneric.png      (extensions/experimentGeneric.png)
         skin/classic/mozapps/extensions/localeGeneric.png          (extensions/localeGeneric.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/cancel.png                 (extensions/cancel.png)
         skin/classic/mozapps/extensions/utilities.svg              (../../shared/extensions/utilities.svg)
         skin/classic/mozapps/extensions/heart.png                  (extensions/heart.png)
-        skin/classic/mozapps/extensions/navigation.png             (extensions/navigation.png)
+        skin/classic/mozapps/extensions/navigation.png             (../../shared/extensions/navigation.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)