summaryrefslogtreecommitdiffstats
path: root/ios/net
diff options
context:
space:
mode:
authorsdefresne <sdefresne@chromium.org>2016-03-08 07:20:18 -0800
committerCommit bot <commit-bot@chromium.org>2016-03-08 15:21:12 +0000
commitc70dbf40ec08970d54dd360aaf8b47ca630d0cc4 (patch)
tree7a1eb9f62786c7b04516c3f6051cfc4038f1e0b6 /ios/net
parent8629ce72e06a8e4dae428f0fbc3ba83cc5555407 (diff)
downloadchromium_src-c70dbf40ec08970d54dd360aaf8b47ca630d0cc4.zip
chromium_src-c70dbf40ec08970d54dd360aaf8b47ca630d0cc4.tar.gz
chromium_src-c70dbf40ec08970d54dd360aaf8b47ca630d0cc4.tar.bz2
Properly retain system_store_ in CookieStoreIOS.
The NSHTTPCookieStorage referenced by CookieStoreIOS is not always the system singleton and need to be properly refcounted. Change the instance variable to base::scoped_nsobject<> to take care of this. BUG=None Review URL: https://codereview.chromium.org/1771343002 Cr-Commit-Position: refs/heads/master@{#379835}
Diffstat (limited to 'ios/net')
-rw-r--r--ios/net/cookies/cookie_store_ios.h3
-rw-r--r--ios/net/cookies/cookie_store_ios.mm2
2 files changed, 3 insertions, 2 deletions
diff --git a/ios/net/cookies/cookie_store_ios.h b/ios/net/cookies/cookie_store_ios.h
index 914804d..29feb38 100644
--- a/ios/net/cookies/cookie_store_ios.h
+++ b/ios/net/cookies/cookie_store_ios.h
@@ -12,6 +12,7 @@
#include "base/callback.h"
#include "base/cancelable_callback.h"
+#include "base/mac/scoped_nsobject.h"
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
@@ -202,7 +203,7 @@ class CookieStoreIOS : public net::CookieStore,
const DeleteCallback& callback);
scoped_ptr<net::CookieMonster> cookie_monster_;
- NSHTTPCookieStorage* system_store_;
+ base::scoped_nsobject<NSHTTPCookieStorage> system_store_;
scoped_ptr<CookieCreationTimeManager> creation_time_manager_;
bool metrics_enabled_;
base::TimeDelta flush_delay_;
diff --git a/ios/net/cookies/cookie_store_ios.mm b/ios/net/cookies/cookie_store_ios.mm
index 2d3ebda..0d5f001 100644
--- a/ios/net/cookies/cookie_store_ios.mm
+++ b/ios/net/cookies/cookie_store_ios.mm
@@ -293,7 +293,7 @@ CookieStoreIOS::CookieStoreIOS(
net::CookieMonster::PersistentCookieStore* persistent_store,
NSHTTPCookieStorage* system_store)
: cookie_monster_(new net::CookieMonster(persistent_store, nullptr)),
- system_store_(system_store),
+ system_store_([system_store retain]),
creation_time_manager_(new CookieCreationTimeManager),
metrics_enabled_(false),
flush_delay_(base::TimeDelta::FromSeconds(10)),