Bug 1575744 - P8. Remove no longer necessary interface. r=mayhemer

Thanks to the promisifying of SendCrossProcessRedirect we no longer needs callback to DocumentChannelParent from nsHttpChannelParent. So we can remove the interface that allowed to do so.

Differential Revision: https://phabricator.services.mozilla.com/D46174

--HG--
rename : netwerk/base/nsICrossProcessSwitchChannel.idl => netwerk/base/nsIProcessSwitchRequestor.idl
extra : moz-landing-system : lando
This commit is contained in:
Jean-Yves Avenard 2019-09-20 04:09:48 +00:00
Родитель 7cdc8e0a68
Коммит e3fc8f8970
9 изменённых файлов: 14 добавлений и 42 удалений

Просмотреть файл

@ -35,7 +35,6 @@ XPIDL_SOURCES += [
'nsIClassifiedChannel.idl', 'nsIClassifiedChannel.idl',
'nsIClassOfService.idl', 'nsIClassOfService.idl',
'nsIContentSniffer.idl', 'nsIContentSniffer.idl',
'nsICrossProcessSwitchChannel.idl',
'nsIDashboard.idl', 'nsIDashboard.idl',
'nsIDashboardEventNotifier.idl', 'nsIDashboardEventNotifier.idl',
'nsIDeprecationWarner.idl', 'nsIDeprecationWarner.idl',
@ -76,6 +75,7 @@ XPIDL_SOURCES += [
'nsIPermission.idl', 'nsIPermission.idl',
'nsIPermissionManager.idl', 'nsIPermissionManager.idl',
'nsIPrivateBrowsingChannel.idl', 'nsIPrivateBrowsingChannel.idl',
'nsIProcessSwitchRequestor.idl',
'nsIProgressEventSink.idl', 'nsIProgressEventSink.idl',
'nsIPrompt.idl', 'nsIPrompt.idl',
'nsIProtocolHandler.idl', 'nsIProtocolHandler.idl',

Просмотреть файл

@ -4,26 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * 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/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl" #include "nsIChannel.idl"
#include "nsIAsyncVerifyRedirectCallback.idl"
#include "nsIHttpChannel.idl"
[scriptable, uuid(d2471b64-0292-4cb5-b801-914e34b31af0)]
interface nsICrossProcessSwitchChannel : nsISupports
{
/**
* When a process switch is about to start,
* nsHttpChannel will call this method on DocumentChannelParent or
* HttpChannelParent
*
* @param channel
* nsIHttpChannel caller.
* @param identifier
* identifier from SessionStore to be passed to the childChannel in
* order to identify it.
*/
void triggerCrossProcessSwitch(in nsIHttpChannel channel, in uint64_t identifier);
};
/** /**
* The nsIProcessSwitchRequestor interface allows clients to instruct * The nsIProcessSwitchRequestor interface allows clients to instruct

Просмотреть файл

@ -39,7 +39,6 @@ NS_INTERFACE_MAP_BEGIN(DocumentChannelParent)
NS_INTERFACE_MAP_ENTRY(nsIStreamListener) NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
NS_INTERFACE_MAP_ENTRY(nsIParentChannel) NS_INTERFACE_MAP_ENTRY(nsIParentChannel)
NS_INTERFACE_MAP_ENTRY(nsIAsyncVerifyRedirectReadyCallback) NS_INTERFACE_MAP_ENTRY(nsIAsyncVerifyRedirectReadyCallback)
NS_INTERFACE_MAP_ENTRY(nsICrossProcessSwitchChannel)
NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink) NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
NS_INTERFACE_MAP_ENTRY(nsIProcessSwitchRequestor) NS_INTERFACE_MAP_ENTRY(nsIProcessSwitchRequestor)
NS_INTERFACE_MAP_ENTRY_CONCRETE(DocumentChannelParent) NS_INTERFACE_MAP_ENTRY_CONCRETE(DocumentChannelParent)
@ -359,14 +358,6 @@ void DocumentChannelParent::FinishReplacementChannelSetup(bool aSucceeded) {
} }
} }
nsresult DocumentChannelParent::TriggerCrossProcessSwitch(
nsIHttpChannel* aChannel, uint64_t aIdentifier) {
MOZ_ASSERT_UNREACHABLE(
"We can no longer be called from nsHttpChannel, this interface will be "
"removed in a follow-up patch");
return NS_OK;
}
void DocumentChannelParent::TriggerCrossProcessSwitch() { void DocumentChannelParent::TriggerCrossProcessSwitch() {
MOZ_ASSERT(mRedirectContentProcessIdPromise); MOZ_ASSERT(mRedirectContentProcessIdPromise);
CancelChildForProcessSwitch(); CancelChildForProcessSwitch();

Просмотреть файл

@ -13,11 +13,11 @@
#include "mozilla/net/NeckoParent.h" #include "mozilla/net/NeckoParent.h"
#include "mozilla/net/PDocumentChannelParent.h" #include "mozilla/net/PDocumentChannelParent.h"
#include "mozilla/net/ParentChannelListener.h" #include "mozilla/net/ParentChannelListener.h"
#include "nsICrossProcessSwitchChannel.h"
#include "nsIInterfaceRequestor.h" #include "nsIInterfaceRequestor.h"
#include "nsIObserver.h" #include "nsIObserver.h"
#include "nsIParentChannel.h" #include "nsIParentChannel.h"
#include "nsIParentRedirectingChannel.h" #include "nsIParentRedirectingChannel.h"
#include "nsIProcessSwitchRequestor.h"
#include "nsIRedirectResultListener.h" #include "nsIRedirectResultListener.h"
#define DOCUMENT_CHANNEL_PARENT_IID \ #define DOCUMENT_CHANNEL_PARENT_IID \
@ -37,7 +37,6 @@ class DocumentChannelParent : public nsIInterfaceRequestor,
public nsIAsyncVerifyRedirectReadyCallback, public nsIAsyncVerifyRedirectReadyCallback,
public nsIParentChannel, public nsIParentChannel,
public nsIChannelEventSink, public nsIChannelEventSink,
public nsICrossProcessSwitchChannel,
public HttpChannelSecurityWarningReporter, public HttpChannelSecurityWarningReporter,
public nsIProcessSwitchRequestor { public nsIProcessSwitchRequestor {
public: public:
@ -54,7 +53,6 @@ class DocumentChannelParent : public nsIInterfaceRequestor,
NS_DECL_NSIINTERFACEREQUESTOR NS_DECL_NSIINTERFACEREQUESTOR
NS_DECL_NSIASYNCVERIFYREDIRECTREADYCALLBACK NS_DECL_NSIASYNCVERIFYREDIRECTREADYCALLBACK
NS_DECL_NSICHANNELEVENTSINK NS_DECL_NSICHANNELEVENTSINK
NS_DECL_NSICROSSPROCESSSWITCHCHANNEL
NS_DECL_NSIPROCESSSWITCHREQUESTOR NS_DECL_NSIPROCESSSWITCHREQUESTOR
NS_DECLARE_STATIC_IID_ACCESSOR(DOCUMENT_CHANNEL_PARENT_IID) NS_DECLARE_STATIC_IID_ACCESSOR(DOCUMENT_CHANNEL_PARENT_IID)

Просмотреть файл

@ -289,7 +289,6 @@ NS_INTERFACE_MAP_BEGIN(HttpChannelParent)
NS_INTERFACE_MAP_ENTRY(nsIAsyncVerifyRedirectReadyCallback) NS_INTERFACE_MAP_ENTRY(nsIAsyncVerifyRedirectReadyCallback)
NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink) NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
NS_INTERFACE_MAP_ENTRY(nsIRedirectResultListener) NS_INTERFACE_MAP_ENTRY(nsIRedirectResultListener)
NS_INTERFACE_MAP_ENTRY(nsICrossProcessSwitchChannel)
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIParentRedirectingChannel) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIParentRedirectingChannel)
NS_INTERFACE_MAP_ENTRY_CONCRETE(HttpChannelParent) NS_INTERFACE_MAP_ENTRY_CONCRETE(HttpChannelParent)
NS_INTERFACE_MAP_END NS_INTERFACE_MAP_END

Просмотреть файл

@ -14,7 +14,6 @@
#include "mozilla/net/NeckoCommon.h" #include "mozilla/net/NeckoCommon.h"
#include "mozilla/net/NeckoParent.h" #include "mozilla/net/NeckoParent.h"
#include "mozilla/MozPromise.h" #include "mozilla/MozPromise.h"
#include "nsICrossProcessSwitchChannel.h"
#include "nsIObserver.h" #include "nsIObserver.h"
#include "nsIParentRedirectingChannel.h" #include "nsIParentRedirectingChannel.h"
#include "nsIProgressEventSink.h" #include "nsIProgressEventSink.h"
@ -61,8 +60,7 @@ class HttpChannelParent final : public nsIInterfaceRequestor,
public HttpChannelSecurityWarningReporter, public HttpChannelSecurityWarningReporter,
public nsIAsyncVerifyRedirectReadyCallback, public nsIAsyncVerifyRedirectReadyCallback,
public nsIChannelEventSink, public nsIChannelEventSink,
public nsIRedirectResultListener, public nsIRedirectResultListener {
public nsICrossProcessSwitchChannel {
virtual ~HttpChannelParent(); virtual ~HttpChannelParent();
public: public:
@ -78,7 +76,6 @@ class HttpChannelParent final : public nsIInterfaceRequestor,
NS_DECL_NSIASYNCVERIFYREDIRECTREADYCALLBACK NS_DECL_NSIASYNCVERIFYREDIRECTREADYCALLBACK
NS_DECL_NSICHANNELEVENTSINK NS_DECL_NSICHANNELEVENTSINK
NS_DECL_NSIREDIRECTRESULTLISTENER NS_DECL_NSIREDIRECTRESULTLISTENER
NS_DECL_NSICROSSPROCESSSWITCHCHANNEL
NS_DECLARE_STATIC_IID_ACCESSOR(HTTP_CHANNEL_PARENT_IID) NS_DECLARE_STATIC_IID_ACCESSOR(HTTP_CHANNEL_PARENT_IID)
@ -132,6 +129,13 @@ class HttpChannelParent final : public nsIInterfaceRequestor,
base::ProcessId OtherPid() const; base::ProcessId OtherPid() const;
// Called by nsHttpChannel when a process switch is about to start.
// aChannel: nsIHttpChannel caller.
// aIdentifier: identifier from SessionStore to be passed to the childChannel
// in order to identify it.
nsresult TriggerCrossProcessSwitch(nsIHttpChannel* aChannel,
uint64_t aIdentifier);
// Calling this method will cancel the HttpChannelChild because the consumer // Calling this method will cancel the HttpChannelChild because the consumer
// needs to be relocated to another process. // needs to be relocated to another process.
// Any OnStart/Stop/DataAvailable calls that follow will not be sent to the // Any OnStart/Stop/DataAvailable calls that follow will not be sent to the

Просмотреть файл

@ -7298,8 +7298,7 @@ nsresult nsHttpChannel::StartCrossProcessRedirect() {
nsCOMPtr<nsIParentChannel> parentChannel; nsCOMPtr<nsIParentChannel> parentChannel;
NS_QueryNotificationCallbacks(this, parentChannel); NS_QueryNotificationCallbacks(this, parentChannel);
nsCOMPtr<nsICrossProcessSwitchChannel> httpParent = RefPtr<HttpChannelParent> httpParent = do_QueryObject(parentChannel);
do_QueryInterface(parentChannel);
MOZ_ASSERT(httpParent); MOZ_ASSERT(httpParent);
NS_ENSURE_TRUE(httpParent, NS_ERROR_UNEXPECTED); NS_ENSURE_TRUE(httpParent, NS_ERROR_UNEXPECTED);

Просмотреть файл

@ -33,8 +33,8 @@
#include "nsIRaceCacheWithNetwork.h" #include "nsIRaceCacheWithNetwork.h"
#include "mozilla/extensions/PStreamFilterParent.h" #include "mozilla/extensions/PStreamFilterParent.h"
#include "mozilla/Mutex.h" #include "mozilla/Mutex.h"
#include "nsIProcessSwitchRequestor.h"
#include "nsIRemoteTab.h" #include "nsIRemoteTab.h"
#include "nsICrossProcessSwitchChannel.h"
class nsDNSPrefetch; class nsDNSPrefetch;
class nsICancelable; class nsICancelable;

Просмотреть файл

@ -15,7 +15,6 @@
#include "nsHttpChannel.h" #include "nsHttpChannel.h"
#include "nsHttpAuthCache.h" #include "nsHttpAuthCache.h"
#include "nsStandardURL.h" #include "nsStandardURL.h"
#include "nsICrossProcessSwitchChannel.h"
#include "nsIDOMWindow.h" #include "nsIDOMWindow.h"
#include "nsIHttpChannel.h" #include "nsIHttpChannel.h"
#include "nsIStandardURL.h" #include "nsIStandardURL.h"
@ -24,6 +23,7 @@
#include "nsIPrefService.h" #include "nsIPrefService.h"
#include "nsIPrefBranch.h" #include "nsIPrefBranch.h"
#include "nsIPrefLocalizedString.h" #include "nsIPrefLocalizedString.h"
#include "nsIProcessSwitchRequestor.h"
#include "nsSocketProviderService.h" #include "nsSocketProviderService.h"
#include "nsISocketProvider.h" #include "nsISocketProvider.h"
#include "nsPrintfCString.h" #include "nsPrintfCString.h"