Backed out changeset 8376e8db48de (bug 1319904) because it needs a reworked patch.
authorRyan VanderMeulen <ryanvm@gmail.com>
Wed, 30 Nov 2016 18:13:32 -0500
changeset 462104 bee54442c95d8af3febb49b1826e7ff8873bc548
parent 462103 5c481dcfb9f2b573486fbc2a774f6935c5dff65a
child 462105 6495b0cddf13658188b1c34347fda4007012eeb9
push id41678
push userfelipc@gmail.com
push dateMon, 16 Jan 2017 20:19:38 +0000
bugs1319904
milestone50.1.0
backs out8376e8db48de80cf1987d0a7324ec1f4a71c9616
Backed out changeset 8376e8db48de (bug 1319904) because it needs a reworked patch.
browser/base/content/test/general/browser_web_channel.js
toolkit/modules/WebChannel.jsm
--- a/browser/base/content/test/general/browser_web_channel.js
+++ b/browser/base/content/test/general/browser_web_channel.js
@@ -32,36 +32,16 @@ var gTests = [
           resolve();
         });
 
         tab = gBrowser.addTab(HTTP_PATH + HTTP_ENDPOINT + "?generic");
       });
     }
   },
   {
-    desc: "WebChannel generic message in a private window.",
-    run: function* () {
-      let promiseTestDone = new Promise(function(resolve, reject) {
-        let channel = new WebChannel("generic", Services.io.newURI(HTTP_PATH, null, null));
-        channel.listen(function(id, message, target) {
-          is(id, "generic");
-          is(message.something.nested, "hello");
-          channel.stopListening();
-          resolve();
-        });
-      });
-
-      const url = HTTP_PATH + HTTP_ENDPOINT + "?generic";
-      let privateWindow = yield BrowserTestUtils.openNewBrowserWindow({private: true});
-      yield BrowserTestUtils.openNewForegroundTab(privateWindow.gBrowser, url);
-      yield promiseTestDone;
-      yield BrowserTestUtils.closeWindow(privateWindow);
-    }
-  },
-  {
     desc: "WebChannel two way communication",
     run: function* () {
       return new Promise(function(resolve, reject) {
         let tab;
         let channel = new WebChannel("twoway", Services.io.newURI(HTTP_PATH, null, null));
 
         channel.listen(function (id, message, sender) {
           is(id, "twoway", "bad id");
--- a/toolkit/modules/WebChannel.jsm
+++ b/toolkit/modules/WebChannel.jsm
@@ -166,29 +166,29 @@ this.WebChannel = function(id, originOrP
   this.id = id;
   // originOrPermission can be either an nsIURI or a string representing a
   // permission name.
   if (typeof originOrPermission == "string") {
     this._originCheckCallback = requestPrincipal => {
       // The permission manager operates on domain names rather than true
       // origins (bug 1066517).  To mitigate that, we explicitly check that
       // the scheme is https://.
-      let uri = Services.io.newURI(requestPrincipal.originNoSuffix, null, null);
+      let uri = Services.io.newURI(requestPrincipal.origin, null, null);
       if (uri.scheme != "https") {
         return false;
       }
       // OK - we have https - now we can check the permission.
       let perm = Services.perms.testExactPermissionFromPrincipal(requestPrincipal,
                                                                  originOrPermission);
       return perm == Ci.nsIPermissionManager.ALLOW_ACTION;
     }
   } else {
     // a simple URI, so just check for an exact match.
     this._originCheckCallback = requestPrincipal => {
-      return originOrPermission.prePath === requestPrincipal.originNoSuffix;
+      return originOrPermission.prePath === requestPrincipal.origin;
     }
   }
   this._originOrPermission = originOrPermission;
 };
 
 this.WebChannel.prototype = {
 
   /**