| Index: webkit/dom_storage/dom_storage_cached_area.h
|
| ===================================================================
|
| --- webkit/dom_storage/dom_storage_cached_area.h (revision 203766)
|
| +++ webkit/dom_storage/dom_storage_cached_area.h (working copy)
|
| @@ -1,92 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef WEBKIT_DOM_STORAGE_DOM_STORAGE_CACHED_AREA_H_
|
| -#define WEBKIT_DOM_STORAGE_DOM_STORAGE_CACHED_AREA_H_
|
| -
|
| -#include <map>
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "base/nullable_string16.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "webkit/storage/webkit_storage_export.h"
|
| -
|
| -namespace dom_storage {
|
| -
|
| -class DomStorageMap;
|
| -class DomStorageProxy;
|
| -
|
| -// Unlike the other classes in the dom_storage library, this one is intended
|
| -// for use in renderer processes. It maintains a complete cache of the
|
| -// origin's Map of key/value pairs for fast access. The cache is primed on
|
| -// first access and changes are written to the backend thru the |proxy|.
|
| -// Mutations originating in other processes are applied to the cache via
|
| -// the ApplyMutation method.
|
| -class WEBKIT_STORAGE_EXPORT DomStorageCachedArea :
|
| - public base::RefCounted<DomStorageCachedArea> {
|
| - public:
|
| - DomStorageCachedArea(int64 namespace_id, const GURL& origin,
|
| - DomStorageProxy* proxy);
|
| -
|
| - int64 namespace_id() const { return namespace_id_; }
|
| - const GURL& origin() const { return origin_; }
|
| -
|
| - unsigned GetLength(int connection_id);
|
| - NullableString16 GetKey(int connection_id, unsigned index);
|
| - NullableString16 GetItem(int connection_id, const base::string16& key);
|
| - bool SetItem(int connection_id,
|
| - const base::string16& key,
|
| - const base::string16& value,
|
| - const GURL& page_url);
|
| - void RemoveItem(int connection_id, const base::string16& key,
|
| - const GURL& page_url);
|
| - void Clear(int connection_id, const GURL& page_url);
|
| -
|
| - void ApplyMutation(const NullableString16& key,
|
| - const NullableString16& new_value);
|
| -
|
| - size_t MemoryBytesUsedByCache() const;
|
| -
|
| - private:
|
| - friend class DomStorageCachedAreaTest;
|
| - friend class base::RefCounted<DomStorageCachedArea>;
|
| - ~DomStorageCachedArea();
|
| -
|
| - // Primes the cache, loading all values for the area.
|
| - void Prime(int connection_id);
|
| - void PrimeIfNeeded(int connection_id) {
|
| - if (!map_.get())
|
| - Prime(connection_id);
|
| - }
|
| -
|
| - // Resets the object back to its newly constructed state.
|
| - void Reset();
|
| -
|
| - // Async completion callbacks for proxied operations.
|
| - // These are used to maintain cache consistency by preventing
|
| - // mutation events from other processes from overwriting local
|
| - // changes made after the mutation.
|
| - void OnLoadComplete(bool success);
|
| - void OnSetItemComplete(const base::string16& key, bool success);
|
| - void OnClearComplete(bool success);
|
| - void OnRemoveItemComplete(const base::string16& key, bool success);
|
| -
|
| - bool should_ignore_key_mutation(const base::string16& key) const {
|
| - return ignore_key_mutations_.find(key) != ignore_key_mutations_.end();
|
| - }
|
| -
|
| - bool ignore_all_mutations_;
|
| - std::map<base::string16, int> ignore_key_mutations_;
|
| -
|
| - int64 namespace_id_;
|
| - GURL origin_;
|
| - scoped_refptr<DomStorageMap> map_;
|
| - scoped_refptr<DomStorageProxy> proxy_;
|
| - base::WeakPtrFactory<DomStorageCachedArea> weak_factory_;
|
| -};
|
| -
|
| -} // namespace dom_storage
|
| -
|
| -#endif // WEBKIT_DOM_STORAGE_DOM_STORAGE_CACHED_AREA_H_
|
|
|