diff options
author | Ben Murdoch <benm@google.com> | 2011-05-13 16:23:25 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-05-16 11:35:02 +0100 |
commit | 65f03d4f644ce73618e5f4f50dd694b26f55ae12 (patch) | |
tree | f478babb801e720de7bfaee23443ffe029f58731 /WebKit/qt/Api/qwebdatabase.cpp | |
parent | 47de4a2fb7262c7ebdb9cd133ad2c54c187454d0 (diff) | |
download | external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.zip external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.gz external_webkit-65f03d4f644ce73618e5f4f50dd694b26f55ae12.tar.bz2 |
Merge WebKit at r75993: Initial merge by git.
Change-Id: I602bbdc3974787a3b0450456a30a7868286921c3
Diffstat (limited to 'WebKit/qt/Api/qwebdatabase.cpp')
-rw-r--r-- | WebKit/qt/Api/qwebdatabase.cpp | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/WebKit/qt/Api/qwebdatabase.cpp b/WebKit/qt/Api/qwebdatabase.cpp deleted file mode 100644 index ba039c7..0000000 --- a/WebKit/qt/Api/qwebdatabase.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/* - Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "config.h" -#include "qwebdatabase.h" - -#include "qwebdatabase_p.h" -#include "qwebsecurityorigin.h" -#include "qwebsecurityorigin_p.h" -#include "DatabaseDetails.h" -#include "DatabaseTracker.h" - -using namespace WebCore; - -/*! - \class QWebDatabase - \since 4.5 - \brief The QWebDatabase class provides access to HTML 5 databases created with JavaScript. - - \inmodule QtWebKit - - 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 QtSql 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 \l{http://dev.w3.org/html5/webdatabase/}{HTML5 Web SQL Database Draft Standard}. - - \sa QWebSecurityOrigin -*/ - -/*! - Constructs a web database from \a other. -*/ -QWebDatabase::QWebDatabase(const QWebDatabase& other) - : d(other.d) -{ -} - -/*! - Assigns the \a other web database to this. -*/ -QWebDatabase& QWebDatabase::operator=(const QWebDatabase& other) -{ - d = other.d; - return *this; -} - -/*! - Returns the name of the database. -*/ -QString QWebDatabase::name() const -{ - return d->name; -} - -/*! - Returns the name of the database in a format that is suitable for display to the user. -*/ -QString QWebDatabase::displayName() const -{ -#if ENABLE(DATABASE) - DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(d->name, d->origin.get()); - return details.displayName(); -#else - return QString(); -#endif -} - -/*! - Returns the expected size of the database in bytes as defined by the web author. -*/ -qint64 QWebDatabase::expectedSize() const -{ -#if ENABLE(DATABASE) - DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(d->name, d->origin.get()); - return details.expectedUsage(); -#else - return 0; -#endif -} - -/*! - Returns the current size of the database in bytes. -*/ -qint64 QWebDatabase::size() const -{ -#if ENABLE(DATABASE) - DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(d->name, d->origin.get()); - return details.currentUsage(); -#else - return 0; -#endif -} - -/*! - \internal -*/ -QWebDatabase::QWebDatabase(QWebDatabasePrivate* priv) -{ - d = priv; -} - -/*! - Returns the file name of the web database. - - The name can be used to access the database through the QtSql database module, for example: - \code - QWebDatabase webdb = ... - QSqlDatabase sqldb = QSqlDatabase::addDatabase("QSQLITE", "myconnection"); - sqldb.setDatabaseName(webdb.fileName()); - if (sqldb.open()) { - QStringList tables = sqldb.tables(); - ... - } - \endcode - - \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::fileName() const -{ -#if ENABLE(DATABASE) - return DatabaseTracker::tracker().fullPathForDatabase(d->origin.get(), d->name, false); -#else - return QString(); -#endif -} - -/*! - Returns the databases's security origin. -*/ -QWebSecurityOrigin QWebDatabase::origin() const -{ - QWebSecurityOriginPrivate* priv = new QWebSecurityOriginPrivate(d->origin.get()); - QWebSecurityOrigin origin(priv); - return origin; -} - -/*! - Removes the database \a db from its security origin. All data stored in the - database \a db will be destroyed. -*/ -void QWebDatabase::removeDatabase(const QWebDatabase& db) -{ -#if ENABLE(DATABASE) - DatabaseTracker::tracker().deleteDatabase(db.d->origin.get(), db.d->name); -#endif -} - -/*! - \since 4.6 - - Deletes all web databases in the configured offline storage path. - - \sa QWebSettings::setOfflineStoragePath() -*/ -void QWebDatabase::removeAllDatabases() -{ -#if ENABLE(DATABASE) - DatabaseTracker::tracker().deleteAllDatabases(); -#endif -} - -/*! - Destroys the web database object. The data within this database is \b not destroyed. -*/ -QWebDatabase::~QWebDatabase() -{ -} - |