diff options
Diffstat (limited to 'comm/mail/components/activity/ActivityManagerUI.jsm')
-rw-r--r-- | comm/mail/components/activity/ActivityManagerUI.jsm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/comm/mail/components/activity/ActivityManagerUI.jsm b/comm/mail/components/activity/ActivityManagerUI.jsm new file mode 100644 index 0000000000..b36b9b5a72 --- /dev/null +++ b/comm/mail/components/activity/ActivityManagerUI.jsm @@ -0,0 +1,47 @@ +/* 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/. */ + +var EXPORTED_SYMBOLS = ["ActivityManagerUI"]; + +const ACTIVITY_MANAGER_URL = "chrome://messenger/content/activity.xhtml"; + +function ActivityManagerUI() {} + +ActivityManagerUI.prototype = { + show(aWindowContext, aID) { + // First we see if it is already visible + let window = this.recentWindow; + if (window) { + window.focus(); + return; + } + + let parent = null; + try { + if (aWindowContext) { + parent = aWindowContext.docShell.domWindow; + } + } catch (e) { + /* it's OK to not have a parent window */ + } + + Services.ww.openWindow( + parent, + ACTIVITY_MANAGER_URL, + "ActivityManager", + "chrome,dialog=no,resizable", + {} + ); + }, + + get visible() { + return null != this.recentWindow; + }, + + get recentWindow() { + return Services.wm.getMostRecentWindow("Activity:Manager"); + }, + + QueryInterface: ChromeUtils.generateQI(["nsIActivityManagerUI"]), +}; |