#ifndef CONTENT_PUBLIC_BROWSER_INDEXED_DB_CONTEXT_H_
#define CONTENT_PUBLIC_BROWSER_INDEXED_DB_CONTEXT_H_
#include <vector>
#include "base/basictypes.h"
#include "base/files/file_path.h"
#include "base/memory/ref_counted.h"
#include "content/common/content_export.h"
#include "content/public/browser/indexed_db_info.h"
namespace base {
class SequencedTaskRunner;
class TaskRunner;
}
namespace content {
class IndexedDBContext : public base::RefCountedThreadSafe<IndexedDBContext> {
 public:
  
  virtual base::TaskRunner* TaskRunner() const = 0;
  
  virtual std::vector<IndexedDBInfo> GetAllOriginsInfo() = 0;
  virtual int64 GetOriginDiskUsage(const GURL& origin_url) = 0;
  
  virtual void DeleteForOrigin(const GURL& origin_url) = 0;
  
  virtual base::FilePath GetFilePathForTesting(
      const std::string& origin_id) const = 0;
  
  virtual void SetTaskRunnerForTesting(
      base::SequencedTaskRunner* task_runner) = 0;
 protected:
  friend class base::RefCountedThreadSafe<IndexedDBContext>;
  virtual ~IndexedDBContext() {}
};
}  
#endif