Index: chrome/browser/browsing_data_indexed_db_helper.h |
diff --git a/chrome/browser/browsing_data_indexed_db_helper.h b/chrome/browser/browsing_data_indexed_db_helper.h |
deleted file mode 100644 |
index f3c1fdccd8bf6484eaeaa52311c271d1a17746bd..0000000000000000000000000000000000000000 |
--- a/chrome/browser/browsing_data_indexed_db_helper.h |
+++ /dev/null |
@@ -1,145 +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 CHROME_BROWSER_BROWSING_DATA_INDEXED_DB_HELPER_H_ |
-#define CHROME_BROWSER_BROWSING_DATA_INDEXED_DB_HELPER_H_ |
- |
-#include <list> |
-#include <set> |
-#include <string> |
- |
-#include "base/callback.h" |
-#include "base/compiler_specific.h" |
-#include "base/file_path.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/synchronization/lock.h" |
-#include "base/time.h" |
-#include "googleurl/src/gurl.h" |
- |
-class Profile; |
- |
-// BrowsingDataIndexedDBHelper is an interface for classes dealing with |
-// aggregating and deleting browsing data stored in indexed databases. A |
-// client of this class need to call StartFetching from the UI thread to |
-// initiate the flow, and it'll be notified by the callback in its UI thread at |
-// some later point. |
-class BrowsingDataIndexedDBHelper |
- : public base::RefCountedThreadSafe<BrowsingDataIndexedDBHelper> { |
- public: |
- // Contains detailed information about an indexed database. |
- struct IndexedDBInfo { |
- IndexedDBInfo( |
- const GURL& origin, |
- int64 size, |
- base::Time last_modified); |
- ~IndexedDBInfo(); |
- |
- GURL origin; |
- int64 size; |
- base::Time last_modified; |
- }; |
- |
- // Create a BrowsingDataIndexedDBHelper instance for the indexed databases |
- // stored in |profile|'s user data directory. |
- static BrowsingDataIndexedDBHelper* Create(Profile* profile); |
- |
- // Starts the fetching process, which will notify its completion via |
- // callback. |
- // This must be called only in the UI thread. |
- virtual void StartFetching( |
- const base::Callback<void(const std::list<IndexedDBInfo>&)>& |
- callback) = 0; |
- // Requests a single indexed database to be deleted in the WEBKIT thread. |
- virtual void DeleteIndexedDB(const GURL& origin) = 0; |
- |
- protected: |
- friend class base::RefCountedThreadSafe<BrowsingDataIndexedDBHelper>; |
- virtual ~BrowsingDataIndexedDBHelper() {} |
-}; |
- |
-// This class is an implementation of BrowsingDataIndexedDBHelper that does |
-// not fetch its information from the indexed database tracker, but gets them |
-// passed as a parameter. |
-class CannedBrowsingDataIndexedDBHelper |
- : public BrowsingDataIndexedDBHelper { |
- public: |
- // Contains information about an indexed database. |
- struct PendingIndexedDBInfo { |
- PendingIndexedDBInfo(const GURL& origin, const string16& name); |
- ~PendingIndexedDBInfo(); |
- |
- bool operator<(const PendingIndexedDBInfo& other) const; |
- |
- GURL origin; |
- string16 name; |
- }; |
- |
- CannedBrowsingDataIndexedDBHelper(); |
- |
- // Return a copy of the IndexedDB helper. Only one consumer can use the |
- // StartFetching method at a time, so we need to create a copy of the helper |
- // every time we instantiate a cookies tree model for it. |
- CannedBrowsingDataIndexedDBHelper* Clone(); |
- |
- // Add a indexed database to the set of canned indexed databases that is |
- // returned by this helper. |
- void AddIndexedDB(const GURL& origin, |
- const string16& name); |
- |
- // Clear the list of canned indexed databases. |
- void Reset(); |
- |
- // True if no indexed databases are currently stored. |
- bool empty() const; |
- |
- // Returns the number of currently stored indexed databases. |
- size_t GetIndexedDBCount() const; |
- |
- // Returns the current list of indexed data bases. |
- const std::set<CannedBrowsingDataIndexedDBHelper::PendingIndexedDBInfo>& |
- GetIndexedDBInfo() const; |
- |
- // BrowsingDataIndexedDBHelper methods. |
- virtual void StartFetching( |
- const base::Callback<void(const std::list<IndexedDBInfo>&)>& |
- callback) OVERRIDE; |
- |
- virtual void DeleteIndexedDB(const GURL& origin) OVERRIDE {} |
- |
- private: |
- virtual ~CannedBrowsingDataIndexedDBHelper(); |
- |
- // Convert the pending indexed db info to indexed db info objects. |
- void ConvertPendingInfoInWebKitThread(); |
- |
- void NotifyInUIThread(); |
- |
- // Lock to protect access to pending_indexed_db_info_; |
- mutable base::Lock lock_; |
- |
- // Access to |pending_indexed_db_info_| is protected by |lock_| since it can |
- // be accessed on the UI and on the WEBKIT thread. |
- std::set<PendingIndexedDBInfo> pending_indexed_db_info_; |
- |
- // Access to |indexed_db_info_| is triggered indirectly via the UI thread and |
- // guarded by |is_fetching_|. This means |indexed_db_info_| is only accessed |
- // while |is_fetching_| is true. The flag |is_fetching_| is only accessed on |
- // the UI thread. |
- // In the context of this class |indexed_db_info_| is only accessed on the UI |
- // thread. |
- std::list<IndexedDBInfo> indexed_db_info_; |
- |
- // This only mutates on the UI thread. |
- base::Callback<void(const std::list<IndexedDBInfo>&)> completion_callback_; |
- |
- // Indicates whether or not we're currently fetching information: |
- // it's true when StartFetching() is called in the UI thread, and it's reset |
- // after we notified the callback in the UI thread. |
- // This only mutates on the UI thread. |
- bool is_fetching_; |
- |
- DISALLOW_COPY_AND_ASSIGN(CannedBrowsingDataIndexedDBHelper); |
-}; |
- |
-#endif // CHROME_BROWSER_BROWSING_DATA_INDEXED_DB_HELPER_H_ |