I also fixed the transform hack in material-element to clean
up after itself.
I also discovered that our namedSetter implementation did not
handle null (it crashed) while doing this. I fixed that
and tested my fix.
This runs great on a Nexus 5, but poorly on an Nexus 10.
R=abarth@chromium.org
BUG=
Review URL: https://codereview.chromium.org/956753002
This CL implements custom elements. The design is as follows:
1) Authors subclass Element and call registerElement.
2) When we create C++ elements for custom elements, we call the author's
constructor synchronously.
3) The attach/detach/attributeChanged callbacks are called either:
a) when exiting the current custom element callback scoped (e.g., before
returning from appendChild), or
b) when draining the microtask queue.
The implementation in this CL is a bit fragile because we don't detect name
registration conflicts and we let you create custom elements with the same name
as built-in elements. Also, not every part of the engine is prepared to execute
script synchronously below createElement. We'll need to iron out these issues
over time, but this CL is a start.
R=ojan@chromium.org
Review URL: https://codereview.chromium.org/943013002
This doesn't yet support having both named and optional
arguments, but once I have an example of that it should
be trivial to add.
I also cleaned up the generation a little so the generated
dart file looks nicer. :)
R=abarth@chromium.org
BUG=
Review URL: https://codereview.chromium.org/923093003