Source code

Revision control

Other Tools

1
/* This Source Code Form is subject to the terms of the Mozilla Public
2
* License, v. 2.0. If a copy of the MPL was not distributed with this
3
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5
#include "nsIStreamListener.idl"
6
#include "nsIHttpChannel.idl"
7
8
interface nsIRemoteTab;
9
10
%{C++
11
namespace mozilla {
12
namespace net {
13
class ParentChannelListener;
14
}
15
}
16
%}
17
18
[ptr] native ParentChannelListener(mozilla::net::ParentChannelListener);
19
20
/**
21
* Implemented by chrome side of IPC protocols.
22
*/
23
24
[scriptable, uuid(e0fc4801-6030-4653-a59f-1fb282bd1a04)]
25
interface nsIParentChannel : nsIStreamListener
26
{
27
/**
28
* Called to set the ParentChannelListener object (optional).
29
*/
30
[noscript] void setParentListener(in ParentChannelListener listener);
31
32
/**
33
* Called to notify the HttpChannelChild that channel classifier protection
34
* was disabled for this load.
35
*/
36
[noscript] void notifyChannelClassifierProtectionDisabled(in uint32_t aAcceptedReason);
37
38
/**
39
* Called to notify the HttpChannelChild that cookie has been allowed for
40
* this load.
41
*/
42
[noscript] void notifyCookieAllowed();
43
44
/**
45
* Called to notify the HttpChannelChild that cookie has been blocked for
46
* this load.
47
*/
48
[noscript] void notifyCookieBlocked(in uint32_t aRejectedReason);
49
50
/**
51
* Called to notify the HttpChannelChild that flash plugin state has changed.
52
*/
53
[noscript] void notifyFlashPluginStateChanged(in nsIHttpChannel_FlashPluginState aState);
54
55
/**
56
* Called to set matched information when URL matches SafeBrowsing list.
57
* @param aList
58
* Name of the list that matched
59
* @param aProvider
60
* Name of provider that matched
61
* @param aFullHash
62
* String represents full hash that matched
63
*/
64
[noscript] void setClassifierMatchedInfo(in ACString aList,
65
in ACString aProvider,
66
in ACString aFullHash);
67
68
/**
69
* Called to set matched tracking information when URL matches tracking annotation list.
70
* @param aList
71
* Comma-separated list of tables that matched
72
* @param aFullHashes
73
* Comma-separated list of base64 encoded full hashes that matched
74
*/
75
[noscript] void setClassifierMatchedTrackingInfo(in ACString aLists,
76
in ACString aFullHashes);
77
78
/**
79
* Called to notify the HttpChannelChild that the resource being loaded
80
* has been classified.
81
* @param aClassificationFlags
82
* What classifier identifies this channel.
83
* @param aIsThirdParty
84
* Whether or not the resourced is considered first-party
85
* with the URI of the window.
86
*/
87
[noscript] void notifyClassificationFlags(in uint32_t aClassificationFlags,
88
in bool aIsThirdParty);
89
90
/**
91
* Called to invoke deletion of the IPC protocol.
92
*/
93
void delete();
94
};