summaryrefslogtreecommitdiffstats
path: root/docshell/test/navigation/NavigationUtils.js
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-05-06 14:31:20 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-05-06 14:31:20 +0200
commit4b7a2c677a8bda717cbc21f8e06ee43c0d9f0005 (patch)
treeea479247696202858d088702ecd85b4163c4750a /docshell/test/navigation/NavigationUtils.js
parent7d5f95a8e57de5255ad2767342c1f2392b6f261f (diff)
downloadUXP-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.js20
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)