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

Side by Side Diff: content/common/database_connections_unittest.cc

Issue 1135943005: Revert of content/common: Remove use of MessageLoopProxy and deprecated MessageLoop APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/thread_task_runner_handle.h"
9 #include "base/threading/thread.h" 8 #include "base/threading/thread.h"
10 #include "storage/common/database/database_connections.h" 9 #include "storage/common/database/database_connections.h"
11 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
12 11
13 using base::ASCIIToUTF16; 12 using base::ASCIIToUTF16;
14 using storage::DatabaseConnections; 13 using storage::DatabaseConnections;
15 using storage::DatabaseConnectionsWrapper; 14 using storage::DatabaseConnectionsWrapper;
16 15
17 namespace content { 16 namespace content {
18 17
19 namespace { 18 namespace {
20 19
21 void RemoveConnectionTask( 20 void RemoveConnectionTask(
22 const std::string& origin_id, const base::string16& database_name, 21 const std::string& origin_id, const base::string16& database_name,
23 scoped_refptr<DatabaseConnectionsWrapper> obj, 22 scoped_refptr<DatabaseConnectionsWrapper> obj,
24 bool* did_task_execute) { 23 bool* did_task_execute) {
25 *did_task_execute = true; 24 *did_task_execute = true;
26 obj->RemoveOpenConnection(origin_id, database_name); 25 obj->RemoveOpenConnection(origin_id, database_name);
27 } 26 }
28 27
29 void ScheduleRemoveConnectionTask( 28 void ScheduleRemoveConnectionTask(
30 base::Thread* thread, const std::string& origin_id, 29 base::Thread* thread, const std::string& origin_id,
31 const base::string16& database_name, 30 const base::string16& database_name,
32 scoped_refptr<DatabaseConnectionsWrapper> obj, 31 scoped_refptr<DatabaseConnectionsWrapper> obj,
33 bool* did_task_execute) { 32 bool* did_task_execute) {
34 thread->task_runner()->PostTask( 33 thread->message_loop()->PostTask(
35 FROM_HERE, base::Bind(&RemoveConnectionTask, origin_id, database_name, 34 FROM_HERE,
36 obj, did_task_execute)); 35 base::Bind(&RemoveConnectionTask, origin_id, database_name, obj,
36 did_task_execute));
37 } 37 }
38 38
39 } // anonymous namespace 39 } // anonymous namespace
40 40
41 TEST(DatabaseConnectionsTest, DatabaseConnectionsTest) { 41 TEST(DatabaseConnectionsTest, DatabaseConnectionsTest) {
42 const std::string kOriginId("origin_id"); 42 const std::string kOriginId("origin_id");
43 const base::string16 kName(ASCIIToUTF16("database_name")); 43 const base::string16 kName(ASCIIToUTF16("database_name"));
44 const base::string16 kName2(ASCIIToUTF16("database_name2")); 44 const base::string16 kName2(ASCIIToUTF16("database_name2"));
45 const int64 kSize = 1000; 45 const int64 kSize = 1000;
46 46
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 obj->RemoveOpenConnection(kOriginId, kName); 114 obj->RemoveOpenConnection(kOriginId, kName);
115 EXPECT_TRUE(obj->HasOpenConnections()); 115 EXPECT_TRUE(obj->HasOpenConnections());
116 obj->RemoveOpenConnection(kOriginId, kName); 116 obj->RemoveOpenConnection(kOriginId, kName);
117 EXPECT_FALSE(obj->HasOpenConnections()); 117 EXPECT_FALSE(obj->HasOpenConnections());
118 obj->WaitForAllDatabasesToClose(); // should return immediately 118 obj->WaitForAllDatabasesToClose(); // should return immediately
119 119
120 // Test WaitForAllDatabasesToClose with the last connection 120 // Test WaitForAllDatabasesToClose with the last connection
121 // being removed on the current thread. 121 // being removed on the current thread.
122 obj->AddOpenConnection(kOriginId, kName); 122 obj->AddOpenConnection(kOriginId, kName);
123 bool did_task_execute = false; 123 bool did_task_execute = false;
124 base::ThreadTaskRunnerHandle::Get()->PostTask( 124 base::MessageLoop::current()->PostTask(
125 FROM_HERE, base::Bind(&RemoveConnectionTask, kOriginId, kName, obj, 125 FROM_HERE,
126 &did_task_execute)); 126 base::Bind(&RemoveConnectionTask, kOriginId, kName, obj,
127 &did_task_execute));
127 obj->WaitForAllDatabasesToClose(); // should return after the task executes 128 obj->WaitForAllDatabasesToClose(); // should return after the task executes
128 EXPECT_TRUE(did_task_execute); 129 EXPECT_TRUE(did_task_execute);
129 EXPECT_FALSE(obj->HasOpenConnections()); 130 EXPECT_FALSE(obj->HasOpenConnections());
130 131
131 // Test WaitForAllDatabasesToClose with the last connection 132 // Test WaitForAllDatabasesToClose with the last connection
132 // being removed on another thread. 133 // being removed on another thread.
133 obj->AddOpenConnection(kOriginId, kName); 134 obj->AddOpenConnection(kOriginId, kName);
134 base::Thread thread("WrapperTestThread"); 135 base::Thread thread("WrapperTestThread");
135 thread.Start(); 136 thread.Start();
136 did_task_execute = false; 137 did_task_execute = false;
137 base::ThreadTaskRunnerHandle::Get()->PostTask( 138 base::MessageLoop::current()->PostTask(
138 FROM_HERE, base::Bind(&ScheduleRemoveConnectionTask, &thread, kOriginId, 139 FROM_HERE,
139 kName, obj, &did_task_execute)); 140 base::Bind(&ScheduleRemoveConnectionTask, &thread, kOriginId, kName, obj,
141 &did_task_execute));
140 obj->WaitForAllDatabasesToClose(); // should return after the task executes 142 obj->WaitForAllDatabasesToClose(); // should return after the task executes
141 EXPECT_TRUE(did_task_execute); 143 EXPECT_TRUE(did_task_execute);
142 EXPECT_FALSE(obj->HasOpenConnections()); 144 EXPECT_FALSE(obj->HasOpenConnections());
143 } 145 }
144 146
145 } // namespace content 147 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/gpu/browser_gpu_channel_host_factory.cc ('k') | content/common/gpu/client/gpu_channel_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698