Bug 696660 - Outparamdel nsIScriptRuntime::CreateContext; r=mrbkap

This commit is contained in:
Ms2ger 2011-11-16 08:50:19 +01:00
Родитель e977700f50
Коммит a4e37b2f13
6 изменённых файлов: 12 добавлений и 23 удалений

Просмотреть файл

@ -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);