1545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch/*
2545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Copyright (C) 2010 Google Inc. All rights reserved.
3545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *
4545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * Redistribution and use in source and binary forms, with or without
5545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * modification, are permitted provided that the following conditions
6545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * are met:
7545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *
8545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 1.  Redistributions of source code must retain the above copyright
9545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *     notice, this list of conditions and the following disclaimer.
10545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * 2.  Redistributions in binary form must reproduce the above copyright
11545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *     notice, this list of conditions and the following disclaimer in the
12545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *     documentation and/or other materials provided with the distribution.
13545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch *
14545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
15545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch */
25545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
26545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdochmodule storage {
27545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
28545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    interface [
29545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch        Conditional=INDEXED_DATABASE
30545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    ] IDBKeyRange {
314576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        readonly attribute IDBKey lower;
324576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        readonly attribute IDBKey upper;
334576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        readonly attribute boolean lowerOpen;
344576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        readonly attribute boolean upperOpen;
350617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen
365abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick        // FIXME: Make ClassMethod work for JSC as well.
375abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick        [ClassMethod] IDBKeyRange only(in IDBKey value);
384576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        [ClassMethod] IDBKeyRange lowerBound(in IDBKey bound, in [Optional] boolean open);
394576aa36e9a9671459299c7963ac95aa94beaea9Shimeng (Simon) Wang        [ClassMethod] IDBKeyRange upperBound(in IDBKey bound, in [Optional] boolean open);
4081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        [ClassMethod] IDBKeyRange bound(in IDBKey lower, in IDBKey upper, in [Optional] boolean lowerOpen, in [Optional] boolean upperOpen);
41545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch    };
42545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch
43545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch}
44