refactor(core): remove misc dom utils from DomAdapters (#32278)

PR Close #32278
This commit is contained in:
Kara Erickson
2019-08-22 19:48:08 -07:00
committed by atscott
parent 28c8b03797
commit cf4b944865
17 changed files with 59 additions and 56 deletions

View File

@ -142,13 +142,6 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
nodeName(node: Node): string { return node.nodeName; }
nodeValue(node: Node): string|null { return node.nodeValue; }
type(node: HTMLInputElement): string { return node.type; }
content(node: Node): Node {
if (this.hasProperty(node, 'content')) {
return (<any>node).content;
} else {
return node;
}
}
firstChild(el: Node): Node|null { return el.firstChild; }
nextSibling(el: Node): Node|null { return el.nextSibling; }
parentElement(el: Node): Node|null { return el.parentNode; }
@ -222,11 +215,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
const value = this.getStyle(element, styleName) || '';
return styleValue ? value == styleValue : value.length > 0;
}
tagName(element: any): string { return element.tagName; }
hasAttribute(element: Element, attribute: string): boolean {
return element.hasAttribute(attribute);
}
getAttribute(element: Element, attribute: string): string|null {
return element.getAttribute(attribute);
}
@ -238,7 +227,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
removeAttributeNS(element: Element, ns: string, name: string) {
element.removeAttributeNS(ns, name);
}
templateAwareRoot(el: Node): any { return this.isTemplateElement(el) ? this.content(el) : el; }
createHtmlDocument(): HTMLDocument {
return document.implementation.createHTMLDocument('fakeTitle');
}
@ -254,10 +243,7 @@ export class BrowserDomAdapter extends GenericBrowserDomAdapter {
return false;
}
isTemplateElement(el: Node): boolean {
return this.isElementNode(el) && el.nodeName === 'TEMPLATE';
}
isTextNode(node: Node): boolean { return node.nodeType === Node.TEXT_NODE; }
isElementNode(node: Node): boolean { return node.nodeType === Node.ELEMENT_NODE; }
isShadowRoot(node: any): boolean { return node instanceof DocumentFragment; }

View File

@ -56,7 +56,6 @@ export abstract class DomAdapter {
abstract nodeName(node: any): string;
abstract nodeValue(node: any): string|null;
abstract type(node: any): string;
abstract content(node: any): any;
abstract firstChild(el: any): Node|null;
abstract nextSibling(el: any): Node|null;
abstract parentElement(el: any): Node|null;
@ -89,21 +88,24 @@ export abstract class DomAdapter {
abstract removeStyle(element: any, styleName: string): any;
abstract getStyle(element: any, styleName: string): string;
abstract hasStyle(element: any, styleName: string, styleValue?: string): boolean;
abstract tagName(element: any): string;
abstract hasAttribute(element: any, attribute: string): boolean;
// Used by Meta
abstract getAttribute(element: any, attribute: string): string|null;
// Used by platform-server
abstract setAttribute(element: any, name: string, value: string): any;
abstract setAttributeNS(element: any, ns: string, name: string, value: string): any;
abstract removeAttribute(element: any, attribute: string): any;
abstract removeAttributeNS(element: any, ns: string, attribute: string): any;
abstract templateAwareRoot(el: any): any;
abstract createHtmlDocument(): HTMLDocument;
abstract getDefaultDocument(): Document;
// Used by Title
abstract getTitle(doc: Document): string;
abstract setTitle(doc: Document, newTitle: string): any;
// Used by By.css
abstract elementMatches(n: any, selector: string): boolean;
abstract isTemplateElement(el: any): boolean;
abstract isTextNode(node: any): boolean;
abstract isElementNode(node: any): boolean;
// Used by Testability