Implement checks in the proper order in XR::requestSession

The number and ordering of checks in XR::requestSession was not
compliant with the spec. This CL fixes that. There is still a remaining
issue around multiple immersive requests from different pages
simultaneously, but that should be done as separate work.

Link to relevant spec section:
https://immersive-web.github.io/webxr/#dom-xr-requestsession

Bug: 962991, 987073
Change-Id: I590eed311583542ceadc208047e40c3bf260e421
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764325
Commit-Queue: Will Cassella <cassew@google.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Klaus Weidner <klausw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#693455}
7 files changed