// 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.

// Specification at:
// https://w3c.github.io/magnetometer/#magnetometer-interface

[
    RuntimeEnabled=SensorExtraClasses,
    Constructor(optional SensorOptions sensorOptions),
    ConstructorCallWith=ExecutionContext,
    RaisesException=Constructor,
    MeasureAs=MagnetometerConstructor
] interface Magnetometer : Sensor {
    readonly attribute unrestricted double? x;
    readonly attribute unrestricted double? y;
    readonly attribute unrestricted double? z;
};
