// Copyright 2015 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 LengthType {
    "px", "percent", "em", "ex", "ch", "rem", "vw", "vh", "vmin", "vmax", "cm", "mm", "in", "pc", "pt"
};

[
    RuntimeEnabled=CSSTypedOM
] interface LengthValue : StyleValue {
    [RaisesException, NewObject] LengthValue add(LengthValue other);
    [RaisesException, NewObject] LengthValue subtract(LengthValue other);
    [RaisesException, NewObject] LengthValue multiply(double value);
    [RaisesException, NewObject] LengthValue divide(double value);

    [RaisesException, NewObject] static LengthValue parse(DOMString cssString);
    [RaisesException, NewObject] static LengthValue fromValue(double value, LengthType type);
    [RaisesException, NewObject] static LengthValue fromDictionary(CalcDictionary dictionary);
};
