mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 696660 - Outparamdel nsIScriptRuntime::CreateContext; r=mrbkap
This commit is contained in:
parent
e977700f50
commit
a4e37b2f13
@ -311,9 +311,7 @@ nsXBLDocGlobalObject::EnsureScriptEnvironment(PRUint32 aLangID)
|
||||
nsCOMPtr<nsIScriptRuntime> scriptRuntime;
|
||||
rv = NS_GetScriptRuntimeByID(aLangID, getter_AddRefs(scriptRuntime));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr<nsIScriptContext> newCtx;
|
||||
rv = scriptRuntime->CreateContext(getter_AddRefs(newCtx));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsCOMPtr<nsIScriptContext> newCtx = scriptRuntime->CreateContext();
|
||||
rv = SetScriptContext(aLangID, newCtx);
|
||||
|
||||
JSContext *cx = mScriptContext->GetNativeContext();
|
||||
|
@ -723,8 +723,7 @@ nsXULPDGlobalObject::EnsureScriptEnvironment(PRUint32 lang_id)
|
||||
getter_AddRefs(languageRuntime));
|
||||
NS_ENSURE_SUCCESS(rv, NS_OK);
|
||||
|
||||
nsCOMPtr<nsIScriptContext> ctxNew;
|
||||
rv = languageRuntime->CreateContext(getter_AddRefs(ctxNew));
|
||||
nsCOMPtr<nsIScriptContext> ctxNew = languageRuntime->CreateContext();
|
||||
// We have to setup a special global object. We do this then
|
||||
// attach it as the global for this context. Then, ::SetScriptContext
|
||||
// will re-fetch the global and set it up in our language globals array.
|
||||
|
@ -1558,10 +1558,7 @@ nsGlobalWindow::EnsureScriptEnvironment(PRUint32 aLangID)
|
||||
nsresult rv = NS_GetScriptRuntimeByID(aLangID, getter_AddRefs(scriptRuntime));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
nsCOMPtr<nsIScriptContext> context;
|
||||
rv = scriptRuntime->CreateContext(getter_AddRefs(context));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
nsCOMPtr<nsIScriptContext> context = scriptRuntime->CreateContext();
|
||||
return SetScriptContext(aLangID, context);
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,9 @@
|
||||
|
||||
#include "nsIScriptContext.h"
|
||||
|
||||
// {47032A4D-0C22-4125-94B7-864A4B744335}
|
||||
#define NS_ISCRIPTRUNTIME_IID \
|
||||
{ 0x47032a4d, 0xc22, 0x4125, { 0x94, 0xb7, 0x86, 0x4a, 0x4b, 0x74, 0x43, 0x35 } }
|
||||
|
||||
{ 0x2c8d774e, 0xb52a, 0x43ec, \
|
||||
{ 0x8e, 0xbc, 0x82, 0x75, 0xb9, 0x34, 0x20, 0x57 } }
|
||||
|
||||
/**
|
||||
* A singleton language environment for an application. Responsible for
|
||||
@ -66,7 +65,7 @@ public:
|
||||
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *verFlags) = 0;
|
||||
|
||||
/* Factory for a new context for this language */
|
||||
virtual nsresult CreateContext(nsIScriptContext **ret) = 0;
|
||||
virtual already_AddRefed<nsIScriptContext> CreateContext() = 0;
|
||||
|
||||
/* Memory managment for script objects returned from various
|
||||
* nsIScriptContext methods. These are identical to those in
|
||||
|
@ -3512,15 +3512,11 @@ NS_INTERFACE_MAP_END
|
||||
NS_IMPL_ADDREF(nsJSRuntime)
|
||||
NS_IMPL_RELEASE(nsJSRuntime)
|
||||
|
||||
nsresult
|
||||
nsJSRuntime::CreateContext(nsIScriptContext **aContext)
|
||||
already_AddRefed<nsIScriptContext>
|
||||
nsJSRuntime::CreateContext()
|
||||
{
|
||||
nsCOMPtr<nsIScriptContext> scriptContext;
|
||||
|
||||
*aContext = new nsJSContext(sRuntime);
|
||||
NS_ENSURE_TRUE(*aContext, NS_ERROR_OUT_OF_MEMORY);
|
||||
NS_ADDREF(*aContext);
|
||||
return NS_OK;
|
||||
nsCOMPtr<nsIScriptContext> scriptContext = new nsJSContext(sRuntime);
|
||||
return scriptContext.forget();
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -316,7 +316,7 @@ public:
|
||||
return nsIProgrammingLanguage::JAVASCRIPT;
|
||||
}
|
||||
|
||||
virtual nsresult CreateContext(nsIScriptContext **ret);
|
||||
virtual already_AddRefed<nsIScriptContext> CreateContext();
|
||||
|
||||
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *flags);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user