summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/bugs/test_window_bar.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/bugs/test_window_bar.html')
-rw-r--r--dom/tests/mochitest/bugs/test_window_bar.html151
1 files changed, 151 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 0000000000..7c5a1f38a6
--- /dev/null
+++ b/dom/tests/mochitest/bugs/test_window_bar.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=642338
+-->
+<head>
+ <title>Test for Bug 642338</title>
+ <script 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
+
+*/
+
+// Popup is opened if one of the following condtitions is met:
+// * both location and toolbar are false
+// * menubar is false
+// * resizable is false
+// * scrollbars is false
+// * status is false
+var featuresList = [
+ {
+ type: 'non-popup',
+ target: 'all-bars-toolbar',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes',
+ },
+ {
+ type: 'non-popup',
+ target: 'all-bars-location',
+ features: 'location=yes,menubar=yes,status=yes,scrollbars=yes',
+ },
+ {
+ type: 'popup',
+ target: 'no-menubar',
+ features: 'toolbar=yes,menubar=no,status=yes,scrollbars=yes',
+ },
+ {
+ type: 'popup',
+ target: 'no-toolbar',
+ features: 'toolbar=no,menubar=yes,status=yes,scrollbars=yes',
+ },
+ {
+ type: 'popup',
+ target: 'no-status',
+ features: 'toolbar=yes,menubar=yes,status=no,scrollbars=yes',
+ },
+ {
+ type: 'popup',
+ target: 'no-scrollbars',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=no',
+ },
+ {
+ type: 'popup',
+ target: 'no-bars',
+ features: 'toolbar=no,menubar=no,status=no,scrollbars=no',
+ },
+ {
+ type: 'popup',
+ target: 'no-resizable',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes'
+ + ',resizable=no',
+ },
+ {
+ type: 'non-popup',
+ target: 'width-sized',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes'
+ + ',width=500',
+ },
+ {
+ // if features isnt empty, toolbar and location defaults to false,
+ // and that results in popup.
+ type: 'popup',
+ target: 'only-width-sized',
+ features: 'width=500',
+ },
+ {
+ type: 'non-popup',
+ target: 'height-sized',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes'
+ + ',height=500',
+ },
+ {
+ type: 'non-popup',
+ target: 'sized',
+ features: 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes'
+ + ',width=500,height=500',
+ },
+ {
+ type: 'popup',
+ target: 'only-sized',
+ features: 'width=500,height=500',
+ },
+];
+
+var numWindows = 0;
+
+/* Called when our popup loads. */
+function testWindow(w)
+{
+ function checkFeature(feature) {
+ if (w.location.search.startsWith('?popup')) {
+ is(w[feature].visible, false, `${feature} should be hidden for popup (${w.name}).`);
+ } else {
+ is(w[feature].visible, true, `${feature} should be visible for non-popup (${w.name}).`);
+ }
+ }
+
+ // If popup is opened, all BarProp.visible become false.
+ checkFeature('menubar');
+ checkFeature('toolbar');
+ checkFeature('personalbar');
+ checkFeature('scrollbars');
+ checkFeature('statusbar');
+ checkFeature('locationbar');
+
+ w.close();
+
+ numWindows++;
+ if (numWindows == featuresList.length) {
+ // We're done!
+ SimpleTest.finish();
+ }
+
+}
+
+SimpleTest.waitForExplicitFinish();
+for (var item of featuresList) {
+ // This will call back into testWindow when they open.
+ window.open(`file_window_bar.html?${item.type}`, item.target, item.features);
+}
+
+</script>
+</pre>
+</body>
+</html>