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

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

Issue 12314015: Make SQLitePersistentCookieStore run on injected SequencedTaskRunners vs named BrowserThreads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Relax a newly introduced NOTREACHED. Created 7 years, 10 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
Index: chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc
diff --git a/chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc b/chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc
index b03a14ca882f451496a4b7a7cfe5c90df2c80855..d48ad3f720aca9ddffebb0b94f66eafee4ed6d75 100644
--- a/chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc
+++ b/chrome/browser/net/sqlite_persistent_cookie_store_perftest.cc
@@ -3,26 +3,24 @@
// found in the LICENSE file.
#include "base/bind.h"
+#include "base/compiler_specific.h"
#include "base/files/scoped_temp_dir.h"
-#include "base/message_loop.h"
#include "base/perftimer.h"
+#include "base/sequenced_task_runner.h"
#include "base/stringprintf.h"
#include "base/synchronization/waitable_event.h"
-#include "base/test/thread_test_helper.h"
+#include "base/test/sequenced_worker_pool_owner.h"
+#include "base/threading/sequenced_worker_pool.h"
#include "chrome/browser/net/sqlite_persistent_cookie_store.h"
#include "chrome/common/chrome_constants.h"
-#include "content/public/test/test_browser_thread.h"
#include "googleurl/src/gurl.h"
#include "net/cookies/canonical_cookie.h"
#include "testing/gtest/include/gtest/gtest.h"
-using content::BrowserThread;
-
class SQLitePersistentCookieStorePerfTest : public testing::Test {
public:
SQLitePersistentCookieStorePerfTest()
- : db_thread_(BrowserThread::DB),
- io_thread_(BrowserThread::IO),
+ : pool_owner_(new base::SequencedWorkerPoolOwner(1, "Background Pool")),
loaded_event_(false, false),
key_loaded_event_(false, false) {
}
@@ -43,12 +41,22 @@ class SQLitePersistentCookieStorePerfTest : public testing::Test {
loaded_event_.Wait();
}
- virtual void SetUp() {
- db_thread_.Start();
- io_thread_.Start();
+ scoped_refptr<base::SequencedTaskRunner> background_task_runner() {
+ return pool_owner_->pool()->GetSequencedTaskRunner(
+ pool_owner_->pool()->GetNamedSequenceToken("background"));
+ }
+
+ scoped_refptr<base::SequencedTaskRunner> client_task_runner() {
+ return pool_owner_->pool()->GetSequencedTaskRunner(
+ pool_owner_->pool()->GetNamedSequenceToken("client"));
+ }
+
+ virtual void SetUp() OVERRIDE {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
store_ = new SQLitePersistentCookieStore(
temp_dir_.path().Append(chrome::kCookieFilename),
+ client_task_runner(),
+ background_task_runner(),
false, NULL);
std::vector<net::CanonicalCookie*> cookies;
Load();
@@ -70,19 +78,26 @@ class SQLitePersistentCookieStorePerfTest : public testing::Test {
// Replace the store effectively destroying the current one and forcing it
// to write its data to disk.
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());
+
+ // Shut down the pool, causing deferred (no-op) commits to be discarded.
+ pool_owner_->pool()->Shutdown();
+ // ~SequencedWorkerPoolOwner blocks on pool shutdown.
+ pool_owner_.reset(new base::SequencedWorkerPoolOwner(1, "pool"));
store_ = new SQLitePersistentCookieStore(
- temp_dir_.path().Append(chrome::kCookieFilename), false, NULL);
+ temp_dir_.path().Append(chrome::kCookieFilename),
+ client_task_runner(),
+ background_task_runner(),
+ false, NULL);
+ }
+
+ virtual void TearDown() OVERRIDE {
+ store_ = NULL;
+ pool_owner_->pool()->Shutdown();
}
protected:
- content::TestBrowserThread db_thread_;
- content::TestBrowserThread io_thread_;
+ scoped_ptr<base::SequencedWorkerPoolOwner> pool_owner_;
base::WaitableEvent loaded_event_;
base::WaitableEvent key_loaded_event_;
std::vector<net::CanonicalCookie*> cookies_;
« no previous file with comments | « chrome/browser/net/sqlite_persistent_cookie_store.cc ('k') | chrome/browser/net/sqlite_persistent_cookie_store_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698