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;
|
nsCOMPtr<nsIScriptRuntime> scriptRuntime;
|
||||||
rv = NS_GetScriptRuntimeByID(aLangID, getter_AddRefs(scriptRuntime));
|
rv = NS_GetScriptRuntimeByID(aLangID, getter_AddRefs(scriptRuntime));
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
nsCOMPtr<nsIScriptContext> newCtx;
|
nsCOMPtr<nsIScriptContext> newCtx = scriptRuntime->CreateContext();
|
||||||
rv = scriptRuntime->CreateContext(getter_AddRefs(newCtx));
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
rv = SetScriptContext(aLangID, newCtx);
|
rv = SetScriptContext(aLangID, newCtx);
|
||||||
|
|
||||||
JSContext *cx = mScriptContext->GetNativeContext();
|
JSContext *cx = mScriptContext->GetNativeContext();
|
||||||
|
@ -723,8 +723,7 @@ nsXULPDGlobalObject::EnsureScriptEnvironment(PRUint32 lang_id)
|
|||||||
getter_AddRefs(languageRuntime));
|
getter_AddRefs(languageRuntime));
|
||||||
NS_ENSURE_SUCCESS(rv, NS_OK);
|
NS_ENSURE_SUCCESS(rv, NS_OK);
|
||||||
|
|
||||||
nsCOMPtr<nsIScriptContext> ctxNew;
|
nsCOMPtr<nsIScriptContext> ctxNew = languageRuntime->CreateContext();
|
||||||
rv = languageRuntime->CreateContext(getter_AddRefs(ctxNew));
|
|
||||||
// We have to setup a special global object. We do this then
|
// We have to setup a special global object. We do this then
|
||||||
// attach it as the global for this context. Then, ::SetScriptContext
|
// attach it as the global for this context. Then, ::SetScriptContext
|
||||||
// will re-fetch the global and set it up in our language globals array.
|
// 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));
|
nsresult rv = NS_GetScriptRuntimeByID(aLangID, getter_AddRefs(scriptRuntime));
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
nsCOMPtr<nsIScriptContext> context;
|
nsCOMPtr<nsIScriptContext> context = scriptRuntime->CreateContext();
|
||||||
rv = scriptRuntime->CreateContext(getter_AddRefs(context));
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
|
|
||||||
return SetScriptContext(aLangID, context);
|
return SetScriptContext(aLangID, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,10 +39,9 @@
|
|||||||
|
|
||||||
#include "nsIScriptContext.h"
|
#include "nsIScriptContext.h"
|
||||||
|
|
||||||
// {47032A4D-0C22-4125-94B7-864A4B744335}
|
|
||||||
#define NS_ISCRIPTRUNTIME_IID \
|
#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
|
* A singleton language environment for an application. Responsible for
|
||||||
@ -66,7 +65,7 @@ public:
|
|||||||
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *verFlags) = 0;
|
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *verFlags) = 0;
|
||||||
|
|
||||||
/* Factory for a new context for this language */
|
/* 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
|
/* Memory managment for script objects returned from various
|
||||||
* nsIScriptContext methods. These are identical to those in
|
* nsIScriptContext methods. These are identical to those in
|
||||||
|
@ -3512,15 +3512,11 @@ NS_INTERFACE_MAP_END
|
|||||||
NS_IMPL_ADDREF(nsJSRuntime)
|
NS_IMPL_ADDREF(nsJSRuntime)
|
||||||
NS_IMPL_RELEASE(nsJSRuntime)
|
NS_IMPL_RELEASE(nsJSRuntime)
|
||||||
|
|
||||||
nsresult
|
already_AddRefed<nsIScriptContext>
|
||||||
nsJSRuntime::CreateContext(nsIScriptContext **aContext)
|
nsJSRuntime::CreateContext()
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIScriptContext> scriptContext;
|
nsCOMPtr<nsIScriptContext> scriptContext = new nsJSContext(sRuntime);
|
||||||
|
return scriptContext.forget();
|
||||||
*aContext = new nsJSContext(sRuntime);
|
|
||||||
NS_ENSURE_TRUE(*aContext, NS_ERROR_OUT_OF_MEMORY);
|
|
||||||
NS_ADDREF(*aContext);
|
|
||||||
return NS_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
|
@ -316,7 +316,7 @@ public:
|
|||||||
return nsIProgrammingLanguage::JAVASCRIPT;
|
return nsIProgrammingLanguage::JAVASCRIPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual nsresult CreateContext(nsIScriptContext **ret);
|
virtual already_AddRefed<nsIScriptContext> CreateContext();
|
||||||
|
|
||||||
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *flags);
|
virtual nsresult ParseVersion(const nsString &aVersionStr, PRUint32 *flags);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user