Bug 1014553 - Part 1: Replace AutoPushJSContext in WebSocket::CreateAndDispatchMessageEvent. r=bholley

This commit is contained in:
Bob Owen 2014-05-23 08:47:46 +01:00
Родитель 6e411ef3aa
Коммит 96ac8b31ff
1 изменённых файлов: 8 добавлений и 9 удалений

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

@ -11,13 +11,13 @@
#include "jsfriendapi.h"
#include "js/OldDebugAPI.h"
#include "mozilla/DOMEventTargetHelper.h"
#include "mozilla/dom/ScriptSettings.h"
#include "nsIScriptGlobalObject.h"
#include "nsIDOMWindow.h"
#include "nsIDocument.h"
#include "nsXPCOM.h"
#include "nsIXPConnect.h"
#include "nsContentUtils.h"
#include "nsCxPusher.h"
#include "nsError.h"
#include "nsIScriptObjectPrincipal.h"
#include "nsIURL.h"
@ -865,15 +865,14 @@ WebSocket::CreateAndDispatchMessageEvent(const nsACString& aData,
if (NS_FAILED(rv))
return NS_OK;
// Get the JSContext
nsCOMPtr<nsIScriptGlobalObject> sgo = do_QueryInterface(GetOwner());
NS_ENSURE_TRUE(sgo, NS_ERROR_FAILURE);
nsCOMPtr<nsIGlobalObject> globalObject = do_QueryInterface(GetOwner());
if (NS_WARN_IF(!globalObject)) {
return NS_ERROR_FAILURE;
}
nsIScriptContext* scriptContext = sgo->GetContext();
NS_ENSURE_TRUE(scriptContext, NS_ERROR_FAILURE);
AutoPushJSContext cx(scriptContext->GetNativeContext());
NS_ENSURE_TRUE(cx, NS_ERROR_FAILURE);
AutoJSAPI jsapi;
JSContext* cx = jsapi.cx();
JSAutoCompartment ac(cx, globalObject->GetGlobalJSObject());
// Create appropriate JS object for message
JS::Rooted<JS::Value> jsData(cx);