LibWeb: Implement the hspace and vspace attributes

These properties reflect their respective content attributes.
This commit is contained in:
Tim Ledbetter 2024-05-21 12:12:54 +01:00 committed by Andreas Kling
parent 1bc0fcca8d
commit 9f9aa62128
Notes: sideshowbarker 2024-07-17 00:57:24 +09:00
5 changed files with 47 additions and 6 deletions

View File

@ -0,0 +1,18 @@
img.hspace after setting to -1: 0
img.hspace after setting to 20: 20
img.hspace after setting to 2147483648: 0
img.vspace after setting to -1: 0
img.vspace after setting to 20: 20
img.vspace after setting to 2147483648: 0
marquee.hspace after setting to -1: 0
marquee.hspace after setting to 20: 20
marquee.hspace after setting to 2147483648: 0
marquee.vspace after setting to -1: 0
marquee.vspace after setting to 20: 20
marquee.vspace after setting to 2147483648: 0
object.hspace after setting to -1: 0
object.hspace after setting to 20: 20
object.hspace after setting to 2147483648: 0
object.vspace after setting to -1: 0
object.vspace after setting to 20: 20
object.vspace after setting to 2147483648: 0

View File

@ -0,0 +1,23 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
function setPropertyAndDumpValue(tagName, property, value) {
const element = document.createElement(tagName);
element[property] = value;
println(`${tagName}.${property} after setting to ${value}: ${element[property]}`);
}
function testIntegerReflectedProperty(tagName, property) {
setPropertyAndDumpValue(tagName, property, -1);
setPropertyAndDumpValue(tagName, property, 20);
setPropertyAndDumpValue(tagName, property, 2147483648);
}
test(() => {
for (const tagName of ["img", "marquee", "object"]) {
for (const property of ["hspace", "vspace"]) {
testIntegerReflectedProperty(tagName, property);
}
}
});
</script>

View File

@ -30,8 +30,8 @@ interface HTMLImageElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString name;
[FIXME, CEReactions] attribute USVString lowsrc;
[CEReactions, Reflect] attribute DOMString align;
[FIXME, CEReactions] attribute unsigned long hspace;
[FIXME, CEReactions] attribute unsigned long vspace;
[CEReactions, Reflect] attribute unsigned long hspace;
[CEReactions, Reflect] attribute unsigned long vspace;
[FIXME, CEReactions] attribute USVString longDesc;
[CEReactions, LegacyNullToEmptyString, Reflect] attribute DOMString border;

View File

@ -10,12 +10,12 @@ interface HTMLMarqueeElement : HTMLElement {
[CEReactions, Reflect=bgcolor] attribute DOMString bgColor;
[CEReactions, Reflect] attribute DOMString direction;
[CEReactions, Reflect] attribute DOMString height;
[FIXME, CEReactions] attribute unsigned long hspace;
[CEReactions, Reflect] attribute unsigned long hspace;
[FIXME, CEReactions] attribute long loop;
[FIXME, CEReactions] attribute unsigned long scrollAmount;
[FIXME, CEReactions] attribute unsigned long scrollDelay;
[FIXME, CEReactions] attribute boolean trueSpeed;
[FIXME, CEReactions] attribute unsigned long vspace;
[CEReactions, Reflect] attribute unsigned long vspace;
[CEReactions, Reflect] attribute DOMString width;
[FIXME] undefined start();

View File

@ -29,9 +29,9 @@ interface HTMLObjectElement : HTMLElement {
[CEReactions, Reflect] attribute DOMString archive;
[CEReactions, Reflect] attribute DOMString code;
[CEReactions, Reflect] attribute boolean declare;
[FIXME, CEReactions] attribute unsigned long hspace;
[CEReactions, Reflect] attribute unsigned long hspace;
[CEReactions, Reflect] attribute DOMString standby;
[FIXME, CEReactions] attribute unsigned long vspace;
[CEReactions, Reflect] attribute unsigned long vspace;
[FIXME, CEReactions] attribute DOMString codeBase;
[CEReactions, Reflect=codetype] attribute DOMString codeType;
[CEReactions, Reflect=usemap] attribute DOMString useMap;