Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: tools/dom/src/dart2js_CustomElementSupport.dart

Issue 23498053: Revert "Revert "Dart2js support for custom element lifecycle events"" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698