nsIParentChannel.idl (2351B)
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 set matched information when URL matches SafeBrowsing list. 34 * @param aList 35 * Name of the list that matched 36 * @param aProvider 37 * Name of provider that matched 38 * @param aFullHash 39 * String represents full hash that matched 40 */ 41 [noscript] void setClassifierMatchedInfo(in ACString aList, 42 in ACString aProvider, 43 in ACString aFullHash); 44 45 /** 46 * Called to set matched tracking information when URL matches tracking annotation list. 47 * @param aList 48 * Comma-separated list of tables that matched 49 * @param aFullHashes 50 * Comma-separated list of base64 encoded full hashes that matched 51 */ 52 [noscript] void setClassifierMatchedTrackingInfo(in ACString aLists, 53 in ACString aFullHashes); 54 55 /** 56 * Called to notify the HttpChannelChild that the resource being loaded 57 * has been classified. 58 * @param aClassificationFlags 59 * What classifier identifies this channel. 60 * @param aIsThirdParty 61 * Whether or not the resourced is considered first-party 62 * with the URI of the window. 63 */ 64 [noscript] void notifyClassificationFlags(in uint32_t aClassificationFlags, 65 in boolean aIsThirdParty); 66 67 /** 68 * Called to invoke deletion of the IPC protocol. 69 */ 70 void delete(); 71 72 /** 73 * The remote type of the target process for this load. 74 */ 75 readonly attribute AUTF8String remoteType; 76 };