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