Permalink
Browse files

Bug 808762: Port firefox/all/ page to bedrock.

New design for page.
  • Loading branch information...
1 parent dc20182 commit b086b4a9d58e1dff085ff2fead63157945e6a4ce @sgarrity sgarrity committed with pmac Nov 9, 2012
Showing with 689 additions and 13 deletions.
  1. +117 −0 apps/firefox/firefox_details.py
  2. +108 −0 apps/firefox/templates/firefox/all.html
  3. +1 −0 apps/firefox/test_data/product_details_json/.last_update
  4. +1 −0 apps/firefox/test_data/product_details_json/firefox_beta_builds.json
  5. +1 −0 apps/firefox/test_data/product_details_json/firefox_history_development_releases.json
  6. +1 −0 apps/firefox/test_data/product_details_json/firefox_history_major_releases.json
  7. +1 −0 apps/firefox/test_data/product_details_json/firefox_history_stability_releases.json
  8. +1 −0 apps/firefox/test_data/product_details_json/firefox_primary_builds.json
  9. +1 −0 apps/firefox/test_data/product_details_json/firefox_versions.json
  10. +1 −0 apps/firefox/test_data/product_details_json/languages.json
  11. +1 −0 apps/firefox/test_data/product_details_json/mobile_details.json
  12. +1 −0 apps/firefox/test_data/product_details_json/mobile_history_development_releases.json
  13. +1 −0 apps/firefox/test_data/product_details_json/mobile_history_major_releases.json
  14. +1 −0 apps/firefox/test_data/product_details_json/mobile_history_stability_releases.json
  15. +1 −0 apps/firefox/test_data/product_details_json/regions/.last_update
  16. +1 −0 apps/firefox/test_data/product_details_json/regions/af.json
  17. +1 −0 apps/firefox/test_data/product_details_json/regions/ak.json
  18. +1 −0 apps/firefox/test_data/product_details_json/regions/ar.json
  19. +1 −0 apps/firefox/test_data/product_details_json/regions/as.json
  20. +1 −0 apps/firefox/test_data/product_details_json/regions/ast.json
  21. +1 −0 apps/firefox/test_data/product_details_json/regions/be.json
  22. +1 −0 apps/firefox/test_data/product_details_json/regions/bg.json
  23. +1 −0 apps/firefox/test_data/product_details_json/regions/bn-BD.json
  24. +1 −0 apps/firefox/test_data/product_details_json/regions/bn-IN.json
  25. +1 −0 apps/firefox/test_data/product_details_json/regions/br.json
  26. +1 −0 apps/firefox/test_data/product_details_json/regions/ca.json
  27. +1 −0 apps/firefox/test_data/product_details_json/regions/cs.json
  28. +1 −0 apps/firefox/test_data/product_details_json/regions/cy.json
  29. +1 −0 apps/firefox/test_data/product_details_json/regions/da.json
  30. +1 −0 apps/firefox/test_data/product_details_json/regions/de.json
  31. +1 −0 apps/firefox/test_data/product_details_json/regions/el.json
  32. +1 −0 apps/firefox/test_data/product_details_json/regions/en-GB.json
  33. +1 −0 apps/firefox/test_data/product_details_json/regions/en-US.json
  34. +1 −0 apps/firefox/test_data/product_details_json/regions/en-ZA.json
  35. +1 −0 apps/firefox/test_data/product_details_json/regions/eo.json
  36. +1 −0 apps/firefox/test_data/product_details_json/regions/es-AR.json
  37. +1 −0 apps/firefox/test_data/product_details_json/regions/es-CL.json
  38. +1 −0 apps/firefox/test_data/product_details_json/regions/es-ES.json
  39. +1 −0 apps/firefox/test_data/product_details_json/regions/es-MX.json
  40. +1 −0 apps/firefox/test_data/product_details_json/regions/et.json
  41. +1 −0 apps/firefox/test_data/product_details_json/regions/eu.json
  42. +1 −0 apps/firefox/test_data/product_details_json/regions/fa.json
  43. +1 −0 apps/firefox/test_data/product_details_json/regions/fi.json
  44. +1 −0 apps/firefox/test_data/product_details_json/regions/fr.json
  45. +1 −0 apps/firefox/test_data/product_details_json/regions/fy-NL.json
  46. +1 −0 apps/firefox/test_data/product_details_json/regions/ga-IE.json
  47. +1 −0 apps/firefox/test_data/product_details_json/regions/gd.json
  48. +1 −0 apps/firefox/test_data/product_details_json/regions/gl.json
  49. +1 −0 apps/firefox/test_data/product_details_json/regions/gu-IN.json
  50. +1 −0 apps/firefox/test_data/product_details_json/regions/he.json
  51. +1 −0 apps/firefox/test_data/product_details_json/regions/hi-IN.json
  52. +1 −0 apps/firefox/test_data/product_details_json/regions/hr.json
  53. +1 −0 apps/firefox/test_data/product_details_json/regions/hu.json
  54. +1 −0 apps/firefox/test_data/product_details_json/regions/hy-AM.json
  55. +1 −0 apps/firefox/test_data/product_details_json/regions/id.json
  56. +1 −0 apps/firefox/test_data/product_details_json/regions/is.json
  57. +1 −0 apps/firefox/test_data/product_details_json/regions/it.json
  58. +1 −0 apps/firefox/test_data/product_details_json/regions/ka.json
  59. +1 −0 apps/firefox/test_data/product_details_json/regions/kk.json
  60. +1 −0 apps/firefox/test_data/product_details_json/regions/kn.json
  61. +1 −0 apps/firefox/test_data/product_details_json/regions/ko.json
  62. +1 −0 apps/firefox/test_data/product_details_json/regions/ku.json
  63. +1 −0 apps/firefox/test_data/product_details_json/regions/lg.json
  64. +1 −0 apps/firefox/test_data/product_details_json/regions/lt.json
  65. +1 −0 apps/firefox/test_data/product_details_json/regions/lv.json
  66. +1 −0 apps/firefox/test_data/product_details_json/regions/mai.json
  67. +1 −0 apps/firefox/test_data/product_details_json/regions/mk.json
  68. +1 −0 apps/firefox/test_data/product_details_json/regions/ml.json
  69. +1 −0 apps/firefox/test_data/product_details_json/regions/mn.json
  70. +1 −0 apps/firefox/test_data/product_details_json/regions/mr.json
  71. +1 −0 apps/firefox/test_data/product_details_json/regions/nb-NO.json
  72. +1 −0 apps/firefox/test_data/product_details_json/regions/nl.json
  73. +1 −0 apps/firefox/test_data/product_details_json/regions/nn-NO.json
  74. +1 −0 apps/firefox/test_data/product_details_json/regions/nso.json
  75. +1 −0 apps/firefox/test_data/product_details_json/regions/oc.json
  76. +1 −0 apps/firefox/test_data/product_details_json/regions/or.json
  77. +1 −0 apps/firefox/test_data/product_details_json/regions/pa-IN.json
  78. +1 −0 apps/firefox/test_data/product_details_json/regions/pl.json
  79. +1 −0 apps/firefox/test_data/product_details_json/regions/pt-BR.json
  80. +1 −0 apps/firefox/test_data/product_details_json/regions/pt-PT.json
  81. +1 −0 apps/firefox/test_data/product_details_json/regions/rm.json
  82. +1 −0 apps/firefox/test_data/product_details_json/regions/ro.json
  83. +1 −0 apps/firefox/test_data/product_details_json/regions/ru.json
  84. +1 −0 apps/firefox/test_data/product_details_json/regions/si.json
  85. +1 −0 apps/firefox/test_data/product_details_json/regions/sk.json
  86. +1 −0 apps/firefox/test_data/product_details_json/regions/sl.json
  87. +1 −0 apps/firefox/test_data/product_details_json/regions/son.json
  88. +1 −0 apps/firefox/test_data/product_details_json/regions/sq.json
  89. +1 −0 apps/firefox/test_data/product_details_json/regions/sr.json
  90. +1 −0 apps/firefox/test_data/product_details_json/regions/sv-SE.json
  91. +1 −0 apps/firefox/test_data/product_details_json/regions/ta-LK.json
  92. +1 −0 apps/firefox/test_data/product_details_json/regions/ta.json
  93. +1 −0 apps/firefox/test_data/product_details_json/regions/te.json
  94. +1 −0 apps/firefox/test_data/product_details_json/regions/th.json
  95. +1 −0 apps/firefox/test_data/product_details_json/regions/tr.json
  96. +1 −0 apps/firefox/test_data/product_details_json/regions/uk.json
  97. +1 −0 apps/firefox/test_data/product_details_json/regions/vi.json
  98. +1 −0 apps/firefox/test_data/product_details_json/regions/zh-CN.json
  99. +1 −0 apps/firefox/test_data/product_details_json/regions/zh-TW.json
  100. +1 −0 apps/firefox/test_data/product_details_json/regions/zu.json
  101. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_beta_builds.json
  102. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_history_development_releases.json
  103. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_history_major_releases.json
  104. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_history_stability_releases.json
  105. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_primary_builds.json
  106. +1 −0 apps/firefox/test_data/product_details_json/thunderbird_versions.json
  107. +82 −6 apps/firefox/tests.py
  108. +1 −0 apps/firefox/urls.py
  109. +11 −0 apps/firefox/views.py
  110. +1 −1 apps/mozorg/tests/__init__.py
  111. +1 −2 apps/mozorg/tests/test_helper_download_buttons.py
  112. +1 −2 apps/redirects/tests/test_util.py
  113. +2 −2 lib/l10n_utils/tests/test_commands.py
  114. +192 −0 media/css/firefox/all.less
  115. +6 −0 media/css/sandstone/lib.less
  116. +8 −0 media/css/sandstone/sandstone-resp.less
  117. BIN media/img/firefox/all/download-icons
  118. BIN media/img/firefox/all/download-icons.png
  119. +47 −0 media/js/firefox-language-search.js
  120. +8 −0 settings/base.py
