mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
We were cloning elements with all the attributes that contained
expressions like attrName="{{ foo }}" which meant we'd go through the
reflection process converting that value and also call the
attrNameChanged() callback and the attributeChanged() with the braced
string which the element didn't really want to know about.
After this patch we create a "clone source node" which is a copy of the
original element without the attributes that have the expressions and
use that when cloning, then we assign the properties using data binding
later.
R=abarth@chromium.org, ojan@chromium.org
Review URL: https://codereview.chromium.org/868973002
19 lines
866 B
Plaintext
19 lines
866 B
Plaintext
Running 14 tests
|
|
ok 1 SkyElement should stamp when the element is inserted
|
|
ok 2 SkyElement should update isAttached when inserting
|
|
ok 3 SkyElement should handle parser created elements with attributes
|
|
ok 4 SkyElement should have defaults for all attributes
|
|
ok 5 SkyElement should call change callbacks
|
|
ok 6 SkyElement should convert boolean reflected attributes
|
|
ok 7 SkyElement should convert string reflected attributes
|
|
ok 8 SkyElement should convert number reflected attributes
|
|
ok 9 SkyElement should connect data binding
|
|
ok 10 SkyElement should two way bind attributes
|
|
ok 11 SkyElement should connect template event handlers
|
|
ok 12 SkyElement should connect host event handlers
|
|
ok 13 SkyElement should not call attributeChanged for binding expression values
|
|
ok 14 SkyElement should call shadowRootReady after creating the template instance
|
|
14 tests
|
|
14 pass
|
|
0 fail
|