Created
February 16, 2013 11:53
-
-
Save liamzebedee/b9670aa85d1b86108e90 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff -r 92fce13b87d4 calendar/base/content/dialogs/calendar-event-dialog.js | |
| --- a/calendar/base/content/dialogs/calendar-event-dialog.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/calendar/base/content/dialogs/calendar-event-dialog.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -6,6 +6,7 @@ | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| Components.utils.import("resource://calendar/modules/calRecurrenceUtils.jsm"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| try { | |
| Components.utils.import("resource:///modules/cloudFileAccounts.js"); | |
| @@ -1289,16 +1290,13 @@ | |
| } | |
| /** | |
| - * Open a new Thunderbird compose window. | |
| + * Open a new Thunderbird compose tab. | |
| */ | |
| function openNewMessage() { | |
| - MailServices.compose.OpenComposeWindow(null, | |
| - null, | |
| - null, | |
| - Components.interfaces.nsIMsgCompType.New, | |
| - Components.interfaces.nsIMsgCompFormat.Default, | |
| - null, | |
| - null); | |
| + composeTabManager.OpenComposeTab(null, null, null, | |
| + Components.interfaces.nsIMsgCompType.New, | |
| + Components.interfaces.nsIMsgCompFormat.Default, | |
| + null, null); | |
| } | |
| /** | |
| diff -r 92fce13b87d4 calendar/base/src/calUtils.js | |
| --- a/calendar/base/src/calUtils.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/calendar/base/src/calUtils.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -9,6 +9,7 @@ | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| function _calIcalCreator(cid, iid) { | |
| return function(icalString) { | |
| @@ -1280,7 +1281,7 @@ | |
| msgParams.format = Components.interfaces.nsIMsgCompFormat.Default; | |
| msgParams.composeFields = composeFields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, msgParams); | |
| + composeTabManager.OpenComposeTabWithParams(msgParams); | |
| } | |
| /** | |
| diff -r 92fce13b87d4 mail/base/content/mailCommands.js | |
| --- a/mail/base/content/mailCommands.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/base/content/mailCommands.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -4,6 +4,7 @@ | |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| /** | |
| * Get the identity that most likely is the best one to use, given the hint. | |
| @@ -142,31 +143,11 @@ | |
| // type is a nsIMsgCompType and format is a nsIMsgCompFormat | |
| function ComposeMessage(type, format, folder, messageArray) | |
| { | |
| - // Check if the draft is already open in another window. If it is, just focus the window. | |
| - if (type == Components.interfaces.nsIMsgCompType.Draft && messageArray.length == 1) { | |
| - // We'll search this uri in the opened windows. | |
| - let messageKey = GetMsgKeyFromURI(messageArray[0]); | |
| - let wenum = Services.wm.getEnumerator(""); | |
| - while (wenum.hasMoreElements()) { | |
| - let w = wenum.getNext(); | |
| - // Check if it is a compose window. | |
| - if (w.document.defaultView.gMsgCompose && w.document.defaultView.gMsgCompose.compFields.draftId) { | |
| - let wKey = GetMsgKeyFromURI(w.document.defaultView.gMsgCompose.compFields.draftId); | |
| - if (wKey == messageKey) { | |
| - // Found ! just focus it... | |
| - w.focus(); | |
| - // ...and nothing to do anymore. | |
| - return; | |
| - } | |
| - } | |
| - } | |
| - } | |
| var msgComposeType = Components.interfaces.nsIMsgCompType; | |
| var identity = null; | |
| var newsgroup = null; | |
| var hdr; | |
| - // dump("ComposeMessage folder=" + folder + "\n"); | |
| try | |
| { | |
| if (folder) | |
| @@ -185,7 +166,6 @@ | |
| identity = folder.customIdentity; | |
| if (!identity) | |
| identity = getIdentityForServer(server); | |
| - // dump("identity = " + identity + "\n"); | |
| } | |
| } | |
| catch (ex) | |
| @@ -193,13 +173,9 @@ | |
| dump("failed to get an identity to pre-select: " + ex + "\n"); | |
| } | |
| - // dump("\nComposeMessage from XUL: " + identity + "\n"); | |
| - | |
| switch (type) | |
| { | |
| - case msgComposeType.New: //new message | |
| - // dump("OpenComposeWindow with " + identity + "\n"); | |
| - | |
| + case msgComposeType.New: | |
| // If the addressbook sidebar panel is open and has focus, get | |
| // the selected addresses from it. | |
| if (document.commandDispatcher.focusedWindow && | |
| @@ -207,13 +183,10 @@ | |
| .document.documentElement.hasAttribute("selectedaddresses")) | |
| NewMessageToSelectedAddresses(type, format, identity); | |
| else | |
| - MailServices.compose.OpenComposeWindow(null, null, null, type, | |
| - format, identity, msgWindow); | |
| + composeTabManager.OpenComposeTab(null, null, null, type, format, identity, msgWindow); | |
| return; | |
| case msgComposeType.NewsPost: | |
| - // dump("OpenComposeWindow with " + identity + " and " + newsgroup + "\n"); | |
| - MailServices.compose.OpenComposeWindow(null, null, newsgroup, type, | |
| - format, identity, msgWindow); | |
| + composeTabManager.OpenComposeTab(null, null, newsgroup, type, format, identity, msgWindow); | |
| return; | |
| case msgComposeType.ForwardAsAttachment: | |
| if (messageArray && messageArray.length) | |
| @@ -222,19 +195,14 @@ | |
| // of the header to tell the compose service to work out the attachment | |
| // subjects from the URIs. | |
| hdr = messageArray.length > 1 ? null : messenger.msgHdrFromURI(messageArray[0]); | |
| - MailServices.compose.OpenComposeWindow(null, hdr, messageArray.join(','), | |
| - type, format, identity, msgWindow); | |
| + composeTabManager.OpenComposeTab(null, hdr, messageArray.join(','), | |
| + type, format, identity, msgWindow); | |
| return; | |
| } | |
| default: | |
| if (!messageArray) | |
| return; | |
| - // Limit the number of new compose windows to 8. Why 8 ? | |
| - // I like that number :-) | |
| - if (messageArray.length > 8) | |
| - messageArray.length = 8; | |
| - | |
| for (var i = 0; i < messageArray.length; ++i) | |
| { | |
| var messageUri = messageArray[i]; | |
| @@ -244,8 +212,8 @@ | |
| openComposeWindowForRSSArticle(null, hdr, messageUri, type, | |
| format, identity, msgWindow); | |
| else | |
| - MailServices.compose.OpenComposeWindow(null, hdr, messageUri, type, | |
| - format, identity, msgWindow); | |
| + composeTabManager.OpenComposeTab(null, hdr, messageUri, type, | |
| + format, identity, msgWindow); | |
| } | |
| } | |
| } | |
| @@ -270,7 +238,7 @@ | |
| } | |
| composeFields.to = addressList; | |
| params.composeFields = composeFields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| } | |
| } | |
| diff -r 92fce13b87d4 mail/base/content/mailContextMenus.js | |
| --- a/mail/base/content/mailContextMenus.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/base/content/mailContextMenus.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -5,6 +5,8 @@ | |
| Components.utils.import("resource://gre/modules/PluralForm.jsm"); | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| + | |
| const mailtolength = 7; | |
| @@ -572,7 +574,7 @@ | |
| gFolderDisplay.displayedFolder.server); | |
| } | |
| params.composeFields = fields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| // Extracts email address from url string | |
| diff -r 92fce13b87d4 mail/base/content/mailOverlay.xul | |
| --- a/mail/base/content/mailOverlay.xul Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/base/content/mailOverlay.xul Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -11,6 +11,7 @@ | |
| <script type="application/javascript"> | |
| <![CDATA[ | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| + Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| function openNewCardDialog() | |
| { | |
| window.openDialog("chrome://messenger/content/addressbook/abNewCardDialog.xul", | |
| @@ -28,7 +29,7 @@ | |
| return; | |
| } | |
| - MailServices.compose.OpenComposeWindow(null, null, null, | |
| + composeTabManager.OpenComposeTab(null, null, null, | |
| Components.interfaces.nsIMsgCompType.New, | |
| Components.interfaces.nsIMsgCompFormat.Default, | |
| null, null); | |
| diff -r 92fce13b87d4 mail/base/content/msgHdrViewOverlay.js | |
| --- a/mail/base/content/msgHdrViewOverlay.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/base/content/msgHdrViewOverlay.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -11,6 +11,7 @@ | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| Components.utils.import("resource:///modules/gloda/utils.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| let {Status: statusUtils} = | |
| Components.utils.import("resource:///modules/imStatusUtils.jsm"); | |
| @@ -1603,7 +1604,7 @@ | |
| gFolderDisplay.displayedFolder.server); | |
| } | |
| params.composeFields = fields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| /** | |
| diff -r 92fce13b87d4 mail/base/jar.mn | |
| --- a/mail/base/jar.mn Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/base/jar.mn Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -35,6 +35,7 @@ | |
| * content/messenger/msgMail3PaneWindow.js (content/msgMail3PaneWindow.js) | |
| content/messenger/mail3PaneWindowCommands.js (content/mail3PaneWindowCommands.js) | |
| content/messenger/mailCommands.js (content/mailCommands.js) | |
| + content/messenger/msgComposeTab.js (content/msgComposeTab.js) | |
| * content/messenger/mailCore.js (content/mailCore.js) | |
| content/messenger/customizeToolbarOverlay.xul (content/customizeToolbarOverlay.xul) | |
| content/messenger/mailTabs.js (content/mailTabs.js) | |
| diff -r 92fce13b87d4 mail/components/about-support/content/export.js | |
| --- a/mail/components/about-support/content/export.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/components/about-support/content/export.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -2,6 +2,7 @@ | |
| * 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/. */ | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| /** | |
| * Create warning text to add to any private data. | |
| @@ -86,7 +87,7 @@ | |
| params.composeFields = fields; | |
| // Our params are set up. Now open a compose window. | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| function createCleanedUpContents(aHidePrivateData) { | |
| diff -r 92fce13b87d4 mail/components/addrbook/content/abCommon.js | |
| --- a/mail/components/addrbook/content/abCommon.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/components/addrbook/content/abCommon.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -4,6 +4,7 @@ | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| var gDirTree; | |
| var abList = 0; | |
| @@ -341,7 +342,8 @@ | |
| composeFields.to = GetSelectedAddresses(); | |
| params.composeFields = composeFields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| } | |
| } | |
| diff -r 92fce13b87d4 mail/components/compose/content/MsgComposeCommands.js | |
| --- a/mail/components/compose/content/MsgComposeCommands.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/components/compose/content/MsgComposeCommands.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -20,6 +20,7 @@ | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); | |
| Components.utils.import("resource:///modules/cloudFileAccounts.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| /** | |
| * interfaces | |
| @@ -784,7 +785,7 @@ | |
| function goOpenNewMessage() | |
| { | |
| let identity = getCurrentIdentity(); | |
| - MailServices.compose.OpenComposeWindow(null, null, null, | |
| + composeTabManager.OpenComposeWindow(null, null, null, | |
| Components.interfaces.nsIMsgCompType.New, | |
| Components.interfaces.nsIMsgCompFormat.Default, identity, null); | |
| } | |
| diff -r 92fce13b87d4 mail/components/newmailaccount/content/accountProvisioner.js | |
| --- a/mail/components/newmailaccount/content/accountProvisioner.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mail/components/newmailaccount/content/accountProvisioner.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -13,6 +13,7 @@ | |
| Cu.import("resource:///modules/StringBundle.js"); | |
| Cu.import("resource:///modules/mailServices.js"); | |
| Cu.import("resource:///modules/gloda/log4moz.js"); | |
| +Cu.import("chrome://messenger/content/msgComposeTab.js"); | |
| // Get a configured logger for this component. | |
| // To debug, set mail.provider.logging.dump (or .console)="All" | |
| @@ -169,10 +170,10 @@ | |
| } | |
| $("#success-compose").click(function() { | |
| - MailServices.compose.OpenComposeWindow(null, null, null, | |
| - Ci.nsIMsgCompType.New, | |
| - Ci.nsIMsgCompFormat.Default, | |
| - account.defaultIdentity, null); | |
| + composeTabManager.OpenComposeTab(null, null, null, | |
| + Ci.nsIMsgCompType.New, | |
| + Ci.nsIMsgCompFormat.Default, | |
| + account.defaultIdentity, null); | |
| }); | |
| $("#success-addons").click(function() { | |
| diff -r 92fce13b87d4 mailnews/compose/public/nsIMsgComposeService.idl | |
| --- a/mailnews/compose/public/nsIMsgComposeService.idl Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mailnews/compose/public/nsIMsgComposeService.idl Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -15,7 +15,7 @@ | |
| interface nsIMsgIncomingServer; | |
| interface nsIMsgDBHdr; | |
| -[scriptable, uuid(8de65170-a452-11e0-8264-0800200c9a66)] | |
| +[scriptable, uuid(5d480fd3-9a62-470b-9172-9ce85e25954c)] | |
| interface nsIMsgComposeService : nsISupports { | |
| /* we need a msg window because when we forward inline we may need progress */ | |
| diff -r 92fce13b87d4 mailnews/extensions/newsblog/content/newsblogOverlay.js | |
| --- a/mailnews/extensions/newsblog/content/newsblogOverlay.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/mailnews/extensions/newsblog/content/newsblogOverlay.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -6,6 +6,7 @@ | |
| Components.utils.import("resource:///modules/gloda/mimemsg.js"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| function openSubscriptionsDialog(aFolder) | |
| { | |
| @@ -44,8 +45,8 @@ | |
| if (gShowFeedSummary) | |
| { | |
| // The user is viewing the summary. | |
| - MailServices.compose.OpenComposeWindow(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| - aType, aFormat, aIdentity, aMsgWindow); | |
| + composeTabManager.OpenComposeTab(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| + aType, aFormat, aIdentity, aMsgWindow); | |
| } | |
| else | |
| @@ -96,20 +97,20 @@ | |
| { | |
| params.composeFields.body = aMimeMsg.headers["content-base"]; | |
| params.bodyIsLink = true; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| else | |
| // No content-base url, use the summary. | |
| - MailServices.compose.OpenComposeWindow(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| - aType, aFormat, aIdentity, aMsgWindow); | |
| + composeTabManager.OpenComposeTab(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| + aType, aFormat, aIdentity, aMsgWindow); | |
| }, false, {saneBodySize: true}); | |
| } | |
| catch (ex) | |
| { | |
| // Error getting header, use the summary. | |
| - MailServices.compose.OpenComposeWindow(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| - aType, aFormat, aIdentity, aMsgWindow); | |
| + composeTabManager.OpenComposeTab(aMsgComposeWindow, aMsgHdr, aMessageUri, | |
| + aType, aFormat, aIdentity, aMsgWindow); | |
| } | |
| } | |
| } | |
| diff -r 92fce13b87d4 suite/mailnews/addrbook/abCommon.js | |
| --- a/suite/mailnews/addrbook/abCommon.js Fri Feb 15 21:37:24 2013 -0500 | |
| +++ b/suite/mailnews/addrbook/abCommon.js Sat Feb 16 21:54:16 2013 +1000 | |
| @@ -4,6 +4,7 @@ | |
| Components.utils.import("resource://gre/modules/Services.jsm"); | |
| Components.utils.import("resource:///modules/mailServices.js"); | |
| +Components.utils.import("chrome://messenger/content/msgComposeTab.js"); | |
| var gDirTree = 0; | |
| var abList = null; | |
| @@ -329,7 +330,7 @@ | |
| composeFields.to = GetSelectedAddresses(); | |
| } | |
| params.composeFields = composeFields; | |
| - MailServices.compose.OpenComposeWindowWithParams(null, params); | |
| + composeTabManager.OpenComposeTabWithParams(params); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment