mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-27 01:27:30 +09:00
Disallow getUserMedia on null principals.
This commit is contained in:
parent
b178af2ddb
commit
db3e9bd7ba
1 changed files with 10 additions and 1 deletions
|
|
@ -2051,6 +2051,16 @@ MediaManager::GetUserMedia(nsPIDOMWindowInner* aWindow,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disallow access to null principal pages
|
||||||
|
nsCOMPtr<nsIPrincipal> principal = aWindow->GetExtantDoc()->NodePrincipal();
|
||||||
|
if (principal->GetIsNullPrincipal()) {
|
||||||
|
RefPtr<MediaStreamError> error =
|
||||||
|
new MediaStreamError(aWindow,
|
||||||
|
NS_LITERAL_STRING("NotAllowedError"));
|
||||||
|
onFailure->OnError(error);
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (!Preferences::GetBool("media.navigator.video.enabled", true)) {
|
if (!Preferences::GetBool("media.navigator.video.enabled", true)) {
|
||||||
c.mVideo.SetAsBoolean() = false;
|
c.mVideo.SetAsBoolean() = false;
|
||||||
}
|
}
|
||||||
|
|
@ -2198,7 +2208,6 @@ MediaManager::GetUserMedia(nsPIDOMWindowInner* aWindow,
|
||||||
StreamListeners* listeners = AddWindowID(windowID);
|
StreamListeners* listeners = AddWindowID(windowID);
|
||||||
|
|
||||||
// Create a disabled listener to act as a placeholder
|
// Create a disabled listener to act as a placeholder
|
||||||
nsIPrincipal* principal = aWindow->GetExtantDoc()->NodePrincipal();
|
|
||||||
RefPtr<GetUserMediaCallbackMediaStreamListener> listener =
|
RefPtr<GetUserMediaCallbackMediaStreamListener> listener =
|
||||||
new GetUserMediaCallbackMediaStreamListener(mMediaThread, windowID,
|
new GetUserMediaCallbackMediaStreamListener(mMediaThread, windowID,
|
||||||
MakePrincipalHandle(principal));
|
MakePrincipalHandle(principal));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue