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

Side by Side Diff: chrome/browser/extensions/api/cookies/cookies_api.h

Issue 252653002: Rename (Chrome)SyncExtensionFunction::RunImpl to RunSync so that the RunImpl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix bookmarks Created 6 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Defines the Chrome Extensions Cookies API functions for accessing internet 5 // Defines the Chrome Extensions Cookies API functions for accessing internet
6 // cookies, as specified in the extension API JSON. 6 // cookies, as specified in the extension API JSON.
7 7
8 #ifndef CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_ 8 #ifndef CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_
9 #define CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_ 9 #define CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_
10 10
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 GURL& cookie_domain); 53 GURL& cookie_domain);
54 54
55 // Used for tracking registrations to CookieMonster notifications. 55 // Used for tracking registrations to CookieMonster notifications.
56 content::NotificationRegistrar registrar_; 56 content::NotificationRegistrar registrar_;
57 57
58 Profile* profile_; 58 Profile* profile_;
59 59
60 DISALLOW_COPY_AND_ASSIGN(CookiesEventRouter); 60 DISALLOW_COPY_AND_ASSIGN(CookiesEventRouter);
61 }; 61 };
62 62
63 // Serves as a base class for all cookies API functions, and defines some
64 // common functionality for parsing cookies API function arguments.
65 // Note that all of the functions in this file derive from
66 // AsyncExtensionFunction, and are not threadsafe, so they should not be
67 // concurrently accessed from multiple threads. They modify |result_| and other
68 // member variables directly.
69 // See extensions/browser/extension_function.h for more information.
70 class CookiesFunction : public ChromeAsyncExtensionFunction {
71 protected:
72 virtual ~CookiesFunction() {}
73
74 // Constructs a GURL from the given url string. Returns false and assigns the
75 // internal error_ value if the URL is invalid. If |check_host_permissions| is
76 // true, the URL is also checked against the extension's host permissions, and
77 // if there is no permission for the URL, this function returns false.
78 bool ParseUrl(const std::string& url_string, GURL* url,
79 bool check_host_permissions);
80
81 // Gets the store identified by |store_id| and returns it in |context|.
82 // If |store_id| contains an empty string, retrieves the current execution
83 // context's store. In this case, |store_id| is populated with the found
84 // store, and |context| can be NULL if the caller only wants |store_id|.
85 bool ParseStoreContext(std::string* store_id,
86 net::URLRequestContextGetter** context);
87 };
88
89 // Implements the cookies.get() extension function. 63 // Implements the cookies.get() extension function.
90 class CookiesGetFunction : public CookiesFunction { 64 class CookiesGetFunction : public ChromeAsyncExtensionFunction {
91 public: 65 public:
92 DECLARE_EXTENSION_FUNCTION("cookies.get", COOKIES_GET) 66 DECLARE_EXTENSION_FUNCTION("cookies.get", COOKIES_GET)
93 67
94 CookiesGetFunction(); 68 CookiesGetFunction();
95 69
96 protected: 70 protected:
97 virtual ~CookiesGetFunction(); 71 virtual ~CookiesGetFunction();
98 72
99 // ExtensionFunction: 73 // ExtensionFunction:
100 virtual bool RunImpl() OVERRIDE; 74 virtual bool RunImpl() OVERRIDE;
101 75
102 private: 76 private:
103 void GetCookieOnIOThread(); 77 void GetCookieOnIOThread();
104 void RespondOnUIThread(); 78 void RespondOnUIThread();
105 void GetCookieCallback(const net::CookieList& cookie_list); 79 void GetCookieCallback(const net::CookieList& cookie_list);
106 80
107 GURL url_; 81 GURL url_;
108 scoped_refptr<net::URLRequestContextGetter> store_browser_context_; 82 scoped_refptr<net::URLRequestContextGetter> store_browser_context_;
109 scoped_ptr<extensions::api::cookies::Get::Params> parsed_args_; 83 scoped_ptr<extensions::api::cookies::Get::Params> parsed_args_;
110 }; 84 };
111 85
112 // Implements the cookies.getAll() extension function. 86 // Implements the cookies.getAll() extension function.
113 class CookiesGetAllFunction : public CookiesFunction { 87 class CookiesGetAllFunction : public ChromeAsyncExtensionFunction {
114 public: 88 public:
115 DECLARE_EXTENSION_FUNCTION("cookies.getAll", COOKIES_GETALL) 89 DECLARE_EXTENSION_FUNCTION("cookies.getAll", COOKIES_GETALL)
116 90
117 CookiesGetAllFunction(); 91 CookiesGetAllFunction();
118 92
119 protected: 93 protected:
120 virtual ~CookiesGetAllFunction(); 94 virtual ~CookiesGetAllFunction();
121 95
122 // ExtensionFunction: 96 // ExtensionFunction:
123 virtual bool RunImpl() OVERRIDE; 97 virtual bool RunImpl() OVERRIDE;
124 98
125 private: 99 private:
126 void GetAllCookiesOnIOThread(); 100 void GetAllCookiesOnIOThread();
127 void RespondOnUIThread(); 101 void RespondOnUIThread();
128 void GetAllCookiesCallback(const net::CookieList& cookie_list); 102 void GetAllCookiesCallback(const net::CookieList& cookie_list);
129 103
130 GURL url_; 104 GURL url_;
131 scoped_refptr<net::URLRequestContextGetter> store_browser_context_; 105 scoped_refptr<net::URLRequestContextGetter> store_browser_context_;
132 scoped_ptr<extensions::api::cookies::GetAll::Params> parsed_args_; 106 scoped_ptr<extensions::api::cookies::GetAll::Params> parsed_args_;
133 }; 107 };
134 108
135 // Implements the cookies.set() extension function. 109 // Implements the cookies.set() extension function.
136 class CookiesSetFunction : public CookiesFunction { 110 class CookiesSetFunction : public ChromeAsyncExtensionFunction {
137 public: 111 public:
138 DECLARE_EXTENSION_FUNCTION("cookies.set", COOKIES_SET) 112 DECLARE_EXTENSION_FUNCTION("cookies.set", COOKIES_SET)
139 113
140 CookiesSetFunction(); 114 CookiesSetFunction();
141 115
142 protected: 116 protected:
143 virtual ~CookiesSetFunction(); 117 virtual ~CookiesSetFunction();
144 virtual bool RunImpl() OVERRIDE; 118 virtual bool RunImpl() OVERRIDE;
145 119
146 private: 120 private:
147 void SetCookieOnIOThread(); 121 void SetCookieOnIOThread();
148 void RespondOnUIThread(); 122 void RespondOnUIThread();
149 void PullCookie(bool set_cookie_); 123 void PullCookie(bool set_cookie_);
150 void PullCookieCallback(const net::CookieList& cookie_list); 124 void PullCookieCallback(const net::CookieList& cookie_list);
151 125
152 GURL url_; 126 GURL url_;
153 bool success_; 127 bool success_;
154 scoped_refptr<net::URLRequestContextGetter> store_browser_context_; 128 scoped_refptr<net::URLRequestContextGetter> store_browser_context_;
155 scoped_ptr<extensions::api::cookies::Set::Params> parsed_args_; 129 scoped_ptr<extensions::api::cookies::Set::Params> parsed_args_;
156 }; 130 };
157 131
158 // Implements the cookies.remove() extension function. 132 // Implements the cookies.remove() extension function.
159 class CookiesRemoveFunction : public CookiesFunction { 133 class CookiesRemoveFunction : public ChromeAsyncExtensionFunction {
160 public: 134 public:
161 DECLARE_EXTENSION_FUNCTION("cookies.remove", COOKIES_REMOVE) 135 DECLARE_EXTENSION_FUNCTION("cookies.remove", COOKIES_REMOVE)
162 136
163 CookiesRemoveFunction(); 137 CookiesRemoveFunction();
164 138
165 protected: 139 protected:
166 virtual ~CookiesRemoveFunction(); 140 virtual ~CookiesRemoveFunction();
167 141
168 // ExtensionFunction: 142 // ExtensionFunction:
169 virtual bool RunImpl() OVERRIDE; 143 virtual bool RunImpl() OVERRIDE;
170 144
171 private: 145 private:
172 void RemoveCookieOnIOThread(); 146 void RemoveCookieOnIOThread();
173 void RespondOnUIThread(); 147 void RespondOnUIThread();
174 void RemoveCookieCallback(); 148 void RemoveCookieCallback();
175 149
176 GURL url_; 150 GURL url_;
177 scoped_refptr<net::URLRequestContextGetter> store_browser_context_; 151 scoped_refptr<net::URLRequestContextGetter> store_browser_context_;
178 scoped_ptr<extensions::api::cookies::Remove::Params> parsed_args_; 152 scoped_ptr<extensions::api::cookies::Remove::Params> parsed_args_;
179 }; 153 };
180 154
181 // Implements the cookies.getAllCookieStores() extension function. 155 // Implements the cookies.getAllCookieStores() extension function.
182 class CookiesGetAllCookieStoresFunction : public CookiesFunction { 156 class CookiesGetAllCookieStoresFunction : public ChromeSyncExtensionFunction {
183 public: 157 public:
184 DECLARE_EXTENSION_FUNCTION("cookies.getAllCookieStores", 158 DECLARE_EXTENSION_FUNCTION("cookies.getAllCookieStores",
185 COOKIES_GETALLCOOKIESTORES) 159 COOKIES_GETALLCOOKIESTORES)
186 160
187 protected: 161 protected:
188 virtual ~CookiesGetAllCookieStoresFunction() {} 162 virtual ~CookiesGetAllCookieStoresFunction() {}
189 163
190 // ExtensionFunction: 164 // ExtensionFunction:
191 // CookiesGetAllCookieStoresFunction is sync. 165 virtual bool RunSync() OVERRIDE;
192 virtual void Run() OVERRIDE;
193 virtual bool RunImpl() OVERRIDE;
194 }; 166 };
195 167
196 class CookiesAPI : public BrowserContextKeyedAPI, 168 class CookiesAPI : public BrowserContextKeyedAPI,
197 public extensions::EventRouter::Observer { 169 public extensions::EventRouter::Observer {
198 public: 170 public:
199 explicit CookiesAPI(content::BrowserContext* context); 171 explicit CookiesAPI(content::BrowserContext* context);
200 virtual ~CookiesAPI(); 172 virtual ~CookiesAPI();
201 173
202 // KeyedService implementation. 174 // KeyedService implementation.
203 virtual void Shutdown() OVERRIDE; 175 virtual void Shutdown() OVERRIDE;
(...skipping 18 matching lines...) Expand all
222 194
223 // Created lazily upon OnListenerAdded. 195 // Created lazily upon OnListenerAdded.
224 scoped_ptr<CookiesEventRouter> cookies_event_router_; 196 scoped_ptr<CookiesEventRouter> cookies_event_router_;
225 197
226 DISALLOW_COPY_AND_ASSIGN(CookiesAPI); 198 DISALLOW_COPY_AND_ASSIGN(CookiesAPI);
227 }; 199 };
228 200
229 } // namespace extensions 201 } // namespace extensions
230 202
231 #endif // CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_ 203 #endif // CHROME_BROWSER_EXTENSIONS_API_COOKIES_COOKIES_API_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/context_menus/context_menus_api.cc ('k') | chrome/browser/extensions/api/cookies/cookies_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698