diff options
author | axis <qt-info@nokia.com> | 2010-02-26 09:05:39 (GMT) |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-02-26 09:05:39 (GMT) |
commit | 5e9382c018e231c5e2ef49dd8a38eaff535b9837 (patch) | |
tree | 89f13d31d5804c38999fdefd0e2aca39d305f91c | |
parent | 11e54877f87ff97039452f117d40ec17eefbcbff (diff) | |
parent | 53e7dda038e9251ca7380d3717709764c580192e (diff) | |
download | Qt-5e9382c018e231c5e2ef49dd8a38eaff535b9837.zip Qt-5e9382c018e231c5e2ef49dd8a38eaff535b9837.tar.gz Qt-5e9382c018e231c5e2ef49dd8a38eaff535b9837.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60
Conflicts:
qmake/generators/symbian/initprojectdeploy_symbian.cpp
qmake/generators/symbian/symmake_abld.h
97 files changed, 13821 insertions, 1079 deletions
diff --git a/demos/embedded/desktopservices/contenttab.cpp b/demos/embedded/desktopservices/contenttab.cpp index 8714b9c..fa9c586 100644 --- a/demos/embedded/desktopservices/contenttab.cpp +++ b/demos/embedded/desktopservices/contenttab.cpp @@ -114,20 +114,6 @@ QUrl ContentTab::itemUrl(QListWidgetItem *item) void ContentTab::keyPressEvent(QKeyEvent *event) { switch (event->key()) { - case Qt::Key_Up: - if (currentRow() == 0) { - setCurrentRow(count() - 1); - } else { - setCurrentRow(currentRow() - 1); - } - break; - case Qt::Key_Down: - if (currentRow() == (count() - 1)) { - setCurrentRow(0); - } else { - setCurrentRow(currentRow() + 1); - } - break; case Qt::Key_Select: openItem(currentItem()); default: diff --git a/doc/src/examples/scribble.qdoc b/doc/src/examples/scribble.qdoc index 3c6d136..5c66410 100644 --- a/doc/src/examples/scribble.qdoc +++ b/doc/src/examples/scribble.qdoc @@ -74,9 +74,8 @@ \o \c MainWindow provides a menu above the \c ScribbleArea. \endlist - We will start by reviewing the \c ScribbleArea class, which - contains the interesting, then we will take a look at the \c - MainWindow class that uses it. + We will start by reviewing the \c ScribbleArea class. Then we will + review the \c MainWindow class, which uses \c ScribbleArea. \section1 ScribbleArea Class Definition diff --git a/doc/src/platforms/emb-directfb-EmbLinux.qdoc b/doc/src/platforms/emb-directfb-EmbLinux.qdoc index 74f2aaa..9e060f8 100644 --- a/doc/src/platforms/emb-directfb-EmbLinux.qdoc +++ b/doc/src/platforms/emb-directfb-EmbLinux.qdoc @@ -267,7 +267,8 @@ perform well. \o QT_NO_DIRECTFB_IMAGEPROVIDER \o By default Qt will use DirectFB to load QPixmaps from disk/memory. If your DirectFB implementation does not support this it might make sense to -define this. +define this. If you see strange rendering issues with pixmaps that have an +alpha channel defining this could solve the problem. \row \o QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE @@ -327,4 +328,9 @@ QT_DIRECTFB_DISABLE_RASTERFALLBACKS is defined, DirectFB will only return instead of falling back to QRasterPaintEngine. Please note that these defines should only be used when optimizing the application. +\section2 Top level transparency +\note DirectFB supports partially or fully transparent top level windows, +either through QWidget::setWindowOpacity or through setting a non-opaque +background brush. Note that for the latter it is not supported to change an +opaque window to be transparent at runtime. */ diff --git a/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp b/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp index c068ba9..4158388 100644 --- a/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp +++ b/doc/src/snippets/code/src_corelib_tools_qscopedpointer.cpp @@ -128,7 +128,7 @@ private: QScopedPointer<int, QScopedPointerArrayDeleter<int> > arrayPointer(new int[42]); // this QScopedPointer frees its data using free(): -QScopedPointer<int, QScopedPointerPodDeleter<int> > podPointer(reinterpret_cast<int *>(malloc(42))); +QScopedPointer<int, QScopedPointerPodDeleter> podPointer(reinterpret_cast<int *>(malloc(42))); // this struct calls "myCustomDeallocator" to delete the pointer struct ScopedPointerCustomDeleter diff --git a/examples/network/http/httpwindow.cpp b/examples/network/http/httpwindow.cpp index 95fc82f..ec7cd33 100644 --- a/examples/network/http/httpwindow.cpp +++ b/examples/network/http/httpwindow.cpp @@ -49,9 +49,9 @@ HttpWindow::HttpWindow(QWidget *parent) : QDialog(parent) { #ifndef QT_NO_OPENSSL - urlLineEdit = new QLineEdit("https://"); + urlLineEdit = new QLineEdit("https://qt.nokia.com/"); #else - urlLineEdit = new QLineEdit("http://"); + urlLineEdit = new QLineEdit("http://qt.nokia.com/"); #endif urlLabel = new QLabel(tr("&URL:")); @@ -70,21 +70,14 @@ HttpWindow::HttpWindow(QWidget *parent) progressDialog = new QProgressDialog(this); - http = new QHttp(this); - connect(urlLineEdit, SIGNAL(textChanged(QString)), this, SLOT(enableDownloadButton())); - connect(http, SIGNAL(requestFinished(int,bool)), - this, SLOT(httpRequestFinished(int,bool))); - connect(http, SIGNAL(dataReadProgress(int,int)), - this, SLOT(updateDataReadProgress(int,int))); - connect(http, SIGNAL(responseHeaderReceived(QHttpResponseHeader)), - this, SLOT(readResponseHeader(QHttpResponseHeader))); - connect(http, SIGNAL(authenticationRequired(QString,quint16,QAuthenticator*)), - this, SLOT(slotAuthenticationRequired(QString,quint16,QAuthenticator*))); + + connect(&qnam, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), + this, SLOT(slotAuthenticationRequired(QNetworkReply*,QAuthenticator*))); #ifndef QT_NO_OPENSSL - connect(http, SIGNAL(sslErrors(QList<QSslError>)), - this, SLOT(sslErrors(QList<QSslError>))); + connect(&qnam, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), + this, SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); #endif connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload())); connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadFile())); @@ -104,9 +97,21 @@ HttpWindow::HttpWindow(QWidget *parent) urlLineEdit->setFocus(); } +void HttpWindow::startRequest(QUrl url) +{ + reply = qnam.get(QNetworkRequest(url)); + connect(reply, SIGNAL(finished()), + this, SLOT(httpFinished())); + connect(reply, SIGNAL(readyRead()), + this, SLOT(httpReadyRead())); + connect(reply, SIGNAL(downloadProgress(qint64,qint64)), + this, SLOT(updateDataReadProgress(qint64,qint64))); +} + void HttpWindow::downloadFile() { - QUrl url(urlLineEdit->text()); + url = urlLineEdit->text(); + QFileInfo fileInfo(url.path()); QString fileName = fileInfo.fileName(); if (fileName.isEmpty()) @@ -132,35 +137,26 @@ void HttpWindow::downloadFile() return; } - QHttp::ConnectionMode mode = url.scheme().toLower() == "https" ? QHttp::ConnectionModeHttps : QHttp::ConnectionModeHttp; - http->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port()); - - if (!url.userName().isEmpty()) - http->setUser(url.userName(), url.password()); - - httpRequestAborted = false; - QByteArray path = QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/"); - if (path.isEmpty()) - path = "/"; - httpGetId = http->get(path, file); progressDialog->setWindowTitle(tr("HTTP")); progressDialog->setLabelText(tr("Downloading %1.").arg(fileName)); downloadButton->setEnabled(false); + + // schedule the request + httpRequestAborted = false; + startRequest(url); } void HttpWindow::cancelDownload() { statusLabel->setText(tr("Download canceled.")); httpRequestAborted = true; - http->abort(); + reply->abort(); downloadButton->setEnabled(true); } -void HttpWindow::httpRequestFinished(int requestId, bool error) +void HttpWindow::httpFinished() { - if (requestId != httpGetId) - return; if (httpRequestAborted) { if (file) { file->close(); @@ -168,54 +164,58 @@ void HttpWindow::httpRequestFinished(int requestId, bool error) delete file; file = 0; } - + reply->deleteLater(); progressDialog->hide(); return; } - if (requestId != httpGetId) - return; - progressDialog->hide(); + file->flush(); file->close(); - if (error) { + + QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); + if (reply->error()) { file->remove(); QMessageBox::information(this, tr("HTTP"), tr("Download failed: %1.") - .arg(http->errorString())); + .arg(reply->errorString())); + downloadButton->setEnabled(true); + } else if (!redirectionTarget.isNull()) { + QUrl newUrl = url.resolved(redirectionTarget.toUrl()); + if (QMessageBox::question(this, tr("HTTP"), + tr("Redirect to %1 ?").arg(newUrl.toString()), + QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) { + url = newUrl; + reply->deleteLater(); + file->open(QIODevice::WriteOnly); + file->resize(0); + startRequest(url); + return; + } } else { QString fileName = QFileInfo(QUrl(urlLineEdit->text()).path()).fileName(); statusLabel->setText(tr("Downloaded %1 to current directory.").arg(fileName)); + downloadButton->setEnabled(true); } - downloadButton->setEnabled(true); + reply->deleteLater(); + reply = 0; delete file; file = 0; } -void HttpWindow::readResponseHeader(const QHttpResponseHeader &responseHeader) +void HttpWindow::httpReadyRead() { - switch (responseHeader.statusCode()) { - case 200: // Ok - case 301: // Moved Permanently - case 302: // Found - case 303: // See Other - case 307: // Temporary Redirect - // these are not error conditions - break; - - default: - QMessageBox::information(this, tr("HTTP"), - tr("Download failed: %1.") - .arg(responseHeader.reasonPhrase())); - httpRequestAborted = true; - progressDialog->hide(); - http->abort(); - } + // this slot gets called everytime the QNetworkReply has new data. + // We read all of its new data and write it into the file. + // That way we use less RAM than when reading it at the finished() + // signal of the QNetworkReply + if (file) + file->write(reply->readAll()); } -void HttpWindow::updateDataReadProgress(int bytesRead, int totalBytes) +void HttpWindow::updateDataReadProgress(qint64 bytesRead, qint64 totalBytes) { if (httpRequestAborted) return; @@ -229,14 +229,19 @@ void HttpWindow::enableDownloadButton() downloadButton->setEnabled(!urlLineEdit->text().isEmpty()); } -void HttpWindow::slotAuthenticationRequired(const QString &hostName, quint16, QAuthenticator *authenticator) +void HttpWindow::slotAuthenticationRequired(QNetworkReply*,QAuthenticator *authenticator) { QDialog dlg; Ui::Dialog ui; ui.setupUi(&dlg); dlg.adjustSize(); - ui.siteDescription->setText(tr("%1 at %2").arg(authenticator->realm()).arg(hostName)); - + ui.siteDescription->setText(tr("%1 at %2").arg(authenticator->realm()).arg(url.host())); + + // Did the URL have information? Fill the UI + // This is only relevant if the URL-supplied credentials were wrong + ui.userEdit->setText(url.userName()); + ui.passwordEdit->setText(url.password()); + if (dlg.exec() == QDialog::Accepted) { authenticator->setUser(ui.userEdit->text()); authenticator->setPassword(ui.passwordEdit->text()); @@ -244,7 +249,7 @@ void HttpWindow::slotAuthenticationRequired(const QString &hostName, quint16, QA } #ifndef QT_NO_OPENSSL -void HttpWindow::sslErrors(const QList<QSslError> &errors) +void HttpWindow::sslErrors(QNetworkReply*,const QList<QSslError> &errors) { QString errorString; foreach (const QSslError &error, errors) { @@ -253,10 +258,10 @@ void HttpWindow::sslErrors(const QList<QSslError> &errors) errorString += error.errorString(); } - if (QMessageBox::warning(this, tr("HTTP Example"), + if (QMessageBox::warning(this, tr("HTTP"), tr("One or more SSL errors has occurred: %1").arg(errorString), QMessageBox::Ignore | QMessageBox::Abort) == QMessageBox::Ignore) { - http->ignoreSslErrors(); + reply->ignoreSslErrors(); } } #endif diff --git a/examples/network/http/httpwindow.h b/examples/network/http/httpwindow.h index 9dca8a5..83898af 100644 --- a/examples/network/http/httpwindow.h +++ b/examples/network/http/httpwindow.h @@ -43,18 +43,21 @@ #define HTTPWINDOW_H #include <QDialog> +#include <QNetworkAccessManager> +#include <QUrl> QT_BEGIN_NAMESPACE class QDialogButtonBox; class QFile; -class QHttp; -class QHttpResponseHeader; class QLabel; class QLineEdit; class QProgressDialog; class QPushButton; class QSslError; class QAuthenticator; +class QNetworkReply; + + QT_END_NAMESPACE class HttpWindow : public QDialog @@ -64,16 +67,18 @@ class HttpWindow : public QDialog public: HttpWindow(QWidget *parent = 0); + void startRequest(QUrl url); + private slots: void downloadFile(); void cancelDownload(); - void httpRequestFinished(int requestId, bool error); - void readResponseHeader(const QHttpResponseHeader &responseHeader); - void updateDataReadProgress(int bytesRead, int totalBytes); + void httpFinished(); + void httpReadyRead(); + void updateDataReadProgress(qint64 bytesRead, qint64 totalBytes); void enableDownloadButton(); - void slotAuthenticationRequired(const QString &, quint16, QAuthenticator *); + void slotAuthenticationRequired(QNetworkReply*,QAuthenticator *); #ifndef QT_NO_OPENSSL - void sslErrors(const QList<QSslError> &errors); + void sslErrors(QNetworkReply*,const QList<QSslError> &errors); #endif private: @@ -85,7 +90,9 @@ private: QPushButton *quitButton; QDialogButtonBox *buttonBox; - QHttp *http; + QUrl url; + QNetworkAccessManager qnam; + QNetworkReply *reply; QFile *file; int httpGetId; bool httpRequestAborted; diff --git a/examples/network/http/main.cpp b/examples/network/http/main.cpp index ecbe100..817b2be 100644 --- a/examples/network/http/main.cpp +++ b/examples/network/http/main.cpp @@ -46,7 +46,6 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); - qWarning("The usage of QHttp is not recommended anymore, please use QNetworkAccessManager."); HttpWindow httpWin; httpWin.show(); return httpWin.exec(); diff --git a/examples/network/loopback/dialog.cpp b/examples/network/loopback/dialog.cpp index 27cff31..b504e36 100644 --- a/examples/network/loopback/dialog.cpp +++ b/examples/network/loopback/dialog.cpp @@ -44,12 +44,12 @@ #include "dialog.h" -#if !defined(Q_OS_WINCE) +#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) static const int TotalBytes = 50 * 1024 * 1024; #else static const int TotalBytes = 5 * 1024 * 1024; #endif -static const int PayloadSize = 65536; +static const int PayloadSize = 64 * 1024; // 64 KB Dialog::Dialog(QWidget *parent) : QDialog(parent) @@ -130,6 +130,7 @@ void Dialog::acceptConnection() void Dialog::startTransfer() { + // called when the TCP client connected to the loopback server bytesToWrite = TotalBytes - (int)tcpClient.write(QByteArray(PayloadSize, '@')); clientStatusLabel->setText(tr("Connected")); } @@ -155,8 +156,11 @@ void Dialog::updateServerProgress() void Dialog::updateClientProgress(qint64 numBytes) { + // callen when the TCP client has written some bytes bytesWritten += (int)numBytes; - if (bytesToWrite > 0) + + // only write more if not finished and when the Qt write buffer is below a certain size. + if (bytesToWrite > 0 && tcpClient.bytesToWrite() <= 4*PayloadSize) bytesToWrite -= (int)tcpClient.write(QByteArray(qMin(bytesToWrite, PayloadSize), '@')); clientProgressBar->setMaximum(TotalBytes); diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index d2edbdb..509c975 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -123,7 +123,7 @@ symbian-abld { } else { MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" } -MMP_RULES += PAGED +MMP_RULES += PAGED BYTEPAIRCOMPRESSTARGET MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 @@ -153,7 +153,7 @@ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis S60_VERSION = 3.2 } else { S60_VERSION = 3.1 - MMP_RULES -= PAGED + MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET } } @@ -171,4 +171,4 @@ symbian { # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE} } } -}
\ No newline at end of file +} diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index 01074f4..155bfc3 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -8,3 +8,14 @@ incredibuild_xge { QMAKE_INCDIR += $$QMAKE_INCDIR_POST QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST + +# Let every project have a standard GNU `check' target +!contains(QMAKE_EXTRA_TARGETS, check) { + # `make check' should iterate through all subdirs + contains(TEMPLATE, subdirs) { + check.CONFIG = recursive + check.recurse = $$SUBDIRS + check.recurse_target = check + } + QMAKE_EXTRA_TARGETS += check +} diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf index e0b22f2..53c0d74 100644 --- a/mkspecs/features/qttest_p4.prf +++ b/mkspecs/features/qttest_p4.prf @@ -20,12 +20,32 @@ check.path = . macx: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) else:unix: check.commands += ./$(QMAKE_TARGET) else:win32: { - CONFIG(debug, debug|release):check.commands += debug\\$(QMAKE_TARGET) - else:check.commands += release\\$(QMAKE_TARGET) + CONFIG(debug, debug|release):check.commands += $(DESTDIR_TARGET) + else:check.commands += $(DESTDIR_TARGET) } embedded: check.commands += -qws QMAKE_EXTRA_TARGETS += check +!debug_and_release|build_pass { + check.depends = $(DESTDIR_TARGET) +} else { + check.CONFIG = recursive + # In debug and release mode, only run the test once. + # Run debug if available, release otherwise. + debug_and_release { + check.target = dummy_check + check.recurse_target = check + debug { + real_check.depends = debug-check + real_check.target = check + QMAKE_EXTRA_TARGETS += real_check + } else { + real_check.depends = release-check + real_check.target = check + QMAKE_EXTRA_TARGETS += real_check + } + } +} target.path += $$[QT_INSTALL_PREFIX]/tests/qt4 INSTALLS += target diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm index 3defe30..3877edb 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm @@ -7,14 +7,12 @@ # ** # ****************************************************************************/ -include $(FLMHOME)/metaflm.mk SINGLETON:=$(call sanitise,TARGET_$(DEPLOY_TARGET)) CLEAN_TARGET:= define qmake_emulator_deployment $(ALLTARGET):: $(1) -FINAL::$(1) # Prevent duplicate targets from being created $(SINGLETON):=1 diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm index 79ab8cb..daf33d4 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm @@ -7,21 +7,17 @@ # ** # ****************************************************************************/ -include $(FLMHOME)/metaflm.mk SINGLETON:=$(call sanitise,TARGET_$(PREDEP_TARGET)) define qmake_extra_pre_targetdep -$(ALLTARGET):: $(PREDEP_TARGET) EXPORT:: $(PREDEP_TARGET) -LIBRARY:: $(PREDEP_TARGET) -TARGET:: $(PREDEP_TARGET) # Prevent duplicate targets from being created $(SINGLETON):=1 -$(PREDEP_TARGET): $(DEPS) - $(call startrule,qmake_extra_pre_targetdep) \ +$(PREDEP_TARGET): $(DEPS) + $(call startrule,qmake_extra_pre_targetdep,FORCESUCCESS) \ $(COMMAND) \ $(call endrule,qmake_extra_pre_targetdep) endef diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm index 8ad89e7..9612d2e 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm @@ -7,7 +7,6 @@ # ** # ****************************************************************************/ -include $(FLMHOME)/metaflm.mk POST_LINK_TARGET:=POST_LINK_$(PLATFORM_PATH)_$(CFG_PATH)_$(call sanitise,$(LINK_TARGET)) POST_LINK_DEP:=$(EPOCROOT)/epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/$(LINK_TARGET) @@ -21,7 +20,6 @@ endef define qmake_post_link $(ALLTARGET):: $(POST_LINK_TARGET) -FINAL:: $(POST_LINK_TARGET) $(POST_LINK_TARGET): $(POST_LINK_DEP) $(call startrule,qmake_post_link) \ diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm index d952f8f..e0b6503 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm @@ -7,7 +7,6 @@ # ** # ****************************************************************************/ -include $(FLMHOME)/metaflm.mk SINGLETON:=$(call sanitise,TSTORE_SINGLETON_$(EXTENSION_ROOT)) @@ -27,7 +26,7 @@ VISUAL_CFG:=RELEASE endif define qmake_store_build -FINAL:: $(STORE_BUILD_TARGET) +$(ALLTARGET):: $(STORE_BUILD_TARGET) $(STORE_BUILD_TARGET): $(call startrule,qmake_store_build) \ diff --git a/mkspecs/symbian-sbsv2/flm/qt/qt.xml b/mkspecs/symbian-sbsv2/flm/qt/qt.xml index 904f113..0f7db3c 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qt.xml +++ b/mkspecs/symbian-sbsv2/flm/qt/qt.xml @@ -16,7 +16,7 @@ <!-- Extension interfaces : replacements for Template Extension Makefiles --> - <interface name="qt.qmake_extra_pre_targetdep" extends="Symbian.UserFLM" + <interface name="qt.qmake_extra_pre_targetdep.export" extends="Symbian.UserFLM" flm="qmake_extra_pre_targetdep.flm"> <param name='PREDEP_TARGET' /> <param name='DEPS' default = '' /> diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp index 0d50112..81c9408 100644 --- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp +++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp @@ -49,12 +49,18 @@ // Included from tools/shared #include <symbian/epocroot.h> -#define SYSBIN_DIR "\\sys\\bin" +#define SYSBIN_DIR "/sys/bin" #define SUFFIX_DLL "dll" #define SUFFIX_EXE "exe" #define SUFFIX_QTPLUGIN "qtplugin" +static QString fixPathToEpocOS(const QString &src) +{ + QString ret = Option::fixPathToTargetOS(src); + return ret.replace('/', '\\'); +} + static bool isPlugin(const QFileInfo& info, const QString& devicePath) { // Libraries are plugins if deployment path is something else than @@ -85,12 +91,12 @@ static void createPluginStub(const QFileInfo& info, QStringList& generatedDirs, QStringList& generatedFiles) { - QDir().mkpath(PLUGIN_STUB_DIR); + QDir().mkpath(QLatin1String(PLUGIN_STUB_DIR)); if (!generatedDirs.contains(PLUGIN_STUB_DIR)) generatedDirs << PLUGIN_STUB_DIR; // Plugin stubs must have different name from the actual plugins, because // the toolchain for creating ROM images cannot handle non-binary .dll files properly. - QFile stubFile(QDir(PLUGIN_STUB_DIR).filePath(info.completeBaseName() + "." SUFFIX_QTPLUGIN)); + QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "/") + info.completeBaseName() + "." SUFFIX_QTPLUGIN); if (stubFile.open(QIODevice::WriteOnly)) { if (!generatedFiles.contains(stubFile.fileName())) generatedFiles << stubFile.fileName(); @@ -104,7 +110,7 @@ static void createPluginStub(const QFileInfo& info, } QFileInfo stubInfo(stubFile); deploymentList.append(CopyItem(Option::fixPathToLocalOS(stubInfo.absoluteFilePath()), - Option::fixPathToLocalOS(devicePath + "\\" + stubInfo.fileName()))); + fixPathToEpocOS(devicePath + "/" + stubInfo.fileName()))); } QString generate_uid(const QString& target) @@ -168,21 +174,29 @@ void initProjectDeploySymbian(QMakeProject* project, foreach(QString item, project->values("DEPLOYMENT")) { QString devicePath = project->first(item + ".path"); + QString devicePathWithoutDrive = devicePath; + + bool devicePathHasDriveLetter = false; + if (devicePath.size() > 1) { + devicePathHasDriveLetter = devicePath.at(1) == QLatin1Char(':'); + } + + // Sometimes devicePath can contain disk but APP_RESOURCE_DIR does not, + // so remove the drive letter for comparison purposes. + if (devicePathHasDriveLetter) + { + devicePathWithoutDrive.remove(0,2); + } if (!deployBinaries - && !devicePath.isEmpty() - && (0 == devicePath.compare(project->values("APP_RESOURCE_DIR").join(""), Qt::CaseInsensitive) - || 0 == devicePath.compare(project->values("REG_RESOURCE_IMPORT_DIR").join(""), Qt::CaseInsensitive))) { + && !devicePathWithoutDrive.isEmpty() + && (0 == devicePathWithoutDrive.compare(project->values("APP_RESOURCE_DIR").join(""), Qt::CaseInsensitive) + || 0 == devicePathWithoutDrive.compare(project->values("REG_RESOURCE_IMPORT_DIR").join(""), Qt::CaseInsensitive))) { // Do not deploy resources in emulator builds, as that seems to cause conflicts // If there is ever a real need to deploy pre-built resources for emulator, // BLD_INF_RULES.prj_exports can be used as a workaround. continue; } - bool devicePathHasDriveLetter = false; - if (devicePath.size() > 1) { - devicePathHasDriveLetter = devicePath.at(1) == QLatin1Char(':'); - } - if (devicePath.isEmpty() || devicePath == QLatin1String(".")) { devicePath = targetPath; } @@ -190,24 +204,35 @@ void initProjectDeploySymbian(QMakeProject* project, else if (!(devicePath.at(0) == QLatin1Char('/') || devicePath.at(0) == QLatin1Char('\\') || devicePathHasDriveLetter)) { - // create output path - devicePath = Option::fixPathToLocalOS(QDir::cleanPath(targetPath + QLatin1Char('\\') + devicePath)); + // Create output path + devicePath = Option::fixPathToLocalOS(QDir::cleanPath(targetPath + QLatin1Char('/') + devicePath)); } else { - if (0 == platform.compare(QLatin1String("winscw"), Qt::CaseInsensitive)) { + if (!platform.compare(QLatin1String(EMULATOR_DEPLOYMENT_PLATFORM))) { if (devicePathHasDriveLetter) { - devicePath = epocRoot() + "epoc32\\winscw\\" + devicePath.remove(1, 1); + devicePath = epocRoot() + "epoc32/winscw/" + devicePath.remove(1, 1); } else { - devicePath = epocRoot() + "epoc32\\winscw\\c" + devicePath; + devicePath = epocRoot() + "epoc32/winscw/c" + devicePath; } } else { - // Drive letter needed if targetpath contains one and it is not already in - if (targetPathHasDriveLetter && !devicePathHasDriveLetter) { - devicePath = deploymentDrive + devicePath; + if (!devicePathHasDriveLetter) { + if (!platform.compare(QLatin1String(ROM_DEPLOYMENT_PLATFORM))) { + //For plugin deployment under ARM no needed drive letter + devicePath = epocRoot() + "epoc32/data/z" + devicePath; + } else if (targetPathHasDriveLetter) { + // Drive letter needed if targetpath contains one and it is not already in + devicePath = deploymentDrive + devicePath; + } + } else { + //it is necessary to delete drive letter for ARM deployment + if (!platform.compare(QLatin1String(ROM_DEPLOYMENT_PLATFORM))) { + devicePath.remove(0,2); + devicePath = epocRoot() + "epoc32/data/z" + devicePath; + } } } } - devicePath.replace(QLatin1String("/"), QLatin1String("\\")); + devicePath.replace(QLatin1String("\\"), QLatin1String("/")); if (!deployBinaries && 0 == devicePath.right(8).compare(QLatin1String(SYSBIN_DIR), Qt::CaseInsensitive)) { @@ -231,7 +256,7 @@ void initProjectDeploySymbian(QMakeProject* project, dirSearch = true; } else { if (info.exists() || source.indexOf('*') != -1) { - nameFilter = source.split('\\').last(); + nameFilter = source.split(QDir::separator()).last(); searchPath = info.absolutePath(); } else { // Entry was not found. That is ok if it is a binary, since those do not necessarily yet exist. @@ -239,13 +264,19 @@ void initProjectDeploySymbian(QMakeProject* project, if (isBinary(info)) { if (deployBinaries) { // Executables and libraries are deployed to \sys\bin - QFileInfo releasePath(epocRoot() + QDir::toNativeSeparators("epoc32/release/" + platform + "/" + build + "/")); + QFileInfo targetPath(epocRoot() + "epoc32/release/" + platform + "/" + build + "/"); if(devicePathHasDriveLetter) { - deploymentList.append(CopyItem(Option::fixPathToLocalOS(QDir(releasePath.absolutePath()).filePath(info.fileName()), false, true), - Option::fixPathToLocalOS(devicePath.left(2) + QLatin1String(SYSBIN_DIR "\\") + info.fileName()))); + deploymentList.append(CopyItem( + Option::fixPathToLocalOS(targetPath.absolutePath() + "/" + info.fileName(), + false, true), + fixPathToEpocOS(devicePath.left(2) + QLatin1String(SYSBIN_DIR "/") + + info.fileName()))); } else { - deploymentList.append(CopyItem(Option::fixPathToLocalOS(QDir(releasePath.absolutePath()).filePath(info.fileName()), false, true), - Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + info.fileName()))); + deploymentList.append(CopyItem( + Option::fixPathToLocalOS(targetPath.absolutePath() + "/" + info.fileName(), + false, true), + fixPathToEpocOS(deploymentDrive + QLatin1String(SYSBIN_DIR "/") + + info.fileName()))); } } if (isPlugin(info, devicePath)) { @@ -256,7 +287,7 @@ void initProjectDeploySymbian(QMakeProject* project, // Generate deployment even if file doesn't exist, as this may be the case // when generating .pkg files. deploymentList.append(CopyItem(Option::fixPathToLocalOS(info.absoluteFilePath()), - Option::fixPathToLocalOS(devicePath + "\\" + info.fileName()))); + fixPathToEpocOS(devicePath + "/" + info.fileName()))); continue; } } @@ -278,14 +309,26 @@ void initProjectDeploySymbian(QMakeProject* project, // This deploys pre-built plugins. Other pre-built binaries will deploy normally, // as they have SYSBIN_DIR target path. if (deployBinaries) { - deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()), - Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + iterator.fileName()))); + if (devicePathHasDriveLetter) { + deploymentList.append(CopyItem( + Option::fixPathToLocalOS(absoluteItemPath + "/" + iterator.fileName()), + fixPathToEpocOS(devicePath.left(2) + QLatin1String(SYSBIN_DIR "/") + + iterator.fileName()))); + } else { + deploymentList.append(CopyItem( + Option::fixPathToLocalOS(absoluteItemPath + "/" + iterator.fileName()), + fixPathToEpocOS(deploymentDrive + QLatin1String(SYSBIN_DIR "/") + + iterator.fileName()))); + } } - createPluginStub(info, devicePath + "\\" + absoluteItemPath.right(diffSize), deploymentList, generatedDirs, generatedFiles); + createPluginStub(info, devicePath + "/" + absoluteItemPath.right(diffSize), + deploymentList, generatedDirs, generatedFiles); continue; } else { - deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()), - Option::fixPathToLocalOS(devicePath + "\\" + absoluteItemPath.right(diffSize) + "\\" + iterator.fileName()))); + deploymentList.append(CopyItem( + Option::fixPathToLocalOS(absoluteItemPath + "/" + iterator.fileName()), + fixPathToEpocOS(devicePath + "/" + absoluteItemPath.right(diffSize) + + "/" + iterator.fileName()))); } } } diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.h b/qmake/generators/symbian/initprojectdeploy_symbian.h index b409225..c621915 100644 --- a/qmake/generators/symbian/initprojectdeploy_symbian.h +++ b/qmake/generators/symbian/initprojectdeploy_symbian.h @@ -51,6 +51,8 @@ #include <stdlib.h> #define PLUGIN_STUB_DIR "qmakepluginstubs" +#define ROM_DEPLOYMENT_PLATFORM "rom" +#define EMULATOR_DEPLOYMENT_PLATFORM "emulator" struct CopyItem { diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index ac4bca3..7875a82 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -64,7 +64,7 @@ #define BLD_INF_TAG_MMPFILES "prj_mmpfiles" #define BLD_INF_TAG_TESTMMPFILES "prj_testmmpfiles" #define BLD_INF_TAG_EXTENSIONS "prj_extensions" -#define BLD_INF_TAG_EXPORTS "prj_exports" +#define BLD_INF_TAG_TESTEXTENSIONS "prj_testextensions" #define RSS_RULES "RSS_RULES" #define RSS_RULES_BASE "RSS_RULES." @@ -101,11 +101,13 @@ QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const Q { static QString epocRootStr; if (epocRootStr.isEmpty()) { - QFileInfo efi(epocRoot()); - epocRootStr = efi.canonicalFilePath(); - if (epocRootStr.isEmpty()) { + epocRootStr = epocRoot(); + QFileInfo efi(epocRootStr); + if (!efi.exists() || epocRootStr.isEmpty()) { fprintf(stderr, "Unable to resolve epocRoot '%s' to real dir on current drive, defaulting to '/' for mmp paths\n", qPrintable(epocRoot())); epocRootStr = "/"; + } else { + epocRootStr = efi.absoluteFilePath(); } if (!epocRootStr.endsWith("/")) epocRootStr += "/"; @@ -129,33 +131,26 @@ QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const Q return resultPath; } -QString SymbianMakefileGenerator::canonizePath(const QString& origPath) +QString SymbianMakefileGenerator::absolutizePath(const QString& origPath) { - // Since current path gets appended almost always anyway, use it as default - // for nonexisting paths. - static QString defaultPath; - if (defaultPath.isEmpty()) { - QFileInfo fi("."); - defaultPath = fi.canonicalFilePath(); - } - // Prepend epocroot to any paths beginning with "/epoc32/" QString resultPath = QDir::fromNativeSeparators(origPath); if (resultPath.startsWith("/epoc32/", Qt::CaseInsensitive)) resultPath = QDir::fromNativeSeparators(epocRoot()) + resultPath.mid(1); QFileInfo fi(fileInfo(resultPath)); - if (fi.isDir()) { - resultPath = fi.canonicalFilePath(); + + // Since origPath can be something given in HEADERS, we need to check if we are dealing + // with a file or a directory. In case the origPath doesn't yet exist, isFile() returns + // false and we default to assuming it is a dir. + if (fi.isFile()) { + resultPath = fi.absolutePath(); } else { - resultPath = fi.canonicalPath(); + resultPath = fi.absoluteFilePath(); } resultPath = QDir::cleanPath(resultPath); - if (resultPath.isEmpty()) - resultPath = defaultPath; - return resultPath; } @@ -687,7 +682,7 @@ void SymbianMakefileGenerator::initMmpVariables() srcpaths << project->values("UI_DIR"); QDir current = QDir::current(); - QString canonizedCurrent = canonizePath("."); + QString absolutizedCurrent = absolutizePath("."); for (int j = 0; j < srcpaths.size(); ++j) { QFileInfo fi(fileInfo(srcpaths.at(j))); @@ -695,10 +690,10 @@ void SymbianMakefileGenerator::initMmpVariables() if (fi.suffix().startsWith("c")) { if (fi.filePath().length() > fi.fileName().length()) { appendIfnotExist(srcincpaths, fi.path()); - sources[canonizePath(fi.path())] += fi.fileName(); + sources[absolutizePath(fi.path())] += fi.fileName(); } else { - sources[canonizedCurrent] += fi.fileName(); - appendIfnotExist(srcincpaths, canonizedCurrent); + sources[absolutizedCurrent] += fi.fileName(); + appendIfnotExist(srcincpaths, absolutizedCurrent); } } } @@ -712,7 +707,7 @@ void SymbianMakefileGenerator::initMmpVariables() incpaths << project->values("UI_DIR"); for (int j = 0; j < incpaths.size(); ++j) { - QString includepath = canonizePath(incpaths.at(j)); + QString includepath = absolutizePath(incpaths.at(j)); appendIfnotExist(sysincspaths, includepath); appendAbldTempDirs(sysincspaths, includepath); } @@ -1362,7 +1357,7 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy // Add project mmps and old style extension makefiles QString mmpTag; - if (project->isActiveConfig("symbian_test")) + if (project->isActiveConfig(SYMBIAN_TEST_CONFIG)) mmpTag = QLatin1String(BLD_INF_TAG_TESTMMPFILES); else mmpTag = QLatin1String(BLD_INF_TAG_MMPFILES); @@ -1385,35 +1380,22 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy t << item << endl; userBldInfRules.remove(mmpTag); - t << endl << BLD_INF_TAG_EXTENSIONS << endl << endl; + QString extensionTag; + if (project->isActiveConfig(SYMBIAN_TEST_CONFIG)) + extensionTag = QLatin1String(BLD_INF_TAG_TESTEXTENSIONS); + else + extensionTag = QLatin1String(BLD_INF_TAG_EXTENSIONS); + + t << endl << extensionTag << endl << endl; // Generate extension rules writeBldInfExtensionRulesPart(t, iconFile); - userItems = userBldInfRules.value(BLD_INF_TAG_EXTENSIONS); - foreach(QString item, userItems) - t << item << endl; - userBldInfRules.remove(BLD_INF_TAG_EXTENSIONS); - - t << endl << BLD_INF_TAG_EXPORTS << endl << endl; - - // Generate export rules - - // Export any deployed plugin stubs under /epoc32/data/z to support ROM builds - for (int i = 0; i < depList.size(); ++i) { - int index = depList.at(i).from.indexOf(PLUGIN_STUB_DIR); - if (index != -1) { - t << QString("%1 /epoc32/data/z%2") - .arg(QString(depList.at(i).from).mid(index).replace('\\','/')) - .arg(QString(depList.at(i).to).mid(2).replace('\\','/')) << endl; - } - } - - userItems = userBldInfRules.value(BLD_INF_TAG_EXPORTS); + userItems = userBldInfRules.value(extensionTag); foreach(QString item, userItems) t << item << endl; - userBldInfRules.remove(BLD_INF_TAG_EXPORTS); + userBldInfRules.remove(extensionTag); // Add rest of the user defined content diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h index 76fd98b..fa55ae7 100644 --- a/qmake/generators/symbian/symmake.h +++ b/qmake/generators/symbian/symmake.h @@ -49,9 +49,9 @@ QT_BEGIN_NAMESPACE #define BLD_INF_FILENAME "bld.inf" #define MAKEFILE_DEPENDENCY_SEPARATOR " \\\n\t" - #define QT_EXTRA_INCLUDE_DIR "tmp" #define MAKE_CACHE_NAME ".make.cache" +#define SYMBIAN_TEST_CONFIG "symbian_test" class SymbianMakefileGenerator : public MakefileGenerator { @@ -84,7 +84,7 @@ protected: void removeSpecialCharacters(QString& str); QString fixPathForMmp(const QString& origPath, const QDir& parentDir); - QString canonizePath(const QString& origPath); + QString absolutizePath(const QString& origPath); virtual bool writeMakefile(QTextStream &t); void generatePkgFile(const QString &iconFile, DeploymentList &depList); diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp index 81165f5..42031b9 100644 --- a/qmake/generators/symbian/symmake_abld.cpp +++ b/qmake/generators/symbian/symmake_abld.cpp @@ -59,6 +59,8 @@ #define FINALIZE_TARGET "finalize" #define GENERATED_SOURCES_TARGET "generated_sources" #define ALL_SOURCE_DEPS_TARGET "all_source_deps" +#define DEPLOYMENT_TARGET "deployment" +#define DEPLOYMENT_CLEAN_TARGET "deployment_clean" #define WINSCW_DEPLOYMENT_TARGET "winscw_deployment" #define WINSCW_DEPLOYMENT_CLEAN_TARGET "winscw_deployment_clean" #define STORE_BUILD_TARGET "store_build" @@ -112,25 +114,29 @@ void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b QStringList wrapperTargets; if (deploymentOnly) { buildDeps.append(STORE_BUILD_TARGET); - cleanDeps.append(DO_NOTHING_TARGET); - cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET); - finalDeps.append(DO_NOTHING_TARGET); - finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET); + cleanDeps.append(DEPLOYMENT_CLEAN_TARGET); + cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET " " DEPLOYMENT_CLEAN_TARGET); + finalDeps.append(DEPLOYMENT_TARGET); + finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET " " DEPLOYMENT_TARGET); wrapperTargets << WINSCW_DEPLOYMENT_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET + << DEPLOYMENT_TARGET + << DEPLOYMENT_CLEAN_TARGET << STORE_BUILD_TARGET; } else { buildDeps.append(CREATE_TEMPS_TARGET " " PRE_TARGETDEPS_TARGET " " STORE_BUILD_TARGET); - cleanDeps.append(EXTENSION_CLEAN); - cleanDepsWinscw.append(EXTENSION_CLEAN " " WINSCW_DEPLOYMENT_CLEAN_TARGET); - finalDeps.append(FINALIZE_TARGET); - finalDepsWinscw.append(FINALIZE_TARGET " " WINSCW_DEPLOYMENT_TARGET); + cleanDeps.append(EXTENSION_CLEAN " " DEPLOYMENT_CLEAN_TARGET); + cleanDepsWinscw.append(EXTENSION_CLEAN " " WINSCW_DEPLOYMENT_CLEAN_TARGET " " DEPLOYMENT_CLEAN_TARGET); + finalDeps.append(FINALIZE_TARGET " " DEPLOYMENT_TARGET); + finalDepsWinscw.append(FINALIZE_TARGET " " WINSCW_DEPLOYMENT_TARGET " " DEPLOYMENT_TARGET); wrapperTargets << PRE_TARGETDEPS_TARGET << CREATE_TEMPS_TARGET << EXTENSION_CLEAN << FINALIZE_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET << WINSCW_DEPLOYMENT_TARGET + << DEPLOYMENT_CLEAN_TARGET + << DEPLOYMENT_TARGET << STORE_BUILD_TARGET; } @@ -175,7 +181,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool releasePlatforms.removeAll("winscw"); // No release for emulator QString testClause; - if (project->isActiveConfig("symbian_test")) + if (project->isActiveConfig(SYMBIAN_TEST_CONFIG)) testClause = QLatin1String(" test"); else testClause = QLatin1String(""); @@ -369,7 +375,9 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool qDeleteAll(subtargets); } - writeDeploymentTargets(t); + // Deploymend targets for both emulator and rom deployment + writeDeploymentTargets(t, false); + writeDeploymentTargets(t, true); generateDistcleanTargets(t); @@ -410,13 +418,21 @@ void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t, Q_UNUSED(iconTargetFile); } -bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t) +bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t, bool isRom) { - t << WINSCW_DEPLOYMENT_TARGET ":" << endl; + if (isRom) + t << DEPLOYMENT_TARGET ":" << endl; + else + t << WINSCW_DEPLOYMENT_TARGET ":" << endl; - QString remoteTestPath = epocRoot() + QLatin1String("epoc32\\winscw\\c\\private\\") + privateDirUid; // default 4 OpenC; 4 all Symbian too + QString remoteTestPath = epocRoot() + + QLatin1String(isRom ? "epoc32\\data\\z\\private\\" : "epoc32\\winscw\\c\\private\\") + + privateDirUid; DeploymentList depList; - initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles); + + initProjectDeploySymbian(project, depList, remoteTestPath, false, + QLatin1String(isRom ? ROM_DEPLOYMENT_PLATFORM : EMULATOR_DEPLOYMENT_PLATFORM), + QString(), generatedDirs, generatedFiles); if (depList.size()) t << "\t-echo Deploying changed files..." << endl; @@ -425,12 +441,17 @@ bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t) // Xcopy prompts for selecting file or directory if target doesn't exist, // and doesn't provide switch to force file selection. It does provide dir forcing, though, // so strip the last part of the destination. - t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl; + t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" + << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl; } t << endl; - t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl; + if (isRom) + t << DEPLOYMENT_CLEAN_TARGET ":" << endl; + else + t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl; + QStringList cleanList; for (int i = 0; i < depList.size(); ++i) { cleanList.append(depList.at(i).to); diff --git a/qmake/generators/symbian/symmake_abld.h b/qmake/generators/symbian/symmake_abld.h index d0f38b0..f998b28 100644 --- a/qmake/generators/symbian/symmake_abld.h +++ b/qmake/generators/symbian/symmake_abld.h @@ -57,7 +57,7 @@ protected: virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile); virtual void appendAbldTempDirs(QStringList& sysincspaths, QString includepath); - bool writeDeploymentTargets(QTextStream &t); + bool writeDeploymentTargets(QTextStream &t, bool isRom); public: diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp index 4366f0e..4391a64 100644 --- a/qmake/generators/symbian/symmake_sbsv2.cpp +++ b/qmake/generators/symbian/symmake_sbsv2.cpp @@ -90,6 +90,23 @@ void SymbianSbsv2MakefileGenerator::exportFlm() } } +void SymbianSbsv2MakefileGenerator::writeSbsDeploymentList(const DeploymentList& depList, QTextStream& t) +{ + for (int i = 0; i < depList.size(); ++i) { + t << "START EXTENSION qt/qmake_emulator_deployment" << endl; + QString fromItem = depList.at(i).from; + QString toItem = depList.at(i).to; + fromItem.replace("\\", "/"); + toItem.replace("\\", "/"); +#if defined(Q_OS_WIN) + toItem.prepend(QDir::current().absolutePath().left(2)); // add drive +#endif + t << "OPTION DEPLOY_SOURCE " << fromItem << endl; + t << "OPTION DEPLOY_TARGET " << toItem << endl; + t << "END" << endl; + } +} + void SymbianSbsv2MakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly) { // Can't use extension makefile with sbsv2 @@ -109,7 +126,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo releasePlatforms.removeAll("winscw"); // No release for emulator QString testClause; - if (project->isActiveConfig("symbian_test")) + if (project->isActiveConfig(SYMBIAN_TEST_CONFIG)) testClause = QLatin1String(".test"); else testClause = QLatin1String(""); @@ -343,7 +360,7 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t } } - t << "START EXTENSION qt/qmake_extra_pre_targetdep" << endl; + t << "START EXTENSION qt/qmake_extra_pre_targetdep.export" << endl; t << "OPTION PREDEP_TARGET " << absoluteTarget << endl; t << "OPTION DEPS " << absoluteDeps << endl; @@ -363,27 +380,23 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t t << endl; - // Write winscw deployment rules + // Write deployment rules QString remoteTestPath = epocRoot() + QLatin1String("epoc32/winscw/c/private/") + privateDirUid; DeploymentList depList; - initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles); + //write emulator deployment t << "#if defined(WINSCW)" << endl; - for (int i = 0; i < depList.size(); ++i) { - t << "START EXTENSION qt/qmake_emulator_deployment" << endl; - QString fromItem = depList.at(i).from; - QString toItem = depList.at(i).to; - fromItem.replace("\\", "/"); - toItem.replace("\\", "/"); -#if defined(Q_OS_WIN) - toItem.prepend(QDir::current().absolutePath().left(2)); // add drive -#endif - t << "OPTION DEPLOY_SOURCE " << fromItem << endl; - t << "OPTION DEPLOY_TARGET " << toItem << endl; - t << "END" << endl; - } + initProjectDeploySymbian(project, depList, remoteTestPath, false, + QLatin1String(EMULATOR_DEPLOYMENT_PLATFORM), QString(), generatedDirs, generatedFiles); + writeSbsDeploymentList(depList, t); t << "#endif" << endl; + //write ROM deployment + remoteTestPath = epocRoot() + QLatin1String("epoc32/data/z/private/") + privateDirUid; + depList.clear(); + initProjectDeploySymbian(project, depList, remoteTestPath, false, + QLatin1String(ROM_DEPLOYMENT_PLATFORM), QString(), generatedDirs, generatedFiles); + writeSbsDeploymentList(depList, t); t << endl; // Write post link rules diff --git a/qmake/generators/symbian/symmake_sbsv2.h b/qmake/generators/symbian/symmake_sbsv2.h index 5c31249..b8ccdbe 100644 --- a/qmake/generators/symbian/symmake_sbsv2.h +++ b/qmake/generators/symbian/symmake_sbsv2.h @@ -64,6 +64,7 @@ public: private: void exportFlm(); + void writeSbsDeploymentList(const DeploymentList& depList, QTextStream& t); QString extraTargetsCache; QString extraCompilersCache; diff --git a/src/corelib/concurrent/qfuturewatcher.cpp b/src/corelib/concurrent/qfuturewatcher.cpp index 3065205..3b808b8 100644 --- a/src/corelib/concurrent/qfuturewatcher.cpp +++ b/src/corelib/concurrent/qfuturewatcher.cpp @@ -499,6 +499,13 @@ void QFutureWatcherBasePrivate::sendCallOutEvent(QFutureCallOutEvent *event) /*! \fn void QFutureWatcher::setFuture(const QFuture<T> &future) Starts watching the given \a future. + + One of the signals might be emitted for the current state of the + \a future. For example, if the future is already stopped, the + finished signal will be emitted. + + To avoid a race condition, it is important to call this function + \i after doing the connections. */ /*! \fn QFuture<T> QFutureWatcher::future() const diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 7e7d7d8..4d48b60 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -814,7 +814,7 @@ namespace QT_NAMESPACE {} # define Q_WS_MAC32 # endif # elif defined(Q_OS_SYMBIAN) -# if (defined(__SERIES60_31__) || defined(__S60_32__) || defined(__S60_50__)) && !defined(QT_NO_S60) +# if !defined(QT_NO_S60) # define Q_WS_S60 # endif # elif !defined(Q_WS_QWS) @@ -2414,10 +2414,11 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf(); #if defined(Q_OS_SYMBIAN) -#ifdef SYMBIAN_GRAPHICS_USE_GCE +#ifdef SYMBIAN_BUILD_GCE //RWsPointerCursor is fixed, so don't use low performance sprites #define Q_SYMBIAN_FIXED_POINTER_CURSORS #define Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE +#define Q_SYMBIAN_WINDOW_SIZE_CACHE //enabling new graphics resources #define QT_SYMBIAN_SUPPORTS_SGIMAGE #define QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp index fc35bfa..2731ae1 100644 --- a/src/corelib/io/qdatastream.cpp +++ b/src/corelib/io/qdatastream.cpp @@ -159,10 +159,9 @@ QT_BEGIN_NAMESPACE \section1 Reading and writing Qt collection classes - The Qt collection classes can also be serialized to a QDataStream. + The Qt container classes can also be serialized to a QDataStream. These include QList, QLinkedList, QVector, QSet, QHash, and QMap. - These classes have have stream operators declared as non-member of - the class. + The stream operators are declared as non-members of the classes. \target Serializing Qt Classes \section1 Reading and writing other Qt classes. diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 7cfdddf..505889e 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -960,13 +960,14 @@ void QDir::setNameFilters(const QStringList &nameFilters) /*! \obsolete + + Use QDir::addSearchPath() with a prefix instead. + Adds \a path to the search paths searched in to find resources that are not specified with an absolute path. The default search path is to search only in the root (\c{:/}). - Use QDir::addSearchPath() with a prefix instead. - - \sa {The Qt Resource System}, QResource::addSearchPath() + \sa {The Qt Resource System} */ void QDir::addResourceSearchPath(const QString &path) { diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 9179485..d2fa744 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -1270,7 +1270,7 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFla int pageSize = getpagesize(); int extra = offset % pageSize; - if (size + extra > (size_t)-1) { + if (quint64(size + extra) > quint64((size_t)-1)) { q->setError(QFile::UnspecifiedError, qt_error_string(int(EINVAL))); return 0; } diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp index 4e14ba8..662100a 100644 --- a/src/corelib/io/qiodevice.cpp +++ b/src/corelib/io/qiodevice.cpp @@ -1003,8 +1003,8 @@ QByteArray QIODevice::readAll() to a maximum of \a maxSize - 1 bytes, stores the characters in \a data, and returns the number of bytes read. If a line could not be read but no error ocurred, this function returns 0. If an error - occurs, this function returns what it could the length of what - could be read, or -1 if nothing was read. + occurs, this function returns the length of what could be read, or + -1 if nothing was read. A terminating '\0' byte is always appended to \a data, so \a maxSize must be larger than 1. diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp index adfbb15..6d33c8b 100644 --- a/src/corelib/io/qresource.cpp +++ b/src/corelib/io/qresource.cpp @@ -555,16 +555,15 @@ QStringList QResource::children() const /*! \obsolete + Use QDir::addSearchPath() with a prefix instead. + Adds \a path to the search paths searched in to find resources that are not specified with an absolute path. The \a path must be an absolute path (start with \c{/}). The default search path is to search only in the root (\c{:/}). The last path added will be consulted first upon next QResource creation. - - Use QDir::addSearchPath() with a prefix instead. */ - void QResource::addSearchPath(const QString &path) { @@ -578,6 +577,10 @@ QResource::addSearchPath(const QString &path) } /*! + \obsolete + + Use QDir::searchPaths() instead. + Returns the current search path list. This list is consulted when creating a relative resource. diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 0290fb8..acb73fd 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -437,17 +437,19 @@ static bool QT_FASTCALL _unreserved(const char **ptr) } // scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) -static void QT_FASTCALL _scheme(const char **ptr, QUrlParseData *parseData) +static bool QT_FASTCALL _scheme(const char **ptr, QUrlParseData *parseData) { bool first = true; + bool isSchemeValid = true; parseData->scheme = *ptr; for (;;) { char ch = **ptr; if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) { ; - } else if (!first && ((ch >= '0' && ch <= '9') || ch == '+' || ch == '-' || ch == '.')) { - ; + } else if ((ch >= '0' && ch <= '9') || ch == '+' || ch == '-' || ch == '.') { + if (first) + isSchemeValid = false; } else { break; } @@ -457,11 +459,14 @@ static void QT_FASTCALL _scheme(const char **ptr, QUrlParseData *parseData) } if (**ptr != ':') { + isSchemeValid = true; *ptr = parseData->scheme; } else { parseData->schemeLength = *ptr - parseData->scheme; ++(*ptr); // skip ':' } + + return isSchemeValid; } // IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) @@ -3743,7 +3748,19 @@ void QUrlPrivate::parse(ParseOptions parseOptions) const #endif // optional scheme - _scheme(ptr, &parseData); + bool isSchemeValid = _scheme(ptr, &parseData); + + if (isSchemeValid == false) { + that->isValid = false; + char ch = *((*ptr)++); + that->errorInfo.setParams(*ptr, QT_TRANSLATE_NOOP(QUrl, "unexpected URL scheme"), + 0, ch); + QURL_SETFLAG(that->stateFlags, Validated | Parsed); +#if defined (QURL_DEBUG) + qDebug("QUrlPrivate::parse(), unrecognized: %c%s", ch, *ptr); +#endif + return; + } // hierpart _hierPart(ptr, &parseData); diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp index 12badf0..e7dd769 100644 --- a/src/corelib/tools/qscopedpointer.cpp +++ b/src/corelib/tools/qscopedpointer.cpp @@ -225,4 +225,59 @@ QT_BEGIN_NAMESPACE Swap this pointer with \a other. */ +/*! + \class QScopedArrayPointer + + \brief The QScopedArrayPointer class stores a pointer to a + dynamically allocated array of objects, and deletes it upon + destruction. + + \since 4.6 + \reentrant + \ingroup misc + + A QScopedArrayPointer is a QScopedPointer that defaults to + deleting the object it is pointing to with the delete[] operator. It + also features operator[] for convenience, so we can write: + + \code + void foo() + { + QScopedArrayPointer<int> i(new int[10]); + i[2] = 42; + ... + return; // our integer array is now deleted using delete[] + } + \endcode +*/ + +/*! + \fn QScopedArrayPointer::QScopedArrayPointer(T *p = 0) + + Constructs this QScopedArrayPointer instance and sets its pointer + to \a p. +*/ + +/*! + \fn T *QScopedArrayPointer::operator[](int i) + + Provides access to entry \a i of the scoped pointer's array of + objects. + + If the contained pointer is \c null, behavior is undefined. + + \sa isNull() +*/ + +/*! + \fn T *QScopedArrayPointer::operator[](int i) const + + Provides access to entry \a i of the scoped pointer's array of + objects. + + If the contained pointer is \c null, behavior is undefined. + + \sa isNull() +*/ + QT_END_NAMESPACE diff --git a/src/gui/dialogs/qcolordialog_mac.mm b/src/gui/dialogs/qcolordialog_mac.mm index bdcb872..8af0d2b 100644 --- a/src/gui/dialogs/qcolordialog_mac.mm +++ b/src/gui/dialogs/qcolordialog_mac.mm @@ -96,6 +96,7 @@ QT_USE_NAMESPACE - (void)finishOffWithCode:(NSInteger)result; - (void)showColorPanel; - (void)exec; +- (void)setResultSet:(BOOL)result; @end @implementation QCocoaColorPanelDelegate @@ -158,6 +159,11 @@ QT_USE_NAMESPACE [super dealloc]; } +- (void)setResultSet:(BOOL)result +{ + mResultSet = result; +} + - (BOOL)windowShouldClose:(id)window { Q_UNUSED(window); @@ -320,7 +326,7 @@ QT_USE_NAMESPACE } else { mPriv->colorDialog()->accept(); } - } + } } } @@ -433,7 +439,7 @@ void QColorDialogPrivate::openCocoaColorPanel(const QColor &initial, priv:this]; [colorPanel setDelegate:static_cast<QCocoaColorPanelDelegate *>(delegate)]; } - + [delegate setResultSet:false]; setCocoaPanelColor(initial); [static_cast<QCocoaColorPanelDelegate *>(delegate) showColorPanel]; } diff --git a/src/gui/dialogs/qfontdialog.cpp b/src/gui/dialogs/qfontdialog.cpp index 56580a9..a4bf15d 100644 --- a/src/gui/dialogs/qfontdialog.cpp +++ b/src/gui/dialogs/qfontdialog.cpp @@ -989,34 +989,24 @@ void QFontDialog::open(QObject *receiver, const char *member) void QFontDialog::setVisible(bool visible) { Q_D(QFontDialog); - if (visible) - d->selectedFont = QFont(); - -#if defined(Q_WS_MAC) - bool isCurrentlyVisible = (isVisible() || d->delegate); - - if (!visible == !isCurrentlyVisible) - return; - if (visible) { - if (!(d->opts & DontUseNativeDialog) && QFontDialogPrivate::sharedFontPanelAvailable) { - d->delegate = QFontDialogPrivate::openCocoaFontPanel( - currentFont(), parentWidget(), windowTitle(), options(), d); - QFontDialogPrivate::sharedFontPanelAvailable = false; - return; - } - - setWindowFlags(windowModality() == Qt::WindowModal ? Qt::Sheet : DefaultWindowFlags); - } else { - if (d->delegate) { - QFontDialogPrivate::closeCocoaFontPanel(d->delegate); - d->delegate = 0; - QFontDialogPrivate::sharedFontPanelAvailable = true; + if (testAttribute(Qt::WA_WState_ExplicitShowHide) && !testAttribute(Qt::WA_WState_Hidden)) return; + } else if (testAttribute(Qt::WA_WState_ExplicitShowHide) && testAttribute(Qt::WA_WState_Hidden)) + return; +#ifdef Q_WS_MAC + if (d->canBeNativeDialog()){ + if (d->setVisible_sys(visible)){ + d->nativeDialogInUse = true; + // Set WA_DontShowOnScreen so that QDialog::setVisible(visible) below + // updates the state correctly, but skips showing the non-native version: + setAttribute(Qt::WA_DontShowOnScreen, true); + } else { + d->nativeDialogInUse = false; + setAttribute(Qt::WA_DontShowOnScreen, false); } } -#endif - +#endif // Q_WS_MAC QDialog::setVisible(visible); } @@ -1032,11 +1022,14 @@ void QFontDialog::done(int result) Q_D(QFontDialog); QDialog::done(result); if (result == Accepted) { - d->selectedFont = currentFont(); + // We check if this is the same font we had before, if so we emit currentFontChanged + QFont selectedFont = currentFont(); + if(selectedFont != d->selectedFont) + emit(currentFontChanged(selectedFont)); + d->selectedFont = selectedFont; emit fontSelected(d->selectedFont); - } else { + } else d->selectedFont = QFont(); - } if (d->receiverToDisconnectOnClose) { disconnect(this, SIGNAL(fontSelected(QFont)), d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose); @@ -1045,6 +1038,23 @@ void QFontDialog::done(int result) d->memberToDisconnectOnClose.clear(); } +#ifdef Q_WS_MAC +bool QFontDialogPrivate::canBeNativeDialog() +{ + Q_Q(QFontDialog); + if (nativeDialogInUse) + return true; + if (q->testAttribute(Qt::WA_DontShowOnScreen)) + return false; + if (opts & QFontDialog::DontUseNativeDialog) + return false; + + QLatin1String staticName(QFontDialog::staticMetaObject.className()); + QLatin1String dynamicName(q->metaObject()->className()); + return (staticName == dynamicName); +} +#endif // Q_WS_MAC + /*! \fn QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget* parent, const char* name) \since 4.5 diff --git a/src/gui/dialogs/qfontdialog.h b/src/gui/dialogs/qfontdialog.h index e6f209e..6035a3a 100644 --- a/src/gui/dialogs/qfontdialog.h +++ b/src/gui/dialogs/qfontdialog.h @@ -131,6 +131,9 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_styleHighlighted(int)) Q_PRIVATE_SLOT(d_func(), void _q_sizeHighlighted(int)) Q_PRIVATE_SLOT(d_func(), void _q_updateSample()) +#if defined(Q_WS_MAC) + Q_PRIVATE_SLOT(d_func(), void _q_macRunNativeAppModalPanel()) +#endif }; Q_DECLARE_OPERATORS_FOR_FLAGS(QFontDialog::FontDialogOptions) diff --git a/src/gui/dialogs/qfontdialog_mac.mm b/src/gui/dialogs/qfontdialog_mac.mm index 68f5f00..67d32b8 100644 --- a/src/gui/dialogs/qfontdialog_mac.mm +++ b/src/gui/dialogs/qfontdialog_mac.mm @@ -49,6 +49,7 @@ #include <private/qfontengine_p.h> #include <private/qt_cocoa_helpers_mac_p.h> #include <private/qt_mac_p.h> +#include <qabstracteventdispatcher.h> #include <qdebug.h> #import <AppKit/AppKit.h> #import <Foundation/Foundation.h> @@ -372,7 +373,12 @@ static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont) [NSApp endModalSession:mModalSession]; mModalSession = 0; } - + // Hack alert! + // Since this code path was never intended to be followed when starting from exec + // we need to force the dialog to communicate the new font, otherwise the signal + // won't get emitted. + if(code == NSOKButton) + mPriv->sampleEdit->setFont([self qtFont]); mPriv->done((code == NSOKButton) ? QDialog::Accepted : QDialog::Rejected); } else { [NSApp stopModalWithCode:code]; @@ -567,7 +573,6 @@ void *QFontDialogPrivate::openCocoaFontPanel(const QFont &initial, [ourPanel makeKeyAndOrderFront:ourPanel]; } } - return delegate; } @@ -640,6 +645,145 @@ void QFontDialogPrivate::setFont(void *delegate, const QFont &font) [static_cast<QCocoaFontPanelDelegate *>(delegate) setQtFont:font]; } +void *QFontDialogPrivate::_q_constructNativePanel() +{ + QMacCocoaAutoReleasePool pool; + + bool sharedFontPanelExisted = [NSFontPanel sharedFontPanelExists]; + NSFontPanel *sharedFontPanel = [NSFontPanel sharedFontPanel]; + [sharedFontPanel setHidesOnDeactivate:false]; + + // hack to ensure that QCocoaApplication's validModesForFontPanel: + // implementation is honored + if (!sharedFontPanelExisted) { + [sharedFontPanel makeKeyAndOrderFront:sharedFontPanel]; + [sharedFontPanel close]; + } + + NSPanel *ourPanel = 0; + NSView *stolenContentView = 0; + NSButton *okButton = 0; + NSButton *cancelButton = 0; + + CGFloat dialogExtraWidth = 0.0; + CGFloat dialogExtraHeight = 0.0; + + // compute dialogExtra{Width,Height} + dialogExtraWidth = 2.0 * DialogSideMargin; + dialogExtraHeight = DialogTopMargin + ButtonTopMargin + ButtonMinHeight + + ButtonBottomMargin; + + // compute initial contents rectangle + NSRect contentRect = [sharedFontPanel contentRectForFrameRect:[sharedFontPanel frame]]; + contentRect.size.width += dialogExtraWidth; + contentRect.size.height += dialogExtraHeight; + + // create the new panel + ourPanel = [[NSPanel alloc] initWithContentRect:contentRect + styleMask:StyleMask + backing:NSBackingStoreBuffered + defer:YES]; + [ourPanel setReleasedWhenClosed:YES]; + + stolenContentView = [sharedFontPanel contentView]; + + // steal the font panel's contents view + [stolenContentView retain]; + [sharedFontPanel setContentView:0]; + + { + // create a new content view and add the stolen one as a subview + NSRect frameRect = { { 0.0, 0.0 }, { 0.0, 0.0 } }; + NSView *ourContentView = [[NSView alloc] initWithFrame:frameRect]; + [ourContentView addSubview:stolenContentView]; + + // create OK and Cancel buttons and add these as subviews + okButton = macCreateButton("&OK", ourContentView); + cancelButton = macCreateButton("Cancel", ourContentView); + + [ourPanel setContentView:ourContentView]; + [ourPanel setDefaultButtonCell:[okButton cell]]; + } + // create a delegate and set it + QCocoaFontPanelDelegate *delegate = + [[QCocoaFontPanelDelegate alloc] initWithFontPanel:sharedFontPanel + stolenContentView:stolenContentView + okButton:okButton + cancelButton:cancelButton + priv:this + extraWidth:dialogExtraWidth + extraHeight:dialogExtraHeight]; + [ourPanel setDelegate:delegate]; + [[NSFontManager sharedFontManager] setDelegate:delegate]; +#ifdef QT_MAC_USE_COCOA + [[NSFontManager sharedFontManager] setTarget:delegate]; +#endif + setFont(delegate, QApplication::font()); + + { + // hack to get correct initial layout + NSRect frameRect = [ourPanel frame]; + frameRect.size.width += 1.0; + [ourPanel setFrame:frameRect display:NO]; + frameRect.size.width -= 1.0; + frameRect.size = [delegate windowWillResize:ourPanel toSize:frameRect.size]; + [ourPanel setFrame:frameRect display:NO]; + [ourPanel center]; + } + NSString *title = @"Select font"; + [ourPanel setTitle:title]; + + [delegate setModalSession:[NSApp beginModalSessionForWindow:ourPanel]]; + return delegate; +} + +void QFontDialogPrivate::mac_nativeDialogModalHelp() +{ + // Copied from QFileDialogPrivate + // Do a queued meta-call to open the native modal dialog so it opens after the new + // event loop has started to execute (in QDialog::exec). Using a timer rather than + // a queued meta call is intentional to ensure that the call is only delivered when + // [NSApp run] runs (timers are handeled special in cocoa). If NSApp is not + // running (which is the case if e.g a top-most QEventLoop has been + // interrupted, and the second-most event loop has not yet been reactivated (regardless + // if [NSApp run] is still on the stack)), showing a native modal dialog will fail. + if (nativeDialogInUse) { + Q_Q(QFontDialog); + QTimer::singleShot(1, q, SLOT(_q_macRunNativeAppModalPanel())); + } +} + +// The problem with the native font dialog is that OS X does not +// offer a proper dialog, but a panel (i.e. without Ok and Cancel buttons). +// This means we need to "construct" a native dialog by taking the panel +// and "adding" the buttons. +void QFontDialogPrivate::_q_macRunNativeAppModalPanel() +{ + QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active); + Q_Q(QFontDialog); + QCocoaFontPanelDelegate *delegate = (QCocoaFontPanelDelegate *)_q_constructNativePanel(); + NSWindow *ourPanel = [delegate actualPanel]; + [ourPanel retain]; + int rval = [NSApp runModalForWindow:ourPanel]; + QAbstractEventDispatcher::instance()->interrupt(); + [ourPanel release]; + [delegate cleanUpAfterMyself]; + [delegate release]; + bool isOk = (rval == NSOKButton); + if(isOk) + rescode = QDialog::Accepted; + else + rescode = QDialog::Rejected; +} + +bool QFontDialogPrivate::setVisible_sys(bool visible) +{ + Q_Q(QFontDialog); + if (!visible == q->isHidden()) + return false; + return visible; +} + QT_END_NAMESPACE #endif diff --git a/src/gui/dialogs/qfontdialog_p.h b/src/gui/dialogs/qfontdialog_p.h index ca2b10b..7654a80 100644 --- a/src/gui/dialogs/qfontdialog_p.h +++ b/src/gui/dialogs/qfontdialog_p.h @@ -152,6 +152,12 @@ public: inline QFontDialog *fontDialog() { return q_func(); } void *delegate; + bool nativeDialogInUse; + bool canBeNativeDialog(); + bool setVisible_sys(bool visible); + void *_q_constructNativePanel(); + void _q_macRunNativeAppModalPanel(); + void mac_nativeDialogModalHelp(); static bool sharedFontPanelAvailable; #endif diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index ca20101..5735cd6 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -414,12 +414,6 @@ /*! \enum QGraphicsItem::GraphicsItemChange - ItemVisibleHasChanged, - ItemEnabledHasChanged, - ItemSelectedHasChanged, - ItemParentHasChanged, - ItemSceneHasChanged - This enum describes the state changes that are notified by QGraphicsItem::itemChange(). The notifications are sent as the state changes, and in some cases, adjustments can be made (see the documentation @@ -647,9 +641,16 @@ are children of a modal panel are not blocked. The values are: - \value NonModal The panel is not modal and does not block input to other panels. - \value PanelModal The panel is modal to a single item hierarchy and blocks input to its parent pane, all grandparent panels, and all siblings of its parent and grandparent panels. - \value SceneModal The window is modal to the entire scene and blocks input to all panels. + + \value NonModal The panel is not modal and does not block input to + other panels. This is the default value for panels. + + \value PanelModal The panel is modal to a single item hierarchy + and blocks input to its parent pane, all grandparent panels, and + all siblings of its parent and grandparent panels. + + \value SceneModal The window is modal to the entire scene and + blocks input to all panels. \sa QGraphicsItem::setPanelModality(), QGraphicsItem::panelModality(), QGraphicsItem::ItemIsPanel */ diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 40e1d2c..365afdd 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -813,7 +813,8 @@ void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item, // do it ourselves. if (item) { for (int i = 0; i < views.size(); ++i) - views.at(i)->inputContext()->reset(); + if (views.at(i)->inputContext()) + views.at(i)->inputContext()->reset(); } } #endif //QT_NO_IM @@ -4692,7 +4693,8 @@ void QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem *item, QPainter * if (widget) item->d_ptr->paintedViewBoundingRects.insert(widget, viewBoundingRect); viewBoundingRect.adjust(-1, -1, 1, 1); - drawItem = exposedRegion ? exposedRegion->intersects(viewBoundingRect) : !viewBoundingRect.isEmpty(); + drawItem = exposedRegion ? exposedRegion->intersects(viewBoundingRect) + : !viewBoundingRect.normalized().isEmpty(); if (!drawItem) { if (!itemHasChildren) return; diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index 06b7438..1ced3d7 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -3400,6 +3400,13 @@ void QGraphicsView::paintEvent(QPaintEvent *event) if (!d->scene->d_func()->painterStateProtection) painter.setWorldTransform(viewTransform); } else { + // Make sure we don't have unpolished items before we draw + if (!d->scene->d_func()->unpolishedItems.isEmpty()) + d->scene->d_func()->_q_polishItems(); + // We reset updateAll here (after we've issued polish events) + // so that we can discard update requests coming from polishEvent(). + d->scene->d_func()->updateAll = false; + // Find all exposed items bool allItems = false; QList<QGraphicsItem *> itemList = d->findItems(d->exposedRegion, &allItems, viewTransform); @@ -3408,9 +3415,25 @@ void QGraphicsView::paintEvent(QPaintEvent *event) const int numItems = itemList.size(); QGraphicsItem **itemArray = &itemList[0]; // Relies on QList internals, but is perfectly valid. QStyleOptionGraphicsItem *styleOptionArray = d->allocStyleOptionsArray(numItems); + QTransform transform(Qt::Uninitialized); for (int i = 0; i < numItems; ++i) { - itemArray[i]->d_ptr->initStyleOption(&styleOptionArray[i], viewTransform, - d->exposedRegion, allItems); + QGraphicsItem *item = itemArray[i]; + QGraphicsItemPrivate *itemd = item->d_ptr.data(); + itemd->initStyleOption(&styleOptionArray[i], viewTransform, d->exposedRegion, allItems); + // Cache the item's area in view coordinates. + // Note that we have to do this here in case the base class implementation + // (QGraphicsScene::drawItems) is not called. If it is, we'll do this + // operation twice, but that's the price one has to pay for using indirect + // painting :-/. + const QRectF brect = adjustedItemEffectiveBoundingRect(item); + if (!itemd->itemIsUntransformable()) { + transform = item->sceneTransform(); + if (viewTransformed) + transform *= viewTransform; + } else { + transform = item->deviceTransform(viewTransform); + } + itemd->paintedViewBoundingRects.insert(d->viewport, transform.mapRect(brect).toRect()); } // Draw the items. drawItems(&painter, numItems, itemArray, styleOptionArray); diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp index 2226901..8446387 100644 --- a/src/gui/image/qnativeimage.cpp +++ b/src/gui/image/qnativeimage.cpp @@ -182,7 +182,7 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* qWarning() << "Error while marking the shared memory segment to be destroyed"; ok = (xshminfo.shmaddr != (char*)-1); if (ok) - image = QImage((uchar *)xshmimg->data, width, height, systemFormat()); + image = QImage((uchar *)xshmimg->data, width, height, format); } xshminfo.readOnly = false; if (ok) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index adf3ce3..bc6db90 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2119,6 +2119,11 @@ void QAbstractItemView::focusOutEvent(QFocusEvent *event) Q_D(QAbstractItemView); QAbstractScrollArea::focusOutEvent(event); d->viewport->update(); + +#ifdef QT_SOFTKEYS_ENABLED + if(!hasEditFocus()) + removeAction(d->doneSoftKey); +#endif } /*! @@ -2144,7 +2149,12 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) if (!hasEditFocus()) { setEditFocus(true); #ifdef QT_SOFTKEYS_ENABLED - addAction(d->doneSoftKey); + // If we can't keypad navigate to any direction, there is no sense to add + // "Done" softkey, since it basically does nothing when there is + // only one widget in screen + if(QWidgetPrivate::canKeypadNavigate(Qt::Horizontal) + || QWidgetPrivate::canKeypadNavigate(Qt::Vertical)) + addAction(d->doneSoftKey); #endif return; } @@ -2160,6 +2170,26 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) event->ignore(); } return; + case Qt::Key_Down: + case Qt::Key_Up: + // Let's ignore vertical navigation events, only if there is no other widget + // what can take the focus in vertical direction. This means widget can handle navigation events + // even the widget don't have edit focus, and there is no other widget in requested direction. + if(QApplication::keypadNavigationEnabled() && !hasEditFocus() + && QWidgetPrivate::canKeypadNavigate(Qt::Vertical)) { + event->ignore(); + return; + } + break; + case Qt::Key_Left: + case Qt::Key_Right: + // Similar logic as in up and down events + if(QApplication::keypadNavigationEnabled() && !hasEditFocus() + && (QWidgetPrivate::canKeypadNavigate(Qt::Horizontal) || QWidgetPrivate::inTabWidget(this))) { + event->ignore(); + return; + } + break; default: if (QApplication::keypadNavigationEnabled() && !hasEditFocus()) { event->ignore(); @@ -2245,7 +2275,7 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) case Qt::Key_Down: case Qt::Key_Up: #ifdef QT_KEYPAD_NAVIGATION - if (QApplication::keypadNavigationEnabled()) { + if (QApplication::keypadNavigationEnabled() && QWidgetPrivate::canKeypadNavigate(Qt::Vertical)) { event->accept(); // don't change focus break; } @@ -2253,8 +2283,10 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) case Qt::Key_Left: case Qt::Key_Right: #ifdef QT_KEYPAD_NAVIGATION - if (QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional) { - event->accept(); // don't change horizontal focus in directional mode + if (QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional + && (QWidgetPrivate::canKeypadNavigate(Qt::Horizontal) + || (QWidgetPrivate::inTabWidget(this) && d->model->columnCount(d->root) > 1))) { + event->accept(); // don't change focus break; } #endif // QT_KEYPAD_NAVIGATION diff --git a/src/gui/itemviews/qabstractproxymodel.cpp b/src/gui/itemviews/qabstractproxymodel.cpp index 40345a7..43a1327 100644 --- a/src/gui/itemviews/qabstractproxymodel.cpp +++ b/src/gui/itemviews/qabstractproxymodel.cpp @@ -127,6 +127,7 @@ void QAbstractProxyModel::setSourceModel(QAbstractItemModel *sourceModel) } else { d->model = QAbstractItemModelPrivate::staticEmptyModel(); } + d->roleNames = d->model->roleNames(); } /*! diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 3e2e6f6..baefdfd 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -597,7 +597,9 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod TUint s60Keysym = QApplicationPrivate::resolveS60ScanCode(keyEvent.iScanCode, keyEvent.iCode); int keyCode; - if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) { + if (s60Keysym == EKeyNull){ //some key events have 0 in iCode, for them iScanCode should be used + keyCode = qt_keymapper_private()->mapS60ScanCodesToQt(keyEvent.iScanCode); + } else if (s60Keysym >= 0x20 && s60Keysym < ENonCharacterKeyBase) { // Normal characters keys. keyCode = s60Keysym; } else { @@ -1146,6 +1148,10 @@ void qt_init(QApplicationPrivate * /* priv */, int) #endif S60->wsSession().SetAutoFlush(ETrue); +#ifdef Q_SYMBIAN_WINDOW_SIZE_CACHE + TRAP_IGNORE(S60->wsSession().EnableWindowSizeCacheL()); +#endif + S60->updateScreenSize(); diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 31d245f..131b9bb 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -1905,8 +1905,13 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam break; if (!msg.wParam) { +#ifdef Q_WS_WINCE + // On Windows CE, lParam parameter is a constant, not a char pointer. + if (msg.lParam == INI_INTL) { +#else QString area = QString::fromWCharArray((wchar_t*)msg.lParam); if (area == QLatin1String("intl")) { +#endif QLocalePrivate::updateSystemPrivate(); if (!widget->testAttribute(Qt::WA_SetLocale)) widget->dptr()->setLocale_helper(QLocale(), true); diff --git a/src/gui/kernel/qkeymapper_p.h b/src/gui/kernel/qkeymapper_p.h index 09c36c88..3e42d6e 100644 --- a/src/gui/kernel/qkeymapper_p.h +++ b/src/gui/kernel/qkeymapper_p.h @@ -207,12 +207,12 @@ public: KeyboardLayoutItem *keyLayout[256]; #elif defined(Q_WS_QWS) #elif defined(Q_OS_SYMBIAN) -private: - QHash<TUint, int> s60ToQtKeyMap; - void fillKeyMap(); public: QString translateKeyEvent(int keySym, Qt::KeyboardModifiers modifiers); int mapS60KeyToQt(TUint s60key); + int mapS60ScanCodesToQt(TUint s60key); + int mapQtToS60Key(int qtKey); + int mapQtToS60ScanCodes(int qtKey); #endif }; diff --git a/src/gui/kernel/qkeymapper_s60.cpp b/src/gui/kernel/qkeymapper_s60.cpp index 6e21420..fd263ef 100644 --- a/src/gui/kernel/qkeymapper_s60.cpp +++ b/src/gui/kernel/qkeymapper_s60.cpp @@ -46,7 +46,6 @@ QT_BEGIN_NAMESPACE QKeyMapperPrivate::QKeyMapperPrivate() { - fillKeyMap(); } QKeyMapperPrivate::~QKeyMapperPrivate() @@ -74,174 +73,145 @@ QString QKeyMapperPrivate::translateKeyEvent(int keySym, Qt::KeyboardModifiers / return QString(QChar(keySym)); } -void QKeyMapperPrivate::fillKeyMap() +#include <e32keys.h> +struct KeyMapping{ + TKeyCode s60KeyCode; + TStdScanCode s60ScanCode; + Qt::Key qtKey; +}; + +using namespace Qt; + +static const KeyMapping keyMapping[] = { + {EKeyBackspace, EStdKeyBackspace, Key_Backspace}, + {EKeyTab, EStdKeyTab, Key_Tab}, + {EKeyEnter, EStdKeyEnter, Key_Enter}, + {EKeyEscape, EStdKeyEscape, Key_Escape}, + {EKeySpace, EStdKeySpace, Key_Space}, + {EKeyDelete, EStdKeyDelete, Key_Delete}, + {EKeyPrintScreen, EStdKeyPrintScreen, Key_SysReq}, + {EKeyPause, EStdKeyPause, Key_Pause}, + {EKeyHome, EStdKeyHome, Key_Home}, + {EKeyEnd, EStdKeyEnd, Key_End}, + {EKeyPageUp, EStdKeyPageUp, Key_PageUp}, + {EKeyPageDown, EStdKeyPageDown, Key_PageDown}, + {EKeyInsert, EStdKeyInsert, Key_Insert}, + {EKeyLeftArrow, EStdKeyLeftArrow, Key_Left}, + {EKeyRightArrow, EStdKeyRightArrow, Key_Right}, + {EKeyUpArrow, EStdKeyUpArrow, Key_Up}, + {EKeyDownArrow, EStdKeyDownArrow, Key_Down}, + {EKeyLeftShift, EStdKeyLeftShift, Key_Shift}, + {EKeyRightShift, EStdKeyRightShift, Key_Shift}, + {EKeyLeftAlt, EStdKeyLeftAlt, Key_Alt}, + {EKeyRightAlt, EStdKeyRightAlt, Key_AltGr}, + {EKeyLeftCtrl, EStdKeyLeftCtrl, Key_Control}, + {EKeyRightCtrl, EStdKeyRightCtrl, Key_Control}, + {EKeyLeftFunc, EStdKeyLeftFunc, Key_Super_L}, + {EKeyRightFunc, EStdKeyRightFunc, Key_Super_R}, + {EKeyCapsLock, EStdKeyCapsLock, Key_CapsLock}, + {EKeyNumLock, EStdKeyNumLock, Key_NumLock}, + {EKeyScrollLock, EStdKeyScrollLock, Key_ScrollLock}, + {EKeyF1, EStdKeyF1, Key_F1}, + {EKeyF2, EStdKeyF2, Key_F2}, + {EKeyF3, EStdKeyF3, Key_F3}, + {EKeyF4, EStdKeyF4, Key_F4}, + {EKeyF5, EStdKeyF5, Key_F5}, + {EKeyF6, EStdKeyF6, Key_F6}, + {EKeyF7, EStdKeyF7, Key_F7}, + {EKeyF8, EStdKeyF8, Key_F8}, + {EKeyF9, EStdKeyF9, Key_F9}, + {EKeyF10, EStdKeyF10, Key_F10}, + {EKeyF11, EStdKeyF11, Key_F11}, + {EKeyF12, EStdKeyF12, Key_F12}, + {EKeyF13, EStdKeyF13, Key_F13}, + {EKeyF14, EStdKeyF14, Key_F14}, + {EKeyF15, EStdKeyF15, Key_F15}, + {EKeyF16, EStdKeyF16, Key_F16}, + {EKeyF17, EStdKeyF17, Key_F17}, + {EKeyF18, EStdKeyF18, Key_F18}, + {EKeyF19, EStdKeyF19, Key_F19}, + {EKeyF20, EStdKeyF20, Key_F20}, + {EKeyF21, EStdKeyF21, Key_F21}, + {EKeyF22, EStdKeyF22, Key_F22}, + {EKeyF23, EStdKeyF23, Key_F23}, + {EKeyF24, EStdKeyF24, Key_F24}, + {EKeyOff, EStdKeyOff, Key_PowerOff}, +// {EKeyMenu, EStdKeyMenu, Key_Menu}, // Menu is EKeyApplication0 + {EKeyHelp, EStdKeyHelp, Key_Help}, + {EKeyDial, EStdKeyDial, Key_Call}, + {EKeyIncVolume, EStdKeyIncVolume, Key_VolumeUp}, + {EKeyDecVolume, EStdKeyDecVolume, Key_VolumeDown}, + {EKeyDevice0, EStdKeyDevice0, Key_Context1}, // Found by manual testing. + {EKeyDevice1, EStdKeyDevice1, Key_Context2}, // Found by manual testing. + {EKeyDevice3, EStdKeyDevice3, Key_Select}, +// {EKeyDevice7, EStdKeyDevice7, Key_Camera}, //not supported by qt yet + {EKeyApplication0, EStdKeyApplication0, Key_Menu}, // Found by manual testing. + {EKeyApplication1, EStdKeyApplication1, Key_Launch1}, // Found by manual testing. + {EKeyApplication2, EStdKeyApplication2, Key_MediaPlay}, // Found by manual testing. + {EKeyApplication3, EStdKeyApplication3, Key_MediaStop}, // Found by manual testing. + {EKeyApplication4, EStdKeyApplication4, Key_MediaNext}, // Found by manual testing. + {EKeyApplication5, EStdKeyApplication5, Key_MediaPrevious}, // Found by manual testing. + {EKeyApplication6, EStdKeyApplication6, Key_Launch6}, + {EKeyApplication7, EStdKeyApplication7, Key_Launch7}, + {EKeyApplication8, EStdKeyApplication8, Key_Launch8}, + {EKeyApplication9, EStdKeyApplication9, Key_Launch9}, + {EKeyApplicationA, EStdKeyApplicationA, Key_LaunchA}, + {EKeyApplicationB, EStdKeyApplicationB, Key_LaunchB}, + {EKeyApplicationC, EStdKeyApplicationC, Key_LaunchC}, + {EKeyApplicationD, EStdKeyApplicationD, Key_LaunchD}, + {EKeyApplicationE, EStdKeyApplicationE, Key_LaunchE}, + {EKeyApplicationF, EStdKeyApplicationF, Key_LaunchF}, +// {EKeyApplication19, EStdKeyApplication19, Key_CameraFocus}, //not supported by qt yet + {EKeyYes, EStdKeyYes, Key_Yes}, + {EKeyNo, EStdKeyNo, Key_No}, + {TKeyCode(0), TStdScanCode(0), Qt::Key(0)} +}; + +int QKeyMapperPrivate::mapS60KeyToQt(TUint s60key) { - using namespace Qt; - static const struct { - TUint s60Key; - int qtKey; - } map[] = { - {EKeyBell, Key_unknown}, - {EKeyBackspace, Key_Backspace}, - {EKeyTab, Key_Tab}, - {EKeyLineFeed, Key_unknown}, - {EKeyVerticalTab, Key_unknown}, - {EKeyFormFeed, Key_unknown}, - {EKeyEnter, Key_Enter}, - {EKeyEscape, Key_Escape}, - {EKeySpace, Key_Space}, - {EKeyDelete, Key_Delete}, - {EKeyPrintScreen, Key_SysReq}, - {EKeyPause, Key_Pause}, - {EKeyHome, Key_Home}, - {EKeyEnd, Key_End}, - {EKeyPageUp, Key_PageUp}, - {EKeyPageDown, Key_PageDown}, - {EKeyInsert, Key_Insert}, - {EKeyLeftArrow, Key_Left}, - {EKeyRightArrow, Key_Right}, - {EKeyUpArrow, Key_Up}, - {EKeyDownArrow, Key_Down}, - {EKeyLeftShift, Key_Shift}, - {EKeyRightShift, Key_Shift}, - {EKeyLeftAlt, Key_Alt}, - {EKeyRightAlt, Key_AltGr}, - {EKeyLeftCtrl, Key_Control}, - {EKeyRightCtrl, Key_Control}, - {EKeyLeftFunc, Key_Super_L}, - {EKeyRightFunc, Key_Super_R}, - {EKeyCapsLock, Key_CapsLock}, - {EKeyNumLock, Key_NumLock}, - {EKeyScrollLock, Key_ScrollLock}, - {EKeyF1, Key_F1}, - {EKeyF2, Key_F2}, - {EKeyF3, Key_F3}, - {EKeyF4, Key_F4}, - {EKeyF5, Key_F5}, - {EKeyF6, Key_F6}, - {EKeyF7, Key_F7}, - {EKeyF8, Key_F8}, - {EKeyF9, Key_F9}, - {EKeyF10, Key_F10}, - {EKeyF11, Key_F11}, - {EKeyF12, Key_F12}, - {EKeyF13, Key_F13}, - {EKeyF14, Key_F14}, - {EKeyF15, Key_F15}, - {EKeyF16, Key_F16}, - {EKeyF17, Key_F17}, - {EKeyF18, Key_F18}, - {EKeyF19, Key_F19}, - {EKeyF20, Key_F20}, - {EKeyF21, Key_F21}, - {EKeyF22, Key_F22}, - {EKeyF23, Key_F23}, - {EKeyF24, Key_F24}, - {EKeyOff, Key_unknown}, - {EKeyIncContrast, Key_unknown}, - {EKeyDecContrast, Key_unknown}, - {EKeyBacklightOn, Key_unknown}, - {EKeyBacklightOff, Key_unknown}, - {EKeyBacklightToggle, Key_unknown}, - {EKeySliderDown, Key_unknown}, - {EKeySliderUp, Key_unknown}, - {EKeyMenu, Key_Menu}, - {EKeyDictaphonePlay, Key_unknown}, - {EKeyDictaphoneStop, Key_unknown}, - {EKeyDictaphoneRecord, Key_unknown}, - {EKeyHelp, Key_unknown}, - {EKeyDial, Key_Call}, - {EKeyScreenDimension0, Key_unknown}, - {EKeyScreenDimension1, Key_unknown}, - {EKeyScreenDimension2, Key_unknown}, - {EKeyScreenDimension3, Key_unknown}, - {EKeyIncVolume, Key_unknown}, - {EKeyDecVolume, Key_unknown}, - {EKeyDevice0, Key_Context1}, // Found by manual testing, left softkey. - {EKeyDevice1, Key_Context2}, // Found by manual testing. - {EKeyDevice2, Key_unknown}, - {EKeyDevice3, Key_Select}, // Found by manual testing. - {EKeyDevice4, Key_unknown}, - {EKeyDevice5, Key_unknown}, - {EKeyDevice6, Key_unknown}, - {EKeyDevice7, Key_unknown}, - {EKeyDevice8, Key_unknown}, - {EKeyDevice9, Key_unknown}, - {EKeyDeviceA, Key_unknown}, - {EKeyDeviceB, Key_unknown}, - {EKeyDeviceC, Key_unknown}, - {EKeyDeviceD, Key_unknown}, - {EKeyDeviceE, Key_unknown}, - {EKeyDeviceF, Key_unknown}, - {EKeyApplication0, Key_Launch0}, - {EKeyApplication1, Key_Launch1}, - {EKeyApplication2, Key_Launch2}, - {EKeyApplication3, Key_Launch3}, - {EKeyApplication4, Key_Launch4}, - {EKeyApplication5, Key_Launch5}, - {EKeyApplication6, Key_Launch6}, - {EKeyApplication7, Key_Launch7}, - {EKeyApplication8, Key_Launch8}, - {EKeyApplication9, Key_Launch9}, - {EKeyApplicationA, Key_LaunchA}, - {EKeyApplicationB, Key_LaunchB}, - {EKeyApplicationC, Key_LaunchC}, - {EKeyApplicationD, Key_LaunchD}, - {EKeyApplicationE, Key_LaunchE}, - {EKeyApplicationF, Key_LaunchF}, - {EKeyYes, Key_Yes}, - {EKeyNo, Key_No}, - {EKeyIncBrightness, Key_unknown}, - {EKeyDecBrightness, Key_unknown}, - {EKeyKeyboardExtend, Key_unknown}, - {EKeyDevice10, Key_unknown}, - {EKeyDevice11, Key_unknown}, - {EKeyDevice12, Key_unknown}, - {EKeyDevice13, Key_unknown}, - {EKeyDevice14, Key_unknown}, - {EKeyDevice15, Key_unknown}, - {EKeyDevice16, Key_unknown}, - {EKeyDevice17, Key_unknown}, - {EKeyDevice18, Key_unknown}, - {EKeyDevice19, Key_unknown}, - {EKeyDevice1A, Key_unknown}, - {EKeyDevice1B, Key_unknown}, - {EKeyDevice1C, Key_unknown}, - {EKeyDevice1D, Key_unknown}, - {EKeyDevice1E, Key_unknown}, - {EKeyDevice1F, Key_unknown}, - {EKeyApplication10, Key_unknown}, - {EKeyApplication11, Key_unknown}, - {EKeyApplication12, Key_unknown}, - {EKeyApplication13, Key_unknown}, - {EKeyApplication14, Key_unknown}, - {EKeyApplication15, Key_unknown}, - {EKeyApplication16, Key_unknown}, - {EKeyApplication17, Key_unknown}, - {EKeyApplication18, Key_unknown}, - {EKeyApplication19, Key_unknown}, - {EKeyApplication1A, Key_unknown}, - {EKeyApplication1B, Key_unknown}, - {EKeyApplication1C, Key_unknown}, - {EKeyApplication1D, Key_unknown}, - {EKeyApplication1E, Key_unknown}, - {EKeyApplication1F, Key_unknown} - }; - const int mapSize = int(sizeof(map)/sizeof(map[0])); - s60ToQtKeyMap.reserve(mapSize + 5); // +5? docs: Ideally, slightly more than number of items - for (int i = 0; i < mapSize; ++i) - s60ToQtKeyMap.insert(map[i].s60Key, map[i].qtKey); + int res = Qt::Key_unknown; + for (int i = 0; keyMapping[i].s60KeyCode != 0; i++) { + if (keyMapping[i].s60KeyCode == s60key) { + res = keyMapping[i].qtKey; + break; + } + } + return res; } -int QKeyMapperPrivate::mapS60KeyToQt(TUint s60key) +int QKeyMapperPrivate::mapS60ScanCodesToQt(TUint s60scanCode) { - QHash<TUint, int>::const_iterator mapping; - mapping = s60ToQtKeyMap.find(s60key); - if (mapping != s60ToQtKeyMap.end()) { - return *mapping; - } else { - return Qt::Key_unknown; + int res = Qt::Key_unknown; + for (int i = 0; keyMapping[i].s60KeyCode != 0; i++) { + if (keyMapping[i].s60ScanCode == s60scanCode) { + res = keyMapping[i].qtKey; + break; + } } + return res; } +int QKeyMapperPrivate::mapQtToS60Key(int qtKey) +{ + int res = KErrUnknown; + for (int i = 0; keyMapping[i].s60KeyCode != 0; i++) { + if (keyMapping[i].qtKey == qtKey) { + res = keyMapping[i].s60KeyCode; + break; + } + } + return res; +} + +int QKeyMapperPrivate::mapQtToS60ScanCodes(int qtKey) +{ + int res = KErrUnknown; + for (int i = 0; keyMapping[i].s60KeyCode != 0; i++) { + if (keyMapping[i].qtKey == qtKey) { + res = keyMapping[i].s60ScanCode; + break; + } + } + return res; +} QT_END_NAMESPACE diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 1e9b1d9..2f6ec6b 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -118,6 +118,10 @@ #include "private/qgraphicssystem_p.h" #include "private/qgesturemanager_p.h" +#ifdef QT_KEYPAD_NAVIGATION +#include "qtabwidget.h" // Needed in inTabWidget() +#endif // QT_KEYPAD_NAVIGATION + // widget/widget data creation count //#define QWIDGET_EXTRA_DEBUG //#define ALIEN_DEBUG @@ -11641,6 +11645,45 @@ QWidget *QWidgetPrivate::widgetInNavigationDirection(Direction direction) } return targetWidget; } + +/*! + \internal + + Tells us if it there is currently a reachable widget by keypad navigation in + a certain \a orientation. + If no navigation is possible, occuring key events in that \a orientation may + be used to interact with the value in the focussed widget, even though it + currently has not the editFocus. + + \sa QWidgetPrivate::widgetInNavigationDirection(), QWidget::hasEditFocus() +*/ +bool QWidgetPrivate::canKeypadNavigate(Qt::Orientation orientation) +{ + return orientation == Qt::Horizontal? + (QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionEast) + || QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionWest)) + :(QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionNorth) + || QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionSouth)); +} +/*! + \internal + + Checks, if the \a widget is inside a QTabWidget. If is is inside + one, left/right key events will be used to switch between tabs in keypad + navigation. If there is no QTabWidget, the horizontal key events can be used +to + interact with the value in the focussed widget, even though it currently has + not the editFocus. + + \sa QWidget::hasEditFocus() +*/ +bool QWidgetPrivate::inTabWidget(QWidget *widget) +{ + for (QWidget *tabWidget = widget; tabWidget; tabWidget = tabWidget->parentWidget()) + if (qobject_cast<const QTabWidget*>(tabWidget)) + return true; + return false; +} #endif /*! diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index da9e9eb..dcb87fc 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -4543,8 +4543,20 @@ void QWidgetPrivate::scroll_sys(int dx, int dy, const QRect &r) } } + // ### Scroll the dirty regions as well, the following is not correct. + QRegion displayRegion = r.isNull() ? dirtyOnWidget : (dirtyOnWidget & r); + const QVector<QRect> &rects = dirtyOnWidget.rects(); + const QVector<QRect>::const_iterator end = rects.end(); + QVector<QRect>::const_iterator it = rects.begin(); + while (it != end) { + const QRect rect = *it; + const NSRect dirtyRect = NSMakeRect(rect.x() + dx, rect.y() + dy, + rect.width(), rect.height()); + [view setNeedsDisplayInRect:dirtyRect]; + ++it; + } + NSSize deltaSize = NSMakeSize(dx, dy); - [view translateRectsNeedingDisplayInRect:scrollRect by:deltaSize]; [view scrollRect:scrollRect by:deltaSize]; [view setNeedsDisplayInRect:deltaXRect]; [view setNeedsDisplayInRect:deltaYRect]; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index 75b4c12..efd9a0a 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -475,6 +475,8 @@ public: #ifdef QT_KEYPAD_NAVIGATION static bool navigateToDirection(Direction direction); static QWidget *widgetInNavigationDirection(Direction direction); + static bool canKeypadNavigate(Qt::Orientation orientation); + static bool inTabWidget(QWidget *widget); #endif void setWindowIconText_sys(const QString &cap); diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp index 1f9fc32..bc1bece 100644 --- a/src/gui/styles/qstylesheetstyle.cpp +++ b/src/gui/styles/qstylesheetstyle.cpp @@ -5749,6 +5749,13 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c return positionRect(w, subRule, subRule2, pe, opt->rect, opt->direction); } +#ifndef QT_NO_TOOLBAR + case SE_ToolBarHandle: + if (hasStyleRule(w, PseudoElement_ToolBarHandle)) + return ParentStyle::subElementRect(se, opt, w); + break; +#endif //QT_NO_TOOLBAR + default: break; } diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 4bd7b5a..2888490 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -47,9 +47,6 @@ #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif -#ifdef QT_KEYPAD_NAVIGATION -#include "qtabwidget.h" // Needed in inTabWidget() -#endif // QT_KEYPAD_NAVIGATION #include <limits.h> QT_BEGIN_NAMESPACE @@ -702,7 +699,7 @@ bool QAbstractSliderPrivate::scrollByDelta(Qt::Orientation orientation, Qt::Keyb stepsToScroll = qBound(-pageStep, int(offset * pageStep), pageStep); offset_accumulated = 0; } else { - // Calculate how many lines to scroll. Depending on what delta is (and + // Calculate how many lines to scroll. Depending on what delta is (and // offset), we might end up with a fraction (e.g. scroll 1.3 lines). We can // only scroll whole lines, so we keep the reminder until next event. qreal stepsToScrollF = @@ -749,45 +746,7 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) } #endif -#ifdef QT_KEYPAD_NAVIGATION -/*! - \internal - - Tells us if it there is currently a reachable widget by keypad navigation in - a certain \a orientation. - If no navigation is possible, occuring key events in that \a orientation may - be used to interact with the value in the focussed widget, even though it - currently has not the editFocus. - \sa QWidgetPrivate::widgetInNavigationDirection(), QWidget::hasEditFocus() -*/ -inline static bool canKeypadNavigate(Qt::Orientation orientation) -{ - return orientation == Qt::Horizontal? - (QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionEast) - || QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionWest)) - :(QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionNorth) - || QWidgetPrivate::widgetInNavigationDirection(QWidgetPrivate::DirectionSouth)); -} -/*! - \internal - - Checks, if the \a widget is inside a QTabWidget. If is is inside - one, left/right key events will be used to switch between tabs in keypad - navigation. If there is no QTabWidget, the horizontal key events can be used to - interact with the value in the focussed widget, even though it currently has - not the editFocus. - - \sa QWidget::hasEditFocus() -*/ -inline static bool inTabWidget(QWidget *widget) -{ - for (QWidget *tabWidget = widget; tabWidget; tabWidget = tabWidget->parentWidget()) - if (qobject_cast<const QTabWidget*>(tabWidget)) - return true; - return false; -} -#endif // QT_KEYPAD_NAVIGATION /*! \reimp */ @@ -853,7 +812,8 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) if (QApplication::keypadNavigationEnabled() && (!hasEditFocus() && QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder || d->orientation == Qt::Vertical - || !hasEditFocus() && (canKeypadNavigate(Qt::Horizontal) || inTabWidget(this)))) { + || !hasEditFocus() + && (QWidgetPrivate::canKeypadNavigate(Qt::Horizontal) || QWidgetPrivate::inTabWidget(this)))) { ev->ignore(); return; } @@ -872,7 +832,8 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) if (QApplication::keypadNavigationEnabled() && (!hasEditFocus() && QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder || d->orientation == Qt::Vertical - || !hasEditFocus() && (canKeypadNavigate(Qt::Horizontal) || inTabWidget(this)))) { + || !hasEditFocus() + && (QWidgetPrivate::canKeypadNavigate(Qt::Horizontal) || QWidgetPrivate::inTabWidget(this)))) { ev->ignore(); return; } @@ -892,7 +853,7 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) if (QApplication::keypadNavigationEnabled() && (QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder || d->orientation == Qt::Horizontal - || !hasEditFocus() && canKeypadNavigate(Qt::Vertical))) { + || !hasEditFocus() && QWidgetPrivate::canKeypadNavigate(Qt::Vertical))) { ev->ignore(); break; } @@ -905,7 +866,7 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev) if (QApplication::keypadNavigationEnabled() && (QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder || d->orientation == Qt::Horizontal - || !hasEditFocus() && canKeypadNavigate(Qt::Vertical))) { + || !hasEditFocus() && QWidgetPrivate::canKeypadNavigate(Qt::Vertical))) { ev->ignore(); break; } diff --git a/src/gui/widgets/qlineedit_p.cpp b/src/gui/widgets/qlineedit_p.cpp index 1aa7a2b..2c76a5c 100644 --- a/src/gui/widgets/qlineedit_p.cpp +++ b/src/gui/widgets/qlineedit_p.cpp @@ -129,7 +129,7 @@ void QLineEditPrivate::_q_editFocusChange(bool e) void QLineEditPrivate::_q_selectionChanged() { Q_Q(QLineEdit); - if (control->preeditAreaText().isEmpty()) { + if (!control->text().isEmpty() && control->preeditAreaText().isEmpty()) { QStyleOptionFrameV2 opt; q->initStyleOption(&opt); bool showCursor = control->hasSelectedText() ? diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp index 45cafc1..fd892dd 100644 --- a/src/multimedia/audio/qaudioinput.cpp +++ b/src/multimedia/audio/qaudioinput.cpp @@ -190,18 +190,18 @@ QAudioInput::~QAudioInput() Passing a QIODevice allows the data to be transfered without any extra code. All that is required is to open the QIODevice. + If able to successfully get audio data from the systems audio device the + state() is set to either QAudio::ActiveState or QAudio::IdleState, + error() is set to QAudio::NoError and the stateChanged() signal is emitted. + + If a problem occurs during this process the error() is set to QAudio::OpenError, + state() is set to QAudio::StoppedState and stateChanged() signal is emitted. + \sa QIODevice */ void QAudioInput::start(QIODevice* device) { - /* - -If currently not StoppedState, stop - -If previous start was push mode, delete internal QIODevice. - -open audio input. - If ok, NoError and ActiveState, else OpenError and StoppedState. - -emit stateChanged() - */ d->start(device); } @@ -210,19 +210,18 @@ void QAudioInput::start(QIODevice* device) transfer. This QIODevice can be used to read() audio data directly. + If able to access the systems audio device the state() is set to + QAudio::IdleState, error() is set to QAudio::NoError + and the stateChanged() signal is emitted. + + If a problem occurs during this process the error() is set to QAudio::OpenError, + state() is set to QAudio::StoppedState and stateChanged() signal is emitted. + \sa QIODevice */ QIODevice* QAudioInput::start() { - /* - -If currently not StoppedState, stop - -If no internal QIODevice, create one. - -open audio input. - -If ok, NoError and IdleState, else OpenError and StoppedState - -emit stateChanged() - -return internal QIODevice - */ return d->start(0); } @@ -236,17 +235,14 @@ QAudioFormat QAudioInput::format() const } /*! - Stops the audio input. + Stops the audio input, detaching from the system resource. + + Sets error() to QAudio::NoError, state() to QAudio::StoppedState and + emit stateChanged() signal. */ void QAudioInput::stop() { - /* - -If StoppedState, return - -set to StoppedState - -detach from audio device - -emit stateChanged() - */ d->stop(); } @@ -256,42 +252,32 @@ void QAudioInput::stop() void QAudioInput::reset() { - /* - -drop all buffered audio, set buffers to zero. - -call stop() - */ d->reset(); } /*! Stops processing audio data, preserving buffered audio data. + + Sets error() to QAudio::NoError, state() to QAudio::SuspendedState and + emit stateChanged() signal. */ void QAudioInput::suspend() { - /* - -If not ActiveState|IdleState, return - -stop processing audio, saving all buffered audio data - -set NoError and SuspendedState - -emit stateChanged() - */ d->suspend(); } /*! Resumes processing audio data after a suspend(). + + Sets error() to QAudio::NoError. + Sets state() to QAudio::ActiveState if you previously called start(QIODevice*). + Sets state() to QAudio::IdleState if you previously called start(). + emits stateChanged() signal. */ void QAudioInput::resume() { - /* - -If SuspendedState, return - -resume audio - -(PULL MODE): set ActiveState, NoError - -(PUSH MODE): set IdleState, NoError - -kick start audio if needed - -emit stateChanged() - */ d->resume(); } @@ -327,6 +313,9 @@ int QAudioInput::bufferSize() const /*! Returns the amount of audio data available to read in bytes. + + NOTE: returned value is only valid while in QAudio::ActiveState or QAudio::IdleState + state, otherwise returns zero. */ int QAudioInput::bytesReady() const @@ -352,7 +341,10 @@ int QAudioInput::periodSize() const /*! Sets the interval for notify() signal to be emitted. This is based on the \a ms of audio data processed - not on actual real-time. The resolution of the timer is platform specific. + not on actual real-time. + The minimum resolution of the timer is platform specific and values + should be checked with notifyInterval() to confirm actual value + being used. */ void QAudioInput::setNotifyInterval(int ms) diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp index 26e46b3..6010f3c 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.cpp +++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp @@ -217,9 +217,11 @@ QIODevice* QAudioInputPrivate::start(QIODevice* device) //set to pull mode pullMode = true; audioSource = device; + deviceState = QAudio::ActiveState; } else { //set to push mode pullMode = false; + deviceState = QAudio::IdleState; audioSource = new InputPrivate(this); audioSource->open(QIODevice::ReadOnly | QIODevice::Unbuffered); } @@ -413,7 +415,6 @@ bool QAudioInputPrivate::open() timer->start(period_time*chunks/2000); errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; totalTimeValue = 0; @@ -439,7 +440,7 @@ int QAudioInputPrivate::bytesReady() const if(resuming) return period_size; - if(deviceState != QAudio::ActiveState) + if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) return 0; int frames = snd_pcm_avail_update(handle); if((int)frames > (int)buffer_frames) @@ -450,8 +451,8 @@ int QAudioInputPrivate::bytesReady() const qint64 QAudioInputPrivate::read(char* data, qint64 len) { - Q_UNUSED(data) Q_UNUSED(len) + // Read in some audio data and write it to QIODevice, pull mode if ( !handle ) return 0; @@ -468,7 +469,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) if (readFrames >= 0) { err = snd_pcm_frames_to_bytes(handle, readFrames); #ifdef DEBUG_AUDIO - qDebug()<<QString::fromLatin1("PULL: read in bytes = %1 (frames=%2)").arg(err).arg(readFrames).toLatin1().constData(); + qDebug()<<QString::fromLatin1("read in bytes = %1 (frames=%2)").arg(err).arg(readFrames).toLatin1().constData(); #endif break; } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) { @@ -489,28 +490,46 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) if(err > 0) { // got some send it onward #ifdef DEBUG_AUDIO - qDebug()<<"PULL: frames to write to QIODevice = "<< + qDebug()<<"frames to write to QIODevice = "<< snd_pcm_bytes_to_frames( handle, (int)err )<<" ("<<err<<") bytes"; #endif - if(deviceState != QAudio::ActiveState) + if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) return 0; + if (pullMode) { + qint64 l = audioSource->write(audioBuffer,err); + if(l < 0) { + close(); + errorState = QAudio::IOError; + deviceState = QAudio::StoppedState; + emit stateChanged(deviceState); + } else if(l == 0) { + if (deviceState != QAudio::IdleState) { + errorState = QAudio::NoError; + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } + } else { + totalTimeValue += err; + resuming = false; + if (deviceState != QAudio::ActiveState) { + errorState = QAudio::NoError; + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } + } + return l; - qint64 l = audioSource->write(audioBuffer,err); - if(l < 0) { - close(); - errorState = QAudio::IOError; - deviceState = QAudio::StoppedState; - emit stateChanged(deviceState); - } else if(l == 0) { - errorState = QAudio::NoError; - deviceState = QAudio::IdleState; } else { - totalTimeValue += snd_pcm_bytes_to_frames(handle, err)*1000000/settings.frequency(); + memcpy(data,audioBuffer,err); + totalTimeValue += err; resuming = false; - errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; + if (deviceState != QAudio::ActiveState) { + errorState = QAudio::NoError; + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } + return err; } - return l; } return 0; } @@ -569,7 +588,7 @@ int QAudioInputPrivate::notifyInterval() const qint64 QAudioInputPrivate::processedUSecs() const { - return totalTimeValue; + return qint64(1000000) * totalTimeValue / settings.frequency(); } void QAudioInputPrivate::suspend() @@ -617,34 +636,10 @@ bool QAudioInputPrivate::deviceReady() qint64 QAudioInputPrivate::elapsedUSecs() const { - if(!handle) - return 0; - if (deviceState == QAudio::StoppedState) return 0; -#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) - snd_pcm_status_t* status; - snd_pcm_status_alloca(&status); - - snd_timestamp_t t1,t2; - if( snd_pcm_status(handle, status) >= 0) { - snd_pcm_status_get_tstamp(status,&t1); - snd_pcm_status_get_trigger_tstamp(status,&t2); - t1.tv_sec-=t2.tv_sec; - - signed long l = (signed long)t1.tv_usec - (signed long)t2.tv_usec; - if(l < 0) { - t1.tv_sec--; - l = -l; - l %= 1000000; - } - return ((t1.tv_sec * 1000000)+l); - } else - return 0; -#else return clockStamp.elapsed()*1000; -#endif } void QAudioInputPrivate::reset() @@ -670,43 +665,7 @@ InputPrivate::~InputPrivate() qint64 InputPrivate::readData( char* data, qint64 len) { - // push mode, user read() called - if((audioDevice->state() != QAudio::ActiveState) && !audioDevice->resuming) - return 0; - - int readFrames; - int count=0, err = 0; - - while(count < 5) { - int frames = snd_pcm_bytes_to_frames(audioDevice->handle, len); - readFrames = snd_pcm_readi(audioDevice->handle, data, frames); - if (readFrames >= 0) { - err = snd_pcm_frames_to_bytes(audioDevice->handle, readFrames); -#ifdef DEBUG_AUDIO - qDebug()<<QString::fromLatin1("PUSH: read in bytes = %1 (frames=%2)").arg(err).arg(readFrames).toLatin1().constData(); -#endif - break; - } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) { - audioDevice->errorState = QAudio::IOError; - err = 0; - break; - } else { - if(readFrames == -EPIPE) { - audioDevice->errorState = QAudio::UnderrunError; - err = snd_pcm_prepare(audioDevice->handle); - } else if(readFrames == -ESTRPIPE) { - err = snd_pcm_prepare(audioDevice->handle); - } - if(err != 0) break; - } - count++; - } - if(err > 0 && readFrames > 0) { - audioDevice->totalTimeValue += readFrames*1000/audioDevice->settings.frequency()*1000; - audioDevice->deviceState = QAudio::ActiveState; - return err; - } - return 0; + return audioDevice->read(data,len); } qint64 InputPrivate::writeData(const char* data, qint64 len) diff --git a/src/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp index cc4fdee..594f6ca 100644 --- a/src/multimedia/audio/qaudioinput_win32_p.cpp +++ b/src/multimedia/audio/qaudioinput_win32_p.cpp @@ -192,9 +192,11 @@ QIODevice* QAudioInputPrivate::start(QIODevice* device) //set to pull mode pullMode = true; audioSource = device; + deviceState = QAudio::ActiveState; } else { //set to push mode pullMode = false; + deviceState = QAudio::IdleState; audioSource = new InputPrivate(this); audioSource->open(QIODevice::ReadOnly | QIODevice::Unbuffered); } @@ -311,7 +313,6 @@ bool QAudioInputPrivate::open() elapsedTimeOffset = 0; totalTimeValue = 0; errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; return true; } @@ -320,9 +321,9 @@ void QAudioInputPrivate::close() if(deviceState == QAudio::StoppedState) return; + deviceState = QAudio::StoppedState; waveInReset(hWaveIn); waveInClose(hWaveIn); - deviceState = QAudio::StoppedState; int count = 0; while(!finished && count < 500) { @@ -357,7 +358,6 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) char* p = data; qint64 l = 0; qint64 written = 0; - while(!done) { // Read in some audio data if(waveBlocks[header].dwBytesRecorded > 0 && waveBlocks[header].dwFlags & WHDR_DONE) { @@ -378,11 +378,12 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) errorState = QAudio::IOError; } else { - totalTimeValue += waveBlocks[header].dwBytesRecorded - /((settings.channels()*settings.sampleSize()/8)) - *10000/settings.frequency()*100; + totalTimeValue += waveBlocks[header].dwBytesRecorded; errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; + if (deviceState != QAudio::ActiveState) { + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } resuming = false; } } else { @@ -392,16 +393,17 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) #ifdef DEBUG_AUDIO qDebug()<<"IN: "<<waveBlocks[header].dwBytesRecorded<<", OUT: "<<l; #endif - totalTimeValue += waveBlocks[header].dwBytesRecorded - /((settings.channels()*settings.sampleSize()/8)) - *10000/settings.frequency()*100; + totalTimeValue += waveBlocks[header].dwBytesRecorded; errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; + if (deviceState != QAudio::ActiveState) { + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } resuming = false; } } else { //no data, not ready yet, next time - return 0; + break; } waveInUnprepareHeader(hWaveIn,&waveBlocks[header], sizeof(WAVEHDR)); @@ -510,7 +512,13 @@ int QAudioInputPrivate::notifyInterval() const qint64 QAudioInputPrivate::processedUSecs() const { - return totalTimeValue; + if (deviceState == QAudio::StoppedState) + return 0; + qint64 result = qint64(1000000) * totalTimeValue / + (settings.channels()*(settings.sampleSize()/8)) / + settings.frequency(); + + return result; } void QAudioInputPrivate::suspend() @@ -540,6 +548,9 @@ bool QAudioInputPrivate::deviceReady() QTime now(QTime::currentTime()); qDebug()<<now.second()<<"s "<<now.msec()<<"ms :deviceReady() INPUT"; #endif + if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) + return true; + if(pullMode) { // reads some audio data and writes it to QIODevice read(0,0); @@ -548,8 +559,6 @@ bool QAudioInputPrivate::deviceReady() InputPrivate* a = qobject_cast<InputPrivate*>(audioSource); a->trigger(); } - if(deviceState != QAudio::ActiveState) - return true; if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); @@ -582,7 +591,8 @@ InputPrivate::~InputPrivate() {} qint64 InputPrivate::readData( char* data, qint64 len) { // push mode, user read() called - if(audioDevice->deviceState != QAudio::ActiveState) + if(audioDevice->deviceState != QAudio::ActiveState && + audioDevice->deviceState != QAudio::IdleState) return 0; // Read in some audio data return audioDevice->read(data,len); diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp index afd8a84..b0b5244 100644 --- a/src/multimedia/audio/qaudiooutput.cpp +++ b/src/multimedia/audio/qaudiooutput.cpp @@ -202,18 +202,18 @@ QAudioFormat QAudioOutput::format() const Passing a QIODevice allows the data to be transfered without any extra code. All that is required is to open the QIODevice. + If able to successfully output audio data to the systems audio device the + state() is set to QAudio::ActiveState, error() is set to QAudio::NoError + and the stateChanged() signal is emitted. + + If a problem occurs during this process the error() is set to QAudio::OpenError, + state() is set to QAudio::StoppedState and stateChanged() signal is emitted. + \sa QIODevice */ void QAudioOutput::start(QIODevice* device) { - /* - -If currently not StoppedState, stop. - -If previous start was push mode, delete internal QIODevice. - -open audio output. - -If ok, NoError and ActiveState, else OpenError and StoppedState - -emit stateChanged() - */ d->start(device); } @@ -221,34 +221,30 @@ void QAudioOutput::start(QIODevice* device) Returns a pointer to the QIODevice being used to handle the data transfer. This QIODevice can be used to write() audio data directly. + If able to access the systems audio device the state() is set to + QAudio::IdleState, error() is set to QAudio::NoError + and the stateChanged() signal is emitted. + + If a problem occurs during this process the error() is set to QAudio::OpenError, + state() is set to QAudio::StoppedState and stateChanged() signal is emitted. + \sa QIODevice */ QIODevice* QAudioOutput::start() { - /* - -If currently not StoppedState, stop. - -If no internal QIODevice, create one. - -open audio output. - -If ok, NoError and IdleState, else OpenError and StoppedState - -emit stateChanged() - -return internal QIODevice - */ return d->start(0); } /*! - Stops the audio output. + Stops the audio output, detaching from the system resource. + + Sets error() to QAudio::NoError, state() to QAudio::StoppedState and + emit stateChanged() signal. */ void QAudioOutput::stop() { - /* - -If StoppedState, return - -set to StoppedState - -detach from audio device - -emit stateChanged() - */ d->stop(); } @@ -258,55 +254,44 @@ void QAudioOutput::stop() void QAudioOutput::reset() { - /* - -drop all buffered audio, set buffers to zero. - -call stop() - */ d->reset(); } /*! Stops processing audio data, preserving buffered audio data. + + Sets error() to QAudio::NoError, state() to QAudio::SuspendedState and + emit stateChanged() signal. */ void QAudioOutput::suspend() { - /* - -If not ActiveState|IdleState, return - -stop processing audio, saving all buffered audio data - -set NoError and SuspendedState - -emit stateChanged() - */ d->suspend(); } /*! Resumes processing audio data after a suspend(). + + Sets error() to QAudio::NoError. + Sets state() to QAudio::ActiveState if you previously called start(QIODevice*). + Sets state() to QAudio::IdleState if you previously called start(). + emits stateChanged() signal. */ void QAudioOutput::resume() { - /* - -If SuspendedState, return - -resume audio - -(PULL MODE): set ActiveState, NoError - -(PUSH MODE): set IdleState, NoError - -kick start audio if needed - -emit stateChanged() - */ d->resume(); } /*! Returns the free space available in bytes in the audio buffer. + + NOTE: returned value is only valid while in QAudio::ActiveState or QAudio::IdleState + state, otherwise returns zero. */ int QAudioOutput::bytesFree() const { - /* - -If not ActiveState|IdleState, return 0 - -return space available in audio buffer in bytes - */ return d->bytesFree(); } @@ -353,7 +338,10 @@ int QAudioOutput::bufferSize() const /*! Sets the interval for notify() signal to be emitted. This is based on the \a ms of audio data processed - not on actual real-time. The resolution of the timer is platform specific. + not on actual real-time. + The minimum resolution of the timer is platform specific and values + should be checked with notifyInterval() to confirm actual value + being used. */ void QAudioOutput::setNotifyInterval(int ms) diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp index 7b89cef..b127103 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp +++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp @@ -259,6 +259,7 @@ void QAudioOutputPrivate::stop() { if(deviceState == QAudio::StoppedState) return; + errorState = QAudio::NoError; deviceState = QAudio::StoppedState; close(); emit stateChanged(deviceState); @@ -494,10 +495,13 @@ qint64 QAudioOutputPrivate::write( const char *data, qint64 len ) err = snd_pcm_writei( handle, data, frames ); } if(err > 0) { - totalTimeValue += err*1000000/settings.frequency(); + totalTimeValue += err; resuming = false; errorState = QAudio::NoError; - deviceState = QAudio::ActiveState; + if (deviceState != QAudio::ActiveState) { + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } return snd_pcm_frames_to_bytes( handle, err ); } else err = xrun_recovery(err); @@ -542,7 +546,7 @@ int QAudioOutputPrivate::notifyInterval() const qint64 QAudioOutputPrivate::processedUSecs() const { - return totalTimeValue; + return qint64(1000000) * totalTimeValue / settings.frequency(); } void QAudioOutputPrivate::resume() @@ -562,10 +566,8 @@ void QAudioOutputPrivate::resume() bytesAvailable = (int)snd_pcm_frames_to_bytes(handle, buffer_frames); } resuming = true; - if(pullMode) - deviceState = QAudio::ActiveState; - else - deviceState = QAudio::IdleState; + + deviceState = QAudio::ActiveState; errorState = QAudio::NoError; timer->start(period_time/1000); @@ -637,7 +639,9 @@ bool QAudioOutputPrivate::deviceReady() // Got some data to output if(deviceState != QAudio::ActiveState) return true; - write(audioBuffer,l); + qint64 bytesWritten = write(audioBuffer,l); + if (bytesWritten != l) + audioSource->seek(audioSource->pos()-(l-bytesWritten)); bytesAvailable = bytesFree(); } else if(l == 0) { @@ -645,9 +649,11 @@ bool QAudioOutputPrivate::deviceReady() bytesAvailable = bytesFree(); if(bytesAvailable > snd_pcm_frames_to_bytes(handle, buffer_frames-period_frames)) { // Underrun - errorState = QAudio::UnderrunError; - deviceState = QAudio::IdleState; - emit stateChanged(deviceState); + if (deviceState != QAudio::IdleState) { + errorState = QAudio::UnderrunError; + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } } } else if(l < 0) { @@ -655,8 +661,17 @@ bool QAudioOutputPrivate::deviceReady() errorState = QAudio::IOError; emit stateChanged(deviceState); } - } else + } else { bytesAvailable = bytesFree(); + if(bytesAvailable > snd_pcm_frames_to_bytes(handle, buffer_frames-period_frames)) { + // Underrun + if (deviceState != QAudio::IdleState) { + errorState = QAudio::UnderrunError; + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } + } + } if(deviceState != QAudio::ActiveState) return true; @@ -671,35 +686,10 @@ bool QAudioOutputPrivate::deviceReady() qint64 QAudioOutputPrivate::elapsedUSecs() const { - if(!handle) - return 0; - if (deviceState == QAudio::StoppedState) return 0; -#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14) - snd_pcm_status_t* status; - snd_pcm_status_alloca(&status); - - snd_timestamp_t t1,t2; - if( snd_pcm_status(handle, status) >= 0) { - snd_pcm_status_get_tstamp(status,&t1); - snd_pcm_status_get_trigger_tstamp(status,&t2); - t1.tv_sec-=t2.tv_sec; - - signed long l = (signed long)t1.tv_usec - (signed long)t2.tv_usec; - if(l < 0) { - t1.tv_sec--; - l = -l; - l %= 1000000; - } - return ((t1.tv_sec * 1000000)+l); - } else - return 0; -#else return clockStamp.elapsed()*1000; -#endif - return 0; } void QAudioOutputPrivate::reset() diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index bce45c1..6200160 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -211,6 +211,13 @@ bool QAudioOutputPrivate::open() QTime now(QTime::currentTime()); qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()"; #endif + if (!(settings.frequency() >= 8000 && settings.frequency() <= 48000)) { + errorState = QAudio::OpenError; + deviceState = QAudio::StoppedState; + emit stateChanged(deviceState); + qWarning("QAudioOutput: open error, frequency out of range."); + return false; + } if(buffer_size == 0) { // Default buffer size, 200ms, default period size is 40ms buffer_size = settings.frequency()*settings.channels()*(settings.sampleSize()/8)*0.2; @@ -289,6 +296,7 @@ void QAudioOutputPrivate::close() return; deviceState = QAudio::StoppedState; + errorState = QAudio::NoError; int delay = (buffer_size-bytesFree())*1000/(settings.frequency() *settings.channels()*(settings.sampleSize()/8)); waveOutReset(hWaveOut); @@ -340,12 +348,20 @@ int QAudioOutputPrivate::notifyInterval() const qint64 QAudioOutputPrivate::processedUSecs() const { - return totalTimeValue; + if (deviceState == QAudio::StoppedState) + return 0; + qint64 result = qint64(1000000) * totalTimeValue / + (settings.channels()*(settings.sampleSize()/8)) / + settings.frequency(); + + return result; } qint64 QAudioOutputPrivate::write( const char *data, qint64 len ) { // Write out some audio data + if (deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) + return 0; char* p = (char*)data; int l = (int)len; @@ -385,13 +401,16 @@ qint64 QAudioOutputPrivate::write( const char *data, qint64 len ) current->dwBufferLength,waveFreeBlockCount); LeaveCriticalSection(&waveOutCriticalSection); #endif - totalTimeValue += current->dwBufferLength - /(settings.channels()*(settings.sampleSize()/8)) - *1000000/settings.frequency();; + totalTimeValue += current->dwBufferLength; waveCurrentBlock++; waveCurrentBlock %= buffer_size/period_size; current = &waveBlocks[waveCurrentBlock]; current->dwUser = 0; + errorState = QAudio::NoError; + if (deviceState != QAudio::ActiveState) { + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } } return (len-l); } @@ -409,8 +428,11 @@ void QAudioOutputPrivate::resume() void QAudioOutputPrivate::suspend() { - if(deviceState == QAudio::ActiveState) { + if(deviceState == QAudio::ActiveState || deviceState == QAudio::IdleState) { + int delay = (buffer_size-bytesFree())*1000/(settings.frequency() + *settings.channels()*(settings.sampleSize()/8)); waveOutPause(hWaveOut); + Sleep(delay+10); deviceState = QAudio::SuspendedState; errorState = QAudio::NoError; emit stateChanged(deviceState); @@ -465,8 +487,16 @@ bool QAudioOutputPrivate::deviceReady() int l = audioSource->read(audioBuffer,input); if(l > 0) { int out= write(audioBuffer,l); - if(out > 0) - deviceState = QAudio::ActiveState; + if(out > 0) { + if (deviceState != QAudio::ActiveState) { + deviceState = QAudio::ActiveState; + emit stateChanged(deviceState); + } + } + if ( out < l) { + // Didnt write all data + audioSource->seek(audioSource->pos()-(l-out)); + } if(startup) waveOutRestart(hWaveOut); } else if(l == 0) { @@ -478,16 +508,28 @@ bool QAudioOutputPrivate::deviceReady() LeaveCriticalSection(&waveOutCriticalSection); if(check == buffer_size/period_size) { errorState = QAudio::UnderrunError; - deviceState = QAudio::IdleState; - emit stateChanged(deviceState); + if (deviceState != QAudio::IdleState) { + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } } } else if(l < 0) { bytesAvailable = bytesFree(); errorState = QAudio::IOError; } + } else { + int buffered; + EnterCriticalSection(&waveOutCriticalSection); + buffered = waveFreeBlockCount; + LeaveCriticalSection(&waveOutCriticalSection); + errorState = QAudio::UnderrunError; + if (buffered >= buffer_size/period_size && deviceState == QAudio::ActiveState) { + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } } - if(deviceState != QAudio::ActiveState) + if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) return true; if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 62aa2d7..a887449 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -416,13 +416,25 @@ QHttpNetworkReply* QHttpNetworkConnectionPrivate::queueRequest(const QHttpNetwor lowPriorityQueue.prepend(pair); break; } + // this used to be called via invokeMethod and a QueuedConnection + // It is the only place _q_startNextRequest is called directly without going + // through the event loop using a QueuedConnection. + // This is dangerous because of recursion that might occur when emitting + // signals as DirectConnection from this code path. Therefore all signal + // emissions that can come out from this code path need to + // be QueuedConnection. + // We are currently trying to fine-tune this. _q_startNextRequest(); + + return reply; } void QHttpNetworkConnectionPrivate::requeueRequest(const HttpMessagePair &pair) { + Q_Q(QHttpNetworkConnection); + QHttpNetworkRequest request = pair.first; switch (request.priority()) { case QHttpNetworkRequest::HighPriority: @@ -433,8 +445,8 @@ void QHttpNetworkConnectionPrivate::requeueRequest(const HttpMessagePair &pair) lowPriorityQueue.prepend(pair); break; } - // this used to be called via invokeMethod and a QueuedConnection - _q_startNextRequest(); + + QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); } void QHttpNetworkConnectionPrivate::dequeueAndSendRequest(QAbstractSocket *socket) @@ -682,6 +694,8 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply) +// This function must be called from the event loop. The only +// exception is documented in QHttpNetworkConnectionPrivate::queueRequest void QHttpNetworkConnectionPrivate::_q_startNextRequest() { //resend the necessary ones. diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index dbee72a..e92b2f3 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -459,6 +459,8 @@ void QHttpNetworkConnectionChannel::handleUnexpectedEOF() } else { reconnectAttempts--; reply->d_func()->clear(); + reply->d_func()->connection = connection; + reply->d_func()->connectionChannel = this; closeAndResendCurrentRequest(); } } diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index b9bd52a..5876ee2 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -110,7 +110,8 @@ static void ensureInitialized() object, which holds the common configuration and settings for the requests it sends. It contains the proxy and cache configuration, as well as the signals related to such issues, and reply signals that can be used to - monitor the progress of a network operation. + monitor the progress of a network operation. One QNetworkAccessManager + should be enough for the whole Qt application. Once a QNetworkAccessManager object has been created, the application can use it to send requests over the network. A group of standard functions @@ -121,6 +122,7 @@ static void ensureInitialized() A simple download off the network could be accomplished with: \snippet doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp 0 + QNetworkAccessManager has an asynchronous API. When the \tt replyFinished slot above is called, the parameter it takes is the QNetworkReply object containing the downloaded data as well as meta-data (headers, etc.). @@ -130,6 +132,11 @@ static void ensureInitialized() delete it inside the slot connected to finished(). You can use the deleteLater() function. + \note QNetworkAccessManager queues the requests it receives. The number + of requests executed in parallel is dependent on the protocol. + Currently, for the HTTP protocol on desktop platforms, 6 requests are + executed in parallel for one host/port combination. + A more involved example, assuming the manager is already existent, can be: \snippet doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp 1 diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index e563f4e..61c116d 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -138,6 +138,8 @@ QT_BEGIN_NAMESPACE default follow redirections: it's up to the application to determine if the requested redirection should be allowed, according to its security policies. + The returned URL might be relative. Use QUrl::resolved() + to create an absolute URL out of it. \value ConnectionEncryptedAttribute Replies only, type: QVariant::Bool (default: false) diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 829df89..275c436 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -155,6 +155,9 @@ See the \l network/fortuneclient and \l network/blockingfortuneclient examples for an overview of both approaches. + \note We discourage the use of the blocking functions together + with signals. One of the two possibilities should be used. + QAbstractSocket can be used with QTextStream and QDataStream's stream operators (operator<<() and operator>>()). There is one issue to be aware of, though: You must make sure that enough data @@ -1682,9 +1685,12 @@ static int qt_timeout_value(int msecs, int elapsed) If msecs is -1, this function will not time out. - Note: This function may wait slightly longer than \a msecs, + \note This function may wait slightly longer than \a msecs, depending on the time it takes to complete the host lookup. + \note Multiple calls to this functions do not accumulate the time. + If the function times out, the connecting process will be aborted. + \sa connectToHost(), connected() */ bool QAbstractSocket::waitForConnected(int msecs) @@ -1722,7 +1728,7 @@ bool QAbstractSocket::waitForConnected(int msecs) d->_q_startConnecting(QHostInfo::fromName(d->hostName)); } if (state() == UnconnectedState) - return false; + return false; // connect not im progress anymore! bool timedOut = true; #if defined (QABSTRACTSOCKET_DEBUG) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 2ed185f..73cd6a8 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -5559,7 +5559,7 @@ QSize QGLTexture::bindCompressedTexturePVR(const char *buf, int len) quint32 level = 0; quint32 width = pvrHeader->width; quint32 height = pvrHeader->height; - while (bufferSize > 0 && level < pvrHeader->mipMapCount) { + while (bufferSize > 0 && level <= pvrHeader->mipMapCount) { quint32 size = (qMax(width, minWidth) * qMax(height, minHeight) * pvrHeader->bitsPerPixel) / 8; diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index bc9f0c9..35f552e 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -130,8 +130,9 @@ public: void draw(VGPath path, const QPen& pen, const QBrush& brush, VGint rule = VG_EVEN_ODD); void stroke(VGPath path, const QPen& pen); void fill(VGPath path, const QBrush& brush, VGint rule = VG_EVEN_ODD); - VGPath vectorPathToVGPath(const QVectorPath& path); - VGPath painterPathToVGPath(const QPainterPath& path); + inline void releasePath(VGPath path); + VGPath vectorPathToVGPath(const QVectorPath& path, bool forceNewPath = false); + VGPath painterPathToVGPath(const QPainterPath& path, bool forceNewPath = false); VGPath roundedRectPath(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode); VGPaintType setBrush (VGPaint paint, const QBrush& brush, VGMatrixMode mode, @@ -177,6 +178,8 @@ public: VGPath roundRectPath; // Cached path for quick drawing of rounded rects. #endif + VGPath reusablePath; // Reusable path for vectorPathToVGPath(), etc. + QTransform transform; // Currently active transform. bool simpleTransform; // True if the transform is simple (non-projective). qreal penScale; // Pen scaling factor from "transform". @@ -349,6 +352,8 @@ void QVGPaintEnginePrivate::init() roundRectPath = 0; #endif + reusablePath = 0; + simpleTransform = true; pathTransformSet = false; penScale = 1.0; @@ -445,6 +450,15 @@ void QVGPaintEnginePrivate::initObjects() VG_PATH_CAPABILITY_ALL); vgAppendPathData(linePath, 2, segments, coords); #endif + + // This path can be reused over and over by calling vgClearPath(). + reusablePath = vgCreatePath(VG_PATH_FORMAT_STANDARD, + VG_PATH_DATATYPE_F, + 1.0f, // scale + 0.0f, // bias + 32 + 1, // segmentCapacityHint + 32 * 2, // coordCapacityHint + VG_PATH_CAPABILITY_ALL); } void QVGPaintEnginePrivate::destroy() @@ -464,6 +478,8 @@ void QVGPaintEnginePrivate::destroy() if (roundRectPath) vgDestroyPath(roundRectPath); #endif + if (reusablePath) + vgDestroyPath(reusablePath); #if !defined(QVG_NO_DRAW_GLYPHS) QVGFontCache::Iterator it; @@ -540,19 +556,32 @@ void QVGPaintEnginePrivate::updateTransform(QPaintDevice *pdev) qt_scaleForTransform(transform, &penScale); } -VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) +inline void QVGPaintEnginePrivate::releasePath(VGPath path) +{ + if (path == reusablePath) + vgClearPath(path, VG_PATH_CAPABILITY_ALL); + else + vgDestroyPath(path); +} + +VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path, bool forceNewPath) { int count = path.elementCount(); const qreal *points = path.points(); const QPainterPath::ElementType *elements = path.elements(); - VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - count + 1, // segmentCapacityHint - count * 2, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath vgpath; + if (forceNewPath) { + vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD, + VG_PATH_DATATYPE_F, + 1.0f, // scale + 0.0f, // bias + count + 1, // segmentCapacityHint + count * 2, // coordCapacityHint + VG_PATH_CAPABILITY_ALL); + } else { + vgpath = reusablePath; + } // Size is sufficient segments for drawRoundedRect() paths. QVarLengthArray<VGubyte, 20> segments; @@ -724,17 +753,22 @@ VGPath QVGPaintEnginePrivate::vectorPathToVGPath(const QVectorPath& path) return vgpath; } -VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path) +VGPath QVGPaintEnginePrivate::painterPathToVGPath(const QPainterPath& path, bool forceNewPath) { int count = path.elementCount(); - VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - count + 1, // segmentCapacityHint - count * 2, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath vgpath; + if (forceNewPath) { + vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD, + VG_PATH_DATATYPE_F, + 1.0f, // scale + 0.0f, // bias + count + 1, // segmentCapacityHint + count * 2, // coordCapacityHint + VG_PATH_CAPABILITY_ALL); + } else { + vgpath = reusablePath; + } if (count == 0) return vgpath; @@ -953,13 +987,7 @@ VGPath QVGPaintEnginePrivate::roundedRectPath(const QRectF &rect, qreal xRadius, vgModifyPathCoords(vgpath, 0, 9, pts); } #else - VGPath vgpath = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - 10, // segmentCapacityHint - 17 * 2, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath vgpath = reusablePath; vgAppendPathData(vgpath, 10, roundedrect_types, pts); #endif @@ -1512,7 +1540,7 @@ void QVGPaintEngine::draw(const QVectorPath &path) d->draw(vgpath, s->pen, s->brush, VG_EVEN_ODD); else d->draw(vgpath, s->pen, s->brush, VG_NON_ZERO); - vgDestroyPath(vgpath); + d->releasePath(vgpath); } void QVGPaintEngine::fill(const QVectorPath &path, const QBrush &brush) @@ -1523,7 +1551,7 @@ void QVGPaintEngine::fill(const QVectorPath &path, const QBrush &brush) d->fill(vgpath, brush, VG_EVEN_ODD); else d->fill(vgpath, brush, VG_NON_ZERO); - vgDestroyPath(vgpath); + d->releasePath(vgpath); } void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen) @@ -1531,7 +1559,7 @@ void QVGPaintEngine::stroke(const QVectorPath &path, const QPen &pen) Q_D(QVGPaintEngine); VGPath vgpath = d->vectorPathToVGPath(path); d->stroke(vgpath, pen); - vgDestroyPath(vgpath); + d->releasePath(vgpath); } // Determine if a co-ordinate transform is simple enough to allow @@ -1727,7 +1755,7 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) default: break; } - vgDestroyPath(vgpath); + d->releasePath(vgpath); vgSeti(VG_MASKING, VG_TRUE); d->maskValid = true; @@ -2044,7 +2072,7 @@ void QVGPaintEngine::clip(const QPainterPath &path, Qt::ClipOperation op) default: break; } - vgDestroyPath(vgpath); + d->releasePath(vgpath); vgSeti(VG_MASKING, VG_TRUE); d->maskValid = true; @@ -2395,7 +2423,7 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QBrush &brush) return; // Check to see if we can use vgClear() for faster filling. - if (brush.style() == Qt::SolidPattern && + if (brush.style() == Qt::SolidPattern && brush.isOpaque() && clipTransformIsSimple(d->transform) && d->opacity == 1.0f && clearRect(rect, brush.color())) { return; @@ -2438,7 +2466,7 @@ void QVGPaintEngine::fillRect(const QRectF &rect, const QColor &color) Q_D(QVGPaintEngine); // Check to see if we can use vgClear() for faster filling. - if (clipTransformIsSimple(d->transform) && d->opacity == 1.0f && + if (clipTransformIsSimple(d->transform) && d->opacity == 1.0f && color.alpha() == 255 && clearRect(rect, color)) { return; } @@ -2483,7 +2511,7 @@ void QVGPaintEngine::drawRoundedRect(const QRectF &rect, qreal xrad, qreal yrad, VGPath vgpath = d->roundedRectPath(rect, xrad, yrad, mode); d->draw(vgpath, s->pen, s->brush); #if defined(QVG_NO_MODIFY_PATH) - vgDestroyPath(vgpath); + d->releasePath(vgpath); #endif } else { QPaintEngineEx::drawRoundedRect(rect, xrad, yrad, mode); @@ -2632,13 +2660,7 @@ void QVGPaintEngine::drawEllipse(const QRectF &r) Q_D(QVGPaintEngine); if (d->simpleTransform) { QVGPainterState *s = state(); - VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - 4, // segmentCapacityHint - 12, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath path = d->reusablePath; static VGubyte segments[4] = { VG_MOVE_TO_ABS, VG_SCCWARC_TO_REL, @@ -2662,7 +2684,7 @@ void QVGPaintEngine::drawEllipse(const QRectF &r) coords[11] = 0.0f; vgAppendPathData(path, 4, segments, coords); d->draw(path, s->pen, s->brush); - vgDestroyPath(path); + d->releasePath(path); } else { // The projective transform version of an ellipse is difficult. // Generate a QVectorPath containing cubic curves and transform that. @@ -2686,7 +2708,7 @@ void QVGPaintEngine::drawPath(const QPainterPath &path) d->draw(vgpath, s->pen, s->brush, VG_EVEN_ODD); else d->draw(vgpath, s->pen, s->brush, VG_NON_ZERO); - vgDestroyPath(vgpath); + d->releasePath(vgpath); } void QVGPaintEngine::drawPoints(const QPointF *points, int pointCount) @@ -2761,13 +2783,7 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD { Q_D(QVGPaintEngine); QVGPainterState *s = state(); - VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - pointCount + 1, // segmentCapacityHint - pointCount * 2, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath path = d->reusablePath; QVarLengthArray<VGfloat, 16> coords; QVarLengthArray<VGubyte, 10> segments; for (int i = 0; i < pointCount; ++i, ++points) { @@ -2801,20 +2817,14 @@ void QVGPaintEngine::drawPolygon(const QPointF *points, int pointCount, PolygonD d->draw(path, s->pen, s->brush, VG_EVEN_ODD); break; } - vgDestroyPath(path); + d->releasePath(path); } void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode) { Q_D(QVGPaintEngine); QVGPainterState *s = state(); - VGPath path = vgCreatePath(VG_PATH_FORMAT_STANDARD, - VG_PATH_DATATYPE_F, - 1.0f, // scale - 0.0f, // bias - pointCount + 1, // segmentCapacityHint - pointCount * 2, // coordCapacityHint - VG_PATH_CAPABILITY_ALL); + VGPath path = d->reusablePath; QVarLengthArray<VGfloat, 16> coords; QVarLengthArray<VGubyte, 10> segments; for (int i = 0; i < pointCount; ++i, ++points) { @@ -2848,7 +2858,7 @@ void QVGPaintEngine::drawPolygon(const QPoint *points, int pointCount, PolygonDr d->draw(path, s->pen, s->brush, VG_EVEN_ODD); break; } - vgDestroyPath(path); + d->releasePath(path); } void QVGPaintEnginePrivate::setImageOptions() @@ -3245,7 +3255,7 @@ void QVGFontGlyphCache::cacheGlyphs(QVGPaintEnginePrivate *d, fontEngine->getUnscaledGlyph(glyph, &path, &metrics); VGPath vgPath; if (!path.isEmpty()) { - vgPath = d->painterPathToVGPath(path); + vgPath = d->painterPathToVGPath(path, true); } else { // Probably a "space" character with no visible outline. vgPath = VG_INVALID_HANDLE; diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index cd4d5c2..cffd4e3 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -1126,6 +1126,8 @@ bool QDirectFBScreen::connect(const QString &displaySpec) if (displayArgs.contains(QLatin1String("boundingrectflip"), Qt::CaseInsensitive)) { d_ptr->directFBFlags |= BoundingRectFlip; + } else if (displayArgs.contains(QLatin1String("nopartialflip"), Qt::CaseInsensitive)) { + d_ptr->directFBFlags |= NoPartialFlip; } #ifdef QT_DIRECTFB_IMAGECACHE @@ -1139,6 +1141,8 @@ bool QDirectFBScreen::connect(const QString &displaySpec) #endif d_ptr->dfb->SetCooperativeLevel(d_ptr->dfb, DFSCL_FULLSCREEN); + const bool forcePremultiplied = displayArgs.contains(QLatin1String("forcepremultiplied"), Qt::CaseInsensitive); + DFBSurfaceDescription description; memset(&description, 0, sizeof(DFBSurfaceDescription)); IDirectFBSurface *surface; @@ -1167,7 +1171,7 @@ bool QDirectFBScreen::connect(const QString &displaySpec) description.caps |= capabilities[i].cap; } - if (displayArgs.contains(QLatin1String("forcepremultiplied"), Qt::CaseInsensitive)) { + if (forcePremultiplied) { description.caps |= DSCAPS_PREMULTIPLIED; } @@ -1217,6 +1221,8 @@ bool QDirectFBScreen::connect(const QString &displaySpec) d_ptr->alphaPixmapFormat = QImage::Format_ARGB32_Premultiplied; break; case QImage::Format_ARGB32: + if (forcePremultiplied) + d_ptr->alphaPixmapFormat = pixelFormat = QImage::Format_ARGB32_Premultiplied; case QImage::Format_ARGB32_Premultiplied: case QImage::Format_ARGB4444_Premultiplied: case QImage::Format_ARGB8555_Premultiplied: @@ -1674,7 +1680,7 @@ bool QDirectFBScreen::initSurfaceDescriptionPixelFormat(DFBSurfaceDescription *d uchar *QDirectFBScreen::lockSurface(IDirectFBSurface *surface, DFBSurfaceLockFlags flags, int *bpl) { - void *mem; + void *mem = 0; const DFBResult result = surface->Lock(surface, flags, &mem, bpl); if (result != DFB_OK) { DirectFBError("QDirectFBScreen::lockSurface()", result); @@ -1683,11 +1689,22 @@ uchar *QDirectFBScreen::lockSurface(IDirectFBSurface *surface, DFBSurfaceLockFla return reinterpret_cast<uchar*>(mem); } +static inline bool isFullUpdate(IDirectFBSurface *surface, const QRegion ®ion, const QPoint &offset) +{ + if (offset == QPoint(0, 0) && region.rectCount() == 1) { + QSize size; + surface->GetSize(surface, &size.rwidth(), &size.rheight()); + if (region.boundingRect().size() == size) + return true; + } + return false; +} void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags flipFlags, const QRegion ®ion, const QPoint &offset) { - if (!(flipFlags & DSFLIP_BLIT)) { + if (d_ptr->directFBFlags & NoPartialFlip + || (!(flipFlags & DSFLIP_BLIT) && QT_PREPEND_NAMESPACE(isFullUpdate(surface, region, offset)))) { surface->Flip(surface, 0, flipFlags); } else { if (!(d_ptr->directFBFlags & BoundingRectFlip) && region.rectCount() > 1) { diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h index a8c4b43..c483020 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h @@ -144,7 +144,8 @@ public: NoFlags = 0x00, VideoOnly = 0x01, SystemOnly = 0x02, - BoundingRectFlip = 0x04 + BoundingRectFlip = 0x04, + NoPartialFlip = 0x08 }; Q_DECLARE_FLAGS(DirectFBFlags, DirectFBFlag); diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 6764e75..a8bdb65 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -92,10 +92,6 @@ QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirect mode = Offscreen; flags = Buffered; } -#else - noSystemBackground = widget && widget->testAttribute(Qt::WA_NoSystemBackground); - if (noSystemBackground) - flags &= ~Opaque; #endif setSurfaceFlags(flags); #ifdef QT_DIRECTFB_TIMING @@ -134,33 +130,35 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) if (!layer) qFatal("QDirectFBWindowSurface: Unable to get primary display layer!"); + updateIsOpaque(); + DFBWindowDescription description; memset(&description, 0, sizeof(DFBWindowDescription)); + description.flags = DWDESC_CAPS|DWDESC_HEIGHT|DWDESC_WIDTH|DWDESC_POSX|DWDESC_POSY|DWDESC_SURFACE_CAPS|DWDESC_PIXELFORMAT; description.caps = DWCAPS_NODECORATION; - description.flags = DWDESC_CAPS|DWDESC_SURFACE_CAPS|DWDESC_PIXELFORMAT|DWDESC_HEIGHT|DWDESC_WIDTH|DWDESC_POSX|DWDESC_POSY; -#if (Q_DIRECTFB_VERSION >= 0x010200) - description.flags |= DWDESC_OPTIONS; -#endif + description.surface_caps = DSCAPS_NONE; + imageFormat = screen->pixelFormat(); - if (noSystemBackground) { + if (!(surfaceFlags() & Opaque)) { + imageFormat = screen->alphaPixmapFormat(); description.caps |= DWCAPS_ALPHACHANNEL; #if (Q_DIRECTFB_VERSION >= 0x010200) + description.flags |= DWDESC_OPTIONS; description.options |= DWOP_ALPHACHANNEL; #endif } - + description.pixelformat = QDirectFBScreen::getSurfacePixelFormat(imageFormat); description.posx = rect.x(); description.posy = rect.y(); description.width = rect.width(); description.height = rect.height(); - description.surface_caps = DSCAPS_NONE; + + if (QDirectFBScreen::isPremultiplied(imageFormat)) + description.surface_caps = DSCAPS_PREMULTIPLIED; + if (screen->directFBFlags() & QDirectFBScreen::VideoOnly) description.surface_caps |= DSCAPS_VIDEOONLY; - const QImage::Format format = (noSystemBackground ? screen->alphaPixmapFormat() : screen->pixelFormat()); - description.pixelformat = QDirectFBScreen::getSurfacePixelFormat(format); - if (QDirectFBScreen::isPremultiplied(format)) - description.surface_caps = DSCAPS_PREMULTIPLIED; DFBResult result = layer->CreateWindow(layer, &description, &dfbWindow); @@ -182,7 +180,6 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) Q_ASSERT(!dfbSurface); dfbWindow->GetSurface(dfbWindow, &dfbSurface); - updateFormat(); } static DFBResult setWindowGeometry(IDirectFBWindow *dfbWindow, const QRect &old, const QRect &rect) @@ -267,15 +264,17 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) } } else { // mode == Offscreen if (!dfbSurface) { - dfbSurface = screen->createDFBSurface(rect.size(), screen->pixelFormat(), QDirectFBScreen::DontTrackSurface); + dfbSurface = screen->createDFBSurface(rect.size(), surfaceFlags() & Opaque ? screen->pixelFormat() : screen->alphaPixmapFormat(), + QDirectFBScreen::DontTrackSurface); } } if (result != DFB_OK) DirectFBErrorFatal("QDirectFBWindowSurface::setGeometry()", result); #endif } - if (oldSurface != dfbSurface) - updateFormat(); + if (oldSurface != dfbSurface) { + imageFormat = dfbSurface ? QDirectFBScreen::getImageFormat(dfbSurface) : QImage::Format_Invalid; + } if (oldRect.size() != rect.size()) { QWSWindowSurface::setGeometry(rect); @@ -296,7 +295,7 @@ void QDirectFBWindowSurface::setPermanentState(const QByteArray &state) if (state.size() == sizeof(this)) { sibling = *reinterpret_cast<QDirectFBWindowSurface *const*>(state.constData()); Q_ASSERT(sibling); - sibling->setSurfaceFlags(surfaceFlags()); + setSurfaceFlags(sibling->surfaceFlags()); } } @@ -359,8 +358,6 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, const quint8 windowOpacity = quint8(win->windowOpacity() * 0xff); const QRect windowGeometry = geometry(); #ifdef QT_DIRECTFB_WM - const bool wasNoSystemBackground = noSystemBackground; - noSystemBackground = win->testAttribute(Qt::WA_NoSystemBackground); quint8 currentOpacity; Q_ASSERT(dfbWindow); dfbWindow->GetOpacity(dfbWindow, ¤tOpacity); @@ -368,18 +365,9 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, dfbWindow->SetOpacity(dfbWindow, windowOpacity); } - setOpaque(noSystemBackground || windowOpacity != 0xff); - if (wasNoSystemBackground != noSystemBackground) { - releaseSurface(); - dfbWindow->Release(dfbWindow); - dfbWindow = 0; - createWindow(windowGeometry); - win->update(); - return; - } screen->flipSurface(dfbSurface, flipFlags, region, offset); #else - setOpaque(windowOpacity != 0xff); + setOpaque(windowOpacity == 0xff); if (mode == Offscreen) { screen->exposeRegion(region.translated(offset + geometry().topLeft()), 0); } else { @@ -442,11 +430,6 @@ IDirectFBSurface *QDirectFBWindowSurface::surfaceForWidget(const QWidget *widget return dfbSurface; } -void QDirectFBWindowSurface::updateFormat() -{ - imageFormat = dfbSurface ? QDirectFBScreen::getImageFormat(dfbSurface) : QImage::Format_Invalid; -} - void QDirectFBWindowSurface::releaseSurface() { if (dfbSurface) { @@ -465,9 +448,37 @@ void QDirectFBWindowSurface::releaseSurface() } } +void QDirectFBWindowSurface::updateIsOpaque() +{ + const QWidget *win = window(); + Q_ASSERT(win); + if (win->testAttribute(Qt::WA_OpaquePaintEvent) || win->testAttribute(Qt::WA_PaintOnScreen)) { + setOpaque(true); + return; + } -QT_END_NAMESPACE + if (qFuzzyCompare(static_cast<float>(win->windowOpacity()), 1.0f)) { + const QPalette &pal = win->palette(); -#endif // QT_NO_QWS_DIRECTFB + if (win->autoFillBackground()) { + const QBrush &autoFillBrush = pal.brush(win->backgroundRole()); + if (autoFillBrush.style() != Qt::NoBrush && autoFillBrush.isOpaque()) { + setOpaque(true); + return; + } + } + + if (win->isWindow() && !win->testAttribute(Qt::WA_NoSystemBackground)) { + const QBrush &windowBrush = win->palette().brush(QPalette::Window); + if (windowBrush.style() != Qt::NoBrush && windowBrush.isOpaque()) { + setOpaque(true); + return; + } + } + } + setOpaque(false); +} +QT_END_NAMESPACE +#endif // QT_NO_QWS_DIRECTFB diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h index 9568067..a6138f6 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h @@ -97,8 +97,8 @@ public: IDirectFBWindow *directFBWindow() const; #endif private: + void updateIsOpaque(); void setOpaque(bool opaque); - void updateFormat(); void releaseSurface(); QDirectFBWindowSurface *sibling; @@ -113,7 +113,6 @@ private: #endif DFBSurfaceFlipFlags flipFlags; - bool noSystemBackground; bool boundingRectFlip; #ifdef QT_DIRECTFB_TIMING int frames; diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 98a24d0..d2e96d1 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -844,7 +844,7 @@ static QScriptValue __setupPackage__(QScriptContext *ctx, QScriptEngine *eng) } // namespace QScript QScriptEnginePrivate::QScriptEnginePrivate() - : registeredScriptValues(0), freeScriptValues(0), + : registeredScriptValues(0), freeScriptValues(0), freeScriptValuesCount(0), registeredScriptStrings(0), inEval(false) { qMetaTypeId<QScriptValue>(); diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index 79294fe..d0d020a 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -354,6 +354,8 @@ public: int agentLineNumber; QScriptValuePrivate *registeredScriptValues; QScriptValuePrivate *freeScriptValues; + static const int maxFreeScriptValues = 256; + int freeScriptValuesCount; QScriptStringPrivate *registeredScriptStrings; QHash<int, QScriptTypeInfo*> m_typeInfos; int processEventsInterval; @@ -521,6 +523,7 @@ inline QScriptValuePrivate *QScriptEnginePrivate::allocateScriptValuePrivate(siz if (freeScriptValues) { QScriptValuePrivate *p = freeScriptValues; freeScriptValues = p->next; + --freeScriptValuesCount; return p; } return reinterpret_cast<QScriptValuePrivate*>(qMalloc(size)); @@ -528,8 +531,13 @@ inline QScriptValuePrivate *QScriptEnginePrivate::allocateScriptValuePrivate(siz inline void QScriptEnginePrivate::freeScriptValuePrivate(QScriptValuePrivate *p) { - p->next = freeScriptValues; - freeScriptValues = p; + if (freeScriptValuesCount < maxFreeScriptValues) { + p->next = freeScriptValues; + freeScriptValues = p; + ++freeScriptValuesCount; + } else { + qFree(p); + } } inline void QScriptEnginePrivate::registerScriptValue(QScriptValuePrivate *value) diff --git a/src/svg/qgraphicssvgitem.cpp b/src/svg/qgraphicssvgitem.cpp index 7e80e50..69ff7a3 100644 --- a/src/svg/qgraphicssvgitem.cpp +++ b/src/svg/qgraphicssvgitem.cpp @@ -267,6 +267,7 @@ int QGraphicsSvgItem::type() const /*! \property QGraphicsSvgItem::maximumCacheSize + \since 4.6 This property holds the maximum size of the device coordinate cache for this item. @@ -312,7 +313,8 @@ QSize QGraphicsSvgItem::maximumCacheSize() const /*! \property QGraphicsSvgItem::elementId - + \since 4.6 + This property holds the element's XML ID. */ diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 5fd2dca..37d389c 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -608,10 +608,3 @@ contains(QT_CONFIG, declarative): SUBDIRS += declarative xmlpatternsxqts \ xmlpatternsxslts - -############### make check recursively for testcases ################## -check.CONFIG = recursive -check.recurse = $$SUBDIRS -check.recurse_target = check -QMAKE_EXTRA_TARGETS += check -########################################################### diff --git a/tests/auto/qabstractproxymodel/tst_qabstractproxymodel.cpp b/tests/auto/qabstractproxymodel/tst_qabstractproxymodel.cpp index 6d92d03..88c2ef1 100644 --- a/tests/auto/qabstractproxymodel/tst_qabstractproxymodel.cpp +++ b/tests/auto/qabstractproxymodel/tst_qabstractproxymodel.cpp @@ -80,6 +80,7 @@ private slots: void setSourceModel(); void submit_data(); void submit(); + void testRoleNames(); }; // Subclass that exposes the protected functions. @@ -362,6 +363,87 @@ void tst_QAbstractProxyModel::submit() QCOMPARE(model.submit(), submit); } +class StandardItemModelWithCustomRoleNames : public QStandardItemModel +{ +public: + enum CustomRole { + CustomRole1 = Qt::UserRole, + CustomRole2 + }; + + StandardItemModelWithCustomRoleNames() { + QHash<int, QByteArray> _roleNames = roleNames(); + _roleNames.insert(CustomRole1, "custom1"); + _roleNames.insert(CustomRole2, "custom2"); + setRoleNames(_roleNames); + } +}; + +class AnotherStandardItemModelWithCustomRoleNames : public QStandardItemModel +{ + public: + enum CustomRole { + AnotherCustomRole1 = Qt::UserRole + 10, // Different to StandardItemModelWithCustomRoleNames::CustomRole1 + AnotherCustomRole2 + }; + + AnotherStandardItemModelWithCustomRoleNames() { + QHash<int, QByteArray> _roleNames = roleNames(); + _roleNames.insert(AnotherCustomRole1, "another_custom1"); + _roleNames.insert(AnotherCustomRole2, "another_custom2"); + setRoleNames(_roleNames); + } +}; + +/** + Verifies that @p subSet is a subset of @p superSet. That is, all keys in @p subSet exist in @p superSet and have the same values. +*/ +static void verifySubSetOf(const QHash<int, QByteArray> &superSet, const QHash<int, QByteArray> &subSet) +{ + QHash<int, QByteArray>::const_iterator it = subSet.constBegin(); + const QHash<int, QByteArray>::const_iterator end = subSet.constEnd(); + for ( ; it != end; ++it ) { + QVERIFY(superSet.contains(it.key())); + QVERIFY(it.value() == superSet.value(it.key())); + } +} + +void tst_QAbstractProxyModel::testRoleNames() +{ + QStandardItemModel defaultModel; + StandardItemModelWithCustomRoleNames model; + QHash<int, QByteArray> rootModelRoleNames = model.roleNames(); + QHash<int, QByteArray> defaultModelRoleNames = defaultModel.roleNames(); + + verifySubSetOf( rootModelRoleNames, defaultModelRoleNames); + QVERIFY( rootModelRoleNames.size() == defaultModelRoleNames.size() + 2 ); + QVERIFY( rootModelRoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole1)); + QVERIFY( rootModelRoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole2)); + QVERIFY( rootModelRoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole1) == "custom1" ); + QVERIFY( rootModelRoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole2) == "custom2" ); + + SubQAbstractProxyModel proxy1; + proxy1.setSourceModel(&model); + QHash<int, QByteArray> proxy1RoleNames = proxy1.roleNames(); + verifySubSetOf( proxy1RoleNames, defaultModelRoleNames ); + QVERIFY( proxy1RoleNames.size() == defaultModelRoleNames.size() + 2 ); + QVERIFY( proxy1RoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole1)); + QVERIFY( proxy1RoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole2)); + QVERIFY( proxy1RoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole1) == "custom1" ); + QVERIFY( proxy1RoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole2) == "custom2" ); + + SubQAbstractProxyModel proxy2; + proxy2.setSourceModel(&proxy1); + QHash<int, QByteArray> proxy2RoleNames = proxy2.roleNames(); + verifySubSetOf( proxy2RoleNames, defaultModelRoleNames ); + QVERIFY( proxy2RoleNames.size() == defaultModelRoleNames.size() + 2 ); + QVERIFY( proxy2RoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole1)); + QVERIFY( proxy2RoleNames.contains(StandardItemModelWithCustomRoleNames::CustomRole2)); + QVERIFY( proxy2RoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole1) == "custom1" ); + QVERIFY( proxy2RoleNames.value(StandardItemModelWithCustomRoleNames::CustomRole2) == "custom2" ); + +} + QTEST_MAIN(tst_QAbstractProxyModel) #include "tst_qabstractproxymodel.moc" diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index 2ef0419..d37ff76 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -245,6 +245,7 @@ private slots: #endif void render_data(); void render(); + void renderItemsWithNegativeWidthOrHeight(); void contextMenuEvent(); void contextMenuEvent_ItemIgnoresTransformations(); void update(); @@ -2751,6 +2752,41 @@ void tst_QGraphicsScene::render() } } +void tst_QGraphicsScene::renderItemsWithNegativeWidthOrHeight() +{ + QGraphicsScene scene(0, 0, 150, 150); + + // Add item with negative width. + QGraphicsRectItem *item1 = new QGraphicsRectItem(0, 0, -150, 50); + item1->setBrush(Qt::red); + item1->setPos(150, 50); + scene.addItem(item1); + + // Add item with negative height. + QGraphicsRectItem *item2 = new QGraphicsRectItem(0, 0, 50, -150); + item2->setBrush(Qt::blue); + item2->setPos(50, 150); + scene.addItem(item2); + + QGraphicsView view(&scene); + view.setFrameStyle(QFrame::NoFrame); + view.resize(150, 150); + view.show(); + QCOMPARE(view.viewport()->size(), QSize(150, 150)); + + QImage expected(view.viewport()->size(), QImage::Format_RGB32); + view.viewport()->render(&expected); + + // Make sure the scene background is the same as the viewport background. + scene.setBackgroundBrush(view.viewport()->palette().brush(view.viewport()->backgroundRole())); + QImage actual(150, 150, QImage::Format_RGB32); + QPainter painter(&actual); + scene.render(&painter); + painter.end(); + + QCOMPARE(actual, expected); +} + void tst_QGraphicsScene::contextMenuEvent() { QGraphicsScene scene; diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 59bffeb..c77f76d 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -218,6 +218,7 @@ private slots: void update(); void inputMethodSensitivity(); void inputContextReset(); + void indirectPainting(); // task specific tests below me void task172231_untransformableItems(); @@ -3799,6 +3800,31 @@ void tst_QGraphicsView::inputContextReset() QCOMPARE(inputContext.resets, 0); } +void tst_QGraphicsView::indirectPainting() +{ + class MyScene : public QGraphicsScene + { public: + MyScene() : QGraphicsScene(), drawCount(0) {} + void drawItems(QPainter *, int, QGraphicsItem **, const QStyleOptionGraphicsItem *, QWidget *) + { ++drawCount; } + int drawCount; + }; + + MyScene scene; + QGraphicsItem *item = scene.addRect(0, 0, 50, 50); + + QGraphicsView view(&scene); + view.setOptimizationFlag(QGraphicsView::IndirectPainting); + view.show(); + QTest::qWaitForWindowShown(&view); + QTest::qWait(100); + + scene.drawCount = 0; + item->setPos(20, 20); + QApplication::processEvents(); + QTRY_VERIFY(scene.drawCount > 0); +} + void tst_QGraphicsView::task253415_reconnectUpdateSceneOnSceneChanged() { QGraphicsView view; diff --git a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp index 66cfeb7..849b8b2 100644 --- a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp +++ b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include <QtTest/QtTest> +#include "../../shared/util.h" #include <QtCore/qpropertyanimation.h> #include <QtCore/qvariantanimation.h> @@ -288,7 +289,7 @@ void tst_QPropertyAnimation::statesAndSignals() anim->start(); QTest::qWait(1000); - QCOMPARE(anim->state(), QAnimationGroup::Stopped); + QTRY_COMPARE(anim->state(), QAnimationGroup::Stopped); QCOMPARE(runningSpy.count(), 2); //started and stopped again runningSpy.clear(); QCOMPARE(finishedSpy.count(), 1); @@ -340,7 +341,7 @@ void tst_QPropertyAnimation::deletion1() QCOMPARE(anim->state(), QAnimationGroup::Running); QTest::qWait(150); QVERIFY(anim); //The animation should not have been deleted - QCOMPARE(anim->state(), QAnimationGroup::Stopped); + QTRY_COMPARE(anim->state(), QAnimationGroup::Stopped); QCOMPARE(runningSpy.count(), 2); QCOMPARE(finishedSpy.count(), 1); @@ -351,9 +352,9 @@ void tst_QPropertyAnimation::deletion1() QVERIFY(anim); QCOMPARE(anim->state(), QAnimationGroup::Running); QTest::qWait(150); - QVERIFY(!anim); //The animation must have been deleted - QCOMPARE(runningSpy.count(), 4); + QTRY_COMPARE(runningSpy.count(), 4); QCOMPARE(finishedSpy.count(), 2); + QVERIFY(!anim); //The animation must have been deleted delete object; } @@ -459,7 +460,7 @@ void tst_QPropertyAnimation::noStartValue() QTest::qWait(300); - QCOMPARE(o.values.first(), 42); + QTRY_COMPARE(o.values.first(), 42); QCOMPARE(o.values.last(), 420); } @@ -497,7 +498,7 @@ void tst_QPropertyAnimation::startWhenAnotherIsRunning() QSignalSpy runningSpy(anim, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); anim->start(QVariantAnimation::DeleteWhenStopped); QTest::qWait(anim->duration() + 100); - QCOMPARE(runningSpy.count(), 2); //started and then stopped + QTRY_COMPARE(runningSpy.count(), 2); //started and then stopped QVERIFY(!anim); } @@ -518,7 +519,7 @@ void tst_QPropertyAnimation::startWhenAnotherIsRunning() QVERIFY(!anim); //anim should have been deleted QVERIFY(anim2); QTest::qWait(anim2->duration()); - QVERIFY(!anim2); //anim2 is finished: it should have been deleted by now + QTRY_VERIFY(!anim2); //anim2 is finished: it should have been deleted by now QVERIFY(!anim); } @@ -591,7 +592,7 @@ void tst_QPropertyAnimation::startWithoutStartValue() QVERIFY(current < 100); QTest::qWait(200); - QCOMPARE(anim.state(), QVariantAnimation::Stopped); + QTRY_COMPARE(anim.state(), QVariantAnimation::Stopped); current = anim.currentValue().toInt(); QCOMPARE(current, 100); QCOMPARE(o.property("ole").toInt(), current); @@ -631,7 +632,7 @@ void tst_QPropertyAnimation::startBackwardWithoutEndValue() QVERIFY(current < 100); QTest::qWait(200); - QCOMPARE(anim.state(), QVariantAnimation::Stopped); + QTRY_COMPARE(anim.state(), QVariantAnimation::Stopped); current = anim.currentValue().toInt(); QCOMPARE(current, 100); QCOMPARE(o.property("ole").toInt(), current); @@ -661,7 +662,7 @@ void tst_QPropertyAnimation::playForwardBackward() anim.setEndValue(100); anim.start(); QTest::qWait(anim.duration() + 100); - QCOMPARE(anim.state(), QAbstractAnimation::Stopped); + QTRY_COMPARE(anim.state(), QAbstractAnimation::Stopped); QCOMPARE(anim.currentTime(), anim.duration()); //the animation is at the end @@ -669,7 +670,7 @@ void tst_QPropertyAnimation::playForwardBackward() anim.start(); QCOMPARE(anim.state(), QAbstractAnimation::Running); QTest::qWait(anim.duration() + 100); - QCOMPARE(anim.state(), QAbstractAnimation::Stopped); + QTRY_COMPARE(anim.state(), QAbstractAnimation::Stopped); QCOMPARE(anim.currentTime(), 0); //the direction is backward @@ -678,7 +679,7 @@ void tst_QPropertyAnimation::playForwardBackward() QCOMPARE(anim.state(), QAbstractAnimation::Running); QCOMPARE(anim.currentTime(), anim.duration()); QTest::qWait(anim.duration() + 100); - QCOMPARE(anim.state(), QAbstractAnimation::Stopped); + QTRY_COMPARE(anim.state(), QAbstractAnimation::Stopped); QCOMPARE(anim.currentTime(), 0); } @@ -1146,7 +1147,7 @@ void tst_QPropertyAnimation::twoAnimations() o2.anim.start(); QTest::qWait(o1.anim.duration() + 100); - QCOMPARE(o1.anim.state(), QAbstractAnimation::Stopped); + QTRY_COMPARE(o1.anim.state(), QAbstractAnimation::Stopped); QCOMPARE(o2.anim.state(), QAbstractAnimation::Stopped); QCOMPARE(o1.ole(), 1000); @@ -1197,7 +1198,7 @@ void tst_QPropertyAnimation::deletedInUpdateCurrentTime() QCOMPARE(composedAnimation.state(), QAbstractAnimation::Running); QTest::qWait(composedAnimation.duration() + 100); - QCOMPARE(composedAnimation.state(), QAbstractAnimation::Stopped); + QTRY_COMPARE(composedAnimation.state(), QAbstractAnimation::Stopped); QCOMPARE(o.value(), 1000); } diff --git a/tests/auto/qscriptstring/tst_qscriptstring.cpp b/tests/auto/qscriptstring/tst_qscriptstring.cpp index 808b643..ea4a92b 100644 --- a/tests/auto/qscriptstring/tst_qscriptstring.cpp +++ b/tests/auto/qscriptstring/tst_qscriptstring.cpp @@ -177,6 +177,12 @@ void tst_QScriptString::toArrayIndex_data() QTest::newRow("101a") << QString::fromLatin1("101a") << false << quint32(0xffffffff); QTest::newRow("4294967294") << QString::fromLatin1("4294967294") << true << quint32(0xfffffffe); QTest::newRow("4294967295") << QString::fromLatin1("4294967295") << false << quint32(0xffffffff); + QTest::newRow("0.0") << QString::fromLatin1("0.0") << false << quint32(0xffffffff); + QTest::newRow("1.0") << QString::fromLatin1("1.0") << false << quint32(0xffffffff); + QTest::newRow("1.5") << QString::fromLatin1("1.5") << false << quint32(0xffffffff); + QTest::newRow("1.") << QString::fromLatin1("1.") << false << quint32(0xffffffff); + QTest::newRow(".1") << QString::fromLatin1(".1") << false << quint32(0xffffffff); + QTest::newRow("1e0") << QString::fromLatin1("1e0") << false << quint32(0xffffffff); } void tst_QScriptString::toArrayIndex() diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro index 1588cc5..191cd4a 100644 --- a/tests/auto/qscriptvalue/qscriptvalue.pro +++ b/tests/auto/qscriptvalue/qscriptvalue.pro @@ -5,3 +5,10 @@ HEADERS += tst_qscriptvalue.h # Generated by testgen SOURCES += tst_qscriptvalue_generated.cpp + + +win32-msvc* { + # With -O2, MSVC takes up to 24 minutes to compile this test! + QMAKE_CXXFLAGS_RELEASE -= -O1 -O2 + QMAKE_CXXFLAGS_RELEASE += -Od +} diff --git a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp index 68daf1a..e154528 100644 --- a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp +++ b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp @@ -934,8 +934,8 @@ void tst_QSequentialAnimationGroup::startDelay() QTest::qWait(500); + QTRY_COMPARE(group.state(), QAnimationGroup::Stopped); QVERIFY(group.currentLoopTime() == 375); - QCOMPARE(group.state(), QAnimationGroup::Stopped); } void tst_QSequentialAnimationGroup::clearGroup() @@ -1029,7 +1029,7 @@ void tst_QSequentialAnimationGroup::groupWithZeroDurationAnimations() QTest::qWait(500); - QCOMPARE(o.property("myProperty").toInt(), 44); + QTRY_COMPARE(o.property("myProperty").toInt(), 44); QCOMPARE(o2.property("myProperty").toInt(), 42); QCOMPARE(o2.property("myOtherProperty").toInt(), 31); QCOMPARE(a1->state(), QAnimationGroup::Stopped); @@ -1171,7 +1171,7 @@ void tst_QSequentialAnimationGroup::deleteChildrenWithRunningGroup() QCOMPARE(anim1->state(), QAnimationGroup::Running); QTest::qWait(100); - QVERIFY(group.currentLoopTime() > 0); + QTRY_VERIFY(group.currentLoopTime() > 0); delete anim1; QCOMPARE(group.animationCount(), 0); @@ -1430,7 +1430,7 @@ void tst_QSequentialAnimationGroup::finishWithUncontrolledAnimation() QCOMPARE(notTimeDriven.currentLoopTime(), 0); QTest::qWait(300); //wait for the end of notTimeDriven - QCOMPARE(notTimeDriven.state(), QAnimationGroup::Stopped); + QTRY_COMPARE(notTimeDriven.state(), QAnimationGroup::Stopped); const int actualDuration = notTimeDriven.currentLoopTime(); QCOMPARE(group.state(), QAnimationGroup::Stopped); QCOMPARE(group.currentLoopTime(), actualDuration); @@ -1459,14 +1459,14 @@ void tst_QSequentialAnimationGroup::finishWithUncontrolledAnimation() QCOMPARE(animStateChangedSpy.count(), 0); QTest::qWait(300); //wait for the end of notTimeDriven - QCOMPARE(notTimeDriven.state(), QAnimationGroup::Stopped); + QTRY_COMPARE(notTimeDriven.state(), QAnimationGroup::Stopped); QCOMPARE(group.state(), QAnimationGroup::Running); QCOMPARE(anim.state(), QAnimationGroup::Running); QCOMPARE(group.currentAnimation(), static_cast<QAbstractAnimation*>(&anim)); QCOMPARE(animStateChangedSpy.count(), 1); QTest::qWait(300); //wait for the end of anim - QCOMPARE(anim.state(), QAnimationGroup::Stopped); + QTRY_COMPARE(anim.state(), QAnimationGroup::Stopped); QCOMPARE(anim.currentLoopTime(), anim.duration()); //we should simply be at the end @@ -1621,7 +1621,7 @@ void tst_QSequentialAnimationGroup::clear() group.start(); QTest::qWait(anim1->duration() + 100); - QCOMPARE(group.animationCount(), 0); + QTRY_COMPARE(group.animationCount(), 0); QCOMPARE(group.state(), QAbstractAnimation::Stopped); QCOMPARE(group.currentLoopTime(), 0); @@ -1629,8 +1629,8 @@ void tst_QSequentialAnimationGroup::clear() group.connect(anim1, SIGNAL(finished()), SLOT(refill())); group.start(); QTest::qWait(anim1->duration() + 100); + QTRY_COMPARE(group.state(), QAbstractAnimation::Running); QVERIFY(anim1 == 0); //anim1 should have been deleted - QCOMPARE(group.state(), QAbstractAnimation::Running); } void tst_QSequentialAnimationGroup::pauseResume() @@ -1645,7 +1645,7 @@ void tst_QSequentialAnimationGroup::pauseResume() QCOMPARE(group.duration(), 250); group.start(); QTest::qWait(100); - QCOMPARE(group.state(), QAnimationGroup::Running); + QTRY_COMPARE(group.state(), QAnimationGroup::Running); QCOMPARE(anim->state(), QAnimationGroup::Running); QCOMPARE(spy.count(), 1); spy.clear(); diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index 72ce393..83109b5 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -2513,13 +2513,9 @@ void tst_QUrl::schemeValidator() void tst_QUrl::invalidSchemeValidator() { - // enable that test when QUrl is fixed - return; - // test that if scheme does not start with an ALPHA, QUrl::isValid() returns false { QUrl url("1http://qt.nokia.com", QUrl::StrictMode); - qDebug() << url; QCOMPARE(url.isValid(), false); } { diff --git a/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp b/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp index b325250..1238804 100644 --- a/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp +++ b/tests/benchmarks/corelib/io/qdir/10000/bench_qdir_10000.cpp @@ -156,6 +156,7 @@ private slots: } void sizeSpeedWithoutFilterLowLevel() { + QDir testdir(QDir::tempPath() + QLatin1String("/test_speed")); #ifdef Q_OS_WIN const wchar_t *dirpath = (wchar_t*)testdir.absolutePath().utf16(); wchar_t appendedPath[MAX_PATH]; @@ -173,7 +174,6 @@ private slots: } FindClose(hSearch); #else - QDir testdir(QDir::tempPath() + QLatin1String("/test_speed")); DIR *dir = opendir(qPrintable(testdir.absolutePath())); QVERIFY(dir); diff --git a/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt b/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt new file mode 100644 index 0000000..b915320 --- /dev/null +++ b/tests/benchmarks/corelib/io/qdir/tree/4.6.0-list.txt @@ -0,0 +1,11963 @@ +0 src/ +0 3rdparty/ +0 ce-compat/ +0 ce_time.c + ce_time.h +2 clucene/ +0 APACHE.license + AUTHORS + ChangeLog + COPYING + LGPL.license + README + src/ +0 CLucene/ +0 analysis/ +0 AnalysisHeader.cpp + AnalysisHeader.h + Analyzers.cpp + Analyzers.h + standard/ +0 StandardAnalyzer.cpp + StandardAnalyzer.h + StandardFilter.cpp + StandardFilter.h + StandardTokenizerConstants.h + StandardTokenizer.cpp + StandardTokenizer.h +3 CLBackwards.h + CLConfig.h + CLMonolithic.cpp + config/ +0 CompilerAcc.h + CompilerBcb.h + CompilerGcc.h + compiler.h + CompilerMsvc.h + define_std.h + gunichartables.cpp + gunichartables.h + PlatformMac.h + PlatformUnix.h + PlatformWin32.h + repl_lltot.cpp + repl_tchar.h + repl_tcscasecmp.cpp + repl_tcslwr.cpp + repl_tcstod.cpp + repl_tcstoll.cpp + repl_tprintf.cpp + repl_wchar.h + threadCSection.h + threadPthread.h + threads.cpp + utf8.cpp +2 debug/ +0 condition.cpp + condition.h + error.cpp + error.h + lucenebase.h + mem.h + memtracking.cpp +2 document/ +0 DateField.cpp + DateField.h + Document.cpp + Document.h + Field.cpp + Field.h +3 CLucene.h + CLucene/index/ +0 CompoundFile.cpp + CompoundFile.h + DocumentWriter.cpp + DocumentWriter.h + FieldInfo.h + FieldInfos.cpp + FieldInfos.h + FieldsReader.cpp + FieldsReader.h + FieldsWriter.cpp + FieldsWriter.h + IndexModifier.cpp + IndexModifier.h + IndexReader.cpp + IndexReader.h + IndexWriter.cpp + IndexWriter.h + MultiReader.cpp + MultiReader.h + SegmentHeader.h + SegmentInfos.cpp + SegmentInfos.h + SegmentMergeInfo.cpp + SegmentMergeInfo.h + SegmentMergeQueue.cpp + SegmentMergeQueue.h + SegmentMerger.cpp + SegmentMerger.h + SegmentReader.cpp + SegmentTermDocs.cpp + SegmentTermEnum.cpp + SegmentTermEnum.h + SegmentTermPositions.cpp + SegmentTermVector.cpp + Term.cpp + Term.h + TermInfo.cpp + TermInfo.h + TermInfosReader.cpp + TermInfosReader.h + TermInfosWriter.cpp + TermInfosWriter.h + Terms.h + TermVector.h + TermVectorReader.cpp + TermVectorWriter.cpp +2 CLucene/LuceneThreads.h + CLucene/queryParser/ +0 Lexer.cpp + Lexer.h + MultiFieldQueryParser.cpp + MultiFieldQueryParser.h + QueryParserBase.cpp + QueryParserBase.h + QueryParser.cpp + QueryParser.h + QueryToken.cpp + QueryToken.h + TokenList.cpp + TokenList.h +2 CLucene/search/ +0 BooleanClause.h + BooleanQuery.cpp + BooleanQuery.h + BooleanScorer.cpp + BooleanScorer.h + CachingWrapperFilter.cpp + CachingWrapperFilter.h + ChainedFilter.cpp + ChainedFilter.h + Compare.h + ConjunctionScorer.cpp + ConjunctionScorer.h + DateFilter.cpp + DateFilter.h + ExactPhraseScorer.cpp + ExactPhraseScorer.h + Explanation.cpp + Explanation.h + FieldCache.cpp + FieldCache.h + FieldCacheImpl.cpp + FieldCacheImpl.h + FieldDoc.h + FieldDocSortedHitQueue.cpp + FieldDocSortedHitQueue.h + FieldSortedHitQueue.cpp + FieldSortedHitQueue.h + FilteredTermEnum.cpp + FilteredTermEnum.h + Filter.h + FuzzyQuery.cpp + FuzzyQuery.h + HitQueue.cpp + HitQueue.h + Hits.cpp + IndexSearcher.cpp + IndexSearcher.h + MultiSearcher.cpp + MultiSearcher.h + MultiTermQuery.cpp + MultiTermQuery.h + PhrasePositions.cpp + PhrasePositions.h + PhraseQuery.cpp + PhraseQuery.h + PhraseQueue.h + PhraseScorer.cpp + PhraseScorer.h + PrefixQuery.cpp + PrefixQuery.h + QueryFilter.cpp + QueryFilter.h + RangeFilter.cpp + RangeFilter.h + RangeQuery.cpp + RangeQuery.h + Scorer.h + SearchHeader.cpp + SearchHeader.h + Similarity.cpp + Similarity.h + SloppyPhraseScorer.cpp + SloppyPhraseScorer.h + Sort.cpp + Sort.h + TermQuery.cpp + TermQuery.h + TermScorer.cpp + TermScorer.h + WildcardQuery.cpp + WildcardQuery.h + WildcardTermEnum.cpp + WildcardTermEnum.h +2 CLucene/StdHeader.cpp + CLucene/StdHeader.h + CLucene/store/ +0 Directory.h + FSDirectory.cpp + FSDirectory.h + IndexInput.cpp + IndexInput.h + IndexOutput.cpp + IndexOutput.h + InputStream.h + Lock.cpp + Lock.h + MMapInput.cpp + OutputStream.h + RAMDirectory.cpp + RAMDirectory.h + TransactionalRAMDirectory.cpp + TransactionalRAMDirectory.h +2 CLucene/util/ +0 Arrays.h + BitSet.cpp + BitSet.h + bufferedstream.h + dirent.cpp + dirent.h + Equators.cpp + Equators.h + FastCharStream.cpp + FastCharStream.h + fileinputstream.cpp + fileinputstream.h + inputstreambuffer.h + jstreamsconfig.h + Misc.cpp + Misc.h + PriorityQueue.h + Reader.cpp + Reader.h + streambase.h + StringBuffer.cpp + StringBuffer.h + StringIntern.cpp + StringIntern.h + stringreader.h + subinputstream.h + ThreadLocal.cpp + ThreadLocal.h + VoidList.h + VoidMap.h +4 des/ +0 des.cpp +2 easing/ +0 easing.cpp + legal.qdoc +2 fonts/ +0 5x7.bdf + 6x13.bdf + COPYING.Cursor + COPYING.Helvetica + COPYING.Utopia + COPYRIGHT.BH + COPYRIGHT.Charter + COPYRIGHT.Courier + COPYRIGHT.DejaVu + COPYRIGHT.IBM + COPYRIGHT.Unifont + COPYRIGHT.Vera + helvB08.bdf + helvB10.bdf + helvB12.bdf + helvB14.bdf + helvB18.bdf + helvB24.bdf + helvBO08.bdf + helvBO10.bdf + helvBO12.bdf + helvBO14.bdf + helvBO18.bdf + helvBO24.bdf + helvO08.bdf + helvO10.bdf + helvO12.bdf + helvO14.bdf + helvO18.bdf + helvO24.bdf + helvR08.bdf + helvR10.bdf + helvR12.bdf + helvR14.bdf + helvR18.bdf + helvR24.bdf + micro.bdf + README.DejaVu + unifont.bdf +2 freetype/ +0 autogen.sh + builds/ +0 amiga/ +0 include/ +0 freetype/ +0 config/ +0 ftconfig.h + ftmodule.h +4 makefile +0 .os4 +2 README + smakefile + src/ +0 base/ +0 ftdebug.c + ftsystem.c +4 ansi/ +0 ansi-def.mk + ansi.mk +2 atari/ +0 ATARI.H + FNames.SIC + FREETYPE.PRJ + README.TXT +2 beos/ +0 beos-def.mk + beos.mk + detect.mk +2 compiler/ +0 ansi-cc.mk + bcc-dev.mk + bcc.mk + emx.mk + gcc-dev.mk + gcc.mk + intelc.mk + unix-lcc.mk + visualage.mk + visualc.mk + watcom.mk + win-lcc.mk +2 detect.mk + dos/ +0 detect.mk + dos-def.mk + dos-emx.mk + dos-gcc.mk + dos-wat.mk +2 exports.mk + freetype.mk + link_dos.mk + link_std.mk + mac/ +0 ascii2mpw.py + FreeType.m68k_cfm.make.txt + FreeType.m68k_far.make.txt + FreeType.ppc_carbon.make.txt + FreeType.ppc_classic.make.txt + ftlib.prj.xml + ftmac.c + README +2 modules.mk + newline + os2/ +0 detect.mk + os2-def.mk + os2-dev.mk + os2-gcc.mk +2 symbian/ +0 bld.inf + freetype.mmp +2 toplevel.mk + unix/ +0 aclocal.m4 + config.guess + config.sub + configure +0 .ac + .raw +2 detect.mk + freetype2.in + freetype2.m4 + freetype-config.in + ft2unix.h + ftconfig.h + ftconfig.in + ft-munmap.m4 + ftsystem.c + install.mk + install-sh + ltmain.sh + mkinstalldirs + unix-cc.in + unixddef.mk + unix-def.in + unix-dev.mk + unix-lcc.mk + unix.mk +2 vms/ +0 ftconfig.h + ftsystem.c +2 win32/ +0 detect.mk + ftdebug.c + vc2005/ +0 freetype.sln + freetype.vcproj + index.html +2 vc2008/ +0 freetype.sln + freetype.vcproj + index.html +2 visualc/ +0 freetype.dsp + freetype.dsw + index.html +2 w32-bccd.mk + w32-bcc.mk + w32-dev.mk + w32-gcc.mk + w32-icc.mk + w32-intl.mk + w32-lcc.mk + w32-mingw32.mk + w32-vcc.mk + w32-wat.mk + win32-def.mk +2 wince/ +0 ftdebug.c + vc2005-ce/ +0 freetype.sln + freetype.vcproj + index.html +2 vc2008-ce/ +0 freetype.sln + freetype.vcproj + index.html +4 ChangeLog +0 .20 + .21 + .22 +2 configure + devel/ +0 ft2build.h + ftoption.h +2 docs/ +0 CHANGES + CUSTOMIZE + DEBUG + formats.txt + FTL.TXT + GPL.TXT + INSTALL +0 .ANY + .CROSS + .GNU + .MAC + .UNIX + .VMS +2 LICENSE.TXT + MAKEPP + PATENTS + PROBLEMS + raster.txt + reference/ +0 ft2-base_interface.html + ft2-basic_types.html + ft2-bdf_fonts.html + ft2-bitmap_handling.html + ft2-cache_subsystem.html + ft2-cid_fonts.html + ft2-computations.html + ft2-font_formats.html + ft2-gasp_table.html + ft2-glyph_management.html + ft2-glyph_stroker.html + ft2-glyph_variants.html + ft2-gx_validation.html + ft2-gzip.html + ft2-header_file_macros.html + ft2-incremental.html + ft2-index.html + ft2-lcd_filtering.html + ft2-list_processing.html + ft2-lzw.html + ft2-mac_specific.html + ft2-module_management.html + ft2-multiple_masters.html + ft2-ot_validation.html + ft2-outline_processing.html + ft2-pfr_fonts.html + ft2-quick_advance.html + ft2-raster.html + ft2-sfnt_names.html + ft2-sizes_management.html + ft2-system_interface.html + ft2-toc.html + ft2-truetype_engine.html + ft2-truetype_tables.html + ft2-type1_tables.html + ft2-user_allocation.html + ft2-version.html + ft2-winfnt_fonts.html + README +2 release + TODO + TRUETYPE + UPGRADE.UNIX + VERSION.DLL +2 include/ +0 freetype/ +0 config/ +0 ftconfig.h + ftheader.h + ftmodule.h + ftoption.h + ftstdlib.h +2 freetype.h + ftadvanc.h + ftbbox.h + ftbdf.h + ftbitmap.h + ftcache.h + ftchapters.h + ftcid.h + fterrdef.h + fterrors.h + ftgasp.h + ftglyph.h + ftgxval.h + ftgzip.h + ftimage.h + ftincrem.h + ftlcdfil.h + ftlist.h + ftlzw.h + ftmac.h + ftmm.h + ftmodapi.h + ftmoderr.h + ftotval.h + ftoutln.h + ftpfr.h + ftrender.h + ftsizes.h + ftsnames.h + ftstroke.h + ftsynth.h + ftsystem.h + fttrigon.h + fttypes.h + ftwinfnt.h + ftxf86.h + internal/ +0 autohint.h + ftcalc.h + ftdebug.h + ftdriver.h + ftgloadr.h + ftmemory.h + ftobjs.h + ftrfork.h + ftserv.h + ftstream.h + fttrace.h + ftvalid.h + internal.h + pcftypes.h + psaux.h + pshints.h + services/ +0 svbdf.h + svcid.h + svgldict.h + svgxval.h + svkern.h + svmm.h + svotval.h + svpfr.h + svpostnm.h + svpscmap.h + svpsinfo.h + svsfnt.h + svttcmap.h + svtteng.h + svttglyf.h + svwinfnt.h + svxf86nm.h +2 sfnt.h + t1types.h + tttypes.h +2 t1tables.h + ttnameid.h + tttables.h + tttags.h + ttunpat.h +2 ft2build.h +2 Jamfile + Jamrules + Makefile + modules.cfg + objs/ +0 README +2 README +0 .CVS +2 src/ +0 autofit/ +0 afangles.c + afangles.h + afcjk.c + afcjk.h + afdummy.c + afdummy.h + aferrors.h + afglobal.c + afglobal.h + afhints.c + afhints.h + afindic.c + afindic.h + aflatin2.c + aflatin2.h + aflatin.c + aflatin.h + afloader.c + afloader.h + afmodule.c + afmodule.h + aftypes.h + afwarp.c + afwarp.h + autofit.c + Jamfile + module.mk + rules.mk +2 base/ +0 ftadvanc.c + ftapi.c + ftbase.c + ftbase.h + ftbbox.c + ftbdf.c + ftbitmap.c + ftcalc.c + ftcid.c + ftdbgmem.c + ftdebug.c + ftfstype.c + ftgasp.c + ftgloadr.c + ftglyph.c + ftgxval.c + ftinit.c + ftlcdfil.c + ftmac.c + ftmm.c + ftnames.c + ftobjs.c + ftotval.c + ftoutln.c + ftpatent.c + ftpfr.c + ftrfork.c + ftstream.c + ftstroke.c + ftsynth.c + ftsystem.c + fttrigon.c + fttype1.c + ftutil.c + ftwinfnt.c + ftxf86.c + Jamfile + rules.mk +2 bdf/ +0 bdf.c + bdfdrivr.c + bdfdrivr.h + bdferror.h + bdf.h + bdflib.c + Jamfile + module.mk + README + rules.mk +2 cache/ +0 ftcache.c + ftcbasic.c + ftccache.c + ftccache.h + ftccback.h + ftccmap.c + ftcerror.h + ftcglyph.c + ftcglyph.h + ftcimage.c + ftcimage.h + ftcmanag.c + ftcmanag.h + ftcmru.c + ftcmru.h + ftcsbits.c + ftcsbits.h + Jamfile + rules.mk +2 cff/ +0 cff.c + cffcmap.c + cffcmap.h + cffdrivr.c + cffdrivr.h + cfferrs.h + cffgload.c + cffgload.h + cffload.c + cffload.h + cffobjs.c + cffobjs.h + cffparse.c + cffparse.h + cfftoken.h + cfftypes.h + Jamfile + module.mk + rules.mk +2 cid/ +0 ciderrs.h + cidgload.c + cidgload.h + cidload.c + cidload.h + cidobjs.c + cidobjs.h + cidparse.c + cidparse.h + cidriver.c + cidriver.h + cidtoken.h + Jamfile + module.mk + rules.mk + type1cid.c +2 gxvalid/ +0 gxvalid.c + gxvalid.h + gxvbsln.c + gxvcommn.c + gxvcommn.h + gxverror.h + gxvfeat.c + gxvfeat.h + gxvfgen.c + gxvjust.c + gxvkern.c + gxvlcar.c + gxvmod.c + gxvmod.h + gxvmort0.c + gxvmort1.c + gxvmort2.c + gxvmort4.c + gxvmort5.c + gxvmort.c + gxvmort.h + gxvmorx0.c + gxvmorx1.c + gxvmorx2.c + gxvmorx4.c + gxvmorx5.c + gxvmorx.c + gxvmorx.h + gxvopbd.c + gxvprop.c + gxvtrak.c + Jamfile + module.mk + README + rules.mk +2 gzip/ +0 adler32.c + ftgzip.c + infblock.c + infblock.h + infcodes.c + infcodes.h + inffixed.h + inflate.c + inftrees.c + inftrees.h + infutil.c + infutil.h + Jamfile + rules.mk + zconf.h + zlib.h + zutil.c + zutil.h +2 Jamfile + lzw/ +0 ftlzw.c + ftzopen.c + ftzopen.h + Jamfile + rules.mk +2 otvalid/ +0 Jamfile + module.mk + otvalid.c + otvalid.h + otvbase.c + otvcommn.c + otvcommn.h + otverror.h + otvgdef.c + otvgpos.c + otvgpos.h + otvgsub.c + otvjstf.c + otvmath.c + otvmod.c + otvmod.h + rules.mk +2 pcf/ +0 Jamfile + module.mk + pcf.c + pcfdrivr.c + pcfdrivr.h + pcferror.h + pcf.h + pcfread.c + pcfread.h + pcfutil.c + pcfutil.h + README + rules.mk +2 pfr/ +0 Jamfile + module.mk + pfr.c + pfrcmap.c + pfrcmap.h + pfrdrivr.c + pfrdrivr.h + pfrerror.h + pfrgload.c + pfrgload.h + pfrload.c + pfrload.h + pfrobjs.c + pfrobjs.h + pfrsbit.c + pfrsbit.h + pfrtypes.h + rules.mk +2 psaux/ +0 afmparse.c + afmparse.h + Jamfile + module.mk + psaux.c + psauxerr.h + psauxmod.c + psauxmod.h + psconv.c + psconv.h + psobjs.c + psobjs.h + rules.mk + t1cmap.c + t1cmap.h + t1decode.c + t1decode.h +2 pshinter/ +0 Jamfile + module.mk + pshalgo.c + pshalgo.h + pshglob.c + pshglob.h + pshinter.c + pshmod.c + pshmod.h + pshnterr.h + pshrec.c + pshrec.h + rules.mk +2 psnames/ +0 Jamfile + module.mk + psmodule.c + psmodule.h + psnamerr.h + psnames.c + pstables.h + rules.mk +2 raster/ +0 ftmisc.h + ftraster.c + ftraster.h + ftrend1.c + ftrend1.h + Jamfile + module.mk + raster.c + rasterrs.h + rules.mk +2 sfnt/ +0 Jamfile + module.mk + rules.mk + sfdriver.c + sfdriver.h + sferrors.h + sfnt.c + sfobjs.c + sfobjs.h + ttbdf.c + ttbdf.h + ttcmap.c + ttcmap.h + ttkern.c + ttkern.h + ttload.c + ttload.h + ttmtx.c + ttmtx.h + ttpost.c + ttpost.h + ttsbit0.c + ttsbit.c + ttsbit.h +2 smooth/ +0 ftgrays.c + ftgrays.h + ftsmerrs.h + ftsmooth.c + ftsmooth.h + Jamfile + module.mk + rules.mk + smooth.c +2 tools/ +0 apinames.c + cordic.py + docmaker/ +0 content.py + docbeauty.py + docmaker.py + formatter.py + sources.py + tohtml.py + utils.py +2 ftrandom/ +0 ftrandom.c + Makefile + README +2 glnames.py + Jamfile + test_afm.c + test_bbox.c + test_trig.c +2 truetype/ +0 Jamfile + module.mk + rules.mk + truetype.c + ttdriver.c + ttdriver.h + tterrors.h + ttgload.c + ttgload.h + ttgxvar.c + ttgxvar.h + ttinterp.c + ttinterp.h + ttobjs.c + ttobjs.h + ttpload.c + ttpload.h +2 type1/ +0 Jamfile + module.mk + rules.mk + t1afm.c + t1afm.h + t1driver.c + t1driver.h + t1errors.h + t1gload.c + t1gload.h + t1load.c + t1load.h + t1objs.c + t1objs.h + t1parse.c + t1parse.h + t1tokens.h + type1.c +2 type42/ +0 Jamfile + module.mk + rules.mk + t42drivr.c + t42drivr.h + t42error.h + t42objs.c + t42objs.h + t42parse.c + t42parse.h + t42types.h + type42.c +2 winfonts/ +0 fnterrs.h + Jamfile + module.mk + rules.mk + winfnt.c + winfnt.h +3 version.sed + vms_make.com +2 .gitattributes + harfbuzz/ +0 AUTHORS + autogen.sh + ChangeLog + configure.ac + COPYING + .gitignore + Makefile.am + NEWS + README + src/ +0 .gitignore + harfbuzz-arabic.c + harfbuzz-buffer.c + harfbuzz-buffer.h + harfbuzz-buffer-private.h + harfbuzz.c + harfbuzz-dump.c + harfbuzz-dump.h + harfbuzz-dump-main.c + harfbuzz-external.h + harfbuzz-gdef.c + harfbuzz-gdef.h + harfbuzz-gdef-private.h + harfbuzz-global.h + harfbuzz-gpos.c + harfbuzz-gpos.h + harfbuzz-gpos-private.h + harfbuzz-gsub.c + harfbuzz-gsub.h + harfbuzz-gsub-private.h + harfbuzz.h + harfbuzz-hangul.c + harfbuzz-hebrew.c + harfbuzz-impl.c + harfbuzz-impl.h + harfbuzz-indic.cpp + harfbuzz-khmer.c + harfbuzz-myanmar.c + harfbuzz-open.c + harfbuzz-open.h + harfbuzz-open-private.h + harfbuzz-shape.h + harfbuzz-shaper-all.cpp + harfbuzz-shaper.cpp + harfbuzz-shaper.h + harfbuzz-shaper-private.h + harfbuzz-stream.c + harfbuzz-stream.h + harfbuzz-stream-private.h + harfbuzz-thai.c + harfbuzz-tibetan.c + Makefile.am +2 tests/ +0 linebreaking/ +0 .gitignore + harfbuzz-qt.cpp + main.cpp + Makefile.am +2 Makefile.am + shaping/ +0 .gitignore + main.cpp + Makefile.am + README +4 javascriptcore/ +0 JavaScriptCore/ +0 API/ +0 APICast.h + JavaScriptCore.h + JavaScript.h + JSBase.cpp + JSBase.h + JSBasePrivate.h + JSCallbackConstructor.cpp + JSCallbackConstructor.h + JSCallbackFunction.cpp + JSCallbackFunction.h + JSCallbackObject.cpp + JSCallbackObjectFunctions.h + JSCallbackObject.h + JSClassRef.cpp + JSClassRef.h + JSContextRef.cpp + JSContextRef.h + JSObjectRef.cpp + JSObjectRef.h + JSProfilerPrivate.cpp + JSProfilerPrivate.h + JSRetainPtr.h + JSStringRefBSTR.cpp + JSStringRefBSTR.h + JSStringRefCF.cpp + JSStringRefCF.h + JSStringRef.cpp + JSStringRef.h + JSValueRef.cpp + JSValueRef.h + OpaqueJSString.cpp + OpaqueJSString.h + WebKitAvailability.h +2 assembler/ +0 AbstractMacroAssembler.h + ARMAssembler.cpp + ARMAssembler.h + ARMv7Assembler.h + AssemblerBuffer.h + AssemblerBufferWithConstantPool.h + CodeLocation.h + LinkBuffer.h + MacroAssemblerARM.cpp + MacroAssemblerARM.h + MacroAssemblerARMv7.h + MacroAssemblerCodeRef.h + MacroAssembler.h + MacroAssemblerX86_64.h + MacroAssemblerX86Common.h + MacroAssemblerX86.h + RepatchBuffer.h + X86Assembler.h +2 AUTHORS + bytecode/ +0 CodeBlock.cpp + CodeBlock.h + EvalCodeCache.h + Instruction.h + JumpTable.cpp + JumpTable.h + Opcode.cpp + Opcode.h + SamplingTool.cpp + SamplingTool.h + StructureStubInfo.cpp + StructureStubInfo.h +2 bytecompiler/ +0 BytecodeGenerator.cpp + BytecodeGenerator.h + Label.h + LabelScope.h + RegisterID.h +2 ChangeLog +0 -2002-12-03 + -2003-10-25 + -2007-10-14 + -2008-08-10 + -2009-06-16 +2 config.h + COPYING.LIB + create_hash_table + debugger/ +0 DebuggerActivation.cpp + DebuggerActivation.h + DebuggerCallFrame.cpp + DebuggerCallFrame.h + Debugger.cpp + Debugger.h +2 DerivedSources.make + docs/ +0 make-bytecode-docs.pl +2 ForwardingHeaders/ +0 JavaScriptCore/ +0 APICast.h + JavaScriptCore.h + JavaScript.h + JSBase.h + JSContextRef.h + JSObjectRef.h + JSRetainPtr.h + JSStringRefCF.h + JSStringRef.h + JSValueRef.h + OpaqueJSString.h + WebKitAvailability.h +3 generated/ +0 ArrayPrototype.lut.h + chartables.c + DatePrototype.lut.h + Grammar.cpp + Grammar.h + JSONObject.lut.h + Lexer.lut.h + MathObject.lut.h + NumberConstructor.lut.h + RegExpConstructor.lut.h + RegExpObject.lut.h + StringPrototype.lut.h +2 headers.pri + Info.plist + interpreter/ +0 CachedCall.h + CallFrameClosure.h + CallFrame.cpp + CallFrame.h + Interpreter.cpp + Interpreter.h + RegisterFile.cpp + RegisterFile.h + Register.h +2 JavaScriptCore.gypi + JavaScriptCore.order + JavaScriptCorePrefix.h + JavaScriptCore.pri + jit/ +0 ExecutableAllocator.cpp + ExecutableAllocatorFixedVMPool.cpp + ExecutableAllocator.h + ExecutableAllocatorPosix.cpp + ExecutableAllocatorWin.cpp + JITArithmetic.cpp + JITCall.cpp + JITCode.h + JIT.cpp + JIT.h + JITInlineMethods.h + JITOpcodes.cpp + JITPropertyAccess.cpp + JITStubCall.h + JITStubs.cpp + JITStubs.h +2 jsc.cpp + make-generated-sources.sh + os-win32/ +0 stdbool.h + stdint.h +2 parser/ +0 Grammar.y + Keywords.table + Lexer.cpp + Lexer.h + NodeConstructors.h + NodeInfo.h + Nodes.cpp + Nodes.h + ParserArena.cpp + ParserArena.h + Parser.cpp + Parser.h + ResultType.h + SourceCode.h + SourceProvider.h +2 pcre/ +0 AUTHORS + COPYING + dftables + pcre_compile.cpp + pcre_exec.cpp + pcre.h + pcre_internal.h + pcre.pri + pcre_tables.cpp + pcre_ucp_searchfuncs.cpp + pcre_xclass.cpp + ucpinternal.h + ucptable.cpp +2 profiler/ +0 CallIdentifier.h + HeavyProfile.cpp + HeavyProfile.h + Profile.cpp + ProfileGenerator.cpp + ProfileGenerator.h + Profile.h + ProfileNode.cpp + ProfileNode.h + Profiler.cpp + Profiler.h + ProfilerServer.h + ProfilerServer.mm + TreeProfile.cpp + TreeProfile.h +2 runtime/ +0 ArgList.cpp + ArgList.h + Arguments.cpp + Arguments.h + ArrayConstructor.cpp + ArrayConstructor.h + ArrayPrototype.cpp + ArrayPrototype.h + BatchedTransitionOptimizer.h + BooleanConstructor.cpp + BooleanConstructor.h + BooleanObject.cpp + BooleanObject.h + BooleanPrototype.cpp + BooleanPrototype.h + CallData.cpp + CallData.h + ClassInfo.h + Collector.cpp + Collector.h + CollectorHeapIterator.h + CommonIdentifiers.cpp + CommonIdentifiers.h + Completion.cpp + Completion.h + ConstructData.cpp + ConstructData.h + DateConstructor.cpp + DateConstructor.h + DateConversion.cpp + DateConversion.h + DateInstance.cpp + DateInstance.h + DatePrototype.cpp + DatePrototype.h + ErrorConstructor.cpp + ErrorConstructor.h + Error.cpp + Error.h + ErrorInstance.cpp + ErrorInstance.h + ErrorPrototype.cpp + ErrorPrototype.h + ExceptionHelpers.cpp + ExceptionHelpers.h + Executable.cpp + Executable.h + FunctionConstructor.cpp + FunctionConstructor.h + FunctionPrototype.cpp + FunctionPrototype.h + GetterSetter.cpp + GetterSetter.h + GlobalEvalFunction.cpp + GlobalEvalFunction.h + Identifier.cpp + Identifier.h + InitializeThreading.cpp + InitializeThreading.h + InternalFunction.cpp + InternalFunction.h + JSActivation.cpp + JSActivation.h + JSAPIValueWrapper.cpp + JSAPIValueWrapper.h + JSArray.cpp + JSArray.h + JSByteArray.cpp + JSByteArray.h + JSCell.cpp + JSCell.h + JSFunction.cpp + JSFunction.h + JSGlobalData.cpp + JSGlobalData.h + JSGlobalObject.cpp + JSGlobalObjectFunctions.cpp + JSGlobalObjectFunctions.h + JSGlobalObject.h + JSImmediate.cpp + JSImmediate.h + JSLock.cpp + JSLock.h + JSNotAnObject.cpp + JSNotAnObject.h + JSNumberCell.cpp + JSNumberCell.h + JSObject.cpp + JSObject.h + JSONObject.cpp + JSONObject.h + JSPropertyNameIterator.cpp + JSPropertyNameIterator.h + JSStaticScopeObject.cpp + JSStaticScopeObject.h + JSString.cpp + JSString.h + JSType.h + JSTypeInfo.h + JSValue.cpp + JSValue.h + JSVariableObject.cpp + JSVariableObject.h + JSWrapperObject.cpp + JSWrapperObject.h + LiteralParser.cpp + LiteralParser.h + Lookup.cpp + Lookup.h + MarkStack.cpp + MarkStack.h + MarkStackPosix.cpp + MarkStackWin.cpp + MathObject.cpp + MathObject.h + NativeErrorConstructor.cpp + NativeErrorConstructor.h + NativeErrorPrototype.cpp + NativeErrorPrototype.h + NativeFunctionWrapper.h + NumberConstructor.cpp + NumberConstructor.h + NumberObject.cpp + NumberObject.h + NumberPrototype.cpp + NumberPrototype.h + NumericStrings.h + ObjectConstructor.cpp + ObjectConstructor.h + ObjectPrototype.cpp + ObjectPrototype.h + Operations.cpp + Operations.h + PropertyDescriptor.cpp + PropertyDescriptor.h + PropertyMapHashTable.h + PropertyNameArray.cpp + PropertyNameArray.h + PropertySlot.cpp + PropertySlot.h + Protect.h + PrototypeFunction.cpp + PrototypeFunction.h + PutPropertySlot.h + RegExpConstructor.cpp + RegExpConstructor.h + RegExp.cpp + RegExp.h + RegExpMatchesArray.h + RegExpObject.cpp + RegExpObject.h + RegExpPrototype.cpp + RegExpPrototype.h + ScopeChain.cpp + ScopeChain.h + ScopeChainMark.h + SmallStrings.cpp + SmallStrings.h + StringConstructor.cpp + StringConstructor.h + StringObject.cpp + StringObject.h + StringObjectThatMasqueradesAsUndefined.h + StringPrototype.cpp + StringPrototype.h + StructureChain.cpp + StructureChain.h + Structure.cpp + Structure.h + StructureTransitionTable.h + SymbolTable.h + TimeoutChecker.cpp + TimeoutChecker.h + Tracing.h + UString.cpp + UString.h +2 THANKS + wrec/ +0 CharacterClassConstructor.cpp + CharacterClassConstructor.h + CharacterClass.cpp + CharacterClass.h + Escapes.h + Quantifier.h + WREC.cpp + WRECFunctors.cpp + WRECFunctors.h + WRECGenerator.cpp + WRECGenerator.h + WREC.h + WRECParser.cpp + WRECParser.h +2 wscript + wtf/ +0 AlwaysInline.h + ASCIICType.h + Assertions.cpp + Assertions.h + AVLTree.h + ByteArray.cpp + ByteArray.h + CONTRIBUTORS.pthreads-win32 + CrossThreadRefCounted.h + CurrentTime.cpp + CurrentTime.h + DateMath.cpp + DateMath.h + Deque.h + DisallowCType.h + dtoa.cpp + dtoa.h + FastAllocBase.h + FastMalloc.cpp + FastMalloc.h + Forward.h + GetPtr.h + GOwnPtr.cpp + GOwnPtr.h + HashCountedSet.h + HashFunctions.h + HashIterators.h + HashMap.h + HashSet.h + HashTable.cpp + HashTable.h + HashTraits.h + ListHashSet.h + ListRefPtr.h + Locker.h + MainThread.cpp + MainThread.h + MallocZoneSupport.h + MathExtras.h + MessageQueue.h + Noncopyable.h + NotFound.h + OwnArrayPtr.h + OwnFastMallocPtr.h + OwnPtrCommon.h + OwnPtr.h + OwnPtrWin.cpp + PassOwnPtr.h + PassRefPtr.h + Platform.h + PossiblyNull.h + PtrAndFlags.h + qt/ +0 MainThreadQt.cpp + ThreadingQt.cpp +2 RandomNumber.cpp + RandomNumber.h + RandomNumberSeed.h + RefCounted.h + RefCountedLeakCounter.cpp + RefCountedLeakCounter.h + RefPtr.h + RefPtrHashMap.h + RetainPtr.h + SegmentedVector.h + StdLibExtras.h + StringExtras.h + TCPackedCache.h + TCPageMap.h + TCSpinLock.h + TCSystemAlloc.cpp + TCSystemAlloc.h + Threading.cpp + Threading.h + ThreadingNone.cpp + ThreadingPthreads.cpp + ThreadingWin.cpp + ThreadSpecific.h + ThreadSpecificWin.cpp + TypeTraits.cpp + TypeTraits.h + unicode/ +0 CollatorDefault.cpp + Collator.h + glib/ +0 UnicodeGLib.cpp + UnicodeGLib.h + UnicodeMacrosFromICU.h +2 icu/ +0 CollatorICU.cpp + UnicodeIcu.h +2 qt4/ +0 UnicodeQt4.h +2 Unicode.h + UTF8.cpp + UTF8.h + wince/ +0 UnicodeWince.cpp + UnicodeWince.h +3 UnusedParam.h + Vector.h + VectorTraits.h + VMTags.h + wince/ +0 FastMallocWince.h + MemoryManager.cpp + MemoryManager.h + mt19937ar.c +3 yarr/ +0 RegexCompiler.cpp + RegexCompiler.h + RegexInterpreter.cpp + RegexInterpreter.h + RegexJIT.cpp + RegexJIT.h + RegexParser.h + RegexPattern.h +3 VERSION + WebKit.pri +2 libjpeg/ +0 change.log + coderules.doc + filelist.doc + install.doc + jcapimin.c + jcapistd.c + jccoefct.c + jccolor.c + jcdctmgr.c + jchuff.c + jchuff.h + jcinit.c + jcmainct.c + jcmarker.c + jcmaster.c + jcomapi.c + jconfig.bcc + jconfig.cfg + jconfig.dj + jconfig.doc + jconfig.h + jconfig.mac + jconfig.manx + jconfig.mc6 + jconfig.sas + jconfig.st + jconfig.vc + jconfig.vms + jconfig.wat + jcparam.c + jcphuff.c + jcprepct.c + jcsample.c + jctrans.c + jdapimin.c + jdapistd.c + jdatadst.c + jdatasrc.c + jdcoefct.c + jdcolor.c + jdct.h + jddctmgr.c + jdhuff.c + jdhuff.h + jdinput.c + jdmainct.c + jdmarker.c + jdmaster.c + jdmerge.c + jdphuff.c + jdpostct.c + jdsample.c + jdtrans.c + jerror.c + jerror.h + jfdctflt.c + jfdctfst.c + jfdctint.c + jidctflt.c + jidctfst.c + jidctint.c + jidctred.c + jinclude.h + jmemmgr.c + jmemnobs.c + jmemsys.h + jmorecfg.h + jpegint.h + jpeglib.h + jquant1.c + jquant2.c + jutils.c + jversion.h + libjpeg.doc + makefile.ansi + makefile.bcc + makefile.cfg + makefile.dj + makefile.manx + makefile.mc6 + makefile.mms + makefile.sas + makefile.unix + makefile.vc + makefile.vms + makefile.wat + README + structure.doc + usage.doc + wizard.doc +2 libmng/ +0 CHANGES + doc/ +0 doc.readme + libmng.txt + man/ +0 jng.5 + libmng.3 + mng.5 +2 misc/ +0 magic.dif +2 Plan1.png + Plan2.png + rpm/ +0 libmng-1.0.10-rhconf.patch + libmng.spec +3 libmng_callback_xs.c + libmng_chunk_descr.c + libmng_chunk_descr.h + libmng_chunk_io.c + libmng_chunk_io.h + libmng_chunk_prc.c + libmng_chunk_prc.h + libmng_chunks.h + libmng_chunk_xs.c + libmng_cms.c + libmng_cms.h + libmng_conf.h + libmng_data.h + libmng_display.c + libmng_display.h + libmng_dither.c + libmng_dither.h + libmng_error.c + libmng_error.h + libmng_filter.c + libmng_filter.h + libmng.h + libmng_hlapi.c + libmng_jpeg.c + libmng_jpeg.h + libmng_memory.h + libmng_object_prc.c + libmng_object_prc.h + libmng_objects.h + libmng_pixels.c + libmng_pixels.h + libmng_prop_xs.c + libmng_read.c + libmng_read.h + libmng_trace.c + libmng_trace.h + libmng_types.h + libmng_write.c + libmng_write.h + libmng_zlib.c + libmng_zlib.h + LICENSE + makefiles/ +0 configure.in + Makefile.am + makefile.bcb3 + makefile.dj + makefile.linux + makefile.mingw +0 dll +2 makefile.qnx + makefile.unix + makefile.vcwin32 + README +2 README +0 .autoconf + .config + .contrib + .dll + .examples + .footprint + .packaging +2 unmaintained/ +0 autogen.sh +3 libpng/ +0 ANNOUNCE + CHANGES + configure + example.c + INSTALL + KNOWNBUG + libpng-1.2.40.txt + libpng.3 + libpngpf.3 + LICENSE + png.5 + pngbar.jpg + pngbar.png + png.c + pngconf.h + pngerror.c + pnggccrd.c + pngget.c + png.h + pngmem.c + pngnow.png + pngpread.c + pngread.c + pngrio.c + pngrtran.c + pngrutil.c + pngset.c + pngtest.c + pngtest.png + pngtrans.c + pngvcrd.c + pngwio.c + pngwrite.c + pngwtran.c + pngwutil.c + projects/ +0 beos/ +0 x86-shared.proj + x86-shared.txt + x86-static.proj + x86-static.txt +2 cbuilder5/ +0 libpng.bpf + libpng.bpg + libpng.bpr + libpng.cpp + libpng.readme.txt + libpngstat.bpf + libpngstat.bpr + zlib.readme.txt +2 netware.txt + visualc6/ +0 libpng.dsp + libpng.dsw + pngtest.dsp + README.txt +2 visualc71/ +0 libpng.sln + libpng.vcproj + pngtest.vcproj + PRJ0041.mak + README.txt + README_zlib.txt + zlib.vcproj +2 wince.txt +2 README + scripts/ +0 CMakeLists.txt + descrip.mms + libpng-config-body.in + libpng-config-head.in + libpng-config.in + libpng.icc + libpng.pc-configure.in + libpng.pc.in + makefile.32sunu + makefile.64sunu + makefile.acorn + makefile.aix + makefile.amiga + makefile.atari + makefile.bc32 + makefile.beos + makefile.bor + makefile.cygwin + makefile.darwin + makefile.dec + makefile.dj2 + makefile.elf + makefile.freebsd + makefile.gcc + makefile.gcmmx + makefile.hp64 + makefile.hpgcc + makefile.hpux + makefile.ibmc + makefile.intel + makefile.knr + makefile.linux + makefile.mingw + makefile.mips + makefile.msc + makefile.ne12bsd + makefile.netbsd + makefile.nommx + makefile.openbsd + makefile.os2 + makefile.sco + makefile.sggcc + makefile.sgi + makefile.so9 + makefile.solaris +0 -x86 +2 makefile.std + makefile.sunos + makefile.tc3 + makefile.vcawin32 + makefile.vcwin32 + makefile.watcom + makevms.com + pngos2.def + pngw32.def + pngw32.rc + SCOPTIONS.ppc + smakefile.ppc +2 TODO + Y2KINFO +2 libtiff/ +0 aclocal.m4 + autogen.sh + ChangeLog + config/ +0 compile + config.guess + config.sub + depcomp + install-sh + ltmain.sh + missing + mkinstalldirs +2 configure +0 .ac +2 COPYRIGHT + HOWTO-RELEASE + html/ +0 addingtags.html + bugs.html + build.html + contrib.html + document.html + images/ +0 back.gif + bali.jpg + cat.gif + cover.jpg + cramps.gif + dave.gif +2 images.html + images/info.gif + images/jello.jpg + images/jim.gif + images/Makefile.am + images/Makefile.in + images/note.gif + images/oxford.gif + images/quad.jpg + images/ring.gif + images/smallliz.jpg + images/strike.gif + images/warning.gif + index.html + internals.html + intro.html + libtiff.html + Makefile.am + Makefile.in + man/ +0 fax2ps.1.html + fax2tiff.1.html + gif2tiff.1.html + index.html + libtiff.3tiff.html + Makefile.am + Makefile.in + pal2rgb.1.html + ppm2tiff.1.html + ras2tiff.1.html + raw2tiff.1.html + rgb2ycbcr.1.html + sgi2tiff.1.html + thumbnail.1.html + tiff2bw.1.html + tiff2pdf.1.html + tiff2ps.1.html + tiff2rgba.1.html + TIFFbuffer.3tiff.html + TIFFClose.3tiff.html + tiffcmp.1.html + TIFFcodec.3tiff.html + TIFFcolor.3tiff.html + tiffcp.1.html + TIFFDataWidth.3tiff.html + tiffdither.1.html + tiffdump.1.html + TIFFError.3tiff.html + TIFFFlush.3tiff.html + TIFFGetField.3tiff.html + tiffgt.1.html + tiffinfo.1.html + tiffmedian.1.html + TIFFmemory.3tiff.html + TIFFOpen.3tiff.html + TIFFPrintDirectory.3tiff.html + TIFFquery.3tiff.html + TIFFReadDirectory.3tiff.html + TIFFReadEncodedStrip.3tiff.html + TIFFReadEncodedTile.3tiff.html + TIFFReadRawStrip.3tiff.html + TIFFReadRawTile.3tiff.html + TIFFReadRGBAImage.3tiff.html + TIFFReadRGBAStrip.3tiff.html + TIFFReadRGBATile.3tiff.html + TIFFReadScanline.3tiff.html + TIFFReadTile.3tiff.html + TIFFRGBAImage.3tiff.html + tiffset.1.html + TIFFSetDirectory.3tiff.html + TIFFSetField.3tiff.html + TIFFsize.3tiff.html + tiffsplit.1.html + TIFFstrip.3tiff.html + tiffsv.1.html + TIFFswab.3tiff.html + TIFFtile.3tiff.html + TIFFWarning.3tiff.html + TIFFWriteDirectory.3tiff.html + TIFFWriteEncodedStrip.3tiff.html + TIFFWriteEncodedTile.3tiff.html + TIFFWriteRawStrip.3tiff.html + TIFFWriteRawTile.3tiff.html + TIFFWriteScanline.3tiff.html + TIFFWriteTile.3tiff.html +2 misc.html + support.html + TIFFTechNote2.html + tools.html + v3.4beta007.html + v3.4beta016.html + v3.4beta018.html + v3.4beta024.html + v3.4beta028.html + v3.4beta029.html + v3.4beta031.html + v3.4beta032.html + v3.4beta033.html + v3.4beta034.html + v3.4beta035.html + v3.4beta036.html + v3.5.1.html + v3.5.2.html + v3.5.3.html + v3.5.4.html + v3.5.5.html + v3.5.6-beta.html + v3.5.7.html + v3.6.0.html + v3.6.1.html + v3.7.0alpha.html + v3.7.0beta2.html + v3.7.0beta.html + v3.7.0.html + v3.7.1.html + v3.7.2.html + v3.7.3.html + v3.7.4.html + v3.8.0.html + v3.8.1.html + v3.8.2.html +2 libtiff/ +0 libtiff.def + Makefile.am + Makefile.in + Makefile.vc + mkg3states.c + SConstruct + t4.h + tif_acorn.c + tif_apple.c + tif_atari.c + tif_aux.c + tif_close.c + tif_codec.c + tif_color.c + tif_compress.c + tif_config.h +0 .in + .vc +2 tif_dir.c + tif_dir.h + tif_dirinfo.c + tif_dirread.c + tif_dirwrite.c + tif_dumpmode.c + tif_error.c + tif_extension.c + tif_fax3.c + tif_fax3.h + tif_fax3sm.c + tiffconf.h +0 .in + .vc +2 tiff.h + tiffio.h +0 xx +2 tiffiop.h + tif_flush.c + tiffvers.h + tif_getimage.c + tif_jpeg.c + tif_luv.c + tif_lzw.c + tif_msdos.c + tif_next.c + tif_ojpeg.c + tif_open.c + tif_packbits.c + tif_pixarlog.c + tif_predict.c + tif_predict.h + tif_print.c + tif_read.c + tif_stream.cxx + tif_strip.c + tif_swab.c + tif_thunder.c + tif_tile.c + tif_unix.c + tif_version.c + tif_warning.c + tif_win32.c + tif_win3.c + tif_write.c + tif_zip.c + uvcode.h +2 m4/ +0 acinclude.m4 + libtool.m4 + ltoptions.m4 + ltsugar.m4 + ltversion.m4 +2 Makefile.am + Makefile.in + Makefile.vc + nmake.opt + port/ +0 dummy.c + getopt.c + lfind.c + Makefile.am + Makefile.in + Makefile.vc + strcasecmp.c + strtoul.c +2 README + RELEASE-DATE + SConstruct + test/ +0 ascii_tag.c + check_tag.c + long_tag.c + Makefile.am + Makefile.in + short_tag.c + strip.c + strip_rw.c + test_arrays.c + test_arrays.h +2 TODO + VERSION +2 Makefile + md4/ +0 md4.cpp + md4.h +2 md5/ +0 md5.cpp + md5.h +2 patches/ +0 freetype-2.3.5-config.patch + freetype-2.3.6-ascii.patch + freetype-2.3.6-vxworks.patch + libjpeg-6b-config.patch + libjpeg-6b-vxworks.patch + libmng-1.0.10-endless-loop.patch + libpng-1.2.20-elf-visibility.patch + libpng-1.2.20-vxworks.patch + libtiff-3.8.2-config.patch + libtiff-3.8.2-vxworks.patch + sqlite-3.5.6-config.patch + sqlite-3.5.6-vxworks.patch + sqlite-3.5.6-wince.patch + zlib-1.2.3-elf-visibility.patch +2 phonon/ +0 CMakeLists.txt + COPYING.LIB + ds9/ +0 abstractvideorenderer.cpp + abstractvideorenderer.h + audiooutput.cpp + audiooutput.h + backend.cpp + backend.h + backendnode.cpp + backendnode.h + CMakeLists.txt + compointer.h + ConfigureChecks.cmake + ds9.desktop + effect.cpp + effect.h + fakesource.cpp + fakesource.h + iodevicereader.cpp + iodevicereader.h + lgpl-2.1.txt + lgpl-3.txt + mediagraph.cpp + mediagraph.h + mediaobject.cpp + mediaobject.h + phononds9_namespace.h + qasyncreader.cpp + qasyncreader.h + qaudiocdreader.cpp + qaudiocdreader.h + qbasefilter.cpp + qbasefilter.h + qmeminputpin.cpp + qmeminputpin.h + qpin.cpp + qpin.h + videorenderer_soft.cpp + videorenderer_soft.h + videorenderer_vmr9.cpp + videorenderer_vmr9.h + videowidget.cpp + videowidget.h + volumeeffect.cpp + volumeeffect.h +2 gstreamer/ +0 abstractrenderer.cpp + abstractrenderer.h + alsasink2.c + alsasink2.h + artssink.cpp + artssink.h + audioeffect.cpp + audioeffect.h + audiooutput.cpp + audiooutput.h + backend.cpp + backend.h + CMakeLists.txt + common.h + ConfigureChecks.cmake + devicemanager.cpp + devicemanager.h + effect.cpp + effect.h + effectmanager.cpp + effectmanager.h + glrenderer.cpp + glrenderer.h + gsthelper.cpp + gsthelper.h + gstreamer.desktop + lgpl-2.1.txt + lgpl-3.txt + medianode.cpp + medianodeevent.cpp + medianodeevent.h + medianode.h + mediaobject.cpp + mediaobject.h + message.cpp + message.h + Messages.sh + phononsrc.cpp + phononsrc.h + qwidgetvideosink.cpp + qwidgetvideosink.h + streamreader.cpp + streamreader.h + videowidget.cpp + videowidget.h + volumefadereffect.cpp + volumefadereffect.h + widgetrenderer.cpp + widgetrenderer.h + x11renderer.cpp + x11renderer.h +2 includes/ +0 CMakeLists.txt + Phonon/ +0 AbstractAudioOutput + AbstractMediaStream + AbstractVideoOutput + AddonInterface + AudioDevice +0 Enumerator +2 AudioOutput +0 Device +0 Model +2 Interface +2 BackendCapabilities + BackendInterface + Effect +0 Description +0 Model +2 Interface + Parameter + Widget +2 Experimental/ +0 AbstractVideoDataOutput + AudioDataOutput + SnapshotInterface + VideoDataOutput +0 Interface +2 VideoFrame +0 2 +2 Visualization +2 Global + MediaController + MediaNode + MediaObject +0 Interface +2 MediaSource + ObjectDescription +0 Model +2 Path + PlatformPlugin + SeekSlider + StreamInterface + VideoPlayer + VideoWidget +0 Interface +2 VolumeFaderEffect + VolumeFaderInterface + VolumeSlider +3 mmf/ +0 abstractaudioeffect.cpp + abstractaudioeffect.h + abstractmediaplayer.cpp + abstractmediaplayer.h + abstractplayer.cpp + abstractplayer.h + ancestormovemonitor.cpp + ancestormovemonitor.h + audioequalizer.cpp + audioequalizer.h + audiooutput.cpp + audiooutput.h + audioplayer.cpp + audioplayer.h + backend.cpp + backend.h + bassboost.cpp + bassboost.h + defs.h + dummyplayer.cpp + dummyplayer.h + effectfactory.cpp + effectfactory.h + mediaobject.cpp + mediaobject.h + mmf_medianode.cpp + mmf_medianode.h + mmf_videoplayer.cpp + mmf_videoplayer.h + objectdump.cpp + objectdump.h + objectdump_symbian.cpp + objectdump_symbian.h + objecttree.cpp + objecttree.h + utils.cpp + utils.h + videooutput.cpp + videooutput.h + videooutputobserver.h + videowidget.cpp + videowidget.h + volumeobserver.h +2 phonon/ +0 abstractaudiooutput.cpp + abstractaudiooutput.h + abstractaudiooutput_p.cpp + abstractaudiooutput_p.h + abstractmediastream.cpp + abstractmediastream.h + abstractmediastream_p.h + abstractvideooutput.cpp + abstractvideooutput.h + abstractvideooutput_p.cpp + abstractvideooutput_p.h + addoninterface.h + audiooutputadaptor.cpp + audiooutputadaptor_p.h + audiooutput.cpp + audiooutput.h + audiooutputinterface.cpp + audiooutputinterface.h + audiooutput_p.h + backendcapabilities.cpp + backendcapabilities.h + backendcapabilities_p.h + backend.dox + backendinterface.h + BUGS + CMakeLists.txt + effect.cpp + effect.h + effectinterface.h + effectparameter.cpp + effectparameter.h + effectparameter_p.h + effect_p.h + effectwidget.cpp + effectwidget.h + effectwidget_p.h + extractmethodcalls.rb + factory.cpp + factory_p.h + frontendinterface_p.h + globalconfig.cpp + globalconfig_p.h + globalstatic_p.h + IDEAS + iodevicestream.cpp + iodevicestream_p.h + .krazy + mediacontroller.cpp + mediacontroller.h + medianode.cpp + medianodedestructionhandler_p.h + medianode.h + medianode_p.h + mediaobject.cpp + mediaobject.dox + mediaobject.h + mediaobjectinterface.h + mediaobject_p.h + mediasource.cpp + mediasource.h + mediasource_p.h + Messages.sh + objectdescription.cpp + objectdescription.h + objectdescriptionmodel.cpp + objectdescriptionmodel.h + objectdescriptionmodel_p.h + objectdescription_p.h + org.kde.Phonon.AudioOutput.xml + path.cpp + path.h + path_p.h +2 phonon.pc.cmake + phonon/phonondefs.h + phonon/phonondefs_p.h + phonon/phonon_export.h + phonon/phononnamespace.cpp + phonon/phononnamespace.h +0 .in +2 phonon/phononnamespace_p.h + phonon/platform.cpp + phonon/platform_p.h + phonon/platformplugin.h + phonon/preprocessandextract.sh + phonon/qsettingsgroup_p.h + phonon/seekslider.cpp + phonon/seekslider.h + phonon/seekslider_p.h + phonon/streaminterface.cpp + phonon/streaminterface.h + phonon/streaminterface_p.h + phonon/stream-thoughts + phonon/TODO + phonon/videoplayer.cpp + phonon/videoplayer.h + phonon/videowidget.cpp + phonon/videowidget.h + phonon/videowidgetinterface.h + phonon/videowidget_p.h + phonon/volumefadereffect.cpp + phonon/volumefadereffect.h + phonon/volumefadereffect_p.h + phonon/volumefaderinterface.h + phonon/volumeslider.cpp + phonon/volumeslider.h + phonon/volumeslider_p.h + qt7/ +0 audioconnection.h + audioconnection.mm + audiodevice.h + audiodevice.mm + audioeffects.h + audioeffects.mm + audiograph.h + audiograph.mm + audiomixer.h + audiomixer.mm + audionode.h + audionode.mm + audiooutput.h + audiooutput.mm + audiopartoutput.h + audiopartoutput.mm + audiosplitter.h + audiosplitter.mm + backend.h + backendheader.h + backendheader.mm + backendinfo.h + backendinfo.mm + backend.mm + CMakeLists.txt + ConfigureChecks.cmake + lgpl-2.1.txt + lgpl-3.txt + medianodeevent.h + medianodeevent.mm + medianode.h + medianode.mm + medianodevideopart.h + medianodevideopart.mm + mediaobjectaudionode.h + mediaobjectaudionode.mm + mediaobject.h + mediaobject.mm + quicktimeaudioplayer.h + quicktimeaudioplayer.mm + quicktimemetadata.h + quicktimemetadata.mm + quicktimestreamreader.h + quicktimestreamreader.mm + quicktimevideoplayer.h + quicktimevideoplayer.mm + videoeffect.h + videoeffect.mm + videoframe.h + videoframe.mm + videowidget.h + videowidget.mm +2 waveout/ +0 audiooutput.cpp + audiooutput.h + backend.cpp + backend.h + mediaobject.cpp + mediaobject.h +3 powervr/ +0 pvr2d.h + wsegl.h +2 ptmalloc/ +0 ChangeLog + COPYRIGHT + lran2.h + Makefile + malloc-2.8.3.h + malloc.c + malloc-private.h + ptmalloc3.c + README + sysdeps/ +0 generic/ +0 atomic.h + malloc-machine.h + thread-st.h +2 pthread/ +0 malloc-machine.h + thread-st.h +2 solaris/ +0 malloc-machine.h + thread-st.h +2 sproc/ +0 malloc-machine.h + thread-st.h +4 README + sha1/ +0 sha1.cpp +2 sqlite/ +0 shell.c + sqlite3.c + sqlite3.h +2 webkit/ +0 ChangeLog + .gitignore + JavaScriptCore/ +0 API/ +0 APICast.h + JavaScriptCore.h + JavaScript.h + JSBase.cpp + JSBase.h + JSBasePrivate.h + JSCallbackConstructor.cpp + JSCallbackConstructor.h + JSCallbackFunction.cpp + JSCallbackFunction.h + JSCallbackObject.cpp + JSCallbackObjectFunctions.h + JSCallbackObject.h + JSClassRef.cpp + JSClassRef.h + JSContextRef.cpp + JSContextRef.h + JSContextRefPrivate.h + JSObjectRef.cpp + JSObjectRef.h + JSProfilerPrivate.cpp + JSProfilerPrivate.h + JSRetainPtr.h + JSStringRefBSTR.cpp + JSStringRefBSTR.h + JSStringRefCF.cpp + JSStringRefCF.h + JSStringRef.cpp + JSStringRef.h + JSValueRef.cpp + JSValueRef.h + OpaqueJSString.cpp + OpaqueJSString.h + WebKitAvailability.h +2 assembler/ +0 AbstractMacroAssembler.h + ARMAssembler.cpp + ARMAssembler.h + ARMv7Assembler.h + AssemblerBuffer.h + AssemblerBufferWithConstantPool.h + CodeLocation.h + LinkBuffer.h + MacroAssemblerARM.cpp + MacroAssemblerARM.h + MacroAssemblerARMv7.h + MacroAssemblerCodeRef.h + MacroAssembler.h + MacroAssemblerX86_64.h + MacroAssemblerX86Common.h + MacroAssemblerX86.h + RepatchBuffer.h + X86Assembler.h +2 AUTHORS + bytecode/ +0 CodeBlock.cpp + CodeBlock.h + EvalCodeCache.h + Instruction.h + JumpTable.cpp + JumpTable.h + Opcode.cpp + Opcode.h + SamplingTool.cpp + SamplingTool.h + StructureStubInfo.cpp + StructureStubInfo.h +2 bytecompiler/ +0 BytecodeGenerator.cpp + BytecodeGenerator.h + Label.h + LabelScope.h + RegisterID.h +2 ChangeLog +0 -2002-12-03 + -2003-10-25 + -2007-10-14 + -2008-08-10 + -2009-06-16 +2 config.h + COPYING.LIB + create_hash_table + debugger/ +0 DebuggerActivation.cpp + DebuggerActivation.h + DebuggerCallFrame.cpp + DebuggerCallFrame.h + Debugger.cpp + Debugger.h +2 DerivedSources.make + docs/ +0 make-bytecode-docs.pl +2 ForwardingHeaders/ +0 JavaScriptCore/ +0 APICast.h + JavaScriptCore.h + JavaScript.h + JSBase.h + JSContextRef.h + JSObjectRef.h + JSRetainPtr.h + JSStringRefCF.h + JSStringRef.h + JSValueRef.h + OpaqueJSString.h + WebKitAvailability.h +3 generated/ +0 ArrayPrototype.lut.h + chartables.c + DatePrototype.lut.h + Grammar.cpp + Grammar.h + JSONObject.lut.h + Lexer.lut.h + MathObject.lut.h + NumberConstructor.lut.h + RegExpConstructor.lut.h + RegExpObject.lut.h + StringPrototype.lut.h +2 headers.pri + Info.plist + interpreter/ +0 CachedCall.h + CallFrameClosure.h + CallFrame.cpp + CallFrame.h + Interpreter.cpp + Interpreter.h + RegisterFile.cpp + RegisterFile.h + Register.h +2 JavaScriptCore.gypi + JavaScriptCore.order + JavaScriptCorePrefix.h + JavaScriptCore.pri + JavaScriptCore.pro + jit/ +0 ExecutableAllocator.cpp + ExecutableAllocatorFixedVMPool.cpp + ExecutableAllocator.h + ExecutableAllocatorPosix.cpp + ExecutableAllocatorSymbian.cpp + ExecutableAllocatorWin.cpp + JITArithmetic.cpp + JITCall.cpp + JITCode.h + JIT.cpp + JIT.h + JITInlineMethods.h + JITOpcodes.cpp + JITPropertyAccess.cpp + JITStubCall.h + JITStubs.cpp + JITStubs.h +2 jsc.cpp + make-generated-sources.sh + os-win32/ +0 stdbool.h + stdint.h +2 parser/ +0 Grammar.y + Keywords.table + Lexer.cpp + Lexer.h + NodeConstructors.h + NodeInfo.h + Nodes.cpp + Nodes.h + ParserArena.cpp + ParserArena.h + Parser.cpp + Parser.h + ResultType.h + SourceCode.h + SourceProvider.h +2 pcre/ +0 AUTHORS + COPYING + dftables + pcre_compile.cpp + pcre_exec.cpp + pcre.h + pcre_internal.h + pcre.pri + pcre_tables.cpp + pcre_ucp_searchfuncs.cpp + pcre_xclass.cpp + ucpinternal.h + ucptable.cpp +2 profiler/ +0 CallIdentifier.h + HeavyProfile.cpp + HeavyProfile.h + Profile.cpp + ProfileGenerator.cpp + ProfileGenerator.h + Profile.h + ProfileNode.cpp + ProfileNode.h + Profiler.cpp + Profiler.h + ProfilerServer.h + ProfilerServer.mm + TreeProfile.cpp + TreeProfile.h +2 runtime/ +0 ArgList.cpp + ArgList.h + Arguments.cpp + Arguments.h + ArrayConstructor.cpp + ArrayConstructor.h + ArrayPrototype.cpp + ArrayPrototype.h + BatchedTransitionOptimizer.h + BooleanConstructor.cpp + BooleanConstructor.h + BooleanObject.cpp + BooleanObject.h + BooleanPrototype.cpp + BooleanPrototype.h + CallData.cpp + CallData.h + ClassInfo.h + Collector.cpp + Collector.h + CollectorHeapIterator.h + CommonIdentifiers.cpp + CommonIdentifiers.h + Completion.cpp + Completion.h + ConstructData.cpp + ConstructData.h + DateConstructor.cpp + DateConstructor.h + DateConversion.cpp + DateConversion.h + DateInstanceCache.h + DateInstance.cpp + DateInstance.h + DatePrototype.cpp + DatePrototype.h + ErrorConstructor.cpp + ErrorConstructor.h + Error.cpp + Error.h + ErrorInstance.cpp + ErrorInstance.h + ErrorPrototype.cpp + ErrorPrototype.h + ExceptionHelpers.cpp + ExceptionHelpers.h + Executable.cpp + Executable.h + FunctionConstructor.cpp + FunctionConstructor.h + FunctionPrototype.cpp + FunctionPrototype.h + GetterSetter.cpp + GetterSetter.h + GlobalEvalFunction.cpp + GlobalEvalFunction.h + Identifier.cpp + Identifier.h + InitializeThreading.cpp + InitializeThreading.h + InternalFunction.cpp + InternalFunction.h + JSActivation.cpp + JSActivation.h + JSAPIValueWrapper.cpp + JSAPIValueWrapper.h + JSArray.cpp + JSArray.h + JSByteArray.cpp + JSByteArray.h + JSCell.cpp + JSCell.h + JSFunction.cpp + JSFunction.h + JSGlobalData.cpp + JSGlobalData.h + JSGlobalObject.cpp + JSGlobalObjectFunctions.cpp + JSGlobalObjectFunctions.h + JSGlobalObject.h + JSImmediate.cpp + JSImmediate.h + JSLock.cpp + JSLock.h + JSNotAnObject.cpp + JSNotAnObject.h + JSNumberCell.cpp + JSNumberCell.h + JSObject.cpp + JSObject.h + JSONObject.cpp + JSONObject.h + JSPropertyNameIterator.cpp + JSPropertyNameIterator.h + JSStaticScopeObject.cpp + JSStaticScopeObject.h + JSString.cpp + JSString.h + JSType.h + JSTypeInfo.h + JSValue.cpp + JSValue.h + JSVariableObject.cpp + JSVariableObject.h + JSWrapperObject.cpp + JSWrapperObject.h + LiteralParser.cpp + LiteralParser.h + Lookup.cpp + Lookup.h + MarkStack.cpp + MarkStack.h + MarkStackPosix.cpp + MarkStackSymbian.cpp + MarkStackWin.cpp + MathObject.cpp + MathObject.h + NativeErrorConstructor.cpp + NativeErrorConstructor.h + NativeErrorPrototype.cpp + NativeErrorPrototype.h + NativeFunctionWrapper.h + NumberConstructor.cpp + NumberConstructor.h + NumberObject.cpp + NumberObject.h + NumberPrototype.cpp + NumberPrototype.h + NumericStrings.h + ObjectConstructor.cpp + ObjectConstructor.h + ObjectPrototype.cpp + ObjectPrototype.h + Operations.cpp + Operations.h + PropertyDescriptor.cpp + PropertyDescriptor.h + PropertyMapHashTable.h + PropertyNameArray.cpp + PropertyNameArray.h + PropertySlot.cpp + PropertySlot.h + Protect.h + PrototypeFunction.cpp + PrototypeFunction.h + PutPropertySlot.h + RegExpConstructor.cpp + RegExpConstructor.h + RegExp.cpp + RegExp.h + RegExpMatchesArray.h + RegExpObject.cpp + RegExpObject.h + RegExpPrototype.cpp + RegExpPrototype.h + ScopeChain.cpp + ScopeChain.h + ScopeChainMark.h + SmallStrings.cpp + SmallStrings.h + StringConstructor.cpp + StringConstructor.h + StringObject.cpp + StringObject.h + StringObjectThatMasqueradesAsUndefined.h + StringPrototype.cpp + StringPrototype.h + StructureChain.cpp + StructureChain.h + Structure.cpp + Structure.h + StructureTransitionTable.h + SymbolTable.h + TimeoutChecker.cpp + TimeoutChecker.h + Tracing.h + UString.cpp + UString.h +2 THANKS + wrec/ +0 CharacterClassConstructor.cpp + CharacterClassConstructor.h + CharacterClass.cpp + CharacterClass.h + Escapes.h + Quantifier.h + WREC.cpp + WRECFunctors.cpp + WRECFunctors.h + WRECGenerator.cpp + WRECGenerator.h + WREC.h + WRECParser.cpp + WRECParser.h +2 wscript + wtf/ +0 AlwaysInline.h + ASCIICType.h + Assertions.cpp + Assertions.h + AVLTree.h + ByteArray.cpp + ByteArray.h + CONTRIBUTORS.pthreads-win32 + CrossThreadRefCounted.h + CurrentTime.cpp + CurrentTime.h + DateMath.cpp + DateMath.h + Deque.h + DisallowCType.h + dtoa.cpp + dtoa.h + FastAllocBase.h + FastMalloc.cpp + FastMalloc.h + Forward.h + GetPtr.h + GOwnPtr.cpp + GOwnPtr.h + HashCountedSet.h + HashFunctions.h + HashIterators.h + HashMap.h + HashSet.h + HashTable.cpp + HashTable.h + HashTraits.h + ListHashSet.h + ListRefPtr.h + Locker.h + MainThread.cpp + MainThread.h + MallocZoneSupport.h + MathExtras.h + MessageQueue.h + Noncopyable.h + NotFound.h + OwnArrayPtr.h + OwnFastMallocPtr.h + OwnPtrCommon.h + OwnPtr.h + OwnPtrWin.cpp + PassOwnPtr.h + PassRefPtr.h + Platform.h + PossiblyNull.h + PtrAndFlags.h + qt/ +0 MainThreadQt.cpp + ThreadingQt.cpp +2 RandomNumber.cpp + RandomNumber.h + RandomNumberSeed.h + RefCounted.h + RefCountedLeakCounter.cpp + RefCountedLeakCounter.h + RefPtr.h + RefPtrHashMap.h + RetainPtr.h + SegmentedVector.h + StdLibExtras.h + StringExtras.h + TCPackedCache.h + TCPageMap.h + TCSpinLock.h + TCSystemAlloc.cpp + TCSystemAlloc.h + Threading.cpp + Threading.h + ThreadingNone.cpp + ThreadingPthreads.cpp + ThreadingWin.cpp + ThreadSpecific.h + ThreadSpecificWin.cpp + TypeTraits.cpp + TypeTraits.h + unicode/ +0 CollatorDefault.cpp + Collator.h + glib/ +0 UnicodeGLib.cpp + UnicodeGLib.h + UnicodeMacrosFromICU.h +2 icu/ +0 CollatorICU.cpp + UnicodeIcu.h +2 qt4/ +0 UnicodeQt4.h +2 Unicode.h + UTF8.cpp + UTF8.h + wince/ +0 UnicodeWince.cpp + UnicodeWince.h +3 UnusedParam.h + Vector.h + VectorTraits.h + VMTags.h + wince/ +0 FastMallocWince.h + MemoryManager.cpp + MemoryManager.h + mt19937ar.c +3 yarr/ +0 RegexCompiler.cpp + RegexCompiler.h + RegexInterpreter.cpp + RegexInterpreter.h + RegexJIT.cpp + RegexJIT.h + RegexParser.h + RegexPattern.h +3 VERSION + WebCore/ +0 accessibility/ +0 AccessibilityAllInOne.cpp + AccessibilityARIAGridCell.cpp + AccessibilityARIAGridCell.h + AccessibilityARIAGrid.cpp + AccessibilityARIAGrid.h + AccessibilityARIAGridRow.cpp + AccessibilityARIAGridRow.h + AccessibilityImageMapLink.cpp + AccessibilityImageMapLink.h + AccessibilityListBox.cpp + AccessibilityListBox.h + AccessibilityListBoxOption.cpp + AccessibilityListBoxOption.h + AccessibilityList.cpp + AccessibilityList.h + AccessibilityMediaControls.cpp + AccessibilityMediaControls.h + AccessibilityObject.cpp + AccessibilityObject.h + AccessibilityRenderObject.cpp + AccessibilityRenderObject.h + AccessibilitySlider.cpp + AccessibilitySlider.h + AccessibilityTableCell.cpp + AccessibilityTableCell.h + AccessibilityTableColumn.cpp + AccessibilityTableColumn.h + AccessibilityTable.cpp + AccessibilityTable.h + AccessibilityTableHeaderContainer.cpp + AccessibilityTableHeaderContainer.h + AccessibilityTableRow.cpp + AccessibilityTableRow.h + AXObjectCache.cpp + AXObjectCache.h + qt/ +0 AccessibilityObjectQt.cpp +3 bindings/ +0 js/ +0 CachedScriptSourceProvider.h + DOMObjectWithSVGContext.h + GCController.cpp + GCController.h + JSAbstractWorkerCustom.cpp + JSAttrCustom.cpp + JSAudioConstructor.cpp + JSAudioConstructor.h + JSBindingsAllInOne.cpp + JSCallbackData.cpp + JSCallbackData.h + JSCanvasArrayBufferConstructor.cpp + JSCanvasArrayBufferConstructor.h + JSCanvasArrayCustom.cpp + JSCanvasByteArrayConstructor.cpp + JSCanvasByteArrayConstructor.h + JSCanvasByteArrayCustom.cpp + JSCanvasFloatArrayConstructor.cpp + JSCanvasFloatArrayConstructor.h + JSCanvasFloatArrayCustom.cpp + JSCanvasIntArrayConstructor.cpp + JSCanvasIntArrayConstructor.h + JSCanvasIntArrayCustom.cpp + JSCanvasNumberArrayCustom.cpp + JSCanvasRenderingContext2DCustom.cpp + JSCanvasRenderingContext3DCustom.cpp + JSCanvasRenderingContextCustom.cpp + JSCanvasShortArrayConstructor.cpp + JSCanvasShortArrayConstructor.h + JSCanvasShortArrayCustom.cpp + JSCanvasUnsignedByteArrayConstructor.cpp + JSCanvasUnsignedByteArrayConstructor.h + JSCanvasUnsignedByteArrayCustom.cpp + JSCanvasUnsignedIntArrayConstructor.cpp + JSCanvasUnsignedIntArrayConstructor.h + JSCanvasUnsignedIntArrayCustom.cpp + JSCanvasUnsignedShortArrayConstructor.cpp + JSCanvasUnsignedShortArrayConstructor.h + JSCanvasUnsignedShortArrayCustom.cpp + JSCDATASectionCustom.cpp + JSClipboardCustom.cpp + JSConsoleCustom.cpp + JSCoordinatesCustom.cpp + JSCSSRuleCustom.cpp + JSCSSRuleListCustom.cpp + JSCSSStyleDeclarationCustom.cpp + JSCSSStyleDeclarationCustom.h + JSCSSValueCustom.cpp + JSCustomPositionCallback.cpp + JSCustomPositionCallback.h + JSCustomPositionErrorCallback.cpp + JSCustomPositionErrorCallback.h + JSCustomSQLStatementCallback.cpp + JSCustomSQLStatementCallback.h + JSCustomSQLStatementErrorCallback.cpp + JSCustomSQLStatementErrorCallback.h + JSCustomSQLTransactionCallback.cpp + JSCustomSQLTransactionCallback.h + JSCustomSQLTransactionErrorCallback.cpp + JSCustomSQLTransactionErrorCallback.h + JSCustomVoidCallback.cpp + JSCustomVoidCallback.h + JSCustomXPathNSResolver.cpp + JSCustomXPathNSResolver.h + JSDatabaseCustom.cpp + JSDataGridColumnListCustom.cpp + JSDataGridDataSource.cpp + JSDataGridDataSource.h + JSDedicatedWorkerContextCustom.cpp + JSDesktopNotificationsCustom.cpp + JSDocumentCustom.cpp + JSDocumentFragmentCustom.cpp + JSDOMApplicationCacheCustom.cpp + JSDOMBinding.cpp + JSDOMBinding.h + JSDOMGlobalObject.cpp + JSDOMGlobalObject.h + JSDOMWindowBase.cpp + JSDOMWindowBase.h + JSDOMWindowCustom.cpp + JSDOMWindowCustom.h + JSDOMWindowShell.cpp + JSDOMWindowShell.h + JSElementCustom.cpp + JSEventCustom.cpp + JSEventListener.cpp + JSEventListener.h + JSEventSourceConstructor.cpp + JSEventSourceConstructor.h + JSEventSourceCustom.cpp + JSEventTarget.cpp + JSEventTarget.h + JSExceptionBase.cpp + JSExceptionBase.h + JSGeolocationCustom.cpp + JSHistoryCustom.cpp + JSHistoryCustom.h + JSHTMLAllCollectionCustom.cpp + JSHTMLAppletElementCustom.cpp + JSHTMLAppletElementCustom.h + JSHTMLCanvasElementCustom.cpp + JSHTMLCollectionCustom.cpp + JSHTMLDataGridElementCustom.cpp + JSHTMLDocumentCustom.cpp + JSHTMLElementCustom.cpp + JSHTMLEmbedElementCustom.cpp + JSHTMLEmbedElementCustom.h + JSHTMLFormElementCustom.cpp + JSHTMLFrameElementCustom.cpp + JSHTMLFrameSetElementCustom.cpp + JSHTMLIFrameElementCustom.cpp + JSHTMLInputElementCustom.cpp + JSHTMLInputElementCustom.h + JSHTMLObjectElementCustom.cpp + JSHTMLObjectElementCustom.h + JSHTMLOptionsCollectionCustom.cpp + JSHTMLSelectElementCustom.cpp + JSHTMLSelectElementCustom.h + JSImageConstructor.cpp + JSImageConstructor.h + JSImageDataCustom.cpp + JSInspectedObjectWrapper.cpp + JSInspectedObjectWrapper.h + JSInspectorBackendCustom.cpp + JSInspectorCallbackWrapper.cpp + JSInspectorCallbackWrapper.h + JSJavaScriptCallFrameCustom.cpp + JSLazyEventListener.cpp + JSLazyEventListener.h + JSLocationCustom.cpp + JSLocationCustom.h + JSMessageChannelConstructor.cpp + JSMessageChannelConstructor.h + JSMessageChannelCustom.cpp + JSMessageEventCustom.cpp + JSMessagePortCustom.cpp + JSMessagePortCustom.h + JSMimeTypeArrayCustom.cpp + JSNamedNodeMapCustom.cpp + JSNavigatorCustom.cpp + JSNodeCustom.cpp + JSNodeFilterCondition.cpp + JSNodeFilterCondition.h + JSNodeFilterCustom.cpp + JSNodeIteratorCustom.cpp + JSNodeListCustom.cpp + JSOptionConstructor.cpp + JSOptionConstructor.h + JSPluginArrayCustom.cpp + JSPluginCustom.cpp + JSPluginElementFunctions.cpp + JSPluginElementFunctions.h + JSQuarantinedObjectWrapper.cpp + JSQuarantinedObjectWrapper.h + JSSharedWorkerConstructor.cpp + JSSharedWorkerConstructor.h + JSSharedWorkerCustom.cpp + JSSQLResultSetRowListCustom.cpp + JSSQLTransactionCustom.cpp + JSStorageCustom.cpp + JSStorageCustom.h + JSStyleSheetCustom.cpp + JSStyleSheetListCustom.cpp + JSSVGElementInstanceCustom.cpp + JSSVGLengthCustom.cpp + JSSVGMatrixCustom.cpp + JSSVGPathSegCustom.cpp + JSSVGPathSegListCustom.cpp + JSSVGPODTypeWrapper.h + JSSVGPointListCustom.cpp + JSSVGTransformListCustom.cpp + JSTextCustom.cpp + JSTreeWalkerCustom.cpp + JSWebKitCSSMatrixConstructor.cpp + JSWebKitCSSMatrixConstructor.h + JSWebKitPointConstructor.cpp + JSWebKitPointConstructor.h + JSWebSocketConstructor.cpp + JSWebSocketConstructor.h + JSWebSocketCustom.cpp + JSWorkerConstructor.cpp + JSWorkerConstructor.h + JSWorkerContextBase.cpp + JSWorkerContextBase.h + JSWorkerContextCustom.cpp + JSWorkerCustom.cpp + JSXMLHttpRequestConstructor.cpp + JSXMLHttpRequestConstructor.h + JSXMLHttpRequestCustom.cpp + JSXMLHttpRequestUploadCustom.cpp + JSXSLTProcessorConstructor.cpp + JSXSLTProcessorConstructor.h + JSXSLTProcessorCustom.cpp + ScheduledAction.cpp + ScheduledAction.h + ScriptArray.cpp + ScriptArray.h + ScriptCachedFrameData.cpp + ScriptCachedFrameData.h + ScriptCallFrame.cpp + ScriptCallFrame.h + ScriptCallStack.cpp + ScriptCallStack.h + ScriptController.cpp + ScriptControllerGtk.cpp + ScriptController.h + ScriptControllerHaiku.cpp + ScriptControllerMac.mm + ScriptControllerQt.cpp + ScriptControllerWin.cpp + ScriptControllerWx.cpp + ScriptEventListener.cpp + ScriptEventListener.h + ScriptFunctionCall.cpp + ScriptFunctionCall.h + ScriptInstance.h + ScriptObject.cpp + ScriptObject.h + ScriptObjectQuarantine.cpp + ScriptObjectQuarantine.h + ScriptSourceCode.h + ScriptSourceProvider.h + ScriptState.cpp + ScriptState.h + ScriptString.h + ScriptValue.cpp + ScriptValue.h + SerializedScriptValue.cpp + SerializedScriptValue.h + StringSourceProvider.h + WorkerScriptController.cpp + WorkerScriptController.h +2 ScriptControllerBase.cpp + scripts/ +0 CodeGeneratorCOM.pm + CodeGeneratorJS.pm + CodeGeneratorObjC.pm + CodeGenerator.pm + CodeGeneratorV8.pm + generate-bindings.pl + IDLParser.pm + IDLStructure.pm + InFilesParser.pm +3 bridge/ +0 c/ +0 c_class.cpp + c_class.h + c_instance.cpp + c_instance.h + c_runtime.cpp + c_runtime.h + c_utility.cpp + c_utility.h +2 IdentifierRep.cpp + IdentifierRep.h + jni/ +0 jni_class.cpp + jni_class.h + jni_instance.cpp + jni_instance.h + jni_jsobject.h + jni_jsobject.mm + jni_objc.mm + jni_runtime.cpp + jni_runtime.h + jni_utility.cpp + jni_utility.h +2 make_testbindings + npapi.h + NP_jsobject.cpp + NP_jsobject.h + npruntime.cpp + npruntime.h + npruntime_impl.h + npruntime_internal.h + npruntime_priv.h + qt/ +0 qt_class.cpp + qt_class.h + qt_instance.cpp + qt_instance.h + qt_runtime.cpp + qt_runtime.h +2 runtime_array.cpp + runtime_array.h + runtime.cpp + runtime.h + runtime_method.cpp + runtime_method.h + runtime_object.cpp + runtime_object.h + runtime_root.cpp + runtime_root.h + testbindings.cpp + testbindings.mm + testC.js + test.js + testM.js + testqtbindings.cpp +2 ChangeLog +0 -2002-12-03 + -2003-10-25 + -2005-08-23 + -2005-12-19 + -2006-05-10 + -2006-12-31 + -2007-10-14 + -2008-08-10 + -2009-06-16 +2 combine-javascript-resources + config.h + css/ +0 Counter.h + Counter.idl + CSSBorderImageValue.cpp + CSSBorderImageValue.h + CSSCanvasValue.cpp + CSSCanvasValue.h + CSSCharsetRule.cpp + CSSCharsetRule.h + CSSCharsetRule.idl + CSSComputedStyleDeclaration.cpp + CSSComputedStyleDeclaration.h + CSSCursorImageValue.cpp + CSSCursorImageValue.h + CSSFontFace.cpp + CSSFontFace.h + CSSFontFaceRule.cpp + CSSFontFaceRule.h + CSSFontFaceRule.idl + CSSFontFaceSource.cpp + CSSFontFaceSource.h + CSSFontFaceSrcValue.cpp + CSSFontFaceSrcValue.h + CSSFontSelector.cpp + CSSFontSelector.h + CSSFunctionValue.cpp + CSSFunctionValue.h + CSSGradientValue.cpp + CSSGradientValue.h + CSSGrammar.y + CSSHelper.cpp + CSSHelper.h + CSSImageGeneratorValue.cpp + CSSImageGeneratorValue.h + CSSImageValue.cpp + CSSImageValue.h + CSSImportRule.cpp + CSSImportRule.h + CSSImportRule.idl + CSSInheritedValue.cpp + CSSInheritedValue.h + CSSInitialValue.cpp + CSSInitialValue.h + CSSMediaRule.cpp + CSSMediaRule.h + CSSMediaRule.idl + CSSMutableStyleDeclaration.cpp + CSSMutableStyleDeclaration.h + CSSNamespace.h + CSSPageRule.cpp + CSSPageRule.h + CSSPageRule.idl + CSSParser.cpp + CSSParser.h + CSSParserValues.cpp + CSSParserValues.h + CSSPrimitiveValue.cpp + CSSPrimitiveValue.h + CSSPrimitiveValue.idl + CSSPrimitiveValueMappings.h + CSSProperty.cpp + CSSProperty.h + CSSPropertyLonghand.cpp + CSSPropertyLonghand.h + CSSPropertyNames.in + CSSQuirkPrimitiveValue.h + CSSReflectionDirection.h + CSSReflectValue.cpp + CSSReflectValue.h + CSSRule.cpp + CSSRule.h + CSSRule.idl + CSSRuleList.cpp + CSSRuleList.h + CSSRuleList.idl + CSSSegmentedFontFace.cpp + CSSSegmentedFontFace.h + CSSSelector.cpp + CSSSelector.h + CSSSelectorList.cpp + CSSSelectorList.h + CSSStyleDeclaration.cpp + CSSStyleDeclaration.h + CSSStyleDeclaration.idl + CSSStyleRule.cpp + CSSStyleRule.h + CSSStyleRule.idl + CSSStyleSelector.cpp + CSSStyleSelector.h + CSSStyleSheet.cpp + CSSStyleSheet.h + CSSStyleSheet.idl + CSSTimingFunctionValue.cpp + CSSTimingFunctionValue.h + CSSUnicodeRangeValue.cpp + CSSUnicodeRangeValue.h + CSSUnknownRule.h + CSSUnknownRule.idl + CSSValue.h + CSSValue.idl + CSSValueKeywords.in + CSSValueList.cpp + CSSValueList.h + CSSValueList.idl + CSSVariableDependentValue.cpp + CSSVariableDependentValue.h + CSSVariablesDeclaration.cpp + CSSVariablesDeclaration.h + CSSVariablesDeclaration.idl + CSSVariablesRule.cpp + CSSVariablesRule.h + CSSVariablesRule.idl + DashboardRegion.h + DashboardSupportCSSPropertyNames.in + FontFamilyValue.cpp + FontFamilyValue.h + FontValue.cpp + FontValue.h + html.css + make-css-file-arrays.pl + makegrammar.pl + makeprop.pl + maketokenizer + makevalues.pl + mathml.css + mediaControlsChromium.css + mediaControls.css + mediaControlsQt.css + mediaControlsQuickTime.css + Media.cpp + MediaFeatureNames.cpp + MediaFeatureNames.h + Media.h + Media.idl + MediaList.cpp + MediaList.h + MediaList.idl + MediaQuery.cpp + MediaQueryEvaluator.cpp + MediaQueryEvaluator.h + MediaQueryExp.cpp + MediaQueryExp.h + MediaQuery.h + Pair.h + quirks.css + Rect.h + Rect.idl + RGBColor.cpp + RGBColor.h + RGBColor.idl + ShadowValue.cpp + ShadowValue.h + StyleBase.cpp + StyleBase.h + StyleList.cpp + StyleList.h + StyleSheet.cpp + StyleSheet.h + StyleSheet.idl + StyleSheetList.cpp + StyleSheetList.h + StyleSheetList.idl + svg.css + SVGCSSComputedStyleDeclaration.cpp + SVGCSSParser.cpp + SVGCSSPropertyNames.in + SVGCSSStyleSelector.cpp + SVGCSSValueKeywords.in + themeChromiumLinux.css + themeWin.css + themeWinQuirks.css + tokenizer.flex + view-source.css + WCSSPropertyNames.in + WCSSValueKeywords.in + WebKitCSSKeyframeRule.cpp + WebKitCSSKeyframeRule.h + WebKitCSSKeyframeRule.idl + WebKitCSSKeyframesRule.cpp + WebKitCSSKeyframesRule.h + WebKitCSSKeyframesRule.idl + WebKitCSSMatrix.cpp + WebKitCSSMatrix.h + WebKitCSSMatrix.idl + WebKitCSSTransformValue.cpp + WebKitCSSTransformValue.h + WebKitCSSTransformValue.idl + wml.css +2 DerivedSources.cpp + dom/ +0 ActiveDOMObject.cpp + ActiveDOMObject.h + Attr.cpp + Attr.h + Attribute.cpp + Attribute.h + Attr.idl + BeforeLoadEvent.h + BeforeLoadEvent.idl + BeforeTextInsertedEvent.cpp + BeforeTextInsertedEvent.h + BeforeUnloadEvent.cpp + BeforeUnloadEvent.h + CDATASection.cpp + CDATASection.h + CDATASection.idl + CharacterData.cpp + CharacterData.h + CharacterData.idl + CheckedRadioButtons.cpp + CheckedRadioButtons.h + ChildNodeList.cpp + ChildNodeList.h + ClassNames.cpp + ClassNames.h + ClassNodeList.cpp + ClassNodeList.h + ClientRect.cpp + ClientRect.h + ClientRect.idl + ClientRectList.cpp + ClientRectList.h + ClientRectList.idl + ClipboardAccessPolicy.h + Clipboard.cpp + ClipboardEvent.cpp + ClipboardEvent.h + Clipboard.h + Clipboard.idl + Comment.cpp + Comment.h + Comment.idl + ContainerNodeAlgorithms.h + ContainerNode.cpp + ContainerNode.h + CSSMappedAttributeDeclaration.cpp + CSSMappedAttributeDeclaration.h + default/ +0 PlatformMessagePortChannel.cpp + PlatformMessagePortChannel.h +2 Document.cpp + DocumentFragment.cpp + DocumentFragment.h + DocumentFragment.idl + Document.h + Document.idl + DocumentMarker.h + DocumentType.cpp + DocumentType.h + DocumentType.idl + DOMCoreException.h + DOMCoreException.idl + DOMImplementation.cpp + DOMImplementation.h + DOMImplementation.idl + DynamicNodeList.cpp + DynamicNodeList.h + EditingText.cpp + EditingText.h + Element.cpp + Element.h + Element.idl + ElementRareData.h + Entity.cpp + Entity.h + Entity.idl + EntityReference.cpp + EntityReference.h + EntityReference.idl + ErrorEvent.cpp + ErrorEvent.h + ErrorEvent.idl + Event.cpp + EventException.h + EventException.idl + Event.h + Event.idl + EventListener.h + EventListener.idl + EventNames.cpp + EventNames.h + EventTarget.cpp + EventTarget.h + EventTarget.idl + ExceptionBase.cpp + ExceptionBase.h + ExceptionCode.cpp + ExceptionCode.h + InputElement.cpp + InputElement.h + KeyboardEvent.cpp + KeyboardEvent.h + KeyboardEvent.idl + make_names.pl + MappedAttribute.cpp + MappedAttributeEntry.h + MappedAttribute.h + MessageChannel.cpp + MessageChannel.h + MessageChannel.idl + MessageEvent.cpp + MessageEvent.h + MessageEvent.idl + MessagePortChannel.cpp + MessagePortChannel.h + MessagePort.cpp + MessagePort.h + MessagePort.idl + MouseEvent.cpp + MouseEvent.h + MouseEvent.idl + MouseRelatedEvent.cpp + MouseRelatedEvent.h + MutationEvent.cpp + MutationEvent.h + MutationEvent.idl + NamedAttrMap.cpp + NamedAttrMap.h + NamedMappedAttrMap.cpp + NamedMappedAttrMap.h + NamedNodeMap.h + NamedNodeMap.idl + NameNodeList.cpp + NameNodeList.h + Node.cpp + NodeFilterCondition.cpp + NodeFilterCondition.h + NodeFilter.cpp + NodeFilter.h + NodeFilter.idl + Node.h + Node.idl + NodeIterator.cpp + NodeIterator.h + NodeIterator.idl + NodeList.h + NodeList.idl + NodeRareData.h + NodeRenderStyle.h + NodeWithIndex.h + Notation.cpp + Notation.h + Notation.idl + OptionElement.cpp + OptionElement.h + OptionGroupElement.cpp + OptionGroupElement.h + OverflowEvent.cpp + OverflowEvent.h + OverflowEvent.idl + PageTransitionEvent.cpp + PageTransitionEvent.h + PageTransitionEvent.idl + Position.cpp + PositionCreationFunctions.h + Position.h + PositionIterator.cpp + PositionIterator.h + ProcessingInstruction.cpp + ProcessingInstruction.h + ProcessingInstruction.idl + ProgressEvent.cpp + ProgressEvent.h + ProgressEvent.idl + QualifiedName.cpp + QualifiedName.h + RangeBoundaryPoint.h + Range.cpp + RangeException.h + RangeException.idl + Range.h + Range.idl + RegisteredEventListener.cpp + RegisteredEventListener.h + ScriptElement.cpp + ScriptElement.h + ScriptExecutionContext.cpp + ScriptExecutionContext.h + SelectElement.cpp + SelectElement.h + SelectorNodeList.cpp + SelectorNodeList.h + StaticNodeList.cpp + StaticNodeList.h + StyledElement.cpp + StyledElement.h + StyleElement.cpp + StyleElement.h + TagNodeList.cpp + TagNodeList.h + Text.cpp + TextEvent.cpp + TextEvent.h + TextEvent.idl + Text.h + Text.idl + Tokenizer.h + TransformSource.h + TransformSourceLibxslt.cpp + TransformSourceQt.cpp + Traversal.cpp + Traversal.h + TreeWalker.cpp + TreeWalker.h + TreeWalker.idl + UIEvent.cpp + UIEvent.h + UIEvent.idl + UIEventWithKeyState.cpp + UIEventWithKeyState.h + WebKitAnimationEvent.cpp + WebKitAnimationEvent.h + WebKitAnimationEvent.idl + WebKitTransitionEvent.cpp + WebKitTransitionEvent.h + WebKitTransitionEvent.idl + WheelEvent.cpp + WheelEvent.h + WheelEvent.idl + XMLTokenizer.cpp + XMLTokenizer.h + XMLTokenizerLibxml2.cpp + XMLTokenizerQt.cpp + XMLTokenizerScope.cpp + XMLTokenizerScope.h +2 editing/ +0 android/ +0 EditorAndroid.cpp +2 AppendNodeCommand.cpp + AppendNodeCommand.h + ApplyStyleCommand.cpp + ApplyStyleCommand.h + BreakBlockquoteCommand.cpp + BreakBlockquoteCommand.h + chromium/ +0 EditorChromium.cpp +2 CompositeEditCommand.cpp + CompositeEditCommand.h + CreateLinkCommand.cpp + CreateLinkCommand.h + DeleteButtonController.cpp + DeleteButtonController.h + DeleteButton.cpp + DeleteButton.h + DeleteFromTextNodeCommand.cpp + DeleteFromTextNodeCommand.h + DeleteSelectionCommand.cpp + DeleteSelectionCommand.h + EditAction.h + EditCommand.cpp + EditCommand.h + EditorCommand.cpp + Editor.cpp + EditorDeleteAction.h + Editor.h + EditorInsertAction.h + FormatBlockCommand.cpp + FormatBlockCommand.h + gtk/ +0 SelectionControllerGtk.cpp +2 htmlediting.cpp + htmlediting.h + HTMLInterchange.cpp + HTMLInterchange.h + IndentOutdentCommand.cpp + IndentOutdentCommand.h + InsertIntoTextNodeCommand.cpp + InsertIntoTextNodeCommand.h + InsertLineBreakCommand.cpp + InsertLineBreakCommand.h + InsertListCommand.cpp + InsertListCommand.h + InsertNodeBeforeCommand.cpp + InsertNodeBeforeCommand.h + InsertParagraphSeparatorCommand.cpp + InsertParagraphSeparatorCommand.h + InsertTextCommand.cpp + InsertTextCommand.h + JoinTextNodesCommand.cpp + JoinTextNodesCommand.h + markup.cpp + markup.h + MergeIdenticalElementsCommand.cpp + MergeIdenticalElementsCommand.h + ModifySelectionListLevel.cpp + ModifySelectionListLevel.h + MoveSelectionCommand.cpp + MoveSelectionCommand.h + qt/ +0 EditorQt.cpp +2 RemoveCSSPropertyCommand.cpp + RemoveCSSPropertyCommand.h + RemoveFormatCommand.cpp + RemoveFormatCommand.h + RemoveNodeCommand.cpp + RemoveNodeCommand.h + RemoveNodePreservingChildrenCommand.cpp + RemoveNodePreservingChildrenCommand.h + ReplaceNodeWithSpanCommand.cpp + ReplaceNodeWithSpanCommand.h + ReplaceSelectionCommand.cpp + ReplaceSelectionCommand.h + SelectionController.cpp + SelectionController.h + SetNodeAttributeCommand.cpp + SetNodeAttributeCommand.h + SmartReplaceCF.cpp + SmartReplace.cpp + SmartReplace.h + SmartReplaceICU.cpp + SplitElementCommand.cpp + SplitElementCommand.h + SplitTextNodeCommand.cpp + SplitTextNodeCommand.h + SplitTextNodeContainingElementCommand.cpp + SplitTextNodeContainingElementCommand.h + TextAffinity.h + TextGranularity.h + TextIterator.cpp + TextIterator.h + TypingCommand.cpp + TypingCommand.h + UnlinkCommand.cpp + UnlinkCommand.h + VisiblePosition.cpp + VisiblePosition.h + VisibleSelection.cpp + VisibleSelection.h + visible_units.cpp + visible_units.h + WrapContentsInDummySpanCommand.cpp + WrapContentsInDummySpanCommand.h +2 ForwardingHeaders/ +0 debugger/ +0 DebuggerActivation.h + DebuggerCallFrame.h + Debugger.h +2 interpreter/ +0 CallFrame.h + Interpreter.h +2 jit/ +0 JITCode.h +2 masm/ +0 X86Assembler.h +2 parser/ +0 SourceCode.h + SourceProvider.h +2 pcre/ +0 pcre.h +2 profiler/ +0 Profile.h + ProfileNode.h + Profiler.h +2 runtime/ +0 ArgList.h + ArrayPrototype.h + BooleanObject.h + CallData.h + Collector.h + Completion.h + ConstructData.h + DateInstance.h + Error.h + ExceptionHelpers.h + FunctionConstructor.h + FunctionPrototype.h + Identifier.h + InitializeThreading.h + InternalFunction.h + JSAPIValueWrapper.h + JSArray.h + JSByteArray.h + JSCell.h + JSFunction.h + JSGlobalData.h + JSGlobalObject.h + JSLock.h + JSNumberCell.h + JSObject.h + JSString.h + JSValue.h + Lookup.h + ObjectPrototype.h + Operations.h + PropertyMap.h + PropertyNameArray.h + Protect.h + PrototypeFunction.h + StringObject.h + StringObjectThatMasqueradesAsUndefined.h + StringPrototype.h + StructureChain.h + Structure.h + SymbolTable.h + UString.h +2 wrec/ +0 WREC.h +2 wtf/ +0 AlwaysInline.h + ASCIICType.h + Assertions.h + ByteArray.h + CrossThreadRefCounted.h + CurrentTime.h + DateInstanceCache.h + DateMath.h + Deque.h + DisallowCType.h + dtoa.h + FastAllocBase.h + FastMalloc.h + Forward.h + GetPtr.h + HashCountedSet.h + HashFunctions.h + HashMap.h + HashSet.h + HashTable.h + HashTraits.h + ListHashSet.h + ListRefPtr.h + Locker.h + MainThread.h + MathExtras.h + MessageQueue.h + Noncopyable.h + NotFound.h + OwnArrayPtr.h + OwnFastMallocPtr.h + OwnPtrCommon.h + OwnPtr.h + PassOwnPtr.h + PassRefPtr.h + Platform.h + PossiblyNull.h + PtrAndFlags.h + RandomNumber.h + RefCounted.h + RefCountedLeakCounter.h + RefPtr.h + RetainPtr.h + StdLibExtras.h + StringExtras.h + Threading.h + ThreadSpecific.h + TypeTraits.h + unicode/ +0 Collator.h + icu/ +0 UnicodeIcu.h +2 Unicode.h + UTF8.h +2 UnusedParam.h + Vector.h + VectorTraits.h + VMTags.h +3 generated/ +0 ArrayPrototype.lut.h + chartables.c + ColorData.c + CSSGrammar.cpp + CSSGrammar.h + CSSPropertyNames.cpp + CSSPropertyNames.h + CSSValueKeywords.c + CSSValueKeywords.h + DatePrototype.lut.h + DocTypeStrings.cpp + Grammar.cpp + Grammar.h + HTMLElementFactory.cpp + HTMLElementFactory.h + HTMLEntityNames.c + HTMLNames.cpp + HTMLNames.h + JSAbstractWorker.cpp + JSAbstractWorker.h + JSAttr.cpp + JSAttr.h + JSBarInfo.cpp + JSBarInfo.h + JSBeforeLoadEvent.cpp + JSBeforeLoadEvent.h + JSCanvasArrayBuffer.cpp + JSCanvasArrayBuffer.h + JSCanvasArray.cpp + JSCanvasArray.h + JSCanvasByteArray.cpp + JSCanvasByteArray.h + JSCanvasFloatArray.cpp + JSCanvasFloatArray.h + JSCanvasGradient.cpp + JSCanvasGradient.h + JSCanvasIntArray.cpp + JSCanvasIntArray.h + JSCanvasPattern.cpp + JSCanvasPattern.h + JSCanvasRenderingContext2D.cpp + JSCanvasRenderingContext2D.h + JSCanvasRenderingContext3D.cpp + JSCanvasRenderingContext3D.h + JSCanvasRenderingContext.cpp + JSCanvasRenderingContext.h + JSCanvasShortArray.cpp + JSCanvasShortArray.h + JSCanvasUnsignedByteArray.cpp + JSCanvasUnsignedByteArray.h + JSCanvasUnsignedIntArray.cpp + JSCanvasUnsignedIntArray.h + JSCanvasUnsignedShortArray.cpp + JSCanvasUnsignedShortArray.h + JSCDATASection.cpp + JSCDATASection.h + JSCharacterData.cpp + JSCharacterData.h + JSClientRect.cpp + JSClientRect.h + JSClientRectList.cpp + JSClientRectList.h + JSClipboard.cpp + JSClipboard.h + JSComment.cpp + JSComment.h + JSConsole.cpp + JSConsole.h + JSCoordinates.cpp + JSCoordinates.h + JSCounter.cpp + JSCounter.h + JSCSSCharsetRule.cpp + JSCSSCharsetRule.h + JSCSSFontFaceRule.cpp + JSCSSFontFaceRule.h + JSCSSImportRule.cpp + JSCSSImportRule.h + JSCSSMediaRule.cpp + JSCSSMediaRule.h + JSCSSPageRule.cpp + JSCSSPageRule.h + JSCSSPrimitiveValue.cpp + JSCSSPrimitiveValue.h + JSCSSRule.cpp + JSCSSRule.h + JSCSSRuleList.cpp + JSCSSRuleList.h + JSCSSStyleDeclaration.cpp + JSCSSStyleDeclaration.h + JSCSSStyleRule.cpp + JSCSSStyleRule.h + JSCSSStyleSheet.cpp + JSCSSStyleSheet.h + JSCSSValue.cpp + JSCSSValue.h + JSCSSValueList.cpp + JSCSSValueList.h + JSCSSVariablesDeclaration.cpp + JSCSSVariablesDeclaration.h + JSCSSVariablesRule.cpp + JSCSSVariablesRule.h + JSDatabase.cpp + JSDatabase.h + JSDataGridColumn.cpp + JSDataGridColumn.h + JSDataGridColumnList.cpp + JSDataGridColumnList.h + JSDedicatedWorkerContext.cpp + JSDedicatedWorkerContext.h + JSDocument.cpp + JSDocumentFragment.cpp + JSDocumentFragment.h + JSDocument.h + JSDocumentType.cpp + JSDocumentType.h + JSDOMApplicationCache.cpp + JSDOMApplicationCache.h + JSDOMCoreException.cpp + JSDOMCoreException.h + JSDOMImplementation.cpp + JSDOMImplementation.h + JSDOMParser.cpp + JSDOMParser.h + JSDOMSelection.cpp + JSDOMSelection.h + JSDOMWindowBase.lut.h + JSDOMWindow.cpp + JSDOMWindow.h + JSElement.cpp + JSElement.h + JSEntity.cpp + JSEntity.h + JSEntityReference.cpp + JSEntityReference.h + JSErrorEvent.cpp + JSErrorEvent.h + JSEvent.cpp + JSEventException.cpp + JSEventException.h + JSEvent.h + JSEventSource.cpp + JSEventSource.h + JSFile.cpp + JSFile.h + JSFileList.cpp + JSFileList.h + JSGeolocation.cpp + JSGeolocation.h + JSGeoposition.cpp + JSGeoposition.h + JSHistory.cpp + JSHistory.h + JSHTMLAllCollection.cpp + JSHTMLAllCollection.h + JSHTMLAnchorElement.cpp + JSHTMLAnchorElement.h + JSHTMLAppletElement.cpp + JSHTMLAppletElement.h + JSHTMLAreaElement.cpp + JSHTMLAreaElement.h + JSHTMLAudioElement.cpp + JSHTMLAudioElement.h + JSHTMLBaseElement.cpp + JSHTMLBaseElement.h + JSHTMLBaseFontElement.cpp + JSHTMLBaseFontElement.h + JSHTMLBlockquoteElement.cpp + JSHTMLBlockquoteElement.h + JSHTMLBodyElement.cpp + JSHTMLBodyElement.h + JSHTMLBRElement.cpp + JSHTMLBRElement.h + JSHTMLButtonElement.cpp + JSHTMLButtonElement.h + JSHTMLCanvasElement.cpp + JSHTMLCanvasElement.h + JSHTMLCollection.cpp + JSHTMLCollection.h + JSHTMLDataGridCellElement.cpp + JSHTMLDataGridCellElement.h + JSHTMLDataGridColElement.cpp + JSHTMLDataGridColElement.h + JSHTMLDataGridElement.cpp + JSHTMLDataGridElement.h + JSHTMLDataGridRowElement.cpp + JSHTMLDataGridRowElement.h + JSHTMLDataListElement.cpp + JSHTMLDataListElement.h + JSHTMLDirectoryElement.cpp + JSHTMLDirectoryElement.h + JSHTMLDivElement.cpp + JSHTMLDivElement.h + JSHTMLDListElement.cpp + JSHTMLDListElement.h + JSHTMLDocument.cpp + JSHTMLDocument.h + JSHTMLElement.cpp + JSHTMLElement.h + JSHTMLElementWrapperFactory.cpp + JSHTMLElementWrapperFactory.h + JSHTMLEmbedElement.cpp + JSHTMLEmbedElement.h + JSHTMLFieldSetElement.cpp + JSHTMLFieldSetElement.h + JSHTMLFontElement.cpp + JSHTMLFontElement.h + JSHTMLFormElement.cpp + JSHTMLFormElement.h + JSHTMLFrameElement.cpp + JSHTMLFrameElement.h + JSHTMLFrameSetElement.cpp + JSHTMLFrameSetElement.h + JSHTMLHeadElement.cpp + JSHTMLHeadElement.h + JSHTMLHeadingElement.cpp + JSHTMLHeadingElement.h + JSHTMLHRElement.cpp + JSHTMLHRElement.h + JSHTMLHtmlElement.cpp + JSHTMLHtmlElement.h + JSHTMLIFrameElement.cpp + JSHTMLIFrameElement.h + JSHTMLImageElement.cpp + JSHTMLImageElement.h + JSHTMLInputElement.cpp + JSHTMLInputElement.h + JSHTMLIsIndexElement.cpp + JSHTMLIsIndexElement.h + JSHTMLLabelElement.cpp + JSHTMLLabelElement.h + JSHTMLLegendElement.cpp + JSHTMLLegendElement.h + JSHTMLLIElement.cpp + JSHTMLLIElement.h + JSHTMLLinkElement.cpp + JSHTMLLinkElement.h + JSHTMLMapElement.cpp + JSHTMLMapElement.h + JSHTMLMarqueeElement.cpp + JSHTMLMarqueeElement.h + JSHTMLMediaElement.cpp + JSHTMLMediaElement.h + JSHTMLMenuElement.cpp + JSHTMLMenuElement.h + JSHTMLMetaElement.cpp + JSHTMLMetaElement.h + JSHTMLModElement.cpp + JSHTMLModElement.h + JSHTMLObjectElement.cpp + JSHTMLObjectElement.h + JSHTMLOListElement.cpp + JSHTMLOListElement.h + JSHTMLOptGroupElement.cpp + JSHTMLOptGroupElement.h + JSHTMLOptionElement.cpp + JSHTMLOptionElement.h + JSHTMLOptionsCollection.cpp + JSHTMLOptionsCollection.h + JSHTMLParagraphElement.cpp + JSHTMLParagraphElement.h + JSHTMLParamElement.cpp + JSHTMLParamElement.h + JSHTMLPreElement.cpp + JSHTMLPreElement.h + JSHTMLQuoteElement.cpp + JSHTMLQuoteElement.h + JSHTMLScriptElement.cpp + JSHTMLScriptElement.h + JSHTMLSelectElement.cpp + JSHTMLSelectElement.h + JSHTMLSourceElement.cpp + JSHTMLSourceElement.h + JSHTMLStyleElement.cpp + JSHTMLStyleElement.h + JSHTMLTableCaptionElement.cpp + JSHTMLTableCaptionElement.h + JSHTMLTableCellElement.cpp + JSHTMLTableCellElement.h + JSHTMLTableColElement.cpp + JSHTMLTableColElement.h + JSHTMLTableElement.cpp + JSHTMLTableElement.h + JSHTMLTableRowElement.cpp + JSHTMLTableRowElement.h + JSHTMLTableSectionElement.cpp + JSHTMLTableSectionElement.h + JSHTMLTextAreaElement.cpp + JSHTMLTextAreaElement.h + JSHTMLTitleElement.cpp + JSHTMLTitleElement.h + JSHTMLUListElement.cpp + JSHTMLUListElement.h + JSHTMLVideoElement.cpp + JSHTMLVideoElement.h + JSImageData.cpp + JSImageData.h + JSInspectorBackend.cpp + JSInspectorBackend.h + JSJavaScriptCallFrame.cpp + JSJavaScriptCallFrame.h + JSKeyboardEvent.cpp + JSKeyboardEvent.h + JSLocation.cpp + JSLocation.h + JSMedia.cpp + JSMediaError.cpp + JSMediaError.h + JSMedia.h + JSMediaList.cpp + JSMediaList.h + JSMessageChannel.cpp + JSMessageChannel.h + JSMessageEvent.cpp + JSMessageEvent.h + JSMessagePort.cpp + JSMessagePort.h + JSMimeTypeArray.cpp + JSMimeTypeArray.h + JSMimeType.cpp + JSMimeType.h + JSMouseEvent.cpp + JSMouseEvent.h + JSMutationEvent.cpp + JSMutationEvent.h + JSNamedNodeMap.cpp + JSNamedNodeMap.h + JSNavigator.cpp + JSNavigator.h + JSNode.cpp + JSNodeFilter.cpp + JSNodeFilter.h + JSNode.h + JSNodeIterator.cpp + JSNodeIterator.h + JSNodeList.cpp + JSNodeList.h + JSNotation.cpp + JSNotation.h + JSONObject.lut.h + JSOverflowEvent.cpp + JSOverflowEvent.h + JSPageTransitionEvent.cpp + JSPageTransitionEvent.h + JSPluginArray.cpp + JSPluginArray.h + JSPlugin.cpp + JSPlugin.h + JSPositionError.cpp + JSPositionError.h + JSProcessingInstruction.cpp + JSProcessingInstruction.h + JSProgressEvent.cpp + JSProgressEvent.h + JSRange.cpp + JSRangeException.cpp + JSRangeException.h + JSRange.h + JSRect.cpp + JSRect.h + JSRGBColor.cpp + JSRGBColor.h + JSScreen.cpp + JSScreen.h + JSSharedWorkerContext.cpp + JSSharedWorkerContext.h + JSSharedWorker.cpp + JSSharedWorker.h + JSSQLError.cpp + JSSQLError.h + JSSQLResultSet.cpp + JSSQLResultSet.h + JSSQLResultSetRowList.cpp + JSSQLResultSetRowList.h + JSSQLTransaction.cpp + JSSQLTransaction.h + JSStorage.cpp + JSStorageEvent.cpp + JSStorageEvent.h + JSStorage.h + JSStyleSheet.cpp + JSStyleSheet.h + JSStyleSheetList.cpp + JSStyleSheetList.h + JSSVGAElement.cpp + JSSVGAElement.h + JSSVGAltGlyphElement.cpp + JSSVGAltGlyphElement.h + JSSVGAngle.cpp + JSSVGAngle.h + JSSVGAnimateColorElement.cpp + JSSVGAnimateColorElement.h + JSSVGAnimatedAngle.cpp + JSSVGAnimatedAngle.h + JSSVGAnimatedBoolean.cpp + JSSVGAnimatedBoolean.h + JSSVGAnimatedEnumeration.cpp + JSSVGAnimatedEnumeration.h + JSSVGAnimatedInteger.cpp + JSSVGAnimatedInteger.h + JSSVGAnimatedLength.cpp + JSSVGAnimatedLength.h + JSSVGAnimatedLengthList.cpp + JSSVGAnimatedLengthList.h + JSSVGAnimatedNumber.cpp + JSSVGAnimatedNumber.h + JSSVGAnimatedNumberList.cpp + JSSVGAnimatedNumberList.h + JSSVGAnimatedPreserveAspectRatio.cpp + JSSVGAnimatedPreserveAspectRatio.h + JSSVGAnimatedRect.cpp + JSSVGAnimatedRect.h + JSSVGAnimatedString.cpp + JSSVGAnimatedString.h + JSSVGAnimatedTransformList.cpp + JSSVGAnimatedTransformList.h + JSSVGAnimateElement.cpp + JSSVGAnimateElement.h + JSSVGAnimateTransformElement.cpp + JSSVGAnimateTransformElement.h + JSSVGAnimationElement.cpp + JSSVGAnimationElement.h + JSSVGCircleElement.cpp + JSSVGCircleElement.h + JSSVGClipPathElement.cpp + JSSVGClipPathElement.h + JSSVGColor.cpp + JSSVGColor.h + JSSVGComponentTransferFunctionElement.cpp + JSSVGComponentTransferFunctionElement.h + JSSVGCursorElement.cpp + JSSVGCursorElement.h + JSSVGDefsElement.cpp + JSSVGDefsElement.h + JSSVGDescElement.cpp + JSSVGDescElement.h + JSSVGDocument.cpp + JSSVGDocument.h + JSSVGElement.cpp + JSSVGElement.h + JSSVGElementInstance.cpp + JSSVGElementInstance.h + JSSVGElementInstanceList.cpp + JSSVGElementInstanceList.h + JSSVGElementWrapperFactory.cpp + JSSVGElementWrapperFactory.h + JSSVGEllipseElement.cpp + JSSVGEllipseElement.h + JSSVGException.cpp + JSSVGException.h + JSSVGFEBlendElement.cpp + JSSVGFEBlendElement.h + JSSVGFEColorMatrixElement.cpp + JSSVGFEColorMatrixElement.h + JSSVGFEComponentTransferElement.cpp + JSSVGFEComponentTransferElement.h + JSSVGFECompositeElement.cpp + JSSVGFECompositeElement.h + JSSVGFEDiffuseLightingElement.cpp + JSSVGFEDiffuseLightingElement.h + JSSVGFEDisplacementMapElement.cpp + JSSVGFEDisplacementMapElement.h + JSSVGFEDistantLightElement.cpp + JSSVGFEDistantLightElement.h + JSSVGFEFloodElement.cpp + JSSVGFEFloodElement.h + JSSVGFEFuncAElement.cpp + JSSVGFEFuncAElement.h + JSSVGFEFuncBElement.cpp + JSSVGFEFuncBElement.h + JSSVGFEFuncGElement.cpp + JSSVGFEFuncGElement.h + JSSVGFEFuncRElement.cpp + JSSVGFEFuncRElement.h + JSSVGFEGaussianBlurElement.cpp + JSSVGFEGaussianBlurElement.h + JSSVGFEImageElement.cpp + JSSVGFEImageElement.h + JSSVGFEMergeElement.cpp + JSSVGFEMergeElement.h + JSSVGFEMergeNodeElement.cpp + JSSVGFEMergeNodeElement.h + JSSVGFEMorphologyElement.cpp + JSSVGFEMorphologyElement.h + JSSVGFEOffsetElement.cpp + JSSVGFEOffsetElement.h + JSSVGFEPointLightElement.cpp + JSSVGFEPointLightElement.h + JSSVGFESpecularLightingElement.cpp + JSSVGFESpecularLightingElement.h + JSSVGFESpotLightElement.cpp + JSSVGFESpotLightElement.h + JSSVGFETileElement.cpp + JSSVGFETileElement.h + JSSVGFETurbulenceElement.cpp + JSSVGFETurbulenceElement.h + JSSVGFilterElement.cpp + JSSVGFilterElement.h + JSSVGFontElement.cpp + JSSVGFontElement.h + JSSVGFontFaceElement.cpp + JSSVGFontFaceElement.h + JSSVGFontFaceFormatElement.cpp + JSSVGFontFaceFormatElement.h + JSSVGFontFaceNameElement.cpp + JSSVGFontFaceNameElement.h + JSSVGFontFaceSrcElement.cpp + JSSVGFontFaceSrcElement.h + JSSVGFontFaceUriElement.cpp + JSSVGFontFaceUriElement.h + JSSVGForeignObjectElement.cpp + JSSVGForeignObjectElement.h + JSSVGGElement.cpp + JSSVGGElement.h + JSSVGGlyphElement.cpp + JSSVGGlyphElement.h + JSSVGGradientElement.cpp + JSSVGGradientElement.h + JSSVGHKernElement.cpp + JSSVGHKernElement.h + JSSVGImageElement.cpp + JSSVGImageElement.h + JSSVGLength.cpp + JSSVGLength.h + JSSVGLengthList.cpp + JSSVGLengthList.h + JSSVGLinearGradientElement.cpp + JSSVGLinearGradientElement.h + JSSVGLineElement.cpp + JSSVGLineElement.h + JSSVGMarkerElement.cpp + JSSVGMarkerElement.h + JSSVGMaskElement.cpp + JSSVGMaskElement.h + JSSVGMatrix.cpp + JSSVGMatrix.h + JSSVGMetadataElement.cpp + JSSVGMetadataElement.h + JSSVGMissingGlyphElement.cpp + JSSVGMissingGlyphElement.h + JSSVGNumber.cpp + JSSVGNumber.h + JSSVGNumberList.cpp + JSSVGNumberList.h + JSSVGPaint.cpp + JSSVGPaint.h + JSSVGPathElement.cpp + JSSVGPathElement.h + JSSVGPathSegArcAbs.cpp + JSSVGPathSegArcAbs.h + JSSVGPathSegArcRel.cpp + JSSVGPathSegArcRel.h + JSSVGPathSegClosePath.cpp + JSSVGPathSegClosePath.h + JSSVGPathSeg.cpp + JSSVGPathSegCurvetoCubicAbs.cpp + JSSVGPathSegCurvetoCubicAbs.h + JSSVGPathSegCurvetoCubicRel.cpp + JSSVGPathSegCurvetoCubicRel.h + JSSVGPathSegCurvetoCubicSmoothAbs.cpp + JSSVGPathSegCurvetoCubicSmoothAbs.h + JSSVGPathSegCurvetoCubicSmoothRel.cpp + JSSVGPathSegCurvetoCubicSmoothRel.h + JSSVGPathSegCurvetoQuadraticAbs.cpp + JSSVGPathSegCurvetoQuadraticAbs.h + JSSVGPathSegCurvetoQuadraticRel.cpp + JSSVGPathSegCurvetoQuadraticRel.h + JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp + JSSVGPathSegCurvetoQuadraticSmoothAbs.h + JSSVGPathSegCurvetoQuadraticSmoothRel.cpp + JSSVGPathSegCurvetoQuadraticSmoothRel.h + JSSVGPathSeg.h + JSSVGPathSegLinetoAbs.cpp + JSSVGPathSegLinetoAbs.h + JSSVGPathSegLinetoHorizontalAbs.cpp + JSSVGPathSegLinetoHorizontalAbs.h + JSSVGPathSegLinetoHorizontalRel.cpp + JSSVGPathSegLinetoHorizontalRel.h + JSSVGPathSegLinetoRel.cpp + JSSVGPathSegLinetoRel.h + JSSVGPathSegLinetoVerticalAbs.cpp + JSSVGPathSegLinetoVerticalAbs.h + JSSVGPathSegLinetoVerticalRel.cpp + JSSVGPathSegLinetoVerticalRel.h + JSSVGPathSegList.cpp + JSSVGPathSegList.h + JSSVGPathSegMovetoAbs.cpp + JSSVGPathSegMovetoAbs.h + JSSVGPathSegMovetoRel.cpp + JSSVGPathSegMovetoRel.h + JSSVGPatternElement.cpp + JSSVGPatternElement.h + JSSVGPoint.cpp + JSSVGPoint.h + JSSVGPointList.cpp + JSSVGPointList.h + JSSVGPolygonElement.cpp + JSSVGPolygonElement.h + JSSVGPolylineElement.cpp + JSSVGPolylineElement.h + JSSVGPreserveAspectRatio.cpp + JSSVGPreserveAspectRatio.h + JSSVGRadialGradientElement.cpp + JSSVGRadialGradientElement.h + JSSVGRect.cpp + JSSVGRectElement.cpp + JSSVGRectElement.h + JSSVGRect.h + JSSVGRenderingIntent.cpp + JSSVGRenderingIntent.h + JSSVGScriptElement.cpp + JSSVGScriptElement.h + JSSVGSetElement.cpp + JSSVGSetElement.h + JSSVGStopElement.cpp + JSSVGStopElement.h + JSSVGStringList.cpp + JSSVGStringList.h + JSSVGStyleElement.cpp + JSSVGStyleElement.h + JSSVGSVGElement.cpp + JSSVGSVGElement.h + JSSVGSwitchElement.cpp + JSSVGSwitchElement.h + JSSVGSymbolElement.cpp + JSSVGSymbolElement.h + JSSVGTextContentElement.cpp + JSSVGTextContentElement.h + JSSVGTextElement.cpp + JSSVGTextElement.h + JSSVGTextPathElement.cpp + JSSVGTextPathElement.h + JSSVGTextPositioningElement.cpp + JSSVGTextPositioningElement.h + JSSVGTitleElement.cpp + JSSVGTitleElement.h + JSSVGTransform.cpp + JSSVGTransform.h + JSSVGTransformList.cpp + JSSVGTransformList.h + JSSVGTRefElement.cpp + JSSVGTRefElement.h + JSSVGTSpanElement.cpp + JSSVGTSpanElement.h + JSSVGUnitTypes.cpp + JSSVGUnitTypes.h + JSSVGUseElement.cpp + JSSVGUseElement.h + JSSVGViewElement.cpp + JSSVGViewElement.h + JSSVGZoomEvent.cpp + JSSVGZoomEvent.h + JSText.cpp + JSTextEvent.cpp + JSTextEvent.h + JSText.h + JSTextMetrics.cpp + JSTextMetrics.h + JSTimeRanges.cpp + JSTimeRanges.h + JSTreeWalker.cpp + JSTreeWalker.h + JSUIEvent.cpp + JSUIEvent.h + JSValidityState.cpp + JSValidityState.h + JSVoidCallback.cpp + JSVoidCallback.h + JSWebKitAnimationEvent.cpp + JSWebKitAnimationEvent.h + JSWebKitCSSKeyframeRule.cpp + JSWebKitCSSKeyframeRule.h + JSWebKitCSSKeyframesRule.cpp + JSWebKitCSSKeyframesRule.h + JSWebKitCSSMatrix.cpp + JSWebKitCSSMatrix.h + JSWebKitCSSTransformValue.cpp + JSWebKitCSSTransformValue.h + JSWebKitPoint.cpp + JSWebKitPoint.h + JSWebKitTransitionEvent.cpp + JSWebKitTransitionEvent.h + JSWebSocket.cpp + JSWebSocket.h + JSWheelEvent.cpp + JSWheelEvent.h + JSWorkerContextBase.lut.h + JSWorkerContext.cpp + JSWorkerContext.h + JSWorker.cpp + JSWorker.h + JSWorkerLocation.cpp + JSWorkerLocation.h + JSWorkerNavigator.cpp + JSWorkerNavigator.h + JSXMLHttpRequest.cpp + JSXMLHttpRequestException.cpp + JSXMLHttpRequestException.h + JSXMLHttpRequest.h + JSXMLHttpRequestProgressEvent.cpp + JSXMLHttpRequestProgressEvent.h + JSXMLHttpRequestUpload.cpp + JSXMLHttpRequestUpload.h + JSXMLSerializer.cpp + JSXMLSerializer.h + JSXPathEvaluator.cpp + JSXPathEvaluator.h + JSXPathException.cpp + JSXPathException.h + JSXPathExpression.cpp + JSXPathExpression.h + JSXPathNSResolver.cpp + JSXPathNSResolver.h + JSXPathResult.cpp + JSXPathResult.h + JSXSLTProcessor.cpp + JSXSLTProcessor.h + Lexer.lut.h + MathObject.lut.h + NumberConstructor.lut.h + RegExpConstructor.lut.h + RegExpObject.lut.h + StringPrototype.lut.h + SVGElementFactory.cpp + SVGElementFactory.h + SVGNames.cpp + SVGNames.h + tokenizer.cpp + UserAgentStyleSheetsData.cpp + UserAgentStyleSheets.h + WebKitVersion.h + XLinkNames.cpp + XLinkNames.h + XMLNames.cpp + XMLNames.h + XPathGrammar.cpp + XPathGrammar.h +2 history/ +0 BackForwardListChromium.cpp + BackForwardList.cpp + BackForwardList.h + CachedFrame.cpp + CachedFrame.h + CachedFramePlatformData.h + CachedPage.cpp + CachedPage.h + cf/ +0 HistoryPropertyList.cpp + HistoryPropertyList.h +2 HistoryItem.cpp + HistoryItem.h + PageCache.cpp + PageCache.h + qt/ +0 HistoryItemQt.cpp +3 html/ +0 canvas/ +0 CanvasActiveInfo.h + CanvasActiveInfo.idl + CanvasArrayBuffer.cpp + CanvasArrayBuffer.h + CanvasArrayBuffer.idl + CanvasArray.cpp + CanvasArray.h + CanvasArray.idl + CanvasBuffer.cpp + CanvasBuffer.h + CanvasBuffer.idl + CanvasByteArray.cpp + CanvasByteArray.h + CanvasByteArray.idl + CanvasFloatArray.cpp + CanvasFloatArray.h + CanvasFloatArray.idl + CanvasFramebuffer.cpp + CanvasFramebuffer.h + CanvasFramebuffer.idl + CanvasGradient.cpp + CanvasGradient.h + CanvasGradient.idl + CanvasIntArray.cpp + CanvasIntArray.h + CanvasIntArray.idl + CanvasNumberArray.cpp + CanvasNumberArray.h + CanvasNumberArray.idl + CanvasObject.cpp + CanvasObject.h + CanvasPattern.cpp + CanvasPattern.h + CanvasPattern.idl + CanvasPixelArray.cpp + CanvasPixelArray.h + CanvasPixelArray.idl + CanvasProgram.cpp + CanvasProgram.h + CanvasProgram.idl + CanvasRenderbuffer.cpp + CanvasRenderbuffer.h + CanvasRenderbuffer.idl + CanvasRenderingContext2D.cpp + CanvasRenderingContext2D.h + CanvasRenderingContext2D.idl + CanvasRenderingContext3D.cpp + CanvasRenderingContext3D.h + CanvasRenderingContext3D.idl + CanvasRenderingContext.cpp + CanvasRenderingContext.h + CanvasRenderingContext.idl + CanvasShader.cpp + CanvasShader.h + CanvasShader.idl + CanvasShortArray.cpp + CanvasShortArray.h + CanvasShortArray.idl + CanvasStyle.cpp + CanvasStyle.h + CanvasTexture.cpp + CanvasTexture.h + CanvasTexture.idl + CanvasUnsignedByteArray.cpp + CanvasUnsignedByteArray.h + CanvasUnsignedByteArray.idl + CanvasUnsignedIntArray.cpp + CanvasUnsignedIntArray.h + CanvasUnsignedIntArray.idl + CanvasUnsignedShortArray.cpp + CanvasUnsignedShortArray.h + CanvasUnsignedShortArray.idl +2 CollectionCache.cpp + CollectionCache.h + CollectionType.h + DataGridColumn.cpp + DataGridColumn.h + DataGridColumn.idl + DataGridColumnList.cpp + DataGridColumnList.h + DataGridColumnList.idl + DataGridDataSource.h + DocTypeStrings.gperf + DOMDataGridDataSource.cpp + DOMDataGridDataSource.h + File.cpp + File.h + File.idl + FileList.cpp + FileList.h + FileList.idl + FormDataList.cpp + FormDataList.h + HTMLAllCollection.cpp + HTMLAllCollection.h + HTMLAllCollection.idl + HTMLAnchorElement.cpp + HTMLAnchorElement.h + HTMLAnchorElement.idl + HTMLAppletElement.cpp + HTMLAppletElement.h + HTMLAppletElement.idl + HTMLAreaElement.cpp + HTMLAreaElement.h + HTMLAreaElement.idl + HTMLAttributeNames.in + HTMLAudioElement.cpp + HTMLAudioElement.h + HTMLAudioElement.idl + HTMLBaseElement.cpp + HTMLBaseElement.h + HTMLBaseElement.idl + HTMLBaseFontElement.cpp + HTMLBaseFontElement.h + HTMLBaseFontElement.idl + HTMLBlockquoteElement.cpp + HTMLBlockquoteElement.h + HTMLBlockquoteElement.idl + HTMLBodyElement.cpp + HTMLBodyElement.h + HTMLBodyElement.idl + HTMLBRElement.cpp + HTMLBRElement.h + HTMLBRElement.idl + HTMLButtonElement.cpp + HTMLButtonElement.h + HTMLButtonElement.idl + HTMLCanvasElement.cpp + HTMLCanvasElement.h + HTMLCanvasElement.idl + HTMLCollection.cpp + HTMLCollection.h + HTMLCollection.idl + HTMLDataGridCellElement.cpp + HTMLDataGridCellElement.h + HTMLDataGridCellElement.idl + HTMLDataGridColElement.cpp + HTMLDataGridColElement.h + HTMLDataGridColElement.idl + HTMLDataGridElement.cpp + HTMLDataGridElement.h + HTMLDataGridElement.idl + HTMLDataGridRowElement.cpp + HTMLDataGridRowElement.h + HTMLDataGridRowElement.idl + HTMLDataListElement.cpp + HTMLDataListElement.h + HTMLDataListElement.idl + HTMLDirectoryElement.cpp + HTMLDirectoryElement.h + HTMLDirectoryElement.idl + HTMLDivElement.cpp + HTMLDivElement.h + HTMLDivElement.idl + HTMLDListElement.cpp + HTMLDListElement.h + HTMLDListElement.idl + HTMLDocument.cpp + HTMLDocument.h + HTMLDocument.idl + HTMLElement.cpp + HTMLElement.h + HTMLElement.idl + HTMLElementsAllInOne.cpp + HTMLEmbedElement.cpp + HTMLEmbedElement.h + HTMLEmbedElement.idl + HTMLEntityNames.gperf + HTMLFieldSetElement.cpp + HTMLFieldSetElement.h + HTMLFieldSetElement.idl + HTMLFontElement.cpp + HTMLFontElement.h + HTMLFontElement.idl + HTMLFormCollection.cpp + HTMLFormCollection.h + HTMLFormControlElement.cpp + HTMLFormControlElement.h + HTMLFormElement.cpp + HTMLFormElement.h + HTMLFormElement.idl + HTMLFrameElementBase.cpp + HTMLFrameElementBase.h + HTMLFrameElement.cpp + HTMLFrameElement.h + HTMLFrameElement.idl + HTMLFrameOwnerElement.cpp + HTMLFrameOwnerElement.h + HTMLFrameSetElement.cpp + HTMLFrameSetElement.h + HTMLFrameSetElement.idl + HTMLHeadElement.cpp + HTMLHeadElement.h + HTMLHeadElement.idl + HTMLHeadingElement.cpp + HTMLHeadingElement.h + HTMLHeadingElement.idl + HTMLHRElement.cpp + HTMLHRElement.h + HTMLHRElement.idl + HTMLHtmlElement.cpp + HTMLHtmlElement.h + HTMLHtmlElement.idl + HTMLIFrameElement.cpp + HTMLIFrameElement.h + HTMLIFrameElement.idl + HTMLImageElement.cpp + HTMLImageElement.h + HTMLImageElement.idl + HTMLImageLoader.cpp + HTMLImageLoader.h + HTMLInputElement.cpp + HTMLInputElement.h + HTMLInputElement.idl + HTMLIsIndexElement.cpp + HTMLIsIndexElement.h + HTMLIsIndexElement.idl + HTMLKeygenElement.cpp + HTMLKeygenElement.h + HTMLLabelElement.cpp + HTMLLabelElement.h + HTMLLabelElement.idl + HTMLLegendElement.cpp + HTMLLegendElement.h + HTMLLegendElement.idl + HTMLLIElement.cpp + HTMLLIElement.h + HTMLLIElement.idl + HTMLLinkElement.cpp + HTMLLinkElement.h + HTMLLinkElement.idl + HTMLMapElement.cpp + HTMLMapElement.h + HTMLMapElement.idl + HTMLMarqueeElement.cpp + HTMLMarqueeElement.h + HTMLMarqueeElement.idl + HTMLMediaElement.cpp + HTMLMediaElement.h + HTMLMediaElement.idl + HTMLMenuElement.cpp + HTMLMenuElement.h + HTMLMenuElement.idl + HTMLMetaElement.cpp + HTMLMetaElement.h + HTMLMetaElement.idl + HTMLModElement.cpp + HTMLModElement.h + HTMLModElement.idl + HTMLNameCollection.cpp + HTMLNameCollection.h + HTMLNoScriptElement.cpp + HTMLNoScriptElement.h + HTMLObjectElement.cpp + HTMLObjectElement.h + HTMLObjectElement.idl + HTMLOListElement.cpp + HTMLOListElement.h + HTMLOListElement.idl + HTMLOptGroupElement.cpp + HTMLOptGroupElement.h + HTMLOptGroupElement.idl + HTMLOptionElement.cpp + HTMLOptionElement.h + HTMLOptionElement.idl + HTMLOptionsCollection.cpp + HTMLOptionsCollection.h + HTMLOptionsCollection.idl + HTMLParagraphElement.cpp + HTMLParagraphElement.h + HTMLParagraphElement.idl + HTMLParamElement.cpp + HTMLParamElement.h + HTMLParamElement.idl + HTMLParser.cpp + HTMLParserErrorCodes.cpp + HTMLParserErrorCodes.h + HTMLParser.h + HTMLParserQuirks.h + HTMLPlugInElement.cpp + HTMLPlugInElement.h + HTMLPlugInImageElement.cpp + HTMLPlugInImageElement.h + HTMLPreElement.cpp + HTMLPreElement.h + HTMLPreElement.idl + HTMLQuoteElement.cpp + HTMLQuoteElement.h + HTMLQuoteElement.idl + HTMLScriptElement.cpp + HTMLScriptElement.h + HTMLScriptElement.idl + HTMLSelectElement.cpp + HTMLSelectElement.h + HTMLSelectElement.idl + HTMLSourceElement.cpp + HTMLSourceElement.h + HTMLSourceElement.idl + HTMLStyleElement.cpp + HTMLStyleElement.h + HTMLStyleElement.idl + HTMLTableCaptionElement.cpp + HTMLTableCaptionElement.h + HTMLTableCaptionElement.idl + HTMLTableCellElement.cpp + HTMLTableCellElement.h + HTMLTableCellElement.idl + HTMLTableColElement.cpp + HTMLTableColElement.h + HTMLTableColElement.idl + HTMLTableElement.cpp + HTMLTableElement.h + HTMLTableElement.idl + HTMLTablePartElement.cpp + HTMLTablePartElement.h + HTMLTableRowElement.cpp + HTMLTableRowElement.h + HTMLTableRowElement.idl + HTMLTableRowsCollection.cpp + HTMLTableRowsCollection.h + HTMLTableSectionElement.cpp + HTMLTableSectionElement.h + HTMLTableSectionElement.idl + HTMLTagNames.in + HTMLTextAreaElement.cpp + HTMLTextAreaElement.h + HTMLTextAreaElement.idl + HTMLTitleElement.cpp + HTMLTitleElement.h + HTMLTitleElement.idl + HTMLTokenizer.cpp + HTMLTokenizer.h + HTMLUListElement.cpp + HTMLUListElement.h + HTMLUListElement.idl + HTMLVideoElement.cpp + HTMLVideoElement.h + HTMLVideoElement.idl + HTMLViewSourceDocument.cpp + HTMLViewSourceDocument.h + ImageData.cpp + ImageData.h + ImageData.idl + MediaError.h + MediaError.idl + PreloadScanner.cpp + PreloadScanner.h + TextMetrics.h + TextMetrics.idl + TimeRanges.cpp + TimeRanges.h + TimeRanges.idl + ValidityState.cpp + ValidityState.h + ValidityState.idl + VoidCallback.h + VoidCallback.idl +2 Info.plist + inspector/ +0 ConsoleMessage.cpp + ConsoleMessage.h + front-end/ +0 AbstractTimelinePanel.js + BottomUpProfileDataGridTree.js + Breakpoint.js + BreakpointsSidebarPane.js + Callback.js + CallStackSidebarPane.js + ChangesView.js + Color.js + ConsoleView.js + CookieItemsView.js + Database.js + DatabaseQueryView.js + DatabaseTableView.js + DataGrid.js + DOMAgent.js + DOMStorageDataGrid.js + DOMStorageItemsView.js + DOMStorage.js + Drawer.js + ElementsPanel.js + ElementsTreeOutline.js + EventListenersSidebarPane.js + FontView.js + Images/ +0 back.png + checker.png + clearConsoleButtonGlyph.png + closeButtons.png + consoleButtonGlyph.png + cookie.png + database.png + databaseTable.png + debuggerContinue.png + debuggerPause.png + debuggerStepInto.png + debuggerStepOut.png + debuggerStepOver.png + disclosureTriangleSmallDownBlack.png + disclosureTriangleSmallDown.png + disclosureTriangleSmallDownWhite.png + disclosureTriangleSmallRightBlack.png + disclosureTriangleSmallRightDownBlack.png + disclosureTriangleSmallRightDown.png + disclosureTriangleSmallRightDownWhite.png + disclosureTriangleSmallRight.png + disclosureTriangleSmallRightWhite.png + dockButtonGlyph.png + elementsIcon.png + enableOutlineButtonGlyph.png + enableSolidButtonGlyph.png + errorIcon.png + errorMediumIcon.png + errorRedDot.png + excludeButtonGlyph.png + focusButtonGlyph.png + forward.png + glossyHeader.png + glossyHeaderPressed.png + glossyHeaderSelected.png + glossyHeaderSelectedPressed.png + goArrow.png + graphLabelCalloutLeft.png + graphLabelCalloutRight.png + grayConnectorPoint.png + largerResourcesButtonGlyph.png + localStorage.png + nodeSearchButtonGlyph.png + paneBottomGrowActive.png + paneBottomGrow.png + paneGrowHandleLine.png + paneSettingsButtons.png + pauseOnExceptionButtonGlyph.png + percentButtonGlyph.png + profileGroupIcon.png + profileIcon.png + profilesIcon.png + profileSmallIcon.png + profilesSilhouette.png + radioDot.png + recordButtonGlyph.png + recordToggledButtonGlyph.png + reloadButtonGlyph.png + resourceCSSIcon.png + resourceDocumentIcon.png + resourceDocumentIconSmall.png + resourceJSIcon.png + resourcePlainIcon.png + resourcePlainIconSmall.png + resourcesIcon.png + resourcesSilhouette.png + resourcesSizeGraphIcon.png + resourcesTimeGraphIcon.png + scriptsIcon.png + scriptsSilhouette.png + searchSmallBlue.png + searchSmallBrightBlue.png + searchSmallGray.png + searchSmallWhite.png + segmentEnd.png + segmentHoverEnd.png + segmentHover.png + segment.png + segmentSelectedEnd.png + segmentSelected.png + sessionStorage.png + splitviewDimple.png + splitviewDividerBackground.png + statusbarBackground.png + statusbarBottomBackground.png + statusbarButtons.png + statusbarMenuButton.png + statusbarMenuButtonSelected.png + statusbarResizerHorizontal.png + statusbarResizerVertical.png + storageIcon.png + successGreenDot.png + timelineBarBlue.png + timelineBarGray.png + timelineBarGreen.png + timelineBarOrange.png + timelineBarPurple.png + timelineBarRed.png + timelineBarYellow.png + timelineCheckmarks.png + timelineDots.png + timelineHollowPillBlue.png + timelineHollowPillGray.png + timelineHollowPillGreen.png + timelineHollowPillOrange.png + timelineHollowPillPurple.png + timelineHollowPillRed.png + timelineHollowPillYellow.png + timelineIcon.png + timelinePillBlue.png + timelinePillGray.png + timelinePillGreen.png + timelinePillOrange.png + timelinePillPurple.png + timelinePillRed.png + timelinePillYellow.png + tipBalloonBottom.png + tipBalloon.png + tipIcon.png + tipIconPressed.png + toolbarItemSelected.png + treeDownTriangleBlack.png + treeDownTriangleWhite.png + treeRightTriangleBlack.png + treeRightTriangleWhite.png + treeUpTriangleBlack.png + treeUpTriangleWhite.png + undockButtonGlyph.png + userInputIcon.png + userInputPreviousIcon.png + userInputResultIcon.png + warningIcon.png + warningMediumIcon.png + warningOrangeDot.png + warningsErrors.png + whiteConnectorPoint.png +2 ImageView.js + InjectedScriptAccess.js + InjectedScript.js + InspectorControllerStub.js + inspector.css + inspector.html + inspector.js + inspectorSyntaxHighlight.css + KeyboardShortcut.js + MetricsSidebarPane.js + Object.js + ObjectPropertiesSection.js + ObjectProxy.js + PanelEnablerView.js + Panel.js + Placard.js + Popup.js + ProfileDataGridTree.js + ProfilesPanel.js + ProfileView.js + PropertiesSection.js + PropertiesSidebarPane.js + ResourceCategory.js + Resource.js + ResourcesPanel.js + ResourceView.js + ScopeChainSidebarPane.js + Script.js + ScriptsPanel.js + ScriptView.js + SidebarPane.js + SidebarTreeElement.js + SourceFrame.js + SourceView.js + StatusBarButton.js + StoragePanel.js + StylesSidebarPane.js + SummaryBar.js + TestController.js + TextPrompt.js + TimelineAgent.js + TimelinePanel.js + TopDownProfileDataGridTree.js + treeoutline.js + utilities.js + View.js + WatchExpressionsSidebarPane.js + WebKit.qrc +2 InspectorBackend.cpp + InspectorBackend.h + InspectorBackend.idl + InspectorClient.h + InspectorController.cpp + InspectorController.h + InspectorDatabaseResource.cpp + InspectorDatabaseResource.h + InspectorDOMAgent.cpp + InspectorDOMAgent.h + InspectorDOMStorageResource.cpp + InspectorDOMStorageResource.h + InspectorFrontend.cpp + InspectorFrontend.h + InspectorResource.cpp + InspectorResource.h + InspectorTimelineAgent.cpp + InspectorTimelineAgent.h + JavaScriptCallFrame.cpp + JavaScriptCallFrame.h + JavaScriptCallFrame.idl + JavaScriptDebugListener.h + JavaScriptDebugServer.cpp + JavaScriptDebugServer.h + JavaScriptProfile.cpp + JavaScriptProfile.h + JavaScriptProfileNode.cpp + JavaScriptProfileNode.h + TimelineRecordFactory.cpp + TimelineRecordFactory.h +2 LICENSE-APPLE + LICENSE-LGPL-2 +0 .1 +2 loader/ +0 appcache/ +0 ApplicationCache.cpp + ApplicationCacheGroup.cpp + ApplicationCacheGroup.h + ApplicationCache.h + ApplicationCacheHost.cpp + ApplicationCacheHost.h + ApplicationCacheResource.cpp + ApplicationCacheResource.h + ApplicationCacheStorage.cpp + ApplicationCacheStorage.h + DOMApplicationCache.cpp + DOMApplicationCache.h + DOMApplicationCache.idl + ManifestParser.cpp + ManifestParser.h +2 archive/ +0 ArchiveFactory.cpp + ArchiveFactory.h + Archive.h + ArchiveResourceCollection.cpp + ArchiveResourceCollection.h + ArchiveResource.cpp + ArchiveResource.h + cf/ +0 LegacyWebArchive.cpp + LegacyWebArchive.h + LegacyWebArchiveMac.mm +3 Cache.cpp + CachedCSSStyleSheet.cpp + CachedCSSStyleSheet.h + CachedFont.cpp + CachedFont.h + CachedImage.cpp + CachedImage.h + CachedResourceClient.h + CachedResourceClientWalker.cpp + CachedResourceClientWalker.h + CachedResource.cpp + CachedResource.h + CachedResourceHandle.cpp + CachedResourceHandle.h + CachedScript.cpp + CachedScript.h + CachedXBLDocument.cpp + CachedXBLDocument.h + CachedXSLStyleSheet.cpp + CachedXSLStyleSheet.h + Cache.h + CachePolicy.h + cf/ +0 ResourceLoaderCFNet.cpp +2 CrossOriginAccessControl.cpp + CrossOriginAccessControl.h + CrossOriginPreflightResultCache.cpp + CrossOriginPreflightResultCache.h + DocLoader.cpp + DocLoader.h + DocumentLoader.cpp + DocumentLoader.h + DocumentThreadableLoader.cpp + DocumentThreadableLoader.h + EmptyClients.h + FormState.cpp + FormState.h + FrameLoaderClient.h + FrameLoader.cpp + FrameLoader.h + FrameLoaderTypes.h + FTPDirectoryDocument.cpp + FTPDirectoryDocument.h + FTPDirectoryParser.cpp + FTPDirectoryParser.h + HistoryController.cpp + HistoryController.h + icon/ +0 IconDatabaseClient.h + IconDatabase.cpp + IconDatabase.h + IconDatabaseNone.cpp + IconFetcher.cpp + IconFetcher.h + IconLoader.cpp + IconLoader.h + IconRecord.cpp + IconRecord.h + PageURLRecord.cpp + PageURLRecord.h +2 ImageDocument.cpp + ImageDocument.h + ImageLoader.cpp + ImageLoader.h + loader.cpp + loader.h + MainResourceLoader.cpp + MainResourceLoader.h + MediaDocument.cpp + MediaDocument.h + NavigationAction.cpp + NavigationAction.h + NetscapePlugInStreamLoader.cpp + NetscapePlugInStreamLoader.h + PlaceholderDocument.cpp + PlaceholderDocument.h + PluginDocument.cpp + PluginDocument.h + PolicyCallback.cpp + PolicyCallback.h + PolicyChecker.cpp + PolicyChecker.h + ProgressTracker.cpp + ProgressTracker.h + RedirectScheduler.cpp + RedirectScheduler.h + Request.cpp + Request.h + ResourceLoader.cpp + ResourceLoader.h + ResourceLoadNotifier.cpp + ResourceLoadNotifier.h + SubresourceLoaderClient.h + SubresourceLoader.cpp + SubresourceLoader.h + SubstituteData.h + SubstituteResource.h + TextDocument.cpp + TextDocument.h + TextResourceDecoder.cpp + TextResourceDecoder.h + ThreadableLoaderClient.h + ThreadableLoaderClientWrapper.h + ThreadableLoader.cpp + ThreadableLoader.h + WorkerThreadableLoader.cpp + WorkerThreadableLoader.h +2 make-generated-sources.sh + mathml/ +0 MathMLElement.cpp + MathMLElement.h + MathMLInlineContainerElement.cpp + MathMLInlineContainerElement.h + MathMLMathElement.cpp + MathMLMathElement.h + mathtags.in +2 move-js-headers.sh + notifications/ +0 NotificationCenter.cpp + NotificationCenter.h + NotificationCenter.idl + NotificationContents.h + Notification.cpp + Notification.h + Notification.idl + NotificationPresenter.h +2 page/ +0 AbstractView.idl + android/ +0 DragControllerAndroid.cpp + EventHandlerAndroid.cpp + InspectorControllerAndroid.cpp +2 animation/ +0 AnimationBase.cpp + AnimationBase.h + AnimationController.cpp + AnimationController.h + AnimationControllerPrivate.h + CompositeAnimation.cpp + CompositeAnimation.h + ImplicitAnimation.cpp + ImplicitAnimation.h + KeyframeAnimation.cpp + KeyframeAnimation.h +2 BarInfo.cpp + BarInfo.h + BarInfo.idl + ChromeClient.h + Chrome.cpp + Chrome.h + Console.cpp + Console.h + Console.idl + ContextMenuClient.h + ContextMenuController.cpp + ContextMenuController.h + Coordinates.h + Coordinates.idl + DOMSelection.cpp + DOMSelection.h + DOMSelection.idl + DOMTimer.cpp + DOMTimer.h + DOMWindow.cpp + DOMWindow.h + DOMWindow.idl + DragActions.h + DragClient.h + DragController.cpp + DragController.h + EditorClient.h + EventHandler.cpp + EventHandler.h + EventSource.cpp + EventSource.h + EventSource.idl + FocusController.cpp + FocusController.h + FocusDirection.h + Frame.cpp + Frame.h + FrameLoadRequest.h + FrameTree.cpp + FrameTree.h + FrameView.cpp + FrameView.h + Geolocation.cpp + Geolocation.h + Geolocation.idl + Geoposition.h + Geoposition.idl + HaltablePlugin.h + History.cpp + History.h + History.idl + Location.cpp + Location.h + Location.idl + MouseEventWithHitTestResults.cpp + MouseEventWithHitTestResults.h + NavigatorBase.cpp + NavigatorBase.h + Navigator.cpp + Navigator.h + Navigator.idl + OriginAccessEntry.cpp + OriginAccessEntry.h + Page.cpp + PageGroup.cpp + PageGroup.h + PageGroupLoadDeferrer.cpp + PageGroupLoadDeferrer.h + Page.h + PluginHalterClient.h + PluginHalter.cpp + PluginHalter.h + PositionCallback.h + PositionErrorCallback.h + PositionError.h + PositionError.idl + PositionOptions.h + PrintContext.cpp + PrintContext.h + qt/ +0 DragControllerQt.cpp + EventHandlerQt.cpp + FrameQt.cpp +2 Screen.cpp + Screen.h + Screen.idl + SecurityOrigin.cpp + SecurityOrigin.h + SecurityOriginHash.h + Settings.cpp + Settings.h + UserContentURLPattern.cpp + UserContentURLPattern.h + UserScript.h + UserScriptTypes.h + UserStyleSheet.h + UserStyleSheetTypes.h + WebKitPoint.h + WebKitPoint.idl + win/ + WindowFeatures.cpp + WindowFeatures.h + win/DragControllerWin.cpp + win/EventHandlerWin.cpp + win/FrameCairoWin.cpp + win/FrameCGWin.cpp + win/FrameWin.cpp + win/FrameWin.h + win/PageWin.cpp + WorkerNavigator.cpp + WorkerNavigator.h + WorkerNavigator.idl + XSSAuditor.cpp + XSSAuditor.h +2 platform/ +0 android/ +0 ClipboardAndroid.cpp + ClipboardAndroid.h + CursorAndroid.cpp + DragDataAndroid.cpp + EventLoopAndroid.cpp + FileChooserAndroid.cpp + FileSystemAndroid.cpp + KeyboardCodes.h + KeyEventAndroid.cpp + LocalizedStringsAndroid.cpp + PopupMenuAndroid.cpp + RenderThemeAndroid.cpp + RenderThemeAndroid.h + ScreenAndroid.cpp + ScrollViewAndroid.cpp + SearchPopupMenuAndroid.cpp + SystemTimeAndroid.cpp + TemporaryLinkStubs.cpp + WidgetAndroid.cpp +2 animation/ +0 Animation.cpp + Animation.h + AnimationList.cpp + AnimationList.h + TimingFunction.h +2 Arena.cpp + Arena.h + AutodrainedPool.h + ColorData.gperf + ContentType.cpp + ContentType.h + ContextMenu.cpp + ContextMenu.h + ContextMenuItem.h + Cookie.h + CookieJar.h + CrossThreadCopier.cpp + CrossThreadCopier.h + Cursor.h + DeprecatedPtrList.h + DeprecatedPtrListImpl.cpp + DeprecatedPtrListImpl.h + DragData.cpp + DragData.h + DragImage.cpp + DragImage.h + EventLoop.h + FileChooser.cpp + FileChooser.h + FileSystem.h + FloatConversion.h + GeolocationService.cpp + GeolocationService.h + graphics/ +0 BitmapImage.cpp + BitmapImage.h + Color.cpp + Color.h + DashArray.h + filters/ +0 FEBlend.cpp + FEBlend.h + FEColorMatrix.cpp + FEColorMatrix.h + FEComponentTransfer.cpp + FEComponentTransfer.h + FEComposite.cpp + FEComposite.h + FEGaussianBlur.cpp + FEGaussianBlur.h + FilterEffect.cpp + FilterEffect.h + Filter.h + SourceAlpha.cpp + SourceAlpha.h + SourceGraphic.cpp + SourceGraphic.h +2 FloatPoint3D.cpp + FloatPoint3D.h + FloatPoint.cpp + FloatPoint.h + FloatQuad.cpp + FloatQuad.h + FloatRect.cpp + FloatRect.h + FloatSize.cpp + FloatSize.h + FontCache.cpp + FontCache.h + Font.cpp + FontData.cpp + FontData.h + FontDescription.cpp + FontDescription.h + FontFallbackList.cpp + FontFallbackList.h + FontFamily.cpp + FontFamily.h + FontFastPath.cpp + Font.h + FontRenderingMode.h + FontSelector.h + FontSmoothingMode.h + FontTraitsMask.h + GeneratedImage.cpp + GeneratedImage.h + Generator.h + GlyphBuffer.h + GlyphPageTreeNode.cpp + GlyphPageTreeNode.h + GlyphWidthMap.cpp + GlyphWidthMap.h + Gradient.cpp + Gradient.h + GraphicsContext3D.h + GraphicsContext.cpp + GraphicsContext.h + GraphicsContextPrivate.h + GraphicsLayerClient.h + GraphicsLayer.cpp + GraphicsLayer.h + GraphicsTypes.cpp + GraphicsTypes.h + Icon.h + ImageBuffer.cpp + ImageBuffer.h + Image.cpp + Image.h + ImageObserver.h + ImageSource.cpp + ImageSource.h + IntPoint.h + IntRect.cpp + IntRect.h + IntSize.h + IntSizeHash.h + MediaPlayer.cpp + MediaPlayer.h + MediaPlayerPrivate.h + opentype/ +0 OpenTypeUtilities.cpp + OpenTypeUtilities.h +2 Path.cpp + Path.h + PathTraversalState.cpp + PathTraversalState.h + Pattern.cpp + Pattern.h + Pen.cpp + Pen.h + qt/ +0 ColorQt.cpp + FloatPointQt.cpp + FloatRectQt.cpp + FontCacheQt.cpp + FontCustomPlatformData.cpp + FontCustomPlatformData.h + FontFallbackListQt.cpp + FontPlatformData.h + FontPlatformDataQt.cpp + FontQt43.cpp + FontQt.cpp + GlyphPageTreeNodeQt.cpp + GradientQt.cpp + GraphicsContextQt.cpp + IconQt.cpp + ImageBufferData.h + ImageBufferQt.cpp + ImageDecoderQt.cpp + ImageDecoderQt.h + ImageQt.cpp + IntPointQt.cpp + IntRectQt.cpp + IntSizeQt.cpp + MediaPlayerPrivatePhonon.cpp + MediaPlayerPrivatePhonon.h + PathQt.cpp + PatternQt.cpp + SimpleFontDataQt.cpp + StillImageQt.cpp + StillImageQt.h + TransformationMatrixQt.cpp +2 SegmentedFontData.cpp + SegmentedFontData.h + SimpleFontData.cpp + SimpleFontData.h + StringTruncator.cpp + StringTruncator.h + StrokeStyleApplier.h + TextRenderingMode.h + TextRun.h + transforms/ +0 IdentityTransformOperation.h + Matrix3DTransformOperation.cpp + Matrix3DTransformOperation.h + MatrixTransformOperation.cpp + MatrixTransformOperation.h + PerspectiveTransformOperation.cpp + PerspectiveTransformOperation.h + RotateTransformOperation.cpp + RotateTransformOperation.h + ScaleTransformOperation.cpp + ScaleTransformOperation.h + SkewTransformOperation.cpp + SkewTransformOperation.h + TransformationMatrix.cpp + TransformationMatrix.h + TransformOperation.h + TransformOperations.cpp + TransformOperations.h + TranslateTransformOperation.cpp + TranslateTransformOperation.h +2 UnitBezier.h + WidthIterator.cpp + WidthIterator.h +2 HostWindow.h + image-decoders/ +0 cairo/ +0 ImageDecoderCairo.cpp +2 ImageDecoder.cpp + ImageDecoder.h + qt/ +0 RGBA32BufferQt.cpp +2 wx/ +0 ImageDecoderWx.cpp +3 KeyboardCodes.h + KURL.cpp + KURLGoogle.cpp + KURLGooglePrivate.h + KURL.h + KURLHash.h + Language.h + LengthBox.h + Length.cpp + Length.h + LengthSize.h + LinkHash.cpp + LinkHash.h + LocalizedStrings.h + Logging.cpp + Logging.h + mac/ +0 AutodrainedPool.mm + BlockExceptions.h + BlockExceptions.mm + ClipboardMac.h + ClipboardMac.mm + ContextMenuItemMac.mm + ContextMenuMac.mm + CookieJar.mm + CursorMac.mm + DragDataMac.mm + DragImageMac.mm + EventLoopMac.mm + FileChooserMac.mm + FileSystemMac.mm + FoundationExtras.h + GeolocationServiceMac.h + GeolocationServiceMac.mm + KeyEventMac.mm + KURLMac.mm + Language.mm + LocalCurrentGraphicsContext.h + LocalCurrentGraphicsContext.mm + LocalizedStringsMac.mm + LoggingMac.mm + MIMETypeRegistryMac.mm + PasteboardHelper.h + PasteboardMac.mm + PlatformMouseEventMac.mm + PlatformScreenMac.mm + PopupMenuMac.mm + PurgeableBufferMac.cpp + RuntimeApplicationChecks.h + RuntimeApplicationChecks.mm + SchedulePairMac.mm + ScrollbarThemeMac.h + ScrollbarThemeMac.mm + ScrollViewMac.mm + SearchPopupMenuMac.mm + SharedBufferMac.mm + SharedTimerMac.mm + SoftLinking.h + SoundMac.mm + SSLKeyGeneratorMac.mm + SuddenTermination.mm + SystemTimeMac.cpp + ThemeMac.h + ThemeMac.mm + ThreadCheck.mm + WebCoreKeyGenerator.h + WebCoreKeyGenerator.m + WebCoreNSStringExtras.h + WebCoreNSStringExtras.mm + WebCoreObjCExtras.h + WebCoreObjCExtras.mm + WebCoreSystemInterface.h + WebCoreSystemInterface.mm + WebCoreView.h + WebCoreView.m + WebFontCache.h + WebFontCache.mm + WheelEventMac.mm + WidgetMac.mm +2 MIMETypeRegistry.cpp + MIMETypeRegistry.h + mock/ +0 GeolocationServiceMock.cpp + GeolocationServiceMock.h +2 network/ +0 AuthenticationChallengeBase.cpp + AuthenticationChallengeBase.h + Credential.cpp + Credential.h + CredentialStorage.cpp + CredentialStorage.h + DNS.h + FormDataBuilder.cpp + FormDataBuilder.h + FormData.cpp + FormData.h + HTTPHeaderMap.cpp + HTTPHeaderMap.h + HTTPParsers.cpp + HTTPParsers.h + NetworkStateNotifier.cpp + NetworkStateNotifier.h + ProtectionSpace.cpp + ProtectionSpace.h + ProtectionSpaceHash.h + qt/ +0 AuthenticationChallenge.h + DnsPrefetchHelper.cpp + DnsPrefetchHelper.h + QNetworkReplyHandler.cpp + QNetworkReplyHandler.h + ResourceError.h + ResourceHandleQt.cpp + ResourceRequest.h + ResourceRequestQt.cpp + ResourceResponse.h + SocketStreamError.h + SocketStreamHandle.h + SocketStreamHandleSoup.cpp +2 ResourceErrorBase.cpp + ResourceErrorBase.h + ResourceHandleClient.h + ResourceHandle.cpp + ResourceHandle.h + ResourceHandleInternal.h + ResourceRequestBase.cpp + ResourceRequestBase.h + ResourceResponseBase.cpp + ResourceResponseBase.h + SocketStreamErrorBase.cpp + SocketStreamErrorBase.h + SocketStreamHandleBase.cpp + SocketStreamHandleBase.h + SocketStreamHandleClient.h +2 NotImplemented.h + Pasteboard.h + PlatformKeyboardEvent.h + PlatformMenuDescription.h + PlatformMouseEvent.h + PlatformScreen.h + PlatformWheelEvent.h + PopupMenuClient.h + PopupMenu.h + PopupMenuStyle.h + posix/ +0 FileSystemPOSIX.cpp +2 PurgeableBuffer.h + qt/ +0 ClipboardQt.cpp + ClipboardQt.h + ContextMenuItemQt.cpp + ContextMenuQt.cpp + CookieJarQt.cpp + CursorQt.cpp + DragDataQt.cpp + DragImageQt.cpp + EventLoopQt.cpp + FileChooserQt.cpp + FileSystemQt.cpp + KURLQt.cpp + Localizations.cpp + LoggingQt.cpp + MIMETypeRegistryQt.cpp + PasteboardQt.cpp + PlatformKeyboardEventQt.cpp + PlatformMouseEventQt.cpp + PlatformScreenQt.cpp + PopupMenuQt.cpp + QWebPageClient.h + QWebPopup.cpp + QWebPopup.h + RenderThemeQt.cpp + RenderThemeQt.h + ScreenQt.cpp + ScrollbarQt.cpp + ScrollbarThemeQt.cpp + ScrollbarThemeQt.h + ScrollViewQt.cpp + SearchPopupMenuQt.cpp + SharedBufferQt.cpp + SharedTimerQt.cpp + SoundQt.cpp + TemporaryLinkStubs.cpp + WheelEventQt.cpp + WidgetQt.cpp +2 RunLoopTimer.h + ScrollbarClient.h + Scrollbar.cpp + Scrollbar.h + ScrollbarThemeComposite.cpp + ScrollbarThemeComposite.h + ScrollbarTheme.h + ScrollTypes.h + ScrollView.cpp + ScrollView.h + SearchPopupMenu.h + SharedBuffer.cpp + SharedBuffer.h + SharedTimer.h + Sound.h + sql/ +0 SQLiteAuthorizer.cpp + SQLiteDatabase.cpp + SQLiteDatabase.h + SQLiteFileSystem.cpp + SQLiteFileSystem.h + SQLiteStatement.cpp + SQLiteStatement.h + SQLiteTransaction.cpp + SQLiteTransaction.h + SQLValue.cpp + SQLValue.h +2 SSLKeyGenerator.h + StaticConstructors.h + SuddenTermination.h + SystemTime.h + text/ +0 android/ +0 TextBreakIteratorInternalICU.cpp +2 AtomicString.cpp + AtomicString.h + AtomicStringHash.h + AtomicStringImpl.h + Base64.cpp + Base64.h + BidiContext.cpp + BidiContext.h + BidiResolver.h + cf/ +0 StringCF.cpp + StringImplCF.cpp +2 CharacterNames.h + CString.cpp + CString.h + mac/ +0 character-sets.txt + CharsetData.h + mac-encodings.txt + make-charset-table.pl + ShapeArabic.c + ShapeArabic.h + StringImplMac.mm + StringMac.mm + TextBoundaries.mm + TextBreakIteratorInternalICUMac.mm + TextCodecMac.cpp + TextCodecMac.h +2 ParserUtilities.h + PlatformString.h + qt/ +0 StringQt.cpp + TextBoundaries.cpp + TextBreakIteratorQt.cpp + TextCodecQt.cpp + TextCodecQt.h +2 RegularExpression.cpp + RegularExpression.h + SegmentedString.cpp + SegmentedString.h + StringBuffer.h + StringBuilder.cpp + StringBuilder.h + String.cpp + StringHash.h + StringImpl.cpp + StringImpl.h + TextBoundaries.h + TextBoundariesICU.cpp + TextBreakIterator.h + TextBreakIteratorICU.cpp + TextBreakIteratorInternalICU.h + TextCodec.cpp + TextCodec.h + TextCodecICU.cpp + TextCodecICU.h + TextCodecLatin1.cpp + TextCodecLatin1.h + TextCodecUserDefined.cpp + TextCodecUserDefined.h + TextCodecUTF16.cpp + TextCodecUTF16.h + TextDirection.h + TextEncoding.cpp + TextEncodingDetector.h + TextEncodingDetectorICU.cpp + TextEncodingDetectorNone.cpp + TextEncoding.h + TextEncodingRegistry.cpp + TextEncodingRegistry.h + TextStream.cpp + TextStream.h + UnicodeRange.cpp + UnicodeRange.h + win/ +0 TextBreakIteratorInternalICUWin.cpp +3 Theme.cpp + Theme.h + ThemeTypes.h + ThreadCheck.h + ThreadGlobalData.cpp + ThreadGlobalData.h + ThreadTimers.cpp + ThreadTimers.h + Timer.cpp + Timer.h + TreeShared.h + Widget.cpp + Widget.h + win/ +0 BitmapInfo.cpp + BitmapInfo.h + SystemTimeWin.cpp +3 plugins/ +0 mac/ +0 PluginDataMac.mm + PluginPackageMac.cpp + PluginViewMac.cpp +2 MimeTypeArray.cpp + MimeTypeArray.h + MimeTypeArray.idl + MimeType.cpp + MimeType.h + MimeType.idl + npapi.cpp + npfunctions.h + PluginArray.cpp + PluginArray.h + PluginArray.idl + Plugin.cpp + PluginDatabaseClient.h + PluginDatabase.cpp + PluginDatabase.h + PluginData.cpp + PluginData.h + PluginDataNone.cpp + PluginDebug.cpp + PluginDebug.h + Plugin.h + Plugin.idl + PluginInfoStore.cpp + PluginInfoStore.h + PluginMainThreadScheduler.cpp + PluginMainThreadScheduler.h + PluginPackage.cpp + PluginPackage.h + PluginPackageNone.cpp + PluginQuirkSet.h + PluginStream.cpp + PluginStream.h + PluginView.cpp + PluginView.h + PluginViewNone.cpp + qt/ +0 PluginContainerQt.cpp + PluginContainerQt.h + PluginDataQt.cpp + PluginPackageQt.cpp + PluginViewQt.cpp +2 symbian/ +0 npinterface.h + PluginContainerSymbian.cpp + PluginContainerSymbian.h + PluginDatabaseSymbian.cpp + PluginPackageSymbian.cpp + PluginViewSymbian.cpp +2 win/ +0 PaintHooks.asm + PluginDatabaseWin.cpp + PluginDataWin.cpp + PluginMessageThrottlerWin.cpp + PluginMessageThrottlerWin.h + PluginPackageWin.cpp + PluginViewWin.cpp +3 rendering/ +0 AutoTableLayout.cpp + AutoTableLayout.h + break_lines.cpp + break_lines.h + CounterNode.cpp + CounterNode.h + EllipsisBox.cpp + EllipsisBox.h + FixedTableLayout.cpp + FixedTableLayout.h + GapRects.h + HitTestRequest.h + HitTestResult.cpp + HitTestResult.h + InlineBox.cpp + InlineBox.h + InlineFlowBox.cpp + InlineFlowBox.h + InlineRunBox.h + InlineTextBox.cpp + InlineTextBox.h + LayoutState.cpp + LayoutState.h + MediaControlElements.cpp + MediaControlElements.h + OverlapTestRequestClient.h + PointerEventsHitRules.cpp + PointerEventsHitRules.h + RenderApplet.cpp + RenderApplet.h + RenderArena.cpp + RenderArena.h + RenderBlock.cpp + RenderBlock.h + RenderBlockLineLayout.cpp + RenderBox.cpp + RenderBox.h + RenderBoxModelObject.cpp + RenderBoxModelObject.h + RenderBR.cpp + RenderBR.h + RenderButton.cpp + RenderButton.h + RenderCounter.cpp + RenderCounter.h + RenderDataGrid.cpp + RenderDataGrid.h + RenderFieldset.cpp + RenderFieldset.h + RenderFileUploadControl.cpp + RenderFileUploadControl.h + RenderFlexibleBox.cpp + RenderFlexibleBox.h + RenderForeignObject.cpp + RenderForeignObject.h + RenderFrame.cpp + RenderFrame.h + RenderFrameSet.cpp + RenderFrameSet.h + RenderHTMLCanvas.cpp + RenderHTMLCanvas.h + RenderImage.cpp + RenderImageGeneratedContent.cpp + RenderImageGeneratedContent.h + RenderImage.h + RenderInline.cpp + RenderInline.h + RenderLayerBacking.cpp + RenderLayerBacking.h + RenderLayerCompositor.cpp + RenderLayerCompositor.h + RenderLayer.cpp + RenderLayer.h + RenderLineBoxList.cpp + RenderLineBoxList.h + RenderListBox.cpp + RenderListBox.h + RenderListItem.cpp + RenderListItem.h + RenderListMarker.cpp + RenderListMarker.h + RenderMarquee.cpp + RenderMarquee.h + RenderMediaControlsChromium.cpp + RenderMediaControlsChromium.h + RenderMediaControls.cpp + RenderMediaControls.h + RenderMedia.cpp + RenderMedia.h + RenderMenuList.cpp + RenderMenuList.h + RenderObjectChildList.cpp + RenderObjectChildList.h + RenderObject.cpp + RenderObject.h + RenderOverflow.h + RenderPart.cpp + RenderPart.h + RenderPartObject.cpp + RenderPartObject.h + RenderPath.cpp + RenderPath.h + RenderReplaced.cpp + RenderReplaced.h + RenderReplica.cpp + RenderReplica.h + RenderScrollbar.cpp + RenderScrollbar.h + RenderScrollbarPart.cpp + RenderScrollbarPart.h + RenderScrollbarTheme.cpp + RenderScrollbarTheme.h + RenderSelectionInfo.h + RenderSlider.cpp + RenderSlider.h + RenderSVGBlock.cpp + RenderSVGBlock.h + RenderSVGContainer.cpp + RenderSVGContainer.h + RenderSVGGradientStop.cpp + RenderSVGGradientStop.h + RenderSVGHiddenContainer.cpp + RenderSVGHiddenContainer.h + RenderSVGImage.cpp + RenderSVGImage.h + RenderSVGInline.cpp + RenderSVGInline.h + RenderSVGInlineText.cpp + RenderSVGInlineText.h + RenderSVGModelObject.cpp + RenderSVGModelObject.h + RenderSVGRoot.cpp + RenderSVGRoot.h + RenderSVGText.cpp + RenderSVGText.h + RenderSVGTextPath.cpp + RenderSVGTextPath.h + RenderSVGTransformableContainer.cpp + RenderSVGTransformableContainer.h + RenderSVGTSpan.cpp + RenderSVGTSpan.h + RenderSVGViewportContainer.cpp + RenderSVGViewportContainer.h + RenderTableCell.cpp + RenderTableCell.h + RenderTableCol.cpp + RenderTableCol.h + RenderTable.cpp + RenderTable.h + RenderTableRow.cpp + RenderTableRow.h + RenderTableSection.cpp + RenderTableSection.h + RenderTextControl.cpp + RenderTextControl.h + RenderTextControlMultiLine.cpp + RenderTextControlMultiLine.h + RenderTextControlSingleLine.cpp + RenderTextControlSingleLine.h + RenderText.cpp + RenderTextFragment.cpp + RenderTextFragment.h + RenderText.h + RenderThemeChromiumLinux.cpp + RenderThemeChromiumLinux.h + RenderThemeChromiumMac.h + RenderThemeChromiumMac.mm + RenderThemeChromiumSkia.cpp + RenderThemeChromiumSkia.h + RenderThemeChromiumWin.cpp + RenderThemeChromiumWin.h + RenderTheme.cpp + RenderTheme.h + RenderThemeMac.h + RenderThemeSafari.cpp + RenderThemeSafari.h + RenderThemeWince.cpp + RenderThemeWince.h + RenderThemeWin.cpp + RenderThemeWin.h + RenderTreeAsText.cpp + RenderTreeAsText.h + RenderVideo.cpp + RenderVideo.h + RenderView.cpp + RenderView.h + RenderWidget.cpp + RenderWidget.h + RenderWidgetProtector.h + RenderWordBreak.cpp + RenderWordBreak.h + RootInlineBox.cpp + RootInlineBox.h + ScrollBehavior.cpp + ScrollBehavior.h + style/ +0 BindingURI.cpp + BindingURI.h + BorderData.h + BorderValue.h + CollapsedBorderValue.h + ContentData.cpp + ContentData.h + CounterContent.h + CounterDirectives.cpp + CounterDirectives.h + CursorData.h + CursorList.h + DataRef.h + FillLayer.cpp + FillLayer.h + KeyframeList.cpp + KeyframeList.h + NinePieceImage.cpp + NinePieceImage.h + OutlineValue.h + RenderStyleConstants.h + RenderStyle.cpp + RenderStyle.h + ShadowData.cpp + ShadowData.h + StyleBackgroundData.cpp + StyleBackgroundData.h + StyleBoxData.cpp + StyleBoxData.h + StyleCachedImage.cpp + StyleCachedImage.h + StyleDashboardRegion.h + StyleFlexibleBoxData.cpp + StyleFlexibleBoxData.h + StyleGeneratedImage.cpp + StyleGeneratedImage.h + StyleImage.h + StyleInheritedData.cpp + StyleInheritedData.h + StyleMarqueeData.cpp + StyleMarqueeData.h + StyleMultiColData.cpp + StyleMultiColData.h + StyleRareInheritedData.cpp + StyleRareInheritedData.h + StyleRareNonInheritedData.cpp + StyleRareNonInheritedData.h + StyleReflection.h + StyleSurroundData.cpp + StyleSurroundData.h + StyleTransformData.cpp + StyleTransformData.h + StyleVisualData.cpp + StyleVisualData.h + SVGRenderStyle.cpp + SVGRenderStyleDefs.cpp + SVGRenderStyleDefs.h + SVGRenderStyle.h +2 SVGCharacterLayoutInfo.cpp + SVGCharacterLayoutInfo.h + SVGInlineFlowBox.cpp + SVGInlineFlowBox.h + SVGInlineTextBox.cpp + SVGInlineTextBox.h + SVGRenderSupport.cpp + SVGRenderSupport.h + SVGRenderTreeAsText.cpp + SVGRenderTreeAsText.h + SVGRootInlineBox.cpp + SVGRootInlineBox.h + TableLayout.h + TextControlInnerElements.cpp + TextControlInnerElements.h + TransformState.cpp + TransformState.h +2 Resources/ +0 aliasCursor.png + cellCursor.png + contextMenuCursor.png + copyCursor.png + crossHairCursor.png + deleteButton.png + deleteButtonPressed.png + deleteButtonPressed.tiff + deleteButton.tiff + eastResizeCursor.png + eastWestResizeCursor.png + helpCursor.png + linkCursor.png + missingImage.png + missingImage.tiff + moveCursor.png + noDropCursor.png + noneCursor.png + northEastResizeCursor.png + northEastSouthWestResizeCursor.png + northResizeCursor.png + northSouthResizeCursor.png + northWestResizeCursor.png + northWestSouthEastResizeCursor.png + notAllowedCursor.png + nullPlugin.png + panIcon.png + progressCursor.png + southEastResizeCursor.png + southResizeCursor.png + southWestResizeCursor.png + textAreaResizeCorner.png + textAreaResizeCorner.tiff + urlIcon.png + verticalTextCursor.png + waitCursor.png + westResizeCursor.png + zoomInCursor.png + zoomOutCursor.png +2 storage/ +0 ChangeVersionWrapper.cpp + ChangeVersionWrapper.h + DatabaseAuthorizer.cpp + DatabaseAuthorizer.h + Database.cpp + DatabaseDetails.h + Database.h + Database.idl + DatabaseTask.cpp + DatabaseTask.h + DatabaseThread.cpp + DatabaseThread.h + DatabaseTrackerClient.h + DatabaseTracker.cpp + DatabaseTracker.h + LocalStorageTask.cpp + LocalStorageTask.h + LocalStorageThread.cpp + LocalStorageThread.h + OriginQuotaManager.cpp + OriginQuotaManager.h + OriginUsageRecord.cpp + OriginUsageRecord.h + SQLError.h + SQLError.idl + SQLResultSet.cpp + SQLResultSet.h + SQLResultSet.idl + SQLResultSetRowList.cpp + SQLResultSetRowList.h + SQLResultSetRowList.idl + SQLStatementCallback.h + SQLStatement.cpp + SQLStatementErrorCallback.h + SQLStatement.h + SQLTransactionCallback.h + SQLTransactionClient.cpp + SQLTransactionClient.h + SQLTransactionCoordinator.cpp + SQLTransactionCoordinator.h + SQLTransaction.cpp + SQLTransactionErrorCallback.h + SQLTransaction.h + SQLTransaction.idl + StorageArea.h + StorageAreaImpl.cpp + StorageAreaImpl.h + StorageAreaSync.cpp + StorageAreaSync.h + Storage.cpp + StorageEvent.cpp + StorageEventDispatcher.cpp + StorageEventDispatcher.h + StorageEvent.h + StorageEvent.idl + Storage.h + Storage.idl + StorageMap.cpp + StorageMap.h + StorageNamespace.cpp + StorageNamespace.h + StorageNamespaceImpl.cpp + StorageNamespaceImpl.h + StorageSyncManager.cpp + StorageSyncManager.h +2 svg/ +0 animation/ +0 SMILTimeContainer.cpp + SMILTimeContainer.h + SMILTime.cpp + SMILTime.h + SVGSMILElement.cpp + SVGSMILElement.h +2 ColorDistance.cpp + ColorDistance.h + ElementTimeControl.h + ElementTimeControl.idl + GradientAttributes.h + graphics/ +0 filters/ +0 SVGDistantLightSource.h + SVGFEConvolveMatrix.cpp + SVGFEConvolveMatrix.h + SVGFEDiffuseLighting.cpp + SVGFEDiffuseLighting.h + SVGFEDisplacementMap.cpp + SVGFEDisplacementMap.h + SVGFEFlood.cpp + SVGFEFlood.h + SVGFEImage.cpp + SVGFEImage.h + SVGFEMerge.cpp + SVGFEMerge.h + SVGFEMorphology.cpp + SVGFEMorphology.h + SVGFEOffset.cpp + SVGFEOffset.h + SVGFESpecularLighting.cpp + SVGFESpecularLighting.h + SVGFETile.cpp + SVGFETile.h + SVGFETurbulence.cpp + SVGFETurbulence.h + SVGFilterBuilder.cpp + SVGFilterBuilder.h + SVGFilter.cpp + SVGFilter.h + SVGLightSource.cpp + SVGLightSource.h + SVGPointLightSource.h + SVGSpotLightSource.h +2 SVGImage.cpp + SVGImage.h + SVGPaintServer.cpp + SVGPaintServerGradient.cpp + SVGPaintServerGradient.h + SVGPaintServer.h + SVGPaintServerLinearGradient.cpp + SVGPaintServerLinearGradient.h + SVGPaintServerPattern.cpp + SVGPaintServerPattern.h + SVGPaintServerRadialGradient.cpp + SVGPaintServerRadialGradient.h + SVGPaintServerSolid.cpp + SVGPaintServerSolid.h + SVGResourceClipper.cpp + SVGResourceClipper.h + SVGResource.cpp + SVGResourceFilter.cpp + SVGResourceFilter.h + SVGResource.h + SVGResourceListener.h + SVGResourceMarker.cpp + SVGResourceMarker.h + SVGResourceMasker.cpp + SVGResourceMasker.h +2 LinearGradientAttributes.h + PatternAttributes.h + RadialGradientAttributes.h + SVGAElement.cpp + SVGAElement.h + SVGAElement.idl + SVGAllInOne.cpp + SVGAltGlyphElement.cpp + SVGAltGlyphElement.h + SVGAltGlyphElement.idl + SVGAngle.cpp + SVGAngle.h + SVGAngle.idl + SVGAnimateColorElement.cpp + SVGAnimateColorElement.h + SVGAnimateColorElement.idl + SVGAnimatedAngle.idl + SVGAnimatedBoolean.idl + SVGAnimatedEnumeration.idl + SVGAnimatedInteger.idl + SVGAnimatedLength.idl + SVGAnimatedLengthList.idl + SVGAnimatedNumber.idl + SVGAnimatedNumberList.idl + SVGAnimatedPathData.cpp + SVGAnimatedPathData.h + SVGAnimatedPathData.idl + SVGAnimatedPoints.cpp + SVGAnimatedPoints.h + SVGAnimatedPoints.idl + SVGAnimatedPreserveAspectRatio.idl + SVGAnimatedProperty.h + SVGAnimatedRect.idl + SVGAnimatedString.idl + SVGAnimatedTemplate.h + SVGAnimatedTransformList.idl + SVGAnimateElement.cpp + SVGAnimateElement.h + SVGAnimateElement.idl + SVGAnimateMotionElement.cpp + SVGAnimateMotionElement.h + SVGAnimateTransformElement.cpp + SVGAnimateTransformElement.h + SVGAnimateTransformElement.idl + SVGAnimationElement.cpp + SVGAnimationElement.h + SVGAnimationElement.idl + svgattrs.in + SVGCircleElement.cpp + SVGCircleElement.h + SVGCircleElement.idl + SVGClipPathElement.cpp + SVGClipPathElement.h + SVGClipPathElement.idl + SVGColor.cpp + SVGColor.h + SVGColor.idl + SVGComponentTransferFunctionElement.cpp + SVGComponentTransferFunctionElement.h + SVGComponentTransferFunctionElement.idl + SVGCursorElement.cpp + SVGCursorElement.h + SVGCursorElement.idl + SVGDefsElement.cpp + SVGDefsElement.h + SVGDefsElement.idl + SVGDescElement.cpp + SVGDescElement.h + SVGDescElement.idl + SVGDocument.cpp + SVGDocumentExtensions.cpp + SVGDocumentExtensions.h + SVGDocument.h + SVGDocument.idl + SVGElement.cpp + SVGElement.h + SVGElement.idl + SVGElementInstance.cpp + SVGElementInstance.h + SVGElementInstance.idl + SVGElementInstanceList.cpp + SVGElementInstanceList.h + SVGElementInstanceList.idl + SVGEllipseElement.cpp + SVGEllipseElement.h + SVGEllipseElement.idl + SVGException.h + SVGException.idl + SVGExternalResourcesRequired.cpp + SVGExternalResourcesRequired.h + SVGExternalResourcesRequired.idl + SVGFEBlendElement.cpp + SVGFEBlendElement.h + SVGFEBlendElement.idl + SVGFEColorMatrixElement.cpp + SVGFEColorMatrixElement.h + SVGFEColorMatrixElement.idl + SVGFEComponentTransferElement.cpp + SVGFEComponentTransferElement.h + SVGFEComponentTransferElement.idl + SVGFECompositeElement.cpp + SVGFECompositeElement.h + SVGFECompositeElement.idl + SVGFEDiffuseLightingElement.cpp + SVGFEDiffuseLightingElement.h + SVGFEDiffuseLightingElement.idl + SVGFEDisplacementMapElement.cpp + SVGFEDisplacementMapElement.h + SVGFEDisplacementMapElement.idl + SVGFEDistantLightElement.cpp + SVGFEDistantLightElement.h + SVGFEDistantLightElement.idl + SVGFEFloodElement.cpp + SVGFEFloodElement.h + SVGFEFloodElement.idl + SVGFEFuncAElement.cpp + SVGFEFuncAElement.h + SVGFEFuncAElement.idl + SVGFEFuncBElement.cpp + SVGFEFuncBElement.h + SVGFEFuncBElement.idl + SVGFEFuncGElement.cpp + SVGFEFuncGElement.h + SVGFEFuncGElement.idl + SVGFEFuncRElement.cpp + SVGFEFuncRElement.h + SVGFEFuncRElement.idl + SVGFEGaussianBlurElement.cpp + SVGFEGaussianBlurElement.h + SVGFEGaussianBlurElement.idl + SVGFEImageElement.cpp + SVGFEImageElement.h + SVGFEImageElement.idl + SVGFELightElement.cpp + SVGFELightElement.h + SVGFEMergeElement.cpp + SVGFEMergeElement.h + SVGFEMergeElement.idl + SVGFEMergeNodeElement.cpp + SVGFEMergeNodeElement.h + SVGFEMergeNodeElement.idl + SVGFEMorphologyElement.cpp + SVGFEMorphologyElement.h + SVGFEMorphologyElement.idl + SVGFEOffsetElement.cpp + SVGFEOffsetElement.h + SVGFEOffsetElement.idl + SVGFEPointLightElement.cpp + SVGFEPointLightElement.h + SVGFEPointLightElement.idl + SVGFESpecularLightingElement.cpp + SVGFESpecularLightingElement.h + SVGFESpecularLightingElement.idl + SVGFESpotLightElement.cpp + SVGFESpotLightElement.h + SVGFESpotLightElement.idl + SVGFETileElement.cpp + SVGFETileElement.h + SVGFETileElement.idl + SVGFETurbulenceElement.cpp + SVGFETurbulenceElement.h + SVGFETurbulenceElement.idl + SVGFilterElement.cpp + SVGFilterElement.h + SVGFilterElement.idl + SVGFilterPrimitiveStandardAttributes.cpp + SVGFilterPrimitiveStandardAttributes.h + SVGFilterPrimitiveStandardAttributes.idl + SVGFitToViewBox.cpp + SVGFitToViewBox.h + SVGFitToViewBox.idl + SVGFont.cpp + SVGFontData.cpp + SVGFontData.h + SVGFontElement.cpp + SVGFontElement.h + SVGFontElement.idl + SVGFontFaceElement.cpp + SVGFontFaceElement.h + SVGFontFaceElement.idl + SVGFontFaceFormatElement.cpp + SVGFontFaceFormatElement.h + SVGFontFaceFormatElement.idl + SVGFontFaceNameElement.cpp + SVGFontFaceNameElement.h + SVGFontFaceNameElement.idl + SVGFontFaceSrcElement.cpp + SVGFontFaceSrcElement.h + SVGFontFaceSrcElement.idl + SVGFontFaceUriElement.cpp + SVGFontFaceUriElement.h + SVGFontFaceUriElement.idl + SVGForeignObjectElement.cpp + SVGForeignObjectElement.h + SVGForeignObjectElement.idl + SVGGElement.cpp + SVGGElement.h + SVGGElement.idl + SVGGlyphElement.cpp + SVGGlyphElement.h + SVGGlyphElement.idl + SVGGlyphMap.h + SVGGradientElement.cpp + SVGGradientElement.h + SVGGradientElement.idl + SVGHKernElement.cpp + SVGHKernElement.h + SVGHKernElement.idl + SVGImageElement.cpp + SVGImageElement.h + SVGImageElement.idl + SVGImageLoader.cpp + SVGImageLoader.h + SVGLangSpace.cpp + SVGLangSpace.h + SVGLangSpace.idl + SVGLength.cpp + SVGLength.h + SVGLength.idl + SVGLengthList.cpp + SVGLengthList.h + SVGLengthList.idl + SVGLinearGradientElement.cpp + SVGLinearGradientElement.h + SVGLinearGradientElement.idl + SVGLineElement.cpp + SVGLineElement.h + SVGLineElement.idl + SVGList.h + SVGListTraits.h + SVGLocatable.cpp + SVGLocatable.h + SVGLocatable.idl + SVGMarkerElement.cpp + SVGMarkerElement.h + SVGMarkerElement.idl + SVGMaskElement.cpp + SVGMaskElement.h + SVGMaskElement.idl + SVGMatrix.idl + SVGMetadataElement.cpp + SVGMetadataElement.h + SVGMetadataElement.idl + SVGMissingGlyphElement.cpp + SVGMissingGlyphElement.h + SVGMissingGlyphElement.idl + SVGMPathElement.cpp + SVGMPathElement.h + SVGNumber.idl + SVGNumberList.cpp + SVGNumberList.h + SVGNumberList.idl + SVGPaint.cpp + SVGPaint.h + SVGPaint.idl + SVGParserUtilities.cpp + SVGParserUtilities.h + SVGPathElement.cpp + SVGPathElement.h + SVGPathElement.idl + SVGPathSegArcAbs.idl + SVGPathSegArc.cpp + SVGPathSegArc.h + SVGPathSegArcRel.idl + SVGPathSegClosePath.cpp + SVGPathSegClosePath.h + SVGPathSegClosePath.idl + SVGPathSegCurvetoCubicAbs.idl + SVGPathSegCurvetoCubic.cpp + SVGPathSegCurvetoCubic.h + SVGPathSegCurvetoCubicRel.idl + SVGPathSegCurvetoCubicSmoothAbs.idl + SVGPathSegCurvetoCubicSmooth.cpp + SVGPathSegCurvetoCubicSmooth.h + SVGPathSegCurvetoCubicSmoothRel.idl + SVGPathSegCurvetoQuadraticAbs.idl + SVGPathSegCurvetoQuadratic.cpp + SVGPathSegCurvetoQuadratic.h + SVGPathSegCurvetoQuadraticRel.idl + SVGPathSegCurvetoQuadraticSmoothAbs.idl + SVGPathSegCurvetoQuadraticSmooth.cpp + SVGPathSegCurvetoQuadraticSmooth.h + SVGPathSegCurvetoQuadraticSmoothRel.idl + SVGPathSeg.h + SVGPathSeg.idl + SVGPathSegLinetoAbs.idl + SVGPathSegLineto.cpp + SVGPathSegLineto.h + SVGPathSegLinetoHorizontalAbs.idl + SVGPathSegLinetoHorizontal.cpp + SVGPathSegLinetoHorizontal.h + SVGPathSegLinetoHorizontalRel.idl + SVGPathSegLinetoRel.idl + SVGPathSegLinetoVerticalAbs.idl + SVGPathSegLinetoVertical.cpp + SVGPathSegLinetoVertical.h + SVGPathSegLinetoVerticalRel.idl + SVGPathSegList.cpp + SVGPathSegList.h + SVGPathSegList.idl + SVGPathSegMovetoAbs.idl + SVGPathSegMoveto.cpp + SVGPathSegMoveto.h + SVGPathSegMovetoRel.idl + SVGPatternElement.cpp + SVGPatternElement.h + SVGPatternElement.idl + SVGPoint.idl + SVGPointList.cpp + SVGPointList.h + SVGPointList.idl + SVGPolyElement.cpp + SVGPolyElement.h + SVGPolygonElement.cpp + SVGPolygonElement.h + SVGPolygonElement.idl + SVGPolylineElement.cpp + SVGPolylineElement.h + SVGPolylineElement.idl + SVGPreserveAspectRatio.cpp + SVGPreserveAspectRatio.h + SVGPreserveAspectRatio.idl + SVGRadialGradientElement.cpp + SVGRadialGradientElement.h + SVGRadialGradientElement.idl + SVGRectElement.cpp + SVGRectElement.h + SVGRectElement.idl + SVGRect.idl + SVGRenderingIntent.h + SVGRenderingIntent.idl + SVGScriptElement.cpp + SVGScriptElement.h + SVGScriptElement.idl + SVGSetElement.cpp + SVGSetElement.h + SVGSetElement.idl + SVGStopElement.cpp + SVGStopElement.h + SVGStopElement.idl + SVGStringList.cpp + SVGStringList.h + SVGStringList.idl + SVGStylable.cpp + SVGStylable.h + SVGStylable.idl + SVGStyledElement.cpp + SVGStyledElement.h + SVGStyledLocatableElement.cpp + SVGStyledLocatableElement.h + SVGStyledTransformableElement.cpp + SVGStyledTransformableElement.h + SVGStyleElement.cpp + SVGStyleElement.h + SVGStyleElement.idl + SVGSVGElement.cpp + SVGSVGElement.h + SVGSVGElement.idl + SVGSwitchElement.cpp + SVGSwitchElement.h + SVGSwitchElement.idl + SVGSymbolElement.cpp + SVGSymbolElement.h + SVGSymbolElement.idl + svgtags.in + SVGTests.cpp + SVGTests.h + SVGTests.idl + SVGTextContentElement.cpp + SVGTextContentElement.h + SVGTextContentElement.idl + SVGTextElement.cpp + SVGTextElement.h + SVGTextElement.idl + SVGTextPathElement.cpp + SVGTextPathElement.h + SVGTextPathElement.idl + SVGTextPositioningElement.cpp + SVGTextPositioningElement.h + SVGTextPositioningElement.idl + SVGTitleElement.cpp + SVGTitleElement.h + SVGTitleElement.idl + SVGTransformable.cpp + SVGTransformable.h + SVGTransformable.idl + SVGTransform.cpp + SVGTransformDistance.cpp + SVGTransformDistance.h + SVGTransform.h + SVGTransform.idl + SVGTransformList.cpp + SVGTransformList.h + SVGTransformList.idl + SVGTRefElement.cpp + SVGTRefElement.h + SVGTRefElement.idl + SVGTSpanElement.cpp + SVGTSpanElement.h + SVGTSpanElement.idl + SVGUnitTypes.h + SVGUnitTypes.idl + SVGURIReference.cpp + SVGURIReference.h + SVGURIReference.idl + SVGUseElement.cpp + SVGUseElement.h + SVGUseElement.idl + SVGViewElement.cpp + SVGViewElement.h + SVGViewElement.idl + SVGViewSpec.cpp + SVGViewSpec.h + SVGViewSpec.idl + SVGZoomAndPan.cpp + SVGZoomAndPan.h + SVGZoomAndPan.idl + SVGZoomEvent.cpp + SVGZoomEvent.h + SVGZoomEvent.idl + SynchronizablePropertyController.cpp + SynchronizablePropertyController.h + SynchronizableTypeWrapper.h + xlinkattrs.in +2 WebCore.3DRendering.exp + WebCore.DashboardSupport.exp + WebCore.gypi + WebCore.JNI.exp + WebCore.NPAPI.exp + WebCore.order + WebCorePrefix.cpp + WebCorePrefix.h + WebCore.pro + WebCore.qrc + WebCore.SVG.Animation.exp + WebCore.SVG.exp + WebCore.SVG.Filters.exp + WebCore.SVG.ForeignObject.exp + WebCore.Tiger.exp + WebCore.Video.exp + WebCore.VideoProxy.exp + websockets/ +0 WebSocketChannelClient.h + WebSocketChannel.cpp + WebSocketChannel.h + WebSocket.cpp + WebSocket.h + WebSocketHandshake.cpp + WebSocketHandshake.h + WebSocket.idl +2 wml/ +0 WMLAccessElement.cpp + WMLAccessElement.h + WMLAElement.cpp + WMLAElement.h + WMLAnchorElement.cpp + WMLAnchorElement.h + WMLAttributeNames.in + WMLBRElement.cpp + WMLBRElement.h + WMLCardElement.cpp + WMLCardElement.h + WMLDocument.cpp + WMLDocument.h + WMLDoElement.cpp + WMLDoElement.h + WMLElement.cpp + WMLElement.h + WMLErrorHandling.cpp + WMLErrorHandling.h + WMLEventHandlingElement.cpp + WMLEventHandlingElement.h + WMLFieldSetElement.cpp + WMLFieldSetElement.h + WMLFormControlElement.cpp + WMLFormControlElement.h + WMLGoElement.cpp + WMLGoElement.h + WMLImageElement.cpp + WMLImageElement.h + WMLImageLoader.cpp + WMLImageLoader.h + WMLInputElement.cpp + WMLInputElement.h + WMLInsertedLegendElement.cpp + WMLInsertedLegendElement.h + WMLIntrinsicEvent.cpp + WMLIntrinsicEvent.h + WMLIntrinsicEventHandler.cpp + WMLIntrinsicEventHandler.h + WMLMetaElement.cpp + WMLMetaElement.h + WMLNoopElement.cpp + WMLNoopElement.h + WMLOnEventElement.cpp + WMLOnEventElement.h + WMLOptGroupElement.cpp + WMLOptGroupElement.h + WMLOptionElement.cpp + WMLOptionElement.h + WMLPageState.cpp + WMLPageState.h + WMLPElement.cpp + WMLPElement.h + WMLPostfieldElement.cpp + WMLPostfieldElement.h + WMLPrevElement.cpp + WMLPrevElement.h + WMLRefreshElement.cpp + WMLRefreshElement.h + WMLSelectElement.cpp + WMLSelectElement.h + WMLSetvarElement.cpp + WMLSetvarElement.h + WMLTableElement.cpp + WMLTableElement.h + WMLTagNames.in + WMLTaskElement.cpp + WMLTaskElement.h + WMLTemplateElement.cpp + WMLTemplateElement.h + WMLTimerElement.cpp + WMLTimerElement.h + WMLVariables.cpp + WMLVariables.h +2 workers/ +0 AbstractWorker.cpp + AbstractWorker.h + AbstractWorker.idl + DedicatedWorkerContext.cpp + DedicatedWorkerContext.h + DedicatedWorkerContext.idl + DedicatedWorkerThread.cpp + DedicatedWorkerThread.h + DefaultSharedWorkerRepository.cpp + DefaultSharedWorkerRepository.h + GenericWorkerTask.h + SharedWorkerContext.cpp + SharedWorkerContext.h + SharedWorkerContext.idl + SharedWorker.cpp + SharedWorker.h + SharedWorker.idl + SharedWorkerRepository.h + SharedWorkerThread.cpp + SharedWorkerThread.h + WorkerContext.cpp + WorkerContext.h + WorkerContext.idl + WorkerContextProxy.h + Worker.cpp + Worker.h + Worker.idl + WorkerLoaderProxy.h + WorkerLocation.cpp + WorkerLocation.h + WorkerLocation.idl + WorkerMessagingProxy.cpp + WorkerMessagingProxy.h + WorkerObjectProxy.h + WorkerReportingProxy.h + WorkerRunLoop.cpp + WorkerRunLoop.h + WorkerScriptLoaderClient.h + WorkerScriptLoader.cpp + WorkerScriptLoader.h + WorkerThread.cpp + WorkerThread.h +2 xml/ +0 DOMParser.cpp + DOMParser.h + DOMParser.idl + NativeXPathNSResolver.cpp + NativeXPathNSResolver.h + xmlattrs.in + XMLHttpRequest.cpp + XMLHttpRequestException.h + XMLHttpRequestException.idl + XMLHttpRequest.h + XMLHttpRequest.idl + XMLHttpRequestProgressEvent.h + XMLHttpRequestProgressEvent.idl + XMLHttpRequestUpload.cpp + XMLHttpRequestUpload.h + XMLHttpRequestUpload.idl + XMLSerializer.cpp + XMLSerializer.h + XMLSerializer.idl + XPathEvaluator.cpp + XPathEvaluator.h + XPathEvaluator.idl + XPathException.h + XPathException.idl + XPathExpression.cpp + XPathExpression.h + XPathExpression.idl + XPathExpressionNode.cpp + XPathExpressionNode.h + XPathFunctions.cpp + XPathFunctions.h + XPathGrammar.y + XPathNamespace.cpp + XPathNamespace.h + XPathNodeSet.cpp + XPathNodeSet.h + XPathNSResolver.cpp + XPathNSResolver.h + XPathNSResolver.idl + XPathParser.cpp + XPathParser.h + XPathPath.cpp + XPathPath.h + XPathPredicate.cpp + XPathPredicate.h + XPathResult.cpp + XPathResult.h + XPathResult.idl + XPathStep.cpp + XPathStep.h + XPathUtil.cpp + XPathUtil.h + XPathValue.cpp + XPathValue.h + XPathVariableReference.cpp + XPathVariableReference.h + XSLImportRule.cpp + XSLImportRule.h + XSLStyleSheet.h + XSLStyleSheetLibxslt.cpp + XSLStyleSheetQt.cpp + XSLTExtensions.cpp + XSLTExtensions.h + XSLTProcessor.cpp + XSLTProcessor.h + XSLTProcessor.idl + XSLTProcessorLibxslt.cpp + XSLTProcessorQt.cpp + XSLTUnicodeSort.cpp + XSLTUnicodeSort.h +3 WebKit/ +0 ChangeLog + LICENSE + mac/ +0 Configurations/ +0 Version.xcconfig +2 Workers/ +0 WebWorkersPrivate.h + WebWorkersPrivate.mm +4 WebKit.pri + WebKit/qt/ +0 Api/ +0 headers.pri + qgraphicswebview.cpp + qgraphicswebview.h + qwebdatabase.cpp + qwebdatabase.h + qwebdatabase_p.h + qwebelement.cpp + qwebelement.h + qwebframe.cpp + qwebframe.h + qwebframe_p.h + qwebhistory.cpp + qwebhistory.h + qwebhistoryinterface.cpp + qwebhistoryinterface.h + qwebhistory_p.h + qwebinspector.cpp + qwebinspector.h + qwebinspector_p.h + qwebkitglobal.h + qwebkitversion.cpp + qwebkitversion.h + qwebpage.cpp + qwebpage.h + qwebpage_p.h + qwebplugindatabase.cpp + qwebplugindatabase_p.h + qwebpluginfactory.cpp + qwebpluginfactory.h + qwebsecurityorigin.cpp + qwebsecurityorigin.h + qwebsecurityorigin_p.h + qwebsettings.cpp + qwebsettings.h + qwebview.cpp + qwebview.h +2 ChangeLog + docs/ +0 docs.pri + qtwebkit.qdoc +0 conf +2 qwebview-diagram.png + webkitsnippets/ +0 qtwebkit_build_snippet.qdoc + qtwebkit_qwebinspector_snippet.cpp + qtwebkit_qwebview_snippet.cpp + simple/ +0 main.cpp + simple.pro +2 webelement/ +0 main.cpp + webelement.pro +2 webpage/ +0 main.cpp + webpage.pro +4 tests/ +0 benchmarks/ +0 loading/ +0 tst_loading.cpp + tst_loading.pro +2 painting/ +0 tst_painting.cpp + tst_painting.pro +3 qgraphicswebview/ +0 qgraphicswebview.pro + tst_qgraphicswebview.cpp +2 qwebelement/ +0 image.png + qwebelement.pro + qwebelement.qrc + style2.css + style.css + tst_qwebelement.cpp +2 qwebframe/ +0 image.png + qwebframe.pro + qwebframe.qrc + resources/ +0 image2.png +2 style.css + test1.html + test2.html + tst_qwebframe.cpp +2 qwebhistory/ +0 data/ +0 page1.html + page2.html + page3.html + page4.html + page5.html + page6.html +3 qwebhistoryinterface/ +0 qwebhistoryinterface.pro + tst_qwebhistoryinterface.cpp +2 qwebhistory/qwebhistory.pro + qwebhistory/tst_qwebhistory.cpp + qwebhistory/tst_qwebhistory.qrc + qwebpage/ +0 frametest/ +0 frame_a.html + iframe2.html + iframe3.html + iframe.html + index.html +2 qwebpage.pro + tst_qwebpage.cpp + tst_qwebpage.qrc +2 qwebplugindatabase/ +0 qwebplugindatabase.pro + tst_qwebplugindatabase.cpp +2 qwebview/ +0 data/ +0 frame_a.html + index.html +2 .gitignore + qwebview.pro + tst_qwebview.cpp + tst_qwebview.qrc +2 resources/ +0 test.swf +2 tests.pro + util.h +2 WebCoreSupport/ +0 ChromeClientQt.cpp + ChromeClientQt.h + ContextMenuClientQt.cpp + ContextMenuClientQt.h + DragClientQt.cpp + DragClientQt.h + EditCommandQt.cpp + EditCommandQt.h + EditorClientQt.cpp + EditorClientQt.h + FrameLoaderClientQt.cpp + FrameLoaderClientQt.h + InspectorClientQt.cpp + InspectorClientQt.h +2 WebKit_pch.h +2 WebKit/scripts/ +0 generate-webkitversion.pl +2 WebKit/StringsNotToBeLocalized.txt +2 wintab/ +0 pktdef.h + wintab.h +2 xorg/ +0 wacomcfg.h +2 zlib/ +0 adler32.c + algorithm.txt + ChangeLog + compress.c + configure + crc32.c + crc32.h + deflate.c + deflate.h + example.c + examples/ +0 fitblk.c + gun.c + gzappend.c + gzjoin.c + gzlog.c + gzlog.h + README.examples + zlib_how.html + zpipe.c + zran.c +2 FAQ + gzio.c + INDEX + infback.c + inffast.c + inffast.h + inffixed.h + inflate.c + inflate.h + inftrees.c + inftrees.h + Makefile +0 .in +2 make_vms.com + minigzip.c + projects/ +0 README.projects + visualc6/ +0 example.dsp + minigzip.dsp + README.txt + zlib.dsp + zlib.dsw +3 README + trees.c + trees.h + uncompr.c + win32/ +0 DLL_FAQ.txt + Makefile.bor + Makefile.emx + Makefile.gcc + Makefile.msc + VisualC.txt + zlib1.rc + zlib.def +2 zconf.h + zconf.in.h + zlib.3 + zlib.h + zutil.c + zutil.h +3 activeqt/ +0 activeqt.pro + container/ +0 container.pro + qaxbase.cpp + qaxbase.h + qaxdump.cpp + qaxobject.cpp + qaxobject.h + qaxscript.cpp + qaxscript.h + qaxscriptwrapper.cpp + qaxselect.cpp + qaxselect.h + qaxselect.ui + qaxwidget.cpp + qaxwidget.h +2 control/ +0 control.pro + qaxaggregated.h + qaxbindable.cpp + qaxbindable.h + qaxfactory.cpp + qaxfactory.h + qaxmain.cpp + qaxserverbase.cpp + qaxserver.cpp + qaxserver.def + qaxserverdll.cpp + qaxserver.ico + qaxservermain.cpp + qaxserver.rc +2 shared/ +0 qaxtypes.cpp + qaxtypes.h +3 corelib/ +0 animation/ +0 animation.pri + qabstractanimation.cpp + qabstractanimation.h + qabstractanimation_p.h + qanimationgroup.cpp + qanimationgroup.h + qanimationgroup_p.h + qparallelanimationgroup.cpp + qparallelanimationgroup.h + qparallelanimationgroup_p.h + qpauseanimation.cpp + qpauseanimation.h + qpropertyanimation.cpp + qpropertyanimation.h + qpropertyanimation_p.h + qsequentialanimationgroup.cpp + qsequentialanimationgroup.h + qsequentialanimationgroup_p.h + qvariantanimation.cpp + qvariantanimation.h + qvariantanimation_p.h +2 arch/ +0 alpha/ +0 arch.pri + qatomic_alpha.s +2 arch.pri + arm/ +0 arch.pri + qatomic_arm.cpp +2 armv6/ +0 arch.pri + qatomic_generic_armv6.cpp +2 avr32/ +0 arch.pri +2 bfin/ +0 arch.pri +2 generic/ +0 arch.pri + qatomic_generic_unix.cpp + qatomic_generic_windows.cpp +2 i386/ +0 arch.pri + qatomic_i386.s +2 ia64/ +0 arch.pri + qatomic_ia64.s +2 macosx/ +0 arch.pri + qatomic32_ppc.s +2 mips/ +0 arch.pri + qatomic_mips32.s + qatomic_mips64.s +2 parisc/ +0 arch.pri + qatomic_parisc.cpp + q_ldcw.s +2 powerpc/ +0 arch.pri + qatomic32.s + qatomic64.s +2 qatomic_alpha.h + qatomic_arch.h + qatomic_arm.h + qatomic_armv6.h + qatomic_avr32.h + qatomic_bfin.h + qatomic_bootstrap.h + qatomic_generic.h + qatomic_i386.h + qatomic_ia64.h + qatomic_macosx.h + qatomic_mips.h + qatomic_parisc.h + qatomic_powerpc.h + qatomic_s390.h + qatomic_sh4a.h + qatomic_sh.h + qatomic_sparc.h + qatomic_symbian.h + qatomic_vxworks.h + qatomic_windowsce.h + qatomic_windows.h + qatomic_x86_64.h + s390/ +0 arch.pri +2 sh/ + sh4a/ +0 arch.pri +2 sh/arch.pri + sh/qatomic_sh.cpp + sparc/ +0 arch.pri + qatomic32.s + qatomic64.s + qatomic_sparc.cpp +2 symbian/ +0 arch.pri + qatomic_symbian.cpp +2 vxworks/ +0 arch.pri + qatomic_ppc.s +2 windows/ +0 arch.pri +2 x86_64/ +0 arch.pri + qatomic_sun.s +3 codecs/ +0 codecs.pri + codecs.qdoc + qfontlaocodec.cpp + qfontlaocodec_p.h + qiconvcodec.cpp + qiconvcodec_p.h + qisciicodec.cpp + qisciicodec_p.h + qlatincodec.cpp + qlatincodec_p.h + qsimplecodec.cpp + qsimplecodec_p.h + qtextcodec.cpp + qtextcodec.h + qtextcodec_p.h + qtextcodecplugin.cpp + qtextcodecplugin.h + qtsciicodec.cpp + qtsciicodec_p.h + qutfcodec.cpp + qutfcodec_p.h +2 concurrent/ +0 concurrent.pri + qfuture.cpp + qfuture.h + qfutureinterface.cpp + qfutureinterface.h + qfutureinterface_p.h + qfuturesynchronizer.cpp + qfuturesynchronizer.h + qfuturewatcher.cpp + qfuturewatcher.h + qfuturewatcher_p.h + qrunnable.cpp + qrunnable.h + qtconcurrentcompilertest.h + qtconcurrentexception.cpp + qtconcurrentexception.h + qtconcurrentfilter.cpp + qtconcurrentfilter.h + qtconcurrentfilterkernel.h + qtconcurrentfunctionwrappers.h + qtconcurrentiteratekernel.cpp + qtconcurrentiteratekernel.h + qtconcurrentmap.cpp + qtconcurrentmap.h + qtconcurrentmapkernel.h + qtconcurrentmedian.h + qtconcurrentreducekernel.h + qtconcurrentresultstore.cpp + qtconcurrentresultstore.h + qtconcurrentrunbase.h + qtconcurrentrun.cpp + qtconcurrentrun.h + qtconcurrentstoredfunctioncall.h + qtconcurrentthreadengine.cpp + qtconcurrentthreadengine.h + qthreadpool.cpp + qthreadpool.h + qthreadpool_p.h +2 corelib.pro + eval.pri + global/ +0 global.pri + qconfig-dist.h + qconfig-large.h + qconfig-medium.h + qconfig-minimal.h + qconfig-small.h + qendian.h + qendian.qdoc + qfeatures.h + qfeatures.txt + qglobal.cpp + qglobal.h + qlibraryinfo.cpp + qlibraryinfo.h + qmalloc.cpp + qnamespace.h + qnamespace.qdoc + qnumeric.cpp + qnumeric.h + qnumeric_p.h + qt_pch.h + qt_windows.h +2 io/ +0 io.pri + qabstractfileengine.cpp + qabstractfileengine.h + qabstractfileengine_p.h + qbuffer.cpp + qbuffer.h + qdatastream.cpp + qdatastream.h + qdatastream_p.h + qdebug.cpp + qdebug.h + qdir.cpp + qdir.h + qdiriterator.cpp + qdiriterator.h + qfile.cpp + qfile.h + qfileinfo.cpp + qfileinfo.h + qfileinfo_p.h + qfile_p.h + qfilesystemwatcher.cpp + qfilesystemwatcher_dnotify.cpp + qfilesystemwatcher_dnotify_p.h + qfilesystemwatcher_fsevents.cpp + qfilesystemwatcher_fsevents_p.h + qfilesystemwatcher.h + qfilesystemwatcher_inotify.cpp + qfilesystemwatcher_inotify_p.h + qfilesystemwatcher_kqueue.cpp + qfilesystemwatcher_kqueue_p.h + qfilesystemwatcher_p.h + qfilesystemwatcher_symbian.cpp + qfilesystemwatcher_symbian_p.h + qfilesystemwatcher_win.cpp + qfilesystemwatcher_win_p.h + qfsfileengine.cpp + qfsfileengine.h + qfsfileengine_iterator.cpp + qfsfileengine_iterator_p.h + qfsfileengine_iterator_unix.cpp + qfsfileengine_iterator_win.cpp + qfsfileengine_p.h + qfsfileengine_unix.cpp + qfsfileengine_win.cpp + qiodevice.cpp + qiodevice.h + qiodevice_p.h + qnoncontiguousbytedevice.cpp + qnoncontiguousbytedevice_p.h + qprocess.cpp + qprocess.h + qprocess_p.h + qprocess_symbian.cpp + qprocess_unix.cpp + qprocess_win.cpp + qresource.cpp + qresource.h + qresource_iterator.cpp + qresource_iterator_p.h + qresource_p.h + qsettings.cpp + qsettings.h + qsettings_mac.cpp + qsettings_p.h + qsettings_win.cpp + qtemporaryfile.cpp + qtemporaryfile.h + qtextstream.cpp + qtextstream.h + qurl.cpp + qurl.h + qwindowspipewriter.cpp + qwindowspipewriter_p.h +2 kernel/ +0 kernel.pri + qabstracteventdispatcher.cpp + qabstracteventdispatcher.h + qabstracteventdispatcher_p.h + qabstractitemmodel.cpp + qabstractitemmodel.h + qabstractitemmodel_p.h + qbasictimer.cpp + qbasictimer.h + qcoreapplication.cpp + qcoreapplication.h + qcoreapplication_mac.cpp + qcoreapplication_p.h + qcoreapplication_win.cpp + qcorecmdlineargs_p.h + qcoreevent.cpp + qcoreevent.h + qcoreglobaldata.cpp + qcoreglobaldata_p.h + qcore_mac.cpp + qcore_mac_p.h + qcore_symbian_p.cpp + qcore_symbian_p.h + qcore_unix.cpp + qcore_unix_p.h + qcrashhandler.cpp + qcrashhandler_p.h + qeventdispatcher_glib.cpp + qeventdispatcher_glib_p.h + qeventdispatcher_symbian.cpp + qeventdispatcher_symbian_p.h + qeventdispatcher_unix.cpp + qeventdispatcher_unix_p.h + qeventdispatcher_win.cpp + qeventdispatcher_win_p.h + qeventloop.cpp + qeventloop.h + qfunctions_p.h + qfunctions_vxworks.cpp + qfunctions_vxworks.h + qfunctions_wince.cpp + qfunctions_wince.h + qguard_p.h + qmath.cpp + qmath.h + qmetaobject.cpp + qmetaobject.h + qmetaobject_p.h + qmetatype.cpp + qmetatype.h + qmimedata.cpp + qmimedata.h + qobjectcleanuphandler.cpp + qobjectcleanuphandler.h + qobject.cpp + qobjectdefs.h + qobject.h + qobject_p.h + qpointer.cpp + qpointer.h + qsharedmemory.cpp + qsharedmemory.h + qsharedmemory_p.h + qsharedmemory_symbian.cpp + qsharedmemory_unix.cpp + qsharedmemory_win.cpp + qsignalmapper.cpp + qsignalmapper.h + qsocketnotifier.cpp + qsocketnotifier.h + qsystemsemaphore.cpp + qsystemsemaphore.h + qsystemsemaphore_p.h + qsystemsemaphore_symbian.cpp + qsystemsemaphore_unix.cpp + qsystemsemaphore_win.cpp + qtcore_eval.cpp + qtimer.cpp + qtimer.h + qtranslator.cpp + qtranslator.h + qtranslator_p.h + qvariant.cpp + qvariant.h + qvariant_p.h + qwineventnotifier_p.cpp + qwineventnotifier_p.h +2 plugin/ +0 plugin.pri + qfactoryinterface.h + qfactoryloader.cpp + qfactoryloader_p.h + qlibrary.cpp + qlibrary.h + qlibrary_p.h + qlibrary_unix.cpp + qlibrary_win.cpp + qplugin.h + qpluginloader.cpp + qpluginloader.h + qplugin.qdoc + quuid.cpp + quuid.h +2 QtCore.dynlist + statemachine/ +0 qabstractstate.cpp + qabstractstate.h + qabstractstate_p.h + qabstracttransition.cpp + qabstracttransition.h + qabstracttransition_p.h + qeventtransition.cpp + qeventtransition.h + qeventtransition_p.h + qfinalstate.cpp + qfinalstate.h + qhistorystate.cpp + qhistorystate.h + qhistorystate_p.h + qsignaleventgenerator_p.h + qsignaltransition.cpp + qsignaltransition.h + qsignaltransition_p.h + qstate.cpp + qstate.h + qstatemachine.cpp + qstatemachine.h + qstatemachine_p.h + qstate_p.h + statemachine.pri +2 thread/ +0 qatomic.cpp + qatomic.h + qbasicatomic.h + qmutex.cpp + qmutex.h + qmutex_p.h + qmutexpool.cpp + qmutexpool_p.h + qmutex_unix.cpp + qmutex_win.cpp + qorderedmutexlocker_p.h + qreadwritelock.cpp + qreadwritelock.h + qreadwritelock_p.h + qsemaphore.cpp + qsemaphore.h + qthread.cpp + qthread.h + qthread_p.h + qthreadstorage.cpp + qthreadstorage.h + qthread_unix.cpp + qthread_win.cpp + qwaitcondition.h + qwaitcondition.qdoc + qwaitcondition_unix.cpp + qwaitcondition_win.cpp + thread.pri +2 tools/ +0 qalgorithms.h + qalgorithms.qdoc + qbitarray.cpp + qbitarray.h + qbytearray.cpp + qbytearray.h + qbytearraymatcher.cpp + qbytearraymatcher.h + qbytedata_p.h + qcache.h + qcache.qdoc + qchar.cpp + qchar.h + qcontainerfwd.h + qcontiguouscache.cpp + qcontiguouscache.h + qcryptographichash.cpp + qcryptographichash.h + qdatetime.cpp + qdatetime.h + qdatetime_p.h + qeasingcurve.cpp + qeasingcurve.h + qharfbuzz.cpp + qharfbuzz_p.h + qhash.cpp + qhash.h + qiterator.h + qiterator.qdoc + qline.cpp + qline.h + qlinkedlist.cpp + qlinkedlist.h + qlist.cpp + qlist.h + qlocale.cpp + qlocale_data_p.h + qlocale.h + qlocale_p.h + qlocale_symbian.cpp + qmap.cpp + qmap.h + qmargins.cpp + qmargins.h + qpair.h + qpair.qdoc + qpodlist_p.h + qpoint.cpp + qpoint.h + qqueue.cpp + qqueue.h + qrect.cpp + qrect.h + qregexp.cpp + qregexp.h + qringbuffer_p.h + qscopedpointer.cpp + qscopedpointer.h + qscopedpointer_p.h + qset.h + qset.qdoc + qshareddata.cpp + qshareddata.h + qsharedpointer.cpp + qsharedpointer.h + qsharedpointer_impl.h + qsize.cpp + qsize.h + qstack.cpp + qstack.h + qstringbuilder.cpp + qstringbuilder.h + qstring.cpp + qstring.h + qstringlist.cpp + qstringlist.h + qstringmatcher.cpp + qstringmatcher.h + qtextboundaryfinder.cpp + qtextboundaryfinder.h + qtimeline.cpp + qtimeline.h + qtools_p.h + qunicodetables.cpp + qunicodetables_p.h + qvarlengtharray.h + qvarlengtharray.qdoc + qvector.cpp + qvector.h + qvsnprintf.cpp + tools.pri +2 xml/ +0 .gitignore + make-parser.sh + qxmlstream.cpp + qxmlstream.g + qxmlstream.h + qxmlstream_p.h + qxmlutils.cpp + qxmlutils_p.h + xml.pri +3 dbus/ +0 dbus.pro + qdbusabstractadaptor.cpp + qdbusabstractadaptor.h + qdbusabstractadaptor_p.h + qdbusabstractinterface.cpp + qdbusabstractinterface.h + qdbusabstractinterface_p.h + qdbusargument.cpp + qdbusargument.h + qdbusargument_p.h + qdbusconnection.cpp + qdbusconnection.h + qdbusconnectioninterface.cpp + qdbusconnectioninterface.h + qdbusconnection_p.h + qdbuscontext.cpp + qdbuscontext.h + qdbuscontext_p.h + qdbusdemarshaller.cpp + qdbuserror.cpp + qdbuserror.h + qdbusextratypes.cpp + qdbusextratypes.h + qdbusintegrator.cpp + qdbusintegrator_p.h + qdbusinterface.cpp + qdbusinterface.h + qdbusinterface_p.h + qdbusinternalfilters.cpp + qdbusintrospection.cpp + qdbusintrospection_p.h + qdbusmacros.h + qdbusmarshaller.cpp + qdbusmessage.cpp + qdbusmessage.h + qdbusmessage_p.h + qdbusmetaobject.cpp + qdbusmetaobject_p.h + qdbusmetatype.cpp + qdbusmetatype.h + qdbusmetatype_p.h + qdbusmisc.cpp + qdbuspendingcall.cpp + qdbuspendingcall.h + qdbuspendingcall_p.h + qdbuspendingreply.cpp + qdbuspendingreply.h + qdbusreply.cpp + qdbusreply.h + qdbusserver.cpp + qdbusserver.h + qdbusservicewatcher.cpp + qdbusservicewatcher.h + qdbus_symbols.cpp + qdbus_symbols_p.h + qdbusthreaddebug_p.h + qdbusutil.cpp + qdbusutil_p.h + qdbusxmlgenerator.cpp + qdbusxmlparser.cpp + qdbusxmlparser_p.h +2 gui/ +0 accessible/ +0 accessible.pri + qaccessible2.cpp + qaccessible2.h + qaccessiblebridge.cpp + qaccessiblebridge.h + qaccessible.cpp + qaccessible.h + qaccessible_mac_carbon.cpp + qaccessible_mac_cocoa.mm + qaccessible_mac.mm + qaccessible_mac_p.h + qaccessibleobject.cpp + qaccessibleobject.h + qaccessibleplugin.cpp + qaccessibleplugin.h + qaccessible_unix.cpp + qaccessiblewidget.cpp + qaccessiblewidget.h + qaccessible_win.cpp +2 animation/ +0 animation.pri + qguivariantanimation.cpp +2 dialogs/ +0 dialogs.pri + images/ +0 fit-page-24.png + fit-page-32.png + fit-width-24.png + fit-width-32.png + go-first-24.png + go-first-32.png + go-last-24.png + go-last-32.png + go-next-24.png + go-next-32.png + go-previous-24.png + go-previous-32.png + layout-landscape-24.png + layout-landscape-32.png + layout-portrait-24.png + layout-portrait-32.png + page-setup-24.png + page-setup-32.png + print-24.png + print-32.png + qtlogo-64.png + status-color.png + status-gray-scale.png + view-page-multi-24.png + view-page-multi-32.png + view-page-one-24.png + view-page-one-32.png + view-page-sided-24.png + view-page-sided-32.png + zoom-in-24.png + zoom-in-32.png + zoom-out-24.png + zoom-out-32.png +2 qabstractpagesetupdialog.cpp + qabstractpagesetupdialog.h + qabstractpagesetupdialog_p.h + qabstractprintdialog.cpp + qabstractprintdialog.h + qabstractprintdialog_p.h + qcolordialog.cpp + qcolordialog.h + qcolordialog_mac.mm + qcolordialog_p.h + qdialog.cpp + qdialog.h + qdialog_p.h + qdialogsbinarycompat_win.cpp + qerrormessage.cpp + qerrormessage.h + qfiledialog.cpp + qfiledialog_embedded.ui + qfiledialog.h + qfiledialog_mac.mm + qfiledialog_p.h + qfiledialog.ui + qfiledialog_win.cpp + qfileinfogatherer.cpp + qfileinfogatherer_p.h + qfilesystemmodel.cpp + qfilesystemmodel.h + qfilesystemmodel_p.h + qfontdialog.cpp + qfontdialog.h + qfontdialog_mac.mm + qfontdialog_p.h + qfscompleter_p.h + qinputdialog.cpp + qinputdialog.h + qmessagebox.cpp + qmessagebox.h + qmessagebox.qrc + qnspanelproxy_mac.mm + qpagesetupdialog.cpp + qpagesetupdialog.h + qpagesetupdialog_mac.mm + qpagesetupdialog_unix.cpp + qpagesetupdialog_unix_p.h + qpagesetupdialog_win.cpp + qpagesetupwidget.ui + qprintdialog.h + qprintdialog_mac.mm + qprintdialog.qdoc + qprintdialog.qrc + qprintdialog_qws.cpp + qprintdialog_unix.cpp + qprintdialog_win.cpp + qprintpreviewdialog.cpp + qprintpreviewdialog.h + qprintpropertieswidget.ui + qprintsettingsoutput.ui + qprintwidget.ui + qprogressdialog.cpp + qprogressdialog.h + qsidebar.cpp + qsidebar_p.h + qwizard.cpp + qwizard.h + qwizard_win.cpp + qwizard_win_p.h +2 effects/ +0 effects.pri + qgraphicseffect.cpp + qgraphicseffect.h + qgraphicseffect_p.h +2 egl/ +0 egl.pri + qegl.cpp + qegl_p.h + qeglproperties.cpp + qeglproperties_p.h + qegl_qws.cpp + qegl_symbian.cpp + qegl_wince.cpp + qegl_x11.cpp +2 embedded/ +0 directfb.pri + embedded.pri + qcopchannel_qws.cpp + qcopchannel_qws.h + qdecorationdefault_qws.cpp + qdecorationdefault_qws.h + qdecorationfactory_qws.cpp + qdecorationfactory_qws.h + qdecorationplugin_qws.cpp + qdecorationplugin_qws.h + qdecoration_qws.cpp + qdecoration_qws.h + qdecorationstyled_qws.cpp + qdecorationstyled_qws.h + qdecorationwindows_qws.cpp + qdecorationwindows_qws.h + qdirectpainter_qws.cpp + qdirectpainter_qws.h + qkbd_defaultmap_qws_p.h + qkbddriverfactory_qws.cpp + qkbddriverfactory_qws.h + qkbddriverplugin_qws.cpp + qkbddriverplugin_qws.h + qkbdlinuxinput_qws.cpp + qkbdlinuxinput_qws.h + qkbdqnx_qws.cpp + qkbdqnx_qws.h + qkbd_qws.cpp + qkbd_qws.h + qkbd_qws_p.h + qkbdtty_qws.cpp + qkbdtty_qws.h + qkbdum_qws.cpp + qkbdum_qws.h + qkbdvfb_qws.cpp + qkbdvfb_qws.h + qlock.cpp + qlock_p.h + qmousedriverfactory_qws.cpp + qmousedriverfactory_qws.h + qmousedriverplugin_qws.cpp + qmousedriverplugin_qws.h + qmouselinuxinput_qws.cpp + qmouselinuxinput_qws.h + qmouselinuxtp_qws.cpp + qmouselinuxtp_qws.h + qmousepc_qws.cpp + qmousepc_qws.h + qmouseqnx_qws.cpp + qmouseqnx_qws.h + qmouse_qws.cpp + qmouse_qws.h + qmousetslib_qws.cpp + qmousetslib_qws.h + qmousevfb_qws.cpp + qmousevfb_qws.h + qscreendriverfactory_qws.cpp + qscreendriverfactory_qws.h + qscreendriverplugin_qws.cpp + qscreendriverplugin_qws.h + qscreenlinuxfb_qws.cpp + qscreenlinuxfb_qws.h + qscreenmulti_qws.cpp + qscreenmulti_qws_p.h + qscreenproxy_qws.cpp + qscreenproxy_qws.h + qscreenqnx_qws.cpp + qscreenqnx_qws.h + qscreen_qws.cpp + qscreen_qws.h + qscreentransformed_qws.cpp + qscreentransformed_qws.h + qscreenvfb_qws.cpp + qscreenvfb_qws.h + qsoundqss_qws.cpp + qsoundqss_qws.h + qtransportauthdefs_qws.h + qtransportauth_qws.cpp + qtransportauth_qws.h + qtransportauth_qws_p.h + qunixsocket.cpp + qunixsocket_p.h + qunixsocketserver.cpp + qunixsocketserver_p.h + qvfbhdr.h + qwindowsystem_p.h + qwindowsystem_qws.cpp + qwindowsystem_qws.h + qwscommand_qws.cpp + qwscommand_qws_p.h + qwscursor_qws.cpp + qwscursor_qws.h + qwsdisplay_qws.h + qwsdisplay_qws_p.h + qwsembedwidget.cpp + qwsembedwidget.h + qwsevent_qws.cpp + qwsevent_qws.h + qwslock.cpp + qwslock_p.h + qwsmanager_p.h + qwsmanager_qws.cpp + qwsmanager_qws.h + qwsproperty_qws.cpp + qwsproperty_qws.h + qwsprotocolitem_qws.h + qwssharedmemory.cpp + qwssharedmemory_p.h + qwssignalhandler.cpp + qwssignalhandler_p.h + qwssocket_qws.cpp + qwssocket_qws.h + qwsutils_qws.h +2 graphicsview/ +0 graphicsview.pri + qgraphicsanchorlayout.cpp + qgraphicsanchorlayout.h + qgraphicsanchorlayout_p.cpp + qgraphicsanchorlayout_p.h + qgraphicsgridlayout.cpp + qgraphicsgridlayout.h + qgraphicsitemanimation.cpp + qgraphicsitemanimation.h + qgraphicsitem.cpp + qgraphicsitem.h + qgraphicsitem_p.h + qgraphicslayout.cpp + qgraphicslayout.h + qgraphicslayoutitem.cpp + qgraphicslayoutitem.h + qgraphicslayoutitem_p.h + qgraphicslayout_p.cpp + qgraphicslayout_p.h + qgraphicslinearlayout.cpp + qgraphicslinearlayout.h + qgraphicsproxywidget.cpp + qgraphicsproxywidget.h + qgraphicsproxywidget_p.h + qgraphicsscene_bsp.cpp + qgraphicsscene_bsp_p.h + qgraphicsscenebsptreeindex.cpp + qgraphicsscenebsptreeindex_p.h + qgraphicsscene.cpp + qgraphicssceneevent.cpp + qgraphicssceneevent.h + qgraphicsscene.h + qgraphicssceneindex.cpp + qgraphicssceneindex_p.h + qgraphicsscenelinearindex.cpp + qgraphicsscenelinearindex_p.h + qgraphicsscene_p.h + qgraphicstransform.cpp + qgraphicstransform.h + qgraphicstransform_p.h + qgraphicsview.cpp + qgraphicsview.h + qgraphicsview_p.h + qgraphicswidget.cpp + qgraphicswidget.h + qgraphicswidget_p.cpp + qgraphicswidget_p.h + qgraph_p.h + qgridlayoutengine.cpp + qgridlayoutengine_p.h + qsimplex_p.cpp + qsimplex_p.h +2 gui.pro + image/ +0 image.pri + qbitmap.cpp + qbitmap.h + qbmphandler.cpp + qbmphandler_p.h + qicon.cpp + qiconengine.cpp + qiconengine.h + qiconengineplugin.cpp + qiconengineplugin.h + qicon.h + qiconloader.cpp + qiconloader_p.h + qicon_p.h + qimage.cpp + qimage.h + qimageiohandler.cpp + qimageiohandler.h + qimage_p.h + qimagepixmapcleanuphooks.cpp + qimagepixmapcleanuphooks_p.h + qimagereader.cpp + qimagereader.h + qimagewriter.cpp + qimagewriter.h + qmovie.cpp + qmovie.h + qnativeimage.cpp + qnativeimage_p.h + qpaintengine_pic.cpp + qpaintengine_pic_p.h + qpicture.cpp + qpictureformatplugin.cpp + qpictureformatplugin.h + qpicture.h + qpicture_p.h + qpixmapcache.cpp + qpixmapcache.h + qpixmapcache_p.h + qpixmap.cpp + qpixmapdata.cpp + qpixmapdatafactory.cpp + qpixmapdatafactory_p.h + qpixmapdata_p.h + qpixmapfilter.cpp + qpixmapfilter_p.h + qpixmap.h + qpixmap_mac.cpp + qpixmap_mac_p.h + qpixmap_qws.cpp + qpixmap_raster.cpp + qpixmap_raster_p.h + qpixmap_s60.cpp + qpixmap_s60_p.h + qpixmap_win.cpp + qpixmap_x11.cpp + qpixmap_x11_p.h + qpnghandler.cpp + qpnghandler_p.h + qppmhandler.cpp + qppmhandler_p.h + qxbmhandler.cpp + qxbmhandler_p.h + qxpmhandler.cpp + qxpmhandler_p.h +2 inputmethod/ +0 inputmethod.pri + qcoefepinputcontext_p.h + qcoefepinputcontext_s60.cpp + qinputcontext.cpp + qinputcontextfactory.cpp + qinputcontextfactory.h + qinputcontext.h + qinputcontext_p.h + qinputcontextplugin.cpp + qinputcontextplugin.h + qmacinputcontext_mac.cpp + qmacinputcontext_p.h + qwininputcontext_p.h + qwininputcontext_win.cpp + qwsinputcontext_p.h + qwsinputcontext_qws.cpp + qximinputcontext_p.h + qximinputcontext_x11.cpp +2 itemviews/ +0 itemviews.pri + qabstractitemdelegate.cpp + qabstractitemdelegate.h + qabstractitemview.cpp + qabstractitemview.h + qabstractitemview_p.h + qabstractproxymodel.cpp + qabstractproxymodel.h + qabstractproxymodel_p.h + qbsptree.cpp + qbsptree_p.h + qcolumnview.cpp + qcolumnviewgrip.cpp + qcolumnviewgrip_p.h + qcolumnview.h + qcolumnview_p.h + qdatawidgetmapper.cpp + qdatawidgetmapper.h + qdirmodel.cpp + qdirmodel.h + qfileiconprovider.cpp + qfileiconprovider.h + qheaderview.cpp + qheaderview.h + qheaderview_p.h + qitemdelegate.cpp + qitemdelegate.h + qitemeditorfactory.cpp + qitemeditorfactory.h + qitemeditorfactory_p.h + qitemselectionmodel.cpp + qitemselectionmodel.h + qitemselectionmodel_p.h + qlistview.cpp + qlistview.h + qlistview_p.h + qlistwidget.cpp + qlistwidget.h + qlistwidget_p.h + qproxymodel.cpp + qproxymodel.h + qproxymodel_p.h + qsortfilterproxymodel.cpp + qsortfilterproxymodel.h + qstandarditemmodel.cpp + qstandarditemmodel.h + qstandarditemmodel_p.h + qstringlistmodel.cpp + qstringlistmodel.h + qstyleditemdelegate.cpp + qstyleditemdelegate.h + qtableview.cpp + qtableview.h + qtableview_p.h + qtablewidget.cpp + qtablewidget.h + qtablewidget_p.h + qtreeview.cpp + qtreeview.h + qtreeview_p.h + qtreewidget.cpp + qtreewidget.h + qtreewidgetitemiterator.cpp + qtreewidgetitemiterator.h + qtreewidgetitemiterator_p.h + qtreewidget_p.h + qwidgetitemdata_p.h +2 kernel/ +0 kernel.pri + mac.pri + qaction.cpp + qactiongroup.cpp + qactiongroup.h + qaction.h + qaction_p.h + qapplication.cpp + qapplication.h + qapplication_mac.mm + qapplication_p.h + qapplication_qws.cpp + qapplication_s60.cpp + qapplication_win.cpp + qapplication_x11.cpp + qboxlayout.cpp + qboxlayout.h + qclipboard.cpp + qclipboard.h + qclipboard_mac.cpp + qclipboard_p.h + qclipboard_qws.cpp + qclipboard_s60.cpp + qclipboard_win.cpp + qclipboard_x11.cpp + qcocoaapplicationdelegate_mac.mm + qcocoaapplicationdelegate_mac_p.h + qcocoaapplication_mac.mm + qcocoaapplication_mac_p.h + qcocoamenuloader_mac.mm + qcocoamenuloader_mac_p.h + qcocoapanel_mac.mm + qcocoapanel_mac_p.h + qcocoaview_mac.mm + qcocoaview_mac_p.h + qcocoawindowcustomthemeframe_mac.mm + qcocoawindowcustomthemeframe_mac_p.h + qcocoawindowdelegate_mac.mm + qcocoawindowdelegate_mac_p.h + qcocoawindow_mac.mm + qcocoawindow_mac_p.h + qcursor.cpp + qcursor.h + qcursor_mac.mm + qcursor_p.h + qcursor_qws.cpp + qcursor_s60.cpp + qcursor_win.cpp + qcursor_x11.cpp + qdesktopwidget.cpp + qdesktopwidget.h + qdesktopwidget_mac.mm + qdesktopwidget_mac_p.h + qdesktopwidget.qdoc + qdesktopwidget_qws.cpp + qdesktopwidget_s60.cpp + qdesktopwidget_win.cpp + qdesktopwidget_x11.cpp + qdnd.cpp + qdnd_mac.mm + qdnd_p.h + qdnd_qws.cpp + qdnd_s60.cpp + qdnd_win.cpp + qdnd_x11.cpp + qdrag.cpp + qdrag.h + qevent.cpp + qeventdispatcher_glib_qws.cpp + qeventdispatcher_glib_qws_p.h + qeventdispatcher_mac.mm + qeventdispatcher_mac_p.h + qeventdispatcher_qws.cpp + qeventdispatcher_qws_p.h + qeventdispatcher_s60.cpp + qeventdispatcher_s60_p.h + qeventdispatcher_x11.cpp + qeventdispatcher_x11_p.h + qevent.h + qevent_p.h + qformlayout.cpp + qformlayout.h + qgesture.cpp + qgesture.h + qgesturemanager.cpp + qgesturemanager_p.h + qgesture_p.h + qgesturerecognizer.cpp + qgesturerecognizer.h + qgridlayout.cpp + qgridlayout.h + qguieventdispatcher_glib.cpp + qguieventdispatcher_glib_p.h + qguifunctions_wince.cpp + qguifunctions_wince.h + qguiplatformplugin.cpp + qguiplatformplugin_p.h + qguivariant.cpp + qkde.cpp + qkde_p.h + qkeymapper.cpp + qkeymapper_mac.cpp + qkeymapper_p.h + qkeymapper_qws.cpp + qkeymapper_s60.cpp + qkeymapper_win.cpp + qkeymapper_x11.cpp + qkeymapper_x11_p.cpp + qkeysequence.cpp + qkeysequence.h + qkeysequence_p.h + qlayout.cpp + qlayoutengine.cpp + qlayoutengine_p.h + qlayout.h + qlayoutitem.cpp + qlayoutitem.h + qlayout_p.h + qmacdefines_mac.h + qmacgesturerecognizer_mac.mm + qmacgesturerecognizer_mac_p.h + qmime.cpp + qmime.h + qmime_mac.cpp + qmime_win.cpp + qmotifdnd_x11.cpp + qmultitouch_mac.mm + qmultitouch_mac_p.h + qnsframeview_mac_p.h + qnsthemeframe_mac_p.h + qnstitledframe_mac_p.h + qole_win.cpp + qpalette.cpp + qpalette.h + qsessionmanager.h + qsessionmanager_qws.cpp + qshortcut.cpp + qshortcut.h + qshortcutmap.cpp + qshortcutmap_p.h + qsizepolicy.h + qsizepolicy.qdoc + qsoftkeymanager.cpp + qsoftkeymanager_p.h + qsound.cpp + qsound.h + qsound_mac.mm + qsound_p.h + qsound_qws.cpp + qsound_s60.cpp + qsound_win.cpp + qsound_x11.cpp + qstackedlayout.cpp + qstackedlayout.h + qstandardgestures.cpp + qstandardgestures_p.h + qt_cocoa_helpers_mac.mm + qt_cocoa_helpers_mac_p.h + qt_gui_pch.h + qt_mac.cpp + qt_mac_p.h + qtooltip.cpp + qtooltip.h + qt_s60_p.h + qt_x11_p.h + qwhatsthis.cpp + qwhatsthis.h + qwidgetaction.cpp + qwidgetaction.h + qwidgetaction_p.h + qwidget.cpp + qwidgetcreate_x11.cpp + qwidget.h + qwidget_mac.mm + qwidget_p.h + qwidget_qws.cpp + qwidget_s60.cpp + qwidget_wince.cpp + qwidget_win.cpp + qwidget_x11.cpp + qwindowdefs.h + qwindowdefs_win.h + qwinnativepangesturerecognizer_win.cpp + qwinnativepangesturerecognizer_win_p.h + qx11embed_x11.cpp + qx11embed_x11.h + qx11info_x11.cpp + qx11info_x11.h + symbian.pri + win.pri + x11.pri +2 mac/ +0 images/ +0 copyarrowcursor.png + forbiddencursor.png + leopard-unified-toolbar-on.png + pluscursor.png + spincursor.png + waitcursor.png +2 macresources.qrc + qt_menu.nib/ +0 classes.nib + info.nib + keyedobjects.nib +3 math3d/ +0 math3d.pri + qgenericmatrix.cpp + qgenericmatrix.h + qmatrix4x4.cpp + qmatrix4x4.h + qquaternion.cpp + qquaternion.h + qvector2d.cpp + qvector2d.h + qvector3d.cpp + qvector3d.h + qvector4d.cpp + qvector4d.h +2 painting/ +0 makepsheader.pl + painting.pri + qbackingstore.cpp + qbackingstore_p.h + qbezier.cpp + qbezier_p.h + qblendfunctions_armv6_rvct.s + qblendfunctions.cpp + qbrush.cpp + qbrush.h + qcolor.cpp + qcolor.h + qcolormap.h + qcolormap_mac.cpp + qcolormap.qdoc + qcolormap_qws.cpp + qcolormap_s60.cpp + qcolormap_win.cpp + qcolormap_x11.cpp + qcolor_p.cpp + qcolor_p.h + qcssutil.cpp + qcssutil_p.h + qcups.cpp + qcups_p.h + qdatabuffer_p.h + qdrawhelper_armv6_p.h + qdrawhelper_armv6_rvct.inc + qdrawhelper_armv6_rvct.s + qdrawhelper.cpp + qdrawhelper_iwmmxt.cpp + qdrawhelper_mmx3dnow.cpp + qdrawhelper_mmx.cpp + qdrawhelper_mmx_p.h + qdrawhelper_p.h + qdrawhelper_sse2.cpp + qdrawhelper_sse3dnow.cpp + qdrawhelper_sse.cpp + qdrawhelper_sse_p.h + qdrawhelper_x86_p.h + qdrawutil.cpp + qdrawutil.h + qemulationpaintengine.cpp + qemulationpaintengine_p.h + qfixed_p.h + qgraphicssystem.cpp + qgraphicssystemfactory.cpp + qgraphicssystemfactory_p.h + qgraphicssystem_mac.cpp + qgraphicssystem_mac_p.h + qgraphicssystem_p.h + qgraphicssystemplugin.cpp + qgraphicssystemplugin_p.h + qgraphicssystem_qws.cpp + qgraphicssystem_qws_p.h + qgraphicssystem_raster.cpp + qgraphicssystem_raster_p.h + qgrayraster.c + qgrayraster_p.h + qimagescale.cpp + qimagescale_p.h + qmath_p.h + qmatrix.cpp + qmatrix.h + qmemrotate.cpp + qmemrotate_p.h + qoutlinemapper.cpp + qoutlinemapper_p.h + qpaintbuffer.cpp + qpaintbuffer_p.h + qpaintdevice.cpp + qpaintdevice.h + qpaintdevice_mac.cpp + qpaintdevice.qdoc + qpaintdevice_qws.cpp + qpaintdevice_win.cpp + qpaintdevice_x11.cpp + qpaintengine_alpha.cpp + qpaintengine_alpha_p.h + qpaintengine.cpp + qpaintengineex.cpp + qpaintengineex_p.h + qpaintengine.h + qpaintengine_mac.cpp + qpaintengine_mac_p.h + qpaintengine_p.h + qpaintengine_preview.cpp + qpaintengine_preview_p.h + qpaintengine_raster.cpp + qpaintengine_raster_p.h + qpaintengine_s60.cpp + qpaintengine_s60_p.h + qpaintengine_x11.cpp + qpaintengine_x11_p.h + qpainter.cpp + qpainter.h + qpainterpath.cpp + qpainterpath.h + qpainterpath_p.h + qpainter_p.h + qpathclipper.cpp + qpathclipper_p.h + qpdf.cpp + qpdf_p.h + qpen.cpp + qpen.h + qpen_p.h + qpolygonclipper_p.h + qpolygon.cpp + qpolygon.h + qprintengine.h + qprintengine_mac.mm + qprintengine_mac_p.h + qprintengine_pdf.cpp + qprintengine_pdf_p.h + qprintengine_ps.cpp + qprintengine_ps_p.h + qprintengine_qws.cpp + qprintengine_qws_p.h + qprintengine_win.cpp + qprintengine_win_p.h + qprinter.cpp + qprinter.h + qprinterinfo.h + qprinterinfo_mac.cpp + qprinterinfo.qdoc + qprinterinfo_unix.cpp + qprinterinfo_unix_p.h + qprinterinfo_win.cpp + qprinter_p.h + qpsprinter.agl + qpsprinter.ps + qrasterdefs_p.h + qrasterizer.cpp + qrasterizer_p.h + qregion.cpp + qregion.h + qregion_mac.cpp + qregion_qws.cpp + qregion_s60.cpp + qregion_win.cpp + qregion_x11.cpp + qrgb.h + qstroker.cpp + qstroker_p.h + qstylepainter.cpp + qstylepainter.h + qtessellator.cpp + qtessellator_p.h + qtextureglyphcache.cpp + qtextureglyphcache_p.h + qtransform.cpp + qtransform.h + qvectorpath_p.h + qwindowsurface.cpp + qwindowsurface_mac.cpp + qwindowsurface_mac_p.h + qwindowsurface_p.h + qwindowsurface_qws.cpp + qwindowsurface_qws_p.h + qwindowsurface_raster.cpp + qwindowsurface_raster_p.h + qwindowsurface_s60.cpp + qwindowsurface_s60_p.h + qwindowsurface_x11.cpp + qwindowsurface_x11_p.h + qwmatrix.h +2 QtGui.dynlist + s60framework/ +0 qs60mainapplication.cpp + qs60mainapplication.h + qs60mainapplication_p.h + qs60mainappui.cpp + qs60mainappui.h + qs60maindocument.cpp + qs60maindocument.h + s60framework.pri + s60main.rss +2 statemachine/ +0 qbasickeyeventtransition.cpp + qbasickeyeventtransition_p.h + qbasicmouseeventtransition.cpp + qbasicmouseeventtransition_p.h + qguistatemachine.cpp + qkeyeventtransition.cpp + qkeyeventtransition.h + qmouseeventtransition.cpp + qmouseeventtransition.h + statemachine.pri +2 styles/ +0 images/ +0 cdr-128.png + cdr-16.png + cdr-32.png + closedock-16.png + closedock-down-16.png + computer-16.png + computer-32.png + defaults60theme.blob + desktop-16.png + desktop-32.png + dirclosed-128.png + dirclosed-16.png + dirclosed-32.png + dirlink-128.png + dirlink-16.png + dirlink-32.png + diropen-128.png + diropen-16.png + diropen-32.png + dockdock-16.png + dockdock-down-16.png + down-128.png + down-16.png + down-32.png + dvd-128.png + dvd-16.png + dvd-32.png + file-128.png + file-16.png + file-32.png + filecontents-128.png + filecontents-16.png + filecontents-32.png + fileinfo-128.png + fileinfo-16.png + fileinfo-32.png + filelink-128.png + filelink-16.png + filelink-32.png + floppy-128.png + floppy-16.png + floppy-32.png + fontbitmap-16.png + fonttruetype-16.png + harddrive-128.png + harddrive-16.png + harddrive-32.png + left-128.png + left-16.png + left-32.png + media-pause-16.png + media-pause-32.png + media-play-16.png + media-play-32.png + media-seek-backward-16.png + media-seek-backward-32.png + media-seek-forward-16.png + media-seek-forward-32.png + media-skip-backward-16.png + media-skip-backward-32.png + media-skip-forward-16.png + media-skip-forward-32.png + media-stop-16.png + media-stop-32.png + media-volume-16.png + media-volume-muted-16.png + networkdrive-128.png + networkdrive-16.png + networkdrive-32.png + newdirectory-128.png + newdirectory-16.png + newdirectory-32.png + parentdir-128.png + parentdir-16.png + parentdir-32.png + refresh-24.png + refresh-32.png + right-128.png + right-16.png + right-32.png + standardbutton-apply-128.png + standardbutton-apply-16.png + standardbutton-apply-32.png + standardbutton-cancel-128.png + standardbutton-cancel-16.png + standardbutton-cancel-32.png + standardbutton-clear-128.png + standardbutton-clear-16.png + standardbutton-clear-32.png + standardbutton-close-128.png + standardbutton-close-16.png + standardbutton-close-32.png + standardbutton-closetab-16.png + standardbutton-closetab-down-16.png + standardbutton-closetab-hover-16.png + standardbutton-delete-128.png + standardbutton-delete-16.png + standardbutton-delete-32.png + standardbutton-help-128.png + standardbutton-help-16.png + standardbutton-help-32.png + standardbutton-no-128.png + standardbutton-no-16.png + standardbutton-no-32.png + standardbutton-ok-128.png + standardbutton-ok-16.png + standardbutton-ok-32.png + standardbutton-open-128.png + standardbutton-open-16.png + standardbutton-open-32.png + standardbutton-save-128.png + standardbutton-save-16.png + standardbutton-save-32.png + standardbutton-yes-128.png + standardbutton-yes-16.png + standardbutton-yes-32.png + stop-24.png + stop-32.png + trash-128.png + trash-16.png + trash-32.png + up-128.png + up-16.png + up-32.png + viewdetailed-128.png + viewdetailed-16.png + viewdetailed-32.png + viewlist-128.png + viewlist-16.png + viewlist-32.png +2 qcdestyle.cpp + qcdestyle.h + qcleanlooksstyle.cpp + qcleanlooksstyle.h + qcleanlooksstyle_p.h + qcommonstyle.cpp + qcommonstyle.h + qcommonstyle_p.h + qcommonstylepixmaps_p.h + qgtkpainter.cpp + qgtkpainter_p.h + qgtkstyle.cpp + qgtkstyle.h + qgtkstyle_p.cpp + qgtkstyle_p.h + qmacstyle_mac.h + qmacstyle_mac.mm + qmacstylepixmaps_mac_p.h + qmacstyle.qdoc + qmotifstyle.cpp + qmotifstyle.h + qmotifstyle_p.h + qplastiquestyle.cpp + qplastiquestyle.h + qproxystyle.cpp + qproxystyle.h + qproxystyle_p.h + qs60style.cpp + qs60style.h + qs60style_p.h + qs60style_s60.cpp + qs60style_simulated.cpp + qstyle.cpp + qstylefactory.cpp + qstylefactory.h + qstyle.h + qstylehelper.cpp + qstylehelper_p.h + qstyleoption.cpp + qstyleoption.h + qstyle_p.h + qstyleplugin.cpp + qstyleplugin.h + qstyle.qrc + qstyle_s60_simulated.qrc + qstylesheetstyle.cpp + qstylesheetstyle_default.cpp + qstylesheetstyle_p.h + qstyle_wince.qrc + qwindowscestyle.cpp + qwindowscestyle.h + qwindowscestyle_p.h + qwindowsmobilestyle.cpp + qwindowsmobilestyle.h + qwindowsmobilestyle_p.h + qwindowsstyle.cpp + qwindowsstyle.h + qwindowsstyle_p.h + qwindowsvistastyle.cpp + qwindowsvistastyle.h + qwindowsvistastyle_p.h + qwindowsxpstyle.cpp + qwindowsxpstyle.h + qwindowsxpstyle_p.h + styles.pri +2 symbian/ +0 images/ +0 blank.png + busy12.png + busy3.png + busy6.png + busy9.png + closehand.png + cross.png + forbidden.png + handpoint.png + ibeam.png + openhand.png + pointer.png + sizeall.png + sizebdiag.png + sizefdiag.png + sizehor.png + sizever.png + splith.png + splitv.png + uparrow.png + wait10.png + wait11.png + wait12.png + wait1.png + wait2.png + wait3.png + wait4.png + wait5.png + wait6.png + wait7.png + wait8.png + wait9.png + whatsthis.png +2 qsymbianevent.cpp + qsymbianevent.h + symbianresources.qrc +2 text/ +0 qabstractfontengine_p.h + qabstractfontengine_qws.cpp + qabstractfontengine_qws.h + qabstracttextdocumentlayout.cpp + qabstracttextdocumentlayout.h + qabstracttextdocumentlayout_p.h + qcssparser.cpp + qcssparser_p.h + qcssscanner.cpp + qfont.cpp + qfontdatabase.cpp + qfontdatabase.h + qfontdatabase_mac.cpp + qfontdatabase_qws.cpp + qfontdatabase_s60.cpp + qfontdatabase_win.cpp + qfontdatabase_x11.cpp + qfontengine.cpp + qfontengine_ft.cpp + qfontengine_ft_p.h + qfontengineglyphcache_p.h + qfontengine_mac.mm + qfontengine_p.h + qfontengine_qpf.cpp + qfontengine_qpf_p.h + qfontengine_qws.cpp + qfontengine_s60.cpp + qfontengine_s60_p.h + qfontengine_win.cpp + qfontengine_win_p.h + qfontengine_x11.cpp + qfontengine_x11_p.h + qfont.h + qfontinfo.h + qfont_mac.cpp + qfontmetrics.cpp + qfontmetrics.h + qfont_p.h + qfont_qws.cpp + qfont_s60.cpp + qfontsubset.cpp + qfontsubset_p.h + qfont_win.cpp + qfont_x11.cpp + qfragmentmap.cpp + qfragmentmap_p.h + qpfutil.cpp + qsyntaxhighlighter.cpp + qsyntaxhighlighter.h + qtextcontrol.cpp + qtextcontrol_p.h + qtextcontrol_p_p.h + qtextcursor.cpp + qtextcursor.h + qtextcursor_p.h + qtextdocument.cpp + qtextdocumentfragment.cpp + qtextdocumentfragment.h + qtextdocumentfragment_p.h + qtextdocument.h + qtextdocumentlayout.cpp + qtextdocumentlayout_p.h + qtextdocument_p.cpp + qtextdocument_p.h + qtextdocumentwriter.cpp + qtextdocumentwriter.h + qtextengine.cpp + qtextengine_mac.cpp + qtextengine_p.h + qtextformat.cpp + qtextformat.h + qtextformat_p.h + qtexthtmlparser.cpp + qtexthtmlparser_p.h + qtextimagehandler.cpp + qtextimagehandler_p.h + qtextlayout.cpp + qtextlayout.h + qtextlist.cpp + qtextlist.h + qtextobject.cpp + qtextobject.h + qtextobject_p.h + qtextodfwriter.cpp + qtextodfwriter_p.h + qtextoption.cpp + qtextoption.h + qtexttable.cpp + qtexttable.h + qtexttable_p.h + qzip.cpp + qzipreader_p.h + qzipwriter_p.h + text.pri +2 util/ +0 qcompleter.cpp + qcompleter.h + qcompleter_p.h + qdesktopservices.cpp + qdesktopservices.h + qdesktopservices_mac.cpp + qdesktopservices_qws.cpp + qdesktopservices_s60.cpp + qdesktopservices_win.cpp + qdesktopservices_x11.cpp + qsystemtrayicon.cpp + qsystemtrayicon.h + qsystemtrayicon_mac.mm + qsystemtrayicon_p.h + qsystemtrayicon_qws.cpp + qsystemtrayicon_win.cpp + qsystemtrayicon_x11.cpp + qundogroup.cpp + qundogroup.h + qundostack.cpp + qundostack.h + qundostack_p.h + qundoview.cpp + qundoview.h + util.pri +2 widgets/ +0 qabstractbutton.cpp + qabstractbutton.h + qabstractbutton_p.h + qabstractscrollarea.cpp + qabstractscrollarea.h + qabstractscrollarea_p.h + qabstractslider.cpp + qabstractslider.h + qabstractslider_p.h + qabstractspinbox.cpp + qabstractspinbox.h + qabstractspinbox_p.h + qbuttongroup.cpp + qbuttongroup.h + qcalendartextnavigator_p.h + qcalendarwidget.cpp + qcalendarwidget.h + qcheckbox.cpp + qcheckbox.h + qcocoamenu_mac.mm + qcocoamenu_mac_p.h + qcocoatoolbardelegate_mac.mm + qcocoatoolbardelegate_mac_p.h + qcombobox.cpp + qcombobox.h + qcombobox_p.h + qcommandlinkbutton.cpp + qcommandlinkbutton.h + qdatetimeedit.cpp + qdatetimeedit.h + qdatetimeedit_p.h + qdial.cpp + qdial.h + qdialogbuttonbox.cpp + qdialogbuttonbox.h + qdockarealayout.cpp + qdockarealayout_p.h + qdockwidget.cpp + qdockwidget.h + qdockwidget_p.h + qeffects.cpp + qeffects_p.h + qfocusframe.cpp + qfocusframe.h + qfontcombobox.cpp + qfontcombobox.h + qframe.cpp + qframe.h + qframe_p.h + qgroupbox.cpp + qgroupbox.h + qlabel.cpp + qlabel.h + qlabel_p.h + qlcdnumber.cpp + qlcdnumber.h + qlinecontrol.cpp + qlinecontrol_p.h + qlineedit.cpp + qlineedit.h + qlineedit_p.cpp + qlineedit_p.h + qmaccocoaviewcontainer_mac.h + qmaccocoaviewcontainer_mac.mm + qmacnativewidget_mac.h + qmacnativewidget_mac.mm + qmainwindow.cpp + qmainwindow.h + qmainwindowlayout.cpp + qmainwindowlayout_mac.mm + qmainwindowlayout_p.h + qmdiarea.cpp + qmdiarea.h + qmdiarea_p.h + qmdisubwindow.cpp + qmdisubwindow.h + qmdisubwindow_p.h + qmenubar.cpp + qmenubar.h + qmenubar_p.h + qmenu.cpp + qmenudata.cpp + qmenudata.h + qmenu.h + qmenu_mac.mm + qmenu_p.h + qmenu_symbian.cpp + qmenu_wince.cpp + qmenu_wince.rc + qmenu_wince_resource_p.h + qplaintextedit.cpp + qplaintextedit.h + qplaintextedit_p.h + qprintpreviewwidget.cpp + qprintpreviewwidget.h + qprogressbar.cpp + qprogressbar.h + qpushbutton.cpp + qpushbutton.h + qpushbutton_p.h + qradiobutton.cpp + qradiobutton.h + qrubberband.cpp + qrubberband.h + qscrollarea.cpp + qscrollarea.h + qscrollarea_p.h + qscrollbar.cpp + qscrollbar.h + qsizegrip.cpp + qsizegrip.h + qslider.cpp + qslider.h + qspinbox.cpp + qspinbox.h + qsplashscreen.cpp + qsplashscreen.h + qsplitter.cpp + qsplitter.h + qsplitter_p.h + qstackedwidget.cpp + qstackedwidget.h + qstatusbar.cpp + qstatusbar.h + qtabbar.cpp + qtabbar.h + qtabbar_p.h + qtabwidget.cpp + qtabwidget.h + qtextbrowser.cpp + qtextbrowser.h + qtextedit.cpp + qtextedit.h + qtextedit_p.h + qtoolbararealayout.cpp + qtoolbararealayout_p.h + qtoolbar.cpp + qtoolbarextension.cpp + qtoolbarextension_p.h + qtoolbar.h + qtoolbarlayout.cpp + qtoolbarlayout_p.h + qtoolbar_p.h + qtoolbarseparator.cpp + qtoolbarseparator_p.h + qtoolbox.cpp + qtoolbox.h + qtoolbutton.cpp + qtoolbutton.h + qvalidator.cpp + qvalidator.h + qwidgetanimator.cpp + qwidgetanimator_p.h + qwidgetresizehandler.cpp + qwidgetresizehandler_p.h + qworkspace.cpp + qworkspace.h + widgets.pri +3 multimedia/ +0 audio/ +0 audio.pri + qaudio.cpp + qaudiodevicefactory.cpp + qaudiodevicefactory_p.h + qaudiodeviceinfo_alsa_p.cpp + qaudiodeviceinfo_alsa_p.h + qaudiodeviceinfo.cpp + qaudiodeviceinfo.h + qaudiodeviceinfo_mac_p.cpp + qaudiodeviceinfo_mac_p.h + qaudiodeviceinfo_win32_p.cpp + qaudiodeviceinfo_win32_p.h + qaudioengine.cpp + qaudioengine.h + qaudioengineplugin.cpp + qaudioengineplugin.h + qaudioformat.cpp + qaudioformat.h + qaudio.h + qaudioinput_alsa_p.cpp + qaudioinput_alsa_p.h + qaudioinput.cpp + qaudioinput.h + qaudioinput_mac_p.cpp + qaudioinput_mac_p.h + qaudioinput_win32_p.cpp + qaudioinput_win32_p.h + qaudio_mac.cpp + qaudio_mac_p.h + qaudiooutput_alsa_p.cpp + qaudiooutput_alsa_p.h + qaudiooutput.cpp + qaudiooutput.h + qaudiooutput_mac_p.cpp + qaudiooutput_mac_p.h + qaudiooutput_win32_p.cpp + qaudiooutput_win32_p.h +2 multimedia.pro + video/ +0 qabstractvideobuffer.cpp + qabstractvideobuffer.h + qabstractvideobuffer_p.h + qabstractvideosurface.cpp + qabstractvideosurface.h + qabstractvideosurface_p.h + qimagevideobuffer.cpp + qimagevideobuffer_p.h + qmemoryvideobuffer.cpp + qmemoryvideobuffer_p.h + qvideoframe.cpp + qvideoframe.h + qvideosurfaceformat.cpp + qvideosurfaceformat.h + video.pri +3 network/ +0 access/ +0 access.pri + qabstractnetworkcache.cpp + qabstractnetworkcache.h + qabstractnetworkcache_p.h + qftp.cpp + qftp.h + qhttp.cpp + qhttp.h + qhttpnetworkconnectionchannel.cpp + qhttpnetworkconnectionchannel_p.h + qhttpnetworkconnection.cpp + qhttpnetworkconnection_p.h + qhttpnetworkheader.cpp + qhttpnetworkheader_p.h + qhttpnetworkreply.cpp + qhttpnetworkreply_p.h + qhttpnetworkrequest.cpp + qhttpnetworkrequest_p.h + qnetworkaccessbackend.cpp + qnetworkaccessbackend_p.h + qnetworkaccesscachebackend.cpp + qnetworkaccesscachebackend_p.h + qnetworkaccesscache.cpp + qnetworkaccesscache_p.h + qnetworkaccessdatabackend.cpp + qnetworkaccessdatabackend_p.h + qnetworkaccessdebugpipebackend.cpp + qnetworkaccessdebugpipebackend_p.h + qnetworkaccessfilebackend.cpp + qnetworkaccessfilebackend_p.h + qnetworkaccessftpbackend.cpp + qnetworkaccessftpbackend_p.h + qnetworkaccesshttpbackend.cpp + qnetworkaccesshttpbackend_p.h + qnetworkaccessmanager.cpp + qnetworkaccessmanager.h + qnetworkaccessmanager_p.h + qnetworkcookie.cpp + qnetworkcookie.h + qnetworkcookiejar.cpp + qnetworkcookiejar.h + qnetworkcookiejar_p.h + qnetworkcookie_p.h + qnetworkdiskcache.cpp + qnetworkdiskcache.h + qnetworkdiskcache_p.h + qnetworkreply.cpp + qnetworkreply.h + qnetworkreplyimpl.cpp + qnetworkreplyimpl_p.h + qnetworkreply_p.h + qnetworkrequest.cpp + qnetworkrequest.h + qnetworkrequest_p.h +2 kernel/ +0 kernel.pri + qauthenticator.cpp + qauthenticator.h + qauthenticator_p.h + qhostaddress.cpp + qhostaddress.h + qhostaddress_p.h + qhostinfo.cpp + qhostinfo.h + qhostinfo_p.h + qhostinfo_unix.cpp + qhostinfo_win.cpp + qnetworkinterface.cpp + qnetworkinterface.h + qnetworkinterface_p.h + qnetworkinterface_symbian.cpp + qnetworkinterface_unix.cpp + qnetworkinterface_win.cpp + qnetworkinterface_win_p.h + qnetworkproxy.cpp + qnetworkproxy_generic.cpp + qnetworkproxy.h + qnetworkproxy_mac.cpp + qnetworkproxy_p.h + qnetworkproxy_win.cpp + qurlinfo.cpp + qurlinfo.h +2 network.pro + network.qrc + socket/ +0 qabstractsocket.cpp + qabstractsocketengine.cpp + qabstractsocketengine_p.h + qabstractsocket.h + qabstractsocket_p.h + qhttpsocketengine.cpp + qhttpsocketengine_p.h + qlocalserver.cpp + qlocalserver.h + qlocalserver_p.h + qlocalserver_tcp.cpp + qlocalserver_unix.cpp + qlocalserver_win.cpp + qlocalsocket.cpp + qlocalsocket.h + qlocalsocket_p.h + qlocalsocket_tcp.cpp + qlocalsocket_unix.cpp + qlocalsocket_win.cpp + qnativesocketengine.cpp + qnativesocketengine_p.h + qnativesocketengine_unix.cpp + qnativesocketengine_win.cpp + qnet_unix_p.h + qsocks5socketengine.cpp + qsocks5socketengine_p.h + qtcpserver.cpp + qtcpserver.h + qtcpsocket.cpp + qtcpsocket.h + qtcpsocket_p.h + qudpsocket.cpp + qudpsocket.h + socket.pri +2 ssl/ +0 qsslcertificate.cpp + qsslcertificate.h + qsslcertificate_p.h + qsslcipher.cpp + qsslcipher.h + qsslcipher_p.h + qsslconfiguration.cpp + qsslconfiguration.h + qsslconfiguration_p.h + qssl.cpp + qsslerror.cpp + qsslerror.h + qssl.h + qsslkey.cpp + qsslkey.h + qsslkey_p.h + qsslsocket.cpp + qsslsocket.h + qsslsocket_openssl.cpp + qsslsocket_openssl_p.h + qsslsocket_openssl_symbols.cpp + qsslsocket_openssl_symbols_p.h + qsslsocket_p.h + qt-ca-bundle.crt + ssl.pri +3 opengl/ +0 gl2paintengineex/ +0 qgl2pexvertexarray.cpp + qgl2pexvertexarray_p.h + qglcustomshaderstage.cpp + qglcustomshaderstage_p.h + qglengineshadermanager.cpp + qglengineshadermanager_p.h + qglengineshadersource_p.h + qglgradientcache.cpp + qglgradientcache_p.h + qpaintengineex_opengl2.cpp + qpaintengineex_opengl2_p.h + qtriangulatingstroker.cpp + qtriangulatingstroker_p.h +2 opengl.pro + qgl_cl_p.h + qglcolormap.cpp + qglcolormap.h + qgl.cpp + qgl_egl.cpp + qgl_egl_p.h + qglextensions.cpp + qglextensions_p.h + qglframebufferobject.cpp + qglframebufferobject.h + qglframebufferobject_p.h + qgl.h + qgl_mac.mm + qglpaintdevice.cpp + qglpaintdevice_p.h + qgl_p.h + qglpixelbuffer.cpp + qglpixelbuffer_egl.cpp + qglpixelbuffer.h + qglpixelbuffer_mac.mm + qglpixelbuffer_p.h + qglpixelbuffer_win.cpp + qglpixelbuffer_x11.cpp + qglpixmapfilter.cpp + qglpixmapfilter_p.h + qgl_qws.cpp + qglscreen_qws.cpp + qglscreen_qws.h + qglshaderprogram.cpp + qglshaderprogram.h + qgl_wince.cpp + qgl_win.cpp + qglwindowsurface_qws.cpp + qglwindowsurface_qws_p.h + qgl_x11.cpp + qgl_x11egl.cpp + qgraphicsshadereffect.cpp + qgraphicsshadereffect_p.h + qgraphicssystem_gl.cpp + qgraphicssystem_gl_p.h + qpaintengine_opengl.cpp + qpaintengine_opengl_p.h + qpixmapdata_gl.cpp + qpixmapdata_gl_p.h + qpixmapdata_x11gl_egl.cpp + qpixmapdata_x11gl_p.h + qwindowsurface_gl.cpp + qwindowsurface_gl_p.h + qwindowsurface_x11gl.cpp + qwindowsurface_x11gl_p.h + util/ +0 brushes.conf + brush_painter.glsl + composition_mode_colorburn.glsl + composition_mode_colordodge.glsl + composition_mode_darken.glsl + composition_mode_difference.glsl + composition_mode_exclusion.glsl + composition_mode_hardlight.glsl + composition_mode_lighten.glsl + composition_mode_multiply.glsl + composition_mode_overlay.glsl + composition_modes.conf + composition_mode_screen.glsl + composition_mode_softlight.glsl + conical_brush.glsl + ellipse_aa.glsl + fast_painter.glsl + fragmentprograms_p.h + generator.cpp + generator.pro + glsl_to_include.sh + linear_brush.glsl + masks.conf + painter.glsl + painter_nomask.glsl + pattern_brush.glsl + radial_brush.glsl + README-GLSL + simple_porter_duff.glsl + solid_brush.glsl + texture_brush.glsl + trap_exact_aa.glsl +3 openvg/ +0 openvg.pro + qpaintengine_vg.cpp + qpaintengine_vg_p.h + qpixmapdata_vg.cpp + qpixmapdata_vg_p.h + qpixmapfilter_vg.cpp + qpixmapfilter_vg_p.h + qvgcompositionhelper_p.h + qvg.h + qvg_p.h + qwindowsurface_vg.cpp + qwindowsurface_vgegl.cpp + qwindowsurface_vgegl_p.h + qwindowsurface_vg_p.h +2 phonon/ +0 phonon.pro +2 plugins/ +0 accessible/ +0 accessible.pro + compat/ +0 compat.pro + main.cpp + q3complexwidgets.cpp + q3complexwidgets.h + q3simplewidgets.cpp + q3simplewidgets.h + qaccessiblecompat.cpp + qaccessiblecompat.h +2 qaccessiblebase.pri + widgets/ +0 complexwidgets.cpp + complexwidgets.h + main.cpp + qaccessiblemenu.cpp + qaccessiblemenu.h + qaccessiblewidgets.cpp + qaccessiblewidgets.h + rangecontrols.cpp + rangecontrols.h + simplewidgets.cpp + simplewidgets.h + widgets.pro +3 audio/ +0 audio.pro +2 codecs/ +0 cn/ +0 cn.pro + main.cpp + qgb18030codec.cpp + qgb18030codec.h +2 codecs.pro + jp/ +0 jp.pro + main.cpp + qeucjpcodec.cpp + qeucjpcodec.h + qfontjpcodec.cpp + qfontjpcodec.h + qjiscodec.cpp + qjiscodec.h + qjpunicode.cpp + qjpunicode.h + qsjiscodec.cpp + qsjiscodec.h +2 kr/ +0 cp949codetbl.h + kr.pro + main.cpp + qeuckrcodec.cpp + qeuckrcodec.h +2 tw/ +0 main.cpp + qbig5codec.cpp + qbig5codec.h + tw.pro +3 decorations/ +0 decorations.pro + default/ +0 default.pro + main.cpp +2 styled/ +0 main.cpp + styled.pro +2 windows/ +0 main.cpp + windows.pro +3 gfxdrivers/ +0 ahi/ +0 ahi.pro + qscreenahiplugin.cpp + qscreenahi_qws.cpp + qscreenahi_qws.h +2 directfb/ +0 directfb.pro + qdirectfbkeyboard.cpp + qdirectfbkeyboard.h + qdirectfbmouse.cpp + qdirectfbmouse.h + qdirectfbpaintdevice.cpp + qdirectfbpaintdevice.h + qdirectfbpaintengine.cpp + qdirectfbpaintengine.h + qdirectfbpixmap.cpp + qdirectfbpixmap.h + qdirectfbscreen.cpp + qdirectfbscreen.h + qdirectfbscreenplugin.cpp + qdirectfbwindowsurface.cpp + qdirectfbwindowsurface.h +2 gfxdrivers.pro + linuxfb/ +0 linuxfb.pro + main.cpp +2 powervr/ +0 powervr.pri + powervr.pro + pvreglscreen/ +0 pvreglscreen.cpp + pvreglscreen.h + pvreglscreenplugin.cpp + pvreglscreen.pro + pvreglwindowsurface.cpp + pvreglwindowsurface.h +2 QWSWSEGL/ +0 pvrqwsdrawable.c + pvrqwsdrawable.h + pvrqwsdrawable_p.h + pvrqwswsegl.c + QWSWSEGL.pro +2 README +2 qvfb/ +0 main.cpp + qvfb.pro +2 transformed/ +0 main.cpp + transformed.pro +2 vnc/ +0 main.cpp + qscreenvnc_p.h + qscreenvnc_qws.cpp + qscreenvnc_qws.h + vnc.pro +3 graphicssystems/ +0 graphicssystems.pro + opengl/ +0 main.cpp + opengl.pro +2 openvg/ +0 main.cpp + openvg.pro + qgraphicssystem_vg.cpp + qgraphicssystem_vg_p.h +2 shivavg/ +0 main.cpp + README + shivavggraphicssystem.cpp + shivavggraphicssystem.h + shivavg.pro + shivavgwindowsurface.cpp + shivavgwindowsurface.h +2 trace/ +0 main.cpp + qgraphicssystem_trace.cpp + qgraphicssystem_trace_p.h + trace.pro +3 iconengines/ +0 iconengines.pro + svgiconengine/ +0 main.cpp + qsvgiconengine.cpp + qsvgiconengine.h + svgiconengine.pro +3 imageformats/ +0 gif/ +0 gif.pro + main.cpp + qgifhandler.cpp + qgifhandler.h +2 ico/ +0 ico.pro + main.cpp + qicohandler.cpp + qicohandler.h +2 imageformats.pro + jpeg/ +0 jpeg.pro + main.cpp + qjpeghandler.cpp + qjpeghandler.h +2 mng/ +0 main.cpp + mng.pro + qmnghandler.cpp + qmnghandler.h +2 svg/ +0 main.cpp + qsvgiohandler.cpp + qsvgiohandler.h + svg.pro +2 tiff/ +0 main.cpp + qtiffhandler.cpp + qtiffhandler.h + tiff.pro +3 inputmethods/ +0 imsw-multi/ +0 imsw-multi.pro + qmultiinputcontext.cpp + qmultiinputcontext.h + qmultiinputcontextplugin.cpp + qmultiinputcontextplugin.h +2 inputmethods.pro +2 kbddrivers/ +0 kbddrivers.pro + linuxinput/ +0 linuxinput.pro + main.cpp +3 mousedrivers/ +0 linuxtp/ +0 linuxtp.pro + main.cpp +2 mousedrivers.pro + pc/ +0 main.cpp + pc.pro +2 tslib/ +0 main.cpp + tslib.pro +3 phonon/ +0 ds9/ +0 ds9.pro +2 gstreamer/ +0 gstreamer.pro +2 mmf/ +0 mmf.pro +2 phonon.pro + qt7/ +0 qt7.pro +2 waveout/ +0 waveout.pro +3 plugins.pro + qpluginbase.pri + s60/ +0 3_1/ +0 3_1.pro +2 3_2/ +0 3_2.pro +2 5_0/ +0 5_0.pro +2 bwins/ +0 qts60pluginu.def +2 eabi/ +0 qts60pluginu.def +2 s60pluginbase.pri + s60.pro + src/ +0 qcoreapplication_3_1.cpp + qcoreapplication_3_2.cpp + qdesktopservices_3_1.cpp + qdesktopservices_3_2.cpp + qlocale_3_1.cpp + qlocale_3_2.cpp +3 script/ +0 qtdbus/ +0 main.cpp + main.h + qtdbus.pro +2 script.pro +2 sqldrivers/ +0 db2/ +0 db2.pro + main.cpp + README +2 ibase/ +0 ibase.pro + main.cpp +2 mysql/ +0 main.cpp + mysql.pro + README +2 oci/ +0 main.cpp + oci.pro + README +2 odbc/ +0 main.cpp + odbc.pro + README +2 psql/ +0 main.cpp + psql.pro + README +2 qsqldriverbase.pri + README + sqldrivers.pro + sqlite/ + sqlite2/ +0 README + smain.cpp + sqlite2.pro +2 sqlite/README + sqlite/smain.cpp + sqlite/sqlite.pro + sqlite_symbian/ +0 SQLite3_v9.2.zip + sqlite_symbian.pro +2 tds/ +0 main.cpp + README + tds.pro +4 qbase.pri + qt3support/ +0 canvas/ +0 canvas.pri + q3canvas.cpp + q3canvas.h +2 dialogs/ +0 dialogs.pri + q3filedialog.cpp + q3filedialog.h + q3filedialog_mac.cpp + q3filedialog_win.cpp + q3progressdialog.cpp + q3progressdialog.h + q3tabdialog.cpp + q3tabdialog.h + q3wizard.cpp + q3wizard.h +2 itemviews/ +0 itemviews.pri + q3iconview.cpp + q3iconview.h + q3listbox.cpp + q3listbox.h + q3listview.cpp + q3listview.h + q3table.cpp + q3table.h +2 network/ +0 network.pri + q3dns.cpp + q3dns.h + q3ftp.cpp + q3ftp.h + q3http.cpp + q3http.h + q3localfs.cpp + q3localfs.h + q3network.cpp + q3network.h + q3networkprotocol.cpp + q3networkprotocol.h + q3serversocket.cpp + q3serversocket.h + q3socket.cpp + q3socketdevice.cpp + q3socketdevice.h + q3socketdevice_unix.cpp + q3socketdevice_win.cpp + q3socket.h + q3url.cpp + q3url.h + q3urloperator.cpp + q3urloperator.h +2 other/ +0 other.pri + q3accel.cpp + q3accel.h + q3boxlayout.cpp + q3boxlayout.h + q3dragobject.cpp + q3dragobject.h + q3dropsite.cpp + q3dropsite.h + q3gridlayout.h + q3membuf.cpp + q3membuf_p.h + q3mimefactory.cpp + q3mimefactory.h + q3polygonscanner.cpp + q3polygonscanner.h + q3process.cpp + q3process.h + q3process_unix.cpp + q3process_win.cpp + qiconset.h + qt_compat_pch.h +2 painting/ +0 painting.pri + q3paintdevicemetrics.cpp + q3paintdevicemetrics.h + q3paintengine_svg.cpp + q3paintengine_svg_p.h + q3painter.cpp + q3painter.h + q3picture.cpp + q3picture.h + q3pointarray.cpp + q3pointarray.h +2 qt3support.pro + sql/ +0 q3databrowser.cpp + q3databrowser.h + q3datatable.cpp + q3datatable.h + q3dataview.cpp + q3dataview.h + q3editorfactory.cpp + q3editorfactory.h + q3sqlcursor.cpp + q3sqlcursor.h + q3sqleditorfactory.cpp + q3sqleditorfactory.h + q3sqlfieldinfo.h + q3sqlfieldinfo.qdoc + q3sqlform.cpp + q3sqlform.h + q3sqlmanager_p.cpp + q3sqlmanager_p.h + q3sqlpropertymap.cpp + q3sqlpropertymap.h + q3sqlrecordinfo.h + q3sqlrecordinfo.qdoc + q3sqlselectcursor.cpp + q3sqlselectcursor.h + sql.pri +2 text/ +0 q3multilineedit.cpp + q3multilineedit.h + q3richtext.cpp + q3richtext_p.cpp + q3richtext_p.h + q3simplerichtext.cpp + q3simplerichtext.h + q3stylesheet.cpp + q3stylesheet.h + q3syntaxhighlighter.cpp + q3syntaxhighlighter.h + q3syntaxhighlighter_p.h + q3textbrowser.cpp + q3textbrowser.h + q3textedit.cpp + q3textedit.h + q3textstream.cpp + q3textstream.h + q3textview.cpp + q3textview.h + text.pri +2 tools/ +0 q3asciicache.h + q3asciicache.qdoc + q3asciidict.h + q3asciidict.qdoc + q3cache.h + q3cache.qdoc + q3cleanuphandler.h + q3cstring.cpp + q3cstring.h + q3deepcopy.cpp + q3deepcopy.h + q3dict.h + q3dict.qdoc + q3garray.cpp + q3garray.h + q3gcache.cpp + q3gcache.h + q3gdict.cpp + q3gdict.h + q3glist.cpp + q3glist.h + q3gvector.cpp + q3gvector.h + q3intcache.h + q3intcache.qdoc + q3intdict.h + q3intdict.qdoc + q3memarray.h + q3memarray.qdoc + q3objectdict.h + q3ptrcollection.cpp + q3ptrcollection.h + q3ptrdict.h + q3ptrdict.qdoc + q3ptrlist.h + q3ptrlist.qdoc + q3ptrqueue.h + q3ptrqueue.qdoc + q3ptrstack.h + q3ptrstack.qdoc + q3ptrvector.h + q3ptrvector.qdoc + q3semaphore.cpp + q3semaphore.h + q3shared.cpp + q3shared.h + q3signal.cpp + q3signal.h + q3sortedlist.h + q3strlist.h + q3strvec.h + q3tl.h + q3valuelist.h + q3valuelist.qdoc + q3valuestack.h + q3valuestack.qdoc + q3valuevector.h + q3valuevector.qdoc + tools.pri +2 widgets/ +0 q3action.cpp + q3action.h + q3button.cpp + q3buttongroup.cpp + q3buttongroup.h + q3button.h + q3combobox.cpp + q3combobox.h + q3datetimeedit.cpp + q3datetimeedit.h + q3dockarea.cpp + q3dockarea.h + q3dockwindow.cpp + q3dockwindow.h + q3frame.cpp + q3frame.h + q3grid.cpp + q3grid.h + q3gridview.cpp + q3gridview.h + q3groupbox.cpp + q3groupbox.h + q3hbox.cpp + q3hbox.h + q3header.cpp + q3header.h + q3hgroupbox.cpp + q3hgroupbox.h + q3mainwindow.cpp + q3mainwindow.h + q3mainwindow_p.h + q3popupmenu.cpp + q3popupmenu.h + q3progressbar.cpp + q3progressbar.h + q3rangecontrol.cpp + q3rangecontrol.h + q3scrollview.cpp + q3scrollview.h + q3spinwidget.cpp + q3titlebar.cpp + q3titlebar_p.h + q3toolbar.cpp + q3toolbar.h + q3vbox.cpp + q3vbox.h + q3vgroupbox.cpp + q3vgroupbox.h + q3whatsthis.cpp + q3whatsthis.h + q3widgetstack.cpp + q3widgetstack.h + widgets.pri +3 qt_install.pri + qt_targets.pri + s60installs/ +0 bwins/ +0 phononu.def + QtCoreu.def + QtGuiu.def + QtMultimediau.def + QtNetworku.def + QtScriptu.def + QtSqlu.def + QtSvgu.def + QtTestu.def + QtWebKitu.def + QtXmlPatternsu.def + QtXmlu.def +2 eabi/ +0 phononu.def + QtCoreu.def + QtGuiu.def + QtMultimediau.def + QtNetworku.def + QtOpenVGu.def + QtScriptu.def + QtSqlu.def + QtSvgu.def + QtTestu.def + QtWebKitu.def + QtXmlPatternsu.def + QtXmlu.def +2 .gitignore + qtdemoapps.iby + qt.iby + qt.svg + s60installs.pro + selfsigned.cer + selfsigned.key +2 s60main/ +0 qts60main.cpp + qts60main_mcrt0.cpp + s60main.pro +2 script/ +0 api/ +0 api.pri + qscriptable.cpp + qscriptable.h + qscriptable_p.h + qscriptclass.cpp + qscriptclass.h + qscriptclasspropertyiterator.cpp + qscriptclasspropertyiterator.h + qscriptcontext.cpp + qscriptcontext.h + qscriptcontextinfo.cpp + qscriptcontextinfo.h + qscriptcontext_p.h + qscriptengineagent.cpp + qscriptengineagent.h + qscriptengineagent_p.h + qscriptengine.cpp + qscriptengine.h + qscriptengine_p.h + qscriptextensioninterface.h + qscriptextensionplugin.cpp + qscriptextensionplugin.h + qscriptprogram.cpp + qscriptprogram.h + qscriptprogram_p.h + qscriptstring.cpp + qscriptstring.h + qscriptstring_p.h + qscriptvalue.cpp + qscriptvalue.h + qscriptvalueiterator.cpp + qscriptvalueiterator.h + qscriptvalue_p.h +2 bridge/ +0 bridge.pri + qscriptactivationobject.cpp + qscriptactivationobject_p.h + qscriptclassobject.cpp + qscriptclassobject_p.h + qscriptdeclarativeclass.cpp + qscriptdeclarativeclass_p.h + qscriptdeclarativeobject.cpp + qscriptdeclarativeobject_p.h + qscriptfunction.cpp + qscriptfunction_p.h + qscriptglobalobject.cpp + qscriptglobalobject_p.h + qscriptobject.cpp + qscriptobject_p.h + qscriptqobject.cpp + qscriptqobject_p.h + qscriptvariant.cpp + qscriptvariant_p.h +2 parser/ +0 parser.pri + qscriptast.cpp + qscriptastfwd_p.h + qscriptast_p.h + qscriptastvisitor.cpp + qscriptastvisitor_p.h + qscript.g + qscriptgrammar.cpp + qscriptgrammar_p.h + qscriptlexer.cpp + qscriptlexer_p.h + qscriptparser.cpp + qscriptparser_p.h + qscriptsyntaxchecker.cpp + qscriptsyntaxchecker_p.h +2 script.pri + script.pro +2 scripttools/ +0 debugging/ +0 debugging.pri + images/ +0 breakpoint.png + breakpoint.svg + d_breakpoint.png + d_breakpoint.svg + delete.png + d_interrupt.png + d_play.png + find.png + interrupt.png + location.png + location.svg + mac/ +0 closetab.png + next.png + plus.png + previous.png +2 new.png + play.png + reload.png + return.png + runtocursor.png + runtonewscript.png + stepinto.png + stepout.png + stepover.png + win/ +0 closetab.png + next.png + plus.png + previous.png +2 wrap.png +2 qscriptbreakpointdata.cpp + qscriptbreakpointdata_p.h + qscriptbreakpointsmodel.cpp + qscriptbreakpointsmodel_p.h + qscriptbreakpointswidget.cpp + qscriptbreakpointswidgetinterface.cpp + qscriptbreakpointswidgetinterface_p.h + qscriptbreakpointswidgetinterface_p_p.h + qscriptbreakpointswidget_p.h + qscriptcompletionproviderinterface_p.h + qscriptcompletiontask.cpp + qscriptcompletiontaskinterface.cpp + qscriptcompletiontaskinterface_p.h + qscriptcompletiontaskinterface_p_p.h + qscriptcompletiontask_p.h + qscriptdebuggeragent.cpp + qscriptdebuggeragent_p.h + qscriptdebuggeragent_p_p.h + qscriptdebuggerbackend.cpp + qscriptdebuggerbackend_p.h + qscriptdebuggerbackend_p_p.h + qscriptdebuggercodefinderwidget.cpp + qscriptdebuggercodefinderwidgetinterface.cpp + qscriptdebuggercodefinderwidgetinterface_p.h + qscriptdebuggercodefinderwidgetinterface_p_p.h + qscriptdebuggercodefinderwidget_p.h + qscriptdebuggercodeview.cpp + qscriptdebuggercodeviewinterface.cpp + qscriptdebuggercodeviewinterface_p.h + qscriptdebuggercodeviewinterface_p_p.h + qscriptdebuggercodeview_p.h + qscriptdebuggercodewidget.cpp + qscriptdebuggercodewidgetinterface.cpp + qscriptdebuggercodewidgetinterface_p.h + qscriptdebuggercodewidgetinterface_p_p.h + qscriptdebuggercodewidget_p.h + qscriptdebuggercommand.cpp + qscriptdebuggercommandexecutor.cpp + qscriptdebuggercommandexecutor_p.h + qscriptdebuggercommand_p.h + qscriptdebuggercommandschedulerfrontend.cpp + qscriptdebuggercommandschedulerfrontend_p.h + qscriptdebuggercommandschedulerinterface_p.h + qscriptdebuggercommandschedulerjob.cpp + qscriptdebuggercommandschedulerjob_p.h + qscriptdebuggercommandschedulerjob_p_p.h + qscriptdebuggerconsolecommand.cpp + qscriptdebuggerconsolecommandgroupdata.cpp + qscriptdebuggerconsolecommandgroupdata_p.h + qscriptdebuggerconsolecommandjob.cpp + qscriptdebuggerconsolecommandjob_p.h + qscriptdebuggerconsolecommandjob_p_p.h + qscriptdebuggerconsolecommandmanager.cpp + qscriptdebuggerconsolecommandmanager_p.h + qscriptdebuggerconsolecommand_p.h + qscriptdebuggerconsolecommand_p_p.h + qscriptdebuggerconsole.cpp + qscriptdebuggerconsoleglobalobject.cpp + qscriptdebuggerconsoleglobalobject_p.h + qscriptdebuggerconsolehistorianinterface_p.h + qscriptdebuggerconsole_p.h + qscriptdebuggerconsolewidget.cpp + qscriptdebuggerconsolewidgetinterface.cpp + qscriptdebuggerconsolewidgetinterface_p.h + qscriptdebuggerconsolewidgetinterface_p_p.h + qscriptdebuggerconsolewidget_p.h + qscriptdebugger.cpp + qscriptdebuggerevent.cpp + qscriptdebuggereventhandlerinterface_p.h + qscriptdebuggerevent_p.h + qscriptdebuggerfrontend.cpp + qscriptdebuggerfrontend_p.h + qscriptdebuggerfrontend_p_p.h + qscriptdebuggerjob.cpp + qscriptdebuggerjob_p.h + qscriptdebuggerjob_p_p.h + qscriptdebuggerjobschedulerinterface_p.h + qscriptdebuggerlocalsmodel.cpp + qscriptdebuggerlocalsmodel_p.h + qscriptdebuggerlocalswidget.cpp + qscriptdebuggerlocalswidgetinterface.cpp + qscriptdebuggerlocalswidgetinterface_p.h + qscriptdebuggerlocalswidgetinterface_p_p.h + qscriptdebuggerlocalswidget_p.h + qscriptdebuggerobjectsnapshotdelta_p.h + qscriptdebugger_p.h + qscriptdebuggerresponse.cpp + qscriptdebuggerresponsehandlerinterface_p.h + qscriptdebuggerresponse_p.h + qscriptdebuggerscriptedconsolecommand.cpp + qscriptdebuggerscriptedconsolecommand_p.h + qscriptdebuggerscriptsmodel.cpp + qscriptdebuggerscriptsmodel_p.h + qscriptdebuggerscriptswidget.cpp + qscriptdebuggerscriptswidgetinterface.cpp + qscriptdebuggerscriptswidgetinterface_p.h + qscriptdebuggerscriptswidgetinterface_p_p.h + qscriptdebuggerscriptswidget_p.h + qscriptdebuggerstackmodel.cpp + qscriptdebuggerstackmodel_p.h + qscriptdebuggerstackwidget.cpp + qscriptdebuggerstackwidgetinterface.cpp + qscriptdebuggerstackwidgetinterface_p.h + qscriptdebuggerstackwidgetinterface_p_p.h + qscriptdebuggerstackwidget_p.h + qscriptdebuggerstandardwidgetfactory.cpp + qscriptdebuggerstandardwidgetfactory_p.h + qscriptdebuggervalue.cpp + qscriptdebuggervalue_p.h + qscriptdebuggervalueproperty.cpp + qscriptdebuggervalueproperty_p.h + qscriptdebuggerwidgetfactoryinterface_p.h + qscriptdebugoutputwidget.cpp + qscriptdebugoutputwidgetinterface.cpp + qscriptdebugoutputwidgetinterface_p.h + qscriptdebugoutputwidgetinterface_p_p.h + qscriptdebugoutputwidget_p.h + qscriptedit.cpp + qscriptedit_p.h + qscriptenginedebugger.cpp + qscriptenginedebuggerfrontend.cpp + qscriptenginedebuggerfrontend_p.h + qscriptenginedebugger.h + qscripterrorlogwidget.cpp + qscripterrorlogwidgetinterface.cpp + qscripterrorlogwidgetinterface_p.h + qscripterrorlogwidgetinterface_p_p.h + qscripterrorlogwidget_p.h + qscriptmessagehandlerinterface_p.h + qscriptobjectsnapshot.cpp + qscriptobjectsnapshot_p.h + qscriptscriptdata.cpp + qscriptscriptdata_p.h + qscriptstdmessagehandler.cpp + qscriptstdmessagehandler_p.h + qscriptsyntaxhighlighter.cpp + qscriptsyntaxhighlighter_p.h + qscripttooltipproviderinterface_p.h + qscriptvalueproperty.cpp + qscriptvalueproperty_p.h + qscriptxmlparser.cpp + qscriptxmlparser_p.h + scripts/ +0 commands/ +0 advance.qs + backtrace.qs + break.qs + clear.qs + complete.qs + condition.qs + continue.qs + delete.qs + disable.qs + down.qs + enable.qs + eval.qs + finish.qs + frame.qs + help.qs + ignore.qs + info.qs + interrupt.qs + list.qs + next.qs + print.qs + return.qs + step.qs + tbreak.qs + up.qs +3 scripttools_debugging.qrc +2 scripttools.pro +2 script/utils/ +0 qscriptdate.cpp + qscriptdate_p.h + utils.pri +2 sql/ +0 drivers/ +0 db2/ +0 qsql_db2.cpp + qsql_db2.h +2 drivers.pri + ibase/ +0 qsql_ibase.cpp + qsql_ibase.h +2 mysql/ +0 qsql_mysql.cpp + qsql_mysql.h +2 oci/ +0 qsql_oci.cpp + qsql_oci.h +2 odbc/ +0 qsql_odbc.cpp + qsql_odbc.h +2 psql/ +0 qsql_psql.cpp + qsql_psql.h +2 sqlite/ + sqlite2/ +0 qsql_sqlite2.cpp + qsql_sqlite2.h +2 sqlite/qsql_sqlite.cpp + sqlite/qsql_sqlite.h + tds/ +0 qsql_tds.cpp + qsql_tds.h +3 kernel/ +0 kernel.pri + qsqlcachedresult.cpp + qsqlcachedresult_p.h + qsqldatabase.cpp + qsqldatabase.h + qsqldriver.cpp + qsqldriver.h + qsqldriverplugin.cpp + qsqldriverplugin.h + qsqlerror.cpp + qsqlerror.h + qsqlfield.cpp + qsqlfield.h + qsql.h + qsqlindex.cpp + qsqlindex.h + qsqlnulldriver_p.h + qsql.qdoc + qsqlquery.cpp + qsqlquery.h + qsqlrecord.cpp + qsqlrecord.h + qsqlresult.cpp + qsqlresult.h +2 models/ +0 models.pri + qsqlquerymodel.cpp + qsqlquerymodel.h + qsqlquerymodel_p.h + qsqlrelationaldelegate.cpp + qsqlrelationaldelegate.h + qsqlrelationaltablemodel.cpp + qsqlrelationaltablemodel.h + qsqltablemodel.cpp + qsqltablemodel.h + qsqltablemodel_p.h +2 README.module + sql.pro +2 src.pro + svg/ +0 qgraphicssvgitem.cpp + qgraphicssvgitem.h + qsvgfont.cpp + qsvgfont_p.h + qsvggenerator.cpp + qsvggenerator.h + qsvggraphics.cpp + qsvggraphics_p.h + qsvghandler.cpp + qsvghandler_p.h + qsvgnode.cpp + qsvgnode_p.h + qsvgrenderer.cpp + qsvgrenderer.h + qsvgstructure.cpp + qsvgstructure_p.h + qsvgstyle.cpp + qsvgstyle_p.h + qsvgtinydocument.cpp + qsvgtinydocument_p.h + qsvgwidget.cpp + qsvgwidget.h + svg.pro +2 testlib/ +0 3rdparty/ +0 callgrind_p.h + cycle_p.h + valgrind_p.h +2 qabstracttestlogger.cpp + qabstracttestlogger_p.h + qasciikey.cpp + qbenchmark.cpp + qbenchmarkevent.cpp + qbenchmarkevent_p.h + qbenchmark.h + qbenchmarkmeasurement.cpp + qbenchmarkmeasurement_p.h + qbenchmark_p.h + qbenchmarkvalgrind.cpp + qbenchmarkvalgrind_p.h + qplaintestlogger.cpp + qplaintestlogger_p.h + qsignaldumper.cpp + qsignaldumper_p.h + qsignalspy.h + qsignalspy.qdoc + qtestaccessible.h + qtestassert.h + qtestbasicstreamer.cpp + qtestbasicstreamer.h + qtestcase.cpp + qtestcase.h + qtestcoreelement.h + qtestcorelist.h + qtestdata.cpp + qtestdata.h + qtestelementattribute.cpp + qtestelementattribute.h + qtestelement.cpp + qtestelement.h + qtestevent.h + qtesteventloop.h + qtestevent.qdoc + qtestfilelogger.cpp + qtestfilelogger.h + qtest_global.h + qtest_gui.h + qtest.h + qtestkeyboard.h + qtestlightxmlstreamer.cpp + qtestlightxmlstreamer.h + qtestlog.cpp + qtestlogger.cpp + qtestlogger_p.h + qtestlog_p.h + qtestmouse.h + qtestresult.cpp + qtestresult_p.h + qtestspontaneevent.h + qtestsystem.h + qtesttable.cpp + qtesttable_p.h + qtesttouch.h + qtestxmlstreamer.cpp + qtestxmlstreamer.h + qtestxunitstreamer.cpp + qtestxunitstreamer.h + qxmltestlogger.cpp + qxmltestlogger_p.h + testlib.pro +2 tools/ +0 bootstrap/ +0 bootstrap.pri + bootstrap.pro +2 idc/ +0 idc.pro + main.cpp +2 moc/ +0 generator.cpp + generator.h + keywords.cpp + main.cpp + moc.cpp + moc.h + moc.pri + moc.pro + mwerks_mac.cpp + mwerks_mac.h + outputrevision.h + parser.cpp + parser.h + ppkeywords.cpp + preprocessor.cpp + preprocessor.h + symbols.h + token.cpp + token.h + util/ +0 generate_keywords.cpp + generate_keywords.pro + generate.sh + licenseheader.txt +2 utils.h +2 rcc/ +0 main.cpp + rcc.cpp + rcc.h + rcc.pri + rcc.pro +2 tools.pro + uic/ + uic3/ +0 converter.cpp + deps.cpp + domtool.cpp + domtool.h + embed.cpp + form.cpp + main.cpp + object.cpp + parser.cpp + parser.h + qt3to4.cpp + qt3to4.h + subclassing.cpp + ui3reader.cpp + ui3reader.h + uic3.pro + uic.cpp + uic.h + widgetinfo.cpp + widgetinfo.h +2 uic/cpp/ +0 cppextractimages.cpp + cppextractimages.h + cpp.pri + cppwritedeclaration.cpp + cppwritedeclaration.h + cppwriteicondata.cpp + cppwriteicondata.h + cppwriteicondeclaration.cpp + cppwriteicondeclaration.h + cppwriteiconinitialization.cpp + cppwriteiconinitialization.h + cppwriteincludes.cpp + cppwriteincludes.h + cppwriteinitialization.cpp + cppwriteinitialization.h +2 uic/customwidgetsinfo.cpp + uic/customwidgetsinfo.h + uic/databaseinfo.cpp + uic/databaseinfo.h + uic/driver.cpp + uic/driver.h + uic/globaldefs.h + uic/main.cpp + uic/option.h + uic/treewalker.cpp + uic/treewalker.h + uic/ui4.cpp + uic/ui4.h + uic/uic.cpp + uic/uic.h + uic/uic.pri + uic/uic.pro + uic/utils.h + uic/validator.cpp + uic/validator.h +2 winmain/ +0 qtmain_win.cpp + winmain.pro +2 xml/ +0 dom/ +0 dom.pri + qdom.cpp + qdom.h +3 xmlpatterns/ +0 acceltree/ +0 acceltree.pri + qacceliterators.cpp + qacceliterators_p.h + qacceltreebuilder.cpp + qacceltreebuilder_p.h + qacceltree.cpp + qacceltree_p.h + qacceltreeresourceloader.cpp + qacceltreeresourceloader_p.h + qcompressedwhitespace.cpp + qcompressedwhitespace_p.h +2 api/ +0 api.pri + qabstractmessagehandler.cpp + qabstractmessagehandler.h + qabstracturiresolver.cpp + qabstracturiresolver.h + qabstractxmlforwarditerator.cpp + qabstractxmlforwarditerator_p.h + qabstractxmlnodemodel.cpp + qabstractxmlnodemodel.h + qabstractxmlnodemodel_p.h + qabstractxmlpullprovider.cpp + qabstractxmlpullprovider_p.h + qabstractxmlreceiver.cpp + qabstractxmlreceiver.h + qabstractxmlreceiver_p.h + qdeviceresourceloader_p.h + qiodevicedelegate.cpp + qiodevicedelegate_p.h + qnetworkaccessdelegator.cpp + qnetworkaccessdelegator_p.h + qpullbridge.cpp + qpullbridge_p.h + qreferencecountedvalue_p.h + qresourcedelegator.cpp + qresourcedelegator_p.h + qsimplexmlnodemodel.cpp + qsimplexmlnodemodel.h + qsourcelocation.cpp + qsourcelocation.h + quriloader.cpp + quriloader_p.h + qvariableloader.cpp + qvariableloader_p.h + qxmlformatter.cpp + qxmlformatter.h + qxmlname.cpp + qxmlname.h + qxmlnamepool.cpp + qxmlnamepool.h + qxmlquery.cpp + qxmlquery.h + qxmlquery_p.h + qxmlresultitems.cpp + qxmlresultitems.h + qxmlresultitems_p.h + qxmlschema.cpp + qxmlschema.h + qxmlschema_p.cpp + qxmlschema_p.h + qxmlschemavalidator.cpp + qxmlschemavalidator.h + qxmlschemavalidator_p.h + qxmlserializer.cpp + qxmlserializer.h + qxmlserializer_p.h +2 common.pri + data/ +0 data.pri + qabstractdatetime.cpp + qabstractdatetime_p.h + qabstractduration.cpp + qabstractduration_p.h + qabstractfloatcasters.cpp + qabstractfloatcasters_p.h + qabstractfloat.cpp + qabstractfloatmathematician.cpp + qabstractfloatmathematician_p.h + qabstractfloat_p.h + qanyuri.cpp + qanyuri_p.h + qatomiccaster.cpp + qatomiccaster_p.h + qatomiccasters.cpp + qatomiccasters_p.h + qatomiccomparator.cpp + qatomiccomparator_p.h + qatomiccomparators.cpp + qatomiccomparators_p.h + qatomicmathematician.cpp + qatomicmathematician_p.h + qatomicmathematicians.cpp + qatomicmathematicians_p.h + qatomicstring.cpp + qatomicstring_p.h + qatomicvalue.cpp + qbase64binary.cpp + qbase64binary_p.h + qboolean.cpp + qboolean_p.h + qcommonvalues.cpp + qcommonvalues_p.h + qcomparisonfactory.cpp + qcomparisonfactory_p.h + qdate.cpp + qdate_p.h + qdaytimeduration.cpp + qdaytimeduration_p.h + qdecimal.cpp + qdecimal_p.h + qderivedinteger_p.h + qderivedstring_p.h + qduration.cpp + qduration_p.h + qgday.cpp + qgday_p.h + qgmonth.cpp + qgmonthday.cpp + qgmonthday_p.h + qgmonth_p.h + qgyear.cpp + qgyearmonth.cpp + qgyearmonth_p.h + qgyear_p.h + qhexbinary.cpp + qhexbinary_p.h + qinteger.cpp + qinteger_p.h + qitem.cpp + qitem_p.h + qnodebuilder.cpp + qnodebuilder_p.h + qnodemodel.cpp + qqnamevalue.cpp + qqnamevalue_p.h + qresourceloader.cpp + qresourceloader_p.h + qschemadatetime.cpp + qschemadatetime_p.h + qschemanumeric.cpp + qschemanumeric_p.h + qschematime.cpp + qschematime_p.h + qsequencereceiver.cpp + qsequencereceiver_p.h + qsorttuple.cpp + qsorttuple_p.h + quntypedatomic.cpp + quntypedatomic_p.h + qvalidationerror.cpp + qvalidationerror_p.h + qvaluefactory.cpp + qvaluefactory_p.h + qyearmonthduration.cpp + qyearmonthduration_p.h +2 documentationGroups.dox + Doxyfile + environment/ +0 createReportContext.sh + createReportContext.xsl + environment.pri + qcurrentitemcontext.cpp + qcurrentitemcontext_p.h + qdelegatingdynamiccontext.cpp + qdelegatingdynamiccontext_p.h + qdelegatingstaticcontext.cpp + qdelegatingstaticcontext_p.h + qdynamiccontext.cpp + qdynamiccontext_p.h + qfocus.cpp + qfocus_p.h + qgenericdynamiccontext.cpp + qgenericdynamiccontext_p.h + qgenericstaticcontext.cpp + qgenericstaticcontext_p.h + qreceiverdynamiccontext.cpp + qreceiverdynamiccontext_p.h + qreportcontext.cpp + qreportcontext_p.h + qstackcontextbase.cpp + qstackcontextbase_p.h + qstaticbaseuricontext.cpp + qstaticbaseuricontext_p.h + qstaticcompatibilitycontext.cpp + qstaticcompatibilitycontext_p.h + qstaticcontext.cpp + qstaticcontext_p.h + qstaticcurrentcontext.cpp + qstaticcurrentcontext_p.h + qstaticfocuscontext.cpp + qstaticfocuscontext_p.h + qstaticnamespacecontext.cpp + qstaticnamespacecontext_p.h +2 expr/ +0 expr.pri + qandexpression.cpp + qandexpression_p.h + qapplytemplate.cpp + qapplytemplate_p.h + qargumentreference.cpp + qargumentreference_p.h + qarithmeticexpression.cpp + qarithmeticexpression_p.h + qattributeconstructor.cpp + qattributeconstructor_p.h + qattributenamevalidator.cpp + qattributenamevalidator_p.h + qaxisstep.cpp + qaxisstep_p.h + qcachecells_p.h + qcallsite.cpp + qcallsite_p.h + qcalltargetdescription.cpp + qcalltargetdescription_p.h + qcalltemplate.cpp + qcalltemplate_p.h + qcastableas.cpp + qcastableas_p.h + qcastas.cpp + qcastas_p.h + qcastingplatform.cpp + qcastingplatform_p.h + qcollationchecker.cpp + qcollationchecker_p.h + qcombinenodes.cpp + qcombinenodes_p.h + qcommentconstructor.cpp + qcommentconstructor_p.h + qcomparisonplatform.cpp + qcomparisonplatform_p.h + qcomputednamespaceconstructor.cpp + qcomputednamespaceconstructor_p.h + qcontextitem.cpp + qcontextitem_p.h + qcopyof.cpp + qcopyof_p.h + qcurrentitemstore.cpp + qcurrentitemstore_p.h + qdocumentconstructor.cpp + qdocumentconstructor_p.h + qdocumentcontentvalidator.cpp + qdocumentcontentvalidator_p.h + qdynamiccontextstore.cpp + qdynamiccontextstore_p.h + qelementconstructor.cpp + qelementconstructor_p.h + qemptycontainer.cpp + qemptycontainer_p.h + qemptysequence.cpp + qemptysequence_p.h + qevaluationcache.cpp + qevaluationcache_p.h + qexpression.cpp + qexpressiondispatch_p.h + qexpressionfactory.cpp + qexpressionfactory_p.h + qexpression_p.h + qexpressionsequence.cpp + qexpressionsequence_p.h + qexpressionvariablereference.cpp + qexpressionvariablereference_p.h + qexternalvariableloader.cpp + qexternalvariableloader_p.h + qexternalvariablereference.cpp + qexternalvariablereference_p.h + qfirstitempredicate.cpp + qfirstitempredicate_p.h + qforclause.cpp + qforclause_p.h + qgeneralcomparison.cpp + qgeneralcomparison_p.h + qgenericpredicate.cpp + qgenericpredicate_p.h + qifthenclause.cpp + qifthenclause_p.h + qinstanceof.cpp + qinstanceof_p.h + qletclause.cpp + qletclause_p.h + qliteral.cpp + qliteral_p.h + qliteralsequence.cpp + qliteralsequence_p.h + qnamespaceconstructor.cpp + qnamespaceconstructor_p.h + qncnameconstructor.cpp + qncnameconstructor_p.h + qnodecomparison.cpp + qnodecomparison_p.h + qnodesort.cpp + qnodesort_p.h + qoperandsiterator_p.h + qoptimizationpasses.cpp + qoptimizationpasses_p.h + qoptimizerblocks.cpp + qoptimizerblocks_p.h + qoptimizerframework.cpp + qoptimizerframework_p.h + qorderby.cpp + qorderby_p.h + qorexpression.cpp + qorexpression_p.h + qpaircontainer.cpp + qpaircontainer_p.h + qparentnodeaxis.cpp + qparentnodeaxis_p.h + qpath.cpp + qpath_p.h + qpositionalvariablereference.cpp + qpositionalvariablereference_p.h + qprocessinginstructionconstructor.cpp + qprocessinginstructionconstructor_p.h + qqnameconstructor.cpp + qqnameconstructor_p.h + qquantifiedexpression.cpp + qquantifiedexpression_p.h + qrangeexpression.cpp + qrangeexpression_p.h + qrangevariablereference.cpp + qrangevariablereference_p.h + qreturnorderby.cpp + qreturnorderby_p.h + qsimplecontentconstructor.cpp + qsimplecontentconstructor_p.h + qsinglecontainer.cpp + qsinglecontainer_p.h + qsourcelocationreflection.cpp + qsourcelocationreflection_p.h + qstaticbaseuristore.cpp + qstaticbaseuristore_p.h + qstaticcompatibilitystore.cpp + qstaticcompatibilitystore_p.h + qtemplate.cpp + qtemplateinvoker.cpp + qtemplateinvoker_p.h + qtemplatemode.cpp + qtemplatemode_p.h + qtemplateparameterreference.cpp + qtemplateparameterreference_p.h + qtemplatepattern_p.h + qtemplate_p.h + qtextnodeconstructor.cpp + qtextnodeconstructor_p.h + qtreatas.cpp + qtreatas_p.h + qtriplecontainer.cpp + qtriplecontainer_p.h + qtruthpredicate.cpp + qtruthpredicate_p.h + qunaryexpression.cpp + qunaryexpression_p.h + qunlimitedcontainer.cpp + qunlimitedcontainer_p.h + qunresolvedvariablereference.cpp + qunresolvedvariablereference_p.h + quserfunctioncallsite.cpp + quserfunctioncallsite_p.h + quserfunction.cpp + quserfunction_p.h + qvalidate.cpp + qvalidate_p.h + qvaluecomparison.cpp + qvaluecomparison_p.h + qvariabledeclaration.cpp + qvariabledeclaration_p.h + qvariablereference.cpp + qvariablereference_p.h + qwithparam_p.h + qxsltsimplecontentconstructor.cpp + qxsltsimplecontentconstructor_p.h +2 functions/ +0 functions.pri + qabstractfunctionfactory.cpp + qabstractfunctionfactory_p.h + qaccessorfns.cpp + qaccessorfns_p.h + qaggregatefns.cpp + qaggregatefns_p.h + qaggregator.cpp + qaggregator_p.h + qassemblestringfns.cpp + qassemblestringfns_p.h + qbooleanfns.cpp + qbooleanfns_p.h + qcomparescaseaware.cpp + qcomparescaseaware_p.h + qcomparestringfns.cpp + qcomparestringfns_p.h + qcomparingaggregator.cpp + qcomparingaggregator_p.h + qconstructorfunctionsfactory.cpp + qconstructorfunctionsfactory_p.h + qcontextfns.cpp + qcontextfns_p.h + qcontextnodechecker.cpp + qcontextnodechecker_p.h + qcurrentfn.cpp + qcurrentfn_p.h + qdatetimefn.cpp + qdatetimefn_p.h + qdatetimefns.cpp + qdatetimefns_p.h + qdeepequalfn.cpp + qdeepequalfn_p.h + qdocumentfn.cpp + qdocumentfn_p.h + qelementavailablefn.cpp + qelementavailablefn_p.h + qerrorfn.cpp + qerrorfn_p.h + qfunctionargument.cpp + qfunctionargument_p.h + qfunctionavailablefn.cpp + qfunctionavailablefn_p.h + qfunctioncall.cpp + qfunctioncall_p.h + qfunctionfactorycollection.cpp + qfunctionfactorycollection_p.h + qfunctionfactory.cpp + qfunctionfactory_p.h + qfunctionsignature.cpp + qfunctionsignature_p.h + qgenerateidfn.cpp + qgenerateidfn_p.h + qnodefns.cpp + qnodefns_p.h + qnumericfns.cpp + qnumericfns_p.h + qpatternmatchingfns.cpp + qpatternmatchingfns_p.h + qpatternplatform.cpp + qpatternplatform_p.h + qqnamefns.cpp + qqnamefns_p.h + qresolveurifn.cpp + qresolveurifn_p.h + qsequencefns.cpp + qsequencefns_p.h + qsequencegeneratingfns.cpp + qsequencegeneratingfns_p.h + qstaticbaseuricontainer_p.h + qstaticnamespacescontainer.cpp + qstaticnamespacescontainer_p.h + qstringvaluefns.cpp + qstringvaluefns_p.h + qsubstringfns.cpp + qsubstringfns_p.h + qsystempropertyfn.cpp + qsystempropertyfn_p.h + qtimezonefns.cpp + qtimezonefns_p.h + qtracefn.cpp + qtracefn_p.h + qtypeavailablefn.cpp + qtypeavailablefn_p.h + qunparsedentitypublicidfn.cpp + qunparsedentitypublicidfn_p.h + qunparsedentityurifn.cpp + qunparsedentityurifn_p.h + qunparsedtextavailablefn.cpp + qunparsedtextavailablefn_p.h + qunparsedtextfn.cpp + qunparsedtextfn_p.h + qxpath10corefunctions.cpp + qxpath10corefunctions_p.h + qxpath20corefunctions.cpp + qxpath20corefunctions_p.h + qxslt20corefunctions.cpp + qxslt20corefunctions_p.h +2 .gitignore + iterators/ +0 iterators.pri + qcachingiterator.cpp + qcachingiterator_p.h + qdeduplicateiterator.cpp + qdeduplicateiterator_p.h + qdistinctiterator.cpp + qdistinctiterator_p.h + qemptyiterator_p.h + qexceptiterator.cpp + qexceptiterator_p.h + qindexofiterator.cpp + qindexofiterator_p.h + qinsertioniterator.cpp + qinsertioniterator_p.h + qintersectiterator.cpp + qintersectiterator_p.h + qitemmappingiterator_p.h + qrangeiterator.cpp + qrangeiterator_p.h + qremovaliterator.cpp + qremovaliterator_p.h + qsequencemappingiterator_p.h + qsingletoniterator_p.h + qsubsequenceiterator.cpp + qsubsequenceiterator_p.h + qtocodepointsiterator.cpp + qtocodepointsiterator_p.h + qunioniterator.cpp + qunioniterator_p.h +2 janitors/ +0 janitors.pri + qargumentconverter.cpp + qargumentconverter_p.h + qatomizer.cpp + qatomizer_p.h + qcardinalityverifier.cpp + qcardinalityverifier_p.h + qebvextractor.cpp + qebvextractor_p.h + qitemverifier.cpp + qitemverifier_p.h + quntypedatomicconverter.cpp + quntypedatomicconverter_p.h +2 Mainpage.dox + parser/ +0 createParser.sh + createTokenLookup.sh + createXSLTTokenLookup.sh + .gitattributes + .gitignore + parser.pri + qmaintainingreader.cpp + qmaintainingreader_p.h + qparsercontext.cpp + qparsercontext_p.h + qquerytransformparser.cpp + qquerytransformparser_p.h + qtokenizer_p.h + qtokenlookup.cpp + qtokenrevealer.cpp + qtokenrevealer_p.h + qtokensource.cpp + qtokensource_p.h + querytransformparser.ypp + qxquerytokenizer.cpp + qxquerytokenizer_p.h + qxslttokenizer.cpp + qxslttokenizer_p.h + qxslttokenlookup.cpp + qxslttokenlookup_p.h + qxslttokenlookup.xml + TokenLookup.gperf + trolltechHeader.txt + winCEWorkaround.sed +2 projection/ +0 projection.pri + qdocumentprojector.cpp + qdocumentprojector_p.h + qprojectedexpression_p.h +2 qtokenautomaton/ +0 exampleFile.xml + qautomaton2cpp.xsl + qtokenautomaton.xsd + README +2 query.pri + schema/ +0 builtinschemas.qrc + doc/ +0 All_diagram.dot + Alternative_diagram.dot + Annotation_diagram.dot + AnyAttribute_diagram.dot + Any_diagram.dot + Assert_diagram.dot + Choice_diagram.dot + ComplexContent_diagram.dot + ComplexContentExtension_diagram.dot + ComplexContentRestriction_diagram.dot + DefaultOpenContent_diagram.dot + EnumerationFacet_diagram.dot + Field_diagram.dot + FractionDigitsFacet_diagram.dot + GlobalAttribute_diagram.dot + GlobalComplexType_diagram.dot + GlobalElement_diagram.dot + GlobalSimpleType_diagram.dot + Import_diagram.dot + Include_diagram.dot + Key_diagram.dot + KeyRef_diagram.dot + legend.dot + LengthFacet_diagram.dot + List_diagram.dot + LocalAll_diagram.dot + LocalAttribute_diagram.dot + LocalChoice_diagram.dot + LocalComplexType_diagram.dot + LocalElement_diagram.dot + LocalSequence_diagram.dot + LocalSimpleType_diagram.dot + MaxExclusiveFacet_diagram.dot + MaxInclusiveFacet_diagram.dot + MaxLengthFacet_diagram.dot + MinExclusiveFacet_diagram.dot + MinInclusiveFacet_diagram.dot + MinLengthFacet_diagram.dot + NamedAttributeGroup_diagram.dot + NamedGroup_diagram.dot + Notation_diagram.dot + Override_diagram.dot + PatternFacet_diagram.dot + Redefine_diagram.dot + ReferredAttributeGroup_diagram.dot + ReferredGroup_diagram.dot + Schema_diagram.dot + Selector_diagram.dot + Sequence_diagram.dot + SimpleContent_diagram.dot + SimpleContentExtension_diagram.dot + SimpleContentRestriction_diagram.dot + SimpleRestriction_diagram.dot + TotalDigitsFacet_diagram.dot + Union_diagram.dot + Unique_diagram.dot + WhiteSpaceFacet_diagram.dot +2 .gitignore + qnamespacesupport.cpp + qnamespacesupport_p.h + qxsdalternative.cpp + qxsdalternative_p.h + qxsdannotated.cpp + qxsdannotated_p.h + qxsdannotation.cpp + qxsdannotation_p.h + qxsdapplicationinformation.cpp + qxsdapplicationinformation_p.h + qxsdassertion.cpp + qxsdassertion_p.h + qxsdattribute.cpp + qxsdattributegroup.cpp + qxsdattributegroup_p.h + qxsdattribute_p.h + qxsdattributereference.cpp + qxsdattributereference_p.h + qxsdattributeterm.cpp + qxsdattributeterm_p.h + qxsdattributeuse.cpp + qxsdattributeuse_p.h + qxsdcomplextype.cpp + qxsdcomplextype_p.h + qxsddocumentation.cpp + qxsddocumentation_p.h + qxsdelement.cpp + qxsdelement_p.h + qxsdfacet.cpp + qxsdfacet_p.h + qxsdidcache.cpp + qxsdidcache_p.h + qxsdidchelper.cpp + qxsdidchelper_p.h + qxsdidentityconstraint.cpp + qxsdidentityconstraint_p.h + qxsdinstancereader.cpp + qxsdinstancereader_p.h + qxsdmodelgroup.cpp + qxsdmodelgroup_p.h + qxsdnotation.cpp + qxsdnotation_p.h + qxsdparticlechecker.cpp + qxsdparticlechecker_p.h + qxsdparticle.cpp + qxsdparticle_p.h + qxsdreference.cpp + qxsdreference_p.h + qxsdschemachecker.cpp + qxsdschemachecker_helper.cpp + qxsdschemachecker_p.h + qxsdschemachecker_setup.cpp + qxsdschemacontext.cpp + qxsdschemacontext_p.h + qxsdschema.cpp + qxsdschemadebugger.cpp + qxsdschemadebugger_p.h + qxsdschemahelper.cpp + qxsdschemahelper_p.h + qxsdschemamerger.cpp + qxsdschemamerger_p.h + qxsdschemaparsercontext.cpp + qxsdschemaparsercontext_p.h + qxsdschemaparser.cpp + qxsdschemaparser_p.h + qxsdschemaparser_setup.cpp + qxsdschema_p.h + qxsdschemaresolver.cpp + qxsdschemaresolver_p.h + qxsdschematoken.cpp + qxsdschematoken_p.h + qxsdschematypesfactory.cpp + qxsdschematypesfactory_p.h + qxsdsimpletype.cpp + qxsdsimpletype_p.h + qxsdstatemachinebuilder.cpp + qxsdstatemachinebuilder_p.h + qxsdstatemachine.cpp + qxsdstatemachine_p.h + qxsdterm.cpp + qxsdterm_p.h + qxsdtypechecker.cpp + qxsdtypechecker_p.h + qxsduserschematype.cpp + qxsduserschematype_p.h + qxsdvalidatedxmlnodemodel.cpp + qxsdvalidatedxmlnodemodel_p.h + qxsdvalidatinginstancereader.cpp + qxsdvalidatinginstancereader_p.h + qxsdwildcard.cpp + qxsdwildcard_p.h + qxsdxpathexpression.cpp + qxsdxpathexpression_p.h + schema.pri + schemas/ +0 xml.xsd +0 -LICENSE +3 tokens.xml +2 type/ +0 qabstractnodetest.cpp + qabstractnodetest_p.h + qanyitemtype.cpp + qanyitemtype_p.h + qanynodetype.cpp + qanynodetype_p.h + qanysimpletype.cpp + qanysimpletype_p.h + qanytype.cpp + qanytype_p.h + qatomiccasterlocator.cpp + qatomiccasterlocator_p.h + qatomiccasterlocators.cpp + qatomiccasterlocators_p.h + qatomiccomparatorlocator.cpp + qatomiccomparatorlocator_p.h + qatomiccomparatorlocators.cpp + qatomiccomparatorlocators_p.h + qatomicmathematicianlocator.cpp + qatomicmathematicianlocator_p.h + qatomicmathematicianlocators.cpp + qatomicmathematicianlocators_p.h + qatomictype.cpp + qatomictypedispatch_p.h + qatomictype_p.h + qbasictypesfactory.cpp + qbasictypesfactory_p.h + qbuiltinatomictype.cpp + qbuiltinatomictype_p.h + qbuiltinatomictypes.cpp + qbuiltinatomictypes_p.h + qbuiltinnodetype.cpp + qbuiltinnodetype_p.h + qbuiltintypes.cpp + qbuiltintypes_p.h + qcardinality.cpp + qcardinality_p.h + qcommonsequencetypes.cpp + qcommonsequencetypes_p.h + qebvtype.cpp + qebvtype_p.h + qemptysequencetype.cpp + qemptysequencetype_p.h + qgenericsequencetype.cpp + qgenericsequencetype_p.h + qitemtype.cpp + qitemtype_p.h + qlocalnametest.cpp + qlocalnametest_p.h + qmultiitemtype.cpp + qmultiitemtype_p.h + qnamedschemacomponent.cpp + qnamedschemacomponent_p.h + qnamespacenametest.cpp + qnamespacenametest_p.h + qnonetype.cpp + qnonetype_p.h + qnumerictype.cpp + qnumerictype_p.h + qprimitives_p.h + qqnametest.cpp + qqnametest_p.h + qschemacomponent.cpp + qschemacomponent_p.h + qschematype.cpp + qschematypefactory.cpp + qschematypefactory_p.h + qschematype_p.h + qsequencetype.cpp + qsequencetype_p.h + qtypechecker.cpp + qtypechecker_p.h + quntyped.cpp + quntyped_p.h + qxsltnodetest.cpp + qxsltnodetest_p.h + type.pri +2 utils/ +0 qautoptr.cpp + qautoptr_p.h + qcommonnamespaces_p.h + qcppcastinghelper_p.h + qdebug_p.h + qdelegatingnamespaceresolver.cpp + qdelegatingnamespaceresolver_p.h + qgenericnamespaceresolver.cpp + qgenericnamespaceresolver_p.h + qnamepool.cpp + qnamepool_p.h + qnamespacebinding_p.h + qnamespaceresolver.cpp + qnamespaceresolver_p.h + qnodenamespaceresolver.cpp + qnodenamespaceresolver_p.h + qoutputvalidator.cpp + qoutputvalidator_p.h + qpatternistlocale.cpp + qpatternistlocale_p.h + qxpathhelper.cpp + qxpathhelper_p.h + utils.pri +2 xmlpatterns.pro +2 xml/sax/ +0 qxml.cpp + qxml.h + sax.pri +2 xml/stream/ +0 qxmlstream.h + stream.pri +2 xml/xml.pro diff --git a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp b/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp new file mode 100644 index 0000000..ad5ae98 --- /dev/null +++ b/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp @@ -0,0 +1,173 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QTest> + +#include <QDirIterator> +#include <QFile> +#include <QString> +#include <QStack> + +#include "../../../../../shared/filesystem.h" + +class bench_QDir_tree + : public QObject +{ + Q_OBJECT + +public: + bench_QDir_tree() + : prefix("./test-tree/") + { + } + +private: + QByteArray prefix; + +private slots: + void initTestCase() + { + QFile list(":/4.6.0-list.txt"); + QVERIFY(list.open(QIODevice::ReadOnly | QIODevice::Text)); + + QVERIFY(fs.createDirectory(prefix)); + + QStack<QByteArray> stack; + QByteArray line; + Q_FOREVER { + char ch; + if (!list.getChar(&ch)) + break; + if (ch != ' ') { + line.append(ch); + continue; + } + + int pop = 1; + if (!line.isEmpty()) + pop = line.toInt(); + + while (pop) { + stack.pop(); + --pop; + } + + line = list.readLine(); + line.chop(1); + stack.push(line); + + line = prefix; + Q_FOREACH(const QByteArray &pathElement, stack) + line += pathElement; + + if (line.endsWith('/')) + QVERIFY(fs.createDirectory(line)); + else + QVERIFY(fs.createFile(line)); + + line.clear(); + } + } + + void fileSearch_data() const + { + QTest::addColumn<QStringList>("nameFilters"); + QTest::addColumn<int>("filter"); + QTest::addColumn<int>("entryCount"); + + QTest::newRow("*.cpp") << QStringList("*.cpp") + << int(QDir::Files) + << 3813; + + QTest::newRow("executables") << QStringList("*") + << int(QDir::Executable | QDir::Files | QDir::AllDirs | QDir::NoDotAndDotDot) + << 543; + } + + void fileSearch() const + { + QFETCH(QStringList, nameFilters); + QFETCH(int, filter); + QFETCH(int, entryCount); + + int count = 0; + QBENCHMARK { + // Recursive directory iteration + QDirIterator iterator(prefix, nameFilters, QDir::Filter(filter), + QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + + count = 0; + while (iterator.hasNext()) { + iterator.next(); + ++count; + } + + QCOMPARE(count, entryCount); + } + + QCOMPARE(count, entryCount); + } + + void traverseDirectory() const + { + int count = 0; + QBENCHMARK { + QDirIterator iterator(prefix, + QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden | QDir::System, + QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + + while (iterator.hasNext()) { + iterator.next(); + ++count; + } + + QCOMPARE(count, 11963); + } + + QCOMPARE(count, 11963); + } + +private: + FileSystem fs; +}; + +QTEST_MAIN(bench_QDir_tree) +#include "bench_qdir_tree.moc" diff --git a/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc b/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc new file mode 100644 index 0000000..d57cb6c --- /dev/null +++ b/tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.qrc @@ -0,0 +1,5 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>4.6.0-list.txt</file> +</qresource> +</RCC> diff --git a/tests/benchmarks/corelib/io/qdir/tree/tree.pro b/tests/benchmarks/corelib/io/qdir/tree/tree.pro new file mode 100644 index 0000000..773f0f7 --- /dev/null +++ b/tests/benchmarks/corelib/io/qdir/tree/tree.pro @@ -0,0 +1,11 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = bench_qdir_tree +DEPENDPATH += . +INCLUDEPATH += . + +# Input +SOURCES += bench_qdir_tree.cpp +RESOURCES += bench_qdir_tree.qrc + +QT -= gui diff --git a/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro index 295cb50..eca619f 100644 --- a/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro +++ b/tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro @@ -1,6 +1,6 @@ load(qttest_p4) TEMPLATE = app -TARGET = qfileinfo +TARGET = tst_qfileinfo DEPENDPATH += . INCLUDEPATH += . diff --git a/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/main.cpp b/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/main.cpp index b904f40..2c1274c 100644 --- a/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/main.cpp +++ b/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/main.cpp @@ -751,7 +751,7 @@ int main(int argc, char *argv[]) aargv[aargc++] = argv[i]; } - QApplication app(argc, argv); + QApplication app(aargc, aargv); int returnValue = 0; if (settings.options() & Settings::ManualTest) { diff --git a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp index 1028f42..6c4ca08 100644 --- a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/view.cpp @@ -42,7 +42,14 @@ #include "view.h" #include <QtGui> + +#ifdef Q_WS_WIN +#define CALLGRIND_START_INSTRUMENTATION {} +#define CALLGRIND_STOP_INSTRUMENTATION {} +#else #include "valgrind/callgrind.h" +#endif + #ifndef QT_NO_OPENGL #include <QtOpenGL> #endif diff --git a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp index 527713f..63b0da9 100644 --- a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/moveItems/main.cpp @@ -39,7 +39,13 @@ ** ****************************************************************************/ #include <QtGui> + +#ifdef Q_WS_WIN +#define CALLGRIND_START_INSTRUMENTATION {} +#define CALLGRIND_STOP_INSTRUMENTATION {} +#else #include "valgrind/callgrind.h" +#endif #ifdef Q_WS_X11 extern void qt_x11_wait_for_window_manager(QWidget *); diff --git a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp index 7419206..3f30393 100644 --- a/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp +++ b/tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/scrolltest/main.cpp @@ -39,7 +39,13 @@ ** ****************************************************************************/ #include <QtGui> + +#ifdef Q_WS_WIN +#define CALLGRIND_START_INSTRUMENTATION {} +#define CALLGRIND_STOP_INSTRUMENTATION {} +#else #include "valgrind/callgrind.h" +#endif class ItemMover : public QObject { diff --git a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp index f21bd44..8c30be4 100644 --- a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp +++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp @@ -42,33 +42,35 @@ #include <qtest.h> #include <QtGui> -class tst_QWidget : public QObject +static void processEvents() { - Q_OBJECT - - -private slots: - void update_data(); - void updateOpaque_data(); - void updateOpaque(); - void updateTransparent_data(); - void updateTransparent(); - void updatePartial_data(); - void updatePartial(); - void updateComplex_data(); - void updateComplex(); - - void complexToplevelResize(); -}; + QApplication::flush(); + QApplication::processEvents(); + QApplication::processEvents(); +} class UpdateWidget : public QWidget { public: - UpdateWidget(int rows, int columns) : QWidget(0) + UpdateWidget(int rows, int columns) + : QWidget(0), rowCount(0), columnCount(0), opaqueChildren(false) { + fill(rows, columns); + } + + UpdateWidget(QWidget *parent = 0) + : QWidget(parent), rowCount(0), columnCount(0), opaqueChildren(false) {} + + void fill(int rows, int columns) + { + if (rows == rowCount && columns == columnCount) + return; + delete layout(); QGridLayout *layout = new QGridLayout; - for (int row = 0; row < rows; ++row) { - for (int column = 0; column < columns; ++column) { + rowCount = rows; + columnCount = columns; + for (int row = 0; row < rowCount; ++row) { + for (int column = 0; column < columnCount; ++column) { UpdateWidget *widget = new UpdateWidget; widget->setFixedSize(20, 20); layout->addWidget(widget, row, column); @@ -76,9 +78,20 @@ public: } } setLayout(layout); + adjustSize(); + QTest::qWait(250); + processEvents(); } - UpdateWidget(QWidget *parent = 0) : QWidget(parent) {} + void setOpaqueChildren(bool enable) + { + if (opaqueChildren != enable) { + foreach (QWidget *w, children) + w->setAttribute(Qt::WA_OpaquePaintEvent, enable); + opaqueChildren = enable; + processEvents(); + } + } void paintEvent(QPaintEvent *) { @@ -93,75 +106,86 @@ public: QRegion updateRegion; QList<UpdateWidget*> children; + int rowCount; + int columnCount; + bool opaqueChildren; }; -void tst_QWidget::update_data() +class tst_QWidget : public QObject { - QTest::addColumn<int>("rows"); - QTest::addColumn<int>("columns"); - QTest::addColumn<int>("numUpdates"); - - QTest::newRow("10x10x1") << 10 << 10 << 1; - QTest::newRow("10x10x10") << 10 << 10 << 10; - QTest::newRow("25x25x1") << 25 << 25 << 1; - QTest::newRow("25x25x10") << 25 << 25 << 10; - QTest::newRow("25x25x100") << 25 << 25 << 100; -} + Q_OBJECT -void tst_QWidget::updateOpaque_data() -{ - update_data(); -} +public slots: + void initTestCase(); + void init(); -void tst_QWidget::updateOpaque() -{ - QFETCH(int, rows); - QFETCH(int, columns); - QFETCH(int, numUpdates); +private slots: + void update_data(); + void update(); + void updatePartial_data(); + void updatePartial(); + void updateComplex_data(); + void updateComplex(); - UpdateWidget widget(rows, columns); - foreach (QWidget *w, widget.children) { - w->setAttribute(Qt::WA_OpaquePaintEvent); - } +private: + UpdateWidget widget; +}; +void tst_QWidget::initTestCase() +{ widget.show(); - QApplication::processEvents(); + QTest::qWaitForWindowShown(&widget); + QTest::qWait(300); + processEvents(); +} - int i = 0; - const int n = widget.children.size(); - QBENCHMARK { - for (int j = 0; j < numUpdates; ++j) { - widget.children[i]->update(); - QApplication::processEvents(); - i = (i + 1) % n; - } - } +void tst_QWidget::init() +{ + QVERIFY(widget.isVisible()); + for (int i = 0; i < 3; ++i) + processEvents(); } -void tst_QWidget::updateTransparent_data() +void tst_QWidget::update_data() { - update_data(); + QTest::addColumn<int>("rows"); + QTest::addColumn<int>("columns"); + QTest::addColumn<int>("numUpdates"); + QTest::addColumn<bool>("opaque"); + + QTest::newRow("10x10x1 transparent") << 10 << 10 << 1 << false; + QTest::newRow("10x10x10 transparent") << 10 << 10 << 10 << false; + QTest::newRow("10x10x100 transparent") << 10 << 10 << 100 << false; + QTest::newRow("10x10x1 opaque") << 10 << 10 << 1 << true; + QTest::newRow("10x10x10 opaque") << 10 << 10 << 10 << true; + QTest::newRow("10x10x100 opaque") << 10 << 10 << 100 << true; + QTest::newRow("25x25x1 transparent ") << 25 << 25 << 1 << false; + QTest::newRow("25x25x10 transparent") << 25 << 25 << 10 << false; + QTest::newRow("25x25x100 transparent") << 25 << 25 << 100 << false; + QTest::newRow("25x25x1 opaque") << 25 << 25 << 1 << true; + QTest::newRow("25x25x10 opaque") << 25 << 25 << 10 << true; + QTest::newRow("25x25x100 opaque") << 25 << 25 << 100 << true; } -void tst_QWidget::updateTransparent() +void tst_QWidget::update() { QFETCH(int, rows); QFETCH(int, columns); QFETCH(int, numUpdates); + QFETCH(bool, opaque); - UpdateWidget widget(rows, columns); - widget.show(); - QApplication::processEvents(); + widget.fill(rows, columns); + widget.setOpaqueChildren(opaque); - int i = 0; - const int n = widget.children.size(); QBENCHMARK { - for (int j = 0; j < numUpdates; ++j) { - widget.children[i]->update(); + for (int i = 0; i < widget.children.size(); ++i) { + for (int j = 0; j < numUpdates; ++j) + widget.children.at(i)->update(); QApplication::processEvents(); - i = (i + 1) % n; } } + + QApplication::flush(); } void tst_QWidget::updatePartial_data() @@ -174,24 +198,23 @@ void tst_QWidget::updatePartial() QFETCH(int, rows); QFETCH(int, columns); QFETCH(int, numUpdates); + QFETCH(bool, opaque); - UpdateWidget widget(rows, columns); - widget.show(); - QApplication::processEvents(); + widget.fill(rows, columns); + widget.setOpaqueChildren(opaque); - int i = 0; - const int n = widget.children.size(); QBENCHMARK { - for (int j = 0; j < numUpdates; ++j) { + for (int i = 0; i < widget.children.size(); ++i) { QWidget *w = widget.children[i]; const int x = w->width() / 2; const int y = w->height() / 2; - w->update(0, 0, x, y); - w->update(x, 0, x, y); - w->update(0, y, x, y); - w->update(x, y, x, y); + for (int j = 0; j < numUpdates; ++j) { + w->update(0, 0, x, y); + w->update(x, 0, x, y); + w->update(0, y, x, y); + w->update(x, y, x, y); + } QApplication::processEvents(); - i = (i + 1) % n; } } } @@ -206,127 +229,27 @@ void tst_QWidget::updateComplex() QFETCH(int, rows); QFETCH(int, columns); QFETCH(int, numUpdates); + QFETCH(bool, opaque); - UpdateWidget widget(rows, columns); - widget.show(); - QApplication::processEvents(); + widget.fill(rows, columns); + widget.setOpaqueChildren(opaque); - int i = 0; - const int n = widget.children.size(); QBENCHMARK { - for (int j = 0; j < numUpdates; ++j) { + for (int i = 0; i < widget.children.size(); ++i) { QWidget *w = widget.children[i]; const int x = w->width() / 2; const int y = w->height() / 2; - w->update(QRegion(0, 0, x, y, QRegion::Ellipse)); - w->update(QRegion(x, y, x, y, QRegion::Ellipse)); + QRegion r1(0, 0, x, y, QRegion::Ellipse); + QRegion r2(x, y, x, y, QRegion::Ellipse); + for (int j = 0; j < numUpdates; ++j) { + w->update(r1); + w->update(r2); + } QApplication::processEvents(); - i = (i + 1) % n; } } } -class ResizeWidget : public QWidget -{ -public: - ResizeWidget(); -}; - -ResizeWidget::ResizeWidget() : QWidget(0) -{ - QBoxLayout *topLayout = new QVBoxLayout; - - QMenuBar *menubar = new QMenuBar; - QMenu* popup = menubar->addMenu("&File"); - popup->addAction("&Quit", qApp, SLOT(quit())); - topLayout->setMenuBar(menubar); - - QBoxLayout *buttons = new QHBoxLayout; - buttons->setMargin(5); - buttons->addStretch(10); - for (int i = 1; i <= 4; i++ ) { - QPushButton* button = new QPushButton; - button->setText(QString("Button %1").arg(i)); - buttons->addWidget(button); - } - topLayout->addLayout(buttons); - - buttons = new QHBoxLayout; - buttons->addStretch(10); - for (int i = 11; i <= 16; i++) { - QPushButton* button = new QPushButton; - button->setText(QString("Button %1").arg(i)); - buttons->addWidget(button); - } - topLayout->addLayout(buttons); - - QBoxLayout *buttons2 = new QHBoxLayout; - buttons2->addStretch(10); - topLayout->addLayout(buttons2); - - QPushButton *button = new QPushButton; - button->setText("Button five"); - buttons2->addWidget(button); - - button = new QPushButton; - button->setText("Button 6"); - buttons2->addWidget(button); - - QTextEdit *bigWidget = new QTextEdit; - bigWidget->setText("This widget will get all the remaining space"); - bigWidget->setFrameStyle(QFrame::Panel | QFrame::Plain); - topLayout->addWidget(bigWidget); - - const int numRows = 6; - const int labelCol = 0; - const int linedCol = 1; - const int multiCol = 2; - - QGridLayout *grid = new QGridLayout; - for (int row = 0; row < numRows; row++) { - QLineEdit *lineEdit = new QLineEdit; - grid->addWidget(lineEdit, row, linedCol); - QLabel *label = new QLabel(QString("Line &%1").arg(row + 1)); - grid->addWidget(label, row, labelCol); - } - topLayout->addLayout(grid); - - QTextEdit *multiLineEdit = new QTextEdit; - grid->addWidget(multiLineEdit, 0, labelCol + 1, multiCol, multiCol); - - grid->setColumnStretch(linedCol, 10); - grid->setColumnStretch(multiCol, 20); - - QLabel* statusBar = new QLabel; - statusBar->setText("Let's pretend this is a status bar"); - statusBar->setFrameStyle(QFrame::Panel | QFrame::Sunken); - statusBar->setFixedHeight(statusBar->sizeHint().height()); - statusBar->setAlignment(Qt::AlignVCenter | Qt::AlignLeft); - topLayout->addWidget(statusBar); - - topLayout->activate(); - setLayout(topLayout); -} - -void tst_QWidget::complexToplevelResize() -{ - ResizeWidget w; - w.show(); - - QApplication::processEvents(); - - const int minSize = 100; - const int maxSize = 800; - int size = minSize; - - QBENCHMARK { - w.resize(size, size); - size = qMax(minSize, (size + 10) % maxSize); - QApplication::processEvents(); - QApplication::processEvents(); - } -} - QTEST_MAIN(tst_QWidget) #include "tst_qwidget.moc" diff --git a/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp index 226b661..d051b12 100644 --- a/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp +++ b/tests/benchmarks/gui/styles/qstylesheetstyle/main.cpp @@ -82,6 +82,7 @@ void tst_qstylesheetstyle::empty() { QWidget *w = buildSimpleWidgets(); w->setStyleSheet("/* */"); + QApplication::processEvents(); int i = 0; QBENCHMARK { w->setStyleSheet("/*" + QString::number(i) + "*/"); @@ -94,6 +95,7 @@ void tst_qstylesheetstyle::empty_events() { QWidget *w = buildSimpleWidgets(); w->setStyleSheet("/* */"); + QApplication::processEvents(); int i = 0; QBENCHMARK { w->setStyleSheet("/*" + QString::number(i) + "*/"); @@ -112,6 +114,7 @@ void tst_qstylesheetstyle::simple() { QWidget *w = buildSimpleWidgets(); w->setStyleSheet("/* */"); + QApplication::processEvents(); int i = 0; QBENCHMARK { w->setStyleSheet(QString(simple_css) + "/*" + QString::number(i) + "*/"); @@ -124,6 +127,7 @@ void tst_qstylesheetstyle::simple_events() { QWidget *w = buildSimpleWidgets(); w->setStyleSheet("/* */"); + QApplication::processEvents(); int i = 0; QBENCHMARK { w->setStyleSheet(QString(simple_css) + "/*" + QString::number(i) + "*/"); @@ -175,8 +179,13 @@ void tst_qstylesheetstyle::grid() w->setStyleSheet("/* */"); if(show) { w->show(); + QTest::qWaitForWindowShown(w); + QApplication::flush(); + QApplication::processEvents(); QTest::qWait(30); + QApplication::processEvents(); } + QApplication::processEvents(); int i = 0; QBENCHMARK { w->setStyleSheet(stylesheet + "/*" + QString::number(i) + "*/"); diff --git a/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro index 99d1935..89f5d31 100644 --- a/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro +++ b/tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro @@ -1,6 +1,6 @@ load(qttest_p4) TEMPLATE = app -TARGET = qfile_vs_qnetworkaccessmanager +TARGET = tst_qfile_vs_qnetworkaccessmanager DEPENDPATH += . INCLUDEPATH += . diff --git a/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp index 3bfc21c..d7bb04b 100644 --- a/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp @@ -69,6 +69,8 @@ private slots: void property(); void setProperty(); void propertyFlags(); + void readMetaProperty(); + void writeMetaProperty(); }; tst_QScriptValue::tst_QScriptValue() @@ -201,5 +203,28 @@ void tst_QScriptValue::propertyFlags() } } +void tst_QScriptValue::readMetaProperty() +{ + QScriptEngine engine; + QScriptValue object = engine.newQObject(QCoreApplication::instance()); + QScriptString propertyName = engine.toStringHandle("objectName"); + QBENCHMARK { + for (int i = 0; i < 10000; ++i) + object.property(propertyName); + } +} + +void tst_QScriptValue::writeMetaProperty() +{ + QScriptEngine engine; + QScriptValue object = engine.newQObject(QCoreApplication::instance()); + QScriptString propertyName = engine.toStringHandle("objectName"); + QScriptValue value(&engine, "foo"); + QBENCHMARK { + for (int i = 0; i < 10000; ++i) + object.setProperty(propertyName, value); + } +} + QTEST_MAIN(tst_QScriptValue) #include "tst_qscriptvalue.moc" |