mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Persist localStorage data across sessions when a cache path is specified (issue #139).
- Add a localStorage test to cefclient. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@140 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
56
libcef/browser_webstoragearea_impl.cc
Normal file
56
libcef/browser_webstoragearea_impl.cc
Normal file
@ -0,0 +1,56 @@
|
||||
// Copyright (c) 2010 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that can
|
||||
// be found in the LICENSE file.
|
||||
|
||||
#include "browser_webstoragearea_impl.h"
|
||||
#include "cef_context.h"
|
||||
#include "dom_storage_area.h"
|
||||
#include "dom_storage_namespace.h"
|
||||
|
||||
#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
|
||||
#include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
|
||||
#include "third_party/WebKit/WebKit/chromium/public/WebView.h"
|
||||
|
||||
using WebKit::WebFrame;
|
||||
using WebKit::WebString;
|
||||
using WebKit::WebURL;
|
||||
using WebKit::WebView;
|
||||
|
||||
BrowserWebStorageAreaImpl::BrowserWebStorageAreaImpl(
|
||||
int64 namespace_id, const WebString& origin) {
|
||||
area_ = _Context->storage_context()->GetStorageNamespace(namespace_id, true)->
|
||||
GetStorageArea(origin);
|
||||
DCHECK(area_ != NULL);
|
||||
}
|
||||
|
||||
BrowserWebStorageAreaImpl::~BrowserWebStorageAreaImpl() {
|
||||
}
|
||||
|
||||
unsigned BrowserWebStorageAreaImpl::length() {
|
||||
return area_->Length();
|
||||
}
|
||||
|
||||
WebString BrowserWebStorageAreaImpl::key(unsigned index) {
|
||||
return area_->Key(index);
|
||||
}
|
||||
|
||||
WebString BrowserWebStorageAreaImpl::getItem(const WebString& key) {
|
||||
return area_->GetItem(key);
|
||||
}
|
||||
|
||||
void BrowserWebStorageAreaImpl::setItem(
|
||||
const WebString& key, const WebString& value, const WebURL& url,
|
||||
WebStorageArea::Result& result, WebString& old_value_webkit,
|
||||
WebFrame* web_frame) {
|
||||
old_value_webkit = area_->SetItem(key, value, &result);
|
||||
}
|
||||
|
||||
void BrowserWebStorageAreaImpl::removeItem(
|
||||
const WebString& key, const WebURL& url, WebString& old_value_webkit) {
|
||||
old_value_webkit = area_->RemoveItem(key);
|
||||
}
|
||||
|
||||
void BrowserWebStorageAreaImpl::clear(
|
||||
const WebURL& url, bool& cleared_something) {
|
||||
cleared_something = area_->Clear();
|
||||
}
|
Reference in New Issue
Block a user