OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 part of fn; | 5 part of fn; |
6 | 6 |
7 List<Component> _dirtyComponents = new List<Component>(); | 7 List<Component> _dirtyComponents = new List<Component>(); |
8 bool _renderScheduled = false; | 8 bool _renderScheduled = false; |
9 | 9 |
10 void _renderDirtyComponents() { | 10 void _renderDirtyComponents() { |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 } | 96 } |
97 | 97 |
98 var oldRendered = _rendered; | 98 var oldRendered = _rendered; |
99 int lastOrder = _currentOrder; | 99 int lastOrder = _currentOrder; |
100 _currentOrder = _order; | 100 _currentOrder = _order; |
101 _currentlyRendering = this; | 101 _currentlyRendering = this; |
102 _rendered = render(); | 102 _rendered = render(); |
103 _currentlyRendering = null; | 103 _currentlyRendering = null; |
104 _currentOrder = lastOrder; | 104 _currentOrder = lastOrder; |
105 | 105 |
| 106 _rendered.events.addAll(events); |
| 107 |
106 _dirty = false; | 108 _dirty = false; |
107 | 109 |
108 // TODO(rafaelw): This prevents components from returning different node | 110 // TODO(rafaelw): This prevents components from returning different node |
109 // types as their root node at different times. Consider relaxing. | 111 // types as their root node at different times. Consider relaxing. |
110 assert(oldRendered == null || | 112 assert(oldRendered == null || |
111 _rendered.runtimeType == oldRendered.runtimeType); | 113 _rendered.runtimeType == oldRendered.runtimeType); |
112 | 114 |
113 if (_rendered._sync(oldRendered, host, insertBefore)) { | 115 if (_rendered._sync(oldRendered, host, insertBefore)) { |
114 _rendered = oldRendered; // retain stateful component | 116 _rendered = oldRendered; // retain stateful component |
115 } | 117 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 | 155 |
154 new Future.microtask(() { | 156 new Future.microtask(() { |
155 Stopwatch sw = new Stopwatch()..start(); | 157 Stopwatch sw = new Stopwatch()..start(); |
156 _sync(null, _host, null); | 158 _sync(null, _host, null); |
157 assert(_root is sky.Node); | 159 assert(_root is sky.Node); |
158 sw.stop(); | 160 sw.stop(); |
159 print("Initial render: ${sw.elapsedMicroseconds} microseconds"); | 161 print("Initial render: ${sw.elapsedMicroseconds} microseconds"); |
160 }); | 162 }); |
161 } | 163 } |
162 } | 164 } |
OLD | NEW |