Bug 834513 - Part 1: Refactor WebAudioDecodeJob::GetJSContext into AudioContext; r=roc

This commit is contained in:
Ehsan Akhgari 2013-04-14 14:18:43 -04:00
parent 77e35065cc
commit eb671321e6
4 changed files with 18 additions and 17 deletions

View File

@ -247,5 +247,19 @@ AudioContext::Resume()
}
}
JSContext*
AudioContext::GetJSContext() const
{
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsIScriptGlobalObject> scriptGlobal =
do_QueryInterface(GetParentObject());
nsIScriptContext* scriptContext = scriptGlobal->GetContext();
if (!scriptContext) {
return nullptr;
}
return scriptContext->GetNativeContext();
}
}
}

View File

@ -141,6 +141,8 @@ public:
void UnregisterPannerNode(PannerNode* aNode);
void UpdatePannerSource();
JSContext* GetJSContext() const;
private:
void RemoveFromDecodeQueue(WebAudioDecodeJob* aDecodeJob);

View File

@ -591,7 +591,7 @@ WebAudioDecodeJob::FinalizeBufferData()
MOZ_ASSERT(mOutput);
MOZ_ASSERT(mChannels == mChannelBuffers.Length());
AutoPushJSContext cx(GetJSContext());
AutoPushJSContext cx(mContext->GetJSContext());
if (!cx) {
return false;
}
@ -603,20 +603,6 @@ WebAudioDecodeJob::FinalizeBufferData()
return true;
}
JSContext*
WebAudioDecodeJob::GetJSContext() const
{
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsIScriptGlobalObject> scriptGlobal =
do_QueryInterface(mContext->GetParentObject());
nsIScriptContext* scriptContext = scriptGlobal->GetContext();
if (!scriptContext) {
return nullptr;
}
return scriptContext->GetNativeContext();
}
bool
WebAudioDecodeJob::AllocateBuffer()
{
@ -624,7 +610,7 @@ WebAudioDecodeJob::AllocateBuffer()
MOZ_ASSERT(NS_IsMainThread());
// First, get a JSContext
AutoPushJSContext cx(GetJSContext());
AutoPushJSContext cx(mContext->GetJSContext());
if (!cx) {
return false;
}

View File

@ -50,7 +50,6 @@ struct WebAudioDecodeJob
void OnFailure(ErrorCode aErrorCode);
bool AllocateBuffer();
JSContext* GetJSContext() const;
bool FinalizeBufferData();
nsCString mContentType;