diff options
Diffstat (limited to 'alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js')
-rw-r--r-- | alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js b/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js new file mode 100644 index 0000000..58d5fe1 --- /dev/null +++ b/alarm/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js @@ -0,0 +1,43 @@ +"use strict"; +const { mixin } = require("../../utils"); +const DOMTokenList = require("../generated/DOMTokenList"); +const HTMLElementImpl = require("./HTMLElement-impl").implementation; +const HTMLHyperlinkElementUtilsImpl = require("./HTMLHyperlinkElementUtils-impl").implementation; + +class HTMLAreaElementImpl extends HTMLElementImpl { + constructor(globalObject, args, privateData) { + super(globalObject, args, privateData); + + this._htmlHyperlinkElementUtilsSetup(); + + this._hasActivationBehavior = true; + } + + _activationBehavior() { + this._followAHyperlink(); + } + + get relList() { + if (this._relList === undefined) { + this._relList = DOMTokenList.createImpl(this._globalObject, [], { + element: this, + attributeLocalName: "rel" + }); + } + return this._relList; + } + + _attrModified(name, value, oldValue) { + super._attrModified(name, value, oldValue); + + if (name === "rel" && this._relList !== undefined) { + this._relList.attrModified(); + } + } +} + +mixin(HTMLAreaElementImpl.prototype, HTMLHyperlinkElementUtilsImpl.prototype); + +module.exports = { + implementation: HTMLAreaElementImpl +}; |