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

Unified Diff: tools/dom/templates/html/impl/impl_Text.darttemplate

Issue 14732003: Implement Model-Driven-Views spec for Dart (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: try upload again Created 7 years, 7 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/templates/html/impl/impl_Text.darttemplate
diff --git a/tools/dom/templates/html/impl/impl_Text.darttemplate b/tools/dom/templates/html/impl/impl_Text.darttemplate
index e5bbf5d49735a760c193df03fd3a129c2a1d3675..05d0be72ac27689c5956b3ead1c7d27a1fdab753 100644
--- a/tools/dom/templates/html/impl/impl_Text.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Text.darttemplate
@@ -9,4 +9,42 @@ part of $LIBRARYNAME;
$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
factory $CLASSNAME(String data) => _$(CLASSNAME)FactoryProvider.create$CLASSNAME(data);
$!MEMBERS
+
+$if DART2JS
+ @Creates('Null') // Set from Dart code; does not instantiate a native type.
+$endif
+ StreamSubscription _textBinding;
+
+ @Experimental
+ void bind(String name, model, String path) {
+ if (name != 'text') {
+ super.bind(name, model, path);
+ return;
+ }
+
+ unbind('text');
+
+ _textBinding = new PathObserver(model, path).bindSync((value) {
+ text = value == null ? '' : '$value';
+ });
+ }
+
+ @Experimental
+ void unbind(String name) {
+ if (name != 'text') {
+ super.unbind(name);
+ return;
+ }
+
+ if (_textBinding == null) return;
+
+ _textBinding.cancel();
+ _textBinding = null;
+ }
+
+ @Experimental
+ void unbindAll() {
+ unbind('text');
+ super.unbindAll();
+ }
}

Powered by Google App Engine
This is Rietveld 408576698