Add a `catch()` rejection of request for fullscreen (standard Fullscreen API implementation), as well as fullscreen exit. For now there is no actual handling, but we send a message to the internal error channel.
Motivation: The fullscreen request was causing certain tests to fail when run with newer versions of QUnit (starting in 2.5.0), which now fails tests that have unhandled Promise rejections (as we did here).
The exit case is not currently covered by tests, but works the same way (also returns a promise).
See: https://fullscreen.spec.whatwg.org/#ref-for-dom-element-requestfullscreen%E2%91%A0
Update to most recent version of QUnit, which has been published under a new name for a while now.
Accordingly, replace the old package with the new one in both dependencies, as well as update references in test HTML files.
The existing check for whether the tilesource data is XML or JSON
looks for a tag anywhere in the response content, which incorrectly
flags the content as XML in the case where it is really JSON with
XML embedded in it.
This commit corrects that problem by requiring the tag to occur as
the first non-whitespace part of the content. This is basically a
poor person's well-formedness check since well-formed XML cannot
have non-whitespace content outside of the root node.
N.B. While malformed XML content with non-whitespace characters
before the first element has been getting identified as XML, it
has not been getting parsed correctly. With current parsing
infrastructure, the content has been getting replaced by a parsing
error message. With more up-to-date parsing infrastructure, it
will throw an error. Either way we're not losing anything by failing
to identify malformed XML as XML.
Addresses issue #2325.