Ports all features except where JS interop is blocking us (declaration/path.js and instance/style.js). In particular, this has:
// src/declaration/attributes.js
// src/declaration/events.js
// src/declaration/polymer-element.js
// src/declaration/properties.js
// src/declaration/prototype.js
// src/declaration/styles.js
// src/instance/attributes.js
// src/instance/base.js
// src/instance/events.js
// src/instance/mdv.js
// src/instance/properties.js
// src/instance/utils.js
// src/lib/deserialize.js
// src/lib/job.js
// src/lib/dom.js -- not needed in Dart
// src/lib/lang.js -- not needed in Dart
// src/lib/super.js -- not needed in Dart
There's also a big architectural change: polymer-element data is now stored in the PolymerDeclaration class, which is separate from PolymerElement. This allows us to avoid duplicate work on every constructor, and should significantly speed up instance creation.
All code is from the same revision:
https://github.com/Polymer/polymer/blob/4dc481c11505991a7c43228d3797d28f21267779
The remaining unported files are for relatively minor features. "declaration/path.js" is for asset URL resolution, and we might have a Pub-based solution instead. "instance/style.js" has an opt-in, advanced style polyfill. It needs "ShadowCSS.shimPolyfillDirectives", and probably isn't too hard to make work in a follow up change.
Other changes:
* attributeChanged lifecycle method is implemented.
* ObservableAnnotation is public so Polymer's @published can subclass it
* bindProperty renamed to onPropertyChange to avoid conflict with Polymer member of the same name.
* polymer/lib/boot.js preload's polymer-element and link[rel=stylesheet]
R=blois@google.com
Review URL: https://codereview.chromium.org//24149003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28134 260f80e4-7a28-3924-810f-c04153c831b5
- includes a few new steps in the deploy transforms that were missing
- deletes emitters.dart, paths.dart (which were only needed for generating
code), bin/dwc.dart (we never used this)
- changes test/run.sh to run from pkg/polymer/.
- updates tests expectations to match the new output
- for now, disable using shadowdom-polyfill in render tests because they
mismatch the results you'd get without the polyfill (css is changed with the
polyfill)
R=jmesserly@google.com, terry@google.com
Review URL: https://codereview.chromium.org//23445009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26828 260f80e4-7a28-3924-810f-c04153c831b5