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

Side by Side Diff: pkg/polymer/lib/src/instance.dart

Issue 558673004: update polymer js to 0.4.0 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: review updates Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/polymer/lib/src/declaration.dart ('k') | pkg/polymer/lib/src/js/polymer/build.log » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of polymer; 5 part of polymer;
6 6
7 /// Use this annotation to publish a property as an attribute. 7 /// Use this annotation to publish a property as an attribute.
8 /// 8 ///
9 /// You can also use [PublishedProperty] to provide additional information, 9 /// You can also use [PublishedProperty] to provide additional information,
10 /// such as automatically syncing the property back to the attribute. 10 /// such as automatically syncing the property back to the attribute.
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 /// Creates the document fragment to use for each instance of the custom 636 /// Creates the document fragment to use for each instance of the custom
637 /// element, given the `<template>` node. By default this is equivalent to: 637 /// element, given the `<template>` node. By default this is equivalent to:
638 /// 638 ///
639 /// templateBind(template).createInstance(this, polymerSyntax); 639 /// templateBind(template).createInstance(this, polymerSyntax);
640 /// 640 ///
641 /// Where polymerSyntax is a singleton [PolymerExpressions] instance. 641 /// Where polymerSyntax is a singleton [PolymerExpressions] instance.
642 /// 642 ///
643 /// You can override this method to change the instantiation behavior of the 643 /// You can override this method to change the instantiation behavior of the
644 /// template, for example to use a different data-binding syntax. 644 /// template, for example to use a different data-binding syntax.
645 DocumentFragment instanceTemplate(Element template) { 645 DocumentFragment instanceTemplate(Element template) {
646 // ensure template is decorated (lets things like <tr template ...> work)
647 TemplateBindExtension.decorate(template);
646 var syntax = this.syntax; 648 var syntax = this.syntax;
647 var t = templateBind(template); 649 var t = templateBind(template);
648 if (syntax == null && t.bindingDelegate == null) { 650 if (syntax == null && t.bindingDelegate == null) {
649 syntax = element.syntax; 651 syntax = element.syntax;
650 } 652 }
651 var dom = t.createInstance(this, syntax); 653 var dom = t.createInstance(this, syntax);
652 _observers.addAll(getTemplateInstanceBindings(dom)); 654 _observers.addAll(getTemplateInstanceBindings(dom));
653 return dom; 655 return dom;
654 } 656 }
655 657
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 // we only care if there are registered side-effects 838 // we only care if there are registered side-effects
837 var callbacks = observe[name]; 839 var callbacks = observe[name];
838 if (callbacks == null) return; 840 if (callbacks == null) return;
839 841
840 // if we are observing the previous value, stop 842 // if we are observing the previous value, stop
841 if (old is ObservableList) { 843 if (old is ObservableList) {
842 _observeLog.fine(() => '[$_name] observeArrayValue: unregister $name'); 844 _observeLog.fine(() => '[$_name] observeArrayValue: unregister $name');
843 845
844 closeNamedObserver('${name}__array'); 846 closeNamedObserver('${name}__array');
845 } 847 }
846 // if the new value is an array, being observing it 848 // if the new value is an array, begin observing it
847 if (value is ObservableList) { 849 if (value is ObservableList) {
848 _observeLog.fine(() => '[$_name] observeArrayValue: register $name'); 850 _observeLog.fine(() => '[$_name] observeArrayValue: register $name');
849 var sub = value.listChanges.listen((changes) { 851 var sub = value.listChanges.listen((changes) {
850 for (var callback in callbacks) { 852 for (var callback in callbacks) {
851 smoke.invoke(this, callback, [old], adjust: true); 853 smoke.invoke(this, callback, [changes], adjust: true);
852 } 854 }
853 }); 855 });
854 registerNamedObserver('${name}__array', sub); 856 registerNamedObserver('${name}__array', sub);
855 } 857 }
856 } 858 }
857 859
858 emitPropertyChangeRecord(Symbol name, newValue, oldValue) { 860 emitPropertyChangeRecord(Symbol name, newValue, oldValue) {
859 if (identical(oldValue, newValue)) return; 861 if (identical(oldValue, newValue)) return;
860 _propertyChange(name, newValue, oldValue); 862 _propertyChange(name, newValue, oldValue);
861 } 863 }
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
1344 final Logger _eventsLog = new Logger('polymer.events'); 1346 final Logger _eventsLog = new Logger('polymer.events');
1345 final Logger _unbindLog = new Logger('polymer.unbind'); 1347 final Logger _unbindLog = new Logger('polymer.unbind');
1346 final Logger _bindLog = new Logger('polymer.bind'); 1348 final Logger _bindLog = new Logger('polymer.bind');
1347 final Logger _watchLog = new Logger('polymer.watch'); 1349 final Logger _watchLog = new Logger('polymer.watch');
1348 final Logger _readyLog = new Logger('polymer.ready'); 1350 final Logger _readyLog = new Logger('polymer.ready');
1349 1351
1350 final Expando _eventHandledTable = new Expando<Set<Node>>(); 1352 final Expando _eventHandledTable = new Expando<Set<Node>>();
1351 1353
1352 final JsObject _PolymerGestures = js.context['PolymerGestures']; 1354 final JsObject _PolymerGestures = js.context['PolymerGestures'];
1353 1355
OLDNEW
« no previous file with comments | « pkg/polymer/lib/src/declaration.dart ('k') | pkg/polymer/lib/src/js/polymer/build.log » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698