summaryrefslogtreecommitdiffstats
path: root/toolkit/content/macWindowMenu.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/macWindowMenu.js')
-rw-r--r--toolkit/content/macWindowMenu.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/toolkit/content/macWindowMenu.js b/toolkit/content/macWindowMenu.js
new file mode 100644
index 000000000..46654c4f8
--- /dev/null
+++ b/toolkit/content/macWindowMenu.js
@@ -0,0 +1,51 @@
+// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
+
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+function macWindowMenuDidShow()
+{
+ var windowManagerDS =
+ Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator']
+ .getService(Components.interfaces.nsIWindowDataSource);
+ var sep = document.getElementById("sep-window-list");
+ // Using double parens to avoid warning
+ while ((sep = sep.nextSibling)) {
+ var url = sep.getAttribute('id');
+ var win = windowManagerDS.getWindowForResource(url);
+ if (win.document.documentElement.getAttribute("inwindowmenu") == "false")
+ sep.hidden = true;
+ else if (win == window)
+ sep.setAttribute("checked", "true");
+ }
+}
+
+function toOpenWindow( aWindow )
+{
+ // deminiaturize the window, if it's in the Dock
+ if (aWindow.windowState == STATE_MINIMIZED)
+ aWindow.restore();
+ aWindow.document.commandDispatcher.focusedWindow.focus();
+}
+
+function ShowWindowFromResource( node )
+{
+ var windowManagerDS =
+ Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator']
+ .getService(Components.interfaces.nsIWindowDataSource);
+
+ var desiredWindow = null;
+ var url = node.getAttribute('id');
+ desiredWindow = windowManagerDS.getWindowForResource( url );
+ if (desiredWindow)
+ toOpenWindow(desiredWindow);
+}
+
+function zoomWindow()
+{
+ if (window.windowState == STATE_NORMAL)
+ window.maximize();
+ else
+ window.restore();
+}