[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