imported patch strings
authorMark Finkle <mfinkle@mozilla.com>
Wed, 26 Aug 2009 20:44:35 -0400
changeset 65483 39b46e6ee02c851943be4f554c536f36355f4c52
parent 65482 c796c323de863ca43131d501f172821a60a5773f
child 65484 0b54a2c0b7b2c5c5768ec044245790a01628dc1e
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
imported patch strings
mobile/chrome/content/bindings/extensions.xml
mobile/chrome/content/browser.css
mobile/chrome/content/browser.xul
mobile/chrome/content/extensions.js
mobile/locales/en-US/chrome/browser.dtd
mobile/locales/en-US/chrome/browser.properties
mobile/themes/hildon/browser.css
mobile/themes/hildon/images/ratings-18.png
mobile/themes/hildon/jar.mn
mobile/themes/wince/browser-high.css
mobile/themes/wince/browser-low.css
mobile/themes/wince/images/ratings-18.png
mobile/themes/wince/jar.mn
--- a/mobile/chrome/content/bindings/extensions.xml
+++ b/mobile/chrome/content/bindings/extensions.xml
@@ -1,28 +1,32 @@
 <?xml version="1.0"?>
 
 <!DOCTYPE bindings [
 <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
 %browserDTD;
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
 ]>
 
 <bindings
     xmlns="http://www.mozilla.org/xbl"
     xmlns:xbl="http://www.mozilla.org/xbl"
     xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
   <binding id="extension-local" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
     <content orient="vertical">
       <xul:hbox align="start">
         <xul:image xbl:inherits="src=iconURL"/>
         <xul:vbox flex="1">
           <xul:hbox align="center">
             <xul:label class="title" xbl:inherits="value=name"/>
             <xul:label class="normal" xbl:inherits="value=version"/>
+            <xul:spacer flex="1"/>
+            <xul:label class="normal" crop="end" xbl:inherits="value=typeLabel"/>            
           </xul:hbox>
           <xul:label class="normal hide-on-select" xbl:inherits="value=description" crop="end" flex="1"/>
           <xul:description class="normal show-on-select" xbl:inherits="xbl:text=description" flex="1"/>
         </xul:vbox>
       </xul:hbox>
       <xul:hbox class="show-on-select buttons-box">
         <xul:button anonid="options-button" class="addon-options" label="&addonOptions.label;"
                     oncommand="document.getBindingParent(this).toggleOptions();"/>
@@ -103,24 +107,26 @@
 
   <binding id="extension-search" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
     <content orient="horizontal" align="start">
       <xul:image xbl:inherits="src=iconURL"/>
       <xul:vbox flex="1">
         <xul:hbox align="center">
           <xul:label class="title" xbl:inherits="value=name"/>
           <xul:label class="normal" xbl:inherits="value=version"/>
+          <xul:spacer flex="1"/>
+          <xul:hbox class="addon-type-or-rating" align="center" xbl:inherits="rating"/>            
         </xul:hbox>
         <xul:label class="normal hide-on-select" xbl:inherits="value=description" crop="end" flex="1"/>
         <xul:description class="normal show-on-select" xbl:inherits="xbl:text=description" flex="1"/>
         <xul:hbox class="show-on-select">
           <xul:button class="addon-install hide-on-install hide-on-restart" label="&addonShowPage.label;"
                       oncommand="ExtensionsView.showPage(document.getBindingParent(this));"/>
           <xul:spacer flex="1"/>
-          <xul:button class="addon-install hide-on-install hide-on-restart" label="&addonInstall.label;"
+          <xul:button class="addon-install hide-on-install hide-on-restart" label="&addonInstall2.label;"
                       oncommand="ExtensionsView.installFromRepo(document.getBindingParent(this));"/>
         </xul:hbox>
         <xul:progressmeter class="show-on-install" mode="normal" value="0" xbl:inherits="value=progress"/>
       </xul:vbox>
     </content>
   </binding>
 
   <binding id="extension-message" extends="chrome://global/content/bindings/richlistbox.xml#richlistitem">
