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

Side by Side Diff: chrome/browser/browsing_data_cookie_helper.h

Issue 7355025: Creat BrowsingDataCookieHelper and CannedBrowsingDataCookieHelper for logging cookies at UI thread. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 9 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 unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 CHROME_BROWSER_BROWSING_DATA_COOKIE_HELPER_H_
6 #define CHROME_BROWSER_BROWSING_DATA_COOKIE_HELPER_H_
7 #pragma once
8
9 #include <string>
10
11 #include "net/base/cookie_monster.h"
12 #include "net/url_request/url_request_context_getter.h"
13
erikwright (departed) 2011/07/18 02:08:30 Include what you use (scoped_refptr, DISALLOW_COPY
ycxiao1 2011/07/19 22:12:48 Done.
14 class Profile;
15
16 // This class fetches cookie information on behalf of a caller
17 // on the UI thread.
18 class BrowsingDataCookieHelper
19 : public base::RefCountedThreadSafe<BrowsingDataCookieHelper> {
20 public:
21 explicit BrowsingDataCookieHelper(Profile* profile);
erikwright (departed) 2011/07/18 02:08:30 Add documentation for each of the methods.
ycxiao1 2011/07/19 22:12:48 Done.
22
23 virtual void StartFetching(
24 const net::CookieMonster::GetCookieListCallback& callback);
erikwright (departed) 2011/07/18 02:08:30 Don't re-use the callback type from CookieMonster.
ycxiao1 2011/07/19 22:12:48 Done.
25 virtual void CancelNotification();
26 virtual void DeleteCookie(const net::CookieMonster::CanonicalCookie& cookie);
27
28 const net::CookieList& cookie_list();
erikwright (departed) 2011/07/18 02:08:30 This accessor seems inconsistent with helpers for
ycxiao1 2011/07/19 22:12:48 Done. Moving cookie_list_ to CannedBrowsingDataCoo
29
30 protected:
31 friend class base::RefCountedThreadSafe<BrowsingDataCookieHelper>;
32 virtual ~BrowsingDataCookieHelper();
33
34 net::CookieList cookie_list_;
35 bool is_fetching_;
erikwright (departed) 2011/07/18 02:08:30 is_fetching_ may be private.
ycxiao1 2011/07/19 22:12:48 Done.
36
37 private:
38 void OnFetchComplete(const net::CookieList& cookies);
39
40 Profile* profile_;
41 scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
42 net::CookieMonster::GetCookieListCallback completion_callback_;
43
44 DISALLOW_COPY_AND_ASSIGN(BrowsingDataCookieHelper);
45 };
46
47 // This class is a thin wrapper around BrowsingDataCookieHelper that does not
48 // fetch its information from the persistent cookie store, but gets them passed
49 // as a parameter during construction.
50 class CannedBrowsingDataCookieHelper : public BrowsingDataCookieHelper {
51 public:
52 explicit CannedBrowsingDataCookieHelper(Profile* profile);
53
54 // Return a copy of the cookie helper. Only one consumer can use the
55 // StartFetching method at a time, so we need to create a copy of the helper
56 // everytime we instantiate a cookies tree model for it.
57 CannedBrowsingDataCookieHelper* Clone();
58
59 // Add those cookies which are not in the current CookieList.
60 void AddReadCookie(const GURL& url,
61 const net::CookieList& cookie_list);
62
63 // Add the cookies which can successfully parsed and no in the current
erikwright (departed) 2011/07/18 02:08:30 This comment is confusing. I guess it means, "Pars
ycxiao1 2011/07/19 22:12:48 Need more work for the consistent behaviour. One i
64 // CookieList.
65 void AddChangeCookie(const GURL& url,
66 const std::string& cookie_line,
67 const net::CookieOptions& options);
68
69 // Clears the list of canned cookies.
70 void Reset();
71
72 // True if no cookie are currently stored.
73 bool empty() const;
74
75 // BrowsingDataCookieHelper methods.
76 virtual void StartFetching(
77 const net::CookieMonster::GetCookieListCallback& callback);
78 virtual void CancelNotification() {}
erikwright (departed) 2011/07/18 02:08:30 Don't inline virtual methods. http://www.chromium
ycxiao1 2011/07/19 22:12:48 Done.
79
80 private:
81 bool HasCookie(const net::CookieMonster::CanonicalCookie& add_cookie);
82 virtual ~CannedBrowsingDataCookieHelper();
83
84 Profile* profile_;
85
86 DISALLOW_COPY_AND_ASSIGN(CannedBrowsingDataCookieHelper);
87 };
88
89 #endif // CHROME_BROWSER_BROWSING_DATA_COOKIE_HELPER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browsing_data_cookie_helper.cc » ('j') | chrome/browser/browsing_data_cookie_helper.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698