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

Side by Side Diff: content/browser/indexed_db/indexed_db_transaction_unittest.cc

Issue 2941353002: Indexed DB: Use BindOnce / OnceCallback / OnceClosure where applicable (Closed)
Patch Set: Created 3 years, 6 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/indexed_db/indexed_db_transaction.h" 5 #include "content/browser/indexed_db/indexed_db_transaction.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 } 58 }
59 59
60 void RunPostedTasks() { base::RunLoop().RunUntilIdle(); } 60 void RunPostedTasks() { base::RunLoop().RunUntilIdle(); }
61 leveldb::Status DummyOperation(leveldb::Status result, 61 leveldb::Status DummyOperation(leveldb::Status result,
62 IndexedDBTransaction* transaction) { 62 IndexedDBTransaction* transaction) {
63 return result; 63 return result;
64 } 64 }
65 leveldb::Status AbortableOperation(AbortObserver* observer, 65 leveldb::Status AbortableOperation(AbortObserver* observer,
66 IndexedDBTransaction* transaction) { 66 IndexedDBTransaction* transaction) {
67 transaction->ScheduleAbortTask( 67 transaction->ScheduleAbortTask(
68 base::Bind(&AbortObserver::AbortTask, base::Unretained(observer))); 68 base::BindOnce(&AbortObserver::AbortTask, base::Unretained(observer)));
69 return leveldb::Status::OK(); 69 return leveldb::Status::OK();
70 } 70 }
71 71
72 protected: 72 protected:
73 scoped_refptr<IndexedDBFakeBackingStore> backing_store_; 73 scoped_refptr<IndexedDBFakeBackingStore> backing_store_;
74 scoped_refptr<IndexedDBDatabase> db_; 74 scoped_refptr<IndexedDBDatabase> db_;
75 scoped_refptr<MockIndexedDBFactory> factory_; 75 scoped_refptr<MockIndexedDBFactory> factory_;
76 76
77 private: 77 private:
78 TestBrowserThreadBundle thread_bundle_; 78 TestBrowserThreadBundle thread_bundle_;
(...skipping 24 matching lines...) Expand all
103 db_->TransactionCreated(transaction.get()); 103 db_->TransactionCreated(transaction.get());
104 104
105 // No conflicting transactions, so coordinator will start it immediately: 105 // No conflicting transactions, so coordinator will start it immediately:
106 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state()); 106 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state());
107 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 107 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
108 EXPECT_EQ(0, transaction->diagnostics().tasks_scheduled); 108 EXPECT_EQ(0, transaction->diagnostics().tasks_scheduled);
109 EXPECT_EQ(0, transaction->diagnostics().tasks_completed); 109 EXPECT_EQ(0, transaction->diagnostics().tasks_completed);
110 110
111 // Schedule a task - timer won't be started until it's processed. 111 // Schedule a task - timer won't be started until it's processed.
112 transaction->ScheduleTask( 112 transaction->ScheduleTask(
113 base::Bind(&IndexedDBTransactionTest::DummyOperation, 113 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
114 base::Unretained(this), leveldb::Status::OK())); 114 base::Unretained(this), leveldb::Status::OK()));
115 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 115 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
116 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled); 116 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled);
117 EXPECT_EQ(0, transaction->diagnostics().tasks_completed); 117 EXPECT_EQ(0, transaction->diagnostics().tasks_completed);
118 118
119 RunPostedTasks(); 119 RunPostedTasks();
120 EXPECT_TRUE(transaction->IsTimeoutTimerRunning()); 120 EXPECT_TRUE(transaction->IsTimeoutTimerRunning());
121 121
122 transaction->Timeout(); 122 transaction->Timeout();
123 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state()); 123 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state());
124 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 124 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
125 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled); 125 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled);
126 EXPECT_EQ(1, transaction->diagnostics().tasks_completed); 126 EXPECT_EQ(1, transaction->diagnostics().tasks_completed);
127 127
128 // This task will be ignored. 128 // This task will be ignored.
129 transaction->ScheduleTask( 129 transaction->ScheduleTask(
130 base::Bind(&IndexedDBTransactionTest::DummyOperation, 130 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
131 base::Unretained(this), leveldb::Status::OK())); 131 base::Unretained(this), leveldb::Status::OK()));
132 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state()); 132 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state());
133 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 133 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
134 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled); 134 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled);
135 EXPECT_EQ(1, transaction->diagnostics().tasks_completed); 135 EXPECT_EQ(1, transaction->diagnostics().tasks_completed);
136 } 136 }
137 137
138 TEST_F(IndexedDBTransactionTest, NoTimeoutReadOnly) { 138 TEST_F(IndexedDBTransactionTest, NoTimeoutReadOnly) {
139 const int64_t id = 0; 139 const int64_t id = 0;
140 const std::set<int64_t> scope; 140 const std::set<int64_t> scope;
141 const leveldb::Status commit_success = leveldb::Status::OK(); 141 const leveldb::Status commit_success = leveldb::Status::OK();
142 std::unique_ptr<IndexedDBConnection> connection( 142 std::unique_ptr<IndexedDBConnection> connection(
143 base::MakeUnique<IndexedDBConnection>( 143 base::MakeUnique<IndexedDBConnection>(
144 kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); 144 kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks()));
145 std::unique_ptr<IndexedDBTransaction> transaction = 145 std::unique_ptr<IndexedDBTransaction> transaction =
146 std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( 146 std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
147 id, connection.get(), scope, blink::kWebIDBTransactionModeReadOnly, 147 id, connection.get(), scope, blink::kWebIDBTransactionModeReadOnly,
148 new IndexedDBFakeBackingStore::FakeTransaction(commit_success))); 148 new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
149 db_->TransactionCreated(transaction.get()); 149 db_->TransactionCreated(transaction.get());
150 150
151 // No conflicting transactions, so coordinator will start it immediately: 151 // No conflicting transactions, so coordinator will start it immediately:
152 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state()); 152 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state());
153 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 153 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
154 154
155 // Schedule a task - timer won't be started until it's processed. 155 // Schedule a task - timer won't be started until it's processed.
156 transaction->ScheduleTask( 156 transaction->ScheduleTask(
157 base::Bind(&IndexedDBTransactionTest::DummyOperation, 157 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
158 base::Unretained(this), leveldb::Status::OK())); 158 base::Unretained(this), leveldb::Status::OK()));
159 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 159 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
160 160
161 // Transaction is read-only, so no need to time it out. 161 // Transaction is read-only, so no need to time it out.
162 RunPostedTasks(); 162 RunPostedTasks();
163 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 163 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
164 164
165 // Clean up to avoid leaks. 165 // Clean up to avoid leaks.
166 transaction->Abort(IndexedDBDatabaseError( 166 transaction->Abort(IndexedDBDatabaseError(
167 IndexedDBDatabaseError(blink::kWebIDBDatabaseExceptionAbortError, 167 IndexedDBDatabaseError(blink::kWebIDBDatabaseExceptionAbortError,
168 "Transaction aborted by user."))); 168 "Transaction aborted by user.")));
(...skipping 22 matching lines...) Expand all
191 191
192 db_->TransactionCreated(transaction.get()); 192 db_->TransactionCreated(transaction.get());
193 193
194 EXPECT_FALSE(transaction->HasPendingTasks()); 194 EXPECT_FALSE(transaction->HasPendingTasks());
195 EXPECT_TRUE(transaction->IsTaskQueueEmpty()); 195 EXPECT_TRUE(transaction->IsTaskQueueEmpty());
196 EXPECT_TRUE(transaction->task_queue_.empty()); 196 EXPECT_TRUE(transaction->task_queue_.empty());
197 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 197 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
198 198
199 transaction->ScheduleTask( 199 transaction->ScheduleTask(
200 blink::kWebIDBTaskTypeNormal, 200 blink::kWebIDBTaskTypeNormal,
201 base::Bind(&IndexedDBTransactionTest::DummyOperation, 201 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
202 base::Unretained(this), leveldb::Status::OK())); 202 base::Unretained(this), leveldb::Status::OK()));
203 203
204 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled); 204 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled);
205 EXPECT_EQ(0, transaction->diagnostics().tasks_completed); 205 EXPECT_EQ(0, transaction->diagnostics().tasks_completed);
206 206
207 EXPECT_TRUE(transaction->HasPendingTasks()); 207 EXPECT_TRUE(transaction->HasPendingTasks());
208 EXPECT_FALSE(transaction->IsTaskQueueEmpty()); 208 EXPECT_FALSE(transaction->IsTaskQueueEmpty());
209 EXPECT_FALSE(transaction->task_queue_.empty()); 209 EXPECT_FALSE(transaction->task_queue_.empty());
210 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 210 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
211 211
212 // Pump the message loop so that the transaction completes all pending tasks, 212 // Pump the message loop so that the transaction completes all pending tasks,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 255
256 EXPECT_FALSE(transaction->HasPendingTasks()); 256 EXPECT_FALSE(transaction->HasPendingTasks());
257 EXPECT_TRUE(transaction->IsTaskQueueEmpty()); 257 EXPECT_TRUE(transaction->IsTaskQueueEmpty());
258 EXPECT_TRUE(transaction->task_queue_.empty()); 258 EXPECT_TRUE(transaction->task_queue_.empty());
259 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 259 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
260 260
261 EXPECT_CALL(*factory_, HandleBackingStoreFailure(testing::_)).Times(1); 261 EXPECT_CALL(*factory_, HandleBackingStoreFailure(testing::_)).Times(1);
262 262
263 transaction->ScheduleTask( 263 transaction->ScheduleTask(
264 blink::kWebIDBTaskTypeNormal, 264 blink::kWebIDBTaskTypeNormal,
265 base::Bind(&IndexedDBTransactionTest::DummyOperation, 265 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
266 base::Unretained(this), leveldb::Status::IOError("error"))); 266 base::Unretained(this),
267 leveldb::Status::IOError("error")));
267 268
268 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled); 269 EXPECT_EQ(1, transaction->diagnostics().tasks_scheduled);
269 EXPECT_EQ(0, transaction->diagnostics().tasks_completed); 270 EXPECT_EQ(0, transaction->diagnostics().tasks_completed);
270 271
271 EXPECT_TRUE(transaction->HasPendingTasks()); 272 EXPECT_TRUE(transaction->HasPendingTasks());
272 EXPECT_FALSE(transaction->IsTaskQueueEmpty()); 273 EXPECT_FALSE(transaction->IsTaskQueueEmpty());
273 EXPECT_FALSE(transaction->task_queue_.empty()); 274 EXPECT_FALSE(transaction->task_queue_.empty());
274 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 275 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
275 276
276 // Pump the message loop so that the transaction completes all pending tasks, 277 // Pump the message loop so that the transaction completes all pending tasks,
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 319
319 db_->TransactionCreated(transaction.get()); 320 db_->TransactionCreated(transaction.get());
320 321
321 EXPECT_FALSE(transaction->HasPendingTasks()); 322 EXPECT_FALSE(transaction->HasPendingTasks());
322 EXPECT_TRUE(transaction->IsTaskQueueEmpty()); 323 EXPECT_TRUE(transaction->IsTaskQueueEmpty());
323 EXPECT_TRUE(transaction->task_queue_.empty()); 324 EXPECT_TRUE(transaction->task_queue_.empty());
324 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 325 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
325 326
326 transaction->ScheduleTask( 327 transaction->ScheduleTask(
327 blink::kWebIDBTaskTypePreemptive, 328 blink::kWebIDBTaskTypePreemptive,
328 base::Bind(&IndexedDBTransactionTest::DummyOperation, 329 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
329 base::Unretained(this), leveldb::Status::OK())); 330 base::Unretained(this), leveldb::Status::OK()));
330 transaction->AddPreemptiveEvent(); 331 transaction->AddPreemptiveEvent();
331 332
332 EXPECT_TRUE(transaction->HasPendingTasks()); 333 EXPECT_TRUE(transaction->HasPendingTasks());
333 EXPECT_FALSE(transaction->IsTaskQueueEmpty()); 334 EXPECT_FALSE(transaction->IsTaskQueueEmpty());
334 EXPECT_TRUE(transaction->task_queue_.empty()); 335 EXPECT_TRUE(transaction->task_queue_.empty());
335 EXPECT_FALSE(transaction->preemptive_task_queue_.empty()); 336 EXPECT_FALSE(transaction->preemptive_task_queue_.empty());
336 337
337 // Pump the message loop so that the transaction completes all pending tasks, 338 // Pump the message loop so that the transaction completes all pending tasks,
338 // otherwise it will defer the commit. 339 // otherwise it will defer the commit.
339 base::RunLoop().RunUntilIdle(); 340 base::RunLoop().RunUntilIdle();
(...skipping 26 matching lines...) Expand all
366 base::MakeUnique<IndexedDBConnection>( 367 base::MakeUnique<IndexedDBConnection>(
367 kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks())); 368 kFakeProcessId, db_, new MockIndexedDBDatabaseCallbacks()));
368 std::unique_ptr<IndexedDBTransaction> transaction = 369 std::unique_ptr<IndexedDBTransaction> transaction =
369 std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction( 370 std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
370 id, connection.get(), scope, GetParam(), 371 id, connection.get(), scope, GetParam(),
371 new IndexedDBFakeBackingStore::FakeTransaction(commit_failure))); 372 new IndexedDBFakeBackingStore::FakeTransaction(commit_failure)));
372 db_->TransactionCreated(transaction.get()); 373 db_->TransactionCreated(transaction.get());
373 374
374 AbortObserver observer; 375 AbortObserver observer;
375 transaction->ScheduleTask( 376 transaction->ScheduleTask(
376 base::Bind(&IndexedDBTransactionTest::AbortableOperation, 377 base::BindOnce(&IndexedDBTransactionTest::AbortableOperation,
377 base::Unretained(this), 378 base::Unretained(this), base::Unretained(&observer)));
378 base::Unretained(&observer)));
379 379
380 // Pump the message loop so that the transaction completes all pending tasks, 380 // Pump the message loop so that the transaction completes all pending tasks,
381 // otherwise it will defer the commit. 381 // otherwise it will defer the commit.
382 base::RunLoop().RunUntilIdle(); 382 base::RunLoop().RunUntilIdle();
383 383
384 EXPECT_FALSE(observer.abort_task_called()); 384 EXPECT_FALSE(observer.abort_task_called());
385 transaction->Commit(); 385 transaction->Commit();
386 EXPECT_TRUE(observer.abort_task_called()); 386 EXPECT_TRUE(observer.abort_task_called());
387 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state()); 387 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state());
388 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 388 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
(...skipping 11 matching lines...) Expand all
400 id, connection.get(), scope, GetParam(), 400 id, connection.get(), scope, GetParam(),
401 new IndexedDBFakeBackingStore::FakeTransaction(commit_success))); 401 new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
402 db_->TransactionCreated(transaction.get()); 402 db_->TransactionCreated(transaction.get());
403 403
404 // No conflicting transactions, so coordinator will start it immediately: 404 // No conflicting transactions, so coordinator will start it immediately:
405 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state()); 405 EXPECT_EQ(IndexedDBTransaction::STARTED, transaction->state());
406 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 406 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
407 407
408 transaction->ScheduleTask( 408 transaction->ScheduleTask(
409 blink::kWebIDBTaskTypePreemptive, 409 blink::kWebIDBTaskTypePreemptive,
410 base::Bind(&IndexedDBTransactionTest::DummyOperation, 410 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
411 base::Unretained(this), leveldb::Status::OK())); 411 base::Unretained(this), leveldb::Status::OK()));
412 EXPECT_EQ(0, transaction->pending_preemptive_events_); 412 EXPECT_EQ(0, transaction->pending_preemptive_events_);
413 transaction->AddPreemptiveEvent(); 413 transaction->AddPreemptiveEvent();
414 EXPECT_EQ(1, transaction->pending_preemptive_events_); 414 EXPECT_EQ(1, transaction->pending_preemptive_events_);
415 415
416 RunPostedTasks(); 416 RunPostedTasks();
417 417
418 transaction->Abort( 418 transaction->Abort(
419 IndexedDBDatabaseError(blink::kWebIDBDatabaseExceptionAbortError, 419 IndexedDBDatabaseError(blink::kWebIDBDatabaseExceptionAbortError,
420 "Transaction aborted by user.")); 420 "Transaction aborted by user."));
421 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state()); 421 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state());
422 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 422 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
423 EXPECT_EQ(0, transaction->pending_preemptive_events_); 423 EXPECT_EQ(0, transaction->pending_preemptive_events_);
424 EXPECT_TRUE(transaction->preemptive_task_queue_.empty()); 424 EXPECT_TRUE(transaction->preemptive_task_queue_.empty());
425 EXPECT_TRUE(transaction->task_queue_.empty()); 425 EXPECT_TRUE(transaction->task_queue_.empty());
426 EXPECT_FALSE(transaction->HasPendingTasks()); 426 EXPECT_FALSE(transaction->HasPendingTasks());
427 EXPECT_EQ(transaction->diagnostics().tasks_completed, 427 EXPECT_EQ(transaction->diagnostics().tasks_completed,
428 transaction->diagnostics().tasks_scheduled); 428 transaction->diagnostics().tasks_scheduled);
429 EXPECT_FALSE(transaction->should_process_queue_); 429 EXPECT_FALSE(transaction->should_process_queue_);
430 EXPECT_TRUE(transaction->backing_store_transaction_begun_); 430 EXPECT_TRUE(transaction->backing_store_transaction_begun_);
431 EXPECT_TRUE(transaction->used_); 431 EXPECT_TRUE(transaction->used_);
432 EXPECT_FALSE(transaction->commit_pending_); 432 EXPECT_FALSE(transaction->commit_pending_);
433 433
434 // This task will be ignored. 434 // This task will be ignored.
435 transaction->ScheduleTask( 435 transaction->ScheduleTask(
436 base::Bind(&IndexedDBTransactionTest::DummyOperation, 436 base::BindOnce(&IndexedDBTransactionTest::DummyOperation,
437 base::Unretained(this), leveldb::Status::OK())); 437 base::Unretained(this), leveldb::Status::OK()));
438 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state()); 438 EXPECT_EQ(IndexedDBTransaction::FINISHED, transaction->state());
439 EXPECT_FALSE(transaction->IsTimeoutTimerRunning()); 439 EXPECT_FALSE(transaction->IsTimeoutTimerRunning());
440 EXPECT_FALSE(transaction->HasPendingTasks()); 440 EXPECT_FALSE(transaction->HasPendingTasks());
441 EXPECT_EQ(transaction->diagnostics().tasks_completed, 441 EXPECT_EQ(transaction->diagnostics().tasks_completed,
442 transaction->diagnostics().tasks_scheduled); 442 transaction->diagnostics().tasks_scheduled);
443 } 443 }
444 444
445 TEST_F(IndexedDBTransactionTest, IndexedDBObserver) { 445 TEST_F(IndexedDBTransactionTest, IndexedDBObserver) {
446 const int64_t id = 0; 446 const int64_t id = 0;
447 const std::set<int64_t> scope; 447 const std::set<int64_t> scope;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 static const blink::WebIDBTransactionMode kTestModes[] = { 494 static const blink::WebIDBTransactionMode kTestModes[] = {
495 blink::kWebIDBTransactionModeReadOnly, 495 blink::kWebIDBTransactionModeReadOnly,
496 blink::kWebIDBTransactionModeReadWrite, 496 blink::kWebIDBTransactionModeReadWrite,
497 blink::kWebIDBTransactionModeVersionChange}; 497 blink::kWebIDBTransactionModeVersionChange};
498 498
499 INSTANTIATE_TEST_CASE_P(IndexedDBTransactions, 499 INSTANTIATE_TEST_CASE_P(IndexedDBTransactions,
500 IndexedDBTransactionTestMode, 500 IndexedDBTransactionTestMode,
501 ::testing::ValuesIn(kTestModes)); 501 ::testing::ValuesIn(kTestModes));
502 502
503 } // namespace content 503 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/indexed_db/indexed_db_transaction.cc ('k') | content/browser/indexed_db/indexed_db_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698