Files
servo/components/script_bindings/webidls/HTMLTableElement.webidl
Martin Robinson b9df62427b script: Expose legacy table cellSpacing, cellPadding, and align DOM properties (#43903)
We support these setting these as attributes on the `<table>` element
itself, so I suppose it also makes sense to support their DOM APIs as
well. This trades a teensy bit of code for compatability with a some old
web content.

Testing: This causes a handful of reflection subtests to start passing.
There
isn't much testing for the behavior of the attributes, but this is
legacy
behavior so it sort of makes sense.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2026-04-03 18:09:13 +00:00

51 lines
1.7 KiB
Plaintext

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// https://html.spec.whatwg.org/multipage/#htmltableelement
[Exposed=Window]
interface HTMLTableElement : HTMLElement {
[HTMLConstructor] constructor();
[CEReactions, SetterThrows]
attribute HTMLTableCaptionElement? caption;
HTMLTableCaptionElement createCaption();
[CEReactions]
undefined deleteCaption();
[CEReactions, SetterThrows]
attribute HTMLTableSectionElement? tHead;
HTMLTableSectionElement createTHead();
[CEReactions]
undefined deleteTHead();
[CEReactions, SetterThrows]
attribute HTMLTableSectionElement? tFoot;
HTMLTableSectionElement createTFoot();
[CEReactions]
undefined deleteTFoot();
readonly attribute HTMLCollection tBodies;
HTMLTableSectionElement createTBody();
readonly attribute HTMLCollection rows;
[Throws] HTMLTableRowElement insertRow(optional long index = -1);
[CEReactions, Throws] undefined deleteRow(long index);
// also has obsolete members
};
// https://html.spec.whatwg.org/multipage/#HTMLTableElement-partial
partial interface HTMLTableElement {
[CEReactions] attribute DOMString align;
// [CEReactions] attribute DOMString border;
// [CEReactions] attribute DOMString frame;
// [CEReactions] attribute DOMString rules;
// [CEReactions] attribute DOMString summary;
[CEReactions] attribute DOMString width;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString bgColor;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString cellPadding;
[CEReactions] attribute [LegacyNullToEmptyString] DOMString cellSpacing;
};