@@ -0,0 +1,117 @@
+from operator import itemgetter
+from urllib import urlencode
+
+from product_details import ProductDetails
+
+
+# TODO: port this to django-mozilla-product-details
+class FirefoxDetails(ProductDetails):
+ download_base_url_direct = 'http://download.mozilla.org/'
+ download_base_url_transition = '/products/download.html'
+ platform_info = {
+ 'Windows': {
+ 'title': 'Windows',
+ 'id': 'win',
+ },
+ 'OS X': {
+ 'title': 'Mac OS X',
+ 'id': 'osx',
+ },
+ 'Linux': {
+ 'title': 'Linux',
+ 'id': 'linux',
+ },
+ }
+ channel_map = {
+ 'aurora': 'FIREFOX_AURORA',
+ 'beta': 'LATEST_FIREFOX_DEVEL_VERSION',
+ 'esr': 'FIREFOX_ESR',
+ 'release': 'LATEST_FIREFOX_VERSION',
+ }
+
+ def __init__(self):
+ super(FirefoxDetails, self).__init__()
+
+ def latest_version(self, channel):
+ version = self.channel_map.get(channel, 'LATEST_FIREFOX_VERSION')
+ return self.firefox_versions[version]
+
+ def _matches_query(self, info, query):
+ query = query.lower()
+ return (query in info['name_en'].lower() or
+ query in info['name_native'].lower())
+
+ def _get_filtered_builds(self, builds, version, query=None):
+ """
+ Get a list of builds, sorted by english locale name, for a specific
+ Firefox version.
+ :param builds: a build dict from the JSON
+ :param version: a firefox version. one of self.latest_versions.
+ :param query: a string to match against native or english locale name
+ :return: list
+ """
+ f_builds = []
+ for locale, build in builds.iteritems():
+ build_info = {
+ 'locale': locale,
+ 'name_en': self.languages[locale]['English'],
+ 'name_native': self.languages[locale]['native'],
+ 'platforms': {},
+ }
+
+ platforms = build.get(version)
+ if not platforms:
+ continue
+
+ # only include builds that match a search query
+ if query is not None and not self._matches_query(build_info, query):
+ continue
+
+ for plat in platforms:
+ build_info['platforms'][plat] = {
+ 'download_url': self.get_download_url(plat, locale,
+ version),
+ }
+
+ f_builds.append(build_info)
+
+ return sorted(f_builds, key=itemgetter('name_en'))
+
+ def get_filtered_full_builds(self, version, query=None):
+ """
+ Return filtered builds for the fully translated releases.
+ :param version: a firefox version. one of self.latest_version.
+ :param query: a string to match against native or english locale name
+ :return: list
+ """
+ return self._get_filtered_builds(self.firefox_primary_builds,
+ version, query)
+
+ def get_filtered_test_builds(self, version, query=None):
+ """
+ Return filtered builds for the translated releases in beta.
+ :param version: a firefox version. one of self.latest_version.
+ :param query: a string to match against native or english locale name
+ :return: list
+ """
+ return self._get_filtered_builds(self.firefox_beta_builds,
+ version, query)
+
+ def get_download_url(self, platform, language, version, product='firefox'):
+ """
+ Get direct download url for the product.
+ :param platform: OS. one of self.platform_info.keys()
+ :param language: a locale. e.g. pt-BR
+ :param version: a firefox version. one of self.latest_version.
+ :param product: optional. probably 'firefox'
+ :return: string url
+ """
+ return '?'.join([self.download_base_url_direct,
+ urlencode({
+ 'product': '%s-%s' % (product, version),
+ 'os': self.platform_info[platform]['id'],
+ 'lang': language,
+ })])
+
+
+firefox_details = FirefoxDetails()
@@ -0,0 +1,108 @@
+{% extends "firefox/base-resp.html" %}
+
+{% block page_title %}{{ _('Download Firefox in your language') }}{% endblock %}
+{% block body_id %}firefox-all{% endblock %}
+
+{% block site_css %}
+ {{ css('firefox_all') }}
+{% endblock %}
+
+{% block breadcrumbs %}
+ <nav class="breadcrumbs">
+ <a href="{{ url('mozorg.home') }}">{{_('Home')}}</a> >
+ <a href="/firefox/">{{_('Firefox')}}</a> >
+ <span>{{_('Languages')}}</span>
+ </nav>
+{% endblock %}
+
+{% block content %}
+ <hgroup id="main-feature">
+ <h1>{{_('Download Firefox in your language')}}</h1>
+ <h2>{{ _('Firefox is available in more than %s languages thanks to the contributions of Mozilla community members from around the world.')|format('70') }}</h2>
+ </hgroup>
+
+ <form id="language-search" method="get">
+ <div class="search-column">
+ <input type="search"
+ placeholder="{{ _('Search languages') }}"
+ name="q"
+ id="language-search-q"
+ list="languages"
+ {% if query %}value="{{ query }}"{% endif %}>
+ <datalist id="languages">
+ {% for build in full_builds -%}
+ <option value="{{ build.name_en }}"></option>
+ <option value="{{ build.name_native }}"></option>
+ {% endfor -%}
+ {% for build in test_builds -%}
+ <option value="{{ build.name_en }}"></option>
+ <option value="{{ build.name_native }}"></option>
+ {% endfor -%}
+ </datalist>
+ <button class="button arrow" type="submit"><span>{{ _('Search') }}</span></button>
+ </div>
+ <div class="other-column">
+ <h4>{{ _('Other Firefox downloads') }}</h4>
+ <a href="#localized-testing">{{ _('New languages still in beta') }}</a>
+ </div>
+ </form>
+
+ <div id="main-content">
+ <div id="localized">
+ {{ build_table(full_builds,
+ _('Fully localized versions')) }}
+ </div>
+
+ <div id="localized-testing">
+ {{ build_table(test_builds,
+ _('Localized versions in testing'),
+ _('These localizations aren’t final. We’re waiting for more feedback from the community to perfect them.')) }}
+ </div>
+ </div>
+{% endblock %}
+
+{% block js %}
+ {# searching with js only makes sense if we're displaying all #}
+ {% if not query %}
+ {{ js('firefox_all') }}
+ {% endif %}
+{% endblock %}
+
+{% macro build_table(builds, title, description) %}
+ <div class="build-table-container">
+ {% if builds %}
+ <table class="build-table">
+ <caption>
+ <h3>{{ title }}</h3>
+ {% if description %}
+ <p>{{ description }}</p>
+ {% endif %}
+ </caption>
+ <thead>
+ <tr>
+ <th colspan="2" scope="col">{{ _('Language') }}</th>
+ <th scope="col">{{ _('Windows') }}</th>
+ <th scope="col">{{ _('Mac OS X') }}</th>
+ <th scope="col">{{ _('Linux') }}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for build in builds %}
+ {{ build_row(build) }}
+ {% endfor %}
+ </tbody>
+ </table>
+ {% endif %}
+ <h4 class="not-found{% if builds %} hide{% endif %}">{{ _('No matching languages found.') }}</h4>
+ </div>
+{% endmacro %}
+
+{% macro build_row(build) %}
+ <tr id="{{ build.locale }}" data-search="{{ build.name_en|lower }} {{ build.name_native|lower }}">
+ <th scope="row">{{ build.name_en }}</th>
+ <td lang="{{ build.locale }}">{{ build.name_native }}</td>
+ <td class="download win"><a href="{{ build.platforms['Windows'].download_url }}" title="{{ _('Download for Windows')}}">{{ _('Download') }}</a></td>
+ <td class="download mac"><a href="{{ build.platforms['OS X'].download_url }}" title="{{ _('Download for Mac OS X')}}">{{ _('Download') }}</a></td>
+ <td class="download linux"><a href="{{ build.platforms['Linux'].download_url }}" title="{{ _('Download for Linux')}}">{{ _('Download') }}</a></td>
+ </tr>
+{% endmacro %}
@@ -0,0 +1 @@
+Fri, 30 Nov 2012 16:57:29 GMT
@@ -0,0 +1 @@
+{"ak":{"18.0b2":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ku":{"3.6.28":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"18.0b2":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"lg":{"18.0b2":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"nso":{"18.0b2":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"rm":{"3.6.28":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}}},"son":{"18.0b2":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"sw":{"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"18.0b2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}}},"or":{"3.6.28":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}}},"ta":{"3.6.28":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"18.0b2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":8},"OS X":{"filesize":19},"Linux":{"filesize":9.8}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"ta-LK":{"3.6.28":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"18.0b2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.9},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}},"zu":{"18.0b2":{"Windows":{"filesize":7.6},"OS X":{"filesize":17.4},"Linux":{"filesize":9.2}},"19.0a2":{"Windows":{"filesize":0},"OS X":{"filesize":0},"Linux":{"filesize":0}},"17.0.1":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}},"10.0.11esr":{"Windows":{"filesize":7.8},"OS X":{"filesize":19},"Linux":{"filesize":9.6}}}}
@@ -0,0 +1 @@
+{"1.0rc1":"2004-10-27","1.0rc2":"2004-11-03","1.5rc1":"2005-11-01","1.5rc2":"2005-11-10","1.5rc3":"2005-11-17","2.0b1":"2006-07-12","2.0b2":"2006-08-31","2.0rc1":"2006-09-26","2.0rc2":"2006-10-06","2.0rc3":"2007-10-16","3.0b1":"2007-11-19","3.0b2":"2007-12-18","3.0b3":"2008-02-12","3.0b4":"2008-03-10","3.0b5":"2008-04-02","3.0rc1":"2008-05-16","3.0rc2":"2008-06-03","3.1b1":"2008-08-14","3.1b2":"2008-12-08","3.1b3":"2009-03-12","3.5b4":"2009-04-27","3.5rc2":"2009-06-19","3.5rc3":"2009-06-24","3.6b1":"2009-10-30","3.6b2":"2009-11-10","3.6b3":"2009-11-17","3.6b4":"2009-11-26","3.6b5":"2009-12-17","3.6rc1":"2010-01-08","3.6rc2":"2010-01-17","3.6.3plugin1":"2010-04-08","3.6.4build1":"2010-04-20","3.6.4build3":"2010-05-04","3.6.4build4":"2010-05-14","3.6.4build5":"2010-05-26","3.6.4build6":"2010-05-28","3.6.4build7":"2010-06-14","3.6.7build1":"2010-07-02","4.0b1":"2010-07-06","4.0b2":"2010-07-27","4.0b3":"2010-08-11","4.0b4":"2010-08-24","4.0b5":"2010-09-07","4.0b6":"2010-09-14","4.0b7":"2010-11-10","4.0b8":"2010-12-22","4.0b9":"2011-01-14","4.0b10":"2011-01-25","4.0b11":"2011-02-08","4.0b12":"2011-02-25","4.0rc1":"2011-03-09","4.0rc2":"2011-03-18","5.0b1":"2011-05-20","5.0b2":"2011-05-20","5.0b3":"2011-06-01","5.0b5":"2011-06-09","5.0b6":"2011-06-14","5.0b7":"2011-06-15","6.0b1":"2011-07-08","6.0b2":"2011-07-15","6.0b3":"2011-07-25","6.0b4":"2011-08-01","6.0b5":"2011-08-05","7.0b1":"2011-08-18","7.0b2":"2011-08-26","7.0b4":"2011-09-06","7.0b5":"2011-09-09","7.0b6":"2011-09-19","8.0b1":"2011-09-29","8.0b2":"2011-10-10","8.0b3":"2011-10-14","8.0b4":"2011-10-21","8.0b5":"2011-10-28","8.0b6":"2011-11-03","9.0b1":"2011-11-10","9.0b2":"2011-11-17","9.0b3":"2011-11-25","9.0b4":"2011-12-02","9.0b5":"2011-12-09","9.0b6":"2011-12-15","10.0b1":"2011-12-22","10.0b2":"2011-12-30","10.0b3":"2012-01-06","10.0b4":"2012-01-13","10.0b5":"2012-01-20","10.0b6":"2012-01-26","11.0b1":"2012-02-03","11.0b2":"2012-02-10","11.0b3":"2012-02-17","11.0b4":"2012-02-24","11.0b5":"2012-03-02","11.0b6":"2012-03-07","11.0b7":"2012-03-09","11.0b8":"2012-03-11","12.0b1":"2012-03-16","12.0b2":"2012-03-22","12.0b3":"2012-03-30","12.0b4":"2012-04-05","12.0b5":"2012-04-13","12.0b6":"2012-04-19","13.0b1":"2012-04-26","13.0b2":"2012-05-03","13.0b3":"2012-05-11","13.0b4":"2012-05-18","13.0b5":"2012-05-25","13.0b6":"2012-05-29","13.0b7":"2012-06-01","14.0b6":"2012-06-07","14.0b7":"2012-06-14","14.0b8":"2012-06-21","14.0b9":"2012-06-25","14.0b10":"2012-06-29","14.0b11":"2012-07-06","14.0b12":"2012-07-11","15.0b1":"2012-07-19","15.0b2":"2012-07-27","15.0b3":"2012-08-02","15.0b4":"2012-08-10","15.0b5":"2012-08-17","15.0b6":"2012-08-22","16.0b1":"2012-08-30","16.0b2":"2012-09-07","16.0b3":"2012-09-13","16.0b4":"2012-09-21","16.0b5":"2012-09-27","16.0b6":"2012-10-03","17.0b1":"2012-10-11","17.0b2":"2012-10-22","17.0b3":"2012-10-24","17.0b4":"2012-11-02","17.0b5":"2012-11-08","17.0b6":"2012-11-14","18.0b1":"2012-11-26","18.0b2":"2012-11-29"}
@@ -0,0 +1 @@
+{"1.0":"2004-11-09","1.5":"2005-11-29","2.0":"2006-10-24","3.0":"2008-06-17","3.5":"2009-06-30","3.6":"2010-01-21","4.0":"2011-03-22","5.0":"2011-06-21","6.0":"2011-08-16","7.0":"2011-09-27","8.0":"2011-11-08","9.0":"2011-12-20","10.0":"2012-01-31","11.0":"2012-03-13","12.0":"2012-04-24","13.0":"2012-06-05","14.0.1":"2012-07-17","15.0":"2012-08-28","16.0":"2012-10-09","17.0":"2012-11-20"}
@@ -0,0 +1 @@
+{"1.0.1":"2005-02-24","1.0.2":"2005-03-23","1.0.3":"2005-04-15","1.0.4":"2005-05-11","1.0.5":"2005-07-12","1.0.6":"2005-07-19","1.0.7":"2005-09-20","1.0.8":"2006-04-13","1.5.0.1":"2006-02-01","1.5.0.2":"2006-04-13","1.5.0.3":"2006-05-02","1.5.0.4":"2006-06-01","1.5.0.5":"2006-07-26","1.5.0.6":"2006-08-02","1.5.0.7":"2006-09-14","1.5.0.8":"2006-11-07","1.5.0.9":"2006-12-19","1.5.0.10":"2007-02-23","1.5.0.11":"2007-03-20","1.5.0.12":"2007-05-30","2.0.0.1":"2006-12-19","2.0.0.2":"2007-02-23","2.0.0.3":"2007-03-20","2.0.0.4":"2007-05-30","2.0.0.5":"2007-07-17","2.0.0.6":"2007-07-30","2.0.0.7":"2007-09-18","2.0.0.8":"2007-10-18","2.0.0.9":"2007-11-01","2.0.0.10":"2007-11-26","2.0.0.11":"2007-11-30","2.0.0.12":"2008-02-07","2.0.0.13":"2008-03-25","2.0.0.14":"2008-04-16","2.0.0.15":"2008-07-01","2.0.0.16":"2008-07-15","2.0.0.17":"2008-09-23","2.0.0.18":"2008-11-12","2.0.0.19":"2008-12-16","2.0.0.20":"2008-12-18","3.0.1":"2008-07-16","3.0.2":"2008-09-23","3.0.3":"2008-09-26","3.0.4":"2008-11-12","3.0.5":"2008-12-16","3.0.6":"2009-02-03","3.0.7":"2009-03-04","3.0.8":"2009-03-27","3.0.9":"2009-04-21","3.0.10":"2009-04-27","3.0.11":"2009-06-11","3.0.12":"2009-07-21","3.0.13":"2009-08-03","3.0.14":"2009-09-09","3.0.15":"2009-10-27","3.0.16":"2009-12-15","3.0.17":"2010-01-05","3.0.18":"2010-02-17","3.0.19":"2010-03-30","3.5.1":"2009-07-17","3.5.2":"2009-08-03","3.5.3":"2009-09-09","3.5.4":"2009-10-27","3.5.5":"2009-11-05","3.5.6":"2009-12-15","3.5.7":"2010-01-05","3.5.8":"2010-02-17","3.5.9":"2010-03-30","3.5.10":"2010-06-22","3.5.11":"2010-07-20","3.5.12":"2010-09-07","3.5.13":"2010-09-15","3.5.14":"2010-10-19","3.5.15":"2010-10-27","3.5.16":"2010-12-09","3.5.17":"2011-03-01","3.5.18":"2011-03-22","3.5.19":"2011-04-28","3.6.2":"2010-03-22","3.6.3":"2010-04-01","3.6.4":"2010-06-22","3.6.6":"2010-06-26","3.6.7":"2010-07-20","3.6.8":"2010-07-23","3.6.9":"2010-09-07","3.6.10":"2010-09-15","3.6.11":"2010-10-19","3.6.12":"2010-10-27","3.6.13":"2010-12-09","3.6.14":"2011-03-01","3.6.15":"2011-03-04","3.6.16":"2011-03-22","3.6.17":"2011-04-28","3.6.18":"2011-06-21","3.6.19":"2011-07-11","3.6.20":"2011-08-16","3.6.21":"2011-08-30","3.6.22":"2011-09-06","3.6.23":"2011-09-27","3.6.24":"2011-11-08","3.6.25":"2011-12-20","4.0.1":"2011-04-28","5.0.1":"2011-07-11","6.0.1":"2011-08-30","6.0.2":"2011-09-06","7.0.1":"2011-09-29","8.0.1":"2011-11-21","9.0.1":"2011-12-21","3.6.26":"2012-01-31","10.0.1":"2012-02-10","10.0.2":"2012-02-16","3.6.27":"2012-02-17","10.0.3":"2012-03-13","3.6.28":"2012-03-13","10.0.4":"2012-04-24","10.0.5":"2012-06-05","13.0.1":"2012-06-15","10.0.6":"2012-07-17","10.0.7":"2012-08-28","15.0.1":"2012-09-06","10.0.8":"2012-10-09","16.0.1":"2012-10-11","10.0.9":"2012-10-12","16.0.2":"2012-10-26","10.0.10":"2012-10-26","10.0.11":"2012-11-20","17.0.1":"2012-11-30"}

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1 @@
+{"LATEST_FIREFOX_VERSION":"17.0.1","LATEST_FIREFOX_DEVEL_VERSION":"18.0b2","LATEST_FIREFOX_RELEASED_DEVEL_VERSION":"18.0b2","LATEST_FIREFOX_OLDER_VERSION":"3.6.28","FIREFOX_AURORA":"19.0a2","FIREFOX_ESR":"10.0.11esr"}
Oops, something went wrong.

0 comments on commit b086b4a

Please sign in to comment.