Bug 939294 - Handlify content/. r=smaug

This commit is contained in:
Tom Schuster 2014-01-09 18:39:37 +01:00
Родитель 14dd62a6b9
Коммит 11b4e0b09c
22 изменённых файлов: 80 добавлений и 78 удалений

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

@ -296,7 +296,7 @@ public:
// Overrides // Overrides
NS_IMETHOD GetSize(uint64_t* aSize) MOZ_OVERRIDE; NS_IMETHOD GetSize(uint64_t* aSize) MOZ_OVERRIDE;
NS_IMETHOD GetType(nsAString& aType) MOZ_OVERRIDE; NS_IMETHOD GetType(nsAString& aType) MOZ_OVERRIDE;
NS_IMETHOD GetLastModifiedDate(JSContext* cx, JS::Value* aLastModifiedDate) MOZ_OVERRIDE; NS_IMETHOD GetLastModifiedDate(JSContext* cx, JS::MutableHandle<JS::Value> aLastModifiedDate) MOZ_OVERRIDE;
NS_IMETHOD GetMozLastModifiedDate(uint64_t* aLastModifiedDate) MOZ_OVERRIDE; NS_IMETHOD GetMozLastModifiedDate(uint64_t* aLastModifiedDate) MOZ_OVERRIDE;
NS_IMETHOD GetMozFullPathInternal(nsAString& aFullPath) MOZ_OVERRIDE; NS_IMETHOD GetMozFullPathInternal(nsAString& aFullPath) MOZ_OVERRIDE;
NS_IMETHOD GetInternalStream(nsIInputStream**) MOZ_OVERRIDE; NS_IMETHOD GetInternalStream(nsIInputStream**) MOZ_OVERRIDE;

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

@ -48,12 +48,12 @@ public:
return mError; return mError;
} }
NS_METHOD GetOnabort(JSContext* aCx, JS::Value* aValue); NS_METHOD GetOnabort(JSContext* aCx, JS::MutableHandle<JS::Value> aValue);
NS_METHOD SetOnabort(JSContext* aCx, const JS::Value& aValue); NS_METHOD SetOnabort(JSContext* aCx, JS::Handle<JS::Value> aValue);
NS_METHOD GetOnerror(JSContext* aCx, JS::Value* aValue); NS_METHOD GetOnerror(JSContext* aCx, JS::MutableHandle<JS::Value> aValue);
NS_METHOD SetOnerror(JSContext* aCx, const JS::Value& aValue); NS_METHOD SetOnerror(JSContext* aCx, JS::Handle<JS::Value> aValue);
NS_METHOD GetOnprogress(JSContext* aCx, JS::Value* aValue); NS_METHOD GetOnprogress(JSContext* aCx, JS::MutableHandle<JS::Value> aValue);
NS_METHOD SetOnprogress(JSContext* aCx, const JS::Value& aValue); NS_METHOD SetOnprogress(JSContext* aCx, JS::Handle<JS::Value> aValue);
IMPL_EVENT_HANDLER(abort) IMPL_EVENT_HANDLER(abort)
IMPL_EVENT_HANDLER(error) IMPL_EVENT_HANDLER(error)

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

@ -5635,7 +5635,7 @@ nsContentUtils::WrapNative(JSContext *cx, JS::Handle<JSObject*> scope,
nsresult rv = NS_OK; nsresult rv = NS_OK;
AutoPushJSContext context(cx); AutoPushJSContext context(cx);
rv = sXPConnect->WrapNativeToJSVal(context, scope, native, cache, aIID, rv = sXPConnect->WrapNativeToJSVal(context, scope, native, cache, aIID,
aAllowWrapping, vp.address()); aAllowWrapping, vp);
return rv; return rv;
} }

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

