From 6465a9f57b13fdf3d21016a41973f13d1e7f447c Mon Sep 17 00:00:00 2001 From: Bobby Holley Date: Wed, 13 May 2015 11:08:30 -0700 Subject: [PATCH] Bug 1164567 - Grab the principal when we need it in MediaDecodeTask. r=jww, a=sledru --- content/media/webaudio/MediaBufferDecoder.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/content/media/webaudio/MediaBufferDecoder.cpp b/content/media/webaudio/MediaBufferDecoder.cpp index b9409ad..ee6538c 100644 --- a/content/media/webaudio/MediaBufferDecoder.cpp +++ b/content/media/webaudio/MediaBufferDecoder.cpp @@ -101,13 +101,6 @@ public: { MOZ_ASSERT(aBuffer); MOZ_ASSERT(NS_IsMainThread()); - - nsCOMPtr pWindow = do_QueryInterface(mDecodeJob.mContext->GetParentObject()); - nsCOMPtr scriptPrincipal = - do_QueryInterface(pWindow); - if (scriptPrincipal) { - mPrincipal = scriptPrincipal->GetPrincipal(); - } } NS_IMETHOD Run(); @@ -150,7 +143,6 @@ private: WebAudioDecodeJob& mDecodeJob; PhaseEnum mPhase; nsCOMPtr mThreadPool; - nsCOMPtr mPrincipal; nsRefPtr mBufferDecoder; nsAutoPtr mDecoderReader; }; @@ -179,9 +171,16 @@ MediaDecodeTask::CreateReader() { MOZ_ASSERT(NS_IsMainThread()); + + nsCOMPtr principal; + nsCOMPtr sop = do_QueryInterface(mDecodeJob.mContext->GetParentObject()); + if (sop) { + principal = sop->GetPrincipal(); + } + nsRefPtr resource = new BufferMediaResource(static_cast (mBuffer), - mLength, mPrincipal, mContentType); + mLength, principal, mContentType); MOZ_ASSERT(!mBufferDecoder); mBufferDecoder = new BufferDecoder(resource); -- 2.4.3