Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit 4672697

Browse files
committed
Bug 862629 part 2. Remove the now-unused scope object bit in js-to-native conversions. r=peterv
1 parent f3f44cf commit 4672697

6 files changed

Lines changed: 19 additions & 27 deletions

File tree

content/base/src/nsDOMBlobBuilder.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,14 +189,14 @@ nsDOMMultipartFile::InitBlob(JSContext* aCx,
189189
if (aArgc > 1) {
190190
if (NS_IsMainThread()) {
191191
BlobPropertyBag d;
192-
if (!d.Init(aCx, JS::NullPtr(), aArgv[1])) {
192+
if (!d.Init(aCx, aArgv[1])) {
193193
return NS_ERROR_TYPE_ERR;
194194
}
195195
mContentType = d.mType;
196196
nativeEOL = d.mEndings == EndingTypesValues::Native;
197197
} else {
198198
BlobPropertyBagWorkers d;
199-
if (!d.Init(aCx, JS::NullPtr(), aArgv[1])) {
199+
if (!d.Init(aCx, aArgv[1])) {
200200
return NS_ERROR_TYPE_ERR;
201201
}
202202
mContentType = d.mType;
@@ -283,7 +283,7 @@ nsDOMMultipartFile::InitFile(JSContext* aCx,
283283

284284
if (aArgc > 1) {
285285
FilePropertyBag d;
286-
if (!d.Init(aCx, JS::NullPtr(), aArgv[1])) {
286+
if (!d.Init(aCx, aArgv[1])) {
287287
return NS_ERROR_TYPE_ERR;
288288
}
289289
mName = d.mName;

content/base/src/nsDocument.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4987,7 +4987,7 @@ nsDocument::Register(const nsAString& aName, const JS::Value& aOptions,
49874987
JSAutoCompartment ac(aCx, GetWrapper());
49884988
NS_ENSURE_TRUE(JS_WrapValue(aCx, const_cast<JS::Value*>(&aOptions)),
49894989
NS_ERROR_UNEXPECTED);
4990-
NS_ENSURE_TRUE(options.Init(aCx, JS::NullPtr(), aOptions),
4990+
NS_ENSURE_TRUE(options.Init(aCx, aOptions),
49914991
NS_ERROR_UNEXPECTED);
49924992
}
49934993

content/base/src/nsXMLHttpRequest.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ class nsXMLHttpRequest : public nsXHREventTarget,
169169
{
170170
// Pretend like someone passed null, so we can pick up the default values
171171
mozilla::dom::MozXMLHttpRequestParameters params;
172-
if (!params.Init(aCx, JS::NullPtr(), JS::NullValue())) {
172+
if (!params.Init(aCx, JS::NullValue())) {
173173
aRv.Throw(NS_ERROR_UNEXPECTED);
174174
return nullptr;
175175
}

dom/bindings/Codegen.py

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2346,10 +2346,6 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
23462346
${haveValue} replaced by an expression that evaluates to a boolean
23472347
for whether we have a JS::Value. Only used when
23482348
defaultValue is not None.
2349-
${obj} replaced by an object which, when unwrapped, tells us which
2350-
compartment we really want to be working with here, in case
2351-
that matters for our conversion. This is allowed to be null if
2352-
we just want to work with the compartment we're already in.
23532349
23542350
2) A CGThing representing the native C++ type we're converting to
23552351
(declType). This is allowed to be None if the conversion code is
@@ -2564,8 +2560,6 @@ def wrapObjectTemplate(templateBody, type, codeToSetNull, failureCode=None):
25642560
# interfaces, which use an internal holder for the
25652561
# conversion even when forceOwningType ends up true.
25662562
"holderName": "tempHolder",
2567-
# Use the same ${obj} as for the sequence itself
2568-
"obj": "${obj}"
25692563
}
25702564
))).define()
25712565

@@ -2600,7 +2594,7 @@ def wrapObjectTemplate(templateBody, type, codeToSetNull, failureCode=None):
26002594
name = memberType.inner.identifier.name
26012595
else:
26022596
name = memberType.name
2603-
interfaceObject.append(CGGeneric("(failed = !%s.TrySetTo%s(cx, ${obj}, ${val}, ${valPtr}, tryNext)) || !tryNext" % (unionArgumentObj, name)))
2597+
interfaceObject.append(CGGeneric("(failed = !%s.TrySetTo%s(cx, ${val}, ${valPtr}, tryNext)) || !tryNext" % (unionArgumentObj, name)))
26042598
names.append(name)
26052599
interfaceObject = CGWrapper(CGList(interfaceObject, " ||\n"), pre="done = ", post=";\n", reindent=True)
26062600
else:
@@ -2611,7 +2605,7 @@ def wrapObjectTemplate(templateBody, type, codeToSetNull, failureCode=None):
26112605
assert len(arrayObjectMemberTypes) == 1
26122606
memberType = arrayObjectMemberTypes[0]
26132607
name = memberType.name
2614-
arrayObject = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${obj}, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
2608+
arrayObject = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
26152609
arrayObject = CGIfWrapper(arrayObject, "IsArrayLike(cx, &argObj)")
26162610
names.append(name)
26172611
else:
@@ -2634,7 +2628,7 @@ def wrapObjectTemplate(templateBody, type, codeToSetNull, failureCode=None):
26342628
assert len(callbackMemberTypes) == 1
26352629
memberType = callbackMemberTypes[0]
26362630
name = memberType.name
2637-
callbackObject = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${obj}, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
2631+
callbackObject = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
26382632
names.append(name)
26392633
else:
26402634
callbackObject = None
@@ -2693,7 +2687,7 @@ def wrapObjectTemplate(templateBody, type, codeToSetNull, failureCode=None):
26932687
name = memberType.inner.identifier.name
26942688
else:
26952689
name = memberType.name
2696-
other = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${obj}, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
2690+
other = CGGeneric("done = (failed = !%s.TrySetTo%s(cx, ${val}, ${valPtr}, tryNext)) || !tryNext;" % (unionArgumentObj, name))
26972691
names.append(name)
26982692
if hasObjectTypes:
26992693
other = CGWrapper(CGIndenter(other), "{\n", post="\n}")
@@ -3239,7 +3233,7 @@ def getConversionCode(varName):
32393233
else:
32403234
template = ""
32413235

3242-
template += ("if (!%s.Init(cx, ${obj}, %s)) {\n"
3236+
template += ("if (!%s.Init(cx, %s)) {\n"
32433237
"%s\n"
32443238
"}" % (selfRef, val, exceptionCodeIndented.define()))
32453239

@@ -5281,14 +5275,13 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
52815275
"valPtr": "pvalue",
52825276
"declName": "SetAs" + name + "()",
52835277
"holderName": "m" + name + "Holder",
5284-
"obj": "scopeObj"
52855278
}
52865279
)
52875280
jsConversion = CGWrapper(CGGeneric(jsConversion),
52885281
post="\n"
52895282
"return true;")
52905283
setter = CGWrapper(CGIndenter(jsConversion),
5291-
pre="bool TrySetTo" + name + "(JSContext* cx, JSObject* scopeObj, const JS::Value& value, JS::Value* pvalue, bool& tryNext)\n"
5284+
pre="bool TrySetTo" + name + "(JSContext* cx, const JS::Value& value, JS::Value* pvalue, bool& tryNext)\n"
52925285
"{\n"
52935286
" tryNext = false;\n",
52945287
post="\n"
@@ -7074,7 +7067,7 @@ def declare(self):
70747067
return (string.Template(
70757068
"struct ${selfName} ${inheritance}{\n"
70767069
" ${selfName}() {}\n"
7077-
" bool Init(JSContext* cx, JS::Handle<JSObject*> scopeObj, const JS::Value& val);\n"
7070+
" bool Init(JSContext* cx, const JS::Value& val);\n"
70787071
" bool ToObject(JSContext* cx, JSObject* parentObject, JS::Value *vp);\n"
70797072
"\n" +
70807073
(" bool Init(const nsAString& aJSON)\n"
@@ -7084,7 +7077,7 @@ def declare(self):
70847077
" Maybe< JS::Rooted<JS::Value> > json;\n"
70857078
" JSContext* cx = ParseJSON(aJSON, ar, ac, json);\n"
70867079
" NS_ENSURE_TRUE(cx, false);\n"
7087-
" return Init(cx, JS::NullPtr(), json.ref());\n"
7080+
" return Init(cx, json.ref());\n"
70887081
" }\n" if not self.workers else "") +
70897082
"\n" +
70907083
"\n".join(memberDecls) + "\n"
@@ -7101,7 +7094,7 @@ def declare(self):
71017094
"struct ${selfName}Initializer : public ${selfName} {\n"
71027095
" ${selfName}Initializer() {\n"
71037096
" // Safe to pass a null context if we pass a null value\n"
7104-
" Init(nullptr, JS::NullPtr(), JS::NullValue());\n"
7097+
" Init(nullptr, JS::NullValue());\n"
71057098
" }\n"
71067099
"};").substitute( { "selfName": self.makeClassName(d),
71077100
"inheritance": inheritance }))
@@ -7110,7 +7103,7 @@ def define(self):
71107103
d = self.dictionary
71117104
if d.parent:
71127105
initParent = ("// Per spec, we init the parent's members first\n"
7113-
"if (!%s::Init(cx, scopeObj, val)) {\n"
7106+
"if (!%s::Init(cx, val)) {\n"
71147107
" return false;\n"
71157108
"}\n" % self.makeClassName(d.parent))
71167109
toObjectParent = ("// Per spec, we define the parent's members first\n"
@@ -7158,7 +7151,7 @@ def define(self):
71587151
"}\n"
71597152
"\n" if self.needToInitIds else "") +
71607153
"bool\n"
7161-
"${selfName}::Init(JSContext* cx, JS::Handle<JSObject*> scopeObj, const JS::Value& val)\n"
7154+
"${selfName}::Init(JSContext* cx, const JS::Value& val)\n"
71627155
"{\n"
71637156
" // Passing a null JSContext is OK only if we're initing from null,\n"
71647157
" // Since in that case we will not have to do any property gets\n"
@@ -7236,8 +7229,7 @@ def getMemberConversion(self, memberInfo):
72367229
# We need a holder name for external interfaces, but
72377230
# it's scoped down to the conversion so we can just use
72387231
# anything we want.
7239-
"holderName": "holder",
7240-
"obj": "scopeObj" }
7232+
"holderName": "holder" }
72417233
# We can't handle having a holderType here
72427234
assert holderType is None
72437235
if dealWithOptional:

dom/workers/XMLHttpRequest.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class XMLHttpRequest : public XMLHttpRequestEventTarget,
8383
{
8484
// Pretend like someone passed null, so we can pick up the default values
8585
MozXMLHttpRequestParametersWorkers params;
86-
if (!params.Init(aGlobal.GetContext(), JS::NullPtr(), JS::NullValue())) {
86+
if (!params.Init(aGlobal.GetContext(), JS::NullValue())) {
8787
aRv.Throw(NS_ERROR_UNEXPECTED);
8888
return nullptr;
8989
}

media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ PeerConnectionImpl::ConvertRTCConfiguration(const JS::Value& aSrc,
384384
}
385385
JSAutoCompartment ac(aCx, &aSrc.toObject());
386386
RTCConfiguration config;
387-
if (!(config.Init(aCx, JS::NullPtr(), aSrc) && config.mIceServers.WasPassed())) {
387+
if (!(config.Init(aCx, aSrc) && config.mIceServers.WasPassed())) {
388388
return NS_ERROR_FAILURE;
389389
}
390390
for (uint32_t i = 0; i < config.mIceServers.Value().Length(); i++) {

0 commit comments

Comments
 (0)