OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/files/file_util.h" | 6 #include "base/files/file_util.h" |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 false, false, false, net::COOKIE_PRIORITY_DEFAULT)); | 102 false, false, false, net::COOKIE_PRIORITY_DEFAULT)); |
103 } | 103 } |
104 | 104 |
105 void DestroyStore() { | 105 void DestroyStore() { |
106 store_ = nullptr; | 106 store_ = nullptr; |
107 // Ensure that |store_|'s destructor has run by shutting down the pool and | 107 // Ensure that |store_|'s destructor has run by shutting down the pool and |
108 // then forcing the pool to be destructed. This will ensure that all the | 108 // then forcing the pool to be destructed. This will ensure that all the |
109 // tasks that block pool shutdown (e.g. |store_|'s cleanup) have run before | 109 // tasks that block pool shutdown (e.g. |store_|'s cleanup) have run before |
110 // yielding control. | 110 // yielding control. |
111 pool_owner_->pool()->FlushForTesting(); | 111 pool_owner_->pool()->FlushForTesting(); |
112 pool_owner_->pool()->Shutdown(); | |
113 pool_owner_.reset(new base::SequencedWorkerPoolOwner(3, "Background Pool")); | 112 pool_owner_.reset(new base::SequencedWorkerPoolOwner(3, "Background Pool")); |
114 } | 113 } |
115 | 114 |
116 void SetUp() override { | 115 void SetUp() override { |
117 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 116 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
118 } | 117 } |
119 | 118 |
120 void TearDown() override { | 119 void TearDown() override { |
121 DestroyStore(); | 120 DestroyStore(); |
122 pool_owner_->pool()->Shutdown(); | |
123 } | 121 } |
124 | 122 |
125 TestBrowserThreadBundle bundle_; | 123 TestBrowserThreadBundle bundle_; |
126 scoped_ptr<base::SequencedWorkerPoolOwner> pool_owner_; | 124 scoped_ptr<base::SequencedWorkerPoolOwner> pool_owner_; |
127 base::WaitableEvent loaded_event_; | 125 base::WaitableEvent loaded_event_; |
128 base::WaitableEvent destroy_event_; | 126 base::WaitableEvent destroy_event_; |
129 base::ScopedTempDir temp_dir_; | 127 base::ScopedTempDir temp_dir_; |
130 scoped_refptr<QuotaPolicyCookieStore> store_; | 128 scoped_refptr<QuotaPolicyCookieStore> store_; |
131 CanonicalCookieVector cookies_; | 129 CanonicalCookieVector cookies_; |
132 }; | 130 }; |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 // Reload and test for persistence. | 280 // Reload and test for persistence. |
283 STLDeleteElements(&cookies); | 281 STLDeleteElements(&cookies); |
284 CreateAndLoad(storage_policy.get(), &cookies); | 282 CreateAndLoad(storage_policy.get(), &cookies); |
285 EXPECT_EQ(0U, cookies.size()); | 283 EXPECT_EQ(0U, cookies.size()); |
286 | 284 |
287 STLDeleteElements(&cookies); | 285 STLDeleteElements(&cookies); |
288 } | 286 } |
289 | 287 |
290 } // namespace | 288 } // namespace |
291 } // namespace content | 289 } // namespace content |
OLD | NEW |