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

enum ConnectionType {
    "cellular",
    "bluetooth",
    "ethernet",
    "wifi",
    "wimax",
    "other",
    "none",
    "unknown"
};

typedef unrestricted double Megabit;

[
    ActiveScriptWrappable,
    DependentLifetime,
    Exposed=(Window,Worker),
    RuntimeEnabled=NetworkInformation,
] interface NetworkInformation : EventTarget {
    [MeasureAs=NetInfoType] readonly attribute ConnectionType type;
    [RuntimeEnabled=NetInfoDownlinkMax, MeasureAs=NetInfoDownlinkMax] readonly attribute Megabit downlinkMax;
    [RuntimeEnabled=NetInfoDownlinkMax, MeasureAs=NetInfoOnChange] attribute EventHandler onchange;
    [MeasureAs=NetInfoOnTypeChange] attribute EventHandler ontypechange;
};

