| Index: sdk/lib/html/dart2js/html_dart2js.dart
|
| diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
|
| index 2f2259cf9ce82311f99182db49eab18d87e5dcf4..4e97d224d149db9b75e12b1f3f1e3a3061e3ec1c 100644
|
| --- a/sdk/lib/html/dart2js/html_dart2js.dart
|
| +++ b/sdk/lib/html/dart2js/html_dart2js.dart
|
| @@ -9146,6 +9146,20 @@ abstract class Element extends Node implements ParentNode, ChildNode native "Ele
|
| @Experimental()
|
| void created() {}
|
|
|
| + /**
|
| + * Called by the DOM when this element has been inserted into the live
|
| + * document.
|
| + */
|
| + @Experimental()
|
| + void enteredView() {}
|
| +
|
| + /**
|
| + * Called by the DOM when this element has been removed from the live
|
| + * document.
|
| + */
|
| + @Experimental()
|
| + void leftView() {}
|
| +
|
| // Hooks to support custom WebComponents.
|
|
|
| @Creates('Null') // Set from Dart code; does not instantiate a native type.
|
| @@ -32037,14 +32051,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 {
|
| @@ -32106,10 +32128,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);
|
|
|