Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

bug 826179: update Partner Configuration for Firefox 18.x.

  • Loading branch information...
commit 7aaa7c89199f3d4641b021bde5487ce582ec82ab 1 parent 994de70
@BavarianTomcat BavarianTomcat authored
Showing with 4,670 additions and 4,872 deletions.
  1. +6 −6 partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/manifest.mf
  2. BIN  partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/zigbert.rsa
  3. +6 −6 partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/zigbert.sf
  4. BIN  partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/chrome/aoltoolbar.jar
  5. +9 −4 partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/components/aolAutoSuggest.js
  6. +2 −2 partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/install.rdf
  7. +4 −4 partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/manifest.mf
  8. BIN  partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/zigbert.rsa
  9. +4 −4 partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/zigbert.sf
  10. BIN  partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/chrome/aoluktoolbar.jar
  11. +3 −3 partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/install.rdf
  12. +1 −1  partners/gmx/distribution/extensions/toolbar@gmx.net/chrome.manifest
  13. +5 −13 partners/gmx/distribution/extensions/toolbar@gmx.net/components/aboutNetError.js
  14. +6 −47 partners/gmx/distribution/extensions/toolbar@gmx.net/components/mCollectAutoComplete.js
  15. +1 −2  partners/gmx/distribution/extensions/toolbar@gmx.net/content/brand.js
  16. +1 −1  partners/gmx/distribution/extensions/toolbar@gmx.net/content/build.js
  17. +6 −6 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/account-base.js
  18. +170 −31 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/account-list.js
  19. +9 −0 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/email-toolbaritem.xul
  20. +46 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/email.js
  21. +22 −0 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/imap.js
  22. +72 −27 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-common.js
  23. +34 −41 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-dialog.js
  24. +0 −32 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-dialogs.js
  25. +40 −8 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-logic.js
  26. +115 −30 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-page.js
  27. +0 −68 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-page.xhtml
  28. +55 −52 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login.js
  29. +20 −1 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/pref-login.js
  30. +2 −1  partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/taskbar.js
  31. +4 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/webapp-start.js
  32. +8 −85 partners/gmx/distribution/extensions/toolbar@gmx.net/content/help/help-toolbaritem.js
  33. +3 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/content/hotnews/hotnews.js
  34. +4 −11 partners/gmx/distribution/extensions/toolbar@gmx.net/content/main/brand-var-loader.js
  35. +0 −11 partners/gmx/distribution/extensions/toolbar@gmx.net/content/main/customizeToolbar.xul
  36. +90 −110 partners/gmx/distribution/extensions/toolbar@gmx.net/content/main/extension.js
  37. +2 −2 partners/gmx/distribution/extensions/toolbar@gmx.net/content/main/toolbar-resize.js
  38. +2 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/neterror/neterror.js
  39. +0 −88 partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/marketed-searchterms.js
  40. +21 −49 partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/newtab-hookup.js
  41. +4 −1 partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/newtab-hookup.xul
  42. +40 −16 partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/newtab-page.js
  43. +40 −0 partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/select-url.js
  44. +1 −2  partners/gmx/distribution/extensions/toolbar@gmx.net/content/newtab/thumbnail-capture.js
  45. +126 −77 partners/gmx/distribution/extensions/toolbar@gmx.net/content/phish/database.js
  46. +2 −1  partners/gmx/distribution/extensions/toolbar@gmx.net/content/phish/phish-warning.js
  47. +4 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/opt-in-confirm.js
  48. +1 −6 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/opt-in-load.js
  49. +37 −28 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/opt-in.js
  50. +80 −31 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/opt-in.xhtml
  51. +2 −7 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/pref-toolbaritem.js
  52. +3 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/pref/pref-updates.js
  53. +1 −0  partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/mcollect/mCollectImport.js
  54. +2 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/mcollect/mPlacesSearch.js
  55. +4 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/mcollect/mWebSuggest.js
  56. +6 −7 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/pref-search.js
  57. +3 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/search-listener.js
  58. +22 −34 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/search-plugin-install.js
  59. +2 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/search-store.js
  60. +10 −45 partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/search-toolbaritem.js
  61. +2 −1  partners/gmx/distribution/extensions/toolbar@gmx.net/content/search/search-toolbaritem.xul
  62. +0 −136 partners/gmx/distribution/extensions/toolbar@gmx.net/content/shopping/shopping-toolbaritem.js
  63. +0 −28 partners/gmx/distribution/extensions/toolbar@gmx.net/content/shopping/shopping-toolbaritem.xul
  64. +5 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/content/tracking/campaign-id.js
  65. +0 −72 partners/gmx/distribution/extensions/toolbar@gmx.net/content/tracking/count404.js
  66. +0 −42 partners/gmx/distribution/extensions/toolbar@gmx.net/content/tracking/countnewtab.js
  67. +3 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/tracking/modifyheader.js
  68. +3 −2 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/AutoComplete.js
  69. +13 −31 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/Preferences.js
  70. +6 −6 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/StringBundle.js
  71. +2 −2 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/common.js
  72. +5 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/fetchhttp.js
  73. +4 −3 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/sanitizeDatatypes.js
  74. +33 −7 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/uiutil.js
  75. +174 −254 partners/gmx/distribution/extensions/toolbar@gmx.net/content/util/util.js
  76. +0 −3  partners/gmx/distribution/extensions/toolbar@gmx.net/defaults/preferences/unitedinternet-shopping.js
  77. +4 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/install.rdf
  78. +0 −22 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/de-DE/email/login-dialogs.dtd
  79. +6 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/de-DE/email/login-page.dtd
  80. +1 −0  partners/gmx/distribution/extensions/toolbar@gmx.net/locale/de-DE/email/login.properties
  81. +12 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/de-DE/pref/opt-in.dtd
  82. +0 −2  partners/gmx/distribution/extensions/toolbar@gmx.net/locale/de-DE/shopping/shopping.dtd
  83. +0 −22 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/en-US/email/login-dialogs.dtd
  84. +9 −7 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/en-US/email/login-page.dtd
  85. +1 −0  partners/gmx/distribution/extensions/toolbar@gmx.net/locale/en-US/email/login.properties
  86. +13 −6 partners/gmx/distribution/extensions/toolbar@gmx.net/locale/en-US/pref/opt-in.dtd
  87. +0 −2  partners/gmx/distribution/extensions/toolbar@gmx.net/locale/en-US/shopping/shopping.dtd
  88. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/brand/icon-medium.png
  89. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/brand/opt-in-header.jpg
  90. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/ebay/ebay-small.png
  91. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/email/email-disconnect-dropdown.png
  92. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/email/email-new-dropdown.png
  93. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/email/email-nonew-dropdown.png
  94. +8 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/email/email.css
  95. +34 −13 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/email/login-page.css
  96. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/help/help-small.png
  97. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/car.ico
  98. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/entertainment.ico
  99. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/finance.ico
  100. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/games.ico
  101. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/health.ico
  102. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/knowledge.ico
  103. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/lifestyle.ico
  104. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/sports.ico
  105. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/homebutton/travel.ico
  106. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/amazon.jpg
  107. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/ebay.jpg
  108. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/lastminute.jpg
  109. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/maxdome.jpg
  110. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/nachrichten.jpg
  111. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/portal.jpg
  112. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/suche.jpg
  113. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/topde.jpg
  114. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/newtab/initial-thumbs/unicef.jpg
  115. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/pref/closebutton.png
  116. +47 −5 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/pref/opt-in-brand.css
  117. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/pref/opt-in-header.jpg
  118. +92 −8 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/pref/opt-in.css
  119. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/bilder.png
  120. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/city.png
  121. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/ebay.png
  122. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/mobile.png
  123. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/more.png
  124. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/nachrichten.png
  125. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/produkte2.png
  126. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/engine/verzeichnis.png
  127. +4 −2 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/search/search.css
  128. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/shopping/amazon.png
  129. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/shopping/ebay.png
  130. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/shopping/shopping-small.png
  131. +0 −4 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/shopping/shopping.css
  132. BIN  partners/gmx/distribution/extensions/toolbar@gmx.net/skin/shopping/smartshopping.png
  133. +8 −1 partners/gmx/distribution/extensions/toolbar@gmx.net/skin/toolbar.css
  134. +1 −1  partners/mail.com/distribution/extensions/toolbar@mail.com/chrome.manifest
  135. +5 −13 partners/mail.com/distribution/extensions/toolbar@mail.com/components/aboutNetError.js
  136. +6 −47 partners/mail.com/distribution/extensions/toolbar@mail.com/components/mCollectAutoComplete.js
  137. +1 −2  partners/mail.com/distribution/extensions/toolbar@mail.com/content/brand.js
  138. +1 −1  partners/mail.com/distribution/extensions/toolbar@mail.com/content/build.js
  139. +6 −6 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/account-base.js
  140. +170 −31 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/account-list.js
  141. +9 −0 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/email-toolbaritem.xul
  142. +46 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/email.js
  143. +22 −0 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/imap.js
  144. +72 −27 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login-common.js
  145. +34 −41 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login-dialog.js
  146. +40 −8 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login-logic.js
  147. +115 −30 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login-page.js
  148. +0 −68 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login-page.xhtml
  149. +55 −52 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/login.js
  150. +20 −1 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/pref-login.js
  151. +2 −1  partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/taskbar.js
  152. +4 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/content/email/webapp-start.js
  153. +8 −85 partners/mail.com/distribution/extensions/toolbar@mail.com/content/help/help-toolbaritem.js
  154. +3 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/content/hotnews/hotnews.js
  155. +4 −11 partners/mail.com/distribution/extensions/toolbar@mail.com/content/main/brand-var-loader.js
  156. +0 −11 partners/mail.com/distribution/extensions/toolbar@mail.com/content/main/customizeToolbar.xul
  157. +90 −110 partners/mail.com/distribution/extensions/toolbar@mail.com/content/main/extension.js
  158. +2 −2 partners/mail.com/distribution/extensions/toolbar@mail.com/content/main/toolbar-resize.js
  159. +2 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/neterror/neterror.js
  160. +21 −49 partners/mail.com/distribution/extensions/toolbar@mail.com/content/newtab/newtab-hookup.js
  161. +4 −1 partners/mail.com/distribution/extensions/toolbar@mail.com/content/newtab/newtab-hookup.xul
  162. +40 −16 partners/mail.com/distribution/extensions/toolbar@mail.com/content/newtab/newtab-page.js
  163. +40 −0 partners/mail.com/distribution/extensions/toolbar@mail.com/content/newtab/select-url.js
  164. +1 −2  partners/mail.com/distribution/extensions/toolbar@mail.com/content/newtab/thumbnail-capture.js
  165. +126 −77 partners/mail.com/distribution/extensions/toolbar@mail.com/content/phish/database.js
  166. +2 −1  partners/mail.com/distribution/extensions/toolbar@mail.com/content/phish/phish-warning.js
  167. +4 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/opt-in-confirm.js
  168. +1 −6 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/opt-in-load.js
  169. +37 −28 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/opt-in.js
  170. +80 −31 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/opt-in.xhtml
  171. +2 −7 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/pref-toolbaritem.js
  172. +3 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/pref/pref-updates.js
  173. +1 −0  partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/mcollect/mCollectImport.js
  174. +2 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/mcollect/mPlacesSearch.js
  175. +4 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/mcollect/mWebSuggest.js
  176. +6 −7 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/pref-search.js
  177. +3 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/search-listener.js
  178. +22 −34 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/search-plugin-install.js
  179. +2 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/search-store.js
  180. +10 −45 partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/search-toolbaritem.js
  181. +2 −1  partners/mail.com/distribution/extensions/toolbar@mail.com/content/search/search-toolbaritem.xul
  182. +0 −136 partners/mail.com/distribution/extensions/toolbar@mail.com/content/shopping/shopping-toolbaritem.js
  183. +0 −28 partners/mail.com/distribution/extensions/toolbar@mail.com/content/shopping/shopping-toolbaritem.xul
  184. +5 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/content/tracking/campaign-id.js
  185. +0 −72 partners/mail.com/distribution/extensions/toolbar@mail.com/content/tracking/count404.js
  186. +0 −42 partners/mail.com/distribution/extensions/toolbar@mail.com/content/tracking/countnewtab.js
  187. +3 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/tracking/modifyheader.js
  188. +3 −2 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/AutoComplete.js
  189. +13 −31 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/Preferences.js
  190. +6 −6 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/StringBundle.js
  191. +2 −2 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/common.js
  192. +5 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/fetchhttp.js
  193. +4 −3 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/sanitizeDatatypes.js
  194. +33 −7 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/uiutil.js
  195. +174 −254 partners/mail.com/distribution/extensions/toolbar@mail.com/content/util/util.js
  196. +0 −3  partners/mail.com/distribution/extensions/toolbar@mail.com/defaults/preferences/unitedinternet-shopping.js
  197. +4 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/install.rdf
  198. +6 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/locale/de-DE/email/login-page.dtd
  199. +1 −0  partners/mail.com/distribution/extensions/toolbar@mail.com/locale/de-DE/email/login.properties
  200. +12 −5 partners/mail.com/distribution/extensions/toolbar@mail.com/locale/de-DE/pref/opt-in.dtd
  201. +0 −2  partners/mail.com/distribution/extensions/toolbar@mail.com/locale/de-DE/shopping/shopping.dtd
  202. +9 −7 partners/mail.com/distribution/extensions/toolbar@mail.com/locale/en-US/email/login-page.dtd
  203. +1 −0  partners/mail.com/distribution/extensions/toolbar@mail.com/locale/en-US/email/login.properties
  204. +13 −6 partners/mail.com/distribution/extensions/toolbar@mail.com/locale/en-US/pref/opt-in.dtd
  205. +0 −2  partners/mail.com/distribution/extensions/toolbar@mail.com/locale/en-US/shopping/shopping.dtd
  206. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/brand/icon-medium.png
  207. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/brand/opt-in-header.jpg
  208. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/email/email-disconnect-dropdown.png
  209. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/email/email-new-dropdown.png
  210. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/email/email-nonew-dropdown.png
  211. +8 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/email/email.css
  212. +34 −13 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/email/login-page.css
  213. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/business.jpg
  214. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/dating.jpg
  215. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/entertainment.jpg
  216. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/jobs.jpg
  217. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/mailcom.jpg
  218. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/news.jpg
  219. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/science.jpg
  220. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/newtab/initial-thumbs/search.jpg
  221. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/pref/closebutton.png
  222. +33 −6 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/pref/opt-in-brand.css
  223. +92 −8 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/pref/opt-in.css
  224. +4 −2 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/search/search.css
  225. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/shopping/amazon.png
  226. BIN  partners/mail.com/distribution/extensions/toolbar@mail.com/skin/shopping/shopping-small.png
  227. +0 −4 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/shopping/shopping.css
  228. +8 −1 partners/mail.com/distribution/extensions/toolbar@mail.com/skin/toolbar.css
  229. +1 −1  partners/web.de/distribution/extensions/toolbar@web.de/chrome.manifest
  230. +5 −13 partners/web.de/distribution/extensions/toolbar@web.de/components/aboutNetError.js
  231. +6 −47 partners/web.de/distribution/extensions/toolbar@web.de/components/mCollectAutoComplete.js
  232. +1 −2  partners/web.de/distribution/extensions/toolbar@web.de/content/brand.js
  233. +1 −1  partners/web.de/distribution/extensions/toolbar@web.de/content/build.js
  234. +5 −7 partners/web.de/distribution/extensions/toolbar@web.de/content/coupon/loadCoupons.js
  235. +6 −6 partners/web.de/distribution/extensions/toolbar@web.de/content/email/account-base.js
  236. +170 −31 partners/web.de/distribution/extensions/toolbar@web.de/content/email/account-list.js
  237. +9 −0 partners/web.de/distribution/extensions/toolbar@web.de/content/email/email-toolbaritem.xul
  238. +46 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/email/email.js
  239. +22 −0 partners/web.de/distribution/extensions/toolbar@web.de/content/email/imap.js
  240. +72 −27 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-common.js
  241. +34 −41 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-dialog.js
  242. +0 −32 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-dialogs.js
  243. +40 −8 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-logic.js
  244. +115 −30 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-page.js
  245. +0 −68 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login-page.xhtml
  246. +55 −52 partners/web.de/distribution/extensions/toolbar@web.de/content/email/login.js
  247. +20 −1 partners/web.de/distribution/extensions/toolbar@web.de/content/email/pref-login.js
  248. +2 −1  partners/web.de/distribution/extensions/toolbar@web.de/content/email/taskbar.js
  249. +4 −4 partners/web.de/distribution/extensions/toolbar@web.de/content/email/webapp-start.js
  250. +8 −85 partners/web.de/distribution/extensions/toolbar@web.de/content/help/help-toolbaritem.js
  251. +3 −4 partners/web.de/distribution/extensions/toolbar@web.de/content/hotnews/hotnews.js
  252. +4 −11 partners/web.de/distribution/extensions/toolbar@web.de/content/main/brand-var-loader.js
  253. +0 −11 partners/web.de/distribution/extensions/toolbar@web.de/content/main/customizeToolbar.xul
  254. +90 −110 partners/web.de/distribution/extensions/toolbar@web.de/content/main/extension.js
  255. +2 −2 partners/web.de/distribution/extensions/toolbar@web.de/content/main/toolbar-resize.js
  256. +2 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/neterror/neterror.js
  257. +0 −88 partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/marketed-searchterms.js
  258. +21 −49 partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/newtab-hookup.js
  259. +4 −1 partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/newtab-hookup.xul
  260. +40 −16 partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/newtab-page.js
  261. +40 −0 partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/select-url.js
  262. +1 −2  partners/web.de/distribution/extensions/toolbar@web.de/content/newtab/thumbnail-capture.js
  263. +126 −77 partners/web.de/distribution/extensions/toolbar@web.de/content/phish/database.js
  264. +2 −1  partners/web.de/distribution/extensions/toolbar@web.de/content/phish/phish-warning.js
  265. +4 −5 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/opt-in-confirm.js
  266. +1 −6 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/opt-in-load.js
  267. +37 −28 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/opt-in.js
  268. +80 −31 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/opt-in.xhtml
  269. +2 −7 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/pref-toolbaritem.js
  270. +3 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/pref/pref-updates.js
  271. +1 −0  partners/web.de/distribution/extensions/toolbar@web.de/content/search/mcollect/mCollectImport.js
  272. +2 −5 partners/web.de/distribution/extensions/toolbar@web.de/content/search/mcollect/mPlacesSearch.js
  273. +4 −5 partners/web.de/distribution/extensions/toolbar@web.de/content/search/mcollect/mWebSuggest.js
  274. +6 −7 partners/web.de/distribution/extensions/toolbar@web.de/content/search/pref-search.js
  275. +3 −5 partners/web.de/distribution/extensions/toolbar@web.de/content/search/search-listener.js
  276. +22 −34 partners/web.de/distribution/extensions/toolbar@web.de/content/search/search-plugin-install.js
  277. +2 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/search/search-store.js
  278. +10 −45 partners/web.de/distribution/extensions/toolbar@web.de/content/search/search-toolbaritem.js
  279. +2 −1  partners/web.de/distribution/extensions/toolbar@web.de/content/search/search-toolbaritem.xul
  280. +0 −85 partners/web.de/distribution/extensions/toolbar@web.de/content/shopping/shopping-toolbaritem.js
  281. +0 −27 partners/web.de/distribution/extensions/toolbar@web.de/content/shopping/shopping-toolbaritem.xul
  282. +5 −5 partners/web.de/distribution/extensions/toolbar@web.de/content/tracking/campaign-id.js
  283. +0 −76 partners/web.de/distribution/extensions/toolbar@web.de/content/tracking/count404.js
  284. +3 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/tracking/modifyheader.js
  285. +3 −2 partners/web.de/distribution/extensions/toolbar@web.de/content/util/AutoComplete.js
  286. +13 −31 partners/web.de/distribution/extensions/toolbar@web.de/content/util/Preferences.js
  287. +6 −6 partners/web.de/distribution/extensions/toolbar@web.de/content/util/StringBundle.js
  288. +2 −2 partners/web.de/distribution/extensions/toolbar@web.de/content/util/common.js
  289. +5 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/util/fetchhttp.js
  290. +4 −3 partners/web.de/distribution/extensions/toolbar@web.de/content/util/sanitizeDatatypes.js
  291. +33 −7 partners/web.de/distribution/extensions/toolbar@web.de/content/util/uiutil.js
  292. +174 −254 partners/web.de/distribution/extensions/toolbar@web.de/content/util/util.js
  293. +7 −0 partners/web.de/distribution/extensions/toolbar@web.de/content/webapps/webapps-toolbaritem.js
  294. +0 −3  partners/web.de/distribution/extensions/toolbar@web.de/defaults/preferences/unitedinternet-shopping.js
  295. +4 −4 partners/web.de/distribution/extensions/toolbar@web.de/install.rdf
  296. +0 −22 partners/web.de/distribution/extensions/toolbar@web.de/locale/de-DE/email/login-dialogs.dtd
  297. +6 −4 partners/web.de/distribution/extensions/toolbar@web.de/locale/de-DE/email/login-page.dtd
  298. +1 −0  partners/web.de/distribution/extensions/toolbar@web.de/locale/de-DE/email/login.properties
  299. +12 −5 partners/web.de/distribution/extensions/toolbar@web.de/locale/de-DE/pref/opt-in.dtd
  300. +0 −2  partners/web.de/distribution/extensions/toolbar@web.de/locale/de-DE/shopping/shopping.dtd
