diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-05-06 14:31:20 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-05-06 14:31:20 +0200 |
commit | 4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005 (patch) | |
tree | ea479247696202858d088702ecd85b4163c4750a /docshell/test/navigation/NavigationUtils.js | |
parent | 7d5f95a8e57de5255ad2767342c1f2392b6f261f (diff) | |
download | UXP-4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005.tar UXP-4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005.tar.gz UXP-4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005.tar.lz UXP-4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005.tar.xz UXP-4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005.zip |
moebius#231: Consider blocking top level window data: URIs (tests)
https://github.com/MoonchildProductions/moebius/pull/231
Diffstat (limited to 'docshell/test/navigation/NavigationUtils.js')
-rw-r--r-- | docshell/test/navigation/NavigationUtils.js | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/docshell/test/navigation/NavigationUtils.js b/docshell/test/navigation/NavigationUtils.js index c90ea74d5..72bea7dde 100644 --- a/docshell/test/navigation/NavigationUtils.js +++ b/docshell/test/navigation/NavigationUtils.js @@ -9,10 +9,10 @@ /////////////////////////////////////////////////////////////////////////// var body = "This frame was navigated."; -var target_url = "data:text/html,<html><body>" + body + "</body></html>"; +var target_url = "navigation_target_url.html" var popup_body = "This is a popup"; -var target_popup_url = "data:text/html,<html><body>" + popup_body + "</body></html>"; +var target_popup_url = "navigation_target_popup_url.html"; /////////////////////////////////////////////////////////////////////////// // Functions that navigate frames @@ -58,7 +58,7 @@ function navigateByHyperlink(name) { function isNavigated(wnd, message) { var result = null; try { - result = SpecialPowers.wrap(wnd).document.body.innerHTML; + result = SpecialPowers.wrap(wnd).document.body.innerHTML.trim(); } catch(ex) { result = ex; } @@ -68,7 +68,7 @@ function isNavigated(wnd, message) { function isBlank(wnd, message) { var result = null; try { - result = wnd.document.body.innerHTML; + result = wnd.document.body.innerHTML.trim(); } catch(ex) { result = ex; } @@ -146,7 +146,9 @@ function xpcGetFramesByName(name) { function xpcCleanupWindows() { xpcEnumerateContentWindows(function(win) { - if (win.location && win.location.protocol == "data:") + if (win.location && + (win.location.href.endsWith(target_url) || + win.location.href.endsWith(target_popup_url))) { win.close(); }); } @@ -177,12 +179,12 @@ function xpcWaitForFinishedFrames(callback, numFrames) { } function searchForFinishedFrames(win) { - if ((escape(unescape(win.location)) == escape(target_url) || - escape(unescape(win.location)) == escape(target_popup_url)) && + if ((win.location.href.endsWith(target_url) || + win.location.href.endsWith(target_popup_url)) && win.document && win.document.body && - (win.document.body.textContent == body || - win.document.body.textContent == popup_body) && + (win.document.body.textContent.trim() == body || + win.document.body.textContent.trim() == popup_body) && win.document.readyState == "complete") { var util = win.QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor) |