|  | // Copyright 2016 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // http://mozvr.github.io/webvr-spec/webvr.html#vrdisplaycapabilities | 
|  | [ | 
|  | RuntimeEnabled=WebVR | 
|  | ] interface VRDisplayCapabilities { | 
|  | // Whether or not the VR display is capable of reporting user orientation. | 
|  | readonly attribute boolean hasOrientation; | 
|  |  | 
|  | // Whether or not the VR display is capable of reporting user position. | 
|  | // If false position may still be reported using simulated values like | 
|  | // neck modeling. | 
|  | readonly attribute boolean hasPosition; | 
|  |  | 
|  | // Whether or not the VRDisplay is separate from the device’s primary display. | 
|  | // If presenting VR content will obscure other content on the device, this | 
|  | // should be false. When false VR content should not be mirrored. | 
|  | readonly attribute boolean hasExternalDisplay; | 
|  |  | 
|  | // Whether or not the VRDisplay is capable of presenting content to an HMD or | 
|  | // similar device. Can be used to indicate “magic window” devices that are | 
|  | // capable of 6DoF tracking but for which requestPresent is not meaningful. If | 
|  | // false then calls to requestPresent should always fail, and getEyeParameters | 
|  | // should return null. | 
|  | readonly attribute boolean canPresent; | 
|  |  | 
|  | // The maximum length of the array that VRDisplay.requestPresent will accept. | 
|  | readonly attribute unsigned long maxLayers; | 
|  | }; |