зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1646892 - Move ParentChannelWrapper into a separate file. r=jya,nika
Differential Revision: https://phabricator.services.mozilla.com/D80326
This commit is contained in:
Родитель
48aeb2fe30
Коммит
8a6af22c34
|
@ -0,0 +1,88 @@
|
|||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set sw=2 ts=8 et tw=80 : */
|
||||
|
||||
/* 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 "ParentChannelWrapper.h"
|
||||
#include "mozilla/net/UrlClassifierCommon.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
NS_IMPL_ISUPPORTS(ParentChannelWrapper, nsIParentChannel, nsIStreamListener,
|
||||
nsIRequestObserver);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// nsIParentChannel
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetParentListener(
|
||||
mozilla::net::ParentChannelListener* listener) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::NotifyFlashPluginStateChanged(
|
||||
nsIHttpChannel::FlashPluginState aState) {
|
||||
// For now, only HttpChannel use this attribute.
|
||||
RefPtr<HttpBaseChannel> httpChannel = do_QueryObject(mChannel);
|
||||
if (httpChannel) {
|
||||
httpChannel->SetFlashPluginState(aState);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetClassifierMatchedInfo(const nsACString& aList,
|
||||
const nsACString& aProvider,
|
||||
const nsACString& aFullHash) {
|
||||
nsCOMPtr<nsIClassifiedChannel> classifiedChannel =
|
||||
do_QueryInterface(mChannel);
|
||||
if (classifiedChannel) {
|
||||
classifiedChannel->SetMatchedInfo(aList, aProvider, aFullHash);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetClassifierMatchedTrackingInfo(
|
||||
const nsACString& aLists, const nsACString& aFullHash) {
|
||||
nsCOMPtr<nsIClassifiedChannel> classifiedChannel =
|
||||
do_QueryInterface(mChannel);
|
||||
if (classifiedChannel) {
|
||||
nsTArray<nsCString> lists, fullhashes;
|
||||
for (const nsACString& token : aLists.Split(',')) {
|
||||
lists.AppendElement(token);
|
||||
}
|
||||
for (const nsACString& token : aFullHash.Split(',')) {
|
||||
fullhashes.AppendElement(token);
|
||||
}
|
||||
classifiedChannel->SetMatchedTrackingInfo(lists, fullhashes);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::NotifyClassificationFlags(uint32_t aClassificationFlags,
|
||||
bool aIsThirdParty) {
|
||||
UrlClassifierCommon::SetClassificationFlagsHelper(
|
||||
mChannel, aClassificationFlags, aIsThirdParty);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::Delete() { return NS_OK; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::GetRemoteType(nsAString& aRemoteType) {
|
||||
aRemoteType = VoidString();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#undef LOG
|
|
@ -0,0 +1,35 @@
|
|||
/* vim: set sw=2 ts=8 et tw=80 : */
|
||||
|
||||
/* 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/. */
|
||||
|
||||
#ifndef mozilla_net_ParentChannelWrapper_h
|
||||
#define mozilla_net_ParentChannelWrapper_h
|
||||
|
||||
#include "nsIParentChannel.h"
|
||||
#include "nsIStreamListener.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
class ParentChannelWrapper : public nsIParentChannel {
|
||||
public:
|
||||
ParentChannelWrapper(nsIChannel* aChannel, nsIStreamListener* aListener)
|
||||
: mChannel(aChannel), mListener(aListener) {}
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIPARENTCHANNEL
|
||||
NS_FORWARD_NSISTREAMLISTENER(mListener->)
|
||||
NS_FORWARD_NSIREQUESTOBSERVER(mListener->)
|
||||
|
||||
private:
|
||||
virtual ~ParentChannelWrapper() = default;
|
||||
const nsCOMPtr<nsIChannel> mChannel;
|
||||
const nsCOMPtr<nsIStreamListener> mListener;
|
||||
};
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_net_ParentChannelWrapper_h
|
|
@ -7,12 +7,13 @@
|
|||
|
||||
#include "ParentProcessDocumentChannel.h"
|
||||
|
||||
#include "mozilla/net/ParentChannelWrapper.h"
|
||||
#include "mozilla/net/UrlClassifierCommon.h"
|
||||
#include "mozilla/StaticPrefs_extensions.h"
|
||||
#include "nsDocShell.h"
|
||||
#include "nsIObserverService.h"
|
||||
#include "nsIClassifiedChannel.h"
|
||||
#include "nsIRedirectChannelRegistrar.h"
|
||||
#include "mozilla/net/UrlClassifierCommon.h"
|
||||
|
||||
extern mozilla::LazyLogModule gDocumentChannelLog;
|
||||
#define LOG(fmt) MOZ_LOG(gDocumentChannelLog, mozilla::LogLevel::Verbose, fmt)
|
||||
|
@ -23,25 +24,6 @@ namespace net {
|
|||
using RedirectToRealChannelPromise =
|
||||
typename PDocumentChannelParent::RedirectToRealChannelPromise;
|
||||
|
||||
class ParentChannelWrapper : public nsIParentChannel {
|
||||
public:
|
||||
ParentChannelWrapper(nsIChannel* aChannel, nsIStreamListener* aListener)
|
||||
: mChannel(aChannel), mListener(aListener) {}
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIPARENTCHANNEL
|
||||
NS_FORWARD_NSISTREAMLISTENER(mListener->)
|
||||
NS_FORWARD_NSIREQUESTOBSERVER(mListener->)
|
||||
|
||||
private:
|
||||
virtual ~ParentChannelWrapper() = default;
|
||||
const nsCOMPtr<nsIChannel> mChannel;
|
||||
const nsCOMPtr<nsIStreamListener> mListener;
|
||||
};
|
||||
|
||||
NS_IMPL_ISUPPORTS(ParentChannelWrapper, nsIParentChannel, nsIStreamListener,
|
||||
nsIRequestObserver);
|
||||
|
||||
NS_IMPL_ISUPPORTS_INHERITED(ParentProcessDocumentChannel, DocumentChannel,
|
||||
nsIAsyncVerifyRedirectCallback, nsIObserver)
|
||||
|
||||
|
@ -287,74 +269,6 @@ ParentProcessDocumentChannel::Observe(nsISupports* aSubject, const char* aTopic,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// nsIParentChannel
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetParentListener(
|
||||
mozilla::net::ParentChannelListener* listener) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::NotifyFlashPluginStateChanged(
|
||||
nsIHttpChannel::FlashPluginState aState) {
|
||||
// For now, only HttpChannel use this attribute.
|
||||
RefPtr<HttpBaseChannel> httpChannel = do_QueryObject(mChannel);
|
||||
if (httpChannel) {
|
||||
httpChannel->SetFlashPluginState(aState);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetClassifierMatchedInfo(const nsACString& aList,
|
||||
const nsACString& aProvider,
|
||||
const nsACString& aFullHash) {
|
||||
nsCOMPtr<nsIClassifiedChannel> classifiedChannel =
|
||||
do_QueryInterface(mChannel);
|
||||
if (classifiedChannel) {
|
||||
classifiedChannel->SetMatchedInfo(aList, aProvider, aFullHash);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::SetClassifierMatchedTrackingInfo(
|
||||
const nsACString& aLists, const nsACString& aFullHash) {
|
||||
nsCOMPtr<nsIClassifiedChannel> classifiedChannel =
|
||||
do_QueryInterface(mChannel);
|
||||
if (classifiedChannel) {
|
||||
nsTArray<nsCString> lists, fullhashes;
|
||||
for (const nsACString& token : aLists.Split(',')) {
|
||||
lists.AppendElement(token);
|
||||
}
|
||||
for (const nsACString& token : aFullHash.Split(',')) {
|
||||
fullhashes.AppendElement(token);
|
||||
}
|
||||
classifiedChannel->SetMatchedTrackingInfo(lists, fullhashes);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::NotifyClassificationFlags(uint32_t aClassificationFlags,
|
||||
bool aIsThirdParty) {
|
||||
UrlClassifierCommon::SetClassificationFlagsHelper(
|
||||
mChannel, aClassificationFlags, aIsThirdParty);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::Delete() { return NS_OK; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
ParentChannelWrapper::GetRemoteType(nsAString& aRemoteType) {
|
||||
aRemoteType = VoidString();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ EXPORTS.mozilla.net += [
|
|||
'NeckoMessageUtils.h',
|
||||
'NeckoParent.h',
|
||||
'NeckoTargetHolder.h',
|
||||
'ParentChannelWrapper.h',
|
||||
'ParentProcessDocumentChannel.h',
|
||||
'ProxyConfigLookup.h',
|
||||
'ProxyConfigLookupChild.h',
|
||||
|
@ -40,6 +41,7 @@ UNIFIED_SOURCES += [
|
|||
'NeckoChild.cpp',
|
||||
'NeckoParent.cpp',
|
||||
'NeckoTargetHolder.cpp',
|
||||
'ParentChannelWrapper.cpp',
|
||||
'ParentProcessDocumentChannel.cpp',
|
||||
'ProxyConfigLookup.cpp',
|
||||
'ProxyConfigLookupChild.cpp',
|
||||
|
|
Загрузка…
Ссылка в новой задаче