Sorry, we could not display the entire diff because too many files (388) changed.
View
12 ...s/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/manifest.mf
@@ -5,8 +5,8 @@ Comments: PLEASE DO NOT EDIT THIS FILE. YOU WILL BREAK IT.
Name: chrome/aoltoolbar.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: 3B73uUsEL/++z2AvXn5gLg==
-SHA1-Digest: EzIBb6V6+ioXm7pei+TETC+ZOMw=
+MD5-Digest: KGDw9bUiZap3lcGPMfAwcA==
+SHA1-Digest: QkVxnZV3rBxGczuCzS2g9cn/Ia8=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
@@ -20,8 +20,8 @@ SHA1-Digest: yeHqo0OlcMIcmAOzhP1siGb5ouo=
Name: components/aolAutoSuggest.js
Digest-Algorithms: MD5 SHA1
-MD5-Digest: AwYiqGkC1/OxoCSkUM+zWA==
-SHA1-Digest: 0T4FYsBSHFpJVhF8Pqpi5dTrAFk=
+MD5-Digest: 6dJTAz7+GC1fOuPUArxBng==
+SHA1-Digest: drr5/9glj0KZbZAyw5ReSQhx1Gg=
Name: components/aolUninstallObserver.js
Digest-Algorithms: MD5 SHA1
@@ -50,5 +50,5 @@ SHA1-Digest: yAabNafskcFzYHF2XqBMWMROv48=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: 2yobVaTdp4NAOMkh1SUnSw==
-SHA1-Digest: +pZL5C/3EVZ0ycTbdaPFY08+8B0=
+MD5-Digest: ck7pyN2t7l9oXIBHv7qQBA==
+SHA1-Digest: 9IbuI/7O3a0F3sz7c5GoA/K6bYc=
View
BIN  ...s/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/zigbert.rsa
Binary file not shown
View
12 ...rs/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/META-INF/zigbert.sf
@@ -8,8 +8,8 @@ SHA1-Digest: jCy5+JoYHOK2bTDMyVwpC3zlf00=
Name: chrome/aoltoolbar.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: OCYzEu3Fgjai/YPl8DOTAg==
-SHA1-Digest: Zi+MLTzZeravkcp/lNf9x3xf4u4=
+MD5-Digest: RbMnfHxaFZF56mFFDDYekg==
+SHA1-Digest: L5tF53m5YpLJFLAudZm5yWJRII4=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
@@ -23,8 +23,8 @@ SHA1-Digest: NwLE//ktIc8IfgdqZWGLCGkpkcc=
Name: components/aolAutoSuggest.js
Digest-Algorithms: MD5 SHA1
-MD5-Digest: xbUJBVmg4RIr18pe8URwnQ==
-SHA1-Digest: N6L4EJbL/Q2PDATfYHu6s8TMvSM=
+MD5-Digest: kTEdXvGFHpwnPKzp9BjSJg==
+SHA1-Digest: QzuYxSxv7BVbjTRbUgBYAPG+sso=
Name: components/aolUninstallObserver.js
Digest-Algorithms: MD5 SHA1
@@ -53,5 +53,5 @@ SHA1-Digest: Vlj3eU/60e0JuFhKe/LhUTiRxWc=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: zi9QHXpokyTBdvPE6M38VA==
-SHA1-Digest: GEiGei59XRjY3sYrnogOGXTz5QQ=
+MD5-Digest: zppqw+1WxWMqIr4T5Zzpqg==
+SHA1-Digest: LffRiQQP3Z83s6eymzRluiPW0oE=
View
BIN  .../aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/chrome/aoltoolbar.jar
Binary file not shown
View
13 ...stribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/components/aolAutoSuggest.js
@@ -5,7 +5,7 @@ g=C.ID("87c57a2d-6812-4ce1-9242-a1656bbe0d1e"),
Ci=C.interfaces,
Cc=C.classes,
Cg=Ci.nsIComponentRegistrar;
-var JSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON);
+
const PROPS = "chrome://aoltoolbar/locale/toolbar_props.properties";
@@ -58,7 +58,7 @@ gS.prototype={
var r=[],
rT = q.responseText,
suggestions = "";
- json_suggestions = JSON.decode(rT);
+ json_suggestions = JSON.parse(rT);
if (json_suggestions.length >1) {
suggestions = json_suggestions[1];
}
@@ -67,8 +67,13 @@ gS.prototype={
l.onSearchResult(j,new gR(Ci.nsIAutoCompleteResult.RESULT_SUCCESS,r));
};
- var strings = this.getStrings();
- var api = strings.GetStringFromName("autosuggest.url") + encodeURIComponent(s) +"&output=json";
+ var strings = this.getStrings();
+ var branch = this.getBranch();
+ var api = strings.GetStringFromName("autosuggest.url") ;
+ api = api.replace(/&/g,"&");
+ var installSource = branch.getCharPref("search.source");
+ api = api.replace(/%b/g , installSource);
+ api = api.replace(/{searchTerms}/g, encodeURIComponent(s));
q.open('GET',api,true);
q.send(null);
},
View
4 partners/aol/distribution/extensions/{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}/install.rdf
@@ -8,7 +8,7 @@
<em:homepageURL>http://toolbar.aol.com/aol/customfirefox</em:homepageURL>
<em:id>{7affbfae-c4e2-4915-8c0f-00fa3ec610a1}</em:id>
<em:name>AOL Toolbar</em:name>
- <em:version>5.74.1.8927</em:version>
+ <em:version>5.74.1.9081</em:version>
<em:optionsURL>chrome://aoltoolbar/content/settings.xul</em:optionsURL>
<em:iconURL>chrome://aoltoolbar/locale/images/icon.png</em:iconURL>
<em:updateURL>https://client.web.aol.com/toolbarfiles/Prod/Content/customfirefox/ffhostfiles/update.rdf</em:updateURL>
@@ -18,7 +18,7 @@
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.0</em:minVersion>
- <em:maxVersion>17.*</em:maxVersion>
+ <em:maxVersion>20.*</em:maxVersion>
</Description>
</em:targetApplication>
View
8 ...ol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/manifest.mf
@@ -5,8 +5,8 @@ Comments: PLEASE DO NOT EDIT THIS FILE. YOU WILL BREAK IT.
Name: chrome/aoluktoolbar.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: ibQFik9QShn+QllD/8mNnw==
-SHA1-Digest: REnl+DG0Uj7/6rwP6YCjsbsySgs=
+MD5-Digest: o44kbl2Cj9pA8dPyH4z+Og==
+SHA1-Digest: wGNzxGsAySHGTPbZuBB2yIdVTno=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
@@ -50,5 +50,5 @@ SHA1-Digest: yAabNafskcFzYHF2XqBMWMROv48=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: MKGqLZgaSbnc9SFxTCy+MA==
-SHA1-Digest: O7L+E5vQfDh/4K2Pj2FokmzFQL4=
+MD5-Digest: evHnkn4Zof9d7BAaEHGyLw==
+SHA1-Digest: gEgj23gLLE88b8hqsGhyIV3yg3k=
View
BIN  ...ol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/zigbert.rsa
Binary file not shown
View
8 ...aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/META-INF/zigbert.sf
@@ -8,8 +8,8 @@ SHA1-Digest: jCy5+JoYHOK2bTDMyVwpC3zlf00=
Name: chrome/aoluktoolbar.jar
Digest-Algorithms: MD5 SHA1
-MD5-Digest: k6XxmZllZtIHyQu7/tX7+Q==
-SHA1-Digest: X1SokQMHoaeUst2kv19V+FUE+8k=
+MD5-Digest: DI06bUK7WSZt8UEaKCkgAw==
+SHA1-Digest: nYlLicfHzGpB9frP2hf9wZPzNWA=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
@@ -53,5 +53,5 @@ SHA1-Digest: Vlj3eU/60e0JuFhKe/LhUTiRxWc=
Name: install.rdf
Digest-Algorithms: MD5 SHA1
-MD5-Digest: mBf88ljLTAFXAOEESvSs1w==
-SHA1-Digest: gPPvORhM+J2UKn4x06G651BrJJA=
+MD5-Digest: 16/VDfuU8vjlOBT2uwdS5w==
+SHA1-Digest: 3axd8OrB8jmfFWmtOnm96R2w14Q=
View
BIN  ...uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/chrome/aoluktoolbar.jar
Binary file not shown
View
6 partners/aol_uk/distribution/extensions/{12e57d18-f8f7-4b76-af63-605365ab88ec}/install.rdf
@@ -8,17 +8,17 @@
<em:homepageURL>http://toolbar.aol.com/aoluk/aoluk-ff</em:homepageURL>
<em:id>{12e57d18-f8f7-4b76-af63-605365ab88ec}</em:id>
<em:name>AOL UK Toolbar</em:name>
- <em:version>5.91.1.8945</em:version>
+ <em:version>5.91.1.9095</em:version>
<em:optionsURL>chrome://aoluktoolbar/content/settings.xul</em:optionsURL>
<em:iconURL>chrome://aoluktoolbar/locale/images/icon.png</em:iconURL>
- <em:updateURL>https://client.web.aol.com/toolbarfiles/Prod/Content/aoluk/ffhostfiles/update.rdf</em:updateURL>
+ <em:updateURL>https://client.web.aol.com/toolbarfiles/Prod/Content/customffocuk/ffhostfiles/update.rdf</em:updateURL>
<em:aboutURL>chrome://aoluktoolbar/content/aboutBox.xul</em:aboutURL>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>1.0</em:minVersion>
- <em:maxVersion>*.*</em:maxVersion>
+ <em:maxVersion>20.*</em:maxVersion>
</Description>
</em:targetApplication>
View
2  partners/gmx/distribution/extensions/toolbar@gmx.net/chrome.manifest
@@ -48,7 +48,7 @@ overlay chrome://unitedtb/content/pref/pref-general.xul chrome://unitedtb/cont
overlay chrome://unitedtb/content/pref/pref-general.xul chrome://unitedtb/content/pref/pref-updates.xul
component {aec3bc83-0b7d-4612-b625-4f22070a9b33} components/mCollectAutoComplete.js
-contract @mozilla.org/autocomplete/search;1?name=mcollect {aec3bc83-0b7d-4612-b625-4f22070a9b33}
+contract @mozilla.org/autocomplete/search;1?name=unitedinternet-mcollect {aec3bc83-0b7d-4612-b625-4f22070a9b33}
component {49c4f409-eaf5-4c4d-a96a-280a60c7c6b7} components/aboutNetError.js
contract @mozilla.org/network/protocol/about;1?what=neterror {49c4f409-eaf5-4c4d-a96a-280a60c7c6b7}
View
18 partners/gmx/distribution/extensions/toolbar@gmx.net/components/aboutNetError.js
@@ -1,5 +1,5 @@
-// FF4 only
-//Components.utils.import("resource://unitedtb/util/util.js");
+Components.utils.import("resource://unitedtb/util/util.js");
+Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
const Ci = Components.interfaces;
const Cc = Components.classes;
@@ -12,17 +12,12 @@ AboutHandler.prototype =
/* nsIAboutModule */
newChannel : function (aURI)
{
- //FF4: var enabled = ourPref.get("neterror.enabled");
- var ioService = Cc["@mozilla.org/network/io-service;1"]
- .getService(Ci.nsIIOService);
- var prefService = Cc["@mozilla.org/preferences-service;1"]
- .getService(Ci.nsIPrefBranch);
- var enabled = prefService.getBoolPref("extensions.unitedinternet.neterror.enabled");
+ var enabled = ourPref.get("neterror.enabled");
var queryString = aURI.spec.substr(aURI.spec.indexOf('?')+1);
var url = /^e=dnsNotFound/.test(queryString) && enabled
? "chrome://unitedtb/content/neterror/neterror.xhtml?"
: "chrome://global/content/netError.xhtml?";
- return ioService.newChannel(url + queryString, null, null);
+ return Services.io.newChannel(url + queryString, null, null);
},
getURIFlags : function getURIFlags(aURI)
@@ -36,7 +31,4 @@ AboutHandler.prototype =
QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
};
-if (XPCOMUtils.generateNSGetFactory) // FF4
- var NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutHandler]);
-else // FF3.6
- var NSGetModule = XPCOMUtils.generateNSGetModule([AboutHandler]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([AboutHandler]);
View
53 partners/gmx/distribution/extensions/toolbar@gmx.net/components/mCollectAutoComplete.js
@@ -1,44 +1,10 @@
-// FF3.6 loads components before reading chrome.manifest,
-// so resource://unitedtb/ is not available. chrome:// isn't either for Cu.import in FF3.6.
-// So, wait for "app-startup" and do Cu.import then.
-// <http://blog.docuverse.com/2009/07/23/firefox-extension-developer-tips/>
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
const Cc = Components.classes;
const Ci = Components.interfaces;
-if (XPCOMUtils.generateNSGetFactory) // FF4
-{
- Components.utils.import("resource://unitedtb/util/util.js");
- Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js");
- Components.utils.import("resource://unitedtb/search/mcollect/mCollectImport.js");
-}
-else // FF3.6
-{
- let top = this;
- function Load()
- {
- }
- Load.prototype =
- {
- observe : function(subject, topic, data)
- {
- if (topic != "app-startup")
- return;
- Components.utils.import("resource://unitedtb/util/util.js", top);
- Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js", top);
- Components.utils.import("resource://unitedtb/search/mcollect/mCollectImport.js", top);
- },
- // nsICategoryManager registration
- // <https://developer.mozilla.org/en/XPCOMUtils.jsm>
- _xpcom_categories: [{
- category: "app-startup",
- }],
- classDescription: "mCollect autocomplete: Delayed load for FF3.6",
- contractID: "@mozilla.org/autocomplete/mcollect-load",
- classID: Components.ID("{a7a9cfee-3681-4c0a-9383-005ec380b6ce}"),
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver])
- };
-}
+Components.utils.import("resource://unitedtb/util/util.js");
+Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js");
+Components.utils.import("resource://unitedtb/search/mcollect/mCollectImport.js");
/**
* @param engine {mSearch}
@@ -74,11 +40,7 @@ Results.prototype =
}
// call listeners
- if (this._acListener.onUpdateSearchResult) // FF4
- this._acListener.onUpdateSearchResult(this._acSearch, this);
- // TODO call onSearchResult() for FF4, too? When?
- else // FF3.6
- this._acListener.onSearchResult(this._acSearch, this);
+ this._acListener.onUpdateSearchResult(this._acSearch, this);
},
/**
@@ -272,13 +234,10 @@ mCollectAutoComplete.prototype =
},
classDescription: "AutoComplete from mCollect search engines",
- contractID: "@mozilla.org/autocomplete/search;1?name=mcollect",
+ contractID: "@mozilla.org/autocomplete/search;1?name=unitedinternet-mcollect",
classID: Components.ID("{aec3bc83-0b7d-4612-b625-4f22070a9b33}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIAutoCompleteSearch,
Ci.nsIAutoCompleteObserver])
};
-if (XPCOMUtils.generateNSGetFactory) // FF4
- var NSGetFactory = XPCOMUtils.generateNSGetFactory([mCollectAutoComplete]);
-else // FF3.6
- var NSGetModule = XPCOMUtils.generateNSGetModule([mCollectAutoComplete, Load]);
+var NSGetFactory = XPCOMUtils.generateNSGetFactory([mCollectAutoComplete]);
View
3  partners/gmx/distribution/extensions/toolbar@gmx.net/content/brand.js
@@ -305,7 +305,6 @@ login : {
providerID : "gmx",
domains : [ "gmx.net", "gmx.de", "gmx.at", "gmx.ch",
"gmx.co.uk", "gmx.fr", "gmx.it",
- "gmx.com",
"gmx.eu", "gmx.info", "gmx.biz", "gmx.tm", "gmx.org",
"imail.de", ],
type : "unitedinternet",
@@ -323,7 +322,7 @@ login : {
},
{
providerID : "mailcom",
- domains : [ "mail.com",
+ domains : [ "mail.com", "gmx.com",
"email.com", "usa.com", "consultant.com", "myself.com",
"london.com", "europe.com", "post.com", "dr.com", "doctor.com",
"lawyer.com", "engineer.com", "techie.com", "linuxmail.org",
View
2  partners/gmx/distribution/extensions/toolbar@gmx.net/content/build.js
@@ -1,6 +1,6 @@
const EXPORTED_SYMBOLS = ["version", "EMID", "kDebug", "kVariant", "ourEMIDs", ];
-const version = "2.3.4";
+const version = "2.4";
const EMID = "toolbar@gmx.net";
// show debug dump statement on OS console and JS console
const kDebug = false;
View
12 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/account-base.js
@@ -42,6 +42,7 @@
const EXPORTED_SYMBOLS = [ "Account", "BaseStandardAccount" ];
+Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://unitedtb/util/util.js");
Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js");
Components.utils.import("resource://unitedtb/util/observer.js");
@@ -286,7 +287,8 @@ BaseStandardAccount.prototype =
this._password = sanitize.string(password);
if ( !this._wantStoredLogin)
return;
- loginManager.addLogin(new LoginInfo(
+ // nsILoginManager (same below)
+ Services.logins.addLogin(new LoginInfo(
this.kType + "://" + this.hostname, null, "mailcheck",
this.username, password,
"", "")); // username and password field name
@@ -295,7 +297,7 @@ BaseStandardAccount.prototype =
_getPasswordFromStore : function()
{
this._password = "";
- for each (let login in loginManager.findLogins({},
+ for each (let login in Services.logins.findLogins({},
this.kType + "://" + this.hostname, null, "mailcheck"))
if (login.username == this.username)
this._password = sanitize.string(login.password);
@@ -305,10 +307,10 @@ BaseStandardAccount.prototype =
_deleteStoredPassword : function()
{
this._password = "";
- for each (let login in loginManager.findLogins({},
+ for each (let login in Services.logins.findLogins({},
this.kType + "://" + this.hostname, null, "mailcheck"))
if (login.username == this.username)
- loginManager.removeLogin(login);
+ Services.logins.removeLogin(login);
},
_verifyAccountSettings : function()
@@ -382,7 +384,5 @@ BaseStandardAccount.prototype =
}
extend(BaseStandardAccount, Account);
-XPCOMUtils.defineLazyServiceGetter(this, "loginManager",
- "@mozilla.org/login-manager;1", "nsILoginManager");
const LoginInfo = new Components.Constructor(
"@mozilla.org/login-manager/loginInfo;1", Ci.nsILoginInfo, "init");
View
201 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/account-list.js
@@ -12,7 +12,7 @@
* for the specific language governing rights and limitations under the
* License.
*
- * The Original Code is the Beonex Mail Notifier
+ * The Original Code is the Beonex Mail Notifier and Mozilla Thunderbird
*
* The Initial Developer of the Original Code is
* Ben Bucksch <ben.bucksch beonex.com>
@@ -64,16 +64,19 @@
*/
const EXPORTED_SYMBOLS = [ "getAllExistingAccounts", "getExistingAccount",
- "getExistingAccountForEmailAddress", "makeNewAccount", "_removeAccount" ];
+ "getExistingAccountForEmailAddress", "makeNewAccount",
+ "verifyEmailAddressDomain", "_removeAccount", ];
Components.utils.import("resource://unitedtb/util/util.js");
Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js");
+Components.utils.import("resource://unitedtb/util/fetchhttp.js");
Components.utils.import("resource://unitedtb/util/observer.js");
Components.utils.import("resource://unitedtb/main/brand-var-loader.js");
Components.utils.import("resource://unitedtb/email/account-base.js");
Components.utils.import("resource://unitedtb/email/imap.js");
Components.utils.import("resource://unitedtb/email/pop3.js");
Components.utils.import("resource://unitedtb/email/email-logic.js");
+Components.utils.import("resource://gre/modules/Services.jsm");
var gStringBundle = new StringBundle("chrome://unitedtb/locale/email/login.properties");
/**
@@ -143,29 +146,32 @@ function getExistingAccountForEmailAddress(emailAddress)
}
/**
- * Returns the |Account| object for |emailAddress|.
- * If none exists yet, creates it.
+ * Create a new |Account| object for |emailAddress|.
*
* Note: You need to call account.saveToPrefs() yourself.
+ *
+ * @param successCallback {Function(account {Account})}
+ * Called, if the email address is supported and could be configured.
+ * @param errorCallback {Function(msg {String or Exception})}
+ * Called, if we cannot configure that email address.
+ * @returns {Abortable}
*/
-function makeNewAccount(emailAddress)
+function makeNewAccount(emailAddress, successCallback, errorCallback)
{
- sanitize.nonemptystring(emailAddress);
- assert(emailAddress == emailAddress.toLowerCase(),
- "email addresses must be lowercase");
- assert( !getExistingAccountForEmailAddress(emailAddress),
- "account already exists");
- //var accountID = emailAddress;
- var accountID = generateNewAccountID();
+ try {
+ sanitize.nonemptystring(emailAddress);
+ assert(emailAddress == emailAddress.toLowerCase(),
+ "email addresses must be lowercase");
+ assert( !getExistingAccountForEmailAddress(emailAddress),
+ "account already exists");
+ //var accountID = emailAddress;
+ var accountID = generateNewAccountID();
+ var domain = Account.getDomainForEmailAddress(emailAddress);
+ } catch (e) { errorCallback(e); }
- // TODO move to account creation wizard
- var domain = Account.getDomainForEmailAddress(emailAddress);
- var account = null;
- for each (let config in brand.login.configs)
+ return getAccountProviderWithNet(domain, function(config)
{
- if ( !arrayContains(config.domains, domain))
- continue;
- account = _newAccountOfType(config.type, accountID, true);
+ var account = _newAccountOfType(config.type, accountID, true);
account.emailAddress = emailAddress;
if (config.type == "imap" || config.type == "pop3")
{
@@ -184,21 +190,13 @@ function makeNewAccount(emailAddress)
}
else if (config.type == "unitedinternet")
{
- account._readServerConfig();
+ account.setServerConfig(config);
}
- }
- if ( !account)
- {
- throw new Exception(gStringBundle.get("error.domain",
- [ brand.login.providerName ]));
- }
- gAccounts[accountID] = account;
- runAsync(function()
- {
+ gAccounts[accountID] = account;
+ successCallback(account);
notifyGlobalObservers("account-added", { account : account });
- }, 0);
- return account;
+ }, errorCallback);
}
function generateNewAccountID()
@@ -213,6 +211,147 @@ function generateNewAccountID()
return newAccountID;
}
+/**
+ * Checks whether the domain of the email address is supported by us.
+ *
+ * @param emailAddress {String}
+ * @param successCallback {Function(config {Object})} check passed
+ * |config| the brand.js object for this provider
+ * @param errorCallback check failed, with reason
+ * @returns {Abortable}
+ */
+function verifyEmailAddressDomain(emailAddress, successCallback, errorCallback)
+{
+ var domain = Account.getDomainForEmailAddress(emailAddress);
+ return getAccountProviderWithNet(domain, successCallback, errorCallback);
+}
+
+/**
+ * Finds the provider that hosts this email address.
+ * Uses both the internal list of domains in brand.js,
+ * as well as MX lookups over the network to determine
+ * the provider.
+ *
+ * @see Disclaimers at fetchConfigForMX()
+ * <http://mxr.mozilla.org/comm-central/source/
+ * mailnews/base/prefs/content/accountcreation/fetchConfig.js#136>
+ *
+ * @param domain {String} email address, part after @
+ * @param successCallback {Function(provider {Object})}
+ * Called, if the provider could be found and is supported.
+ * |provider| config object from brand.js for the provider.
+ * @param errorCallback {Function(msg {String or Exception})}
+ * Called, if we cannot configure that email address.
+ * @returns {Abortable}
+ */
+function getAccountProviderWithNet(domain,
+ successCallback, errorCallback)
+{
+ // first check whether it's one of the main domains for which
+ // we have the config locally
+ var config = getAccountProviderLocally(domain);
+ if (config)
+ {
+ successCallback(config);
+ return new Abortable();
+ }
+ var errorMsg = gStringBundle.get("error.domain",
+ [ brand.login.providerName ]);
+
+ // TODO move to TB account creation wizard
+
+ // Now fetch the MX record for the domain and check whether
+ // the SLD of it matches one of our known domains.
+ // Given that Mozilla can't do DNS MX lookups,
+ // we use the webservice that Thunderbird uses.
+ // @see fetchConfigForMX()
+ // <http://mxr.mozilla.org/comm-central/source/
+ // mailnews/base/prefs/content/accountcreation/fetchConfig.js#136>
+ return getMX(domain, function(mxHostname)
+ {
+ debug("got MX " + mxHostname);
+ var providerDomain = Services.eTLD.getBaseDomainFromHost(mxHostname);
+ debug("got domain " + providerDomain);
+ var config = getAccountProviderLocally(providerDomain);
+ debug("got config " + (config ? config.providerID : "(none)"));
+ if (config) {
+ successCallback(config);
+ } else {
+ errorCallback(errorMsg);
+ }
+ },
+ function(e)
+ {
+ errorCallback(e == "no MX found" ? errorMsg : e);
+ });
+}
+
+/**
+ * Finds the provider that hosts this email address.
+ * Uses only the internal list of domains in brand.js.
+ *
+ * @param domain {String} email address, part after @
+ * @returns {Object} config object from brand.js for the provider.
+ * null, if no config found.
+ */
+function getAccountProviderLocally(domain)
+{
+ for each (let config in brand.login.configs)
+ {
+ if (arrayContains(config.domains, domain))
+ return config;
+ }
+ return null;
+}
+
+/**
+ * <copied from="mailnews/base/prefs/content/accountcreation/fetchConfig.js"
+ * license="MPL" />
+ *
+ * Queries the DNS MX for the domain
+ *
+ * The current implementation goes to a web service to do the
+ * DNS resolve for us, because Mozilla unfortunately has no implementation
+ * to do it. That's just a workaround. Once bug 545866 is fixed, we make
+ * the DNS query directly on the client. The API of this function should not
+ * change then.
+ *
+ * Returns (in successCallback) the hostname of the MX server.
+ * If there are several entires with different preference values,
+ * only the most preferred (i.e. those with the lowest value)
+ * is returned. If there are several most preferred servers (i.e.
+ * round robin), only one of them is returned.
+ *
+ * @param domain {String}
+ * @param successCallback {function(hostname {String})
+ * Called when we found an MX for the domain.
+ * For |hostname|, see description above.
+ * @param errorCallback
+ * @returns {Abortable}
+ */
+function getMX(domain, successCallback, errorCallback)
+{
+ domain = sanitize.hostname(domain);
+ var url = "https://mx-live.mozillamessaging.com/dns/mx/" + domain;
+ var fetch = new FetchHTTP({ url : url }, function(result)
+ {
+ // result is plain text, with one line per server.
+ // So just take the first line
+ debug("MX query result: \n" + result + "(end)");
+ assert(typeof(result) == "string");
+ let first = result.split("\n")[0];
+ first.toLowerCase().replace(/[^a-z0-9\-_\.]*/g, "");
+ if (first.length == 0)
+ {
+ errorCallback("no MX found");
+ return;
+ }
+ successCallback(first);
+ }, errorCallback);
+ fetch.start();
+ return fetch;
+}
+
function _newAccountOfType(type, accountID, isNew)
{
if (type == "imap")
View
9 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/email-toolbaritem.xul
@@ -93,4 +93,13 @@
</hbox>
</panel>
</popupset>
+ <statusbar id="status-bar">
+ <statusbarpanel id="unitedinternet-statusbarpanel"
+ onclick="unitedinternet.email.onCommandMailButton(true);">
+ <image id="united-email-statusbar-image" status="disconnected"/>
+ <label id="united-email-statusbar-label"
+ origvalue="&united.logged-out.label;"
+ value="&united.logged-out.label;"/>
+ </statusbarpanel>
+ </statusbar>
</overlay>
View
49 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/email.js
@@ -30,6 +30,8 @@ var gBrandBundle = new StringBundle(
"chrome://unitedtb/locale/email/email-brand.properties");
var gEmailButton = null;
+var gEmailStatusBarImage = null;
+var gEmailStatusBarLabel = null;
var gEmailButtonDropdown = null;
var gEmailMenuitems = [];
// All accounts
@@ -52,6 +54,8 @@ gMailImage.src = "chrome://unitedtb/skin/email/email-nonew-small.png";
function onLoad()
{
try {
+ gEmailStatusBarImage = document.getElementById("united-email-statusbar-image");
+ gEmailStatusBarLabel = document.getElementById("united-email-statusbar-label");
gEmailButton = document.getElementById("united-email-button");
gEmailButtonDropdown = document.getElementById("united-email-button-dropdown");
new appendBrandedMenuitems("email", "email", null, function(entry)
@@ -121,7 +125,7 @@ function accountsSummary()
function updateUI()
{
// delete
- for each (let menuitem in gEmailMenuitems)
+ for (let [,menuitem] in Iterator(gEmailMenuitems))
gEmailButtonDropdown.removeChild(menuitem);
var insertBeforeE = document.getElementById("united-email-separator-after-accounts");
var tooltiptext = gEmailButton.getAttribute("tooltiptext-for-item");
@@ -157,6 +161,13 @@ function updateUI()
var summaryFakeAcc = summary.accountCount ? summary : null;
gEmailButton.setAttribute("status", statusAttr(summaryFakeAcc));
gEmailButton.setAttribute("tooltiptext", unreadText(summaryFakeAcc));
+ gEmailStatusBarImage.setAttribute("status", statusAttr(summaryFakeAcc));
+ gEmailStatusBarImage.setAttribute("tooltiptext", unreadText(summaryFakeAcc));
+ gEmailStatusBarLabel.setAttribute("tooltiptext", unreadText(summaryFakeAcc));
+ if (summary.isLoggedIn)
+ gEmailStatusBarLabel.setAttribute("value", summary.newMailCount);
+ else
+ gEmailStatusBarLabel.setAttribute("value", gEmailStatusBarLabel.getAttribute("origvalue"));
drawCount(summary.newMailCount, gEmailButton, gMailImage);
unitedinternet.toolbar.onButtonSizeChangedByCode();
// Disabled because of Mozilla bug 744992
@@ -184,7 +195,17 @@ autoregisterGlobalObserver("mail-check", updateUI);
function updateMenuitem(menuitem, acc, type)
{
menuitem.account = acc;
- menuitem.setAttribute("status", statusAttr(acc));
+
+ if (type == 2) { // Friends only
+ if (acc.friendsNewMailCount > 0)
+ menuitem.setAttribute("status", "new");
+ } else if (type == 3) { // Unknown senders
+ if (acc.unknownNewMailCount > 0)
+ menuitem.setAttribute("status", "new");
+ } else {
+ menuitem.setAttribute("status", statusAttr(acc));
+ }
+
menuitem.setAttribute("label",
gStringBundle.get("button.emailAddressPlacement")
.replace("%1", acc.emailAddress)
@@ -307,8 +328,12 @@ function desktopNotificationClicked(dummy, cookie)
* - If no accounts, go to configure
* - If exactly 1 account, (login and) go to its webmail.
* - If > 1 account, open dropdown.
+ * - If openPrimary, finds the primary account and opens it
+ *
+ * @param openPrimary {boolean} (optional, default false)
+ * Avoid a dropdown
*/
-function onCommandMailButton()
+function onCommandMailButton(openPrimary)
{
if (gMailAccs.length == 0) // nothing configured
{
@@ -325,6 +350,11 @@ function onCommandMailButton()
{
ensureLoginAndDo(gMailAccs[0], goToWebmail);
}
+ else if (openPrimary)
+ {
+ // Use primary account (it might not be the first one)
+ ensureLoginAndDo(getPrimaryAccount(), goToWebmail);
+ }
else
{
gEmailButton.open = true
@@ -333,6 +363,19 @@ function onCommandMailButton()
}
/**
+ * <copied from="login.js">
+ */
+function getPrimaryAccount()
+{
+ for each (let acc in getAllExistingAccounts())
+ {
+ if (acc.providerID == brand.login.providerID)
+ return acc;
+ }
+ return null;
+}
+
+/**
* Dropdown menu item for a specific account was clicked.
* Effect:
* - If logged out, show login dialog.
View
22 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/imap.js
@@ -58,6 +58,7 @@
const EXPORTED_SYMBOLS = [ "IMAPAccount" ];
+Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://unitedtb/util/util.js");
Components.utils.import("resource://unitedtb/util/sanitizeDatatypes.js");
Components.utils.import("resource://unitedtb/util/observer.js");
@@ -65,6 +66,7 @@ Components.utils.import("resource://unitedtb/util/Socket.js");
Components.utils.import("resource://unitedtb/util/Auth.js");
Components.utils.import("resource://unitedtb/email/MIME.js");
Components.utils.import("resource://unitedtb/email/account-base.js");
+Components.utils.import("resource://unitedtb/email/account-list.js"); // For getAllExistingAccounts
var gStringBundle = new StringBundle("chrome://unitedtb/locale/email/email.properties");
@@ -664,3 +666,23 @@ function IMAPSyntaxErrorResponse(serverErrorMsg, hostname)
Exception.call(this, gStringBundle.get("imap.syntax.error", [ hostname, serverErrorMsg ]));
}
extend(IMAPSyntaxErrorResponse, Exception);
+
+/**
+ * Our IMAP connection is persistent.
+ *
+ * This means that when we shutdown, we need to kill the connection.
+ *
+ * The profile-change-net-teardown notification happens before the network
+ * connection is dropped, so it is the correct time to do this.
+ */
+var netTeardownListener =
+{
+ observe : function (subject, topic, data) {
+ var accounts = getAllExistingAccounts();
+ for each (let account in accounts)
+ if (account instanceof IMAPAccount)
+ for each (let conn in account._connections.slice(0)) // logout modifies _conns
+ conn.logout();
+ }
+}
+Services.obs.addObserver(netTeardownListener, "profile-change-net-teardown", false);
View
99 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-common.js
@@ -1,4 +1,5 @@
Components.utils.import("resource://unitedtb/email/account-base.js", this); // just for getDomainForEmailAddress()
+Components.utils.import("resource://unitedtb/email/account-list.js", this); // just for verifyEmailAddressDomain()
Components.utils.import("resource://unitedtb/util/StringBundle.js", this);
var gStringBundle = new StringBundle(
"chrome://unitedtb/locale/email/login.properties");
@@ -65,6 +66,7 @@ function getPassword(emailAddress, wantStoredLoginDefault)
* password, and returns it.
*
* @param inparams {Object} Parameter @see login-dialog.js
+ * @param parentWin {Window} Parent window to use for login dialog
* @returns {
* emailAddress {String} what user entered (or left as-is)
* password {String}
@@ -72,7 +74,7 @@ function getPassword(emailAddress, wantStoredLoginDefault)
* }
* null, if user cancels
*/
-function getEmailAddressAndPassword(inparams)
+function getEmailAddressAndPassword(inparams, parentWin)
{
var outparams = {};
// Window ID needs to be unique, otherwise the async error callback
@@ -84,15 +86,17 @@ function getEmailAddressAndPassword(inparams)
var windowID = "united-login-dialog-" + inparams.emailAddress;
//debug(new Date().toISOString() + "opening " + windowID);
- var parentWin = window;
- var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
- .getService(Ci.nsIWindowMediator);
- // If our preferences window is open, use it as the parent
- var win = wm.getMostRecentWindow("Unitedtb:Preferences");
- if (win && !win.closed) {
- parentWin = win;
+ // If a login window is open with the exact same ID, use it
+ // nsIWindowWatcher
+ var loginWin = Services.ww.getWindowByName(windowID, null);
+ if (loginWin)
+ {
+ loginWin.focus();
+ return null;
}
+ if (!parentWin)
+ parentWin = window;
parentWin.openDialog("chrome://unitedtb/content/email/login-dialog.xul",
windowID, "modal,centerscreen", inparams, outparams);
@@ -108,30 +112,71 @@ function getEmailAddressAndPassword(inparams)
/**
* Verify email address, esp. that it's a UnitedInternet address.
- * Shows an error to the user, if needed.
- * @param emailAddress {String} to be checked
+ * This is a logic function with no access to UI.
+ *
+ * @param emailAddress {String} what the user entered, to be checked
+ * @param password {String} what the user entered, to be checked
+ * @param needPassword {Boolean} lack of password shall be an error or not
* @param brandOnly {Boolean}
* Accept only accounts that are of the same brand as this toolbar,
* e.g. if this is a WEB.DE toolbar, accept only @web.de email addresses.
- * @param domains {Array of String} List of acceptable domains.
- * Accept only email addresses from these domains.
- * If empty array, this check is skipped.
- * @param exampleDomain {String} Any domain that we want to show
- * to users in the example email address.
- * @returns null, if address OK, otherwise the error msg to display to the user
+ * @param successCallback {Function()} Called if the checks passed
+ * @param errorCallback {Function(msg {String or Exception})}
+ * Called if the checks failed
+ * |msg| a translated error message to show to the user verbatim.
+ * @returns {Abortable}
*/
-function verifyEmailAddress(emailAddress, brandOnly, domains, exampleDomain)
+function verifyEmailAddressAndPassword(emailAddress, password,
+ needPassword, brandOnly, successCallback, errorCallback)
{
try {
- var newAddress = emailAddress.toLowerCase();
- const emailAddressRegexp = /^[a-z0-9\-%+_\.]+@[a-z0-9\-\.]+$/;
- if ( !emailAddressRegexp.test(newAddress))
- return gStringBundle.get(brandOnly ? "error.syntax.brand" : "error.syntax",
+ assert(typeof(emailAddress) == "string", "need emailAddress param");
+ assert(typeof(password) == "string", "need password param");
+ assert(typeof(needPassword) == "boolean", "need needPassword param");
+ assert(typeof(brandOnly) == "boolean", "need brandOnly param");
+ assert(typeof(successCallback) == "function", "need successCallback");
+ assert(typeof(errorCallback) == "function", "need errorCallback");
+ emailAddress = emailAddress.toLowerCase();
+ var myBrand = brand.login.providerName;
+ var domains = [];
+ for each (let config in brand.login.configs) {
+ if (config.providerID == brand.login.providerID) {
+ domains = domains.concat(config.domains);
+ }
+ }
+ var exampleDomain = domains[0] || "example.net";
+ const emailAddressRegexp = /^[a-z0-9\-%+_\.]+@[a-z0-9\-\.]+\.[a-z]+$/;
+
+ if ( ! emailAddress && ! password) {
+ throw gStringBundle.get(
+ "error.noEmailAndPassword" + (brandOnly ? ".brand" : ""),
+ [ myBrand, exampleDomain ]);
+ } else if (needPassword && ! password) {
+ throw gStringBundle.get(
+ "error.noPassword" + (brandOnly ? ".brand" : ""),
+ [ myBrand, exampleDomain ]);
+ } else if ( ! emailAddressRegexp.test(emailAddress)) {
+ throw gStringBundle.get(
+ "error.syntax" + (brandOnly ? ".brand" : ""),
[ brand.login.providerName, exampleDomain ]);
- if (domains.length > 0 && !arrayContains(domains,
- Account.getDomainForEmailAddress(newAddress)))
- return gStringBundle.get(brandOnly ? "error.domain.brand" : "error.domain",
- [ brand.login.providerName, exampleDomain, domains.join(", ") ]);
- return null;
- } catch (e) { return e.toString(); }
+ } else {
+ // account-list.js
+ return verifyEmailAddressDomain(emailAddress,
+ function(config) {
+ if (brandOnly && config.providerID != brand.login.providerID) {
+ errorCallback(gStringBundle.get("error.domain.brand",
+ [ brand.login.providerName, exampleDomain, domains.join(", ") ]));
+ } else {
+ successCallback();
+ }
+ },
+ function (e) {
+ errorInBackend(e);
+ // Just tell user that it's not supported
+ errorCallback(gStringBundle.get(
+ "error.domain" + (brandOnly ? ".brand" : ""),
+ [ brand.login.providerName, exampleDomain, domains.join(", ") ]));
+ });
+ }
+ } catch (e) { errorInBackend(e); errorCallback(e); }
}
View
75 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-dialog.js
@@ -17,9 +17,9 @@
* @returns ok {Boolean} true = User clicked OK button, false = user aborted
*/
-Components.utils.import("resource://unitedtb/email/account-list.js", this);
Components.utils.import("resource://unitedtb/util/util.js", this);
Components.utils.import("resource://unitedtb/main/brand-var-loader.js", this);
+Components.utils.import("resource://unitedtb/email/account-list.js", this);
var gStringBundle = new StringBundle(
"chrome://unitedtb/locale/email/login.properties");
@@ -33,6 +33,7 @@ var eErrorMsg = null;
// In the login-page case, default gBrandOnly to true
var gBrandOnly = true;
+var gVerifyAbortable = new Abortable();
function onLoad()
{
@@ -90,61 +91,53 @@ function onLoad()
function onLeaveEmailaddress()
{
- verifyAndShowError(false);
+ try {
+ verifyAndShowError(false, function() {}, function () {});
+ } catch (e) { errorCritical(e); }
}
-function verifyAndShowError(needPassword)
-{
- var domains = [];
- for each (let provider in brand.login.configs)
- if ( !gBrandOnly || provider.providerID == brand.login.providerID)
- domains = domains.concat(provider.domains);
- var myBrand = brand.login.providerName;
- var exampleDomain = domains[0] || "example.net";
-
- var errorMsg = null;
- if ( !errorMsg && !eEmailAddress.value && !ePassword.value)
- errorMsg = gStringBundle.get(
- gBrandOnly ? "error.noEmailAndPassword.brand" : "error.noEmailAndPassword",
- [ myBrand, exampleDomain ]);
- if ( !errorMsg) // login-common.js
- errorMsg = verifyEmailAddress(eEmailAddress.value, gBrandOnly, domains, exampleDomain);
- if ( !errorMsg && needPassword && !ePassword.value)
- errorMsg = gStringBundle.get(
- gBrandOnly ? "error.noPassword.brand" : "error.noPassword",
- [ myBrand, exampleDomain ]);
-
+/**
+ * Calls verifyEmailAddressAndPassword() logic function, and
+ * populates UI fields with the result.
+ *
+ * <copied to="login-page.js"/>
+ */
+function verifyAndShowError(needPassword, successCallback, errorCallback) {
var oldErrorMessage = eErrorMsg.textContent;
- eErrorMsg.textContent = errorMsg ? errorMsg : "";
- if (oldErrorMessage != eErrorMsg.textContent) // workaround for Mozilla bug 230959
- // We only want to do this in the XUL case
- if (document instanceof XULDocument)
+ eErrorMsg.textContent = "";
+ // login-common.js
+ // gVerifyAbortable.cancel(); TODO breaks all further verify calls. ditto below.
+ gVerifyAbortable = verifyEmailAddressAndPassword(
+ eEmailAddress.value, ePassword.value,
+ needPassword, gBrandOnly,
+ successCallback,
+ function(errorMsg) { // errorCallback, check failed
+ debug("check failed: " + errorMsg);
+ eErrorMsg.textContent = errorMsg;
+ if (oldErrorMessage != errorMsg) // workaround for Mozilla bug 230959
window.sizeToContent(); // I would like to avoid that
- if (errorMsg)
- {
eEmailAddress.focus();
eEmailAddress.select();
- return false;
- }
- else
- return true;
+ errorCallback(errorMsg);
+ });
}
function onOK()
{
- if ( !verifyAndShowError(true))
- return false; // don't close, force user to click Cancel
-
- gOutParams.emailAddress = eEmailAddress.value.toLowerCase();
- gOutParams.password = ePassword.value;
- gOutParams.wantStoredLogin = eLongSession.checked;
- gOutParams.ok = true;
- return true;
+ verifyAndShowError(true, function() {
+ gOutParams.emailAddress = eEmailAddress.value.toLowerCase();
+ gOutParams.password = ePassword.value;
+ gOutParams.wantStoredLogin = eLongSession.checked;
+ gOutParams.ok = true;
+ window.close();
+ }, function() {}); // Don't close on error, force user to correct or click Cancel
+ return false; // Wait for verification
}
function onCancel()
{
debug("oncancel");
+ //gVerifyAbortable.cancel();
gOutParams.ok = false;
return true;
}
View
32 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-dialogs.js
@@ -1,32 +0,0 @@
-/**
- * Verify email address, esp. that it's a UnitedInternet address.
- * Shows an error to the user, if needed.
- * @returns null, if address OK, otherwise the error msg to display to the user
- */
-function verifyEmailAddress(resetOnInvalid)
-{
- united.debug("resetOnInvalid = " + resetOnInvalid);
- var textbox = document.getElementById("emailaddress");
- var newAddress = textbox.value.toLowerCase();
- if (!newAddress) // allow empty
- return null;
- var errorMsg = null;
- if (!new RegExp(united.brand.login.emailAddressPattern).test(newAddress))
- errorMsg = textbox.getAttribute("error-domain");
- const emailAddressRegexp = /[a-z0-9\-_\.]+@[a-z0-9\-\.]+/;
- if (!errorMsg && !emailAddressRegexp.test(newAddress))
- errorMsg = textbox.getAttribute("error-syntax");
- if (errorMsg && resetOnInvalid)
- {
- // setting textbox.value doesn't apply to pref when we close immediately afterwards
- document.getElementById("extensions.unitedinternet.login.emailAddress").value = "";
- errorMsg = null;
- }
- return errorMsg;
-}
-
-function onCreateAccount()
-{
- united.loadPage(united.brand.login.createAccountURLWeb);
- window.close();
-}
View
48 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-logic.js
@@ -135,6 +135,7 @@ UnitedInternetLoginAccount.prototype =
_verifyAccountSettings : function()
{
+ assert(this.config && this.config.type == "unitedinternet");
sanitize.nonemptystring(this.accountID);
sanitize.nonemptystring(this.emailAddress);
Account.getDomainForEmailAddress(this.emailAddress); // checks
@@ -156,11 +157,11 @@ UnitedInternetLoginAccount.prototype =
*/
saveToPrefs : function()
{
- this._readServerConfig();
this._verifyAccountSettings();
this._pref = ourPref.branch("account." + this.accountID + ".");
this._pref.set("type", "unitedinternet");
+ this._pref.set("provider", this.config.providerID);
this._pref.set("emailAddress", this.emailAddress);
this._pref.set("storeLogin", this._wantStoredLogin);
@@ -173,17 +174,48 @@ UnitedInternetLoginAccount.prototype =
}
},
+ /**
+ * Only for makeNewAccount() in account-list.js.
+ * Needs to be called only once, because it persists.
+ */
+ setServerConfig : function(config)
+ {
+ assert(config && config.type == "unitedinternet" &&
+ config.loginTokenServerURL,
+ "Invalid UnitedInternet config for " + this.emailAddress);
+ this.config = config;
+ },
+
_readServerConfig : function()
{
- var domain = Account.getDomainForEmailAddress(this.emailAddress);
- for each (let config in brand.login.configs)
+ var providerID = this._pref.get("provider");
+ if (providerID)
{
- if ( !arrayContains(config.domains, domain))
- continue;
- assert(config.type == "unitedinternet");
- this.config = config;
+ for each (let config in brand.login.configs)
+ {
+ if (config.providerID != providerID)
+ continue;
+ assert(config.type == "unitedinternet");
+ this.config = config;
+ break;
+ }
+ }
+ else // migrate old accounts
+ {
+ var domain = Account.getDomainForEmailAddress(this.emailAddress);
+ for each (let config in brand.login.configs)
+ {
+ if ( !arrayContains(config.domains, domain))
+ continue;
+ this.setServerConfig(config);
+ if (this._pref) // was read from prefs
+ this._pref.set("provider", this.config.providerID);
+ break;
+ }
}
- assert(this.config.loginTokenServerURL, "Got a " + domain + " UnitedInternet account, but not the corresponding server config in brand.js");
+ assert(this.config && this.config.type == "unitedinternet" &&
+ this.config.loginTokenServerURL,
+ "Invalid UnitedInternet config for " + this.emailAddress);
},
/**
View
145 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-page.js
@@ -1,10 +1,15 @@
-/* Unique code for handling the login page */
+Components.utils.import("resource://unitedtb/util/util.js", this);
+Components.utils.import("resource://unitedtb/main/brand-var-loader.js", this);
+Components.utils.import("resource://unitedtb/email/account-list.js", this);
+Components.utils.import("resource://unitedtb/build.js");
+var gStringBundle = new StringBundle(
+ "chrome://unitedtb/locale/email/login.properties");
-var confirmClose = true;
var eLoginButton;
+var gVerifyAbortable = new Abortable();
+var confirmClose = true;
-// Used for the login page
-function onPageLoad()
+function onLoginLoad()
{
window.onbeforeunload = function(e) {
if (confirmClose)
@@ -18,56 +23,136 @@ function onPageLoad()
eLongSession = document.getElementById("long-session");
eErrorMsg = document.getElementById("error-msg");
eLoginButton = document.getElementById("login-button");
+ eFinishButton = document.getElementById("finish-button");
+
+ // We don't need to confirm close in the branded browser case or AMO
+ if (ourPref.get("brandedbrowser", false) || kVariant == "amo") {
+ confirmClose = false;
+ }
document.getElementById("forgot-password").setAttribute("href", brand.login.forgotPasswordURL);
document.getElementById("create-account").setAttribute("href", brand.login.createAccountURLWeb);
+
+ updateLoginButton();
+
+ // Allow enter key to work
+ document.addEventListener("keypress", function(event) {
+ if (event.keyCode == 13)
+ document.getElementById("login-button").click();
+ }, false);
+
+ eEmailAddress.focus();
+}
+window.addEventListener("load", onLoginLoad, false);
+
+function onEmailaddressChanged()
+{
+ updateLoginButton();
}
function onPasswordChanged()
{
- if (ePassword.value)
- eLoginButton.disabled = false;
- else
- eLoginButton.disabled = true;
+ updateLoginButton();
}
-function onLoginButtonClicked()
+function updateLoginButton()
+{
+ // Allow login button, if the user entered both email address and password.
+ // Also allow it, if no email address and no password are entered.
+ eLoginButton.disabled = eFinishButton.disabled = !
+ (ePassword.value && eEmailAddress.value ||
+ !ePassword.value && !eEmailAddress.value);
+}
+
+function onLeaveEmailaddress()
{
- // Disable login button so it can't be double clicked
- eLoginButton.disabled = true;
try {
- var acc = makeNewAccount(eEmailAddress.value.toLowerCase());
- } catch (ex) {
- errorCritical(ex);
- // Even though there was an error, we reenable the button since
- // Our validation criteria is still met
- eLoginButton.disabled = false;
+ verifyAndShowError(false, function() {});
+ } catch (e) { showErrorInline(e); }
+}
+
+/**
+ * Calls verifyEmailAddressAndPassword() logic function, and
+ * populates UI fields with the result.
+ *
+ * <copied from="login-dialog.js"/>
+ */
+function verifyAndShowError(needPassword, successCallback) {
+ eErrorMsg.textContent = "";
+ if (!eEmailAddress) // Not entering an email address is allowed
+ return;
+ // login-common.js
+ // gVerifyAbortable.cancel(); TODO breaks all further verify calls. ditto below.
+ gVerifyAbortable = verifyEmailAddressAndPassword(
+ eEmailAddress.value, ePassword.value,
+ needPassword, true,
+ successCallback, showErrorInline);
+}
+
+function showErrorInline(errorMsg)
+{
+ debug("fail: " + errorMsg);
+ eErrorMsg.textContent = errorMsg;
+ eEmailAddress.focus();
+}
+
+// </copied>
+
+function onLogin()
+{
+ if (!eEmailAddress.value && !ePassword.value) {
+ closePage();
return;
}
- acc.setPassword(ePassword.value);
- acc.wantStoredLogin = eLongSession.checked;
- acc.login(0, true,
- function() // success
+ // Disable login button so it can't be double clicked
+ eLoginButton.disabled = true;
+ eFinishButton.disabled = true;
+ var abortable = makeNewAccount(eEmailAddress.value.toLowerCase(),
+ function(acc) // success
+ {
+ acc.setPassword(ePassword.value);
+ acc.wantStoredLogin = eLongSession.checked;
+ acc.login(0, true, function() // success
{
- confirmClose = false;
acc.saveToPrefs();
- document.location.href = brand.toolbar.firstrunURL +
- "/?kid=" + ourPref.get("tracking.campaignid", 0);
+ closePage();
},
- function(e) // error handler, e.g. wrong password
+ function(e) // error, e.g. wrong password
{
- errorCritical(e); // explicit user action, so notify user of errors
+ showErrorInline(e); // explicit user action, so notify user of errors
acc.deleteAccount();
acc = null;
- // We don't leave page
- // Even though there was an error, we reenable the button since
- // Our validation criteria is still met
+ // We don't leave the page.
+ // Even though there was an error, we reenable the button,
+ // because our validation criteria is still met.
eLoginButton.disabled = false;
+ eFinishButton.disabled = false;
});
+ },
+ function(e) // error, e.g. domain not supported or account already exists
+ {
+ showErrorInline(e);
+ // Even though there was an error, we reenable the button since
+ // Our validation criteria is still met
+ eLoginButton.disabled = false;
+ });
}
function onCloseButton()
{
+ // gVerifyAbortable.cancel();
+ // We don't need to confirm close in the branded browser case
+ // or AMO
+ if (ourPref.get("brandedbrowser", false) || kVariant == "amo")
+ closePage();
+ else
+ optinConfirmClose(closePage);
+}
+
+function closePage()
+{
confirmClose = false;
- optinConfirmClose();
+ // Route to the firstrun page
+ document.location.href = brand.toolbar.firstrunURL +
+ "/?kid=" + ourPref.get("tracking.campaignid", 0);
}
View
68 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login-page.xhtml
@@ -1,68 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
- <!ENTITY % brandDTD SYSTEM "chrome://unitedtb/locale/brand.dtd">
- %brandDTD;
- <!ENTITY % loginDTD SYSTEM "chrome://unitedtb/locale/email/login-page.dtd">
- %loginDTD;
-]>
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>&login.title;</title>
- <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
-
- <link rel="stylesheet" type="text/css"
- href="chrome://unitedtb/skin/pref/opt-in.css"/>
- <link rel="stylesheet" type="text/css"
- href="chrome://unitedtb/skin/pref/opt-in-brand.css"/>
- <link rel="stylesheet" type="text/css"
- href="chrome://unitedtb/skin/email/login-page.css"/>
-</head>
-<body onload="onPageLoad();">
- <script type="text/javascript;version=1.8"
- src="chrome://unitedtb/content/util/uiutil.js"></script>
- <script type="text/javascript">
- var united = getTopLevelWindowContext().united;
- </script>
- <script type="text/javascript;version=1.8"
- src="chrome://unitedtb/content/email/login-dialog.js"></script>
- <script type="text/javascript;version=1.8"
- src="chrome://unitedtb/content/email/login-page.js"></script>
- <script type="text/javascript;version=1.8"
- src="chrome://unitedtb/content/email/login-common.js"></script>
- <script type="text/javascript;version=1.8"
- src="chrome://unitedtb/content/pref/opt-in-confirm.js"></script>
-
- <div id="container">
- <div class="button-box">
- <a id="close-button" href="#" onclick="onCloseButton()">&close.button.label;</a>
- </div>
- <h1><span id="logo"></span></h1>
- <div class="intro">
- &intro.heading;<br/>
- <span class="descr">&intro.descr;</span>
- </div>
- <form id="loginform" onsubmit="onLoginButtonClicked(); return false;" autocomplete="off">
- <div id="emailaddress-box">
- <label for="emailaddress" accesskey="&emailaddress.accesskey;">&emailaddress.label;</label>
- <input type="text" id="emailaddress" />
- </div>
- <div id="password-box">
- <label for="emailaddress" accesskey="&password.accesskey;">&password.label;</label>
- <input type="password" id="password" oninput="onPasswordChanged();"
- onblur="onPasswordChanged();" onfocus="onLeaveEmailaddress();onPasswordChanged();"/>
- </div>
- <div id="long-session-box">
- <label>&nbsp;</label>
- <input type="checkbox" checked="true" id="long-session" accesskey="&long-session.accesskey;"/>
- <label for="long-session">&long-session.label;</label>
- </div>
- <div id="error-msg"/>
- <div class="button-box">
- <a target="_blank" id="forgot-password">&forgotpassword.label;</a>
- <a target="_blank" id="create-account">&createaccount.label;</a>
- <input type="submit" id="login-button" value="&login.finish.button.label;" disabled="true"/>
- </div>
- </form>
- </div>
-</body>
-</html>
View
107 partners/gmx/distribution/extensions/toolbar@gmx.net/content/email/login.js
@@ -83,18 +83,7 @@ function readAccounts()
function migrate()
{
try {
- let oldAccount = ourPref.get("login.emailAddress");
- let accountsList = ourPref.get("accountsList");
- if ( !accountsList && oldAccount)
- {
- let oldStoreLogin = !!ourPref.get("login.longSession", true);
- ourPref.reset("login.emailAddress");
- ourPref.reset("login.longSession");
- let acc = makeNewAccount(oldAccount);
- acc.wantStoredLogin = oldStoreLogin;
- acc.saveToPrefs();
- }
- if (accountsList)
+ if (ourPref.get("accountsList", null))
ourPref.set("email.runonceNewUsersShown", true);
} catch (e) { error(e); }
}
@@ -180,13 +169,13 @@ function onLoginRequest(params)
if ( !gAccs.length) // we have no accounts yet
{
// create account, but only our brand
- tryLogin(2, null, false, successCallback, errorCallback, abortCallback);
+ tryLogin(2, null, false, null, successCallback, errorCallback, abortCallback);
}
else if (needAccountType == 9 || needAccountType == 1) // specific account
{
if (needAccountType == 1)
acc = getPrimaryAccount();
- tryLogin(1, acc, true, successCallback, errorCallback, abortCallback);
+ tryLogin(1, acc, true, null, successCallback, errorCallback, abortCallback);
}
else if (needAccountType == 10) // all accounts
{
@@ -225,7 +214,7 @@ function onLoginRequest(params)
};
for each (let acc in gAccs)
- tryLogin(1, acc, true, combinedSuccessCallback, combinedErrorCallback,
+ tryLogin(1, acc, true, null, combinedSuccessCallback, combinedErrorCallback,
combinedAbortCallback);
}
}
@@ -289,6 +278,9 @@ function onCommandDoLogin()
* @param allowAutoLogin {Boolean}
* if true and we have a password stored, don't show UI, but login directly
* if false, show dialog in any case
+ * @param parentWin {Window} optional
+ * if given the window is used as the parent of the login dialog
+ * if null, the current window is used
*
* @param successCallback {Function(account)}
* called when the user successfully logged in (usecase 1 and 2)
@@ -301,9 +293,37 @@ function onCommandDoLogin()
* @param abortCallback {Function(e)}
* called when user clicked Cancel (including after an error)
*/
-function tryLogin(usecase, acc, allowAutoLogin,
+function tryLogin(usecase, acc, allowAutoLogin, parentWindow,
successCallback, errorCallback, abortCallback)
{
+ var loginFunc = function()
+ {
+ acc.login(0, true,
+ // on success, login-logic.js will send out a global "logged-in"
+ // message, which will trigger the further steps (in all windows)
+ function() // success
+ {
+ if (usecase == 2)
+ {
+ acc.saveToPrefs();
+ openWelcomePageMaybe(acc);
+ }
+ successCallback(acc);
+ },
+ function(e) // error handler, e.g. wrong password
+ {
+ errorCritical(e); // explicit user action, so notify user of errors
+ if (usecase == 2)
+ {
+ acc.deleteAccount();
+ acc = null;
+ }
+ // let user try again. no loop, because user can abort dialog
+ tryLogin(usecase, acc, false, parentWindow,
+ successCallback, errorCallback, abortCallback);
+ });
+ };
+
try {
sanitize.enum(usecase, [1, 2, 3]);
assert(usecase == 2 || acc && acc.emailAddress);
@@ -319,7 +339,10 @@ function tryLogin(usecase, acc, allowAutoLogin,
}
if (usecase == 1 && acc.haveStoredLogin && allowAutoLogin)
- ; // don't show dialog, skip directly to login
+ {
+ // don't show dialog, skip directly to login
+ loginFunc(acc);
+ }
else // show dialog
{
var prefillEmail = acc ? acc.emailAddress : "";
@@ -328,7 +351,7 @@ function tryLogin(usecase, acc, allowAutoLogin,
emailAddress : prefillEmail,
wantStoredLogin : prefillStore,
usecase : usecase,
- });
+ }, parentWindow);
if (!answ) // user cancelled
{
abortCallback();
@@ -345,8 +368,12 @@ function tryLogin(usecase, acc, allowAutoLogin,
errorCallback(new Exception(gStringBundle.get("error.exists")));
return;
}
- acc = makeNewAccount(answ.emailAddress);
- acc.wantStoredLogin = answ.wantStoredLogin;
+ makeNewAccount(answ.emailAddress, function(newAcc) {
+ acc = newAcc;
+ acc.wantStoredLogin = answ.wantStoredLogin;
+ acc.setPassword(answ.password);
+ loginFunc();
+ }, errorCallback);
}
else // login or edit
{
@@ -356,34 +383,10 @@ function tryLogin(usecase, acc, allowAutoLogin,
acc.wantStoredLogin = answ.wantStoredLogin;
acc.saveToPrefs();
}
+ acc.setPassword(answ.password);
+ loginFunc();
}
-
- acc.setPassword(answ.password);
}
-
- acc.login(0, true,
- // on success, login-logic.js will send out a global "logged-in"
- // message, which will trigger the further steps (in all windows)
- function() // success
- {
- if (usecase == 2)