Bug 1385170 - show button string by checking if the platform support set default browser in background;r=mossop draft
authorgasolin <gasolin@gmail.com>
Fri, 28 Jul 2017 13:39:31 +0800
changeset 618252 873f0b4577a4d2da7077d828774d624ca66274a9
parent 618251 2577e496f419f0628a9e585137d2272a078b0752
child 640004 9a61a4669fe881c46c1b510596912c92a869063c
push id71264
push userbmo:gasolin@mozilla.com
push dateMon, 31 Jul 2017 03:09:22 +0000
reviewersmossop
bugs1385170
milestone56.0a1
Bug 1385170 - show button string by checking if the platform support set default browser in background;r=mossop MozReview-Commit-ID: 1B1WNQsBEih
browser/extensions/onboarding/content/onboarding.js
--- a/browser/extensions/onboarding/content/onboarding.js
+++ b/browser/extensions/onboarding/content/onboarding.js
@@ -178,17 +178,17 @@ var onboardingTourset = {
         <aside class="onboarding-tour-button-container">
           <button id="onboarding-tour-default-browser-button" class="onboarding-tour-action-button"
             data-bg="${setFromBackGround}" data-panel="${setFromPanel}"></button>
           <div id="onboarding-tour-is-default-browser-msg" class="onboarding-hidden">${isDefaultMessage}<br/>${isDefault2ndMessage}</div>
         </aside>
       `;
 
       // run after page is rendered
-      div.addEventListener("Onboarding:OnPageRendered", () => {
+      div.addEventListener("beforeshow", () => {
         win.document.dispatchEvent(new Event("Agent:CanSetDefaultBrowserInBackground"));
       });
       return div;
     },
   },
   "sync": {
     id: "onboarding-tour-sync",
     tourNameId: "onboarding.tour-sync2",
@@ -526,18 +526,24 @@ class Onboarding {
     if (hiddenCheckbox.checked) {
       this.hide();
     }
   }
 
   gotoPage(tourId) {
     let targetPageId = `${tourId}-page`;
     for (let page of this._tourPages) {
-      page.style.display = page.id != targetPageId ? "none" : "";
+      if (page.id === targetPageId) {
+        page.style.display = "";
+        page.dispatchEvent(new this._window.CustomEvent("beforeshow"));
+      } else {
+        page.style.display = "none";
+      }
     }
+
     for (let li of this._tourItems) {
       if (li.id == tourId) {
         li.classList.add("onboarding-active");
       } else {
         li.classList.remove("onboarding-active");
       }
     }
   }
@@ -843,17 +849,16 @@ class Onboarding {
       div.id = `${tour.id}-page`;
       div.classList.add("onboarding-tour-page");
       div.style.display = "none";
       pagesFrag.appendChild(div);
       // Cache elements in arrays for later use to avoid cost of querying elements
       this._tourItems.push(li);
       this._tourPages.push(div);
 
-      div.dispatchEvent(new this._window.CustomEvent("Onboarding:OnPageRendered"));
       this.markTourCompletionState(tour.id);
     }
 
     let dialog = this._window.document.getElementById("onboarding-overlay-dialog");
     let ul = this._window.document.getElementById("onboarding-tour-list");
     ul.appendChild(itemsFrag);
     let footer = this._window.document.getElementById("onboarding-footer");
     dialog.insertBefore(pagesFrag, footer);