| Index: tools/dom/src/dart2js_CustomElementSupport.dart
|
| diff --git a/tools/dom/src/dart2js_CustomElementSupport.dart b/tools/dom/src/dart2js_CustomElementSupport.dart
|
| index 3ad3381896ddee83a3684d4686aca4a467d747a0..aa2c8f039af3153f2271d9c2139c50c96cb0507e 100644
|
| --- a/tools/dom/src/dart2js_CustomElementSupport.dart
|
| +++ b/tools/dom/src/dart2js_CustomElementSupport.dart
|
| @@ -8,14 +8,22 @@ _callCreated(receiver) {
|
| return receiver.created();
|
| }
|
|
|
| -_makeCreatedCallbackMethod() {
|
| +_callEnteredView(receiver) {
|
| + return receiver.enteredView();
|
| +}
|
| +
|
| +_callLeftView(receiver) {
|
| + return receiver.leftView();
|
| +}
|
| +
|
| +_makeCallbackMethod(callback) {
|
| return JS('',
|
| '''((function(invokeCallback) {
|
| return function() {
|
| return invokeCallback(this);
|
| };
|
| })(#))''',
|
| - convertDartClosureToJS(_callCreated, 1));
|
| + convertDartClosureToJS(callback, 1));
|
| }
|
|
|
| const _typeNameToTag = const {
|
| @@ -77,10 +85,18 @@ void _registerCustomElement(context, document, String tag, Type type,
|
|
|
| var properties = JS('=Object', '{}');
|
|
|
| - var jsCreatedCallback = _makeCreatedCallbackMethod();
|
| -
|
| JS('void', '#.createdCallback = #', properties,
|
| - JS('=Object', '{value: #}', jsCreatedCallback));
|
| + JS('=Object', '{value: #}', _makeCallbackMethod(_callCreated)));
|
| + JS('void', '#.enteredViewCallback = #', properties,
|
| + JS('=Object', '{value: #}', _makeCallbackMethod(_callEnteredView)));
|
| + JS('void', '#.leftViewCallback = #', properties,
|
| + JS('=Object', '{value: #}', _makeCallbackMethod(_callLeftView)));
|
| +
|
| + // TODO(blois): Bug 13220- remove once transition is complete
|
| + JS('void', '#.enteredDocumentCallback = #', properties,
|
| + JS('=Object', '{value: #}', _makeCallbackMethod(_callEnteredView)));
|
| + JS('void', '#.leftDocumentCallback = #', properties,
|
| + JS('=Object', '{value: #}', _makeCallbackMethod(_callLeftView)));
|
|
|
| var baseProto = JS('=Object', '#.prototype', baseConstructor);
|
| var proto = JS('=Object', 'Object.create(#, #)', baseProto, properties);
|
|
|