diff options
Diffstat (limited to 'mailnews/base/public/nsIMsgWindow.idl')
-rw-r--r-- | mailnews/base/public/nsIMsgWindow.idl | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/mailnews/base/public/nsIMsgWindow.idl b/mailnews/base/public/nsIMsgWindow.idl new file mode 100644 index 000000000..00673732b --- /dev/null +++ b/mailnews/base/public/nsIMsgWindow.idl @@ -0,0 +1,98 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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/. */ + +#include "nsISupports.idl" + +interface nsIMsgStatusFeedback; +interface nsIMsgFolder; +interface nsITransactionManager; +interface nsIDocShell; +interface mozIDOMWindowProxy; +interface nsIMsgHeaderSink; +interface nsIPrompt; +interface nsIInterfaceRequestor; +interface nsIAuthPrompt; + +[scriptable, uuid(7B8F4A65-CFC4-4b3f-BF5C-152AA8D5CD10)] +interface nsIMsgWindowCommands : nsISupports { + void selectFolder(in ACString folderUri); + void selectMessage(in ACString messageUri); + void clearMsgPane(); +}; + +[scriptable, uuid(a846fe48-4022-4296-a1c4-1dcd7eaecfe5)] +interface nsIMsgWindow : nsISupports { + attribute nsIMsgStatusFeedback statusFeedback; + attribute nsIMsgWindowCommands windowCommands; + attribute nsIMsgHeaderSink msgHeaderSink; + attribute nsITransactionManager transactionManager; + attribute nsIMsgFolder openFolder; + + /** + * @note Setting this attribute has various side effects, including + * wiring up this object as the parent nsIURIContentListener for the + * passed-in docshell as well as setting the message content policy service + * to listen for OnLocationChange notifications. + */ + attribute nsIDocShell rootDocShell; + + /** + * @note Small helper function used to optimize our use of a weak reference + * on the message window docshell. Under no circumstances should you be + * holding on to the docshell returned here outside the scope of your routine. + */ + readonly attribute nsIDocShell messageWindowDocShell; + + /** + * Returns the auth prompt associated with the window. This will only return + * a value if the rootDocShell has been set. + */ + readonly attribute nsIAuthPrompt authPrompt; + + /** + * These are currently used to set notification callbacks on + * protocol channels to handle things like bad cert exceptions. + */ + attribute nsIInterfaceRequestor notificationCallbacks; + + void displayHTMLInMessagePane(in AString title, in AString body, in boolean clearMsgHdr); + + readonly attribute nsIPrompt promptDialog; + attribute ACString mailCharacterSet; + + /** + Remember the message's charaset was overridden, so it can be inherited (e.g for quoting). + */ + attribute boolean charsetOverride; + + /** + Has a running url been stopped? If you care about checking + this flag, you need to clear it before you start your operation since + there's no convenient place to clear it. + */ + attribute boolean stopped; + + attribute mozIDOMWindowProxy domWindow; + + void StopUrls(); + + /** + when the msg window is being unloaded from the content window, + we can use this notification to force a flush on anything the + msg window hangs on too. For some reason xpconnect is still hanging + onto the msg window even though all of our objects have let go of it + this forces a release... + */ + void closeWindow(); +}; + +[scriptable, uuid(FFBC8B13-243F-4cd9-92D0-01636CDA425E)] +interface nsIMsgWindowTest : nsISupports { + /** + * For testing only, allow setting a few read-only attributes + */ + void setPromptDialog(in nsIPrompt promptDialog); + void setAuthPrompt(in nsIAuthPrompt authPrompt); +}; |