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

Side by Side Diff: sky/framework/fn.dart

Issue 986753002: Add back didMount (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: 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 | no next file » | 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 library fn; 5 library fn;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:collection'; 8 import 'dart:collection';
9 import 'dart:sky' as sky; 9 import 'dart:sky' as sky;
10 import 'reflect.dart' as reflect; 10 import 'reflect.dart' as reflect;
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 final int _order; 543 final int _order;
544 static int _currentOrder = 0; 544 static int _currentOrder = 0;
545 bool _stateful; 545 bool _stateful;
546 static Component _currentlyRendering; 546 static Component _currentlyRendering;
547 547
548 Component({ Object key, bool stateful }) 548 Component({ Object key, bool stateful })
549 : _stateful = stateful != null ? stateful : false, 549 : _stateful = stateful != null ? stateful : false,
550 _order = _currentOrder + 1, 550 _order = _currentOrder + 1,
551 super(key:key); 551 super(key:key);
552 552
553 void didMount() {}
553 void didUnmount() {} 554 void didUnmount() {}
554 555
555 void _remove() { 556 void _remove() {
556 assert(_rendered != null); 557 assert(_rendered != null);
557 assert(_root != null); 558 assert(_root != null);
558 _rendered._remove(); 559 _rendered._remove();
559 _rendered = null; 560 _rendered = null;
560 _root = null; 561 _root = null;
561 _removed = true; 562 _removed = true;
562 didUnmount(); 563 didUnmount();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 return false; 596 return false;
596 } 597 }
597 598
598 void _renderInternal(sky.Node host, sky.Node insertBefore) { 599 void _renderInternal(sky.Node host, sky.Node insertBefore) {
599 if (!_dirty) { 600 if (!_dirty) {
600 assert(_rendered != null); 601 assert(_rendered != null);
601 return; 602 return;
602 } 603 }
603 604
604 var oldRendered = _rendered; 605 var oldRendered = _rendered;
606 bool mounting = oldRendered == null;
605 int lastOrder = _currentOrder; 607 int lastOrder = _currentOrder;
606 _currentOrder = _order; 608 _currentOrder = _order;
607 _currentlyRendering = this; 609 _currentlyRendering = this;
608 _rendered = render(); 610 _rendered = render();
609 _currentlyRendering = null; 611 _currentlyRendering = null;
610 _currentOrder = lastOrder; 612 _currentOrder = lastOrder;
611 613
612 _rendered.events.addAll(events); 614 _rendered.events.addAll(events);
613 615
614 _dirty = false; 616 _dirty = false;
615 617
616 if (oldRendered != null && _rendered.runtimeType != oldRendered.runtimeType) 618 if (oldRendered != null && _rendered.runtimeType != oldRendered.runtimeType)
617 oldRendered = null; 619 oldRendered = null;
618 620
619 if (_rendered._sync(oldRendered, host, insertBefore)) { 621 if (_rendered._sync(oldRendered, host, insertBefore)) {
620 _rendered = oldRendered; // retain stateful component 622 _rendered = oldRendered; // retain stateful component
621 } 623 }
622 _root = _rendered._root; 624 _root = _rendered._root;
623 assert(_rendered._root is sky.Node); 625 assert(_rendered._root is sky.Node);
626
627 if (mounting) {
628 didMount();
629 }
624 } 630 }
625 631
626 void _renderIfDirty() { 632 void _renderIfDirty() {
627 assert(_rendered != null); 633 assert(_rendered != null);
628 assert(!_removed); 634 assert(!_removed);
629 635
630 var rendered = _rendered; 636 var rendered = _rendered;
631 while (rendered is Component) { 637 while (rendered is Component) {
632 rendered = rendered._rendered; 638 rendered = rendered._rendered;
633 } 639 }
(...skipping 26 matching lines...) Expand all
660 666
661 _sync(null, _host, null); 667 _sync(null, _host, null);
662 assert(_root is sky.Node); 668 assert(_root is sky.Node);
663 669
664 sw.stop(); 670 sw.stop();
665 if (_shouldLogRenderDuration) 671 if (_shouldLogRenderDuration)
666 print("Initial render: ${sw.elapsedMicroseconds} microseconds"); 672 print("Initial render: ${sw.elapsedMicroseconds} microseconds");
667 }); 673 });
668 } 674 }
669 } 675 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698