mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 12:15:51 +00:00
a8939590de
The bulk of this commit was generated by running: run-clang-tidy.py \ -checks='-*,llvm-namespace-comment' \ -header-filter=^/.../mozilla-central/.* \ -fix
115 lines
2.8 KiB
C++
115 lines
2.8 KiB
C++
/* 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 "LoadContextInfo.h"
|
|
|
|
#include "nsIChannel.h"
|
|
#include "nsILoadContext.h"
|
|
|
|
namespace mozilla {
|
|
namespace net {
|
|
|
|
NS_IMPL_ISUPPORTS(LoadContextInfo, nsILoadContextInfo)
|
|
|
|
LoadContextInfo::LoadContextInfo(bool aIsPrivate, uint32_t aAppId, bool aIsInBrowser, bool aIsAnonymous)
|
|
: mAppId(aAppId)
|
|
, mIsPrivate(aIsPrivate)
|
|
, mIsInBrowser(aIsInBrowser)
|
|
, mIsAnonymous(aIsAnonymous)
|
|
{
|
|
}
|
|
|
|
LoadContextInfo::~LoadContextInfo()
|
|
{
|
|
}
|
|
|
|
NS_IMETHODIMP LoadContextInfo::GetIsPrivate(bool *aIsPrivate)
|
|
{
|
|
*aIsPrivate = mIsPrivate;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP LoadContextInfo::GetAppId(uint32_t *aAppId)
|
|
{
|
|
*aAppId = mAppId;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP LoadContextInfo::GetIsInBrowserElement(bool *aIsInBrowser)
|
|
{
|
|
*aIsInBrowser = mIsInBrowser;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP LoadContextInfo::GetIsAnonymous(bool *aIsAnonymous)
|
|
{
|
|
*aIsAnonymous = mIsAnonymous;
|
|
return NS_OK;
|
|
}
|
|
|
|
LoadContextInfo *
|
|
GetLoadContextInfo(nsIChannel * aChannel)
|
|
{
|
|
bool pb = NS_UsePrivateBrowsing(aChannel);
|
|
uint32_t appId;
|
|
bool ib;
|
|
if (!NS_GetAppInfo(aChannel, &appId, &ib)) {
|
|
appId = nsILoadContextInfo::NO_APP_ID;
|
|
ib = false;
|
|
}
|
|
|
|
bool anon = false;
|
|
nsLoadFlags loadFlags;
|
|
nsresult rv = aChannel->GetLoadFlags(&loadFlags);
|
|
if (NS_SUCCEEDED(rv))
|
|
anon = !!(loadFlags & nsIChannel::LOAD_ANONYMOUS);
|
|
|
|
return new LoadContextInfo(pb, appId, ib, anon);
|
|
}
|
|
|
|
LoadContextInfo *
|
|
GetLoadContextInfo(nsILoadContext * aLoadContext, bool aIsAnonymous)
|
|
{
|
|
if (!aLoadContext)
|
|
return new LoadContextInfo(false, nsILoadContextInfo::NO_APP_ID, false, aIsAnonymous); // nullptr?
|
|
|
|
bool pb = aLoadContext->UsePrivateBrowsing();
|
|
|
|
bool ib;
|
|
nsresult rv = aLoadContext->GetIsInBrowserElement(&ib);
|
|
if (NS_FAILED(rv))
|
|
ib = false; // todo NS_WARNING...
|
|
|
|
uint32_t appId;
|
|
rv = aLoadContext->GetAppId(&appId);
|
|
if (NS_FAILED(rv))
|
|
appId = nsILoadContextInfo::NO_APP_ID;
|
|
|
|
return new LoadContextInfo(pb, appId, ib, aIsAnonymous);
|
|
}
|
|
|
|
LoadContextInfo *
|
|
GetLoadContextInfo(nsILoadContextInfo* aInfo)
|
|
{
|
|
return new LoadContextInfo(aInfo->IsPrivate(),
|
|
aInfo->AppId(),
|
|
aInfo->IsInBrowserElement(),
|
|
aInfo->IsAnonymous());
|
|
}
|
|
|
|
LoadContextInfo *
|
|
GetLoadContextInfo(bool const aIsPrivate,
|
|
uint32_t const aAppId,
|
|
bool const aIsInBrowserElement,
|
|
bool const aIsAnonymous)
|
|
{
|
|
return new LoadContextInfo(aIsPrivate,
|
|
aAppId,
|
|
aIsInBrowserElement,
|
|
aIsAnonymous);
|
|
}
|
|
|
|
} // namespace net
|
|
} // namespace mozilla
|