Bug 1281847 - Load the UITour content script in the AOM discover <browser> draft
authorMatthew Noorenberghe <mozilla@noorenberghe.ca>
Wed, 06 Jul 2016 23:46:37 -0700
changeset 384802 dfa360700aa68c7a872e8e07c00ad54624ee1225
parent 384801 6875ed0e1b88781b468ba12395a0ee9c5114b8e9
child 524791 a0645ce8f8a77ad5e03f8f1622831cef01793fea
push id22365
push usermozilla@noorenberghe.ca
push dateThu, 07 Jul 2016 06:47:26 +0000
bugs1281847
milestone50.0a1
Bug 1281847 - Load the UITour content script in the AOM discover <browser> As-is there is a layering violation since toolkit/ can't depend on browser/ MozReview-Commit-ID: 4iCSsRkP48O
browser/components/uitour/content-UITour.js
toolkit/mozapps/extensions/content/extensions.js
toolkit/mozapps/extensions/content/extensions.xul
--- a/browser/components/uitour/content-UITour.js
+++ b/browser/components/uitour/content-UITour.js
@@ -51,18 +51,19 @@ var UITourListener = {
 
     if (!allowedSchemes.has(aURI.scheme))
       return false;
 
     return true;
   },
 
   ensureTrustedOrigin: function() {
-    if (content.top != content)
-      return false;
+// This won't actually need to land after deps. are fixed.
+//    if (content.top != content)
+//      return false;
 
     let uri = content.document.documentURIObject;
 
     if (uri.schemeIs("chrome"))
       return true;
 
     if (!this.isSafeScheme(uri))
       return false;
--- a/toolkit/mozapps/extensions/content/extensions.js
+++ b/toolkit/mozapps/extensions/content/extensions.js
@@ -2083,16 +2083,18 @@ var gDiscoverView = {
       return;
     }
 
     this.node = document.getElementById("discover-view");
     this._loading = document.getElementById("discover-loading");
     this._error = document.getElementById("discover-error");
     this._browser = document.getElementById("discover-browser");
 
+    this._browser.messageManager.loadFrameScript("chrome://browser/content/content-UITour.js", true); // TODO: can't depend on browser/ from toolkit/
+
     let compatMode = "normal";
     if (!AddonManager.checkCompatibility)
       compatMode = "ignore";
     else if (AddonManager.strictCompatibility)
       compatMode = "strict";
 
     var url = Services.prefs.getCharPref(PREF_DISCOVERURL);
     url = url.replace("%COMPATIBILITY_MODE%", compatMode);
--- a/toolkit/mozapps/extensions/content/extensions.xul
+++ b/toolkit/mozapps/extensions/content/extensions.xul
@@ -184,17 +184,17 @@
                   <description class="discover-description">&discover.description2;</description>
                   <description class="discover-footer">&discover.footer;</description>
                 </vbox>
               </hbox>
               <spacer class="discover-spacer-after"/>
             </hbox>
             <spacer class="alert-spacer-after"/>
           </vbox>
-          <browser id="discover-browser" type="content" flex="1"
+          <browser id="discover-browser" type="content" flex="1" forcemessagemanager="true"
                      disablehistory="true" homepage="about:blank"/>
         </deck>
 
         <!-- container for views with the search/tools header -->
         <vbox id="headered-views" flex="1">
           <!-- main header -->
           <hbox id="header" align="center">
             <button id="show-all-extensions" hidden="true"