@@ -128,9 +134,21 @@
       <xul:hbox>
         <xul:image src="chrome://browser/skin/images/throbber.png" xbl:inherits="hidden=hidethrobber"/>
         <xul:label class="normal" xbl:inherits="value=message"/>
       </xul:hbox>
       <xul:button xbl:inherits="label=button,hidden=hidebutton" oncommand="ExtensionsView.resetSearch();"/>
     </content>
   </binding>
 
+  <binding id="extension-search-recommended">
+    <content>
+      <xul:label class="normal" value="&addonsSearch.recommended;" crop="end"/>
+    </content>
+  </binding>
+
+  <binding id="extension-search-rating">
+    <content>
+      <xul:image class="addon-rating" xbl:inherits="rating"/>
+    </content>
+  </binding>
+
 </bindings>
--- a/mobile/chrome/content/browser.css
+++ b/mobile/chrome/content/browser.css
@@ -91,16 +91,24 @@ checkbox {
 richlistitem[typeName="local"] {
   -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-local");
 }
 
 richlistitem[typeName="search"] {
   -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search");
 }
 
+richlistitem[typeName="search"] hbox.addon-type-or-rating {
+  -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search-recommended");
+}
+
+richlistitem[typeName="search"] hbox.addon-type-or-rating[rating] {
+  -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-search-rating");
+}
+
 richlistitem[typeName="message"] {
   -moz-binding: url("chrome://browser/content/bindings/extensions.xml#extension-message");
 }
 
 richlistitem[typeName="download"] {
   -moz-binding: url("chrome://browser/content/bindings/downloads.xml#download-downloading");
 }
 
--- a/mobile/chrome/content/browser.xul
+++ b/mobile/chrome/content/browser.xul
@@ -324,17 +324,17 @@
           </hbox>
           <notificationbox id="addons-messages" flex="1">
             <richlistbox id="addons-list" flex="1">
               <richlistitem id="addons-local" class="section-header" align="center">
                 <label value="&addonsLocal.label;" flex="1"/>
               </richlistitem>
               <richlistitem id="addons-repo" class="section-header">
                 <label value="&addonsRepo.label;" flex="1"/>
-                <textbox id="addons-search-text" emptytext="&addonsSearch.emptytext;" type="search" searchbutton="false"
+                <textbox id="addons-search-text" emptytext="&addonsSearch2.emptytext;" type="search" searchbutton="false"
                          oncommand="ExtensionsView.getAddonsFromRepo(this.value);"/>
               </richlistitem>
             </richlistbox>
           </notificationbox>
         </vbox>
 
         <vbox id="downloads-container" flex="1">
           <vbox id="downloads-header" class="panel-header">
@@ -343,17 +343,17 @@
               <radiogroup id="downloads-sort-mode" class="toggle-dark" oncommand="DownloadsView.toggleMode();">
                 <radio label="&downloadsSortDate.label;" value="date" selected="true"/>
                 <radio label="&downloadsSortSite.label;" value="site"/>
                 <radio label="&downloadsSortName.label;" value="name"/>
                 <radio label="&downloadsSearch.label;" value="search"/>
               </radiogroup>
             </box>
             <hbox id="downloads-search-box" pack="end" collapsed="true">
-              <textbox id="downloads-search-text" emptytext="&downloadsSearch.emptytext;" type="search" searchbutton="false"
+              <textbox id="downloads-search-text" emptytext="&downloadsSearch2.emptytext;" type="search" searchbutton="false"
                        oncommand="DownloadsView.getDownloads();"/>
             </hbox>
           </vbox>
           <richlistbox id="downloads-list" flex="1"/>
         </vbox>
 
         <vbox id="prefs-container" flex="1">
           <hbox id="prefs-header" class="panel-header">
--- a/mobile/chrome/content/extensions.js
+++ b/mobile/chrome/content/extensions.js
@@ -45,16 +45,17 @@ const PREF_GETADDONS_MAXRESULTS = "exten
 
 const URI_GENERIC_ICON_XPINSTALL = "chrome://mozapps/skin/xpinstall/xpinstallItemGeneric.png";
 
 var ExtensionsView = {
   _extmgr: null,
   _pref: null,
   _rdf: null,
   _ios: null,
+  _strings: {},
   _repo: null,
   _list: null,
   _localItem: null,
   _repoItem: null,
   _msg: null,
   _dloadmgr: null,
   _restartCount: 0,
   _observerIndex: -1,
@@ -92,16 +93,17 @@ var ExtensionsView = {
   },
 
   _createItem: function ev__createItem(aAddon, aTypeName) {
     let item = document.createElement("richlistitem");
     item.setAttribute("id", PREFIX_ITEM_URI + aAddon.id);
     item.setAttribute("addonID", aAddon.id);
     item.setAttribute("typeName", aTypeName);
     item.setAttribute("type", aAddon.type);
+    item.setAttribute("typeLabel", this._strings["addonType." + aAddon.type]);
     item.setAttribute("name", aAddon.name);
     item.setAttribute("version", aAddon.version);
     item.setAttribute("iconURL", aAddon.iconURL);
     return item;
   },
 
   clearSection: function ev_clearSection(aSection) {
     let start = null;
@@ -236,16 +238,21 @@ var ExtensionsView = {
 
     // Show the restart notification in case a restart is needed, but the view
     // was not visible at the time
     let notification = this._msg.getNotificationWithValue("restart-app");
     if (this._restartCount > 0 && !notification) {
       this.showRestart();
       this._restartCount--; // showRestart() always increments
     }
+    
+    let strings = document.getElementById("bundle_browser");
+    this._strings["addonType.2"] = strings.getString("addonType.2");
+    this._strings["addonType.4"] = strings.getString("addonType.4");
+    this._strings["addonType.8"] = strings.getString("addonType.8");
 
     let self = this;
     setTimeout(function() {
       self.getAddonsFromLocal();
       self.getAddonsFromRepo("");
     }, 0);
   },
 
@@ -454,16 +461,18 @@ var ExtensionsView = {
       if (urlproperties.some(function (p) !this._isSafeURI(addon[p]), this))
         continue;
 
       let listitem = this._createItem(addon, "search");
       listitem.setAttribute("description", addon.summary);
       listitem.setAttribute("homepageURL", addon.homepageURL);
       listitem.setAttribute("xpiURL", addon.xpiURL);
       listitem.setAttribute("xpiHash", addon.xpiHash);
+      if (!aIsRecommended)
+        listitem.setAttribute("rating", addon.rating);
       this._list.appendChild(listitem);
     }
 
     if (!aIsRecommended)
       this.displaySectionMessage("repo", null, strings.getString("addonsSearchSuccess.button"), true);
   },
 
   showPage: function ev_showPage(aItem) {
--- a/mobile/locales/en-US/chrome/browser.dtd
+++ b/mobile/locales/en-US/chrome/browser.dtd
@@ -1,25 +1,16 @@
 <!ENTITY back.label            "Back">
-<!ENTITY back.tooltip          "Back">
 <!ENTITY forward.label         "Forward">
-<!ENTITY forward.tooltip       "Forward">
 <!ENTITY reload.label          "Reload">
-<!ENTITY reload.tooltip        "Reload">
 <!ENTITY stop.label            "Stop">
-<!ENTITY stop.tooltip          "Stop">
 <!ENTITY search.label          "Search">
-<!ENTITY search.tooltip        "Search">
 <!ENTITY go.label              "Go">
-<!ENTITY go.tooltip            "Go">
 <!ENTITY openLocation.label    "Open location">
-<!ENTITY openLocation.tooltip  "Open location">
 <!ENTITY star.label            "Star">
-<!ENTITY star.tooltip          "Bookmark this page">
-<!ENTITY bookmarks.tooltip     "View bookmarks">
 
 <!ENTITY newtab.label          "New Tab">
 <!ENTITY closetab.label        "Close Tab">
 
 <!ENTITY cut.label             "Cut">
 <!ENTITY copy.label            "Copy">
 <!ENTITY copylink.label        "Copy Link Location">
 <!ENTITY paste.label           "Paste">
@@ -50,32 +41,33 @@
 <!ENTITY findAgainCmd.commandkey "g">
 <!ENTITY findAgainCmd.commandkey2 "VK_F3">
 
 <!ENTITY addonsHeader.label        "Add-ons">
 <!ENTITY addonsLocal.label         "Your Add-ons">
 <!ENTITY addonsRepo.label          "Get Add-ons">
 <!ENTITY addonsRecommended.label   "Recommended">
 <!ENTITY addonsSearch.label        "Search">
-<!ENTITY addonsSearch.emptytext    "Search all add-ons">
+<!ENTITY addonsSearch2.emptytext   "Search Catalog">
+<!ENTITY addonsSearch.recommended  "Recommended">
 
 <!ENTITY addonOptions.label        "Options">
 <!ENTITY addonEnable.label         "Enable">
 <!ENTITY addonDisable.label        "Disable">
-<!ENTITY addonInstall.label        "Install">
+<!ENTITY addonInstall2.label       "Add to &brandShortName;">
 <!ENTITY addonUninstall.label      "Uninstall">
 <!ENTITY addonCancel.label         "Cancel">
 <!ENTITY addonShowPage.label       "Go to Page">
 
 <!ENTITY downloadsHeader.label     "Downloads">
 <!ENTITY downloadsSortDate.label   "Date">
 <!ENTITY downloadsSortSite.label   "Site">
 <!ENTITY downloadsSortName.label   "Name">
 <!ENTITY downloadsSearch.label     "Search">
-<!ENTITY downloadsSearch.emptytext "Search for downloaded file">
+<!ENTITY downloadsSearch2.emptytext "Search">
 
 <!ENTITY downloadShowPage.label    "Go to Page">
 <!ENTITY downloadShow2.label       "Find">
 <!ENTITY downloadOpen2.label       "Open">
 <!ENTITY downloadCancel.label      "Cancel">
 <!ENTITY downloadPause.label       "Pause">
 <!ENTITY downloadResume.label      "Resume">
 <!ENTITY downloadRetry.label       "Retry">
--- a/mobile/locales/en-US/chrome/browser.properties
+++ b/mobile/locales/en-US/chrome/browser.properties
@@ -8,16 +8,20 @@ addonsRestartButton.label=Restart
 addonsLocalNone.label=No add-ons installed
 addonsSearchStart.label=Searching for add-ons…
 addonsSearchStart.button=Cancel
 addonsSearchNone.label=No matches found
 addonsSearchFail.label=%S couldn't retrieve add-ons
 addonsSearchFail.button=OK
 addonsSearchSuccess.button=Clear search
 
+addonType.2=Extension
+addonType.4=Theme
+addonType.8=Locale
+
 # Download Manager
 # LOCALIZATION NOTE (Status): — is the "em dash" (long dash)
 # #1 download size for FINISHED or download state; #2 host (e.g., eTLD + 1, IP)
 downloadsStatus=#1 — #2
 downloadsUnknownSize=Unknown size
 # LOCALIZATION NOTE (KnownSize): #1 size number; #2 size unit
 downloadsKnownSize=#1 #2
 donwloadsYesterday=Yesterday
--- a/mobile/themes/hildon/browser.css
+++ b/mobile/themes/hildon/browser.css
@@ -369,16 +369,46 @@ toolbarbutton.page-button {
 
 @media (orientation: portrait) {
   #addons-repo {
     -moz-box-orient: vertical;
     -moz-box-pack: center;
   }
 }
 
+.addon-rating[rating] {
+  width: 78px;
+  height: 18px;
+  list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+  -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+  -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+  -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+  -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+  -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+  -moz-image-region: rect(90px 78px 108px 0px);
+}
+
 /* console panel UI   ------------------------------------------------------ */
 @media (orientation: landscape) {
   #console-filter-warnings,
   #console-filter-messages {
     visibility: visible;
   }
 }
 
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b264e6d016816b2f853e86f81b917de626ff4cd3
GIT binary patch
literal 4516
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
CnUeef
--- a/mobile/themes/hildon/jar.mn
+++ b/mobile/themes/hildon/jar.mn
@@ -8,16 +8,17 @@ chrome.jar:
   content/favicon-fennec-30.png         (firstrun/favicon-fennec-30.png)
 
 chrome.jar:
 % skin browser classic/1.0 %
   platform.css                         (platform.css)
   browser.css                          (browser.css)
   notification.css                     (notification.css)
   images/arrowright-16.png             (images/arrowright-16.png)
+  images/ratings-18.png                (images/ratings-18.png)
   images/favicon-default-30.png        (images/favicon-default-30.png)
   images/starred-64.png                (images/starred-64.png)
   images/throbber.png                  (images/throbber.png)
   images/navigation-magnifier-30.png   (images/navigation-magnifier-30.png)
   images/folder-30.png                 (images/folder-30.png)
   images/stop-30.png                   (images/stop-30.png)
   images/reload-30.png                 (images/reload-30.png)
   images/go-30.png                     (images/go-30.png)
--- a/mobile/themes/wince/browser-high.css
+++ b/mobile/themes/wince/browser-high.css
@@ -307,13 +307,45 @@ findbar .findbar-closebutton {
 }
 
 /* Preferences window   ---------------------------------------------------- */
 .prefbox {
   -moz-box-align: center;
   -moz-box-orient: horizontal;
 }
 
+/* Add-ons panel   --------------------------------------------------------- */
+.addon-rating[rating] {
+  width: 78px;
+  height: 18px;
+  list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+  -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+  -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+  -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+  -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+  -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+  -moz-image-region: rect(90px 78px 108px 0px);
+}
+
+/* select popup ------------------------------------------------------------ */
 #select-list > option[selected="true"] > image {
   list-style-image: url("chrome://browser/skin/images/check-30.png");
 }
 
 }
