Bug 1346739 - Update aboutTelemetry.js to async fucntion & await draft
authorflyingrub
Mon, 13 Mar 2017 12:37:09 +0100
changeset 499026 59afd4f1250605627e34a373079c02fd19df75c4
parent 497206 f9362554866b327700c7f9b18050d7b7eb3d2b23
child 549262 34a0734bb1d7cf886f13eb83894c7a212b1bfa00
push id49317
push userbmo:flyinggrub@gmail.com
push dateWed, 15 Mar 2017 10:55:26 +0000
bugs1346739
milestone55.0a1
Bug 1346739 - Update aboutTelemetry.js to async fucntion & await Replaced all Task occurence by an async function MozReview-Commit-ID: 1HjHtPRTkl7
toolkit/content/aboutTelemetry.js
--- a/toolkit/content/aboutTelemetry.js
+++ b/toolkit/content/aboutTelemetry.js
@@ -12,17 +12,16 @@ Cu.import("resource://gre/modules/Servic
 Cu.import("resource://gre/modules/TelemetryTimestamps.jsm");
 Cu.import("resource://gre/modules/TelemetryController.jsm");
 Cu.import("resource://gre/modules/TelemetrySession.jsm");
 Cu.import("resource://gre/modules/TelemetryArchive.jsm");
 Cu.import("resource://gre/modules/TelemetryUtils.jsm");
 Cu.import("resource://gre/modules/TelemetryLog.jsm");
 Cu.import("resource://gre/modules/Preferences.jsm");
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Task.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
                                   "resource://gre/modules/AppConstants.jsm");
 
 const Telemetry = Services.telemetry;
 const bundle = Services.strings.createBundle(
   "chrome://global/locale/aboutTelemetry.properties");
 const brandBundle = Services.strings.createBundle(
@@ -321,67 +320,67 @@ var PingPicker = {
   onPingSourceChanged() {
     this.update();
   },
 
   onPingDisplayChanged() {
     this.update();
   },
 
-  update: Task.async(function*() {
+  async update() {
     let viewCurrent = document.getElementById("ping-source-current").checked;
     let viewStructured = document.getElementById("ping-source-structured").checked;
     let currentChanged = viewCurrent !== this.viewCurrentPingData;
     let structuredChanged = viewStructured !== this.viewStructuredPingData;
     this.viewCurrentPingData = viewCurrent;
     this.viewStructuredPingData = viewStructured;
 
     // If we have no archived pings, disable the ping archive selection.
     // This can happen on new profiles or if the ping archive is disabled.
-    let archivedPingList = yield TelemetryArchive.promiseArchivedPingList();
+    let archivedPingList = await TelemetryArchive.promiseArchivedPingList();
     let sourceArchived = document.getElementById("ping-source-archive");
     sourceArchived.disabled = (archivedPingList.length == 0);
 
     if (currentChanged) {
       if (this.viewCurrentPingData) {
         document.getElementById("current-ping-picker").classList.remove("hidden");
         document.getElementById("archived-ping-picker").classList.add("hidden");
         this._updateCurrentPingData();
       } else {
         document.getElementById("current-ping-picker").classList.add("hidden");
-        yield this._updateArchivedPingList(archivedPingList);
+        await this._updateArchivedPingList(archivedPingList);
         document.getElementById("archived-ping-picker").classList.remove("hidden");
       }
     }
 
     if (structuredChanged) {
       if (this.viewStructuredPingData) {
         this._showStructuredPingData();
       } else {
         this._showRawPingData();
       }
     }
-  }),
+  },
 
   _updateCurrentPingData() {
     const subsession = document.getElementById("show-subsession-data").checked;
     const ping = TelemetryController.getCurrentPingData(subsession);
     if (!ping) {
       return;
     }
     displayPingData(ping, true);
   },
 
   _updateArchivedPingData() {
     let id = this._getSelectedPingId();
     return TelemetryArchive.promiseArchivedPingById(id)
                            .then((ping) => displayPingData(ping, true));
   },
 
-  _updateArchivedPingList: Task.async(function*(pingList) {
+  async _updateArchivedPingList(pingList) {
     // The archived ping list is sorted in ascending timestamp order,
     // but descending is more practical for the operations we do here.
     pingList.reverse();
 
     this._archivedPings = pingList;
 
     // Collect the start dates for all the weeks we have pings for.
     let weekStart = (date) => {
@@ -408,18 +407,18 @@ var PingPicker = {
       endDate: plusOneWeek(new Date(startTime)),
     }));
 
     // Render the archive data.
     this._renderWeeks();
     this._renderPingList();
 
     // Update the displayed ping.
-    yield this._updateArchivedPingData();
-  }),
+    await this._updateArchivedPingData();
+  },
 
   _renderWeeks() {
     let weekSelector = document.getElementById("choose-ping-week");
     removeAllChildNodes(weekSelector);
 
     for (let week of this._weeks) {
       let text = shortDateString(week.startDate)
                  + " - " + shortDateString(yesterday(week.endDate));