QWebDatabase Class

The QWebDatabase class provides access to HTML 5 databases created with JavaScript. More...

Header: #include <QWebDatabase>
qmake: QT += webkitwidgets
Since: Qt 4.5

Public Functions

QWebDatabase(const QWebDatabase & other)
~QWebDatabase()
QString displayName() const
qint64 expectedSize() const
QString fileName() const
QString name() const
QWebSecurityOrigin origin() const
qint64 size() const
QWebDatabase & operator=(const QWebDatabase & other)

Static Public Members

void removeAllDatabases()
void removeDatabase(const QWebDatabase & db)

Detailed Description

The QWebDatabase class provides access to HTML 5 databases created with JavaScript.

The upcoming HTML 5 standard includes support for SQL databases that web sites can create and access on a local computer through JavaScript. QWebDatabase is the C++ interface to these databases.

Databases are grouped together in security origins. To get access to all databases defined by a security origin, use QWebSecurityOrigin::databases(). Each database has an internal name(), as well as a user-friendly name, provided by displayName(). These names are specified when creating the database in the JavaScript code.

WebKit uses SQLite to create and access the local SQL databases. The location of the database file in the local file system is returned by fileName(). You can access the database directly through the Qt SQL database module.

For each database the web site can define an expectedSize(). The current size of the database in bytes is returned by size().

For more information refer to the HTML5 Web SQL Database Draft Standard.

See also QWebSecurityOrigin.

Member Function Documentation

QWebDatabase::​QWebDatabase(const QWebDatabase & other)

Constructs a web database from other.

QWebDatabase::​~QWebDatabase()

Destroys the web database object. The data within this database is not destroyed.

QString QWebDatabase::​displayName() const

Returns the name of the database in a format that is suitable for display to the user.

qint64 QWebDatabase::​expectedSize() const

Returns the expected size of the database in bytes as defined by the web author.

QString QWebDatabase::​fileName() const

Returns the file name of the web database.

The name can be used to access the database through the Qt SQL database module, for example:

QWebDatabase webdb = ...
QSqlDatabase sqldb = QSqlDatabase::addDatabase("QSQLITE", "myconnection");
sqldb.setDatabaseName(webdb.fileName());
if (sqldb.open()) {
    QStringList tables = sqldb.tables();
    ...
}

Note: Concurrent access to a database from multiple threads or processes is not very efficient because SQLite is used as WebKit's database backend.

QString QWebDatabase::​name() const

Returns the name of the database.

QWebSecurityOrigin QWebDatabase::​origin() const

Returns the databases's security origin.

[static] void QWebDatabase::​removeAllDatabases()

Deletes all web databases in the configured offline storage path.

This function was introduced in Qt 4.6.

See also QWebSettings::setOfflineStoragePath().

[static] void QWebDatabase::​removeDatabase(const QWebDatabase & db)

Removes the database db from its security origin. All data stored in the database db will be destroyed.

qint64 QWebDatabase::​size() const

Returns the current size of the database in bytes.

QWebDatabase & QWebDatabase::​operator=(const QWebDatabase & other)

Assigns the other web database to this.

© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.