--- a/mobile/themes/wince/browser-low.css
+++ b/mobile/themes/wince/browser-low.css
@@ -307,14 +307,45 @@ findbar .findbar-closebutton {
 }
 
 /* Preferences window   ---------------------------------------------------- */
 .prefbox {
   -moz-box-align: start;
   -moz-box-orient: vertical;
 }
 
+/* Add-ons panel   --------------------------------------------------------- */
+.addon-rating[rating] {
+  width: 78px;
+  height: 18px;
+  list-style-image: url("chrome://browser/skin/images/ratings-18.png");
+}
+
+.addon-rating[rating="0"] {
+  -moz-image-region: rect(0px 78px 18px 0px);
+}
+
+.addon-rating[rating="1"] {
+  -moz-image-region: rect(18px 78px 36px 0px);
+}
+
+.addon-rating[rating="2"] {
+  -moz-image-region: rect(36px 78px 54px 0px);
+}
+
+.addon-rating[rating="3"] {
+  -moz-image-region: rect(54px 78px 72px 0px);
+}
+
+.addon-rating[rating="4"] {
+  -moz-image-region: rect(72px 78px 90px 0px);
+}
+
+.addon-rating[rating="5"] {
+  -moz-image-region: rect(90px 78px 108px 0px);
+}
+
 /* select popup ------------------------------------------------------------ */
 #select-list > option[selected="true"] > image {
   list-style-image: url("chrome://browser/skin/images/check-24.png");
 }
 
 }
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b264e6d016816b2f853e86f81b917de626ff4cd3
GIT binary patch
literal 4516
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
CnUeef
--- a/mobile/themes/wince/jar.mn
+++ b/mobile/themes/wince/jar.mn
@@ -10,16 +10,17 @@ chrome.jar:
 chrome.jar:
 % skin browser classic/1.0 %
   platform.css                         (platform.css)
   browser.css                          (browser.css)
   browser-high.css                     (browser-high.css)
   browser-low.css                      (browser-low.css)
   notification.css                     (notification.css)
   images/arrowright-16.png             (images/arrowright-16.png)
+  images/ratings-18.png                (images/ratings-18.png)
 
   images/favicon-default-30.png        (images/favicon-default-30.png)
   images/starred-64.png                (images/starred-64.png)
   images/throbber.png                  (images/throbber.png)
   images/navigation-magnifier-30.png   (images/navigation-magnifier-30.png)
   images/folder-30.png                 (images/folder-30.png)
   images/stop-30.png                   (images/stop-30.png)
   images/reload-30.png                 (images/reload-30.png)