// 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
[
    OriginTrialEnabled=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;
};
