mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-01 16:58:12 +02:00
Bug 1901387 - Part 1: Ensure URLInfo is safe to use OMT, r=extension-reviewers,robwu
Previously accessing Scheme() on a URLInfo was main-thread-only. As more extension methods are used OMT, this needs to be switched to the threadsafe NS_Atomize method instead. Differential Revision: https://phabricator.services.mozilla.com/D215024
This commit is contained in:
parent
ecd9936d55
commit
d189a217e9
2 changed files with 4 additions and 1 deletions
|
|
@ -119,7 +119,7 @@ nsAtom* URLInfo::Scheme() const {
|
|||
if (!mScheme) {
|
||||
nsCString scheme;
|
||||
if (NS_SUCCEEDED(mURI->GetScheme(scheme))) {
|
||||
mScheme = NS_AtomizeMainThread(NS_ConvertASCIItoUTF16(scheme));
|
||||
mScheme = NS_Atomize(scheme);
|
||||
}
|
||||
}
|
||||
return mScheme;
|
||||
|
|
@ -196,6 +196,7 @@ bool URLInfo::InheritsPrincipal() const {
|
|||
}
|
||||
|
||||
bool URLInfo::IsNonOpaqueURL() const {
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (!mIsNonOpaqueURL.isSome()) {
|
||||
RefPtr<AtomSet> nonOpaqueSchemes = NonOpaqueSchemes();
|
||||
mIsNonOpaqueURL.emplace(nonOpaqueSchemes->Contains(Scheme()));
|
||||
|
|
|
|||
|
|
@ -112,6 +112,8 @@ class URLInfo final {
|
|||
// that document were to have an opaque origin (null principal).
|
||||
// These URLs are more verbose than the precursor (origin) of a null
|
||||
// principal, and therefore preferred for matching purposes.
|
||||
//
|
||||
// NOTE: This method is main-thread only
|
||||
bool IsNonOpaqueURL() const;
|
||||
|
||||
private:
|
||||
|
|
|
|||
Loading…
Reference in a new issue