Backout changeset 1142882b6c0b (bug 785472) because it breaks the build
authorEhsan Akhgari <ehsan@mozilla.com>
Fri, 24 Aug 2012 16:22:42 -0400
changeset 105382 1bc0e4eac6e53c239afd2bc8416f543024d92b77
parent 105381 b3c861bd1e2fda67d732c0520c4c0eec997a7258
child 105383 68a243c559b23d08fa8a824d93ebd8531454c143
push id55
push usershu@rfrn.org
push dateThu, 30 Aug 2012 01:33:09 +0000
bugs785472
milestone17.0a1
backs out1142882b6c0b58eb019ca0514d32552de9efbb09
Backout changeset 1142882b6c0b (bug 785472) because it breaks the build
dom/bindings/parser/WebIDL.py
dom/bindings/parser/tests/test_interface.py
--- a/dom/bindings/parser/WebIDL.py
+++ b/dom/bindings/parser/WebIDL.py
@@ -417,22 +417,16 @@ class IDLInterface(IDLObjectWithScope):
     def finish(self, scope):
         if self._finished:
             return
 
         self._finished = True
 
         assert not self.parent or isinstance(self.parent, IDLIdentifierPlaceholder)
         parent = self.parent.finish(scope) if self.parent else None
-        if parent and not isinstance(parent, IDLExternalInterface):
-            raise WebIDLError("%s inherits from %s which does not have "
-                              "a definition" %
-                              (self.identifier.name,
-                               self.parent.identifier.name),
-                              [self.location])
         assert not parent or isinstance(parent, IDLInterface)
 
         self.parent = parent
 
         assert iter(self.members)
 
         if self.parent:
             self.parent.finish(scope)
--- a/dom/bindings/parser/tests/test_interface.py
+++ b/dom/bindings/parser/tests/test_interface.py
@@ -168,21 +168,8 @@ def WebIDLTest(parser, harness):
             C implements D;
             D implements A;
         """)
         results = parser.finish()
     except:
         threw = True
 
     harness.ok(threw, "Should not allow indirectly inheriting from an interface that indirectly implements us")
-
-    parser = parser.reset()
-    threw = False
-    try:
-        parser.parse("""
-            interface A;
-            interface B : A {};
-        """)
-        results = parser.finish()
-    except:
-        threw = True
-
-    harness.ok(threw, "Should not allow inheriting from an interface that is only forward declared")