diff --git a/testing/marionette/driver.js b/testing/marionette/driver.js index 6f9ea6e81410..096f18eb9a3c 100644 --- a/testing/marionette/driver.js +++ b/testing/marionette/driver.js @@ -2767,6 +2767,7 @@ GeckoDriver.prototype.deleteSession = function() { // frame scripts can be safely reused Preferences.set(CONTENT_LISTENER_PREF, false); + globalMessageManager.broadcastAsyncMessage("Marionette:Session:Delete"); globalMessageManager.broadcastAsyncMessage("Marionette:Deregister"); for (let win of this.windows) { diff --git a/testing/marionette/listener.js b/testing/marionette/listener.js index 4d56e0fa7c36..8399210874f2 100644 --- a/testing/marionette/listener.js +++ b/testing/marionette/listener.js @@ -558,6 +558,7 @@ function startListeners() { addMessageListener("Marionette:reftestWait", reftestWaitFn); addMessageListener("Marionette:releaseActions", releaseActionsFn); addMessageListener("Marionette:sendKeysToElement", sendKeysToElementFn); + addMessageListener("Marionette:Session:Delete", deleteSession); addMessageListener("Marionette:singleTap", singleTapFn); addMessageListener("Marionette:switchToFrame", switchToFrame); addMessageListener("Marionette:switchToParentFrame", switchToParentFrame); @@ -595,13 +596,16 @@ function deregister() { removeMessageListener("Marionette:refresh", refresh); removeMessageListener("Marionette:releaseActions", releaseActionsFn); removeMessageListener("Marionette:sendKeysToElement", sendKeysToElementFn); + removeMessageListener("Marionette:Session:Delete", deleteSession); removeMessageListener("Marionette:singleTap", singleTapFn); removeMessageListener("Marionette:switchToFrame", switchToFrame); removeMessageListener("Marionette:switchToParentFrame", switchToParentFrame); removeMessageListener("Marionette:switchToShadowRoot", switchToShadowRootFn); removeMessageListener("Marionette:takeScreenshot", takeScreenshotFn); removeMessageListener("Marionette:waitForPageLoaded", waitForPageLoaded); +} +function deleteSession() { seenEls.clear(); // reset container frame to the top-most frame curContainer = {frame: content, shadowRoot: null};