1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/* -*- Mode: C++; 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"
#include "nsrootidl.idl"
interface nsIChannel;
interface nsIMsgMailNewsUrl;
interface nsIUTF8StringEnumerator;
interface nsIMsgDBHdr;
interface nsIURI;
interface nsIWritablePropertyBag2;
[scriptable, uuid(4644FB25-5255-11d3-82B8-444553540002)]
interface nsIMimeMiscStatus : nsISupports{
string GetWindowXULandJS();
string GetGlobalXULandJS();
string GetIndividualXUL(in string aName, in string aHeader, in string aEmail);
long GetMiscStatus(in string aName, in string aEmail);
string GetImageURL(in long aStatus);
};
// this is a simple interface which allows someone to listen to all the headers
// that are discovered by mime. We can use this when displaying a message to update
// the msg header in JS.
[scriptable, uuid(e0e821f0-cecf-4cb3-be5b-ee58b6868343)]
interface nsIMsgHeaderSink : nsISupports
{
// You must finish consuming the iterators before returning from processHeaders. aHeaderNames and aHeaderValues will ALWAYS have the same
// number of elements in them
void processHeaders(in nsIUTF8StringEnumerator aHeaderNames, in nsIUTF8StringEnumerator aHeaderValues, in boolean dontCollectAddress);
void handleAttachment(in string contentType, in string url, in wstring displayName, in string uri,
in boolean aNotDownloaded);
/**
* Add a metadata field to the current attachment, e.g. "X-Mozilla-PartSize".
*
* @param field The field to add
* @param value The value of the field
*/
void addAttachmentField(in string field, in string value);
void onEndAllAttachments();
// onEndMsgHeaders is called after libmime is done processing a message. At this point it is safe for
// elements like the UI to update junk status, process return receipts, etc.
void onEndMsgHeaders(in nsIMsgMailNewsUrl url);
// onEndMsgDownload is triggered when layout says it is actually done rendering
// the message body in the UI.
void onEndMsgDownload(in nsIMsgMailNewsUrl url);
attribute nsISupports securityInfo;
/**
* onMsgHasRemoteContent is called each time content policy encounters remote
* content that it will block from loading.
* @param aMsgHdr header of the message the content is located in
* @param aContentURI location that will be blocked.
* @param aCanOverride can the blocking be overridden or not
*/
void onMsgHasRemoteContent(in nsIMsgDBHdr aMsgHdr, in nsIURI aContentURI, in boolean aCanOverride);
readonly attribute nsIMsgDBHdr dummyMsgHeader;
// used as a hook for extension mime content handlers to store data that can later
// be accessed by other parts of the code, e.g., UI code.
// TODO - Should replace securityInfo
readonly attribute nsIWritablePropertyBag2 properties;
// When streaming a new message, properties should be reset, so that there are
// not previous values lurking around.
void resetProperties();
};
|