From 45e0ce533b038a8be3033da5f686a14b670ca64b Mon Sep 17 00:00:00 2001 From: Jonathan Griffin Date: Wed, 17 Oct 2012 15:14:51 -0700 Subject: [PATCH] Bug 802807 - Only listen for system-message-listener-ready for JS tests, r=mdas, DONTBUILD(NPOTB) --- .../marionette/client/marionette/marionette_test.py | 11 +++++++++++ testing/marionette/marionette-actors.js | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/testing/marionette/client/marionette/marionette_test.py b/testing/marionette/client/marionette/marionette_test.py index bdc07a84fb95..6e21ab7a0548 100644 --- a/testing/marionette/client/marionette/marionette_test.py +++ b/testing/marionette/client/marionette/marionette_test.py @@ -159,6 +159,17 @@ class MarionetteJSTestCase(CommonTestCase): if self.marionette.session is None: self.marionette.start_session() self.marionette.execute_script("log('TEST-START: %s');" % self.jsFile.replace('\\', '\\\\')) + + self.marionette.set_context(self.marionette.CONTEXT_CHROME) + self.marionette.set_script_timeout(30000) + self.marionette.execute_async_script(""" +waitFor( + function() { marionetteScriptFinished(true); }, + function() { return isSystemMessageListenerReady(); } +); + """) + self.marionette.set_context(self.marionette.CONTEXT_CONTENT) + f = open(self.jsFile, 'r') js = f.read() args = [] diff --git a/testing/marionette/marionette-actors.js b/testing/marionette/marionette-actors.js index 14bb36cd64ed..7b2953f1a5e9 100644 --- a/testing/marionette/marionette-actors.js +++ b/testing/marionette/marionette-actors.js @@ -449,8 +449,7 @@ MarionetteDriverActor.prototype = { let win = this.getCurrentWindow(); if (!win || (appName == "Firefox" && !win.gBrowser) || - (appName == "Fennec" && !win.BrowserApp) || - (appName == "B2G" && !systemMessageListenerReady)) { + (appName == "Fennec" && !win.BrowserApp)) { checkTimer.initWithCallback(waitForWindow.bind(this), 100, Ci.nsITimer.TYPE_ONE_SHOT); } else { @@ -606,6 +605,9 @@ MarionetteDriverActor.prototype = { } }); + _chromeSandbox.isSystemMessageListenerReady = + function() { return systemMessageListenerReady; } + if (specialPowers == true) { loader.loadSubScript("chrome://specialpowers/content/specialpowersAPI.js", _chromeSandbox);