Treat EventTarget as a secondary superclass

This matches the C++.  It's brittle, but it's not clear how to get
this out of idl right now.

R=blois@google.com

Review URL: https://codereview.chromium.org//22594012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25906 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
vsm@google.com 2013-08-07 22:15:10 +00:00
parent 25c4b2e625
commit 68b7394e53
3 changed files with 1 additions and 14 deletions

View file

@ -25,23 +25,16 @@ audiobuffersourcenode_test: Pass, Fail, Crash # http://crbug.com/256601
# postMessage in dartium always transfers the typed array buffer, never a view
postmessage_structured_test/typed_arrays: Fail
# TODO(vsm): Triage from latest Blink merge
indexeddb_1_test: Skip
indexeddb_2_test: Skip
indexeddb_3_test: Skip
indexeddb_4_test: Skip
indexeddb_5_test: Skip
js_test: Skip
js_interop_2_test: Skip
js_interop_4_test: Skip
xhr_test: Skip
crypto_test: Skip
notifications_test: Skip
dromaeo_smoke_test: Skip
native_gc_test: Skip
location_test: Skip
history_test: Skip
postmessage_structured_test: Skip # Timing out
form_data_test: Skip # Timing out
[ $compiler == none && $runtime == drt && $system == windows ]
worker_test/functional: Pass, Crash # Issue 9929.

View file

@ -338,5 +338,3 @@ interface Location {
[Supplemental]
interface Window : EventTarget {};
[Supplemental]
interface AbstractWorker : EventTarget {};

View file

@ -256,10 +256,6 @@ class Database(object):
def walk(parents):
for parent in parents:
parent_name = parent.type.id
if parent_name == 'EventTarget':
# Currently EventTarget is implemented as a mixin, not a proper
# super interface---ignore its members.
continue
if IsDartCollectionType(parent_name):
result.append(parent_name)
continue
@ -271,7 +267,7 @@ class Database(object):
result = []
if interface.parents:
parent = interface.parents[0]
if IsPureInterface(parent.type.id):
if IsPureInterface(parent.type.id) or parent.type.id == 'EventTarget':
walk(interface.parents)
else:
walk(interface.parents[1:])