mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
449237fc51
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass. We change Create() so OriginAttributes is no longer optional, and rename Create() with no arguments to make it more explicit about what the caller is doing. MozReview-Commit-ID: 7DQGlgh1tgJ
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 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/. */
|
|
|
|
/* thread-safe container of information for resolving url values */
|
|
|
|
#include "mozilla/URLExtraData.h"
|
|
|
|
#include "nsProxyRelease.h"
|
|
#include "NullPrincipalURI.h"
|
|
|
|
namespace mozilla {
|
|
|
|
StaticRefPtr<URLExtraData> URLExtraData::sDummy;
|
|
|
|
/* static */ void
|
|
URLExtraData::InitDummy()
|
|
{
|
|
RefPtr<nsIURI> baseURI = NullPrincipalURI::Create();
|
|
RefPtr<nsIURI> referrer = baseURI;
|
|
sDummy = new URLExtraData(baseURI.forget(),
|
|
referrer.forget(),
|
|
NullPrincipal::CreateWithoutOriginAttributes());
|
|
}
|
|
|
|
/* static */ void
|
|
URLExtraData::ReleaseDummy()
|
|
{
|
|
sDummy = nullptr;
|
|
}
|
|
|
|
URLExtraData::~URLExtraData()
|
|
{
|
|
if (!NS_IsMainThread()) {
|
|
NS_ReleaseOnMainThreadSystemGroup("URLExtraData::mBaseURI",
|
|
mBaseURI.forget());
|
|
NS_ReleaseOnMainThreadSystemGroup("URLExtraData::mReferrer",
|
|
mReferrer.forget());
|
|
NS_ReleaseOnMainThreadSystemGroup("URLExtraData::mPrincipal",
|
|
mPrincipal.forget());
|
|
}
|
|
}
|
|
|
|
} // namespace mozilla
|