Re: [dom] DOMSettableTokenList needs an associated content attribute (#81)

@ArkadiuszMichalski I'm not sure what you're asking.  The whole point of `DOMSettableTokenList` when it was introduced was to be just like `DOMTokenList` but settable, in the sense that it was taking attributes that used to be string-typed and that people had set like this: `foo.ping = something` and aiming to preserve that behavior.  This was done by giving it a settable attribute named `value` and making every single consumer do `[PutForwards=value]`.

As far as Chrome's implementation goes, it does the following for places where the HTML spec uses `DOMSettableTokenList`:
 1. `HTMLElement.dropzone` -- not implemented
 2. `HTMLLinkElement.sizes` -- as your behavior above: updates the internal state of the `DOMSettableTokenList` but not the actual attribute, which is broken.
 3. `HTMLAnchorElement.ping` -- implemented correctly per sanity: setting `a.ping` or `a.ping.value` changes the value of `a.getAttribute("ping")`.
 4. `HTMIFrameElement.sandbox` -- implemented correctly per sanity.
 5. `HTMLAreaElement.ping` -- implemented correctly per sanity.
 6. `HTMLTableCellElement.headers` -- implemented as a string, not a `DOMSettableTokenList`.
 7. `HTMLOutputElement.htmlFor` -- implemented brokenly like `HTMLLinkElement.sizes`.

So my take on it is that Chrome has correct implementations of this for various places (e.g. sandbox/ping), has two broken ones (HTMLOutputElement.htmlFor` and `HTMLLinkElement.sizes`), and the spec is buggy.

---
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/81#issuecomment-149582699

Received on Tuesday, 20 October 2015 14:23:17 UTC