You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(ivy): Switch styling to new reconcile algorithm (angular#34616)
NOTE: This change must be reverted with previous deletes so that it code remains in build-able state.
This change deletes old styling code and replaces it with a simplified styling algorithm.
The mental model for the new algorithm is:
- Create a linked list of styling bindings in the order of priority. All styling bindings ere executed in compiled order and than a linked list of bindings is created in priority order.
- Flush the style bindings at the end of `advance()` instruction. This implies that there are two flush events. One at the end of template `advance` instruction in the template. Second one at the end of `hostBindings` `advance` instruction when processing host bindings (if any).
- Each binding instructions effectively updates the string to represent the string at that location. Because most of the bindings are additive, this is a cheap strategy in most cases. In rare cases the strategy requires removing tokens from the styling up to this point. (We expect that to be rare case)S Because, the bindings are presorted in the order of priority, it is safe to resume the processing of the concatenated string from the last change binding.
PR Closeangular#34616
Copy file name to clipboardExpand all lines: integration/_payload-limits.json
+5-5
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
"master": {
13
13
"uncompressed": {
14
14
"runtime-es2015": 1485,
15
-
"main-es2015": 18214,
15
+
"main-es2015": 16787,
16
16
"polyfills-es2015": 36808
17
17
}
18
18
}
@@ -30,7 +30,7 @@
30
30
"master": {
31
31
"uncompressed": {
32
32
"runtime-es2015": 1485,
33
-
"main-es2015": 139487,
33
+
"main-es2015": 137226,
34
34
"polyfills-es2015": 37494
35
35
}
36
36
}
@@ -39,7 +39,7 @@
39
39
"master": {
40
40
"uncompressed": {
41
41
"runtime-es2015": 2289,
42
-
"main-es2015": 268796,
42
+
"main-es2015": 254857,
43
43
"polyfills-es2015": 36808,
44
44
"5-es2015": 751
45
45
}
@@ -49,7 +49,7 @@
49
49
"master": {
50
50
"uncompressed": {
51
51
"runtime-es2015": 2289,
52
-
"main-es2015": 228770,
52
+
"main-es2015": 226519,
53
53
"polyfills-es2015": 36808,
54
54
"5-es2015": 779
55
55
}
@@ -60,7 +60,7 @@
60
60
"uncompressed": {
61
61
"bundle": "TODO(i): temporarily increase the payload size limit from 105779 - this is due to a closure issue related to ESM reexports that still needs to be investigated",
62
62
"bundle": "TODO(i): we should define ngDevMode to false in Closure, but --define only works in the global scope.",
0 commit comments