indexed_db_context.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_PUBLIC_BROWSER_INDEXED_DB_CONTEXT_H_ 6#define CONTENT_PUBLIC_BROWSER_INDEXED_DB_CONTEXT_H_ 7 8#include <vector> 9 10#include "base/basictypes.h" 11#include "base/memory/ref_counted.h" 12#include "content/common/content_export.h" 13 14class GURL; 15 16namespace base { 17class Time; 18} 19 20namespace content { 21 22// Represents the per-BrowserContext IndexedDB data. 23// Call these methods only on the WebKit thread. 24class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> { 25 public: 26 // Methods used in response to QuotaManager requests. 27 virtual std::vector<GURL> GetAllOrigins() = 0; 28 virtual int64 GetOriginDiskUsage(const GURL& origin_url) = 0; 29 virtual base::Time GetOriginLastModified(const GURL& origin_url) = 0; 30 31 // Deletes all indexed db files for the given origin. 32 virtual void DeleteForOrigin(const GURL& origin_url) = 0; 33 34 // Get the file name of the local storage file for the given origin. 35 virtual base::FilePath GetFilePathForTesting( 36 const string16& origin_id) const = 0; 37 38 protected: 39 friend class base::RefCountedThreadSafe<IndexedDBContext>; 40 virtual ~IndexedDBContext() {} 41}; 42 43} // namespace content 44 45#endif // CONTENT_PUBLIC_BROWSER_INDEXED_DB_CONTEXT_H_ 46