Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2006)

Unified Diff: chrome/browser/browsing_data_indexed_db_helper.h

Issue 10805015: Move browsing_data_helper files into a separate directory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix chrome_frame build Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/browsing_data_helper_unittest.cc ('k') | chrome/browser/browsing_data_indexed_db_helper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chrome/browser/browsing_data_helper_unittest.cc ('k') | chrome/browser/browsing_data_indexed_db_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698