Per the spec, XRDOMOverlayState should be a dictionary, but in Chromium it's an interface.
Because XRDOMOverlayState is the type of an attribute on an interface, it doesn't really work to use a dictionary, since dictionaries are passed by value, and one would end up returning a new object each time, such that xrSession.domOverlay == xrSession.domOverlay would not hold.
Web IDL says simply:
Dictionaries must not be used as the type of an attribute or constant.
This doesn't make much of a difference, but will mean that there will be an window.XRDOMOverlayState interface object. (There is in Chromium, but shouldn't be per spec, which is how I noticed.)
Per the spec,
XRDOMOverlayStateshould be a dictionary, but in Chromium it's an interface.Because
XRDOMOverlayStateis the type of an attribute on an interface, it doesn't really work to use a dictionary, since dictionaries are passed by value, and one would end up returning a new object each time, such thatxrSession.domOverlay == xrSession.domOverlaywould not hold.Web IDL says simply:
This doesn't make much of a difference, but will mean that there will be an
window.XRDOMOverlayStateinterface object. (There is in Chromium, but shouldn't be per spec, which is how I noticed.)