[Pkg-mozext-commits] [personasplus] 02/06: Imported Upstream version 1.7.3
David Prévot
taffit at alioth.debian.org
Mon Oct 28 15:41:52 UTC 2013
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository personasplus.
commit 33edf8c3e961c9e94485336bc9c5e90845f55825
Author: David Prévot <taffit at debian.org>
Date: Mon Oct 28 11:15:28 2013 -0400
Imported Upstream version 1.7.3
---
content/personas.js | 15 ++-
install.rdf | 2 +-
locale/bg-BG/personas.properties | 5 +-
locale/cs-CZ/personas.properties | 1 +
locale/da/personas.properties | 3 +-
locale/de/personas.properties | 1 +
locale/el/personas.properties | 3 +-
locale/en-US/personas.properties | 1 +
locale/es-AR/personas.properties | 1 +
locale/es-CL/personas.properties | 1 +
locale/es-ES/personas.properties | 1 +
locale/es-MX/personas.properties | 1 +
locale/eu/personas.properties | 1 +
locale/fi/personas.properties | 1 +
locale/fr/personas.properties | 1 +
locale/fy-NL/personas.properties | 1 +
locale/ga-IE/personas.properties | 1 +
locale/gl-ES/personas.properties | 1 +
locale/he-IL/personas.properties | 1 +
locale/hu-HU/personas.properties | 1 +
locale/it/personas.properties | 1 +
locale/ja-JP-mac/personas.properties | 1 +
locale/ja-JP/personas.properties | 1 +
locale/ja/personas.properties | 1 +
locale/ko-KR/personas.properties | 1 +
locale/lt-LT/personas.properties | 1 +
locale/lt/personas.properties | 1 +
locale/mk-MK/personas.properties | 1 +
locale/nl/personas.properties | 1 +
locale/pl-PL/personas.properties | 3 +-
locale/pl/personas.properties | 1 +
locale/pt-BR/personas.properties | 1 +
locale/ro/personas.properties | 1 +
locale/ru-RU/personas.properties | 1 +
locale/si-LK/personas.properties | 1 +
locale/sk-SK/personas.properties | 1 +
locale/sr/personas.properties | 1 +
locale/sv-SE/personas.properties | 1 +
locale/tr/personas.properties | 1 +
locale/uk-UA/personas.properties | 1 +
locale/vi/personas.properties | 1 +
locale/zh-CN/personas.properties | 1 +
locale/zh-TW/personas.properties | 1 +
modules/service.js | 198 +++++++++++++++++++---------------
44 files changed, 166 insertions(+), 100 deletions(-)
diff --git a/content/personas.js b/content/personas.js
index 8d8c529..479e82d 100644
--- a/content/personas.js
+++ b/content/personas.js
@@ -270,7 +270,7 @@ let PersonaController = {
},
// nsIDOMEventListener
- handleEvent: function(aEvent) {
+ handleEvent: PersonaService.wrap(function(aEvent) {
switch (aEvent.type) {
case "SelectPersona":
case "PreviewPersona":
@@ -290,7 +290,7 @@ let PersonaController = {
this.onRemoveFavoritePersonaFromContent(aEvent);
break;
}
- },
+ }),
// Tab Monitor methods (Thunderbird)
onTabTitleChanged : function(aTab) { /* ignored */ },
@@ -981,7 +981,12 @@ let PersonaController = {
let popupmenu = menu.appendChild(document.createElement("menupopup"));
- if (!PersonaService.favorites) {
+ if (PersonaService.favoritesError) {
+ let item = popupmenu.appendChild(document.createElement("menuitem"));
+ item.setAttribute("label", this._strings.get("favoritesError"));
+ item.setAttribute("disabled", "true");
+ }
+ else if (!PersonaService.favorites) {
let item = popupmenu.appendChild(document.createElement("menuitem"));
item.setAttribute("label", this._strings.get("favoritesSignIn"));
item.setAttribute("oncommand", "PersonaController.openURLInTab(this.getAttribute('href'))");
@@ -1153,5 +1158,5 @@ Cu.import("resource://personas/modules/URI.js", PersonaController);
try { Cu.import("resource://gre/modules/LightweightThemeManager.jsm", PersonaController); }
catch (e) {}
-window.addEventListener("load", function(e) { PersonaController.startUp(e) }, false);
-window.addEventListener("unload", function(e) { PersonaController.shutDown(e) }, false);
+window.addEventListener("load", PersonaService.wrap(function(e) { PersonaController.startUp(e) }), false);
+window.addEventListener("unload", PersonaService.wrap(function(e) { PersonaController.shutDown(e) }), false);
diff --git a/install.rdf b/install.rdf
index 3b50bbf..497a3a3 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
<em:id>personas at christopher.beard</em:id>
<em:name>Personas Plus</em:name>
- <em:version>1.7.2.1</em:version>
+ <em:version>1.7.3</em:version>
<em:description>Your Firefox, your style. Easy-to-change themes.</em:description>
<em:creator>Chris Beard</em:creator>
diff --git a/locale/bg-BG/personas.properties b/locale/bg-BG/personas.properties
index 85a30b3..38ff649 100644
--- a/locale/bg-BG/personas.properties
+++ b/locale/bg-BG/personas.properties
@@ -1,9 +1,10 @@
# The labels of various items in the personas menu.
About=Относно
-featured= Featured
+featured=Featured
recent=Скоро избирани
favorites=Любими
favoritesSignIn=Влезте, за да достъпите вашите любими
+favoritesError=При зареждане на вашите любими възникна грешка
viewDetail=Преглед детайли
favoritesGoTo=Към моите любими
# Labels that identify the current persona when the current persona is either
@@ -19,7 +20,7 @@ viewDesigner=Още от %S
# LOCALIZATION NOTE (viewMore): the label of a command that will load the gallery
# page on getpersonas.com for this specific category.
# %1$S = number of additional personas in this category available on the site (e.g. 1,542)
-viewMoreFrom= More from %1$S...
+viewMoreFrom=More from %1$S...
# %2$2 = the name of the category (e.g. Music)
# LOCALIZATION NOTE (notification.personaWasSelected): the text
# of the notification shown when a persona is selected for the first time.
diff --git a/locale/cs-CZ/personas.properties b/locale/cs-CZ/personas.properties
index 4e22243..674ee41 100644
--- a/locale/cs-CZ/personas.properties
+++ b/locale/cs-CZ/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Posledně použité
favorites=Oblíbené
favoritesSignIn=Pro práci s oblíbenými položkami se musíte přihlásit
+favoritesError= An error occurred while loading your favorites
viewDetail=Zobrazit podrobnosti
favoritesGoTo=Přejít do oblíbených...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/da/personas.properties b/locale/da/personas.properties
index 63cf430..cf486e0 100644
--- a/locale/da/personas.properties
+++ b/locale/da/personas.properties
@@ -4,6 +4,7 @@ featured=Anbefalede
recent=Mine senest valgte
favorites=Mine favoritter
favoritesSignIn=Log ind for at få adgang til dine favoritter
+favoritesError=Der opstod en fejl under indlæsning af dine favoritter
viewDetail=Vis detaljer…
favoritesGoTo=Gå til mine favoritter…
# Labels that identify the current persona when the current persona is either
@@ -15,7 +16,7 @@ customPersona=Tilpas Persona
# LOCALIZATION NOTE (viewDesigner): a label that indicates the name of the designer
# of the current persona as part of a link to more personas
# $@ = the name of the designer of the current persona
-viewDesigner=Flere fra %S…
+viewDesigner=Flere af %S…
# LOCALIZATION NOTE (viewMore): the label of a command that will load the gallery
# page on getpersonas.com for this specific category.
# %1$S = number of additional personas in this category available on the site (e.g. 1,542)
diff --git a/locale/de/personas.properties b/locale/de/personas.properties
index 5749b7e..f788d34 100644
--- a/locale/de/personas.properties
+++ b/locale/de/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Kürzlich ausgewählt
favorites=Meine Favoriten
favoritesSignIn=Melden Sie sich an, um auf Ihre Favoriten zuzugreifen
+favoritesError= An error occurred while loading your favorites
viewDetail=Details ansehen...
favoritesGoTo=Meinen Favoriten aufrufen...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/el/personas.properties b/locale/el/personas.properties
index 032143d..2f2c6c6 100644
--- a/locale/el/personas.properties
+++ b/locale/el/personas.properties
@@ -4,6 +4,7 @@ featured=Προβεβλημένα
recent=Επιλεγμένα πρόσφατα
favorites=Αγαπημένα
favoritesSignIn=Συνδεθείτε για να έχετε πρόσβαση στα αγαπημένα σας
+favoritesError=Παρουσιάστηκε σφάλμα κατά τη φόρτωση των αγαπημένων σας
viewDetail=Εμφάνιση λεπτομερειών...
favoritesGoTo=Μετάβαση στα αγαπημένα μου...
# Labels that identify the current persona when the current persona is either
@@ -19,7 +20,7 @@ viewDesigner=Περισσότερα από %S...
# LOCALIZATION NOTE (viewMore): the label of a command that will load the gallery
# page on getpersonas.com for this specific category.
# %1$S = number of additional personas in this category available on the site (e.g. 1,542)
-viewMoreFrom= More from %1$S...
+viewMoreFrom=More from %1$S...
# %2$2 = the name of the category (e.g. Music)
# LOCALIZATION NOTE (notification.personaWasSelected): the text
# of the notification shown when a persona is selected for the first time.
diff --git a/locale/en-US/personas.properties b/locale/en-US/personas.properties
index be39106..0346770 100644
--- a/locale/en-US/personas.properties
+++ b/locale/en-US/personas.properties
@@ -4,6 +4,7 @@ featured = Featured
recent = My Recently Selected
favorites = My Favorites
favoritesSignIn = Sign In to Access Your Favorites
+favoritesError = An error occurred while loading your favorites
viewDetail = View Details...
favoritesGoTo = Go to My Favorites...
diff --git a/locale/es-AR/personas.properties b/locale/es-AR/personas.properties
index 8a50480..f3de633 100644
--- a/locale/es-AR/personas.properties
+++ b/locale/es-AR/personas.properties
@@ -4,6 +4,7 @@ featured=Destacadas
recent=Mi selección reciente
favorites=Mis favoritas
favoritesSignIn=Ingresá para acceder a tus favoritas
+favoritesError=Ocurrió un error al cargar tus favoritas
viewDetail=Ver detalles…
favoritesGoTo=Ir a mis favoritas…
# Labels that identify the current persona when the current persona is either
diff --git a/locale/es-CL/personas.properties b/locale/es-CL/personas.properties
index 83545a3..8010649 100644
--- a/locale/es-CL/personas.properties
+++ b/locale/es-CL/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Recientemente seleccionado
favorites=Favoritos
favoritesSignIn=Inicie sesión para acceder a sus favoritos
+favoritesError= An error occurred while loading your favorites
viewDetail=Ver detalles...
favoritesGoTo=Ir a Favoritos...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/es-ES/personas.properties b/locale/es-ES/personas.properties
index 309af26..cbf655e 100644
--- a/locale/es-ES/personas.properties
+++ b/locale/es-ES/personas.properties
@@ -4,6 +4,7 @@ featured=Destacados
recent=Seleccionados recientemente
favorites=Mis Favoritos
favoritesSignIn=Iniciar sesión para acceder a tus favoritos
+favoritesError=Se ha producido un error mientras se cargaban sus favoritos
viewDetail=Ver detalles...
favoritesGoTo=Ir a mis favoritos...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/es-MX/personas.properties b/locale/es-MX/personas.properties
index e37b3d8..3acb36e 100644
--- a/locale/es-MX/personas.properties
+++ b/locale/es-MX/personas.properties
@@ -4,6 +4,7 @@ featured=Destacado
recent=Mi selección reciente
favorites=Mis Favoritos
favoritesSignIn=Inicia sesión para acceder a tus favoritos
+favoritesError=Ocurrió un error al cargar tus favoritos
viewDetail=Ver detalles...
favoritesGoTo=Ir a mis favoritos
# Labels that identify the current persona when the current persona is either
diff --git a/locale/eu/personas.properties b/locale/eu/personas.properties
index e1e142e..a56062b 100644
--- a/locale/eu/personas.properties
+++ b/locale/eu/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Azkenez hautatuak
favorites=Gogokoenak
favoritesSignIn=Saioa hasi zure gogokoenak atzitzeko
+favoritesError= An error occurred while loading your favorites
viewDetail=Ikusi xehtasunak...
favoritesGoTo=Joan nire gogokoetara...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/fi/personas.properties b/locale/fi/personas.properties
index ddeb4f1..03da007 100644
--- a/locale/fi/personas.properties
+++ b/locale/fi/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Viimeksi valitut
favorites=Suosikit
favoritesSignIn=Kirjaudu sisään nähdäksesi suosikkisi
+favoritesError= An error occurred while loading your favorites
viewDetail=Katso lisätietoja...
favoritesGoTo=Siirry suosikkeihin...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/fr/personas.properties b/locale/fr/personas.properties
index 9ab5f30..41d837d 100644
--- a/locale/fr/personas.properties
+++ b/locale/fr/personas.properties
@@ -4,6 +4,7 @@ featured=Thèmes vedettes
recent=Choisis récemment
favorites=Favoris
favoritesSignIn=Identifiez-vous pour accéder à vos favoris
+favoritesError=Une erreur s'est produite pendant le chargement de vos favoris
viewDetail=Détails…
favoritesGoTo=Accéder à mes favoris…
# Labels that identify the current persona when the current persona is either
diff --git a/locale/fy-NL/personas.properties b/locale/fy-NL/personas.properties
index dc3c183..635bcb7 100644
--- a/locale/fy-NL/personas.properties
+++ b/locale/fy-NL/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Resint selektearre
favorites=Favoriten
favoritesSignIn=Loch yn om jo favoriten te besjen
+favoritesError= An error occurred while loading your favorites
viewDetail=Toan details...
favoritesGoTo=Gean nei myn favoriten...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ga-IE/personas.properties b/locale/ga-IE/personas.properties
index 0a28841..6677c7c 100644
--- a/locale/ga-IE/personas.properties
+++ b/locale/ga-IE/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Roghnaithe agam le déanaí
favorites=Ceanáin
favoritesSignIn=Logáil Isteach chun do chuid Ceanán a fheiceáil
+favoritesError= An error occurred while loading your favorites
viewDetail=Féach ar na mionsonraí...
favoritesGoTo=Féach ar mo chuid Ceanán...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/gl-ES/personas.properties b/locale/gl-ES/personas.properties
index 01b5883..474f14f 100644
--- a/locale/gl-ES/personas.properties
+++ b/locale/gl-ES/personas.properties
@@ -4,6 +4,7 @@ featured=Destacado
recent=Seleccionados recentemente
favorites=Favoritos
favoritesSignIn=Acceda aos seus favoritos
+favoritesError=Produciuse un erro mentres se cargaban os favoritos.
viewDetail=Ver detalles...
favoritesGoTo=Ir aos favoritos...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/he-IL/personas.properties b/locale/he-IL/personas.properties
index 7bf5df4..1acd641 100644
--- a/locale/he-IL/personas.properties
+++ b/locale/he-IL/personas.properties
@@ -4,6 +4,7 @@ featured=נבחרים
recent=נבחר לאחרונה
favorites=המועדפים שלי
favoritesSignIn=התחברות כדי לגשת אל המועדפים שלך
+favoritesError= An error occurred while loading your favorites
viewDetail=הצגת הפרטים...
favoritesGoTo=לך אל המועדפים שלי...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/hu-HU/personas.properties b/locale/hu-HU/personas.properties
index 151d4e2..b0a7308 100644
--- a/locale/hu-HU/personas.properties
+++ b/locale/hu-HU/personas.properties
@@ -4,6 +4,7 @@ featured=Kiemelt
recent=Legutóbb kiválasztott
favorites=Kedvencek
favoritesSignIn=A Kedvencek eléréséhez be kell jelentkezni
+favoritesError=Hiba történt a kedvencek betöltése közben
viewDetail=Részletek...
favoritesGoTo=Kedvencek...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/it/personas.properties b/locale/it/personas.properties
index 8d94063..bc444b6 100644
--- a/locale/it/personas.properties
+++ b/locale/it/personas.properties
@@ -4,6 +4,7 @@ featured=Consigliati
recent=Selezionati recentemente
favorites=Preferiti
favoritesSignIn=Accedi per visualizzare i tuoi Preferiti
+favoritesError= An error occurred while loading your favorites
viewDetail=Visualizza dettagli...
favoritesGoTo=Visualizza i miei Preferiti
# the default persona, a persona that doesn't have a name, or a custom persona
diff --git a/locale/ja-JP-mac/personas.properties b/locale/ja-JP-mac/personas.properties
index 400c517..5d32c50 100644
--- a/locale/ja-JP-mac/personas.properties
+++ b/locale/ja-JP-mac/personas.properties
@@ -4,6 +4,7 @@ featured=注目
recent=最近の選択
favorites=お気に入り
favoritesSignIn=サインインしてお気に入りにアクセス
+favoritesError=お気に入りの読み込み中にエラーが発生しました
viewDetail=詳細を表示...
favoritesGoTo=お気に入りを開く...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ja-JP/personas.properties b/locale/ja-JP/personas.properties
index 172cd5a..bacd039 100644
--- a/locale/ja-JP/personas.properties
+++ b/locale/ja-JP/personas.properties
@@ -4,6 +4,7 @@ featured=注目
recent=最近の選択
favorites=お気に入り
favoritesSignIn=サインインしてお気に入りにアクセス
+favoritesError=お気に入りを読み込み中にエラーが発生しました
viewDetail=詳細を表示...
favoritesGoTo=お気に入りに行く...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ja/personas.properties b/locale/ja/personas.properties
index fa374cf..d0d87be 100644
--- a/locale/ja/personas.properties
+++ b/locale/ja/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=最近の選択
favorites=お気に入り
favoritesSignIn=サインインしてお気に入りにアクセス
+favoritesError= An error occurred while loading your favorites
viewDetail=詳細を表示...
favoritesGoTo=お気に入りに行く...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ko-KR/personas.properties b/locale/ko-KR/personas.properties
index 48ebce5..6b5980d 100644
--- a/locale/ko-KR/personas.properties
+++ b/locale/ko-KR/personas.properties
@@ -4,6 +4,7 @@ featured=인기
recent=최근 선택
favorites=선호하는 스킨
favoritesSignIn=당신이 선호하는 스킨 접속을 위해 로그인
+favoritesError= An error occurred while loading your favorites
viewDetail=상세 보기
favoritesGoTo=나의 즐겨찾기로 가기...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/lt-LT/personas.properties b/locale/lt-LT/personas.properties
index 1c4be2c..ccac62c 100644
--- a/locale/lt-LT/personas.properties
+++ b/locale/lt-LT/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Neseniai naudotos
favorites=Mėgstamiausios
favoritesSignIn=Prisijungti, mėgstamiausių pasiekimui
+favoritesError= An error occurred while loading your favorites
viewDetail=Išsamiau...
favoritesGoTo=Eiti į mėgstamiausius...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/lt/personas.properties b/locale/lt/personas.properties
index eccba4e..ab16499 100644
--- a/locale/lt/personas.properties
+++ b/locale/lt/personas.properties
@@ -4,6 +4,7 @@ featured=Siūlomos
recent=Neseniai naudotos
favorites=Mėgstamiausios
favoritesSignIn=Prisijunkite ir galėsite pasiekti mėgstamiausias
+favoritesError= An error occurred while loading your favorites
viewDetail=Išsamiau...
favoritesGoTo=Eiti į mėgstamiausius...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/mk-MK/personas.properties b/locale/mk-MK/personas.properties
index c9402bc..b561444 100644
--- a/locale/mk-MK/personas.properties
+++ b/locale/mk-MK/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Мои скоро одбрани
favorites=Мои омилени
favoritesSignIn=Највете се за да пристапите до Вашите омилени
+favoritesError= An error occurred while loading your favorites
viewDetail=Деталји...
favoritesGoTo=Отвори ги моите омилени
# Labels that identify the current persona when the current persona is either
diff --git a/locale/nl/personas.properties b/locale/nl/personas.properties
index f357665..2789f76 100644
--- a/locale/nl/personas.properties
+++ b/locale/nl/personas.properties
@@ -4,6 +4,7 @@ featured= Aanbevolen
recent= Onlangs geselecteerd
favorites= Mijn favorieten
favoritesSignIn= Meld u aan om naar uw favorieten te gaan
+favoritesError= An error occurred while loading your favorites
viewDetail= Details bekijken…
favoritesGoTo= Naar mijn favorieten…
# Labels that identify the current persona when the current persona is either
diff --git a/locale/pl-PL/personas.properties b/locale/pl-PL/personas.properties
index 9f72998..8e5986c 100644
--- a/locale/pl-PL/personas.properties
+++ b/locale/pl-PL/personas.properties
@@ -4,6 +4,7 @@ featured=Polecane
recent=Ostatnio używane
favorites=Ulubione
favoritesSignIn=Zaloguj się, aby uzyskać dostęp do ulubionych motywów
+favoritesError=Podczas wczytywania ulubionych motywów wystąpił błąd
viewDetail=Wyświetl szczegóły…
favoritesGoTo=Przejdź do ulubionych…
# Labels that identify the current persona when the current persona is either
@@ -19,7 +20,7 @@ viewDesigner=Więcej autorstwa %S…
# %2$S = the name of the persona
# f.e. "Random Selection from Scenery > Yosemite"
# LOCALIZATION NOTE (useRandomPersona): the label of a command that selects
-viewMoreFrom= More from %1$S...
+viewMoreFrom=More from %1$S...
# a category from which to pick random personas.
# %S = the category from which to pick random personas
# f.e. "Random Selection from Scenery"
diff --git a/locale/pl/personas.properties b/locale/pl/personas.properties
index 72df175..b744e46 100644
--- a/locale/pl/personas.properties
+++ b/locale/pl/personas.properties
@@ -4,6 +4,7 @@ featured=Polecane
recent=Ostatnio używane
favorites=Ulubione
favoritesSignIn=Zaloguj się, aby uzyskać dostęp do ulubionych motywów
+favoritesError=Podczas wczytywania ulubionych minimotywów wystąpił błąd
viewDetail=Wyświetl szczegóły…
favoritesGoTo=Przejdź do ulubionych…
# Labels that identify the current persona when the current persona is either
diff --git a/locale/pt-BR/personas.properties b/locale/pt-BR/personas.properties
index b246d97..e37bf20 100644
--- a/locale/pt-BR/personas.properties
+++ b/locale/pt-BR/personas.properties
@@ -4,6 +4,7 @@ featured=Em destaque
recent=Selecionadas recentemente
favorites=Favoritos
favoritesSignIn=Conecte-se para acessar seus favoritos
+favoritesError= An error occurred while loading your favorites
viewDetail=Ver detalhes…
favoritesGoTo=Ir para Favoritas…
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ro/personas.properties b/locale/ro/personas.properties
index 313dfec..44e49d1 100644
--- a/locale/ro/personas.properties
+++ b/locale/ro/personas.properties
@@ -4,6 +4,7 @@ featured=Recomandat
recent=Recent selectate
favorites=Favorite
favoritesSignIn=Abonare pentru accesul la favorite…
+favoritesError= An error occurred while loading your favorites
viewDetail=Vezi detalii…
favoritesGoTo=Afișează favoritele
# Labels that identify the current persona when the current persona is either
diff --git a/locale/ru-RU/personas.properties b/locale/ru-RU/personas.properties
index 63def6c..7be6c58 100644
--- a/locale/ru-RU/personas.properties
+++ b/locale/ru-RU/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Недавно выбранные
favorites=Избранное
favoritesSignIn=Войдите для просмотра Избранного
+favoritesError= An error occurred while loading your favorites
viewDetail=Данные...
favoritesGoTo=Перейти к Избранному...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/si-LK/personas.properties b/locale/si-LK/personas.properties
index 4f5742f..e287ef7 100644
--- a/locale/si-LK/personas.properties
+++ b/locale/si-LK/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=මැතකදී තොරාගත්
favorites=මම වඩාත් කැමති
favoritesSignIn=ඔබ කැමති පුද්ගල සැකසුම තොරා ගැනීමට ඔබගේ ගිණුමට පිවිසෙන්න
+favoritesError= An error occurred while loading your favorites
viewDetail=තොරතුරු පෙන්වන්න
favoritesGoTo=මා කැමති පුද්ගල සැකසුම් පෙන්වන්න
# Labels that identify the current persona when the current persona is either
diff --git a/locale/sk-SK/personas.properties b/locale/sk-SK/personas.properties
index 28a86dd..a2d9f74 100644
--- a/locale/sk-SK/personas.properties
+++ b/locale/sk-SK/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Najčastejšie vybrané
favorites=Moje obľúbené
favoritesSignIn=Na zobrazenie obľúbených sa musíte prihlásiť
+favoritesError= An error occurred while loading your favorites
viewDetail=Zobraziť podrobnosti...
favoritesGoTo=Prejsť na Moje obľúbené...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/sr/personas.properties b/locale/sr/personas.properties
index 051b699..4405183 100644
--- a/locale/sr/personas.properties
+++ b/locale/sr/personas.properties
@@ -4,6 +4,7 @@ featured=Истакнута
recent=Моја недавно изабрана
favorites=Моја омиљена
favoritesSignIn=Пријавите се да бисте приступили својим омиљеним оделима
+favoritesError=Дошло је до грешке приликом учитавања омиљених одела
viewDetail=Прикажи детаље...
favoritesGoTo=Иди до мојих омиљених одела...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/sv-SE/personas.properties b/locale/sv-SE/personas.properties
index 78795b5..6bf7dbd 100644
--- a/locale/sv-SE/personas.properties
+++ b/locale/sv-SE/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Nyligen valda
favorites=Favoriter
favoritesSignIn=Logga in för att se dina favoriter
+favoritesError= An error occurred while loading your favorites
viewDetail=Se Detaljer
favoritesGoTo=Visa Mina Favoriter
# Labels that identify the current persona when the current persona is either
diff --git a/locale/tr/personas.properties b/locale/tr/personas.properties
index 10b3dfb..784215c 100644
--- a/locale/tr/personas.properties
+++ b/locale/tr/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Son Seçilen
favorites= Favorites
favoritesSignIn= Sign In to Access Your Favorites
+favoritesError= An error occurred while loading your favorites
viewDetail= View Details...
favoritesGoTo= Go to My Favorites...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/uk-UA/personas.properties b/locale/uk-UA/personas.properties
index 1214ef4..fd62b34 100644
--- a/locale/uk-UA/personas.properties
+++ b/locale/uk-UA/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent= Нещодавно вибрані мною
favorites= Мої улюблені
favoritesSignIn= Увійти для доступу в свої улюблені
+favoritesError= An error occurred while loading your favorites
viewDetail= Переглянути типові...
favoritesGoTo= Перейти до моїх улюблених...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/vi/personas.properties b/locale/vi/personas.properties
index 1943134..adc0314 100644
--- a/locale/vi/personas.properties
+++ b/locale/vi/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=Được chọn Gần đây
favorites=Ưa thích
favoritesSignIn=Đăng nhập để Truy cập Giao diện Ưa thích của Bạn
+favoritesError= An error occurred while loading your favorites
viewDetail=Xem chi tiết...
favoritesGoTo=Vào Danh mục Ưa thích của Tôi...
# Labels that identify the current persona when the current persona is either
diff --git a/locale/zh-CN/personas.properties b/locale/zh-CN/personas.properties
index 2070403..2fe55e2 100644
--- a/locale/zh-CN/personas.properties
+++ b/locale/zh-CN/personas.properties
@@ -4,6 +4,7 @@ featured=精选
recent=最近选择
favorites=收藏
favoritesSignIn=登录访问你的收藏
+favoritesError= An error occurred while loading your favorites
viewDetail=查看详情...
favoritesGoTo=转到我的收藏
# Labels that identify the current persona when the current persona is either
diff --git a/locale/zh-TW/personas.properties b/locale/zh-TW/personas.properties
index e97237f..53c329b 100644
--- a/locale/zh-TW/personas.properties
+++ b/locale/zh-TW/personas.properties
@@ -4,6 +4,7 @@ featured= Featured
recent=最近使用
favorites=我的最愛
favoritesSignIn=登入我的最愛
+favoritesError= An error occurred while loading your favorites
viewDetail=檢視細節...
favoritesGoTo=到我的最愛...
# Labels that identify the current persona when the current persona is either
diff --git a/modules/service.js b/modules/service.js
index d2f62e9..0909209 100644
--- a/modules/service.js
+++ b/modules/service.js
@@ -44,6 +44,8 @@ const Cr = Components.results;
const Cu = Components.utils;
// modules that come with Firefox
+Cu.import("resource://gre/modules/ctypes.jsm")
+Cu.import("resource://gre/modules/osfile.jsm")
Cu.import("resource://gre/modules/AddonManager.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
@@ -256,15 +258,13 @@ let PersonaService = {
//**************************************************************************//
// Data Retrieval
- _makeRequest: function(url, loadCallback, headers, aIsBinary, wantErrors) {
+ _makeRequest: function(url, loadCallback, headers, aIsBinary, wantErrors, options) {
let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
- request = request.QueryInterface(Ci.nsIDOMEventTarget);
request.addEventListener("load", this.wrap(loadCallback), false);
if (wantErrors)
request.addEventListener("error", this.wrap(loadCallback), false);
- request = request.QueryInterface(Ci.nsIXMLHttpRequest);
request.open("GET", url, true);
// Force the request to include cookies even though this chrome code
@@ -284,6 +284,12 @@ let PersonaService = {
if (aIsBinary)
request.overrideMimeType('text/plain; charset=x-user-defined');
+ else if (/^file:/.test(url) && !/\.xml$/.test(url))
+ request.overrideMimeType('text/plain');
+
+ if (options)
+ for (let option in options)
+ request[option] = options[option];
request.send(null);
},
@@ -374,25 +380,32 @@ let PersonaService = {
/**
* Attempts to load this.personas from the cached file in cache/personas.json
*/
- loadDataFromCache : function() {
- let cacheDirectory =
+ loadDataFromCache: function() {
+ let path =
FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
- let data = FileUtils.readFile(cacheDirectory, "personas.json");
+ path.append("personas.json");
- try { this.personas = JSON.parse(data); }
- catch (e) {
- // Could not load from cached data, file empty or does not exist perhaps
- return;
- }
+ this._makeRequest(Services.io.newFileURI(path).spec, onload.bind(this),
+ null, false, true);
- // Now that we have data, pick a new random persona. Currently, this is
- // the only time we pick a random persona besides when the user selects
- // the "Random From [category]" menuitem, which means the user gets a new
- // random persona each time they start the browser.
- if (this.selected == "random") {
- this.currentPersona = this._getRandomPersonaFromCategory(this.category);
- this._prefs.reset("persona.lastRefreshed");
- this._notifyPersonaChanged(this.currentPersona);
+ function onload(event) {
+ try {
+ this.personas = JSON.parse(event.target.responseText);
+ }
+ catch (e) {
+ // Could not load from cached data, file empty or does not exist perhaps
+ return;
+ }
+
+ // Now that we have data, pick a new random persona. Currently, this is
+ // the only time we pick a random persona besides when the user selects
+ // the "Random From [category]" menuitem, which means the user gets a new
+ // random persona each time they start the browser.
+ if (this.selected == "random") {
+ this.currentPersona = this._getRandomPersonaFromCategory(this.category);
+ this._prefs.reset("persona.lastRefreshed");
+ this._notifyPersonaChanged(this.currentPersona);
+ }
}
},
@@ -400,53 +413,55 @@ let PersonaService = {
* Makes a request to obtain the favorite personas json. This occurs only if
* a user is currenly signed in.
*/
- refreshFavorites : function() {
- let url = this.getURL("favorites-feed");
- this._makeRequest(url, this.onFavoritesLoadComplete.bind(this),
+ refreshFavorites: function(aURL) {
+ let url = aURL || this.getURL("favorites-feed");
+ this._makeRequest(url, this.onFavoritesLoadComplete.bind(this, aURL),
null, null, true);
},
/**
* Handles the response from the refreshFavorites method. Loads the favorite
* personas list.
+ * @param aURL The URL passed to refreshFavorites
* @param aEvent The Http request event object.
*/
- onFavoritesLoadComplete : function(aEvent) {
+ onFavoritesLoadComplete: function(aURL, aEvent) {
let request = aEvent.target;
+ this.favoritesError = false;
if (request.status != 200 || request.getResponseHeader("Content-Type") != "application/json") {
this._log.info("problem loading favorites from " + request.channel.name + ": " + request.status + " - " + request.statusText);
+ if (request.status != 200)
+ this.favoritesError = true;
this.favorites = null;
return;
}
try {
- this.favorites = JSON.parse(request.responseText)
- .addons.filter(function (a) a.theme);
+ var json = JSON.parse(request.responseText)
+ .addons.filter(function (a) a.theme);
}
catch(ex) {
this._log.debug("error parsing favorites data: " + request.responseText.slice(0, 100) + "...");
return;
}
- // Cache the response
- let cacheDirectory =
- FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
- FileUtils.writeFile(cacheDirectory, "favorites.json", request.responseText);
+ this[aURL ? "_favorites" : "favorites"] = json;
},
/**
* Attempts to load this.favorites from the cached file in
* cache/favorites.json
*/
- loadFavoritesFromCache : function() {
- let cacheDirectory =
- FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
- let data = FileUtils.readFile(cacheDirectory, "favorites.json");
+ loadFavoritesFromCache: function() {
+ let path = FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
+ path.append("favorites.json");
- try { this.favorites = JSON.parse(data); }
+ try {
+ this.refreshFavorites(Services.io.newFileURI(path).spec);
+ }
catch (e) {
- // Could not load from cached data, file empty or does not exist perhaps
+ Cu.reportError(e);
}
},
@@ -455,7 +470,7 @@ let PersonaService = {
* in the list then it is replaced.
* @param aPersona The persona object to be added.
*/
- addFavoritePersona : function(aPersona) {
+ addFavoritePersona: function(aPersona) {
// Make sure the favorites list exists.
if (!this.favorites)
this.favorites = [];
@@ -471,7 +486,7 @@ let PersonaService = {
* Removes the given persona from the favorites list, if found.
* @param aPersona The persona object to be removed.
*/
- removeFavoritePersona : function(aPersona) {
+ removeFavoritePersona: function(aPersona) {
// Abort if the favorites list hasn't been created.
if (!this.favorites)
return;
@@ -567,7 +582,24 @@ let PersonaService = {
personas: null,
// The JSON feed of favorite personas retrieved from the server.
- favorites: null,
+ _favorites: null,
+
+ get favorites() this._favorites,
+ set favorites(val) {
+ this._favorites = val;
+
+ let path =
+ FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
+
+ // Cache the response
+ if (val && typeof val == "object")
+ // This FileUtils nonsense has to go...
+ FileUtils.writeFile(path, "favorites.json", JSON.stringify(val));
+ else {
+ path.append("favorites.json");
+ OS.File.remove(path.spec);
+ }
+ },
/**
* extensions.personas.selected: the type of persona that the user selected;
@@ -648,7 +680,7 @@ let PersonaService = {
* @param aPersona the persona to be set as current if the lightweight theme
* manager is available
*/
- _notifyPersonaChanged : function(aPersona) {
+ _notifyPersonaChanged: function(aPersona) {
this._log.debug("_notifyPersonaChanged:\n" + Log4Moz.getStackTrace());
if (LightweightThemeManager) {
if (aPersona && aPersona.custom && LightweightThemeManager.setLocalTheme)
@@ -674,7 +706,7 @@ let PersonaService = {
this._notifyPersonaChanged(this.currentPersona);
},
- changeToRandomFavoritePersona : function() {
+ changeToRandomFavoritePersona: function() {
if (this.favorites && this.favorites.length > 0) {
this.currentPersona = this._getRandomPersonaFromArray(this.favorites);
this.selected = "randomFavorite";
@@ -735,7 +767,7 @@ let PersonaService = {
* Reverts the current persona to the previously selected persona, if
* available
*/
- revertToPreviousPersona : function() {
+ revertToPreviousPersona: function() {
let undonePersonaId = this.currentPersona.id;
let previousPersona = this._prefs.get("lastselected1");
if (previousPersona) {
@@ -762,7 +794,7 @@ let PersonaService = {
* Shows a notification displaying the currently selected persona and button
* to revert the changes.
*/
- _showPersonaChangeNotification : function() {
+ _showPersonaChangeNotification: function() {
// Obtain most recent window and its notification box
let wm =
Cc["@mozilla.org/appshell/window-mediator;1"].
@@ -812,7 +844,7 @@ let PersonaService = {
* @param aPersonaArray The array in which to look for the persona.
* @return The index of the persona in the array; -1 if not found.
*/
- _findPersonaInArray : function(aPersona, aPersonaArray) {
+ _findPersonaInArray: function(aPersona, aPersonaArray) {
for (let i = 0; i < aPersonaArray.length; i++) {
if (aPersonaArray[i].id == aPersona.id)
return i;
@@ -820,7 +852,7 @@ let PersonaService = {
return -1;
},
- _getRandomPersonaFromArray : function(aPersonaArray) {
+ _getRandomPersonaFromArray: function(aPersonaArray) {
// Get a random item from the list, trying up to five times to get one
// that is different from the currently-selected item in the category
// (if any). We use Math.floor instead of Math.round to pick a random
@@ -862,7 +894,7 @@ let PersonaService = {
* @param aHowMany (Optional, default 4) How many personas to obtain.
* @return The list of recent personas.
*/
- getRecentPersonas : function(aHowMany) {
+ getRecentPersonas: function(aHowMany) {
if (!aHowMany)
aHowMany = 4;
@@ -1034,7 +1066,7 @@ let PersonaService = {
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=631803
let t = this;
this._ltmSyncTimer.initWithCallback(
- { notify : function() { t.changeToDefaultPersona(); } },
+ { notify: function() { t.changeToDefaultPersona(); } },
100,
Ci.nsITimer.TYPE_ONE_SHOT);
}
@@ -1123,7 +1155,7 @@ let PersonaService = {
* in "random" mode) or a random persona from he favorite list (while in
* "randomFavorite" mode).
*/
- _rotatePersona : function() {
+ _rotatePersona: function() {
switch (this.selected) {
case "random":
this.changeToRandomPersona(this.category);
@@ -1143,7 +1175,7 @@ let PersonaService = {
* existing persona directories before doing so.
* @param aPersona The persona for which to cache the images.
*/
- _cachePersonaImages : function(aPersona) {
+ _cachePersonaImages: function(aPersona) {
let cacheDirectory =
FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
@@ -1174,11 +1206,12 @@ let PersonaService = {
if (request.status == 200 && personaDir.exists()) {
FileUtils.writeBinaryFile(
personaDir.clone(),
- "header" + "." + headerURI.fileExtension,
- request.responseText);
+ "header." + headerURI.fileExtension,
+ Uint8Array(request.response));
}
};
- this._makeRequest(headerURI.spec, headerCallback, null, true);
+ this._makeRequest(headerURI.spec, headerCallback, null, true, true,
+ { responseType: "arraybuffer" });
}
catch (e) {}
}
@@ -1197,11 +1230,12 @@ let PersonaService = {
if (request.status == 200 && personaDir.exists()) {
FileUtils.writeBinaryFile(
personaDir.clone(),
- "footer" + "." + footerURI.fileExtension,
- request.responseText);
+ "footer." + footerURI.fileExtension,
+ Uint8Array(request.response));
}
};
- this._makeRequest(footerURI.spec, footerCallback, null, true);
+ this._makeRequest(footerURI.spec, footerCallback, null, true, true,
+ { responseType: "arraybuffer" });
}
catch (e) {}
}
@@ -1215,7 +1249,7 @@ let PersonaService = {
* @return An object with "header" and "footer" properties, each containing
* the file URL of the image. Null otherwise.
*/
- getCachedPersonaImages : function(aPersona) {
+ getCachedPersonaImages: function(aPersona) {
let cacheDirectory =
FileUtils.getDirectory(FileUtils.getPersonasDirectory(), "cache");
@@ -1244,8 +1278,8 @@ let PersonaService = {
let footerURI = ios.newFileURI(footerFile);
return {
- header : headerURI.spec,
- footer : footerURI.spec
+ header: headerURI.spec,
+ footer: footerURI.spec
};
}
}
@@ -1257,7 +1291,7 @@ let PersonaService = {
* cookie, then the favorites are refreshed (if the user is signed in).
* @param aCookie The cookie that has been added, changed or removed.
*/
- onCookieChanged : function(aCookie, aChange) {
+ onCookieChanged: function(aCookie, aChange) {
if (aCookie instanceof Ci.nsICookie) {
if (aCookie.name == "sessionid" && (aCookie.host == this.addonsHost ||
aCookie.host == "." + this.addonsHost)) {
@@ -1279,7 +1313,7 @@ let PersonaService = {
* and logouts.
* @param aRequest The HTTP request
*/
- onHTTPResponse : function(aRequest) {
+ onHTTPResponse: function(aRequest) {
aRequest.QueryInterface(Ci.nsIHttpChannel);
let uri = aRequest.URI.QueryInterface(Ci.nsIURL);
@@ -1361,7 +1395,7 @@ let FileUtils = {
* Gets the [profile]/personas directory.
* @return The reference to the personas directory (nsIFile).
*/
- getPersonasDirectory : function() {
+ getPersonasDirectory: function() {
let directoryService =
Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
let dir = directoryService.get("ProfD", Ci.nsIFile);
@@ -1378,7 +1412,7 @@ let FileUtils = {
* does not exist.
* @return The reference to the directory (nsIFile).
*/
- getDirectory : function(aParentDirectory, aDirectoryName, aDontCreate) {
+ getDirectory: function(aParentDirectory, aDirectoryName, aDontCreate) {
let dir = aParentDirectory.clone();
try {
dir.append(aDirectoryName);
@@ -1401,7 +1435,7 @@ let FileUtils = {
* @param aDirectory The directory from which to obtain the entries.
* @return The array of entries.
*/
- getDirectoryEntries : function(aDirectory) {
+ getDirectoryEntries: function(aDirectory) {
let entries = [];
try {
let enu = aDirectory.directoryEntries;
@@ -1422,7 +1456,7 @@ let FileUtils = {
* @param aFileName The name of the file to be read.
* @return The contents of the file (string), if any.
*/
- readFile : function(aDirectory, aFileName) {
+ readFile: function(aDirectory, aFileName) {
let data = "";
try {
@@ -1462,23 +1496,13 @@ let FileUtils = {
* @param aFileName The name of the file to be written.
* @param aData The contents of the file.
*/
- writeFile : function(aDirectory, aFileName, aData) {
+ writeFile: function(aDirectory, aFileName, aData) {
try {
let file = aDirectory.clone();
file.append(aFileName);
- let foStream =
- Cc["@mozilla.org/network/file-output-stream;1"].
- createInstance(Ci.nsIFileOutputStream);
- // flags are write, create, truncate
- foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);
-
- let converter =
- Cc["@mozilla.org/intl/converter-output-stream;1"].
- createInstance(Ci.nsIConverterOutputStream);
- converter.init(foStream, "UTF-8", 0, 0);
- converter.writeString(aData);
- converter.close(); // this also closes foStream
+ return OS.File.writeAtomic(file.path, aData,
+ { tmpPath: file.path + ".tmp" });
}
catch (ex) {
Cu.reportError("Could not write file " + aFileName);
@@ -1492,22 +1516,13 @@ let FileUtils = {
* @param aFileName The name of the file to be written.
* @param aData The binary contents of the file.
*/
- writeBinaryFile : function(aDirectory, aFileName, aData) {
+ writeBinaryFile: function(aDirectory, aFileName, aData) {
try {
let file = aDirectory.clone();
file.append(aFileName);
- let stream =
- Cc["@mozilla.org/network/safe-file-output-stream;1"].
- createInstance(Ci.nsIFileOutputStream);
- // Flags are: write, create, truncate
- stream.init(file, 0x04 | 0x08 | 0x20, 0600, 0);
-
- stream.write(aData, aData.length);
- if (stream instanceof Ci.nsISafeOutputStream)
- stream.finish();
- else
- stream.close();
+ OS.File.writeAtomic(file.path, aData,
+ { tmpPath: file.path + ".tmp" });
}
catch (ex) {
Cu.reportError("Could not write binary file " + aFileName);
@@ -1515,4 +1530,9 @@ let FileUtils = {
}
};
-PersonaService._init();
+try {
+ PersonaService._init();
+}
+catch (e) {
+ Cu.reportError(e);
+}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/personasplus.git
More information about the Pkg-mozext-commits
mailing list