Bug 1130364. Fix the handling of nestingLevel to actuall increment it more than once. r=peterv
authorBoris Zbarsky <bzbarsky@mit.edu>
Mon, 09 Feb 2015 11:42:27 -0500
changeset 228115 be4a51e14f3fbde5181b492d59c68799d3079949
parent 228114 657c0635dfb999be89aa4826d9a67aaa6bae776d
child 228116 994141100597ebb910bc2c96c88d9891c7e97d29
push id55325
push userbzbarsky@mozilla.com
push dateMon, 09 Feb 2015 16:43:00 +0000
treeherdermozilla-inbound@994141100597 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspeterv
bugs1130364
milestone38.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1130364. Fix the handling of nestingLevel to actuall increment it more than once. r=peterv
dom/bindings/Codegen.py
dom/bindings/test/TestBindingHeader.h
dom/bindings/test/TestCodeGen.webidl
dom/bindings/test/TestExampleGen.webidl
dom/bindings/test/TestJSImplGen.webidl
--- a/dom/bindings/Codegen.py
+++ b/dom/bindings/Codegen.py
@@ -4048,17 +4048,19 @@ def getJSToNativeConversionInfo(type, de
         setToNullCode = "${declName} = nullptr;\n"
         template = wrapObjectTemplate(templateBody, type, setToNullCode,
                                       failureCode)
         return JSToNativeConversionInfo(template, declType=declType,
                                         dealWithOptional=isOptional,
                                         declArgs=declArgs)
 
     def incrementNestingLevel():
-        return 1 if nestingLevel is "" else ++nestingLevel
+        if nestingLevel is "":
+            return 1
+        return nestingLevel + 1
 
     assert not (isEnforceRange and isClamp)  # These are mutually exclusive
 
     if type.isArray():
         raise TypeError("Can't handle array arguments yet")
 
     if type.isSequence():
         assert not isEnforceRange and not isClamp
--- a/dom/bindings/test/TestBindingHeader.h
+++ b/dom/bindings/test/TestBindingHeader.h
@@ -414,17 +414,19 @@ public:
   void ReceiveAnySequence(JSContext*, nsTArray<JS::Value>&);
   void ReceiveNullableAnySequence(JSContext*, Nullable<nsTArray<JS::Value> >&);
   void ReceiveAnySequenceSequence(JSContext*, nsTArray<nsTArray<JS::Value> >&);
 
   void ReceiveObjectSequence(JSContext*, nsTArray<JSObject*>&);
   void ReceiveNullableObjectSequence(JSContext*, nsTArray<JSObject*>&);
 
   void PassSequenceOfSequences(const Sequence< Sequence<int32_t> >&);
+  void PassSequenceOfSequencesOfSequences(const Sequence<Sequence<Sequence<int32_t>>>&);
   void ReceiveSequenceOfSequences(nsTArray< nsTArray<int32_t> >&);
+  void ReceiveSequenceOfSequencesOfSequences(nsTArray<nsTArray<nsTArray<int32_t>>>&);
 
   // MozMap types
   void PassMozMap(const MozMap<int32_t> &);
   void PassNullableMozMap(const Nullable< MozMap<int32_t> >&);
   void PassMozMapOfNullableInts(const MozMap<Nullable<int32_t> >&);
   void PassOptionalMozMapOfNullableInts(const Optional<MozMap<Nullable<int32_t> > > &);
   void PassOptionalNullableMozMapOfNullableInts(const Optional<Nullable<MozMap<Nullable<int32_t> > > > &);
   void PassCastableObjectMozMap(const MozMap< OwningNonNull<TestInterface> >&);
--- a/dom/bindings/test/TestCodeGen.webidl
+++ b/dom/bindings/test/TestCodeGen.webidl
@@ -401,17 +401,19 @@ interface TestInterface {
   sequence<any> receiveAnySequence();
   sequence<any>? receiveNullableAnySequence();
   sequence<sequence<any>> receiveAnySequenceSequence();
 
   sequence<object> receiveObjectSequence();
   sequence<object?> receiveNullableObjectSequence();
 
   void passSequenceOfSequences(sequence<sequence<long>> arg);
+  void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
   sequence<sequence<long>> receiveSequenceOfSequences();
+  sequence<sequence<sequence<long>>> receiveSequenceOfSequencesOfSequences();
 
   // MozMap types
   void passMozMap(MozMap<long> arg);
   void passNullableMozMap(MozMap<long>? arg);
   void passMozMapOfNullableInts(MozMap<long?> arg);
   void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
   void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
   void passCastableObjectMozMap(MozMap<TestInterface> arg);
--- a/dom/bindings/test/TestExampleGen.webidl
+++ b/dom/bindings/test/TestExampleGen.webidl
@@ -266,16 +266,17 @@ interface TestExampleInterface {
   sequence<any>? receiveNullableAnySequence();
   //XXXbz No support for sequence of sequence return values yet.
   //sequence<sequence<any>> receiveAnySequenceSequence();
 
   sequence<object> receiveObjectSequence();
   sequence<object?> receiveNullableObjectSequence();
 
   void passSequenceOfSequences(sequence<sequence<long>> arg);
+  void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
   //XXXbz No support for sequence of sequence return values yet.
   //sequence<sequence<long>> receiveSequenceOfSequences();
 
   // MozMap types
   void passMozMap(MozMap<long> arg);
   void passNullableMozMap(MozMap<long>? arg);
   void passMozMapOfNullableInts(MozMap<long?> arg);
   void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
--- a/dom/bindings/test/TestJSImplGen.webidl
+++ b/dom/bindings/test/TestJSImplGen.webidl
@@ -278,16 +278,17 @@ interface TestJSImplInterface {
   sequence<any>? receiveNullableAnySequence();
   //XXXbz No support for sequence of sequence return values yet.
   //sequence<sequence<any>> receiveAnySequenceSequence();
 
   sequence<object> receiveObjectSequence();
   sequence<object?> receiveNullableObjectSequence();
 
   void passSequenceOfSequences(sequence<sequence<long>> arg);
+  void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
   //XXXbz No support for sequence of sequence return values yet.
   //sequence<sequence<long>> receiveSequenceOfSequences();
 
   // MozMap types
   void passMozMap(MozMap<long> arg);
   void passNullableMozMap(MozMap<long>? arg);
   void passMozMapOfNullableInts(MozMap<long?> arg);
   void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);