void SQLTransactionClient::didCommitWriteTransaction(DatabaseBackendBase* database) { ExecutionContext* executionContext = database->databaseContext()->executionContext(); if (!executionContext->isContextThread()) { executionContext->postTask(createCrossThreadTask(&databaseModified, PassRefPtrWillBeRawPtr<DatabaseBackendBase>(database))); return; } databaseModified(database); }
void SQLTransactionClient::didCommitWriteTransaction(Database* database) { String originIdentifier = createDatabaseIdentifierFromSecurityOrigin(database->securityOrigin()); String databaseName = database->stringIdentifier(); ExecutionContext* executionContext = database->databaseContext()->executionContext(); if (!executionContext->isContextThread()) { executionContext->postTask(BLINK_FROM_HERE, createCrossThreadTask(&databaseModified, originIdentifier, databaseName)); } else { databaseModified(originIdentifier, databaseName); } }
Database::Database() : m_metadata(new Metadata(this)) , m_data() , m_rootGroup(nullptr) , m_timer(new QTimer(this)) , m_emitModified(false) , m_uuid(QUuid::createUuid()) { setRootGroup(new Group()); rootGroup()->setUuid(QUuid::createUuid()); rootGroup()->setName(tr("Root", "Root group name")); m_timer->setSingleShot(true); s_uuidMap.insert(m_uuid, this); connect(m_metadata, SIGNAL(metadataModified()), this, SLOT(markAsModified())); connect(m_timer, SIGNAL(timeout()), SIGNAL(databaseModified())); m_modified = false; m_emitModified = true; }