“use strict”; const HTMLElementImpl = require(“./HTMLElement-impl”).implementation; const LinkStyleImpl = require(“./LinkStyle-impl”).implementation; const idlUtils = require(“../generated/utils”); const domSymbolTree = require(“../helpers/internal-constants”).domSymbolTree; const NODE_TYPE = require(“../node-type”); const evaluateStylesheet = require(“../helpers/stylesheets”).evaluateStylesheet; const documentBaseURL = require(“../helpers/document-base-url”).documentBaseURL;
class HTMLStyleElementImpl extends HTMLElementImpl {
_attach() { if (this.type && this.type !== "text/css") { return; } let content = ""; for (const child of domSymbolTree.childrenIterator(this)) { if (child.nodeType === NODE_TYPE.TEXT_NODE) { content += child.nodeValue; } } evaluateStylesheet(this, content, this.sheet, documentBaseURL(this._ownerDocument)); super._attach(); }
}
idlUtils.mixin(HTMLStyleElementImpl.prototype, LinkStyleImpl.prototype);
module.exports = {
implementation: HTMLStyleElementImpl
};