Bug 737596 - Enable Telemetry by default on Nightly and Aurora channels (mobile). r=bnicholson
authorTheo Chevalier <theo.chevalier11@gmail.com>
Mon, 10 Dec 2012 23:25:50 +0100
changeset 115555 7b3ffe203ebf4db8308c9e37394d592e03887ae9
parent 115554 057218b30dcb840dca2ccad8a7d06d4991c7b33c
child 115556 ad491d4e39da0197c08a2ffc10f9206ea7bea82d
push id19412
push usertheo.chevalier11@gmail.com
push dateMon, 10 Dec 2012 22:26:27 +0000
treeherdermozilla-inbound@4c4bdc7fc6c6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbnicholson
bugs737596
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 737596 - Enable Telemetry by default on Nightly and Aurora channels (mobile). r=bnicholson
build/automation.py.in
layout/tools/reftest/remotereftest.py
layout/tools/reftest/runreftestb2g.py
mobile/android/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
mobile/android/base/resources/xml/preferences.xml.in
mobile/android/chrome/content/WebAppRT.js
mobile/android/chrome/content/about.xhtml
mobile/android/chrome/content/browser.js
mobile/android/chrome/jar.mn
mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
mobile/xul/chrome/content/about.xhtml
--- a/build/automation.py.in
+++ b/build/automation.py.in
@@ -402,17 +402,18 @@ user_pref("test.mousescroll", true);
 user_pref("security.default_personal_cert", "Select Automatically"); // Need to client auth test be w/o any dialogs
 user_pref("network.http.prompt-temp-redirect", false);
 user_pref("media.cache_size", 100);
 user_pref("security.warn_viewing_mixed", false);
 user_pref("app.update.enabled", false);
 user_pref("app.update.staging.enabled", false);
 user_pref("browser.panorama.experienced_first_run", true); // Assume experienced
 user_pref("dom.w3c_touch_events.enabled", 1);
-user_pref("toolkit.telemetry.prompted", 2);
+#expand user_pref("toolkit.telemetry.prompted", __MOZ_TELEMETRY_DISPLAY_REV__);
+#expand user_pref("toolkit.telemetry.notifiedOptOut", __MOZ_TELEMETRY_DISPLAY_REV__);
 // Existing tests assume there is no font size inflation.
 user_pref("font.size.inflation.emPerLine", 0);
 user_pref("font.size.inflation.minTwips", 0);
 
 // Only load extensions from the application and user profile
 // AddonManager.SCOPE_PROFILE + AddonManager.SCOPE_APPLICATION
 user_pref("extensions.enabledScopes", 5);
 // Disable metadata caching for installed add-ons by default
