1e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block/*
2e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * Copyright (C) 2010 Google Inc. All rights reserved.
3e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *
4e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * Redistribution and use in source and binary forms, with or without
5e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * modification, are permitted provided that the following conditions
6e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * are met:
7e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *
8e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * 1.  Redistributions of source code must retain the above copyright
9e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *     notice, this list of conditions and the following disclaimer.
10e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * 2.  Redistributions in binary form must reproduce the above copyright
11e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *     notice, this list of conditions and the following disclaimer in the
12e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *     documentation and/or other materials provided with the distribution.
13e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block *
14e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
15e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block */
25e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
26e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#include "config.h"
27e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#include "IDBKeyPathBackendImpl.h"
28e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
29e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#if ENABLE(INDEXED_DATABASE)
30e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
3181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "IDBKey.h"
32ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch#include "PlatformBridge.h"
3381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch#include "SerializedScriptValue.h"
34e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
35e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blocknamespace WebCore {
36e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
37e8b154fd68f9b33be40a3590e58347f353835f5cSteve Blockvoid IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue>, 0>& values,  const String& keyPath, Vector<RefPtr<IDBKey>, 0>& keys)
38e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block{
39ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddbBen Murdoch    PlatformBridge::createIDBKeysFromSerializedValuesAndKeyPath(values, keyPath, keys);
40e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block}
41e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
4281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochPassRefPtr<SerializedScriptValue> IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey> key, PassRefPtr<SerializedScriptValue> value, const String& keyPath)
4381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
4481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return PlatformBridge::injectIDBKeyIntoSerializedValue(key, value, keyPath);
4581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
4681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
47e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block} // namespace WebCore
48e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block
49e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block#endif
50