Loading dom/base/StructuredCloneHolder.cpp +7 −8 Original line number Diff line number Diff line Loading @@ -1110,7 +1110,7 @@ JSObject* StructuredCloneHolder::CustomReadHandler( return ClonedErrorHolder::ReadStructuredClone(aCx, aReader, this); } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (VideoFrame::PrefEnabled(aCx) && aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess && aCloneDataPolicy.areIntraClusterClonableSharedObjectsAllowed()) { JS::Rooted<JSObject*> global(aCx, mGlobal->GetGlobalJSObject()); Loading Loading @@ -1250,7 +1250,7 @@ bool StructuredCloneHolder::CustomWriteHandler( } // See if this is a VideoFrame object. if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoFrame = nullptr; if (NS_SUCCEEDED(UNWRAP_OBJECT(VideoFrame, &obj, videoFrame))) { SameProcessScopeRequired(aSameProcessScopeRequired); Loading Loading @@ -1446,7 +1446,7 @@ StructuredCloneHolder::CustomReadTransferHandler( aReturnObject); } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (VideoFrame::PrefEnabled(aCx) && aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess && aCloneDataPolicy.areIntraClusterClonableSharedObjectsAllowed()) { MOZ_ASSERT(aContent); Loading Loading @@ -1591,7 +1591,7 @@ StructuredCloneHolder::CustomWriteTransferHandler( return true; } if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoFrame = nullptr; rv = UNWRAP_OBJECT(VideoFrame, &obj, videoFrame); if (NS_SUCCEEDED(rv)) { Loading Loading @@ -1758,7 +1758,7 @@ void StructuredCloneHolder::CustomFreeTransferHandler( return; } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess) { if (aContent) { VideoFrame::TransferredData* data = Loading @@ -1767,8 +1767,7 @@ void StructuredCloneHolder::CustomFreeTransferHandler( } return; } if (StaticPrefs::dom_media_webcodecs_enabled() && aTag == SCTAG_DOM_AUDIODATA && if (aTag == SCTAG_DOM_AUDIODATA && CloneScope() == StructuredCloneScope::SameProcess) { if (aContent) { AudioData::TransferredData* data = Loading Loading @@ -1851,7 +1850,7 @@ bool StructuredCloneHolder::CustomCanTransferHandler( } } if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoframe = nullptr; nsresult rv = UNWRAP_OBJECT(VideoFrame, &obj, videoframe); if (NS_SUCCEEDED(rv)) { Loading dom/media/webcodecs/VideoFrame.h +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ class VideoFrame final : public nsISupports, JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; static bool PrefEnabled(JSContext* aCx = nullptr, JSObject* aObj = nullptr); static bool PrefEnabled(JSContext* aCx, JSObject* aObj = nullptr); static already_AddRefed<VideoFrame> Constructor( const GlobalObject& aGlobal, HTMLImageElement& aImageElement, Loading toolkit/components/resistfingerprinting/nsRFPService.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -2715,8 +2715,10 @@ bool nsRFPService::IsWebCodecsRFPTargetEnabled(JSContext* aCx) { // We know that the RFPTarget::WebCodecs is enabled, check if principal // is exempted. // VideoFrame::PrefEnabled function can be called without a JSContext. if (!aCx) { if (NS_WARN_IF(!aCx)) { MOZ_LOG(gResistFingerprintingLog, LogLevel::Warning, ("nsRFPService::IsWebCodecsRFPTargetEnabled called with null " "JSContext")); return true; } Loading Loading
dom/base/StructuredCloneHolder.cpp +7 −8 Original line number Diff line number Diff line Loading @@ -1110,7 +1110,7 @@ JSObject* StructuredCloneHolder::CustomReadHandler( return ClonedErrorHolder::ReadStructuredClone(aCx, aReader, this); } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (VideoFrame::PrefEnabled(aCx) && aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess && aCloneDataPolicy.areIntraClusterClonableSharedObjectsAllowed()) { JS::Rooted<JSObject*> global(aCx, mGlobal->GetGlobalJSObject()); Loading Loading @@ -1250,7 +1250,7 @@ bool StructuredCloneHolder::CustomWriteHandler( } // See if this is a VideoFrame object. if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoFrame = nullptr; if (NS_SUCCEEDED(UNWRAP_OBJECT(VideoFrame, &obj, videoFrame))) { SameProcessScopeRequired(aSameProcessScopeRequired); Loading Loading @@ -1446,7 +1446,7 @@ StructuredCloneHolder::CustomReadTransferHandler( aReturnObject); } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (VideoFrame::PrefEnabled(aCx) && aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess && aCloneDataPolicy.areIntraClusterClonableSharedObjectsAllowed()) { MOZ_ASSERT(aContent); Loading Loading @@ -1591,7 +1591,7 @@ StructuredCloneHolder::CustomWriteTransferHandler( return true; } if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoFrame = nullptr; rv = UNWRAP_OBJECT(VideoFrame, &obj, videoFrame); if (NS_SUCCEEDED(rv)) { Loading Loading @@ -1758,7 +1758,7 @@ void StructuredCloneHolder::CustomFreeTransferHandler( return; } if (VideoFrame::PrefEnabled() && aTag == SCTAG_DOM_VIDEOFRAME && if (aTag == SCTAG_DOM_VIDEOFRAME && CloneScope() == StructuredCloneScope::SameProcess) { if (aContent) { VideoFrame::TransferredData* data = Loading @@ -1767,8 +1767,7 @@ void StructuredCloneHolder::CustomFreeTransferHandler( } return; } if (StaticPrefs::dom_media_webcodecs_enabled() && aTag == SCTAG_DOM_AUDIODATA && if (aTag == SCTAG_DOM_AUDIODATA && CloneScope() == StructuredCloneScope::SameProcess) { if (aContent) { AudioData::TransferredData* data = Loading Loading @@ -1851,7 +1850,7 @@ bool StructuredCloneHolder::CustomCanTransferHandler( } } if (VideoFrame::PrefEnabled()) { if (VideoFrame::PrefEnabled(aCx)) { VideoFrame* videoframe = nullptr; nsresult rv = UNWRAP_OBJECT(VideoFrame, &obj, videoframe); if (NS_SUCCEEDED(rv)) { Loading
dom/media/webcodecs/VideoFrame.h +1 −1 Original line number Diff line number Diff line Loading @@ -104,7 +104,7 @@ class VideoFrame final : public nsISupports, JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; static bool PrefEnabled(JSContext* aCx = nullptr, JSObject* aObj = nullptr); static bool PrefEnabled(JSContext* aCx, JSObject* aObj = nullptr); static already_AddRefed<VideoFrame> Constructor( const GlobalObject& aGlobal, HTMLImageElement& aImageElement, Loading
toolkit/components/resistfingerprinting/nsRFPService.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -2715,8 +2715,10 @@ bool nsRFPService::IsWebCodecsRFPTargetEnabled(JSContext* aCx) { // We know that the RFPTarget::WebCodecs is enabled, check if principal // is exempted. // VideoFrame::PrefEnabled function can be called without a JSContext. if (!aCx) { if (NS_WARN_IF(!aCx)) { MOZ_LOG(gResistFingerprintingLog, LogLevel::Warning, ("nsRFPService::IsWebCodecsRFPTargetEnabled called with null " "JSContext")); return true; } Loading