This is necessary because it's possible for one request triggered from a child to start a CORS preflight in the parent process and get an entry into the preflight cache, and then a CORS check for the same URL to fail in the child process later on. In this case, we need to tell the parent process to clear its CORS preflight cache entry.
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
/* -*- 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"
|
|
|
|
[ptr] native RequestHeaderTuples(mozilla::net::RequestHeaderTuples);
|
|
|
|
interface nsIPrincipal;
|
|
interface nsIURI;
|
|
|
|
[uuid(81acb360-edd2-428e-935f-300a32efb649)]
|
|
interface nsIHttpChannelChild : nsISupports
|
|
{
|
|
void addCookiesToRequest();
|
|
|
|
// Mark this channel as requiring an interception; this will propagate
|
|
// to the corresponding parent channel when a redirect occurs.
|
|
void forceIntercepted();
|
|
|
|
// Headers that the channel client has set via SetRequestHeader.
|
|
readonly attribute RequestHeaderTuples clientSetRequestHeaders;
|
|
|
|
// This method is called by nsCORSListenerProxy if we need to remove
|
|
// an entry from the CORS preflight cache in the parent process.
|
|
void removeCorsPreflightCacheEntry(in nsIURI aURI, in nsIPrincipal aRequestingPrincipal);
|
|
};
|