diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
| commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
| tree | e367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp | |
| parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp')
| -rw-r--r-- | Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp b/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp new file mode 100644 index 000000000..1002c2141 --- /dev/null +++ b/Source/WebKit2/WebProcess/Storage/StorageAreaImpl.cpp @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2013 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "StorageAreaImpl.h" + +#include "StorageAreaMap.h" +#include <WebCore/Document.h> +#include <WebCore/ExceptionCode.h> +#include <WebCore/Frame.h> +#include <WebCore/Page.h> +#include <WebCore/SchemeRegistry.h> +#include <WebCore/Settings.h> + +using namespace WebCore; + +namespace WebKit { + +static uint64_t generateStorageAreaID() +{ + static uint64_t storageAreaID; + return ++storageAreaID; +} + +PassRefPtr<StorageAreaImpl> StorageAreaImpl::create(PassRefPtr<StorageAreaMap> storageAreaMap) +{ + return adoptRef(new StorageAreaImpl(storageAreaMap)); +} + +StorageAreaImpl::StorageAreaImpl(PassRefPtr<StorageAreaMap> storageAreaMap) + : m_storageAreaID(generateStorageAreaID()) + , m_storageAreaMap(storageAreaMap) +{ +} + +StorageAreaImpl::~StorageAreaImpl() +{ +} + +unsigned StorageAreaImpl::length() +{ + return m_storageAreaMap->length(); +} + +String StorageAreaImpl::key(unsigned index) +{ + return m_storageAreaMap->key(index); +} + +String StorageAreaImpl::item(const String& key) +{ + return m_storageAreaMap->item(key); +} + +void StorageAreaImpl::setItem(Frame* sourceFrame, const String& key, const String& value, bool& quotaException) +{ + ASSERT(!value.isNull()); + + m_storageAreaMap->setItem(sourceFrame, this, key, value, quotaException); +} + +void StorageAreaImpl::removeItem(Frame* sourceFrame, const String& key) +{ + m_storageAreaMap->removeItem(sourceFrame, this, key); +} + +void StorageAreaImpl::clear(Frame* sourceFrame) +{ + m_storageAreaMap->clear(sourceFrame, this); +} + +bool StorageAreaImpl::contains(const String& key) +{ + return m_storageAreaMap->contains(key); +} + +bool StorageAreaImpl::canAccessStorage(Frame* frame) +{ + return frame && frame->page(); +} + +StorageType StorageAreaImpl::storageType() const +{ + return m_storageAreaMap->storageType(); +} + +size_t StorageAreaImpl::memoryBytesUsedByCache() +{ + return 0; +} + +void StorageAreaImpl::incrementAccessCount() +{ + // Storage access is handled in the UI process, so there's nothing to do here. +} + +void StorageAreaImpl::decrementAccessCount() +{ + // Storage access is handled in the UI process, so there's nothing to do here. +} + +void StorageAreaImpl::closeDatabaseIfIdle() +{ + // FIXME: Implement this. + ASSERT_NOT_REACHED(); +} + +} // namespace WebKit |
