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

[Global]
interface TestIntegerIndexedGlobal {
    [Custom] getter boolean (unsigned long index);
    [Custom] setter boolean (unsigned long index, Node value);
    [Custom] deleter boolean (unsigned long index);
    attribute unsigned long long length;

    [Custom=(PropertyGetter,PropertyEnumerator,PropertyQuery)] getter Node (DOMString name);
    [Custom] setter Node (DOMString name, Node value);
    [Custom] deleter boolean (DOMString name);

    void voidMethodDocument(Document document);
};
