DOMQuad's p1/p2/p3/p4 attributes are readonly, which means there's no setter. However, the points themselves are DOMPoint, not DOMPointReadonly, so they're mutable. This seems like a bizarre amalgam? You can mutate the quad's points, you just can't reassign them.
We should either make DOMQuad fully mutable (removing the readonly annotations), or switch them to DOMPointReadonly, rename DOMQuad to DOMQuadReadonly, and if necessary, add a fully mutable DOMQuad as well.