| OLD | NEW |
| 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 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 5 #ifndef NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 6 #define NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 std::string GetCookies(CookieStore* cs, const GURL& url) { | 102 std::string GetCookies(CookieStore* cs, const GURL& url) { |
| 103 DCHECK(cs); | 103 DCHECK(cs); |
| 104 CookieOptions options; | 104 CookieOptions options; |
| 105 if (!CookieStoreTestTraits::supports_http_only) | 105 if (!CookieStoreTestTraits::supports_http_only) |
| 106 options.set_include_httponly(); | 106 options.set_include_httponly(); |
| 107 StringResultCookieCallback callback; | 107 StringResultCookieCallback callback; |
| 108 cs->GetCookiesWithOptionsAsync( | 108 cs->GetCookiesWithOptionsAsync( |
| 109 url, options, | 109 url, options, |
| 110 base::Bind(&StringResultCookieCallback::Run, | 110 base::Bind(&StringResultCookieCallback::Run, |
| 111 base::Unretained(&callback))); | 111 base::Unretained(&callback))); |
| 112 RunFor(kTimeout); | 112 callback.WaitUntilDone(); |
| 113 EXPECT_TRUE(callback.did_run()); | |
| 114 return callback.result(); | 113 return callback.result(); |
| 115 } | 114 } |
| 116 | 115 |
| 117 std::string GetCookiesWithOptions(CookieStore* cs, | 116 std::string GetCookiesWithOptions(CookieStore* cs, |
| 118 const GURL& url, | 117 const GURL& url, |
| 119 const CookieOptions& options) { | 118 const CookieOptions& options) { |
| 120 DCHECK(cs); | 119 DCHECK(cs); |
| 121 StringResultCookieCallback callback; | 120 StringResultCookieCallback callback; |
| 122 cs->GetCookiesWithOptionsAsync( | 121 cs->GetCookiesWithOptionsAsync( |
| 123 url, options, base::Bind(&StringResultCookieCallback::Run, | 122 url, options, base::Bind(&StringResultCookieCallback::Run, |
| 124 base::Unretained(&callback))); | 123 base::Unretained(&callback))); |
| 125 RunFor(kTimeout); | 124 callback.WaitUntilDone(); |
| 126 EXPECT_TRUE(callback.did_run()); | |
| 127 return callback.result(); | 125 return callback.result(); |
| 128 } | 126 } |
| 129 | 127 |
| 130 CookieList GetAllCookies(CookieStore* cs) { | 128 CookieList GetAllCookies(CookieStore* cs) { |
| 131 DCHECK(cs); | 129 DCHECK(cs); |
| 132 GetCookieListCallback callback; | 130 GetCookieListCallback callback; |
| 133 cs->GetAllCookiesAsync( | 131 cs->GetAllCookiesAsync( |
| 134 base::Bind(&GetCookieListCallback::Run, base::Unretained(&callback))); | 132 base::Bind(&GetCookieListCallback::Run, base::Unretained(&callback))); |
| 135 RunFor(kTimeout); | 133 callback.WaitUntilDone(); |
| 136 EXPECT_TRUE(callback.did_run()); | |
| 137 return callback.cookies(); | 134 return callback.cookies(); |
| 138 } | 135 } |
| 139 | 136 |
| 140 bool SetCookieWithOptions(CookieStore* cs, | 137 bool SetCookieWithOptions(CookieStore* cs, |
| 141 const GURL& url, | 138 const GURL& url, |
| 142 const std::string& cookie_line, | 139 const std::string& cookie_line, |
| 143 const CookieOptions& options) { | 140 const CookieOptions& options) { |
| 144 DCHECK(cs); | 141 DCHECK(cs); |
| 145 ResultSavingCookieCallback<bool> callback; | 142 ResultSavingCookieCallback<bool> callback; |
| 146 cs->SetCookieWithOptionsAsync( | 143 cs->SetCookieWithOptionsAsync( |
| 147 url, cookie_line, options, | 144 url, cookie_line, options, |
| 148 base::Bind( | 145 base::Bind( |
| 149 &ResultSavingCookieCallback<bool>::Run, | 146 &ResultSavingCookieCallback<bool>::Run, |
| 150 base::Unretained(&callback))); | 147 base::Unretained(&callback))); |
| 151 RunFor(kTimeout); | 148 callback.WaitUntilDone(); |
| 152 EXPECT_TRUE(callback.did_run()); | |
| 153 return callback.result(); | 149 return callback.result(); |
| 154 } | 150 } |
| 155 | 151 |
| 156 bool SetCookieWithServerTime(CookieStore* cs, | 152 bool SetCookieWithServerTime(CookieStore* cs, |
| 157 const GURL& url, | 153 const GURL& url, |
| 158 const std::string& cookie_line, | 154 const std::string& cookie_line, |
| 159 const base::Time& server_time) { | 155 const base::Time& server_time) { |
| 160 CookieOptions options; | 156 CookieOptions options; |
| 161 if (!CookieStoreTestTraits::supports_http_only) | 157 if (!CookieStoreTestTraits::supports_http_only) |
| 162 options.set_include_httponly(); | 158 options.set_include_httponly(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 176 } | 172 } |
| 177 | 173 |
| 178 void DeleteCookie(CookieStore* cs, | 174 void DeleteCookie(CookieStore* cs, |
| 179 const GURL& url, | 175 const GURL& url, |
| 180 const std::string& cookie_name) { | 176 const std::string& cookie_name) { |
| 181 DCHECK(cs); | 177 DCHECK(cs); |
| 182 NoResultCookieCallback callback; | 178 NoResultCookieCallback callback; |
| 183 cs->DeleteCookieAsync( | 179 cs->DeleteCookieAsync( |
| 184 url, cookie_name, | 180 url, cookie_name, |
| 185 base::Bind(&NoResultCookieCallback::Run, base::Unretained(&callback))); | 181 base::Bind(&NoResultCookieCallback::Run, base::Unretained(&callback))); |
| 186 RunFor(kTimeout); | 182 callback.WaitUntilDone(); |
| 187 EXPECT_TRUE(callback.did_run()); | |
| 188 } | 183 } |
| 189 | 184 |
| 190 int DeleteCreatedBetween(CookieStore* cs, | 185 int DeleteCreatedBetween(CookieStore* cs, |
| 191 const base::Time& delete_begin, | 186 const base::Time& delete_begin, |
| 192 const base::Time& delete_end) { | 187 const base::Time& delete_end) { |
| 193 DCHECK(cs); | 188 DCHECK(cs); |
| 194 ResultSavingCookieCallback<int> callback; | 189 ResultSavingCookieCallback<int> callback; |
| 195 cs->DeleteAllCreatedBetweenAsync( | 190 cs->DeleteAllCreatedBetweenAsync( |
| 196 delete_begin, delete_end, | 191 delete_begin, delete_end, |
| 197 base::Bind( | 192 base::Bind( |
| 198 &ResultSavingCookieCallback<int>::Run, | 193 &ResultSavingCookieCallback<int>::Run, |
| 199 base::Unretained(&callback))); | 194 base::Unretained(&callback))); |
| 200 RunFor(kTimeout); | 195 callback.WaitUntilDone(); |
| 201 EXPECT_TRUE(callback.did_run()); | |
| 202 return callback.result(); | 196 return callback.result(); |
| 203 } | 197 } |
| 204 | 198 |
| 205 int DeleteAllCreatedBetweenForHost(CookieStore* cs, | 199 int DeleteAllCreatedBetweenForHost(CookieStore* cs, |
| 206 const base::Time delete_begin, | 200 const base::Time delete_begin, |
| 207 const base::Time delete_end, | 201 const base::Time delete_end, |
| 208 const GURL& url) { | 202 const GURL& url) { |
| 209 DCHECK(cs); | 203 DCHECK(cs); |
| 210 ResultSavingCookieCallback<int> callback; | 204 ResultSavingCookieCallback<int> callback; |
| 211 cs->DeleteAllCreatedBetweenForHostAsync( | 205 cs->DeleteAllCreatedBetweenForHostAsync( |
| 212 delete_begin, delete_end, url, | 206 delete_begin, delete_end, url, |
| 213 base::Bind( | 207 base::Bind( |
| 214 &ResultSavingCookieCallback<int>::Run, | 208 &ResultSavingCookieCallback<int>::Run, |
| 215 base::Unretained(&callback))); | 209 base::Unretained(&callback))); |
| 216 RunFor(kTimeout); | 210 callback.WaitUntilDone(); |
| 217 EXPECT_TRUE(callback.did_run()); | |
| 218 return callback.result(); | 211 return callback.result(); |
| 219 } | 212 } |
| 220 | 213 |
| 221 int DeleteSessionCookies(CookieStore* cs) { | 214 int DeleteSessionCookies(CookieStore* cs) { |
| 222 DCHECK(cs); | 215 DCHECK(cs); |
| 223 ResultSavingCookieCallback<int> callback; | 216 ResultSavingCookieCallback<int> callback; |
| 224 cs->DeleteSessionCookiesAsync( | 217 cs->DeleteSessionCookiesAsync( |
| 225 base::Bind( | 218 base::Bind( |
| 226 &ResultSavingCookieCallback<int>::Run, | 219 &ResultSavingCookieCallback<int>::Run, |
| 227 base::Unretained(&callback))); | 220 base::Unretained(&callback))); |
| 228 RunFor(kTimeout); | 221 callback.WaitUntilDone(); |
| 229 EXPECT_TRUE(callback.did_run()); | |
| 230 return callback.result(); | 222 return callback.result(); |
| 231 } | 223 } |
| 232 | 224 |
| 233 void RunFor(int ms) { | |
| 234 // Runs the test thread message loop for up to |ms| milliseconds. | |
| 235 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | |
| 236 FROM_HERE, base::Bind(&base::MessageLoop::QuitWhenIdle, | |
| 237 weak_factory_->GetWeakPtr()), | |
| 238 base::TimeDelta::FromMilliseconds(ms)); | |
| 239 base::MessageLoop::current()->Run(); | |
| 240 weak_factory_->InvalidateWeakPtrs(); | |
| 241 } | |
| 242 | |
| 243 scoped_refptr<CookieStore> GetCookieStore() { | 225 scoped_refptr<CookieStore> GetCookieStore() { |
| 244 return CookieStoreTestTraits::Create(); | 226 return CookieStoreTestTraits::Create(); |
| 245 } | 227 } |
| 246 | 228 |
| 247 // Compares two cookie lines. | 229 // Compares two cookie lines. |
| 248 void MatchCookieLines(const std::string& line1, const std::string& line2) { | 230 void MatchCookieLines(const std::string& line1, const std::string& line2) { |
| 249 EXPECT_EQ(TokenizeCookieLine(line1), TokenizeCookieLine(line2)); | 231 EXPECT_EQ(TokenizeCookieLine(line1), TokenizeCookieLine(line2)); |
| 250 } | 232 } |
| 251 | 233 |
| 252 // Check the cookie line by polling until equality or a timeout is reached. | 234 // Check the cookie line by polling until equality or a timeout is reached. |
| (...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1211 cs->DeleteSessionCookiesAsync( | 1193 cs->DeleteSessionCookiesAsync( |
| 1212 base::Bind( | 1194 base::Bind( |
| 1213 &ResultSavingCookieCallback<int>::Run, | 1195 &ResultSavingCookieCallback<int>::Run, |
| 1214 base::Unretained(callback))); | 1196 base::Unretained(callback))); |
| 1215 } | 1197 } |
| 1216 | 1198 |
| 1217 protected: | 1199 protected: |
| 1218 void RunOnOtherThread(const base::Closure& task) { | 1200 void RunOnOtherThread(const base::Closure& task) { |
| 1219 other_thread_.Start(); | 1201 other_thread_.Start(); |
| 1220 other_thread_.task_runner()->PostTask(FROM_HERE, task); | 1202 other_thread_.task_runner()->PostTask(FROM_HERE, task); |
| 1221 CookieStoreTest<CookieStoreTestTraits>::RunFor(kTimeout); | |
| 1222 other_thread_.Stop(); | 1203 other_thread_.Stop(); |
| 1223 } | 1204 } |
| 1224 | 1205 |
| 1225 Thread other_thread_; | 1206 Thread other_thread_; |
| 1226 }; | 1207 }; |
| 1227 | 1208 |
| 1228 TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest); | 1209 TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest); |
| 1229 | 1210 |
| 1230 // TODO(ycxiao): Eventually, we will need to create a separate thread, create | 1211 // TODO(ycxiao): Eventually, we will need to create a separate thread, create |
| 1231 // the cookie store on that thread (or at least its store, i.e., the DB | 1212 // the cookie store on that thread (or at least its store, i.e., the DB |
| 1232 // thread). | 1213 // thread). |
| 1233 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckGetCookies) { | 1214 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckGetCookies) { |
| 1234 scoped_refptr<CookieStore> cs(this->GetCookieStore()); | 1215 scoped_refptr<CookieStore> cs(this->GetCookieStore()); |
| 1235 EXPECT_TRUE(this->SetCookie(cs.get(), this->http_www_google_.url(), "A=B")); | 1216 EXPECT_TRUE(this->SetCookie(cs.get(), this->http_www_google_.url(), "A=B")); |
| 1236 this->MatchCookieLines( | 1217 this->MatchCookieLines( |
| 1237 "A=B", this->GetCookies(cs.get(), this->http_www_google_.url())); | 1218 "A=B", this->GetCookies(cs.get(), this->http_www_google_.url())); |
| 1238 StringResultCookieCallback callback(&this->other_thread_); | 1219 StringResultCookieCallback callback(&this->other_thread_); |
| 1239 base::Closure task = base::Bind( | 1220 base::Closure task = base::Bind( |
| 1240 &MultiThreadedCookieStoreTest<TypeParam>::GetCookiesTask, | 1221 &MultiThreadedCookieStoreTest<TypeParam>::GetCookiesTask, |
| 1241 base::Unretained(this), cs, this->http_www_google_.url(), &callback); | 1222 base::Unretained(this), cs, this->http_www_google_.url(), &callback); |
| 1242 this->RunOnOtherThread(task); | 1223 this->RunOnOtherThread(task); |
| 1243 EXPECT_TRUE(callback.did_run()); | 1224 callback.WaitUntilDone(); |
| 1244 EXPECT_EQ("A=B", callback.result()); | 1225 EXPECT_EQ("A=B", callback.result()); |
| 1245 } | 1226 } |
| 1246 | 1227 |
| 1247 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckGetCookiesWithOptions) { | 1228 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckGetCookiesWithOptions) { |
| 1248 scoped_refptr<CookieStore> cs(this->GetCookieStore()); | 1229 scoped_refptr<CookieStore> cs(this->GetCookieStore()); |
| 1249 CookieOptions options; | 1230 CookieOptions options; |
| 1250 if (!TypeParam::supports_http_only) | 1231 if (!TypeParam::supports_http_only) |
| 1251 options.set_include_httponly(); | 1232 options.set_include_httponly(); |
| 1252 EXPECT_TRUE(this->SetCookie(cs.get(), this->http_www_google_.url(), "A=B")); | 1233 EXPECT_TRUE(this->SetCookie(cs.get(), this->http_www_google_.url(), "A=B")); |
| 1253 this->MatchCookieLines( | 1234 this->MatchCookieLines( |
| 1254 "A=B", this->GetCookiesWithOptions(cs.get(), this->http_www_google_.url(), | 1235 "A=B", this->GetCookiesWithOptions(cs.get(), this->http_www_google_.url(), |
| 1255 options)); | 1236 options)); |
| 1256 StringResultCookieCallback callback(&this->other_thread_); | 1237 StringResultCookieCallback callback(&this->other_thread_); |
| 1257 base::Closure task = base::Bind( | 1238 base::Closure task = base::Bind( |
| 1258 &MultiThreadedCookieStoreTest<TypeParam>::GetCookiesWithOptionsTask, | 1239 &MultiThreadedCookieStoreTest<TypeParam>::GetCookiesWithOptionsTask, |
| 1259 base::Unretained(this), cs, this->http_www_google_.url(), options, | 1240 base::Unretained(this), cs, this->http_www_google_.url(), options, |
| 1260 &callback); | 1241 &callback); |
| 1261 this->RunOnOtherThread(task); | 1242 this->RunOnOtherThread(task); |
| 1262 EXPECT_TRUE(callback.did_run()); | 1243 callback.WaitUntilDone(); |
| 1263 EXPECT_EQ("A=B", callback.result()); | 1244 EXPECT_EQ("A=B", callback.result()); |
| 1264 } | 1245 } |
| 1265 | 1246 |
| 1266 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckSetCookieWithOptions) { | 1247 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckSetCookieWithOptions) { |
| 1267 scoped_refptr<CookieStore> cs(this->GetCookieStore()); | 1248 scoped_refptr<CookieStore> cs(this->GetCookieStore()); |
| 1268 CookieOptions options; | 1249 CookieOptions options; |
| 1269 if (!TypeParam::supports_http_only) | 1250 if (!TypeParam::supports_http_only) |
| 1270 options.set_include_httponly(); | 1251 options.set_include_httponly(); |
| 1271 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), | 1252 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), |
| 1272 "A=B", options)); | 1253 "A=B", options)); |
| 1273 ResultSavingCookieCallback<bool> callback(&this->other_thread_); | 1254 ResultSavingCookieCallback<bool> callback(&this->other_thread_); |
| 1274 base::Closure task = base::Bind( | 1255 base::Closure task = base::Bind( |
| 1275 &MultiThreadedCookieStoreTest<TypeParam>::SetCookieWithOptionsTask, | 1256 &MultiThreadedCookieStoreTest<TypeParam>::SetCookieWithOptionsTask, |
| 1276 base::Unretained(this), cs, this->http_www_google_.url(), "A=B", options, | 1257 base::Unretained(this), cs, this->http_www_google_.url(), "A=B", options, |
| 1277 &callback); | 1258 &callback); |
| 1278 this->RunOnOtherThread(task); | 1259 this->RunOnOtherThread(task); |
| 1279 EXPECT_TRUE(callback.did_run()); | 1260 callback.WaitUntilDone(); |
| 1280 EXPECT_TRUE(callback.result()); | 1261 EXPECT_TRUE(callback.result()); |
| 1281 } | 1262 } |
| 1282 | 1263 |
| 1283 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckDeleteCookie) { | 1264 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckDeleteCookie) { |
| 1284 scoped_refptr<CookieStore> cs(this->GetCookieStore()); | 1265 scoped_refptr<CookieStore> cs(this->GetCookieStore()); |
| 1285 CookieOptions options; | 1266 CookieOptions options; |
| 1286 if (!TypeParam::supports_http_only) | 1267 if (!TypeParam::supports_http_only) |
| 1287 options.set_include_httponly(); | 1268 options.set_include_httponly(); |
| 1288 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), | 1269 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), |
| 1289 "A=B", options)); | 1270 "A=B", options)); |
| 1290 this->DeleteCookie(cs.get(), this->http_www_google_.url(), "A"); | 1271 this->DeleteCookie(cs.get(), this->http_www_google_.url(), "A"); |
| 1291 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), | 1272 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), |
| 1292 "A=B", options)); | 1273 "A=B", options)); |
| 1293 NoResultCookieCallback callback(&this->other_thread_); | 1274 NoResultCookieCallback callback(&this->other_thread_); |
| 1294 base::Closure task = base::Bind( | 1275 base::Closure task = base::Bind( |
| 1295 &MultiThreadedCookieStoreTest<TypeParam>::DeleteCookieTask, | 1276 &MultiThreadedCookieStoreTest<TypeParam>::DeleteCookieTask, |
| 1296 base::Unretained(this), cs, this->http_www_google_.url(), "A", &callback); | 1277 base::Unretained(this), cs, this->http_www_google_.url(), "A", &callback); |
| 1297 this->RunOnOtherThread(task); | 1278 this->RunOnOtherThread(task); |
| 1298 EXPECT_TRUE(callback.did_run()); | 1279 callback.WaitUntilDone(); |
| 1299 } | 1280 } |
| 1300 | 1281 |
| 1301 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckDeleteSessionCookies) { | 1282 TYPED_TEST_P(MultiThreadedCookieStoreTest, ThreadCheckDeleteSessionCookies) { |
| 1302 scoped_refptr<CookieStore> cs(this->GetCookieStore()); | 1283 scoped_refptr<CookieStore> cs(this->GetCookieStore()); |
| 1303 CookieOptions options; | 1284 CookieOptions options; |
| 1304 if (!TypeParam::supports_http_only) | 1285 if (!TypeParam::supports_http_only) |
| 1305 options.set_include_httponly(); | 1286 options.set_include_httponly(); |
| 1306 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), | 1287 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), |
| 1307 "A=B", options)); | 1288 "A=B", options)); |
| 1308 EXPECT_TRUE(this->SetCookieWithOptions( | 1289 EXPECT_TRUE(this->SetCookieWithOptions( |
| 1309 cs.get(), this->http_www_google_.url(), | 1290 cs.get(), this->http_www_google_.url(), |
| 1310 "B=C; expires=Mon, 18-Apr-22 22:50:13 GMT", options)); | 1291 "B=C; expires=Mon, 18-Apr-22 22:50:13 GMT", options)); |
| 1311 EXPECT_EQ(1, this->DeleteSessionCookies(cs.get())); | 1292 EXPECT_EQ(1, this->DeleteSessionCookies(cs.get())); |
| 1312 EXPECT_EQ(0, this->DeleteSessionCookies(cs.get())); | 1293 EXPECT_EQ(0, this->DeleteSessionCookies(cs.get())); |
| 1313 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), | 1294 EXPECT_TRUE(this->SetCookieWithOptions(cs.get(), this->http_www_google_.url(), |
| 1314 "A=B", options)); | 1295 "A=B", options)); |
| 1315 ResultSavingCookieCallback<int> callback(&this->other_thread_); | 1296 ResultSavingCookieCallback<int> callback(&this->other_thread_); |
| 1316 base::Closure task = base::Bind( | 1297 base::Closure task = base::Bind( |
| 1317 &MultiThreadedCookieStoreTest<TypeParam>::DeleteSessionCookiesTask, | 1298 &MultiThreadedCookieStoreTest<TypeParam>::DeleteSessionCookiesTask, |
| 1318 base::Unretained(this), cs, &callback); | 1299 base::Unretained(this), cs, &callback); |
| 1319 this->RunOnOtherThread(task); | 1300 this->RunOnOtherThread(task); |
| 1320 EXPECT_TRUE(callback.did_run()); | 1301 callback.WaitUntilDone(); |
| 1321 EXPECT_EQ(1, callback.result()); | 1302 EXPECT_EQ(1, callback.result()); |
| 1322 } | 1303 } |
| 1323 | 1304 |
| 1324 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest, | 1305 REGISTER_TYPED_TEST_CASE_P(MultiThreadedCookieStoreTest, |
| 1325 ThreadCheckGetCookies, | 1306 ThreadCheckGetCookies, |
| 1326 ThreadCheckGetCookiesWithOptions, | 1307 ThreadCheckGetCookiesWithOptions, |
| 1327 ThreadCheckSetCookieWithOptions, | 1308 ThreadCheckSetCookieWithOptions, |
| 1328 ThreadCheckDeleteCookie, | 1309 ThreadCheckDeleteCookie, |
| 1329 ThreadCheckDeleteSessionCookies); | 1310 ThreadCheckDeleteSessionCookies); |
| 1330 | 1311 |
| 1331 } // namespace net | 1312 } // namespace net |
| 1332 | 1313 |
| 1333 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ | 1314 #endif // NET_COOKIES_COOKIE_STORE_UNITTEST_H_ |
| OLD | NEW |