| 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 // CookieManager when it's needed, allowing for lazy creation of the | 28 // CookieManager when it's needed, allowing for lazy creation of the |
| 29 // CookieStore. | 29 // CookieStore. |
| 30 // | 30 // |
| 31 // AwCookieStoreWrapper may only be called from the thread on which it's | 31 // AwCookieStoreWrapper may only be called from the thread on which it's |
| 32 // created. | 32 // created. |
| 33 // | 33 // |
| 34 // The CookieManager must outlive the AwCookieStoreWrapper. | 34 // The CookieManager must outlive the AwCookieStoreWrapper. |
| 35 class AwCookieStoreWrapper : public net::CookieStore { | 35 class AwCookieStoreWrapper : public net::CookieStore { |
| 36 public: | 36 public: |
| 37 AwCookieStoreWrapper(); | 37 AwCookieStoreWrapper(); |
| 38 ~AwCookieStoreWrapper() override; |
| 38 | 39 |
| 39 // CookieStore implementation: | 40 // CookieStore implementation: |
| 40 void SetCookieWithOptionsAsync(const GURL& url, | 41 void SetCookieWithOptionsAsync(const GURL& url, |
| 41 const std::string& cookie_line, | 42 const std::string& cookie_line, |
| 42 const net::CookieOptions& options, | 43 const net::CookieOptions& options, |
| 43 const SetCookiesCallback& callback) override; | 44 const SetCookiesCallback& callback) override; |
| 44 void SetCookieWithDetailsAsync(const GURL& url, | 45 void SetCookieWithDetailsAsync(const GURL& url, |
| 45 const std::string& name, | 46 const std::string& name, |
| 46 const std::string& value, | 47 const std::string& value, |
| 47 const std::string& domain, | 48 const std::string& domain, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 78 const DeleteCallback& callback) override; | 79 const DeleteCallback& callback) override; |
| 79 void DeleteSessionCookiesAsync(const DeleteCallback& callback) override; | 80 void DeleteSessionCookiesAsync(const DeleteCallback& callback) override; |
| 80 void FlushStore(const base::Closure& callback) override; | 81 void FlushStore(const base::Closure& callback) override; |
| 81 void SetForceKeepSessionState() override; | 82 void SetForceKeepSessionState() override; |
| 82 scoped_ptr<CookieChangedSubscription> AddCallbackForCookie( | 83 scoped_ptr<CookieChangedSubscription> AddCallbackForCookie( |
| 83 const GURL& url, | 84 const GURL& url, |
| 84 const std::string& name, | 85 const std::string& name, |
| 85 const CookieChangedCallback& callback) override; | 86 const CookieChangedCallback& callback) override; |
| 86 | 87 |
| 87 private: | 88 private: |
| 88 ~AwCookieStoreWrapper() override; | |
| 89 | |
| 90 // Used by CreateWrappedCallback below. Takes an arugment of Type and posts | 89 // Used by CreateWrappedCallback below. Takes an arugment of Type and posts |
| 91 // a task to |task_runner| to invoke |callback| with that argument. If | 90 // a task to |task_runner| to invoke |callback| with that argument. If |
| 92 // |weak_cookie_store| is deleted before the task is run, the task will not | 91 // |weak_cookie_store| is deleted before the task is run, the task will not |
| 93 // be run. | 92 // be run. |
| 94 template <class Type> | 93 template <class Type> |
| 95 static void RunCallbackOnClientThread( | 94 static void RunCallbackOnClientThread( |
| 96 base::TaskRunner* task_runner, | 95 base::TaskRunner* task_runner, |
| 97 base::WeakPtr<AwCookieStoreWrapper> weak_cookie_store, | 96 base::WeakPtr<AwCookieStoreWrapper> weak_cookie_store, |
| 98 base::Callback<void(Type)> callback, | 97 base::Callback<void(Type)> callback, |
| 99 Type argument) { | 98 Type argument) { |
| (...skipping 22 matching lines...) Expand all Loading... |
| 122 // Runs |callback|. Used to prevent callbacks from being invoked after the | 121 // Runs |callback|. Used to prevent callbacks from being invoked after the |
| 123 // AwCookieStoreWrapper has been destroyed. | 122 // AwCookieStoreWrapper has been destroyed. |
| 124 void RunClosureCallback(const base::Closure& callback); | 123 void RunClosureCallback(const base::Closure& callback); |
| 125 | 124 |
| 126 scoped_refptr<base::SingleThreadTaskRunner> client_task_runner_; | 125 scoped_refptr<base::SingleThreadTaskRunner> client_task_runner_; |
| 127 | 126 |
| 128 base::WeakPtrFactory<AwCookieStoreWrapper> weak_factory_; | 127 base::WeakPtrFactory<AwCookieStoreWrapper> weak_factory_; |
| 129 }; | 128 }; |
| 130 | 129 |
| 131 } // namesspace android_webview | 130 } // namesspace android_webview |
| OLD | NEW |