forked from mirrors/gecko-dev
		
	 7ff44a2c39
			
		
	
	
		7ff44a2c39
		
	
	
	
	
		
			
			See bug 1787319. Before this change, IPCChannelInfo consisted solely of `nsCString securityInfo`. Now, instead of using IPCChannelInfo, nsITransportSecurityInfo is used directly. Differential Revision: https://phabricator.services.mozilla.com/D156607
		
			
				
	
	
		
			117 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /* 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 IPCStream;
 | |
| include PBackgroundSharedTypes;
 | |
| include PerformanceTimingTypes;
 | |
| 
 | |
| include "mozilla/dom/FetchIPCTypes.h";
 | |
| include "mozilla/ipc/TransportSecurityInfoUtils.h";
 | |
| 
 | |
| using HeadersGuardEnum from "mozilla/dom/HeadersBinding.h";
 | |
| using ReferrerPolicy from "mozilla/dom/ReferrerPolicyBinding.h";
 | |
| using RequestCache from "mozilla/dom/RequestBinding.h";
 | |
| using RequestCredentials from "mozilla/dom/RequestBinding.h";
 | |
| using RequestMode from "mozilla/dom/RequestBinding.h";
 | |
| using RequestRedirect from "mozilla/dom/RequestBinding.h";
 | |
| using ResponseType from "mozilla/dom/ResponseBinding.h";
 | |
| using struct nsID from "nsID.h";
 | |
| using FetchDriverObserver::EndReason from "mozilla/dom/FetchDriver.h";
 | |
| [RefCounted] using class mozilla::RemoteLazyInputStream from "mozilla/RemoteLazyInputStream.h";
 | |
| [RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";
 | |
| 
 | |
| namespace mozilla {
 | |
| namespace dom {
 | |
| 
 | |
| struct HeadersEntry {
 | |
|   nsCString name;
 | |
|   nsCString value;
 | |
| };
 | |
| 
 | |
| struct ParentToParentStream {
 | |
|   // Used as a key for RemoteLazyInputStreamStorage
 | |
|   nsID uuid;
 | |
| };
 | |
| 
 | |
| struct ParentToChildStream {
 | |
|   RemoteLazyInputStream stream;
 | |
| };
 | |
| 
 | |
| struct ChildToParentStream {
 | |
|   IPCStream stream;
 | |
| };
 | |
| 
 | |
| union BodyStreamVariant {
 | |
|   ParentToParentStream;
 | |
|   ParentToChildStream;
 | |
|   ChildToParentStream;
 | |
| };
 | |
| 
 | |
| struct IPCInternalRequest {
 | |
|   nsCString method;
 | |
|   nsCString[] urlList;
 | |
|   HeadersGuardEnum headersGuard;
 | |
|   HeadersEntry[] headers;
 | |
|   BodyStreamVariant? body;
 | |
|   int64_t bodySize;
 | |
|   nsCString preferredAlternativeDataType;
 | |
|   uint32_t contentPolicyType;
 | |
|   nsString referrer;
 | |
|   ReferrerPolicy referrerPolicy;
 | |
|   RequestMode requestMode;
 | |
|   RequestCredentials requestCredentials;
 | |
|   RequestCache cacheMode;
 | |
|   RequestRedirect requestRedirect;
 | |
|   nsString integrity;
 | |
|   nsCString fragment;
 | |
|   PrincipalInfo? principalInfo;
 | |
| };
 | |
| 
 | |
| struct InternalResponseMetadata {
 | |
|   ResponseType type;
 | |
|   nsCString[] urlList;
 | |
|   uint16_t status;
 | |
|   nsCString statusText;
 | |
|   HeadersGuardEnum headersGuard;
 | |
|   HeadersEntry[] headers;
 | |
|   nsresult errorCode;
 | |
|   nsCString alternativeDataType;
 | |
|   nsITransportSecurityInfo securityInfo;
 | |
|   PrincipalInfo? principalInfo;
 | |
| };
 | |
| 
 | |
| struct ParentToParentInternalResponse {
 | |
|   InternalResponseMetadata metadata;
 | |
|   ParentToParentStream? body;
 | |
|   int64_t bodySize;
 | |
|   ParentToParentStream? alternativeBody;
 | |
| };
 | |
| 
 | |
| struct ParentToChildInternalResponse {
 | |
|   InternalResponseMetadata metadata;
 | |
|   ParentToChildStream? body;
 | |
|   int64_t bodySize;
 | |
|   ParentToChildStream? alternativeBody;
 | |
| };
 | |
| 
 | |
| struct ChildToParentInternalResponse {
 | |
|   InternalResponseMetadata metadata;
 | |
|   ChildToParentStream? body;
 | |
|   int64_t bodySize;
 | |
|   ChildToParentStream? alternativeBody;
 | |
| };
 | |
| 
 | |
| struct ResponseTiming {
 | |
|   IPCPerformanceTimingData timingData;
 | |
|   nsString initiatorType;
 | |
|   nsString entryName;
 | |
| };
 | |
| 
 | |
| struct ResponseEndArgs {
 | |
|   EndReason endReason;
 | |
|   ResponseTiming? timing;
 | |
| };
 | |
| 
 | |
| } // namespace ipc
 | |
| } // namespace mozilla
 |