| Index: tools/dom/src/dart2js_CustomElementSupport.dart
|
| diff --git a/tools/dom/src/dart2js_CustomElementSupport.dart b/tools/dom/src/dart2js_CustomElementSupport.dart
|
| index 67cc05b34ff115f36e244169de4f218881d337b2..0f941fd981ec67676f798cc83f2fd756ecb0ed45 100644
|
| --- a/tools/dom/src/dart2js_CustomElementSupport.dart
|
| +++ b/tools/dom/src/dart2js_CustomElementSupport.dart
|
| @@ -4,8 +4,10 @@
|
|
|
| part of dart.dom.html;
|
|
|
| -_callConstructor(constructor) {
|
| +_callConstructor(constructor, interceptor) {
|
| return (receiver) {
|
| + setNativeSubclassDispatchRecord(receiver, interceptor);
|
| +
|
| return JS('', '#(#)', constructor, receiver);
|
| };
|
| }
|
| @@ -62,6 +64,8 @@ void _registerCustomElement(context, document, String tag, Type type,
|
| throw new ArgumentError(type);
|
| }
|
|
|
| + var interceptor = JS('=Object', '#.prototype', interceptorClass);
|
| +
|
| var constructor = findConstructorForNativeSubclassType(type, 'created');
|
| if (constructor == null) {
|
| throw new ArgumentError("$type has no constructor called 'created'");
|
| @@ -94,7 +98,7 @@ void _registerCustomElement(context, document, String tag, Type type,
|
|
|
| JS('void', '#.createdCallback = #', properties,
|
| JS('=Object', '{value: #}',
|
| - _makeCallbackMethod(_callConstructor(constructor))));
|
| + _makeCallbackMethod(_callConstructor(constructor, interceptor))));
|
| JS('void', '#.enteredViewCallback = #', properties,
|
| JS('=Object', '{value: #}', _makeCallbackMethod(_callEnteredView)));
|
| JS('void', '#.leftViewCallback = #', properties,
|
| @@ -111,8 +115,6 @@ void _registerCustomElement(context, document, String tag, Type type,
|
| var baseProto = JS('=Object', '#.prototype', baseConstructor);
|
| var proto = JS('=Object', 'Object.create(#, #)', baseProto, properties);
|
|
|
| - var interceptor = JS('=Object', '#.prototype', interceptorClass);
|
| -
|
| setNativeSubclassDispatchRecord(proto, interceptor);
|
|
|
| var options = JS('=Object', '{prototype: #}', proto);
|
|
|