chromium/third_party/blink/renderer/core/testing/union_types_test.idl

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

interface UnionTypesTest {
    attribute (double or DOMString or sequence<DOMString>) doubleOrStringOrStringSequenceAttribute;

    DOMString doubleOrStringArg((double or DOMString) arg);
    DOMString doubleOrInternalEnumArg((double or InternalEnum) arg);

    [ImplementedAs=doubleOrStringArg] DOMString doubleOrStringDefaultDoubleArg(optional (double or DOMString) arg = 3.14);
    [ImplementedAs=doubleOrStringArg] DOMString doubleOrStringDefaultStringArg(optional (double or DOMString) arg = "foo");
    [ImplementedAs=doubleOrStringArg] DOMString doubleOrStringDefaultNullArg(optional (double or DOMString)? arg = null);

    DOMString doubleOrStringSequenceArg(sequence<(double or DOMString)> arg);

    DOMString nodeListOrElementArg((NodeList or Element) arg);
    DOMString nodeListOrElementOrNullArg((NodeList or Element)? arg);

    DOMString doubleOrStringOrStringSequenceArg((double or DOMString or sequence<DOMString>) arg);
    [ImplementedAs=doubleOrStringOrStringSequenceArg] DOMString doubleOrStringOrStringSequenceNullableArg((double or DOMString or sequence<DOMString>)? arg);
};