OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "android_webview/browser/net/aw_cookie_store_wrapper.h" | 5 #include "android_webview/browser/net/aw_cookie_store_wrapper.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "android_webview/browser/net/init_native_callback.h" | 9 #include "android_webview/browser/net/init_native_callback.h" |
10 #include "base/memory/ref_counted_delete_on_message_loop.h" | 10 #include "base/memory/ref_counted_delete_on_message_loop.h" |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 void SetForceKeepSessionStateOnCookieThread() { | 188 void SetForceKeepSessionStateOnCookieThread() { |
189 GetCookieStore()->SetForceKeepSessionState(); | 189 GetCookieStore()->SetForceKeepSessionState(); |
190 } | 190 } |
191 | 191 |
192 } // namespace | 192 } // namespace |
193 | 193 |
194 AwCookieStoreWrapper::AwCookieStoreWrapper() | 194 AwCookieStoreWrapper::AwCookieStoreWrapper() |
195 : client_task_runner_(base::ThreadTaskRunnerHandle::Get()), | 195 : client_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
196 weak_factory_(this) {} | 196 weak_factory_(this) {} |
197 | 197 |
| 198 AwCookieStoreWrapper::~AwCookieStoreWrapper() {} |
| 199 |
198 void AwCookieStoreWrapper::SetCookieWithOptionsAsync( | 200 void AwCookieStoreWrapper::SetCookieWithOptionsAsync( |
199 const GURL& url, | 201 const GURL& url, |
200 const std::string& cookie_line, | 202 const std::string& cookie_line, |
201 const net::CookieOptions& options, | 203 const net::CookieOptions& options, |
202 const net::CookieStore::SetCookiesCallback& callback) { | 204 const net::CookieStore::SetCookiesCallback& callback) { |
203 DCHECK(client_task_runner_->RunsTasksOnCurrentThread()); | 205 DCHECK(client_task_runner_->RunsTasksOnCurrentThread()); |
204 PostTaskToCookieStoreTaskRunner( | 206 PostTaskToCookieStoreTaskRunner( |
205 base::Bind(&SetCookieWithOptionsAsyncOnCookieThread, url, cookie_line, | 207 base::Bind(&SetCookieWithOptionsAsyncOnCookieThread, url, cookie_line, |
206 options, CreateWrappedCallback<bool>(callback))); | 208 options, CreateWrappedCallback<bool>(callback))); |
207 } | 209 } |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 // The SubscriptionWrapper is owned by the subscription itself, and has no | 328 // The SubscriptionWrapper is owned by the subscription itself, and has no |
327 // connection to the AwCookieStoreWrapper after creation. Other CookieStore | 329 // connection to the AwCookieStoreWrapper after creation. Other CookieStore |
328 // implementations DCHECK if a subscription outlasts the cookie store, | 330 // implementations DCHECK if a subscription outlasts the cookie store, |
329 // unfortunately, this design makes DCHECKing if there's an outstanding | 331 // unfortunately, this design makes DCHECKing if there's an outstanding |
330 // subscription when the AwCookieStoreWrapper is destroyed a bit ugly. | 332 // subscription when the AwCookieStoreWrapper is destroyed a bit ugly. |
331 // TODO(mmenke): Still worth adding a DCHECK? | 333 // TODO(mmenke): Still worth adding a DCHECK? |
332 SubscriptionWrapper* subscription = new SubscriptionWrapper(); | 334 SubscriptionWrapper* subscription = new SubscriptionWrapper(); |
333 return subscription->Subscribe(url, name, callback); | 335 return subscription->Subscribe(url, name, callback); |
334 } | 336 } |
335 | 337 |
336 AwCookieStoreWrapper::~AwCookieStoreWrapper() {} | |
337 | |
338 base::Closure AwCookieStoreWrapper::CreateWrappedClosureCallback( | 338 base::Closure AwCookieStoreWrapper::CreateWrappedClosureCallback( |
339 const base::Closure& callback) { | 339 const base::Closure& callback) { |
340 if (callback.is_null()) | 340 if (callback.is_null()) |
341 return callback; | 341 return callback; |
342 return base::Bind(base::IgnoreResult(&base::TaskRunner::PostTask), | 342 return base::Bind(base::IgnoreResult(&base::TaskRunner::PostTask), |
343 client_task_runner_, FROM_HERE, | 343 client_task_runner_, FROM_HERE, |
344 base::Bind(&AwCookieStoreWrapper::RunClosureCallback, | 344 base::Bind(&AwCookieStoreWrapper::RunClosureCallback, |
345 weak_factory_.GetWeakPtr(), callback)); | 345 weak_factory_.GetWeakPtr(), callback)); |
346 } | 346 } |
347 | 347 |
348 void AwCookieStoreWrapper::RunClosureCallback(const base::Closure& callback) { | 348 void AwCookieStoreWrapper::RunClosureCallback(const base::Closure& callback) { |
349 DCHECK(client_task_runner_->RunsTasksOnCurrentThread()); | 349 DCHECK(client_task_runner_->RunsTasksOnCurrentThread()); |
350 callback.Run(); | 350 callback.Run(); |
351 } | 351 } |
352 | 352 |
353 } // namespace android_webview | 353 } // namespace android_webview |
OLD | NEW |