From 89b3995756587cca4ebea66daefbe69c9a58a573 Mon Sep 17 00:00:00 2001 From: Marc Laval Date: Thu, 19 Feb 2015 11:18:23 +0100 Subject: [PATCH] refactor(core): remove direct accesses to DOM Closes #713 --- .../compiler/pipeline/compile_pipeline.js | 6 ++-- .../compiler/pipeline/directive_parser.js | 6 ++-- .../pipeline/text_interpolation_parser.js | 8 ++--- .../core/compiler/pipeline/view_splitter.js | 14 ++++---- modules/angular2/src/core/compiler/view.js | 8 ++--- modules/angular2/src/facade/dom.dart | 19 +++++++++++ modules/angular2/src/facade/dom.es6 | 33 +++++++++++++++++++ modules/angular2/src/forms/directives.js | 8 ++--- .../angular2/src/test_lib/benchmark_util.js | 5 +-- modules/angular2/src/test_lib/test_lib.es6 | 4 +-- modules/angular2/src/test_lib/utils.js | 2 +- 11 files changed, 84 insertions(+), 29 deletions(-) diff --git a/modules/angular2/src/core/compiler/pipeline/compile_pipeline.js b/modules/angular2/src/core/compiler/pipeline/compile_pipeline.js index 21f5a28628..e995be1ac7 100644 --- a/modules/angular2/src/core/compiler/pipeline/compile_pipeline.js +++ b/modules/angular2/src/core/compiler/pipeline/compile_pipeline.js @@ -1,6 +1,6 @@ import {isPresent} from 'angular2/src/facade/lang'; import {List, ListWrapper} from 'angular2/src/facade/collection'; -import {Element, Node, DOM} from 'angular2/src/facade/dom'; +import {Element, DOM} from 'angular2/src/facade/dom'; import {CompileElement} from './compile_element'; import {CompileControl} from './compile_control'; import {CompileStep} from './compile_step'; @@ -25,12 +25,12 @@ export class CompilePipeline { var additionalChildren = this._control.internalProcess(results, 0, parent, current); if (current.compileChildren) { - var node = DOM.templateAwareRoot(current.element).firstChild; + var node = DOM.firstChild(DOM.templateAwareRoot(current.element)); while (isPresent(node)) { // compiliation can potentially move the node, so we need to store the // next sibling before recursing. var nextNode = DOM.nextSibling(node); - if (node.nodeType === Node.ELEMENT_NODE) { + if (DOM.isElementNode(node)) { this._process(results, current, new CompileElement(node)); } node = nextNode; diff --git a/modules/angular2/src/core/compiler/pipeline/directive_parser.js b/modules/angular2/src/core/compiler/pipeline/directive_parser.js index 5b8c464e57..0aedf261d1 100644 --- a/modules/angular2/src/core/compiler/pipeline/directive_parser.js +++ b/modules/angular2/src/core/compiler/pipeline/directive_parser.js @@ -1,6 +1,6 @@ import {isPresent, isBlank, BaseException} from 'angular2/src/facade/lang'; import {List, MapWrapper} from 'angular2/src/facade/collection'; -import {TemplateElement} from 'angular2/src/facade/dom'; +import {DOM} from 'angular2/src/facade/dom'; import {SelectorMatcher} from '../selector'; import {CssSelector} from '../selector'; @@ -44,7 +44,7 @@ export class DirectiveParser extends CompileStep { var classList = current.classList(); var cssSelector = new CssSelector(); - cssSelector.setElement(current.element.nodeName); + cssSelector.setElement(DOM.nodeName(current.element)); for (var i=0; i < classList.length; i++) { cssSelector.addClassName(classList[i]); } @@ -66,7 +66,7 @@ export class DirectiveParser extends CompileStep { } // Note: We assume that the ViewSplitter already did its work, i.e. template directive should // only be present on