Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(776)

Unified Diff: chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc

Issue 8289028: Revert 105639 - The change list splits loading of cookies from DB by the domain key(eTLD+1). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc
===================================================================
--- chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc (revision 105639)
+++ chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc (working copy)
@@ -23,36 +23,25 @@
: ui_thread_(BrowserThread::UI),
db_thread_(BrowserThread::DB),
io_thread_(BrowserThread::IO),
- loaded_event_(false, false),
- key_loaded_event_(false, false),
- db_thread_event_(true, false) {
+ event_(false, false) {
}
+ protected:
void OnLoaded(
const std::vector<net::CookieMonster::CanonicalCookie*>& cookies) {
cookies_ = cookies;
- loaded_event_.Signal();
+ event_.Signal();
}
- void OnKeyLoaded(
- const std::vector<net::CookieMonster::CanonicalCookie*>& cookies) {
- cookies_ = cookies;
- key_loaded_event_.Signal();
- }
-
- void Load(std::vector<net::CookieMonster::CanonicalCookie*>* cookies) {
- store_->Load(base::Bind(&SQLitePersistentCookieStoreTest::OnLoaded,
+ bool Load(std::vector<net::CookieMonster::CanonicalCookie*>* cookies) {
+ bool result =
+ store_->Load(base::Bind(&SQLitePersistentCookieStoreTest::OnLoaded,
base::Unretained(this)));
- loaded_event_.Wait();
+ event_.Wait();
*cookies = cookies_;
+ return result;
}
- // We have to create this method to wrap WaitableEvent::Wait, since we cannot
- // bind a non-void returning method as a Closure.
- void WaitOnDBEvent() {
- db_thread_event_.Wait();
- }
-
virtual void SetUp() {
ui_thread_.Start();
db_thread_.Start();
@@ -61,7 +50,7 @@
store_ = new SQLitePersistentCookieStore(
temp_dir_.path().Append(chrome::kCookieFilename));
std::vector<net::CookieMonster::CanonicalCookie*> cookies;
- Load(&cookies);
+ ASSERT_TRUE(Load(&cookies));
ASSERT_EQ(0u, cookies.size());
// Make sure the store gets written at least once.
store_->AddCookie(
@@ -73,13 +62,10 @@
false, false, true));
}
- protected:
BrowserThread ui_thread_;
BrowserThread db_thread_;
BrowserThread io_thread_;
- base::WaitableEvent loaded_event_;
- base::WaitableEvent key_loaded_event_;
- base::WaitableEvent db_thread_event_;
+ base::WaitableEvent event_;
std::vector<net::CookieMonster::CanonicalCookie*> cookies_;
ScopedTempDir temp_dir_;
scoped_refptr<SQLitePersistentCookieStore> store_;
@@ -132,7 +118,7 @@
temp_dir_.path().Append(chrome::kCookieFilename));
// Reload and test for persistence
- Load(&cookies);
+ ASSERT_TRUE(Load(&cookies));
ASSERT_EQ(1U, cookies.size());
ASSERT_STREQ("http://foo.bar", cookies[0]->Domain().c_str());
ASSERT_STREQ("A", cookies[0]->Name().c_str());
@@ -149,86 +135,10 @@
temp_dir_.path().Append(chrome::kCookieFilename));
// Reload and check if the cookie has been removed.
- Load(&cookies);
+ ASSERT_TRUE(Load(&cookies));
ASSERT_EQ(0U, cookies.size());
}
-// Test that priority load of cookies for a specfic domain key could be
-// completed before the entire store is loaded
-TEST_F(SQLitePersistentCookieStoreTest, TestLoadCookiesForKey) {
- base::Time t = base::Time::Now() + base::TimeDelta::FromInternalValue(10);
- // A foo.bar cookie was already added in setup.
- store_->AddCookie(
- net::CookieMonster::CanonicalCookie(GURL(), "A", "B",
- "www.aaa.com", "/",
- std::string(), std::string(),
- t, t, t, false, false, true));
- t += base::TimeDelta::FromInternalValue(10);
- store_->AddCookie(
- net::CookieMonster::CanonicalCookie(GURL(), "A", "B",
- "travel.aaa.com", "/",
- std::string(), std::string(),
- t, t, t, false, false, true));
- t += base::TimeDelta::FromInternalValue(10);
- store_->AddCookie(
- net::CookieMonster::CanonicalCookie(GURL(), "A", "B",
- "www.bbb.com", "/",
- std::string(), std::string(),
- t, t, t, false, false, true));
- store_ = NULL;
-
- scoped_refptr<base::ThreadTestHelper> helper(
- new base::ThreadTestHelper(
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB)));
- // Make sure we wait until the destructor has run.
- ASSERT_TRUE(helper->Run());
-
- store_ = new SQLitePersistentCookieStore(
- temp_dir_.path().Append(chrome::kCookieFilename));
- // Posting a blocking task to db_thread_ makes sure that the DB thread waits
- // until both Load and LoadCookiesForKey have been posted to its task queue.
- db_thread_.PostTask(BrowserThread::DB, FROM_HERE,
- base::Bind(&SQLitePersistentCookieStoreTest::WaitOnDBEvent,
- base::Unretained(this)));
- store_->Load(base::Bind(&SQLitePersistentCookieStoreTest::OnLoaded,
- base::Unretained(this)));
- store_->LoadCookiesForKey("aaa.com",
- base::Bind(&SQLitePersistentCookieStoreTest::OnKeyLoaded,
- base::Unretained(this)));
- db_thread_.PostTask(BrowserThread::DB, FROM_HERE,
- base::Bind(&SQLitePersistentCookieStoreTest::WaitOnDBEvent,
- base::Unretained(this)));
-
- // Now the DB-thread queue contains:
- // (active:)
- // 1. Wait (on db_event)
- // (pending:)
- // 2. "Init And Chain-Load First Domain"
- // 3. Priority Load (aaa.com)
- // 4. Wait (on db_event)
- db_thread_event_.Signal();
- key_loaded_event_.Wait();
- ASSERT_EQ(loaded_event_.IsSignaled(), false);
- std::set<std::string> cookies_loaded;
- for (std::vector<net::CookieMonster::CanonicalCookie*>::iterator
- it = cookies_.begin(); it != cookies_.end(); ++it)
- cookies_loaded.insert((*it)->Domain().c_str());
- ASSERT_GT(4U, cookies_loaded.size());
- ASSERT_EQ(cookies_loaded.find("www.aaa.com") != cookies_loaded.end(), true);
- ASSERT_EQ(cookies_loaded.find("travel.aaa.com") != cookies_loaded.end(),
- true);
-
- db_thread_event_.Signal();
- loaded_event_.Wait();
- for (std::vector<net::CookieMonster::CanonicalCookie*>::iterator
- it = cookies_.begin(); it != cookies_.end(); ++it)
- cookies_loaded.insert((*it)->Domain().c_str());
- ASSERT_EQ(4U, cookies_loaded.size());
- ASSERT_EQ(cookies_loaded.find("http://foo.bar") != cookies_loaded.end(),
- true);
- ASSERT_EQ(cookies_loaded.find("www.bbb.com") != cookies_loaded.end(), true);
-}
-
// Test that we can force the database to be written by calling Flush().
TEST_F(SQLitePersistentCookieStoreTest, TestFlush) {
// File timestamps don't work well on all platforms, so we'll determine
« no previous file with comments | « chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc ('k') | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698