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 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/files/scoped_temp_dir.h" |
6 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
7 #include "base/perftimer.h" | 8 #include "base/perftimer.h" |
8 #include "base/scoped_temp_dir.h" | |
9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
11 #include "base/test/thread_test_helper.h" | 11 #include "base/test/thread_test_helper.h" |
12 #include "chrome/browser/net/sqlite_persistent_cookie_store.h" | 12 #include "chrome/browser/net/sqlite_persistent_cookie_store.h" |
13 #include "chrome/common/chrome_constants.h" | 13 #include "chrome/common/chrome_constants.h" |
14 #include "content/public/test/test_browser_thread.h" | 14 #include "content/public/test/test_browser_thread.h" |
15 #include "googleurl/src/gurl.h" | 15 #include "googleurl/src/gurl.h" |
16 #include "net/cookies/canonical_cookie.h" | 16 #include "net/cookies/canonical_cookie.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
18 | 18 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 store_ = new SQLitePersistentCookieStore( | 79 store_ = new SQLitePersistentCookieStore( |
80 temp_dir_.path().Append(chrome::kCookieFilename), false, NULL); | 80 temp_dir_.path().Append(chrome::kCookieFilename), false, NULL); |
81 } | 81 } |
82 | 82 |
83 protected: | 83 protected: |
84 content::TestBrowserThread db_thread_; | 84 content::TestBrowserThread db_thread_; |
85 content::TestBrowserThread io_thread_; | 85 content::TestBrowserThread io_thread_; |
86 base::WaitableEvent loaded_event_; | 86 base::WaitableEvent loaded_event_; |
87 base::WaitableEvent key_loaded_event_; | 87 base::WaitableEvent key_loaded_event_; |
88 std::vector<net::CanonicalCookie*> cookies_; | 88 std::vector<net::CanonicalCookie*> cookies_; |
89 ScopedTempDir temp_dir_; | 89 base::ScopedTempDir temp_dir_; |
90 scoped_refptr<SQLitePersistentCookieStore> store_; | 90 scoped_refptr<SQLitePersistentCookieStore> store_; |
91 }; | 91 }; |
92 | 92 |
93 // Test the performance of priority load of cookies for a specfic domain key | 93 // Test the performance of priority load of cookies for a specfic domain key |
94 TEST_F(SQLitePersistentCookieStorePerfTest, TestLoadForKeyPerformance) { | 94 TEST_F(SQLitePersistentCookieStorePerfTest, TestLoadForKeyPerformance) { |
95 for (int domain_num = 0; domain_num < 3; ++domain_num) { | 95 for (int domain_num = 0; domain_num < 3; ++domain_num) { |
96 std::string domain_name(base::StringPrintf("domain_%d.com", domain_num)); | 96 std::string domain_name(base::StringPrintf("domain_%d.com", domain_num)); |
97 PerfTimeLogger timer( | 97 PerfTimeLogger timer( |
98 ("Load cookies for the eTLD+1 " + domain_name).c_str()); | 98 ("Load cookies for the eTLD+1 " + domain_name).c_str()); |
99 store_->LoadCookiesForKey(domain_name, | 99 store_->LoadCookiesForKey(domain_name, |
100 base::Bind(&SQLitePersistentCookieStorePerfTest::OnKeyLoaded, | 100 base::Bind(&SQLitePersistentCookieStorePerfTest::OnKeyLoaded, |
101 base::Unretained(this))); | 101 base::Unretained(this))); |
102 key_loaded_event_.Wait(); | 102 key_loaded_event_.Wait(); |
103 timer.Done(); | 103 timer.Done(); |
104 | 104 |
105 ASSERT_EQ(50U, cookies_.size()); | 105 ASSERT_EQ(50U, cookies_.size()); |
106 } | 106 } |
107 } | 107 } |
108 | 108 |
109 // Test the performance of load | 109 // Test the performance of load |
110 TEST_F(SQLitePersistentCookieStorePerfTest, TestLoadPerformance) { | 110 TEST_F(SQLitePersistentCookieStorePerfTest, TestLoadPerformance) { |
111 PerfTimeLogger timer("Load all cookies"); | 111 PerfTimeLogger timer("Load all cookies"); |
112 Load(); | 112 Load(); |
113 timer.Done(); | 113 timer.Done(); |
114 | 114 |
115 ASSERT_EQ(15000U, cookies_.size()); | 115 ASSERT_EQ(15000U, cookies_.size()); |
116 } | 116 } |
OLD | NEW |