Skip to content

Commit fff83ad

Browse files
committed
Extracting a utility method to set WebLoadingListener
1 parent f3acfca commit fff83ad

File tree

2 files changed

+21
-29
lines changed

2 files changed

+21
-29
lines changed

javascript/firefox-driver/js/firefoxDriver.js

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -126,20 +126,7 @@ FirefoxDriver.prototype.get = function(respond, parameters) {
126126
}
127127

128128
if (loadEventExpected) {
129-
var browser = respond.session.getBrowser();
130-
var topWindow = browser.contentWindow;
131-
new WebLoadingListener(browser, function(timedOut) {
132-
// Focus on the top window.
133-
respond.session.setWindow(topWindow);
134-
if (timedOut) {
135-
browser.stop();
136-
respond.sendError(new WebDriverError(bot.ErrorCode.TIMEOUT,
137-
'Timed out waiting for page load.'));
138-
} else {
139-
respond.value = '';
140-
respond.send();
141-
}
142-
}, respond.session.getPageLoadTimeout(), respond.session.getWindow());
129+
Utils.initWebLoadingListener(respond, respond.session.getWindow());
143130
}
144131

145132
respond.session.getBrowser().loadURI(url);
@@ -672,21 +659,8 @@ FirefoxDriver.prototype.goForward = function(respond) {
672659

673660
FirefoxDriver.prototype.refresh = function(respond) {
674661
var browser = respond.session.getBrowser();
675-
var topWindow = browser.contentWindow;
676-
// Wait for the reload to finish before sending the response.
677-
new WebLoadingListener(browser, function(timedOut) {
678-
// Reset to the top window.
679-
respond.session.setWindow(topWindow);
680-
if (timedOut) {
681-
browser.stop();
682-
respond.sendError(new WebDriverError(bot.ErrorCode.TIMEOUT,
683-
'Timed out waiting for page load.'));
684-
} else {
685-
respond.send();
686-
}
687-
}, respond.session.getPageLoadTimeout(), respond.session.getWindow());
688-
689-
topWindow.location.reload(true);
662+
Utils.initWebLoadingListener(respond, browser.contentWindow);
663+
browser.contentWindow.location.reload(true);
690664
};
691665

692666

javascript/firefox-driver/js/utils.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,24 @@ Utils.getPageLoadingStrategy = function() {
256256
prefs.getCharPref('webdriver.load.strategy') : 'normal';
257257
};
258258

259+
Utils.initWebLoadingListener = function(respond, opt_window) {
260+
var browser = respond.session.getBrowser();
261+
var topWindow = browser.contentWindow;
262+
var window = opt_window || topWindow;
263+
// Wait for the reload to finish before sending the response.
264+
new WebLoadingListener(browser, function(timedOut) {
265+
// Reset to the top window.
266+
respond.session.setWindow(topWindow);
267+
if (timedOut) {
268+
browser.stop();
269+
respond.sendError(new WebDriverError(bot.ErrorCode.TIMEOUT,
270+
'Timed out waiting for page load.'));
271+
} else {
272+
respond.send();
273+
}
274+
}, respond.session.getPageLoadTimeout(), window);
275+
};
276+
259277
Utils.type = function(doc, element, text, opt_useNativeEvents, jsTimer, releaseModifiers,
260278
opt_keysState) {
261279

0 commit comments

Comments
 (0)