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

Unified Diff: chrome/browser/browsing_data/browsing_data_channel_id_helper.h

Issue 356713005: Rename ServerBoundCert => ChannelID to reflect the current name (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix cookies_list.js Created 6 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
Index: chrome/browser/browsing_data/browsing_data_channel_id_helper.h
diff --git a/chrome/browser/browsing_data/browsing_data_channel_id_helper.h b/chrome/browser/browsing_data/browsing_data_channel_id_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..ac271aa9e54b63a9e6326c29482f284d7d42a3f3
--- /dev/null
+++ b/chrome/browser/browsing_data/browsing_data_channel_id_helper.h
@@ -0,0 +1,91 @@
+// 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_BROWSING_DATA_CHANNEL_ID_HELPER_H_
+#define CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_CHANNEL_ID_HELPER_H_
+
+#include <map>
+#include <string>
+
+#include "base/callback.h"
+#include "net/ssl/channel_id_store.h"
+
+class Profile;
+
+// BrowsingDataChannelIDHelper is an interface for classes dealing with
+// aggregating and deleting browsing data stored in the channel ID store.
+// 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 BrowsingDataChannelIDHelper
+ : public base::RefCountedThreadSafe<BrowsingDataChannelIDHelper> {
+ public:
+
+ // Create a BrowsingDataChannelIDHelper instance for the given
+ // |profile|.
+ static BrowsingDataChannelIDHelper* Create(Profile* profile);
+
+ typedef base::Callback<
+ void(const net::ChannelIDStore::ChannelIDList&)>
+ FetchResultCallback;
+
+ // Starts the fetching process, which will notify its completion via
+ // callback.
+ // This must be called only in the UI thread.
+ virtual void StartFetching(const FetchResultCallback& callback) = 0;
+ // Requests a single channel ID to be deleted. This must be called in
+ // the UI thread.
+ virtual void DeleteChannelID(const std::string& server_id) = 0;
+
+ protected:
+ friend class base::RefCountedThreadSafe<BrowsingDataChannelIDHelper>;
+ virtual ~BrowsingDataChannelIDHelper() {}
+};
+
+// This class is a thin wrapper around BrowsingDataChannelIDHelper that
+// does not fetch its information from the ChannelIDService, but gets them
+// passed as a parameter during construction.
+class CannedBrowsingDataChannelIDHelper
+ : public BrowsingDataChannelIDHelper {
+ public:
+ CannedBrowsingDataChannelIDHelper();
+
+ // Return a copy of the ChannelID 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.
+ CannedBrowsingDataChannelIDHelper* Clone();
+
+ // Add an ChannelID to the set of canned channel IDs that is
+ // returned by this helper.
+ void AddChannelID(
+ const net::ChannelIDStore::ChannelID& channel_id);
+
+ // Clears the list of canned channel IDs.
+ void Reset();
+
+ // True if no ChannelIDs are currently stored.
+ bool empty() const;
+
+ // Returns the current number of channel IDs.
+ size_t GetChannelIDCount() const;
+
+ // BrowsingDataChannelIDHelper methods.
+ virtual void StartFetching(const FetchResultCallback& callback) OVERRIDE;
+ virtual void DeleteChannelID(const std::string& server_id) OVERRIDE;
+
+ private:
+ virtual ~CannedBrowsingDataChannelIDHelper();
+
+ void FinishFetching();
+
+ typedef std::map<std::string, net::ChannelIDStore::ChannelID>
+ ChannelIDMap;
+ ChannelIDMap channel_id_map_;
+
+ FetchResultCallback completion_callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(CannedBrowsingDataChannelIDHelper);
+};
+
+#endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_CHANNEL_ID_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698