You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
"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(args, privateData) {
|
|
super(args, privateData);
|
|
|
|
this._htmlHyperlinkElementUtilsSetup();
|
|
|
|
this._hasActivationBehavior = true;
|
|
}
|
|
|
|
_activationBehavior() {
|
|
this._followAHyperlink();
|
|
}
|
|
|
|
get relList() {
|
|
if (this._relList === undefined) {
|
|
this._relList = DOMTokenList.createImpl([], {
|
|
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
|
|
};
|
|
|