Bug 776189 - Prevent Marionette from attaching to type=content browser, r=mdas, DONTBUILD because NPOTB
authorDavid Burns <dburns@mozilla.com>
Thu, 26 Jul 2012 12:36:15 -0700 (2012-07-26)
changeset 100725 08428deb1e89c08c012d773a07fcd4094645c463
parent 100724 2abd21593e57151f5d84657f0f1bc19c72a4ae65
child 100761 9d8ae522b108dc576bd9f1d3b03db3abe56bc931
push id23192
push userjgriffin@mozilla.com
push dateFri, 27 Jul 2012 19:22:54 +0000 (2012-07-27)
treeherdermozilla-central@08428deb1e89 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmdas, DONTBUILD
bugs776189
milestone17.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 776189 - Prevent Marionette from attaching to type=content browser, r=mdas, DONTBUILD because NPOTB
testing/marionette/marionette-actors.js
--- a/testing/marionette/marionette-actors.js
+++ b/testing/marionette/marionette-actors.js
@@ -1369,24 +1369,31 @@ MarionetteDriverActor.prototype = {
         this.sendToClient(message.json);
         break;
       case "Marionette:register":
         // This code processes the content listener's registration information
         // and either accepts the listener, or ignores it
         let nullPrevious = (this.curBrowser.curFrameId == null);
         let curWin = this.getCurrentWindow();
         let frameObject = curWin.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).getOuterWindowWithId(message.json.value);
-        let reg = this.curBrowser.register(message.json.value, message.json.href);
-        if (reg) {
-          this.curBrowser.elementManager.seenItems[reg] = frameObject; //add to seenItems
-          if (nullPrevious && (this.curBrowser.curFrameId != null)) {
-            this.sendAsync("newSession", {B2G: (appName == "B2G")});
-            if (this.curBrowser.newSession) {
-              this.sendResponse(reg);
-            }
+        let browserType;
+        try {
+          browserType = message.target.getAttribute("type");
+        } catch (ex) {
+          // browserType remains undefined.
+        }
+        let reg;
+        if (!browserType || browserType != "content") {
+          reg = this.curBrowser.register(message.json.value, message.json.href); 
+        }
+        this.curBrowser.elementManager.seenItems[reg] = frameObject; //add to seenItems
+        if (nullPrevious && (this.curBrowser.curFrameId != null)) {
+          this.sendAsync("newSession", {B2G: (appName == "B2G")});
+          if (this.curBrowser.newSession) {
+            this.sendResponse(reg);
           }
         }
         return reg;
     }
   },
   /**
    * for non-e10s eventListening
    */