--- a/layout/tools/reftest/remotereftest.py
+++ b/layout/tools/reftest/remotereftest.py
@@ -310,17 +310,18 @@ class RemoteReftest(RefTest):
 
         # Turn off the locale picker screen
         fhandle = open(os.path.join(profileDir, "user.js"), 'a')
         fhandle.write("""
 user_pref("browser.firstrun.show.localepicker", false);
 user_pref("font.size.inflation.emPerLine", 0);
 user_pref("font.size.inflation.minTwips", 0);
 user_pref("reftest.remote", true);
-user_pref("toolkit.telemetry.prompted", true);
+#expand user_pref("toolkit.telemetry.prompted", __MOZ_TELEMETRY_DISPLAY_REV__);
+#expand user_pref("toolkit.telemetry.notifiedOptOut", __MOZ_TELEMETRY_DISPLAY_REV__);
 user_pref("reftest.uri", "%s");
 """ % reftestlist)
 
         #workaround for jsreftests.
         if options.enablePrivilege:
             fhandle.write("""
 user_pref("capability.principal.codebase.p2.granted", "UniversalXPConnect");
 user_pref("capability.principal.codebase.p2.id", "http://%s:%s");
--- a/layout/tools/reftest/runreftestb2g.py
+++ b/layout/tools/reftest/runreftestb2g.py
@@ -400,17 +400,18 @@ user_pref("dom.ipc.tabs.disabled", false
 user_pref("dom.mozBrowserFramesEnabled", true);\n
 user_pref("dom.mozBrowserFramesWhitelist","app://system.gaiamobile.org");\n
 user_pref("network.dns.localDomains","app://system.gaiamobile.org");\n
 user_pref("font.size.inflation.emPerLine", 0);
 user_pref("font.size.inflation.minTwips", 0);
 user_pref("reftest.browser.iframe.enabled", true);
 user_pref("reftest.remote", true);
 user_pref("reftest.uri", "%s");
-user_pref("toolkit.telemetry.prompted", true);
+#expand user_pref("toolkit.telemetry.prompted", __MOZ_TELEMETRY_DISPLAY_REV__);
+#expand user_pref("toolkit.telemetry.notifiedOptOut", __MOZ_TELEMETRY_DISPLAY_REV__);
 user_pref("marionette.loadearly", true);
 """ % reftestlist)
 
         #workaround for jsreftests.
         if getattr(options, 'enablePrivilege', False):
             fhandle.write("""
 user_pref("capability.principal.codebase.p2.granted", "UniversalXPConnect");
 user_pref("capability.principal.codebase.p2.id", "http://%s:%s");
--- a/mobile/android/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
+++ b/mobile/android/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
@@ -25,17 +25,24 @@
           <label id="feedback-list-header" class="panel-header" value="&feedbackHeader2.label;"/>
           <settings id="feedback-communicate" label="&feedback.communicate.title;">
             <setting title="&feedback.feedback.title;" type="control">
               <button id="feedback-feedback-happy" oncommand="Feedback.openFeedback('happy');"/>
               <button id="feedback-feedback-sad" oncommand="Feedback.openFeedback('sad');"/>
             </setting>
           </settings>
           <settings id="feedback-tools" label="&feedback.tools.title;">
-            <setting pref="toolkit.telemetry.enabled" title="&feedback.allowTelemetry.title;" type="bool"/>
+            <setting
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+                     pref="toolkit.telemetry.enabledPreRelease"
+#else
+                     pref="toolkit.telemetry.enabled"
+#endif
+                     title="&feedback.allowTelemetry.title;"
+                     type="bool"/>
             <setting id="feedback-checkCompatibility" title="&feedback.forceCompat.title;" type="bool" inverted="true" oninputchanged="Feedback.updateRestart();"/>
             <setting pref="devtools.errorconsole.enabled" title="&feedback.errorConsole.title;" type="bool"/>
           </settings>
         </richlistbox>
       </notificationbox>
     </vbox>
   </deck>
 </overlay>
--- a/mobile/android/base/resources/xml/preferences.xml.in
+++ b/mobile/android/base/resources/xml/preferences.xml.in
@@ -89,17 +89,22 @@
                             android:persistent="false" />
 
         <CheckBoxPreference android:key="browser.search.suggest.enabled"
                             android:title="@string/pref_search_suggestions"
                             android:defaultValue="true"
                             android:persistent="false" />
 
 #ifdef MOZ_TELEMETRY_REPORTING
-        <CheckBoxPreference android:key="toolkit.telemetry.enabled"
+        <CheckBoxPreference
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+                            android:key="toolkit.telemetry.enabledPreRelease"
+#else
+                            android:key="toolkit.telemetry.enabled"
+#endif
                             android:title="@string/pref_telemetry"
                             android:persistent="false" />
 #endif
 
         <CheckBoxPreference android:key="android.not_a_preference.privacy.announcements.enabled"
                             android:title="@string/pref_show_product_announcements"
                             android:defaultValue="true"
                             android:persistent="true" />
--- a/mobile/android/chrome/content/WebAppRT.js
+++ b/mobile/android/chrome/content/WebAppRT.js
@@ -22,17 +22,18 @@ var WebAppRT = {
   prefs: [
     // Disable all add-on locations other than the profile (which can't be disabled this way)
     pref("extensions.enabledScopes", 1),
     // Auto-disable any add-ons that are "dropped in" to the profile
     pref("extensions.autoDisableScopes", 1),
     // Disable add-on installation via the web-exposed APIs
     pref("xpinstall.enabled", false),
     // Disable the telemetry prompt in webapps
-    pref("toolkit.telemetry.prompted", 2)
+#expand user_pref("toolkit.telemetry.prompted", __MOZ_TELEMETRY_DISPLAY_REV__),
+#expand user_pref("toolkit.telemetry.notifiedOptOut", __MOZ_TELEMETRY_DISPLAY_REV__)
   ],
 
   init: function(isUpdate, url) {
     this.deck = document.getElementById("browsers");
     this.deck.addEventListener("click", this, false, true);
 
     // on first run, update any prefs
     if (isUpdate == "new") {
--- a/mobile/android/chrome/content/about.xhtml
+++ b/mobile/android/chrome/content/about.xhtml
@@ -32,18 +32,24 @@
 #ifdef MOZ_UPDATER
     <div id="updateBox">
       <a id="updateLink" href="" onclick="checkForUpdates();">&aboutPage.checkForUpdates.link;</a>
       <span id="update-message-checking">&aboutPage.checkForUpdates.checking;</span>
       <span id="update-message-none">&aboutPage.checkForUpdates.none;</span>
       <span id="update-message-found">&aboutPage.checkForUpdates.found;</span>
     </div>
 #endif
+
     <div id="aboutTelemetry" hidden="true">
-      <p id="telemetry">&aboutPage.warningVersion;&aboutPage.telemetryStart;<a href="http://www.mozilla.org/">&aboutPage.telemetryMozillaLink;</a>&aboutPage.telemetryEnd;</p>
+      <p id="telemetry">
+        &aboutPage.warningVersion;
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+        &aboutPage.telemetryStart;<a href="http://www.mozilla.org/">&aboutPage.telemetryMozillaLink;</a>&aboutPage.telemetryEnd;
+#endif
+      </p>
     </div>
   </div>
 
     <ul id="aboutLinks">
       <div class="top-border"></div>
       <li><a id="faqURL">&aboutPage.faq.label;</a></li>
       <li><a id="supportURL">&aboutPage.support.label;</a></li>
       <li><a id="privacyURL">&aboutPage.privacyPolicy.label;</a></li>
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -1,8 +1,9 @@
+#filter substitution
 // -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; js2-basic-offset: 2; js2-skip-preprocessor-directives: t; -*-
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 let Cc = Components.classes;
 let Ci = Components.interfaces;
@@ -7101,22 +7102,26 @@ var RemoteDebugger = {
   _stop: function rd_start() {
     DebuggerServer.closeListener();
     dump("Remote debugger stopped");
   }
 };
 
 var Telemetry = {
   _PREF_TELEMETRY_PROMPTED: "toolkit.telemetry.prompted",
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+  _PREF_TELEMETRY_ENABLED: "toolkit.telemetry.enabledPreRelease",
+#else
   _PREF_TELEMETRY_ENABLED: "toolkit.telemetry.enabled",
+#endif
   _PREF_TELEMETRY_REJECTED: "toolkit.telemetry.rejected",
   _PREF_TELEMETRY_SERVER_OWNER: "toolkit.telemetry.server_owner",
 
   // This is used to reprompt users when privacy message changes
-  _TELEMETRY_PROMPT_REV: 2,
+  _TELEMETRY_PROMPT_REV: "@MOZ_TELEMETRY_DISPLAY_REV@",
 
   init: function init() {
     Services.obs.addObserver(this, "Preferences:Set", false);
     Services.obs.addObserver(this, "Telemetry:Add", false);
     Services.obs.addObserver(this, "Telemetry:Prompt", false);
   },
 
   uninit: function uninit() {
--- a/mobile/android/chrome/jar.mn
+++ b/mobile/android/chrome/jar.mn
@@ -33,16 +33,16 @@ chrome.jar:
   content/bindings/settings.xml        (content/bindings/settings.xml)
   content/sanitize.js                  (content/sanitize.js)
   content/exceptions.js                (content/exceptions.js)
 * content/downloads.js                 (content/downloads.js)
   content/netError.xhtml               (content/netError.xhtml)
   content/SelectHelper.js              (content/SelectHelper.js)
   content/HelperApps.js                (content/HelperApps.js)
   content/dbg-browser-actors.js        (content/dbg-browser-actors.js)
-  content/WebAppRT.js                  (content/WebAppRT.js)
+* content/WebAppRT.js                  (content/WebAppRT.js)
   content/InputWidgetHelper.js         (content/InputWidgetHelper.js)
 
 % content branding %content/branding/
 
 % override chrome://global/content/config.xul chrome://browser/content/config.xhtml
 % override chrome://global/content/netError.xhtml chrome://browser/content/netError.xhtml
 % override chrome://mozapps/content/extensions/extensions.xul chrome://browser/content/aboutAddons.xhtml
--- a/mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
+++ b/mobile/xul/app/profile/extensions/feedback@mobile.mozilla.org/content/overlay.xul
@@ -25,17 +25,24 @@
           <label id="feedback-list-header" class="panel-header" value="&feedbackHeader2.label;"/>
           <settings id="feedback-communicate" label="&feedback.communicate.title;">
             <setting title="&feedback.feedback.title;" type="control">
               <button id="feedback-feedback-happy" oncommand="Feedback.openFeedback('happy');"/>
               <button id="feedback-feedback-sad" oncommand="Feedback.openFeedback('sad');"/>
             </setting>
           </settings>
           <settings id="feedback-tools" label="&feedback.tools.title;">
-            <setting pref="toolkit.telemetry.enabled" title="&feedback.allowTelemetry.title;" type="bool"/>
+            <setting 
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+                     pref="toolkit.telemetry.enabledPreRelease"
+#else
+                     pref="toolkit.telemetry.enabled"
+#endif
+                     title="&feedback.allowTelemetry.title;"
+                     type="bool"/>
             <setting id="feedback-checkCompatibility" title="&feedback.forceCompat.title;" type="bool" inverted="true" oninputchanged="Feedback.updateRestart();"/>
             <setting pref="devtools.errorconsole.enabled" title="&feedback.errorConsole.title;" type="bool"/>
           </settings>
         </richlistbox>
       </notificationbox>
     </vbox>
   </deck>
 </overlay>
--- a/mobile/xul/chrome/content/about.xhtml
+++ b/mobile/xul/chrome/content/about.xhtml
@@ -32,17 +32,22 @@
 #ifdef MOZ_UPDATER
     <button id="update" onclick="checkForUpdates();">&aboutPage.checkForUpdates.button;</button>
     <span id="update-message-checking">&aboutPage.checkForUpdates.checking;</span>
     <span id="update-message-none">&aboutPage.checkForUpdates.none;</span>
     <span id="update-message-found">&aboutPage.checkForUpdates.found;</span>
 #endif
 
     <div id="aboutTelemetry" hidden="true">
-      <p id="telemetry">&aboutPage.warningVersion;&aboutPage.telemetryStart;<a href="http://www.mozilla.org/">&aboutPage.telemetryMozillaLink;</a>&aboutPage.telemetryEnd;</p>
+      <p id="telemetry">
+        &aboutPage.warningVersion;
+#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT
+        &aboutPage.telemetryStart;<a href="http://www.mozilla.org/">&aboutPage.telemetryMozillaLink;</a>&aboutPage.telemetryEnd;
+#endif
+      </p>
     </div>
 
     <ul id="aboutLinks">
       <li><a id="faqURL">&aboutPage.faq.label;</a></li>
       <li><a id="supportURL">&aboutPage.support.label;</a></li>
       <li><a id="privacyURL">&aboutPage.privacyPolicy.label;</a></li>
       <li><a href="about:rights">&aboutPage.rights.label;</a></li>
       <li><a id="releaseNotesURL">&aboutPage.relNotes.label;</a></li>