mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Backed out changesets ad58c270ce87 and 849151330d60 (bug 1177892) for B2G bustage.
CLOSED TREE
This commit is contained in:
parent
faaac1a61d
commit
7483c0563e
@ -1271,7 +1271,7 @@ EventSource::DispatchAllMessageEvents()
|
||||
message->mData.Length());
|
||||
NS_ENSURE_TRUE_VOID(jsString);
|
||||
|
||||
jsData.setString(jsString);
|
||||
jsData = STRING_TO_JSVAL(jsString);
|
||||
}
|
||||
|
||||
// create an event that uses the MessageEvent interface,
|
||||
|
@ -1776,7 +1776,7 @@ WebSocket::CreateAndDispatchMessageEvent(JSContext* aCx,
|
||||
jsString = JS_NewUCStringCopyN(aCx, utf16Data.get(), utf16Data.Length());
|
||||
NS_ENSURE_TRUE(jsString, NS_ERROR_FAILURE);
|
||||
|
||||
jsData.setString(jsString);
|
||||
jsData = STRING_TO_JSVAL(jsString);
|
||||
}
|
||||
|
||||
// create an event that uses the MessageEvent interface,
|
||||
|
@ -399,7 +399,7 @@ nsDOMDataChannel::DoOnMessageAvailable(const nsACString& aData,
|
||||
JSString* jsString = JS_NewUCStringCopyN(cx, utf16data.get(), utf16data.Length());
|
||||
NS_ENSURE_TRUE(jsString, NS_ERROR_FAILURE);
|
||||
|
||||
jsData.setString(jsString);
|
||||
jsData = STRING_TO_JSVAL(jsString);
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIDOMEvent> event;
|
||||
|
@ -931,7 +931,7 @@ nsJSContext::AddSupportsPrimitiveTojsvals(nsISupports *aArg, JS::Value *aArgv)
|
||||
JSString *str = ::JS_NewStringCopyN(cx, data.get(), data.Length());
|
||||
NS_ENSURE_TRUE(str, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
aArgv->setString(str);
|
||||
*aArgv = STRING_TO_JSVAL(str);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -949,7 +949,7 @@ nsJSContext::AddSupportsPrimitiveTojsvals(nsISupports *aArg, JS::Value *aArgv)
|
||||
::JS_NewUCStringCopyN(cx, data.get(), data.Length());
|
||||
NS_ENSURE_TRUE(str, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
aArgv->setString(str);
|
||||
*aArgv = STRING_TO_JSVAL(str);
|
||||
break;
|
||||
}
|
||||
case nsISupportsPrimitive::TYPE_PRBOOL : {
|
||||
@ -960,7 +960,7 @@ nsJSContext::AddSupportsPrimitiveTojsvals(nsISupports *aArg, JS::Value *aArgv)
|
||||
|
||||
p->GetData(&data);
|
||||
|
||||
aArgv->setBoolean(data);
|
||||
*aArgv = BOOLEAN_TO_JSVAL(data);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -1011,7 +1011,7 @@ nsJSContext::AddSupportsPrimitiveTojsvals(nsISupports *aArg, JS::Value *aArgv)
|
||||
JSString *str = ::JS_NewStringCopyN(cx, &data, 1);
|
||||
NS_ENSURE_TRUE(str, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
aArgv->setString(str);
|
||||
*aArgv = STRING_TO_JSVAL(str);
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -3028,7 +3028,7 @@ CreateGlobal(JSContext* aCx, T* aNative, nsWrapperCache* aCache,
|
||||
JSAutoCompartment ac(aCx, aGlobal);
|
||||
|
||||
{
|
||||
js::SetReservedSlot(aGlobal, DOM_OBJECT_SLOT, JS::PrivateValue(aNative));
|
||||
js::SetReservedSlot(aGlobal, DOM_OBJECT_SLOT, PRIVATE_TO_JSVAL(aNative));
|
||||
NS_ADDREF(aNative);
|
||||
|
||||
aCache->SetWrapper(aGlobal);
|
||||
|
@ -290,7 +290,7 @@ MobileMessageCallback::NotifyGetSmscAddress(const nsAString& aSmscAddress)
|
||||
return NotifyError(nsIMobileMessageCallback::INTERNAL_ERROR);
|
||||
}
|
||||
|
||||
JS::Rooted<JS::Value> val(cx, JS::StringValue(smsc));
|
||||
JS::Rooted<JS::Value> val(cx, STRING_TO_JSVAL(smsc));
|
||||
return NotifySuccess(val);
|
||||
}
|
||||
|
||||
|
@ -489,7 +489,7 @@ NPVariantToJSVal(NPP npp, JSContext *cx, const NPVariant *variant)
|
||||
case NPVariantType_Null :
|
||||
return JS::NullValue();
|
||||
case NPVariantType_Bool :
|
||||
return JS::BooleanValue(NPVARIANT_TO_BOOLEAN(*variant));
|
||||
return BOOLEAN_TO_JSVAL(NPVARIANT_TO_BOOLEAN(*variant));
|
||||
case NPVariantType_Int32 :
|
||||
{
|
||||
// Don't use INT_TO_JSVAL directly to prevent bugs when dealing
|
||||
@ -509,7 +509,7 @@ NPVariantToJSVal(NPP npp, JSContext *cx, const NPVariant *variant)
|
||||
::JS_NewUCStringCopyN(cx, utf16String.get(), utf16String.Length());
|
||||
|
||||
if (str) {
|
||||
return JS::StringValue(str);
|
||||
return STRING_TO_JSVAL(str);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -824,7 +824,7 @@ bool SetStringProperty(JSContext *cx, JS::Handle<JSObject*> aObject, const char
|
||||
}
|
||||
JSString* strValue = JS_NewUCStringCopyZ(cx, aValue.get());
|
||||
NS_ENSURE_TRUE(strValue, false);
|
||||
JS::Rooted<JS::Value> valValue(cx, JS::StringValue(strValue));
|
||||
JS::Rooted<JS::Value> valValue(cx, STRING_TO_JSVAL(strValue));
|
||||
return JS_SetProperty(cx, aObject, aProperty, valValue);
|
||||
}
|
||||
|
||||
@ -891,7 +891,7 @@ bool DefineOSFileConstants(JSContext *cx, JS::Handle<JSObject*> global)
|
||||
if (!strVersion){
|
||||
return false;
|
||||
}
|
||||
JS::Rooted<JS::Value> valVersion(cx, JS::StringValue(strVersion));
|
||||
JS::Rooted<JS::Value> valVersion(cx, STRING_TO_JSVAL(strVersion));
|
||||
if (!JS_SetProperty(cx, objSys, "Name", valVersion)) {
|
||||
return false;
|
||||
}
|
||||
@ -907,7 +907,7 @@ bool DefineOSFileConstants(JSContext *cx, JS::Handle<JSObject*> global)
|
||||
return false;
|
||||
}
|
||||
|
||||
JS::Rooted<JS::Value> valVersion(cx, JS::StringValue(strVersion));
|
||||
JS::Rooted<JS::Value> valVersion(cx, STRING_TO_JSVAL(strVersion));
|
||||
if (!JS_SetProperty(cx, objSys, "Name", valVersion)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -2457,7 +2457,7 @@ XMLHttpRequest::GetResponse(JSContext* /* unused */,
|
||||
return;
|
||||
}
|
||||
|
||||
mStateData.mResponse.setString(str);
|
||||
mStateData.mResponse = STRING_TO_JSVAL(str);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1029,7 +1029,7 @@ nsXBLBinding::DoInitJSClass(JSContext *cx,
|
||||
nsXBLDocumentInfo* docInfo = aProtoBinding->XBLDocumentInfo();
|
||||
::JS_SetPrivate(proto, docInfo);
|
||||
NS_ADDREF(docInfo);
|
||||
JS_SetReservedSlot(proto, 0, JS::PrivateValue(aProtoBinding));
|
||||
JS_SetReservedSlot(proto, 0, PRIVATE_TO_JSVAL(aProtoBinding));
|
||||
|
||||
// Next, enter the compartment of the property holder, wrap the proto, and
|
||||
// stick it on.
|
||||
|
@ -362,7 +362,7 @@ JavaScriptShared::fromVariant(JSContext* cx, const JSVariant& from, MutableHandl
|
||||
return true;
|
||||
|
||||
case JSVariant::Tbool:
|
||||
to.setBoolean(from.get_bool());
|
||||
to.set(BOOLEAN_TO_JSVAL(from.get_bool()));
|
||||
return true;
|
||||
|
||||
case JSVariant::TnsString:
|
||||
|
@ -1971,6 +1971,12 @@ UINT_TO_JSVAL(uint32_t i)
|
||||
: DOUBLE_TO_JSVAL((double)i);
|
||||
}
|
||||
|
||||
static inline jsval
|
||||
STRING_TO_JSVAL(JSString* str)
|
||||
{
|
||||
return IMPL_TO_JSVAL(STRING_TO_JSVAL_IMPL(str));
|
||||
}
|
||||
|
||||
static inline jsval
|
||||
OBJECT_TO_JSVAL(JSObject* obj)
|
||||
{
|
||||
@ -1979,6 +1985,20 @@ OBJECT_TO_JSVAL(JSObject* obj)
|
||||
return IMPL_TO_JSVAL(BUILD_JSVAL(JSVAL_TAG_NULL, 0));
|
||||
}
|
||||
|
||||
static inline jsval
|
||||
BOOLEAN_TO_JSVAL(bool b)
|
||||
{
|
||||
return IMPL_TO_JSVAL(BOOLEAN_TO_JSVAL_IMPL(b));
|
||||
}
|
||||
|
||||
/* To be GC-safe, privates are tagged as doubles. */
|
||||
|
||||
static inline jsval
|
||||
PRIVATE_TO_JSVAL(void* ptr)
|
||||
{
|
||||
return IMPL_TO_JSVAL(PRIVATE_PTR_TO_JSVAL_IMPL(ptr));
|
||||
}
|
||||
|
||||
namespace JS {
|
||||
|
||||
extern JS_PUBLIC_DATA(const HandleValue) NullHandleValue;
|
||||
|
@ -2010,7 +2010,7 @@ JS_SetCTypesCallbacks(JSObject* ctypesObj, const JSCTypesCallbacks* callbacks)
|
||||
|
||||
// Set the callbacks on a reserved slot.
|
||||
JS_SetReservedSlot(ctypesObj, SLOT_CALLBACKS,
|
||||
PrivateValue(const_cast<JSCTypesCallbacks*>(callbacks)));
|
||||
PRIVATE_TO_JSVAL(const_cast<JSCTypesCallbacks*>(callbacks)));
|
||||
}
|
||||
|
||||
namespace js {
|
||||
@ -3929,9 +3929,9 @@ CType::Create(JSContext* cx,
|
||||
// Set up the reserved slots.
|
||||
JS_SetReservedSlot(typeObj, SLOT_TYPECODE, INT_TO_JSVAL(type));
|
||||
if (ffiType)
|
||||
JS_SetReservedSlot(typeObj, SLOT_FFITYPE, PrivateValue(ffiType));
|
||||
JS_SetReservedSlot(typeObj, SLOT_FFITYPE, PRIVATE_TO_JSVAL(ffiType));
|
||||
if (name)
|
||||
JS_SetReservedSlot(typeObj, SLOT_NAME, StringValue(name));
|
||||
JS_SetReservedSlot(typeObj, SLOT_NAME, STRING_TO_JSVAL(name));
|
||||
JS_SetReservedSlot(typeObj, SLOT_SIZE, size);
|
||||
JS_SetReservedSlot(typeObj, SLOT_ALIGN, align);
|
||||
|
||||
@ -4274,7 +4274,7 @@ CType::GetFFIType(JSContext* cx, JSObject* obj)
|
||||
|
||||
if (!result)
|
||||
return nullptr;
|
||||
JS_SetReservedSlot(obj, SLOT_FFITYPE, PrivateValue(result.get()));
|
||||
JS_SetReservedSlot(obj, SLOT_FFITYPE, PRIVATE_TO_JSVAL(result.get()));
|
||||
return result.release();
|
||||
}
|
||||
|
||||
@ -4291,7 +4291,7 @@ CType::GetName(JSContext* cx, HandleObject obj)
|
||||
JSString* name = BuildTypeName(cx, obj);
|
||||
if (!name)
|
||||
return nullptr;
|
||||
JS_SetReservedSlot(obj, SLOT_NAME, StringValue(name));
|
||||
JS_SetReservedSlot(obj, SLOT_NAME, STRING_TO_JSVAL(name));
|
||||
return name;
|
||||
}
|
||||
|
||||
@ -5636,7 +5636,7 @@ StructType::DefineInternal(JSContext* cx, JSObject* typeObj_, JSObject* fieldsOb
|
||||
if (!SizeTojsval(cx, structSize, &sizeVal))
|
||||
return false;
|
||||
|
||||
JS_SetReservedSlot(typeObj, SLOT_FIELDINFO, PrivateValue(fields.release()));
|
||||
JS_SetReservedSlot(typeObj, SLOT_FIELDINFO, PRIVATE_TO_JSVAL(fields.release()));
|
||||
|
||||
JS_SetReservedSlot(typeObj, SLOT_SIZE, sizeVal);
|
||||
JS_SetReservedSlot(typeObj, SLOT_ALIGN, INT_TO_JSVAL(structAlign));
|
||||
@ -6297,7 +6297,7 @@ CreateFunctionInfo(JSContext* cx,
|
||||
}
|
||||
|
||||
// Stash the FunctionInfo in a reserved slot.
|
||||
JS_SetReservedSlot(typeObj, SLOT_FNINFO, PrivateValue(fninfo));
|
||||
JS_SetReservedSlot(typeObj, SLOT_FNINFO, PRIVATE_TO_JSVAL(fninfo));
|
||||
|
||||
ffi_abi abi;
|
||||
if (!GetABI(cx, abiType, &abi)) {
|
||||
@ -6840,7 +6840,7 @@ CClosure::Create(JSContext* cx,
|
||||
cinfo->jsfnObj = fnObj;
|
||||
|
||||
// Stash the ClosureInfo struct on our new object.
|
||||
JS_SetReservedSlot(result, SLOT_CLOSUREINFO, PrivateValue(cinfo));
|
||||
JS_SetReservedSlot(result, SLOT_CLOSUREINFO, PRIVATE_TO_JSVAL(cinfo));
|
||||
|
||||
// Create an ffi_closure object and initialize it.
|
||||
void* code;
|
||||
@ -7086,7 +7086,7 @@ CData::Create(JSContext* cx,
|
||||
JS_SetReservedSlot(dataObj, SLOT_REFERENT, OBJECT_TO_JSVAL(refObj));
|
||||
|
||||
// Set our ownership flag.
|
||||
JS_SetReservedSlot(dataObj, SLOT_OWNS, BooleanValue(ownResult));
|
||||
JS_SetReservedSlot(dataObj, SLOT_OWNS, BOOLEAN_TO_JSVAL(ownResult));
|
||||
|
||||
// attach the buffer. since it might not be 2-byte aligned, we need to
|
||||
// allocate an aligned space for it and store it there. :(
|
||||
@ -7117,7 +7117,7 @@ CData::Create(JSContext* cx,
|
||||
}
|
||||
|
||||
*buffer = data;
|
||||
JS_SetReservedSlot(dataObj, SLOT_DATA, PrivateValue(buffer));
|
||||
JS_SetReservedSlot(dataObj, SLOT_DATA, PRIVATE_TO_JSVAL(buffer));
|
||||
|
||||
return dataObj;
|
||||
}
|
||||
@ -8061,7 +8061,7 @@ Int64Base::Construct(JSContext* cx,
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
JS_SetReservedSlot(result, SLOT_INT64, PrivateValue(buffer));
|
||||
JS_SetReservedSlot(result, SLOT_INT64, PRIVATE_TO_JSVAL(buffer));
|
||||
|
||||
if (!JS_FreezeObject(cx, result))
|
||||
return nullptr;
|
||||
|
@ -89,7 +89,7 @@ Library::Create(JSContext* cx, jsval path_, const JSCTypesCallbacks* callbacks)
|
||||
return nullptr;
|
||||
|
||||
// initialize the library
|
||||
JS_SetReservedSlot(libraryObj, SLOT_LIBRARY, PrivateValue(nullptr));
|
||||
JS_SetReservedSlot(libraryObj, SLOT_LIBRARY, PRIVATE_TO_JSVAL(nullptr));
|
||||
|
||||
// attach API functions
|
||||
if (!JS_DefineFunctions(cx, libraryObj, sLibraryFunctions))
|
||||
@ -166,7 +166,7 @@ Library::Create(JSContext* cx, jsval path_, const JSCTypesCallbacks* callbacks)
|
||||
#endif
|
||||
|
||||
// stash the library
|
||||
JS_SetReservedSlot(libraryObj, SLOT_LIBRARY, PrivateValue(library));
|
||||
JS_SetReservedSlot(libraryObj, SLOT_LIBRARY, PRIVATE_TO_JSVAL(library));
|
||||
|
||||
return libraryObj;
|
||||
}
|
||||
@ -244,7 +244,7 @@ Library::Close(JSContext* cx, unsigned argc, jsval* vp)
|
||||
|
||||
// delete our internal objects
|
||||
UnloadLibrary(obj);
|
||||
JS_SetReservedSlot(obj, SLOT_LIBRARY, PrivateValue(nullptr));
|
||||
JS_SetReservedSlot(obj, SLOT_LIBRARY, PRIVATE_TO_JSVAL(nullptr));
|
||||
|
||||
args.rval().setUndefined();
|
||||
return true;
|
||||
|
@ -28,7 +28,7 @@ FRAGMENT(Root, handle) {
|
||||
}
|
||||
|
||||
FRAGMENT(Root, HeapSlot) {
|
||||
JS::Rooted<jsval> plinth(cx, JS::StringValue(JS_NewStringCopyZ(cx, "plinth")));
|
||||
JS::Rooted<jsval> plinth(cx, STRING_TO_JSVAL(JS_NewStringCopyZ(cx, "plinth")));
|
||||
JS::Rooted<JSObject*> array(cx, JS_NewArrayObject(cx, JS::HandleValueArray(plinth)));
|
||||
|
||||
breakpoint();
|
||||
|
@ -74,26 +74,26 @@ BEGIN_TEST(testParseJSON_success)
|
||||
const char16_t emptystr[] = { '\0' };
|
||||
str = js::NewStringCopyN<CanGC>(cx, emptystr, 0);
|
||||
CHECK(str);
|
||||
expected = JS::StringValue(str);
|
||||
expected = STRING_TO_JSVAL(str);
|
||||
CHECK(TryParse(cx, "\"\"", expected));
|
||||
|
||||
const char16_t nullstr[] = { '\0' };
|
||||
str = NewString(cx, nullstr);
|
||||
CHECK(str);
|
||||
expected = JS::StringValue(str);
|
||||
expected = STRING_TO_JSVAL(str);
|
||||
CHECK(TryParse(cx, "\"\\u0000\"", expected));
|
||||
|
||||
const char16_t backstr[] = { '\b' };
|
||||
str = NewString(cx, backstr);
|
||||
CHECK(str);
|
||||
expected = JS::StringValue(str);
|
||||
expected = STRING_TO_JSVAL(str);
|
||||
CHECK(TryParse(cx, "\"\\b\"", expected));
|
||||
CHECK(TryParse(cx, "\"\\u0008\"", expected));
|
||||
|
||||
const char16_t newlinestr[] = { '\n', };
|
||||
str = NewString(cx, newlinestr);
|
||||
CHECK(str);
|
||||
expected = JS::StringValue(str);
|
||||
expected = STRING_TO_JSVAL(str);
|
||||
CHECK(TryParse(cx, "\"\\n\"", expected));
|
||||
CHECK(TryParse(cx, "\"\\u000A\"", expected));
|
||||
|
||||
|
@ -287,7 +287,7 @@ JS_GetPositiveInfinityValue(JSContext* cx)
|
||||
JS_PUBLIC_API(jsval)
|
||||
JS_GetEmptyStringValue(JSContext* cx)
|
||||
{
|
||||
return StringValue(cx->runtime()->emptyString);
|
||||
return STRING_TO_JSVAL(cx->runtime()->emptyString);
|
||||
}
|
||||
|
||||
JS_PUBLIC_API(JSString*)
|
||||
|
@ -5436,7 +5436,7 @@ static void
|
||||
InitDOMObject(HandleObject obj)
|
||||
{
|
||||
/* Fow now just initialize to a constant we can check. */
|
||||
SetReservedSlot(obj, DOM_OBJECT_SLOT, PrivateValue((void*)0x1234));
|
||||
SetReservedSlot(obj, DOM_OBJECT_SLOT, PRIVATE_TO_JSVAL((void*)0x1234));
|
||||
}
|
||||
|
||||
static bool
|
||||
|
@ -3532,7 +3532,7 @@ XPCJSRuntime::OnJSContextNew(JSContext* cx)
|
||||
return false;
|
||||
}
|
||||
mStrIDs[i] = INTERNED_STRING_TO_JSID(cx, str);
|
||||
mStrJSVals[i].setString(str);
|
||||
mStrJSVals[i] = STRING_TO_JSVAL(str);
|
||||
}
|
||||
|
||||
if (!mozilla::dom::DefineStaticJSVals(cx)) {
|
||||
|
@ -115,7 +115,7 @@ private:
|
||||
return false;
|
||||
}
|
||||
|
||||
rval.setString(ucstr);
|
||||
rval.set(STRING_TO_JSVAL(ucstr));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -712,7 +712,7 @@ env_setProperty(JSContext* cx, HandleObject obj, HandleId id, MutableHandleValue
|
||||
JS_ReportError(cx, "can't set envariable %s to %s", name.ptr(), value.ptr());
|
||||
return false;
|
||||
}
|
||||
vp.setString(valstr);
|
||||
vp.set(STRING_TO_JSVAL(valstr));
|
||||
#endif /* !defined SOLARIS */
|
||||
return result.succeed();
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ ToStringGuts(XPCCallContext& ccx)
|
||||
if (!str)
|
||||
return false;
|
||||
|
||||
ccx.SetRetVal(JS::StringValue(str));
|
||||
ccx.SetRetVal(STRING_TO_JSVAL(str));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -998,7 +998,7 @@ XrayTraits::attachExpandoObject(JSContext* cx, HandleObject target,
|
||||
|
||||
// AddRef and store the principal.
|
||||
NS_ADDREF(origin);
|
||||
JS_SetReservedSlot(expandoObject, JSSLOT_EXPANDO_ORIGIN, JS::PrivateValue(origin));
|
||||
JS_SetReservedSlot(expandoObject, JSSLOT_EXPANDO_ORIGIN, PRIVATE_TO_JSVAL(origin));
|
||||
|
||||
// Note the exclusive global, if any.
|
||||
JS_SetReservedSlot(expandoObject, JSSLOT_EXPANDO_EXCLUSIVE_GLOBAL,
|
||||
|
@ -71,7 +71,7 @@ stepFunc(JSContext *aCtx,
|
||||
return false;
|
||||
}
|
||||
|
||||
_vp->setBoolean(hasMore);
|
||||
*_vp = BOOLEAN_TO_JSVAL(hasMore);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ StatementRow::GetProperty(nsIXPConnectWrappedNative *aWrapper,
|
||||
*_retval = false;
|
||||
return NS_OK;
|
||||
}
|
||||
_vp->setString(str);
|
||||
*_vp = STRING_TO_JSVAL(str);
|
||||
}
|
||||
else if (type == mozIStorageValueArray::VALUE_TYPE_BLOB) {
|
||||
uint32_t length;
|
||||
|
Loading…
Reference in New Issue
Block a user