Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: sky/examples/fn/lib/component.dart

Issue 975863003: Don't hardcode the list of events types in fn (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: More careful event syncing Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | sky/examples/fn/lib/event.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | sky/examples/fn/lib/event.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698