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

Unified Diff: content/browser/indexed_db/indexed_db_transaction_unittest.cc

Issue 2472213003: [IndexedDB] Refactoring to remove ref ptrs and host transaction ids. (Closed)
Patch Set: comments & rebase Created 4 years, 1 month 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: content/browser/indexed_db/indexed_db_transaction_unittest.cc
diff --git a/content/browser/indexed_db/indexed_db_transaction_unittest.cc b/content/browser/indexed_db/indexed_db_transaction_unittest.cc
index bcd30a2e29f481c99a855ffbcd9d1379e4046c69..a647c5ccad892b38e6dc1ca0601849f67515d8d9 100644
--- a/content/browser/indexed_db/indexed_db_transaction_unittest.cc
+++ b/content/browser/indexed_db/indexed_db_transaction_unittest.cc
@@ -5,6 +5,7 @@
#include "content/browser/indexed_db/indexed_db_transaction.h"
#include <stdint.h>
+#include <memory>
#include "base/bind.h"
#include "base/logging.h"
@@ -20,6 +21,7 @@
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
+const int kFakeProcessId = 10;
class AbortObserver {
public:
@@ -67,6 +69,7 @@ class IndexedDBTransactionTest : public testing::Test {
protected:
scoped_refptr<IndexedDBFakeBackingStore> backing_store_;
scoped_refptr<IndexedDBDatabase> db_;
+ url::Origin fake_connection_origin_;
private:
scoped_refptr<MockIndexedDBFactory> factory_;
@@ -90,11 +93,12 @@ TEST_F(IndexedDBTransactionTest, Timeout) {
const leveldb::Status commit_success = leveldb::Status::OK();
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope,
- blink::WebIDBTransactionModeReadWrite,
- new IndexedDBFakeBackingStore::FakeTransaction(commit_success));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, blink::WebIDBTransactionModeReadWrite,
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
db_->TransactionCreated(transaction.get());
// No conflicting transactions, so coordinator will start it immediately:
@@ -134,10 +138,12 @@ TEST_F(IndexedDBTransactionTest, NoTimeoutReadOnly) {
const leveldb::Status commit_success = leveldb::Status::OK();
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope, blink::WebIDBTransactionModeReadOnly,
- new IndexedDBFakeBackingStore::FakeTransaction(commit_success));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, blink::WebIDBTransactionModeReadOnly,
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
db_->TransactionCreated(transaction.get());
// No conflicting transactions, so coordinator will start it immediately:
@@ -165,10 +171,12 @@ TEST_P(IndexedDBTransactionTestMode, ScheduleNormalTask) {
const leveldb::Status commit_success = leveldb::Status::OK();
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope, GetParam(),
- new IndexedDBFakeBackingStore::FakeTransaction(commit_success));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, GetParam(),
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
EXPECT_FALSE(transaction->HasPendingTasks());
EXPECT_TRUE(transaction->IsTaskQueueEmpty());
@@ -226,11 +234,13 @@ TEST_F(IndexedDBTransactionTest, SchedulePreemptiveTask) {
const leveldb::Status commit_failure = leveldb::Status::Corruption("Ouch.");
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope,
- blink::WebIDBTransactionModeVersionChange,
- new IndexedDBFakeBackingStore::FakeTransaction(commit_failure));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope,
+ blink::WebIDBTransactionModeVersionChange,
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_failure)));
EXPECT_FALSE(transaction->HasPendingTasks());
EXPECT_TRUE(transaction->IsTaskQueueEmpty());
@@ -287,10 +297,12 @@ TEST_P(IndexedDBTransactionTestMode, AbortTasks) {
const leveldb::Status commit_failure = leveldb::Status::Corruption("Ouch.");
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope, GetParam(),
- new IndexedDBFakeBackingStore::FakeTransaction(commit_failure));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, GetParam(),
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_failure)));
db_->TransactionCreated(transaction.get());
AbortObserver observer;
@@ -316,10 +328,12 @@ TEST_P(IndexedDBTransactionTestMode, AbortPreemptive) {
const leveldb::Status commit_success = leveldb::Status::OK();
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope, GetParam(),
- new IndexedDBFakeBackingStore::FakeTransaction(commit_success));
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+ std::unique_ptr<IndexedDBTransaction> transaction =
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, GetParam(),
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_success)));
db_->TransactionCreated(transaction.get());
// No conflicting transactions, so coordinator will start it immediately:
@@ -366,12 +380,14 @@ TEST_F(IndexedDBTransactionTest, IndexedDBObserver) {
const leveldb::Status commit_success = leveldb::Status::OK();
std::unique_ptr<IndexedDBConnection> connection(
base::MakeUnique<IndexedDBConnection>(
- db_, new MockIndexedDBDatabaseCallbacks()));
- scoped_refptr<IndexedDBTransaction> transaction = new IndexedDBTransaction(
- id, connection->GetWeakPtr(), scope,
- blink::WebIDBTransactionModeReadWrite,
- new IndexedDBFakeBackingStore::FakeTransaction(commit_success));
- db_->TransactionCreated(transaction.get());
+ kFakeProcessId, fake_connection_origin_, db_,
+ new MockIndexedDBDatabaseCallbacks()));
+
+ IndexedDBTransaction* transaction = connection->StoreTransactionForTesting(
+ std::unique_ptr<IndexedDBTransaction>(new IndexedDBTransaction(
+ id, connection.get(), scope, blink::WebIDBTransactionModeReadWrite,
+ new IndexedDBFakeBackingStore::FakeTransaction(commit_success))));
+ db_->TransactionCreated(transaction);
EXPECT_EQ(0UL, transaction->pending_observers_.size());
EXPECT_EQ(0UL, connection->active_observers().size());

Powered by Google App Engine
This is Rietveld 408576698