diff options
Diffstat (limited to 'dom/tests/mochitest/bugs/test_window_bar.html')
-rw-r--r-- | dom/tests/mochitest/bugs/test_window_bar.html | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/dom/tests/mochitest/bugs/test_window_bar.html b/dom/tests/mochitest/bugs/test_window_bar.html new file mode 100644 index 000000000..966125906 --- /dev/null +++ b/dom/tests/mochitest/bugs/test_window_bar.html @@ -0,0 +1,97 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=642338 +--> +<head> + <title>Test for Bug 642338</title> + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=642338">Mozilla Bug 642338</a> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +/* Test that the following window properties work: + + menubar + toolbar + locationbar + personalbar + statusbar + scrollbars + +*/ + +var numWindows = 0; + +/* Called when our popup loads. */ +function testWindow(w) +{ + + // If dom.disable_window_open_feature.X is true, then we can't disable + // feature X when we call window.open from content. So to check that our popup + // has the right bars shown, we need to check that it obeys first the pref + // and then the arguments to window.open, if applicable. + + function checkFeature(feature, prefname) { + if (prefname === undefined) + prefname = feature; + + if (SpecialPowers.getBoolPref('dom.disable_window_open_feature.' + prefname)) { + is(w[feature].visible, true, feature + ' should always be true.'); + } + else { + // w.location.search == '?true' if we expect the bars to be on, and + // '?false' otherwise. By default, no bars are enabled, so '?default' + // can be handled the same way as '?false'. + var enabled = w.location.search == '?true'; + is(w[feature].visible, enabled, feature + ' should follow window.open settings.'); + } + } + + checkFeature('menubar'); + checkFeature('toolbar'); + checkFeature('personalbar'); + checkFeature('statusbar', 'status'); + checkFeature('locationbar', 'location'); + + w.close(); + + numWindows++; + if (numWindows == 3) { + // We're done! + SimpleTest.finish(); + } + +} + +SimpleTest.waitForExplicitFinish(); + +// These will call back into testWindow when they open. + +var allBarsWindow = + window.open('file_window_bar.html?true', 'all-bars', + 'menubar=yes,toolbar=yes,location=yes,' + + 'personalbar=yes,status=yes,scrollbars=yes', + true); + +var noBarsWindow = + window.open('file_window_bar.html?false', 'no-bars', + 'menubar=no,toolbar=no,location=no,' + + 'personalbar=no,status=no,scrollbars=no', + false); + +var defaultWindow = + window.open('file_window_bar.html?default', 'default-bars', + 'width=500,height=500', false); + +</script> +</pre> +</body> +</html> |