From 183184bab7c72dfde2801b16dc1e9d59321a4625 Mon Sep 17 00:00:00 2001 From: Hixie Date: Mon, 18 May 2015 14:11:48 -0700 Subject: [PATCH] [Effen] Move EventListenerNode up so that all the ContentNode subclasses are together in fn.dart. R=abarth@chromium.org Review URL: https://codereview.chromium.org/1128803007 --- framework/fn.dart | 100 +++++++++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/framework/fn.dart b/framework/fn.dart index e9a531af2..9378b6bf6 100644 --- a/framework/fn.dart +++ b/framework/fn.dart @@ -156,56 +156,6 @@ class ParentDataNode extends ContentNode { ParentDataNode(UINode content, this.parentData): super(content); } -/* - * RenderNodeWrappers correspond to a desired state of a RenderCSS. - * They are fully immutable, with one exception: A UINode which is a - * Component which lives within an OneChildListRenderNodeWrapper's - * children list, may be replaced with the "old" instance if it has - * become stateful. - */ -abstract class RenderNodeWrapper extends UINode { - - static final Map _nodeMap = - new HashMap(); - - static RenderNodeWrapper _getMounted(RenderCSS node) => _nodeMap[node]; - - RenderNodeWrapper({ Object key }) : super(key: key); - - RenderNodeWrapper get _emptyNode; - - RenderCSS _createNode(); - - void _sync(UINode old, RenderCSSContainer host, RenderCSS insertBefore) { - if (old == null) { - _root = _createNode(); - assert(_root != null); - host.add(_root, before: insertBefore); - old = _emptyNode; - } else { - _root = old._root; - assert(_root != null); - } - - _nodeMap[_root] = this; - _syncNode(old); - } - - void _syncNode(RenderNodeWrapper old); - - void _removeChild(UINode node) { - assert(_root is RenderCSSContainer); - _root.remove(node._root); - super._removeChild(node); - } - - void _remove() { - assert(_root != null); - _nodeMap.remove(_root); - super._remove(); - } -} - typedef GestureEventListener(sky.GestureEvent e); typedef PointerEventListener(sky.PointerEvent e); typedef EventListener(sky.Event e); @@ -323,6 +273,56 @@ class EventListenerNode extends ContentNode { } } +/* + * RenderNodeWrappers correspond to a desired state of a RenderCSS. + * They are fully immutable, with one exception: A UINode which is a + * Component which lives within an OneChildListRenderNodeWrapper's + * children list, may be replaced with the "old" instance if it has + * become stateful. + */ +abstract class RenderNodeWrapper extends UINode { + + static final Map _nodeMap = + new HashMap(); + + static RenderNodeWrapper _getMounted(RenderCSS node) => _nodeMap[node]; + + RenderNodeWrapper({ Object key }) : super(key: key); + + RenderNodeWrapper get _emptyNode; + + RenderCSS _createNode(); + + void _sync(UINode old, RenderCSSContainer host, RenderCSS insertBefore) { + if (old == null) { + _root = _createNode(); + assert(_root != null); + host.add(_root, before: insertBefore); + old = _emptyNode; + } else { + _root = old._root; + assert(_root != null); + } + + _nodeMap[_root] = this; + _syncNode(old); + } + + void _syncNode(RenderNodeWrapper old); + + void _removeChild(UINode node) { + assert(_root is RenderCSSContainer); + _root.remove(node._root); + super._removeChild(node); + } + + void _remove() { + assert(_root != null); + _nodeMap.remove(_root); + super._remove(); + } +} + final List _emptyList = new List(); abstract class OneChildListRenderNodeWrapper extends RenderNodeWrapper { -- GitLab