@ -136,10 +136,13 @@ nsDOMFileBase::GetPath(nsAString &aPath)
} }
NS_IMETHODIMP NS_IMETHODIMP
nsDOMFileBase::GetLastModifiedDate(JSContext* cx, JS::Value *aLastModifiedDate) nsDOMFileBase::GetLastModifiedDate(JSContext* cx, JS::MutableHandle<JS::Value> aLastModifiedDate)
{ {
JSObject* date = JS_NewDateObjectMsec(cx, JS_Now() / PR_USEC_PER_MSEC); JS::Rooted<JSObject*> date(cx, JS_NewDateObjectMsec(cx, JS_Now() / PR_USEC_PER_MSEC));
aLastModifiedDate->setObject(*date); if (!date) {
return NS_ERROR_OUT_OF_MEMORY;
}
aLastModifiedDate.setObject(*date);
return NS_OK; return NS_OK;
} }
@ -502,7 +505,7 @@ nsDOMFileFile::GetMozFullPathInternal(nsAString &aFilename)
} }
NS_IMETHODIMP NS_IMETHODIMP
nsDOMFileFile::GetLastModifiedDate(JSContext* cx, JS::Value* aLastModifiedDate) nsDOMFileFile::GetLastModifiedDate(JSContext* cx, JS::MutableHandle<JS::Value> aLastModifiedDate)
{ {
NS_ASSERTION(mIsFile, "Should only be called on files"); NS_ASSERTION(mIsFile, "Should only be called on files");
@ -517,11 +520,11 @@ nsDOMFileFile::GetLastModifiedDate(JSContext* cx, JS::Value* aLastModifiedDate)
JSObject* date = JS_NewDateObjectMsec(cx, msecs); JSObject* date = JS_NewDateObjectMsec(cx, msecs);
if (date) { if (date) {
aLastModifiedDate->setObject(*date); aLastModifiedDate.setObject(*date);
} }
else { else {
date = JS_NewDateObjectMsec(cx, JS_Now() / PR_USEC_PER_MSEC); date = JS_NewDateObjectMsec(cx, JS_Now() / PR_USEC_PER_MSEC);
aLastModifiedDate->setObject(*date); aLastModifiedDate.setObject(*date);
} }
return NS_OK; return NS_OK;

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

@ -184,12 +184,12 @@ JS::Value
nsDOMFileReader::GetResult(JSContext* aCx, ErrorResult& aRv) nsDOMFileReader::GetResult(JSContext* aCx, ErrorResult& aRv)
{ {
JS::Rooted<JS::Value> result(aCx); JS::Rooted<JS::Value> result(aCx);
aRv = GetResult(aCx, result.address()); aRv = GetResult(aCx, &result);
return result; return result;
} }
NS_IMETHODIMP NS_IMETHODIMP
nsDOMFileReader::GetResult(JSContext* aCx, JS::Value* aResult) nsDOMFileReader::GetResult(JSContext* aCx, JS::MutableHandle<JS::Value> aResult)
{ {
JS::Rooted<JS::Value> result(aCx); JS::Rooted<JS::Value> result(aCx);
if (mDataFormat == FILE_AS_ARRAYBUFFER) { if (mDataFormat == FILE_AS_ARRAYBUFFER) {
@ -201,15 +201,14 @@ nsDOMFileReader::GetResult(JSContext* aCx, JS::Value* aResult)
if (!JS_WrapValue(aCx, &result)) { if (!JS_WrapValue(aCx, &result)) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
*aResult = result; aResult.set(result);
return NS_OK; return NS_OK;
} }
nsString tmpResult = mResult; nsString tmpResult = mResult;
if (!xpc::StringToJsval(aCx, tmpResult, &result)) { if (!xpc::StringToJsval(aCx, tmpResult, aResult)) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
*aResult = result;
return NS_OK; return NS_OK;
} }

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

@ -447,7 +447,7 @@ nsFrameMessageManager::RemoveDelayedFrameScript(const nsAString& aURL)
} }
NS_IMETHODIMP NS_IMETHODIMP
nsFrameMessageManager::GetDelayedFrameScripts(JSContext* aCx, JS::Value* aList) nsFrameMessageManager::GetDelayedFrameScripts(JSContext* aCx, JS::MutableHandle<JS::Value> aList)
{ {
// Frame message managers may return an incomplete list because scripts // Frame message managers may return an incomplete list because scripts
// that were loaded after it was connected are not added to the list. // that were loaded after it was connected are not added to the list.
@ -478,8 +478,7 @@ nsFrameMessageManager::GetDelayedFrameScripts(JSContext* aCx, JS::Value* aList)
NS_ERROR_OUT_OF_MEMORY); NS_ERROR_OUT_OF_MEMORY);
} }
*aList = JS::ObjectValue(*array); aList.setObject(*array);
return NS_OK; return NS_OK;
} }
@ -527,12 +526,12 @@ static bool sSendingSyncMessage = false;
NS_IMETHODIMP NS_IMETHODIMP
nsFrameMessageManager::SendSyncMessage(const nsAString& aMessageName, nsFrameMessageManager::SendSyncMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval) JS::MutableHandle<JS::Value> aRetval)
{ {
return SendMessage(aMessageName, aJSON, aObjects, aPrincipal, aCx, aArgc, return SendMessage(aMessageName, aJSON, aObjects, aPrincipal, aCx, aArgc,
aRetval, true); aRetval, true);
@ -540,12 +539,12 @@ nsFrameMessageManager::SendSyncMessage(const nsAString& aMessageName,
NS_IMETHODIMP NS_IMETHODIMP
nsFrameMessageManager::SendRpcMessage(const nsAString& aMessageName, nsFrameMessageManager::SendRpcMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval) JS::MutableHandle<JS::Value> aRetval)
{ {
return SendMessage(aMessageName, aJSON, aObjects, aPrincipal, aCx, aArgc, return SendMessage(aMessageName, aJSON, aObjects, aPrincipal, aCx, aArgc,
aRetval, false); aRetval, false);
@ -553,19 +552,19 @@ nsFrameMessageManager::SendRpcMessage(const nsAString& aMessageName,
nsresult nsresult
nsFrameMessageManager::SendMessage(const nsAString& aMessageName, nsFrameMessageManager::SendMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval, JS::MutableHandle<JS::Value> aRetval,
bool aIsSync) bool aIsSync)
{ {
NS_ASSERTION(!IsGlobal(), "Should not call SendSyncMessage in chrome"); NS_ASSERTION(!IsGlobal(), "Should not call SendSyncMessage in chrome");
NS_ASSERTION(!IsWindowLevel(), "Should not call SendSyncMessage in chrome"); NS_ASSERTION(!IsWindowLevel(), "Should not call SendSyncMessage in chrome");
NS_ASSERTION(!mParentManager, "Should not have parent manager in content!"); NS_ASSERTION(!mParentManager, "Should not have parent manager in content!");
*aRetval = JSVAL_VOID; aRetval.setUndefined();
NS_ENSURE_TRUE(mCallback, NS_ERROR_NOT_INITIALIZED); NS_ENSURE_TRUE(mCallback, NS_ERROR_NOT_INITIALIZED);
if (sSendingSyncMessage && aIsSync) { if (sSendingSyncMessage && aIsSync) {
@ -618,7 +617,7 @@ nsFrameMessageManager::SendMessage(const nsAString& aMessageName,
NS_ERROR_OUT_OF_MEMORY); NS_ERROR_OUT_OF_MEMORY);
} }
*aRetval = OBJECT_TO_JSVAL(dataArray); aRetval.setObject(*dataArray);
return NS_OK; return NS_OK;
} }
@ -678,8 +677,8 @@ nsFrameMessageManager::DispatchAsyncMessage(const nsAString& aMessageName,
NS_IMETHODIMP NS_IMETHODIMP
nsFrameMessageManager::SendAsyncMessage(const nsAString& aMessageName, nsFrameMessageManager::SendAsyncMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc) uint8_t aArgc)
@ -693,8 +692,8 @@ nsFrameMessageManager::SendAsyncMessage(const nsAString& aMessageName,
NS_IMETHODIMP NS_IMETHODIMP
nsFrameMessageManager::BroadcastAsyncMessage(const nsAString& aMessageName, nsFrameMessageManager::BroadcastAsyncMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc) uint8_t aArgc)
{ {

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

@ -271,12 +271,12 @@ public:
} }
private: private:
nsresult SendMessage(const nsAString& aMessageName, nsresult SendMessage(const nsAString& aMessageName,
const JS::Value& aJSON, JS::Handle<JS::Value> aJSON,
const JS::Value& aObjects, JS::Handle<JS::Value> aObjects,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval, JS::MutableHandle<JS::Value> aRetval,
bool aIsSync); bool aIsSync);
protected: protected:
friend class MMListenerRemover; friend class MMListenerRemover;

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

@ -704,8 +704,7 @@ nsINode::SetUserData(JSContext* aCx, const nsAString& aKey,
{ {
nsCOMPtr<nsIVariant> data; nsCOMPtr<nsIVariant> data;
JS::Rooted<JS::Value> dataVal(aCx, aData); JS::Rooted<JS::Value> dataVal(aCx, aData);
aError = nsContentUtils::XPConnect()->JSValToVariant(aCx, dataVal.address(), aError = nsContentUtils::XPConnect()->JSValToVariant(aCx, dataVal, getter_AddRefs(data));
getter_AddRefs(data));
if (aError.Failed()) { if (aError.Failed()) {
return JS::UndefinedValue(); return JS::UndefinedValue();
} }
@ -723,7 +722,7 @@ nsINode::SetUserData(JSContext* aCx, const nsAString& aKey,
JS::Rooted<JS::Value> result(aCx); JS::Rooted<JS::Value> result(aCx);
JSAutoCompartment ac(aCx, GetWrapper()); JSAutoCompartment ac(aCx, GetWrapper());
aError = nsContentUtils::XPConnect()->VariantToJS(aCx, GetWrapper(), oldData, aError = nsContentUtils::XPConnect()->VariantToJS(aCx, GetWrapper(), oldData,
result.address()); &result);
return result; return result;
} }
@ -750,7 +749,7 @@ nsINode::GetUserData(JSContext* aCx, const nsAString& aKey, ErrorResult& aError)
JS::Rooted<JS::Value> result(aCx); JS::Rooted<JS::Value> result(aCx);
JSAutoCompartment ac(aCx, GetWrapper()); JSAutoCompartment ac(aCx, GetWrapper());
aError = nsContentUtils::XPConnect()->VariantToJS(aCx, GetWrapper(), data, aError = nsContentUtils::XPConnect()->VariantToJS(aCx, GetWrapper(), data,
result.address()); &result);
return result; return result;
} }

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

@ -41,12 +41,12 @@ public:
NS_FORWARD_SAFE_NSIMESSAGELISTENERMANAGER(mMessageManager) NS_FORWARD_SAFE_NSIMESSAGELISTENERMANAGER(mMessageManager)
NS_FORWARD_SAFE_NSIMESSAGESENDER(mMessageManager) NS_FORWARD_SAFE_NSIMESSAGESENDER(mMessageManager)
NS_IMETHOD SendSyncMessage(const nsAString& aMessageName, NS_IMETHOD SendSyncMessage(const nsAString& aMessageName,
const JS::Value& aObject, JS::Handle<JS::Value> aObject,
const JS::Value& aRemote, JS::Handle<JS::Value> aRemote,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval) JS::MutableHandle<JS::Value> aRetval)
{ {
return mMessageManager return mMessageManager
? mMessageManager->SendSyncMessage(aMessageName, aObject, aRemote, ? mMessageManager->SendSyncMessage(aMessageName, aObject, aRemote,
@ -54,12 +54,12 @@ public:
: NS_ERROR_NULL_POINTER; : NS_ERROR_NULL_POINTER;
} }
NS_IMETHOD SendRpcMessage(const nsAString& aMessageName, NS_IMETHOD SendRpcMessage(const nsAString& aMessageName,
const JS::Value& aObject, JS::Handle<JS::Value> aObject,
const JS::Value& aRemote, JS::Handle<JS::Value> aRemote,
nsIPrincipal* aPrincipal, nsIPrincipal* aPrincipal,
JSContext* aCx, JSContext* aCx,
uint8_t aArgc, uint8_t aArgc,
JS::Value* aRetval) JS::MutableHandle<JS::Value> aRetval)
{ {
return mMessageManager return mMessageManager
? mMessageManager->SendRpcMessage(aMessageName, aObject, aRemote, ? mMessageManager->SendRpcMessage(aMessageName, aObject, aRemote,

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

@ -921,10 +921,10 @@ nsXMLHttpRequest::SetResponseType(nsXMLHttpRequest::ResponseTypeEnum aResponseTy
/* readonly attribute jsval response; */ /* readonly attribute jsval response; */
NS_IMETHODIMP NS_IMETHODIMP
nsXMLHttpRequest::GetResponse(JSContext *aCx, JS::Value *aResult) nsXMLHttpRequest::GetResponse(JSContext *aCx, JS::MutableHandle<JS::Value> aResult)
{ {
ErrorResult rv; ErrorResult rv;
*aResult = GetResponse(aCx, rv); aResult.set(GetResponse(aCx, rv));
return rv.ErrorCode(); return rv.ErrorCode();
} }
@ -2403,7 +2403,7 @@ GetRequestBody(nsIVariant* aBody, nsIInputStream** aResult, uint64_t* aContentLe
AutoSafeJSContext cx; AutoSafeJSContext cx;
JS::Rooted<JS::Value> realVal(cx); JS::Rooted<JS::Value> realVal(cx);
nsresult rv = aBody->GetAsJSVal(realVal.address()); nsresult rv = aBody->GetAsJSVal(&realVal);
if (NS_SUCCEEDED(rv) && !JSVAL_IS_PRIMITIVE(realVal)) { if (NS_SUCCEEDED(rv) && !JSVAL_IS_PRIMITIVE(realVal)) {
JS::Rooted<JSObject*> obj(cx, JSVAL_TO_OBJECT(realVal)); JS::Rooted<JSObject*> obj(cx, JSVAL_TO_OBJECT(realVal));
if (JS_IsArrayBufferObject(obj)) { if (JS_IsArrayBufferObject(obj)) {

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

@ -172,24 +172,26 @@ NS_DEFINE_STATIC_IID_ACCESSOR(nsDOMEventTargetHelper,
// XPIDL event handlers // XPIDL event handlers
#define NS_IMPL_EVENT_HANDLER(_class, _event) \ #define NS_IMPL_EVENT_HANDLER(_class, _event) \
NS_IMETHODIMP _class::GetOn##_event(JSContext* aCx, JS::Value* aValue) \ NS_IMETHODIMP _class::GetOn##_event(JSContext* aCx, \
JS::MutableHandle<JS::Value> aValue) \
{ \ { \
GetEventHandler(nsGkAtoms::on##_event, aCx, aValue); \ GetEventHandler(nsGkAtoms::on##_event, aCx, aValue.address()); \
return NS_OK; \ return NS_OK; \
} \ } \
NS_IMETHODIMP _class::SetOn##_event(JSContext* aCx, \ NS_IMETHODIMP _class::SetOn##_event(JSContext* aCx, \
const JS::Value& aValue) \ JS::Handle<JS::Value> aValue) \
{ \ { \
return SetEventHandler(nsGkAtoms::on##_event, aCx, aValue); \ return SetEventHandler(nsGkAtoms::on##_event, aCx, aValue); \
} }
#define NS_IMPL_FORWARD_EVENT_HANDLER(_class, _event, _baseclass) \ #define NS_IMPL_FORWARD_EVENT_HANDLER(_class, _event, _baseclass) \
NS_IMETHODIMP _class::GetOn##_event(JSContext* aCx, JS::Value* aValue) \ NS_IMETHODIMP _class::GetOn##_event(JSContext* aCx, \
JS::MutableHandle<JS::Value> aValue) \
{ \ { \
return _baseclass::GetOn##_event(aCx, aValue); \ return _baseclass::GetOn##_event(aCx, aValue); \
} \ } \
NS_IMETHODIMP _class::SetOn##_event(JSContext* aCx, \ NS_IMETHODIMP _class::SetOn##_event(JSContext* aCx, \
const JS::Value& aValue) \ JS::Handle<JS::Value> aValue) \
{ \ { \
return _baseclass::SetOn##_event(aCx, aValue); \ return _baseclass::SetOn##_event(aCx, aValue); \
} }

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

@ -63,10 +63,10 @@ nsDOMMessageEvent::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aScope)
} }
NS_IMETHODIMP NS_IMETHODIMP
nsDOMMessageEvent::GetData(JSContext* aCx, JS::Value* aData) nsDOMMessageEvent::GetData(JSContext* aCx, JS::MutableHandle<JS::Value> aData)
{ {
ErrorResult rv; ErrorResult rv;
*aData = GetData(aCx, rv); aData.set(GetData(aCx, rv));
return rv.ErrorCode(); return rv.ErrorCode();
} }
@ -171,7 +171,7 @@ NS_IMETHODIMP
nsDOMMessageEvent::InitMessageEvent(const nsAString& aType, nsDOMMessageEvent::InitMessageEvent(const nsAString& aType,
bool aCanBubble, bool aCanBubble,
bool aCancelable, bool aCancelable,
const JS::Value& aData, JS::Handle<JS::Value> aData,
const nsAString& aOrigin, const nsAString& aOrigin,
const nsAString& aLastEventId, const nsAString& aLastEventId,
nsIDOMWindow* aSource) nsIDOMWindow* aSource)

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

@ -66,7 +66,7 @@ nsDOMNotifyAudioAvailableEvent::~nsDOMNotifyAudioAvailableEvent()
} }
NS_IMETHODIMP NS_IMETHODIMP
nsDOMNotifyAudioAvailableEvent::GetFrameBuffer(JSContext* aCx, JS::Value* aResult) nsDOMNotifyAudioAvailableEvent::GetFrameBuffer(JSContext* aCx, JS::MutableHandle<JS::Value> aResult)
{ {
if (!mAllowAudioData) { if (!mAllowAudioData) {
// Media is not same-origin, don't allow the data out. // Media is not same-origin, don't allow the data out.
@ -74,7 +74,7 @@ nsDOMNotifyAudioAvailableEvent::GetFrameBuffer(JSContext* aCx, JS::Value* aResul
} }
if (mCachedArray) { if (mCachedArray) {
*aResult = OBJECT_TO_JSVAL(mCachedArray); aResult.setObject(*mCachedArray);
return NS_OK; return NS_OK;
} }
@ -88,7 +88,7 @@ nsDOMNotifyAudioAvailableEvent::GetFrameBuffer(JSContext* aCx, JS::Value* aResul
} }
memcpy(JS_GetFloat32ArrayData(mCachedArray), mFrameBuffer.get(), mFrameBufferLength * sizeof(float)); memcpy(JS_GetFloat32ArrayData(mCachedArray), mFrameBuffer.get(), mFrameBufferLength * sizeof(float));
*aResult = OBJECT_TO_JSVAL(mCachedArray); aResult.setObject(*mCachedArray);
return NS_OK; return NS_OK;
} }

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

@ -51,7 +51,7 @@ public:
JSObject* GetFrameBuffer(JSContext* aCx, mozilla::ErrorResult& aRv) JSObject* GetFrameBuffer(JSContext* aCx, mozilla::ErrorResult& aRv)
{ {
JS::Rooted<JS::Value> dummy(aCx); JS::Rooted<JS::Value> dummy(aCx);
aRv = GetFrameBuffer(aCx, dummy.address()); aRv = GetFrameBuffer(aCx, &dummy);
return mCachedArray; return mCachedArray;
} }

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

@ -65,10 +65,10 @@ nsEventListenerInfo::GetInSystemEventGroup(bool* aInSystemEventGroup)
} }
NS_IMETHODIMP NS_IMETHODIMP
nsEventListenerInfo::GetListenerObject(JSContext* aCx, JS::Value* aObject) nsEventListenerInfo::GetListenerObject(JSContext* aCx, JS::MutableHandle<JS::Value> aObject)
{ {
mozilla::Maybe<JSAutoCompartment> ac; mozilla::Maybe<JSAutoCompartment> ac;
GetJSVal(aCx, ac, aObject); GetJSVal(aCx, ac, aObject.address());
return NS_OK; return NS_OK;
} }

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

@ -86,9 +86,9 @@ public:
const Optional<JS::Handle<JS::Value> >& aParams, const Optional<JS::Handle<JS::Value> >& aParams,
nsAString& aDataURL, ErrorResult& aRv) nsAString& aDataURL, ErrorResult& aRv)
{ {
JS::Value params = aParams.WasPassed() JS::Rooted<JS::Value> params(aCx, aParams.WasPassed()
? aParams.Value() ? aParams.Value()
: JS::UndefinedValue(); : JS::UndefinedValue());
aRv = ToDataURL(aType, params, aCx, aDataURL); aRv = ToDataURL(aType, params, aCx, aDataURL);
} }
void ToBlob(JSContext* aCx, void ToBlob(JSContext* aCx,

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

@ -327,7 +327,7 @@ HTMLCanvasElement::ParseAttribute(int32_t aNamespaceID,
// HTMLCanvasElement::toDataURL // HTMLCanvasElement::toDataURL
NS_IMETHODIMP NS_IMETHODIMP
HTMLCanvasElement::ToDataURL(const nsAString& aType, const JS::Value& aParams, HTMLCanvasElement::ToDataURL(const nsAString& aType, JS::Handle<JS::Value> aParams,
JSContext* aCx, nsAString& aDataURL) JSContext* aCx, nsAString& aDataURL)
{ {
// do a trust check if this is a write-only canvas // do a trust check if this is a write-only canvas

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

@ -1642,14 +1642,14 @@ HTMLMediaElement::MozGetMetadata(JSContext* cx, ErrorResult& aRv)
} }
NS_IMETHODIMP NS_IMETHODIMP
HTMLMediaElement::MozGetMetadata(JSContext* cx, JS::Value* aValue) HTMLMediaElement::MozGetMetadata(JSContext* cx, JS::MutableHandle<JS::Value> aValue)
{ {
ErrorResult rv; ErrorResult rv;
JSObject* obj = MozGetMetadata(cx, rv); JSObject* obj = MozGetMetadata(cx, rv);
if (!rv.Failed()) { if (!rv.Failed()) {
MOZ_ASSERT(obj); MOZ_ASSERT(obj);
*aValue = JS::ObjectValue(*obj); aValue.setObject(*obj);
} }
return rv.ErrorCode(); return rv.ErrorCode();

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

@ -155,7 +155,7 @@ WebVTTListener::OnDataAvailable(nsIRequest* aRequest,
} }
NS_IMETHODIMP NS_IMETHODIMP
WebVTTListener::OnCue(const JS::Value &aCue, JSContext* aCx) WebVTTListener::OnCue(JS::Handle<JS::Value> aCue, JSContext* aCx)
{ {
if (!aCue.isObject()) { if (!aCue.isObject()) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
@ -173,7 +173,7 @@ WebVTTListener::OnCue(const JS::Value &aCue, JSContext* aCx)
NS_IMETHODIMP NS_IMETHODIMP
WebVTTListener::OnRegion(const JS::Value &aRegion, JSContext* aCx) WebVTTListener::OnRegion(JS::Handle<JS::Value> aRegion, JSContext* aCx)
{ {
if (!aRegion.isObject()) { if (!aRegion.isObject()) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;

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

@ -152,7 +152,7 @@ SpeechTaskChild::Setup(nsISpeechTaskCallback* aCallback,
} }
NS_IMETHODIMP NS_IMETHODIMP
SpeechTaskChild::SendAudio(const JS::Value& aData, const JS::Value& aLandmarks, SpeechTaskChild::SendAudio(JS::Handle<JS::Value> aData, JS::Handle<JS::Value> aLandmarks,
JSContext* aCx) JSContext* aCx)
{ {
MOZ_CRASH("Should never be called from child"); MOZ_CRASH("Should never be called from child");

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

@ -79,7 +79,7 @@ public:
NS_IMETHOD Setup(nsISpeechTaskCallback* aCallback, NS_IMETHOD Setup(nsISpeechTaskCallback* aCallback,
uint32_t aChannels, uint32_t aRate, uint8_t argc) MOZ_OVERRIDE; uint32_t aChannels, uint32_t aRate, uint8_t argc) MOZ_OVERRIDE;
NS_IMETHOD SendAudio(const JS::Value& aData, const JS::Value& aLandmarks, NS_IMETHOD SendAudio(JS::Handle<JS::Value> aData, JS::Handle<JS::Value> aLandmarks,
JSContext* aCx) MOZ_OVERRIDE; JSContext* aCx) MOZ_OVERRIDE;
NS_IMETHOD SendAudioNative(int16_t* aData, uint32_t aDataLen) MOZ_OVERRIDE; NS_IMETHOD SendAudioNative(int16_t* aData, uint32_t aDataLen) MOZ_OVERRIDE;

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

@ -156,7 +156,7 @@ nsSpeechTask::Setup(nsISpeechTaskCallback* aCallback,
} }
NS_IMETHODIMP NS_IMETHODIMP
nsSpeechTask::SendAudio(const JS::Value& aData, const JS::Value& aLandmarks, nsSpeechTask::SendAudio(JS::Handle<JS::Value> aData, JS::Handle<JS::Value> aLandmarks,
JSContext* aCx) JSContext* aCx)
{ {
MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_Default); MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_Default);