Refactoring based on the spec PR.
Pull request: https://github.com/WebKit/WebKit/pull/7926
Committed 258231@main (d26eba5eb7ab): <https://commits.webkit.org/258231@main> Reviewed commits have been landed. Closing PR #7926 and removing active labels.
<rdar://problem/103622363>