diff options
Diffstat (limited to 'tests/test_tools/selenium/core/scripts/injection.html')
-rw-r--r-- | tests/test_tools/selenium/core/scripts/injection.html | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/test_tools/selenium/core/scripts/injection.html b/tests/test_tools/selenium/core/scripts/injection.html index d41fbe69..a75c7211 100644 --- a/tests/test_tools/selenium/core/scripts/injection.html +++ b/tests/test_tools/selenium/core/scripts/injection.html @@ -1,21 +1,22 @@ <script language="JavaScript"> if (window["selenium_has_been_loaded_into_this_window"]==null) { -__SELENIUM_JS__ + + __SELENIUM_JS__ // Some background on the code below: broadly speaking, where we are relative to other windows // when running in proxy injection mode depends on whether we are in a frame set file or not. -// +// // In regular HTML files, the selenium JavaScript is injected into an iframe called "selenium" // in order to reduce its impact on the JavaScript environment (through namespace pollution, // etc.). So in regular HTML files, we need to look at the parent of the current window when we want // a handle to, e.g., the application window. -// +// // In frame set files, we can't use an iframe, so we put the JavaScript in the head element and share // the window with the frame set. So in this case, we need to look at the current window, not the -// parent when looking for, e.g., the application window. (TODO: Perhaps I should have just +// parent when looking for, e.g., the application window. (TODO: Perhaps I should have just // assigned a regular frame for selenium?) -// +// BrowserBot.prototype.getContentWindow = function() { if (window["seleniumInSameWindow"] != null) return window; return window.parent; @@ -38,7 +39,7 @@ LOG.openLogWindow = function(message, className) { BrowserBot.prototype.relayToRC = function(name) { var object = eval(name); var s = 'state:' + serializeObject(name, object) + "\n"; - sendToRC(s); + sendToRC(s,"state=true"); } BrowserBot.prototype.relayBotToRC = function(s) { @@ -58,10 +59,16 @@ function seleniumOnLoad() { runSeleniumTest(); } +function seleniumOnUnload() { + sendToRC("OK"); // just in case some poor PI server thread is waiting for a response +} + if (window.addEventListener) { window.addEventListener("load", seleniumOnLoad, false); // firefox + window.addEventListener("unload", seleniumOnUnload, false); // firefox } else if (window.attachEvent){ window.attachEvent("onload", seleniumOnLoad); // IE + window.attachEvent("onunload", seleniumOnUnload); // IE } else { throw "causing a JavaScript error to tell the world that I did not arrange to be run on load"; |