diff options
author | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-10-02 06:40:17 (GMT) |
---|---|---|
committer | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-10-02 06:40:17 (GMT) |
commit | 17dc26e3e7a65b6eb0c0980a76c8fbe7bd37c690 (patch) | |
tree | ee9a982c144fb636ec22cdf7dd27de37725ff320 | |
parent | b148b182b5b48d60c2b57d8b74ad0f30272bb578 (diff) | |
parent | 7ea326d796a6d2ecb13b961c576c82a797d84706 (diff) | |
download | Qt-17dc26e3e7a65b6eb0c0980a76c8fbe7bd37c690.zip Qt-17dc26e3e7a65b6eb0c0980a76c8fbe7bd37c690.tar.gz Qt-17dc26e3e7a65b6eb0c0980a76c8fbe7bd37c690.tar.bz2 |
Merge commit 'qt-mainline/4.6' into kinetic-declarativeui
Conflicts:
configure.exe
1420 files changed, 29182 insertions, 15734 deletions
@@ -5,16 +5,16 @@ this pre-release you can make advanced graphical applications and utilize TCP/IP connections. More specifically, these modules are now available for S60: -QtCore - http://doc.trolltech.com/4.5/qtcore.html -QtGui - http://doc.trolltech.com/4.5/qtgui.html -QtNetwork - http://doc.trolltech.com/4.5/qtnetwork.html -QtScript - http://doc.trolltech.com/4.5/qtscript.html -QtSql - http://doc.trolltech.com/4.5/qtsql.html -QtSvg - http://doc.trolltech.com/4.5/qtsvg.html -QtTest - http://doc.trolltech.com/4.5/qttest.html -QtWebKit - http://doc.trolltech.com/4.5/qtwebkit.html -QtXml - http://doc.trolltech.com/4.5/qtxml.html -Phonon - http://doc.trolltech.com/4.5/phonon-module.html +QtCore - http://doc.trolltech.com/4.6/qtcore.html +QtGui - http://doc.trolltech.com/4.6/qtgui.html +QtNetwork - http://doc.trolltech.com/4.6/qtnetwork.html +QtScript - http://doc.trolltech.com/4.6/qtscript.html +QtSql - http://doc.trolltech.com/4.6/qtsql.html +QtSvg - http://doc.trolltech.com/4.6/qtsvg.html +QtTest - http://doc.trolltech.com/4.6/qttest.html +QtWebKit - http://doc.trolltech.com/4.6/qtwebkit.html +QtXml - http://doc.trolltech.com/4.6/qtxml.html +Phonon - http://doc.trolltech.com/4.6/phonon-module.html INSTALLING Qt @@ -23,7 +23,7 @@ Follow the instructions in the INSTALL file. REFERENCE DOCUMENTATION The Qt reference documentation is available locally in Qt's doc/html -directory or at http://doc.trolltech.com/4.5/index.html +directory or at http://doc.trolltech.com/4.6/index.html SUPPORTED PLATFORMS @@ -67,7 +67,7 @@ such a program can be created with some minor changes to one of the many example programs in Qt's examples directory. - INSTALLING Qt/S60 Version %VERSION% + INSTALLING Qt for S60 Version %VERSION% 1. Install needed IDE and SDKs @@ -86,7 +86,10 @@ many example programs in Qt's examples directory. - Open C/C++ v1.6.0 or higher. Install this to all S60 SDKs you plan to use Qt with: http://www.forum.nokia.com/main/resources/technologies/openc_cpp/ - - Building Qt libraries for real device requires RVCT 2.2 [build 616] or later: + - Building Qt tools requires a windows compiler, e.g. MinGW 3.4.5 or higher. + http://www.mingw.org/ + + - Building Qt libraries for real device requires RVCT 2.2 [build 686] or later: http://www.arm.com/products/DevTools/RVCT.html Make sure you have the following packages installed on any device you want to use to @@ -132,21 +135,21 @@ many example programs in Qt's examples directory. To configure Qt for S60, do: cd \Qt\%VERSION% - configure -platform win32-mwc -xplatform symbian-abld + configure -platform win32-g++ -xplatform symbian-abld For other options, type "configure -help" to get a list of all available options. 5. Build Qt - To build Qt for the device, type: - - make release-armv5 - To build Qt for the emulator, type: make debug-winscw + To build Qt for the device, type: + + make release-armv5 + Congratulations, Qt is now ready to use. 6. Running Qt demos @@ -156,7 +159,7 @@ many example programs in Qt's examples directory. a real device, you first have to install the Qt libraries on the device: cd src\s60installs - createpackage -i qt_libs_armv5_urel.pkg <certificate file> <certificate key file> + createpackage -i Qt_for_S60_template.pkg release-armv5 <certificate file> <certificate key file> Note: You will need to supply certificate that allows installation of binaries with "All -Tcb" capability to your device. @@ -164,9 +167,9 @@ many example programs in Qt's examples directory. Similarly, install fluidlauncher to the device: cd embedded\fluidlauncher - createpackage -i fluidlauncher_armv5_urel.pkg + createpackage -i fluidlauncher_template.pkg release-armv5 - This will create a self-signed fluidlauncher_armv5_urel.sisx and install it to your device. + This will create a self-signed fluidlauncher_release-armv5.sis and install it to your device. To run the demos on the emulator simply navigate to the directory of the demo and run: @@ -2244,16 +2244,6 @@ if [ "$OPT_SHADOW" = "yes" ]; then ln -s "$relpath/tools/porting/src/q3porting.xml" "$outpath/tools/porting/src" fi -# symlink files from src/gui/embedded neccessary to build qvfb -if [ "$CFG_DEV" = "yes" ]; then - mkdir -p "$outpath/tools/qvfb" - for f in qvfbhdr.h qlock_p.h qlock.cpp qwssignalhandler_p.h qwssignalhandler.cpp; do - dest="${outpath}/tools/qvfb/${f}" - rm -f "$dest" - ln -s "${relpath}/src/gui/embedded/${f}" "${dest}" - done -fi - # symlink fonts to be able to run application from build directory if [ "$PLATFORM_QWS" = "yes" ] && [ ! -e "${outpath}/lib/fonts" ]; then if [ "$PLATFORM" = "$XPLATFORM" ]; then @@ -6404,7 +6394,7 @@ else fi if [ "$CFG_SCRIPT" = "auto" ]; then - CFG_SCRIPT="$canBuildWebKit" + CFG_SCRIPT="yes" fi if [ "$CFG_SCRIPT" = "yes" ]; then diff --git a/demos/browser/browsermainwindow.cpp b/demos/browser/browsermainwindow.cpp index 1ad2311..fba3ac5 100644 --- a/demos/browser/browsermainwindow.cpp +++ b/demos/browser/browsermainwindow.cpp @@ -740,7 +740,7 @@ void BrowserMainWindow::closeEvent(QCloseEvent *event) if (m_tabWidget->count() > 1) { int ret = QMessageBox::warning(this, QString(), tr("Are you sure you want to close the window?" - " There are %1 tab open").arg(m_tabWidget->count()), + " There are %1 tabs open").arg(m_tabWidget->count()), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret == QMessageBox::No) { diff --git a/demos/embedded/anomaly/anomaly.pro b/demos/embedded/anomaly/anomaly.pro index 8fb1265..f7c11b6 100644 --- a/demos/embedded/anomaly/anomaly.pro +++ b/demos/embedded/anomaly/anomaly.pro @@ -24,7 +24,7 @@ RESOURCES += src/anomaly.qrc symbian { include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h - LIBS += -lesock -lconnmon + LIBS += -lesock -linsock -lconnmon TARGET.CAPABILITY = NetworkServices TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 TARGET.UID3 = 0xA000CF71 diff --git a/demos/embedded/fluidlauncher/config_s60/config.xml b/demos/embedded/fluidlauncher/config_s60/config.xml index 192a2e3..acd14cb 100644 --- a/demos/embedded/fluidlauncher/config_s60/config.xml +++ b/demos/embedded/fluidlauncher/config_s60/config.xml @@ -20,6 +20,7 @@ <example filename="weatherinfo" name="Weather Info" image="screenshots/weatherinfo.png"/> <example filename="flickable" name="Kinetic Scrolling" image="screenshots/flickable.png"/> <example filename="digiflip" name="Flipping Clock" image="screenshots/digiflip.png"/> + <example filename="qmediaplayer" name="Media Player" image="screenshots/mediaplayer.png"/> </demos> <slideshow timeout="60000" interval="10000"> <imagedir dir="slides"/> diff --git a/demos/embedded/fluidlauncher/fluidlauncher.cpp b/demos/embedded/fluidlauncher/fluidlauncher.cpp index 3cd3f3c..c065bc9 100644 --- a/demos/embedded/fluidlauncher/fluidlauncher.cpp +++ b/demos/embedded/fluidlauncher/fluidlauncher.cpp @@ -57,6 +57,7 @@ FluidLauncher::FluidLauncher(QStringList* args) addWidget(pictureFlowWidget); addWidget(slideShowWidget); setCurrentWidget(pictureFlowWidget); + pictureFlowWidget->setFocus(); QRect screen_size = QApplication::desktop()->screenGeometry(); diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro index 3ed4f31..408bf53 100644 --- a/demos/embedded/fluidlauncher/fluidlauncher.pro +++ b/demos/embedded/fluidlauncher/fluidlauncher.pro @@ -96,6 +96,11 @@ symbian { $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/lightmaps_reg.rsc \ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/flightinfo_reg.rsc + contains(QT_CONFIG, phonon) { + reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/qmediaplayer_reg.rsc + } + + reg_resource.path = $$REG_RESOURCE_IMPORT_DIR resource.sources = \ @@ -136,6 +141,12 @@ symbian { reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/anomaly_reg.rsc resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/anomaly.rsc } + + contains(QT_CONFIG, phonon) { + executables.sources += qmediaplayer.exe + resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/qmediaplayer.rsc + } + contains(QT_CONFIG, script) { executables.sources += context2d.exe reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/context2d_reg.rsc diff --git a/demos/mediaplayer/mediaplayer.pro b/demos/mediaplayer/mediaplayer.pro index 49a652e..8f9ec82 100644 --- a/demos/mediaplayer/mediaplayer.pro +++ b/demos/mediaplayer/mediaplayer.pro @@ -3,7 +3,7 @@ ###################################################################### TEMPLATE = app -TARGET = +TARGET = qmediaplayer DEPENDPATH += . build src ui QT += phonon diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml index b545e1d..3f0cd25 100644 --- a/demos/qtdemo/xml/examples.xml +++ b/demos/qtdemo/xml/examples.xml @@ -16,7 +16,7 @@ <example filename="embeddeddialogs" name="Embedded Dialogs" /> <example filename="interview" name="Interview" /> <example filename="browser" name="Browser" /> - <example filename="mediaplayer" name="Media Player" /> + <example filename="qmediaplayer" name="Media Player" /> <example filename="boxes" name="Boxes" /> <example filename="sub-attaq" name="Sub-attaq" /> </demos> diff --git a/demos/sub-attaq/states.cpp b/demos/sub-attaq/states.cpp index 10c173e..7443ae7 100644 --- a/demos/sub-attaq/states.cpp +++ b/demos/sub-attaq/states.cpp @@ -67,6 +67,8 @@ PlayState::PlayState(GraphicsScene *scene, QState *parent) PlayState::~PlayState() { + if (machine) + delete machine; } void PlayState::onEntry(QEvent *) @@ -74,13 +76,15 @@ void PlayState::onEntry(QEvent *) //We are now playing? if (machine) { machine->stop(); + //we hide the information + scene->textInformationItem->hide(); scene->clearScene(); currentLevel = 0; score = 0; delete machine; } - machine = new QStateMachine(this); + machine = new QStateMachine; //This state is when player is playing LevelState *levelState = new LevelState(scene, this, machine); diff --git a/demos/sub-attaq/sub-attaq.pro b/demos/sub-attaq/sub-attaq.pro index ba2b54b..8677ff5 100644 --- a/demos/sub-attaq/sub-attaq.pro +++ b/demos/sub-attaq/sub-attaq.pro @@ -31,13 +31,13 @@ SOURCES += boat.cpp \ RESOURCES += subattaq.qrc # install -target.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq +target.path = $$[QT_INSTALL_DEMOS]/sub-attaq sources.files = $$SOURCES \ $$HEADERS \ $$RESOURCES \ $$FORMS \ sub-attaq.pro \ pics -sources.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq +sources.path = $$[QT_INSTALL_DEMOS]/sub-attaq INSTALLS += target \ sources diff --git a/demos/sub-attaq/textinformationitem.cpp b/demos/sub-attaq/textinformationitem.cpp index 453fd24..1b0c831 100644 --- a/demos/sub-attaq/textinformationitem.cpp +++ b/demos/sub-attaq/textinformationitem.cpp @@ -44,7 +44,7 @@ TextInformationItem::TextInformationItem (QGraphicsItem * parent) : QGraphicsTextItem(parent) { - setFont(QFont("Comic Sans MS", 25)); + setFont(QFont("Comic Sans MS", 15)); } #include <QDebug> void TextInformationItem::setMessage(const QString& text) diff --git a/dist/changes-4.5.3 b/dist/changes-4.5.3 index d797b4c..189baee 100644 --- a/dist/changes-4.5.3 +++ b/dist/changes-4.5.3 @@ -17,34 +17,34 @@ Each of these identifiers can be entered in the task tracker to obtain more information about a particular change. **************************************************************************** -* General * -**************************************************************************** - -General Improvements --------------------- - -- Documentation and Examples - -Third party components ----------------------- - - -**************************************************************************** * Library * **************************************************************************** +- QColorDialog + * [256164] Fixed the setting of alpha values in QColorDialog. + - QDirIterator * [258230] Fixed inconsistencies in value returned from QDirIterator::next(). -- QColorDialog - * [256164] Fixed the setting of alpha values in QColorDialog. - - QDoubleSpinBox * [255019] Fixed a crash when using large value for decimals. +- QFileDialog + * [None] Fix a bug when activating HideNameFilterDetails on Windows filedialog. + * [258084] QFileDialog static functions doesn't honor the DontUseNativeDialog flag. + +- QGraphicsItem + * [258956] Fix ancestor flags that are not correctly update when reparenting. + +- QGraphicsView + * [258356] Fix the hand scrolling in QGraphicsView that will stop unexpectedly. + +- QGraphicsWidget + * [257232] Fix regression in clip path calculation for QGraphicsWidget. + - QInputDialog - * [255502] Fixed bug in getDouble() + * [255502] Fixed bug in getDouble(). - QNetworkAccessManager * [256240] Proper handling of HTTP redirect in AlwaysCache mode. @@ -52,6 +52,18 @@ Third party components HTTP request. * [256630] Fix usage of QProgressDialog together with QNetworkReply. +- QPainter + * [254105] Fixed potential segmentation fault when setting empty clip + rectangle. + * [256549] Fixed inconsistent behavior between paint engines when + setting an IntersectClip after doing setClipping(false). + * [254407] Fixed rendering issue with outline drawing using + projective transforms. + * [258776] Fixed rounding bug in drawImage(). + +- QPainterPath + * [251909] Fixed bug in QPainterPath::united() / simplified(). + - QSslCertificate * [256066] Fix loading of a PEM when the length was a multiple of 64. @@ -62,15 +74,16 @@ Third party components **************************************************************************** * Database Drivers * **************************************************************************** -- [QT-353] (ODBC) Fixed issue of forward only datasets failing when not - explicitly set so. + +- [QT-353] (ODBC) Fixed issue of forward only datasets failing when not + explicitly set so. - [222678] Fixed QSqlTableModel: trying to delete the wrong row. - (Interbase) Fixed crash when calling numRows on unknown query type. - Fixed several database autotests. - Fixed determination of end of odbc string on deficient driver. - Fixed formatting of date strings in psql driver. - Fixed mysql queries automatically getting prepared. Now have to explicitly - prepare them if you want that functionality. + prepare them if you want that functionality. - Fixed failure when QSqlTableModel has null fields to update. - Fixed missing isnan/isinf on some platforms (needed for postgres driver) - Fixed ::record for dialect 3 named tables in interbase/firebird. @@ -83,92 +96,45 @@ Third party components Qt for Linux/X11 ---------------- - - Fixed a bug where an empty KDEDIRS variable would bring /share into the icon search path. - [KDE 191759] Plasma spinning in endless loop. - - -Qt for Windows --------------- +- QClipboard can copy/paste on all screens in a multiscreen configuration. +- Fixed a bug that prevented QClipboard to work after some time. Qt for Mac OS X --------------- -[252088] Drag and drop events will now consider the WA_TransparentForMouseEvents - in Cocoa port. -[255428] Fixed an an issue when Calling QWidget::raise() on hidden windows making - them visible in Cocoa port. -[256269] Window resize events triggered from QWidget::adjustSize() will now - be sent as non-spontaneous event in the Cocoa port. -[258822] Fixed a crash when inserting the same menu twice in a menubar in Cocoa port. +- [252088] Drag and drop events will now consider the + WA_TransparentForMouseEvents in Cocoa port. +- [255428] Fixed an issue when calling QWidget::raise() on hidden windows + making them visible in Cocoa port. +- [256269] Window resize events triggered from QWidget::adjustSize() will now + be sent as a non-spontaneous event in the Cocoa port. +- [258822] Fixed a crash when inserting the same menu twice in a menubar in + Cocoa port. +- Fixed the wizard background images for Snow Leopard. -- Fixed the wizard background images for Snow Leopard. - - -Qt for Embedded Linux ---------------------- +Qt for Windows +----------------- +- [250188] Fixed size windows will show the maximize button if asked explicitely. Qt for Windows CE ----------------- -[260702] Fixed restoring of minimized Windows. - -**************************************************************************** -* Compiler Specific Changes * -**************************************************************************** - - -**************************************************************************** -* Tools * -**************************************************************************** - -- Build System - -- Assistant - - -- Designer - - -- Linguist - - Linguist GUI - - - lupdate - - - lrelease - - -- rcc - - -- moc - - -- uic - - -- uic3 - - -- qmake - - -- configure - - -- qtconfig - - -- qt3to4 - +- [260702] Fixed restoring of minimized Windows. **************************************************************************** * Plugins * **************************************************************************** - -**************************************************************************** -* Important Behavior Changes * -**************************************************************************** +- DirectFB + * Make autorepeat work for DirectFB keyboard driver. + * Fix a crash when resizing windows. + * Fix an off by one when flipping surfaces that could lead to artifacts. + * Make painting operations with QRegion clips go to DirectFB rather than + Raster (when possible). + * Make porter duff operations work for blits. + * Various optimizations. + * Handle more operations in hw. diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc index 4f4db85..bfd8066 100644 --- a/doc/src/development/designer-manual.qdoc +++ b/doc/src/development/designer-manual.qdoc @@ -61,9 +61,6 @@ \l{Getting To Know Qt Designer} document. For a quick tutorial on how to use \QD, refer to \l{A Quick Start to Qt Designer}. - Qt Designer 4.6 boasts a long list of improvements. For a detailed list of - what is new, refer \l{What's New in Qt Designer 4.6}. - \image designer-multiple-screenshot.png For more information on using \QD, you can take a look at the following diff --git a/doc/src/diagrams/programs/standard_views.py b/doc/src/diagrams/programs/standard_views.py new file mode 100644 index 0000000..f1d69f6 --- /dev/null +++ b/doc/src/diagrams/programs/standard_views.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import sys +from PyQt4.QtCore import QDir, Qt +from PyQt4.QtGui import * + +app = QApplication(sys.argv) + +background = QWidget() +palette = QPalette() +palette.setColor(QPalette.Window, QColor(Qt.white)) +background.setPalette(palette) + +model = QFileSystemModel() +model.setRootPath(QDir.currentPath()) + +treeView = QTreeView(background) +treeView.setModel(model) +treeView.setRootIndex(model.index(QDir.currentPath())) + +listView = QListView(background) +listView.setModel(model) +listView.setRootIndex(model.index(QDir.currentPath())) + +tableView = QTableView(background) +tableView.setModel(model) +tableView.setRootIndex(model.index(QDir.currentPath())) + +selection = QItemSelectionModel(model) +treeView.setSelectionModel(selection) +listView.setSelectionModel(selection) +tableView.setSelectionModel(selection) + +layout = QHBoxLayout(background) +layout.addWidget(listView) +layout.addSpacing(24) +layout.addWidget(treeView, 1) +layout.addSpacing(24) +layout.addWidget(tableView) +background.show() + +sys.exit(app.exec_()) diff --git a/doc/src/frameworks-technologies/statemachine.qdoc b/doc/src/frameworks-technologies/statemachine.qdoc index 2b137dd..ed8bc85 100644 --- a/doc/src/frameworks-technologies/statemachine.qdoc +++ b/doc/src/frameworks-technologies/statemachine.qdoc @@ -304,6 +304,35 @@ For parallel state groups, the QState::finished() signal is emitted when \e all the child states have entered final states. + \section1 Targetless Transitions + + A transition need not have a target state. A transition without a target can + be triggered the same way as any other transition; the difference is that + when a targetless transition is triggered, it doesn't cause any state + changes. This allows you to react to a signal or event when your machine is + in a certain state, without having to leave that state. Example: + + \code + QStateMachine machine; + QState *s1 = new QState(&machine); + + QPushButton button; + QSignalTransition *trans = new QSignalTransition(&button, SIGNAL(clicked())); + s1->addTransition(trans); + + QMessageBox msgBox; + msgBox.setText("The button was clicked; carry on."); + QObject::connect(trans, SIGNAL(triggered()), &msgBox, SLOT(exec())); + + machine.setInitialState(s1); + \endcode + + The message box will be displayed each time the button is clicked, but the + state machine will remain in its current state (s1). If the target state + were explicitly set to s1, however, s1 would be exited and re-entered each + time (e.g. the QAbstractState::entered() and QAbstractState::exited() + signals would be emitted). + \section1 Events, Transitions and Guards A QStateMachine runs its own event loop. For signal transitions diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index 543a2e1..d80308a 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -295,6 +295,8 @@ \o \image animation-examples.png \o + These examples show to to use the \l{The Animation Framework}{animation framework} + to build highly animated, high-performance GUIs. \row \o{2,1} \l{Gestures Examples}{\bold{Gestures}} @@ -322,6 +324,8 @@ \o \image activeqt-examples.png ActiveQt \o + These examples demonstrate how to write ActiveX controls and control servers + with Qt, and how to use ActiveX controls and COM objects in a Qt application. \row \o{2,1} \l{Qt Quarterly}{\bold{Qt Quarterly}} diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 1a20be9..539c1d5 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -599,14 +599,14 @@ If you are using pre-built binaries, follow the instructions \o Build Qt - To build Qt for the device, type: - - \snippet doc/src/snippets/code/doc_src_installation.qdoc 28 - To build Qt for the emulator, type: \snippet doc/src/snippets/code/doc_src_installation.qdoc 24 + To build Qt for the device, type: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 28 + Congratulations, Qt is now ready to use. \o Running Qt demos diff --git a/doc/src/images/gradient.png b/doc/src/images/gradient.png Binary files differnew file mode 100644 index 0000000..2ef36ed --- /dev/null +++ b/doc/src/images/gradient.png diff --git a/doc/src/images/graphicseffect-bloom.png b/doc/src/images/graphicseffect-bloom.png Binary files differnew file mode 100644 index 0000000..dace7eb --- /dev/null +++ b/doc/src/images/graphicseffect-bloom.png diff --git a/doc/src/images/graphicseffect-effects.png b/doc/src/images/graphicseffect-effects.png Binary files differindex 3709014..609bef9 100644 --- a/doc/src/images/graphicseffect-effects.png +++ b/doc/src/images/graphicseffect-effects.png diff --git a/doc/src/images/graphicseffect-plain.png b/doc/src/images/graphicseffect-plain.png Binary files differnew file mode 100644 index 0000000..8b4c1c4 --- /dev/null +++ b/doc/src/images/graphicseffect-plain.png diff --git a/doc/src/images/pbuffers-example.png b/doc/src/images/pbuffers-example.png Binary files differindex bafb05a..c34a6fd 100644 --- a/doc/src/images/pbuffers-example.png +++ b/doc/src/images/pbuffers-example.png diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index 480107a..6b81936 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -79,15 +79,15 @@ </td> </tr> <tr> - <th class="largeheader"> + <th class="titleheader"> Fundamentals</th> - <th class="largeheader"> + <th class="titleheader"> User Interface Design</th> - <th class="largeheader"> + <th class="titleheader"> Technologies</th> </tr> <tr> - <td valign="top" class="largeindex"> + <td valign="top"> <ul> <li><a href="object.html">The Qt Object Model</a></li> <li><a href="eventsandfilters.html">Event System</a></li> @@ -96,7 +96,7 @@ <li><a href="platform-specific.html">Platform Specifics</a></li> </ul> </td> - <td valign="top" class="largeindex"> + <td valign="top"> <ul> <li><a href="widgets-and-layouts.html">Widgets and Layouts</a></li> <li><a href="application-windows.html">Application Windows</a></li> @@ -106,7 +106,7 @@ <li><a href="qtdeclarative.html">Declarative UI</a></li> </ul> </td> - <td valign="top" class="largeindex"> + <td valign="top"> <ul> <li><a href="io.html">Input/Output</a> and <a href="resources.html">Resources</a></li> <li><a href="network-programming.html">Network Programming</a></li> diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index d455463..5be66f8 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -411,6 +411,24 @@ For information about mixing exceptions with symbian leaves, see \l{Exception Safety with Symbian} + + \section1 Multimedia and Phonon Support + + Qt provides a backend for Qt's multimedia module, Phonon, which supports + video and sound playback through Symbian's Multimedia Framework, MMF. + + In this release the support is experimental. Video playback may have + flickering issues, and support for effects and playback queueing is + incomplete. + + The audio and video formats that Phonon supports depends on what support + the platform provides for MMF. The emulator is known to have limited + codec support. + + In addition, there exists a backend for the Helix framework. However, due + to it not shipping with Qt, its availability depends on the Symbian + platform in use. If available, it is loaded instead of the MMF plugin. + */ /*! diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc index 61bd779..788af67 100644 --- a/doc/src/platforms/supported-platforms.qdoc +++ b/doc/src/platforms/supported-platforms.qdoc @@ -78,7 +78,7 @@ \row \o Linux (32 and 64-bit) \o gcc 4.2 \row \o Microsoft Windows XP - \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit) + \o gcc 4.4 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit) \row \o Microsoft Windows Vista \o MSVC 2005, 2008 \row \o Microsoft Windows Vista 64bit @@ -104,6 +104,14 @@ \table \header \o Platform \o Compilers + \row \o Windows XP, Vista + \o gcc 3.4.2 (MinGW) + \omit + \row \o Windows 7 + \o MSVC 2008 + \endomit + \row \o Apple Mac OS X 10.6 "Snow Leopard" + \o As provided by Apple \row \o Apple Mac OS X 10.4 "Tiger" \o As provided by Apple \row \o HPUXi 11.11 @@ -128,7 +136,14 @@ All platforms not specifically listed above are not supported by Nokia. Nokia does not run its unit test suite or perform any other internal tests on platforms not - listed above. Qt users should note, however, that there may be various open source + listed above. + + Even though some Tier 3 platforms are available under the Qt Commercial License, + technical support is not included in that license. + However, \l{Hot to Order}{contact our sales team} to find out about the + availability of other services for those platforms. + + Qt users should note, however, that there may be various open source projects, community users and/or Qt partners who are able to provide assistance with platforms not supported by Nokia. diff --git a/doc/src/qt-resources.qdoc b/doc/src/qt-resources.qdoc new file mode 100644 index 0000000..a7dffe4 --- /dev/null +++ b/doc/src/qt-resources.qdoc @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation 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$ +** +****************************************************************************/ + +/*! + \page qt-resources.html + \image gradient.png +*/ diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc index e02cd19..7287656 100644 --- a/doc/src/qt-webpages.qdoc +++ b/doc/src/qt-webpages.qdoc @@ -145,7 +145,7 @@ */ /*! - \externalpage http://qt.nokia.com/contact + \externalpage http://qt.nokia.com/about/contact-us \title How to Order */ diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 03d9b29..47eab16 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -464,6 +464,7 @@ previous releases in the Qt 4 series. This document covers the most important features in this release, separated by category. +\omit A comprehensive list of changes between Qt 4.5 and Qt 4.6 is included in the \c changes-4.6.0 file \l{http://qt.nokia.com/developer/changes/changes-4.6.0}{available @@ -473,6 +474,7 @@ Changes between this release and the previous release are provided in the \c{changes-%VERSION%} file (also \l{http://qt.nokia.com/developer/changes/changes-%VERSION%}{available online}). +\endomit A list of other Qt 4 features can be found on the \bold{\l{What's New in Qt 4}} page. @@ -481,6 +483,14 @@ \tableofcontents + \section1 Support for Symbian + + Qt 4.6 is the first release to include support for the Symbian + platform, with integration into the S60 framework. The port to + Symbian and S60 provides all functionality required to develop + rich end-user applications for devices running Symbian 3.1 and + later. + \section1 Animation Framework The animation framework helps build highly animated, @@ -491,8 +501,9 @@ The framework makes it easy to animate \l{QObject}s, including QWidgets, by allowing Qt properties to be animated. It also allows creating custom animations and interpolation functions. Graphics - views are not left out--one can animate \l{QGraphicsWidget}s, - which inherits from QObject (and thereby enables properties). + views are not left out; one can animate \l{QGraphicsWidget}s and + new \l{QGraphicsObject}s which inherit from QGraphicsItem + (and thereby enable properties). Animations are controlled using easing curves and can be grouped together. This enables animations of arbitrary complexity. @@ -508,6 +519,8 @@ The state machine framework is introduced in 4.6 and is described below. + See \l{The Animation Framework} documentation for more information. + \section1 State Machine Framework The state machine framework provides a robust state chart @@ -533,6 +546,8 @@ trigger on signals and \l{QEvent}s. By inserting animations into the state machine, it is also easier to use the framework for animating GUIs, for instance. + + See \l{The State Machine Framework} documentation for more infromation. \section1 Multi-touch & Gestures @@ -552,6 +567,8 @@ \o Enable extensibility. \endlist + See the QTouchEvent and QGesture class documentation for more information. + \section1 DOM access API Web pages and XML both have very complex document object models. @@ -566,20 +583,7 @@ QList<QWebElement> introSpans = document.findAll("p.intro span"); \endcode - \section1 Qt3D enablers - - As more of Qt, and more of the applications built on Qt go 3D, - API's should be provided to simplify this. Mainly, the new API - aims to make it more easy to create 3D applications with OpenGL. - It will also unify the Qt OpenGL codebase, and enable - cross-platform 3D codebase. - - The main features of the Qt3D enablers are currently: Math - primitives for matrix multiplication, vectors, quaternions - (client-side), and API for vertex and fragment shaders, GLSL/ES. - Future research will, among other things include stencils, - scissors, vertex buffers and arrays, texture manipulation, and - geometry shaders. + See the QWebElement class documentation for more information. \section1 Performance Optimizations @@ -592,10 +596,57 @@ \o Reduced overhead in QNetworkAccessManager. \o Added the QContiguousCache class, which provides efficient caching of contiguous data. + \o Added support for hardware-accelerated rendering through + \l{OpenVG Rendering in Qt}{OpenVG} \o Removed Win9x support. \endlist - \section1 Multimedia Audio Services + \section1 Graphics Effects + + Effects can be used to alter the appearance of UI elements such as + \l{QGraphicsItem}s and \l{QWidget}s. A range of standard effects such + as blurring, colorizing or blooming is provided, and it is possible to + implement custom effects. + + \table + \row + \o + \o \img graphicseffect-plain.png + \o + \row + \o \img graphicseffect-blur.png + \o \img graphicseffect-colorize.png + \o \img graphicseffect-bloom.png + \endtable + + See the QGraphicsEffect class documentation for more information. + + \section1 XML Schema Validation + + The QtXmlPatterns module can now be used to validate schemas, either + through C++ APIs in the Qt application, or using the xmlpatternsvalidator + command line utility. The implementation of XML Schema Validation supports + the specification version 1.0 in large parts. + + See the \l{XML Processing} and QXmlSchema class documentation for more + information. + + \section1 Qt3D enablers + + As more of Qt, and more of the applications built on Qt go 3D, + API's should be provided to simplify this. Mainly, the new API + aims to make it more easy to create 3D applications with OpenGL. + It will also unify the Qt OpenGL codebase, and enable + cross-platform 3D codebase. + + The main features of the Qt3D enablers are currently: Math + primitives for matrix multiplication, vectors, quaternions + (client-side), and API for vertex and fragment shaders, GLSL/ES. + Future research will, among other things include stencils, + scissors, vertex buffers and arrays, texture manipulation, and + geometry shaders. + + \section1 Multimedia Services Qt 4.6 comes with new classes for handling audio. These classes provide low-level access to the system's audio system. By @@ -605,21 +656,14 @@ functions to query audio devices for which audio formats they support. - \section1 Classes and Functions Introduced in 4.6 - - Links to class, function, and macro documentation. - - \section2 Classes - - Classes introduced in Qt 4.6. - - \sincelist classes + See the \l{QtMultimedia Module} documentation for more information. - \section2 Functions & Macros + \section1 Classes, functions, and other items introduced in 4.6 - Fuctions and macros introduced in Qt 4.6. + Links to classes, function, and other items that were added in + 4.6. - \sincelist functions + \sincelist 4.6 */ diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc index 045d740..d0a1976 100644 --- a/doc/src/s60-introduction.qdoc +++ b/doc/src/s60-introduction.qdoc @@ -90,7 +90,7 @@ \row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT. \row \o \c release-armv5 \o Build release binaries for hardware using RVCT. \row \o \c run \o Run the emulator binaries from the build directory. - \row \o \c sis \o Create signed \c .sis file for project. + \row \o \c sis \o Create signed \c .sis file for project. \endtable The following lines perform a debug build for the emulator @@ -106,7 +106,7 @@ To install your own applications on hardware, you need signed \c .sis file. The signed \c .sis file can be created with \c make \c sis target. \c sis target is only supported for executables or projects with \c DEPLOYMENT statements. - By default the \c sis target will create signed \.sis file for last build + By default the \c sis target will create signed \c .sis file for last build target. For example, the following sequence will generate the needed makefiles, build the project for \c debug-winscw and \c release-armv5, and create self-signed \c .sis file for \c release-armv5 target: @@ -119,8 +119,10 @@ \table \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. - Currently only -i, install the package right away - using PC suite, is supported. + -i, install the package right away using PC suite. + -c=<file>, read certificate information from a file. + Execute \c{perl createpackage.pl} for more information + about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in @@ -133,13 +135,13 @@ By default empty. \endtable - The environment variables for \c make can be given as an parameters. For example: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3 - - The above example is identical to: + For example: \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 4 + + The environment variables for \c make can also be given as parameters: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3 If you want to install the program immediately, make sure that the device is connected to the computer in "PC Suite" mode, and run \c sis target diff --git a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro index db63104..262e1a1 100644 --- a/examples/activeqt/activeqt.pro +++ b/examples/activeqt/activeqt.pro @@ -18,5 +18,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS activeqt.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/comapp/comapp.pro b/examples/activeqt/comapp/comapp.pro index 99b8933..84ce072 100644 --- a/examples/activeqt/comapp/comapp.pro +++ b/examples/activeqt/comapp/comapp.pro @@ -11,5 +11,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/comapp sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS comapp.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/comapp INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/hierarchy/hierarchy.pro b/examples/activeqt/hierarchy/hierarchy.pro index cd1d754..abe5f1b 100644 --- a/examples/activeqt/hierarchy/hierarchy.pro +++ b/examples/activeqt/hierarchy/hierarchy.pro @@ -14,5 +14,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/hierarchy sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hierarchy.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/hierarchy INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/menus/menus.pro b/examples/activeqt/menus/menus.pro index f197833..c962b6b 100644 --- a/examples/activeqt/menus/menus.pro +++ b/examples/activeqt/menus/menus.pro @@ -12,5 +12,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/menus sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS menus.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/menus INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/multiple/multiple.pro b/examples/activeqt/multiple/multiple.pro index 9c95921..7b86950 100644 --- a/examples/activeqt/multiple/multiple.pro +++ b/examples/activeqt/multiple/multiple.pro @@ -14,5 +14,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/multiple sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS multiple.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/multiple INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/opengl/opengl.pro b/examples/activeqt/opengl/opengl.pro index 978bd66..8eb81be 100644 --- a/examples/activeqt/opengl/opengl.pro +++ b/examples/activeqt/opengl/opengl.pro @@ -17,5 +17,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/opengl sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS opengl.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/opengl INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/qutlook/qutlook.pro b/examples/activeqt/qutlook/qutlook.pro index 0387735..c1154e0 100644 --- a/examples/activeqt/qutlook/qutlook.pro +++ b/examples/activeqt/qutlook/qutlook.pro @@ -21,5 +21,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/qutlook sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS qutlook.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/qutlook INSTALLS += target sources - -include($$QT_SOURCE_TREE/examples/examplebase.pri) diff --git a/examples/activeqt/simple/simple.pro b/examples/activeqt/simple/simple.pro index 243d06a..d0f2019 100644 --- a/examples/activeqt/simple/simple.pro +++ b/examples/activeqt/simple/simple.pro @@ -11,5 +11,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/simple sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS simple.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/simple INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/webbrowser/webbrowser.pro b/examples/activeqt/webbrowser/webbrowser.pro index 13b1983..32eac71 100644 --- a/examples/activeqt/webbrowser/webbrowser.pro +++ b/examples/activeqt/webbrowser/webbrowser.pro @@ -15,5 +15,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/webbrowser sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS webbrowser.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/webbrowser INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/activeqt/wrapper/wrapper.pro b/examples/activeqt/wrapper/wrapper.pro index a207f2e..4eb6baf 100644 --- a/examples/activeqt/wrapper/wrapper.pro +++ b/examples/activeqt/wrapper/wrapper.pro @@ -13,5 +13,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/activeqt/wrapper sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS wrapper.pro sources.path = $$[QT_INSTALL_EXAMPLES]/activeqt/wrapper INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/animation/states/main.cpp b/examples/animation/states/main.cpp index dafa8ad..f9d654a 100644 --- a/examples/animation/states/main.cpp +++ b/examples/animation/states/main.cpp @@ -41,13 +41,12 @@ #include <QtGui> -class Pixmap : public QGraphicsWidget +class Pixmap : public QGraphicsObject { Q_OBJECT public: - Pixmap(const QPixmap &pix) : QGraphicsWidget(), p(pix) + Pixmap(const QPixmap &pix) : QGraphicsObject(), p(pix) { - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); } void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) @@ -55,10 +54,9 @@ public: painter->drawPixmap(QPointF(), p); } -protected: - QSizeF sizeHint(Qt::SizeHint, const QSizeF & = QSizeF()) + QRectF boundingRect() const { - return QSizeF(p.width(), p.height()); + return QRectF( QPointF(0, 0), p.size()); } private: @@ -133,12 +131,12 @@ int main(int argc, char *argv[]) state1->assignProperty(button, "text", "Switch to state 2"); state1->assignProperty(widget, "geometry", QRectF(0, 0, 400, 150)); state1->assignProperty(box, "geometry", QRect(-200, 150, 200, 150)); - state1->assignProperty(p1, "geometry", QRectF(68, 185, 64, 64)); - state1->assignProperty(p2, "geometry", QRectF(168, 185, 64, 64)); - state1->assignProperty(p3, "geometry", QRectF(268, 185, 64, 64)); - state1->assignProperty(p4, "geometry", QRectF(68-150, 48-150, 64, 64)); - state1->assignProperty(p5, "geometry", QRectF(168, 48-150, 64, 64)); - state1->assignProperty(p6, "geometry", QRectF(268+150, 48-150, 64, 64)); + state1->assignProperty(p1, "pos", QPointF(68, 185)); + state1->assignProperty(p2, "pos", QPointF(168, 185)); + state1->assignProperty(p3, "pos", QPointF(268, 185)); + state1->assignProperty(p4, "pos", QPointF(68-150, 48-150)); + state1->assignProperty(p5, "pos", QPointF(168, 48-150)); + state1->assignProperty(p6, "pos", QPointF(268+150, 48-150)); state1->assignProperty(p1, "rotation", qreal(0)); state1->assignProperty(p2, "rotation", qreal(0)); state1->assignProperty(p3, "rotation", qreal(0)); @@ -157,12 +155,12 @@ int main(int argc, char *argv[]) state2->assignProperty(button, "text", "Switch to state 3"); state2->assignProperty(widget, "geometry", QRectF(200, 150, 200, 150)); state2->assignProperty(box, "geometry", QRect(9, 150, 190, 150)); - state2->assignProperty(p1, "geometry", QRectF(68-150, 185+150, 64, 64)); - state2->assignProperty(p2, "geometry", QRectF(168, 185+150, 64, 64)); - state2->assignProperty(p3, "geometry", QRectF(268+150, 185+150, 64, 64)); - state2->assignProperty(p4, "geometry", QRectF(64, 48, 64, 64)); - state2->assignProperty(p5, "geometry", QRectF(168, 48, 64, 64)); - state2->assignProperty(p6, "geometry", QRectF(268, 48, 64, 64)); + state2->assignProperty(p1, "pos", QPointF(68-150, 185+150)); + state2->assignProperty(p2, "pos", QPointF(168, 185+150)); + state2->assignProperty(p3, "pos", QPointF(268+150, 185+150)); + state2->assignProperty(p4, "pos", QPointF(64, 48)); + state2->assignProperty(p5, "pos", QPointF(168, 48)); + state2->assignProperty(p6, "pos", QPointF(268, 48)); state2->assignProperty(p1, "rotation", qreal(-270)); state2->assignProperty(p2, "rotation", qreal(90)); state2->assignProperty(p3, "rotation", qreal(270)); @@ -179,12 +177,12 @@ int main(int argc, char *argv[]) // State 3 state3->assignProperty(button, "text", "Switch to state 1"); - state3->assignProperty(p1, "geometry", QRectF(0, 5, 64, 64)); - state3->assignProperty(p2, "geometry", QRectF(0, 5 + 64 + 5, 64, 64)); - state3->assignProperty(p3, "geometry", QRectF(5, 5 + (64 + 5) + 64, 64, 64)); - state3->assignProperty(p4, "geometry", QRectF(5 + 64 + 5, 5, 64, 64)); - state3->assignProperty(p5, "geometry", QRectF(5 + 64 + 5, 5 + 64 + 5, 64, 64)); - state3->assignProperty(p6, "geometry", QRectF(5 + 64 + 5, 5 + (64 + 5) + 64, 64, 64)); + state3->assignProperty(p1, "pos", QPointF(0, 5)); + state3->assignProperty(p2, "pos", QPointF(0, 5 + 64 + 5)); + state3->assignProperty(p3, "pos", QPointF(5, 5 + (64 + 5) + 64)); + state3->assignProperty(p4, "pos", QPointF(5 + 64 + 5, 5)); + state3->assignProperty(p5, "pos", QPointF(5 + 64 + 5, 5 + 64 + 5)); + state3->assignProperty(p6, "pos", QPointF(5 + 64 + 5, 5 + (64 + 5) + 64)); state3->assignProperty(widget, "geometry", QRectF(138, 5, 400 - 138, 200)); state3->assignProperty(box, "geometry", QRect(5, 205, 400, 90)); state3->assignProperty(p1, "opacity", qreal(1)); @@ -194,83 +192,74 @@ int main(int argc, char *argv[]) state3->assignProperty(p5, "opacity", qreal(1)); state3->assignProperty(p6, "opacity", qreal(1)); - QParallelAnimationGroup animation1; - - QSequentialAnimationGroup *animation1SubGroup; - animation1SubGroup = new QSequentialAnimationGroup(&animation1); + QAbstractTransition *t1 = state1->addTransition(button, SIGNAL(clicked()), state2); + QSequentialAnimationGroup *animation1SubGroup = new QSequentialAnimationGroup; animation1SubGroup->addPause(250); animation1SubGroup->addAnimation(new QPropertyAnimation(box, "geometry")); + t1->addAnimation(animation1SubGroup); + t1->addAnimation(new QPropertyAnimation(widget, "geometry")); + t1->addAnimation(new QPropertyAnimation(p1, "pos")); + t1->addAnimation(new QPropertyAnimation(p2, "pos")); + t1->addAnimation(new QPropertyAnimation(p3, "pos")); + t1->addAnimation(new QPropertyAnimation(p4, "pos")); + t1->addAnimation(new QPropertyAnimation(p5, "pos")); + t1->addAnimation(new QPropertyAnimation(p6, "pos")); + t1->addAnimation(new QPropertyAnimation(p1, "rotation")); + t1->addAnimation(new QPropertyAnimation(p2, "rotation")); + t1->addAnimation(new QPropertyAnimation(p3, "rotation")); + t1->addAnimation(new QPropertyAnimation(p4, "rotation")); + t1->addAnimation(new QPropertyAnimation(p5, "rotation")); + t1->addAnimation(new QPropertyAnimation(p6, "rotation")); + t1->addAnimation(new QPropertyAnimation(p1, "opacity")); + t1->addAnimation(new QPropertyAnimation(p2, "opacity")); + t1->addAnimation(new QPropertyAnimation(p3, "opacity")); + t1->addAnimation(new QPropertyAnimation(p4, "opacity")); + t1->addAnimation(new QPropertyAnimation(p5, "opacity")); + t1->addAnimation(new QPropertyAnimation(p6, "opacity")); - animation1.addAnimation(new QPropertyAnimation(widget, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p1, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p2, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p3, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p4, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p5, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p6, "geometry")); - animation1.addAnimation(new QPropertyAnimation(p1, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p2, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p3, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p4, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p5, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p6, "rotation")); - animation1.addAnimation(new QPropertyAnimation(p1, "opacity")); - animation1.addAnimation(new QPropertyAnimation(p2, "opacity")); - animation1.addAnimation(new QPropertyAnimation(p3, "opacity")); - animation1.addAnimation(new QPropertyAnimation(p4, "opacity")); - animation1.addAnimation(new QPropertyAnimation(p5, "opacity")); - animation1.addAnimation(new QPropertyAnimation(p6, "opacity")); - - QParallelAnimationGroup animation2; - animation2.addAnimation(new QPropertyAnimation(box, "geometry")); - animation2.addAnimation(new QPropertyAnimation(widget, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p1, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p2, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p3, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p4, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p5, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p6, "geometry")); - animation2.addAnimation(new QPropertyAnimation(p1, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p2, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p3, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p4, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p5, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p6, "rotation")); - animation2.addAnimation(new QPropertyAnimation(p1, "opacity")); - animation2.addAnimation(new QPropertyAnimation(p2, "opacity")); - animation2.addAnimation(new QPropertyAnimation(p3, "opacity")); - animation2.addAnimation(new QPropertyAnimation(p4, "opacity")); - animation2.addAnimation(new QPropertyAnimation(p5, "opacity")); - animation2.addAnimation(new QPropertyAnimation(p6, "opacity")); - - QParallelAnimationGroup animation3; - animation3.addAnimation(new QPropertyAnimation(box, "geometry")); - animation3.addAnimation(new QPropertyAnimation(widget, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p1, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p2, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p3, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p4, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p5, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p6, "geometry")); - animation3.addAnimation(new QPropertyAnimation(p1, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p2, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p3, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p4, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p5, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p6, "rotation")); - animation3.addAnimation(new QPropertyAnimation(p1, "opacity")); - animation3.addAnimation(new QPropertyAnimation(p2, "opacity")); - animation3.addAnimation(new QPropertyAnimation(p3, "opacity")); - animation3.addAnimation(new QPropertyAnimation(p4, "opacity")); - animation3.addAnimation(new QPropertyAnimation(p5, "opacity")); - animation3.addAnimation(new QPropertyAnimation(p6, "opacity")); - - QAbstractTransition *t1 = state1->addTransition(button, SIGNAL(clicked()), state2); - t1->addAnimation(&animation1); QAbstractTransition *t2 = state2->addTransition(button, SIGNAL(clicked()), state3); - t2->addAnimation(&animation2); + t2->addAnimation(new QPropertyAnimation(box, "geometry")); + t2->addAnimation(new QPropertyAnimation(widget, "geometry")); + t2->addAnimation(new QPropertyAnimation(p1, "pos")); + t2->addAnimation(new QPropertyAnimation(p2, "pos")); + t2->addAnimation(new QPropertyAnimation(p3, "pos")); + t2->addAnimation(new QPropertyAnimation(p4, "pos")); + t2->addAnimation(new QPropertyAnimation(p5, "pos")); + t2->addAnimation(new QPropertyAnimation(p6, "pos")); + t2->addAnimation(new QPropertyAnimation(p1, "rotation")); + t2->addAnimation(new QPropertyAnimation(p2, "rotation")); + t2->addAnimation(new QPropertyAnimation(p3, "rotation")); + t2->addAnimation(new QPropertyAnimation(p4, "rotation")); + t2->addAnimation(new QPropertyAnimation(p5, "rotation")); + t2->addAnimation(new QPropertyAnimation(p6, "rotation")); + t2->addAnimation(new QPropertyAnimation(p1, "opacity")); + t2->addAnimation(new QPropertyAnimation(p2, "opacity")); + t2->addAnimation(new QPropertyAnimation(p3, "opacity")); + t2->addAnimation(new QPropertyAnimation(p4, "opacity")); + t2->addAnimation(new QPropertyAnimation(p5, "opacity")); + t2->addAnimation(new QPropertyAnimation(p6, "opacity")); + QAbstractTransition *t3 = state3->addTransition(button, SIGNAL(clicked()), state1); - t3->addAnimation(&animation3); + t3->addAnimation(new QPropertyAnimation(box, "geometry")); + t3->addAnimation(new QPropertyAnimation(widget, "geometry")); + t3->addAnimation(new QPropertyAnimation(p1, "pos")); + t3->addAnimation(new QPropertyAnimation(p2, "pos")); + t3->addAnimation(new QPropertyAnimation(p3, "pos")); + t3->addAnimation(new QPropertyAnimation(p4, "pos")); + t3->addAnimation(new QPropertyAnimation(p5, "pos")); + t3->addAnimation(new QPropertyAnimation(p6, "pos")); + t3->addAnimation(new QPropertyAnimation(p1, "rotation")); + t3->addAnimation(new QPropertyAnimation(p2, "rotation")); + t3->addAnimation(new QPropertyAnimation(p3, "rotation")); + t3->addAnimation(new QPropertyAnimation(p4, "rotation")); + t3->addAnimation(new QPropertyAnimation(p5, "rotation")); + t3->addAnimation(new QPropertyAnimation(p6, "rotation")); + t3->addAnimation(new QPropertyAnimation(p1, "opacity")); + t3->addAnimation(new QPropertyAnimation(p2, "opacity")); + t3->addAnimation(new QPropertyAnimation(p3, "opacity")); + t3->addAnimation(new QPropertyAnimation(p4, "opacity")); + t3->addAnimation(new QPropertyAnimation(p5, "opacity")); + t3->addAnimation(new QPropertyAnimation(p6, "opacity")); machine.start(); diff --git a/examples/network/fortuneserver/server.cpp b/examples/network/fortuneserver/server.cpp index 016fa78..52b7d61 100644 --- a/examples/network/fortuneserver/server.cpp +++ b/examples/network/fortuneserver/server.cpp @@ -74,7 +74,7 @@ Server::Server(QWidget *parent) // if we did not find one, use IPv4 localhost if (ipAddress.isEmpty()) ipAddress = QHostAddress(QHostAddress::LocalHost).toString(); - statusLabel->setText(tr("The server is running on\nIP: \n%1 port:\n%2\n" + statusLabel->setText(tr("The server is running on\n\nIP: %1\nport: %2\n\n" "Run the Fortune Client example now.") .arg(ipAddress).arg(tcpServer->serverPort())); //! [1] diff --git a/examples/network/threadedfortuneserver/dialog.cpp b/examples/network/threadedfortuneserver/dialog.cpp index 51ae0d3..b1ea395 100644 --- a/examples/network/threadedfortuneserver/dialog.cpp +++ b/examples/network/threadedfortuneserver/dialog.cpp @@ -62,9 +62,20 @@ Dialog::Dialog(QWidget *parent) return; } - statusLabel->setText(tr("The server is running on port %1.\n" + QString ipAddress; + QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses(); + // use the first non-localhost IPv4 address + for (int i = 0; i < ipAddressesList.size(); ++i) { + if (ipAddressesList.at(i) != QHostAddress::LocalHost && + ipAddressesList.at(i).toIPv4Address()) + ipAddress = ipAddressesList.at(i).toString(); + } + // if we did not find one, use IPv4 localhost + if (ipAddress.isEmpty()) + ipAddress = QHostAddress(QHostAddress::LocalHost).toString(); + statusLabel->setText(tr("The server is running on\n\nIP: %1\nport: %2\n\n" "Run the Fortune Client example now.") - .arg(server.serverPort())); + .arg(ipAddress).arg(server.serverPort())); connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); diff --git a/examples/opengl/pbuffers/cube.cpp b/examples/opengl/pbuffers/cube.cpp new file mode 100644 index 0000000..0f6d15f --- /dev/null +++ b/examples/opengl/pbuffers/cube.cpp @@ -0,0 +1,332 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples 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 "cube.h" +#include "glwidget.h" + +#include <QtGui/QImage> +#include <QtCore/QPropertyAnimation> + +static const qreal FACE_SIZE = 0.4; + +static const qreal speeds[] = { 1.8f, 2.4f, 3.6f }; +static const qreal amplitudes[] = { 2.0f, 2.5f, 3.0f }; + +static inline void qSetColor(float colorVec[], QColor c) +{ + colorVec[0] = c.redF(); + colorVec[1] = c.greenF(); + colorVec[2] = c.blueF(); + colorVec[3] = c.alphaF(); +} + +int Geometry::append(const QVector3D &a, const QVector3D &n, const QVector2D &t) +{ + int v = vertices.count(); + vertices.append(a); + normals.append(n); + texCoords.append(t); + faces.append(v); + colors.append(QVector4D(0.6f, 0.6f, 0.6f, 1.0f)); + return v; +} + +void Geometry::addQuad(const QVector3D &a, const QVector3D &b, + const QVector3D &c, const QVector3D &d, + const QVector<QVector2D> &tex) +{ + QVector3D norm = QVector3D::normal(a, b, c); + // append first triangle + int aref = append(a, norm, tex[0]); + append(b, norm, tex[1]); + int cref = append(c, norm, tex[2]); + // append second triangle + faces.append(aref); + faces.append(cref); + append(d, norm, tex[3]); +} + +void Geometry::loadArrays() const +{ + glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_NORMAL_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glEnableClientState(GL_COLOR_ARRAY); + glVertexPointer(3, GL_FLOAT, 0, vertices.constData()); + glNormalPointer(GL_FLOAT, 0, normals.constData()); + glTexCoordPointer(2, GL_FLOAT, 0, texCoords.constData()); + glColorPointer(4, GL_FLOAT, 0, colors.constData()); +} + +void Geometry::setColors(int start, GLfloat colorArray[4][4]) +{ + int off = faces[start]; + for (int i = 0; i < 4; ++i) + colors[i + off] = QVector4D(colorArray[i][0], + colorArray[i][1], + colorArray[i][2], + colorArray[i][3]); +} + +Tile::Tile(const QVector3D &loc) + : location(loc) + , start(0) + , count(0) + , useFlatColor(false) + , geom(0) +{ + qSetColor(faceColor, QColor(Qt::darkGray)); +} + +void Tile::setColors(GLfloat colorArray[4][4]) +{ + useFlatColor = true; + geom->setColors(start, colorArray); +} + +static inline void qMultMatrix(const QMatrix4x4 &mat) +{ + if (sizeof(qreal) == sizeof(GLfloat)) + glMultMatrixf((GLfloat*)mat.constData()); +#ifndef QT_OPENGL_ES + else if (sizeof(qreal) == sizeof(GLdouble)) + glMultMatrixd((GLdouble*)mat.constData()); +#endif + else + { + GLfloat fmat[16]; + qreal const *r = mat.constData(); + for (int i = 0; i < 16; ++i) + fmat[i] = r[i]; + glMultMatrixf(fmat); + } +} + +void Tile::draw() const +{ + QMatrix4x4 mat; + mat.translate(location); + mat.rotate(orientation); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + qMultMatrix(mat); + glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, faceColor); + glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_SHORT, geom->indices() + start); + glPopMatrix(); +} + +TileBuilder::TileBuilder(Geometry *g, qreal depth, qreal size) + : verts(4) + , tex(4) + , start(g->count()) + , count(0) + , geom(g) +{ + // front face - make a square with bottom-left at origin + verts[br].setX(size); + verts[tr].setX(size); + verts[tr].setY(size); + verts[tl].setY(size); + + // these vert numbers are good for the tex-coords + for (int i = 0; i < 4; ++i) + tex[i] = verts[i].toVector2D(); + + // now move verts half cube width across so cube is centered on origin + for (int i = 0; i < 4; ++i) + verts[i] -= QVector3D(size / 2.0f, size / 2.0f, -depth); + + // add the front face + g->addQuad(verts[bl], verts[br], verts[tr], verts[tl], tex); + + count = g->count() - start; +} + +void TileBuilder::initialize(Tile *tile) const +{ + tile->start = start; + tile->count = count; + tile->geom = geom; + qSetColor(tile->faceColor, color); +} + +Tile *TileBuilder::newTile(const QVector3D &loc) const +{ + Tile *tile = new Tile(loc); + initialize(tile); + return tile; +} + +Cube::Cube(const QVector3D &loc) + : Tile(loc) + , rot(0.0f) + , r(0), a(0) +{ +} + +Cube::~Cube() +{ +} + +void Cube::setAltitude(qreal a) +{ + if (location.y() != a) + { + location.setY(a); + emit changed(); + } +} + +void Cube::setRange(qreal r) +{ + if (location.x() != r) + { + location.setX(r); + emit changed(); + } +} + +void Cube::setRotation(qreal r) +{ + if (r != rot) + { + orientation = QQuaternion::fromAxisAndAngle(QVector3D(1.0f, 1.0f, 1.0f), r); + emit changed(); + } +} + +void Cube::removeBounce() +{ + delete a; + a = 0; + delete r; + r = 0; +} + +void Cube::startAnimation() +{ + if (r) + { + r->start(); + r->setCurrentTime(startx); + } + if (a) + a->start(); + if (rtn) + rtn->start(); +} + +void Cube::setAnimationPaused(bool paused) +{ + if (paused) + { + if (r) + r->pause(); + if (a) + a->pause(); + if (rtn) + rtn->pause(); + } + else + { + if (r) + r->resume(); + if (a) + a->resume(); + if (rtn) + rtn->resume(); + } +} + +CubeBuilder::CubeBuilder(Geometry *g, qreal depth, qreal size) + : TileBuilder(g, depth) + , ix(0) +{ + for (int i = 0; i < 4; ++i) + verts[i].setZ(size / 2.0f); + // back face - "extrude" verts down + QVector<QVector3D> back(verts); + for (int i = 0; i < 4; ++i) + back[i].setZ(-size / 2.0f); + + // add the back face + g->addQuad(back[br], back[bl], back[tl], back[tr], tex); + + // add the sides + g->addQuad(back[bl], back[br], verts[br], verts[bl], tex); + g->addQuad(back[br], back[tr], verts[tr], verts[br], tex); + g->addQuad(back[tr], back[tl], verts[tl], verts[tr], tex); + g->addQuad(back[tl], back[bl], verts[bl], verts[tl], tex); + + count = g->count() - start; +} + +Cube *CubeBuilder::newCube(const QVector3D &loc) const +{ + Cube *c = new Cube(loc); + initialize(c); + qreal d = 4000.0f; + qreal d3 = d / 3.0f; + // Animate movement from left to right + c->r = new QPropertyAnimation(c, "range"); + c->r->setStartValue(-1.3f); + c->r->setEndValue(1.3f); + c->startx = ix * d3 * 3.0f; + c->r->setDuration(d * 4.0f); + c->r->setLoopCount(-1); + c->r->setEasingCurve(QEasingCurve(QEasingCurve::CosineCurve)); + // Animate movement from bottom to top + c->a = new QPropertyAnimation(c, "altitude"); + c->a->setEndValue(loc.y()); + c->a->setStartValue(loc.y() + amplitudes[ix]); + c->a->setDuration(d / speeds[ix]); + c->a->setLoopCount(-1); + c->a->setEasingCurve(QEasingCurve(QEasingCurve::CosineCurve)); + // Animate rotation + c->rtn = new QPropertyAnimation(c, "rotation"); + c->rtn->setStartValue(c->rot); + c->rtn->setEndValue(359.0f); + c->rtn->setDuration(d * 2.0f); + c->rtn->setLoopCount(-1); + c->rtn->setDuration(d / 2); + ix = (ix + 1) % 3; + return c; +} diff --git a/examples/opengl/pbuffers/cube.h b/examples/opengl/pbuffers/cube.h new file mode 100644 index 0000000..1974f4f --- /dev/null +++ b/examples/opengl/pbuffers/cube.h @@ -0,0 +1,147 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples 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$ +** +****************************************************************************/ + +#ifndef CUBE_H +#define CUBE_H + +#include <QtOpenGL/qgl.h> +#include <QtCore/qvector.h> +#include <QtGui/qmatrix4x4.h> +#include <QtGui/qvector3d.h> +#include <QtGui/qvector2d.h> + +class QPropertyAnimation; + +class Geometry +{ +public: + void loadArrays() const; + void addQuad(const QVector3D &a, const QVector3D &b, + const QVector3D &c, const QVector3D &d, + const QVector<QVector2D> &tex); + void setColors(int start, GLfloat colors[4][4]); + const GLushort *indices() const { return faces.constData(); } + int count() const { return faces.count(); } +private: + QVector<GLushort> faces; + QVector<QVector3D> vertices; + QVector<QVector3D> normals; + QVector<QVector2D> texCoords; + QVector<QVector4D> colors; + int append(const QVector3D &a, const QVector3D &n, const QVector2D &t); + void addTri(const QVector3D &a, const QVector3D &b, const QVector3D &c, const QVector3D &n); + friend class Tile; +}; + +class Tile +{ +public: + void draw() const; + void setColors(GLfloat[4][4]); +protected: + Tile(const QVector3D &loc = QVector3D()); + QVector3D location; + QQuaternion orientation; +private: + int start; + int count; + bool useFlatColor; + GLfloat faceColor[4]; + Geometry *geom; + friend class TileBuilder; +}; + +class TileBuilder +{ +public: + enum { bl, br, tr, tl }; + TileBuilder(Geometry *, qreal depth = 0.0f, qreal size = 1.0f); + Tile *newTile(const QVector3D &loc = QVector3D()) const; + void setColor(QColor c) { color = c; } +protected: + void initialize(Tile *) const; + QVector<QVector3D> verts; + QVector<QVector2D> tex; + int start; + int count; + Geometry *geom; + QColor color; +}; + +class Cube : public QObject, public Tile +{ + Q_OBJECT + Q_PROPERTY(qreal range READ range WRITE setRange); + Q_PROPERTY(qreal altitude READ altitude WRITE setAltitude); + Q_PROPERTY(qreal rotation READ rotation WRITE setRotation); +public: + Cube(const QVector3D &loc = QVector3D()); + ~Cube(); + qreal range() { return location.x(); } + void setRange(qreal r); + qreal altitude() { return location.y(); } + void setAltitude(qreal a); + qreal rotation() { return rot; } + void setRotation(qreal r); + void removeBounce(); + void startAnimation(); + void setAnimationPaused(bool paused); +signals: + void changed(); +private: + qreal rot; + QPropertyAnimation *r; + QPropertyAnimation *a; + QPropertyAnimation *rtn; + qreal startx; + friend class CubeBuilder; +}; + +class CubeBuilder : public TileBuilder +{ +public: + CubeBuilder(Geometry *, qreal depth = 0.0f, qreal size = 1.0f); + Cube *newCube(const QVector3D &loc = QVector3D()) const; +private: + mutable int ix; +}; + +#endif // CUBE_H diff --git a/examples/opengl/pbuffers/glwidget.cpp b/examples/opengl/pbuffers/glwidget.cpp index fbd5518..56ba65b 100644 --- a/examples/opengl/pbuffers/glwidget.cpp +++ b/examples/opengl/pbuffers/glwidget.cpp @@ -40,216 +40,187 @@ ****************************************************************************/ #include "glwidget.h" -#include <QtGui/QImage> - #include <math.h> -static GLint cubeArray[][3] = { - {0, 0, 0}, {0, 1, 0}, {1, 1, 0}, {1, 0, 0}, - {0, 0, 1}, {1, 0, 1}, {1, 1, 1}, {0, 1, 1}, - {0, 0, 0}, {1, 0, 0}, {1, 0, 1}, {0, 0, 1}, - {0, 1, 0}, {0, 1, 1}, {1, 1, 1}, {1, 1, 0}, - {0, 1, 0}, {0, 0, 0}, {0, 0, 1}, {0, 1, 1}, - {1, 0, 0}, {1, 1, 0}, {1, 1, 1}, {1, 0, 1} -}; +#include "cube.h" -static GLint cubeTextureArray[][2] = { - {0, 0}, {1, 0}, {1, 1}, {0, 1}, - {0, 0}, {0, 1}, {1, 1}, {1, 0}, - {0, 0}, {1, 0}, {1, 1}, {0, 1}, - {1, 0}, {0, 0}, {0, 1}, {1, 1}, - {0, 0}, {1, 0}, {1, 1}, {0, 1}, - {1, 0}, {0, 0}, {0, 1}, {1, 1} -}; +#include <QGLPixelBuffer> -static GLint faceArray[][2] = { - {1, -1}, {1, 1}, {-1, 1}, {-1, -1} -}; +#ifndef GL_MULTISAMPLE +#define GL_MULTISAMPLE 0x809D +#endif -static GLubyte colorArray[][4] = { - {102, 176, 54, 255}, - {81, 141, 41, 255}, - {62, 108, 32, 255}, - {45, 79, 23, 255} +static GLfloat colorArray[][4] = { + {0.243f, 0.423f, 0.125f, 1.0f}, + {0.176f, 0.31f, 0.09f, 1.0f}, + {0.4f, 0.69f, 0.212f, 1.0f}, + {0.317f, 0.553f, 0.161f, 1.0f} }; GLWidget::GLWidget(QWidget *parent) - : QGLWidget(QGLFormat(QGL::SampleBuffers), parent) + : QGLWidget(QGLFormat(QGL::SampleBuffers), parent) + , geom(0) + , cube(0) { // create the pbuffer pbuffer = new QGLPixelBuffer(QSize(512, 512), format(), this); - timerId = startTimer(20); setWindowTitle(tr("OpenGL pbuffers")); + initializeGeometry(); } GLWidget::~GLWidget() { pbuffer->releaseFromDynamicTexture(); glDeleteTextures(1, &dynamicTexture); - glDeleteLists(pbufferList, 1); delete pbuffer; + + qDeleteAll(cubes); + qDeleteAll(tiles); + delete cube; } void GLWidget::initializeGL() { - glMatrixMode(GL_MODELVIEW); - - glEnable(GL_CULL_FACE); initCommon(); + glShadeModel(GL_SMOOTH); + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + static GLfloat lightPosition[4] = { 0.5, 5.0, 7.0, 1.0 }; + glLightfv(GL_LIGHT0, GL_POSITION, lightPosition); initPbuffer(); - - for (int i = 0; i < 3; ++i) { - yOffs[i] = 0.0f; - xInc[i] = 0.005f; - rot[i] = 0.0f; + cube->startAnimation(); + connect(cube, SIGNAL(changed()), this, SLOT(update())); + for (int i = 0; i < 3; ++i) + { + cubes[i]->startAnimation(); + connect(cubes[i], SIGNAL(changed()), this, SLOT(update())); } - xOffs[0]= 0.0f; - xOffs[1]= 0.5f; - xOffs[2]= 1.0f; - - cubeTexture = bindTexture(QImage(":res/cubelogo.png")); -} - -void GLWidget::resizeGL(int w, int h) -{ - glViewport(0, 0, w, h); - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - float aspect = w/(float)(h ? h : 1); - glFrustum(-aspect, aspect, -1, 1, 10, 100); - glTranslatef(-0.5f, -0.5f, -0.5f); - glTranslatef(0.0f, 0.0f, -15.0f); } void GLWidget::paintGL() { - // draw a spinning cube into the pbuffer.. pbuffer->makeCurrent(); - glBindTexture(GL_TEXTURE_2D, cubeTexture); - glCallList(pbufferList); - glFlush(); - - // rendering directly to a texture is not supported on X11 and - // some Windows implementations, unfortunately + drawPbuffer(); + // On direct render platforms, drawing onto the pbuffer context above + // automatically updates the dynamic texture. For cases where rendering + // directly to a texture is not supported, explicitly copy. if (!hasDynamicTextureUpdate) pbuffer->updateDynamicTexture(dynamicTexture); - - // ..and use the pbuffer contents as a texture when rendering the - // background and the bouncing cubes makeCurrent(); + + // Use the pbuffer as a texture to render the scene glBindTexture(GL_TEXTURE_2D, dynamicTexture); + + // set up to render the scene glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glLoadIdentity(); + glTranslatef(0.0f, 0.0f, -10.0f); // draw the background - glMatrixMode(GL_MODELVIEW); glPushMatrix(); - glLoadIdentity(); - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); - - glVertexPointer(2, GL_INT, 0, faceArray); - glTranslatef(-1.2f, -0.8f, 0.0f); - glScalef(0.2f, 0.2f, 0.2f); - for (int y = 0; y < 5; ++y) { - for (int x = 0; x < 5; ++x) { - glTranslatef(2.0f, 0, 0); - glColor4f(0.8f, 0.8f, 0.8f, 1.0f); - glDrawArrays(GL_QUADS, 0, 4); - } - glTranslatef(-10.0f, 2.0f, 0); - } - glVertexPointer(3, GL_INT, 0, cubeArray); - - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); + glScalef(aspect, 1.0f, 1.0f); + for (int i = 0; i < tiles.count(); ++i) + tiles[i]->draw(); glPopMatrix(); // draw the bouncing cubes - drawCube(0, 0.0f, 1.5f, 2.5f, 1.5f); - drawCube(1, 1.0f, 2.0f, 2.5f, 2.0f); - drawCube(2, 2.0f, 3.5f, 2.5f, 2.5f); + for (int i = 0; i < cubes.count(); ++i) + cubes[i]->draw(); } -void GLWidget::drawCube(int i, GLfloat z, GLfloat rotation, GLfloat jmp, GLfloat amp) +void GLWidget::initializeGeometry() { - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - glTranslatef(xOffs[i], yOffs[i], z); - glTranslatef(0.5f, 0.5f, 0.5f); - GLfloat scale = 0.75 + i*(0.25f/2); - glScalef(scale, scale, scale); - glRotatef(rot[i], 1.0f, 1.0f, 1.0f); - glTranslatef(-0.5f, -0.5f, -0.5f); - - glColor4f(1.0f, 1.0f, 1.0f, 0.8f); - glDrawArrays(GL_QUADS, 0, 24); - - if (xOffs[i] > 1.0f || xOffs[i] < -1.0f) { - xInc[i] = -xInc[i]; - xOffs[i] = xOffs[i] > 1.0f ? 1.0f : -1.0f; - } - xOffs[i] += xInc[i]; - yOffs[i] = qAbs(cos((-3.141592f * jmp) * xOffs[i]) * amp) - 1; - rot[i] += rotation; + geom = new Geometry(); + CubeBuilder cBuilder(geom, 0.5); + cBuilder.setColor(QColor(255, 255, 255, 212)); + // build the 3 bouncing, spinning cubes + for (int i = 0; i < 3; ++i) + cubes.append(cBuilder.newCube(QVector3D((float)(i-1), -1.5f, 5 - i))); + + // build the spinning cube which goes in the dynamic texture + cube = cBuilder.newCube(); + cube->removeBounce(); + + // build the background tiles + TileBuilder tBuilder(geom); + tBuilder.setColor(QColor(Qt::white)); + for (int c = -2; c <= +2; ++c) + for (int r = -2; r <= +2; ++r) + tiles.append(tBuilder.newTile(QVector3D(c, r, 0))); + + // graded backdrop for the pbuffer scene + TileBuilder bBuilder(geom, 0.0f, 2.0f); + bBuilder.setColor(QColor(102, 176, 54, 210)); + backdrop = bBuilder.newTile(QVector3D(0.0f, 0.0f, -1.5f)); + backdrop->setColors(colorArray); } void GLWidget::initCommon() { - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glVertexPointer(3, GL_INT, 0, cubeArray); - glTexCoordPointer(2, GL_INT, 0, cubeTextureArray); - glColorPointer(4, GL_UNSIGNED_BYTE, 0, colorArray); + qglClearColor(QColor(Qt::darkGray)); + + glEnable(GL_DEPTH_TEST); + glEnable(GL_CULL_FACE); + glEnable(GL_MULTISAMPLE); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); + glEnable(GL_TEXTURE_2D); - glEnable(GL_DEPTH_TEST); - glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + geom->loadArrays(); } -void GLWidget::initPbuffer() +void GLWidget::perspectiveProjection() { - // set up the pbuffer context - pbuffer->makeCurrent(); - initCommon(); - - glViewport(0, 0, pbuffer->size().width(), pbuffer->size().height()); glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glOrtho(-1, 1, -1, 1, -99, 99); - glTranslatef(-0.5f, -0.5f, 0.0f); + glFrustum(-aspect, +aspect, -1.0, +1.0, 4.0, 15.0); glMatrixMode(GL_MODELVIEW); +} + +void GLWidget::orthographicProjection() +{ + glMatrixMode(GL_PROJECTION); glLoadIdentity(); + glOrtho(-1.0, +1.0, -1.0, +1.0, -90.0, +90.0); + glMatrixMode(GL_MODELVIEW); +} + +void GLWidget::resizeGL(int width, int height) +{ + glViewport(0, 0, width, height); + aspect = (qreal)width / (qreal)(height ? height : 1); + perspectiveProjection(); +} + +void GLWidget::drawPbuffer() +{ + orthographicProjection(); + + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glDisable(GL_TEXTURE_2D); + backdrop->draw(); + glEnable(GL_TEXTURE_2D); + + glBindTexture(GL_TEXTURE_2D, cubeTexture); + glDisable(GL_CULL_FACE); + cube->draw(); + glEnable(GL_CULL_FACE); + + glFlush(); +} + +void GLWidget::initPbuffer() +{ + pbuffer->makeCurrent(); + + cubeTexture = bindTexture(QImage(":res/cubelogo.png")); + + initCommon(); - pbufferList = glGenLists(1); - glNewList(pbufferList, GL_COMPILE); - { - glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); - - // draw cube background - glPushMatrix(); - glLoadIdentity(); - glTranslatef(0.5f, 0.5f, -2.0f); - glDisable(GL_TEXTURE_2D); - glEnableClientState(GL_COLOR_ARRAY); - glVertexPointer(2, GL_INT, 0, faceArray); - glDrawArrays(GL_QUADS, 0, 4); - glVertexPointer(3, GL_INT, 0, cubeArray); - glDisableClientState(GL_COLOR_ARRAY); - glEnable(GL_TEXTURE_2D); - glPopMatrix(); - - // draw cube - glTranslatef(0.5f, 0.5f, 0.5f); - glRotatef(3.0f, 1.0f, 1.0f, 1.0f); - glTranslatef(-0.5f, -0.5f, -0.5f); - glColor4f(0.9f, 0.9f, 0.9f, 1.0f); - glDrawArrays(GL_QUADS, 0, 24); - } - glEndList(); // generate a texture that has the same size/format as the pbuffer dynamicTexture = pbuffer->generateDynamicTexture(); @@ -258,3 +229,9 @@ void GLWidget::initPbuffer() makeCurrent(); } +void GLWidget::setAnimationPaused(bool enable) +{ + cube->setAnimationPaused(enable); + for (int i = 0; i < 3; ++i) + cubes[i]->setAnimationPaused(enable); +} diff --git a/examples/opengl/pbuffers/glwidget.h b/examples/opengl/pbuffers/glwidget.h index 5b64b08..c019abe 100644 --- a/examples/opengl/pbuffers/glwidget.h +++ b/examples/opengl/pbuffers/glwidget.h @@ -39,32 +39,50 @@ ** ****************************************************************************/ -#include <QtOpenGL> +#ifndef GLWIDGET_H +#define GLWIDGET_H + +#include <QGLWidget> + +class Geometry; +class Cube; +class Tile; +class QGLPixelBuffer; class GLWidget : public QGLWidget { public: - GLWidget(QWidget *parent); + GLWidget(QWidget *parent = 0); ~GLWidget(); + +protected: void initializeGL(); - void resizeGL(int w, int h); void paintGL(); - void timerEvent(QTimerEvent *) { update(); } - void mousePressEvent(QMouseEvent *) { killTimer(timerId); } - void mouseReleaseEvent(QMouseEvent *) { timerId = startTimer(20); } + void resizeGL(int width, int height); + void mousePressEvent(QMouseEvent *) { setAnimationPaused(true); } + void mouseReleaseEvent(QMouseEvent *) { setAnimationPaused(false); } - void drawCube(int i, GLfloat z, GLfloat ri, GLfloat jmp, GLfloat amp); - void initCommon(); +private: + void initializeGeometry(); void initPbuffer(); + void initCommon(); + void perspectiveProjection(); + void orthographicProjection(); + void drawPbuffer(); + void setAnimationPaused(bool enable); -private: - GLfloat rot[3], xOffs[3], yOffs[3], xInc[3]; - GLuint pbufferList; + qreal aspect; GLuint dynamicTexture; GLuint cubeTexture; - int timerId; bool hasDynamicTextureUpdate; - QGLPixelBuffer *pbuffer; + Geometry *geom; + Cube *cube; + Tile *backdrop; + QList<Cube *> cubes; + QList<Tile *> tiles; + }; +//! [3] +#endif diff --git a/examples/opengl/pbuffers/main.cpp b/examples/opengl/pbuffers/main.cpp index cb9e161..4efe9a8 100644 --- a/examples/opengl/pbuffers/main.cpp +++ b/examples/opengl/pbuffers/main.cpp @@ -41,6 +41,8 @@ #include <QtGui/QApplication> #include <QtGui/QMessageBox> +#include <QtOpenGL/QGLPixelBuffer> + #include "glwidget.h" int main(int argc, char **argv) diff --git a/examples/opengl/pbuffers/pbuffers.pro b/examples/opengl/pbuffers/pbuffers.pro index 4f7740e..1c21596 100644 --- a/examples/opengl/pbuffers/pbuffers.pro +++ b/examples/opengl/pbuffers/pbuffers.pro @@ -1,13 +1,19 @@ -HEADERS += glwidget.h -SOURCES += glwidget.cpp main.cpp +HEADERS += glwidget.h \ + cube.h +SOURCES += glwidget.cpp \ + main.cpp \ + cube.cpp RESOURCES += pbuffers.qrc - QT += opengl # install target.path = $$[QT_INSTALL_EXAMPLES]/opengl/pbuffers -sources.files = $$SOURCES $$HEADERS $$RESOURCES pbuffers.pro *.png +sources.files = $$SOURCES \ + $$HEADERS \ + $$RESOURCES \ + pbuffers.pro \ + *.png sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/pbuffers -INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +INSTALLS += target \ + sources +symbian:include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/qws/ahigl/ahigl.pro b/examples/qws/ahigl/ahigl.pro index c831335..1ee8e6e 100644 --- a/examples/qws/ahigl/ahigl.pro +++ b/examples/qws/ahigl/ahigl.pro @@ -7,8 +7,6 @@ TARGET = qahiglscreen target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers INSTALLS += target -include($$QT_SOURCE_TREE/examples/examplebase.pri) - HEADERS = qwindowsurface_ahigl_p.h \ qscreenahigl_qws.h diff --git a/examples/qws/dbscreen/dbscreen.pro b/examples/qws/dbscreen/dbscreen.pro index 86152ab..172a02a 100644 --- a/examples/qws/dbscreen/dbscreen.pro +++ b/examples/qws/dbscreen/dbscreen.pro @@ -5,8 +5,6 @@ TARGET = dbscreen target.path += $$[QT_INSTALL_PLUGINS]/gfxdrivers INSTALLS += target -include($$QT_SOURCE_TREE/examples/examplebase.pri) - HEADERS = dbscreen.h SOURCES = dbscreendriverplugin.cpp \ dbscreen.cpp diff --git a/examples/qws/framebuffer/framebuffer.pro b/examples/qws/framebuffer/framebuffer.pro index 3fd0975..f9fe850 100644 --- a/examples/qws/framebuffer/framebuffer.pro +++ b/examples/qws/framebuffer/framebuffer.pro @@ -9,5 +9,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/qws/framebuffer sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS framebuffer.pro sources.path = $$[QT_INSTALL_EXAMPLES]/qws/framebuffer INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/qws/mousecalibration/mousecalibration.pro b/examples/qws/mousecalibration/mousecalibration.pro index fc1c469..bd31853 100644 --- a/examples/qws/mousecalibration/mousecalibration.pro +++ b/examples/qws/mousecalibration/mousecalibration.pro @@ -9,5 +9,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/qws/mousecalibration sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro sources.path = $$[QT_INSTALL_EXAMPLES]/qws/mousecalibration INSTALLS += target sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/qws/qws.pro b/examples/qws/qws.pro index 48c59c1..95e1b44 100644 --- a/examples/qws/qws.pro +++ b/examples/qws/qws.pro @@ -7,5 +7,3 @@ SUBDIRS += mousecalibration simpledecoration sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro sources.path = $$[QT_INSTALL_EXAMPLES]/qws INSTALLS += sources - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/qws/svgalib/svgalib.pro b/examples/qws/svgalib/svgalib.pro index 3ab5a19..8a47c1d 100644 --- a/examples/qws/svgalib/svgalib.pro +++ b/examples/qws/svgalib/svgalib.pro @@ -7,8 +7,6 @@ TARGET = svgalibscreen target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers INSTALLS += target -include($$QT_SOURCE_TREE/examples/examplebase.pri) - HEADERS = svgalibscreen.h \ svgalibpaintengine.h \ svgalibsurface.h \ diff --git a/examples/script/qsdbg/qsdbg.pro b/examples/script/qsdbg/qsdbg.pro index 77b55a2..424e0fb 100644 --- a/examples/script/qsdbg/qsdbg.pro +++ b/examples/script/qsdbg/qsdbg.pro @@ -16,6 +16,4 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS qsdbg.pro sources.path = $$[QT_INSTALL_EXAMPLES]/script/qsdbg INSTALLS += target sources -include($$QT_SOURCE_TREE/examples/examplebase.pri) - - +symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) diff --git a/examples/statemachine/pingpong/main.cpp b/examples/statemachine/pingpong/main.cpp index 7e3d8b1..358c499 100644 --- a/examples/statemachine/pingpong/main.cpp +++ b/examples/statemachine/pingpong/main.cpp @@ -86,7 +86,7 @@ protected: } virtual void onTransition(QEvent *) { - machine()->postEvent(new PingEvent(), 500); + machine()->postDelayedEvent(new PingEvent(), 500); fprintf(stdout, "ping?\n"); } }; @@ -104,7 +104,7 @@ protected: } virtual void onTransition(QEvent *) { - machine()->postEvent(new PongEvent(), 500); + machine()->postDelayedEvent(new PongEvent(), 500); fprintf(stdout, "pong!\n"); } }; diff --git a/examples/webkit/formextractor/formextractor.cpp b/examples/webkit/formextractor/formextractor.cpp index 3ce888c..4b181e8 100644 --- a/examples/webkit/formextractor/formextractor.cpp +++ b/examples/webkit/formextractor/formextractor.cpp @@ -67,15 +67,15 @@ void FormExtractor::submit() QWebElement femaleGender = frame->findFirstElement("#genderFemale"); QWebElement updates = frame->findFirstElement("#updates"); - ui.firstNameEdit->setText(firstName.evaluateScript("this.value").toString()); - ui.lastNameEdit->setText(lastName.evaluateScript("this.value").toString()); + ui.firstNameEdit->setText(firstName.evaluateJavaScript("this.value").toString()); + ui.lastNameEdit->setText(lastName.evaluateJavaScript("this.value").toString()); - if (maleGender.evaluateScript("this.checked").toBool()) - ui.genderEdit->setText(maleGender.evaluateScript("this.value").toString()); - else if (femaleGender.evaluateScript("this.checked").toBool()) - ui.genderEdit->setText(femaleGender.evaluateScript("this.value").toString()); + if (maleGender.evaluateJavaScript("this.checked").toBool()) + ui.genderEdit->setText(maleGender.evaluateJavaScript("this.value").toString()); + else if (femaleGender.evaluateJavaScript("this.checked").toBool()) + ui.genderEdit->setText(femaleGender.evaluateJavaScript("this.value").toString()); - if (updates.evaluateScript("this.checked").toBool()) + if (updates.evaluateJavaScript("this.checked").toBool()) ui.updatesEdit->setText("Yes"); else ui.updatesEdit->setText("No"); diff --git a/examples/webkit/googlechat/googlechat.cpp b/examples/webkit/googlechat/googlechat.cpp index a4a19a4..d2307d9 100644 --- a/examples/webkit/googlechat/googlechat.cpp +++ b/examples/webkit/googlechat/googlechat.cpp @@ -41,6 +41,7 @@ #include <QtGui> #include <QtWebKit> +#include <QSslSocket> #include "googlechat.h" @@ -117,6 +118,11 @@ void GoogleChat::doLogin() { } void GoogleChat::initialPage(bool ok) { + if (!QSslSocket::supportsSsl()) { + showError("This example requires SSL support."); + return; + } + if (ok) { QString s1 = evalJS("document.getElementById('Email').name"); QString s2 = evalJS("document.getElementById('Passwd').name"); diff --git a/examples/webkit/webkit.pro b/examples/webkit/webkit.pro index 9ad6789..0a1d6bd 100644 --- a/examples/webkit/webkit.pro +++ b/examples/webkit/webkit.pro @@ -1,8 +1,9 @@ TEMPLATE = subdirs SUBDIRS += formextractor \ previewer \ - fancybrowser \ - googlechat + fancybrowser + +contains(QT_CONFIG, openssl):SUBDIRS += googlechat # install target.path = $$[QT_INSTALL_EXAMPLES]/webkit diff --git a/mkspecs/features/debug_and_release.prf b/mkspecs/features/debug_and_release.prf index 19031ef..ef33789 100644 --- a/mkspecs/features/debug_and_release.prf +++ b/mkspecs/features/debug_and_release.prf @@ -1 +1 @@ -!macx-xcode:!symbian-abld:addExclusiveBuilds(debug, Debug, release, Release) +!macx-xcode:!symbian:addExclusiveBuilds(debug, Debug, release, Release) diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf index dd4a4d5..3b24355 100644 --- a/mkspecs/features/symbian/qt.prf +++ b/mkspecs/features/symbian/qt.prf @@ -6,6 +6,21 @@ CONFIG += qtmain load(qt) +# Allow .pro files to specify include path(s) to be prepended to the list. +# +# This allows the project to override the default ordering, whereby paths +# relative to $$QMAKE_INCDIR_QT always come first. This ordering can cause +# problems when both the epoc32/include tree and a Qt include directory +# contain a header of the same name - in this case, the Qt header is always +# included by virtue of its path appearing first in the SYSTEMINCLUDE +# directives in the generated MMP file. +# +# To work around this situation, the following line can be added to the .pro +# file: +# PREPEND_INCLUDEPATH = /epoc32/include +# +INCLUDEPATH = $$PREPEND_INCLUDEPATH $$INCLUDEPATH + # Add dependency to QtLibs package to all other projects besides QtLibs. # Note: QtLibs with full capabilities has UID3 of 0x2001E61C, # while self-signed version typically has temporary UID3 of 0xE001E61C. diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 0fedbec..c8bb26d 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -1172,7 +1172,7 @@ void VcprojGenerator::initDeploymentTool() if (targetPath.isEmpty()) targetPath = QString("%CSIDL_PROGRAM_FILES%\\") + project->first("TARGET"); if (targetPath.endsWith("/") || targetPath.endsWith("\\")) - targetPath = targetPath.mid(0,targetPath.size()-1); + targetPath.chop(1); // Only deploy Qt libs for shared build if (!project->values("QMAKE_QT_DLL").isEmpty()) { @@ -1261,13 +1261,7 @@ void VcprojGenerator::initDeploymentTool() searchPath = info.absoluteFilePath(); } else { nameFilter = source.split('\\').last(); - if (source.contains('*')) { - source = source.split('*').first(); - info = QFileInfo(source); - } - searchPath = info.absolutePath(); - if (!info.exists()) - fprintf(stderr, "Deployment file is missing %s\n", source.toLatin1().constData()); + searchPath = info.absolutePath(); } int pathSize = searchPath.size(); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog index 20bfc23..84a2935 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog +++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog @@ -2,6 +2,19 @@ Reviewed by Gavin Barraclough. + Reduce heap size on Symbian from 64MB to 8MB. + + This is not a perfect fix, it requires more fine tuning. + But this makes it possible again to debug in the emulator, + which is more important in order to be able to fix other + run-time issues. + + * runtime/Collector.h: + +2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Simon Hausmann. + Avoid __clear_cache built-in function if DISABLE_BUILTIN_CLEAR_CACHE define is set https://bugs.webkit.org/show_bug.cgi?id=28886 diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/generated/Grammar.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/generated/Grammar.cpp index 44559a8..f1fa708 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/generated/Grammar.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/generated/Grammar.cpp @@ -432,7 +432,7 @@ typedef struct YYLTYPE template <typename T> inline void setStatementLocation(StatementNode* statement, const T& start, const T& end) { - statement->setLoc(start.first_line, end.last_line, start.first_column + 1); + statement->setLoc(start.first_line, end.last_line, start.first_column); } static inline void setExceptionLocation(ThrowableExpressionData* node, unsigned start, unsigned divot, unsigned end) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp index bfb0307..76c8510 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp @@ -885,13 +885,21 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSObjec } Register* oldEnd = m_registerFile.end(); +#ifdef QT_BUILD_SCRIPT_LIB //with QtScript, we do not necesserly start from scratch + Register* newEnd = oldEnd + globalRegisterOffset + codeBlock->m_numCalleeRegisters; +#else Register* newEnd = m_registerFile.start() + globalRegisterOffset + codeBlock->m_numCalleeRegisters; +#endif if (!m_registerFile.grow(newEnd)) { *exception = createStackOverflowError(callFrame); return jsNull(); } +#ifdef QT_BUILD_SCRIPT_LIB //with QtScript, we do not necesserly start from scratch + CallFrame* newCallFrame = CallFrame::create(oldEnd + globalRegisterOffset); +#else CallFrame* newCallFrame = CallFrame::create(m_registerFile.start() + globalRegisterOffset); +#endif // a 0 codeBlock indicates a built-in caller newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj); @@ -3076,6 +3084,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi #else newCallFrame->init(0, vPC + 5, scopeChain, callFrame, dst, argCount, asObject(v)); #endif + Register* thisRegister = newCallFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount; ArgList args(thisRegister + 1, argCount - 1); @@ -3234,7 +3243,6 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi newCallFrame->init(0, vPC + 5, scopeChain, callFrame, dst, argCount, asObject(v)); #endif - Register* thisRegister = newCallFrame->registers() - RegisterFile::CallFrameHeaderSize - argCount; ArgList args(thisRegister + 1, argCount - 1); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp index 0b147df..08a4493 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp @@ -2429,8 +2429,13 @@ DEFINE_STUB_FUNCTION(int, op_eq) goto start; } - if (src2.isObject()) - return asObject(cell1) == asObject(src2); + if (src2.isObject()) { + return asObject(cell1) == asObject(src2) +#ifdef QT_BUILD_SCRIPT_LIB + || asObject(cell1)->compareToObject(stackFrame.callFrame, asObject(src2)) +#endif + ; + } src1 = asObject(cell1)->toPrimitive(stackFrame.callFrame); CHECK_FOR_EXCEPTION(); goto start; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Grammar.y b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Grammar.y index ffed3bb..fa4ffd0 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Grammar.y +++ b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Grammar.y @@ -179,7 +179,7 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr template <typename T> inline void setStatementLocation(StatementNode* statement, const T& start, const T& end) { - statement->setLoc(start.first_line, end.last_line, start.first_column + 1); + statement->setLoc(start.first_line, end.last_line, start.first_column); } static inline void setExceptionLocation(ThrowableExpressionData* node, unsigned start, unsigned divot, unsigned end) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.cpp index ec700bd..a85ed3d 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.cpp @@ -59,7 +59,6 @@ static const UChar byteOrderMark = 0xFEFF; Lexer::Lexer(JSGlobalData* globalData) : m_isReparsing(false) , m_globalData(globalData) - , m_startColumnNumberCorrection(0) , m_keywordTable(JSC::mainTable) { m_buffer8.reserveInitialCapacity(initialReadBufferCapacity); @@ -204,7 +203,6 @@ void Lexer::shiftLineTerminator() else shift1(); - m_startColumnNumberCorrection = currentOffset(); ++m_lineNumber; } @@ -900,11 +898,11 @@ doneString: // Fall through into returnToken. returnToken: { - llocp->first_line = m_lineNumber; - llocp->last_line = m_lineNumber; - - llocp->first_column = startOffset - m_startColumnNumberCorrection; - llocp->last_column = currentOffset() - m_startColumnNumberCorrection; + int lineNumber = m_lineNumber; + llocp->first_line = lineNumber; + llocp->last_line = lineNumber; + llocp->first_column = startOffset; + llocp->last_column = currentOffset(); m_lastToken = token; return token; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.h b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.h index 885e4d9..174e05a 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Lexer.h @@ -86,10 +86,6 @@ namespace JSC { static const size_t initialReadBufferCapacity = 32; int m_lineNumber; - // this variable is supposed to keep index of last new line character ('\n' or '\r\n'or '\n\r'...) - // it is importent to calculate correct first_column in parser - int m_startColumnNumberCorrection; - Vector<char> m_buffer8; Vector<UChar> m_buffer16; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h index 1a55bb5..0ecff19 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h @@ -181,7 +181,7 @@ namespace JSC { #endif template<> struct CellSize<sizeof(uint64_t)> { static const size_t m_value = 64; }; -#if PLATFORM(WINCE) +#if PLATFORM(WINCE) || PLATFORM(SYMBIAN) const size_t BLOCK_SIZE = 64 * 1024; // 64k #else const size_t BLOCK_SIZE = 64 * 4096; // 256k diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp index 05e3d7b..f7bda9e 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp @@ -46,7 +46,6 @@ #define DO_PROPERTYMAP_CONSTENCY_CHECK 0 #endif -using namespace std; using namespace WTF; namespace JSC { diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION index ae70d26..3d9c27c 100644 --- a/src/3rdparty/javascriptcore/VERSION +++ b/src/3rdparty/javascriptcore/VERSION @@ -4,8 +4,8 @@ This is a snapshot of JavaScriptCore from The commit imported was from the - jsc-for-qtscript-4.6-staging-28092009 branch/tag + jsc-for-qtscript-4.6-staging-01102009 branch/tag and has the sha1 checksum - b98dec961e9389ddd5e10d7c4086de9a297cb984 + 79e88e90aab6674098b6d73b1b41998117164499 diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp index 13f9734..5dcbd42 100644 --- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp +++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp @@ -369,6 +369,11 @@ bool MediaObject::createPipefromURL(const QUrl &url) if (!m_datasource) return false; + // Set the device for MediaSource::Disc + QByteArray mediaDevice = QFile::encodeName(m_source.deviceName()); + if (!mediaDevice.isEmpty()) + g_object_set (m_datasource, "device", mediaDevice.constData(), (const char*)NULL); + // Link data source into pipeline gst_bin_add(GST_BIN(m_pipeline), m_datasource); if (!gst_element_link(m_datasource, m_decodebin)) { @@ -904,8 +909,21 @@ void MediaObject::setSource(const MediaSource &source) case MediaSource::Disc: // CD tracks can be specified by setting the url in the following way uri=cdda:4 { - QUrl cdurl(QLatin1String("cdda://")); - if (createPipefromURL(cdurl)) + QUrl url; + switch (source.discType()) { + case Phonon::Cd: + url = QUrl(QLatin1String("cdda://")); + break; + case Phonon::Dvd: + url = QUrl(QLatin1String("dvd://")); + break; + case Phonon::Vcd: + url = QUrl(QLatin1String("vcd://")); + break; + default: + break; + } + if (!url.isEmpty() && createPipefromURL(url)) m_loading = true; else setError(tr("Could not open media source.")); diff --git a/src/3rdparty/phonon/mmf/TODO.txt b/src/3rdparty/phonon/mmf/TODO.txt new file mode 100644 index 0000000..a2b1865 --- /dev/null +++ b/src/3rdparty/phonon/mmf/TODO.txt @@ -0,0 +1,29 @@ +TODO list for MMF Phonon backend +-------------------------------- + +The following items are in rough order of priority. + +* Activating full-screen video playback in qmediaplayer causes the app to crash +This may be symptomatic of more general problems with re-sizing / re-positioning video while playing. + +* Implement audio effects + +* Support for playing "file:" URLs + +* Support for network streaming playback +The main question here is how best to implement the MIME type detection for streams. The OpenUrlL functions only take a URL, whereas the corresponding OpenFileL functions have overloads for filenames and for open RFile handles. This is because files support random access whereas streams do not. A naieve approach to MIME type detection for streams is as follows; is there a more efficient approach? + 1. Open network connection + 2. Download header + 3. Detect MIME type and create AbstractMediaPlayer instance + 4. Close network connection + 5. Pass URL to MMF client utility, which will then re-open the stream +An alternative approach is to always create a VideoPlayer when passed an RTSP URL, and then modify VideoPlayer::hasVideo to check CVideoPlayerUtility::VideoMimeTypeL before returning. This way, we would always use CVideoPlayerUtility for RTSP streaming, whether the source is audio or video. Well-behaved client apps, however, should check MediaObject::hasVideo before creating the UI - and therefore the VideoWidget would only be connected if the source is actually a video stream. + +* Performance analysis +Compare video frame rate obtained using default S60 media player and Qt demo apps + +* Implement MMF::Backend::disconnectNodes +This should probably be left for now, particularly until audio effects have been implemented. This is because the node connection mechanism may need to be refactored slightly once we start building up longer graphs (e.g. MediaObject -> Effect -> Effect -> AudioOutput). + +* Metadata is not implemented. + diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp new file mode 100644 index 0000000..a793390 --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp @@ -0,0 +1,78 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "mediaobject.h" + +#include "abstractaudioeffect.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AbstractAudioEffect + \internal +*/ + +AbstractAudioEffect::AbstractAudioEffect(QObject *parent, + const QList<EffectParameter> ¶ms) : MediaNode::MediaNode(parent) + , m_params(params) +{ +} + +bool AbstractAudioEffect::disconnectMediaNode(MediaNode *target) +{ + MediaNode::disconnectMediaNode(target); + m_effect.reset(); + return true; +} + +QList<EffectParameter> AbstractAudioEffect::parameters() const +{ + return m_params; +} + +QVariant AbstractAudioEffect::parameterValue(const EffectParameter &queriedParam) const +{ + const QVariant &val = m_values.value(queriedParam.id()); + + if (val.isNull()) + return queriedParam.defaultValue(); + else + return val; +} + +bool AbstractAudioEffect::activateOnMediaObject(MediaObject *mo) +{ + AudioPlayer *const ap = qobject_cast<AudioPlayer *>(mo->abstractPlayer()); + + if (ap) + return activateOn(ap->player()); + else + return true; +} + +void AbstractAudioEffect::setParameterValue(const EffectParameter ¶m, + const QVariant &newValue) +{ + m_values.insert(param.id(), newValue); + parameterChanged(param.id(), newValue); +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.h b/src/3rdparty/phonon/mmf/abstractaudioeffect.h new file mode 100644 index 0000000..01542c9 --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.h @@ -0,0 +1,105 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_ABSTRACTEFFECT_H +#define PHONON_MMF_ABSTRACTEFFECT_H + +#include "mmf_medianode.h" + +#include <QScopedPointer> + +#include <AudioEffectBase.h> + +#include <Phonon/EffectInterface> +#include <Phonon/EffectParameter> +#include "audioplayer.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ + +/** + * @short Base class for all effects for MMF. + * + * Adhering to Phonon with MMF is cumbersome because of a number of reasons: + * + * - MMF has no concept of effect chaining. Simply, an effect is a applied + * to PlayerUtility, that's it. This means that the order of effects is + * undefined. + * - We apply an effect to a PlayerUtility, and MediaObject has that one. + * However, effects might be created before MediaObject, but nevertheless + * needs to work. We solve this by that we are aware of the whole connection + * chain, and whenever a connection happens, we walk the chain, find effects + * that aren't applied, and apply it if we have a media object. + * - There are plenty of corner cases which we don't handle and where behavior + * are undefined. For instance, graphs with more than one MediaObject. + */ +class AbstractAudioEffect : public MediaNode + , public EffectInterface +{ + Q_OBJECT + Q_INTERFACES(Phonon::EffectInterface) +public: + AbstractAudioEffect(QObject *parent, + const QList<EffectParameter> ¶ms); + + virtual QList<EffectParameter> parameters() const; + virtual QVariant parameterValue(const EffectParameter ¶m) const; + virtual void setParameterValue(const EffectParameter &, + const QVariant &newValue); + + virtual bool disconnectMediaNode(MediaNode *target); + + enum Type + { + EffectAudioEqualizer = 1, + EffectBassBoost, + EffectDistanceAttenuation, + EffectEnvironmentalReverb, + EffectListenerOrientation, + EffectLoudness, + EffectSourceOrientation, + EffectStereoWidening + }; + +protected: + virtual bool activateOn(CPlayerType *player) = 0; + virtual void parameterChanged(const int id, + const QVariant &value) = 0; + + /** + * Part of the implementation of AbstractAudioEffect. Forwards the call to + * activateOn(), essentially. + */ + virtual bool activateOnMediaObject(MediaObject *mo); + + QScopedPointer<CAudioEffect> m_effect; +private: + const QList<EffectParameter> m_params; + QHash<int, QVariant> m_values; +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp new file mode 100644 index 0000000..2fdb092 --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -0,0 +1,408 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QUrl> + +#include "abstractmediaplayer.h" +#include "defs.h" +#include "utils.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AbstractMediaPlayer + \internal +*/ + +//----------------------------------------------------------------------------- +// Constants +//----------------------------------------------------------------------------- + +const int NullMaxVolume = -1; + + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::AbstractMediaPlayer::AbstractMediaPlayer() : + m_playPending(false) + , m_tickTimer(new QTimer(this)) + , m_mmfMaxVolume(NullMaxVolume) +{ + connect(m_tickTimer.data(), SIGNAL(timeout()), this, SLOT(tick())); +} + +MMF::AbstractMediaPlayer::AbstractMediaPlayer(const AbstractPlayer& player) : + AbstractPlayer(player) + , m_playPending(false) + , m_tickTimer(new QTimer(this)) + , m_mmfMaxVolume(NullMaxVolume) +{ + connect(m_tickTimer.data(), SIGNAL(timeout()), this, SLOT(tick())); +} + +//----------------------------------------------------------------------------- +// MediaObjectInterface +//----------------------------------------------------------------------------- + +void MMF::AbstractMediaPlayer::play() +{ + TRACE_CONTEXT(AbstractMediaPlayer::play, EAudioApi); + TRACE_ENTRY("state %d", privateState()); + + switch (privateState()) { + case GroundState: + setError(NormalError); + break; + + case LoadingState: + m_playPending = true; + break; + + case StoppedState: + case PausedState: + doPlay(); + startTickTimer(); + changeState(PlayingState); + break; + + case PlayingState: + case BufferingState: + case ErrorState: + // Do nothing + break; + + // Protection against adding new states and forgetting to update this switch + default: + TRACE_PANIC(InvalidStatePanic); + } + + TRACE_EXIT("state %d", privateState()); +} + +void MMF::AbstractMediaPlayer::pause() +{ + TRACE_CONTEXT(AbstractMediaPlayer::pause, EAudioApi); + TRACE_ENTRY("state %d", privateState()); + + m_playPending = false; + + switch (privateState()) { + case GroundState: + case LoadingState: + case PausedState: + case ErrorState: + // Do nothing + break; + + case StoppedState: + case PlayingState: + case BufferingState: + doPause(); + stopTickTimer(); + changeState(PausedState); + break; + + // Protection against adding new states and forgetting to update this switch + default: + TRACE_PANIC(InvalidStatePanic); + } + + TRACE_EXIT("state %d", privateState()); +} + +void MMF::AbstractMediaPlayer::stop() +{ + TRACE_CONTEXT(AbstractMediaPlayer::stop, EAudioApi); + TRACE_ENTRY("state %d", privateState()); + + m_playPending = false; + + switch (privateState()) { + case GroundState: + case LoadingState: + case StoppedState: + case ErrorState: + // Do nothing + break; + + case PlayingState: + case BufferingState: + case PausedState: + doStop(); + stopTickTimer(); + changeState(StoppedState); + break; + + // Protection against adding new states and forgetting to update this switch + default: + TRACE_PANIC(InvalidStatePanic); + } + + TRACE_EXIT("state %d", privateState()); +} + +void MMF::AbstractMediaPlayer::seek(qint64 ms) +{ + TRACE_CONTEXT(AbstractMediaPlayer::seek, EAudioApi); + TRACE_ENTRY("state %d pos %Ld", state(), ms); + + switch (privateState()) { + // Fallthrough all these + case GroundState: + case StoppedState: + case PausedState: + case PlayingState: + case LoadingState: + { + const bool tickTimerWasRunning = m_tickTimer->isActive(); + stopTickTimer(); + + doSeek(ms); + + if (tickTimerWasRunning) { + startTickTimer(); + } + break; + } + case BufferingState: + // Fallthrough + case ErrorState: + // Do nothing + break; + } + + TRACE_EXIT_0(); +} + +bool MMF::AbstractMediaPlayer::isSeekable() const +{ + return true; +} + +void MMF::AbstractMediaPlayer::doSetTickInterval(qint32 interval) +{ + TRACE_CONTEXT(AbstractMediaPlayer::doSetTickInterval, EAudioApi); + TRACE_ENTRY("state %d m_interval %d interval %d", privateState(), tickInterval(), interval); + + m_tickTimer->setInterval(interval); + + TRACE_EXIT_0(); +} + +MediaSource MMF::AbstractMediaPlayer::source() const +{ + return m_source; +} + +void MMF::AbstractMediaPlayer::setFileSource(const MediaSource &source, RFile& file) +{ + TRACE_CONTEXT(AbstractMediaPlayer::setFileSource, EAudioApi); + TRACE_ENTRY("state %d source.type %d", privateState(), source.type()); + + close(); + changeState(GroundState); + + // TODO: is it correct to assign even if the media type is not supported in + // the switch statement below? + m_source = source; + + TInt symbianErr = KErrNone; + + switch (m_source.type()) { + case MediaSource::LocalFile: { + symbianErr = openFile(file); + break; + } + + case MediaSource::Url: { + const QUrl url(source.url()); + + if (url.scheme() == QLatin1String("file")) { + symbianErr = openFile(file); + } + else { + TRACE_0("Source type not supported"); + // TODO: support network URLs + symbianErr = KErrNotSupported; + } + + break; + } + + case MediaSource::Invalid: + case MediaSource::Disc: + case MediaSource::Stream: + TRACE_0("Source type not supported"); + symbianErr = KErrNotSupported; + break; + + case MediaSource::Empty: + TRACE_0("Empty source - doing nothing"); + TRACE_EXIT_0(); + return; + + // Protection against adding new media types and forgetting to update this switch + default: + TRACE_PANIC(InvalidMediaTypePanic); + } + + if (KErrNone == symbianErr) { + changeState(LoadingState); + } else { + TRACE("error %d", symbianErr) + setError(NormalError); + } + + TRACE_EXIT_0(); +} + +void MMF::AbstractMediaPlayer::setNextSource(const MediaSource &source) +{ + TRACE_CONTEXT(AbstractMediaPlayer::setNextSource, EAudioApi); + TRACE_ENTRY("state %d", privateState()); + + // TODO: handle 'next source' + + m_nextSource = source; + Q_UNUSED(source); + + TRACE_EXIT_0(); +} + + +//----------------------------------------------------------------------------- +// VolumeObserver +//----------------------------------------------------------------------------- + +void MMF::AbstractMediaPlayer::volumeChanged(qreal volume) +{ + TRACE_CONTEXT(AbstractMediaPlayer::volumeChanged, EAudioInternal); + TRACE_ENTRY("state %d", privateState()); + + AbstractPlayer::volumeChanged(volume); + doVolumeChanged(); + + TRACE_EXIT_0(); +} + + +void MMF::AbstractMediaPlayer::doVolumeChanged() +{ + switch (privateState()) { + case GroundState: + case LoadingState: + case ErrorState: + // Do nothing + break; + + case StoppedState: + case PausedState: + case PlayingState: + case BufferingState: { + const int err = setDeviceVolume(m_volume * m_mmfMaxVolume); + + if (KErrNone != err) { + setError(NormalError); + } + break; + } + + // Protection against adding new states and forgetting to update this + // switch + default: + Utils::panic(InvalidStatePanic); + } +} + + +//----------------------------------------------------------------------------- +// Protected functions +//----------------------------------------------------------------------------- + +void MMF::AbstractMediaPlayer::startTickTimer() +{ + m_tickTimer->start(tickInterval()); +} + +void MMF::AbstractMediaPlayer::stopTickTimer() +{ + m_tickTimer->stop(); +} + +void MMF::AbstractMediaPlayer::maxVolumeChanged(int mmfMaxVolume) +{ + m_mmfMaxVolume = mmfMaxVolume; + doVolumeChanged(); +} + +qint64 MMF::AbstractMediaPlayer::toMilliSeconds(const TTimeIntervalMicroSeconds &in) +{ + return in.Int64() / 1000; +} + +void MMF::AbstractMediaPlayer::changeState(PrivateState newState) +{ + TRACE_CONTEXT(AbstractPlayer::changeState, EAudioInternal); + TRACE_ENTRY("state %d newState %d", privateState(), newState); + + // TODO: add some invariants to check that the transition is valid + + const Phonon::State oldPhononState = phononState(privateState()); + const Phonon::State newPhononState = phononState(newState); + if (oldPhononState != newPhononState) { + TRACE("emit stateChanged(%d, %d)", newPhononState, oldPhononState); + emit stateChanged(newPhononState, oldPhononState); + } + + setState(newState); + + if ( + LoadingState == oldPhononState + and StoppedState == newPhononState + ) { + // Ensure initial volume is set on MMF API before starting playback + doVolumeChanged(); + + // Check whether play() was called while clip was being loaded. If so, + // playback should be started now + if (m_playPending) { + TRACE_0("play was called while loading; starting playback now"); + m_playPending = false; + play(); + } + } + + TRACE_EXIT_0(); +} + +//----------------------------------------------------------------------------- +// Slots +//----------------------------------------------------------------------------- + +void MMF::AbstractMediaPlayer::tick() +{ + // For the MWC compiler, we need to qualify the base class. + emit MMF::AbstractPlayer::tick(currentTime()); +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h new file mode 100644 index 0000000..698b899 --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h @@ -0,0 +1,119 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_ABSTRACTMEDIAPLAYER_H +#define PHONON_MMF_ABSTRACTMEDIAPLAYER_H + +#include <QTimer> +#include <QScopedPointer> +#include <e32std.h> +#include "abstractplayer.h" + +class RFile; + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class AudioOutput; + +/** + * Interface via which MMF client APIs for both audio and video can be + * accessed. + */ +class AbstractMediaPlayer : public AbstractPlayer +{ + Q_OBJECT + +protected: + AbstractMediaPlayer(); + explicit AbstractMediaPlayer(const AbstractPlayer& player); + +public: + // MediaObjectInterface + virtual void play(); + virtual void pause(); + virtual void stop(); + virtual void seek(qint64 milliseconds); + virtual bool isSeekable() const; + virtual MediaSource source() const; + virtual void setFileSource(const Phonon::MediaSource&, RFile&); + virtual void setNextSource(const MediaSource &source); + + // VolumeObserver + virtual void volumeChanged(qreal volume); + +protected: + // AbstractPlayer + virtual void doSetTickInterval(qint32 interval); + + virtual void doPlay() = 0; + virtual void doPause() = 0; + virtual void doStop() = 0; + virtual void doSeek(qint64 pos) = 0; + virtual int setDeviceVolume(int mmfVolume) = 0; + virtual int openFile(RFile& file) = 0; + virtual void close() = 0; + + /** + * Changes state and emits stateChanged() + */ + virtual void changeState(PrivateState newState); + +protected: + bool tickTimerRunning() const; + void startTickTimer(); + void stopTickTimer(); + void maxVolumeChanged(int maxVolume); + + static qint64 toMilliSeconds(const TTimeIntervalMicroSeconds &); + +private: + void doVolumeChanged(); + +private Q_SLOTS: + /** + * Receives signal from m_tickTimer + */ + void tick(); + +private: + /** + * This flag is set to true if play is called when the object is + * in a Loading state. Once loading is complete, playback will + * be started. + */ + bool m_playPending; + + QScopedPointer<QTimer> m_tickTimer; + + int m_mmfMaxVolume; + + MediaSource m_source; + MediaSource m_nextSource; + +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/abstractplayer.cpp b/src/3rdparty/phonon/mmf/abstractplayer.cpp new file mode 100644 index 0000000..e3c0ecb --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractplayer.cpp @@ -0,0 +1,177 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "abstractplayer.h" +#include "defs.h" +#include "utils.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AbstractPlayer + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::AbstractPlayer::AbstractPlayer() + : m_videoOutput(0) + , m_volume(InitialVolume) + , m_state(GroundState) + , m_error(NoError) + , m_tickInterval(DefaultTickInterval) + , m_transitionTime(0) + , m_prefinishMark(0) +{ + +} + +MMF::AbstractPlayer::AbstractPlayer(const AbstractPlayer& player) + : m_videoOutput(player.m_videoOutput) + , m_volume(player.m_volume) + , m_state(GroundState) + , m_error(NoError) + , m_tickInterval(player.tickInterval()) + , m_transitionTime(player.transitionTime()) + , m_prefinishMark(player.prefinishMark()) +{ + +} + +//----------------------------------------------------------------------------- +// MediaObjectInterface +//----------------------------------------------------------------------------- + +qint32 MMF::AbstractPlayer::tickInterval() const +{ + return m_tickInterval; +} + +void MMF::AbstractPlayer::setTickInterval(qint32 interval) +{ + m_tickInterval = interval; + doSetTickInterval(interval); +} + +qint32 MMF::AbstractPlayer::prefinishMark() const +{ + return m_prefinishMark; +} + +void MMF::AbstractPlayer::setPrefinishMark(qint32 mark) +{ + m_prefinishMark = mark; +} + +qint32 MMF::AbstractPlayer::transitionTime() const +{ + return m_transitionTime; +} + +void MMF::AbstractPlayer::setTransitionTime(qint32 time) +{ + m_transitionTime = time; +} + + +//----------------------------------------------------------------------------- +// VolumeObserver +//----------------------------------------------------------------------------- + +void MMF::AbstractPlayer::volumeChanged(qreal volume) +{ + m_volume = volume; +} + + +//----------------------------------------------------------------------------- +// Video output +//----------------------------------------------------------------------------- + +void MMF::AbstractPlayer::setVideoOutput(VideoOutput* videoOutput) +{ + m_videoOutput = videoOutput; + videoOutputChanged(); +} + +void MMF::AbstractPlayer::videoOutputChanged() +{ + // Default behaviour is empty - overridden by VideoPlayer +} + +void MMF::AbstractPlayer::setError(Phonon::ErrorType error) +{ + TRACE_CONTEXT(AbstractPlayer::setError, EAudioInternal); + TRACE_ENTRY("state %d error %d", m_state, error); + + m_error = error; + changeState(ErrorState); + + TRACE_EXIT_0(); +} + +Phonon::ErrorType MMF::AbstractPlayer::errorType() const +{ + const Phonon::ErrorType result = (ErrorState == m_state) + ? errorType() : NoError; + return result; +} + +QString MMF::AbstractPlayer::errorString() const +{ + // TODO: put in proper error strings + QString result; + return result; +} + +Phonon::State MMF::AbstractPlayer::phononState() const +{ + return phononState(m_state); +} + +Phonon::State MMF::AbstractPlayer::phononState(PrivateState state) +{ + const Phonon::State phononState = + GroundState == state + ? Phonon::LoadingState + : static_cast<Phonon::State>(state); + + return phononState; +} + +AbstractPlayer::PrivateState AbstractPlayer::privateState() const +{ + return m_state; +} + +Phonon::State MMF::AbstractPlayer::state() const +{ + return phononState(m_state); +} + +void MMF::AbstractPlayer::setState(PrivateState newState) +{ + m_state = newState; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h new file mode 100644 index 0000000..ec39ab1 --- /dev/null +++ b/src/3rdparty/phonon/mmf/abstractplayer.h @@ -0,0 +1,166 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_ABSTRACTPLAYER_H +#define PHONON_MMF_ABSTRACTPLAYER_H + +#include <Phonon/phononnamespace.h> +#include <Phonon/MediaSource.h> + +#include <QObject> + +#include "volumeobserver.h" + +#include "videooutput.h" + +class RFile; + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class VideoOutput; + +/** + * @short Interface which abstracts from MediaObject the current + * media type + * + * This may be: + * - Nothing, in which case this interface is implemented by + * DummyPlayer + * - Audio, in which case the implementation is AudioPlayer + * - Video, in which case the implementation is VideoPlayer + */ +class AbstractPlayer : public QObject + , public VolumeObserver +{ + // Required although this class has no signals or slots + // Without this, qobject_cast will fail + Q_OBJECT + +public: + AbstractPlayer(); + explicit AbstractPlayer(const AbstractPlayer& player); + + // MediaObjectInterface (implemented) + qint32 tickInterval() const; + void setTickInterval(qint32); + void setTransitionTime(qint32); + qint32 transitionTime() const; + void setPrefinishMark(qint32); + qint32 prefinishMark() const; + + // MediaObjectInterface (abstract) + virtual void play() = 0; + virtual void pause() = 0; + virtual void stop() = 0; + virtual void seek(qint64 milliseconds) = 0; + virtual bool hasVideo() const = 0; + virtual bool isSeekable() const = 0; + virtual qint64 currentTime() const = 0; + virtual Phonon::ErrorType errorType() const; + virtual QString errorString() const; + virtual qint64 totalTime() const = 0; + virtual Phonon::MediaSource source() const = 0; + // This is a temporary hack to work around KErrInUse from MMF + // client utility OpenFileL calls + //virtual void setSource(const Phonon::MediaSource &) = 0; + virtual void setFileSource(const Phonon::MediaSource&, RFile&) = 0; + virtual void setNextSource(const Phonon::MediaSource &) = 0; + + // VolumeObserver + virtual void volumeChanged(qreal volume); + + void setVideoOutput(VideoOutput* videoOutput); + + /** + * Records error and changes state to ErrorState + */ + void setError(Phonon::ErrorType error); + + Phonon::State state() const; +Q_SIGNALS: + void totalTimeChanged(qint64 length); + void finished(); + void tick(qint64 time); + void stateChanged(Phonon::State oldState, + Phonon::State newState); + + +protected: + /** + * Defined private state enumeration in order to add GroundState + */ + enum PrivateState { + LoadingState = Phonon::LoadingState, + StoppedState = Phonon::StoppedState, + PlayingState = Phonon::PlayingState, + BufferingState = Phonon::BufferingState, + PausedState = Phonon::PausedState, + ErrorState = Phonon::ErrorState, + GroundState + }; + + /** + * Converts PrivateState into the corresponding Phonon::State + */ + Phonon::State phononState() const; + + /** + * Converts PrivateState into the corresponding Phonon::State + */ + static Phonon::State phononState(PrivateState state); + + virtual void videoOutputChanged(); + + PrivateState privateState() const; + + virtual void changeState(PrivateState newState) = 0; + + /** + * Modifies m_state directly. Typically you want to call changeState(), + * which performs the business logic. + */ + void setState(PrivateState newState); + +private: + virtual void doSetTickInterval(qint32 interval) = 0; + +protected: + // Not owned + VideoOutput* m_videoOutput; + + qreal m_volume; + +private: + PrivateState m_state; + Phonon::ErrorType m_error; + qint32 m_tickInterval; + qint32 m_transitionTime; + qint32 m_prefinishMark; + +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/audioequalizer.cpp b/src/3rdparty/phonon/mmf/audioequalizer.cpp new file mode 100644 index 0000000..c691e1e --- /dev/null +++ b/src/3rdparty/phonon/mmf/audioequalizer.cpp @@ -0,0 +1,89 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "audioequalizer.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AudioEqualizer + \internal +*/ + +AudioEqualizer::AudioEqualizer(QObject *parent) : AbstractAudioEffect::AbstractAudioEffect(parent, createParams()) +{ +} + +void AudioEqualizer::parameterChanged(const int pid, + const QVariant &value) +{ + // There is no way to return an error from this function, so we just + // have to trap and ignore exceptions. + TRAP_IGNORE(eq()->SetBandLevelL(pid, value.toInt())); +} + +bool AudioEqualizer::activateOn(CPlayerType *player) +{ + m_effect.reset(CAudioEqualizer::NewL(*player)); + return true; +} + +CAudioEqualizer *AudioEqualizer::eq() const +{ + return static_cast<CAudioEqualizer *>(m_effect.data()); +} + +QList<EffectParameter> AudioEqualizer::createParams() +{ + QList<EffectParameter> retval; + + // We temporarily create an AudioPlayer, and run the effect on it, so + // we can extract the readonly data we need. + AudioPlayer dummyPlayer; + activateOn(dummyPlayer.player()); + + TInt32 dbMin; + TInt32 dbMax; + eq()->DbLevelLimits(dbMin, dbMax); + + const int bandCount = eq()->NumberOfBands(); + + for (int i = 0; i < bandCount; ++i) { + const qint32 hz = eq()->CenterFrequency(i); + + const qint32 defVol = eq()->BandLevel(i); + + retval.append(EffectParameter(i, + tr("Frequency band, %1 Hz").arg(hz), + EffectParameter::LogarithmicHint, + QVariant(qint32(defVol)), + QVariant(qint32(dbMin)), + QVariant(qint32(dbMax)), + QVariantList(), + QString())); + } + + m_effect.reset(); + + return retval; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/audioequalizer.h b/src/3rdparty/phonon/mmf/audioequalizer.h new file mode 100644 index 0000000..6415411 --- /dev/null +++ b/src/3rdparty/phonon/mmf/audioequalizer.h @@ -0,0 +1,62 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_AUDIOEQUALIZER_H +#define PHONON_MMF_AUDIOEQUALIZER_H + +#include <AudioEqualizerBase.h> +#include "abstractaudioeffect.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * @short A classic equalizer. + * + * The equalizer has a number of bands, and each band has a frequency, and a + * volume. With Phonon's API, this is modeled such that each band is one + * Phonon::EffectParameter, where Phonon::EffectParameter::id() is the band + * number, and the setting is the volume level. + */ +class AudioEqualizer : public AbstractAudioEffect +{ + Q_OBJECT +public: + AudioEqualizer(QObject *parent); + +protected: + virtual void parameterChanged(const int id, + const QVariant &value); + + virtual bool activateOn(CPlayerType *player); + +private: + inline CAudioEqualizer *eq() const; + QList<EffectParameter> createParams(); + QScopedPointer<CAudioEqualizer> m_bassBoost; +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp new file mode 100644 index 0000000..58e2f5e --- /dev/null +++ b/src/3rdparty/phonon/mmf/audiooutput.cpp @@ -0,0 +1,104 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <e32debug.h> + +#include "audiooutput.h" +#include "defs.h" +#include "mediaobject.h" +#include "utils.h" +#include "volumeobserver.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AudioOutput + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::AudioOutput::AudioOutput(Backend *, QObject *parent) : MediaNode(parent) + , m_volume(InitialVolume) + , m_observer(0) +{ + +} + + +//----------------------------------------------------------------------------- +// Public API +//----------------------------------------------------------------------------- + +qreal MMF::AudioOutput::volume() const +{ + return m_volume; +} + +void MMF::AudioOutput::setVolume(qreal volume) +{ + TRACE_CONTEXT(AudioOutput::setVolume, EAudioApi); + TRACE_ENTRY("observer 0x%08x volume %f", m_observer, volume); + + if (volume != m_volume) { + if (m_observer) { + m_observer->volumeChanged(volume); + } + + m_volume = volume; + TRACE("emit volumeChanged(%f)", volume) + emit volumeChanged(volume); + } + + TRACE_EXIT_0(); +} + +int MMF::AudioOutput::outputDevice() const +{ + return 0; +} + +bool MMF::AudioOutput::setOutputDevice(int) +{ + return true; +} + +bool MMF::AudioOutput::setOutputDevice(const Phonon::AudioOutputDevice &) +{ + return true; +} + +void MMF::AudioOutput::setVolumeObserver(VolumeObserver* observer) +{ + m_observer = observer; + if (m_observer) { + m_observer->volumeChanged(m_volume); + } +} + +bool MMF::AudioOutput::activateOnMediaObject(MediaObject *mo) +{ + setVolumeObserver(mo); + return true; +} + +QT_END_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/audiooutput.h b/src/3rdparty/phonon/mmf/audiooutput.h new file mode 100644 index 0000000..0a962a9 --- /dev/null +++ b/src/3rdparty/phonon/mmf/audiooutput.h @@ -0,0 +1,93 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_AUDIOOUTPUT_H +#define PHONON_MMF_AUDIOOUTPUT_H + +#include "mmf_medianode.h" +#include <phonon/audiooutputinterface.h> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class Backend; +class VolumeObserver; + +/** + * @short AudioOutputInterface implementation for MMF. + * + * Forwards volume commands to the VolumeObserver instance, + * which is provided by the backend when MediaNode objects are + * connected. + * + * \section volume Volume + * + * Phonon's concept on volume is from 0.0 to 1.0, and from 1< it does + * voltage multiplication. CDrmPlayerUtility goes from 1 to + * CDrmPlayerUtility::MaxVolume(). We apply some basic math to convert + * between the two. + * + * @author Frans Englich<frans.englich@nokia.com> + */ +class AudioOutput : public MediaNode + , public AudioOutputInterface +{ + Q_OBJECT + Q_INTERFACES(Phonon::AudioOutputInterface) + +public: + AudioOutput(Backend *backend, QObject *parent); + virtual qreal volume() const; + virtual void setVolume(qreal volume); + + virtual int outputDevice() const; + + /** + * Has no effect. + */ + virtual bool setOutputDevice(int); + + /** + * Has no effect. + */ + virtual bool setOutputDevice(const Phonon::AudioOutputDevice &); + +protected: + virtual bool activateOnMediaObject(MediaObject *mo); + +Q_SIGNALS: + void volumeChanged(qreal volume); + void audioDeviceFailed(); + +private: + void setVolumeObserver(VolumeObserver* observer); + + qreal m_volume; + + // Not owned + VolumeObserver* m_observer; +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp new file mode 100644 index 0000000..aa2a94b --- /dev/null +++ b/src/3rdparty/phonon/mmf/audioplayer.cpp @@ -0,0 +1,258 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QUrl> + +#include "audioplayer.h" +#include "utils.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::AudioPlayer + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::AudioPlayer::AudioPlayer() : m_player(0) +{ + construct(); +} + +MMF::AudioPlayer::AudioPlayer(const AbstractPlayer& player) + : AbstractMediaPlayer(player) + , m_player(0) +{ + construct(); +} + +void MMF::AudioPlayer::construct() +{ + TRACE_CONTEXT(AudioPlayer::AudioPlayer, EAudioApi); + TRACE_ENTRY_0(); + + TRAPD(err, m_player = CPlayerType::NewL(*this, 0, EMdaPriorityPreferenceNone)); + if (KErrNone != err) { + changeState(ErrorState); + } + + TRACE_EXIT_0(); +} + +MMF::AudioPlayer::~AudioPlayer() +{ + TRACE_CONTEXT(AudioPlayer::~AudioPlayer, EAudioApi); + TRACE_ENTRY_0(); + + delete m_player; + + TRACE_EXIT_0(); +} + +//----------------------------------------------------------------------------- +// Public API +//----------------------------------------------------------------------------- + +void MMF::AudioPlayer::doPlay() +{ + m_player->Play(); +} + +void MMF::AudioPlayer::doPause() +{ + m_player->Pause(); +} + +void MMF::AudioPlayer::doStop() +{ + m_player->Stop(); +} + +void MMF::AudioPlayer::doSeek(qint64 ms) +{ + m_player->SetPosition(TTimeIntervalMicroSeconds(ms * 1000)); +} + +int MMF::AudioPlayer::setDeviceVolume(int mmfVolume) +{ + /* In SDK 3.1, SetVolume() returns void. If we're compiling against + * 3.1, we handle it with ifdefs. However, if we compile against a later + * SDK but are _running_ against 3.1, we avoid returning from an undefined + * stack by doing a runtime check of the SDK version. */ +#if !defined(__SERIES60_31__) + const int err = m_player->SetVolume(mmfVolume); + if (QSysInfo::s60Version() > QSysInfo::SV_S60_3_1) + return err; + else + return KErrNone; + #else + m_player->SetVolume(mmfVolume); + return KErrNone; +#endif +} + +int MMF::AudioPlayer::openFile(RFile& file) +{ + TRAPD(err, m_player->OpenFileL(file)); + +#ifdef QT_PHONON_MMF_AUDIO_DRM + if (KErrNone == err) { + // There appears to be a bug in the CDrmPlayerUtility implementation (at least + // in S60 5.x) whereby the player does not check whether the loading observer + // pointer is null before dereferencing it. Therefore we must register for + // loading notification, even though we do nothing in the callback functions. + m_player->RegisterForAudioLoadingNotification(*this); + } +#endif + + return err; +} + +void MMF::AudioPlayer::close() +{ + m_player->Close(); +} + +bool MMF::AudioPlayer::hasVideo() const +{ + return false; +} + +qint64 MMF::AudioPlayer::currentTime() const +{ + TRACE_CONTEXT(AudioPlayer::currentTime, EAudioApi); + + TTimeIntervalMicroSeconds us; + const TInt err = m_player->GetPosition(us); + + qint64 result = 0; + + if (KErrNone == err) { + result = toMilliSeconds(us); + } else { + TRACE("GetPosition err %d", err); + + // If we don't cast away constness here, we simply have to ignore + // the error. + const_cast<AudioPlayer*>(this)->setError(NormalError); + } + + return result; +} + +qint64 MMF::AudioPlayer::totalTime() const +{ + return toMilliSeconds(m_player->Duration()); +} + + +//----------------------------------------------------------------------------- +// Symbian multimedia client observer callbacks +//----------------------------------------------------------------------------- + +#ifdef QT_PHONON_MMF_AUDIO_DRM +void MMF::AudioPlayer::MdapcInitComplete(TInt aError, + const TTimeIntervalMicroSeconds &) +#else +void MMF::AudioPlayer::MapcInitComplete(TInt aError, + const TTimeIntervalMicroSeconds &) +#endif +{ + TRACE_CONTEXT(AudioPlayer::MapcInitComplete, EAudioInternal); + TRACE_ENTRY("state %d error %d", state(), aError); + + __ASSERT_ALWAYS(LoadingState == state(), Utils::panic(InvalidStatePanic)); + + if (KErrNone == aError) { + maxVolumeChanged(m_player->MaxVolume()); + + emit totalTimeChanged(totalTime()); + changeState(StoppedState); + } else { + // TODO: set different error states according to value of aError? + setError(NormalError); + } + + TRACE_EXIT_0(); +} + +#ifdef QT_PHONON_MMF_AUDIO_DRM +void MMF::AudioPlayer::MdapcPlayComplete(TInt aError) +#else +void MMF::AudioPlayer::MapcPlayComplete(TInt aError) +#endif +{ + TRACE_CONTEXT(AudioPlayer::MapcPlayComplete, EAudioInternal); + TRACE_ENTRY("state %d error %d", state(), aError); + + stopTickTimer(); + + if (KErrNone == aError) { + changeState(StoppedState); + // TODO: move on to m_nextSource + } else { + // TODO: do something with aError? + setError(NormalError); + } + + /* + if(aError == KErrNone) { + if(m_nextSource.type() == MediaSource::Empty) { + emit finished(); + } else { + setSource(m_nextSource); + m_nextSource = MediaSource(); + } + + changeState(StoppedState); + } + else { + m_error = NormalError; + changeState(ErrorState); + } + */ + + TRACE_EXIT_0(); +} + +CPlayerType *MMF::AudioPlayer::player() const +{ + return m_player; +} + + +#ifdef QT_PHONON_MMF_AUDIO_DRM +void MMF::AudioPlayer::MaloLoadingStarted() +{ + +} + +void MMF::AudioPlayer::MaloLoadingComplete() +{ + +} +#endif // QT_PHONON_MMF_AUDIO_DRM + + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/audioplayer.h b/src/3rdparty/phonon/mmf/audioplayer.h new file mode 100644 index 0000000..f16de1d --- /dev/null +++ b/src/3rdparty/phonon/mmf/audioplayer.h @@ -0,0 +1,106 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_AUDIOPLAYER_H +#define PHONON_MMF_AUDIOPLAYER_H + +#include "abstractmediaplayer.h" + +class CDrmPlayerUtility; +class TTimeIntervalMicroSeconds; + +#ifdef QT_PHONON_MMF_AUDIO_DRM +#include <drmaudiosampleplayer.h> +typedef CDrmPlayerUtility CPlayerType; +typedef MDrmAudioPlayerCallback MPlayerObserverType; +#else +#include <mdaaudiosampleplayer.h> +typedef CMdaAudioPlayerUtility CPlayerType; +typedef MMdaAudioPlayerCallback MPlayerObserverType; +#endif + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * @short Wrapper over MMF audio client utility + */ +class AudioPlayer : public AbstractMediaPlayer + , public MPlayerObserverType // typedef +#ifdef QT_PHONON_MMF_AUDIO_DRM + , public MAudioLoadingObserver +#endif +{ + Q_OBJECT + +public: + AudioPlayer(); + explicit AudioPlayer(const AbstractPlayer& player); + virtual ~AudioPlayer(); + + // AbstractMediaPlayer + virtual void doPlay(); + virtual void doPause(); + virtual void doStop(); + virtual void doSeek(qint64 milliseconds); + virtual int setDeviceVolume(int mmfVolume); + virtual int openFile(RFile& file); + virtual void close(); + + // MediaObjectInterface + virtual bool hasVideo() const; + virtual qint64 currentTime() const; + virtual qint64 totalTime() const; + +#ifdef QT_PHONON_MMF_AUDIO_DRM + // MDrmAudioPlayerCallback + virtual void MdapcInitComplete(TInt aError, + const TTimeIntervalMicroSeconds &aDuration); + virtual void MdapcPlayComplete(TInt aError); + + // MAudioLoadingObserver + virtual void MaloLoadingStarted(); + virtual void MaloLoadingComplete(); +#else + // MMdaAudioPlayerCallback + virtual void MapcInitComplete(TInt aError, + const TTimeIntervalMicroSeconds &aDuration); + virtual void MapcPlayComplete(TInt aError); +#endif + + CPlayerType *player() const; + +private: + void construct(); + +private: + /** + * Using CPlayerType typedef in order to be able to easily switch between + * CMdaAudioPlayerUtility and CDrmPlayerUtility + */ + CPlayerType* m_player; +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/backend.cpp b/src/3rdparty/phonon/mmf/backend.cpp new file mode 100644 index 0000000..be43f46 --- /dev/null +++ b/src/3rdparty/phonon/mmf/backend.cpp @@ -0,0 +1,202 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QStringList> +#include <QtPlugin> + +#include <apgcli.h> // for RApaLsSession +#include <apmrec.h> // for CDataTypeArray +#include <apmstd.h> // for TDataType + +#include "abstractaudioeffect.h" +#include "audiooutput.h" +#include "audioplayer.h" +#include "backend.h" +#include "effectfactory.h" +#include "mediaobject.h" +#include "utils.h" +#include "videowidget.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::VolumeObserver + \internal +*/ + +/*! \class MMF::Backend + \internal +*/ + +Backend::Backend(QObject *parent) : QObject(parent) +{ + TRACE_CONTEXT(Backend::Backend, EBackend); + TRACE_ENTRY_0(); + + setProperty("identifier", QLatin1String("phonon_mmf")); + setProperty("backendName", QLatin1String("MMF")); + setProperty("backendComment", QLatin1String("Backend using Symbian Multimedia Framework (MMF)")); + setProperty("backendVersion", QLatin1String("0.1")); + setProperty("backendWebsite", QLatin1String("http://qt.nokia.com/")); + + TRACE_EXIT_0(); +} + +QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const QList<QVariant> &args) +{ + TRACE_CONTEXT(Backend::createObject, EBackend); + TRACE_ENTRY("class %d", c); + + QObject* result = 0; + + switch (c) { + case AudioOutputClass: + result = new AudioOutput(this, parent); + break; + + case MediaObjectClass: + result = new MediaObject(parent); + break; + + case VolumeFaderEffectClass: + case VisualizationClass: + case VideoDataOutputClass: + case EffectClass: + { + Q_ASSERT(args.count() == 1); + Q_ASSERT(args.first().type() == QVariant::Int); + const AbstractAudioEffect::Type effect = AbstractAudioEffect::Type(args.first().toInt()); + + return EffectFactory::createAudioEffect(effect, parent); + } + case VideoWidgetClass: + result = new VideoWidget(qobject_cast<QWidget *>(parent)); + break; + + default: + TRACE_PANIC(InvalidBackendInterfaceClass); + } + + TRACE_RETURN("0x%08x", result); +} + +QList<int> Backend::objectDescriptionIndexes(ObjectDescriptionType type) const +{ + TRACE_CONTEXT(Backend::objectDescriptionIndexes, EAudioApi); + TRACE_ENTRY_0(); + QList<int> retval; + + switch(type) + { + case EffectType: + retval.append(EffectFactory::effectIndexes()); + default: + ; + } + + TRACE_EXIT_0(); + return retval; +} + +QHash<QByteArray, QVariant> Backend::objectDescriptionProperties(ObjectDescriptionType type, int index) const +{ + TRACE_CONTEXT(Backend::connectNodes, EBackend); + + if (type == EffectType) + return EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type(index)); + else + return QHash<QByteArray, QVariant>(); +} + +bool Backend::startConnectionChange(QSet<QObject *>) +{ + return true; +} + +bool Backend::connectNodes(QObject *source, QObject *target) +{ + TRACE_CONTEXT(Backend::connectNodes, EBackend); + TRACE_ENTRY("source 0x%08x target 0x%08x", source, target); + Q_ASSERT(qobject_cast<MediaNode *>(source)); + Q_ASSERT(qobject_cast<MediaNode *>(target)); + + MediaNode *const mediaSource = static_cast<MediaNode *>(source); + MediaNode *const mediaTarget = static_cast<MediaNode *>(target); + + return mediaSource->connectMediaNode(mediaTarget); +} + +bool Backend::disconnectNodes(QObject *source, QObject *target) +{ + TRACE_CONTEXT(Backend::disconnectNodes, EBackend); + TRACE_ENTRY("source 0x%08x target 0x%08x", source, target); + Q_ASSERT(qobject_cast<MediaNode *>(source)); + Q_ASSERT(qobject_cast<MediaNode *>(target)); + + const bool result = static_cast<MediaNode *>(source)->disconnectMediaNode(static_cast<MediaNode *>(target)); + + TRACE_RETURN("%d", result); +} + +bool Backend::endConnectionChange(QSet<QObject *>) +{ + return true; +} + +void getAvailableMimeTypesL(QStringList& result) +{ + RApaLsSession apaSession; + User::LeaveIfError(apaSession.Connect()); + CleanupClosePushL(apaSession); + + static const TInt DataTypeArrayGranularity = 8; + CDataTypeArray* array = new(ELeave) CDataTypeArray(DataTypeArrayGranularity); + CleanupStack::PushL(array); + + apaSession.GetSupportedDataTypesL(*array); + + for (TInt i = 0; i < array->Count(); ++i) { + const TPtrC mimeType = array->At(i).Des(); + const MediaType mediaType = Utils::mimeTypeToMediaType(mimeType); + if (MediaTypeAudio == mediaType or MediaTypeVideo == mediaType) { + result.append(qt_TDesC2QString(mimeType)); + } + } + + CleanupStack::PopAndDestroy(2); // apaSession, array +} + +QStringList Backend::availableMimeTypes() const +{ + QStringList result; + + // There is no way to return an error from this function, so we just + // have to trap and ignore exceptions... + TRAP_IGNORE(getAvailableMimeTypesL(result)); + + result.sort(); + + return result; +} + +Q_EXPORT_PLUGIN2(phonon_mmf, Phonon::MMF::Backend); + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/backend.h b/src/3rdparty/phonon/mmf/backend.h new file mode 100644 index 0000000..1886ae6 --- /dev/null +++ b/src/3rdparty/phonon/mmf/backend.h @@ -0,0 +1,56 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_BACKEND_H +#define PHONON_MMF_BACKEND_H + +#include <Phonon/MediaSource> +#include <Phonon/BackendInterface> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class Backend : public QObject + , public BackendInterface +{ + Q_OBJECT + Q_INTERFACES(Phonon::BackendInterface) +public: + Backend(QObject *parent = 0); + + virtual QObject *createObject(BackendInterface::Class c, QObject *parent, const QList<QVariant> &args); + virtual QList<int> objectDescriptionIndexes(ObjectDescriptionType type) const; + virtual QHash<QByteArray, QVariant> objectDescriptionProperties(ObjectDescriptionType type, int index) const; + virtual bool startConnectionChange(QSet<QObject *>); + virtual bool connectNodes(QObject *, QObject *); + virtual bool disconnectNodes(QObject *, QObject *); + virtual bool endConnectionChange(QSet<QObject *>); + virtual QStringList availableMimeTypes() const; + +Q_SIGNALS: + void objectDescriptionChanged(ObjectDescriptionType); +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/bassboost.cpp b/src/3rdparty/phonon/mmf/bassboost.cpp new file mode 100644 index 0000000..e34f9e7 --- /dev/null +++ b/src/3rdparty/phonon/mmf/bassboost.cpp @@ -0,0 +1,48 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "bassboost.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::BassBoost + \internal +*/ + +BassBoost::BassBoost(QObject *parent) : AbstractAudioEffect::AbstractAudioEffect(parent, + QList<EffectParameter>()) +{ +} + +void BassBoost::parameterChanged(const int, + const QVariant &) +{ + // We should never be called, because we have no parameters. +} + +bool BassBoost::activateOn(CPlayerType *player) +{ + m_effect.reset(CBassBoost::NewL(*player, true)); + return true; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/bassboost.h b/src/3rdparty/phonon/mmf/bassboost.h new file mode 100644 index 0000000..c16393a --- /dev/null +++ b/src/3rdparty/phonon/mmf/bassboost.h @@ -0,0 +1,58 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_BASSBOOST_H +#define PHONON_MMF_BASSBOOST_H + +#include <BassBoostBase.h> +#include "abstractaudioeffect.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * @short An "bass boost" effect. + * + * The documentation does not say what "bass boost" is, neither has it anykind + * of setting. It's an on or off thing. + */ +class BassBoost : public AbstractAudioEffect +{ + Q_OBJECT +public: + BassBoost(QObject *parent); + +protected: + virtual void parameterChanged(const int id, + const QVariant &value); + + virtual bool activateOn(CPlayerType *player); + +private: + QScopedPointer<CBassBoost> m_bassBoost; +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/defs.h b/src/3rdparty/phonon/mmf/defs.h new file mode 100644 index 0000000..1a93aa9 --- /dev/null +++ b/src/3rdparty/phonon/mmf/defs.h @@ -0,0 +1,43 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_DEFS_H +#define PHONON_MMF_DEFS_H + +#include <QtGlobal> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +static const qint32 DefaultTickInterval = 10; +static const qreal InitialVolume = 0.5; + +enum MediaType { + MediaTypeUnknown, + MediaTypeAudio, + MediaTypeVideo +}; +} +} + +QT_END_NAMESPACE + +#endif // PHONON_MMF_DEFS_H diff --git a/src/3rdparty/phonon/mmf/dummyplayer.cpp b/src/3rdparty/phonon/mmf/dummyplayer.cpp new file mode 100644 index 0000000..bd21d20 --- /dev/null +++ b/src/3rdparty/phonon/mmf/dummyplayer.cpp @@ -0,0 +1,135 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "dummyplayer.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::DummyPlayer + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::DummyPlayer::DummyPlayer() +{ + +} + +MMF::DummyPlayer::DummyPlayer(const AbstractPlayer& player) + : AbstractPlayer(player) +{ + +} + + +//----------------------------------------------------------------------------- +// MediaObjectInterface +//----------------------------------------------------------------------------- + +void MMF::DummyPlayer::play() +{ + +} + +void MMF::DummyPlayer::pause() +{ + +} + +void MMF::DummyPlayer::stop() +{ + +} + +void MMF::DummyPlayer::seek(qint64) +{ + +} + +bool MMF::DummyPlayer::hasVideo() const +{ + return false; +} + +bool MMF::DummyPlayer::isSeekable() const +{ + return false; +} + +Phonon::State MMF::DummyPlayer::state() const +{ + return Phonon::LoadingState; +} + +qint64 MMF::DummyPlayer::currentTime() const +{ + return 0; +} + +QString MMF::DummyPlayer::errorString() const +{ + return QString(); +} + +Phonon::ErrorType MMF::DummyPlayer::errorType() const +{ + return Phonon::NoError; +} + +qint64 MMF::DummyPlayer::totalTime() const +{ + return 0; +} + +MediaSource MMF::DummyPlayer::source() const +{ + return MediaSource(); +} + +void MMF::DummyPlayer::setFileSource(const Phonon::MediaSource &, RFile &) +{ + +} + +void MMF::DummyPlayer::setNextSource(const MediaSource &) +{ + +} + + +//----------------------------------------------------------------------------- +// AbstractPlayer +//----------------------------------------------------------------------------- + +void MMF::DummyPlayer::doSetTickInterval(qint32) +{ + +} + +void MMF::DummyPlayer::changeState(PrivateState) +{ +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/dummyplayer.h b/src/3rdparty/phonon/mmf/dummyplayer.h new file mode 100644 index 0000000..9ff9f78 --- /dev/null +++ b/src/3rdparty/phonon/mmf/dummyplayer.h @@ -0,0 +1,76 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_DUMMYPLAYER_H +#define PHONON_MMF_DUMMYPLAYER_H + +#include "abstractplayer.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class AudioOutput; + +/** + * @short Stub implementation of AbstractPlayer. + * + * The functions of this class are: + * - Allow MediaObject to call a subset of the MediaObjectInterface + * API, before SetSource has been called. + * - Cache any parameters which are set in this state (e.g. + * prefinish mark), so that they can be copied into the 'real' + * AbstractPlayer implementation once a source has been loaded. + */ +class DummyPlayer : public AbstractPlayer +{ +public: + DummyPlayer(); + DummyPlayer(const AbstractPlayer& player); + + // MediaObjectInterface + virtual void play(); + virtual void pause(); + virtual void stop(); + virtual void seek(qint64 milliseconds); + virtual bool hasVideo() const; + virtual bool isSeekable() const; + virtual qint64 currentTime() const; + virtual Phonon::State state() const; + virtual QString errorString() const; + virtual Phonon::ErrorType errorType() const; + virtual qint64 totalTime() const; + virtual MediaSource source() const; + // virtual void setSource(const MediaSource &); + virtual void setFileSource(const Phonon::MediaSource&, RFile&); + virtual void setNextSource(const MediaSource &source); + + // AbstractPlayer + virtual void doSetTickInterval(qint32 interval); + +protected: + virtual void changeState(PrivateState newState); +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/effectfactory.cpp b/src/3rdparty/phonon/mmf/effectfactory.cpp new file mode 100644 index 0000000..214baa0 --- /dev/null +++ b/src/3rdparty/phonon/mmf/effectfactory.cpp @@ -0,0 +1,155 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QObject> +#include <QCoreApplication> + +#include <AudioEqualizerBase.h> +#include <BassBoostBase.h> +#include <DistanceAttenuationBase.h> +#include <DopplerBase.h> +#include <EnvironmentalReverbBase.h> +#include <ListenerOrientationBase.h> +#include <LocationBase.h> +#include <LoudnessBase.h> +#include <SourceOrientationBase.h> +#include <StereoWideningBase.h> + +#include "audioequalizer.h" +#include "bassboost.h" + +#include "effectfactory.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::EffectFactory + \internal +*/ + +QHash<QByteArray, QVariant> EffectFactory::constructEffectDescription(const QString &name, + const QString &description) +{ + QHash<QByteArray, QVariant> retval; + + retval.insert("name", name); + retval.insert("description", description); + retval.insert("available", true); + + return retval; +} + + +QHash<QByteArray, QVariant> EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type type) +{ + switch (type) + { + case AbstractAudioEffect::EffectAudioEqualizer: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "audio equalizer"), "Audio equalizer."); + case AbstractAudioEffect::EffectBassBoost: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Bass boost"), "Bass boost."); + case AbstractAudioEffect::EffectDistanceAttenuation: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Distance Attenuation"), "Distance Attenuation."); + case AbstractAudioEffect::EffectEnvironmentalReverb: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Environmental Reverb"), "Environmental Reverb."); + case AbstractAudioEffect::EffectListenerOrientation: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Environmental Reverb"), "Environmental Reverb."); + case AbstractAudioEffect::EffectLoudness: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Loudness"), "Loudness."); + case AbstractAudioEffect::EffectSourceOrientation: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Source Orientation"), "Source Orientation."); + case AbstractAudioEffect::EffectStereoWidening: + return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Stereo Widening"), "Stereo Widening."); + } + + Q_ASSERT_X(false, Q_FUNC_INFO, "Unknown effect type."); + return QHash<QByteArray, QVariant>(); +} + +AbstractAudioEffect *EffectFactory::createAudioEffect(AbstractAudioEffect::Type type, + QObject *parent) +{ + Q_ASSERT(parent); + + switch (type) + { + case AbstractAudioEffect::EffectBassBoost: + return new BassBoost(parent); + case AbstractAudioEffect::EffectAudioEqualizer: + return new AudioEqualizer(parent); + case AbstractAudioEffect::EffectDistanceAttenuation: + case AbstractAudioEffect::EffectEnvironmentalReverb: + case AbstractAudioEffect::EffectListenerOrientation: + case AbstractAudioEffect::EffectLoudness: + case AbstractAudioEffect::EffectSourceOrientation: + case AbstractAudioEffect::EffectStereoWidening: + ; + } + + Q_ASSERT_X(false, Q_FUNC_INFO, "Unknown effect."); + return 0; +} + +template<typename TEffect> +bool isEffectSupported() +{ + AudioPlayer audioPlayer; + + QScopedPointer<TEffect> eff; + TRAPD(errorCode, eff.reset(TEffect::NewL(*audioPlayer.player()))); + + return errorCode != KErrNone; +} + +QList<int> EffectFactory::effectIndexes() +{ + QList<int> retval; + + if (isEffectSupported<CAudioEqualizer>()) + retval.append(AbstractAudioEffect::EffectAudioEqualizer); + + if (isEffectSupported<CBassBoost>()) + retval.append(AbstractAudioEffect::EffectBassBoost); + + /* We haven't implemented these yet. + if (isEffectSupported<CDistanceAttenuation>()) + retval.append(AbstractAudioEffect::EffectDistanceAttenuation); + + if (isEffectSupported<CEnvironmentalReverb>()) + retval.append(AbstractAudioEffect::EffectEnvironmentalReverb); + + if (isEffectSupported<CLoudness>()) + retval.append(AbstractAudioEffect::EffectLoudness); + + if (isEffectSupported<CListenerOrientation>()) + retval.append(AbstractAudioEffect::EffectListenerOrientation); + + if (isEffectSupported<CSourceOrientation>()) + retval.append(AbstractAudioEffect::EffectSourceOrientation); + + if (isEffectSupported<CStereoWidening>()) + retval.append(AbstractAudioEffect::EffectStereoWidening); + */ + + return retval; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/effectfactory.h b/src/3rdparty/phonon/mmf/effectfactory.h new file mode 100644 index 0000000..e83ad15 --- /dev/null +++ b/src/3rdparty/phonon/mmf/effectfactory.h @@ -0,0 +1,76 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_EFFECTFACTORY_H +#define PHONON_MMF_EFFECTFACTORY_H + +#include "abstractaudioeffect.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ + +/** + * @short Contains utility functions related to effects. + */ +class EffectFactory +{ +public: + /** + * @short Creates an audio effect of type @p type. + */ + static AbstractAudioEffect *createAudioEffect(AbstractAudioEffect::Type type, + QObject *parent); + + /** + * @short Return the properties for effect @p type. + * + * This handles the effects for + * BackendInterface::objectDescriptionProperties(). + */ + static QHash<QByteArray, QVariant> audioEffectDescriptions(AbstractAudioEffect::Type type); + + /** + * @short Returns the indexes for the supported effects. + * + * This handles the effects for + * BackendInterface::objectDescriptionIndexes(). + */ + static QList<int> effectIndexes(); + +private: + static inline QHash<QByteArray, QVariant> constructEffectDescription(const QString &name, + const QString &description); + + /** + * This class is not supposed to be instantiated, so disable + * the default constructor. + */ + inline EffectFactory(); + Q_DISABLE_COPY(EffectFactory) +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp new file mode 100644 index 0000000..76db5cb --- /dev/null +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -0,0 +1,389 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "audiooutput.h" +#include "audioplayer.h" +#include "defs.h" +#include "dummyplayer.h" +#include "utils.h" +#include "utils.h" +#include "mmf_videoplayer.h" +#include "videowidget.h" + +#include "mediaobject.h" + +#include <QDir> +#include <QUrl> + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::MediaObject + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::MediaObject::MediaObject(QObject *parent) : MMF::MediaNode::MediaNode(parent) + , m_recognizerOpened(false) +{ + m_player.reset(new DummyPlayer()); + + TRACE_CONTEXT(MediaObject::MediaObject, EAudioApi); + TRACE_ENTRY_0(); + + Q_UNUSED(parent); + + TRACE_EXIT_0(); +} + +MMF::MediaObject::~MediaObject() +{ + TRACE_CONTEXT(MediaObject::~MediaObject, EAudioApi); + TRACE_ENTRY_0(); + + m_file.Close(); + m_fileServer.Close(); + m_recognizer.Close(); + + TRACE_EXIT_0(); +} + + +//----------------------------------------------------------------------------- +// Recognizer +//----------------------------------------------------------------------------- + +bool MMF::MediaObject::openRecognizer() +{ + TRACE_CONTEXT(MediaObject::openRecognizer, EAudioInternal); + + if (!m_recognizerOpened) { + TInt err = m_recognizer.Connect(); + if (KErrNone != err) { + TRACE("RApaLsSession::Connect error %d", err); + return false; + } + + err = m_fileServer.Connect(); + if (KErrNone != err) { + TRACE("RFs::Connect error %d", err); + return false; + } + + // This must be called in order to be able to share file handles with + // the recognizer server (see fileMediaType function). + err = m_fileServer.ShareProtected(); + if (KErrNone != err) { + TRACE("RFs::ShareProtected error %d", err); + return false; + } + + m_recognizerOpened = true; + } + + return true; +} + +MMF::MediaType MMF::MediaObject::fileMediaType +(const QString& fileName) +{ + TRACE_CONTEXT(MediaObject::fileMediaType, EAudioInternal); + + MediaType result = MediaTypeUnknown; + + if (openRecognizer()) { + + const QHBufC fileNameSymbian(QDir::toNativeSeparators(fileName)); + + m_file.Close(); + TInt err = m_file.Open(m_fileServer, *fileNameSymbian, EFileRead | EFileShareReadersOnly); + + if (KErrNone == err) { + TDataRecognitionResult recognizerResult; + err = m_recognizer.RecognizeData(m_file, recognizerResult); + if (KErrNone == err) { + const TPtrC mimeType = recognizerResult.iDataType.Des(); + result = Utils::mimeTypeToMediaType(mimeType); + } else { + TRACE("RApaLsSession::RecognizeData filename %S error %d", fileNameSymbian.data(), err); + } + } else { + TRACE("RFile::Open filename %S error %d", fileNameSymbian.data(), err); + } + } + + return result; +} + + +//----------------------------------------------------------------------------- +// MediaObjectInterface +//----------------------------------------------------------------------------- + +void MMF::MediaObject::play() +{ + m_player->play(); +} + +void MMF::MediaObject::pause() +{ + m_player->pause(); +} + +void MMF::MediaObject::stop() +{ + m_player->stop(); +} + +void MMF::MediaObject::seek(qint64 ms) +{ + m_player->seek(ms); + + if (state() == PausedState or state() == PlayingState) { + emit tick(currentTime()); + } +} + +qint32 MMF::MediaObject::tickInterval() const +{ + return m_player->tickInterval(); +} + +void MMF::MediaObject::setTickInterval(qint32 interval) +{ + m_player->setTickInterval(interval); +} + +bool MMF::MediaObject::hasVideo() const +{ + return m_player->hasVideo(); +} + +bool MMF::MediaObject::isSeekable() const +{ + return m_player->isSeekable(); +} + +Phonon::State MMF::MediaObject::state() const +{ + return m_player->state(); +} + +qint64 MMF::MediaObject::currentTime() const +{ + return m_player->currentTime(); +} + +QString MMF::MediaObject::errorString() const +{ + return m_player->errorString(); +} + +Phonon::ErrorType MMF::MediaObject::errorType() const +{ + return m_player->errorType(); +} + +qint64 MMF::MediaObject::totalTime() const +{ + return m_player->totalTime(); +} + +MediaSource MMF::MediaObject::source() const +{ + return m_player->source(); +} + +void MMF::MediaObject::setSource(const MediaSource &source) +{ + createPlayer(source); + + // This is a hack to work around KErrInUse from MMF client utility + // OpenFileL calls + m_player->setFileSource(source, m_file); + + emit currentSourceChanged(source); +} + +void MMF::MediaObject::createPlayer(const MediaSource &source) +{ + TRACE_CONTEXT(MediaObject::createPlayer, EAudioApi); + TRACE_ENTRY("state %d source.type %d", state(), source.type()); + TRACE_ENTRY("source.type %d", source.type()); + + MediaType mediaType = MediaTypeUnknown; + + AbstractPlayer* oldPlayer = m_player.data(); + + const bool oldPlayerHasVideo = oldPlayer->hasVideo(); + const bool oldPlayerSeekable = oldPlayer->isSeekable(); + + Phonon::ErrorType error = NoError; + + // Determine media type + switch (source.type()) { + case MediaSource::LocalFile: + mediaType = fileMediaType(source.fileName()); + break; + + case MediaSource::Url: + { + const QUrl url(source.url()); + if (url.scheme() == QLatin1String("file")) { + mediaType = fileMediaType(url.toLocalFile()); + } + else { + TRACE_0("Network streaming not supported yet"); + error = NormalError; + } + } + break; + + case MediaSource::Invalid: + case MediaSource::Disc: + case MediaSource::Stream: + TRACE_0("Unsupported media type"); + error = NormalError; + break; + + case MediaSource::Empty: + TRACE_0("Empty media source"); + break; + } + + AbstractPlayer* newPlayer = 0; + + // Construct newPlayer using oldPlayer (if not 0) in order to copy + // parameters (volume, prefinishMark, transitionTime) which may have + // been set on oldPlayer. + + switch (mediaType) { + case MediaTypeUnknown: + TRACE_0("Media type could not be determined"); + if (oldPlayer) { + newPlayer = new DummyPlayer(*oldPlayer); + } else { + newPlayer = new DummyPlayer(); + } + + newPlayer->setError(NormalError); + break; + + case MediaTypeAudio: + if (oldPlayer) { + newPlayer = new AudioPlayer(*oldPlayer); + } else { + newPlayer = new AudioPlayer(); + } + break; + + case MediaTypeVideo: + if (oldPlayer) { + newPlayer = new VideoPlayer(*oldPlayer); + } else { + newPlayer = new VideoPlayer(); + } + break; + } + + m_player.reset(newPlayer); + + if (oldPlayerHasVideo != hasVideo()) { + emit hasVideoChanged(hasVideo()); + } + + if (oldPlayerSeekable != isSeekable()) { + emit seekableChanged(isSeekable()); + } + + connect(m_player.data(), SIGNAL(totalTimeChanged(qint64)), SIGNAL(totalTimeChanged(qint64))); + connect(m_player.data(), SIGNAL(stateChanged(Phonon::State, Phonon::State)), SIGNAL(stateChanged(Phonon::State, Phonon::State))); + connect(m_player.data(), SIGNAL(finished()), SIGNAL(finished())); + connect(m_player.data(), SIGNAL(tick(qint64)), SIGNAL(tick(qint64))); + + if (error != NoError ) { + newPlayer = new DummyPlayer(); + newPlayer->setError(error); + } + + TRACE_EXIT_0(); +} + +void MMF::MediaObject::setNextSource(const MediaSource &source) +{ + m_player->setNextSource(source); +} + +qint32 MMF::MediaObject::prefinishMark() const +{ + return m_player->prefinishMark(); +} + +void MMF::MediaObject::setPrefinishMark(qint32 mark) +{ + m_player->setPrefinishMark(mark); +} + +qint32 MMF::MediaObject::transitionTime() const +{ + return m_player->transitionTime(); +} + +void MMF::MediaObject::setTransitionTime(qint32 time) +{ + m_player->setTransitionTime(time); +} + + +//----------------------------------------------------------------------------- +// VolumeObserver +//----------------------------------------------------------------------------- + +void MMF::MediaObject::volumeChanged(qreal volume) +{ + m_player->volumeChanged(volume); +} + +//----------------------------------------------------------------------------- +// Video output +//----------------------------------------------------------------------------- + +void MMF::MediaObject::setVideoOutput(VideoOutput* videoOutput) +{ + m_player->setVideoOutput(videoOutput); +} + + +AbstractPlayer *MMF::MediaObject::abstractPlayer() const +{ + return m_player.data(); +} + +bool MMF::MediaObject::activateOnMediaObject(MediaObject *) +{ + // Guess what, we do nothing. + return true; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/mediaobject.h b/src/3rdparty/phonon/mmf/mediaobject.h new file mode 100644 index 0000000..409918d --- /dev/null +++ b/src/3rdparty/phonon/mmf/mediaobject.h @@ -0,0 +1,140 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_MEDIAOBJECT_H +#define PHONON_MMF_MEDIAOBJECT_H + +#include <Phonon/MediaSource> +#include <Phonon/MediaObjectInterface> +#include <QScopedPointer> +#include <QTimer> + +// For recognizer +#include <apgcli.h> + +#include "abstractplayer.h" +#include "mmf_medianode.h" +#include "defs.h" +#include "volumeobserver.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class AbstractPlayer; +class VideoOutput; + +/** + * @short Facade class which wraps MMF client utility instance + */ +class MediaObject : public MediaNode + , public MediaObjectInterface + , public VolumeObserver +{ + Q_OBJECT + Q_INTERFACES(Phonon::MediaObjectInterface) + +public: + MediaObject(QObject *parent); + virtual ~MediaObject(); + + // MediaObjectInterface + virtual void play(); + virtual void pause(); + virtual void stop(); + virtual void seek(qint64 milliseconds); + virtual qint32 tickInterval() const; + virtual void setTickInterval(qint32 interval); + virtual bool hasVideo() const; + virtual bool isSeekable() const; + virtual qint64 currentTime() const; + virtual Phonon::State state() const; + virtual QString errorString() const; + virtual Phonon::ErrorType errorType() const; + virtual qint64 totalTime() const; + virtual MediaSource source() const; + virtual void setSource(const MediaSource &); + virtual void setNextSource(const MediaSource &source); + virtual qint32 prefinishMark() const; + virtual void setPrefinishMark(qint32); + virtual qint32 transitionTime() const; + virtual void setTransitionTime(qint32); + + // VolumeObserver + void volumeChanged(qreal volume); + + /** + * This class owns the AbstractPlayer, and will delete it upon + * destruction. + */ + AbstractPlayer *abstractPlayer() const; + + void setVideoOutput(VideoOutput* videoOutput); + + virtual bool activateOnMediaObject(MediaObject *); + +Q_SIGNALS: + void totalTimeChanged(qint64 length); + void hasVideoChanged(bool hasVideo); + void seekableChanged(bool seekable); + // TODO: emit bufferStatus from MediaObject + void bufferStatus(int); + // TODO: emit aboutToFinish from MediaObject + void aboutToFinish(); + // TODO: emit prefinishMarkReached from MediaObject + void prefinishMarkReached(qint32); + // TODO: emit metaDataChanged from MediaObject + void metaDataChanged(const QMultiMap<QString, QString>& metaData); + void currentSourceChanged(const MediaSource& source); + void stateChanged(Phonon::State oldState, + Phonon::State newState); + void finished(); + void tick(qint64 time); + +private: + void createPlayer(const MediaSource &source); + bool openRecognizer(); + + // Audio / video media type recognition + MediaType fileMediaType(const QString& fileName); + // TODO: urlMediaType function + + static qint64 toMilliSeconds(const TTimeIntervalMicroSeconds &); + +private: + + // Audio / video media type recognition + bool m_recognizerOpened; + RApaLsSession m_recognizer; + RFs m_fileServer; + + // Storing the file handle here to work around KErrInUse error + // from MMF player utility OpenFileL functions + RFile m_file; + + QScopedPointer<AbstractPlayer> m_player; + +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/mmf_medianode.cpp b/src/3rdparty/phonon/mmf/mmf_medianode.cpp new file mode 100644 index 0000000..b5ea91a --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmf_medianode.cpp @@ -0,0 +1,121 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "mediaobject.h" + +#include "mmf_medianode.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::MediaNode + \internal +*/ + +MMF::MediaNode::MediaNode(QObject *parent) : QObject::QObject(parent) + , m_source(0) + , m_target(0) + , m_isApplied(false) +{ +} + +bool MMF::MediaNode::connectMediaNode(MediaNode *target) +{ + m_target = target; + m_target->setSource(this); + + return applyNodesOnMediaObject(target); +} + +bool MMF::MediaNode::disconnectMediaNode(MediaNode *target) +{ + Q_UNUSED(target); + m_target = 0; + m_isApplied = false; + return false; +} + +void MMF::MediaNode::setSource(MediaNode *source) +{ + m_source = source; +} + +MMF::MediaNode *MMF::MediaNode::source() const +{ + return m_source; +} + +MMF::MediaNode *MMF::MediaNode::target() const +{ + return m_target; +} + +bool MMF::MediaNode::applyNodesOnMediaObject(MediaNode *) +{ + // Algorithmically, this can be expressed in a more efficient way by + // exercising available assumptions, but it complicates code for input + // data(length of the graph) which typically is very small. + + // First, we go to the very beginning of the graph. + MMF::MediaNode *current = this; + do { + MediaNode *const candidate = current->source(); + if (candidate) + current = candidate; + else + break; + } + while (current); + + // Now we do two things, while walking to the other end: + // 1. Find the MediaObject, if present + // 2. Collect a list of all unapplied MediaNodes + + QList<MediaNode *> unapplied; + MMF::MediaObject *mo = 0; + + do { + if (!current->m_isApplied) + unapplied.append(current); + + if (!mo) + mo = qobject_cast<MMF::MediaObject *>(current); + + current = current->target(); + } + while (current); + + // Now, lets activate all the objects, if we found the MediaObject. + + if (mo) { + for (int i = 0; i < unapplied.count(); ++i) { + MediaNode *const at = unapplied.at(i); + + // We don't want to apply MediaObject on itself. + if (at != mo) + at->activateOnMediaObject(mo); + } + } + + return true; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/mmf_medianode.h b/src/3rdparty/phonon/mmf/mmf_medianode.h new file mode 100644 index 0000000..4616ff1 --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmf_medianode.h @@ -0,0 +1,100 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_MEDIANODE_H +#define PHONON_MMF_MEDIANODE_H + +#include <QObject> +#include <Phonon/EffectInterface> +#include "audioplayer.h" + +QT_BEGIN_NAMESPACE + +/** + * @file mmf_medianode.h mmf_medianode.cpp + * + * This file starts with mmf_ in order to avoid clash with Phonon's + * medianode.h. The GStreamer backend has a file named medianode.h, but it + * isn't compiled with ABLD build system, which have problems with separating + * user and system include paths. + */ + +namespace Phonon +{ +namespace MMF +{ +class MediaObject; + +/** + * @short Base class for all nodes in the MMF backend. + * + * MediaNode is the base class for all nodes in the chain for MMF. Currently + * they are: + * + * - MediaObject: a source of media + * - AbstractEffect: supplying audio effects + * - AudioOutput: pretty much a dummy interface, but is also MediaNode in order + * to simplify connection/disconnection. + * + * MediaNode provides spectatability into the chain, and also allows the + * connection code to be written in a polymorphic manner, instead of putting it + * all in the Backend class. Due to that MMF has no concept of chaining, the + * order of the nodes in the graph has no meaning. + */ +class MediaNode : public QObject +{ + Q_OBJECT +public: + MediaNode(QObject *parent); + + virtual bool connectMediaNode(MediaNode *target); + virtual bool disconnectMediaNode(MediaNode *target); + void setSource(MediaNode *source); + + MediaNode *source() const; + MediaNode *target() const; + +protected: + /** + * When connectMediaNode() is called and a MediaObject is part of + * the its graph, this function will be called for each MediaNode in the + * graph for which it hasn't been called yet. + * + * The caller guarantees that @p mo is always non-null. + */ + virtual bool activateOnMediaObject(MediaObject *mo) = 0; + +private: + /** + * Finds a MediaObject anywhere in the graph @p target is apart of, and + * calls activateOnMediaObject() for all MediaNodes in the graph for which + * it hasn't been applied to already. + */ + bool applyNodesOnMediaObject(MediaNode *target); + + MediaNode * m_source; + MediaNode * m_target; + bool m_isApplied; +}; +} +} + +QT_END_NAMESPACE + +#endif + diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp new file mode 100644 index 0000000..83d715d --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -0,0 +1,452 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QUrl> +#include <QTimer> +#include <QWidget> + +#include <coemain.h> // For CCoeEnv +#include <coecntrl.h> + +#include "mmf_videoplayer.h" +#include "utils.h" + +#ifdef _DEBUG +#include "objectdump.h" +#endif + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::VideoPlayer + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::VideoPlayer::VideoPlayer() + : m_wsSession(0) + , m_screenDevice(0) + , m_window(0) + , m_totalTime(0) + , m_mmfOutputChangePending(false) +{ + construct(); +} + +MMF::VideoPlayer::VideoPlayer(const AbstractPlayer& player) + : AbstractMediaPlayer(player) + , m_wsSession(0) + , m_screenDevice(0) + , m_window(0) + , m_totalTime(0) + , m_mmfOutputChangePending(false) +{ + construct(); +} + +void MMF::VideoPlayer::construct() +{ + TRACE_CONTEXT(VideoPlayer::VideoPlayer, EVideoApi); + TRACE_ENTRY_0(); + + if (!m_videoOutput) { + m_dummyVideoOutput.reset(new VideoOutput(0)); + } + + videoOutput().setObserver(this); + + const TInt priority = 0; + const TMdaPriorityPreference preference = EMdaPriorityPreferenceNone; + + getNativeWindowSystemHandles(); + + // TODO: is this the correct way to handle errors which occur when + // creating a Symbian object in the constructor of a Qt object? + + // TODO: check whether videoOutput is visible? If not, then the + // corresponding window will not be active, meaning that the + // clipping region will be set to empty and the video will not be + // visible. If this is the case, we should set m_mmfOutputChangePending + // and respond to future showEvents from the videoOutput widget. + + TRAPD(err, + m_player.reset(CVideoPlayerUtility::NewL + ( + *this, + priority, preference, + *m_wsSession, *m_screenDevice, + *m_window, + m_windowRect, m_clipRect + )) + ); + + if (KErrNone != err) { + changeState(ErrorState); + } + + TRACE_EXIT_0(); +} + +MMF::VideoPlayer::~VideoPlayer() +{ + TRACE_CONTEXT(VideoPlayer::~VideoPlayer, EVideoApi); + TRACE_ENTRY_0(); + + TRACE_EXIT_0(); +} + +//----------------------------------------------------------------------------- +// Public API +//----------------------------------------------------------------------------- + +void MMF::VideoPlayer::doPlay() +{ + TRACE_CONTEXT(VideoPlayer::doPlay, EVideoApi); + + // See comment in updateMmfOutput + if(m_mmfOutputChangePending) { + TRACE_0("MMF output change pending - pushing now"); + updateMmfOutput(); + } + + m_player->Play(); +} + +void MMF::VideoPlayer::doPause() +{ + TRACE_CONTEXT(VideoPlayer::doPause, EVideoApi); + + TRAPD(err, m_player->PauseL()); + if (KErrNone != err) { + TRACE("PauseL error %d", err); + setError(NormalError); + } +} + +void MMF::VideoPlayer::doStop() +{ + m_player->Stop(); +} + +void MMF::VideoPlayer::doSeek(qint64 ms) +{ + TRACE_CONTEXT(VideoPlayer::doSeek, EVideoApi); + + bool wasPlaying = false; + if(state() == PlayingState) { + // The call to SetPositionL does not have any effect if playback is + // ongoing, so we pause before seeking. + doPause(); + wasPlaying = true; + } + + TRAPD(err, m_player->SetPositionL(TTimeIntervalMicroSeconds(ms * 1000))); + + if(KErrNone == err) { + if(wasPlaying) + doPlay(); + } + else { + TRACE("SetPositionL error %d", err); + setError(NormalError); + } +} + +int MMF::VideoPlayer::setDeviceVolume(int mmfVolume) +{ + TRAPD(err, m_player->SetVolumeL(mmfVolume)); + return err; +} + +int MMF::VideoPlayer::openFile(RFile& file) +{ + TRAPD(err, m_player->OpenFileL(file)); + return err; +} + +void MMF::VideoPlayer::close() +{ + m_player->Close(); +} + +bool MMF::VideoPlayer::hasVideo() const +{ + return true; +} + +qint64 MMF::VideoPlayer::currentTime() const +{ + TRACE_CONTEXT(VideoPlayer::currentTime, EVideoApi); + + TTimeIntervalMicroSeconds us; + TRAPD(err, us = m_player->PositionL()) + + qint64 result = 0; + + if (KErrNone == err) { + result = toMilliSeconds(us); + } else { + TRACE("PositionL error %d", err); + + // If we don't cast away constness here, we simply have to ignore + // the error. + const_cast<VideoPlayer*>(this)->setError(NormalError); + } + + return result; +} + +qint64 MMF::VideoPlayer::totalTime() const +{ + return m_totalTime; +} + + +//----------------------------------------------------------------------------- +// MVideoPlayerUtilityObserver callbacks +//----------------------------------------------------------------------------- + +void MMF::VideoPlayer::MvpuoOpenComplete(TInt aError) +{ + TRACE_CONTEXT(VideoPlayer::MvpuoOpenComplete, EVideoApi); + TRACE_ENTRY("state %d error %d", state(), aError); + + __ASSERT_ALWAYS(LoadingState == state(), Utils::panic(InvalidStatePanic)); + + if (KErrNone == aError) + m_player->Prepare(); + else + setError(NormalError); + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::MvpuoPrepareComplete(TInt aError) +{ + TRACE_CONTEXT(VideoPlayer::MvpuoPrepareComplete, EVideoApi); + TRACE_ENTRY("state %d error %d", state(), aError); + + __ASSERT_ALWAYS(LoadingState == state(), Utils::panic(InvalidStatePanic)); + + TRAPD(err, doPrepareCompleteL(aError)); + + if (KErrNone == err) { + maxVolumeChanged(m_player->MaxVolume()); + + videoOutput().setFrameSize(m_frameSize); + + // See comment in updateMmfOutput + if(m_mmfOutputChangePending) { + TRACE_0("MMF output change pending - pushing now"); + updateMmfOutput(); + } + + emit totalTimeChanged(totalTime()); + changeState(StoppedState); + } else { + setError(NormalError); + } + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::doPrepareCompleteL(TInt aError) +{ + User::LeaveIfError(aError); + + // Get frame size + TSize size; + m_player->VideoFrameSizeL(size); + m_frameSize = QSize(size.iWidth, size.iHeight); + + // Get duration + m_totalTime = toMilliSeconds(m_player->DurationL()); +} + + +void MMF::VideoPlayer::MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError) +{ + TRACE_CONTEXT(VideoPlayer::MvpuoFrameReady, EVideoApi); + TRACE_ENTRY("state %d error %d", state(), aError); + + // TODO + Q_UNUSED(aFrame); + Q_UNUSED(aError); // suppress warnings in release builds + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::MvpuoPlayComplete(TInt aError) +{ + TRACE_CONTEXT(VideoPlayer::MvpuoPlayComplete, EVideoApi) + TRACE_ENTRY("state %d error %d", state(), aError); + + // TODO + Q_UNUSED(aError); // suppress warnings in release builds + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::MvpuoEvent(const TMMFEvent &aEvent) +{ + TRACE_CONTEXT(VideoPlayer::MvpuoEvent, EVideoApi); + TRACE_ENTRY("state %d", state()); + + // TODO + Q_UNUSED(aEvent); + + TRACE_EXIT_0(); +} + + +//----------------------------------------------------------------------------- +// VideoOutputObserver +//----------------------------------------------------------------------------- + +void MMF::VideoPlayer::videoOutputRegionChanged() +{ + TRACE_CONTEXT(VideoPlayer::videoOutputRegionChanged, EVideoInternal); + TRACE_ENTRY("state %d", state()); + + getNativeWindowSystemHandles(); + + // See comment in updateMmfOutput + if(state() == LoadingState) + m_mmfOutputChangePending = true; + else + updateMmfOutput(); + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::updateMmfOutput() +{ + TRACE_CONTEXT(VideoPlayer::updateMmfOutput, EVideoInternal); + TRACE_ENTRY_0(); + + // Calling SetDisplayWindowL is a no-op unless the MMF controller has + // been loaded, so we shouldn't do it. Instead, the + // m_mmfOutputChangePending flag is used to record the fact that we + // need to call SetDisplayWindowL, and this is checked in + // MvpuoPrepareComplete, at which point the MMF controller has been + // loaded. + + // TODO: check whether videoOutput is visible? If not, then the + // corresponding window will not be active, meaning that the + // clipping region will be set to empty and the video will not be + // visible. If this is the case, we should set m_mmfOutputChangePending + // and respond to future showEvents from the videoOutput widget. + + getNativeWindowSystemHandles(); + + TRAPD(err, + m_player->SetDisplayWindowL + ( + *m_wsSession, *m_screenDevice, + *m_window, + m_windowRect, m_clipRect + ) + ); + + if (KErrNone != err) { + TRACE("SetDisplayWindowL error %d", err); + setError(NormalError); + } + + m_mmfOutputChangePending = false; + + TRACE_EXIT_0(); +} + + +//----------------------------------------------------------------------------- +// Private functions +//----------------------------------------------------------------------------- + +VideoOutput& MMF::VideoPlayer::videoOutput() +{ + TRACE_CONTEXT(VideoPlayer::videoOutput, EVideoInternal); + TRACE("videoOutput 0x%08x dummy 0x%08x", m_videoOutput, m_dummyVideoOutput.data()); + + return m_videoOutput ? *m_videoOutput : *m_dummyVideoOutput; +} + +void MMF::VideoPlayer::videoOutputChanged() +{ + TRACE_CONTEXT(VideoPlayer::videoOutputChanged, EVideoInternal); + TRACE_ENTRY_0(); + + // Lazily construct a dummy output if needed here + if (!m_videoOutput and m_dummyVideoOutput.isNull()) { + m_dummyVideoOutput.reset(new VideoOutput(0)); + } + + videoOutput().setObserver(this); + + videoOutput().setFrameSize(m_frameSize); + + videoOutputRegionChanged(); + + TRACE_EXIT_0(); +} + +void MMF::VideoPlayer::getNativeWindowSystemHandles() +{ + TRACE_CONTEXT(VideoPlayer::getNativeWindowSystemHandles, EVideoInternal); + TRACE_ENTRY_0(); + + VideoOutput& output = videoOutput(); + CCoeControl* const control = output.winId(); + + CCoeEnv* const coeEnv = control->ControlEnv(); + m_wsSession = &(coeEnv->WsSession()); + m_screenDevice = coeEnv->ScreenDevice(); + m_window = control->DrawableWindow(); + +#ifdef _DEBUG + QScopedPointer<ObjectDump::QDumper> dumper(new ObjectDump::QDumper); + dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs + ObjectDump::addDefaultAnnotators(*dumper); + TRACE_0("Dumping VideoOutput:"); + dumper->dumpObject(output); +#endif + + m_windowRect = TRect( + control->DrawableWindow()->AbsPosition(), + control->DrawableWindow()->Size()); + + m_clipRect = m_windowRect; + + TRACE("windowRect %d %d - %d %d", + m_windowRect.iTl.iX, m_windowRect.iTl.iY, + m_windowRect.iBr.iX, m_windowRect.iBr.iY); + TRACE("clipRect %d %d - %d %d", + m_clipRect.iTl.iX, m_clipRect.iTl.iY, + m_clipRect.iBr.iX, m_clipRect.iBr.iY); + + TRACE_EXIT_0(); +} + + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h new file mode 100644 index 0000000..a805135 --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h @@ -0,0 +1,111 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_VIDEOPLAYER_H +#define PHONON_MMF_VIDEOPLAYER_H + +#include <videoplayer.h> // from epoc32/include + +#include "abstractmediaplayer.h" +#include "videooutput.h" +#include "videooutputobserver.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * @short Wrapper over MMF video client utility + * + * See + * <a href="http://wiki.forum.nokia.com/index.php/How_to_play_a_video_file_using_CVideoPlayerUtility">How to + * play a video file using CVideoPlayerUtility</a> + */ +class VideoPlayer : public AbstractMediaPlayer + , public MVideoPlayerUtilityObserver + , public VideoOutputObserver +{ + Q_OBJECT + +public: + VideoPlayer(); + explicit VideoPlayer(const AbstractPlayer& player); + virtual ~VideoPlayer(); + + // AbstractPlayer + virtual void doPlay(); + virtual void doPause(); + virtual void doStop(); + virtual void doSeek(qint64 milliseconds); + virtual int setDeviceVolume(int mmfVolume); + virtual int openFile(RFile& file); + virtual void close(); + + // MediaObjectInterface + virtual bool hasVideo() const; + virtual qint64 currentTime() const; + virtual qint64 totalTime() const; + + // MVideoPlayerUtilityObserver + virtual void MvpuoOpenComplete(TInt aError); + virtual void MvpuoPrepareComplete(TInt aError); + virtual void MvpuoFrameReady(CFbsBitmap &aFrame, TInt aError); + virtual void MvpuoPlayComplete(TInt aError); + virtual void MvpuoEvent(const TMMFEvent &aEvent); + + // VideoOutputObserver + virtual void videoOutputRegionChanged(); + +private: + void construct(); + VideoOutput& videoOutput(); + + void doPrepareCompleteL(TInt aError); + + // AbstractPlayer + virtual void videoOutputChanged(); + + void getNativeWindowSystemHandles(); + void updateMmfOutput(); + +private: + QScopedPointer<CVideoPlayerUtility> m_player; + QScopedPointer<VideoOutput> m_dummyVideoOutput; + + // Not owned + RWsSession* m_wsSession; + CWsScreenDevice* m_screenDevice; + RWindowBase* m_window; + TRect m_windowRect; + TRect m_clipRect; + + QSize m_frameSize; + qint64 m_totalTime; + + bool m_mmfOutputChangePending; + +}; + +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp new file mode 100644 index 0000000..ef2b81c --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp @@ -0,0 +1,527 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QByteArray> +#include <QDebug> +#include <QHash> +#include <QTextStream> +#include <QWidget> + +#include "objectdump.h" +#include "objecttree.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectDump +{ + +//----------------------------------------------------------------------------- +// QObjectAnnotator +//----------------------------------------------------------------------------- + +QAnnotator::~QAnnotator() +{ + +} + + +//----------------------------------------------------------------------------- +// Annotators +//----------------------------------------------------------------------------- + +QList<QByteArray> QAnnotatorBasic::annotation(const QObject& object) +{ + QList<QByteArray> result; + + QByteArray array; + QTextStream stream(&array); + + stream << '[' << &object << ']'; + stream << ' '; + stream << object.metaObject()->className(); + + if(object.objectName() != "") + stream << " \"" << object.objectName() << '"'; + + if(object.isWidgetType()) + stream << " isWidget"; + + stream.flush(); + result.append(array); + return result; +} + +QList<QByteArray> QAnnotatorWidget::annotation(const QObject& object) +{ + QList<QByteArray> result; + + const QWidget* widget = qobject_cast<const QWidget*>(&object); + if(widget) { + + QByteArray array; + QTextStream stream(&array); + + stream << "widget: "; + + if(widget->isVisible()) + stream << "visible "; + else + stream << "invisible "; + + stream << widget->x() << ',' << widget->y() << ' '; + stream << widget->size().width() << 'x'<< widget->size().height() << ' '; + + stream << "hint " << widget->sizeHint().width() << 'x' << widget->sizeHint().height(); + + stream.flush(); + result.append(array); + } + + return result; +} + + +//----------------------------------------------------------------------------- +// Base class for QDumperPrivate, QVisitorPrivate +//----------------------------------------------------------------------------- + +class QDumperBase +{ +public: + QDumperBase(); + ~QDumperBase(); + + void setPrefix(const QString& prefix); + void addAnnotator(QAnnotator* annotator); + +protected: + QByteArray m_prefix; + QList<QAnnotator*> m_annotators; + +}; + +QDumperBase::QDumperBase() +{ + +} + +QDumperBase::~QDumperBase() +{ + QAnnotator* annotator; + foreach(annotator, m_annotators) + delete annotator; +} + +void QDumperBase::setPrefix(const QString& prefix) +{ + m_prefix = prefix.count() + ? (prefix + " ").toAscii() + : prefix.toAscii(); +} + +void QDumperBase::addAnnotator(QAnnotator* annotator) +{ + // Protect against an exception occurring during QList::append + QScopedPointer<QAnnotator> holder(annotator); + m_annotators.append(annotator); + holder.take(); +} + + +//----------------------------------------------------------------------------- +// QDumper +//----------------------------------------------------------------------------- + +class QDumperPrivate : public QDumperBase +{ +public: + QDumperPrivate(); + ~QDumperPrivate(); + + void dumpObject(const QObject& object); + +}; + + +QDumperPrivate::QDumperPrivate() +{ + +} + +QDumperPrivate::~QDumperPrivate() +{ + +} + +void QDumperPrivate::dumpObject(const QObject& object) +{ + QAnnotator* annotator; + foreach(annotator, m_annotators) { + + const QList<QByteArray> annotations = annotator->annotation(object); + QByteArray annotation; + foreach(annotation, annotations) { + QByteArray buffer(m_prefix); + buffer.append(annotation); + qDebug() << buffer.constData(); + } + } +} + + +QDumper::QDumper() + : d_ptr(new QDumperPrivate) +{ + +} + +QDumper::~QDumper() +{ + +} + +void QDumper::setPrefix(const QString& prefix) +{ + d_func()->setPrefix(prefix); +} + +void QDumper::addAnnotator(QAnnotator* annotator) +{ + d_func()->addAnnotator(annotator); +} + +void QDumper::dumpObject(const QObject& object) +{ + d_func()->dumpObject(object); +} + + +//----------------------------------------------------------------------------- +// QVisitor +//----------------------------------------------------------------------------- + +class QVisitorPrivate : public QDumperBase +{ +public: + QVisitorPrivate(); + ~QVisitorPrivate(); + + void setIndent(unsigned indent); + + void visitNode(const QObject& object); + void visitComplete(); + +private: + class Node + { + public: + Node(); + ~Node(); + + QList<QByteArray> m_annotation; + QList<Node*> m_children; + + typedef QList<Node*>::const_iterator child_iterator; + }; + +private: + Node* findNode(const QObject* object) const; + QByteArray branchBuffer(const QList<bool>& branches, bool isNodeLine, bool isLastChild) const; + void dumpRecursive(const Node& node, QList<bool> branches, bool isLastChild); + void dumpNode(const Node& node, const QList<bool>& branches, bool isLastChild); + +private: + unsigned m_indent; + + QScopedPointer<Node> m_root; + + // Hash table used to associate internal nodes with QObjects + typedef QHash<const QObject*, Node*> Hash; + Hash m_hash; +}; + +static const unsigned DefaultIndent = 2; + +QVisitorPrivate::QVisitorPrivate() + : m_indent(DefaultIndent) +{ + +} + +QVisitorPrivate::~QVisitorPrivate() +{ + +} + +void QVisitorPrivate::setIndent(unsigned indent) +{ + m_indent = indent; +} + +// Builds up a mirror of the object tree, rooted in m_root, with each node +// storing annotations generated by +void QVisitorPrivate::visitNode(const QObject& object) +{ + QObject* const objectParent = object.parent(); + Node* const nodeParent = objectParent ? findNode(objectParent) : 0; + + // Create a new node and store in scoped pointer for exception safety + Node* node = new Node; + QScopedPointer<Node> nodePtr(node); + + // Associate node with QObject + m_hash.insert(&object, node); + + // Insert node into internal tree + if(nodeParent) + { + nodeParent->m_children.append(nodePtr.take()); + } + else + { + Q_ASSERT(m_root.isNull()); + m_root.reset(nodePtr.take()); + } + + // Generate and store annotations + QAnnotator* annotator; + foreach(annotator, m_annotators) + node->m_annotation.append( annotator->annotation(object) ); +} + +void QVisitorPrivate::visitComplete() +{ + QList<bool> branches; + static const bool isLastChild = true; + dumpRecursive(*m_root, branches, isLastChild); + m_root.reset(0); +} + +QVisitorPrivate::Node* QVisitorPrivate::findNode(const QObject* object) const +{ + Hash::const_iterator i = m_hash.find(object); + return (m_hash.end() == i) ? 0 : *i; +} + +QByteArray QVisitorPrivate::branchBuffer + (const QList<bool>& branches, bool isNodeLine, bool isLastChild) const +{ + const int depth = branches.count(); + + const QByteArray indent(m_indent, ' '); + const QByteArray horiz(m_indent, '-'); + + QByteArray buffer; + QTextStream stream(&buffer); + + for (int i=0; i<depth-1; ++i) { + if(branches[i]) + stream << '|'; + else + stream << ' '; + stream << indent; + } + + if(depth) { + if(isNodeLine) + stream << '+' << horiz; + else { + if(!isLastChild) + stream << '|'; + else + stream << ' '; + stream << indent; + } + } + + stream.flush(); + buffer.push_front(m_prefix); + + return buffer; +} + +void QVisitorPrivate::dumpRecursive + (const Node& node, QList<bool> branches, bool isLastChild) +{ + dumpNode(node, branches, isLastChild); + + // Recurse down tree + const Node::child_iterator begin = node.m_children.begin(); + const Node::child_iterator end = node.m_children.end(); + for(Node::child_iterator i = begin; end != i; ++i) { + + isLastChild = (end == i + 1); + + if(begin == i) + branches.push_back(!isLastChild); + else + branches.back() = !isLastChild; + + static const bool isNodeLine = false; + const QByteArray buffer = branchBuffer(branches, isNodeLine, false); + qDebug() << buffer.constData(); + + dumpRecursive(**i, branches, isLastChild); + } +} + +void QVisitorPrivate::dumpNode + (const Node& node, const QList<bool>& branches, bool isLastChild) +{ + const QList<QByteArray>::const_iterator + begin = node.m_annotation.begin(), end = node.m_annotation.end(); + + if(begin == end) { + // No annotations - just dump the object pointer + const bool isNodeLine = true; + QByteArray buffer = branchBuffer(branches, isNodeLine, isLastChild); + qDebug() << 0; // TODO + } + else { + // Dump annotations + for(QList<QByteArray>::const_iterator i = begin; end != i; ++i) { + const bool isNodeLine = (begin == i); + QByteArray buffer = branchBuffer(branches, isNodeLine, isLastChild); + buffer.append(*i); + qDebug() << buffer.constData(); + } + } +} + + +// QVisitorPrivate::Node + +QVisitorPrivate::Node::Node() +{ + +} + +QVisitorPrivate::Node::~Node() +{ + Node* child; + foreach(child, m_children) + delete child; +} + + +// QVisitor + +QVisitor::QVisitor() + : d_ptr(new QVisitorPrivate) +{ + +} + +QVisitor::~QVisitor() +{ + +} + +void QVisitor::setPrefix(const QString& prefix) +{ + d_func()->setPrefix(prefix); +} + +void QVisitor::setIndent(unsigned indent) +{ + d_func()->setIndent(indent); +} + +void QVisitor::addAnnotator(QAnnotator* annotator) +{ + d_func()->addAnnotator(annotator); +} + +void QVisitor::visitPrepare() +{ + // Do nothing +} + +void QVisitor::visitNode(const QObject& object) +{ + d_func()->visitNode(object); +} + +void QVisitor::visitComplete() +{ + d_func()->visitComplete(); +} + + +//----------------------------------------------------------------------------- +// Utility functions +//----------------------------------------------------------------------------- + +void addDefaultAnnotators_sys(QDumper& visitor); +void addDefaultAnnotators_sys(QVisitor& visitor); + +void addDefaultAnnotators(QDumper& dumper) +{ + dumper.addAnnotator(new QAnnotatorBasic); + dumper.addAnnotator(new QAnnotatorWidget); + + // Add platform-specific annotators + addDefaultAnnotators_sys(dumper); +} + +void addDefaultAnnotators(QVisitor& visitor) +{ + visitor.addAnnotator(new QAnnotatorBasic); + visitor.addAnnotator(new QAnnotatorWidget); + + // Add platform-specific annotators + addDefaultAnnotators_sys(visitor); +} + +void dumpTreeFromRoot(const QObject& root, QVisitor& visitor) +{ + // Set up iteration range + ObjectTree::DepthFirstConstIterator begin(root), end; + + // Invoke generic visitor algorithm + ObjectTree::visit(begin, end, visitor); +} + +void dumpTreeFromLeaf(const QObject& leaf, QVisitor& visitor) +{ + // Walk up to root + const QObject* root = &leaf; + while(root->parent()) + { + root = root->parent(); + } + + dumpTreeFromRoot(*root, visitor); +} + +void dumpAncestors(const QObject& leaf, QVisitor& visitor) +{ + // Set up iteration range + ObjectTree::AncestorConstIterator begin(leaf), end; + + // Invoke generic visitor algorithm + ObjectTree::visit(begin, end, visitor); +} + + +} // namespace ObjectDump + +QT_END_NAMESPACE + + + diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h new file mode 100644 index 0000000..cbd9bea --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h @@ -0,0 +1,166 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef OBJECTDUMP_H +#define OBJECTDUMP_H + +#include "objectdump_global.h" + +#include <QObject> +#include <QList> +#include <QByteArray> +#include <QScopedPointer> + +QT_BEGIN_NAMESPACE + +namespace ObjectDump +{ + +/** + * Abstract base for annotator classes invoked by QVisitor. + */ +class OBJECTDUMP_EXPORT QAnnotator : public QObject +{ + Q_OBJECT +public: + virtual ~QAnnotator(); + virtual QList<QByteArray> annotation(const QObject& object) = 0; +}; + +/** + * Annotator which replicates QObject::dumpObjectTree functionality. + */ +class OBJECTDUMP_EXPORT QAnnotatorBasic : public QAnnotator +{ + Q_OBJECT +public: + QList<QByteArray> annotation(const QObject& object); +}; + +/** + * Annotator which returns widget information. + */ +class OBJECTDUMP_EXPORT QAnnotatorWidget : public QAnnotator +{ + Q_OBJECT +public: + QList<QByteArray> annotation(const QObject& object); +}; + + +class QDumperPrivate; + +/** + * Class used to dump information about individual QObjects. + */ +class OBJECTDUMP_EXPORT QDumper : public QObject +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QDumper) + +public: + QDumper(); + ~QDumper(); + + /** + * Specify a prefix, to be printed on each line of output. + */ + void setPrefix(const QString& prefix); + + /** + * Takes ownership of annotator. + */ + void addAnnotator(QAnnotator* annotator); + + /** + * Invoke each annotator on the object and write to debug output. + */ + void dumpObject(const QObject& object); + +private: + QScopedPointer<QDumperPrivate> d_ptr; + +}; + + +class QVisitorPrivate; + +/** + * Visitor class which dumps information about nodes in the object tree. + */ +class OBJECTDUMP_EXPORT QVisitor : public QObject +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QVisitor) + +public: + QVisitor(); + ~QVisitor(); + + /** + * Specify a prefix, to be printed on each line of output. + */ + void setPrefix(const QString& prefix); + + /** + * Set number of spaces by which each level of the tree is indented. + */ + void setIndent(unsigned indent); + + /** + * Called by the visitor algorithm before starting the visit. + */ + void visitPrepare(); + + /** + * Called by the visitor algorithm as each node is visited. + */ + void visitNode(const QObject& object); + + /** + * Called by the visitor algorithm when the visit is complete. + */ + void visitComplete(); + + /** + * Takes ownership of annotator. + */ + void addAnnotator(QAnnotator* annotator); + +private: + QScopedPointer<QVisitorPrivate> d_ptr; + +}; + + +//----------------------------------------------------------------------------- +// Utility functions +//----------------------------------------------------------------------------- + +void OBJECTDUMP_EXPORT addDefaultAnnotators(QDumper& dumper); +void OBJECTDUMP_EXPORT addDefaultAnnotators(QVisitor& visitor); + +void OBJECTDUMP_EXPORT dumpTreeFromRoot(const QObject& root, QVisitor& visitor); +void OBJECTDUMP_EXPORT dumpTreeFromLeaf(const QObject& leaf, QVisitor& visitor); +void OBJECTDUMP_EXPORT dumpAncestors(const QObject& leaf, QVisitor& visitor); + +} // namespace ObjectDump + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h new file mode 100644 index 0000000..b8987e0 --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h @@ -0,0 +1,30 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef OBJECTDUMP_GLOBAL_H +#define OBJECTDUMP_GLOBAL_H + +#include <QtCore/QtGlobal> + +#if defined(OBJECTDUMP_LIBRARY) +# define OBJECTDUMP_EXPORT +#else +# define OBJECTDUMP_EXPORT +#endif + +#endif diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp new file mode 100644 index 0000000..6207dac --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp @@ -0,0 +1,40 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "objectdump.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectDump +{ + +void addDefaultAnnotators_sys(QDumper& /*dumper*/) +{ + +} + +void addDefaultAnnotators_sys(QVisitor& /*visitor*/) +{ + +} + +} // namespace ObjectDump + +QT_END_NAMESPACE + + diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp new file mode 100644 index 0000000..f8adcd5 --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp @@ -0,0 +1,135 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QTextStream> +#include <QWidget> +#include <coecntrl.h> +#include "objectdump_symbian.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectDump +{ +namespace Symbian +{ + +QList<QByteArray> QAnnotatorControl::annotation(const QObject& object) +{ + QList<QByteArray> result; + + const QWidget* widget = qobject_cast<const QWidget*>(&object); + if(widget) { + + const CCoeControl* control = widget->effectiveWinId(); + if(control) { + + QByteArray array; + QTextStream stream(&array); + + stream << "control: " << control << ' '; + stream << "parent " << control->Parent() << ' '; + + if(control->IsVisible()) + stream << "visible "; + else + stream << "invisible "; + + stream << control->Position().iX << ',' << control->Position().iY << ' '; + stream << control->Size().iWidth << 'x' << control->Size().iHeight; + + if(control->OwnsWindow()) + stream << " ownsWindow "; + + stream.flush(); + result.append(array); + } + } + + return result; +} + +QList<QByteArray> QAnnotatorWindow::annotation(const QObject& object) +{ + QList<QByteArray> result; + + const QWidget* widget = qobject_cast<const QWidget*>(&object); + if(widget) { + + const CCoeControl* control = widget->effectiveWinId(); + if(control) { + + RDrawableWindow& window = *(control->DrawableWindow()); + + QByteArray array; + QTextStream stream(&array); + + stream << "window: "; + + // ClientHandle() is available first in 5.0. +#if !defined(__SERIES60_31__) && !defined(__S60_32__) + // Client-side window handle + // Cast to a void pointer so that log output is in hexadecimal format. + stream << "cli " << reinterpret_cast<const void*>(window.ClientHandle()) << ' '; +#endif + + // Server-side address of CWsWindow object + // This is useful for correlation with the window tree dumped by the window + // server (see RWsSession::LogCommand). + // Cast to a void pointer so that log output is in hexadecimal format. + stream << "srv " << reinterpret_cast<const void*>(window.WsHandle()) << ' '; + + stream << "group " << window.WindowGroupId() << ' '; + + // Client-side handle to the parent window. + // Cast to a void pointer so that log output is in hexadecimal format. + stream << "parent " << reinterpret_cast<const void*>(window.Parent()) << ' '; + + stream << window.Position().iX << ',' << window.Position().iY << ' '; + stream << '(' << window.AbsPosition().iX << ',' << window.AbsPosition().iY << ") "; + stream << window.Size().iWidth << 'x' << window.Size().iHeight << ' '; + + const TDisplayMode displayMode = window.DisplayMode(); + stream << "mode " << displayMode; + + stream.flush(); + result.append(array); + } + } + + return result; +} + +} // namespace Symbian + +void addDefaultAnnotators_sys(QDumper& dumper) +{ + dumper.addAnnotator(new Symbian::QAnnotatorControl); + dumper.addAnnotator(new Symbian::QAnnotatorWindow); +} + +void addDefaultAnnotators_sys(QVisitor& visitor) +{ + visitor.addAnnotator(new Symbian::QAnnotatorControl); + visitor.addAnnotator(new Symbian::QAnnotatorWindow); +} + +} // namespace ObjectDump + +QT_END_NAMESPACE + + diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h new file mode 100644 index 0000000..26ab308 --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h @@ -0,0 +1,56 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef OBJECTDUMP_SYMBIAN_H +#define OBJECTDUMP_SYMBIAN_H + +#include "objectdump.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectDump +{ +namespace Symbian +{ + +/** + * Annotator which returns control information + */ +class QAnnotatorControl : public QAnnotator +{ + Q_OBJECT +public: + QList<QByteArray> annotation(const QObject& object); +}; + +/** + * Annotator which returns window information + */ +class QAnnotatorWindow : public QAnnotator +{ + Q_OBJECT +public: + QList<QByteArray> annotation(const QObject& object); +}; + +} // namespace Symbian +} // namespace ObjectDump + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp new file mode 100644 index 0000000..5053b2d --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp @@ -0,0 +1,102 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include <QTextStream> +#include <QWidget> +#include "objecttree.h" + +QT_BEGIN_NAMESPACE + +namespace ObjectTree +{ + +DepthFirstConstIterator::DepthFirstConstIterator() + : m_pointee(0) +{ + +} + +DepthFirstConstIterator::DepthFirstConstIterator + (const QObject& root) + : m_pointee(&root) +{ + +} + +DepthFirstConstIterator& + DepthFirstConstIterator::operator++() +{ + const QObjectList& children = m_pointee->children(); + + if (children.count() == 0) { + backtrack(); + } + else { + m_history.push(0); + m_pointee = children.first(); + } + + return *this; +} + +void DepthFirstConstIterator::backtrack() +{ + if (m_history.count()) { + const int index = m_history.top(); + m_history.pop(); + + const QObjectList& siblings = m_pointee->parent()->children(); + if (siblings.count() > index + 1) { + m_history.push(index + 1); + m_pointee = siblings[index + 1]; + } + else { + m_pointee = m_pointee->parent(); + backtrack(); + } + } + else { + // Reached end of search + m_pointee = 0; + } +} + + + +AncestorConstIterator::AncestorConstIterator() +{ + +} + +AncestorConstIterator::AncestorConstIterator(const QObject& leaf) +{ + m_ancestors.push(&leaf); + QObject* ancestor = leaf.parent(); + while(ancestor) + { + m_ancestors.push(ancestor); + ancestor = ancestor->parent(); + } +} + +} // namespace ObjectTree + +QT_END_NAMESPACE + + + diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h new file mode 100644 index 0000000..f2729fa --- /dev/null +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h @@ -0,0 +1,117 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef OBJECTTREE_H +#define OBJECTTREE_H + +#include "objectdump_global.h" + +#include <QObject> +#include <QStack> + +QT_BEGIN_NAMESPACE + +namespace ObjectTree +{ + +/** + * Depth-first iterator for QObject tree + */ +class OBJECTDUMP_EXPORT DepthFirstConstIterator +{ +public: + DepthFirstConstIterator(); + DepthFirstConstIterator(const QObject& root); + + DepthFirstConstIterator& operator++(); + + inline bool operator==(const DepthFirstConstIterator& other) const + { return other.m_pointee == m_pointee; } + + inline bool operator!=(const DepthFirstConstIterator& other) const + { return other.m_pointee != m_pointee; } + + inline const QObject* operator->() const { return m_pointee; } + inline const QObject& operator*() const { return *m_pointee; } + +private: + void backtrack(); + +private: + const QObject* m_pointee; + QStack<int> m_history; +}; + +/** + * Ancestor iterator for QObject tree + */ +class OBJECTDUMP_EXPORT AncestorConstIterator +{ +public: + AncestorConstIterator(); + AncestorConstIterator(const QObject& root); + + inline AncestorConstIterator& operator++() + { m_ancestors.pop(); return *this; } + + inline bool operator==(const AncestorConstIterator& other) const + { return other.m_ancestors == m_ancestors; } + + inline bool operator!=(const AncestorConstIterator& other) const + { return other.m_ancestors != m_ancestors; } + + inline const QObject* operator->() const { return m_ancestors.top(); } + inline const QObject& operator*() const { return *m_ancestors.top(); } + +private: + QStack<const QObject*> m_ancestors; + +}; + +/** + * Generic algorithm for visiting nodes in an object tree. Nodes in the + * tree are visited in a const context, therefore they are not modified + * by this algorithm. + * + * Visitor must provide functions with the following signatures: + * + * Called before visit begins + * void visitPrepare() + * + * Called on each node visited + * void visitNode(const QObject& object) + * + * Called when visit is complete + * void visitComplete() + */ +template <class Iterator, class Visitor> +void visit(Iterator begin, Iterator end, Visitor& visitor) +{ + visitor.visitPrepare(); + + for( ; begin != end; ++begin) + visitor.visitNode(*begin); + + visitor.visitComplete(); +} + +} // namespace ObjectTree + +QT_END_NAMESPACE + +#endif // OBJECTTREE_H diff --git a/src/3rdparty/phonon/mmf/utils.cpp b/src/3rdparty/phonon/mmf/utils.cpp new file mode 100644 index 0000000..2f5b68f --- /dev/null +++ b/src/3rdparty/phonon/mmf/utils.cpp @@ -0,0 +1,154 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "utils.h" +#include <e32std.h> + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \namespace MMF::Utils + \internal +*/ + +/*! \class MMF::TTraceContext + \internal +*/ + +/*! \class MMF::Utils + \internal +*/ + +_LIT(PanicCategory, "Phonon::MMF"); + +void MMF::Utils::panic(PanicCode code) +{ + User::Panic(PanicCategory, code); +} + + +static const TInt KMimePrefixLength = 6; // either "audio/" or "video/" +_LIT(KMimePrefixAudio, "audio/"); +_LIT(KMimePrefixVideo, "video/"); + +MMF::MediaType MMF::Utils::mimeTypeToMediaType(const TDesC& mimeType) +{ + MediaType result = MediaTypeUnknown; + + if (mimeType.Left(KMimePrefixLength).Compare(KMimePrefixAudio) == 0) { + result = MediaTypeAudio; + } else if (mimeType.Left(KMimePrefixLength).Compare(KMimePrefixVideo) == 0) { + result = MediaTypeVideo; + } + + return result; +} + + +#ifdef _DEBUG + +#include <hal.h> +#include <hal_data.h> +#include <gdi.h> +#include <eikenv.h> + +struct TScreenInfo +{ + int width; + int height; + int bpp; + const char* address; + int initialOffset; + int lineOffset; + TDisplayMode displayMode; +}; + +static void getScreenInfoL(TScreenInfo& info) +{ + info.displayMode = CEikonEnv::Static()->ScreenDevice()->DisplayMode(); + + // Then we must set these as the input parameter + info.width = info.displayMode; + info.height = info.displayMode; + info.initialOffset = info.displayMode; + info.lineOffset = info.displayMode; + info.bpp = info.displayMode; + + User::LeaveIfError( HAL::Get(HALData::EDisplayXPixels, info.width) ); + User::LeaveIfError( HAL::Get(HALData::EDisplayYPixels, info.width) ); + + int address; + User::LeaveIfError( HAL::Get(HALData::EDisplayMemoryAddress, address) ); + info.address = reinterpret_cast<const char*>(address); + + User::LeaveIfError( HAL::Get(HALData::EDisplayOffsetToFirstPixel, info.initialOffset) ); + + User::LeaveIfError( HAL::Get(HALData::EDisplayOffsetBetweenLines, info.lineOffset) ); + + User::LeaveIfError( HAL::Get(HALData::EDisplayBitsPerPixel, info.bpp) ); +} + + +QColor MMF::Utils::getScreenPixel(const QPoint& pos) +{ + TScreenInfo info; + TRAPD(err, getScreenInfoL(info)); + QColor pixel; + if(err == KErrNone and pos.x() < info.width and pos.y() < info.height) + { + const int bytesPerPixel = info.bpp / 8; + Q_ASSERT(bytesPerPixel >= 3); + + const int stride = (info.width * bytesPerPixel) + info.lineOffset; + + const char* ptr = + info.address + + info.initialOffset + + pos.y() * stride + + pos.x() * bytesPerPixel; + + // BGRA + pixel.setBlue(*ptr++); + pixel.setGreen(*ptr++); + pixel.setRed(*ptr++); + + if(bytesPerPixel == 4) + pixel.setAlpha(*ptr++); + } + return pixel; +} + +// Debugging: for debugging video visibility +void MMF::Utils::dumpScreenPixelSample() +{ + for(int i=0; i<20; ++i) { + const QPoint pos(i*10, i*10); + const QColor pixel = Utils::getScreenPixel(pos); + RDebug::Printf( + "Phonon::MMF::Utils::dumpScreenPixelSample %d %d = %d %d %d %d", + pos.x(), pos.y(), pixel.red(), pixel.green(), pixel.blue(), pixel.alpha() + ); + } +} + +#endif // _DEBUG + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/utils.h b/src/3rdparty/phonon/mmf/utils.h new file mode 100644 index 0000000..38964d0 --- /dev/null +++ b/src/3rdparty/phonon/mmf/utils.h @@ -0,0 +1,167 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_UTILS_H +#define PHONON_MMF_UTILS_H + +#include <private/qcore_symbian_p.h> +#include <e32debug.h> // for RDebug + +#include <QColor> + +#include "defs.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * Panic codes for fatal errors + */ +enum PanicCode { + InvalidStatePanic = 1, + InvalidMediaTypePanic = 2, + InvalidBackendInterfaceClass = 3 +}; + +namespace Utils +{ +/** + * Raise a fatal exception + */ +void panic(PanicCode code); + +/** + * Determines whether the provided MIME type is an audio or video + * type. If it is neither, the function returns MediaTypeUnknown. + */ +MediaType mimeTypeToMediaType(const TDesC& mimeType); + +#ifdef _DEBUG +/** + * Retrieve color of specified pixel from the screen. + */ +QColor getScreenPixel(const QPoint& pos); + +/** + * Samples a small number of pixels from the screen, and dumps their + * colors to the debug log. + */ +void dumpScreenPixelSample(); +#endif +} + +/** + * Available trace categories; + */ +enum TTraceCategory { + /** + * Backend + */ + EBackend = 0x00000001, + + /** + * Functions which map directly to the public Phonon audio API + */ + EAudioApi = 0x00000010, + + /** + * Internal functions in the audio implementation + */ + EAudioInternal = 0x00000020, + + /** + * Functions which map directly to the public Phonon video API + */ + EVideoApi = 0x00010000, + + /** + * Internal functions in the video implementation + */ + EVideoInternal = 0x00020000 +}; + +/** + * Mask indicating which trace categories are enabled + * + * Note that, at the moment, this is a compiled static constant. For + * runtime control over enabled trace categories, this could be replaced + * by a per-thread singleton object which owns the trace mask, and which + * exposes an API allowing it to be modified. + */ +static const TUint KTraceMask = 0xffffffff; + +/** + * Data structure used by tracing macros + */ +class TTraceContext +{ +public: + TTraceContext(const TText* aFunction, const TUint aAddr, + const TUint aCategory = 0) + : iFunction(aFunction), + iAddr(aAddr), + iCategory(aCategory) { } + + /** + * Check whether iCategory appears in the trace mask + */ + TBool Enabled() const { + return (iCategory == 0) or(iCategory & KTraceMask); + } + + const TText* iFunction; // Name of function + const TUint iAddr; // 'this' pointer + const TUint iCategory; +}; + +// Macros used internally by the trace system +#define _TRACE_PRINT RDebug::Print +#define _TRACE_TEXT(x) (TPtrC((const TText *)(x))) +#define _TRACE_MODULE Phonon::MMF + +// Macros available for use by implementation code +#ifdef _DEBUG +#define TRACE_CONTEXT(_fn, _cat) const ::Phonon::MMF::TTraceContext _tc((TText*)L ## #_fn, (TUint)this, _cat); +#define TRACE_ENTRY_0() { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } +#define TRACE_ENTRY(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#define TRACE_EXIT_0() { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } +#define TRACE_EXIT(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#define TRACE_RETURN(string, result) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "r Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, result); } return result; +#define TRACE_PANIC(code) { _TRACE_PRINT(_TRACE_TEXT(L ## "! Phonon::MMF::%s [0x%08x] panic %d"), _tc.iFunction, _tc.iAddr, code); } Utils::panic(code); +#define TRACE_0(string) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr); } +#define TRACE(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#else +#define TRACE_CONTEXT(_fn, _cat) +#define TRACE_ENTRY_0() +#define TRACE_ENTRY(string, args...) +#define TRACE_EXIT_0() +#define TRACE_EXIT(string, args...) +#define TRACE_RETURN(string, result) return result; +#define TRACE_PANIC(code) Utils::panic(code); +#define TRACE_0(string) +#define TRACE(string, args...) +#endif +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp new file mode 100644 index 0000000..041b0a8 --- /dev/null +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -0,0 +1,177 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "utils.h" +#include "videooutput.h" +#include "videooutputobserver.h" + +#ifdef _DEBUG +#include "objectdump.h" +#endif + +#include <QPaintEvent> +#include <QPainter> +#include <QMoveEvent> +#include <QResizeEvent> + +#include <QtGui/private/qwidget_p.h> // to access QWExtra + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::VideoOutput + \internal +*/ + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::VideoOutput::VideoOutput(QWidget* parent) + : QWidget(parent) + , m_observer(0) +{ + TRACE_CONTEXT(VideoOutput::VideoOutput, EVideoInternal); + TRACE_ENTRY("parent 0x%08x", parent); + + setPalette(QPalette(Qt::black)); + setAttribute(Qt::WA_OpaquePaintEvent, true); + setAttribute(Qt::WA_NoSystemBackground, true); + setAutoFillBackground(false); + + // Causes QSymbianControl::Draw not to BitBlt this widget's region of the + // backing store. Since the backing store is (by default) a 16MU bitmap, + // blitting it results in this widget's screen region in the final + // framebuffer having opaque alpha values. This in turn causes the video + // to be invisible when running on the target device. + qt_widget_private(this)->extraData()->disableBlit = true; + + dump(); + + TRACE_EXIT_0(); +} + +MMF::VideoOutput::~VideoOutput() +{ + TRACE_CONTEXT(VideoOutput::~VideoOutput, EVideoInternal); + TRACE_ENTRY_0(); + + TRACE_EXIT_0(); +} + +void MMF::VideoOutput::setFrameSize(const QSize& frameSize) +{ + TRACE_CONTEXT(VideoOutput::setFrameSize, EVideoInternal); + TRACE("oldSize %d %d newSize %d %d", + m_frameSize.width(), m_frameSize.height(), + frameSize.width(), frameSize.height()); + + if (frameSize != m_frameSize) { + m_frameSize = frameSize; + updateGeometry(); + } +} + +void MMF::VideoOutput::setObserver(VideoOutputObserver* observer) +{ + TRACE_CONTEXT(VideoOutput::setObserver, EVideoInternal); + TRACE("observer 0x%08x", observer); + + m_observer = observer; +} + + +//----------------------------------------------------------------------------- +// QWidget +//----------------------------------------------------------------------------- + +QSize MMF::VideoOutput::sizeHint() const +{ + // TODO: replace this with a more sensible default + QSize result(320, 240); + + if (!m_frameSize.isNull()) { + result = m_frameSize; + } + + return result; +} + +void MMF::VideoOutput::paintEvent(QPaintEvent* event) +{ + TRACE_CONTEXT(VideoOutput::paintEvent, EVideoInternal); + TRACE("rect %d %d - %d %d", + event->rect().left(), event->rect().top(), + event->rect().right(), event->rect().bottom()); + TRACE("regions %d", event->region().numRects()); + TRACE("type %d", event->type()); + + dump(); + + // Do not paint anything +} + +void MMF::VideoOutput::resizeEvent(QResizeEvent* event) +{ + TRACE_CONTEXT(VideoOutput::resizeEvent, EVideoInternal); + TRACE("%d %d -> %d %d", + event->oldSize().width(), event->oldSize().height(), + event->size().width(), event->size().height()); + + QWidget::resizeEvent(event); + + if (m_observer) + m_observer->videoOutputRegionChanged(); +} + +void MMF::VideoOutput::moveEvent(QMoveEvent* event) +{ + TRACE_CONTEXT(VideoOutput::moveEvent, EVideoInternal); + TRACE("%d %d -> %d %d", + event->oldPos().x(), event->oldPos().y(), + event->pos().x(), event->pos().y()); + + QWidget::moveEvent(event); + + if (m_observer) + m_observer->videoOutputRegionChanged(); +} + + +//----------------------------------------------------------------------------- +// Private functions +//----------------------------------------------------------------------------- + +void VideoOutput::dump() const +{ +#ifdef _DEBUG + TRACE_CONTEXT(VideoOutput::dump, EVideoInternal); + QScopedPointer<ObjectDump::QVisitor> visitor(new ObjectDump::QVisitor); + visitor->setPrefix("Phonon::MMF"); // to aid searchability of logs + ObjectDump::addDefaultAnnotators(*visitor); + TRACE("Dumping tree from leaf 0x%08x:", this); + //ObjectDump::dumpAncestors(*this, *visitor); + ObjectDump::dumpTreeFromLeaf(*this, *visitor); +#endif +} + + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h new file mode 100644 index 0000000..639a5ed --- /dev/null +++ b/src/3rdparty/phonon/mmf/videooutput.h @@ -0,0 +1,67 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_VIDEOOUTPUT_H +#define PHONON_MMF_VIDEOOUTPUT_H + +#include <QtGui/QWidget> +#include <QVector> +#include <QRect> +#include "defs.h" + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class VideoOutputObserver; + +class VideoOutput : public QWidget +{ + Q_OBJECT + +public: + explicit VideoOutput(QWidget* parent); + ~VideoOutput(); + + void setFrameSize(const QSize& size); + void setObserver(VideoOutputObserver* observer); + +protected: + // Override QWidget functions + QSize sizeHint() const; + void paintEvent(QPaintEvent* event); + void resizeEvent(QResizeEvent* event); + void moveEvent(QMoveEvent* event); + +private: + void dump() const; + +private: + QSize m_frameSize; + + // Not owned + VideoOutputObserver* m_observer; +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/videooutputobserver.h b/src/3rdparty/phonon/mmf/videooutputobserver.h new file mode 100644 index 0000000..e3ba305 --- /dev/null +++ b/src/3rdparty/phonon/mmf/videooutputobserver.h @@ -0,0 +1,44 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_VIDEOOUTPUTOBSERVER_H +#define PHONON_MMF_VIDEOOUTPUTOBSERVER_H + +#include <QtGlobal> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * Interface via which VideoOutput notifies VideoPlayer of changes to the + * video output screen region. + */ +class VideoOutputObserver +{ +public: + virtual void videoOutputRegionChanged() = 0; +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/videowidget.cpp b/src/3rdparty/phonon/mmf/videowidget.cpp new file mode 100644 index 0000000..8a5c9ff --- /dev/null +++ b/src/3rdparty/phonon/mmf/videowidget.cpp @@ -0,0 +1,177 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#include "mediaobject.h" +#include "utils.h" +#include "videooutput.h" + +#include "videowidget.h" + +QT_BEGIN_NAMESPACE + +using namespace Phonon; +using namespace Phonon::MMF; + +/*! \class MMF::VideoWidget + \internal +*/ + +//----------------------------------------------------------------------------- +// Constants +//----------------------------------------------------------------------------- + +static const Phonon::VideoWidget::AspectRatio DefaultAspectRatio = + Phonon::VideoWidget::AspectRatioAuto; +static const qreal DefaultBrightness = 1.0; +static const Phonon::VideoWidget::ScaleMode DefaultScaleMode = + Phonon::VideoWidget::FitInView; +static const qreal DefaultContrast = 1.0; +static const qreal DefaultHue = 1.0; +static const qreal DefaultSaturation = 1.0; + + +//----------------------------------------------------------------------------- +// Constructor / destructor +//----------------------------------------------------------------------------- + +MMF::VideoWidget::VideoWidget(QWidget* parent) + : MediaNode(parent) + , m_widget(new VideoOutput(parent)) + , m_aspectRatio(DefaultAspectRatio) + , m_brightness(DefaultBrightness) + , m_scaleMode(DefaultScaleMode) + , m_contrast(DefaultContrast) + , m_hue(DefaultHue) + , m_saturation(DefaultSaturation) +{ + TRACE_CONTEXT(VideoWidget::VideoWidget, EVideoApi); + TRACE_ENTRY_0(); + + TRACE_EXIT_0(); +} + +MMF::VideoWidget::~VideoWidget() +{ + TRACE_CONTEXT(VideoWidget::~VideoWidget, EVideoApi); + TRACE_ENTRY_0(); + + TRACE_EXIT_0(); +} + + +//----------------------------------------------------------------------------- +// VideoWidgetInterface +//----------------------------------------------------------------------------- + +Phonon::VideoWidget::AspectRatio MMF::VideoWidget::aspectRatio() const +{ + return m_aspectRatio; +} + +void MMF::VideoWidget::setAspectRatio +(Phonon::VideoWidget::AspectRatio aspectRatio) +{ + TRACE_CONTEXT(VideoWidget::setAspectRatio, EVideoApi); + TRACE("aspectRatio %d", aspectRatio); + + m_aspectRatio = aspectRatio; +} + +qreal MMF::VideoWidget::brightness() const +{ + return m_brightness; +} + +void MMF::VideoWidget::setBrightness(qreal brightness) +{ + TRACE_CONTEXT(VideoWidget::setBrightness, EVideoApi); + TRACE("brightness %f", brightness); + + m_brightness = brightness; +} + +Phonon::VideoWidget::ScaleMode MMF::VideoWidget::scaleMode() const +{ + return m_scaleMode; +} + +void MMF::VideoWidget::setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode) +{ + TRACE_CONTEXT(VideoWidget::setScaleMode, EVideoApi); + TRACE("setScaleMode %d", setScaleMode); + + m_scaleMode = scaleMode; +} + +qreal MMF::VideoWidget::contrast() const +{ + return m_contrast; +} + +void MMF::VideoWidget::setContrast(qreal contrast) +{ + TRACE_CONTEXT(VideoWidget::setContrast, EVideoApi); + TRACE("contrast %f", contrast); + + m_contrast = contrast; +} + +qreal MMF::VideoWidget::hue() const +{ + return m_hue; +} + +void MMF::VideoWidget::setHue(qreal hue) +{ + TRACE_CONTEXT(VideoWidget::setHue, EVideoApi); + TRACE("hue %f", hue); + + m_hue = hue; +} + +qreal MMF::VideoWidget::saturation() const +{ + return m_saturation; +} + +void MMF::VideoWidget::setSaturation(qreal saturation) +{ + TRACE_CONTEXT(VideoWidget::setSaturation, EVideoApi); + TRACE("saturation %f", saturation); + + m_saturation = saturation; +} + +QWidget* MMF::VideoWidget::widget() +{ + return m_widget.data(); +} + +VideoOutput& MMF::VideoWidget::videoOutput() +{ + return *static_cast<VideoOutput*>(widget()); +} + +bool MMF::VideoWidget::activateOnMediaObject(MediaObject *mo) +{ + mo->setVideoOutput(&videoOutput()); + return true; +} + +QT_END_NAMESPACE + diff --git a/src/3rdparty/phonon/mmf/videowidget.h b/src/3rdparty/phonon/mmf/videowidget.h new file mode 100644 index 0000000..970f749 --- /dev/null +++ b/src/3rdparty/phonon/mmf/videowidget.h @@ -0,0 +1,82 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_VIDEOWIDGET_H +#define PHONON_MMF_VIDEOWIDGET_H + +#include "mmf_medianode.h" + +#include <QtGui/QWidget> +#include <Phonon/VideoWidget> +#include <Phonon/VideoWidgetInterface> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +class VideoOutput; + +class VideoWidget : public MediaNode + , public Phonon::VideoWidgetInterface +{ + Q_OBJECT + Q_INTERFACES(Phonon::VideoWidgetInterface) + +public: + VideoWidget(QWidget* parent); + ~VideoWidget(); + + // VideoWidgetInterface + virtual Phonon::VideoWidget::AspectRatio aspectRatio() const; + virtual void setAspectRatio(Phonon::VideoWidget::AspectRatio aspectRatio); + virtual qreal brightness() const; + virtual void setBrightness(qreal brightness); + virtual Phonon::VideoWidget::ScaleMode scaleMode() const; + virtual void setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode); + virtual qreal contrast() const; + virtual void setContrast(qreal constrast); + virtual qreal hue() const; + virtual void setHue(qreal hue); + virtual qreal saturation() const; + virtual void setSaturation(qreal saturation); + virtual QWidget *widget(); + + VideoOutput& videoOutput(); + +protected: + virtual bool activateOnMediaObject(MediaObject *mo); + +private: + QScopedPointer<QWidget> m_widget; + + Phonon::VideoWidget::AspectRatio m_aspectRatio; + qreal m_brightness; + Phonon::VideoWidget::ScaleMode m_scaleMode; + qreal m_contrast; + qreal m_hue; + qreal m_saturation; + +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/mmf/volumeobserver.h b/src/3rdparty/phonon/mmf/volumeobserver.h new file mode 100644 index 0000000..bedd3de --- /dev/null +++ b/src/3rdparty/phonon/mmf/volumeobserver.h @@ -0,0 +1,44 @@ +/* This file is part of the KDE project. + +Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + +This library is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 2.1 or 3 of the License. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with this library. If not, see <http://www.gnu.org/licenses/>. + +*/ + +#ifndef PHONON_MMF_VOLUMEOBSERVER_H +#define PHONON_MMF_VOLUMEOBSERVER_H + +#include <QtGlobal> + +QT_BEGIN_NAMESPACE + +namespace Phonon +{ +namespace MMF +{ +/** + * Interface used by AudioOutput to pass volume control commands + * back along the audio path to the MediaObject. + */ +class VolumeObserver +{ +public: + virtual void volumeChanged(qreal volume) = 0; +}; +} +} + +QT_END_NAMESPACE + +#endif diff --git a/src/3rdparty/phonon/phonon/factory.cpp b/src/3rdparty/phonon/phonon/factory.cpp index fef88f0..5c3752a 100644 --- a/src/3rdparty/phonon/phonon/factory.cpp +++ b/src/3rdparty/phonon/phonon/factory.cpp @@ -133,9 +133,30 @@ bool FactoryPrivate::createBackend() continue; } - const QStringList files = dir.entryList(QDir::Files); - for (int i = 0; i < files.count(); ++i) { - QPluginLoader pluginLoader(libPath + files.at(i)); + QStringList plugins(dir.entryList(QDir::Files)); + +#ifdef Q_OS_SYMBIAN + /* On Symbian OS we might have two plugins, one which uses Symbian + * MMF framework("phonon_mmf"), and one which uses Real Networks's + * Helix("hxphonon"). We prefer the latter because it's more + * sophisticated, so we make sure the Helix backend is attempted + * to be loaded first, and the MMF backend is used for backup. */ + { + + const int hxphonon = plugins.indexOf(QLatin1String("hxphonon")); + if (hxphonon != -1) + plugins.move(hxphonon, 0); + + // Code for debugging the MMF backend. + if(hxphonon != -1) { + qDebug() << "Found hxphonon backend and removed it from the lookup list."; + plugins.removeAll(QLatin1String("hxphonon")); + } + } +#endif + + for (int i = 0; i < plugins.count(); ++i) { + QPluginLoader pluginLoader(libPath + plugins.at(i)); if (!pluginLoader.load()) { pDebug() << Q_FUNC_INFO << " load failed:" << pluginLoader.errorString(); diff --git a/src/3rdparty/phonon/phonon/path.cpp b/src/3rdparty/phonon/phonon/path.cpp index aec8d05..ef3530c 100644 --- a/src/3rdparty/phonon/phonon/path.cpp +++ b/src/3rdparty/phonon/phonon/path.cpp @@ -310,8 +310,8 @@ bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections, if (!transaction) return false; - QList<QObjectPair>::const_iterator it = disconnections.begin(); - for(;it != disconnections.end();++it) { + QList<QObjectPair>::const_iterator it = disconnections.constBegin(); + for(;it != disconnections.constEnd();++it) { const QObjectPair &pair = *it; if (!backend->disconnectNodes(pair.first, pair.second)) { @@ -327,8 +327,8 @@ bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections, } } - for(it = connections.begin(); it != connections.end();++it) { - const QObjectPair &pair = *it; + for(it = connections.constBegin(); it != connections.constEnd(); ++it) { + const QObjectPair pair = *it; if (!backend->connectNodes(pair.first, pair.second)) { //Error: a connection failed QList<QObjectPair>::const_iterator it2 = connections.begin(); diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog index 9065b3a..e2c1ef5 100644 --- a/src/3rdparty/webkit/ChangeLog +++ b/src/3rdparty/webkit/ChangeLog @@ -1,3 +1,9 @@ +2009-09-26 David Kilzer <ddkilzer@apple.com> + + GTK BUILD FIX: add ENABLE_ORIENTATION_EVENTS support to configure.ac + + * configure.ac: Added support for ENABLE_ORIENTATION_EVENTS. + 2009-09-23 Xan Lopez <xlopez@igalia.com> Reviewed by Gustavo Noronha. diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp index 64c83cb..1c33962 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.cpp @@ -36,7 +36,7 @@ namespace JSC { const ClassInfo JSCallbackConstructor::info = { "CallbackConstructor", 0, 0, 0 }; -JSCallbackConstructor::JSCallbackConstructor(PassRefPtr<Structure> structure, JSClassRef jsClass, JSObjectCallAsConstructorCallback callback) +JSCallbackConstructor::JSCallbackConstructor(NonNullPassRefPtr<Structure> structure, JSClassRef jsClass, JSObjectCallAsConstructorCallback callback) : JSObject(structure) , m_class(jsClass) , m_callback(callback) diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h index 0497aa2..202b119 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackConstructor.h @@ -33,7 +33,7 @@ namespace JSC { class JSCallbackConstructor : public JSObject { public: - JSCallbackConstructor(PassRefPtr<Structure>, JSClassRef, JSObjectCallAsConstructorCallback); + JSCallbackConstructor(NonNullPassRefPtr<Structure>, JSClassRef, JSObjectCallAsConstructorCallback); virtual ~JSCallbackConstructor(); JSClassRef classRef() const { return m_class; } JSObjectCallAsConstructorCallback callback() const { return m_callback; } diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h index 47fd6c3..86f2f32 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObject.h @@ -36,7 +36,7 @@ namespace JSC { template <class Base> class JSCallbackObject : public Base { public: - JSCallbackObject(ExecState*, PassRefPtr<Structure>, JSClassRef, void* data); + JSCallbackObject(ExecState*, NonNullPassRefPtr<Structure>, JSClassRef, void* data); JSCallbackObject(JSClassRef); virtual ~JSCallbackObject(); diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h index 4d113fe..9b726e8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h +++ b/src/3rdparty/webkit/JavaScriptCore/API/JSCallbackObjectFunctions.h @@ -47,7 +47,7 @@ inline JSCallbackObject<Base>* JSCallbackObject<Base>::asCallbackObject(JSValue } template <class Base> -JSCallbackObject<Base>::JSCallbackObject(ExecState* exec, PassRefPtr<Structure> structure, JSClassRef jsClass, void* data) +JSCallbackObject<Base>::JSCallbackObject(ExecState* exec, NonNullPassRefPtr<Structure> structure, JSClassRef jsClass, void* data) : Base(structure) , m_callbackObjectData(new JSCallbackObjectData(data, jsClass)) { diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog index 4899919..05f90b9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog @@ -1,3 +1,680 @@ +2009-09-30 Csaba Osztrogonac <oszi@inf.u-szeged.hu> + + Reviewed by NOBODY (OOPS!). + + Buildfix for platforms using JSVALUE32. + https://bugs.webkit.org/show_bug.cgi?id=29915 + + After http://trac.webkit.org/changeset/48905 the build broke in JSVALUE32 case. + + * jit/JITArithmetic.cpp: + (JSC::JIT::emit_op_add): + - Declaration of "OperandTypes types" moved before first use. + - Typos fixed: dst modified to result, regT2 added. + - Unnecessary code removed. + (JSC::JIT::emitSlow_op_add): + - Missing declaration of "OperandTypes types" added. + +2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Simon Hausmann. + + Reduce heap size on Symbian from 64MB to 8MB. + + This is not a perfect fix, it requires more fine tuning. + But this makes it possible again to debug in the emulator, + which is more important in order to be able to fix other + run-time issues. + + * runtime/Collector.h: + +2009-09-30 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Simon Hausmann. + + Fix CRASH() macro for Symbian build. + + * wtf/Assertions.h: Added missing } + +2009-09-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Gavin Barraclough. + + Inlined a few math operations. + + ~1% SunSpider speedup. + + * jit/JIT.h: + * jit/JITArithmetic.cpp: + (JSC::JIT::compileBinaryArithOpSlowCase): + (JSC::JIT::emitSlow_op_add): + (JSC::JIT::emitSlow_op_mul): + (JSC::JIT::emit_op_sub): + (JSC::JIT::emitSlow_op_sub): Don't take a stub call when operating on + a constant int and a double. + +2009-09-28 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Tidy up codeblock sampler + https://bugs.webkit.org/show_bug.cgi?id=29836 + + Some rather simple refactoring of codeblock sampler so that + it's easier for us to use it to find problems in non-jsc + environments + + * JavaScriptCore.exp: + * bytecode/SamplingTool.h: + * debugger/Debugger.cpp: + (JSC::evaluateInGlobalCallFrame): + * debugger/DebuggerCallFrame.cpp: + (JSC::DebuggerCallFrame::evaluate): + * interpreter/Interpreter.cpp: + (JSC::Interpreter::Interpreter): + (JSC::Interpreter::execute): + (JSC::Interpreter::privateExecute): + (JSC::Interpreter::enableSampler): + (JSC::Interpreter::dumpSampleData): + (JSC::Interpreter::startSampling): + (JSC::Interpreter::stopSampling): + * interpreter/Interpreter.h: + (JSC::Interpreter::sampler): + * jit/JIT.h: + * jsc.cpp: + (runWithScripts): + * runtime/Completion.cpp: + (JSC::checkSyntax): + (JSC::evaluate): + * runtime/Executable.h: + (JSC::EvalExecutable::EvalExecutable): + (JSC::ProgramExecutable::create): + (JSC::ProgramExecutable::ProgramExecutable): + * runtime/JSGlobalData.cpp: + (JSC::JSGlobalData::startSampling): + (JSC::JSGlobalData::stopSampling): + (JSC::JSGlobalData::dumpSampleData): + * runtime/JSGlobalData.h: + * runtime/JSGlobalObjectFunctions.cpp: + (JSC::globalFuncEval): + +2009-09-29 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add GYP generated files to svn:ignore + https://bugs.webkit.org/show_bug.cgi?id=29895 + + The following files are generated by JavaScriptCore's GYP file and should be ignored: + + pcre.mk + wtf.scons + wtf.mk + SConstruct + wtf_config.scons + wtf_config.mk + pcre.scons + + * JavaScriptCore.gyp: Changed property svn:ignore. + +2009-09-29 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Standardized an optimization for adding non-numbers. + + SunSpider says maybe a tiny speedup. + + * jit/JITArithmetic.cpp: + (JSC::JIT::emit_op_add): + (JSC::JIT::emitSlow_op_add): + +2009-09-29 Geoffrey Garen <ggaren@apple.com> + + Windows build fix: export a new symbol. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Removed virtual destructor from JSGlobalObjectData to eliminate pointer + fix-ups when accessing JSGlobalObject::d. + + Replaced with an explicit destructor function pointer. + + 6% speedup on bench-alloc-nonretained.js. + + * JavaScriptCore.exp: + * runtime/JSGlobalObject.cpp: + (JSC::JSGlobalObject::~JSGlobalObject): + (JSC::JSGlobalObject::destroyJSGlobalObjectData): + * runtime/JSGlobalObject.h: + (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): + (JSC::JSGlobalObject::JSGlobalObject): + +2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by David Kilzer. + + [Qt] Assert messages prints visible in Symbian + https://bugs.webkit.org/show_bug.cgi?id=29808 + + Asserts use vprintf to print the messages to stderr. + In Symbian Open C it is not possible to see stderr so + I routed the messages to stdout instead. + + * wtf/Assertions.cpp: + +2009-09-29 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Darin Adler. + + [Qt] Symbian CRASH macro implementation + + Added Symbian specific crash macro that + stops to crash line if JIT debugging is used. + Additional differentiation of access violation + (KERN-EXEC 3) and CRASH panic. + + * wtf/Assertions.h: + +2009-09-28 Mark Rowe <mrowe@apple.com> + + Fix the PowerPC build. + + * JavaScriptCore.exp: + +2009-09-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Gavin Barraclough. + + <rdar://problem/7195704> JavaScriptCore fails to mark registers when built for x86_64 using LLVM GCC. + + * runtime/Collector.cpp: + (JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a pointer + to ensure that we correctly interpret the contents of registers during marking. + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Windows build fix: added new exports. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Windows build fix: removed exports that no longer exist. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + NotNullPassRefPtr: smart pointer optimized for passing references that are not null + https://bugs.webkit.org/show_bug.cgi?id=29822 + + Added NotNullPassRefPtr, and deployed it in all places that initialize + JavaScript objects. + + 2.2% speedup on bench-allocate-nonretained.js. + + * API/JSCallbackConstructor.cpp: + (JSC::JSCallbackConstructor::JSCallbackConstructor): + * API/JSCallbackConstructor.h: + * API/JSCallbackObject.h: + * API/JSCallbackObjectFunctions.h: + (JSC::JSCallbackObject::JSCallbackObject): + * JavaScriptCore.exp: + * bytecode/CodeBlock.h: + (JSC::CodeBlock::addFunctionDecl): + (JSC::CodeBlock::addFunctionExpr): + * runtime/ArrayConstructor.cpp: + (JSC::ArrayConstructor::ArrayConstructor): + * runtime/ArrayConstructor.h: + * runtime/ArrayPrototype.cpp: + (JSC::ArrayPrototype::ArrayPrototype): + * runtime/ArrayPrototype.h: + * runtime/BooleanConstructor.cpp: + (JSC::BooleanConstructor::BooleanConstructor): + * runtime/BooleanConstructor.h: + * runtime/BooleanObject.cpp: + (JSC::BooleanObject::BooleanObject): + * runtime/BooleanObject.h: + * runtime/BooleanPrototype.cpp: + (JSC::BooleanPrototype::BooleanPrototype): + * runtime/BooleanPrototype.h: + * runtime/DateConstructor.cpp: + (JSC::DateConstructor::DateConstructor): + * runtime/DateConstructor.h: + * runtime/DateInstance.cpp: + (JSC::DateInstance::DateInstance): + * runtime/DateInstance.h: + * runtime/DatePrototype.cpp: + (JSC::DatePrototype::DatePrototype): + * runtime/DatePrototype.h: + * runtime/ErrorConstructor.cpp: + (JSC::ErrorConstructor::ErrorConstructor): + * runtime/ErrorConstructor.h: + * runtime/ErrorInstance.cpp: + (JSC::ErrorInstance::ErrorInstance): + * runtime/ErrorInstance.h: + * runtime/ErrorPrototype.cpp: + (JSC::ErrorPrototype::ErrorPrototype): + * runtime/ErrorPrototype.h: + * runtime/FunctionConstructor.cpp: + (JSC::FunctionConstructor::FunctionConstructor): + * runtime/FunctionConstructor.h: + * runtime/FunctionPrototype.cpp: + (JSC::FunctionPrototype::FunctionPrototype): + * runtime/FunctionPrototype.h: + * runtime/GlobalEvalFunction.cpp: + (JSC::GlobalEvalFunction::GlobalEvalFunction): + * runtime/GlobalEvalFunction.h: + * runtime/InternalFunction.cpp: + (JSC::InternalFunction::InternalFunction): + * runtime/InternalFunction.h: + (JSC::InternalFunction::InternalFunction): + * runtime/JSActivation.cpp: + (JSC::JSActivation::JSActivation): + * runtime/JSActivation.h: + (JSC::JSActivation::JSActivationData::JSActivationData): + * runtime/JSArray.cpp: + (JSC::JSArray::JSArray): + * runtime/JSArray.h: + * runtime/JSByteArray.cpp: + (JSC::JSByteArray::JSByteArray): + * runtime/JSByteArray.h: + * runtime/JSFunction.cpp: + (JSC::JSFunction::JSFunction): + * runtime/JSFunction.h: + * runtime/JSGlobalObject.h: + (JSC::JSGlobalObject::JSGlobalObject): + * runtime/JSONObject.h: + (JSC::JSONObject::JSONObject): + * runtime/JSObject.h: + (JSC::JSObject::JSObject): + (JSC::JSObject::setStructure): + * runtime/JSVariableObject.h: + (JSC::JSVariableObject::JSVariableObject): + * runtime/JSWrapperObject.h: + (JSC::JSWrapperObject::JSWrapperObject): + * runtime/MathObject.cpp: + (JSC::MathObject::MathObject): + * runtime/MathObject.h: + * runtime/NativeErrorConstructor.cpp: + (JSC::NativeErrorConstructor::NativeErrorConstructor): + * runtime/NativeErrorConstructor.h: + * runtime/NativeErrorPrototype.cpp: + (JSC::NativeErrorPrototype::NativeErrorPrototype): + * runtime/NativeErrorPrototype.h: + * runtime/NumberConstructor.cpp: + (JSC::NumberConstructor::NumberConstructor): + * runtime/NumberConstructor.h: + * runtime/NumberObject.cpp: + (JSC::NumberObject::NumberObject): + * runtime/NumberObject.h: + * runtime/NumberPrototype.cpp: + (JSC::NumberPrototype::NumberPrototype): + * runtime/NumberPrototype.h: + * runtime/ObjectConstructor.cpp: + (JSC::ObjectConstructor::ObjectConstructor): + * runtime/ObjectConstructor.h: + * runtime/ObjectPrototype.cpp: + (JSC::ObjectPrototype::ObjectPrototype): + * runtime/ObjectPrototype.h: + * runtime/PropertyNameArray.h: + (JSC::PropertyNameArrayData::setCachedPrototypeChain): + * runtime/PrototypeFunction.cpp: + (JSC::PrototypeFunction::PrototypeFunction): + * runtime/PrototypeFunction.h: + * runtime/RegExpConstructor.cpp: + (JSC::RegExpConstructor::RegExpConstructor): + * runtime/RegExpConstructor.h: + * runtime/RegExpObject.cpp: + (JSC::RegExpObject::RegExpObject): + * runtime/RegExpObject.h: + (JSC::RegExpObject::RegExpObjectData::RegExpObjectData): + * runtime/RegExpPrototype.cpp: + (JSC::RegExpPrototype::RegExpPrototype): + * runtime/RegExpPrototype.h: + * runtime/StringConstructor.cpp: + (JSC::StringConstructor::StringConstructor): + * runtime/StringConstructor.h: + * runtime/StringObject.cpp: + (JSC::StringObject::StringObject): + * runtime/StringObject.h: + * runtime/StringObjectThatMasqueradesAsUndefined.h: + (JSC::StringObjectThatMasqueradesAsUndefined::StringObjectThatMasqueradesAsUndefined): + * runtime/StringPrototype.cpp: + (JSC::StringPrototype::StringPrototype): + * runtime/StringPrototype.h: + * wtf/PassRefPtr.h: + (WTF::NotNullPassRefPtr::NotNullPassRefPtr): + (WTF::NotNullPassRefPtr::~NotNullPassRefPtr): + (WTF::NotNullPassRefPtr::get): + (WTF::NotNullPassRefPtr::clear): + (WTF::NotNullPassRefPtr::releaseRef): + (WTF::NotNullPassRefPtr::operator*): + (WTF::NotNullPassRefPtr::operator->): + (WTF::NotNullPassRefPtr::operator!): + (WTF::NotNullPassRefPtr::operator UnspecifiedBoolType): + * wtf/RefPtr.h: + (WTF::RefPtr::RefPtr): + (WTF::operator==): + +2009-09-28 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoff Garen. + + Hard dependency on SSE2 instruction set with JIT + https://bugs.webkit.org/show_bug.cgi?id=29779 + + Add floating point support checks to op_jfalse and op_jtrue, and + fix the logic for the slow case of op_add + + * jit/JITArithmetic.cpp: + (JSC::JIT::emitSlow_op_add): + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_jfalse): + (JSC::JIT::emit_op_jtrue): + +2009-09-28 Yaar Schnitman <yaar@chromium.org> + + Reviewed by Dimitri Glazkov. + + Chromium port - recognize we are being built independently + of chromium and look for dependencies under webkit/chromium rather + than chromium/src. + + https://bugs.webkit.org/show_bug.cgi?id=29722 + + * JavaScriptCore.gyp/JavaScriptCore.gyp: + +2009-09-28 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + [Qt] Implement XSLT support with QtXmlPatterns. + https://bugs.webkit.org/show_bug.cgi?id=28303 + + * wtf/Platform.h: Add a WTF_USE_QXMLQUERY #define. + +2009-09-28 Gabor Loki <loki@inf.u-szeged.hu> + + Reviewed by Simon Hausmann. + + Remove __clear_cache which is an internal function of GCC + https://bugs.webkit.org/show_bug.cgi?id=28886 + + Although __clear_cache is exported from GCC, this is an internal + function. GCC makes no promises about it. + + * jit/ExecutableAllocator.h: + (JSC::ExecutableAllocator::cacheFlush): + +2009-09-28 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix an absolute path to somewhere in Oliver's machine to a relative path + for derived JSONObject.lut.h. + + * JavaScriptCore.xcodeproj/project.pbxproj: + +2009-09-28 Joerg Bornemann <joerg.bornemann@nokia.com> + + Reviewed by Simon Hausmann. + + Add ARM version detection for Windows CE. + + * wtf/Platform.h: + +2009-09-26 Yongjun Zhang <yongjun.zhang@nokia.com> + + Reviewed by Simon Hausmann. + + Add MarkStackSymbian.cpp to build JavascriptCore for Symbian. + + Re-use Windows shrinkAllocation implementation because Symbian doesn't + support releasing part of memory region. + + Use fastMalloc and fastFree to implement allocateStack and releaseStack + for Symbian port. + + * JavaScriptCore.pri: + * runtime/MarkStack.h: + (JSC::MarkStack::MarkStackArray::shrinkAllocation): + * runtime/MarkStackSymbian.cpp: Added. + (JSC::MarkStack::initializePagesize): + (JSC::MarkStack::allocateStack): + (JSC::MarkStack::releaseStack): + +2009-09-25 Gabor Loki <loki@inf.u-szeged.hu> + + Reviewed by Gavin Barraclough. + + Fix unaligned data access in YARR_JIT on ARMv5 and below. + https://bugs.webkit.org/show_bug.cgi?id=29695 + + On ARMv5 and below all data access should be naturally aligned. + In the YARR_JIT there is a case when character pairs are + loaded from the input string, but this data access is not + naturally aligned. This fix introduces load32WithUnalignedHalfWords + and branch32WithUnalignedHalfWords functions which contain + naturally aligned memory loads - half word loads - on ARMv5 and below. + + * assembler/MacroAssemblerARM.cpp: + (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): + * assembler/MacroAssemblerARM.h: + (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords): + * assembler/MacroAssemblerARMv7.h: + (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerARMv7::branch32): + (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords): + * assembler/MacroAssemblerX86Common.h: + (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords): + * wtf/Platform.h: + * yarr/RegexJIT.cpp: + (JSC::Yarr::RegexGenerator::generatePatternCharacterPair): + +2009-09-25 Jeremy Orlow <jorlow@chromium.org> + + This is breaking Chromium try bots, so I'm counting this as a build fix. + + Add more svn:ignore exceptions. On different platforms, these files are + generated with different case for JavaScriptCore. Also there are some + wtf project files that get built apparently. + + * JavaScriptCore.gyp: Changed property svn:ignore. + +2009-09-25 Ada Chan <adachan@apple.com> + + Build fix. + + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: + * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: + +2009-09-25 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Inlined some object creation code, including lexicalGlobalObject access + https://bugs.webkit.org/show_bug.cgi?id=29750 + + SunSpider says 0.5% faster. + + 0.8% speedup on bench-alloc-nonretained.js. + 2.5% speedup on v8-splay.js. + + * interpreter/CachedCall.h: + (JSC::CachedCall::CachedCall): + * interpreter/CallFrame.h: + (JSC::ExecState::lexicalGlobalObject): + (JSC::ExecState::globalThisValue): + * interpreter/Interpreter.cpp: + (JSC::Interpreter::dumpRegisters): + (JSC::Interpreter::execute): + (JSC::Interpreter::privateExecute): + * jit/JITStubs.cpp: + (JSC::DEFINE_STUB_FUNCTION): + * runtime/FunctionConstructor.cpp: + (JSC::constructFunction): + * runtime/ScopeChain.cpp: + (JSC::ScopeChainNode::print): + * runtime/ScopeChain.h: + (JSC::ScopeChainNode::ScopeChainNode): + (JSC::ScopeChainNode::~ScopeChainNode): + (JSC::ScopeChainNode::push): + (JSC::ScopeChain::ScopeChain): + (JSC::ScopeChain::globalObject): Added a globalObject data member to ScopeChainNode. + Replaced accessor function for globalObject() with data member. Replaced + globalThisObject() accessor with direct access to globalThis, to match. + + * runtime/JSGlobalObject.cpp: + (JSC::JSGlobalObject::init): + * runtime/JSGlobalObject.h: Inlined array and object construction. + +2009-09-25 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Gavin Barraclough. + + Add ARM version detection rules for Symbian + https://bugs.webkit.org/show_bug.cgi?id=29715 + + * wtf/Platform.h: + +2009-09-24 Xan Lopez <xlopez@igalia.com> + + Reviewed by Mark "Do It!" Rowe. + + Some GCC versions don't like C++-style comments in preprocessor + directives, change to C-style to shut them up. + + * wtf/Platform.h: + +2009-09-24 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Division is needlessly slow in 64-bit + https://bugs.webkit.org/show_bug.cgi?id=29723 + + Add codegen for op_div on x86-64 + + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + (JSC::JIT::privateCompileSlowCases): + * jit/JIT.h: + * jit/JITArithmetic.cpp: + (JSC::JIT::compileBinaryArithOpSlowCase): + (JSC::JIT::emit_op_div): + (JSC::JIT::emitSlow_op_div): + * jit/JITInlineMethods.h: + (JSC::JIT::isOperandConstantImmediateDouble): + (JSC::JIT::addressFor): + (JSC::JIT::emitLoadDouble): + (JSC::JIT::emitLoadInt32ToDouble): + (JSC::JIT::emitJumpSlowCaseIfNotImmediateNumber): + +2009-09-24 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add GYP generated files to svn:ignore + https://bugs.webkit.org/show_bug.cgi?id=29724 + + Adding the following files to the svn:ignore list (all in the + JavaScriptCore/JavaScriptCore.gyp directory) + + JavaScriptCore.xcodeproj + JavaScriptCore.sln + JavaScriptCore.vcproj + JavaScriptCore_Debug.rules + JavaScriptCore_Release.rules + JavaScriptCore_Release - no tcmalloc.rules + JavaScriptCore_Purify.rules + JavaScriptCore.mk + JavaScriptCore_Debug_rules.mk + JavaScriptCore_Release_rules.mk + JavaScriptCore_Release - no tcmalloc_rules.mk + JavaScriptCore_Purify_rules.mk + JavaScriptCore.scons + JavaScriptCore_main.scons + + * JavaScriptCore.gyp: Changed property svn:ignore. + +2009-09-24 Yong Li <yong.li@torchmobile.com> + + Reviewed by Adam Barth. + + Replace platform-dependent code with WTF::currentTime() + https://bugs.webkit.org/show_bug.cgi?id=29148 + + * jsc.cpp: + (StopWatch::start): + (StopWatch::stop): + (StopWatch::getElapsedMS): + * runtime/TimeoutChecker.cpp: + (JSC::getCPUTime): + +2009-09-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/7215058> FastMalloc scavenging thread should be named + + * wtf/FastMalloc.cpp: + (WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name. + * wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP). + * wtf/ThreadingPthreads.cpp: + (WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP). + +2009-09-24 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Renamed clear to removeAll, as suggested by Darin Adler. + + * wtf/HashCountedSet.h: + (WTF::::removeAll): + +2009-09-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Gavin Barraclough. + + Fix FastMalloc to build with assertions enabled. + + * wtf/FastMalloc.cpp: + (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): + * wtf/TCSpinLock.h: + (TCMalloc_SpinLock::IsHeld): + +2009-09-24 Geoffrey Garen <ggaren@apple.com> + + Suggested by Darin Adler. + + Removed some unnecessary parameter names. + + * wtf/HashCountedSet.h: + +2009-09-24 Janne Koskinen <janne.p.koskinen@digia.com> + + Reviewed by Simon Hausmann. + + On Windows JSChar is typedef'ed to wchar_t. + + When building with WINSCW for Symbian we need to do the + same typedef. + + * API/JSStringRef.h: + 2009-09-23 Geoffrey Garen <ggaren@apple.com> A piece of my last patch that I forgot. diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri index 7a815e3..73791e0 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri @@ -128,12 +128,16 @@ SOURCES += \ yarr/RegexJIT.cpp \ interpreter/RegisterFile.cpp -win32-*|wince* { - SOURCES += jit/ExecutableAllocatorWin.cpp \ - runtime/MarkStackWin.cpp +symbian { + SOURCES += runtime/MarkStackSymbian.cpp } else { - SOURCES += jit/ExecutableAllocatorPosix.cpp \ - runtime/MarkStackPosix.cpp + win32-*|wince* { + SOURCES += jit/ExecutableAllocatorWin.cpp \ + runtime/MarkStackWin.cpp + } else { + SOURCES += jit/ExecutableAllocatorPosix.cpp \ + runtime/MarkStackPosix.cpp + } } # AllInOneFile.cpp helps gcc analize and optimize code diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp index 43648c4..d726ecd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.cpp @@ -62,6 +62,33 @@ static bool isVFPPresent() const bool MacroAssemblerARM::s_isVFPPresent = isVFPPresent(); +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT +void MacroAssemblerARM::load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) +{ + ARMWord op2; + + ASSERT(address.scale >= 0 && address.scale <= 3); + op2 = m_assembler.lsl(address.index, static_cast<int>(address.scale)); + + if (address.offset >= 0 && address.offset + 0x2 <= 0xff) { + m_assembler.add_r(ARMRegisters::S0, address.base, op2); + m_assembler.ldrh_u(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(address.offset)); + m_assembler.ldrh_u(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::getOp2Byte(address.offset + 0x2)); + } else if (address.offset < 0 && address.offset >= -0xff) { + m_assembler.add_r(ARMRegisters::S0, address.base, op2); + m_assembler.ldrh_d(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(-address.offset)); + m_assembler.ldrh_d(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::getOp2Byte(-address.offset - 0x2)); + } else { + m_assembler.ldr_un_imm(ARMRegisters::S0, address.offset); + m_assembler.add_r(ARMRegisters::S0, ARMRegisters::S0, op2); + m_assembler.ldrh_r(dest, address.base, ARMRegisters::S0); + m_assembler.add_r(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::OP2_IMM | 0x2); + m_assembler.ldrh_r(ARMRegisters::S0, address.base, ARMRegisters::S0); + } + m_assembler.orr_r(dest, dest, m_assembler.lsl(ARMRegisters::S0, 16)); +} +#endif + } #endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h index 0c696c9..aa8cbb0 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -198,6 +198,15 @@ public: m_assembler.baseIndexTransfer32(true, dest, address.base, address.index, static_cast<int>(address.scale), address.offset); } +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest); +#else + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(address, dest); + } +#endif + DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest) { DataLabel32 dataLabel(this); @@ -364,6 +373,12 @@ public: return branch32(cond, ARMRegisters::S1, right); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + load32WithUnalignedHalfWords(left, ARMRegisters::S1); + return branch32(cond, ARMRegisters::S1, right); + } + Jump branch16(Condition cond, BaseIndex left, RegisterID right) { UNUSED_PARAM(cond); diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h index 999056b..a549604 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -375,6 +375,11 @@ public: load32(setupArmAddress(address), dest); } + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(setupArmAddress(address), dest); + } + void load32(void* address, RegisterID dest) { move(ImmPtr(address), addressTempRegister); @@ -717,6 +722,13 @@ public: return branch32(cond, addressTempRegister, right); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + // use addressTempRegister incase the branch32 we call uses dataTempRegister. :-/ + load32WithUnalignedHalfWords(left, addressTempRegister); + return branch32(cond, addressTempRegister, right); + } + Jump branch32(Condition cond, AbsoluteAddress left, RegisterID right) { load32(left.m_ptr, dataTempRegister); diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h index 61e0e17..5ebefa7 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86Common.h @@ -306,6 +306,11 @@ public: m_assembler.movl_mr(address.offset, address.base, address.index, address.scale, dest); } + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(address, dest); + } + DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest) { m_assembler.movl_mr_disp32(address.offset, address.base, dest); @@ -604,6 +609,11 @@ public: return Jump(m_assembler.jCC(x86Condition(cond))); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + return branch32(cond, left, right); + } + Jump branch16(Condition cond, BaseIndex left, RegisterID right) { m_assembler.cmpw_rm(right, left.offset, left.base, left.index, left.scale); diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h index 0163540..4ba58d7 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h @@ -441,10 +441,10 @@ namespace JSC { ALWAYS_INLINE bool isConstantRegisterIndex(int index) { return index >= FirstConstantRegisterIndex; } ALWAYS_INLINE JSValue getConstant(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex].jsValue(); } - unsigned addFunctionDecl(PassRefPtr<FunctionExecutable> n) { unsigned size = m_functionDecls.size(); m_functionDecls.append(n); return size; } + unsigned addFunctionDecl(NonNullPassRefPtr<FunctionExecutable> n) { unsigned size = m_functionDecls.size(); m_functionDecls.append(n); return size; } FunctionExecutable* functionDecl(int index) { return m_functionDecls[index].get(); } int numberOfFunctionDecls() { return m_functionDecls.size(); } - unsigned addFunctionExpr(PassRefPtr<FunctionExecutable> n) { unsigned size = m_functionExprs.size(); m_functionExprs.append(n); return size; } + unsigned addFunctionExpr(NonNullPassRefPtr<FunctionExecutable> n) { unsigned size = m_functionExprs.size(); m_functionExprs.append(n); return size; } FunctionExecutable* functionExpr(int index) { return m_functionExprs[index].get(); } unsigned addRegExp(RegExp* r) { createRareDataIfNecessary(); unsigned size = m_rareData->m_regexps.size(); m_rareData->m_regexps.append(r); return size; } diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h index 711b086..8e3ed9e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h +++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h @@ -113,7 +113,7 @@ namespace JSC { void sample(CodeBlock*, Instruction*); - ScriptExecutable* m_executable; + RefPtr<ScriptExecutable> m_executable; CodeBlock* m_codeBlock; int m_sampleCount; int m_opcodeSampleCount; diff --git a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.cpp b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.cpp index db02329..902a802 100644 --- a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.cpp @@ -100,12 +100,12 @@ JSValue evaluateInGlobalCallFrame(const UString& script, JSValue& exception, JSG { CallFrame* globalCallFrame = globalObject->globalExec(); - EvalExecutable eval(globalCallFrame, makeSource(script)); - JSObject* error = eval.compile(globalCallFrame, globalCallFrame->scopeChain()); + RefPtr<EvalExecutable> eval = EvalExecutable::create(globalCallFrame, makeSource(script)); + JSObject* error = eval->compile(globalCallFrame, globalCallFrame->scopeChain()); if (error) return error; - return globalObject->globalData()->interpreter->execute(&eval, globalCallFrame, globalObject, globalCallFrame->scopeChain(), &exception); + return globalObject->globalData()->interpreter->execute(eval.get(), globalCallFrame, globalObject, globalCallFrame->scopeChain(), &exception); } } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.cpp b/src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.cpp index 88b14e6..c9d7cc6 100644 --- a/src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/debugger/DebuggerCallFrame.cpp @@ -79,12 +79,12 @@ JSValue DebuggerCallFrame::evaluate(const UString& script, JSValue& exception) c if (!m_callFrame->codeBlock()) return JSValue(); - EvalExecutable eval(m_callFrame, makeSource(script)); - JSObject* error = eval.compile(m_callFrame, m_callFrame->scopeChain()); + RefPtr<EvalExecutable> eval = EvalExecutable::create(m_callFrame, makeSource(script)); + JSObject* error = eval->compile(m_callFrame, m_callFrame->scopeChain()); if (error) return error; - return m_callFrame->scopeChain()->globalData->interpreter->execute(&eval, m_callFrame, thisObject(), m_callFrame->scopeChain(), &exception); + return m_callFrame->scopeChain()->globalData->interpreter->execute(eval.get(), m_callFrame, thisObject(), m_callFrame->scopeChain(), &exception); } } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h index b9fa484..e903b79 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h @@ -38,7 +38,7 @@ namespace JSC { : m_valid(false) , m_interpreter(callFrame->interpreter()) , m_exception(exception) - , m_globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : function->scope().node()->globalObject()) + , m_globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : function->scope().globalObject()) { ASSERT(!function->isHostFunction()); m_closure = m_interpreter->prepareForRepeatCall(function->jsExecutable(), callFrame, function, argCount, function->scope().node(), exception); diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h index 92ec06e..b4d49db 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h @@ -51,14 +51,14 @@ namespace JSC { // Differs from dynamicGlobalObject() during function calls across web browser frames. JSGlobalObject* lexicalGlobalObject() const { - return scopeChain()->globalObject(); + return scopeChain()->globalObject; } // Differs from lexicalGlobalObject because this will have DOM window shell rather than // the actual DOM window, which can't be "this" for security reasons. JSObject* globalThisValue() const { - return scopeChain()->globalThisObject(); + return scopeChain()->globalThis; } // FIXME: Elsewhere, we use JSGlobalData* rather than JSGlobalData&. diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp index 8a8fb3c..847b1fa 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp @@ -363,10 +363,13 @@ NEVER_INLINE JSValue Interpreter::callEval(CallFrame* callFrame, RegisterFile* r } Interpreter::Interpreter() - : m_sampler(0) + : m_sampleEntryDepth(0) , m_reentryDepth(0) { privateExecute(InitializeAndReturn, 0, 0, 0); +#if ENABLE(OPCODE_SAMPLING) + enableSampler(); +#endif } #ifndef NDEBUG @@ -385,7 +388,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame) printf("-----------------------------------------------------------------------------\n"); CodeBlock* codeBlock = callFrame->codeBlock(); - RegisterFile* registerFile = &callFrame->scopeChain()->globalObject()->globalData()->interpreter->registerFile(); + RegisterFile* registerFile = &callFrame->scopeChain()->globalObject->globalData()->interpreter->registerFile(); const Register* it; const Register* end; JSValue v; @@ -629,7 +632,7 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S return jsNull(); } - DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject()); + DynamicGlobalObjectScope globalObjectScope(callFrame, scopeChain->globalObject); JSGlobalObject* lastGlobalObject = m_registerFile.globalObject(); JSGlobalObject* globalObject = callFrame->dynamicGlobalObject(); @@ -648,7 +651,7 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S JSValue result; { - SamplingTool::CallRecord callRecord(m_sampler); + SamplingTool::CallRecord callRecord(m_sampler.get()); m_reentryDepth++; #if ENABLE(JIT) @@ -689,7 +692,7 @@ JSValue Interpreter::execute(FunctionExecutable* functionExecutable, CallFrame* return jsNull(); } - DynamicGlobalObjectScope globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : scopeChain->globalObject()); + DynamicGlobalObjectScope globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : scopeChain->globalObject); CallFrame* newCallFrame = CallFrame::create(oldEnd); size_t dst = 0; @@ -714,7 +717,7 @@ JSValue Interpreter::execute(FunctionExecutable* functionExecutable, CallFrame* JSValue result; { - SamplingTool::CallRecord callRecord(m_sampler); + SamplingTool::CallRecord callRecord(m_sampler.get()); m_reentryDepth++; #if ENABLE(JIT) @@ -782,7 +785,7 @@ JSValue Interpreter::execute(CallFrameClosure& closure, JSValue* exception) JSValue result; { - SamplingTool::CallRecord callRecord(m_sampler); + SamplingTool::CallRecord callRecord(m_sampler.get()); m_reentryDepth++; #if ENABLE(JIT) @@ -819,7 +822,7 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSObjec } } - DynamicGlobalObjectScope globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : scopeChain->globalObject()); + DynamicGlobalObjectScope globalObjectScope(callFrame, callFrame->globalData().dynamicGlobalObject ? callFrame->globalData().dynamicGlobalObject : scopeChain->globalObject); EvalCodeBlock* codeBlock = &eval->bytecode(callFrame, scopeChain); @@ -876,7 +879,7 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSObjec JSValue result; { - SamplingTool::CallRecord callRecord(m_sampler); + SamplingTool::CallRecord callRecord(m_sampler.get()); m_reentryDepth++; #if ENABLE(JIT) @@ -1242,7 +1245,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi */ int dst = (++vPC)->u.operand; int regExp = (++vPC)->u.operand; - callFrame->r(dst) = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject()->regExpStructure(), callFrame->codeBlock()->regexp(regExp))); + callFrame->r(dst) = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject->regExpStructure(), callFrame->codeBlock()->regexp(regExp))); ++vPC; NEXT_INSTRUCTION(); @@ -2981,7 +2984,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi Register* newCallFrame = callFrame->registers() + registerOffset; Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount; JSValue thisValue = argv[0].jsValue(); - JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject(); + JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject; if (thisValue == globalObject && funcVal == globalObject->evalFunction()) { JSValue result = callEval(callFrame, registerFile, argv, argCount, registerOffset, exceptionValue); @@ -3056,7 +3059,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi JSValue returnValue; { - SamplingTool::HostCallRecord callRecord(m_sampler); + SamplingTool::HostCallRecord callRecord(m_sampler.get()); returnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args); } CHECK_FOR_EXCEPTION(); @@ -3210,7 +3213,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi JSValue returnValue; { - SamplingTool::HostCallRecord callRecord(m_sampler); + SamplingTool::HostCallRecord callRecord(m_sampler.get()); returnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args); } CHECK_FOR_EXCEPTION(); @@ -3429,7 +3432,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi if (prototype.isObject()) structure = asObject(prototype)->inheritorID(); else - structure = callDataScopeChain->globalObject()->emptyObjectStructure(); + structure = callDataScopeChain->globalObject->emptyObjectStructure(); JSObject* newObject = new (globalData) JSObject(structure); callFrame->r(thisRegister) = JSValue(newObject); // "this" value @@ -3462,7 +3465,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi JSValue returnValue; { - SamplingTool::HostCallRecord callRecord(m_sampler); + SamplingTool::HostCallRecord callRecord(m_sampler.get()); returnValue = constructData.native.function(newCallFrame, asObject(v), args); } CHECK_FOR_EXCEPTION(); @@ -3914,4 +3917,40 @@ CallFrame* Interpreter::findFunctionCallFrame(CallFrame* callFrame, InternalFunc return 0; } +void Interpreter::enableSampler() +{ +#if ENABLE(OPCODE_SAMPLING) + if (!m_sampler) { + m_sampler.set(new SamplingTool(this)); + m_sampler->setup(); + } +#endif +} +void Interpreter::dumpSampleData(ExecState* exec) +{ +#if ENABLE(OPCODE_SAMPLING) + if (m_sampler) + m_sampler->dump(exec); +#else + UNUSED_PARAM(exec); +#endif +} +void Interpreter::startSampling() +{ +#if ENABLE(SAMPLING_THREAD) + if (!m_sampleEntryDepth) + SamplingThread::start(); + + m_sampleEntryDepth++; +#endif +} +void Interpreter::stopSampling() +{ +#if ENABLE(SAMPLING_THREAD) + m_sampleEntryDepth--; + if (!m_sampleEntryDepth) + SamplingThread::stop(); +#endif +} + } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h index 8cb75d2..3046b28 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h @@ -105,13 +105,15 @@ namespace JSC { void getArgumentsData(CallFrame*, JSFunction*&, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc); - void setSampler(SamplingTool* sampler) { m_sampler = sampler; } - SamplingTool* sampler() { return m_sampler; } + SamplingTool* sampler() { return m_sampler.get(); } NEVER_INLINE JSValue callEval(CallFrame*, RegisterFile*, Register* argv, int argc, int registerOffset, JSValue& exceptionValue); NEVER_INLINE HandlerInfo* throwException(CallFrame*&, JSValue&, unsigned bytecodeOffset, bool); NEVER_INLINE void debug(CallFrame*, DebugHookID, int firstLine, int lastLine); + void dumpSampleData(ExecState* exec); + void startSampling(); + void stopSampling(); private: enum ExecutionFlag { Normal, InitializeAndReturn }; @@ -149,7 +151,9 @@ namespace JSC { bool isCallBytecode(Opcode opcode) { return opcode == getOpcode(op_call) || opcode == getOpcode(op_construct) || opcode == getOpcode(op_call_eval); } - SamplingTool* m_sampler; + void enableSampler(); + int m_sampleEntryDepth; + OwnPtr<SamplingTool> m_sampler; int m_reentryDepth; diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp index bf3a418..ea8434e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp @@ -195,7 +195,7 @@ void JIT::privateCompileMainPass() switch (m_interpreter->getOpcodeID(currentInstruction->u.opcode)) { DEFINE_BINARY_OP(op_del_by_val) -#if !USE(JSVALUE32_64) +#if USE(JSVALUE32) DEFINE_BINARY_OP(op_div) #endif DEFINE_BINARY_OP(op_in) @@ -230,7 +230,7 @@ void JIT::privateCompileMainPass() DEFINE_OP(op_create_arguments) DEFINE_OP(op_debug) DEFINE_OP(op_del_by_id) -#if USE(JSVALUE32_64) +#if !USE(JSVALUE32) DEFINE_OP(op_div) #endif DEFINE_OP(op_end) @@ -379,7 +379,7 @@ void JIT::privateCompileSlowCases() DEFINE_SLOWCASE_OP(op_construct) DEFINE_SLOWCASE_OP(op_construct_verify) DEFINE_SLOWCASE_OP(op_convert_this) -#if USE(JSVALUE32_64) +#if !USE(JSVALUE32) DEFINE_SLOWCASE_OP(op_div) #endif DEFINE_SLOWCASE_OP(op_eq) diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h index 5c58e9d..0712743 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h @@ -379,14 +379,18 @@ namespace JSC { enum CompileOpStrictEqType { OpStrictEq, OpNStrictEq }; void compileOpStrictEq(Instruction* instruction, CompileOpStrictEqType type); + bool isOperandConstantImmediateDouble(unsigned src); + + void emitLoadDouble(unsigned index, FPRegisterID value); + void emitLoadInt32ToDouble(unsigned index, FPRegisterID value); + + Address addressFor(unsigned index, RegisterID base = callFrameRegister); #if USE(JSVALUE32_64) Address tagFor(unsigned index, RegisterID base = callFrameRegister); Address payloadFor(unsigned index, RegisterID base = callFrameRegister); - Address addressFor(unsigned index, RegisterID base = callFrameRegister); bool getOperandConstantImmediateInt(unsigned op1, unsigned op2, unsigned& op, int32_t& constant); - bool isOperandConstantImmediateDouble(unsigned src); void emitLoadTag(unsigned index, RegisterID tag); void emitLoadPayload(unsigned index, RegisterID payload); @@ -394,8 +398,6 @@ namespace JSC { void emitLoad(const JSValue& v, RegisterID tag, RegisterID payload); void emitLoad(unsigned index, RegisterID tag, RegisterID payload, RegisterID base = callFrameRegister); void emitLoad2(unsigned index1, RegisterID tag1, RegisterID payload1, unsigned index2, RegisterID tag2, RegisterID payload2); - void emitLoadDouble(unsigned index, FPRegisterID value); - void emitLoadInt32ToDouble(unsigned index, FPRegisterID value); void emitStore(unsigned index, RegisterID tag, RegisterID payload, RegisterID base = callFrameRegister); void emitStore(unsigned index, const JSValue constant, RegisterID base = callFrameRegister); @@ -499,6 +501,7 @@ namespace JSC { JIT::Jump emitJumpIfNotImmediateInteger(RegisterID); JIT::Jump emitJumpIfNotImmediateIntegers(RegisterID, RegisterID, RegisterID); void emitJumpSlowCaseIfNotImmediateInteger(RegisterID); + void emitJumpSlowCaseIfNotImmediateNumber(RegisterID); void emitJumpSlowCaseIfNotImmediateIntegers(RegisterID, RegisterID, RegisterID); #if !USE(JSVALUE64) @@ -511,7 +514,11 @@ namespace JSC { void emitTagAsBoolImmediate(RegisterID reg); void compileBinaryArithOp(OpcodeID, unsigned dst, unsigned src1, unsigned src2, OperandTypes opi); - void compileBinaryArithOpSlowCase(OpcodeID, Vector<SlowCaseEntry>::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes opi); +#if USE(JSVALUE64) + void compileBinaryArithOpSlowCase(OpcodeID, Vector<SlowCaseEntry>::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase); +#else + void compileBinaryArithOpSlowCase(OpcodeID, Vector<SlowCaseEntry>::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes); +#endif #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) void compileGetByIdHotPath(int resultVReg, int baseVReg, Identifier* ident, unsigned propertyAccessInstructionIndex); @@ -535,7 +542,7 @@ namespace JSC { static const int patchOffsetGetByIdPropertyMapOffset = 31; static const int patchOffsetGetByIdPutResult = 31; #if ENABLE(OPCODE_SAMPLING) - static const int patchOffsetGetByIdSlowCaseCall = 63; + static const int patchOffsetGetByIdSlowCaseCall = 64; #else static const int patchOffsetGetByIdSlowCaseCall = 41; #endif diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITArithmetic.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITArithmetic.cpp index 3be13cb..7afc1f2 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITArithmetic.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITArithmetic.cpp @@ -566,6 +566,14 @@ void JIT::emit_op_add(Instruction* currentInstruction) unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { + JITStubCall stubCall(this, cti_op_add); + stubCall.addArgument(op1); + stubCall.addArgument(op2); + stubCall.call(dst); + return; + } + JumpList notInt32Op1; JumpList notInt32Op2; @@ -630,19 +638,21 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector<SlowCaseEntry> unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + unsigned op; int32_t constant; if (getOperandConstantImmediateInt(op1, op2, op, constant)) { linkSlowCase(iter); // overflow check - if (!supportsFloatingPoint()) { + if (!supportsFloatingPoint()) linkSlowCase(iter); // non-sse case - return; + else { + ResultType opType = op == op1 ? types.first() : types.second(); + if (!opType.definitelyIsNumber()) + linkSlowCase(iter); // double check } - - ResultType opType = op == op1 ? types.first() : types.second(); - if (!opType.definitelyIsNumber()) - linkSlowCase(iter); // double check } else { linkSlowCase(iter); // overflow check @@ -1932,55 +1942,87 @@ void JIT::compileBinaryArithOp(OpcodeID opcodeID, unsigned, unsigned op1, unsign emitFastArithIntToImmNoCheck(regT0, regT0); } -void JIT::compileBinaryArithOpSlowCase(OpcodeID opcodeID, Vector<SlowCaseEntry>::iterator& iter, unsigned result, unsigned op1, unsigned, OperandTypes types) +void JIT::compileBinaryArithOpSlowCase(OpcodeID opcodeID, Vector<SlowCaseEntry>::iterator& iter, unsigned result, unsigned op1, unsigned op2, OperandTypes types, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase) { // We assume that subtracting TagTypeNumber is equivalent to adding DoubleEncodeOffset. COMPILE_ASSERT(((JSImmediate::TagTypeNumber + JSImmediate::DoubleEncodeOffset) == 0), TagTypeNumber_PLUS_DoubleEncodeOffset_EQUALS_0); - - Jump notImm1 = getSlowCase(iter); - Jump notImm2 = getSlowCase(iter); + + Jump notImm1; + Jump notImm2; + if (op1HasImmediateIntFastCase) { + notImm2 = getSlowCase(iter); + } else if (op2HasImmediateIntFastCase) { + notImm1 = getSlowCase(iter); + } else { + notImm1 = getSlowCase(iter); + notImm2 = getSlowCase(iter); + } linkSlowCase(iter); // Integer overflow case - we could handle this in JIT code, but this is likely rare. - if (opcodeID == op_mul) // op_mul has an extra slow case to handle 0 * negative number. + if (opcodeID == op_mul && !op1HasImmediateIntFastCase && !op2HasImmediateIntFastCase) // op_mul has an extra slow case to handle 0 * negative number. linkSlowCase(iter); emitGetVirtualRegister(op1, regT0); Label stubFunctionCall(this); JITStubCall stubCall(this, opcodeID == op_add ? cti_op_add : opcodeID == op_sub ? cti_op_sub : cti_op_mul); + if (op1HasImmediateIntFastCase || op2HasImmediateIntFastCase) { + emitGetVirtualRegister(op1, regT0); + emitGetVirtualRegister(op2, regT1); + } stubCall.addArgument(regT0); stubCall.addArgument(regT1); stubCall.call(result); Jump end = jump(); - // if we get here, eax is not an int32, edx not yet checked. - notImm1.link(this); - if (!types.first().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); - if (!types.second().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); - addPtr(tagTypeNumberRegister, regT0); - movePtrToDouble(regT0, fpRegT1); - Jump op2isDouble = emitJumpIfNotImmediateInteger(regT1); - convertInt32ToDouble(regT1, fpRegT2); - Jump op2wasInteger = jump(); - - // if we get here, eax IS an int32, edx is not. - notImm2.link(this); - if (!types.second().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); - convertInt32ToDouble(regT0, fpRegT1); - op2isDouble.link(this); - addPtr(tagTypeNumberRegister, regT1); - movePtrToDouble(regT1, fpRegT2); - op2wasInteger.link(this); + if (op1HasImmediateIntFastCase) { + notImm2.link(this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + emitGetVirtualRegister(op1, regT1); + convertInt32ToDouble(regT1, fpRegT1); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT2); + } else if (op2HasImmediateIntFastCase) { + notImm1.link(this); + if (!types.first().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + emitGetVirtualRegister(op2, regT1); + convertInt32ToDouble(regT1, fpRegT1); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT2); + } else { + // if we get here, eax is not an int32, edx not yet checked. + notImm1.link(this); + if (!types.first().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT1); + Jump op2isDouble = emitJumpIfNotImmediateInteger(regT1); + convertInt32ToDouble(regT1, fpRegT2); + Jump op2wasInteger = jump(); + + // if we get here, eax IS an int32, edx is not. + notImm2.link(this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); + convertInt32ToDouble(regT0, fpRegT1); + op2isDouble.link(this); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT2); + op2wasInteger.link(this); + } if (opcodeID == op_add) addDouble(fpRegT2, fpRegT1); else if (opcodeID == op_sub) subDouble(fpRegT2, fpRegT1); - else { - ASSERT(opcodeID == op_mul); + else if (opcodeID == op_mul) mulDouble(fpRegT2, fpRegT1); + else { + ASSERT(opcodeID == op_div); + divDouble(fpRegT2, fpRegT1); } moveDoubleToPtr(fpRegT1, regT0); subPtr(tagTypeNumberRegister, regT0); @@ -2025,16 +2067,14 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector<SlowCaseEntry> unsigned result = currentInstruction[1].u.operand; unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if (isOperandConstantImmediateInt(op1) || isOperandConstantImmediateInt(op2)) { - linkSlowCase(iter); - linkSlowCase(iter); - JITStubCall stubCall(this, cti_op_add); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } else - compileBinaryArithOpSlowCase(op_add, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + + bool op1HasImmediateIntFastCase = isOperandConstantImmediateInt(op1); + bool op2HasImmediateIntFastCase = !op1HasImmediateIntFastCase && isOperandConstantImmediateInt(op2); + compileBinaryArithOpSlowCase(op_add, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand), op1HasImmediateIntFastCase, op2HasImmediateIntFastCase); } void JIT::emit_op_mul(Instruction* currentInstruction) @@ -2069,17 +2109,106 @@ void JIT::emitSlow_op_mul(Instruction* currentInstruction, Vector<SlowCaseEntry> unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if ((isOperandConstantImmediateInt(op1) && (getConstantOperandImmediateInt(op1) > 0)) - || (isOperandConstantImmediateInt(op2) && (getConstantOperandImmediateInt(op2) > 0))) { - linkSlowCase(iter); - linkSlowCase(iter); - // There is an extra slow case for (op1 * -N) or (-N * op2), to check for 0 since this should produce a result of -0. - JITStubCall stubCall(this, cti_op_mul); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } else - compileBinaryArithOpSlowCase(op_mul, iter, result, op1, op2, types); + bool op1HasImmediateIntFastCase = isOperandConstantImmediateInt(op1) && getConstantOperandImmediateInt(op1) > 0; + bool op2HasImmediateIntFastCase = !op1HasImmediateIntFastCase && isOperandConstantImmediateInt(op2) && getConstantOperandImmediateInt(op2) > 0; + compileBinaryArithOpSlowCase(op_mul, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand), op1HasImmediateIntFastCase, op2HasImmediateIntFastCase); +} + +void JIT::emit_op_div(Instruction* currentInstruction) +{ + unsigned dst = currentInstruction[1].u.operand; + unsigned op1 = currentInstruction[2].u.operand; + unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + + if (isOperandConstantImmediateDouble(op1)) { + emitGetVirtualRegister(op1, regT0); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT0); + } else if (isOperandConstantImmediateInt(op1)) { + emitLoadInt32ToDouble(op1, fpRegT0); + } else { + emitGetVirtualRegister(op1, regT0); + if (!types.first().definitelyIsNumber()) + emitJumpSlowCaseIfNotImmediateNumber(regT0); + Jump notInt = emitJumpIfNotImmediateInteger(regT0); + convertInt32ToDouble(regT0, fpRegT0); + Jump skipDoubleLoad = jump(); + notInt.link(this); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT0); + skipDoubleLoad.link(this); + } + + if (isOperandConstantImmediateDouble(op2)) { + emitGetVirtualRegister(op2, regT1); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT1); + } else if (isOperandConstantImmediateInt(op2)) { + emitLoadInt32ToDouble(op2, fpRegT1); + } else { + emitGetVirtualRegister(op2, regT1); + if (!types.second().definitelyIsNumber()) + emitJumpSlowCaseIfNotImmediateNumber(regT1); + Jump notInt = emitJumpIfNotImmediateInteger(regT1); + convertInt32ToDouble(regT1, fpRegT1); + Jump skipDoubleLoad = jump(); + notInt.link(this); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT1); + skipDoubleLoad.link(this); + } + divDouble(fpRegT1, fpRegT0); + + JumpList doubleResult; + Jump end; + bool attemptIntConversion = (!isOperandConstantImmediateInt(op1) || getConstantOperand(op1).asInt32() > 1) && isOperandConstantImmediateInt(op2); + if (attemptIntConversion) { + m_assembler.cvttsd2si_rr(fpRegT0, regT0); + doubleResult.append(branchTest32(Zero, regT0)); + m_assembler.ucomisd_rr(fpRegT1, fpRegT0); + + doubleResult.append(m_assembler.jne()); + doubleResult.append(m_assembler.jp()); + emitFastArithIntToImmNoCheck(regT0, regT0); + end = jump(); + } + + // Double result. + doubleResult.link(this); + moveDoubleToPtr(fpRegT0, regT0); + subPtr(tagTypeNumberRegister, regT0); + + if (attemptIntConversion) + end.link(this); + emitPutVirtualRegister(dst, regT0); +} + +void JIT::emitSlow_op_div(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter) +{ + unsigned result = currentInstruction[1].u.operand; + unsigned op1 = currentInstruction[2].u.operand; + unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (types.first().definitelyIsNumber() && types.second().definitelyIsNumber()) { +#ifndef NDEBUG + breakpoint(); +#endif + return; + } + if (!isOperandConstantImmediateDouble(op1) && !isOperandConstantImmediateInt(op1)) { + if (!types.first().definitelyIsNumber()) + linkSlowCase(iter); + } + if (!isOperandConstantImmediateDouble(op2) && !isOperandConstantImmediateInt(op2)) { + if (!types.second().definitelyIsNumber()) + linkSlowCase(iter); + } + // There is an extra slow case for (op1 * -N) or (-N * op2), to check for 0 since this should produce a result of -0. + JITStubCall stubCall(this, cti_op_div); + stubCall.addArgument(op1, regT2); + stubCall.addArgument(op2, regT2); + stubCall.call(result); } void JIT::emit_op_sub(Instruction* currentInstruction) @@ -2090,7 +2219,6 @@ void JIT::emit_op_sub(Instruction* currentInstruction) OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); compileBinaryArithOp(op_sub, result, op1, op2, types); - emitPutVirtualRegister(result); } @@ -2101,7 +2229,7 @@ void JIT::emitSlow_op_sub(Instruction* currentInstruction, Vector<SlowCaseEntry> unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - compileBinaryArithOpSlowCase(op_sub, iter, result, op1, op2, types); + compileBinaryArithOpSlowCase(op_sub, iter, result, op1, op2, types, false, false); } #else // USE(JSVALUE64) @@ -2284,6 +2412,15 @@ void JIT::emit_op_add(Instruction* currentInstruction) unsigned result = currentInstruction[1].u.operand; unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { + JITStubCall stubCall(this, cti_op_add); + stubCall.addArgument(op1, regT2); + stubCall.addArgument(op2, regT2); + stubCall.call(result); + return; + } if (isOperandConstantImmediateInt(op1)) { emitGetVirtualRegister(op2, regT0); @@ -2298,15 +2435,7 @@ void JIT::emit_op_add(Instruction* currentInstruction) signExtend32ToPtr(regT0, regT0); emitPutVirtualRegister(result); } else { - OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if (types.first().mightBeNumber() && types.second().mightBeNumber()) - compileBinaryArithOp(op_add, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); - else { - JITStubCall stubCall(this, cti_op_add); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } + compileBinaryArithOp(op_add, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); } } @@ -2316,6 +2445,10 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector<SlowCaseEntry> unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + if (isOperandConstantImmediateInt(op1)) { Jump notImm = getSlowCase(iter); linkSlowCase(iter); diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h index e69e273..f26457a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h @@ -65,6 +65,11 @@ ALWAYS_INLINE void JIT::emitGetJITStubArg(unsigned argumentNumber, RegisterID ds peek(dst, argumentStackOffset); } +ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble(unsigned src) +{ + return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isDouble(); +} + ALWAYS_INLINE JSValue JIT::getConstantOperand(unsigned src) { ASSERT(m_codeBlock->isConstantRegisterIndex(src)); @@ -305,6 +310,11 @@ ALWAYS_INLINE void JIT::sampleCodeBlock(CodeBlock* codeBlock) #endif #endif +inline JIT::Address JIT::addressFor(unsigned index, RegisterID base) +{ + return Address(base, (index * sizeof(Register))); +} + #if USE(JSVALUE32_64) inline JIT::Address JIT::tagFor(unsigned index, RegisterID base) @@ -317,11 +327,6 @@ inline JIT::Address JIT::payloadFor(unsigned index, RegisterID base) return Address(base, (index * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)); } -inline JIT::Address JIT::addressFor(unsigned index, RegisterID base) -{ - return Address(base, (index * sizeof(Register))); -} - inline void JIT::emitLoadTag(unsigned index, RegisterID tag) { RegisterID mappedTag; @@ -579,11 +584,6 @@ ALWAYS_INLINE bool JIT::getOperandConstantImmediateInt(unsigned op1, unsigned op return false; } -ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble(unsigned src) -{ - return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isDouble(); -} - /* Deprecated: Please use JITStubCall instead. */ ALWAYS_INLINE void JIT::emitPutJITStubArg(RegisterID tag, RegisterID payload, unsigned argumentNumber) @@ -732,6 +732,24 @@ ALWAYS_INLINE JIT::Jump JIT::emitJumpIfNotImmediateNumber(RegisterID reg) { return branchTestPtr(Zero, reg, tagTypeNumberRegister); } + +inline void JIT::emitLoadDouble(unsigned index, FPRegisterID value) +{ + if (m_codeBlock->isConstantRegisterIndex(index)) { + Register& inConstantPool = m_codeBlock->constantRegister(index); + loadDouble(&inConstantPool, value); + } else + loadDouble(addressFor(index), value); +} + +inline void JIT::emitLoadInt32ToDouble(unsigned index, FPRegisterID value) +{ + if (m_codeBlock->isConstantRegisterIndex(index)) { + Register& inConstantPool = m_codeBlock->constantRegister(index); + convertInt32ToDouble(AbsoluteAddress(&inConstantPool), value); + } else + convertInt32ToDouble(addressFor(index), value); +} #endif ALWAYS_INLINE JIT::Jump JIT::emitJumpIfImmediateInteger(RegisterID reg) @@ -769,6 +787,11 @@ ALWAYS_INLINE void JIT::emitJumpSlowCaseIfNotImmediateIntegers(RegisterID reg1, addSlowCase(emitJumpIfNotImmediateIntegers(reg1, reg2, scratch)); } +ALWAYS_INLINE void JIT::emitJumpSlowCaseIfNotImmediateNumber(RegisterID reg) +{ + addSlowCase(emitJumpIfNotImmediateNumber(reg)); +} + #if !USE(JSVALUE64) ALWAYS_INLINE void JIT::emitFastArithDeTagImmediate(RegisterID reg) { diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp index 28d630b..7059cc8 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp @@ -794,14 +794,17 @@ void JIT::emit_op_jfalse(Instruction* currentInstruction) Jump isTrue2 = branch32(NotEqual, regT0, Imm32(0)); addJump(jump(), target + 2); - isNotInteger.link(this); + if (supportsFloatingPoint()) { + isNotInteger.link(this); - addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + + zeroDouble(fpRegT0); + emitLoadDouble(cond, fpRegT1); + addJump(branchDouble(DoubleEqual, fpRegT0, fpRegT1), target + 2); + } else + addSlowCase(isNotInteger); - zeroDouble(fpRegT0); - emitLoadDouble(cond, fpRegT1); - addJump(branchDouble(DoubleEqual, fpRegT0, fpRegT1), target + 2); - isTrue.link(this); isTrue2.link(this); } @@ -832,14 +835,17 @@ void JIT::emit_op_jtrue(Instruction* currentInstruction) Jump isFalse2 = branch32(Equal, regT0, Imm32(0)); addJump(jump(), target + 2); - isNotInteger.link(this); + if (supportsFloatingPoint()) { + isNotInteger.link(this); - addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + + zeroDouble(fpRegT0); + emitLoadDouble(cond, fpRegT1); + addJump(branchDouble(DoubleNotEqual, fpRegT0, fpRegT1), target + 2); + } else + addSlowCase(isNotInteger); - zeroDouble(fpRegT0); - emitLoadDouble(cond, fpRegT1); - addJump(branchDouble(DoubleNotEqual, fpRegT0, fpRegT1), target + 2); - isFalse.link(this); isFalse2.link(this); } diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp index 055a536..065b7ea 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp @@ -1182,7 +1182,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check) // for now. For now it performs a check on a special object on the global object only used for this // purpose. The object is in no way exposed, and as such the check will always pass. if (slot.slotBase() == baseValue) { - JIT::patchMethodCallProto(codeBlock, methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject()->methodCallDummy(), STUB_RETURN_ADDRESS); + JIT::patchMethodCallProto(codeBlock, methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject->methodCallDummy(), STUB_RETURN_ADDRESS); return JSValue::encode(result); } } @@ -1738,7 +1738,7 @@ DEFINE_STUB_FUNCTION(JSObject*, op_construct_JSConstruct) if (stackFrame.args[3].jsValue().isObject()) structure = asObject(stackFrame.args[3].jsValue())->inheritorID(); else - structure = constructor->scope().node()->globalObject()->emptyObjectStructure(); + structure = constructor->scope().node()->globalObject->emptyObjectStructure(); return new (stackFrame.globalData) JSObject(structure); } @@ -2641,7 +2641,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_call_eval) Register* newCallFrame = callFrame->registers() + registerOffset; Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount; JSValue thisValue = argv[0].jsValue(); - JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject(); + JSGlobalObject* globalObject = callFrame->scopeChain()->globalObject; if (thisValue == globalObject && funcVal == globalObject->evalFunction()) { JSValue exceptionValue; diff --git a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp index 92b1e58..9399b1a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp @@ -24,6 +24,7 @@ #include "BytecodeGenerator.h" #include "Completion.h" +#include "CurrentTime.h" #include "InitializeThreading.h" #include "JSArray.h" #include "JSFunction.h" @@ -118,53 +119,23 @@ public: long getElapsedMS(); // call stop() first private: -#if PLATFORM(QT) - uint m_startTime; - uint m_stopTime; -#elif PLATFORM(WIN_OS) - DWORD m_startTime; - DWORD m_stopTime; -#else - // Windows does not have timeval, disabling this class for now (bug 7399) - timeval m_startTime; - timeval m_stopTime; -#endif + double m_startTime; + double m_stopTime; }; void StopWatch::start() { -#if PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - m_startTime = t.toTime_t() * 1000 + t.time().msec(); -#elif PLATFORM(WIN_OS) - m_startTime = timeGetTime(); -#else - gettimeofday(&m_startTime, 0); -#endif + m_startTime = currentTime(); } void StopWatch::stop() { -#if PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - m_stopTime = t.toTime_t() * 1000 + t.time().msec(); -#elif PLATFORM(WIN_OS) - m_stopTime = timeGetTime(); -#else - gettimeofday(&m_stopTime, 0); -#endif + m_stopTime = currentTime(); } long StopWatch::getElapsedMS() { -#if PLATFORM(WIN_OS) || PLATFORM(QT) - return m_stopTime - m_startTime; -#else - timeval elapsedTime; - timersub(&m_stopTime, &m_startTime, &elapsedTime); - - return elapsedTime.tv_sec * 1000 + lroundf(elapsedTime.tv_usec / 1000.0f); -#endif + return static_cast<long>((m_stopTime - m_startTime) * 1000); } class GlobalObject : public JSGlobalObject { @@ -389,11 +360,8 @@ static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scr if (dump) BytecodeGenerator::setDumpsGeneratedCode(true); -#if ENABLE(OPCODE_SAMPLING) - Interpreter* interpreter = globalObject->globalData()->interpreter; - interpreter->setSampler(new SamplingTool(interpreter)); - interpreter->sampler()->setup(); -#endif + JSGlobalData* globalData = globalObject->globalData(); + #if ENABLE(SAMPLING_FLAGS) SamplingFlags::start(); #endif @@ -410,9 +378,7 @@ static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scr fileName = "[Command Line]"; } -#if ENABLE(SAMPLING_THREAD) - SamplingThread::start(); -#endif + globalData->startSampling(); Completion completion = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), makeSource(script, fileName)); success = success && completion.complType() != Throw; @@ -423,20 +389,14 @@ static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scr printf("End: %s\n", completion.value().toString(globalObject->globalExec()).ascii()); } -#if ENABLE(SAMPLING_THREAD) - SamplingThread::stop(); -#endif - + globalData->stopSampling(); globalObject->globalExec()->clearException(); } #if ENABLE(SAMPLING_FLAGS) SamplingFlags::stop(); #endif -#if ENABLE(OPCODE_SAMPLING) - interpreter->sampler()->dump(globalObject->globalExec()); - delete interpreter->sampler(); -#endif + globalData->dumpSampleData(globalObject->globalExec()); #if ENABLE(SAMPLING_COUNTERS) AbstractSamplingCounter::dump(); #endif diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.cpp index c60cb0e..0237fd4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.cpp @@ -37,7 +37,7 @@ ASSERT_CLASS_FITS_IN_CELL(ArrayConstructor); static JSValue JSC_HOST_CALL arrayConstructorIsArray(ExecState*, JSObject*, JSValue, const ArgList&); -ArrayConstructor::ArrayConstructor(ExecState* exec, PassRefPtr<Structure> structure, ArrayPrototype* arrayPrototype, Structure* prototypeFunctionStructure) +ArrayConstructor::ArrayConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, ArrayPrototype* arrayPrototype, Structure* prototypeFunctionStructure) : InternalFunction(&exec->globalData(), structure, Identifier(exec, arrayPrototype->classInfo()->className)) { // ECMA 15.4.3.1 Array.prototype diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.h index 2b79510..6d25400 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class ArrayConstructor : public InternalFunction { public: - ArrayConstructor(ExecState*, PassRefPtr<Structure>, ArrayPrototype*, Structure*); + ArrayConstructor(ExecState*, NonNullPassRefPtr<Structure>, ArrayPrototype*, Structure*); virtual ConstructType getConstructData(ConstructData&); virtual CallType getCallData(CallData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.cpp index e1b1f34..86e3f1b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.cpp @@ -115,7 +115,7 @@ const ClassInfo ArrayPrototype::info = {"Array", &JSArray::info, 0, ExecState::a */ // ECMA 15.4.4 -ArrayPrototype::ArrayPrototype(PassRefPtr<Structure> structure) +ArrayPrototype::ArrayPrototype(NonNullPassRefPtr<Structure> structure) : JSArray(structure) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.h index 6f7ed12..e52914c 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArrayPrototype.h @@ -28,7 +28,7 @@ namespace JSC { class ArrayPrototype : public JSArray { public: - explicit ArrayPrototype(PassRefPtr<Structure>); + explicit ArrayPrototype(NonNullPassRefPtr<Structure>); bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.cpp index 9fcba37..b0d8df3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.cpp @@ -28,7 +28,7 @@ namespace JSC { ASSERT_CLASS_FITS_IN_CELL(BooleanConstructor); -BooleanConstructor::BooleanConstructor(ExecState* exec, PassRefPtr<Structure> structure, BooleanPrototype* booleanPrototype) +BooleanConstructor::BooleanConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, BooleanPrototype* booleanPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, booleanPrototype->classInfo()->className)) { putDirectWithoutTransition(exec->propertyNames().prototype, booleanPrototype, DontEnum | DontDelete | ReadOnly); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.h index d9f51ab..1d8a26a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class BooleanConstructor : public InternalFunction { public: - BooleanConstructor(ExecState*, PassRefPtr<Structure>, BooleanPrototype*); + BooleanConstructor(ExecState*, NonNullPassRefPtr<Structure>, BooleanPrototype*); private: virtual ConstructType getConstructData(ConstructData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.cpp index 01f695a..c9b3846 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.cpp @@ -27,7 +27,7 @@ ASSERT_CLASS_FITS_IN_CELL(BooleanObject); const ClassInfo BooleanObject::info = { "Boolean", 0, 0, 0 }; -BooleanObject::BooleanObject(PassRefPtr<Structure> structure) +BooleanObject::BooleanObject(NonNullPassRefPtr<Structure> structure) : JSWrapperObject(structure) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.h index 5f3e5f0..28f796a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanObject.h @@ -27,7 +27,7 @@ namespace JSC { class BooleanObject : public JSWrapperObject { public: - explicit BooleanObject(PassRefPtr<Structure>); + explicit BooleanObject(NonNullPassRefPtr<Structure>); virtual const ClassInfo* classInfo() const { return &info; } static const ClassInfo info; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.cpp index cf4fbd7..8d338f9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.cpp @@ -37,7 +37,7 @@ static JSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState*, JSObject*, JSVa // ECMA 15.6.4 -BooleanPrototype::BooleanPrototype(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) +BooleanPrototype::BooleanPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) : BooleanObject(structure) { setInternalValue(jsBoolean(false)); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.h index 16f80b5..cc69b3f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BooleanPrototype.h @@ -27,7 +27,7 @@ namespace JSC { class BooleanPrototype : public BooleanObject { public: - BooleanPrototype(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure); + BooleanPrototype(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure); }; } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp index c02744c..474d7bf 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp @@ -841,10 +841,16 @@ void NEVER_INLINE Heap::markCurrentThreadConservativelyInternal(MarkStack& markS markConservatively(markStack, stackPointer, stackBase); } +#if COMPILER(GCC) +#define REGISTER_BUFFER_ALIGNMENT __attribute__ ((aligned (sizeof(void*)))) +#else +#define REGISTER_BUFFER_ALIGNMENT +#endif + void Heap::markCurrentThreadConservatively(MarkStack& markStack) { // setjmp forces volatile registers onto the stack - jmp_buf registers; + jmp_buf registers REGISTER_BUFFER_ALIGNMENT; #if COMPILER(MSVC) #pragma warning(push) #pragma warning(disable: 4611) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h index 1a55bb5..0ecff19 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h @@ -181,7 +181,7 @@ namespace JSC { #endif template<> struct CellSize<sizeof(uint64_t)> { static const size_t m_value = 64; }; -#if PLATFORM(WINCE) +#if PLATFORM(WINCE) || PLATFORM(SYMBIAN) const size_t BLOCK_SIZE = 64 * 1024; // 64k #else const size_t BLOCK_SIZE = 64 * 4096; // 256k diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Completion.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Completion.cpp index ec3e000..2507698 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Completion.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Completion.cpp @@ -37,8 +37,8 @@ Completion checkSyntax(ExecState* exec, const SourceCode& source) { JSLock lock(exec); - ProgramExecutable program(exec, source); - JSObject* error = program.checkSyntax(exec); + RefPtr<ProgramExecutable> program = ProgramExecutable::create(exec, source); + JSObject* error = program->checkSyntax(exec); if (error) return Completion(Throw, error); @@ -49,15 +49,15 @@ Completion evaluate(ExecState* exec, ScopeChain& scopeChain, const SourceCode& s { JSLock lock(exec); - ProgramExecutable program(exec, source); - JSObject* error = program.compile(exec, scopeChain.node()); + RefPtr<ProgramExecutable> program = ProgramExecutable::create(exec, source); + JSObject* error = program->compile(exec, scopeChain.node()); if (error) return Completion(Throw, error); JSObject* thisObj = (!thisValue || thisValue.isUndefinedOrNull()) ? exec->dynamicGlobalObject() : thisValue.toObject(exec); JSValue exception; - JSValue result = exec->interpreter()->execute(&program, exec, scopeChain.node(), thisObj, &exception); + JSValue result = exec->interpreter()->execute(program.get(), exec, scopeChain.node(), thisObj, &exception); if (exception) { if (exception.isObject() && asObject(exception)->isWatchdogException()) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp index 1879c3f..f9b7d84 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp @@ -57,7 +57,7 @@ static JSValue JSC_HOST_CALL dateParse(ExecState*, JSObject*, JSValue, const Arg static JSValue JSC_HOST_CALL dateNow(ExecState*, JSObject*, JSValue, const ArgList&); static JSValue JSC_HOST_CALL dateUTC(ExecState*, JSObject*, JSValue, const ArgList&); -DateConstructor::DateConstructor(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure, DatePrototype* datePrototype) +DateConstructor::DateConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure, DatePrototype* datePrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, datePrototype->classInfo()->className)) { putDirectWithoutTransition(exec->propertyNames().prototype, datePrototype, DontEnum|DontDelete|ReadOnly); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.h index dcef3cc..10e450e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class DateConstructor : public InternalFunction { public: - DateConstructor(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure, DatePrototype*); + DateConstructor(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure, DatePrototype*); private: virtual ConstructType getConstructData(ConstructData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp index 62791ae..6b479ae 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp @@ -39,7 +39,7 @@ struct DateInstance::Cache { const ClassInfo DateInstance::info = {"Date", 0, 0, 0}; -DateInstance::DateInstance(PassRefPtr<Structure> structure) +DateInstance::DateInstance(NonNullPassRefPtr<Structure> structure) : JSWrapperObject(structure) , m_cache(0) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h index 3b73521..c8edc2f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h @@ -31,7 +31,7 @@ namespace JSC { class DateInstance : public JSWrapperObject { public: - explicit DateInstance(PassRefPtr<Structure>); + explicit DateInstance(NonNullPassRefPtr<Structure>); virtual ~DateInstance(); double internalNumber() const { return internalValue().uncheckedGetNumber(); } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp index c6f7dec..e46ab67 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp @@ -395,7 +395,7 @@ const ClassInfo DatePrototype::info = {"Date", &DateInstance::info, 0, ExecState // ECMA 15.9.4 -DatePrototype::DatePrototype(ExecState* exec, PassRefPtr<Structure> structure) +DatePrototype::DatePrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure) : DateInstance(structure) { setInternalValue(jsNaN(exec)); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h index 12fabda..caed2d4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h @@ -29,7 +29,7 @@ namespace JSC { class DatePrototype : public DateInstance { public: - DatePrototype(ExecState*, PassRefPtr<Structure>); + DatePrototype(ExecState*, NonNullPassRefPtr<Structure>); virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.cpp index 07b7e23..b9c3f58 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.cpp @@ -29,7 +29,7 @@ namespace JSC { ASSERT_CLASS_FITS_IN_CELL(ErrorConstructor); -ErrorConstructor::ErrorConstructor(ExecState* exec, PassRefPtr<Structure> structure, ErrorPrototype* errorPrototype) +ErrorConstructor::ErrorConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, ErrorPrototype* errorPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, errorPrototype->classInfo()->className)) { // ECMA 15.11.3.1 Error.prototype diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.h index 2dd4124..e3d789b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorConstructor.h @@ -30,7 +30,7 @@ namespace JSC { class ErrorConstructor : public InternalFunction { public: - ErrorConstructor(ExecState*, PassRefPtr<Structure>, ErrorPrototype*); + ErrorConstructor(ExecState*, NonNullPassRefPtr<Structure>, ErrorPrototype*); private: virtual ConstructType getConstructData(ConstructData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.cpp index 2e2cdce..1cdb87a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.cpp @@ -25,7 +25,7 @@ namespace JSC { const ClassInfo ErrorInstance::info = { "Error", 0, 0, 0 }; -ErrorInstance::ErrorInstance(PassRefPtr<Structure> structure) +ErrorInstance::ErrorInstance(NonNullPassRefPtr<Structure> structure) : JSObject(structure) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.h index 6f9d262..9f53b51 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorInstance.h @@ -27,7 +27,7 @@ namespace JSC { class ErrorInstance : public JSObject { public: - explicit ErrorInstance(PassRefPtr<Structure>); + explicit ErrorInstance(NonNullPassRefPtr<Structure>); virtual const ClassInfo* classInfo() const { return &info; } static const ClassInfo info; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.cpp index 599390e..a9a7a43 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.cpp @@ -34,7 +34,7 @@ ASSERT_CLASS_FITS_IN_CELL(ErrorPrototype); static JSValue JSC_HOST_CALL errorProtoFuncToString(ExecState*, JSObject*, JSValue, const ArgList&); // ECMA 15.9.4 -ErrorPrototype::ErrorPrototype(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) +ErrorPrototype::ErrorPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) : ErrorInstance(structure) { // The constructor will be added later in ErrorConstructor's constructor diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.h index 53d12d9..a561590 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ErrorPrototype.h @@ -29,7 +29,7 @@ namespace JSC { class ErrorPrototype : public ErrorInstance { public: - ErrorPrototype(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure); + ErrorPrototype(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure); }; } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Executable.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Executable.h index 9728775..f74abe9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Executable.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Executable.h @@ -158,11 +158,6 @@ namespace JSC { class EvalExecutable : public ScriptExecutable { public: - EvalExecutable(ExecState* exec, const SourceCode& source) - : ScriptExecutable(exec, source) - , m_evalCodeBlock(0) - { - } ~EvalExecutable(); @@ -181,6 +176,11 @@ namespace JSC { static PassRefPtr<EvalExecutable> create(ExecState* exec, const SourceCode& source) { return adoptRef(new EvalExecutable(exec, source)); } private: + EvalExecutable(ExecState* exec, const SourceCode& source) + : ScriptExecutable(exec, source) + , m_evalCodeBlock(0) + { + } EvalCodeBlock* m_evalCodeBlock; #if ENABLE(JIT) @@ -199,12 +199,11 @@ namespace JSC { class ProgramExecutable : public ScriptExecutable { public: - ProgramExecutable(ExecState* exec, const SourceCode& source) - : ScriptExecutable(exec, source) - , m_programCodeBlock(0) + static PassRefPtr<ProgramExecutable> create(ExecState* exec, const SourceCode& source) { + return adoptRef(new ProgramExecutable(exec, source)); } - + ~ProgramExecutable(); ProgramCodeBlock& bytecode(ExecState* exec, ScopeChainNode* scopeChainNode) @@ -223,6 +222,11 @@ namespace JSC { ExceptionInfo* reparseExceptionInfo(JSGlobalData*, ScopeChainNode*, CodeBlock*) { ASSERT_NOT_REACHED(); return 0; } private: + ProgramExecutable(ExecState* exec, const SourceCode& source) + : ScriptExecutable(exec, source) + , m_programCodeBlock(0) + { + } ProgramCodeBlock* m_programCodeBlock; #if ENABLE(JIT) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.cpp index d5eb20f..9d88400 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.cpp @@ -34,7 +34,7 @@ namespace JSC { ASSERT_CLASS_FITS_IN_CELL(FunctionConstructor); -FunctionConstructor::FunctionConstructor(ExecState* exec, PassRefPtr<Structure> structure, FunctionPrototype* functionPrototype) +FunctionConstructor::FunctionConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, FunctionPrototype* functionPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, functionPrototype->classInfo()->className)) { putDirectWithoutTransition(exec->propertyNames().prototype, functionPrototype, DontEnum | DontDelete | ReadOnly); @@ -92,7 +92,7 @@ JSObject* constructFunction(ExecState* exec, const ArgList& args, const Identifi return throwError(exec, SyntaxError, errMsg, errLine, source.provider()->asID(), source.provider()->url()); JSGlobalObject* globalObject = exec->lexicalGlobalObject(); - ScopeChain scopeChain(globalObject, globalObject->globalData(), exec->globalThisValue()); + ScopeChain scopeChain(globalObject, globalObject->globalData(), globalObject, exec->globalThisValue()); return new (exec) JSFunction(exec, function, scopeChain.node()); } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.h index e8486dc..197f320 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class FunctionConstructor : public InternalFunction { public: - FunctionConstructor(ExecState*, PassRefPtr<Structure>, FunctionPrototype*); + FunctionConstructor(ExecState*, NonNullPassRefPtr<Structure>, FunctionPrototype*); private: virtual ConstructType getConstructData(ConstructData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.cpp index 1dad31a..45f17b1 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.cpp @@ -37,7 +37,7 @@ static JSValue JSC_HOST_CALL functionProtoFuncToString(ExecState*, JSObject*, JS static JSValue JSC_HOST_CALL functionProtoFuncApply(ExecState*, JSObject*, JSValue, const ArgList&); static JSValue JSC_HOST_CALL functionProtoFuncCall(ExecState*, JSObject*, JSValue, const ArgList&); -FunctionPrototype::FunctionPrototype(ExecState* exec, PassRefPtr<Structure> structure) +FunctionPrototype::FunctionPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure) : InternalFunction(&exec->globalData(), structure, exec->propertyNames().nullIdentifier) { putDirectWithoutTransition(exec->propertyNames().length, jsNumber(exec, 0), DontDelete | ReadOnly | DontEnum); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.h index 469191e..0e38549 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/FunctionPrototype.h @@ -29,7 +29,7 @@ namespace JSC { class FunctionPrototype : public InternalFunction { public: - FunctionPrototype(ExecState*, PassRefPtr<Structure>); + FunctionPrototype(ExecState*, NonNullPassRefPtr<Structure>); void addFunctionProperties(ExecState*, Structure* prototypeFunctionStructure, NativeFunctionWrapper** callFunction, NativeFunctionWrapper** applyFunction); static PassRefPtr<Structure> createStructure(JSValue proto) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.cpp index 3074f95..c26002b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.cpp @@ -32,7 +32,7 @@ namespace JSC { ASSERT_CLASS_FITS_IN_CELL(GlobalEvalFunction); -GlobalEvalFunction::GlobalEvalFunction(ExecState* exec, PassRefPtr<Structure> structure, int len, const Identifier& name, NativeFunction function, JSGlobalObject* cachedGlobalObject) +GlobalEvalFunction::GlobalEvalFunction(ExecState* exec, NonNullPassRefPtr<Structure> structure, int len, const Identifier& name, NativeFunction function, JSGlobalObject* cachedGlobalObject) : PrototypeFunction(exec, structure, len, name, function) , m_cachedGlobalObject(cachedGlobalObject) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.h b/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.h index c56b0dc..b62ad3e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/GlobalEvalFunction.h @@ -32,7 +32,7 @@ namespace JSC { class GlobalEvalFunction : public PrototypeFunction { public: - GlobalEvalFunction(ExecState*, PassRefPtr<Structure>, int len, const Identifier&, NativeFunction, JSGlobalObject* expectedThisObject); + GlobalEvalFunction(ExecState*, NonNullPassRefPtr<Structure>, int len, const Identifier&, NativeFunction, JSGlobalObject* expectedThisObject); JSGlobalObject* cachedGlobalObject() const { return m_cachedGlobalObject; } static PassRefPtr<Structure> createStructure(JSValue prototype) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.cpp index b5c9571..2ba2984 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.cpp @@ -37,7 +37,7 @@ const ClassInfo* InternalFunction::classInfo() const return &info; } -InternalFunction::InternalFunction(JSGlobalData* globalData, PassRefPtr<Structure> structure, const Identifier& name) +InternalFunction::InternalFunction(JSGlobalData* globalData, NonNullPassRefPtr<Structure> structure, const Identifier& name) : JSObject(structure) { putDirect(globalData->propertyNames->name, jsString(globalData, name.ustring()), DontDelete | ReadOnly | DontEnum); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.h b/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.h index 37077f6..fdd5cc1 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/InternalFunction.h @@ -46,8 +46,8 @@ namespace JSC { } protected: - InternalFunction(PassRefPtr<Structure> structure) : JSObject(structure) { } - InternalFunction(JSGlobalData*, PassRefPtr<Structure>, const Identifier&); + InternalFunction(NonNullPassRefPtr<Structure> structure) : JSObject(structure) { } + InternalFunction(JSGlobalData*, NonNullPassRefPtr<Structure>, const Identifier&); private: virtual CallType getCallData(CallData&) = 0; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp index 779c3e5..22fdaaf 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp @@ -39,7 +39,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSActivation); const ClassInfo JSActivation::info = { "JSActivation", 0, 0, 0 }; -JSActivation::JSActivation(CallFrame* callFrame, PassRefPtr<FunctionExecutable> functionExecutable) +JSActivation::JSActivation(CallFrame* callFrame, NonNullPassRefPtr<FunctionExecutable> functionExecutable) : Base(callFrame->globalData().activationStructure, new JSActivationData(functionExecutable, callFrame->registers())) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.h index 640b91a..583b988 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.h @@ -43,7 +43,7 @@ namespace JSC { class JSActivation : public JSVariableObject { typedef JSVariableObject Base; public: - JSActivation(CallFrame*, PassRefPtr<FunctionExecutable>); + JSActivation(CallFrame*, NonNullPassRefPtr<FunctionExecutable>); virtual ~JSActivation(); virtual void markChildren(MarkStack&); @@ -70,7 +70,7 @@ namespace JSC { private: struct JSActivationData : public JSVariableObjectData { - JSActivationData(PassRefPtr<FunctionExecutable> _functionExecutable, Register* registers) + JSActivationData(NonNullPassRefPtr<FunctionExecutable> _functionExecutable, Register* registers) : JSVariableObjectData(_functionExecutable->generatedBytecode().symbolTable(), registers) , functionExecutable(_functionExecutable) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.cpp index 101f543..c471dac 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.cpp @@ -130,7 +130,7 @@ inline void JSArray::checkConsistency(ConsistencyCheckType) #endif -JSArray::JSArray(PassRefPtr<Structure> structure) +JSArray::JSArray(NonNullPassRefPtr<Structure> structure) : JSObject(structure) { unsigned initialCapacity = 0; @@ -143,7 +143,7 @@ JSArray::JSArray(PassRefPtr<Structure> structure) checkConsistency(); } -JSArray::JSArray(PassRefPtr<Structure> structure, unsigned initialLength) +JSArray::JSArray(NonNullPassRefPtr<Structure> structure, unsigned initialLength) : JSObject(structure) { unsigned initialCapacity = min(initialLength, MIN_SPARSE_ARRAY_INDEX); @@ -166,7 +166,7 @@ JSArray::JSArray(PassRefPtr<Structure> structure, unsigned initialLength) Heap::heap(this)->reportExtraMemoryCost(initialCapacity * sizeof(JSValue)); } -JSArray::JSArray(PassRefPtr<Structure> structure, const ArgList& list) +JSArray::JSArray(NonNullPassRefPtr<Structure> structure, const ArgList& list) : JSObject(structure) { unsigned initialCapacity = list.size(); @@ -1066,26 +1066,4 @@ void JSArray::checkConsistency(ConsistencyCheckType type) #endif -JSArray* constructEmptyArray(ExecState* exec) -{ - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure()); -} - -JSArray* constructEmptyArray(ExecState* exec, unsigned initialLength) -{ - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), initialLength); -} - -JSArray* constructArray(ExecState* exec, JSValue singleItemValue) -{ - MarkedArgumentBuffer values; - values.append(singleItemValue); - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), values); -} - -JSArray* constructArray(ExecState* exec, const ArgList& values) -{ - return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), values); -} - } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.h index 4f2f86a..12768a4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSArray.h @@ -41,9 +41,9 @@ namespace JSC { friend class Walker; public: - explicit JSArray(PassRefPtr<Structure>); - JSArray(PassRefPtr<Structure>, unsigned initialLength); - JSArray(PassRefPtr<Structure>, const ArgList& initialValues); + explicit JSArray(NonNullPassRefPtr<Structure>); + JSArray(NonNullPassRefPtr<Structure>, unsigned initialLength); + JSArray(NonNullPassRefPtr<Structure>, const ArgList& initialValues); virtual ~JSArray(); virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&); @@ -116,11 +116,6 @@ namespace JSC { JSArray* asArray(JSValue); - JSArray* constructEmptyArray(ExecState*); - JSArray* constructEmptyArray(ExecState*, unsigned initialLength); - JSArray* constructArray(ExecState*, JSValue singleItemValue); - JSArray* constructArray(ExecState*, const ArgList& values); - inline JSArray* asArray(JSCell* cell) { ASSERT(cell->inherits(&JSArray::info)); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.cpp index 421c440..90d39f0 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.cpp @@ -35,7 +35,7 @@ namespace JSC { const ClassInfo JSByteArray::s_defaultInfo = { "ByteArray", 0, 0, 0 }; -JSByteArray::JSByteArray(ExecState* exec, PassRefPtr<Structure> structure, ByteArray* storage, const JSC::ClassInfo* classInfo) +JSByteArray::JSByteArray(ExecState* exec, NonNullPassRefPtr<Structure> structure, ByteArray* storage, const JSC::ClassInfo* classInfo) : JSObject(structure) , m_storage(storage) , m_classInfo(classInfo) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.h index 016c677..006f4a2 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSByteArray.h @@ -73,7 +73,7 @@ namespace JSC { setIndex(i, byteValue); } - JSByteArray(ExecState* exec, PassRefPtr<Structure>, WTF::ByteArray* storage, const JSC::ClassInfo* = &s_defaultInfo); + JSByteArray(ExecState* exec, NonNullPassRefPtr<Structure>, WTF::ByteArray* storage, const JSC::ClassInfo* = &s_defaultInfo); static PassRefPtr<Structure> createStructure(JSValue prototype); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp index 899518e..024e586 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp @@ -50,13 +50,13 @@ bool JSFunction::isHostFunctionNonInline() const return isHostFunction(); } -JSFunction::JSFunction(PassRefPtr<Structure> structure) +JSFunction::JSFunction(NonNullPassRefPtr<Structure> structure) : Base(structure) , m_executable(adoptRef(new VPtrHackExecutable())) { } -JSFunction::JSFunction(ExecState* exec, PassRefPtr<Structure> structure, int length, const Identifier& name, NativeFunction func) +JSFunction::JSFunction(ExecState* exec, NonNullPassRefPtr<Structure> structure, int length, const Identifier& name, NativeFunction func) : Base(&exec->globalData(), structure, name) #if ENABLE(JIT) , m_executable(adoptRef(new NativeExecutable(exec))) @@ -72,7 +72,7 @@ JSFunction::JSFunction(ExecState* exec, PassRefPtr<Structure> structure, int len #endif } -JSFunction::JSFunction(ExecState* exec, PassRefPtr<FunctionExecutable> executable, ScopeChainNode* scopeChainNode) +JSFunction::JSFunction(ExecState* exec, NonNullPassRefPtr<FunctionExecutable> executable, ScopeChainNode* scopeChainNode) : Base(&exec->globalData(), exec->lexicalGlobalObject()->functionStructure(), executable->name()) , m_executable(executable) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h index 019d83b..a9ac63e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h @@ -41,8 +41,8 @@ namespace JSC { typedef InternalFunction Base; public: - JSFunction(ExecState*, PassRefPtr<Structure>, int length, const Identifier&, NativeFunction); - JSFunction(ExecState*, PassRefPtr<FunctionExecutable>, ScopeChainNode*); + JSFunction(ExecState*, NonNullPassRefPtr<Structure>, int length, const Identifier&, NativeFunction); + JSFunction(ExecState*, NonNullPassRefPtr<FunctionExecutable>, ScopeChainNode*); virtual ~JSFunction(); JSObject* construct(ExecState*, const ArgList&); @@ -73,7 +73,7 @@ namespace JSC { virtual CallType getCallData(CallData&); private: - JSFunction(PassRefPtr<Structure>); + JSFunction(NonNullPassRefPtr<Structure>); bool isHostFunctionNonInline() const; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp index 99e266f..1221ef2 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp @@ -251,4 +251,19 @@ JSGlobalData::ClientData::~ClientData() { } +void JSGlobalData::startSampling() +{ + interpreter->startSampling(); +} + +void JSGlobalData::stopSampling() +{ + interpreter->stopSampling(); +} + +void JSGlobalData::dumpSampleData(ExecState* exec) +{ + interpreter->dumpSampleData(exec); +} + } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h index d547fac..3ad90ad 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h @@ -155,6 +155,9 @@ namespace JSC { bool mainThreadOnly; #endif + void startSampling(); + void stopSampling(); + void dumpSampleData(ExecState* exec); private: JSGlobalData(bool isShared, const VPtrSet&); static JSGlobalData*& sharedInstanceInternal(); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.cpp index 8d71ac3..3bb281e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.cpp @@ -121,7 +121,7 @@ JSGlobalObject::~JSGlobalObject() registerFile.setGlobalObject(0); registerFile.setNumGlobals(0); } - delete d(); + d()->destructor(d()); } void JSGlobalObject::init(JSObject* thisValue) @@ -129,7 +129,7 @@ void JSGlobalObject::init(JSObject* thisValue) ASSERT(JSLock::currentThreadIsHoldingLock()); d()->globalData = Heap::heap(this)->globalData(); - d()->globalScopeChain = ScopeChain(this, d()->globalData.get(), thisValue); + d()->globalScopeChain = ScopeChain(this, d()->globalData.get(), this, thisValue); JSGlobalObject::globalExec()->init(0, 0, d()->globalScopeChain.node(), CallFrame::noCaller(), 0, 0, 0); @@ -455,4 +455,9 @@ void* JSGlobalObject::operator new(size_t size, JSGlobalData* globalData) #endif } +void JSGlobalObject::destroyJSGlobalObjectData(void* jsGlobalObjectData) +{ + delete static_cast<JSGlobalObjectData*>(jsGlobalObjectData); +} + } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h index 5f7137f..2106783 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h @@ -22,6 +22,7 @@ #ifndef JSGlobalObject_h #define JSGlobalObject_h +#include "JSArray.h" #include "JSGlobalData.h" #include "JSVariableObject.h" #include "NativeFunctionWrapper.h" @@ -51,14 +52,22 @@ namespace JSC { struct HashTable; typedef Vector<ExecState*, 16> ExecStateStack; - + class JSGlobalObject : public JSVariableObject { protected: using JSVariableObject::JSVariableObjectData; struct JSGlobalObjectData : public JSVariableObjectData { - JSGlobalObjectData() + // We use an explicit destructor function pointer instead of a + // virtual destructor because we want to avoid adding a vtable + // pointer to this struct. Adding a vtable pointer would force the + // compiler to emit costly pointer fixup code when casting from + // JSVariableObjectData* to JSGlobalObjectData*. + typedef void (*Destructor)(void*); + + JSGlobalObjectData(Destructor destructor) : JSVariableObjectData(&symbolTable, 0) + , destructor(destructor) , registerArraySize(0) , globalScopeChain(NoScopeChain()) , regExpConstructor(0) @@ -84,10 +93,8 @@ namespace JSC { { } - virtual ~JSGlobalObjectData() - { - } - + Destructor destructor; + size_t registerArraySize; JSGlobalObject* next; @@ -152,13 +159,13 @@ namespace JSC { void* operator new(size_t, JSGlobalData*); explicit JSGlobalObject() - : JSVariableObject(JSGlobalObject::createStructure(jsNull()), new JSGlobalObjectData) + : JSVariableObject(JSGlobalObject::createStructure(jsNull()), new JSGlobalObjectData(destroyJSGlobalObjectData)) { init(this); } protected: - JSGlobalObject(PassRefPtr<Structure> structure, JSGlobalObjectData* data, JSObject* thisValue) + JSGlobalObject(NonNullPassRefPtr<Structure> structure, JSGlobalObjectData* data, JSObject* thisValue) : JSVariableObject(structure, data) { init(thisValue); @@ -279,6 +286,8 @@ namespace JSC { void addStaticGlobals(GlobalPropertyInfo*, int count); private: + static void destroyJSGlobalObjectData(void*); + // FIXME: Fold reset into init. void init(JSObject* thisValue); void reset(JSValue prototype); @@ -343,14 +352,6 @@ namespace JSC { return symbolTableGet(propertyName, slot, slotIsWriteable); } - inline JSGlobalObject* ScopeChainNode::globalObject() const - { - const ScopeChainNode* n = this; - while (n->next) - n = n->next; - return asGlobalObject(n->object); - } - inline JSValue Structure::prototypeForLookup(ExecState* exec) const { if (typeInfo().type() == ObjectType) @@ -405,6 +406,33 @@ namespace JSC { return globalData().dynamicGlobalObject; } + inline JSObject* constructEmptyObject(ExecState* exec) + { + return new (exec) JSObject(exec->lexicalGlobalObject()->emptyObjectStructure()); + } + + inline JSArray* constructEmptyArray(ExecState* exec) + { + return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure()); + } + + inline JSArray* constructEmptyArray(ExecState* exec, unsigned initialLength) + { + return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), initialLength); + } + + inline JSArray* constructArray(ExecState* exec, JSValue singleItemValue) + { + MarkedArgumentBuffer values; + values.append(singleItemValue); + return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), values); + } + + inline JSArray* constructArray(ExecState* exec, const ArgList& values) + { + return new (exec) JSArray(exec->lexicalGlobalObject()->arrayStructure(), values); + } + class DynamicGlobalObjectScope : public Noncopyable { public: DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp index 5ded370..dc32718 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp @@ -286,12 +286,12 @@ JSValue JSC_HOST_CALL globalFuncEval(ExecState* exec, JSObject* function, JSValu if (JSValue parsedObject = preparser.tryLiteralParse()) return parsedObject; - EvalExecutable eval(exec, makeSource(s)); - JSObject* error = eval.compile(exec, static_cast<JSGlobalObject*>(unwrappedObject)->globalScopeChain().node()); + RefPtr<EvalExecutable> eval = EvalExecutable::create(exec, makeSource(s)); + JSObject* error = eval->compile(exec, static_cast<JSGlobalObject*>(unwrappedObject)->globalScopeChain().node()); if (error) return throwError(exec, error); - return exec->interpreter()->execute(&eval, exec, thisObject, static_cast<JSGlobalObject*>(unwrappedObject)->globalScopeChain().node(), exec->exceptionSlot()); + return exec->interpreter()->execute(eval.get(), exec, thisObject, static_cast<JSGlobalObject*>(unwrappedObject)->globalScopeChain().node(), exec->exceptionSlot()); } JSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec, JSObject*, JSValue, const ArgList& args) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.h index 0705a69..65c9803 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.h @@ -34,7 +34,7 @@ namespace JSC { class JSONObject : public JSObject { public: - JSONObject(PassRefPtr<Structure> structure) + JSONObject(NonNullPassRefPtr<Structure> structure) : JSObject(structure) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.cpp index 74af4b1..db2a9b2 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.cpp @@ -513,11 +513,6 @@ void JSObject::allocatePropertyStorage(size_t oldSize, size_t newSize) allocatePropertyStorageInline(oldSize, newSize); } -JSObject* constructEmptyObject(ExecState* exec) -{ - return new (exec) JSObject(exec->lexicalGlobalObject()->emptyObjectStructure()); -} - bool JSObject::getOwnPropertyDescriptor(ExecState*, const Identifier& propertyName, PropertyDescriptor& descriptor) { unsigned attributes = 0; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h index 3fd1e3c..84b5f4b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h @@ -74,7 +74,7 @@ namespace JSC { friend class JSCell; public: - explicit JSObject(PassRefPtr<Structure>); + explicit JSObject(NonNullPassRefPtr<Structure>); virtual void markChildren(MarkStack&); ALWAYS_INLINE void markChildrenDirect(MarkStack& markStack); @@ -86,7 +86,7 @@ namespace JSC { JSValue prototype() const; void setPrototype(JSValue prototype); - void setStructure(PassRefPtr<Structure>); + void setStructure(NonNullPassRefPtr<Structure>); Structure* inheritorID(); virtual UString className() const; @@ -264,8 +264,6 @@ namespace JSC { RefPtr<Structure> m_inheritorID; }; -JSObject* constructEmptyObject(ExecState*); - inline JSObject* asObject(JSCell* cell) { ASSERT(cell->isObject()); @@ -277,10 +275,9 @@ inline JSObject* asObject(JSValue value) return asObject(value.asCell()); } -inline JSObject::JSObject(PassRefPtr<Structure> structure) +inline JSObject::JSObject(NonNullPassRefPtr<Structure> structure) : JSCell(structure.releaseRef()) // ~JSObject balances this ref() { - ASSERT(m_structure); ASSERT(m_structure->propertyStorageCapacity() == inlineStorageCapacity); ASSERT(m_structure->isEmpty()); ASSERT(prototype().isNull() || Heap::heap(this) == Heap::heap(prototype())); @@ -309,7 +306,7 @@ inline void JSObject::setPrototype(JSValue prototype) setStructure(newStructure.release()); } -inline void JSObject::setStructure(PassRefPtr<Structure> structure) +inline void JSObject::setStructure(NonNullPassRefPtr<Structure> structure) { m_structure->deref(); m_structure = structure.releaseRef(); // ~JSObject balances this ref() diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.h index 7c80d36..66e78c3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSVariableObject.h @@ -84,7 +84,7 @@ namespace JSC { JSVariableObjectData& operator=(const JSVariableObjectData&); }; - JSVariableObject(PassRefPtr<Structure> structure, JSVariableObjectData* data) + JSVariableObject(NonNullPassRefPtr<Structure> structure, JSVariableObjectData* data) : JSObject(structure) , d(data) // Subclass owns this pointer. { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.h index b56a58d..723b75d 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSWrapperObject.h @@ -30,7 +30,7 @@ namespace JSC { // Number, Boolean and Date which are wrappers for primitive types. class JSWrapperObject : public JSObject { protected: - explicit JSWrapperObject(PassRefPtr<Structure>); + explicit JSWrapperObject(NonNullPassRefPtr<Structure>); public: JSValue internalValue() const { return m_internalValue; } @@ -47,7 +47,7 @@ namespace JSC { JSValue m_internalValue; }; - inline JSWrapperObject::JSWrapperObject(PassRefPtr<Structure> structure) + inline JSWrapperObject::JSWrapperObject(NonNullPassRefPtr<Structure> structure) : JSObject(structure) { addAnonymousSlots(1); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStack.h b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStack.h index 5bc85fa..ba00057e0 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStack.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStack.h @@ -153,7 +153,7 @@ namespace JSC { ASSERT(0 == (size % MarkStack::pageSize())); if (size == m_allocated) return; -#if PLATFORM(WIN) +#if PLATFORM(WIN) || PLATFORM(SYMBIAN) // We cannot release a part of a region with VirtualFree. To get around this, // we'll release the entire region and reallocate the size that we want. releaseStack(m_data, m_allocated); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackPosix.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackPosix.cpp index 43f8b29..8e78ff3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackPosix.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackPosix.cpp @@ -29,44 +29,22 @@ #include "MarkStack.h" #include <unistd.h> -#if defined (__SYMBIAN32__) -#include "wtf/FastMalloc.h" -#include <e32base.h> -#include <e32std.h> -#include <e32hal.h> -#include <hal.h> -#else #include <sys/mman.h> -#endif namespace JSC { void MarkStack::initializePagesize() { -#if defined (__SYMBIAN32__) - TInt page_size; - UserHal::PageSizeInBytes(page_size); - MarkStack::s_pageSize = page_size; -#else MarkStack::s_pageSize = getpagesize(); -#endif } void* MarkStack::allocateStack(size_t size) { -#if defined (__SYMBIAN32__) - return fastMalloc(size); -#else return mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); -#endif } void MarkStack::releaseStack(void* addr, size_t size) { -#if defined (__SYMBIAN32__) - fastFree(addr); -#else munmap(addr, size); -#endif } } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackSymbian.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackSymbian.cpp new file mode 100644 index 0000000..a0ce8f6 --- /dev/null +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/MarkStackSymbian.cpp @@ -0,0 +1,44 @@ +/* + Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "config.h" +#include "MarkStack.h" + +#include <e32hal.h> + +namespace JSC { + +void MarkStack::initializePagesize() +{ + TInt page_size; + UserHal::PageSizeInBytes(page_size); + MarkStack::s_pageSize = page_size; +} + +void* MarkStack::allocateStack(size_t size) +{ + return fastMalloc(size); +} + +void MarkStack::releaseStack(void* addr, size_t size) +{ + return fastFree(addr); +} + +} diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.cpp index 36771ab..e8b7b97 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.cpp @@ -85,7 +85,7 @@ const ClassInfo MathObject::info = { "Math", 0, 0, ExecState::mathTable }; @end */ -MathObject::MathObject(ExecState* exec, PassRefPtr<Structure> structure) +MathObject::MathObject(ExecState* exec, NonNullPassRefPtr<Structure> structure) : JSObject(structure) { putDirectWithoutTransition(Identifier(exec, "E"), jsNumber(exec, exp(1.0)), DontDelete | DontEnum | ReadOnly); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.h index a2e065f..fee5ec5 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/MathObject.h @@ -27,7 +27,7 @@ namespace JSC { class MathObject : public JSObject { public: - MathObject(ExecState*, PassRefPtr<Structure>); + MathObject(ExecState*, NonNullPassRefPtr<Structure>); virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.cpp index 0205fc5..c655fae 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.cpp @@ -32,7 +32,7 @@ ASSERT_CLASS_FITS_IN_CELL(NativeErrorConstructor); const ClassInfo NativeErrorConstructor::info = { "Function", &InternalFunction::info, 0, 0 }; -NativeErrorConstructor::NativeErrorConstructor(ExecState* exec, PassRefPtr<Structure> structure, NativeErrorPrototype* nativeErrorPrototype) +NativeErrorConstructor::NativeErrorConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, NativeErrorPrototype* nativeErrorPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, nativeErrorPrototype->getDirect(exec->propertyNames().name).getString())) , m_errorStructure(ErrorInstance::createStructure(nativeErrorPrototype)) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.h index 118d1f4..152dbac 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorConstructor.h @@ -31,7 +31,7 @@ namespace JSC { class NativeErrorConstructor : public InternalFunction { public: - NativeErrorConstructor(ExecState*, PassRefPtr<Structure>, NativeErrorPrototype*); + NativeErrorConstructor(ExecState*, NonNullPassRefPtr<Structure>, NativeErrorPrototype*); static const ClassInfo info; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.cpp index 84190a0..aa46a6a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.cpp @@ -29,7 +29,7 @@ namespace JSC { ASSERT_CLASS_FITS_IN_CELL(NativeErrorPrototype); -NativeErrorPrototype::NativeErrorPrototype(ExecState* exec, PassRefPtr<Structure> structure, const UString& name, const UString& message) +NativeErrorPrototype::NativeErrorPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure, const UString& name, const UString& message) : JSObject(structure) { putDirect(exec->propertyNames().name, jsString(exec, name), 0); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.h index 77bfe8a..0c65a9c 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NativeErrorPrototype.h @@ -27,7 +27,7 @@ namespace JSC { class NativeErrorPrototype : public JSObject { public: - NativeErrorPrototype(ExecState*, PassRefPtr<Structure>, const UString& name, const UString& message); + NativeErrorPrototype(ExecState*, NonNullPassRefPtr<Structure>, const UString& name, const UString& message); }; } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.cpp index a95106d..cc6c51d 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.cpp @@ -53,7 +53,7 @@ const ClassInfo NumberConstructor::info = { "Function", &InternalFunction::info, @end */ -NumberConstructor::NumberConstructor(ExecState* exec, PassRefPtr<Structure> structure, NumberPrototype* numberPrototype) +NumberConstructor::NumberConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, NumberPrototype* numberPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, numberPrototype->info.className)) { // Number.Prototype diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.h index 710ac86..908c55f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class NumberConstructor : public InternalFunction { public: - NumberConstructor(ExecState*, PassRefPtr<Structure>, NumberPrototype*); + NumberConstructor(ExecState*, NonNullPassRefPtr<Structure>, NumberPrototype*); virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.cpp index 0e8df17..1a7e44c 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.cpp @@ -31,7 +31,7 @@ ASSERT_CLASS_FITS_IN_CELL(NumberObject); const ClassInfo NumberObject::info = { "Number", 0, 0, 0 }; -NumberObject::NumberObject(PassRefPtr<Structure> structure) +NumberObject::NumberObject(NonNullPassRefPtr<Structure> structure) : JSWrapperObject(structure) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.h index f502bee..ca3923d 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberObject.h @@ -27,7 +27,7 @@ namespace JSC { class NumberObject : public JSWrapperObject { public: - explicit NumberObject(PassRefPtr<Structure>); + explicit NumberObject(NonNullPassRefPtr<Structure>); static const ClassInfo info; #if USE(JSVALUE32) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.cpp index 947324c..df31404 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.cpp @@ -45,7 +45,7 @@ static JSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState*, JSObject*, J // ECMA 15.7.4 -NumberPrototype::NumberPrototype(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) +NumberPrototype::NumberPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) : NumberObject(structure) { setInternalValue(jsNumber(exec, 0)); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.h index 0a3a544..1fb2077 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/NumberPrototype.h @@ -27,7 +27,7 @@ namespace JSC { class NumberPrototype : public NumberObject { public: - NumberPrototype(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure); + NumberPrototype(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure); }; } // namespace JSC diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.cpp index 2992f1b..a456423 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.cpp @@ -41,7 +41,7 @@ static JSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState*, JSObjec static JSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState*, JSObject*, JSValue, const ArgList&); static JSValue JSC_HOST_CALL objectConstructorCreate(ExecState*, JSObject*, JSValue, const ArgList&); -ObjectConstructor::ObjectConstructor(ExecState* exec, PassRefPtr<Structure> structure, ObjectPrototype* objectPrototype, Structure* prototypeFunctionStructure) +ObjectConstructor::ObjectConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, ObjectPrototype* objectPrototype, Structure* prototypeFunctionStructure) : InternalFunction(&exec->globalData(), structure, Identifier(exec, "Object")) { // ECMA 15.2.3.1 diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.h index 9373781..1d2cdde 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class ObjectConstructor : public InternalFunction { public: - ObjectConstructor(ExecState*, PassRefPtr<Structure>, ObjectPrototype*, Structure* prototypeFunctionStructure); + ObjectConstructor(ExecState*, NonNullPassRefPtr<Structure>, ObjectPrototype*, Structure* prototypeFunctionStructure); private: virtual ConstructType getConstructData(ConstructData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.cpp index fccc44a..0970b7c 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.cpp @@ -40,7 +40,7 @@ static JSValue JSC_HOST_CALL objectProtoFuncLookupSetter(ExecState*, JSObject*, static JSValue JSC_HOST_CALL objectProtoFuncPropertyIsEnumerable(ExecState*, JSObject*, JSValue, const ArgList&); static JSValue JSC_HOST_CALL objectProtoFuncToLocaleString(ExecState*, JSObject*, JSValue, const ArgList&); -ObjectPrototype::ObjectPrototype(ExecState* exec, PassRefPtr<Structure> stucture, Structure* prototypeFunctionStructure) +ObjectPrototype::ObjectPrototype(ExecState* exec, NonNullPassRefPtr<Structure> stucture, Structure* prototypeFunctionStructure) : JSObject(stucture) , m_hasNoPropertiesWithUInt32Names(true) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.h index 6dd3c28..489d962 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ObjectPrototype.h @@ -27,7 +27,7 @@ namespace JSC { class ObjectPrototype : public JSObject { public: - ObjectPrototype(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure); + ObjectPrototype(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure); private: virtual void put(ExecState*, const Identifier&, JSValue, PutPropertySlot&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.h b/src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.h index b4382f4..afcc83f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/PropertyNameArray.h @@ -44,7 +44,7 @@ namespace JSC { void setCachedStructure(Structure* structure) { m_cachedStructure = structure; } Structure* cachedStructure() const { return m_cachedStructure; } - void setCachedPrototypeChain(PassRefPtr<StructureChain> cachedPrototypeChain) { m_cachedPrototypeChain = cachedPrototypeChain; } + void setCachedPrototypeChain(NonNullPassRefPtr<StructureChain> cachedPrototypeChain) { m_cachedPrototypeChain = cachedPrototypeChain; } StructureChain* cachedPrototypeChain() { return m_cachedPrototypeChain.get(); } private: diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.cpp index 8e3d107..38f8adb 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.cpp @@ -40,7 +40,7 @@ PrototypeFunction::PrototypeFunction(ExecState* exec, int length, const Identifi putDirect(exec->propertyNames().length, jsNumber(exec, length), DontDelete | ReadOnly | DontEnum); } -PrototypeFunction::PrototypeFunction(ExecState* exec, PassRefPtr<Structure> prototypeFunctionStructure, int length, const Identifier& name, NativeFunction function) +PrototypeFunction::PrototypeFunction(ExecState* exec, NonNullPassRefPtr<Structure> prototypeFunctionStructure, int length, const Identifier& name, NativeFunction function) : InternalFunction(&exec->globalData(), prototypeFunctionStructure, name) , m_function(function) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.h b/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.h index 99ab327..70ee034 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/PrototypeFunction.h @@ -32,7 +32,7 @@ namespace JSC { class PrototypeFunction : public InternalFunction { public: PrototypeFunction(ExecState*, int length, const Identifier&, NativeFunction); - PrototypeFunction(ExecState*, PassRefPtr<Structure>, int length, const Identifier&, NativeFunction); + PrototypeFunction(ExecState*, NonNullPassRefPtr<Structure>, int length, const Identifier&, NativeFunction); private: virtual CallType getCallData(CallData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp index 1c95175..dbf2d44 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp @@ -112,7 +112,7 @@ struct RegExpConstructorPrivate : FastAllocBase { unsigned lastOvectorIndex : 1; }; -RegExpConstructor::RegExpConstructor(ExecState* exec, PassRefPtr<Structure> structure, RegExpPrototype* regExpPrototype) +RegExpConstructor::RegExpConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, RegExpPrototype* regExpPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, "RegExp")) , d(new RegExpConstructorPrivate) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.h index 4b06b51..f8bccf4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.h @@ -32,7 +32,7 @@ namespace JSC { class RegExpConstructor : public InternalFunction { public: - RegExpConstructor(ExecState*, PassRefPtr<Structure>, RegExpPrototype*); + RegExpConstructor(ExecState*, NonNullPassRefPtr<Structure>, RegExpPrototype*); static PassRefPtr<Structure> createStructure(JSValue prototype) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.cpp index 9d9dd7d..877d7b6 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.cpp @@ -57,7 +57,7 @@ const ClassInfo RegExpObject::info = { "RegExp", 0, 0, ExecState::regExpTable }; @end */ -RegExpObject::RegExpObject(PassRefPtr<Structure> structure, PassRefPtr<RegExp> regExp) +RegExpObject::RegExpObject(NonNullPassRefPtr<Structure> structure, NonNullPassRefPtr<RegExp> regExp) : JSObject(structure) , d(new RegExpObjectData(regExp, 0)) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.h index 67113b6..f5a9340 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpObject.h @@ -28,7 +28,7 @@ namespace JSC { class RegExpObject : public JSObject { public: - RegExpObject(PassRefPtr<Structure>, PassRefPtr<RegExp>); + RegExpObject(NonNullPassRefPtr<Structure>, NonNullPassRefPtr<RegExp>); virtual ~RegExpObject(); void setRegExp(PassRefPtr<RegExp> r) { d->regExp = r; } @@ -58,7 +58,7 @@ namespace JSC { virtual CallType getCallData(CallData&); struct RegExpObjectData : FastAllocBase { - RegExpObjectData(PassRefPtr<RegExp> regExp, double lastIndex) + RegExpObjectData(NonNullPassRefPtr<RegExp> regExp, double lastIndex) : regExp(regExp) , lastIndex(lastIndex) { diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.cpp index 30420e9..bbc9e85 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.cpp @@ -46,7 +46,7 @@ static JSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState*, JSObject*, JSVa const ClassInfo RegExpPrototype::info = { "RegExpPrototype", 0, 0, 0 }; -RegExpPrototype::RegExpPrototype(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) +RegExpPrototype::RegExpPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure) : JSObject(structure) { putDirectFunctionWithoutTransition(exec, new (exec) NativeFunctionWrapper(exec, prototypeFunctionStructure, 0, exec->propertyNames().compile, regExpProtoFuncCompile), DontEnum); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.h index f5db720..d3979bd 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpPrototype.h @@ -27,7 +27,7 @@ namespace JSC { class RegExpPrototype : public JSObject { public: - RegExpPrototype(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure); + RegExpPrototype(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure); virtual const ClassInfo* classInfo() const { return &info; } static const ClassInfo info; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.cpp index 960c525..981794b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.cpp @@ -36,8 +36,8 @@ void ScopeChainNode::print() const ScopeChainIterator scopeEnd = end(); for (ScopeChainIterator scopeIter = begin(); scopeIter != scopeEnd; ++scopeIter) { JSObject* o = *scopeIter; - PropertyNameArray propertyNames(globalObject()->globalExec()); - o->getPropertyNames(globalObject()->globalExec(), propertyNames); + PropertyNameArray propertyNames(globalObject->globalExec()); + o->getPropertyNames(globalObject->globalExec(), propertyNames); PropertyNameArray::const_iterator propEnd = propertyNames.end(); fprintf(stderr, "----- [scope %p] -----\n", o); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.h index c5e16c9..0b15b67 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ScopeChain.h @@ -33,14 +33,16 @@ namespace JSC { class ScopeChainNode : public FastAllocBase { public: - ScopeChainNode(ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSObject* globalThis) + ScopeChainNode(ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis) : next(next) , object(object) , globalData(globalData) + , globalObject(globalObject) , globalThis(globalThis) , refCount(1) { ASSERT(globalData); + ASSERT(globalObject); } #ifndef NDEBUG // Due to the number of subtle and timing dependent bugs that have occurred due @@ -51,6 +53,7 @@ namespace JSC { next = 0; object = 0; globalData = 0; + globalObject = 0; globalThis = 0; } #endif @@ -58,6 +61,7 @@ namespace JSC { ScopeChainNode* next; JSObject* object; JSGlobalData* globalData; + JSGlobalObject* globalObject; JSObject* globalThis; int refCount; @@ -82,9 +86,6 @@ namespace JSC { ScopeChainIterator begin() const; ScopeChainIterator end() const; - JSGlobalObject* globalObject() const; // defined in JSGlobalObject.h - JSObject* globalThisObject() const { return globalThis; } - #ifndef NDEBUG void print() const; #endif @@ -93,7 +94,7 @@ namespace JSC { inline ScopeChainNode* ScopeChainNode::push(JSObject* o) { ASSERT(o); - return new ScopeChainNode(this, o, globalData, globalThis); + return new ScopeChainNode(this, o, globalData, globalObject, globalThis); } inline ScopeChainNode* ScopeChainNode::pop() @@ -163,8 +164,8 @@ namespace JSC { { } - ScopeChain(JSObject* o, JSGlobalData* globalData, JSObject* globalThis) - : m_node(new ScopeChainNode(0, o, globalData, globalThis)) + ScopeChain(JSObject* o, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis) + : m_node(new ScopeChainNode(0, o, globalData, globalObject, globalThis)) { } @@ -203,7 +204,7 @@ namespace JSC { void pop() { m_node = m_node->pop(); } void clear() { m_node->deref(); m_node = 0; } - JSGlobalObject* globalObject() const { return m_node->globalObject(); } + JSGlobalObject* globalObject() const { return m_node->globalObject; } void markAggregate(MarkStack&) const; diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.cpp index 6380445..2f3adbe 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.cpp @@ -47,7 +47,7 @@ static JSValue JSC_HOST_CALL stringFromCharCode(ExecState* exec, JSObject*, JSVa ASSERT_CLASS_FITS_IN_CELL(StringConstructor); -StringConstructor::StringConstructor(ExecState* exec, PassRefPtr<Structure> structure, Structure* prototypeFunctionStructure, StringPrototype* stringPrototype) +StringConstructor::StringConstructor(ExecState* exec, NonNullPassRefPtr<Structure> structure, Structure* prototypeFunctionStructure, StringPrototype* stringPrototype) : InternalFunction(&exec->globalData(), structure, Identifier(exec, stringPrototype->classInfo()->className)) { // ECMA 15.5.3.1 String.prototype diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.h b/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.h index 7d52c69..e511f7b 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringConstructor.h @@ -29,7 +29,7 @@ namespace JSC { class StringConstructor : public InternalFunction { public: - StringConstructor(ExecState*, PassRefPtr<Structure>, Structure* prototypeFunctionStructure, StringPrototype*); + StringConstructor(ExecState*, NonNullPassRefPtr<Structure>, Structure* prototypeFunctionStructure, StringPrototype*); virtual ConstructType getConstructData(ConstructData&); virtual CallType getCallData(CallData&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.cpp index 465435c..7216d3a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.cpp @@ -29,19 +29,19 @@ ASSERT_CLASS_FITS_IN_CELL(StringObject); const ClassInfo StringObject::info = { "String", 0, 0, 0 }; -StringObject::StringObject(ExecState* exec, PassRefPtr<Structure> structure) +StringObject::StringObject(ExecState* exec, NonNullPassRefPtr<Structure> structure) : JSWrapperObject(structure) { setInternalValue(jsEmptyString(exec)); } -StringObject::StringObject(PassRefPtr<Structure> structure, JSString* string) +StringObject::StringObject(NonNullPassRefPtr<Structure> structure, JSString* string) : JSWrapperObject(structure) { setInternalValue(string); } -StringObject::StringObject(ExecState* exec, PassRefPtr<Structure> structure, const UString& string) +StringObject::StringObject(ExecState* exec, NonNullPassRefPtr<Structure> structure, const UString& string) : JSWrapperObject(structure) { setInternalValue(jsString(exec, string)); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.h index 5a889da..944f6ba 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObject.h @@ -28,8 +28,8 @@ namespace JSC { class StringObject : public JSWrapperObject { public: - StringObject(ExecState*, PassRefPtr<Structure>); - StringObject(ExecState*, PassRefPtr<Structure>, const UString&); + StringObject(ExecState*, NonNullPassRefPtr<Structure>); + StringObject(ExecState*, NonNullPassRefPtr<Structure>, const UString&); static StringObject* create(ExecState*, JSString*); @@ -52,7 +52,7 @@ namespace JSC { } protected: - StringObject(PassRefPtr<Structure>, JSString*); + StringObject(NonNullPassRefPtr<Structure>, JSString*); }; StringObject* asStringObject(JSValue); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h index 1d2e03f..0cba83d 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringObjectThatMasqueradesAsUndefined.h @@ -37,7 +37,7 @@ namespace JSC { } private: - StringObjectThatMasqueradesAsUndefined(ExecState* exec, PassRefPtr<Structure> structure, const UString& string) + StringObjectThatMasqueradesAsUndefined(ExecState* exec, NonNullPassRefPtr<Structure> structure, const UString& string) : StringObject(exec, structure, string) { } diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp index c9a32b6..b57732a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp @@ -121,7 +121,7 @@ const ClassInfo StringPrototype::info = { "String", &StringObject::info, 0, Exec */ // ECMA 15.5.4 -StringPrototype::StringPrototype(ExecState* exec, PassRefPtr<Structure> structure) +StringPrototype::StringPrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure) : StringObject(exec, structure) { // The constructor will be added later, after StringConstructor has been built diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.h index 580e13d..3a6a2a3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.h +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.h @@ -29,7 +29,7 @@ namespace JSC { class StringPrototype : public StringObject { public: - StringPrototype(ExecState*, PassRefPtr<Structure>); + StringPrototype(ExecState*, NonNullPassRefPtr<Structure>); virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&); virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&); diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp index 30ba6e9..2a056c9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.cpp @@ -35,18 +35,10 @@ #if PLATFORM(DARWIN) #include <mach/mach.h> -#endif - -#if HAVE(SYS_TIME_H) -#include <sys/time.h> -#endif - -#if PLATFORM(WIN_OS) +#elif PLATFORM(WIN_OS) #include <windows.h> -#endif - -#if PLATFORM(QT) -#include <QDateTime> +#else +#include "CurrentTime.h" #endif using namespace std; @@ -75,14 +67,6 @@ static inline unsigned getCPUTime() time += info.system_time.seconds * 1000 + info.system_time.microseconds / 1000; return time; -#elif HAVE(SYS_TIME_H) - // FIXME: This should probably use getrusage with the RUSAGE_THREAD flag. - struct timeval tv; - gettimeofday(&tv, 0); - return tv.tv_sec * 1000 + tv.tv_usec / 1000; -#elif PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - return t.toTime_t() * 1000 + t.time().msec(); #elif PLATFORM(WIN_OS) union { FILETIME fileTime; @@ -97,7 +81,8 @@ static inline unsigned getCPUTime() return userTime.fileTimeAsLong / 10000 + kernelTime.fileTimeAsLong / 10000; #else -#error Platform does not have getCurrentTime function + // FIXME: We should return the time the current thread has spent executing. + return currentTime() * 1000; #endif } diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp index 819ed9a..6c5e2e3 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp @@ -105,7 +105,11 @@ static void vprintf_stderr_common(const char* format, va_list args) } while (size > 1024); } #endif +#if PLATFORM(SYMBIAN) + vfprintf(stdout, format, args); +#else vfprintf(stderr, format, args); +#endif } WTF_ATTRIBUTE_PRINTF(1, 2) diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h index b68e70c..f529a62 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h @@ -50,6 +50,11 @@ #include <inttypes.h> #endif +#if PLATFORM(SYMBIAN) +#include <e32def.h> +#include <e32debug.h> +#endif + #ifdef NDEBUG #define ASSERTIONS_DISABLED_DEFAULT 1 #else @@ -120,11 +125,18 @@ void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChann /* CRASH -- gets us into the debugger or the crash reporter -- signals are ignored by the crash reporter so we must do better */ #ifndef CRASH +#if PLATFORM(SYMBIAN) +#define CRASH() do { \ + __DEBUGGER(); \ + User::Panic(_L("Webkit CRASH"),0); \ + } while(false) +#else #define CRASH() do { \ *(int *)(uintptr_t)0xbbadbeef = 0; \ ((void(*)())0)(); /* More reliable, but doesn't say BBADBEEF */ \ } while(false) #endif +#endif /* ASSERT, ASSERT_WITH_MESSAGE, ASSERT_NOT_REACHED */ diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp index afb0220..a9472c9 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp @@ -2283,6 +2283,10 @@ static void sleep(unsigned seconds) void TCMalloc_PageHeap::scavengerThread() { +#if HAVE(PTHREAD_SETNAME_NP) + pthread_setname_np("JavaScriptCore: FastMalloc scavenger"); +#endif + while (1) { if (!shouldContinueScavenging()) { pthread_mutex_lock(&m_scavengeMutex); @@ -2388,7 +2392,7 @@ ALWAYS_INLINE void TCMalloc_Central_FreeList::ReleaseToSpans(void* object) { // The following check is expensive, so it is disabled by default if (false) { // Check that object does not occur in list - int got = 0; + unsigned got = 0; for (void* p = span->objects; p != NULL; p = *((void**) p)) { ASSERT(p != object); got++; diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashCountedSet.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashCountedSet.h index 1fda9c1..165eb41 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashCountedSet.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashCountedSet.h @@ -49,24 +49,24 @@ namespace WTF { const_iterator begin() const; const_iterator end() const; - iterator find(const ValueType& value); - const_iterator find(const ValueType& value) const; - bool contains(const ValueType& value) const; - unsigned count(const ValueType& value) const; + iterator find(const ValueType&); + const_iterator find(const ValueType&) const; + bool contains(const ValueType&) const; + unsigned count(const ValueType&) const; // increases the count if an equal value is already present // the return value is a pair of an interator to the new value's location, // and a bool that is true if an new entry was added - std::pair<iterator, bool> add(const ValueType &value); + std::pair<iterator, bool> add(const ValueType&); // reduces the count of the value, and removes it if count // goes down to zero - void remove(const ValueType& value); - void remove(iterator it); + void remove(const ValueType&); + void remove(iterator); // removes the value, regardless of its count - void clear(iterator it); - void clear(const ValueType& value); + void removeAll(iterator); + void removeAll(const ValueType&); // clears the whole set void clear(); @@ -171,13 +171,13 @@ namespace WTF { } template<typename Value, typename HashFunctions, typename Traits> - inline void HashCountedSet<Value, HashFunctions, Traits>::clear(const ValueType& value) + inline void HashCountedSet<Value, HashFunctions, Traits>::removeAll(const ValueType& value) { - clear(find(value)); + removeAll(find(value)); } template<typename Value, typename HashFunctions, typename Traits> - inline void HashCountedSet<Value, HashFunctions, Traits>::clear(iterator it) + inline void HashCountedSet<Value, HashFunctions, Traits>::removeAll(iterator it) { if (it == end()) return; diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/PassRefPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/PassRefPtr.h index ae398d3..f56bc10 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/PassRefPtr.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/PassRefPtr.h @@ -79,7 +79,6 @@ namespace WTF { bool operator!() const { return !m_ptr; } // This conversion operator allows implicit conversion to bool but not to other integer types. - // Parenthesis is needed for winscw compiler to resolve class qualifier in this case. typedef T* (PassRefPtr::*UnspecifiedBoolType); operator UnspecifiedBoolType() const { return m_ptr ? &PassRefPtr::m_ptr : 0; } @@ -95,6 +94,62 @@ namespace WTF { mutable T* m_ptr; }; + // NonNullPassRefPtr: Optimized for passing non-null pointers. A NonNullPassRefPtr + // begins life non-null, and can only become null through a call to releaseRef() + // or clear(). + + // FIXME: NonNullPassRefPtr could just inherit from PassRefPtr. However, + // if we use inheritance, GCC's optimizer fails to realize that destruction + // of a released NonNullPassRefPtr is a no-op. So, for now, just copy the + // most important code from PassRefPtr. + template <typename T> class NonNullPassRefPtr { + public: + NonNullPassRefPtr(T* ptr) + : m_ptr(ptr) + { + ASSERT(m_ptr); + m_ptr->ref(); + } + + template <class U> NonNullPassRefPtr(const RefPtr<U>& o) + : m_ptr(o.get()) + { + ASSERT(m_ptr); + m_ptr->ref(); + } + + NonNullPassRefPtr(const NonNullPassRefPtr& o) + : m_ptr(o.releaseRef()) + { + ASSERT(m_ptr); + } + + template <class U> NonNullPassRefPtr(const NonNullPassRefPtr<U>& o) + : m_ptr(o.releaseRef()) + { + ASSERT(m_ptr); + } + + template <class U> NonNullPassRefPtr(const PassRefPtr<U>& o) + : m_ptr(o.releaseRef()) + { + ASSERT(m_ptr); + } + + ALWAYS_INLINE ~NonNullPassRefPtr() { derefIfNotNull(m_ptr); } + + T* get() const { return m_ptr; } + + void clear() { derefIfNotNull(m_ptr); m_ptr = 0; } + T* releaseRef() const { T* tmp = m_ptr; m_ptr = 0; return tmp; } + + T& operator*() const { return *m_ptr; } + T* operator->() const { return m_ptr; } + + private: + mutable T* m_ptr; + }; + template <typename T> template <typename U> inline PassRefPtr<T>& PassRefPtr<T>::operator=(const RefPtr<U>& o) { T* optr = o.get(); @@ -203,6 +258,7 @@ namespace WTF { } // namespace WTF using WTF::PassRefPtr; +using WTF::NonNullPassRefPtr; using WTF::adoptRef; using WTF::static_pointer_cast; using WTF::const_pointer_cast; diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h index bd82d8f..9fbfa85 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h @@ -229,8 +229,7 @@ #define PLATFORM_ARM_ARCH(N) (PLATFORM(ARM) && ARM_ARCH_VERSION >= N) #if defined(arm) \ - || defined(__arm__) \ - || defined(__MARM__) + || defined(__arm__) #define WTF_PLATFORM_ARM 1 #if defined(__ARMEB__) #define WTF_PLATFORM_BIG_ENDIAN 1 @@ -238,8 +237,8 @@ #define WTF_PLATFORM_MIDDLE_ENDIAN 1 #endif #define ARM_ARCH_VERSION 3 -#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) || defined(ARMV4I) \ - || defined(_ARMV4I_) || defined(armv4i) +#if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) || defined(__MARM_ARMV4__) \ + || defined(_ARMV4I_) #undef ARM_ARCH_VERSION #define ARM_ARCH_VERSION 4 #endif @@ -255,16 +254,20 @@ #undef ARM_ARCH_VERSION #define ARM_ARCH_VERSION 6 #endif -#if defined(__ARM_ARCH_7A__) || defined(__ARMV7__) +#if defined(__ARM_ARCH_7A__) #undef ARM_ARCH_VERSION #define ARM_ARCH_VERSION 7 #endif +/* On ARMv5 and below the natural alignment is required. */ +#if !defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_ARCH_VERSION <= 5 +#define ARM_REQUIRE_NATURAL_ALIGNMENT 1 +#endif /* Defines two pseudo-platforms for ARM and Thumb-2 instruction set. */ #if !defined(WTF_PLATFORM_ARM_TRADITIONAL) && !defined(WTF_PLATFORM_ARM_THUMB2) # if defined(thumb2) || defined(__thumb2__) # define WTF_PLATFORM_ARM_TRADITIONAL 0 # define WTF_PLATFORM_ARM_THUMB2 1 -# elif PLATFORM_ARM_ARCH(4) || PLATFORM_ARM_ARCH(5) +# elif PLATFORM_ARM_ARCH(4) # define WTF_PLATFORM_ARM_TRADITIONAL 1 # define WTF_PLATFORM_ARM_THUMB2 0 # else @@ -420,7 +423,7 @@ #endif #define HAVE_READLINE 1 #define HAVE_RUNLOOP_TIMER 1 -#endif // PLATFORM(MAC) && !PLATFORM(IPHONE) +#endif /* PLATFORM(MAC) && !PLATFORM(IPHONE) */ #if PLATFORM(CHROMIUM) && PLATFORM(DARWIN) #define WTF_PLATFORM_CF 1 @@ -497,6 +500,7 @@ #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE) #define HAVE_MADV_FREE_REUSE 1 #define HAVE_MADV_FREE 1 +#define HAVE_PTHREAD_SETNAME_NP 1 #endif #if PLATFORM(IPHONE) @@ -773,11 +777,11 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */ #define ENABLE_PAN_SCROLLING 1 #endif -/* Use the QtXmlStreamReader implementation for XMLTokenizer */ +/* Use the QXmlStreamReader implementation for XMLTokenizer */ +/* Use the QXmlQuery implementation for XSLTProcessor */ #if PLATFORM(QT) -#if !ENABLE(XSLT) #define WTF_USE_QXMLSTREAM 1 -#endif +#define WTF_USE_QXMLQUERY 1 #endif #if !PLATFORM(QT) diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h index 1a0b1fe..8388715 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtr.h @@ -30,6 +30,7 @@ namespace WTF { enum PlacementNewAdoptType { PlacementNewAdopt }; template <typename T> class PassRefPtr; + template <typename T> class NonNullPassRefPtr; enum HashTableDeletedValueType { HashTableDeletedValue }; @@ -40,6 +41,7 @@ namespace WTF { RefPtr(const RefPtr& o) : m_ptr(o.m_ptr) { T* ptr = m_ptr; refIfNotNull(ptr); } // see comment in PassRefPtr.h for why this takes const reference template <typename U> RefPtr(const PassRefPtr<U>&); + template <typename U> RefPtr(const NonNullPassRefPtr<U>&); // Special constructor for cases where we overwrite an object in place. RefPtr(PlacementNewAdoptType) { } @@ -73,8 +75,10 @@ namespace WTF { RefPtr& operator=(const RefPtr&); RefPtr& operator=(T*); RefPtr& operator=(const PassRefPtr<T>&); + RefPtr& operator=(const NonNullPassRefPtr<T>&); template <typename U> RefPtr& operator=(const RefPtr<U>&); template <typename U> RefPtr& operator=(const PassRefPtr<U>&); + template <typename U> RefPtr& operator=(const NonNullPassRefPtr<U>&); void swap(RefPtr&); @@ -89,6 +93,11 @@ namespace WTF { { } + template <typename T> template <typename U> inline RefPtr<T>::RefPtr(const NonNullPassRefPtr<U>& o) + : m_ptr(o.releaseRef()) + { + } + template <typename T> inline RefPtr<T>& RefPtr<T>::operator=(const RefPtr<T>& o) { T* optr = o.get(); @@ -126,6 +135,15 @@ namespace WTF { return *this; } + template <typename T> inline RefPtr<T>& RefPtr<T>::operator=(const NonNullPassRefPtr<T>& o) + { + T* ptr = m_ptr; + m_ptr = o.releaseRef(); + if (ptr) + ptr->deref(); + return *this; + } + template <typename T> template <typename U> inline RefPtr<T>& RefPtr<T>::operator=(const PassRefPtr<U>& o) { T* ptr = m_ptr; @@ -134,6 +152,15 @@ namespace WTF { return *this; } + template <typename T> template <typename U> inline RefPtr<T>& RefPtr<T>::operator=(const NonNullPassRefPtr<U>& o) + { + T* ptr = m_ptr; + m_ptr = o.releaseRef(); + if (ptr) + ptr->deref(); + return *this; + } + template <class T> inline void RefPtr<T>::swap(RefPtr<T>& o) { std::swap(m_ptr, o.m_ptr); diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/TCSpinLock.h b/src/3rdparty/webkit/JavaScriptCore/wtf/TCSpinLock.h index 74c02f3..b8fce7e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/TCSpinLock.h +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/TCSpinLock.h @@ -215,6 +215,13 @@ struct TCMalloc_SpinLock { inline void Unlock() { if (pthread_mutex_unlock(&private_lock_) != 0) CRASH(); } + bool IsHeld() { + if (pthread_mutex_trylock(&private_lock_)) + return true; + + Unlock(); + return false; + } }; #define SPINLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp index c241bd9..e4fb419 100644 --- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp @@ -186,7 +186,7 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con void setThreadNameInternal(const char* threadName) { -#if PLATFORM(DARWIN) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE) +#if HAVE(PTHREAD_SETNAME_NP) pthread_setname_np(threadName); #else UNUSED_PARAM(threadName); diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp index 4390b5b..d777424 100644 --- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp @@ -549,11 +549,11 @@ class RegexGenerator : private MacroAssembler { } if (mask) { - load32(BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), character); + load32WithUnalignedHalfWords(BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), character); or32(Imm32(mask), character); state.jumpToBacktrack(branch32(NotEqual, character, Imm32(chPair | mask)), this); } else - state.jumpToBacktrack(branch32(NotEqual, BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), Imm32(chPair)), this); + state.jumpToBacktrack(branch32WithUnalignedHalfWords(NotEqual, BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), Imm32(chPair)), this); } void generatePatternCharacterFixed(TermGenerationState& state) diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index e13219b..7f50b5c 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,8 +4,8 @@ This is a snapshot of the Qt port of WebKit from The commit imported was from the - qtwebkit-4.6-snapshot-24092009 branch/tag + qtwebkit-4.6-snapshot-30092009-2 branch/tag and has the sha1 checksum - 75c44947a340d74a9e0098a3dfffabce0c9512ef + 284ebfc0df42d408d99838507c1ed335fba9bcf0 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 5d83c7b..aacc3dc 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,2393 @@ +2009-09-29 Dave Hyatt <hyatt@apple.com> + + Reviewed by Jon Honeycutt. + + Fix a couple of bugs with patterns. Move the setting of the document URL to before the style + selector gets constructed so that pattern match testing gets the correct URL. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): + * page/UserContentURLPattern.cpp: + (WebCore::UserContentURLPattern::parse): + +2009-09-29 Alexey Proskuryakov <ap@apple.com> + + Rubber-stamped by Brady Eidson. + + Assertion failure in http/tests/xmlhttprequest/failed-auth.html. + + I couldn't find out why this only started to happen now, but it was incorrect to check + persistence of a credential returned by CredentialStorage::get() without checking that it + was non-null. When there is no credential for the protection space in storage, get() + returns a new object, and Credentil constructor doesn't initialize m_persistence. + + * platform/network/mac/ResourceHandleMac.mm: + (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the + assertion after credential null check. + (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence + assertion, matching sync code (and CF one, as well). + +2009-09-29 Yong Li <yong.li@torchmobile.com> + + Reviewed by Darin Adler. + + Add an ASSERT for UTF8Encoding().isValid() + https://bugs.webkit.org/show_bug.cgi?id=29908 + + * platform/text/TextEncoding.cpp: + (WebCore::UTF8Encoding): + +2009-09-29 Dave Hyatt <hyatt@apple.com> + + Reviewed by Jon Honeycutt. + + https://bugs.webkit.org/show_bug.cgi?id=29892 + Add support for whitelist patterns to control conditional injection of user scripts and + user stylesheets. + + No new tests. Not testable until WebKit portion is added in followup patch. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/Document.cpp: + (WebCore::Document::pageGroupUserSheets): + * page/Frame.cpp: + (WebCore::Frame::injectUserScriptsForWorld): + * page/UserContentURLPattern.cpp: Added. + (WebCore::UserContentURLPattern::matchesPatterns): + (WebCore::UserContentURLPattern::parse): + (WebCore::UserContentURLPattern::matches): + (WebCore::UserContentURLPattern::matchesHost): + (WebCore::MatchTester::MatchTester): + (WebCore::MatchTester::testStringFinished): + (WebCore::MatchTester::patternStringFinished): + (WebCore::MatchTester::eatWildcard): + (WebCore::MatchTester::eatSameChars): + (WebCore::MatchTester::test): + (WebCore::UserContentURLPattern::matchesPath): + * page/UserContentURLPattern.h: Added. + (WebCore::UserContentURLPattern::UserContentURLPattern): + (WebCore::UserContentURLPattern::scheme): + (WebCore::UserContentURLPattern::host): + (WebCore::UserContentURLPattern::path): + (WebCore::UserContentURLPattern::matchSubdomains): + +2009-09-29 Enrica Casucci <enrica@apple.com> + + Reviewed by Adele Peterson. + + Reproducible crash pressing return inside quoted content + at WebCore::BreakBlockquoteCommand::doApply. + <rdar://problem/7085453> + In some case, like the one provided in the test case, m_downStreamEnd + refers to a node that gets deleted when executing the DeleteSelectionCommand. + We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when + pruning is needed, because it may be point to a node that has been deleted, but + rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly. + + Test: editing/selection/blockquote-crash.html + + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position + to avoid dereferencing a null node pointer. + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition + using the value in m_downStreamEnd when it is necessary to prune the start block. + +2009-09-29 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + Basic authentication credentials are not sent automatically to top resources + https://bugs.webkit.org/show_bug.cgi?id=29901 + + No new tests - I don't want to pollute root directory of http tests to check for this rather + minor issue. + + * platform/network/CredentialStorage.cpp: + (WebCore::CredentialStorage::set): Changed to always preserve leading slash. + (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the + loop more explicit. + +2009-09-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Oliver Hunt. + + Web Inspector REGRESSION(r47820-r47822): Profiles aren't + added to the inspector unless the inspector is already open + when the profile completes. + + https://bugs.webkit.org/show_bug.cgi?id=29897 + + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype._populateProfiles): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Rubberstamped by David Hyatt. + + Fix to logic of earlier commit 48902. + + When merging two if's before committing, I forgot to invert the + bool check. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::ignoreHttpError): + +2009-09-29 Stephen White <senorblanco@chromium.org> + + Unreviewed, build fix. + + Fixing Chromium build, following r48884. + + [https://bugs.webkit.org/show_bug.cgi?id=29894] + + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::handleEvent): + * bindings/v8/V8AbstractEventListener.h: + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::handleEvent): + * bindings/v8/V8WorkerContextEventListener.h: + +2009-09-29 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Adler. + + Follows HTML5's maxLength change in September 2009. + - Change HTMLTextAreaElement.maxLength type to signed. + - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing. + - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength + throw INDEX_SIZE_ERR for setting negative values. + https://bugs.webkit.org/show_bug.cgi?id=29796 + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setMaxLength): + * html/HTMLInputElement.h: + * html/HTMLInputElement.idl: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): + (WebCore::HTMLTextAreaElement::maxLength): + (WebCore::HTMLTextAreaElement::setMaxLength): + * html/HTMLTextAreaElement.h: + * html/HTMLTextAreaElement.idl: + +2009-09-29 Dimitri Glazkov <dglazkov@chromium.org> + + No review, rolling out r48894, because review discussion was not complete. + http://trac.webkit.org/changeset/48894 + + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::begin): + +2009-09-29 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG Filter feComposite implementation is missing + [https://bugs.webkit.org/show_bug.cgi?id=28362] + + feComposite implementation for SVG. + + Test: svg/filters/feComposite.svg + + * platform/graphics/filters/FEComposite.cpp: + (WebCore::arithmetic): + (WebCore::FEComposite::apply): + +2009-09-29 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Starting all read-only transactions with an explicit BEGIN + DEFERRED command instead of BEGIN, since some ports (chromium) + might compile their own SQLite library and set BEGIN to BEGIN + IMMEDIATE by default; which would result in a deadlock in case of + two concurrent read-only transactions on the same DB, and would + unnecessarily delay other potential transactions to the same DB. + + https://bugs.webkit.org/show_bug.cgi?id=29729 + + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::begin): + +2009-09-29 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Add support for run-time flag for 3D canvas + https://bugs.webkit.org/show_bug.cgi?id=29826 + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::getContext): Check page settings for + experimental WebGL flag before returning 3D graphics context. + * page/Settings.cpp: + (WebCore::Settings::Settings): Initialize new flag to false. + (WebCore::Settings::setExperimentalWebGLEnabled): + * page/Settings.h: Set new flag. + (WebCore::Settings::experimentalWebGLEnabled): Return new flag. + +2009-09-29 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Chromium needs to be able to override the way storage events are delivered - part 1 + https://bugs.webkit.org/show_bug.cgi?id=29889 + + Chromium needs to be able to override the way storage events are delivered. + This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be + faster (no vtables and extra allocation) and somewhat cleaner (no dependency + injection). This is necessary because Chromium needs to transport events across + a process barrier and then dispatch them without use of a Frame*. + + This patch should be a no-op for all ports other than Chromium. + + * WebCore.gypi: + * storage/StorageEventDispatcher.h: Added. + +2009-09-29 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY (missed file). + + Adding file missed in previous commit. + + * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h. + +2009-09-29 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared. + https://bugs.webkit.org/show_bug.cgi?id=29888 + + Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html + + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::getEventListener): Added isAttribute parameter. + (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners. + (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener. + +2009-09-22 Martin Robinson <martin.james.robinson@gmail.com> + + Reviewed by Eric Seidel. + + Fix corruption for non-square images. + + [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images + https://bugs.webkit.org/show_bug.cgi?id=29654 + + Added an additional manual-test for this issue to the existing Gtk + cursor image test. + + * manual-tests/gtk/cursor-image.html: + * manual-tests/gtk/resources/long_cell.cur: Added. + * platform/graphics/gtk/ImageGtk.cpp: + (WebCore::BitmapImage::getGdkPixbuf): + +2009-09-29 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Timothy Hatcher. + + Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody() + + * bindings/js/ScriptEventListener.cpp: + (WebCore::getEventListenerHandlerBody): + * bindings/js/ScriptEventListener.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::getEventListenerHandlerBody): + * bindings/v8/ScriptEventListener.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::buildObjectForEventListener): + +2009-09-29 Nate Chapin <japhet@chromium.org> + + Reviewed by Eric Seidel. + + Ensure that we don't scroll lock to an anchor node after a + user-initiated scroll, even if that scroll doesn't propagate + all the way up to FrameView. + + Test: fast/events/node-event-anchor-lock.html + + * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame. + (WebCore::EventHandler::scrollOverflow): + (WebCore::EventHandler::handleWheelEvent): + (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser(); + (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent(); + (WebCore::EventHandler::passMousePressEventToScrollbar): + * page/EventHandler.h: Declare setFrameWasScrolledByUser(). + +2009-09-28 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler and Sam Weinig. + + Onclick not fired for an element copied with cloneContents() or cloneNode() + https://bugs.webkit.org/show_bug.cgi?id=25130 + + The change here is that JS event listeners don't keep a reference to a global object from + where they were created, and instead take it as a parameter when parsing source code. Also, + the listener creation won't fail just because it happens for an element in a frameless + document. + Thus, moving nodes between documents no longer results in having incorrect registered + lazy event listeners on them. + + Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html + fast/events/attribute-listener-cloned-from-frameless-doc-context.html + fast/events/attribute-listener-cloned-from-frameless-doc.xhtml + fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html + fast/events/attribute-listener-extracted-from-frameless-doc-context.html + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. + (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for + getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. + (WebCore::JSEventListener::markJSFunction): Don't mark the global object. + (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. + (WebCore::JSEventListener::reportError): Ditto. + + * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference + to JSDOMGlobalObject. + + * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener + creation was split between this function and ScriptEventListener; moved it here, as JS + global object can be different now. + + * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, + which can not be determined at parsing time. + + * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code + for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests + expect that errors are logged at document parsing time, and because I don't know what other + side effects moving it vould have. + + * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, + because JSC needs a global context here. + + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::JSAbstractWorker::addEventListener): + (WebCore::JSAbstractWorker::removeEventListener): + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + * bindings/js/JSEventSourceCustom.cpp: + (WebCore::JSEventSource::addEventListener): + (WebCore::JSEventSource::removeEventListener): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::addEventListener): + (WebCore::JSWorkerContext::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + * bindings/objc/ObjCEventListener.h: + * bindings/objc/ObjCEventListener.mm: + (WebCore::ObjCEventListener::handleEvent): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventTarget.cpp: + (WebCore::EventTarget::fireEventListeners): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::handleEvent): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDOMStorageResource.cpp: + (WebCore::InspectorDOMStorageResource::handleEvent): + * inspector/InspectorDOMStorageResource.h: + * loader/ImageDocument.cpp: + (WebCore::ImageEventListener::handleEvent): + * svg/animation/SVGSMILElement.cpp: + (WebCore::ConditionEventListener::handleEvent): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::reportException): + Don't pass global object to JSEventListener::create(), which no longer needs it. + Note that some of these functions still have an early return for null global object, which + can probably be removed in a later patch. + Pass ScriptExecutionContext to EventListener methods that now need it. + + * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node - + it doesn't work yet (it didn't quite work before this patch, too, because it assumed that + any object implementing EventTarget COM interface originated from WebCore). + + * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in + COM bindings. + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Removed virtual destructor from JSGlobalObjectData to eliminate pointer + fix-ups when accessing JSGlobalObject::d. + + Replaced with an explicit destructor function pointer. + + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + Don't rely on QNetworkReply::NetworkError codes, but + on HTTP error codes instead. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::ignoreHttpError): + (WebCore::QNetworkReplyHandler::finish): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + Use const references when using Qt's foreach. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + Fix handling of QNetworkReply errors. + + In the QNetworkReplyHandler::finish() a response was sent even when + the reply contained an error. This resulted in a sendResponseIfNeeded() + calling didReceiveResponse on the client, leading to the destruction + of the m_resourceHandle, discontinuing further processing in finish(), + and thus not calling didFail on the client. + + Instead it continued as everything went fine, and + FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the + policy to PolicyDownload due to not being able to show the non existing + MIMEType. As the download also obviously fails, it ended up with a + policy change error. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann. + + The code for showing error pages when the response was + a 401/403/404, was not actually doing so. This patch + fixes that. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +2009-09-28 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html + is failing/crashing intermittently + https://bugs.webkit.org/show_bug.cgi?id=29322 + + This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated. + The code had other issues as well, so I removed it altogether: + - it claimed to avoid some buffer copies, but it didn't; + - and I don't think that base64 encoding should be part of CString interface. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly. + (WebCore::ResourceHandle::start): Use encodeBasicAuthorization(). + (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto. + (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging + to synchronous case. + (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto. + (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. + (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto. + (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto. + (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto. + (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto. + + * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes. + + * platform/text/CString.cpp: + * platform/text/CString.h: + (WebCore::CStringBuffer::create): + (WebCore::CStringBuffer::CStringBuffer): + Removed code that was added for Base64 in r48363. + +2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> + + Reviewed by Simon Hausmann. + + Fix typo in Localizations.cpp + + https://bugs.webkit.org/show_bug.cgi?id=29872 + + * platform/qt/Localizations.cpp: + (WebCore::localizedMediaControlElementHelpText): + +2009-09-29 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Make the XSLT conditional in DOMWindow.idl's xsltProcessor + attribute conditional in the generated files, similar to + r44116. + + * page/DOMWindow.idl: + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann and Tor Arne Vestbø. + + Use the ResourceError as it is supposed to and handle + not HTTP errors from QNetworkReply. + + Thanks to Adam Roben for his input. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + +009-09-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener. + + https://bugs.webkit.org/show_bug.cgi?id=29816 + + * bindings/js/ScriptEventListener.cpp: + (WebCore::getEventListenerHandlerBody): + * bindings/js/ScriptEventListener.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::getEventListenerHandlerBody): + * bindings/v8/ScriptEventListener.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::buildObjectForEventListener): + +2009-09-29 Xan Lopez <xlopez@igalia.com> + + Unreviewed attempt to fix the build. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + +2009-09-28 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Eric Seidel. + + Add experimentalWebSocketsEnabled in Settings. + https://bugs.webkit.org/show_bug.cgi?id=28941 + + * WebCore.base.exp: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::webSocket): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getConstructor): + * bindings/v8/custom/V8WebSocketCustom.cpp: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setExperimentalWebSocketsEnabled): + * page/Settings.h: + (WebCore::Settings::experimentalWebSocketsEnabled): + +2009-09-11 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by Adam Barth. + + Add platform code to support WebSocket for chromium. + https://bugs.webkit.org/show_bug.cgi?id=29171 + + To build within chromium tree, it requires a patch in bug 29174. + Real implementation will be landed in chromium tree. + + * WebCore.gypi: + * platform/network/chromium/SocketStreamError.h: Added. + (WebCore::SocketStreamError::SocketStreamError): + * platform/network/chromium/SocketStreamHandle.h: Added. + (WebCore::SocketStreamHandle::create): + +2009-09-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight() + when Times New Roman is not installed + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is + not available, use the Windows default GUI font. + +2009-09-28 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Do not add platform-specific methods to cross-platform header + FileSystem.h per Darin's feedback for 29109. + https://bugs.webkit.org/show_bug.cgi?id=29830 + + * platform/FileSystem.h: + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + +2009-09-28 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Register Chromium's VFSs with a proper sqlite3_io_methods + finder. This should only affect the POSIX implementation. The + Windows change is included for consistency and in case sqlite + starts using something similar in its Windows VFS in the future. + + https://bugs.webkit.org/show_bug.cgi?id=29743 + + * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: + (WebCore::SQLiteFileSystem::registerSQLiteVFS): + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: + (WebCore::SQLiteFileSystem::registerSQLiteVFS): + +2009-09-28 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Change the V8 bindings' handling of window.toString(), + so we return [object DOMWindow] (like JSC), not [object global]. + + https://bugs.webkit.org/show_bug.cgi?id=29742 + + This will fix a couple of Chromium port test failures and enable us to + use the default expectations for a bunch more. + + * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead + of the global object wrapper when it's available in the DOMWindow toString callback. + +2009-09-28 Nate Chapin <japhet@chromium.org> + + Rubber stamped by David Levin. + + Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp. + + * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h. + +2009-09-28 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + NotNullPassRefPtr: smart pointer optimized for passing references that are not null + https://bugs.webkit.org/show_bug.cgi?id=29822 + + Added NotNullPassRefPtr, and deployed it in all places that initialize + JavaScript objects. + + * bindings/js/DOMObjectWithSVGContext.h: + (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): + * bindings/js/JSDOMBinding.cpp: + (WebCore::cacheDOMStructure): + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObject::DOMObject): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + (WebCore::DOMConstructorObject::DOMConstructorObject): + (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): + * bindings/js/JSDOMGlobalObject.h: + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::JSDOMWindowBase): + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): + * bindings/js/JSInspectedObjectWrapper.cpp: + (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): + * bindings/js/JSInspectedObjectWrapper.h: + * bindings/js/JSInspectorCallbackWrapper.cpp: + (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): + * bindings/js/JSInspectorCallbackWrapper.h: + * bindings/js/JSQuarantinedObjectWrapper.cpp: + (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): + * bindings/js/JSQuarantinedObjectWrapper.h: + * bindings/js/JSWorkerContextBase.cpp: + (WebCore::JSWorkerContextBase::JSWorkerContextBase): + * bindings/js/JSWorkerContextBase.h: + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/runtime_object.cpp: + (JSC::RuntimeObjectImp::RuntimeObjectImp): + * bridge/runtime_object.h: + +2009-09-28 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Allow V8 to handle x/y parameters in a WebKitPoint constructor. + https://bugs.webkit.org/show_bug.cgi?id=29823 + + Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html + + * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor. + +2009-09-28 Mark Rowe <mrowe@apple.com> + + Fix the build by doing something approximating reasonableness in the Xcode project. + + * WebCore.xcodeproj/project.pbxproj: + +2009-09-28 Simon Hausmann <hausmann@webkit.org> + + Prospective Tiger build fix. + + * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files. + +2009-09-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Add explicit frontend event for commit load. + + https://bugs.webkit.org/show_bug.cgi?id=29814 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didCommitLoad): + * inspector/InspectorFrontend.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype._setDocument): + * inspector/front-end/inspector.js: + (WebInspector.addResource): + (WebInspector.didCommitLoad): + +2009-09-28 Yaar Schnitman <yaar@chromium.org> + + Reviewed by Dimitri Glazkov. + + Chromium port - recognize we are being built independently + of chromium and look for dependencies under webkit/chromium rather + than chromium/src. + + https://bugs.webkit.org/show_bug.cgi?id=29722 + + * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from + the sources list, since they are not supposed to be built here. + +2009-09-28 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + [Qt] Implement XSLT support with QtXmlPatterns. + https://bugs.webkit.org/show_bug.cgi?id=28303 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::setTransformSource): + * dom/Document.h: + (WebCore::Document::transformSource): + * dom/TransformSource.h: Added. + (WebCore::TransformSource::platformSource): + * dom/TransformSourceLibxslt.cpp: Added. + (WebCore::TransformSource::TransformSource): Wraps a libxml2 document. + (WebCore::TransformSource::~TransformSource): + * dom/TransformSourceQt.cpp: Added. + (WebCore::TransformSource::TransformSource): Wraps a plain string. + (WebCore::TransformSource::~TransformSource): + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::XMLTokenizer::doEnd): + * dom/XMLTokenizerQt.cpp: + (WebCore::XMLTokenizer::doEnd): + (WebCore::XMLTokenizer::parseProcessingInstruction): + * xml/XSLStyleSheet.h: + (WebCore::XSLStyleSheet::sheetString): + * xml/XSLStyleSheetLibxslt.cpp: + (WebCore::XSLStyleSheet::document): + * xml/XSLStyleSheetQt.cpp: Added. + * xml/XSLTProcessor.h: + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::xmlDocPtrFromNode): + * xml/XSLTProcessorQt.cpp: Added. + (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler. + (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console. + (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery. + +2009-09-28 Andrew Scherkus <scherkus@chromium.org> + + Reviewed by Eric Carlson. + + Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme. + + https://bugs.webkit.org/show_bug.cgi?id=28689 + + Covered by LayoutTests/media/video-no-audio.html + + * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded(). + (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart(). + (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart(). + * rendering/MediaControlElements.h: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::shouldRenderMediaControlPart): New method. Contains logic moved from subclass implementations of rendererIsNeeded(). + * rendering/RenderTheme.h: + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button. + * rendering/RenderThemeChromiumSkia.h: + +2009-09-28 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + [chromium] DragData::asURL should return file URL. + https://bugs.webkit.org/show_bug.cgi?id=29109 + + Tested by LayoutTests/fast/events/drag-to-navigate.html. + + * platform/FileSystem.h: + * platform/chromium/ChromiumBridge.h: + * platform/chromium/DragDataChromium.cpp: + (WebCore::DragData::asURL): + * platform/chromium/FileSystemChromium.cpp: + (WebCore::getAbsolutePath): + (WebCore::isDirectory): + (WebCore::filePathToURL): + +2009-09-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by David Levin. + + [V8] Add a special case to handle index arguments, because we need to be + able to see if they're < 0. + https://bugs.webkit.org/show_bug.cgi?id=29810 + + Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html + + * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm) + for index arguments. + +2009-09-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions + https://bugs.webkit.org/show_bug.cgi?id=29792 + + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are + enabled, check if the linked style sheet is one of two versions of the + MediaWiki KHTMLFixes.css. If so, remove the offending rule. + +2009-09-28 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Barth. + + [V8] Fix an error in type logic in CodeGeneratorV8.pm, where + unsigned ints are accidentally used as signed. + https://bugs.webkit.org/show_bug.cgi?id=29810 + + Test: LayoutTests/fast/forms/textarea-maxlength.html + + * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is + properly generates on "unsigned" return value. + +2009-09-28 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp. + https://bugs.webkit.org/show_bug.cgi?id=28303 + + In preparation for adding XSLT support with QtXmlPatterns to the Qt + port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will + have our own implementation which most likely will not share any code + with the current one. + + Additionally, fix some coding style issues. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp. + * xml/XSLStyleSheetLibxslt.cpp: Added. + +2009-09-28 Simon Hausmann <simon.hausmann@nokia.com> + + Prospective build fix for r48812. + + Forgot to remove the inline reset() implementation when reverting the indentation + changes in the file. + + * xml/XSLTProcessor.h: + +2009-09-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed. + + Web Inspector: Follow up to r48809. + InspectorController.wrapObject should only be called on the inspectable page side. + + https://bugs.webkit.org/show_bug.cgi?id=17429 + + * inspector/front-end/EventListenersSidebarPane.js: + (WebInspector.EventListenersSidebarPane.prototype.update.callback): + (WebInspector.EventListenersSidebarPane.prototype.update): + (WebInspector.EventListenersSection): + (WebInspector.EventListenersSection.prototype.update): + (WebInspector.EventListenerBar): + (WebInspector.EventListenerBar.prototype.update): + +2009-09-28 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + Move the libxslt specific part of XSLTProcessor to a separate file. + https://bugs.webkit.org/show_bug.cgi?id=28303 + + In preparation for adding XSLT support with QtXmlPatterns to the Qt + port, move the libxslt part of the XSLTProcessor implementation into + another file and leave the part that can be reused and shared. + + Additionally, fix some coding style issues. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces. + (WebCore::createFragmentFromSource): Remove trailing whitespaces. + (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces. + (WebCore::XSLTProcessor::reset): Moved out of the class definition. + * xml/XSLTProcessorLibxslt.cpp: Added. + (WebCore::XSLTProcessor::genericErrorFunc): Moved. + (WebCore::XSLTProcessor::parseErrorFunc): Moved. + (WebCore::docLoaderFunc): Moved. + (WebCore::setXSLTLoadCallBack): Moved. + (WebCore::writeToVector): Moved. + (WebCore::saveResultToString): Moved. + (WebCore::xsltParamArrayFromParameterMap): Moved. + (WebCore::freeXsltParamArray): Moved. + (WebCore::xsltStylesheetPointer): Moved. + (WebCore::xmlDocPtrFromNode): Moved. + (WebCore::resultMIMEType): Moved. + (WebCore::XSLTProcessor::transformToString): Moved. + +2009-09-28 Charles Wei <charles.wei@torchmobile.com.cn> + + Reviewed by Nikolas Zimmermann. + + Fix the crash of SVG that crashes when use a non-exist symbol + https://bugs.webkit.org/show_bug.cgi?id=27693 + + Test: svg/custom/use-non-existing-symbol-crash.svg + + * svg/SVGUseElement.cpp: + (WebCore::shadowTreeContainsChangedNodes): + +2009-09-28 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Timothy Hatcher. + + Inspector Should Show Event Listeners/Handlers Registered on each Node + https://bugs.webkit.org/show_bug.cgi?id=17429 + + Extracted a method from dispatchEvent to get the event ancestor chain + + * dom/Node.cpp: + (WebCore::Node::eventAncestors): the extracted method + (WebCore::Node::dispatchGenericEvent): use eventAncestors + * dom/Node.h: + + Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend + The DOMAgent's getEventListenersForNode handles the logic of finding + all the relevant listeners in the event flow. + + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::getEventListenersForNode): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getEventListenersForNode): + (WebCore::InspectorDOMAgent::buildObjectForEventListener): + (WebCore::InspectorDOMAgent::buildObjectForNode): added localName + * inspector/InspectorDOMAgent.h: + (WebCore::EventListenerInfo::EventListenerInfo): + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didGetEventListenersForNode): + * inspector/InspectorFrontend.h: + (WebCore::InspectorFrontend::scriptState): + * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload + (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback): + (WebInspector.EventListeners.getEventListenersForNodeAsync): + + New Sidebar Pane in the Element's Panel + Includes Gear Menu for filtering the Event Listeners on the + "Selected Node Only" or "All Nodes" + + * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + (WebInspector.ElementsPanel.prototype.updateEventListeners): + * inspector/front-end/EventListenersSidebarPane.js: Added. + (WebInspector.EventListenersSidebarPane): The 1st level in the Pane + (WebInspector.EventListenersSidebarPane.prototype.update.callback): + (WebInspector.EventListenersSidebarPane.prototype.update): + (WebInspector.EventListenersSection): The 2nd level in the Pane + (WebInspector.EventListenersSection.prototype.update): filters on Preference + (WebInspector.EventListenersSection.prototype.addListener): + (WebInspector.EventListenerBar): The 3rd level in the Pane + (WebInspector.EventListenerBar.prototype._getNodeDisplayName): + (WebInspector.EventListenerBar.prototype._getFunctionDisplayName): + (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu + + Consolidated "appropriateSelectorForNode" + + * inspector/front-end/StylesSidebarPane.js: + * inspector/front-end/utilities.js: + + Miscellaneous Updates + + * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes" + * WebCore.gypi: included the new inspector files + * WebCore.vcproj/WebCore.vcproj: included source files that were missing + * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher. + * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher. + * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter + * inspector/front-end/inspector.css: reused as much as possible + * inspector/front-end/inspector.html: include the new script + * inspector/front-end/WebKit.qrc: included the new inspector files + +2009-09-27 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=29760 + Implement CSSOM Range.getClientRects/getBoundingClientRect + + Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html + fast/dom/Range/getBoundingClientRect.html + fast/dom/Range/getClientRects.html + + * dom/Range.cpp: + (WebCore::Range::getClientRects): + (WebCore::Range::getBoundingClientRect): + (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom): + (WebCore::Range::getBorderAndTextQuads): + * dom/Range.h: + * dom/Range.idl: + Implement Range.getClientRects/getBoundingClientRect. + + * dom/Element.cpp: + * rendering/RenderObject.h: + (WebCore::adjustForAbsoluteZoom): + (WebCore::adjustIntRectForAbsoluteZoom): + (WebCore::adjustFloatPointForAbsoluteZoom): + (WebCore::adjustFloatQuadForAbsoluteZoom): + Move point/quad adjustment methods from Element.cpp to RenderObject.h + so that Range.cpp can use them as well. + +2009-09-27 Simon Hausmann <hausmann@webkit.org> + + Unreviewed fix for WebInspector with Qt build. + + Simply re-generate the Qt resource file by running + WebKitTools/Scripts/generate-qt-inspector-resource + + * inspector/front-end/WebKit.qrc: + +2009-09-27 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by nobody (trivial ChangeLog fix). + + Restore WebCore/ChangeLog truncated in r48778. + +2009-09-27 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: DOM store is being unbound twice, leading to assertion failure. + + https://bugs.webkit.org/show_bug.cgi?id=29770 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didOpenDatabase): + (WebCore::InspectorController::didUseDOMStorage): + * inspector/InspectorDOMStorageResource.cpp: + (WebCore::InspectorDOMStorageResource::unbind): + +2009-09-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Do not track DOM changes while inspector window is closed. + + https://bugs.webkit.org/show_bug.cgi?id=29769 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::inspectedWindowScriptObjectCleared): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::resetScriptObjects): + (WebCore::InspectorController::didCommitLoad): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setDocument): + * inspector/InspectorDOMAgent.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::dispatchWindowObjectAvailable): + * page/android/InspectorControllerAndroid.cpp: + (WebCore::InspectorController::inspectedWindowScriptObjectCleared): + +2009-09-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window + + https://bugs.webkit.org/show_bug.cgi?id=29762 + + * inspector/front-end/InjectedScript.js: + (InjectedScript.setStyleText): + (InjectedScript.openInInspectedWindow): + * inspector/front-end/InjectedScriptAccess.js: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): + +2009-09-26 David Kilzer <ddkilzer@apple.com> + + Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets + + Reviewed by Darin Adler. + + Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms. + + * DerivedSources.make: Moved Platform.h check for + ENABLE_ORIENTATION_EVENTS into Mac-only section and added + default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section. + Added ifndef test to make it possible to override both + ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external + to the makefile. Moved addition of ENABLE_ORIENTATION_EVENTS to + ADDITIONAL_IDL_DEFINES to common section. + * GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if + it is ever used. + * WebCore.pro: Ditto. + +2009-09-26 Kent Tamura <tkent@chromium.org> + + Reviewed by David Kilzer. + + Move placeholder-related code to HTMLTextFormControlElement from + HTMLInputElement, WMLInputElement, InputElement, and + HTMLTextAreaElement. + https://bugs.webkit.org/show_bug.cgi?id=28703 + + * dom/InputElement.cpp: + (WebCore::InputElement::dispatchFocusEvent): + (WebCore::InputElement::dispatchBlurEvent): + (WebCore::InputElement::setValueFromRenderer): + * dom/InputElement.h: + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement): + (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement): + (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): + (WebCore::HTMLTextFormControlElement::dispatchBlurEvent): + (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): + (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility): + * html/HTMLFormControlElement.h: + (WebCore::HTMLTextFormControlElement::handleFocusEvent): + (WebCore::HTMLTextFormControlElement::handleBlurEvent): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::HTMLInputElement): + (WebCore::HTMLInputElement::handleFocusEvent): + (WebCore::HTMLInputElement::handleBlurEvent): + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::createRenderer): + (WebCore::HTMLInputElement::setValue): + (WebCore::HTMLInputElement::setValueFromRenderer): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::supportsPlaceholder): + (WebCore::HTMLInputElement::isEmptyValue): + * html/HTMLIsIndexElement.cpp: + (WebCore::HTMLIsIndexElement::parseMappedAttribute): + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): + (WebCore::HTMLTextAreaElement::createRenderer): + * html/HTMLTextAreaElement.h: + (WebCore::HTMLTextAreaElement::supportsPlaceholder): + (WebCore::HTMLTextAreaElement::isEmptyValue): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::RenderTextControl): + * rendering/RenderTextControl.h: + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): + * rendering/RenderTextControlMultiLine.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): + (WebCore::RenderTextControlSingleLine::updateFromElement): + * rendering/RenderTextControlSingleLine.h: + * wml/WMLInputElement.cpp: + (WebCore::WMLInputElement::setValue): + (WebCore::WMLInputElement::createRenderer): + * wml/WMLInputElement.h: + +2009-09-26 Shu Chang <Chang.Shu@nokia.com> + + Reviewed by Alexey Proskuryakov. + + Optimize the code so only the text from start to end is scanned. + https://bugs.webkit.org/show_bug.cgi?id=29092 + + On a platform with webkit+Qt+Symbian, the parsing time for a 600K text + file improved from 400ms to 40ms (10x faster). + + * dom/Text.cpp: + (WebCore::Text::createWithLengthLimit): + +2009-09-26 Xiaomei Ji <xji@chromium.org> + + Reviewed by Eric Seidel. + + This Patch fixes [chromium] the drop-down is always left-aligned even + for RTL element. + https://bugs.webkit.org/show_bug.cgi?id=29612 + + For auto-complete, the items in drop-down should be right-aligned if + the directionality of <input> field is RTL. + For <select><option>, the items in drop-down should be right-aligned + if the directionality of <select> is RTL. + + No automatic test is possible. Manual tests are added. + + * manual-tests/autofill_alignment.html: Added. + * manual-tests/select_alignment.html: Added. + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to + be paint if it should be right-aligned. + +2009-09-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4 + to crash on launch + https://bugs.webkit.org/show_bug.cgi?id=29759 + + * platform/graphics/win/FontDatabase.cpp: + (WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB + property list at the root of FontList.plist, but with an additional + key for the last value of the Fonts registry key. + (WebCore::populateFontDatabase): Pass the FontList.plist in its entirety + to populatFontDatabaseFromPlist. + +2009-09-25 Kevin Ollivier <kevino@theolliviers.com> + + Build fix. Adding missing header files. + + * bindings/js/JSNamedNodeMapCustom.cpp: + +2009-09-25 David Kilzer <ddkilzer@apple.com> + + Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets + + Reviewed by Darin Adler. + + * DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS, + ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section. + +2009-09-25 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Load blocks during unload should not affect targeted loads + https://bugs.webkit.org/show_bug.cgi?id=29747 + + Move the check of the unload state after checking for targeted links. + + Test: fast/loader/unload-hyperlink-targeted.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadURL): + +2009-09-25 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + [Chromium] Add initial V8 bindings for WebGL + https://bugs.webkit.org/show_bug.cgi?id=29664 + + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getTemplate): + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CanvasArrayCustom.h: Added. + (WebCore::constructCanvasArray): + * bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added. + (WebCore::jsArrayToFloatArray): + (WebCore::jsArrayToIntArray): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::): + (WebCore::vertexAttribAndUniformHelperf): + (WebCore::uniformHelperi): + (WebCore::uniformMatrixHelper): + * bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * platform/graphics/GraphicsContext3D.h: + +2009-09-25 Jeremy Orlow <jorlow@chromium.org> + + This is breaking Chromium try bots, so I'm counting this as a build fix. + + Add more svn:ignore exceptions. On different platforms, these files are + generated with different case for WebCore. + + * WebCore.gyp: Changed property svn:ignore. + +2009-09-25 Alexey Proskuryakov <ap@apple.com> + + Reverting r48767, as it broke Windows build in a non-trivial way. + + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::JSAbstractWorker::addEventListener): + (WebCore::JSAbstractWorker::removeEventListener): + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): + (WebCore::JSEventListener::jsFunction): + (WebCore::JSEventListener::markJSFunction): + (WebCore::JSEventListener::handleEvent): + (WebCore::JSEventListener::reportError): + * bindings/js/JSEventListener.h: + (WebCore::JSEventListener::create): + * bindings/js/JSEventSourceCustom.cpp: + (WebCore::JSEventSource::addEventListener): + (WebCore::JSEventSource::removeEventListener): + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::JSLazyEventListener): + (WebCore::JSLazyEventListener::jsFunction): + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/JSLazyEventListener.h: + (WebCore::JSLazyEventListener::create): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::addEventListener): + (WebCore::JSWorkerContext::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/objc/ObjCEventListener.h: + * bindings/objc/ObjCEventListener.mm: + (WebCore::ObjCEventListener::handleEvent): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventListener.h: + (WebCore::EventListener::reportError): + (WebCore::EventListener::jsFunction): + * dom/EventTarget.cpp: + (WebCore::EventTarget::fireEventListeners): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::handleEvent): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDOMStorageResource.cpp: + (WebCore::InspectorDOMStorageResource::handleEvent): + * inspector/InspectorDOMStorageResource.h: + * loader/ImageDocument.cpp: + (WebCore::ImageEventListener::handleEvent): + * svg/animation/SVGSMILElement.cpp: + (WebCore::ConditionEventListener::handleEvent): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::reportException): + +2009-09-24 Tony Chang <tony@chromium.org> + + Reviewed by David Levin. + + Add a gyp variable to allow building a debug webcore without debug + symbols. This allows for faster compile, link, and gdb times. + + https://bugs.webkit.org/show_bug.cgi?id=29721 + + No new tests, build config change. + + * WebCore.gyp/WebCore.gyp: + +2009-09-25 Darin Fisher <darin@chromium.org> + + Reviewed by Dimitri Glazkov. + + Declare RegisteredEventListener as a class instead of a struct. + This fixes a warning in the Chromium build. + + * dom/RegisteredEventListener.h: + +2009-09-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Jon Honeycutt. + + WebCore part of + <rdar://problem/7211635> 2 byte characters are displayed as garbaged + <rdar://problem/7212626> garbled/gibberish text (off-by-one) + + When the Windows Fonts directory contains more than one font file for a + given font name, which of the fonts gets assigned to the name in the + Core Graphics font database was determined arbitrarily and did not + always match the font GDI used for the same font name. The mismatch + caused character-to-glyph mapping to use one font and glyph rendering to + use another. + + The fix is to update the Core Graphics font database from the registry + entries (that reflect the name-to-font mapping that GDI uses) after + populating it with the result of scanning the Fonts directory. As a + consequence, the directory needs to be scanned at startup every time the + registry key changes, so the last value of the registry key is kept + in the property list on disk so that it could be compared to the current + value on startup. + + * platform/graphics/win/FontDatabase.cpp: + (WebCore::populateFontDatabaseFromPlist): Now takes a property list as + a parameter and avoids round-tripping through XML by calling + wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation(). + (WebCore::fontFilenamesFromRegistryKey): + (WebCore::cgFontDBKey): + (WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property + list and a property list with the font filenames from the registry and + writes a dictionary with those property lists as values. + (WebCore::fontFilenamesFromRegistry): Added. Returns an array with the + values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts + registry key. + (WebCore::populateFontDatabase): Changed to read the contents of the + Fonts registry key and compare it with the last-saved value from the + property list, and to call wkAddFontsFromRegistry() after populating the + CG font DB from the file system. Uses wkCreateFontsPlist() instead of + wkCreateFontsPlistRepresentation() to avoid round-tripping through XML. + +2009-09-25 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Inlined some object creation code, including lexicalGlobalObject access + https://bugs.webkit.org/show_bug.cgi?id=29750 + + * bindings/js/JSInspectorBackendCustom.cpp: + (WebCore::JSInspectorBackend::currentCallFrame): + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore + API changes. + +2009-09-25 Dave Hyatt <hyatt@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=24399 + Make @import work in user stylesheets. The first bug was that the URL wasn't being set on the + user sheets themselves, so relative @import URLs couldn't resolve properly. The second bug + was that the loads would be denied. This is fixed by using the requestUserCSSStyleSheet method + instead of the normal request method. In order to know when to do this, CSSStyleSheets now have + a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not. + + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::CSSStyleSheet): + * css/CSSStyleSheet.h: + (WebCore::CSSStyleSheet::setIsUserStyleSheet): + (WebCore::CSSStyleSheet::isUserStyleSheet): + * dom/Document.cpp: + (WebCore::Document::pageUserSheet): + (WebCore::Document::pageGroupUserSheets): + +2009-09-25 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + ASSERTION FAILED: !repaintContainer || repaintContainer == this + https://bugs.webkit.org/show_bug.cgi?id=29755 + + It's possible for RenderObject::container() to return an object that is higher + in the hierarchy than the repaintContainer that is being used to repaint an + object. For example, this can happen when running an accelerated opacity + transition on an element with a position:absolute parent, and a position:absolute child. + + In this case we need to detect when RenderObject::container() will skip over + repaintContainer, and in that case adjust the coords to shift into repaintContainer's space. + + Test: compositing/repaint/opacity-between-absolute.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::mapLocalToContainer): + (WebCore::RenderBox::computeRectForRepaint): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::computeRectForRepaint): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::container): + * rendering/RenderObject.h: + +2009-09-25 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Crash with hardware accelerated rotation of a PDF image in a data URL + <rdar://problem/7250378> + + PDF images don't return a color space from CGImageGetColorSpace(), + so we need to null-check the return value before use. + + Test: compositing/color-matching/pdf-image-match.html + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setContentsToImage): + +2009-09-25 Darin Adler <darin@apple.com> + + Reviewed by Geoffrey Garen. + + Null-deref when first access to an Attr node is after its Element is destroyed + https://bugs.webkit.org/show_bug.cgi?id=29748 + + Test: fast/dom/Attr/access-after-element-destruction.html + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as + long as the Attr is alive. + + * bindings/js/JSNamedNodeMapCustom.cpp: + (WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as + long as the NamedNodeMap is alive. + + * dom/Attr.idl: Added CustomMarkFunction attribute. + + * dom/NamedAttrMap.cpp: + (WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting. + (WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't + have attributes hanging around that might need an Attr node created; that way + we won't crash with a null-dereference trying to deal with one of them. This + can't happen when working with JavaScript since the Element will be kept + alive due to the change above. + (WebCore::NamedNodeMap::addAttribute): Fix function name in comment. + (WebCore::NamedNodeMap::removeAttribute): Removed unneeded "+ 1" and added + missing braces. + + * dom/NamedAttrMap.h: Made the element function public so it can be used by + the JavaScript binding to keep the Element alive. + + * dom/NamedNodeMap.idl: Added CustomMarkFunction attribute. + +2009-09-24 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler and Sam Weinig. + + Onclick not fired for an element copied with cloneContents() or cloneNode() + https://bugs.webkit.org/show_bug.cgi?id=25130 + + The change here is that JS event listeners don't keep a reference to a global object from + where they were created, and instead take it as a parameter when parsing source code. Also, + the listener creation won't fail just because it happens for an element in a frameless + document. + Thus, moving nodes between documents no longer results in having incorrect registered + lazy event listeners on them. + + Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html + fast/events/attribute-listener-cloned-from-frameless-doc-context.html + fast/events/attribute-listener-cloned-from-frameless-doc.xhtml + fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html + fast/events/attribute-listener-extracted-from-frameless-doc-context.html + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject. + (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for + getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner. + (WebCore::JSEventListener::markJSFunction): Don't mark the global object. + (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext. + (WebCore::JSEventListener::reportError): Ditto. + + * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference + to JSDOMGlobalObject. + + * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener + creation was split between this function and ScriptEventListener; moved it here, as JS + global object can be different now. + + * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL, + which can not be determined at parsing time. + + * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code + for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests + expect that errors are logged at document parsing time, and because I don't know what other + side effects moving it vould have. + + * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext, + because JSC needs a global context here. + + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::JSAbstractWorker::addEventListener): + (WebCore::JSAbstractWorker::removeEventListener): + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::addEventListener): + (WebCore::JSDOMApplicationCache::removeEventListener): + * bindings/js/JSDOMGlobalObject.cpp: + (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::addEventListener): + (WebCore::JSDOMWindow::removeEventListener): + * bindings/js/JSEventSourceCustom.cpp: + (WebCore::JSEventSource::addEventListener): + (WebCore::JSEventSource::removeEventListener): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::addEventListener): + (WebCore::JSMessagePort::removeEventListener): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::addEventListener): + (WebCore::JSNode::removeEventListener): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::addEventListener): + (WebCore::JSSVGElementInstance::removeEventListener): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::addEventListener): + (WebCore::JSWorkerContext::removeEventListener): + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::addEventListener): + (WebCore::JSXMLHttpRequest::removeEventListener): + * bindings/js/JSXMLHttpRequestUploadCustom.cpp: + (WebCore::JSXMLHttpRequestUpload::addEventListener): + (WebCore::JSXMLHttpRequestUpload::removeEventListener): + * bindings/objc/ObjCEventListener.h: + * bindings/objc/ObjCEventListener.mm: + (WebCore::ObjCEventListener::handleEvent): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/EventTarget.cpp: + (WebCore::EventTarget::fireEventListeners): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::handleEvent): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDOMStorageResource.cpp: + (WebCore::InspectorDOMStorageResource::handleEvent): + * inspector/InspectorDOMStorageResource.h: + * loader/ImageDocument.cpp: + (WebCore::ImageEventListener::handleEvent): + * svg/animation/SVGSMILElement.cpp: + (WebCore::ConditionEventListener::handleEvent): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::reportException): + Don't pass global object to JSEventListener::create(), which no longer needs it. + Note that some of these functions still have an early return for null global object, which + can probably be removed in a later patch. + Pass ScriptExecutionContext to EventListener methods that now need it. + +2009-09-25 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=29740 + <rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line + + Change the way style is preserved when inserting a new paragraph. + The original code handled insertion at the beginning and at the end of a paragraph as special + cases. The newly created paragraph contained a set of nodes generated starting from the + computed style of the insertion node. This approach has two problems: + 1. if the insertion node has a non opaque background color and one of the parent element did have + a solid background color the new paragraph did not have the element with the solid color in the tree. + 2. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic, + background color and some font attribute was being reproduced as span + bold + italic + font as separate tags. + The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the + paragraph where the insertion point is. + + Test: editing/inserting/insert-bg-font.html + + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors + between the insert node and the outer block. + (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate + in the new paragraph the same element hierarchy present in the starting paragraph. + (WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion + in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and + at the end of the paragraph to use the new methods instead of applying the calculated style. + * editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock. + +2009-09-25 Patrick Mueller <Patrick_Mueller@us.ibm.com> + + Reviewed by Timothy Hatcher. + + Content-type parameters not taken into account when building form-data + https://bugs.webkit.org/show_bug.cgi?id=28970 + + existing manual test case extended with new tests + + * English.lproj/localizedStrings.js: + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.prototype._refreshFormData): + (WebInspector.ResourceView.prototype._refreshParms): + * manual-tests/inspector/display-form-data.html: + +2009-09-25 Yuan Song <song.yuan@ericsson.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=14566 + + Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value. + + Test: fast/js/invalid-domain-change-throws-exception.html + + * dom/Document.cpp: + (WebCore::Document::setDomain): + * dom/Document.h: + * dom/Document.idl: + +2009-09-25 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Teach ScheduledAction::execute about isolated worlds + https://bugs.webkit.org/show_bug.cgi?id=27703 + + When setTimeout is called with a string argument in an isolated + world, we now compile the string in the isolated world. + + Last time we tried this change, we got a lot of crashes. This + time we're using a fresh local handle as our context to avoid + trouble if the peristent handle gets disposed before we leave + the context. + + Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html + + * bindings/v8/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + +2009-09-25 Paul Godavari <paul@chromium.org> + + Reviewed by Darin Fisher. + + Fix a regression in Mac Chromium popup menus, where the user's + selection was ignored and the popup became unresponsive. + https://bugs.webkit.org/show_bug.cgi?id=29726 + + The fix is to notify the popup's client that the popup was hidden, + even if the popup has no parent. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::hidePopup): + +2009-09-25 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Dan Bernstein. + + Enable Pasteboard::writePlainText for Chromium and fix code style nits. + https://bugs.webkit.org/show_bug.cgi?id=29734 + + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writePlainText): + +2009-09-25 Yongjun Zhang <yongjun.zhang@nokia.com> + + Reviewed by Ariya Hidayat. + + https://bugs.webkit.org/show_bug.cgi?id=28876 + [Qt] reduce peak memory consumption of text decoding. + + Chop large input buffer into small buffers to reduce peak memory + during decoding. + + * platform/text/qt/TextCodecQt.cpp: + (WebCore::TextCodecQt::decode): + +2009-09-24 Jon Honeycutt <jhoneycutt@apple.com> + + Add a mechanism for automatically halting plug-ins. + + Reviewed by Oliver Hunt and Alice Liu. + + * GNUmakefile.am: + + * WebCore.base.exp: + Update export of Page constructor. + + * WebCore.gypi: + + * WebCore.pro: + + * WebCore.vcproj/WebCore.vcproj: + Add PluginHalter.{h,cpp}, PluginHalterClient.h, and + HaltablePlugin.h. + + * WebCore.xcodeproj/project.pbxproj: + Add files to Mac project. + + * loader/EmptyClients.h: + Added an empty PluginHalterClient. + (WebCore::EmptyPluginHalterClient::shouldHaltPlugin): + Return false. + + * page/PluginHalter.cpp: Added. + (WebCore::PluginHalter::PluginHalter): + (WebCore::PluginHalter::didStartPlugin): + Add the object to the plug-in set. If this is the only item in the set, + set m_oldestStartTime to this object's time, and start the timer. + (WebCore::PluginHalter::didStopPlugin): + Remove the plug-in from the set. + (WebCore::PluginHalter::timerFired): + Find the cut-off time as the current time minus the allowed run time; + plug-ins older than this may be halted. Iterate over the plug-ins. Find + the object with the oldest start time that is too young to be halted; + we'll use its start time to set the timer's next fire time. For all + plug-ins that are candidates to be halted, call the + PluginHalterClient's shouldHaltPlugin(). If this function returns true, + call the plug-in's halt() function. Remove these objects from the set + of tracked plug-ins. Call startTimerIfNecessary() to restart the timer. + (WebCore::PluginHalter::startTimerIfNecessary): + If the timer is set to fire, or the set of tracked plug-ins is empty, + return early. Set the timer to fire after the oldest plug-in has run + for the allowed run time. + + * page/PluginHalter.h: Added. + (WebCore::PluginHalter::setPluginAllowedRunTime): + + * page/PluginHalterClient.h: Added. + (WebCore::PluginHalterClient::~PluginHalterClient): + + * page/Page.cpp: + (WebCore::Page::Page): + Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged() + to create the PluginHalter if necessary. + (WebCore::Page::pluginHalterEnabledStateChanged): + If plug-in halting is enabled, create the PluginHalter. If it is + disabled, clear it. + (WebCore::Page::pluginAllowedRunTimeChanged): + If there is a plug-in halter, call its setPluginAllowedRunTime(). + (WebCore::Page::didStartPlugin): + If there is a plug-in halter, call its didStartPlugin(). + (WebCore::Page::didStopPlugin): + If there is a plug-in halter, call its didStopPlugin(). + + * page/Page.h: + Add a parameter to the Page constructor for the PluginHalterClient. + Added declarations for didStartPlugin() and didStopPlugin(), which are + called when HaltablePlugins are added to or removed from the page. Adds + pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to + notify the Page when these settings are changed. Added members to hold + the PluginHalter and the PluginHalterClient. + + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setPluginHalterEnabled): + If the enabled state has changed, call the Page's + pluginHalterEnabledStateChanged(). + (WebCore::Settings::setPluginAllowedRunTime): + Call the Page's pluginAllowedRunTimeChanged(). + + * page/Settings.h: + (WebCore::Settings::pluginHalterEnabled): + (WebCore::Settings::pluginAllowedRunTime): + + * page/HaltablePlugin.h: Added. Defines an interface for plug-ins that + can be automatically halted. + (WebCore::HaltablePlugin::~HaltablePlugin): + + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): + Pass a dummy PluginHalterClient. + +2009-09-24 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION: webkit-transform scale no longer works properly in nightly build + https://bugs.webkit.org/show_bug.cgi?id=29730 + + When the initial or final state of a scale animation does not specify a transform, + use a default scale of 1, rather than zero. + + Test: compositing/transitions/scale-transition-no-start.html + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::getTransformFunctionValue): + +2009-09-24 John Gregg <johnnyg@google.com> + + Reviewed by Eric Seidel. + + isEnabled switch for notifications (experimental) in Page Settings + https://bugs.webkit.org/show_bug.cgi?id=28930 + + Adds a run-time flag in Settings object that controls whether + to expose desktop notifications. + + No new test, but test code also modified to set this preference. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setExperimentalNotificationsEnabled): + * page/Settings.h: + (WebCore::Settings::experimentalNotificationsEnabled): + +2009-09-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Fix <rdar://problem/7162000> Crash while trying to + calculate the horizontal position of image + + Test: fast/inline-block/relative-positioned-rtl-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an + isInline() test to isRenderInline(). This is similar to r41259. + +2009-09-24 Jessie Berlin <jberlin@webkit.org> + + Reviewed by Timothy Hatcher. + + Fix expanding profile call stacks being broken after sorting. + https://bugs.webkit.org/show_bug.cgi?id=26423 + + * inspector/front-end/ProfileDataGridTree.js: + (WebInspector.ProfileDataGridNode.prototype.sort): + Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it + causes the children to be placed in the right positions. + +2009-09-24 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Stephanie Lewis. + + Fixed sudden termination console spew due to too many calls to + enableSuddenTermination. + + <rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors + + * page/DOMWindow.cpp: + (WebCore::removeUnloadEventListener): + (WebCore::removeAllUnloadEventListeners): + (WebCore::removeBeforeUnloadEventListener): + (WebCore::removeAllBeforeUnloadEventListeners): Only + enableSuddenTermination if the set of listeners is empty *and* this + window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination. + +2009-09-24 Carol Szabo <carol.szabo@nokia.com> + + Reviewed by Alexey Proskuryakov. + + WebKit returns "" instead of null when getting + inexistent, forbidden or invalidly named headers. + https://bugs.webkit.org/show_bug.cgi?id=29140 + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseHeader): + Changed to return null as it should according to the spec. + +2009-09-24 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add GYP generated files to svn:ignore + https://bugs.webkit.org/show_bug.cgi?id=29724 + + Adding the following files to the svn:ignore list (all in the + WebCore/WebCore.gyp directory) + + WebCore.xcodeproj + WebCore.sln + WebCore.vcproj + WebCore_Debug.rules + WebCore_Release.rules + WebCore_Release - no tcmalloc.rules + WebCore_Purify.rules + WebCore.mk + WebCore_Debug_rules.mk + WebCore_Release_rules.mk + WebCore_Release - no tcmalloc_rules.mk + WebCore_Purify_rules.mk + WebCore.scons + WebCore_main.scons + + * WebCore.gyp: Changed property svn:ignore. + +2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Unreviewed. Mac build fix. + + * page/EventHandler.cpp: + (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal): + remove unused parameter from function signature; + +2009-09-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Oliver Hunt. + + Implement correct horizontal scrollbar behavior for GTK+ also on + styled scrollbars. + + https://bugs.webkit.org/show_bug.cgi?id=29348 + [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally + + Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the + wheel with the pointer on the horizontal scrollbar, scroll + horizontally; + * platform/PlatformWheelEvent.h: + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::swapOrientation): allow adding a + vertical scroll to the horizontal one; + +2009-09-24 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Eric Seidel. + + StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin> + https://bugs.webkit.org/show_bug.cgi?id=29290 + + Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin> + per http://webkit.org/coding/RefPtr.html + + No behavior change, so no tests. + + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::storageArea): + * storage/StorageNamespaceImpl.h: + +2009-09-24 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Added back enable/disableSuddenTermination() functionality I accidentally + removed in my last patch. + + * page/DOMWindow.cpp: + (WebCore::addUnloadEventListener): + (WebCore::removeUnloadEventListener): + (WebCore::removeAllUnloadEventListeners): + (WebCore::addBeforeUnloadEventListener): + (WebCore::removeBeforeUnloadEventListener): + (WebCore::removeAllBeforeUnloadEventListeners): + (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): + (WebCore::DOMWindow::~DOMWindow): + (WebCore::DOMWindow::addEventListener): + (WebCore::DOMWindow::removeEventListener): + (WebCore::DOMWindow::removeAllEventListeners): + +2009-09-24 Sam Weinig <sam@webkit.org> + + Reviewed by Steve Falkenburg and Mark Rowe. + + Don't pass -F to GCC on non-mac platforms since it is an darwin only. + + * DerivedSources.make: + +2009-09-24 Sam Weinig <sam@webkit.org> + + Fix windows build. + + * dom/Element.idl: + +2009-09-23 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel. + + Revert the relevant parts of r47925, and implement an alternate + fix (localize the coordinate check to GraphicsContext::clipPath()). + This fixes http://crbug.com/21174. + + Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipPath): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::currentPathInLocalCoordinates): + +2009-09-24 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig. + + Merge changes from Mozilla's FTP directory parser. + <rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294 + + FTP layout tests not possible at this time. + https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible. + + * loader/FTPDirectoryParser.cpp: + (WebCore::ParsingFailed): + (WebCore::parseOneFTPLine): + +2009-09-24 Philippe Normand <pnormand@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] re-enable some media tests + https://bugs.webkit.org/show_bug.cgi?id=29716 + + make canPlayType() return "probably" if mime-type is known + and codecs string is not empty. If codecs is empty return + "maybe". + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::supportsType): + +2009-09-24 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=29703 + Add a function to element to check whether it matches a CSS selector + + Implement Element.webkitMatchesSelector. + + * css/CSSSelectorList.cpp: + (WebCore::forEachTagSelector): + (WebCore::forEachSelector): + (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): + (WebCore::CSSSelectorList::selectorsNeedNamespaceResolution): + * css/CSSSelectorList.h: + Moved code to iterate the CSSSelectorList and determine if any + selectors need namespace resolution from a static function in + Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector + as well as querySelector/querySelectorAll. + + * dom/Element.cpp: + (WebCore::Element::webkitMatchesSelector): + * dom/Element.h: + * dom/Element.idl: + Implement the new function. Handles exceptional cases identically to + querySelector/querySelectorAll. + + * dom/Node.cpp: + (WebCore::Node::querySelector): + (WebCore::Node::querySelectorAll): + Moved selectorsNeedNamespaceResolution to CSSSelectorList from here. + +2009-09-24 Vitaly Repeshko <vitalyr@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] Fixed bindings build after http://trac.webkit.org/changeset/48701 + https://bugs.webkit.org/show_bug.cgi?id=29713 + + Got rid of isWindowEvent in function signatures: + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + (WebCore::V8AbstractEventListener::handleEvent): + (WebCore::V8AbstractEventListener::getReceiverObject): + * bindings/v8/V8AbstractEventListener.h: + * bindings/v8/V8LazyEventListener.cpp: + (WebCore::V8LazyEventListener::callListenerFunction): + * bindings/v8/V8LazyEventListener.h: + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::handleEvent): + (WebCore::V8WorkerContextEventListener::callListenerFunction): + (WebCore::V8WorkerContextEventListener::getReceiverObject): + * bindings/v8/V8WorkerContextEventListener.h: + * bindings/v8/custom/V8CustomEventListener.cpp: + (WebCore::V8EventListener::callListenerFunction): + * bindings/v8/custom/V8CustomEventListener.h: + + Switched to EventTarget methods of adding/removing listeners: + * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: + (WebCore::toEventID): + (WebCore::ACCESSOR_SETTER): + + * dom/EventTarget.h: Some functions were incorrectly marked + as JSC-specific. + +2009-09-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Color-code watch expression errors with red. + + https://bugs.webkit.org/show_bug.cgi?id=29707 + + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + (WebInspector.WatchExpressionTreeElement.prototype.update): + * inspector/front-end/inspector.css: + +2009-09-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Fix formatting for messages derived from resource warnings, + couple of drive-by formatting fixes. + + https://bugs.webkit.org/show_bug.cgi?id=29705 + + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::addMessageToConsole): + * inspector/front-end/ConsoleView.js: + * inspector/front-end/InjectedScript.js: + (InjectedScript._evaluateAndWrap): + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSection.prototype.update): + +2009-09-22 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: Implement InspectorController::copyNode(id). + + https://bugs.webkit.org/show_bug.cgi?id=28357 + + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::copyNode): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.handleCopyEvent): + +2009-09-24 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY(rollout) + + Roll out r48712 as it is incorrect. + + Overriding getPropertyNames is incorrect. + + * bridge/runtime_array.cpp: + * bridge/runtime_array.h: + +2009-09-24 Xan Lopez <xlopez@igalia.com> + + Revert r48697, since it broke key handling notification to GTK+. + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::keyIdentifierForGdkKeyCode): + (WebCore::singleCharacterString): + +2009-09-24 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] GStreamer MediaPlayer is unable to correctly querry duration + https://bugs.webkit.org/show_bug.cgi?id=24639 + + check duration returned by gst_element_query_duration() only + when using GStreamer < 0.10.23. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::duration): + +2009-09-24 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Eric Seidel. + + The indices of RuntimeArray should be enumerated like for a regular array. + https://bugs.webkit.org/show_bug.cgi?id=29005 + + * bridge/runtime_array.cpp: + (JSC::RuntimeArray::getPropertyNames): + * bridge/runtime_array.h: + +2009-09-23 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Eric Seidel. + + Introduce Pasteboard::writePlaintext(const String&) so that copying + of the inspected elements HTML will be possible in WebInspector. + https://bugs.webkit.org/show_bug.cgi?id=29634 + + * platform/Pasteboard.h: + * platform/android/TemporaryLinkStubs.cpp: + (Pasteboard::writePlainText): + * platform/chromium/ChromiumBridge.h: + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/haiku/PasteboardHaiku.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writePlainText): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/win/PasteboardWin.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + * platform/wince/PasteboardWince.cpp: + (WebCore::Pasteboard::writePlainText): + * platform/wx/PasteboardWx.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writePlainText): + (WebCore::Pasteboard::writeURL): + 2009-09-24 Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi index 758d99d..43e739c 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.gypi +++ b/src/3rdparty/webkit/WebCore/WebCore.gypi @@ -76,11 +76,27 @@ 'dom/WebKitAnimationEvent.idl', 'dom/WebKitTransitionEvent.idl', 'dom/WheelEvent.idl', + 'html/canvas/CanvasArray.idl', + 'html/canvas/CanvasArrayBuffer.idl', + 'html/canvas/CanvasBuffer.idl', + 'html/canvas/CanvasByteArray.idl', + 'html/canvas/CanvasFloatArray.idl', + 'html/canvas/CanvasFramebuffer.idl', 'html/canvas/CanvasGradient.idl', + 'html/canvas/CanvasIntArray.idl', 'html/canvas/CanvasPattern.idl', 'html/canvas/CanvasPixelArray.idl', + 'html/canvas/CanvasProgram.idl', + 'html/canvas/CanvasRenderbuffer.idl', 'html/canvas/CanvasRenderingContext.idl', 'html/canvas/CanvasRenderingContext2D.idl', + 'html/canvas/CanvasRenderingContext3D.idl', + 'html/canvas/CanvasShader.idl', + 'html/canvas/CanvasShortArray.idl', + 'html/canvas/CanvasUnsignedByteArray.idl', + 'html/canvas/CanvasUnsignedIntArray.idl', + 'html/canvas/CanvasUnsignedShortArray.idl', + 'html/canvas/CanvasTexture.idl', 'html/DataGridColumn.idl', 'html/DataGridColumnList.idl', 'html/File.idl', @@ -336,6 +352,7 @@ 'svg/SVGViewSpec.idl', 'svg/SVGZoomAndPan.idl', 'svg/SVGZoomEvent.idl', + 'websockets/WebSocket.idl', 'workers/AbstractWorker.idl', 'workers/DedicatedWorkerContext.idl', 'workers/SharedWorker.idl', @@ -553,6 +570,9 @@ 'bindings/js/JSWebKitCSSMatrixConstructor.h', 'bindings/js/JSWebKitPointConstructor.cpp', 'bindings/js/JSWebKitPointConstructor.h', + 'bindings/js/JSWebSocketConstructor.cpp', + 'bindings/js/JSWebSocketConsuructor.h', + 'bindings/js/JSWebSocketCustom.cpp', 'bindings/js/JSWorkerConstructor.cpp', 'bindings/js/JSWorkerConstructor.h', 'bindings/js/JSWorkerContextBase.cpp', @@ -607,7 +627,17 @@ 'bindings/v8/custom/V8AbstractWorkerCustom.cpp', 'bindings/v8/custom/V8AttrCustom.cpp', 'bindings/v8/custom/V8CanvasPixelArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasArrayCustom.h', + 'bindings/v8/custom/V8CanvasArrayBufferCustom.cpp', + 'bindings/v8/custom/V8CanvasByteArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasIntArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasFloatArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasShortArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp', + 'bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp', 'bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp', + 'bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp', 'bindings/v8/custom/V8ClientRectListCustom.cpp', 'bindings/v8/custom/V8ClipboardCustom.cpp', 'bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp', @@ -681,6 +711,7 @@ 'bindings/v8/custom/V8TreeWalkerCustom.cpp', 'bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp', 'bindings/v8/custom/V8WebKitPointConstructor.cpp', + 'bindings/v8/custom/V8WebSocketCustom.cpp', 'bindings/v8/custom/V8WorkerContextCustom.cpp', 'bindings/v8/custom/V8WorkerCustom.cpp', 'bindings/v8/custom/V8XMLHttpRequestConstructor.cpp', @@ -1084,6 +1115,8 @@ 'dom/TextEvent.cpp', 'dom/TextEvent.h', 'dom/Tokenizer.h', + 'dom/TransformSourceLibxslt.cpp', + 'dom/TransformSource.h', 'dom/Traversal.cpp', 'dom/Traversal.h', 'dom/TreeWalker.cpp', @@ -1221,18 +1254,52 @@ 'history/HistoryItem.h', 'history/PageCache.cpp', 'history/PageCache.h', + 'html/canvas/CanvasArray.cpp', + 'html/canvas/CanvasArray.h', + 'html/canvas/CanvasArrayBuffer.cpp', + 'html/canvas/CanvasArrayBuffer.h', + 'html/canvas/CanvasBuffer.cpp', + 'html/canvas/CanvasBuffer.h', + 'html/canvas/CanvasByteArray.cpp', + 'html/canvas/CanvasByteArray.h', + 'html/canvas/CanvasFloatArray.cpp', + 'html/canvas/CanvasFloatArray.h', + 'html/canvas/CanvasFramebuffer.cpp', + 'html/canvas/CanvasFramebuffer.h', 'html/canvas/CanvasGradient.cpp', 'html/canvas/CanvasGradient.h', + 'html/canvas/CanvasIntArray.cpp', + 'html/canvas/CanvasIntArray.h', + 'html/canvas/CanvasObject.cpp', + 'html/canvas/CanvasObject.h', 'html/canvas/CanvasPattern.cpp', 'html/canvas/CanvasPattern.h', 'html/canvas/CanvasPixelArray.cpp', 'html/canvas/CanvasPixelArray.h', + 'html/canvas/CanvasProgram.cpp', + 'html/canvas/CanvasProgram.h', + 'html/canvas/CanvasRenderbuffer.cpp', + 'html/canvas/CanvasRenderbuffer.h', 'html/canvas/CanvasRenderingContext.cpp', 'html/canvas/CanvasRenderingContext.h', 'html/canvas/CanvasRenderingContext2D.cpp', 'html/canvas/CanvasRenderingContext2D.h', + 'html/canvas/CanvasRenderingContext3D.cpp', + 'html/canvas/CanvasRenderingContext3D.h', + 'html/canvas/CanvasShader.cpp', + 'html/canvas/CanvasShader.h', + 'html/canvas/CanvasShortArray.cpp', + 'html/canvas/CanvasShortArray.h', 'html/canvas/CanvasStyle.cpp', 'html/canvas/CanvasStyle.h', + 'html/canvas/CanvasTexture.cpp', + 'html/canvas/CanvasTexture.h', + 'html/canvas/CanvasUnsignedByteArray.cpp', + 'html/canvas/CanvasUnsignedByteArray.h', + 'html/canvas/CanvasUnsignedIntArray.cpp', + 'html/canvas/CanvasUnsignedIntArray.h', + 'html/canvas/CanvasUnsignedShortArray.cpp', + 'html/canvas/CanvasUnsignedShortArray.h', 'html/CollectionCache.cpp', 'html/CollectionCache.h', 'html/CollectionType.h', @@ -1667,6 +1734,7 @@ 'page/Geolocation.cpp', 'page/Geolocation.h', 'page/Geoposition.h', + 'page/HaltablePlugin.h', 'page/History.cpp', 'page/History.h', 'page/Location.cpp', @@ -1685,6 +1753,9 @@ 'page/PageGroup.h', 'page/PageGroupLoadDeferrer.cpp', 'page/PageGroupLoadDeferrer.h', + 'page/PluginHalter.cpp', + 'page/PluginHalter.h', + 'page/PluginHalterClient.h', 'page/PositionCallback.h', 'page/PositionError.h', 'page/PositionErrorCallback.h', @@ -1698,6 +1769,8 @@ 'page/SecurityOriginHash.h', 'page/Settings.cpp', 'page/Settings.h', + 'page/UserContentURLPattern.cpp', + 'page/UserContentURLPattern.h', 'page/UserScript.h', 'page/UserScriptTypes.h', 'page/UserStyleSheet.h', @@ -2081,6 +2154,7 @@ 'platform/graphics/Gradient.h', 'platform/graphics/GraphicsContext.cpp', 'platform/graphics/GraphicsContext.h', + 'platform/graphics/GraphicsContext3D.h', 'platform/graphics/GraphicsContextPrivate.h', 'platform/graphics/GraphicsLayer.cpp', 'platform/graphics/GraphicsLayer.h', @@ -2270,6 +2344,9 @@ 'platform/network/cf/ResourceResponse.h', 'platform/network/cf/ResourceResponseCFNet.cpp', 'platform/network/cf/ResourceResponseCFNet.h', + 'platform/network/cf/SocketStreamError.h', + 'platform/network/cf/SocketStreamHandle.h', + 'platform/network/cf/SocketStreamHandleCFNet.cpp', 'platform/network/chromium/AuthenticationChallenge.h', 'platform/network/chromium/AuthenticationChallengeChromium.cpp', 'platform/network/chromium/CookieJarChromium.cpp', @@ -2279,6 +2356,8 @@ 'platform/network/chromium/ResourceError.h', 'platform/network/chromium/ResourceRequest.h', 'platform/network/chromium/ResourceResponse.h', + 'platform/network/chromium/SocketStreamError.h', + 'platform/network/chromium/SocketStreamHandle.h', 'platform/network/curl/AuthenticationChallenge.h', 'platform/network/curl/CookieJarCurl.cpp', 'platform/network/curl/DNSCurl.cpp', @@ -2321,6 +2400,9 @@ 'platform/network/soup/ResourceHandleSoup.cpp', 'platform/network/soup/ResourceRequest.h', 'platform/network/soup/ResourceResponse.h', + 'platform/network/soup/SocketStreamError.h', + 'platform/network/soup/SocketStreamHandle.h', + 'platform/network/soup/SocketStreamHandleSoup.cpp', 'platform/network/soup/webkit-soup-auth-dialog.c', 'platform/network/soup/webkit-soup-auth-dialog.h', 'platform/network/win/CookieJarCFNetWin.cpp', @@ -2355,6 +2437,11 @@ 'platform/network/ResourceRequestBase.h', 'platform/network/ResourceResponseBase.cpp', 'platform/network/ResourceResponseBase.h', + 'platform/network/SocketStreamErrorBase.cpp', + 'platform/network/SocketStreamErrorBase.h', + 'platform/network/SocketStreamHandleBase.cpp', + 'platform/network/SocketStreamHandleBase.h', + 'platform/network/SocketStreamHandleClient.h', 'platform/posix/FileSystemPOSIX.cpp', 'platform/qt/ClipboardQt.cpp', 'platform/qt/ClipboardQt.h', @@ -3018,6 +3105,7 @@ 'storage/StorageAreaSync.h', 'storage/StorageEvent.cpp', 'storage/StorageEvent.h', + 'storage/StorageEventDispatcher.h', 'storage/StorageMap.cpp', 'storage/StorageMap.h', 'storage/StorageNamespace.cpp', @@ -3369,6 +3457,13 @@ 'svg/SVGZoomEvent.cpp', 'svg/SVGZoomEvent.h', 'svg/SynchronizableTypeWrapper.h', + 'websockets/WebSocket.cpp', + 'websockets/WebSocket.h', + 'websockets/WebSocketChannel.cpp', + 'websockets/WebSocketChannel.h', + 'websockets/WebSocketChannelClient.h', + 'websockets/WebSocketHandshake.cpp', + 'websockets/WebSocketHandshake.h', 'workers/AbstractWorker.cpp', 'workers/AbstractWorker.h', 'workers/DedicatedWorkerContext.cpp', @@ -3449,11 +3544,12 @@ 'xml/XPathVariableReference.h', 'xml/XSLImportRule.cpp', 'xml/XSLImportRule.h', - 'xml/XSLStyleSheet.cpp', + 'xml/XSLStyleSheetLibxslt.cpp', 'xml/XSLStyleSheet.h', 'xml/XSLTExtensions.cpp', 'xml/XSLTExtensions.h', 'xml/XSLTProcessor.cpp', + 'xml/XSLTProcessorLibxslt.cpp', 'xml/XSLTProcessor.h', 'xml/XSLTUnicodeSort.cpp', 'xml/XSLTUnicodeSort.h', @@ -3481,6 +3577,7 @@ 'inspector/front-end/Drawer.js', 'inspector/front-end/ElementsPanel.js', 'inspector/front-end/ElementsTreeOutline.js', + 'inspector/front-end/EventListenersSidebarPane.js', 'inspector/front-end/FontView.js', 'inspector/front-end/ImageView.js', 'inspector/front-end/InjectedScript.js', @@ -3565,6 +3662,7 @@ 'inspector/front-end/Images/goArrow.png', 'inspector/front-end/Images/graphLabelCalloutLeft.png', 'inspector/front-end/Images/graphLabelCalloutRight.png', + 'inspector/front-end/Images/grayConnectorPoint.png', 'inspector/front-end/Images/largerResourcesButtonGlyph.png', 'inspector/front-end/Images/localStorage.png', 'inspector/front-end/Images/nodeSearchButtonGlyph.png', @@ -3647,6 +3745,7 @@ 'inspector/front-end/Images/warningIcon.png', 'inspector/front-end/Images/warningMediumIcon.png', 'inspector/front-end/Images/warningsErrors.png', + 'inspector/front-end/Images/whiteConnectorPoint.png' ], } } diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index de3717d..bc22b7a 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -113,6 +113,7 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) { !contains(DEFINES, ENABLE_DOM_STORAGE=.): DEFINES += ENABLE_DOM_STORAGE=1 !contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1 !contains(DEFINES, ENABLE_CHANNEL_MESSAGING=.): DEFINES += ENABLE_CHANNEL_MESSAGING=1 +!contains(DEFINES, ENABLE_ORIENTATION_EVENTS=.): DEFINES += ENABLE_ORIENTATION_EVENTS=0 # turn on SQLITE support if any of the dependent features are turned on !contains(DEFINES, ENABLE_SQLITE=.) { @@ -126,7 +127,6 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) { !contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=.): DEFINES += ENABLE_DASHBOARD_SUPPORT=0 !contains(DEFINES, ENABLE_FILTERS=.): DEFINES += ENABLE_FILTERS=0 !contains(DEFINES, ENABLE_XPATH=.): DEFINES += ENABLE_XPATH=1 -!contains(DEFINES, ENABLE_XSLT=.): DEFINES += ENABLE_XSLT=0 #!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1 !contains(DEFINES, ENABLE_WCSS=.): DEFINES += ENABLE_WCSS=0 !contains(DEFINES, ENABLE_WML=.): DEFINES += ENABLE_WML=0 @@ -171,6 +171,12 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) { # Web Socket support. !contains(DEFINES, ENABLE_WEB_SOCKETS=.): DEFINES += ENABLE_WEB_SOCKETS=1 +# XSLT support with QtXmlPatterns +!contains(DEFINES, ENABLE_XSLT=.) { + contains(QT_CONFIG, xmlpatterns):!lessThan(QT_MINOR_VERSION, 5):DEFINES += ENABLE_XSLT=1 + else:DEFINES += ENABLE_XSLT=0 +} + DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1 WTF_CHANGES=1 # Used to compute defaults for the build-webkit script @@ -907,7 +913,6 @@ SOURCES += \ dom/WheelEvent.cpp \ dom/XMLTokenizer.cpp \ dom/XMLTokenizerQt.cpp \ - dom/XMLTokenizerScope.cpp \ dom/default/PlatformMessagePortChannel.cpp \ editing/AppendNodeCommand.cpp \ editing/ApplyStyleCommand.cpp \ @@ -1137,10 +1142,12 @@ SOURCES += \ page/Page.cpp \ page/PageGroup.cpp \ page/PageGroupLoadDeferrer.cpp \ + page/PluginHalter.cpp \ page/PrintContext.cpp \ page/SecurityOrigin.cpp \ page/Screen.cpp \ page/Settings.cpp \ + page/UserContentURLPattern.cpp \ page/WindowFeatures.cpp \ page/XSSAuditor.cpp \ plugins/PluginData.cpp \ @@ -1566,6 +1573,7 @@ HEADERS += \ dom/TagNodeList.h \ dom/TextEvent.h \ dom/Text.h \ + dom/TransformSource.h \ dom/Traversal.h \ dom/TreeWalker.h \ dom/UIEvent.h \ @@ -1574,7 +1582,6 @@ HEADERS += \ dom/WebKitTransitionEvent.h \ dom/WheelEvent.h \ dom/XMLTokenizer.h \ - dom/XMLTokenizerScope.h \ editing/AppendNodeCommand.h \ editing/ApplyStyleCommand.h \ editing/BreakBlockquoteCommand.h \ @@ -1811,6 +1818,7 @@ HEADERS += \ page/FrameView.h \ page/Geolocation.h \ page/Geoposition.h \ + page/HaltablePlugin.h \ page/History.h \ page/Location.h \ page/MouseEventWithHitTestResults.h \ @@ -1819,6 +1827,8 @@ HEADERS += \ page/PageGroup.h \ page/PageGroupLoadDeferrer.h \ page/Page.h \ + page/PluginHalter.h \ + page/PluginHalterClient.h \ page/PrintContext.h \ page/Screen.h \ page/SecurityOrigin.h \ @@ -2381,7 +2391,7 @@ SOURCES += \ ../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp \ ../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp \ ../WebKit/qt/Api/qwebframe.cpp \ - ../WebKit/qt/Api/qwebgraphicsitem.cpp \ + ../WebKit/qt/Api/qgraphicswebview.cpp \ ../WebKit/qt/Api/qwebpage.cpp \ ../WebKit/qt/Api/qwebview.cpp \ ../WebKit/qt/Api/qwebelement.cpp \ @@ -2482,6 +2492,10 @@ contains(DEFINES, ENABLE_CHANNEL_MESSAGING=1) { FEATURE_DEFINES_JAVASCRIPT += ENABLE_CHANNEL_MESSAGING=1 } +contains(DEFINES, ENABLE_ORIENTATION_EVENTS=1) { + FEATURE_DEFINES_JAVASCRIPT += ENABLE_ORIENTATION_EVENTS=1 +} + contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=0) { DASHBOARDSUPPORTCSSPROPERTIES -= $$PWD/css/DashboardSupportCSSPropertyNames.in } @@ -2704,25 +2718,16 @@ unix:!mac:CONFIG += link_pkgconfig contains(DEFINES, ENABLE_XSLT=1) { FEATURE_DEFINES_JAVASCRIPT += ENABLE_XSLT=1 - PKGCONFIG += libxml-2.0 libxslt - macx { - INCLUDEPATH += /usr/include/libxml2 - LIBS += -lxml2 -lxslt - } - - win32-msvc* { - LIBS += -llibxml2 -llibxslt - } + QT += xmlpatterns SOURCES += \ bindings/js/JSXSLTProcessorConstructor.cpp \ bindings/js/JSXSLTProcessorCustom.cpp \ - xml/XSLImportRule.cpp \ - xml/XSLStyleSheet.cpp \ - xml/XSLTExtensions.cpp \ + dom/TransformSourceQt.cpp \ + xml/XSLStyleSheetQt.cpp \ xml/XSLTProcessor.cpp \ - xml/XSLTUnicodeSort.cpp + xml/XSLTProcessorQt.cpp } contains(DEFINES, ENABLE_XBL=1) { diff --git a/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h index 570548d..3d435cb 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h @@ -40,7 +40,7 @@ namespace WebCore { SVGElement* context() const { return m_context.get(); } protected: - DOMObjectWithSVGContext(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject*, SVGElement* context) + DOMObjectWithSVGContext(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject*, SVGElement* context) : DOMObject(structure) , m_context(context) { diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp index aac1c63..9411ad8 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp @@ -54,7 +54,7 @@ JSValue JSAbstractWorker::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -68,7 +68,7 @@ JSValue JSAbstractWorker::removeEventListener(ExecState* exec, const ArgList& ar if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp index e217023..14457c4 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -59,4 +59,16 @@ void JSAttr::setValue(ExecState* exec, JSValue value) setDOMException(exec, ec); } +void JSAttr::markChildren(MarkStack& markStack) +{ + Base::markChildren(markStack); + + // Mark the element so that this will work to access the attribute even if the last + // other reference goes away. + if (Element* element = impl()->ownerElement()) { + if (JSNode* wrapper = getCachedDOMNodeWrapper(element->document(), element)) + markStack.append(wrapper); + } +} + } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp index 5855026..49ef5e3 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp @@ -95,7 +95,7 @@ JSValue JSDOMApplicationCache::addEventListener(ExecState* exec, const ArgList& if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -109,7 +109,7 @@ JSValue JSDOMApplicationCache::removeEventListener(ExecState* exec, const ArgLis if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp index 1899797..515c088 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp @@ -600,7 +600,7 @@ Structure* getCachedDOMStructure(JSDOMGlobalObject* globalObject, const ClassInf return structures.get(classInfo).get(); } -Structure* cacheDOMStructure(JSDOMGlobalObject* globalObject, PassRefPtr<Structure> structure, const ClassInfo* classInfo) +Structure* cacheDOMStructure(JSDOMGlobalObject* globalObject, NonNullPassRefPtr<Structure> structure, const ClassInfo* classInfo) { JSDOMStructureMap& structures = globalObject->structures(); ASSERT(!structures.contains(classInfo)); @@ -612,7 +612,7 @@ Structure* getCachedDOMStructure(ExecState* exec, const ClassInfo* classInfo) return getCachedDOMStructure(static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), classInfo); } -Structure* cacheDOMStructure(ExecState* exec, PassRefPtr<Structure> structure, const ClassInfo* classInfo) +Structure* cacheDOMStructure(ExecState* exec, NonNullPassRefPtr<Structure> structure, const ClassInfo* classInfo) { return cacheDOMStructure(static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), structure, classInfo); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h index c46513c..9c0ad7e 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h @@ -50,7 +50,7 @@ namespace WebCore { // Base class for all objects in this binding except Window. class DOMObject : public JSC::JSObject { protected: - explicit DOMObject(PassRefPtr<JSC::Structure> structure) + explicit DOMObject(NonNullPassRefPtr<JSC::Structure> structure) : JSObject(structure) { } @@ -80,7 +80,7 @@ namespace WebCore { } protected: - DOMObjectWithGlobalPointer(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) + DOMObjectWithGlobalPointer(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) : DOMObject(structure) , m_globalObject(globalObject) { @@ -110,7 +110,7 @@ namespace WebCore { } protected: - DOMConstructorObject(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) + DOMConstructorObject(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) : DOMObjectWithGlobalPointer(structure, globalObject) { } @@ -126,7 +126,7 @@ namespace WebCore { } protected: - DOMConstructorWithDocument(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) + DOMConstructorWithDocument(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject) : DOMConstructorObject(structure, globalObject) { ASSERT(globalObject->scriptExecutionContext()->isDocument()); @@ -147,9 +147,9 @@ namespace WebCore { void markDOMObjectWrapper(JSC::MarkStack&, JSC::JSGlobalData& globalData, void* object); JSC::Structure* getCachedDOMStructure(JSDOMGlobalObject*, const JSC::ClassInfo*); - JSC::Structure* cacheDOMStructure(JSDOMGlobalObject*, PassRefPtr<JSC::Structure>, const JSC::ClassInfo*); + JSC::Structure* cacheDOMStructure(JSDOMGlobalObject*, NonNullPassRefPtr<JSC::Structure>, const JSC::ClassInfo*); JSC::Structure* getCachedDOMStructure(JSC::ExecState*, const JSC::ClassInfo*); - JSC::Structure* cacheDOMStructure(JSC::ExecState*, PassRefPtr<JSC::Structure>, const JSC::ClassInfo*); + JSC::Structure* cacheDOMStructure(JSC::ExecState*, NonNullPassRefPtr<JSC::Structure>, const JSC::ClassInfo*); JSC::JSObject* getCachedDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*); void cacheDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*, JSC::JSObject* constructor); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp index 240a56c..372684c 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp @@ -40,12 +40,7 @@ using namespace JSC; namespace WebCore { -JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData() - : evt(0) -{ -} - -JSDOMGlobalObject::JSDOMGlobalObject(PassRefPtr<Structure> structure, JSDOMGlobalObject::JSDOMGlobalObjectData* data, JSObject* thisValue) +JSDOMGlobalObject::JSDOMGlobalObject(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject::JSDOMGlobalObjectData* data, JSObject* thisValue) : JSGlobalObject(structure, data, thisValue) { } @@ -68,7 +63,7 @@ PassRefPtr<JSEventListener> JSDOMGlobalObject::createJSAttributeEventListener(JS if (!val.isObject()) return 0; - return JSEventListener::create(asObject(val), this, true).get(); + return JSEventListener::create(asObject(val), true).get(); } void JSDOMGlobalObject::setCurrentEvent(Event* evt) @@ -81,6 +76,11 @@ Event* JSDOMGlobalObject::currentEvent() const return d()->evt; } +void JSDOMGlobalObject::destroyJSDOMGlobalObjectData(void* jsDOMGlobalObjectData) +{ + delete static_cast<JSDOMGlobalObjectData*>(jsDOMGlobalObjectData); +} + JSDOMGlobalObject* toJSDOMGlobalObject(Document* document) { return toJSDOMWindow(document->frame()); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h index 996e155..00c3bbf 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h @@ -45,7 +45,7 @@ namespace WebCore { protected: struct JSDOMGlobalObjectData; - JSDOMGlobalObject(PassRefPtr<JSC::Structure>, JSDOMGlobalObjectData*, JSC::JSObject* thisValue); + JSDOMGlobalObject(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObjectData*, JSC::JSObject* thisValue); public: JSDOMStructureMap& structures() { return d()->structures; } @@ -67,7 +67,11 @@ namespace WebCore { protected: struct JSDOMGlobalObjectData : public JSC::JSGlobalObject::JSGlobalObjectData { - JSDOMGlobalObjectData(); + JSDOMGlobalObjectData() + : JSGlobalObjectData(destroyJSDOMGlobalObjectData) + , evt(0) + { + } JSDOMStructureMap structures; JSDOMConstructorMap constructors; @@ -76,6 +80,8 @@ namespace WebCore { }; private: + static void destroyJSDOMGlobalObjectData(void*); + JSDOMGlobalObjectData* d() const { return static_cast<JSDOMGlobalObjectData*>(JSC::JSVariableObject::d); } }; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp index 6eca3e7..fe4d59c 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp @@ -48,7 +48,7 @@ JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData(PassRefPtr<DOMWindow> { } -JSDOMWindowBase::JSDOMWindowBase(PassRefPtr<Structure> structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell) +JSDOMWindowBase::JSDOMWindowBase(NonNullPassRefPtr<Structure> structure, PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell) : JSDOMGlobalObject(structure, new JSDOMWindowBaseData(window, shell), shell) { GlobalPropertyInfo staticGlobals[] = { diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h index 84cc81f..09fe4bc 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h @@ -43,7 +43,7 @@ namespace WebCore { class JSDOMWindowBase : public JSDOMGlobalObject { typedef JSDOMGlobalObject Base; protected: - JSDOMWindowBase(PassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*); + JSDOMWindowBase(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*); public: void updateDocument(); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp index 08c7144..7410107 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp @@ -720,6 +720,14 @@ JSValue JSDOMWindow::sharedWorker(ExecState* exec) const #if ENABLE(WEB_SOCKETS) JSValue JSDOMWindow::webSocket(ExecState* exec) const { + Frame* frame = impl()->frame(); + if (!frame) + return jsUndefined(); + Settings* settings = frame->settings(); + if (!settings) + return jsUndefined(); + if (!settings->experimentalWebSocketsEnabled()) + return jsUndefined(); return getDOMConstructor<JSWebSocketConstructor>(exec, this); } #endif @@ -1034,7 +1042,7 @@ JSValue JSDOMWindow::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), this, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -1048,7 +1056,7 @@ JSValue JSDOMWindow::removeEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), this, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp index 48ae014..4f273fe 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp @@ -31,20 +31,18 @@ using namespace JSC; namespace WebCore { -JSEventListener::JSEventListener(JSObject* function, JSDOMGlobalObject* globalObject, bool isAttribute) +JSEventListener::JSEventListener(JSObject* function, bool isAttribute) : EventListener(JSEventListenerType) , m_jsFunction(function) - , m_globalObject(globalObject) , m_isAttribute(isAttribute) { - ASSERT(m_globalObject); } JSEventListener::~JSEventListener() { } -JSObject* JSEventListener::jsFunction() const +JSObject* JSEventListener::jsFunction(ScriptExecutionContext*) const { return m_jsFunction; } @@ -53,20 +51,22 @@ void JSEventListener::markJSFunction(MarkStack& markStack) { if (m_jsFunction) markStack.append(m_jsFunction); - markStack.append(m_globalObject); } -void JSEventListener::handleEvent(Event* event) +void JSEventListener::handleEvent(ScriptExecutionContext* scriptExecutionContext, Event* event) { + ASSERT(scriptExecutionContext); + if (!scriptExecutionContext) + return; + JSLock lock(SilenceAssertionsOnly); - JSObject* jsFunction = this->jsFunction(); + JSObject* jsFunction = this->jsFunction(scriptExecutionContext); if (!jsFunction) return; - JSDOMGlobalObject* globalObject = m_globalObject; - ScriptExecutionContext* scriptExecutionContext = globalObject->scriptExecutionContext(); - if (!scriptExecutionContext) + JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext); + if (!globalObject) return; if (scriptExecutionContext->isDocument()) { @@ -132,15 +132,15 @@ void JSEventListener::handleEvent(Event* event) } } -bool JSEventListener::reportError(const String& message, const String& url, int lineNumber) +bool JSEventListener::reportError(ScriptExecutionContext* context, const String& message, const String& url, int lineNumber) { JSLock lock(SilenceAssertionsOnly); - JSObject* jsFunction = this->jsFunction(); + JSObject* jsFunction = this->jsFunction(context); if (!jsFunction) return false; - JSDOMGlobalObject* globalObject = m_globalObject; + JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(context); ExecState* exec = globalObject->globalExec(); CallData callData; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h index 91ceff7..285a9c4 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h @@ -30,9 +30,9 @@ namespace WebCore { class JSEventListener : public EventListener { public: - static PassRefPtr<JSEventListener> create(JSC::JSObject* listener, JSDOMGlobalObject* globalObject, bool isAttribute) + static PassRefPtr<JSEventListener> create(JSC::JSObject* listener, bool isAttribute) { - return adoptRef(new JSEventListener(listener, globalObject, isAttribute)); + return adoptRef(new JSEventListener(listener, isAttribute)); } static const JSEventListener* cast(const EventListener* listener) @@ -49,20 +49,19 @@ namespace WebCore { // Returns true if this event listener was created for an event handler attribute, like "onload" or "onclick". bool isAttribute() const { return m_isAttribute; } - virtual JSC::JSObject* jsFunction() const; + virtual JSC::JSObject* jsFunction(ScriptExecutionContext*) const; private: virtual void markJSFunction(JSC::MarkStack&); - virtual void handleEvent(Event*); - virtual bool reportError(const String& message, const String& url, int lineNumber); + virtual void handleEvent(ScriptExecutionContext*, Event*); + virtual bool reportError(ScriptExecutionContext*, const String& message, const String& url, int lineNumber); virtual bool virtualisAttribute() const; void clearJSFunctionInline(); protected: - JSEventListener(JSC::JSObject* function, JSDOMGlobalObject*, bool isAttribute); + JSEventListener(JSC::JSObject* function, bool isAttribute); mutable JSC::JSObject* m_jsFunction; - JSDOMGlobalObject* m_globalObject; bool m_isAttribute; }; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp index d757ef6..404bf11 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp @@ -53,7 +53,7 @@ JSValue JSEventSource::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -67,7 +67,7 @@ JSValue JSEventSource::removeEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h index 7363e5c..e6fe7f5 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h @@ -35,7 +35,7 @@ namespace WebCore { class JSHTMLAllCollection : public JSHTMLCollection { public: - JSHTMLAllCollection(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> collection) + JSHTMLAllCollection(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> collection) : JSHTMLCollection(structure, globalObject, collection) { } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp index 7daeec7..ed79427 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.cpp @@ -71,7 +71,7 @@ JSValue JSInspectedObjectWrapper::wrap(ExecState* unwrappedExec, JSValue unwrapp return new (unwrappedExec) JSInspectedObjectWrapper(unwrappedExec, unwrappedObject, JSQuarantinedObjectWrapper::createStructure(asObject(wrap(unwrappedExec, prototype)))); } -JSInspectedObjectWrapper::JSInspectedObjectWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, PassRefPtr<Structure> structure) +JSInspectedObjectWrapper::JSInspectedObjectWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, NonNullPassRefPtr<Structure> structure) : JSQuarantinedObjectWrapper(unwrappedExec, unwrappedObject, structure) { WrapperMap* wrapperMap = wrappers().get(unwrappedGlobalObject()); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h index 201feb6..ad97035 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectedObjectWrapper.h @@ -38,7 +38,7 @@ namespace WebCore { static const JSC::ClassInfo s_info; private: - JSInspectedObjectWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, PassRefPtr<JSC::Structure>); + JSInspectedObjectWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, NonNullPassRefPtr<JSC::Structure>); virtual bool allowsGetProperty() const { return true; } virtual bool allowsSetProperty() const { return true; } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp index c80441d..583d971 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp @@ -254,7 +254,7 @@ JSValue JSInspectorBackend::currentCallFrame(ExecState* exec, const ArgList&) return jsUndefined(); // FIXME: I am not sure if this is actually needed. Can we just use exec? - ExecState* globalExec = callFrame->scopeChain()->globalObject()->globalExec(); + ExecState* globalExec = callFrame->scopeChain()->globalObject->globalExec(); JSLock lock(SilenceAssertionsOnly); return JSInspectedObjectWrapper::wrap(globalExec, toJS(exec, callFrame)); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp index e7d3f51..9c4330d 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.cpp @@ -78,7 +78,7 @@ JSValue JSInspectorCallbackWrapper::wrap(ExecState* unwrappedExec, JSValue unwra return new (unwrappedExec) JSInspectorCallbackWrapper(unwrappedExec, unwrappedObject, createStructure(wrap(unwrappedExec, prototype))); } -JSInspectorCallbackWrapper::JSInspectorCallbackWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, PassRefPtr<Structure> structure) +JSInspectorCallbackWrapper::JSInspectorCallbackWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, NonNullPassRefPtr<Structure> structure) : JSQuarantinedObjectWrapper(unwrappedExec, unwrappedObject, structure) { ASSERT(!wrappers().contains(unwrappedObject)); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h index cfc2fb6..be28063 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorCallbackWrapper.h @@ -40,7 +40,7 @@ namespace WebCore { static const JSC::ClassInfo s_info; protected: - JSInspectorCallbackWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, PassRefPtr<JSC::Structure>); + JSInspectorCallbackWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, NonNullPassRefPtr<JSC::Structure>); virtual bool allowsCallAsFunction() const { return true; } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp index cf0ed44..0d6cb57 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp @@ -35,12 +35,13 @@ namespace WebCore { static WTF::RefCountedLeakCounter eventListenerCounter("JSLazyEventListener"); #endif -JSLazyEventListener::JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, JSDOMGlobalObject* globalObject, Node* node, int lineNumber) - : JSEventListener(0, globalObject, true) +JSLazyEventListener::JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber) + : JSEventListener(0, true) , m_functionName(functionName) , m_eventParameterName(eventParameterName) , m_code(code) , m_parsed(false) + , m_sourceURL(sourceURL) , m_lineNumber(lineNumber) , m_originalNode(node) { @@ -67,23 +68,43 @@ JSLazyEventListener::~JSLazyEventListener() #endif } -JSObject* JSLazyEventListener::jsFunction() const +JSObject* JSLazyEventListener::jsFunction(ScriptExecutionContext* executionContext) const { - parseCode(); + parseCode(executionContext); return m_jsFunction; } -void JSLazyEventListener::parseCode() const +void JSLazyEventListener::parseCode(ScriptExecutionContext* executionContext) const { + ASSERT(executionContext); + ASSERT(executionContext->isDocument()); + if (!executionContext) + return; + if (m_parsed) return; - ScriptExecutionContext* executionContext = m_globalObject->scriptExecutionContext(); - ASSERT(executionContext); - if (!executionContext) + Frame* frame = static_cast<Document*>(executionContext)->frame(); + if (!frame) return; + + ScriptController* scriptController = frame->script(); + if (!scriptController->isEnabled()) + return; + + JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(executionContext); + if (!globalObject) + return; + + // Ensure that 'node' has a JavaScript wrapper to mark the event listener we're creating. + if (m_originalNode) { + JSLock lock(SilenceAssertionsOnly); + // FIXME: Should pass the global object associated with the node + toJS(globalObject->globalExec(), globalObject, m_originalNode); + } + if (executionContext->isDocument()) { - JSDOMWindow* window = static_cast<JSDOMWindow*>(m_globalObject); + JSDOMWindow* window = static_cast<JSDOMWindow*>(globalObject); Frame* frame = window->impl()->frame(); if (!frame) return; @@ -95,16 +116,13 @@ void JSLazyEventListener::parseCode() const m_parsed = true; - ExecState* exec = m_globalObject->globalExec(); + ExecState* exec = globalObject->globalExec(); MarkedArgumentBuffer args; - UString sourceURL(executionContext->url().string()); args.append(jsNontrivialString(exec, m_eventParameterName)); args.append(jsString(exec, m_code)); - // FIXME: Passing the document's URL to construct is not always correct, since this event listener might - // have been added with setAttribute from a script, and we should pass String() in that case. - m_jsFunction = constructFunction(exec, args, Identifier(exec, m_functionName), sourceURL, m_lineNumber); // FIXME: is globalExec ok? + m_jsFunction = constructFunction(exec, args, Identifier(exec, m_functionName), m_sourceURL, m_lineNumber); // FIXME: is globalExec ok? JSFunction* listenerAsFunction = static_cast<JSFunction*>(m_jsFunction); @@ -118,7 +136,7 @@ void JSLazyEventListener::parseCode() const // (and the document, and the form - see JSHTMLElement::eventHandlerScope) ScopeChain scope = listenerAsFunction->scope(); - JSValue thisObj = toJS(exec, m_globalObject, m_originalNode); + JSValue thisObj = toJS(exec, globalObject, m_originalNode); if (thisObj.isObject()) { static_cast<JSNode*>(asObject(thisObj))->pushEventHandlerScope(exec, scope); listenerAsFunction->setScope(scope); @@ -129,6 +147,7 @@ void JSLazyEventListener::parseCode() const m_functionName = String(); m_code = String(); m_eventParameterName = String(); + m_sourceURL = String(); } } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h index a5304cf..e3137b8 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h @@ -29,24 +29,25 @@ namespace WebCore { class JSLazyEventListener : public JSEventListener { public: - static PassRefPtr<JSLazyEventListener> create(const String& functionName, const String& eventParameterName, const String& code, JSDOMGlobalObject* globalObject, Node* node, int lineNumber) + static PassRefPtr<JSLazyEventListener> create(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber) { - return adoptRef(new JSLazyEventListener(functionName, eventParameterName, code, globalObject, node, lineNumber)); + return adoptRef(new JSLazyEventListener(functionName, eventParameterName, code, node, sourceURL, lineNumber)); } virtual ~JSLazyEventListener(); private: - JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, JSDOMGlobalObject*, Node*, int lineNumber); + JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node*, const String& sourceURL, int lineNumber); - virtual JSC::JSObject* jsFunction() const; + virtual JSC::JSObject* jsFunction(ScriptExecutionContext*) const; virtual bool wasCreatedFromMarkup() const { return true; } - void parseCode() const; + void parseCode(ScriptExecutionContext*) const; mutable String m_functionName; mutable String m_eventParameterName; mutable String m_code; mutable bool m_parsed; + mutable String m_sourceURL; int m_lineNumber; Node* m_originalNode; }; diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp index 2084905..210c93e 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp @@ -65,7 +65,7 @@ JSValue JSMessagePort::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -79,7 +79,7 @@ JSValue JSMessagePort::removeEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp index 7bd95b4..1974ab0 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodeMapCustom.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -27,10 +27,9 @@ #include "JSNamedNodeMap.h" #include "JSNode.h" + +#include "Element.h" #include "NamedNodeMap.h" -#include "Node.h" -#include "PlatformString.h" -#include "JSDOMBinding.h" using namespace JSC; @@ -47,4 +46,16 @@ JSValue JSNamedNodeMap::nameGetter(ExecState* exec, const Identifier& propertyNa return toJS(exec, thisObj->impl()->getNamedItem(propertyName)); } +void JSNamedNodeMap::markChildren(MarkStack& markStack) +{ + Base::markChildren(markStack); + + // Mark the element so that this will work to access the attribute even if the last + // other reference goes away. + if (Element* element = impl()->element()) { + if (JSNode* wrapper = getCachedDOMNodeWrapper(element->document(), element)) + markStack.append(wrapper); + } +} + } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp index 025a8fa..52f21e7 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp @@ -122,7 +122,7 @@ JSValue JSNode::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -140,7 +140,7 @@ JSValue JSNode::removeEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp index 30acf9b..a0551a1 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp @@ -56,7 +56,7 @@ JSValue JSQuarantinedObjectWrapper::cachedValueGetter(ExecState*, const Identifi return v; } -JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, PassRefPtr<Structure> structure) +JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper(ExecState* unwrappedExec, JSObject* unwrappedObject, NonNullPassRefPtr<Structure> structure) : JSObject(structure) , m_unwrappedGlobalObject(unwrappedExec->lexicalGlobalObject()) , m_unwrappedObject(unwrappedObject) diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h index 2bc6633..94a92bd 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.h @@ -51,7 +51,7 @@ namespace WebCore { } protected: - JSQuarantinedObjectWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, PassRefPtr<JSC::Structure>); + JSQuarantinedObjectWrapper(JSC::ExecState* unwrappedExec, JSC::JSObject* unwrappedObject, NonNullPassRefPtr<JSC::Structure>); virtual void markChildren(JSC::MarkStack&); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp index e8001de..571e302 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp @@ -58,7 +58,7 @@ JSValue JSSVGElementInstance::addEventListener(ExecState* exec, const ArgList& a if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -72,7 +72,7 @@ JSValue JSSVGElementInstance::removeEventListener(ExecState* exec, const ArgList if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp index 1e4df42..741a269 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp @@ -44,7 +44,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSWorkerContextBase); const ClassInfo JSWorkerContextBase::s_info = { "WorkerContext", 0, 0, 0 }; -JSWorkerContextBase::JSWorkerContextBase(PassRefPtr<JSC::Structure> structure, PassRefPtr<WorkerContext> impl) +JSWorkerContextBase::JSWorkerContextBase(NonNullPassRefPtr<JSC::Structure> structure, PassRefPtr<WorkerContext> impl) : JSDOMGlobalObject(structure, new JSDOMGlobalObjectData, this) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h index a9a6e63..45238f1 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h @@ -41,7 +41,7 @@ namespace WebCore { class JSWorkerContextBase : public JSDOMGlobalObject { typedef JSDOMGlobalObject Base; public: - JSWorkerContextBase(PassRefPtr<JSC::Structure>, PassRefPtr<WorkerContext>); + JSWorkerContextBase(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<WorkerContext>); virtual ~JSWorkerContextBase(); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp index 1b78264..e1c8a8c 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp @@ -122,7 +122,7 @@ JSValue JSWorkerContext::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), this, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -132,7 +132,7 @@ JSValue JSWorkerContext::removeEventListener(ExecState* exec, const ArgList& arg if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), this, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp index 6d0ce57..4b44db2 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp @@ -160,7 +160,7 @@ JSValue JSXMLHttpRequest::addEventListener(ExecState* exec, const ArgList& args) if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -174,7 +174,7 @@ JSValue JSXMLHttpRequest::removeEventListener(ExecState* exec, const ArgList& ar if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp index c0f0c39..dab0a3e 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp @@ -64,7 +64,7 @@ JSValue JSXMLHttpRequestUpload::addEventListener(ExecState* exec, const ArgList& if (!listener.isObject()) return jsUndefined(); - impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false), args.at(2).toBoolean(exec)); + impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec)); return jsUndefined(); } @@ -78,7 +78,7 @@ JSValue JSXMLHttpRequestUpload::removeEventListener(ExecState* exec, const ArgLi if (!listener.isObject()) return jsUndefined(); - impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), globalObject, false).get(), args.at(2).toBoolean(exec)); + impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec)); return jsUndefined(); } diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp index 878c535..0b0047b 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp +++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp @@ -33,12 +33,11 @@ #include "Attribute.h" #include "Document.h" +#include "EventListener.h" #include "JSNode.h" #include "Frame.h" #include "XSSAuditor.h" -#include <runtime/JSLock.h> - using namespace JSC; namespace WebCore { @@ -54,29 +53,25 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Node* node, Attribu { ASSERT(node); - Frame* frame = node->document()->frame(); - if (!frame) - return 0; - - ScriptController* scriptController = frame->script(); - if (!scriptController->isEnabled()) - return 0; - - if (!scriptController->xssAuditor()->canCreateInlineEventListener(attr->localName().string(), attr->value())) { - // This script is not safe to execute. - return 0; - } + int lineNumber = 1; + String sourceURL; - JSDOMWindow* globalObject = scriptController->globalObject(); - - // Ensure that 'node' has a JavaScript wrapper to mark the event listener we're creating. - { - JSLock lock(SilenceAssertionsOnly); - // FIXME: Should pass the global object associated with the node - toJS(globalObject->globalExec(), globalObject, node); + // FIXME: We should be able to provide accurate source information for frameless documents, too (e.g. for importing nodes from XMLHttpRequest.responseXML). + if (Frame* frame = node->document()->frame()) { + ScriptController* scriptController = frame->script(); + if (!scriptController->isEnabled()) + return 0; + + if (!scriptController->xssAuditor()->canCreateInlineEventListener(attr->localName().string(), attr->value())) { + // This script is not safe to execute. + return 0; + } + + lineNumber = scriptController->eventHandlerLineNumber(); + sourceURL = node->document()->url().string(); } - return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), globalObject, node, scriptController->eventHandlerLineNumber()); + return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), node, sourceURL, lineNumber); } PassRefPtr<JSLazyEventListener> createAttributeEventListener(Frame* frame, Attribute* attr) @@ -84,19 +79,29 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Frame* frame, Attri if (!frame) return 0; + int lineNumber = 1; + String sourceURL; + ScriptController* scriptController = frame->script(); if (!scriptController->isEnabled()) return 0; - + if (!scriptController->xssAuditor()->canCreateInlineEventListener(attr->localName().string(), attr->value())) { // This script is not safe to execute. return 0; } - // 'globalObject' is the JavaScript wrapper that will mark the event listener we're creating. - JSDOMWindow* globalObject = scriptController->globalObject(); + lineNumber = scriptController->eventHandlerLineNumber(); + sourceURL = frame->document()->url().string(); + return JSLazyEventListener::create(attr->localName().string(), eventParameterName(frame->document()->isSVGDocument()), attr->value(), 0, sourceURL, lineNumber); +} - return JSLazyEventListener::create(attr->localName().string(), eventParameterName(frame->document()->isSVGDocument()), attr->value(), globalObject, 0, scriptController->eventHandlerLineNumber()); +String getEventListenerHandlerBody(ScriptExecutionContext* context, ScriptState* scriptState, EventListener* eventListener) +{ + JSC::JSObject* functionObject = eventListener->jsFunction(context); + if (!functionObject) + return ""; + return functionObject->toString(scriptState); } } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.h index 8299d29..3396541 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.h @@ -32,17 +32,20 @@ #define ScriptEventListener_h #include "JSLazyEventListener.h" +#include "ScriptState.h" #include <wtf/PassRefPtr.h> namespace WebCore { class Attribute; + class EventListener; class Frame; class Node; PassRefPtr<JSLazyEventListener> createAttributeEventListener(Node*, Attribute*); PassRefPtr<JSLazyEventListener> createAttributeEventListener(Frame*, Attribute*); + String getEventListenerHandlerBody(ScriptExecutionContext*, ScriptState*, EventListener*); } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm index 6641305..4d5cb96 100644 --- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm +++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm @@ -326,9 +326,8 @@ sub AddIncludesForTypeInCPPImplementation sub GetAdditionalInterfaces { + # This function does nothing, but it stays here for future multiple inheritance support. my $type = $codeGenerator->StripModule(shift); - - return ("EventTarget") if $type eq "Node"; return (); } diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm index 3523b43..d552aa0 100644 --- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm +++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm @@ -540,13 +540,13 @@ sub GenerateHeader # Constructor if ($interfaceName eq "DOMWindow") { - push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>, JSDOMWindowShell*);\n"); + push(@headerContent, " $className(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<$implType>, JSDOMWindowShell*);\n"); } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) { - push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n"); + push(@headerContent, " $className(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n"); } elsif (IsSVGTypeNeedingContextParameter($implClassName)) { - push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>, SVGElement* context);\n"); + push(@headerContent, " $className(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>, SVGElement* context);\n"); } else { - push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>);\n"); + push(@headerContent, " $className(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>);\n"); } # Destructor @@ -808,7 +808,7 @@ sub GenerateHeader # Custom defineGetter function push(@headerContent, " virtual void defineGetter(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSObject* getterFunction, unsigned attributes);\n") if $dataNode->extendedAttributes->{"CustomPrototypeDefineGetter"}; - push(@headerContent, " ${className}Prototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }\n"); + push(@headerContent, " ${className}Prototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }\n"); push(@headerContent, "};\n\n"); @@ -1137,15 +1137,15 @@ sub GenerateImplementation # Constructor if ($interfaceName eq "DOMWindow") { AddIncludesForType("JSDOMWindowShell"); - push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl, JSDOMWindowShell* shell)\n"); + push(@implContent, "${className}::$className(NonNullPassRefPtr<Structure> structure, PassRefPtr<$implType> impl, JSDOMWindowShell* shell)\n"); push(@implContent, " : $parentClassName(structure, impl, shell)\n"); } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) { AddIncludesForType($interfaceName); - push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl)\n"); + push(@implContent, "${className}::$className(NonNullPassRefPtr<Structure> structure, PassRefPtr<$implType> impl)\n"); push(@implContent, " : $parentClassName(structure, impl)\n"); } else { my $contextArg = $needsSVGContext ? ", SVGElement* context" : ""; - push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<$implType> impl$contextArg)\n"); + push(@implContent, "${className}::$className(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<$implType> impl$contextArg)\n"); if ($hasParent) { push(@implContent, " : $parentClassName(structure, globalObject, impl" . ($parentNeedsSVGContext ? ", context" : "") . ")\n"); } else { @@ -1294,7 +1294,11 @@ sub GenerateImplementation push(@implContent, " UNUSED_PARAM(exec);\n"); push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n"); push(@implContent, " if (EventListener* listener = imp->$implGetterFunctionName()) {\n"); - push(@implContent, " if (JSObject* jsFunction = listener->jsFunction())\n"); + if ($implClassName eq "Document" || $implClassName eq "WorkerContext" || $implClassName eq "SharedWorkerContext" || $implClassName eq "DedicatedWorkerContext") { + push(@implContent, " if (JSObject* jsFunction = listener->jsFunction(imp))\n"); + } else { + push(@implContent, " if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext()))\n"); + } push(@implContent, " return jsFunction;\n"); push(@implContent, " }\n"); push(@implContent, " return jsNull();\n"); diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm index a18de49..7f1508b 100644 --- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm +++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm @@ -1589,6 +1589,11 @@ sub GetNativeTypeFromSignature my $type = GetTypeFromSignature($signature); + if ($type eq "unsigned long" and $signature->extendedAttributes->{"IsIndex"}) { + # Special-case index arguments because we need to check that they aren't < 0. + return "int"; + } + return GetNativeType($type, $isParameter); } @@ -1596,7 +1601,24 @@ sub IsRefPtrType { my $type = shift; return 1 if $type eq "Attr"; + return 1 if $type eq "CanvasArray"; + return 1 if $type eq "CanvasArrayBuffer"; + return 1 if $type eq "CanvasBooleanArray"; + return 1 if $type eq "CanvasByteArray"; + return 1 if $type eq "CanvasBuffer"; + return 1 if $type eq "CanvasFloatArray"; + return 1 if $type eq "CanvasFramebuffer"; return 1 if $type eq "CanvasGradient"; + return 1 if $type eq "CanvasIntArray"; + return 1 if $type eq "CanvasObject"; + return 1 if $type eq "CanvasProgram"; + return 1 if $type eq "CanvasRenderbuffer"; + return 1 if $type eq "CanvasShader"; + return 1 if $type eq "CanvasShortArray"; + return 1 if $type eq "CanvasTexture"; + return 1 if $type eq "CanvasUnsignedByteArray"; + return 1 if $type eq "CanvasUnsignedIntArray"; + return 1 if $type eq "CanvasUnsignedShortArray"; return 1 if $type eq "ClientRect"; return 1 if $type eq "ClientRectList"; return 1 if $type eq "CDATASection"; @@ -1694,7 +1716,8 @@ sub GetNativeType return "int" if $type eq "int"; return "int" if $type eq "short" or $type eq "unsigned short"; - return "int" if $type eq "long" or $type eq "unsigned long"; + return "unsigned" if $type eq "unsigned long"; + return "int" if $type eq "long"; return "unsigned long long" if $type eq "unsigned long long"; return "bool" if $type eq "boolean"; return "String" if $type eq "DOMString"; @@ -1725,6 +1748,19 @@ sub GetNativeType my %typeCanFailConversion = ( "AtomicString" => 0, "Attr" => 1, + "CanvasArray" => 0, + "CanvasBuffer" => 0, + "CanvasByteArray" => 0, + "CanvasFloatArray" => 0, + "CanvasFramebuffer" => 0, + "CanvasGradient" => 0, + "CanvasIntArray" => 0, + "CanvasPixelArray" => 0, + "CanvasProgram" => 0, + "CanvasRenderbuffer" => 0, + "CanvasShader" => 0, + "CanvasShortArray" => 0, + "CanvasTexture" => 0, "CompareHow" => 0, "DataGridColumn" => 0, "DOMString" => 0, @@ -1734,8 +1770,11 @@ my %typeCanFailConversion = ( "Event" => 0, "EventListener" => 0, "EventTarget" => 0, + "HTMLCanvasElement" => 0, "HTMLElement" => 0, + "HTMLImageElement" => 0, "HTMLOptionElement" => 0, + "HTMLVideoElement" => 0, "Node" => 0, "NodeFilter" => 0, "MessagePort" => 0, diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp index 3fd8024..9583fb2 100644 --- a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp +++ b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp @@ -47,7 +47,7 @@ RuntimeObjectImp::RuntimeObjectImp(ExecState* exec, PassRefPtr<Instance> instanc { } -RuntimeObjectImp::RuntimeObjectImp(ExecState*, PassRefPtr<Structure> structure, PassRefPtr<Instance> instance) +RuntimeObjectImp::RuntimeObjectImp(ExecState*, NonNullPassRefPtr<Structure> structure, PassRefPtr<Instance> instance) : JSObject(structure) , m_instance(instance) { diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_object.h b/src/3rdparty/webkit/WebCore/bridge/runtime_object.h index 5aa02ea..f16778e 100644 --- a/src/3rdparty/webkit/WebCore/bridge/runtime_object.h +++ b/src/3rdparty/webkit/WebCore/bridge/runtime_object.h @@ -66,7 +66,7 @@ public: } protected: - RuntimeObjectImp(ExecState*, PassRefPtr<Structure>, PassRefPtr<Bindings::Instance>); + RuntimeObjectImp(ExecState*, NonNullPassRefPtr<Structure>, PassRefPtr<Bindings::Instance>); private: virtual const ClassInfo* classInfo() const { return &s_info; } diff --git a/src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp b/src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp index 9dafba9..6e62f6d 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp +++ b/src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp @@ -111,7 +111,10 @@ void CSSImportRule::insertedIntoParent() root = curr; } - m_cachedSheet = docLoader->requestCSSStyleSheet(absHref, parentSheet->charset()); + if (parentSheet->isUserStyleSheet()) + m_cachedSheet = docLoader->requestUserCSSStyleSheet(absHref, parentSheet->charset()); + else + m_cachedSheet = docLoader->requestCSSStyleSheet(absHref, parentSheet->charset()); if (m_cachedSheet) { // if the import rule is issued dynamically, the sheet may be // removed from the pending sheet count, so let the doc know diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp index f12d64f..7f82ca4 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp +++ b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp @@ -89,4 +89,51 @@ void CSSSelectorList::deleteSelectors() } } + +template <typename Functor> +static bool forEachTagSelector(Functor& functor, CSSSelector* selector) +{ + ASSERT(selector); + + do { + if (functor(selector)) + return true; + if (CSSSelector* simpleSelector = selector->simpleSelector()) { + if (forEachTagSelector(functor, simpleSelector)) + return true; + } + } while ((selector = selector->tagHistory())); + + return false; +} + +template <typename Functor> +static bool forEachSelector(Functor& functor, const CSSSelectorList* selectorList) +{ + for (CSSSelector* selector = selectorList->first(); selector; selector = CSSSelectorList::next(selector)) { + if (forEachTagSelector(functor, selector)) + return true; + } + + return false; +} + +class SelectorNeedsNamespaceResolutionFunctor { +public: + bool operator()(CSSSelector* selector) + { + if (selector->hasTag() && selector->m_tag.prefix() != nullAtom && selector->m_tag.prefix() != starAtom) + return true; + if (selector->hasAttribute() && selector->attribute().prefix() != nullAtom && selector->attribute().prefix() != starAtom) + return true; + return false; + } +}; + +bool CSSSelectorList::selectorsNeedNamespaceResolution() +{ + SelectorNeedsNamespaceResolutionFunctor functor; + return forEachSelector(functor, this); } + +} // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h index 3518139..9e40ef8 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h +++ b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h @@ -31,25 +31,27 @@ namespace WebCore { - class CSSSelectorList : public Noncopyable { - public: - CSSSelectorList() : m_selectorArray(0) { } - ~CSSSelectorList(); - - void adopt(CSSSelectorList& list); - void adoptSelectorVector(Vector<CSSSelector*>& selectorVector); - - CSSSelector* first() const { return m_selectorArray ? m_selectorArray : 0; } - static CSSSelector* next(CSSSelector* previous) { return previous->isLastInSelectorList() ? 0 : previous + 1; } - bool hasOneSelector() const { return m_selectorArray ? m_selectorArray->isLastInSelectorList() : false; } - - private: - void deleteSelectors(); - - // End of the array is indicated by m_isLastInSelectorList bit in the last item. - CSSSelector* m_selectorArray; - }; - -} - -#endif +class CSSSelectorList : public Noncopyable { +public: + CSSSelectorList() : m_selectorArray(0) { } + ~CSSSelectorList(); + + void adopt(CSSSelectorList& list); + void adoptSelectorVector(Vector<CSSSelector*>& selectorVector); + + CSSSelector* first() const { return m_selectorArray ? m_selectorArray : 0; } + static CSSSelector* next(CSSSelector* previous) { return previous->isLastInSelectorList() ? 0 : previous + 1; } + bool hasOneSelector() const { return m_selectorArray ? m_selectorArray->isLastInSelectorList() : false; } + + bool selectorsNeedNamespaceResolution(); + +private: + void deleteSelectors(); + + // End of the array is indicated by m_isLastInSelectorList bit in the last item. + CSSSelector* m_selectorArray; +}; + +} // namespace WebCore + +#endif // CSSSelectorList_h diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp index ce50af6..1579999 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp +++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp @@ -40,20 +40,22 @@ CSSStyleSheet::CSSStyleSheet(CSSStyleSheet* parentSheet, const String& href, con , m_charset(charset) , m_loadCompleted(false) , m_strictParsing(!parentSheet || parentSheet->useStrictParsing()) + , m_isUserStyleSheet(parentSheet ? parentSheet->isUserStyleSheet() : false) { } -CSSStyleSheet::CSSStyleSheet(Node *parentNode, const String& href, const String& charset) +CSSStyleSheet::CSSStyleSheet(Node* parentNode, const String& href, const String& charset) : StyleSheet(parentNode, href) , m_doc(parentNode->document()) , m_namespaces(0) , m_charset(charset) , m_loadCompleted(false) , m_strictParsing(false) + , m_isUserStyleSheet(false) { } -CSSStyleSheet::CSSStyleSheet(CSSRule *ownerRule, const String& href, const String& charset) +CSSStyleSheet::CSSStyleSheet(CSSRule* ownerRule, const String& href, const String& charset) : StyleSheet(ownerRule, href) , m_namespaces(0) , m_charset(charset) @@ -62,6 +64,7 @@ CSSStyleSheet::CSSStyleSheet(CSSRule *ownerRule, const String& href, const Strin { CSSStyleSheet* parentSheet = ownerRule ? ownerRule->parentStyleSheet() : 0; m_doc = parentSheet ? parentSheet->doc() : 0; + m_isUserStyleSheet = parentSheet ? parentSheet->isUserStyleSheet() : false; } CSSStyleSheet::~CSSStyleSheet() diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h b/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h index 8646ee9..f534104 100644 --- a/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h +++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h @@ -93,6 +93,9 @@ public: void setStrictParsing(bool b) { m_strictParsing = b; } bool useStrictParsing() const { return m_strictParsing; } + void setIsUserStyleSheet(bool b) { m_isUserStyleSheet = b; } + bool isUserStyleSheet() const { return m_isUserStyleSheet; } + private: CSSStyleSheet(Node* ownerNode, const String& href, const String& charset); CSSStyleSheet(CSSStyleSheet* parentSheet, const String& href, const String& charset); @@ -106,6 +109,7 @@ private: String m_charset; bool m_loadCompleted : 1; bool m_strictParsing : 1; + bool m_isUserStyleSheet : 1; }; } // namespace diff --git a/src/3rdparty/webkit/WebCore/dom/Attr.idl b/src/3rdparty/webkit/WebCore/dom/Attr.idl index 29f4be1..c01f34a 100644 --- a/src/3rdparty/webkit/WebCore/dom/Attr.idl +++ b/src/3rdparty/webkit/WebCore/dom/Attr.idl @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> * * This library is free software; you can redistribute it and/or @@ -21,6 +21,7 @@ module core { interface [ + CustomMarkFunction, GenerateConstructor, GenerateNativeConverter, InterfaceUUID=EEE8E22B-22C3-4e50-95F4-5E0B8AAD8231, diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp index 5422bf0..6dba900 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp @@ -116,8 +116,10 @@ #include "TextIterator.h" #include "TextResourceDecoder.h" #include "Timer.h" +#include "TransformSource.h" #include "TreeWalker.h" #include "UIEvent.h" +#include "UserContentURLPattern.h" #include "WebKitAnimationEvent.h" #include "WebKitTransitionEvent.h" #include "WheelEvent.h" @@ -321,9 +323,6 @@ Document::Document(Frame* frame, bool isXHTML) , m_titleSetExplicitly(false) , m_updateFocusAppearanceTimer(this, &Document::updateFocusAppearanceTimerFired) , m_executeScriptSoonTimer(this, &Document::executeScriptSoonTimerFired) -#if ENABLE(XSLT) - , m_transformSource(0) -#endif , m_xmlVersion("1.0") , m_xmlStandalone(false) #if ENABLE(XBL) @@ -487,10 +486,6 @@ Document::~Document() m_renderArena = 0; } -#if ENABLE(XSLT) - xmlFreeDoc((xmlDocPtr)m_transformSource); -#endif - #if ENABLE(XBL) delete m_bindingManager; #endif @@ -1941,7 +1936,8 @@ CSSStyleSheet* Document::pageUserSheet() return 0; // Parse the sheet and cache it. - m_pageUserSheet = CSSStyleSheet::create(this); + m_pageUserSheet = CSSStyleSheet::create(this, settings()->userStyleSheetLocation()); + m_pageUserSheet->setIsUserStyleSheet(true); m_pageUserSheet->parseString(userSheetText, !inCompatMode()); return m_pageUserSheet.get(); } @@ -1973,7 +1969,10 @@ const Vector<RefPtr<CSSStyleSheet> >* Document::pageGroupUserSheets() const const UserStyleSheetVector* sheets = it->second; for (unsigned i = 0; i < sheets->size(); ++i) { const UserStyleSheet* sheet = sheets->at(i).get(); - RefPtr<CSSStyleSheet> parsedSheet = CSSStyleSheet::create(const_cast<Document*>(this)); + if (!UserContentURLPattern::matchesPatterns(url(), sheet->patterns())) + continue; + RefPtr<CSSStyleSheet> parsedSheet = CSSStyleSheet::create(const_cast<Document*>(this), sheet->url()); + parsedSheet->setIsUserStyleSheet(true); parsedSheet->parseString(sheet->source(), !inCompatMode()); if (!m_pageGroupUserSheets) m_pageGroupUserSheets.set(new Vector<RefPtr<CSSStyleSheet> >); @@ -3011,7 +3010,7 @@ String Document::domain() const return securityOrigin()->domain(); } -void Document::setDomain(const String& newDomain) +void Document::setDomain(const String& newDomain, ExceptionCode& ec) { // Both NS and IE specify that changing the domain is only allowed when // the new domain is a suffix of the old domain. @@ -3034,19 +3033,25 @@ void Document::setDomain(const String& newDomain) int oldLength = domain().length(); int newLength = newDomain.length(); // e.g. newDomain = webkit.org (10) and domain() = www.webkit.org (14) - if (newLength >= oldLength) + if (newLength >= oldLength) { + ec = SECURITY_ERR; return; + } String test = domain(); // Check that it's a subdomain, not e.g. "ebkit.org" - if (test[oldLength - newLength - 1] != '.') + if (test[oldLength - newLength - 1] != '.') { + ec = SECURITY_ERR; return; + } // Now test is "webkit.org" from domain() // and we check that it's the same thing as newDomain test.remove(0, oldLength - newLength); - if (test != newDomain) + if (test != newDomain) { + ec = SECURITY_ERR; return; + } securityOrigin()->setDomainFromDOM(newDomain); if (m_frame) @@ -3842,13 +3847,11 @@ void Document::applyXSLTransform(ProcessingInstruction* pi) processor->createDocumentFromSource(newSource, resultEncoding, resultMIMEType, this, frame()); } -void Document::setTransformSource(void* doc) +void Document::setTransformSource(PassOwnPtr<TransformSource> source) { - if (doc == m_transformSource) + if (m_transformSource == source) return; - - xmlFreeDoc((xmlDocPtr)m_transformSource); - m_transformSource = doc; + m_transformSource = source; } #endif diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h index 454304b..f05c9f9 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.h +++ b/src/3rdparty/webkit/WebCore/dom/Document.h @@ -37,6 +37,8 @@ #include "ScriptExecutionContext.h" #include "Timer.h" #include <wtf/HashCountedSet.h> +#include <wtf/OwnPtr.h> +#include <wtf/PassOwnPtr.h> namespace WebCore { @@ -103,6 +105,10 @@ namespace WebCore { class SVGDocumentExtensions; #endif +#if ENABLE(XSLT) + class TransformSource; +#endif + #if ENABLE(XBL) class XBLBindingManager; #endif @@ -672,7 +678,7 @@ public: String referrer() const; String domain() const; - void setDomain(const String& newDomain); + void setDomain(const String& newDomain, ExceptionCode&); String lastModified() const; @@ -746,10 +752,11 @@ public: #if ENABLE(XSLT) void applyXSLTransform(ProcessingInstruction* pi); - void setTransformSource(void* doc); - const void* transformSource() { return m_transformSource; } PassRefPtr<Document> transformSourceDocument() { return m_transformSourceDocument; } void setTransformSourceDocument(Document* doc) { m_transformSourceDocument = doc; } + + void setTransformSource(PassOwnPtr<TransformSource>); + TransformSource* transformSource() const { return m_transformSource.get(); } #endif #if ENABLE(XBL) @@ -1054,7 +1061,7 @@ private: Timer<Document> m_executeScriptSoonTimer; #if ENABLE(XSLT) - void* m_transformSource; + OwnPtr<TransformSource> m_transformSource; RefPtr<Document> m_transformSourceDocument; #endif diff --git a/src/3rdparty/webkit/WebCore/dom/Document.idl b/src/3rdparty/webkit/WebCore/dom/Document.idl index 34a9771..822f860 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.idl +++ b/src/3rdparty/webkit/WebCore/dom/Document.idl @@ -155,7 +155,8 @@ module core { attribute [ConvertNullToNullString] DOMString title; readonly attribute DOMString referrer; #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT - attribute [ConvertNullToNullString] DOMString domain; + attribute [ConvertNullToNullString] DOMString domain + setter raises (DOMException); #else readonly attribute DOMString domain; #endif diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp index f04723f..50ff033 100644 --- a/src/3rdparty/webkit/WebCore/dom/Element.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp @@ -28,6 +28,8 @@ #include "AXObjectCache.h" #include "Attr.h" +#include "CSSParser.h" +#include "CSSSelectorList.h" #include "CSSStyleSelector.h" #include "CString.h" #include "ClientRect.h" @@ -280,42 +282,6 @@ static int adjustForLocalZoom(int value, RenderObject* renderer) return static_cast<int>(value / zoomFactor); } -static int adjustForAbsoluteZoom(int value, RenderObject* renderer) -{ - float zoomFactor = renderer->style()->effectiveZoom(); - if (zoomFactor == 1) - return value; - // Needed because computeLengthInt truncates (rather than rounds) when scaling up. - if (zoomFactor > 1) - value++; - return static_cast<int>(value / zoomFactor); -} - -static FloatPoint adjustFloatPointForAbsoluteZoom(const FloatPoint& point, RenderObject* renderer) -{ - // The result here is in floats, so we don't need the truncation hack from the integer version above. - float zoomFactor = renderer->style()->effectiveZoom(); - if (zoomFactor == 1) - return point; - return FloatPoint(point.x() / zoomFactor, point.y() / zoomFactor); -} - -static void adjustFloatQuadForAbsoluteZoom(FloatQuad& quad, RenderObject* renderer) -{ - quad.setP1(adjustFloatPointForAbsoluteZoom(quad.p1(), renderer)); - quad.setP2(adjustFloatPointForAbsoluteZoom(quad.p2(), renderer)); - quad.setP3(adjustFloatPointForAbsoluteZoom(quad.p3(), renderer)); - quad.setP4(adjustFloatPointForAbsoluteZoom(quad.p4(), renderer)); -} - -static void adjustIntRectForAbsoluteZoom(IntRect& rect, RenderObject* renderer) -{ - rect.setX(adjustForAbsoluteZoom(rect.x(), renderer)); - rect.setY(adjustForAbsoluteZoom(rect.y(), renderer)); - rect.setWidth(adjustForAbsoluteZoom(rect.width(), renderer)); - rect.setHeight(adjustForAbsoluteZoom(rect.height(), renderer)); -} - int Element::offsetLeft() { document()->updateLayoutIgnorePendingStylesheets(); @@ -1406,6 +1372,39 @@ unsigned Element::childElementCount() const return count; } +bool Element::webkitMatchesSelector(const String& selector, ExceptionCode& ec) +{ + if (selector.isEmpty()) { + ec = SYNTAX_ERR; + return false; + } + + bool strictParsing = !document()->inCompatMode(); + CSSParser p(strictParsing); + + CSSSelectorList selectorList; + p.parseSelector(selector, document(), selectorList); + + if (!selectorList.first()) { + ec = SYNTAX_ERR; + return false; + } + + // Throw a NAMESPACE_ERR if the selector includes any namespace prefixes. + if (selectorList.selectorsNeedNamespaceResolution()) { + ec = NAMESPACE_ERR; + return false; + } + + CSSStyleSelector::SelectorChecker selectorChecker(document(), strictParsing); + for (CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector)) { + if (selectorChecker.checkSelector(selector, this)) + return true; + } + + return false; +} + KURL Element::getURLAttribute(const QualifiedName& name) const { #ifndef NDEBUG diff --git a/src/3rdparty/webkit/WebCore/dom/Element.h b/src/3rdparty/webkit/WebCore/dom/Element.h index 4ecf932..d27976a 100644 --- a/src/3rdparty/webkit/WebCore/dom/Element.h +++ b/src/3rdparty/webkit/WebCore/dom/Element.h @@ -231,6 +231,8 @@ public: Element* nextElementSibling() const; unsigned childElementCount() const; + bool webkitMatchesSelector(const String& selectors, ExceptionCode&); + virtual bool isFormControlElement() const { return false; } virtual bool isEnabledFormControl() const { return true; } virtual bool isReadOnlyFormControl() const { return false; } diff --git a/src/3rdparty/webkit/WebCore/dom/Element.idl b/src/3rdparty/webkit/WebCore/dom/Element.idl index cbb36d9..d90f819 100644 --- a/src/3rdparty/webkit/WebCore/dom/Element.idl +++ b/src/3rdparty/webkit/WebCore/dom/Element.idl @@ -111,6 +111,10 @@ module core { raises(DOMException); #if !defined(LANGUAGE_COM) || !LANGUAGE_COM + // WebKit extension, pending specification. + boolean webkitMatchesSelector(in DOMString selectors) + raises(DOMException); + // ElementTraversal API readonly attribute Element firstElementChild; readonly attribute Element lastElementChild; diff --git a/src/3rdparty/webkit/WebCore/dom/EventListener.h b/src/3rdparty/webkit/WebCore/dom/EventListener.h index 6862f06..f834b31 100644 --- a/src/3rdparty/webkit/WebCore/dom/EventListener.h +++ b/src/3rdparty/webkit/WebCore/dom/EventListener.h @@ -31,6 +31,7 @@ namespace JSC { namespace WebCore { + class ScriptExecutionContext; class Event; class EventListener : public RefCounted<EventListener> { @@ -44,13 +45,13 @@ namespace WebCore { virtual ~EventListener() { } virtual bool operator==(const EventListener&) = 0; - virtual void handleEvent(Event*) = 0; + virtual void handleEvent(ScriptExecutionContext*, Event*) = 0; // Return true to indicate that the error is handled. - virtual bool reportError(const String& /*message*/, const String& /*url*/, int /*lineNumber*/) { return false; } + virtual bool reportError(ScriptExecutionContext*, const String& /*message*/, const String& /*url*/, int /*lineNumber*/) { return false; } virtual bool wasCreatedFromMarkup() const { return false; } #if USE(JSC) - virtual JSC::JSObject* jsFunction() const { return 0; } + virtual JSC::JSObject* jsFunction(ScriptExecutionContext*) const { return 0; } virtual void markJSFunction(JSC::MarkStack&) { } #endif diff --git a/src/3rdparty/webkit/WebCore/dom/EventListener.idl b/src/3rdparty/webkit/WebCore/dom/EventListener.idl index 9dc2e0a..1edf52f 100644 --- a/src/3rdparty/webkit/WebCore/dom/EventListener.idl +++ b/src/3rdparty/webkit/WebCore/dom/EventListener.idl @@ -24,8 +24,8 @@ module events { interface [ NoStaticTables, ObjCProtocol, + PureInterface, InterfaceUUID=B04F2AE3-71E2-4ebe-ABFE-EF4938354082, - ImplementationUUID=DDFDD342-A78B-4f19-8F32-A5DF51B56E08 ] EventListener { void handleEvent(in Event evt); }; diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp index d3b3f55..ceb5221 100644 --- a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp +++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp @@ -269,7 +269,7 @@ bool EventTarget::fireEventListeners(Event* event) continue; // To match Mozilla, the AT_TARGET phase fires both capturing and bubbling // event listeners, even though that violates some versions of the DOM spec. - registeredListener.listener->handleEvent(event); + registeredListener.listener->handleEvent(scriptExecutionContext(), event); } d->firingEventEndIterators.removeLast(); diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.h b/src/3rdparty/webkit/WebCore/dom/EventTarget.h index 4499328..2d612e1 100644 --- a/src/3rdparty/webkit/WebCore/dom/EventTarget.h +++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.h @@ -202,6 +202,7 @@ namespace WebCore { d->eventListenerMap.clear(); } +#endif inline bool EventTarget::isFiringEventListeners() { @@ -227,8 +228,6 @@ namespace WebCore { return d->eventListenerMap.contains(eventType); } -#endif - } // namespace WebCore #endif // EventTarget_h diff --git a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp index 96e31f4..c29cb1c 100644 --- a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp +++ b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp @@ -56,8 +56,6 @@ void InputElement::dispatchFocusEvent(InputElement* inputElement, Element* eleme if (!inputElement->isTextField()) return; - updatePlaceholderVisibility(inputElement, element); - Document* document = element->document(); if (inputElement->isPasswordField() && document->frame()) document->setUseSecureKeyboardEntryWhenActive(true); @@ -73,29 +71,12 @@ void InputElement::dispatchBlurEvent(InputElement* inputElement, Element* elemen if (!frame) return; - updatePlaceholderVisibility(inputElement, element); - if (inputElement->isPasswordField()) document->setUseSecureKeyboardEntryWhenActive(false); frame->textFieldDidEndEditing(element); } -bool InputElement::placeholderShouldBeVisible(const InputElement* inputElement, const Element* element) -{ - return inputElement->value().isEmpty() - && element->document()->focusedNode() != element - && !inputElement->placeholder().isEmpty(); -} - -void InputElement::updatePlaceholderVisibility(InputElement* inputElement, Element* element, bool placeholderValueChanged) -{ - ASSERT(inputElement->isTextField()); - bool placeholderVisible = inputElement->placeholderShouldBeVisible(); - if (element->renderer()) - toRenderTextControlSingleLine(element->renderer())->updatePlaceholderVisibility(placeholderVisible, placeholderValueChanged); -} - void InputElement::updateFocusAppearance(InputElementData& data, InputElement* inputElement, Element* element, bool restorePreviousSelection) { ASSERT(inputElement->isTextField()); @@ -138,10 +119,7 @@ void InputElement::aboutToUnload(InputElement* inputElement, Element* element) void InputElement::setValueFromRenderer(InputElementData& data, InputElement* inputElement, Element* element, const String& value) { // Renderer and our event handler are responsible for sanitizing values. - ASSERT(value == inputElement->sanitizeValue(value) || inputElement->sanitizeValue(value).isEmpty()); - - if (inputElement->isTextField()) - updatePlaceholderVisibility(inputElement, element); + ASSERT_UNUSED(inputElement, value == inputElement->sanitizeValue(value) || inputElement->sanitizeValue(value).isEmpty()); // Workaround for bug where trailing \n is included in the result of textContent. // The assert macro above may also be simplified to: value == constrainValue(value) diff --git a/src/3rdparty/webkit/WebCore/dom/InputElement.h b/src/3rdparty/webkit/WebCore/dom/InputElement.h index 746e4f2..e0e7110 100644 --- a/src/3rdparty/webkit/WebCore/dom/InputElement.h +++ b/src/3rdparty/webkit/WebCore/dom/InputElement.h @@ -44,16 +44,12 @@ public: virtual bool isSearchField() const = 0; virtual bool isTextField() const = 0; - virtual bool placeholderShouldBeVisible() const = 0; virtual bool searchEventsShouldBeDispatched() const = 0; virtual int size() const = 0; virtual String value() const = 0; virtual void setValue(const String&) = 0; - virtual String placeholder() const = 0; - virtual void setPlaceholder(const String&) = 0; - virtual String sanitizeValue(const String&) const = 0; virtual void setValueFromRenderer(const String&) = 0; @@ -66,8 +62,6 @@ public: protected: static void dispatchFocusEvent(InputElement*, Element*); static void dispatchBlurEvent(InputElement*, Element*); - static bool placeholderShouldBeVisible(const InputElement*, const Element*); - static void updatePlaceholderVisibility(InputElement*, Element*, bool placeholderValueChanged = false); static void updateFocusAppearance(InputElementData&, InputElement*, Element*, bool restorePreviousSelection); static void updateSelectionRange(InputElement*, Element*, int start, int end); static void aboutToUnload(InputElement*, Element*); diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp index fe631c8..d4ec598 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp +++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp @@ -178,10 +178,8 @@ Attribute* NamedNodeMap::getAttributeItem(const String& name, bool shouldIgnoreA { unsigned len = length(); for (unsigned i = 0; i < len; ++i) { - if (!m_attributes[i]->name().hasPrefix() && - m_attributes[i]->name().localName() == name) - return m_attributes[i].get(); - + if (!m_attributes[i]->name().hasPrefix() && m_attributes[i]->name().localName() == name) + return m_attributes[i].get(); if (shouldIgnoreAttributeCase ? equalIgnoringCase(m_attributes[i]->name().toString(), name) : name == m_attributes[i]->name().toString()) return m_attributes[i].get(); } @@ -206,10 +204,12 @@ void NamedNodeMap::clearAttributes() void NamedNodeMap::detachFromElement() { - // we allow a NamedNodeMap w/o an element in case someone still has a reference - // to if after the element gets deleted - but the map is now invalid + // This can't happen if the holder of the map is JavaScript, because we mark the + // element if the map is alive. So it has no impact on web page behavior. Because + // of that, we can simply clear all the attributes to avoid accessing stale + // pointers to do things like create Attr objects. m_element = 0; - detachAttributesFromElement(); + clearAttributes(); } void NamedNodeMap::setAttributes(const NamedNodeMap& other) @@ -251,7 +251,7 @@ void NamedNodeMap::addAttribute(PassRefPtr<Attribute> prpAttribute) attr->m_element = m_element; // Notify the element that the attribute has been added, and dispatch appropriate mutation events - // Note that element may be null here if we are called from insertAttr() during parsing + // Note that element may be null here if we are called from insertAttribute() during parsing if (m_element) { m_element->attributeChanged(attribute.get()); // Because of our updateStyleAttribute() style modification events are never sent at the right time, so don't bother sending them. @@ -265,12 +265,13 @@ void NamedNodeMap::addAttribute(PassRefPtr<Attribute> prpAttribute) void NamedNodeMap::removeAttribute(const QualifiedName& name) { unsigned len = length(); - unsigned index = len + 1; - for (unsigned i = 0; i < len; ++i) + unsigned index = len; + for (unsigned i = 0; i < len; ++i) { if (m_attributes[i]->name().matches(name)) { index = i; break; } + } if (index >= len) return; diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h index 4fb96de..759900b 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h +++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h @@ -94,11 +94,11 @@ public: void addAttribute(PassRefPtr<Attribute>); void removeAttribute(const QualifiedName&); + Element* element() const { return m_element; } + protected: virtual void clearAttributes(); - Element* element() const { return m_element; } - private: void detachAttributesFromElement(); void detachFromElement(); diff --git a/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl b/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl index 3310ded..8166853 100644 --- a/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl +++ b/src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl @@ -1,6 +1,6 @@ /* * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> - * Copyright (C) 2007 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2009 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -21,6 +21,7 @@ module core { interface [ + CustomMarkFunction, GenerateConstructor, HasIndexGetter, HasNameGetter, diff --git a/src/3rdparty/webkit/WebCore/dom/Node.cpp b/src/3rdparty/webkit/WebCore/dom/Node.cpp index 2240dd8..612bf18 100644 --- a/src/3rdparty/webkit/WebCore/dom/Node.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Node.cpp @@ -1626,52 +1626,6 @@ PassRefPtr<NodeList> Node::getElementsByClassName(const String& classNames) return ClassNodeList::create(this, classNames, result.first->second.get()); } -template <typename Functor> -static bool forEachTagSelector(Functor& functor, CSSSelector* selector) -{ - ASSERT(selector); - - do { - if (functor(selector)) - return true; - if (CSSSelector* simpleSelector = selector->simpleSelector()) { - if (forEachTagSelector(functor, simpleSelector)) - return true; - } - } while ((selector = selector->tagHistory())); - - return false; -} - -template <typename Functor> -static bool forEachSelector(Functor& functor, const CSSSelectorList& selectorList) -{ - for (CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector)) { - if (forEachTagSelector(functor, selector)) - return true; - } - - return false; -} - -class SelectorNeedsNamespaceResolutionFunctor { -public: - bool operator()(CSSSelector* selector) - { - if (selector->hasTag() && selector->m_tag.prefix() != nullAtom && selector->m_tag.prefix() != starAtom) - return true; - if (selector->hasAttribute() && selector->attribute().prefix() != nullAtom && selector->attribute().prefix() != starAtom) - return true; - return false; - } -}; - -static bool selectorNeedsNamespaceResolution(const CSSSelectorList& selectorList) -{ - SelectorNeedsNamespaceResolutionFunctor functor; - return forEachSelector(functor, selectorList); -} - PassRefPtr<Element> Node::querySelector(const String& selectors, ExceptionCode& ec) { if (selectors.isEmpty()) { @@ -1690,7 +1644,7 @@ PassRefPtr<Element> Node::querySelector(const String& selectors, ExceptionCode& } // throw a NAMESPACE_ERR if the selector includes any namespace prefixes. - if (selectorNeedsNamespaceResolution(querySelectorList)) { + if (querySelectorList.selectorsNeedNamespaceResolution()) { ec = NAMESPACE_ERR; return 0; } @@ -1738,7 +1692,7 @@ PassRefPtr<NodeList> Node::querySelectorAll(const String& selectors, ExceptionCo } // Throw a NAMESPACE_ERR if the selector includes any namespace prefixes. - if (selectorNeedsNamespaceResolution(querySelectorList)) { + if (querySelectorList.selectorsNeedNamespaceResolution()) { ec = NAMESPACE_ERR; return 0; } @@ -2468,6 +2422,20 @@ static inline EventTarget* eventTargetRespectingSVGTargetRules(Node* referenceNo return referenceNode; } +void Node::eventAncestors(Vector<RefPtr<ContainerNode> > &ancestors) +{ + if (inDocument()) { + for (ContainerNode* ancestor = eventParentNode(); ancestor; ancestor = ancestor->eventParentNode()) { +#if ENABLE(SVG) + // Skip <use> shadow tree elements. + if (ancestor->isSVGElement() && ancestor->isShadowNode()) + continue; +#endif + ancestors.append(ancestor); + } + } +} + bool Node::dispatchEvent(PassRefPtr<Event> prpEvent) { RefPtr<EventTarget> protect = this; @@ -2498,16 +2466,7 @@ bool Node::dispatchGenericEvent(PassRefPtr<Event> prpEvent) // Be sure to ref all of nodes since event handlers could result in the last reference going away. RefPtr<Node> thisNode(this); Vector<RefPtr<ContainerNode> > ancestors; - if (inDocument()) { - for (ContainerNode* ancestor = eventParentNode(); ancestor; ancestor = ancestor->eventParentNode()) { -#if ENABLE(SVG) - // Skip <use> shadow tree elements. - if (ancestor->isSVGElement() && ancestor->isShadowNode()) - continue; -#endif - ancestors.append(ancestor); - } - } + eventAncestors(ancestors); // Set up a pointer to indicate whether / where to dispatch window events. // We don't dispatch load events to the window. That quirk was originally diff --git a/src/3rdparty/webkit/WebCore/dom/Node.h b/src/3rdparty/webkit/WebCore/dom/Node.h index f3bebc6..35be6d3 100644 --- a/src/3rdparty/webkit/WebCore/dom/Node.h +++ b/src/3rdparty/webkit/WebCore/dom/Node.h @@ -206,6 +206,9 @@ public: // The node's parent for the purpose of event capture and bubbling. virtual ContainerNode* eventParentNode(); + // Node ancestors when concerned about event flow + void eventAncestors(Vector<RefPtr<ContainerNode> > &ancestors); + bool isBlockFlow() const; bool isBlockFlowOrBlockTable() const; diff --git a/src/3rdparty/webkit/WebCore/dom/Range.cpp b/src/3rdparty/webkit/WebCore/dom/Range.cpp index 0503597..122130d 100644 --- a/src/3rdparty/webkit/WebCore/dom/Range.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Range.cpp @@ -3,7 +3,7 @@ * (C) 2000 Gunnstein Lye (gunnstein@netcom.no) * (C) 2000 Frederik Holljen (frederik.holljen@hig.no) * (C) 2001 Peter Kelly (pmk@post.com) - * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -26,7 +26,10 @@ #include "RangeException.h" #include "CString.h" +#include "ClientRect.h" +#include "ClientRectList.h" #include "DocumentFragment.h" +#include "FrameView.h" #include "HTMLElement.h" #include "NodeWithIndex.h" #include "ProcessingInstruction.h" @@ -1821,4 +1824,89 @@ void Range::expand(const String& unit, ExceptionCode& ec) setEnd(end.deepEquivalent().containerNode(), end.deepEquivalent().computeOffsetInContainerNode(), ec); } +PassRefPtr<ClientRectList> Range::getClientRects() const +{ + if (!m_start.container()) + return 0; + + m_ownerDocument->updateLayoutIgnorePendingStylesheets(); + + Vector<FloatQuad> quads; + getBorderAndTextQuads(quads); + + return ClientRectList::create(quads); +} + +PassRefPtr<ClientRect> Range::getBoundingClientRect() const +{ + if (!m_start.container()) + return 0; + + m_ownerDocument->updateLayoutIgnorePendingStylesheets(); + + Vector<FloatQuad> quads; + getBorderAndTextQuads(quads); + + if (quads.isEmpty()) + return ClientRect::create(); + + IntRect result; + for (size_t i = 0; i < quads.size(); ++i) + result.unite(quads[i].enclosingBoundingBox()); + + return ClientRect::create(result); +} + +static void adjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>& quads, Document* document, RenderObject* renderer) +{ + FrameView* view = document->view(); + if (!view) + return; + + IntRect visibleContentRect = view->visibleContentRect(); + for (size_t i = 0; i < quads.size(); ++i) { + quads[i].move(-visibleContentRect.x(), -visibleContentRect.y()); + adjustFloatQuadForAbsoluteZoom(quads[i], renderer); + } +} + +void Range::getBorderAndTextQuads(Vector<FloatQuad>& quads) const +{ + Node* startContainer = m_start.container(); + Node* endContainer = m_end.container(); + Node* stopNode = pastLastNode(); + + HashSet<Node*> nodeSet; + for (Node* node = firstNode(); node != stopNode; node = node->traverseNextNode()) { + if (node->isElementNode()) + nodeSet.add(node); + } + + for (Node* node = firstNode(); node != stopNode; node = node->traverseNextNode()) { + if (node->isElementNode()) { + if (!nodeSet.contains(node->parentNode())) { + if (RenderBoxModelObject* renderBoxModelObject = static_cast<Element*>(node)->renderBoxModelObject()) { + Vector<FloatQuad> elementQuads; + renderBoxModelObject->absoluteQuads(elementQuads); + adjustFloatQuadsForScrollAndAbsoluteZoom(elementQuads, m_ownerDocument.get(), renderBoxModelObject); + + quads.append(elementQuads); + } + } + } else if (node->isTextNode()) { + if (RenderObject* renderer = static_cast<Text*>(node)->renderer()) { + RenderText* renderText = toRenderText(renderer); + int startOffset = (node == startContainer) ? m_start.offset() : 0; + int endOffset = (node == endContainer) ? m_end.offset() : INT_MAX; + + Vector<FloatQuad> textQuads; + renderText->absoluteQuadsForRange(textQuads, startOffset, endOffset); + adjustFloatQuadsForScrollAndAbsoluteZoom(textQuads, m_ownerDocument.get(), renderText); + + quads.append(textQuads); + } + } + } } + +} // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/dom/Range.h b/src/3rdparty/webkit/WebCore/dom/Range.h index 3382c84..e2e282b 100644 --- a/src/3rdparty/webkit/WebCore/dom/Range.h +++ b/src/3rdparty/webkit/WebCore/dom/Range.h @@ -3,7 +3,7 @@ * (C) 2000 Gunnstein Lye (gunnstein@netcom.no) * (C) 2000 Frederik Holljen (frederik.holljen@hig.no) * (C) 2001 Peter Kelly (pmk@post.com) - * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -25,12 +25,15 @@ #ifndef Range_h #define Range_h +#include "FloatQuad.h" #include "RangeBoundaryPoint.h" +#include <wtf/Forward.h> #include <wtf/RefCounted.h> -#include <wtf/Vector.h> namespace WebCore { +class ClientRect; +class ClientRectList; class DocumentFragment; class NodeWithIndex; class Text; @@ -117,6 +120,9 @@ public: // for details. void expand(const String&, ExceptionCode&); + PassRefPtr<ClientRectList> getClientRects() const; + PassRefPtr<ClientRect> getBoundingClientRect() const; + #ifndef NDEBUG void formatForDebugger(char* buffer, unsigned length) const; #endif @@ -135,6 +141,8 @@ private: enum ActionType { DELETE_CONTENTS, EXTRACT_CONTENTS, CLONE_CONTENTS }; PassRefPtr<DocumentFragment> processContents(ActionType, ExceptionCode&); + void getBorderAndTextQuads(Vector<FloatQuad>&) const; + RefPtr<Document> m_ownerDocument; RangeBoundaryPoint m_start; RangeBoundaryPoint m_end; diff --git a/src/3rdparty/webkit/WebCore/dom/Range.idl b/src/3rdparty/webkit/WebCore/dom/Range.idl index 633bd90..9024e09 100644 --- a/src/3rdparty/webkit/WebCore/dom/Range.idl +++ b/src/3rdparty/webkit/WebCore/dom/Range.idl @@ -85,6 +85,13 @@ module ranges { void detach() raises(DOMException); +#if defined(LANGUAGE_JAVASCRIPT) || LANGUAGE_JAVASCRIPT + // CSSOM View Module API extensions + + ClientRectList getClientRects(); + ClientRect getBoundingClientRect(); +#endif + // extensions DocumentFragment createContextualFragment(in DOMString html) diff --git a/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h b/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h index 88d2279..c34a341 100644 --- a/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h +++ b/src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h @@ -29,7 +29,8 @@ namespace WebCore { - struct RegisteredEventListener { + class RegisteredEventListener { + public: RegisteredEventListener(PassRefPtr<EventListener> listener, bool useCapture) : listener(listener) , useCapture(useCapture) diff --git a/src/3rdparty/webkit/WebCore/dom/Text.cpp b/src/3rdparty/webkit/WebCore/dom/Text.cpp index 00db1c1..1ce074a 100644 --- a/src/3rdparty/webkit/WebCore/dom/Text.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Text.cpp @@ -315,10 +315,15 @@ PassRefPtr<Text> Text::createWithLengthLimit(Document* document, const String& d unsigned end = start + min(charsLeft, maxChars); // Check we are not on an unbreakable boundary. - TextBreakIterator* it = characterBreakIterator(data.characters(), dataLength); - if (end < dataLength && !isTextBreak(it, end)) - end = textBreakPreceding(it, end); - + // Some text break iterator implementations work best if the passed buffer is as small as possible, + // see <https://bugs.webkit.org/show_bug.cgi?id=29092>. + // We need at least two characters look-ahead to account for UTF-16 surrogates. + if (end < dataLength) { + TextBreakIterator* it = characterBreakIterator(data.characters() + start, (end + 2 > dataLength) ? dataLength - start : end - start + 2); + if (!isTextBreak(it, end - start)) + end = textBreakPreceding(it, end - start) + start; + } + // If we have maxChars of unbreakable characters the above could lead to // an infinite loop. // FIXME: It would be better to just have the old value of end before calling diff --git a/src/3rdparty/webkit/WebCore/dom/TransformSource.h b/src/3rdparty/webkit/WebCore/dom/TransformSource.h new file mode 100644 index 0000000..f97afcf --- /dev/null +++ b/src/3rdparty/webkit/WebCore/dom/TransformSource.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Jakub Wieczorek <faw217@gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef TransformSource_h +#define TransformSource_h + +#if ENABLE(XSLT) + +#include "PlatformString.h" +#include <wtf/Noncopyable.h> + +namespace WebCore { + +#if USE(QXMLQUERY) + typedef String PlatformTransformSource; +#else + typedef void* PlatformTransformSource; +#endif + + class TransformSource : public Noncopyable { + public: + TransformSource(const PlatformTransformSource& source); + ~TransformSource(); + + PlatformTransformSource platformSource() const { return m_source; } + + private: + PlatformTransformSource m_source; + }; + +} // namespace WebCore + +#endif + +#endif // TransformSource_h diff --git a/src/3rdparty/webkit/WebCore/dom/TransformSourceLibxslt.cpp b/src/3rdparty/webkit/WebCore/dom/TransformSourceLibxslt.cpp new file mode 100644 index 0000000..33a85e8 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/dom/TransformSourceLibxslt.cpp @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "TransformSource.h" + +#include <libxml/tree.h> + +namespace WebCore { + +TransformSource::TransformSource(const PlatformTransformSource& source) + : m_source(source) +{ +} + +TransformSource::~TransformSource() +{ + xmlFreeDoc((xmlDocPtr)m_source); +} + +} diff --git a/src/3rdparty/webkit/WebCore/dom/TransformSourceQt.cpp b/src/3rdparty/webkit/WebCore/dom/TransformSourceQt.cpp new file mode 100644 index 0000000..074f2cb --- /dev/null +++ b/src/3rdparty/webkit/WebCore/dom/TransformSourceQt.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2009 Jakub Wieczorek <faw217@gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" +#include "TransformSource.h" + +namespace WebCore { + +TransformSource::TransformSource(const PlatformTransformSource& source) + : m_source(source) +{ +} + +TransformSource::~TransformSource() +{ +} + +} diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp index da2f9b6..d3c6546 100644 --- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp +++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp @@ -50,6 +50,7 @@ #include "ScriptSourceCode.h" #include "ScriptValue.h" #include "TextResourceDecoder.h" +#include "TransformSource.h" #include "XMLTokenizerScope.h" #include <libxml/parser.h> #include <libxml/parserInternals.h> @@ -1280,7 +1281,8 @@ void XMLTokenizer::doEnd() { #if ENABLE(XSLT) if (m_sawXSLTransform) { - m_doc->setTransformSource(xmlDocPtrForString(m_doc->docLoader(), m_originalSourceForTransform, m_doc->url().string())); + void* doc = xmlDocPtrForString(m_doc->docLoader(), m_originalSourceForTransform, m_doc->url().string()); + m_doc->setTransformSource(new TransformSource(doc)); m_doc->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets. m_doc->updateStyleSelector(); diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp index 799eef3..f745830 100644 --- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp +++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp @@ -50,6 +50,7 @@ #include "ScriptSourceCode.h" #include "ScriptValue.h" #include "TextResourceDecoder.h" +#include "TransformSource.h" #include <QDebug> #include <wtf/Platform.h> #include <wtf/StringExtras.h> @@ -248,45 +249,19 @@ void XMLTokenizer::initializeParserContext(const char* chunk) void XMLTokenizer::doEnd() { #if ENABLE(XSLT) - #warning Look at XMLTokenizerLibXml.cpp -#endif - - if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError || (m_wroteText && !m_sawFirstElement)) { - handleError(fatal, qPrintable(m_stream.errorString()), lineNumber(), - columnNumber()); + if (m_sawXSLTransform) { + m_doc->setTransformSource(new TransformSource(m_originalSourceForTransform)); + m_doc->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets. + m_doc->updateStyleSelector(); + m_doc->setParsing(true); + m_parserStopped = true; } -} - -#if ENABLE(XSLT) -void* xmlDocPtrForString(DocLoader* docLoader, const String& source, const String& url) -{ - if (source.isEmpty()) - return 0; - - // Parse in a single chunk into an xmlDocPtr - // FIXME: Hook up error handlers so that a failure to parse the main document results in - // good error messages. - const UChar BOM = 0xFEFF; - const unsigned char BOMHighByte = *reinterpret_cast<const unsigned char*>(&BOM); - - xmlGenericErrorFunc oldErrorFunc = xmlGenericError; - void* oldErrorContext = xmlGenericErrorContext; - - setLoaderForLibXMLCallbacks(docLoader); - xmlSetGenericErrorFunc(0, errorFunc); - - xmlDocPtr sourceDoc = xmlReadMemory(reinterpret_cast<const char*>(source.characters()), - source.length() * sizeof(UChar), - url.latin1().data(), - BOMHighByte == 0xFF ? "UTF-16LE" : "UTF-16BE", - XSLT_PARSE_OPTIONS); - - setLoaderForLibXMLCallbacks(0); - xmlSetGenericErrorFunc(oldErrorContext, oldErrorFunc); +#endif - return sourceDoc; + if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError + || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform)) + handleError(fatal, qPrintable(m_stream.errorString()), lineNumber(), columnNumber()); } -#endif int XMLTokenizer::lineNumber() const { @@ -683,7 +658,7 @@ void XMLTokenizer::parseProcessingInstruction() #if ENABLE(XSLT) m_sawXSLTransform = !m_sawFirstElement && pi->isXSL(); - if (m_sawXSLTransform && !m_doc->transformSourceDocument())) + if (m_sawXSLTransform && !m_doc->transformSourceDocument()) stopParsing(); #endif } diff --git a/src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp b/src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp index 1ca2d87..2da6047 100644 --- a/src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp +++ b/src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp @@ -51,7 +51,16 @@ void BreakBlockquoteCommand::doApply() if (endingSelection().isRange()) deleteSelection(false, false); + // This is a scenario that should never happen, but we want to + // make sure we don't dereference a null pointer below. + + ASSERT(!endingSelection().isNone()); + + if (endingSelection().isNone()) + return; + VisiblePosition visiblePos = endingSelection().visibleStart(); + // pos is a position equivalent to the caret. We use downstream() so that pos will // be in the first node that we need to move (there are a few exceptions to this, see below). Position pos = endingSelection().start().downstream(); diff --git a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp index d94dcd2..fbb5aea 100644 --- a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp +++ b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp @@ -537,8 +537,6 @@ void DeleteSelectionCommand::mergeParagraphs() { if (!m_mergeBlocksAfterDelete) { if (m_pruneStartBlockIfNecessary) { - // Make sure that the ending position isn't inside the block we're about to prune. - m_endingPosition = m_downstreamEnd; // We aren't going to merge into the start block, so remove it if it's empty. prune(m_startBlock); // Removing the start block during a deletion is usually an indication that we need diff --git a/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp b/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp index 9823aba..695f46a 100644 --- a/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp +++ b/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp @@ -103,6 +103,30 @@ bool InsertParagraphSeparatorCommand::shouldUseDefaultParagraphElement(Node* enc enclosingBlock->hasTagName(h5Tag); } +void InsertParagraphSeparatorCommand::getAncestorsInsideBlock(const Node* insertionNode, Element* outerBlock, Vector<Element*>& ancestors) +{ + ancestors.clear(); + + // Build up list of ancestors elements between the insertion node and the outer block. + if (insertionNode != outerBlock) { + for (Element* n = insertionNode->parentElement(); n && n != outerBlock; n = n->parentElement()) + ancestors.append(n); + } +} + +PassRefPtr<Element> InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock(const Vector<Element*>& ancestors, PassRefPtr<Element> blockToInsert) +{ + // Make clones of ancestors in between the start node and the start block. + RefPtr<Element> parent = blockToInsert; + for (size_t i = ancestors.size(); i != 0; --i) { + RefPtr<Element> child = ancestors[i - 1]->cloneElementWithoutChildren(); + appendNode(child, parent); + parent = child.release(); + } + + return parent.release(); +} + void InsertParagraphSeparatorCommand::doApply() { bool splitText = false; @@ -193,12 +217,18 @@ void InsertParagraphSeparatorCommand::doApply() insertNodeAfter(blockToInsert, startBlock); } - appendBlockPlaceholder(blockToInsert); - setEndingSelection(VisibleSelection(Position(blockToInsert.get(), 0), DOWNSTREAM)); - if (shouldApplyStyleAfterInsertion) - applyStyleAfterInsertion(startBlock); + // Recreate the same structure in the new paragraph. + + Vector<Element*> ancestors; + getAncestorsInsideBlock(insertionPosition.node(), startBlock, ancestors); + RefPtr<Element> parent = cloneHierarchyUnderNewBlock(ancestors, blockToInsert); + + appendBlockPlaceholder(parent); + + setEndingSelection(VisibleSelection(Position(parent.get(), 0), DOWNSTREAM)); return; } + //--------------------------------------------------------------------- // Handle case when position is in the first visible position in its block, and @@ -217,9 +247,15 @@ void InsertParagraphSeparatorCommand::doApply() insertionPosition = insertionPosition.downstream(); insertNodeBefore(blockToInsert, refNode); - appendBlockPlaceholder(blockToInsert.get()); - setEndingSelection(VisibleSelection(Position(blockToInsert.get(), 0), DOWNSTREAM)); - applyStyleAfterInsertion(startBlock); + + // Recreate the same structure in the new paragraph. + + Vector<Element*> ancestors; + getAncestorsInsideBlock(positionAvoidingSpecialElementBoundary(insertionPosition).node(), startBlock, ancestors); + + appendBlockPlaceholder(cloneHierarchyUnderNewBlock(ancestors, blockToInsert)); + + // In this case, we need to set the new ending selection. setEndingSelection(VisibleSelection(insertionPosition, DOWNSTREAM)); return; } @@ -248,10 +284,7 @@ void InsertParagraphSeparatorCommand::doApply() // Build up list of ancestors in between the start node and the start block. Vector<Element*> ancestors; - if (insertionPosition.node() != startBlock) { - for (Element* n = insertionPosition.node()->parentElement(); n && n != startBlock; n = n->parentElement()) - ancestors.append(n); - } + getAncestorsInsideBlock(insertionPosition.node(), startBlock, ancestors); // Make sure we do not cause a rendered space to become unrendered. // FIXME: We need the affinity for pos, but pos.downstream() does not give it @@ -284,13 +317,8 @@ void InsertParagraphSeparatorCommand::doApply() updateLayout(); - // Make clones of ancestors in between the start node and the start block. - RefPtr<Element> parent = blockToInsert; - for (size_t i = ancestors.size(); i != 0; --i) { - RefPtr<Element> child = ancestors[i - 1]->cloneElementWithoutChildren(); - appendNode(child, parent); - parent = child.release(); - } + // Make clones of ancestors in between the start node and the outer block. + RefPtr<Element> parent = cloneHierarchyUnderNewBlock(ancestors, blockToInsert); // If the paragraph separator was inserted at the end of a paragraph, an empty line must be // created. All of the nodes, starting at visiblePos, are about to be added to the new paragraph diff --git a/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h b/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h index 01c08bf..23ee51c 100644 --- a/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h +++ b/src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h @@ -44,6 +44,8 @@ private: void calculateStyleBeforeInsertion(const Position&); void applyStyleAfterInsertion(Node* originalEnclosingBlock); + void getAncestorsInsideBlock(const Node* insertionNode, Element* outerBlock, Vector<Element*>& ancestors); + PassRefPtr<Element> cloneHierarchyUnderNewBlock(const Vector<Element*>& ancestors, PassRefPtr<Element> blockToInsert); bool shouldUseDefaultParagraphElement(Node*) const; diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp index 28e127d..1bc76c7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp @@ -137,7 +137,7 @@ bool JSAbstractWorkerPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSAbstractWorker::s_info = { "AbstractWorker", 0, &JSAbstractWorkerTable, 0 }; -JSAbstractWorker::JSAbstractWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<AbstractWorker> impl) +JSAbstractWorker::JSAbstractWorker(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<AbstractWorker> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -176,7 +176,7 @@ JSValue jsAbstractWorkerOnerror(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); AbstractWorker* imp = static_cast<AbstractWorker*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h index b1bb87b..a4232c5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h +++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h @@ -35,7 +35,7 @@ class AbstractWorker; class JSAbstractWorker : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSAbstractWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<AbstractWorker>); + JSAbstractWorker(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<AbstractWorker>); virtual ~JSAbstractWorker(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -77,7 +77,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSAbstractWorkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSAbstractWorkerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp index 2bff88d..b8a69a5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp @@ -123,7 +123,7 @@ JSObject* JSAttrPrototype::self(ExecState* exec, JSGlobalObject* globalObject) const ClassInfo JSAttr::s_info = { "Attr", &JSNode::s_info, &JSAttrTable, 0 }; -JSAttr::JSAttr(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Attr> impl) +JSAttr::JSAttr(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Attr> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.h b/src/3rdparty/webkit/WebCore/generated/JSAttr.h index e7fd69c..f1aa7af 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSAttr.h +++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.h @@ -31,7 +31,7 @@ class Attr; class JSAttr : public JSNode { typedef JSNode Base; public: - JSAttr(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Attr>); + JSAttr(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Attr>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -44,6 +44,8 @@ public: return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } + virtual void markChildren(JSC::MarkStack&); + static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); // Custom attributes @@ -62,7 +64,11 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSAttrPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype) + { + return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); + } + JSAttrPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp index 6ebd59c..2f02580 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp @@ -68,7 +68,7 @@ JSObject* JSBarInfoPrototype::self(ExecState* exec, JSGlobalObject* globalObject const ClassInfo JSBarInfo::s_info = { "BarInfo", 0, &JSBarInfoTable, 0 }; -JSBarInfo::JSBarInfo(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<BarInfo> impl) +JSBarInfo::JSBarInfo(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<BarInfo> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h index 76344eb..7f11801 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h +++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h @@ -33,7 +33,7 @@ class BarInfo; class JSBarInfo : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSBarInfo(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<BarInfo>); + JSBarInfo(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<BarInfo>); virtual ~JSBarInfo(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -61,7 +61,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSBarInfoPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSBarInfoPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp index d11224e..01b4c11 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp @@ -112,7 +112,7 @@ JSObject* JSCDATASectionPrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSCDATASection::s_info = { "CDATASection", &JSText::s_info, &JSCDATASectionTable, 0 }; -JSCDATASection::JSCDATASection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CDATASection> impl) +JSCDATASection::JSCDATASection(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CDATASection> impl) : JSText(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h index 7c5ace5..8d1352c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h @@ -30,7 +30,7 @@ class CDATASection; class JSCDATASection : public JSText { typedef JSText Base; public: - JSCDATASection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CDATASection>); + JSCDATASection(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CDATASection>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCDATASectionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCDATASectionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp index 4dee9a0..83f4a64 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp @@ -114,7 +114,7 @@ JSObject* JSCSSCharsetRulePrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSCSSCharsetRule::s_info = { "CSSCharsetRule", &JSCSSRule::s_info, &JSCSSCharsetRuleTable, 0 }; -JSCSSCharsetRule::JSCSSCharsetRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSCharsetRule> impl) +JSCSSCharsetRule::JSCSSCharsetRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSCharsetRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h index de2bca6..9ad4e9c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h @@ -30,7 +30,7 @@ class CSSCharsetRule; class JSCSSCharsetRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSCharsetRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSCharsetRule>); + JSCSSCharsetRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSCharsetRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSCharsetRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSCharsetRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp index 580c31c..38b6fce 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp @@ -116,7 +116,7 @@ JSObject* JSCSSFontFaceRulePrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSCSSFontFaceRule::s_info = { "CSSFontFaceRule", &JSCSSRule::s_info, &JSCSSFontFaceRuleTable, 0 }; -JSCSSFontFaceRule::JSCSSFontFaceRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSFontFaceRule> impl) +JSCSSFontFaceRule::JSCSSFontFaceRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSFontFaceRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h index 16a8765..c99c45d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h @@ -30,7 +30,7 @@ class CSSFontFaceRule; class JSCSSFontFaceRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSFontFaceRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSFontFaceRule>); + JSCSSFontFaceRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSFontFaceRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSFontFaceRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSFontFaceRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp index 5dc1fba..c23f7fe 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp @@ -120,7 +120,7 @@ JSObject* JSCSSImportRulePrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSCSSImportRule::s_info = { "CSSImportRule", &JSCSSRule::s_info, &JSCSSImportRuleTable, 0 }; -JSCSSImportRule::JSCSSImportRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSImportRule> impl) +JSCSSImportRule::JSCSSImportRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSImportRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h index 22bb523..5e73495 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h @@ -30,7 +30,7 @@ class CSSImportRule; class JSCSSImportRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSImportRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSImportRule>); + JSCSSImportRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSImportRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSImportRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSImportRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp index f491df2..e0c713b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp @@ -132,7 +132,7 @@ bool JSCSSMediaRulePrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSCSSMediaRule::s_info = { "CSSMediaRule", &JSCSSRule::s_info, &JSCSSMediaRuleTable, 0 }; -JSCSSMediaRule::JSCSSMediaRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSMediaRule> impl) +JSCSSMediaRule::JSCSSMediaRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSMediaRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h index 34acdab..3751a8e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h @@ -30,7 +30,7 @@ class CSSMediaRule; class JSCSSMediaRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSMediaRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSMediaRule>); + JSCSSMediaRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSMediaRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSMediaRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSMediaRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp index 87486ec..1d94046 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp @@ -118,7 +118,7 @@ JSObject* JSCSSPageRulePrototype::self(ExecState* exec, JSGlobalObject* globalOb const ClassInfo JSCSSPageRule::s_info = { "CSSPageRule", &JSCSSRule::s_info, &JSCSSPageRuleTable, 0 }; -JSCSSPageRule::JSCSSPageRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPageRule> impl) +JSCSSPageRule::JSCSSPageRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPageRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h index fe56b18..d62bc67 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h @@ -30,7 +30,7 @@ class CSSPageRule; class JSCSSPageRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSPageRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPageRule>); + JSCSSPageRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPageRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSPageRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSPageRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp index 84cee2b..ee2288d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp @@ -192,7 +192,7 @@ bool JSCSSPrimitiveValuePrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSCSSPrimitiveValue::s_info = { "CSSPrimitiveValue", &JSCSSValue::s_info, &JSCSSPrimitiveValueTable, 0 }; -JSCSSPrimitiveValue::JSCSSPrimitiveValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPrimitiveValue> impl) +JSCSSPrimitiveValue::JSCSSPrimitiveValue(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPrimitiveValue> impl) : JSCSSValue(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h index dddef9f..a2cec7c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h @@ -30,7 +30,7 @@ class CSSPrimitiveValue; class JSCSSPrimitiveValue : public JSCSSValue { typedef JSCSSValue Base; public: - JSCSSPrimitiveValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPrimitiveValue>); + JSCSSPrimitiveValue(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPrimitiveValue>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSPrimitiveValuePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSPrimitiveValuePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp index fe8476b..02231b7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp @@ -151,7 +151,7 @@ bool JSCSSRulePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSCSSRule::s_info = { "CSSRule", 0, &JSCSSRuleTable, 0 }; -JSCSSRule::JSCSSRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRule> impl) +JSCSSRule::JSCSSRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRule> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h index 2d74d26..4df85da 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h @@ -33,7 +33,7 @@ class CSSRule; class JSCSSRule : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCSSRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRule>); + JSCSSRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRule>); virtual ~JSCSSRule(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp index 7e62e27..3c7bb93 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp @@ -129,7 +129,7 @@ bool JSCSSRuleListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSCSSRuleList::s_info = { "CSSRuleList", 0, &JSCSSRuleListTable, 0 }; -JSCSSRuleList::JSCSSRuleList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRuleList> impl) +JSCSSRuleList::JSCSSRuleList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRuleList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h index 0f24081..5f61961 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h @@ -33,7 +33,7 @@ class CSSRuleList; class JSCSSRuleList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCSSRuleList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRuleList>); + JSCSSRuleList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRuleList>); virtual ~JSCSSRuleList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -73,7 +73,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSCSSRuleListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSRuleListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp index 1a6eeb9..63cd7a5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp @@ -143,7 +143,7 @@ bool JSCSSStyleDeclarationPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSCSSStyleDeclaration::s_info = { "CSSStyleDeclaration", 0, &JSCSSStyleDeclarationTable, 0 }; -JSCSSStyleDeclaration::JSCSSStyleDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleDeclaration> impl) +JSCSSStyleDeclaration::JSCSSStyleDeclaration(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleDeclaration> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h index 2f64fef..bf9f943 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h @@ -33,7 +33,7 @@ class CSSStyleDeclaration; class JSCSSStyleDeclaration : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCSSStyleDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleDeclaration>); + JSCSSStyleDeclaration(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleDeclaration>); virtual ~JSCSSStyleDeclaration(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -78,7 +78,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSCSSStyleDeclarationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSStyleDeclarationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp index b2fd4fa..aa27d94 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp @@ -118,7 +118,7 @@ JSObject* JSCSSStyleRulePrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSCSSStyleRule::s_info = { "CSSStyleRule", &JSCSSRule::s_info, &JSCSSStyleRuleTable, 0 }; -JSCSSStyleRule::JSCSSStyleRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleRule> impl) +JSCSSStyleRule::JSCSSStyleRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h index 603b38a..9955974 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h @@ -30,7 +30,7 @@ class CSSStyleRule; class JSCSSStyleRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSStyleRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleRule>); + JSCSSStyleRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSStyleRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSStyleRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp index a316a6d..4073c6f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp @@ -135,7 +135,7 @@ bool JSCSSStyleSheetPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSCSSStyleSheet::s_info = { "CSSStyleSheet", &JSStyleSheet::s_info, &JSCSSStyleSheetTable, 0 }; -JSCSSStyleSheet::JSCSSStyleSheet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleSheet> impl) +JSCSSStyleSheet::JSCSSStyleSheet(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleSheet> impl) : JSStyleSheet(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h index de40214..a807b47 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h @@ -30,7 +30,7 @@ class CSSStyleSheet; class JSCSSStyleSheet : public JSStyleSheet { typedef JSStyleSheet Base; public: - JSCSSStyleSheet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleSheet>); + JSCSSStyleSheet(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleSheet>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSStyleSheetPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSStyleSheetPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp index b5152cb..6f61adb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp @@ -134,7 +134,7 @@ bool JSCSSValuePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSCSSValue::s_info = { "CSSValue", 0, &JSCSSValueTable, 0 }; -JSCSSValue::JSCSSValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValue> impl) +JSCSSValue::JSCSSValue(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValue> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h index f39cef3..ceec3aa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h @@ -33,7 +33,7 @@ class CSSValue; class JSCSSValue : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCSSValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValue>); + JSCSSValue(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValue>); virtual ~JSCSSValue(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSValuePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSValuePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp index 4cff13d..56afec2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp @@ -129,7 +129,7 @@ bool JSCSSValueListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSCSSValueList::s_info = { "CSSValueList", &JSCSSValue::s_info, &JSCSSValueListTable, 0 }; -JSCSSValueList::JSCSSValueList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValueList> impl) +JSCSSValueList::JSCSSValueList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValueList> impl) : JSCSSValue(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h index c06529a..8603e87 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h @@ -30,7 +30,7 @@ class CSSValueList; class JSCSSValueList : public JSCSSValue { typedef JSCSSValue Base; public: - JSCSSValueList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValueList>); + JSCSSValueList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValueList>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSValueListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSValueListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp index 8e2ef47..65f225f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp @@ -136,7 +136,7 @@ bool JSCSSVariablesDeclarationPrototype::getOwnPropertyDescriptor(ExecState* exe const ClassInfo JSCSSVariablesDeclaration::s_info = { "CSSVariablesDeclaration", 0, &JSCSSVariablesDeclarationTable, 0 }; -JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesDeclaration> impl) +JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesDeclaration> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h index 10c7ae7..dff45a3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h @@ -33,7 +33,7 @@ class CSSVariablesDeclaration; class JSCSSVariablesDeclaration : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCSSVariablesDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesDeclaration>); + JSCSSVariablesDeclaration(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesDeclaration>); virtual ~JSCSSVariablesDeclaration(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCSSVariablesDeclarationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSVariablesDeclarationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp index b3efd0f..2c61ec7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp @@ -118,7 +118,7 @@ JSObject* JSCSSVariablesRulePrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSCSSVariablesRule::s_info = { "CSSVariablesRule", &JSCSSRule::s_info, &JSCSSVariablesRuleTable, 0 }; -JSCSSVariablesRule::JSCSSVariablesRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesRule> impl) +JSCSSVariablesRule::JSCSSVariablesRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h index 97941f9..6248363 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h @@ -30,7 +30,7 @@ class CSSVariablesRule; class JSCSSVariablesRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSCSSVariablesRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesRule>); + JSCSSVariablesRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCSSVariablesRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCSSVariablesRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp index 2331bba..26409c8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp @@ -85,7 +85,7 @@ bool JSCanvasArrayPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSCanvasArray::s_info = { "CanvasArray", 0, &JSCanvasArrayTable, 0 }; -JSCanvasArray::JSCanvasArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasArray> impl) +JSCanvasArray::JSCanvasArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasArray> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.h index f22d023..0a12328 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.h @@ -35,7 +35,7 @@ class CanvasArray; class JSCanvasArray : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCanvasArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasArray>); + JSCanvasArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasArray>); virtual ~JSCanvasArray(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCanvasArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp index b8a9406..cf1c0fe 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp @@ -72,7 +72,7 @@ JSObject* JSCanvasArrayBufferPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSCanvasArrayBuffer::s_info = { "CanvasArrayBuffer", 0, &JSCanvasArrayBufferTable, 0 }; -JSCanvasArrayBuffer::JSCanvasArrayBuffer(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasArrayBuffer> impl) +JSCanvasArrayBuffer::JSCanvasArrayBuffer(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasArrayBuffer> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.h index b2a7482..16a3945 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.h @@ -35,7 +35,7 @@ class CanvasArrayBuffer; class JSCanvasArrayBuffer : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCanvasArrayBuffer(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasArrayBuffer>); + JSCanvasArrayBuffer(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasArrayBuffer>); virtual ~JSCanvasArrayBuffer(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasArrayBufferPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasArrayBufferPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.cpp index 2b9bf08..ec31899 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasByteArrayPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSCanvasByteArray::s_info = { "CanvasByteArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasByteArray::JSCanvasByteArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasByteArray> impl) +JSCanvasByteArray::JSCanvasByteArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasByteArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.h index 705adc4..0c30bfd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasByteArray.h @@ -33,7 +33,7 @@ class CanvasByteArray; class JSCanvasByteArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasByteArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasByteArray>); + JSCanvasByteArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasByteArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasByteArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasByteArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.cpp index 2417cb6..7c98ea8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasFloatArrayPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSCanvasFloatArray::s_info = { "CanvasFloatArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasFloatArray::JSCanvasFloatArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasFloatArray> impl) +JSCanvasFloatArray::JSCanvasFloatArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasFloatArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.h index 8783867..347e334 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasFloatArray.h @@ -33,7 +33,7 @@ class CanvasFloatArray; class JSCanvasFloatArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasFloatArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasFloatArray>); + JSCanvasFloatArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasFloatArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasFloatArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasFloatArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp index aec7049..22de482 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp @@ -66,7 +66,7 @@ bool JSCanvasGradientPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSCanvasGradient::s_info = { "CanvasGradient", 0, 0, 0 }; -JSCanvasGradient::JSCanvasGradient(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasGradient> impl) +JSCanvasGradient::JSCanvasGradient(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasGradient> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h index 7d6b331..6d5c822 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h @@ -33,7 +33,7 @@ class CanvasGradient; class JSCanvasGradient : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCanvasGradient(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasGradient>); + JSCanvasGradient(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasGradient>); virtual ~JSCanvasGradient(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCanvasGradientPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasGradientPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.cpp index e3fce1f..33fe75b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasIntArrayPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSCanvasIntArray::s_info = { "CanvasIntArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasIntArray::JSCanvasIntArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasIntArray> impl) +JSCanvasIntArray::JSCanvasIntArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasIntArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.h index 81c077b..e0358dd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasIntArray.h @@ -33,7 +33,7 @@ class CanvasIntArray; class JSCanvasIntArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasIntArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasIntArray>); + JSCanvasIntArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasIntArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasIntArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasIntArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp index 27db344..7356770 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp @@ -53,7 +53,7 @@ JSObject* JSCanvasPatternPrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSCanvasPattern::s_info = { "CanvasPattern", 0, 0, 0 }; -JSCanvasPattern::JSCanvasPattern(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasPattern> impl) +JSCanvasPattern::JSCanvasPattern(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasPattern> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h index ec8c97f..e7d0a9c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h @@ -33,7 +33,7 @@ class CanvasPattern; class JSCanvasPattern : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCanvasPattern(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasPattern>); + JSCanvasPattern(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasPattern>); virtual ~JSCanvasPattern(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasPatternPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasPatternPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp index 9bbdff5..ad807c6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp @@ -115,7 +115,7 @@ JSObject* JSCanvasRenderingContextPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSCanvasRenderingContext::s_info = { "CanvasRenderingContext", 0, &JSCanvasRenderingContextTable, 0 }; -JSCanvasRenderingContext::JSCanvasRenderingContext(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext> impl) +JSCanvasRenderingContext::JSCanvasRenderingContext(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.h index 9eeb2be..7b6ca92 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.h @@ -33,7 +33,7 @@ class CanvasRenderingContext; class JSCanvasRenderingContext : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCanvasRenderingContext(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext>); + JSCanvasRenderingContext(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext>); virtual ~JSCanvasRenderingContext(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasRenderingContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasRenderingContextPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp index def483a..dc8d58f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp @@ -194,7 +194,7 @@ bool JSCanvasRenderingContext2DPrototype::getOwnPropertyDescriptor(ExecState* ex const ClassInfo JSCanvasRenderingContext2D::s_info = { "CanvasRenderingContext2D", &JSCanvasRenderingContext::s_info, &JSCanvasRenderingContext2DTable, 0 }; -JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext2D> impl) +JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext2D> impl) : JSCanvasRenderingContext(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h index 3038827..03008b6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h @@ -30,7 +30,7 @@ class CanvasRenderingContext2D; class JSCanvasRenderingContext2D : public JSCanvasRenderingContext { typedef JSCanvasRenderingContext Base; public: - JSCanvasRenderingContext2D(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext2D>); + JSCanvasRenderingContext2D(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext2D>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -77,7 +77,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCanvasRenderingContext2DPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasRenderingContext2DPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.cpp index 2862fca..ff9f7b6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.cpp @@ -898,7 +898,7 @@ bool JSCanvasRenderingContext3DPrototype::getOwnPropertyDescriptor(ExecState* ex const ClassInfo JSCanvasRenderingContext3D::s_info = { "CanvasRenderingContext3D", &JSCanvasRenderingContext::s_info, &JSCanvasRenderingContext3DTable, 0 }; -JSCanvasRenderingContext3D::JSCanvasRenderingContext3D(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext3D> impl) +JSCanvasRenderingContext3D::JSCanvasRenderingContext3D(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext3D> impl) : JSCanvasRenderingContext(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.h index 503fba8..6833836 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext3D.h @@ -32,7 +32,7 @@ class CanvasRenderingContext3D; class JSCanvasRenderingContext3D : public JSCanvasRenderingContext { typedef JSCanvasRenderingContext Base; public: - JSCanvasRenderingContext3D(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext3D>); + JSCanvasRenderingContext3D(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext3D>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -81,7 +81,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCanvasRenderingContext3DPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasRenderingContext3DPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.cpp index 8a4ab5f..cdda2a3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasShortArrayPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSCanvasShortArray::s_info = { "CanvasShortArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasShortArray::JSCanvasShortArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasShortArray> impl) +JSCanvasShortArray::JSCanvasShortArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasShortArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.h index 284de7b..b5b4aa5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasShortArray.h @@ -33,7 +33,7 @@ class CanvasShortArray; class JSCanvasShortArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasShortArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasShortArray>); + JSCanvasShortArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasShortArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasShortArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasShortArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.cpp index 52f4c36..ee1c32f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasUnsignedByteArrayPrototype::self(ExecState* exec, JSGlobalObje const ClassInfo JSCanvasUnsignedByteArray::s_info = { "CanvasUnsignedByteArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasUnsignedByteArray::JSCanvasUnsignedByteArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedByteArray> impl) +JSCanvasUnsignedByteArray::JSCanvasUnsignedByteArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedByteArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.h index a413d11..9e9b643 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedByteArray.h @@ -33,7 +33,7 @@ class CanvasUnsignedByteArray; class JSCanvasUnsignedByteArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasUnsignedByteArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedByteArray>); + JSCanvasUnsignedByteArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedByteArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasUnsignedByteArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasUnsignedByteArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.cpp index d8c71b9..8a73656 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasUnsignedIntArrayPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSCanvasUnsignedIntArray::s_info = { "CanvasUnsignedIntArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasUnsignedIntArray::JSCanvasUnsignedIntArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedIntArray> impl) +JSCanvasUnsignedIntArray::JSCanvasUnsignedIntArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedIntArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.h index 9ab8391..916f08f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedIntArray.h @@ -33,7 +33,7 @@ class CanvasUnsignedIntArray; class JSCanvasUnsignedIntArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasUnsignedIntArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedIntArray>); + JSCanvasUnsignedIntArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedIntArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasUnsignedIntArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasUnsignedIntArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.cpp index f553bfb..a15275e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.cpp @@ -57,7 +57,7 @@ JSObject* JSCanvasUnsignedShortArrayPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSCanvasUnsignedShortArray::s_info = { "CanvasUnsignedShortArray", &JSCanvasArray::s_info, 0, 0 }; -JSCanvasUnsignedShortArray::JSCanvasUnsignedShortArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedShortArray> impl) +JSCanvasUnsignedShortArray::JSCanvasUnsignedShortArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasUnsignedShortArray> impl) : JSCanvasArray(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.h index 1f9e352..c2d3efb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasUnsignedShortArray.h @@ -33,7 +33,7 @@ class CanvasUnsignedShortArray; class JSCanvasUnsignedShortArray : public JSCanvasArray { typedef JSCanvasArray Base; public: - JSCanvasUnsignedShortArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedShortArray>); + JSCanvasUnsignedShortArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasUnsignedShortArray>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCanvasUnsignedShortArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCanvasUnsignedShortArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp index 7d3d892..2e261cd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp @@ -134,7 +134,7 @@ bool JSCharacterDataPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSCharacterData::s_info = { "CharacterData", &JSNode::s_info, &JSCharacterDataTable, 0 }; -JSCharacterData::JSCharacterData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CharacterData> impl) +JSCharacterData::JSCharacterData(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CharacterData> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h index d672467..11d2aab 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h @@ -30,7 +30,7 @@ class CharacterData; class JSCharacterData : public JSNode { typedef JSNode Base; public: - JSCharacterData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CharacterData>); + JSCharacterData(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CharacterData>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSCharacterDataPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCharacterDataPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp index a7f4de1..e871f45 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp @@ -119,7 +119,7 @@ JSObject* JSClientRectPrototype::self(ExecState* exec, JSGlobalObject* globalObj const ClassInfo JSClientRect::s_info = { "ClientRect", 0, &JSClientRectTable, 0 }; -JSClientRect::JSClientRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRect> impl) +JSClientRect::JSClientRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRect> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h index 117a8fd..2ed96dd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h +++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h @@ -33,7 +33,7 @@ class ClientRect; class JSClientRect : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSClientRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRect>); + JSClientRect(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRect>); virtual ~JSClientRect(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSClientRectPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSClientRectPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp index 1373327..2dd60cc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp @@ -130,7 +130,7 @@ bool JSClientRectListPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSClientRectList::s_info = { "ClientRectList", 0, &JSClientRectListTable, 0 }; -JSClientRectList::JSClientRectList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRectList> impl) +JSClientRectList::JSClientRectList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRectList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h index 89e1ef5..6149018 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h @@ -33,7 +33,7 @@ class ClientRectList; class JSClientRectList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSClientRectList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRectList>); + JSClientRectList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRectList>); virtual ~JSClientRectList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSClientRectListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSClientRectListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp index 08b4630..22ff137 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp @@ -134,7 +134,7 @@ bool JSClipboardPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSClipboard::s_info = { "Clipboard", 0, &JSClipboardTable, 0 }; -JSClipboard::JSClipboard(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Clipboard> impl) +JSClipboard::JSClipboard(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Clipboard> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h index 6b822ef..d4a5532 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h +++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h @@ -33,7 +33,7 @@ class Clipboard; class JSClipboard : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSClipboard(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Clipboard>); + JSClipboard(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Clipboard>); virtual ~JSClipboard(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -78,7 +78,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSClipboardPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSClipboardPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp index 32da401..323c771 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp @@ -112,7 +112,7 @@ JSObject* JSCommentPrototype::self(ExecState* exec, JSGlobalObject* globalObject const ClassInfo JSComment::s_info = { "Comment", &JSCharacterData::s_info, &JSCommentTable, 0 }; -JSComment::JSComment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Comment> impl) +JSComment::JSComment(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Comment> impl) : JSCharacterData(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.h b/src/3rdparty/webkit/WebCore/generated/JSComment.h index 7af8da1..79c47c4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSComment.h +++ b/src/3rdparty/webkit/WebCore/generated/JSComment.h @@ -30,7 +30,7 @@ class Comment; class JSComment : public JSCharacterData { typedef JSCharacterData Base; public: - JSComment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Comment>); + JSComment(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Comment>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCommentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCommentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp index 897401d..4bb40c6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp @@ -96,7 +96,7 @@ bool JSConsolePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSConsole::s_info = { "Console", 0, &JSConsoleTable, 0 }; -JSConsole::JSConsole(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Console> impl) +JSConsole::JSConsole(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Console> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.h b/src/3rdparty/webkit/WebCore/generated/JSConsole.h index 731deb6..c933ca9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSConsole.h +++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.h @@ -33,7 +33,7 @@ class Console; class JSConsole : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSConsole(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Console>); + JSConsole(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Console>); virtual ~JSConsole(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSConsolePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSConsolePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp index 68636b7..6919ad2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp @@ -75,7 +75,7 @@ JSObject* JSCoordinatesPrototype::self(ExecState* exec, JSGlobalObject* globalOb const ClassInfo JSCoordinates::s_info = { "Coordinates", 0, &JSCoordinatesTable, 0 }; -JSCoordinates::JSCoordinates(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Coordinates> impl) +JSCoordinates::JSCoordinates(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Coordinates> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h index ba5c804..3de9a5b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h @@ -33,7 +33,7 @@ class Coordinates; class JSCoordinates : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCoordinates(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Coordinates>); + JSCoordinates(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Coordinates>); virtual ~JSCoordinates(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -67,7 +67,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCoordinatesPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCoordinatesPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp index edd7ead..c8ba9f9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp @@ -117,7 +117,7 @@ JSObject* JSCounterPrototype::self(ExecState* exec, JSGlobalObject* globalObject const ClassInfo JSCounter::s_info = { "Counter", 0, &JSCounterTable, 0 }; -JSCounter::JSCounter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Counter> impl) +JSCounter::JSCounter(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Counter> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.h b/src/3rdparty/webkit/WebCore/generated/JSCounter.h index 9c26a46..ffc98ba2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSCounter.h +++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.h @@ -33,7 +33,7 @@ class Counter; class JSCounter : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSCounter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Counter>); + JSCounter(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Counter>); virtual ~JSCounter(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSCounterPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSCounterPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp index d2b052b..2b65699 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp @@ -109,7 +109,7 @@ bool JSDOMApplicationCachePrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSDOMApplicationCache::s_info = { "DOMApplicationCache", 0, &JSDOMApplicationCacheTable, 0 }; -JSDOMApplicationCache::JSDOMApplicationCache(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMApplicationCache> impl) +JSDOMApplicationCache::JSDOMApplicationCache(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMApplicationCache> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -156,7 +156,7 @@ JSValue jsDOMApplicationCacheOnchecking(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onchecking()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -168,7 +168,7 @@ JSValue jsDOMApplicationCacheOnerror(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -180,7 +180,7 @@ JSValue jsDOMApplicationCacheOnnoupdate(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onnoupdate()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -192,7 +192,7 @@ JSValue jsDOMApplicationCacheOndownloading(ExecState* exec, const Identifier&, c UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->ondownloading()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -204,7 +204,7 @@ JSValue jsDOMApplicationCacheOnprogress(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onprogress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -216,7 +216,7 @@ JSValue jsDOMApplicationCacheOnupdateready(ExecState* exec, const Identifier&, c UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onupdateready()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -228,7 +228,7 @@ JSValue jsDOMApplicationCacheOncached(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->oncached()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -240,7 +240,7 @@ JSValue jsDOMApplicationCacheOnobsolete(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl()); if (EventListener* listener = imp->onobsolete()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h index 28feddc..d306322 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h @@ -35,7 +35,7 @@ class DOMApplicationCache; class JSDOMApplicationCache : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDOMApplicationCache(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMApplicationCache>); + JSDOMApplicationCache(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMApplicationCache>); virtual ~JSDOMApplicationCache(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSDOMApplicationCachePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMApplicationCachePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp index fbca8b2..c909c02 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp @@ -174,7 +174,7 @@ bool JSDOMCoreExceptionPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSDOMCoreException::s_info = { "DOMException", 0, &JSDOMCoreExceptionTable, 0 }; -JSDOMCoreException::JSDOMCoreException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMCoreException> impl) +JSDOMCoreException::JSDOMCoreException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMCoreException> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h index f46b9d7..116ac2e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h @@ -33,7 +33,7 @@ class DOMCoreException; class JSDOMCoreException : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDOMCoreException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMCoreException>); + JSDOMCoreException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMCoreException>); virtual ~JSDOMCoreException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDOMCoreExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMCoreExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp index 2e678bb..588e21b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp @@ -137,7 +137,7 @@ bool JSDOMImplementationPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSDOMImplementation::s_info = { "DOMImplementation", 0, &JSDOMImplementationTable, 0 }; -JSDOMImplementation::JSDOMImplementation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMImplementation> impl) +JSDOMImplementation::JSDOMImplementation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMImplementation> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h index 1d1a436..755f035 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h @@ -33,7 +33,7 @@ class DOMImplementation; class JSDOMImplementation : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDOMImplementation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMImplementation>); + JSDOMImplementation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMImplementation>); virtual ~JSDOMImplementation(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDOMImplementationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMImplementationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp index 1880607..ff99782 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp @@ -136,7 +136,7 @@ bool JSDOMParserPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSDOMParser::s_info = { "DOMParser", 0, &JSDOMParserTable, 0 }; -JSDOMParser::JSDOMParser(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMParser> impl) +JSDOMParser::JSDOMParser(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMParser> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h index 7c95a9c..ff7f395 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h @@ -33,7 +33,7 @@ class DOMParser; class JSDOMParser : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDOMParser(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMParser>); + JSDOMParser(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMParser>); virtual ~JSDOMParser(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDOMParserPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMParserPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp index 88ddfc1..45ec248 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp @@ -111,7 +111,7 @@ bool JSDOMSelectionPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSDOMSelection::s_info = { "DOMSelection", 0, &JSDOMSelectionTable, 0 }; -JSDOMSelection::JSDOMSelection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMSelection> impl) +JSDOMSelection::JSDOMSelection(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMSelection> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h index d513589..e26b627 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h @@ -33,7 +33,7 @@ class DOMSelection; class JSDOMSelection : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDOMSelection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMSelection>); + JSDOMSelection(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMSelection>); virtual ~JSDOMSelection(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -67,7 +67,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDOMSelectionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMSelectionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp index 8e85b60..24fc1de 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp @@ -224,6 +224,7 @@ #include "JSXPathEvaluator.h" #include "JSXPathException.h" #include "JSXPathResult.h" +#include "JSXSLTProcessor.h" #include "KURL.h" #include "Media.h" #include "Navigator.h" @@ -244,7 +245,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSDOMWindow); /* Hash table */ -static const HashTableValue JSDOMWindowTableValues[294] = +static const HashTableValue JSDOMWindowTableValues[295] = { { "screen", DontDelete|ReadOnly, (intptr_t)jsDOMWindowScreen, (intptr_t)0 }, { "history", DontDelete|ReadOnly, (intptr_t)jsDOMWindowHistory, (intptr_t)0 }, @@ -528,6 +529,9 @@ static const HashTableValue JSDOMWindowTableValues[294] = { "XMLHttpRequest", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestConstructor }, { "XMLHttpRequestUpload", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestUploadConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestUploadConstructor }, { "XMLHttpRequestException", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestExceptionConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestExceptionConstructor }, +#if ENABLE(XSLT) + { "XSLTProcessor", DontDelete, (intptr_t)jsDOMWindowXSLTProcessorConstructor, (intptr_t)setJSDOMWindowXSLTProcessorConstructor }, +#endif { "MessagePort", DontDelete, (intptr_t)jsDOMWindowMessagePortConstructor, (intptr_t)setJSDOMWindowMessagePortConstructor }, { "MessageChannel", DontDelete, (intptr_t)jsDOMWindowMessageChannelConstructor, (intptr_t)setJSDOMWindowMessageChannelConstructor }, { "Worker", DontDelete, (intptr_t)jsDOMWindowWorkerConstructor, (intptr_t)setJSDOMWindowWorkerConstructor }, @@ -652,7 +656,7 @@ bool JSDOMWindowPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSDOMWindow::s_info = { "DOMWindow", &JSDOMWindowBase::s_info, &JSDOMWindowTable, 0 }; -JSDOMWindow::JSDOMWindow(PassRefPtr<Structure> structure, PassRefPtr<DOMWindow> impl, JSDOMWindowShell* shell) +JSDOMWindow::JSDOMWindow(NonNullPassRefPtr<Structure> structure, PassRefPtr<DOMWindow> impl, JSDOMWindowShell* shell) : JSDOMWindowBase(structure, impl, shell) { } @@ -1102,7 +1106,7 @@ JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1116,7 +1120,7 @@ JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onbeforeunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1130,7 +1134,7 @@ JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onblur()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1144,7 +1148,7 @@ JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->oncanplay()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1158,7 +1162,7 @@ JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->oncanplaythrough()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1172,7 +1176,7 @@ JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1186,7 +1190,7 @@ JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1200,7 +1204,7 @@ JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const Prope UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->oncontextmenu()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1214,7 +1218,7 @@ JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondblclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1228,7 +1232,7 @@ JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondrag()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1242,7 +1246,7 @@ JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondragend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1256,7 +1260,7 @@ JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondragenter()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1270,7 +1274,7 @@ JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondragleave()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1284,7 +1288,7 @@ JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondragover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1298,7 +1302,7 @@ JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondragstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1312,7 +1316,7 @@ JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondrop()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1326,7 +1330,7 @@ JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ondurationchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1340,7 +1344,7 @@ JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onemptied()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1354,7 +1358,7 @@ JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onended()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1368,7 +1372,7 @@ JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1382,7 +1386,7 @@ JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onfocus()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1396,7 +1400,7 @@ JSValue jsDOMWindowOnhashchange(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onhashchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1410,7 +1414,7 @@ JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->oninput()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1424,7 +1428,7 @@ JSValue jsDOMWindowOninvalid(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->oninvalid()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1438,7 +1442,7 @@ JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onkeydown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1452,7 +1456,7 @@ JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onkeypress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1466,7 +1470,7 @@ JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onkeyup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1480,7 +1484,7 @@ JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1494,7 +1498,7 @@ JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onloadeddata()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1508,7 +1512,7 @@ JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onloadedmetadata()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1522,7 +1526,7 @@ JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onloadstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1536,7 +1540,7 @@ JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1550,7 +1554,7 @@ JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmousedown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1564,7 +1568,7 @@ JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmousemove()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1578,7 +1582,7 @@ JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmouseout()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1592,7 +1596,7 @@ JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmouseover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1606,7 +1610,7 @@ JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmouseup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1620,7 +1624,7 @@ JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onmousewheel()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1634,7 +1638,7 @@ JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onoffline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1648,7 +1652,7 @@ JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ononline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1662,7 +1666,7 @@ JSValue jsDOMWindowOnpagehide(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onpagehide()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1676,7 +1680,7 @@ JSValue jsDOMWindowOnpageshow(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onpageshow()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1690,7 +1694,7 @@ JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onpause()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1704,7 +1708,7 @@ JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onplay()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1718,7 +1722,7 @@ JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onplaying()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1732,7 +1736,7 @@ JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onprogress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1746,7 +1750,7 @@ JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onratechange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1760,7 +1764,7 @@ JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onresize()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1774,7 +1778,7 @@ JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onscroll()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1788,7 +1792,7 @@ JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onseeked()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1802,7 +1806,7 @@ JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onseeking()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1816,7 +1820,7 @@ JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onselect()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1830,7 +1834,7 @@ JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onstalled()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1844,7 +1848,7 @@ JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onstorage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1858,7 +1862,7 @@ JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onsubmit()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1872,7 +1876,7 @@ JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onsuspend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1886,7 +1890,7 @@ JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->ontimeupdate()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1900,7 +1904,7 @@ JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1914,7 +1918,7 @@ JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onvolumechange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1928,7 +1932,7 @@ JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onwaiting()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1942,7 +1946,7 @@ JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onreset()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1956,7 +1960,7 @@ JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onsearch()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1970,7 +1974,7 @@ JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onwebkitanimationend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1984,7 +1988,7 @@ JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier& UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onwebkitanimationiteration()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1998,7 +2002,7 @@ JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onwebkitanimationstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -2012,7 +2016,7 @@ JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, con UNUSED_PARAM(exec); DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl()); if (EventListener* listener = imp->onwebkittransitionend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -3210,6 +3214,16 @@ JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, const Ide return JSXMLHttpRequestException::getConstructor(exec, castedThis); } +#if ENABLE(XSLT) +JSValue jsDOMWindowXSLTProcessorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot) +{ + JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase())); + if (!castedThis->allowsAccessFrom(exec)) + return jsUndefined(); + return castedThis->xsltProcessor(exec); +} +#endif + JSValue jsDOMWindowMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase())); @@ -5589,6 +5603,14 @@ void setJSDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, JSObject* static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequestException"), value); } +void setJSDOMWindowXSLTProcessorConstructor(ExecState* exec, JSObject* thisObject, JSValue value) +{ + if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec)) + return; + // Shadowing a built-in constructor + static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XSLTProcessor"), value); +} + void setJSDOMWindowMessagePortConstructor(ExecState* exec, JSObject* thisObject, JSValue value) { if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec)) diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h index 5c723f1..75a1e50 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h @@ -33,7 +33,7 @@ class JSDOMWindowShell; class JSDOMWindow : public JSDOMWindowBase { typedef JSDOMWindowBase Base; public: - JSDOMWindow(PassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*); + JSDOMWindow(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*); virtual ~JSDOMWindow(); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -78,6 +78,7 @@ public: JSC::JSValue webKitPoint(JSC::ExecState*) const; JSC::JSValue eventSource(JSC::ExecState*) const; JSC::JSValue xmlHttpRequest(JSC::ExecState*) const; + JSC::JSValue xsltProcessor(JSC::ExecState*) const; JSC::JSValue messageChannel(JSC::ExecState*) const; JSC::JSValue worker(JSC::ExecState*) const; JSC::JSValue sharedWorker(JSC::ExecState*) const; @@ -114,7 +115,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSDOMWindowPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDOMWindowPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions @@ -660,6 +661,8 @@ JSC::JSValue jsDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, const J void setJSDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); JSC::JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&); void setJSDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); +JSC::JSValue jsDOMWindowXSLTProcessorConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&); +void setJSDOMWindowXSLTProcessorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); JSC::JSValue jsDOMWindowMessagePortConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&); void setJSDOMWindowMessagePortConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue); JSC::JSValue jsDOMWindowMessageChannelConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&); diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp index c0187fb..15ae6c3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp @@ -146,7 +146,7 @@ bool JSDataGridColumnPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSDataGridColumn::s_info = { "DataGridColumn", 0, &JSDataGridColumnTable, 0 }; -JSDataGridColumn::JSDataGridColumn(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumn> impl) +JSDataGridColumn::JSDataGridColumn(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumn> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h index 70021d0..515b549 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h @@ -35,7 +35,7 @@ class DataGridColumn; class JSDataGridColumn : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDataGridColumn(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumn>); + JSDataGridColumn(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumn>); virtual ~JSDataGridColumn(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDataGridColumnPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDataGridColumnPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp index 10c8813..dc8e05f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp @@ -140,7 +140,7 @@ bool JSDataGridColumnListPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSDataGridColumnList::s_info = { "DataGridColumnList", 0, &JSDataGridColumnListTable, 0 }; -JSDataGridColumnList::JSDataGridColumnList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumnList> impl) +JSDataGridColumnList::JSDataGridColumnList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumnList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h index 05681f3..0c3f10f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h @@ -35,7 +35,7 @@ class DataGridColumnList; class JSDataGridColumnList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDataGridColumnList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumnList>); + JSDataGridColumnList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumnList>); virtual ~JSDataGridColumnList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDataGridColumnListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDataGridColumnListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp index cb2dc3f..5acd5b1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp @@ -87,7 +87,7 @@ bool JSDatabasePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSDatabase::s_info = { "Database", 0, &JSDatabaseTable, 0 }; -JSDatabase::JSDatabase(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Database> impl) +JSDatabase::JSDatabase(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Database> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h index 54ddf82a..d902ced 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h @@ -35,7 +35,7 @@ class Database; class JSDatabase : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSDatabase(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Database>); + JSDatabase(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Database>); virtual ~JSDatabase(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDatabasePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDatabasePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp index c30ff51..3fbc67c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp @@ -93,7 +93,7 @@ static const HashTable* getJSDedicatedWorkerContextTable(ExecState* exec) } const ClassInfo JSDedicatedWorkerContext::s_info = { "DedicatedWorkerContext", &JSWorkerContext::s_info, 0, getJSDedicatedWorkerContextTable }; -JSDedicatedWorkerContext::JSDedicatedWorkerContext(PassRefPtr<Structure> structure, PassRefPtr<DedicatedWorkerContext> impl) +JSDedicatedWorkerContext::JSDedicatedWorkerContext(NonNullPassRefPtr<Structure> structure, PassRefPtr<DedicatedWorkerContext> impl) : JSWorkerContext(structure, impl) { } @@ -114,7 +114,7 @@ JSValue jsDedicatedWorkerContextOnmessage(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h index d513c8f..b3591bf 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h @@ -33,7 +33,7 @@ class DedicatedWorkerContext; class JSDedicatedWorkerContext : public JSWorkerContext { typedef JSWorkerContext Base; public: - JSDedicatedWorkerContext(PassRefPtr<JSC::Structure>, PassRefPtr<DedicatedWorkerContext>); + JSDedicatedWorkerContext(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<DedicatedWorkerContext>); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDedicatedWorkerContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDedicatedWorkerContextPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp index 772be76..5017f30 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp @@ -291,7 +291,7 @@ bool JSDocumentPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSDocument::s_info = { "Document", &JSNode::s_info, &JSDocumentTable, 0 }; -JSDocument::JSDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Document> impl) +JSDocument::JSDocument(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Document> impl) : JSNode(structure, globalObject, impl) { } @@ -542,7 +542,7 @@ JSValue jsDocumentOnabort(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -554,7 +554,7 @@ JSValue jsDocumentOnblur(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onblur()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -566,7 +566,7 @@ JSValue jsDocumentOnchange(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -578,7 +578,7 @@ JSValue jsDocumentOnclick(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -590,7 +590,7 @@ JSValue jsDocumentOncontextmenu(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->oncontextmenu()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -602,7 +602,7 @@ JSValue jsDocumentOndblclick(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondblclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -614,7 +614,7 @@ JSValue jsDocumentOndrag(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondrag()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -626,7 +626,7 @@ JSValue jsDocumentOndragend(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondragend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -638,7 +638,7 @@ JSValue jsDocumentOndragenter(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondragenter()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -650,7 +650,7 @@ JSValue jsDocumentOndragleave(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondragleave()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -662,7 +662,7 @@ JSValue jsDocumentOndragover(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondragover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -674,7 +674,7 @@ JSValue jsDocumentOndragstart(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondragstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -686,7 +686,7 @@ JSValue jsDocumentOndrop(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->ondrop()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -698,7 +698,7 @@ JSValue jsDocumentOnerror(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -710,7 +710,7 @@ JSValue jsDocumentOnfocus(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onfocus()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -722,7 +722,7 @@ JSValue jsDocumentOninput(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->oninput()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -734,7 +734,7 @@ JSValue jsDocumentOninvalid(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->oninvalid()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -746,7 +746,7 @@ JSValue jsDocumentOnkeydown(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onkeydown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -758,7 +758,7 @@ JSValue jsDocumentOnkeypress(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onkeypress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -770,7 +770,7 @@ JSValue jsDocumentOnkeyup(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onkeyup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -782,7 +782,7 @@ JSValue jsDocumentOnload(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -794,7 +794,7 @@ JSValue jsDocumentOnmousedown(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmousedown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -806,7 +806,7 @@ JSValue jsDocumentOnmousemove(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmousemove()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -818,7 +818,7 @@ JSValue jsDocumentOnmouseout(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmouseout()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -830,7 +830,7 @@ JSValue jsDocumentOnmouseover(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmouseover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -842,7 +842,7 @@ JSValue jsDocumentOnmouseup(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmouseup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -854,7 +854,7 @@ JSValue jsDocumentOnmousewheel(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onmousewheel()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -866,7 +866,7 @@ JSValue jsDocumentOnscroll(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onscroll()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -878,7 +878,7 @@ JSValue jsDocumentOnselect(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onselect()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -890,7 +890,7 @@ JSValue jsDocumentOnsubmit(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onsubmit()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -902,7 +902,7 @@ JSValue jsDocumentOnbeforecut(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -914,7 +914,7 @@ JSValue jsDocumentOncut(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->oncut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -926,7 +926,7 @@ JSValue jsDocumentOnbeforecopy(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -938,7 +938,7 @@ JSValue jsDocumentOncopy(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->oncopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -950,7 +950,7 @@ JSValue jsDocumentOnbeforepaste(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onbeforepaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -962,7 +962,7 @@ JSValue jsDocumentOnpaste(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onpaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -974,7 +974,7 @@ JSValue jsDocumentOnreset(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onreset()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -986,7 +986,7 @@ JSValue jsDocumentOnsearch(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onsearch()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -998,7 +998,7 @@ JSValue jsDocumentOnselectstart(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); Document* imp = static_cast<Document*>(castedThis->impl()); if (EventListener* listener = imp->onselectstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); @@ -1045,7 +1045,9 @@ void setJSDocumentTitle(ExecState* exec, JSObject* thisObject, JSValue value) void setJSDocumentDomain(ExecState* exec, JSObject* thisObject, JSValue value) { Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl()); - imp->setDomain(valueToStringWithNullCheck(exec, value)); + ExceptionCode ec = 0; + imp->setDomain(valueToStringWithNullCheck(exec, value), ec); + setDOMException(exec, ec); } void setJSDocumentCookie(ExecState* exec, JSObject* thisObject, JSValue value) diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.h b/src/3rdparty/webkit/WebCore/generated/JSDocument.h index 73a5327..7cdbcbb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocument.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.h @@ -33,7 +33,7 @@ class Document; class JSDocument : public JSNode { typedef JSNode Base; public: - JSDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Document>); + JSDocument(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Document>); virtual ~JSDocument(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -85,7 +85,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSDocumentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDocumentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp index 6d6f5be..f848040 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp @@ -130,7 +130,7 @@ bool JSDocumentFragmentPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSDocumentFragment::s_info = { "DocumentFragment", &JSNode::s_info, &JSDocumentFragmentTable, 0 }; -JSDocumentFragment::JSDocumentFragment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentFragment> impl) +JSDocumentFragment::JSDocumentFragment(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentFragment> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h index e742d36..e532ca9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h @@ -30,7 +30,7 @@ class DocumentFragment; class JSDocumentFragment : public JSNode { typedef JSNode Base; public: - JSDocumentFragment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentFragment>); + JSDocumentFragment(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentFragment>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSDocumentFragmentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDocumentFragmentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp index b27ab99..69e3fc6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp @@ -122,7 +122,7 @@ JSObject* JSDocumentTypePrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSDocumentType::s_info = { "DocumentType", &JSNode::s_info, &JSDocumentTypeTable, 0 }; -JSDocumentType::JSDocumentType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentType> impl) +JSDocumentType::JSDocumentType(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentType> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h index a55ab72..c80a701 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h +++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h @@ -31,7 +31,7 @@ class DocumentType; class JSDocumentType : public JSNode { typedef JSNode Base; public: - JSDocumentType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentType>); + JSDocumentType(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentType>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSDocumentTypePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSDocumentTypePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp index f487532..3844cb7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp @@ -171,7 +171,7 @@ bool JSElementConstructor::getOwnPropertyDescriptor(ExecState* exec, const Ident /* Hash table for prototype */ -static const HashTableValue JSElementPrototypeTableValues[28] = +static const HashTableValue JSElementPrototypeTableValues[29] = { { "getAttribute", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionGetAttribute, (intptr_t)1 }, { "setAttribute", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionSetAttribute, (intptr_t)2 }, @@ -198,6 +198,7 @@ static const HashTableValue JSElementPrototypeTableValues[28] = { "getElementsByClassName", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionGetElementsByClassName, (intptr_t)1 }, { "querySelector", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionQuerySelector, (intptr_t)1 }, { "querySelectorAll", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionQuerySelectorAll, (intptr_t)1 }, + { "webkitMatchesSelector", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionWebkitMatchesSelector, (intptr_t)1 }, { "getClientRects", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionGetClientRects, (intptr_t)0 }, { "getBoundingClientRect", DontDelete|Function, (intptr_t)jsElementPrototypeFunctionGetBoundingClientRect, (intptr_t)0 }, { 0, 0, 0, 0 } @@ -229,7 +230,7 @@ bool JSElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSElement::s_info = { "Element", &JSNode::s_info, &JSElementTable, 0 }; -JSElement::JSElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Element> impl) +JSElement::JSElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Element> impl) : JSNode(structure, globalObject, impl) { } @@ -405,7 +406,7 @@ JSValue jsElementOnabort(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -417,7 +418,7 @@ JSValue jsElementOnblur(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onblur()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -429,7 +430,7 @@ JSValue jsElementOnchange(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -441,7 +442,7 @@ JSValue jsElementOnclick(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -453,7 +454,7 @@ JSValue jsElementOncontextmenu(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->oncontextmenu()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -465,7 +466,7 @@ JSValue jsElementOndblclick(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondblclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -477,7 +478,7 @@ JSValue jsElementOndrag(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondrag()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -489,7 +490,7 @@ JSValue jsElementOndragend(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondragend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -501,7 +502,7 @@ JSValue jsElementOndragenter(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondragenter()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -513,7 +514,7 @@ JSValue jsElementOndragleave(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondragleave()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -525,7 +526,7 @@ JSValue jsElementOndragover(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondragover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -537,7 +538,7 @@ JSValue jsElementOndragstart(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondragstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -549,7 +550,7 @@ JSValue jsElementOndrop(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->ondrop()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -561,7 +562,7 @@ JSValue jsElementOnerror(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -573,7 +574,7 @@ JSValue jsElementOnfocus(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onfocus()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -585,7 +586,7 @@ JSValue jsElementOninput(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->oninput()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -597,7 +598,7 @@ JSValue jsElementOninvalid(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->oninvalid()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -609,7 +610,7 @@ JSValue jsElementOnkeydown(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onkeydown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -621,7 +622,7 @@ JSValue jsElementOnkeypress(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onkeypress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -633,7 +634,7 @@ JSValue jsElementOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onkeyup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -645,7 +646,7 @@ JSValue jsElementOnload(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -657,7 +658,7 @@ JSValue jsElementOnmousedown(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmousedown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -669,7 +670,7 @@ JSValue jsElementOnmousemove(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmousemove()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -681,7 +682,7 @@ JSValue jsElementOnmouseout(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmouseout()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -693,7 +694,7 @@ JSValue jsElementOnmouseover(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmouseover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -705,7 +706,7 @@ JSValue jsElementOnmouseup(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmouseup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -717,7 +718,7 @@ JSValue jsElementOnmousewheel(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onmousewheel()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -729,7 +730,7 @@ JSValue jsElementOnscroll(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onscroll()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -741,7 +742,7 @@ JSValue jsElementOnselect(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onselect()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -753,7 +754,7 @@ JSValue jsElementOnsubmit(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onsubmit()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -765,7 +766,7 @@ JSValue jsElementOnbeforecut(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -777,7 +778,7 @@ JSValue jsElementOncut(ExecState* exec, const Identifier&, const PropertySlot& s UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->oncut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -789,7 +790,7 @@ JSValue jsElementOnbeforecopy(ExecState* exec, const Identifier&, const Property UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -801,7 +802,7 @@ JSValue jsElementOncopy(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->oncopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -813,7 +814,7 @@ JSValue jsElementOnbeforepaste(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onbeforepaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -825,7 +826,7 @@ JSValue jsElementOnpaste(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onpaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -837,7 +838,7 @@ JSValue jsElementOnreset(ExecState* exec, const Identifier&, const PropertySlot& UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onreset()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -849,7 +850,7 @@ JSValue jsElementOnsearch(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onsearch()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -861,7 +862,7 @@ JSValue jsElementOnselectstart(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); Element* imp = static_cast<Element*>(castedThis->impl()); if (EventListener* listener = imp->onselectstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -1633,6 +1634,22 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelectorAll(ExecState* exec return result; } +JSValue JSC_HOST_CALL jsElementPrototypeFunctionWebkitMatchesSelector(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSElement::s_info)) + return throwError(exec, TypeError); + JSElement* castedThisObj = static_cast<JSElement*>(asObject(thisValue)); + Element* imp = static_cast<Element*>(castedThisObj->impl()); + ExceptionCode ec = 0; + const UString& selectors = args.at(0).toString(exec); + + + JSC::JSValue result = jsBoolean(imp->webkitMatchesSelector(selectors, ec)); + setDOMException(exec, ec); + return result; +} + JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetClientRects(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.h b/src/3rdparty/webkit/WebCore/generated/JSElement.h index 8d72032..39998c0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSElement.h @@ -33,7 +33,7 @@ class Element; class JSElement : public JSNode { typedef JSNode Base; public: - JSElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Element>); + JSElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Element>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -86,7 +86,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions @@ -116,6 +116,7 @@ JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionScrollByPages(JSC::ExecStat JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByClassName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelector(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelectorAll(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionWebkitMatchesSelector(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetClientRects(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetBoundingClientRect(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp index 6970d69..20d9cba 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp @@ -116,7 +116,7 @@ JSObject* JSEntityPrototype::self(ExecState* exec, JSGlobalObject* globalObject) const ClassInfo JSEntity::s_info = { "Entity", &JSNode::s_info, &JSEntityTable, 0 }; -JSEntity::JSEntity(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Entity> impl) +JSEntity::JSEntity(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Entity> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.h b/src/3rdparty/webkit/WebCore/generated/JSEntity.h index fdfa0bc..3f79f68 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEntity.h +++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.h @@ -30,7 +30,7 @@ class Entity; class JSEntity : public JSNode { typedef JSNode Base; public: - JSEntity(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Entity>); + JSEntity(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Entity>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSEntityPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSEntityPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp index d59f043..e33b91f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp @@ -112,7 +112,7 @@ JSObject* JSEntityReferencePrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSEntityReference::s_info = { "EntityReference", &JSNode::s_info, &JSEntityReferenceTable, 0 }; -JSEntityReference::JSEntityReference(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EntityReference> impl) +JSEntityReference::JSEntityReference(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EntityReference> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h index 3894faf..5d05523 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h +++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h @@ -30,7 +30,7 @@ class EntityReference; class JSEntityReference : public JSNode { typedef JSNode Base; public: - JSEntityReference(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EntityReference>); + JSEntityReference(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EntityReference>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSEntityReferencePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSEntityReferencePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp index e01e7d8..d1cad0b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp @@ -141,7 +141,7 @@ static const HashTable* getJSErrorEventTable(ExecState* exec) } const ClassInfo JSErrorEvent::s_info = { "ErrorEvent", &JSEvent::s_info, 0, getJSErrorEventTable }; -JSErrorEvent::JSErrorEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ErrorEvent> impl) +JSErrorEvent::JSErrorEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ErrorEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h index 1102551..9046f11 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h @@ -32,7 +32,7 @@ class ErrorEvent; class JSErrorEvent : public JSEvent { typedef JSEvent Base; public: - JSErrorEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ErrorEvent>); + JSErrorEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ErrorEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSErrorEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSErrorEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp index 833b5a0..a7a0894 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp @@ -188,7 +188,7 @@ static const HashTable* getJSEventTable(ExecState* exec) } const ClassInfo JSEvent::s_info = { "Event", 0, 0, getJSEventTable }; -JSEvent::JSEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Event> impl) +JSEvent::JSEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Event> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.h b/src/3rdparty/webkit/WebCore/generated/JSEvent.h index 21c0186..d338302 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.h @@ -33,7 +33,7 @@ class Event; class JSEvent : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Event>); + JSEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Event>); virtual ~JSEvent(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp index 9044090..326e792 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp @@ -140,7 +140,7 @@ static const HashTable* getJSEventExceptionTable(ExecState* exec) } const ClassInfo JSEventException::s_info = { "EventException", 0, 0, getJSEventExceptionTable }; -JSEventException::JSEventException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventException> impl) +JSEventException::JSEventException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventException> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.h b/src/3rdparty/webkit/WebCore/generated/JSEventException.h index f18c825..093aa6a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEventException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.h @@ -33,7 +33,7 @@ class EventException; class JSEventException : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSEventException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventException>); + JSEventException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventException>); virtual ~JSEventException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSEventExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSEventExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp index 69471ee..dcec14e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp @@ -111,7 +111,7 @@ static const HashTable* getJSEventSourceTable(ExecState* exec) } const ClassInfo JSEventSource::s_info = { "EventSource", 0, 0, getJSEventSourceTable }; -JSEventSource::JSEventSource(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventSource> impl) +JSEventSource::JSEventSource(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventSource> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -166,7 +166,7 @@ JSValue jsEventSourceOnopen(ExecState* exec, const Identifier&, const PropertySl UNUSED_PARAM(exec); EventSource* imp = static_cast<EventSource*>(castedThis->impl()); if (EventListener* listener = imp->onopen()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -178,7 +178,7 @@ JSValue jsEventSourceOnmessage(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); EventSource* imp = static_cast<EventSource*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -190,7 +190,7 @@ JSValue jsEventSourceOnerror(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); EventSource* imp = static_cast<EventSource*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventSource.h b/src/3rdparty/webkit/WebCore/generated/JSEventSource.h index c7bdf23..dbaa492 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSEventSource.h +++ b/src/3rdparty/webkit/WebCore/generated/JSEventSource.h @@ -35,7 +35,7 @@ class EventSource; class JSEventSource : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSEventSource(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventSource>); + JSEventSource(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventSource>); virtual ~JSEventSource(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSEventSourcePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSEventSourcePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp index a426abf..962f1f5e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp @@ -117,7 +117,7 @@ JSObject* JSFilePrototype::self(ExecState* exec, JSGlobalObject* globalObject) const ClassInfo JSFile::s_info = { "File", 0, &JSFileTable, 0 }; -JSFile::JSFile(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<File> impl) +JSFile::JSFile(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<File> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.h b/src/3rdparty/webkit/WebCore/generated/JSFile.h index e614ec1..d47f286 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSFile.h +++ b/src/3rdparty/webkit/WebCore/generated/JSFile.h @@ -33,7 +33,7 @@ class File; class JSFile : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSFile(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<File>); + JSFile(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<File>); virtual ~JSFile(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSFilePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSFilePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp index da2ed09..228615a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp @@ -130,7 +130,7 @@ bool JSFileListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSFileList::s_info = { "FileList", 0, &JSFileListTable, 0 }; -JSFileList::JSFileList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<FileList> impl) +JSFileList::JSFileList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<FileList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.h b/src/3rdparty/webkit/WebCore/generated/JSFileList.h index a238ba4..21bed99 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSFileList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.h @@ -33,7 +33,7 @@ class FileList; class JSFileList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSFileList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<FileList>); + JSFileList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<FileList>); virtual ~JSFileList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSFileListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSFileListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp index e5d4526..17a0509 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp @@ -84,7 +84,7 @@ bool JSGeolocationPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSGeolocation::s_info = { "Geolocation", 0, &JSGeolocationTable, 0 }; -JSGeolocation::JSGeolocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geolocation> impl) +JSGeolocation::JSGeolocation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geolocation> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h index 351af5b..6b3453b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h +++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h @@ -33,7 +33,7 @@ class Geolocation; class JSGeolocation : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSGeolocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geolocation>); + JSGeolocation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geolocation>); virtual ~JSGeolocation(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSGeolocationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSGeolocationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp index 8219fb2..a77413b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp @@ -72,7 +72,7 @@ JSObject* JSGeopositionPrototype::self(ExecState* exec, JSGlobalObject* globalOb const ClassInfo JSGeoposition::s_info = { "Geoposition", 0, &JSGeopositionTable, 0 }; -JSGeoposition::JSGeoposition(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geoposition> impl) +JSGeoposition::JSGeoposition(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geoposition> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h index c970cac..7406bb2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h +++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h @@ -33,7 +33,7 @@ class Geoposition; class JSGeoposition : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSGeoposition(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geoposition>); + JSGeoposition(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geoposition>); virtual ~JSGeoposition(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -61,7 +61,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSGeopositionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSGeopositionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp index 985ffc4..2b59fd0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp @@ -146,7 +146,7 @@ bool JSHTMLAnchorElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLAnchorElement::s_info = { "HTMLAnchorElement", &JSHTMLElement::s_info, &JSHTMLAnchorElementTable, 0 }; -JSHTMLAnchorElement::JSHTMLAnchorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAnchorElement> impl) +JSHTMLAnchorElement::JSHTMLAnchorElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAnchorElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h index 887dd75..6bfc3d6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h @@ -30,7 +30,7 @@ class HTMLAnchorElement; class JSHTMLAnchorElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLAnchorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAnchorElement>); + JSHTMLAnchorElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAnchorElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLAnchorElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLAnchorElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp index 8c171ea..c822a44 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp @@ -128,7 +128,7 @@ JSObject* JSHTMLAppletElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSHTMLAppletElement::s_info = { "HTMLAppletElement", &JSHTMLElement::s_info, &JSHTMLAppletElementTable, 0 }; -JSHTMLAppletElement::JSHTMLAppletElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAppletElement> impl) +JSHTMLAppletElement::JSHTMLAppletElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAppletElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h index 89eab88..5390216 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h @@ -31,7 +31,7 @@ class HTMLAppletElement; class JSHTMLAppletElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLAppletElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAppletElement>); + JSHTMLAppletElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAppletElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLAppletElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLAppletElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp index 7494730..c5fc1d6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp @@ -129,7 +129,7 @@ JSObject* JSHTMLAreaElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLAreaElement::s_info = { "HTMLAreaElement", &JSHTMLElement::s_info, &JSHTMLAreaElementTable, 0 }; -JSHTMLAreaElement::JSHTMLAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAreaElement> impl) +JSHTMLAreaElement::JSHTMLAreaElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAreaElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h index 543b869..6d9cb85 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h @@ -30,7 +30,7 @@ class HTMLAreaElement; class JSHTMLAreaElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAreaElement>); + JSHTMLAreaElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAreaElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLAreaElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLAreaElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp index e3a9c3c..d537dd8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLAudioElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLAudioElement::s_info = { "HTMLAudioElement", &JSHTMLMediaElement::s_info, &JSHTMLAudioElementTable, 0 }; -JSHTMLAudioElement::JSHTMLAudioElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAudioElement> impl) +JSHTMLAudioElement::JSHTMLAudioElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAudioElement> impl) : JSHTMLMediaElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h index 36a6ff9..2710178 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h @@ -32,7 +32,7 @@ class HTMLAudioElement; class JSHTMLAudioElement : public JSHTMLMediaElement { typedef JSHTMLMediaElement Base; public: - JSHTMLAudioElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAudioElement>); + JSHTMLAudioElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAudioElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLAudioElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLAudioElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp index e468422..a806ac1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp @@ -116,7 +116,7 @@ JSObject* JSHTMLBRElementPrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSHTMLBRElement::s_info = { "HTMLBRElement", &JSHTMLElement::s_info, &JSHTMLBRElementTable, 0 }; -JSHTMLBRElement::JSHTMLBRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBRElement> impl) +JSHTMLBRElement::JSHTMLBRElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBRElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h index 5fb1337..71069f1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h @@ -30,7 +30,7 @@ class HTMLBRElement; class JSHTMLBRElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLBRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBRElement>); + JSHTMLBRElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBRElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLBRElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLBRElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp index 8430c51..125f8f8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp @@ -117,7 +117,7 @@ JSObject* JSHTMLBaseElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLBaseElement::s_info = { "HTMLBaseElement", &JSHTMLElement::s_info, &JSHTMLBaseElementTable, 0 }; -JSHTMLBaseElement::JSHTMLBaseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseElement> impl) +JSHTMLBaseElement::JSHTMLBaseElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h index 5f83f5a..9af935a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h @@ -30,7 +30,7 @@ class HTMLBaseElement; class JSHTMLBaseElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLBaseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseElement>); + JSHTMLBaseElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLBaseElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLBaseElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp index dcb1114..507e7c3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp @@ -119,7 +119,7 @@ JSObject* JSHTMLBaseFontElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLBaseFontElement::s_info = { "HTMLBaseFontElement", &JSHTMLElement::s_info, &JSHTMLBaseFontElementTable, 0 }; -JSHTMLBaseFontElement::JSHTMLBaseFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseFontElement> impl) +JSHTMLBaseFontElement::JSHTMLBaseFontElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseFontElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h index 55cdf82..c1da140 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h @@ -30,7 +30,7 @@ class HTMLBaseFontElement; class JSHTMLBaseFontElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLBaseFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseFontElement>); + JSHTMLBaseFontElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseFontElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLBaseFontElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLBaseFontElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp index 11c118a..1d33ea3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp @@ -116,7 +116,7 @@ JSObject* JSHTMLBlockquoteElementPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSHTMLBlockquoteElement::s_info = { "HTMLBlockquoteElement", &JSHTMLElement::s_info, &JSHTMLBlockquoteElementTable, 0 }; -JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBlockquoteElement> impl) +JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBlockquoteElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h index fbd66c3..0ac17ba 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h @@ -30,7 +30,7 @@ class HTMLBlockquoteElement; class JSHTMLBlockquoteElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLBlockquoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBlockquoteElement>); + JSHTMLBlockquoteElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBlockquoteElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLBlockquoteElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLBlockquoteElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp index 9933687..80db063 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp @@ -133,7 +133,7 @@ JSObject* JSHTMLBodyElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLBodyElement::s_info = { "HTMLBodyElement", &JSHTMLElement::s_info, &JSHTMLBodyElementTable, 0 }; -JSHTMLBodyElement::JSHTMLBodyElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBodyElement> impl) +JSHTMLBodyElement::JSHTMLBodyElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBodyElement> impl) : JSHTMLElement(structure, globalObject, impl) { } @@ -207,7 +207,7 @@ JSValue jsHTMLBodyElementOnbeforeunload(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onbeforeunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -219,7 +219,7 @@ JSValue jsHTMLBodyElementOnhashchange(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onhashchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -231,7 +231,7 @@ JSValue jsHTMLBodyElementOnmessage(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -243,7 +243,7 @@ JSValue jsHTMLBodyElementOnoffline(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onoffline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -255,7 +255,7 @@ JSValue jsHTMLBodyElementOnonline(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->ononline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -267,7 +267,7 @@ JSValue jsHTMLBodyElementOnresize(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onresize()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -279,7 +279,7 @@ JSValue jsHTMLBodyElementOnstorage(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onstorage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -291,7 +291,7 @@ JSValue jsHTMLBodyElementOnunload(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl()); if (EventListener* listener = imp->onunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h index 4ea4bf7..8ce19c0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h @@ -30,7 +30,7 @@ class HTMLBodyElement; class JSHTMLBodyElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLBodyElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBodyElement>); + JSHTMLBodyElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBodyElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLBodyElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLBodyElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp index 7bb9836..3f9655e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp @@ -142,7 +142,7 @@ bool JSHTMLButtonElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLButtonElement::s_info = { "HTMLButtonElement", &JSHTMLElement::s_info, &JSHTMLButtonElementTable, 0 }; -JSHTMLButtonElement::JSHTMLButtonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLButtonElement> impl) +JSHTMLButtonElement::JSHTMLButtonElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLButtonElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h index 7dca4bf..21c3e80 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h @@ -30,7 +30,7 @@ class HTMLButtonElement; class JSHTMLButtonElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLButtonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLButtonElement>); + JSHTMLButtonElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLButtonElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLButtonElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLButtonElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp index 579e22e..ce41e88 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp @@ -131,7 +131,7 @@ bool JSHTMLCanvasElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLCanvasElement::s_info = { "HTMLCanvasElement", &JSHTMLElement::s_info, &JSHTMLCanvasElementTable, 0 }; -JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCanvasElement> impl) +JSHTMLCanvasElement::JSHTMLCanvasElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCanvasElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h index 31c2ada..b0dedfe 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h @@ -30,7 +30,7 @@ class HTMLCanvasElement; class JSHTMLCanvasElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLCanvasElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCanvasElement>); + JSHTMLCanvasElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCanvasElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSHTMLCanvasElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLCanvasElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp index 30defc0..a4644e2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp @@ -135,7 +135,7 @@ bool JSHTMLCollectionPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSHTMLCollection::s_info = { "HTMLCollection", 0, &JSHTMLCollectionTable, 0 }; -JSHTMLCollection::JSHTMLCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> impl) +JSHTMLCollection::JSHTMLCollection(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h index 3e513cf..edffe1d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h @@ -34,7 +34,7 @@ class HTMLCollection; class JSHTMLCollection : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSHTMLCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCollection>); + JSHTMLCollection(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCollection>); virtual ~JSHTMLCollection(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -81,7 +81,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLCollectionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLCollectionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp index ee57717..ab9f86d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp @@ -113,7 +113,7 @@ JSObject* JSHTMLDListElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLDListElement::s_info = { "HTMLDListElement", &JSHTMLElement::s_info, &JSHTMLDListElementTable, 0 }; -JSHTMLDListElement::JSHTMLDListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDListElement> impl) +JSHTMLDListElement::JSHTMLDListElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDListElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h index 7e7f6a9..852fe01 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h @@ -30,7 +30,7 @@ class HTMLDListElement; class JSHTMLDListElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDListElement>); + JSHTMLDListElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDListElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDListElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDListElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp index 14725e5..7654d1a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp @@ -123,7 +123,7 @@ JSObject* JSHTMLDataGridCellElementPrototype::self(ExecState* exec, JSGlobalObje const ClassInfo JSHTMLDataGridCellElement::s_info = { "HTMLDataGridCellElement", &JSHTMLElement::s_info, &JSHTMLDataGridCellElementTable, 0 }; -JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridCellElement> impl) +JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridCellElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h index 6a29895..7b778bd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h @@ -32,7 +32,7 @@ class HTMLDataGridCellElement; class JSHTMLDataGridCellElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDataGridCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridCellElement>); + JSHTMLDataGridCellElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridCellElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDataGridCellElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDataGridCellElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp index c82bb46..b39dddf 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp @@ -123,7 +123,7 @@ JSObject* JSHTMLDataGridColElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSHTMLDataGridColElement::s_info = { "HTMLDataGridColElement", &JSHTMLElement::s_info, &JSHTMLDataGridColElementTable, 0 }; -JSHTMLDataGridColElement::JSHTMLDataGridColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridColElement> impl) +JSHTMLDataGridColElement::JSHTMLDataGridColElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridColElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h index f35d266..3e09036 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h @@ -32,7 +32,7 @@ class HTMLDataGridColElement; class JSHTMLDataGridColElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDataGridColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridColElement>); + JSHTMLDataGridColElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridColElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDataGridColElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDataGridColElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp index 3f0a822..8400732 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp @@ -122,7 +122,7 @@ JSObject* JSHTMLDataGridElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLDataGridElement::s_info = { "HTMLDataGridElement", &JSHTMLElement::s_info, &JSHTMLDataGridElementTable, 0 }; -JSHTMLDataGridElement::JSHTMLDataGridElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridElement> impl) +JSHTMLDataGridElement::JSHTMLDataGridElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h index b660b7d..e466ebd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h @@ -32,7 +32,7 @@ class HTMLDataGridElement; class JSHTMLDataGridElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDataGridElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridElement>); + JSHTMLDataGridElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDataGridElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDataGridElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp index 0a77dfa..2225c98 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLDataGridRowElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSHTMLDataGridRowElement::s_info = { "HTMLDataGridRowElement", &JSHTMLElement::s_info, &JSHTMLDataGridRowElementTable, 0 }; -JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridRowElement> impl) +JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridRowElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h index bc1faf7..749cf0c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h @@ -32,7 +32,7 @@ class HTMLDataGridRowElement; class JSHTMLDataGridRowElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDataGridRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridRowElement>); + JSHTMLDataGridRowElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridRowElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDataGridRowElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDataGridRowElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.cpp index b144137..a7dcd91 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLDataListElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLDataListElement::s_info = { "HTMLDataListElement", &JSHTMLElement::s_info, &JSHTMLDataListElementTable, 0 }; -JSHTMLDataListElement::JSHTMLDataListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataListElement> impl) +JSHTMLDataListElement::JSHTMLDataListElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataListElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.h index 3556d11..32d34bc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.h @@ -32,7 +32,7 @@ class HTMLDataListElement; class JSHTMLDataListElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDataListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataListElement>); + JSHTMLDataListElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataListElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDataListElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDataListElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp index d7c9643..838dc83 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp @@ -113,7 +113,7 @@ JSObject* JSHTMLDirectoryElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLDirectoryElement::s_info = { "HTMLDirectoryElement", &JSHTMLElement::s_info, &JSHTMLDirectoryElementTable, 0 }; -JSHTMLDirectoryElement::JSHTMLDirectoryElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDirectoryElement> impl) +JSHTMLDirectoryElement::JSHTMLDirectoryElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDirectoryElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h index 9b7dc7e..a0c1aa1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h @@ -30,7 +30,7 @@ class HTMLDirectoryElement; class JSHTMLDirectoryElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDirectoryElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDirectoryElement>); + JSHTMLDirectoryElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDirectoryElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDirectoryElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDirectoryElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp index b97aeac..5fa429c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLDivElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSHTMLDivElement::s_info = { "HTMLDivElement", &JSHTMLElement::s_info, &JSHTMLDivElementTable, 0 }; -JSHTMLDivElement::JSHTMLDivElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDivElement> impl) +JSHTMLDivElement::JSHTMLDivElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDivElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h index 98e2426..7751ffe 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h @@ -30,7 +30,7 @@ class HTMLDivElement; class JSHTMLDivElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLDivElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDivElement>); + JSHTMLDivElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDivElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLDivElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDivElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp index caf3cab..5e1cd6c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp @@ -154,7 +154,7 @@ bool JSHTMLDocumentPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSHTMLDocument::s_info = { "HTMLDocument", &JSDocument::s_info, &JSHTMLDocumentTable, 0 }; -JSHTMLDocument::JSHTMLDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDocument> impl) +JSHTMLDocument::JSHTMLDocument(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDocument> impl) : JSDocument(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h index 6fd01a7..f19fb41 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h @@ -30,7 +30,7 @@ class HTMLDocument; class JSHTMLDocument : public JSDocument { typedef JSDocument Base; public: - JSHTMLDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDocument>); + JSHTMLDocument(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDocument>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLDocumentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLDocumentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp index 14d7fae..dc08b3d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp @@ -148,7 +148,7 @@ bool JSHTMLElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSHTMLElement::s_info = { "HTMLElement", &JSElement::s_info, &JSHTMLElementTable, 0 }; -JSHTMLElement::JSHTMLElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> impl) +JSHTMLElement::JSHTMLElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> impl) : JSElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h index 7c3fcc2..aef78d2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h @@ -31,7 +31,7 @@ class HTMLElement; class JSHTMLElement : public JSElement { typedef JSElement Base; public: - JSHTMLElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLElement>); + JSHTMLElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -67,7 +67,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp index 5d9ca91..d4333cc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp @@ -138,7 +138,7 @@ bool JSHTMLEmbedElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSHTMLEmbedElement::s_info = { "HTMLEmbedElement", &JSHTMLElement::s_info, &JSHTMLEmbedElementTable, 0 }; -JSHTMLEmbedElement::JSHTMLEmbedElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLEmbedElement> impl) +JSHTMLEmbedElement::JSHTMLEmbedElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLEmbedElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h index 8730952..8a1d7bb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h @@ -31,7 +31,7 @@ class HTMLEmbedElement; class JSHTMLEmbedElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLEmbedElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLEmbedElement>); + JSHTMLEmbedElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLEmbedElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLEmbedElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLEmbedElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp index d642323..2bec961 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp @@ -132,7 +132,7 @@ bool JSHTMLFieldSetElementPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSHTMLFieldSetElement::s_info = { "HTMLFieldSetElement", &JSHTMLElement::s_info, &JSHTMLFieldSetElementTable, 0 }; -JSHTMLFieldSetElement::JSHTMLFieldSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFieldSetElement> impl) +JSHTMLFieldSetElement::JSHTMLFieldSetElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFieldSetElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h index b2cb1b1..38edfb2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h @@ -30,7 +30,7 @@ class HTMLFieldSetElement; class JSHTMLFieldSetElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLFieldSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFieldSetElement>); + JSHTMLFieldSetElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFieldSetElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLFieldSetElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLFieldSetElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp index 18100b7..794640f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp @@ -117,7 +117,7 @@ JSObject* JSHTMLFontElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLFontElement::s_info = { "HTMLFontElement", &JSHTMLElement::s_info, &JSHTMLFontElementTable, 0 }; -JSHTMLFontElement::JSHTMLFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFontElement> impl) +JSHTMLFontElement::JSHTMLFontElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFontElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h index 8a46e7d..61a0b78 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h @@ -30,7 +30,7 @@ class HTMLFontElement; class JSHTMLFontElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFontElement>); + JSHTMLFontElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFontElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLFontElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLFontElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp index b278f23..bdd60b8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp @@ -143,7 +143,7 @@ bool JSHTMLFormElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSHTMLFormElement::s_info = { "HTMLFormElement", &JSHTMLElement::s_info, &JSHTMLFormElementTable, 0 }; -JSHTMLFormElement::JSHTMLFormElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFormElement> impl) +JSHTMLFormElement::JSHTMLFormElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFormElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h index cde3be2..a28742e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h @@ -30,7 +30,7 @@ class HTMLFormElement; class JSHTMLFormElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLFormElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFormElement>); + JSHTMLFormElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFormElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -67,7 +67,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLFormElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLFormElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp index d00cfd2..03a071e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp @@ -148,7 +148,7 @@ bool JSHTMLFrameElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSHTMLFrameElement::s_info = { "HTMLFrameElement", &JSHTMLElement::s_info, &JSHTMLFrameElementTable, 0 }; -JSHTMLFrameElement::JSHTMLFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameElement> impl) +JSHTMLFrameElement::JSHTMLFrameElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h index e919bc0..fe0b2fa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h @@ -30,7 +30,7 @@ class HTMLFrameElement; class JSHTMLFrameElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameElement>); + JSHTMLFrameElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -63,7 +63,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLFrameElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLFrameElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp index c326cc7..8c69079 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp @@ -129,7 +129,7 @@ JSObject* JSHTMLFrameSetElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLFrameSetElement::s_info = { "HTMLFrameSetElement", &JSHTMLElement::s_info, &JSHTMLFrameSetElementTable, 0 }; -JSHTMLFrameSetElement::JSHTMLFrameSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameSetElement> impl) +JSHTMLFrameSetElement::JSHTMLFrameSetElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameSetElement> impl) : JSHTMLElement(structure, globalObject, impl) { } @@ -181,7 +181,7 @@ JSValue jsHTMLFrameSetElementOnbeforeunload(ExecState* exec, const Identifier&, UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onbeforeunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -193,7 +193,7 @@ JSValue jsHTMLFrameSetElementOnhashchange(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onhashchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -205,7 +205,7 @@ JSValue jsHTMLFrameSetElementOnmessage(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -217,7 +217,7 @@ JSValue jsHTMLFrameSetElementOnoffline(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onoffline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -229,7 +229,7 @@ JSValue jsHTMLFrameSetElementOnonline(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->ononline()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -241,7 +241,7 @@ JSValue jsHTMLFrameSetElementOnresize(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onresize()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -253,7 +253,7 @@ JSValue jsHTMLFrameSetElementOnstorage(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onstorage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -265,7 +265,7 @@ JSValue jsHTMLFrameSetElementOnunload(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl()); if (EventListener* listener = imp->onunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h index ebeddda..e9aa3f9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h @@ -30,7 +30,7 @@ class HTMLFrameSetElement; class JSHTMLFrameSetElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLFrameSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameSetElement>); + JSHTMLFrameSetElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameSetElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -56,7 +56,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLFrameSetElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLFrameSetElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp index ef8adb2..72ac500 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLHRElementPrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSHTMLHRElement::s_info = { "HTMLHRElement", &JSHTMLElement::s_info, &JSHTMLHRElementTable, 0 }; -JSHTMLHRElement::JSHTMLHRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHRElement> impl) +JSHTMLHRElement::JSHTMLHRElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHRElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h index fac7072..c69d61b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h @@ -30,7 +30,7 @@ class HTMLHRElement; class JSHTMLHRElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLHRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHRElement>); + JSHTMLHRElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHRElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLHRElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLHRElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp index 4bc4dc9..7bcb644 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLHeadElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLHeadElement::s_info = { "HTMLHeadElement", &JSHTMLElement::s_info, &JSHTMLHeadElementTable, 0 }; -JSHTMLHeadElement::JSHTMLHeadElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadElement> impl) +JSHTMLHeadElement::JSHTMLHeadElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h index 7876cbe..c3b4d50 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h @@ -30,7 +30,7 @@ class HTMLHeadElement; class JSHTMLHeadElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLHeadElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadElement>); + JSHTMLHeadElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLHeadElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLHeadElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp index ff0b818..7e0f680 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLHeadingElementPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSHTMLHeadingElement::s_info = { "HTMLHeadingElement", &JSHTMLElement::s_info, &JSHTMLHeadingElementTable, 0 }; -JSHTMLHeadingElement::JSHTMLHeadingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadingElement> impl) +JSHTMLHeadingElement::JSHTMLHeadingElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadingElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h index a2eace9..512e05b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h @@ -30,7 +30,7 @@ class HTMLHeadingElement; class JSHTMLHeadingElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLHeadingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadingElement>); + JSHTMLHeadingElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadingElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLHeadingElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLHeadingElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp index 7a77b9b..932a96c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLHtmlElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLHtmlElement::s_info = { "HTMLHtmlElement", &JSHTMLElement::s_info, &JSHTMLHtmlElementTable, 0 }; -JSHTMLHtmlElement::JSHTMLHtmlElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHtmlElement> impl) +JSHTMLHtmlElement::JSHTMLHtmlElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHtmlElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h index 075e498..a46605c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h @@ -30,7 +30,7 @@ class HTMLHtmlElement; class JSHTMLHtmlElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLHtmlElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHtmlElement>); + JSHTMLHtmlElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHtmlElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLHtmlElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLHtmlElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp index 370c96e..3606652 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp @@ -146,7 +146,7 @@ bool JSHTMLIFrameElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLIFrameElement::s_info = { "HTMLIFrameElement", &JSHTMLElement::s_info, &JSHTMLIFrameElementTable, 0 }; -JSHTMLIFrameElement::JSHTMLIFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIFrameElement> impl) +JSHTMLIFrameElement::JSHTMLIFrameElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIFrameElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h index 4e373b8..22ed276 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h @@ -30,7 +30,7 @@ class HTMLIFrameElement; class JSHTMLIFrameElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLIFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIFrameElement>); + JSHTMLIFrameElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIFrameElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -62,7 +62,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLIFrameElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLIFrameElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp index 9dc4d72..029933c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp @@ -134,7 +134,7 @@ JSObject* JSHTMLImageElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLImageElement::s_info = { "HTMLImageElement", &JSHTMLElement::s_info, &JSHTMLImageElementTable, 0 }; -JSHTMLImageElement::JSHTMLImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLImageElement> impl) +JSHTMLImageElement::JSHTMLImageElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLImageElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h index 168741e..2ec34dc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h @@ -30,7 +30,7 @@ class HTMLImageElement; class JSHTMLImageElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLImageElement>); + JSHTMLImageElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLImageElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLImageElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLImageElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp index d15af5c..ea6e7cb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp @@ -167,7 +167,7 @@ bool JSHTMLInputElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSHTMLInputElement::s_info = { "HTMLInputElement", &JSHTMLElement::s_info, &JSHTMLInputElementTable, 0 }; -JSHTMLInputElement::JSHTMLInputElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLInputElement> impl) +JSHTMLInputElement::JSHTMLInputElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLInputElement> impl) : JSHTMLElement(structure, globalObject, impl) { } @@ -486,7 +486,9 @@ void setJSHTMLInputElementAutofocus(ExecState* exec, JSObject* thisObject, JSVal void setJSHTMLInputElementMaxLength(ExecState* exec, JSObject* thisObject, JSValue value) { HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl()); - imp->setMaxLength(value.toInt32(exec)); + ExceptionCode ec = 0; + imp->setMaxLength(value.toInt32(exec), ec); + setDOMException(exec, ec); } void setJSHTMLInputElementMultiple(ExecState* exec, JSObject* thisObject, JSValue value) diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h index 057488b..e26b281 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h @@ -30,7 +30,7 @@ class HTMLInputElement; class JSHTMLInputElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLInputElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLInputElement>); + JSHTMLInputElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLInputElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLInputElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLInputElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp index cf06ba6..2ae43a7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLIsIndexElementPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSHTMLIsIndexElement::s_info = { "HTMLIsIndexElement", &JSHTMLInputElement::s_info, &JSHTMLIsIndexElementTable, 0 }; -JSHTMLIsIndexElement::JSHTMLIsIndexElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIsIndexElement> impl) +JSHTMLIsIndexElement::JSHTMLIsIndexElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIsIndexElement> impl) : JSHTMLInputElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h index 5fc1153..9ac79cb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h @@ -30,7 +30,7 @@ class HTMLIsIndexElement; class JSHTMLIsIndexElement : public JSHTMLInputElement { typedef JSHTMLInputElement Base; public: - JSHTMLIsIndexElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIsIndexElement>); + JSHTMLIsIndexElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIsIndexElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLIsIndexElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLIsIndexElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp index 4c75a70..f27b58e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp @@ -117,7 +117,7 @@ JSObject* JSHTMLLIElementPrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSHTMLLIElement::s_info = { "HTMLLIElement", &JSHTMLElement::s_info, &JSHTMLLIElementTable, 0 }; -JSHTMLLIElement::JSHTMLLIElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLIElement> impl) +JSHTMLLIElement::JSHTMLLIElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLIElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h index 2c243d3..09d6ffb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h @@ -30,7 +30,7 @@ class HTMLLIElement; class JSHTMLLIElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLLIElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLIElement>); + JSHTMLLIElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLIElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLLIElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLLIElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp index afc4371..7409c70 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp @@ -119,7 +119,7 @@ JSObject* JSHTMLLabelElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLLabelElement::s_info = { "HTMLLabelElement", &JSHTMLElement::s_info, &JSHTMLLabelElementTable, 0 }; -JSHTMLLabelElement::JSHTMLLabelElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLabelElement> impl) +JSHTMLLabelElement::JSHTMLLabelElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLabelElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h index a321b35..1991301 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h @@ -30,7 +30,7 @@ class HTMLLabelElement; class JSHTMLLabelElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLLabelElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLabelElement>); + JSHTMLLabelElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLabelElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLLabelElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLLabelElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp index 462051b..5efaebb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp @@ -119,7 +119,7 @@ JSObject* JSHTMLLegendElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSHTMLLegendElement::s_info = { "HTMLLegendElement", &JSHTMLElement::s_info, &JSHTMLLegendElementTable, 0 }; -JSHTMLLegendElement::JSHTMLLegendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLegendElement> impl) +JSHTMLLegendElement::JSHTMLLegendElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLegendElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h index cea7805..c766306 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h @@ -30,7 +30,7 @@ class HTMLLegendElement; class JSHTMLLegendElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLLegendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLegendElement>); + JSHTMLLegendElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLegendElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLLegendElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLLegendElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp index c0c3d05..5692047 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp @@ -126,7 +126,7 @@ JSObject* JSHTMLLinkElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLLinkElement::s_info = { "HTMLLinkElement", &JSHTMLElement::s_info, &JSHTMLLinkElementTable, 0 }; -JSHTMLLinkElement::JSHTMLLinkElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLinkElement> impl) +JSHTMLLinkElement::JSHTMLLinkElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLinkElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h index d50d793..5d46062 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h @@ -30,7 +30,7 @@ class HTMLLinkElement; class JSHTMLLinkElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLLinkElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLinkElement>); + JSHTMLLinkElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLinkElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLLinkElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLLinkElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp index a199930..e3e9ef1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLMapElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSHTMLMapElement::s_info = { "HTMLMapElement", &JSHTMLElement::s_info, &JSHTMLMapElementTable, 0 }; -JSHTMLMapElement::JSHTMLMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMapElement> impl) +JSHTMLMapElement::JSHTMLMapElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMapElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h index 25a8f9a..f17deae 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h @@ -30,7 +30,7 @@ class HTMLMapElement; class JSHTMLMapElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMapElement>); + JSHTMLMapElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMapElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLMapElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLMapElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp index 798f07b..a5e3697 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp @@ -125,7 +125,7 @@ bool JSHTMLMarqueeElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSHTMLMarqueeElement::s_info = { "HTMLMarqueeElement", &JSHTMLElement::s_info, &JSHTMLMarqueeElementTable, 0 }; -JSHTMLMarqueeElement::JSHTMLMarqueeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMarqueeElement> impl) +JSHTMLMarqueeElement::JSHTMLMarqueeElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMarqueeElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h index a572a39..64d552f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h @@ -30,7 +30,7 @@ class HTMLMarqueeElement; class JSHTMLMarqueeElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLMarqueeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMarqueeElement>); + JSHTMLMarqueeElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMarqueeElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLMarqueeElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLMarqueeElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp index 98ec564..8fc5aa6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp @@ -180,7 +180,7 @@ bool JSHTMLMediaElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSHTMLMediaElement::s_info = { "HTMLMediaElement", &JSHTMLElement::s_info, &JSHTMLMediaElementTable, 0 }; -JSHTMLMediaElement::JSHTMLMediaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMediaElement> impl) +JSHTMLMediaElement::JSHTMLMediaElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMediaElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h index 503739b..2eee952 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h @@ -32,7 +32,7 @@ class HTMLMediaElement; class JSHTMLMediaElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLMediaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMediaElement>); + JSHTMLMediaElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMediaElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLMediaElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLMediaElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp index 3829891..d6439e0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp @@ -113,7 +113,7 @@ JSObject* JSHTMLMenuElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLMenuElement::s_info = { "HTMLMenuElement", &JSHTMLElement::s_info, &JSHTMLMenuElementTable, 0 }; -JSHTMLMenuElement::JSHTMLMenuElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMenuElement> impl) +JSHTMLMenuElement::JSHTMLMenuElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMenuElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h index afad6f4..88c816d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h @@ -30,7 +30,7 @@ class HTMLMenuElement; class JSHTMLMenuElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLMenuElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMenuElement>); + JSHTMLMenuElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMenuElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLMenuElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLMenuElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp index 508043f..494076c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLMetaElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSHTMLMetaElement::s_info = { "HTMLMetaElement", &JSHTMLElement::s_info, &JSHTMLMetaElementTable, 0 }; -JSHTMLMetaElement::JSHTMLMetaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMetaElement> impl) +JSHTMLMetaElement::JSHTMLMetaElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMetaElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h index ffd8daa..2bb93a3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h @@ -30,7 +30,7 @@ class HTMLMetaElement; class JSHTMLMetaElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLMetaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMetaElement>); + JSHTMLMetaElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMetaElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLMetaElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLMetaElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp index 1a8f17c..259618f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp @@ -116,7 +116,7 @@ JSObject* JSHTMLModElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSHTMLModElement::s_info = { "HTMLModElement", &JSHTMLElement::s_info, &JSHTMLModElementTable, 0 }; -JSHTMLModElement::JSHTMLModElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLModElement> impl) +JSHTMLModElement::JSHTMLModElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLModElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h index 3e61813..6f920e4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h @@ -30,7 +30,7 @@ class HTMLModElement; class JSHTMLModElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLModElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLModElement>); + JSHTMLModElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLModElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLModElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLModElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp index 7d6e688..1bf8256 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLOListElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLOListElement::s_info = { "HTMLOListElement", &JSHTMLElement::s_info, &JSHTMLOListElementTable, 0 }; -JSHTMLOListElement::JSHTMLOListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOListElement> impl) +JSHTMLOListElement::JSHTMLOListElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOListElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h index c286a2f..a2d095e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h @@ -30,7 +30,7 @@ class HTMLOListElement; class JSHTMLOListElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLOListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOListElement>); + JSHTMLOListElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOListElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLOListElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLOListElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp index c5edfe5..57f2fa6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp @@ -156,7 +156,7 @@ bool JSHTMLObjectElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLObjectElement::s_info = { "HTMLObjectElement", &JSHTMLElement::s_info, &JSHTMLObjectElementTable, 0 }; -JSHTMLObjectElement::JSHTMLObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLObjectElement> impl) +JSHTMLObjectElement::JSHTMLObjectElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLObjectElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h index 8146590..d4ad484 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h @@ -31,7 +31,7 @@ class HTMLObjectElement; class JSHTMLObjectElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLObjectElement>); + JSHTMLObjectElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLObjectElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLObjectElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLObjectElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp index 02328c5..2772290 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp @@ -116,7 +116,7 @@ JSObject* JSHTMLOptGroupElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLOptGroupElement::s_info = { "HTMLOptGroupElement", &JSHTMLElement::s_info, &JSHTMLOptGroupElementTable, 0 }; -JSHTMLOptGroupElement::JSHTMLOptGroupElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptGroupElement> impl) +JSHTMLOptGroupElement::JSHTMLOptGroupElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptGroupElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h index 6982b21..a7cd4d9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h @@ -30,7 +30,7 @@ class HTMLOptGroupElement; class JSHTMLOptGroupElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLOptGroupElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptGroupElement>); + JSHTMLOptGroupElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptGroupElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLOptGroupElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLOptGroupElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp index 7966afb..4b32c87 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp @@ -125,7 +125,7 @@ JSObject* JSHTMLOptionElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSHTMLOptionElement::s_info = { "HTMLOptionElement", &JSHTMLElement::s_info, &JSHTMLOptionElementTable, 0 }; -JSHTMLOptionElement::JSHTMLOptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionElement> impl) +JSHTMLOptionElement::JSHTMLOptionElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h index 9c2ccae..232be18 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h @@ -31,7 +31,7 @@ class HTMLOptionElement; class JSHTMLOptionElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLOptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionElement>); + JSHTMLOptionElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLOptionElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLOptionElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp index 4834e69..1b6f6e6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp @@ -83,7 +83,7 @@ bool JSHTMLOptionsCollectionPrototype::getOwnPropertyDescriptor(ExecState* exec, const ClassInfo JSHTMLOptionsCollection::s_info = { "HTMLOptionsCollection", &JSHTMLCollection::s_info, &JSHTMLOptionsCollectionTable, 0 }; -JSHTMLOptionsCollection::JSHTMLOptionsCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionsCollection> impl) +JSHTMLOptionsCollection::JSHTMLOptionsCollection(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionsCollection> impl) : JSHTMLCollection(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h index 3969a60..800b0a8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h @@ -31,7 +31,7 @@ class HTMLOptionsCollection; class JSHTMLOptionsCollection : public JSHTMLCollection { typedef JSHTMLCollection Base; public: - JSHTMLOptionsCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionsCollection>); + JSHTMLOptionsCollection(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionsCollection>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLOptionsCollectionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLOptionsCollectionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp index 8981630..a065d16 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLParagraphElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLParagraphElement::s_info = { "HTMLParagraphElement", &JSHTMLElement::s_info, &JSHTMLParagraphElementTable, 0 }; -JSHTMLParagraphElement::JSHTMLParagraphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParagraphElement> impl) +JSHTMLParagraphElement::JSHTMLParagraphElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParagraphElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h index 6947809..f7b5e37 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h @@ -30,7 +30,7 @@ class HTMLParagraphElement; class JSHTMLParagraphElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLParagraphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParagraphElement>); + JSHTMLParagraphElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParagraphElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLParagraphElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLParagraphElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp index a869850..bec35a7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp @@ -118,7 +118,7 @@ JSObject* JSHTMLParamElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLParamElement::s_info = { "HTMLParamElement", &JSHTMLElement::s_info, &JSHTMLParamElementTable, 0 }; -JSHTMLParamElement::JSHTMLParamElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParamElement> impl) +JSHTMLParamElement::JSHTMLParamElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParamElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h index c14d84b..1dde72d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h @@ -30,7 +30,7 @@ class HTMLParamElement; class JSHTMLParamElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLParamElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParamElement>); + JSHTMLParamElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParamElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLParamElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLParamElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp index 62823fd..4d5fb9c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLPreElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSHTMLPreElement::s_info = { "HTMLPreElement", &JSHTMLElement::s_info, &JSHTMLPreElementTable, 0 }; -JSHTMLPreElement::JSHTMLPreElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLPreElement> impl) +JSHTMLPreElement::JSHTMLPreElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLPreElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h index 3a2d066..92c86fa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h @@ -30,7 +30,7 @@ class HTMLPreElement; class JSHTMLPreElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLPreElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLPreElement>); + JSHTMLPreElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLPreElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLPreElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLPreElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp index 0fa8659..1864245 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLQuoteElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLQuoteElement::s_info = { "HTMLQuoteElement", &JSHTMLElement::s_info, &JSHTMLQuoteElementTable, 0 }; -JSHTMLQuoteElement::JSHTMLQuoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLQuoteElement> impl) +JSHTMLQuoteElement::JSHTMLQuoteElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLQuoteElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h index d90105c..03edf4e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h @@ -30,7 +30,7 @@ class HTMLQuoteElement; class JSHTMLQuoteElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLQuoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLQuoteElement>); + JSHTMLQuoteElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLQuoteElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLQuoteElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLQuoteElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp index 6b731b9..5867c87 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp @@ -121,7 +121,7 @@ JSObject* JSHTMLScriptElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSHTMLScriptElement::s_info = { "HTMLScriptElement", &JSHTMLElement::s_info, &JSHTMLScriptElementTable, 0 }; -JSHTMLScriptElement::JSHTMLScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLScriptElement> impl) +JSHTMLScriptElement::JSHTMLScriptElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLScriptElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h index 24e8e03..9cb3874 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h @@ -30,7 +30,7 @@ class HTMLScriptElement; class JSHTMLScriptElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLScriptElement>); + JSHTMLScriptElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLScriptElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLScriptElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLScriptElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp index bd66528..1edfb8c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp @@ -156,7 +156,7 @@ bool JSHTMLSelectElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSHTMLSelectElement::s_info = { "HTMLSelectElement", &JSHTMLElement::s_info, &JSHTMLSelectElementTable, 0 }; -JSHTMLSelectElement::JSHTMLSelectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSelectElement> impl) +JSHTMLSelectElement::JSHTMLSelectElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSelectElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h index 851305b..12141cd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h @@ -30,7 +30,7 @@ class HTMLSelectElement; class JSHTMLSelectElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLSelectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSelectElement>); + JSHTMLSelectElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSelectElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -67,7 +67,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLSelectElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLSelectElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp index 7a261f8..f6ce114 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp @@ -120,7 +120,7 @@ JSObject* JSHTMLSourceElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSHTMLSourceElement::s_info = { "HTMLSourceElement", &JSHTMLElement::s_info, &JSHTMLSourceElementTable, 0 }; -JSHTMLSourceElement::JSHTMLSourceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSourceElement> impl) +JSHTMLSourceElement::JSHTMLSourceElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSourceElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h index 75e4014..d33d1a2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h @@ -32,7 +32,7 @@ class HTMLSourceElement; class JSHTMLSourceElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLSourceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSourceElement>); + JSHTMLSourceElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSourceElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLSourceElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLSourceElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp index ddc1109..7fb2ddb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp @@ -120,7 +120,7 @@ JSObject* JSHTMLStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLStyleElement::s_info = { "HTMLStyleElement", &JSHTMLElement::s_info, &JSHTMLStyleElementTable, 0 }; -JSHTMLStyleElement::JSHTMLStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLStyleElement> impl) +JSHTMLStyleElement::JSHTMLStyleElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLStyleElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h index 11e57f9..efa49f6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h @@ -30,7 +30,7 @@ class HTMLStyleElement; class JSHTMLStyleElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLStyleElement>); + JSHTMLStyleElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLStyleElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLStyleElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLStyleElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp index 760c811..1668c03 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLTableCaptionElementPrototype::self(ExecState* exec, JSGlobalObje const ClassInfo JSHTMLTableCaptionElement::s_info = { "HTMLTableCaptionElement", &JSHTMLElement::s_info, &JSHTMLTableCaptionElementTable, 0 }; -JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCaptionElement> impl) +JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCaptionElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h index 3baa4d8..fa4f77d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h @@ -31,7 +31,7 @@ class HTMLTableCaptionElement; class JSHTMLTableCaptionElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableCaptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCaptionElement>); + JSHTMLTableCaptionElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCaptionElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLTableCaptionElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableCaptionElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp index ff3157e..2d3c63c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp @@ -130,7 +130,7 @@ JSObject* JSHTMLTableCellElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLTableCellElement::s_info = { "HTMLTableCellElement", &JSHTMLElement::s_info, &JSHTMLTableCellElementTable, 0 }; -JSHTMLTableCellElement::JSHTMLTableCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCellElement> impl) +JSHTMLTableCellElement::JSHTMLTableCellElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCellElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h index 2191462..d5f5ad0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h @@ -30,7 +30,7 @@ class HTMLTableCellElement; class JSHTMLTableCellElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCellElement>); + JSHTMLTableCellElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCellElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLTableCellElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableCellElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp index 4dcd547..e3bcbef 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp @@ -121,7 +121,7 @@ JSObject* JSHTMLTableColElementPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSHTMLTableColElement::s_info = { "HTMLTableColElement", &JSHTMLElement::s_info, &JSHTMLTableColElementTable, 0 }; -JSHTMLTableColElement::JSHTMLTableColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableColElement> impl) +JSHTMLTableColElement::JSHTMLTableColElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableColElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h index a7e8525..95aebe4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h @@ -30,7 +30,7 @@ class HTMLTableColElement; class JSHTMLTableColElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableColElement>); + JSHTMLTableColElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableColElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLTableColElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableColElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp index 6ebde1d..70f45a2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp @@ -155,7 +155,7 @@ bool JSHTMLTableElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSHTMLTableElement::s_info = { "HTMLTableElement", &JSHTMLElement::s_info, &JSHTMLTableElementTable, 0 }; -JSHTMLTableElement::JSHTMLTableElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableElement> impl) +JSHTMLTableElement::JSHTMLTableElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h index 0e3d18c..08ef645 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h @@ -30,7 +30,7 @@ class HTMLTableElement; class JSHTMLTableElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableElement>); + JSHTMLTableElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLTableElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp index cd14dbf..29dbcf6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp @@ -140,7 +140,7 @@ bool JSHTMLTableRowElementPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSHTMLTableRowElement::s_info = { "HTMLTableRowElement", &JSHTMLElement::s_info, &JSHTMLTableRowElementTable, 0 }; -JSHTMLTableRowElement::JSHTMLTableRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableRowElement> impl) +JSHTMLTableRowElement::JSHTMLTableRowElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableRowElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h index e152d7a..3adbb01 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h @@ -30,7 +30,7 @@ class HTMLTableRowElement; class JSHTMLTableRowElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableRowElement>); + JSHTMLTableRowElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableRowElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLTableRowElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableRowElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp index 51df6ad..ad10c49 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp @@ -136,7 +136,7 @@ bool JSHTMLTableSectionElementPrototype::getOwnPropertyDescriptor(ExecState* exe const ClassInfo JSHTMLTableSectionElement::s_info = { "HTMLTableSectionElement", &JSHTMLElement::s_info, &JSHTMLTableSectionElementTable, 0 }; -JSHTMLTableSectionElement::JSHTMLTableSectionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableSectionElement> impl) +JSHTMLTableSectionElement::JSHTMLTableSectionElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableSectionElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h index 36231b5..85c54c1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h @@ -31,7 +31,7 @@ class HTMLTableSectionElement; class JSHTMLTableSectionElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTableSectionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableSectionElement>); + JSHTMLTableSectionElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableSectionElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -65,7 +65,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLTableSectionElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTableSectionElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp index be123db..8d43a63 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp @@ -154,7 +154,7 @@ bool JSHTMLTextAreaElementPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSHTMLTextAreaElement::s_info = { "HTMLTextAreaElement", &JSHTMLElement::s_info, &JSHTMLTextAreaElementTable, 0 }; -JSHTMLTextAreaElement::JSHTMLTextAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTextAreaElement> impl) +JSHTMLTextAreaElement::JSHTMLTextAreaElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTextAreaElement> impl) : JSHTMLElement(structure, globalObject, impl) { } @@ -369,7 +369,9 @@ void setJSHTMLTextAreaElementAutofocus(ExecState* exec, JSObject* thisObject, JS void setJSHTMLTextAreaElementMaxLength(ExecState* exec, JSObject* thisObject, JSValue value) { HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(thisObject)->impl()); - imp->setMaxLength(value.toInt32(exec)); + ExceptionCode ec = 0; + imp->setMaxLength(value.toInt32(exec), ec); + setDOMException(exec, ec); } void setJSHTMLTextAreaElementName(ExecState* exec, JSObject* thisObject, JSValue value) diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h index 0df320e..3b28ae9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h @@ -30,7 +30,7 @@ class HTMLTextAreaElement; class JSHTMLTextAreaElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTextAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTextAreaElement>); + JSHTMLTextAreaElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTextAreaElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHTMLTextAreaElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTextAreaElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp index 1bee1c0..51bffa4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp @@ -115,7 +115,7 @@ JSObject* JSHTMLTitleElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLTitleElement::s_info = { "HTMLTitleElement", &JSHTMLElement::s_info, &JSHTMLTitleElementTable, 0 }; -JSHTMLTitleElement::JSHTMLTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTitleElement> impl) +JSHTMLTitleElement::JSHTMLTitleElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTitleElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h index d48d5db..8f88dac 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h @@ -30,7 +30,7 @@ class HTMLTitleElement; class JSHTMLTitleElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTitleElement>); + JSHTMLTitleElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTitleElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLTitleElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLTitleElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp index 3924ca9..5a541b4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp @@ -116,7 +116,7 @@ JSObject* JSHTMLUListElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLUListElement::s_info = { "HTMLUListElement", &JSHTMLElement::s_info, &JSHTMLUListElementTable, 0 }; -JSHTMLUListElement::JSHTMLUListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLUListElement> impl) +JSHTMLUListElement::JSHTMLUListElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLUListElement> impl) : JSHTMLElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h index 681adaa..9f7f717 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h @@ -30,7 +30,7 @@ class HTMLUListElement; class JSHTMLUListElement : public JSHTMLElement { typedef JSHTMLElement Base; public: - JSHTMLUListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLUListElement>); + JSHTMLUListElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLUListElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLUListElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLUListElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp index 73428bb..4331798 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp @@ -123,7 +123,7 @@ JSObject* JSHTMLVideoElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSHTMLVideoElement::s_info = { "HTMLVideoElement", &JSHTMLMediaElement::s_info, &JSHTMLVideoElementTable, 0 }; -JSHTMLVideoElement::JSHTMLVideoElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLVideoElement> impl) +JSHTMLVideoElement::JSHTMLVideoElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLVideoElement> impl) : JSHTMLMediaElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h index 5466b10..e74590f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h @@ -32,7 +32,7 @@ class HTMLVideoElement; class JSHTMLVideoElement : public JSHTMLMediaElement { typedef JSHTMLMediaElement Base; public: - JSHTMLVideoElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLVideoElement>); + JSHTMLVideoElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLVideoElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSHTMLVideoElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHTMLVideoElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp index 2d6e7d4..5331441 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp @@ -84,7 +84,7 @@ bool JSHistoryPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSHistory::s_info = { "History", 0, &JSHistoryTable, 0 }; -JSHistory::JSHistory(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<History> impl) +JSHistory::JSHistory(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<History> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.h b/src/3rdparty/webkit/WebCore/generated/JSHistory.h index fcc8ccf..9ea7e91 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSHistory.h +++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.h @@ -33,7 +33,7 @@ class History; class JSHistory : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSHistory(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<History>); + JSHistory(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<History>); virtual ~JSHistory(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -73,7 +73,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSHistoryPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSHistoryPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp index 796c592..973ec26 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp @@ -115,7 +115,7 @@ JSObject* JSImageDataPrototype::self(ExecState* exec, JSGlobalObject* globalObje const ClassInfo JSImageData::s_info = { "ImageData", 0, &JSImageDataTable, 0 }; -JSImageData::JSImageData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ImageData> impl) +JSImageData::JSImageData(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ImageData> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.h b/src/3rdparty/webkit/WebCore/generated/JSImageData.h index 4e1e22d..d84357c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSImageData.h +++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.h @@ -33,7 +33,7 @@ class ImageData; class JSImageData : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSImageData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ImageData>); + JSImageData(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ImageData>); virtual ~JSImageData(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSImageDataPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSImageDataPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp index 77b4b7c..f770cf2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp @@ -96,7 +96,7 @@ bool JSInspectorBackendConstructor::getOwnPropertyDescriptor(ExecState* exec, co /* Hash table for prototype */ -static const HashTableValue JSInspectorBackendPrototypeTableValues[69] = +static const HashTableValue JSInspectorBackendPrototypeTableValues[71] = { { "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 }, { "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHighlightDOMNode, (intptr_t)1 }, @@ -129,8 +129,6 @@ static const HashTableValue JSInspectorBackendPrototypeTableValues[69] = { "enableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableResourceTracking, (intptr_t)1 }, { "disableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableResourceTracking, (intptr_t)1 }, { "storeLastActivePanel", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStoreLastActivePanel, (intptr_t)1 }, - { "getCookies", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionGetCookies, (intptr_t)1 }, - { "deleteCookie", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDeleteCookie, (intptr_t)1 }, { "debuggerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDebuggerEnabled, (intptr_t)0 }, { "enableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableDebugger, (intptr_t)1 }, { "disableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableDebugger, (intptr_t)1 }, @@ -156,6 +154,10 @@ static const HashTableValue JSInspectorBackendPrototypeTableValues[69] = { "setAttribute", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetAttribute, (intptr_t)4 }, { "removeAttribute", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionRemoveAttribute, (intptr_t)3 }, { "setTextNodeValue", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetTextNodeValue, (intptr_t)3 }, + { "getEventListenersForNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionGetEventListenersForNode, (intptr_t)2 }, + { "copyNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionCopyNode, (intptr_t)1 }, + { "getCookies", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionGetCookies, (intptr_t)1 }, + { "deleteCookie", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDeleteCookie, (intptr_t)1 }, { "nodeForId", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionNodeForId, (intptr_t)1 }, { "wrapObject", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionWrapObject, (intptr_t)1 }, { "unwrapObject", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionUnwrapObject, (intptr_t)1 }, @@ -195,7 +197,7 @@ bool JSInspectorBackendPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSInspectorBackend::s_info = { "InspectorBackend", 0, &JSInspectorBackendTable, 0 }; -JSInspectorBackend::JSInspectorBackend(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<InspectorBackend> impl) +JSInspectorBackend::JSInspectorBackend(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<InspectorBackend> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -604,32 +606,6 @@ JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(Ex return jsUndefined(); } -JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetCookies(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) -{ - UNUSED_PARAM(args); - if (!thisValue.inherits(&JSInspectorBackend::s_info)) - return throwError(exec, TypeError); - JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); - InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); - int callId = args.at(0).toInt32(exec); - - imp->getCookies(callId); - return jsUndefined(); -} - -JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDeleteCookie(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) -{ - UNUSED_PARAM(args); - if (!thisValue.inherits(&JSInspectorBackend::s_info)) - return throwError(exec, TypeError); - JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); - InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); - const UString& cookieName = args.at(0).toString(exec); - - imp->deleteCookie(cookieName); - return jsUndefined(); -} - JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); @@ -955,6 +931,59 @@ JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetTextNodeValue(ExecSt return jsUndefined(); } +JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetEventListenersForNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSInspectorBackend::s_info)) + return throwError(exec, TypeError); + JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); + InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); + int callId = args.at(0).toInt32(exec); + int nodeId = args.at(1).toInt32(exec); + + imp->getEventListenersForNode(callId, nodeId); + return jsUndefined(); +} + +JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCopyNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSInspectorBackend::s_info)) + return throwError(exec, TypeError); + JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); + InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); + int nodeId = args.at(0).toInt32(exec); + + imp->copyNode(nodeId); + return jsUndefined(); +} + +JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetCookies(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSInspectorBackend::s_info)) + return throwError(exec, TypeError); + JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); + InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); + int callId = args.at(0).toInt32(exec); + + imp->getCookies(callId); + return jsUndefined(); +} + +JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDeleteCookie(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSInspectorBackend::s_info)) + return throwError(exec, TypeError); + JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue)); + InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl()); + const UString& cookieName = args.at(0).toString(exec); + + imp->deleteCookie(cookieName); + return jsUndefined(); +} + JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionNodeForId(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h index fec9031..5e2239f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h +++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h @@ -33,7 +33,7 @@ class InspectorBackend; class JSInspectorBackend : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSInspectorBackend(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<InspectorBackend>); + JSInspectorBackend(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<InspectorBackend>); virtual ~JSInspectorBackend(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -85,7 +85,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSInspectorBackendPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSInspectorBackendPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions @@ -121,8 +121,6 @@ JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResourceTrackingEn JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); -JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetCookies(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); -JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDeleteCookie(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); @@ -148,6 +146,10 @@ JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetChildNodes(JSC: JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionRemoveAttribute(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetTextNodeValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetEventListenersForNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCopyNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionGetCookies(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDeleteCookie(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionNodeForId(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWrapObject(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionUnwrapObject(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp index 212ed59..798d540 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp @@ -93,7 +93,7 @@ bool JSJavaScriptCallFramePrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", 0, &JSJavaScriptCallFrameTable, 0 }; -JSJavaScriptCallFrame::JSJavaScriptCallFrame(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JavaScriptCallFrame> impl) +JSJavaScriptCallFrame::JSJavaScriptCallFrame(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JavaScriptCallFrame> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h index bd63cf5..c958ee0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h +++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h @@ -35,7 +35,7 @@ class JavaScriptCallFrame; class JSJavaScriptCallFrame : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSJavaScriptCallFrame(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JavaScriptCallFrame>); + JSJavaScriptCallFrame(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JavaScriptCallFrame>); virtual ~JSJavaScriptCallFrame(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -77,7 +77,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSJavaScriptCallFramePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSJavaScriptCallFramePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp index 3d28a47..90d964d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp @@ -135,7 +135,7 @@ bool JSKeyboardEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSKeyboardEvent::s_info = { "KeyboardEvent", &JSUIEvent::s_info, &JSKeyboardEventTable, 0 }; -JSKeyboardEvent::JSKeyboardEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<KeyboardEvent> impl) +JSKeyboardEvent::JSKeyboardEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<KeyboardEvent> impl) : JSUIEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h index 1061c26..c1567b8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h @@ -30,7 +30,7 @@ class KeyboardEvent; class JSKeyboardEvent : public JSUIEvent { typedef JSUIEvent Base; public: - JSKeyboardEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<KeyboardEvent>); + JSKeyboardEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<KeyboardEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSKeyboardEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSKeyboardEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp index 0889e16..ca21205 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp @@ -100,7 +100,7 @@ void JSLocationPrototype::put(ExecState* exec, const Identifier& propertyName, J const ClassInfo JSLocation::s_info = { "Location", 0, &JSLocationTable, 0 }; -JSLocation::JSLocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Location> impl) +JSLocation::JSLocation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Location> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.h b/src/3rdparty/webkit/WebCore/generated/JSLocation.h index 8db2969..ecdeffc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSLocation.h +++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.h @@ -33,7 +33,7 @@ class Location; class JSLocation : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSLocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Location>); + JSLocation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Location>); virtual ~JSLocation(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -93,7 +93,7 @@ public: virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); bool putDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::JSValue, JSC::PutPropertySlot&); virtual void defineGetter(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSObject* getterFunction, unsigned attributes); - JSLocationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSLocationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp b/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp index 8106ab4..6f18ed0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp @@ -127,7 +127,7 @@ bool JSMediaPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifie const ClassInfo JSMedia::s_info = { "Media", 0, &JSMediaTable, 0 }; -JSMedia::JSMedia(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Media> impl) +JSMedia::JSMedia(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Media> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMedia.h b/src/3rdparty/webkit/WebCore/generated/JSMedia.h index d59673b..5a08af2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMedia.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMedia.h @@ -33,7 +33,7 @@ class Media; class JSMedia : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMedia(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Media>); + JSMedia(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Media>); virtual ~JSMedia(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMediaPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMediaPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp index 43640f3..a1bc33e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp @@ -135,7 +135,7 @@ bool JSMediaErrorPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSMediaError::s_info = { "MediaError", 0, &JSMediaErrorTable, 0 }; -JSMediaError::JSMediaError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaError> impl) +JSMediaError::JSMediaError(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaError> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h index 519a7d6..9dfecd3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h @@ -35,7 +35,7 @@ class MediaError; class JSMediaError : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMediaError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaError>); + JSMediaError(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaError>); virtual ~JSMediaError(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMediaErrorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMediaErrorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp index 04d30bb..1167ae5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp @@ -131,7 +131,7 @@ bool JSMediaListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSMediaList::s_info = { "MediaList", 0, &JSMediaListTable, 0 }; -JSMediaList::JSMediaList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaList> impl) +JSMediaList::JSMediaList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h index b32485f..a37501d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h @@ -33,7 +33,7 @@ class MediaList; class JSMediaList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMediaList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaList>); + JSMediaList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaList>); virtual ~JSMediaList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMediaListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMediaListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp index d851688..4fdac64 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp @@ -79,7 +79,7 @@ static const HashTable* getJSMessageChannelTable(ExecState* exec) } const ClassInfo JSMessageChannel::s_info = { "MessageChannel", 0, 0, getJSMessageChannelTable }; -JSMessageChannel::JSMessageChannel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageChannel> impl) +JSMessageChannel::JSMessageChannel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageChannel> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h index 216fbac..63503fc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h @@ -33,7 +33,7 @@ class MessageChannel; class JSMessageChannel : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMessageChannel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageChannel>); + JSMessageChannel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageChannel>); virtual ~JSMessageChannel(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -67,7 +67,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSMessageChannelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMessageChannelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp index 0c3c47b..2867a17 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp @@ -141,7 +141,7 @@ static const HashTable* getJSMessageEventTable(ExecState* exec) } const ClassInfo JSMessageEvent::s_info = { "MessageEvent", &JSEvent::s_info, 0, getJSMessageEventTable }; -JSMessageEvent::JSMessageEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageEvent> impl) +JSMessageEvent::JSMessageEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h index 070fb31..1cb3562 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h @@ -30,7 +30,7 @@ class MessageEvent; class JSMessageEvent : public JSEvent { typedef JSEvent Base; public: - JSMessageEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageEvent>); + JSMessageEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -64,7 +64,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMessageEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMessageEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp index a532d51..2f84364 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp @@ -146,7 +146,7 @@ static const HashTable* getJSMessagePortTable(ExecState* exec) } const ClassInfo JSMessagePort::s_info = { "MessagePort", 0, 0, getJSMessagePortTable }; -JSMessagePort::JSMessagePort(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessagePort> impl) +JSMessagePort::JSMessagePort(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessagePort> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -179,7 +179,7 @@ JSValue jsMessagePortOnmessage(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); MessagePort* imp = static_cast<MessagePort*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h index ce6274e..6c6e94e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h @@ -33,7 +33,7 @@ class MessagePort; class JSMessagePort : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMessagePort(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessagePort>); + JSMessagePort(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessagePort>); virtual ~JSMessagePort(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSMessagePortPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMessagePortPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp index 458d7d7..1f97845 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp @@ -120,7 +120,7 @@ JSObject* JSMimeTypePrototype::self(ExecState* exec, JSGlobalObject* globalObjec const ClassInfo JSMimeType::s_info = { "MimeType", 0, &JSMimeTypeTable, 0 }; -JSMimeType::JSMimeType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeType> impl) +JSMimeType::JSMimeType(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeType> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h index 5f0dc2d..9c4d1e3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h @@ -33,7 +33,7 @@ class MimeType; class JSMimeType : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMimeType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeType>); + JSMimeType(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeType>); virtual ~JSMimeType(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSMimeTypePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMimeTypePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp index 79f7bce..1a7f06b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp @@ -131,7 +131,7 @@ bool JSMimeTypeArrayPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSMimeTypeArray::s_info = { "MimeTypeArray", 0, &JSMimeTypeArrayTable, 0 }; -JSMimeTypeArray::JSMimeTypeArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeTypeArray> impl) +JSMimeTypeArray::JSMimeTypeArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeTypeArray> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h index c95fe3c..1fe01bb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h @@ -33,7 +33,7 @@ class MimeTypeArray; class JSMimeTypeArray : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSMimeTypeArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeTypeArray>); + JSMimeTypeArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeTypeArray>); virtual ~JSMimeTypeArray(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMimeTypeArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMimeTypeArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp index 0cfbfd5..9b2220b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp @@ -149,7 +149,7 @@ bool JSMouseEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSMouseEvent::s_info = { "MouseEvent", &JSUIEvent::s_info, &JSMouseEventTable, 0 }; -JSMouseEvent::JSMouseEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MouseEvent> impl) +JSMouseEvent::JSMouseEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MouseEvent> impl) : JSUIEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h index 968edb1..b13d5e6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h @@ -30,7 +30,7 @@ class MouseEvent; class JSMouseEvent : public JSUIEvent { typedef JSUIEvent Base; public: - JSMouseEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MouseEvent>); + JSMouseEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MouseEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMouseEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMouseEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp index 6cbf4b0..cb47db7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp @@ -140,7 +140,7 @@ bool JSMutationEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSMutationEvent::s_info = { "MutationEvent", &JSEvent::s_info, &JSMutationEventTable, 0 }; -JSMutationEvent::JSMutationEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MutationEvent> impl) +JSMutationEvent::JSMutationEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MutationEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h index fb609ae..4a06315 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h @@ -30,7 +30,7 @@ class MutationEvent; class JSMutationEvent : public JSEvent { typedef JSEvent Base; public: - JSMutationEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MutationEvent>); + JSMutationEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MutationEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSMutationEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSMutationEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp index a9b9e44..eafaee1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp @@ -136,7 +136,7 @@ bool JSNamedNodeMapPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSNamedNodeMap::s_info = { "NamedNodeMap", 0, &JSNamedNodeMapTable, 0 }; -JSNamedNodeMap::JSNamedNodeMap(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NamedNodeMap> impl) +JSNamedNodeMap::JSNamedNodeMap(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NamedNodeMap> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h index 3b73a2d..6ea0e2f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h @@ -33,7 +33,7 @@ class NamedNodeMap; class JSNamedNodeMap : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNamedNodeMap(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NamedNodeMap>); + JSNamedNodeMap(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NamedNodeMap>); virtual ~JSNamedNodeMap(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -47,6 +47,8 @@ public: return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } + virtual void markChildren(JSC::MarkStack&); + virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&); static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*); NamedNodeMap* impl() const { return m_impl.get(); } @@ -72,9 +74,9 @@ public: virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&); static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype) { - return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); + return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSNamedNodeMapPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNamedNodeMapPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp index cdb2d38..6dcda62 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp @@ -100,7 +100,7 @@ bool JSNavigatorPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSNavigator::s_info = { "Navigator", 0, &JSNavigatorTable, 0 }; -JSNavigator::JSNavigator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Navigator> impl) +JSNavigator::JSNavigator(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Navigator> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h index 08706b2..ec14055 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h @@ -33,7 +33,7 @@ class Navigator; class JSNavigator : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNavigator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Navigator>); + JSNavigator(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Navigator>); virtual ~JSNavigator(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSNavigatorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNavigatorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp index beb059e..8ae675c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp @@ -209,7 +209,7 @@ bool JSNodePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier const ClassInfo JSNode::s_info = { "Node", 0, &JSNodeTable, 0 }; -JSNode::JSNode(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Node> impl) +JSNode::JSNode(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Node> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.h b/src/3rdparty/webkit/WebCore/generated/JSNode.h index 33410d6..2275f39 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNode.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNode.h @@ -35,7 +35,7 @@ class Node; class JSNode : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNode(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Node>); + JSNode(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Node>); virtual ~JSNode(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -94,7 +94,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSNodePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNodePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp index 37c4367..c50caf8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp @@ -156,7 +156,7 @@ bool JSNodeFilterPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSNodeFilter::s_info = { "NodeFilter", 0, &JSNodeFilterTable, 0 }; -JSNodeFilter::JSNodeFilter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeFilter> impl) +JSNodeFilter::JSNodeFilter(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeFilter> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h index 03d0b85..48eb6b4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h @@ -33,7 +33,7 @@ class NodeFilter; class JSNodeFilter : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNodeFilter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeFilter>); + JSNodeFilter(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeFilter>); virtual ~JSNodeFilter(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -73,7 +73,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSNodeFilterPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNodeFilterPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp index 324be0f..89ea643 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp @@ -137,7 +137,7 @@ bool JSNodeIteratorPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSNodeIterator::s_info = { "NodeIterator", 0, &JSNodeIteratorTable, 0 }; -JSNodeIterator::JSNodeIterator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeIterator> impl) +JSNodeIterator::JSNodeIterator(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeIterator> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h index a030f7d..21902e5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h @@ -33,7 +33,7 @@ class NodeIterator; class JSNodeIterator : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNodeIterator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeIterator>); + JSNodeIterator(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeIterator>); virtual ~JSNodeIterator(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSNodeIteratorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNodeIteratorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp index fe6f6ca..be3bf91 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp @@ -131,7 +131,7 @@ bool JSNodeListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSNodeList::s_info = { "NodeList", 0, &JSNodeListTable, 0 }; -JSNodeList::JSNodeList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeList> impl) +JSNodeList::JSNodeList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h index 9947754..82e1cb6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h @@ -34,7 +34,7 @@ class NodeList; class JSNodeList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSNodeList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeList>); + JSNodeList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeList>); virtual ~JSNodeList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -77,7 +77,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSNodeListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNodeListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp index 8377987..60a04fa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp @@ -115,7 +115,7 @@ JSObject* JSNotationPrototype::self(ExecState* exec, JSGlobalObject* globalObjec const ClassInfo JSNotation::s_info = { "Notation", &JSNode::s_info, &JSNotationTable, 0 }; -JSNotation::JSNotation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Notation> impl) +JSNotation::JSNotation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Notation> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.h b/src/3rdparty/webkit/WebCore/generated/JSNotation.h index bd23be1..71fd2d8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSNotation.h +++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.h @@ -30,7 +30,7 @@ class Notation; class JSNotation : public JSNode { typedef JSNode Base; public: - JSNotation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Notation>); + JSNotation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Notation>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSNotationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSNotationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp index 215853b..26bd08e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp @@ -134,7 +134,7 @@ bool JSOverflowEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSOverflowEvent::s_info = { "OverflowEvent", &JSEvent::s_info, &JSOverflowEventTable, 0 }; -JSOverflowEvent::JSOverflowEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<OverflowEvent> impl) +JSOverflowEvent::JSOverflowEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<OverflowEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h index 2b75c9d..8e2fb7f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h @@ -30,7 +30,7 @@ class OverflowEvent; class JSOverflowEvent : public JSEvent { typedef JSEvent Base; public: - JSOverflowEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<OverflowEvent>); + JSOverflowEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<OverflowEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSOverflowEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSOverflowEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.cpp index 4e365d0..254d0e9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.cpp @@ -125,7 +125,7 @@ bool JSPageTransitionEventPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSPageTransitionEvent::s_info = { "PageTransitionEvent", &JSEvent::s_info, &JSPageTransitionEventTable, 0 }; -JSPageTransitionEvent::JSPageTransitionEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PageTransitionEvent> impl) +JSPageTransitionEvent::JSPageTransitionEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PageTransitionEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.h b/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.h index 5f9cd3b..5829b8d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.h @@ -30,7 +30,7 @@ class PageTransitionEvent; class JSPageTransitionEvent : public JSEvent { typedef JSEvent Base; public: - JSPageTransitionEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PageTransitionEvent>); + JSPageTransitionEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PageTransitionEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSPageTransitionEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSPageTransitionEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp index 1416a74..1c4b9a6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp @@ -136,7 +136,7 @@ bool JSPluginPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifi const ClassInfo JSPlugin::s_info = { "Plugin", 0, &JSPluginTable, 0 }; -JSPlugin::JSPlugin(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Plugin> impl) +JSPlugin::JSPlugin(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Plugin> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h index e0860f8..98de1de 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h +++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h @@ -33,7 +33,7 @@ class Plugin; class JSPlugin : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSPlugin(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Plugin>); + JSPlugin(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Plugin>); virtual ~JSPlugin(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSPluginPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSPluginPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp index 436b924..0e8eec0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp @@ -132,7 +132,7 @@ bool JSPluginArrayPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSPluginArray::s_info = { "PluginArray", 0, &JSPluginArrayTable, 0 }; -JSPluginArray::JSPluginArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PluginArray> impl) +JSPluginArray::JSPluginArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PluginArray> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h index cc2ec61..859aefb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h +++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h @@ -33,7 +33,7 @@ class PluginArray; class JSPluginArray : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSPluginArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PluginArray>); + JSPluginArray(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PluginArray>); virtual ~JSPluginArray(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -74,7 +74,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSPluginArrayPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSPluginArrayPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp index 234481f..557c029 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp @@ -135,7 +135,7 @@ bool JSPositionErrorPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSPositionError::s_info = { "PositionError", 0, &JSPositionErrorTable, 0 }; -JSPositionError::JSPositionError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PositionError> impl) +JSPositionError::JSPositionError(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PositionError> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h index 30a1b69..7e680ae 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h +++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h @@ -33,7 +33,7 @@ class PositionError; class JSPositionError : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSPositionError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PositionError>); + JSPositionError(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PositionError>); virtual ~JSPositionError(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSPositionErrorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSPositionErrorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp index 13c47c2..267a269 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp @@ -118,7 +118,7 @@ JSObject* JSProcessingInstructionPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSProcessingInstruction::s_info = { "ProcessingInstruction", &JSNode::s_info, &JSProcessingInstructionTable, 0 }; -JSProcessingInstruction::JSProcessingInstruction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProcessingInstruction> impl) +JSProcessingInstruction::JSProcessingInstruction(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProcessingInstruction> impl) : JSNode(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h index c68d7f5..6780d2e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h +++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h @@ -30,7 +30,7 @@ class ProcessingInstruction; class JSProcessingInstruction : public JSNode { typedef JSNode Base; public: - JSProcessingInstruction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProcessingInstruction>); + JSProcessingInstruction(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProcessingInstruction>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSProcessingInstructionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSProcessingInstructionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp index 1d586f1..3b1caaa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp @@ -128,7 +128,7 @@ bool JSProgressEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSProgressEvent::s_info = { "ProgressEvent", &JSEvent::s_info, &JSProgressEventTable, 0 }; -JSProgressEvent::JSProgressEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProgressEvent> impl) +JSProgressEvent::JSProgressEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProgressEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h index f1e5670..c2c4877 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h @@ -30,7 +30,7 @@ class ProgressEvent; class JSProgressEvent : public JSEvent { typedef JSEvent Base; public: - JSProgressEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProgressEvent>); + JSProgressEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProgressEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSProgressEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSProgressEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp index b0bf6b4..5144543 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp @@ -117,7 +117,7 @@ JSObject* JSRGBColorPrototype::self(ExecState* exec, JSGlobalObject* globalObjec const ClassInfo JSRGBColor::s_info = { "RGBColor", 0, &JSRGBColorTable, 0 }; -JSRGBColor::JSRGBColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RGBColor> impl) +JSRGBColor::JSRGBColor(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RGBColor> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h index 008f316..d1425e4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h +++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h @@ -33,7 +33,7 @@ class RGBColor; class JSRGBColor : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSRGBColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RGBColor>); + JSRGBColor(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RGBColor>); virtual ~JSRGBColor(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSRGBColorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSRGBColorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp index 9968a29..d6d4d93 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp @@ -21,7 +21,11 @@ #include "config.h" #include "JSRange.h" +#include "ClientRect.h" +#include "ClientRectList.h" #include "DocumentFragment.h" +#include "JSClientRect.h" +#include "JSClientRectList.h" #include "JSDocumentFragment.h" #include "JSNode.h" #include "JSRange.h" @@ -114,7 +118,7 @@ bool JSRangeConstructor::getOwnPropertyDescriptor(ExecState* exec, const Identif /* Hash table for prototype */ -static const HashTableValue JSRangePrototypeTableValues[33] = +static const HashTableValue JSRangePrototypeTableValues[35] = { { "START_TO_START", DontDelete|ReadOnly, (intptr_t)jsRangeSTART_TO_START, (intptr_t)0 }, { "START_TO_END", DontDelete|ReadOnly, (intptr_t)jsRangeSTART_TO_END, (intptr_t)0 }, @@ -142,6 +146,8 @@ static const HashTableValue JSRangePrototypeTableValues[33] = { "cloneRange", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionCloneRange, (intptr_t)0 }, { "toString", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionToString, (intptr_t)0 }, { "detach", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionDetach, (intptr_t)0 }, + { "getClientRects", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionGetClientRects, (intptr_t)0 }, + { "getBoundingClientRect", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionGetBoundingClientRect, (intptr_t)0 }, { "createContextualFragment", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionCreateContextualFragment, (intptr_t)1 }, { "intersectsNode", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionIntersectsNode, (intptr_t)1 }, { "compareNode", DontDelete|Function, (intptr_t)jsRangePrototypeFunctionCompareNode, (intptr_t)1 }, @@ -155,7 +161,7 @@ static JSC_CONST_HASHTABLE HashTable JSRangePrototypeTable = #if ENABLE(PERFECT_HASH_SIZE) { 1023, JSRangePrototypeTableValues, 0 }; #else - { 72, 63, JSRangePrototypeTableValues, 0 }; + { 132, 127, JSRangePrototypeTableValues, 0 }; #endif const ClassInfo JSRangePrototype::s_info = { "RangePrototype", 0, &JSRangePrototypeTable, 0 }; @@ -177,7 +183,7 @@ bool JSRangePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifie const ClassInfo JSRange::s_info = { "Range", 0, &JSRangeTable, 0 }; -JSRange::JSRange(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Range> impl) +JSRange::JSRange(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Range> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -545,6 +551,32 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionDetach(ExecState* exec, JSObject*, return jsUndefined(); } +JSValue JSC_HOST_CALL jsRangePrototypeFunctionGetClientRects(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSRange::s_info)) + return throwError(exec, TypeError); + JSRange* castedThisObj = static_cast<JSRange*>(asObject(thisValue)); + Range* imp = static_cast<Range*>(castedThisObj->impl()); + + + JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getClientRects())); + return result; +} + +JSValue JSC_HOST_CALL jsRangePrototypeFunctionGetBoundingClientRect(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) +{ + UNUSED_PARAM(args); + if (!thisValue.inherits(&JSRange::s_info)) + return throwError(exec, TypeError); + JSRange* castedThisObj = static_cast<JSRange*>(asObject(thisValue)); + Range* imp = static_cast<Range*>(castedThisObj->impl()); + + + JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getBoundingClientRect())); + return result; +} + JSValue JSC_HOST_CALL jsRangePrototypeFunctionCreateContextualFragment(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.h b/src/3rdparty/webkit/WebCore/generated/JSRange.h index 1752888..b58a4bf 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRange.h +++ b/src/3rdparty/webkit/WebCore/generated/JSRange.h @@ -33,7 +33,7 @@ class Range; class JSRange : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSRange(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Range>); + JSRange(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Range>); virtual ~JSRange(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSRangePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSRangePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions @@ -91,6 +91,8 @@ JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionSurroundContents(JSC::ExecSta JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionCloneRange(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionToString(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionDetach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionGetClientRects(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); +JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionGetBoundingClientRect(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionCreateContextualFragment(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionIntersectsNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); JSC::JSValue JSC_HOST_CALL jsRangePrototypeFunctionCompareNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&); diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp index 29db9c0..5a975cc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp @@ -134,7 +134,7 @@ bool JSRangeExceptionPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSRangeException::s_info = { "RangeException", 0, &JSRangeExceptionTable, 0 }; -JSRangeException::JSRangeException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RangeException> impl) +JSRangeException::JSRangeException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RangeException> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h index f9520aa..162acb8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h @@ -33,7 +33,7 @@ class RangeException; class JSRangeException : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSRangeException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RangeException>); + JSRangeException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RangeException>); virtual ~JSRangeException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSRangeExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSRangeExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp index df9089d..84d20e4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp @@ -118,7 +118,7 @@ JSObject* JSRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject) const ClassInfo JSRect::s_info = { "Rect", 0, &JSRectTable, 0 }; -JSRect::JSRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Rect> impl) +JSRect::JSRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Rect> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.h b/src/3rdparty/webkit/WebCore/generated/JSRect.h index 3ed565d..cefef58 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSRect.h +++ b/src/3rdparty/webkit/WebCore/generated/JSRect.h @@ -33,7 +33,7 @@ class Rect; class JSRect : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Rect>); + JSRect(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Rect>); virtual ~JSRect(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSRectPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSRectPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp index acab07d..a318e1d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp @@ -75,7 +75,7 @@ JSObject* JSSQLErrorPrototype::self(ExecState* exec, JSGlobalObject* globalObjec const ClassInfo JSSQLError::s_info = { "SQLError", 0, &JSSQLErrorTable, 0 }; -JSSQLError::JSSQLError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLError> impl) +JSSQLError::JSSQLError(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLError> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h index 53941d4..9174130 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h @@ -35,7 +35,7 @@ class SQLError; class JSSQLError : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSQLError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLError>); + JSSQLError(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLError>); virtual ~JSSQLError(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSQLErrorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSQLErrorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp index d12399a..223de95 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp @@ -76,7 +76,7 @@ JSObject* JSSQLResultSetPrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSSQLResultSet::s_info = { "SQLResultSet", 0, &JSSQLResultSetTable, 0 }; -JSSQLResultSet::JSSQLResultSet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSet> impl) +JSSQLResultSet::JSSQLResultSet(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSet> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h index 3cea415..f463380 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h @@ -35,7 +35,7 @@ class SQLResultSet; class JSSQLResultSet : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSQLResultSet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSet>); + JSSQLResultSet(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSet>); virtual ~JSSQLResultSet(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSQLResultSetPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSQLResultSetPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp index 6253b97..dddf0c4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp @@ -84,7 +84,7 @@ bool JSSQLResultSetRowListPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSSQLResultSetRowList::s_info = { "SQLResultSetRowList", 0, &JSSQLResultSetRowListTable, 0 }; -JSSQLResultSetRowList::JSSQLResultSetRowList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSetRowList> impl) +JSSQLResultSetRowList::JSSQLResultSetRowList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSetRowList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h index 1d01f42..83df584 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h @@ -35,7 +35,7 @@ class SQLResultSetRowList; class JSSQLResultSetRowList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSQLResultSetRowList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSetRowList>); + JSSQLResultSetRowList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSetRowList>); virtual ~JSSQLResultSetRowList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSQLResultSetRowListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSQLResultSetRowListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp index 00f5649..c2c0e54 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp @@ -68,7 +68,7 @@ bool JSSQLTransactionPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSQLTransaction::s_info = { "SQLTransaction", 0, 0, 0 }; -JSSQLTransaction::JSSQLTransaction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLTransaction> impl) +JSSQLTransaction::JSSQLTransaction(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLTransaction> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h index 7da46d2..a3886d3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h @@ -35,7 +35,7 @@ class SQLTransaction; class JSSQLTransaction : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSQLTransaction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLTransaction>); + JSSQLTransaction(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLTransaction>); virtual ~JSSQLTransaction(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -65,7 +65,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSQLTransactionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSQLTransactionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp index 21fce8b..da1045d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp @@ -116,7 +116,7 @@ bool JSSVGAElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSSVGAElement::s_info = { "SVGAElement", &JSSVGElement::s_info, &JSSVGAElementTable, 0 }; -JSSVGAElement::JSSVGAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAElement> impl) +JSSVGAElement::JSSVGAElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h index 132aff6..f7d3cf9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h @@ -33,7 +33,7 @@ class SVGAElement; class JSSVGAElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAElement>); + JSSVGAElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGAElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp index 54d796f..40e8262 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp @@ -76,7 +76,7 @@ JSObject* JSSVGAltGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSSVGAltGlyphElement::s_info = { "SVGAltGlyphElement", &JSSVGTextPositioningElement::s_info, &JSSVGAltGlyphElementTable, 0 }; -JSSVGAltGlyphElement::JSSVGAltGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAltGlyphElement> impl) +JSSVGAltGlyphElement::JSSVGAltGlyphElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAltGlyphElement> impl) : JSSVGTextPositioningElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h index 59a246c..ac03bb4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h @@ -33,7 +33,7 @@ class SVGAltGlyphElement; class JSSVGAltGlyphElement : public JSSVGTextPositioningElement { typedef JSSVGTextPositioningElement Base; public: - JSSVGAltGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAltGlyphElement>); + JSSVGAltGlyphElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAltGlyphElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAltGlyphElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAltGlyphElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp index 22d0740..6c82779 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp @@ -145,7 +145,7 @@ bool JSSVGAnglePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSSVGAngle::s_info = { "SVGAngle", 0, &JSSVGAngleTable, 0 }; -JSSVGAngle::JSSVGAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAngle> impl, SVGElement* context) +JSSVGAngle::JSSVGAngle(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAngle> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h index 5348157..2630c3d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h @@ -36,7 +36,7 @@ class SVGAngle; class JSSVGAngle : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAngle>, SVGElement* context); + JSSVGAngle(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAngle>, SVGElement* context); virtual ~JSSVGAngle(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGAnglePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnglePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp index e6aa047..5e93bc8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGAnimateColorElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSSVGAnimateColorElement::s_info = { "SVGAnimateColorElement", &JSSVGAnimationElement::s_info, 0, 0 }; -JSSVGAnimateColorElement::JSSVGAnimateColorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateColorElement> impl) +JSSVGAnimateColorElement::JSSVGAnimateColorElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateColorElement> impl) : JSSVGAnimationElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h index 2a44d41..48cf5f7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h @@ -33,7 +33,7 @@ class SVGAnimateColorElement; class JSSVGAnimateColorElement : public JSSVGAnimationElement { typedef JSSVGAnimationElement Base; public: - JSSVGAnimateColorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateColorElement>); + JSSVGAnimateColorElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateColorElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimateColorElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimateColorElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp index a49dea6..74c1019 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGAnimateElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGAnimateElement::s_info = { "SVGAnimateElement", &JSSVGAnimationElement::s_info, 0, 0 }; -JSSVGAnimateElement::JSSVGAnimateElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateElement> impl) +JSSVGAnimateElement::JSSVGAnimateElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateElement> impl) : JSSVGAnimationElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h index 90937ca..e94048a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h @@ -33,7 +33,7 @@ class SVGAnimateElement; class JSSVGAnimateElement : public JSSVGAnimationElement { typedef JSSVGAnimationElement Base; public: - JSSVGAnimateElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateElement>); + JSSVGAnimateElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimateElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimateElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp index d5c70c0..fedfcbc 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGAnimateTransformElementPrototype::self(ExecState* exec, JSGlobalO const ClassInfo JSSVGAnimateTransformElement::s_info = { "SVGAnimateTransformElement", &JSSVGAnimationElement::s_info, 0, 0 }; -JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateTransformElement> impl) +JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateTransformElement> impl) : JSSVGAnimationElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h index fb8c1c3..0628bee 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h @@ -33,7 +33,7 @@ class SVGAnimateTransformElement; class JSSVGAnimateTransformElement : public JSSVGAnimationElement { typedef JSSVGAnimationElement Base; public: - JSSVGAnimateTransformElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateTransformElement>); + JSSVGAnimateTransformElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateTransformElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimateTransformElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimateTransformElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp index f54fda9..c09ce1c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedAnglePrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSSVGAnimatedAngle::s_info = { "SVGAnimatedAngle", 0, &JSSVGAnimatedAngleTable, 0 }; -JSSVGAnimatedAngle::JSSVGAnimatedAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context) +JSSVGAnimatedAngle::JSSVGAnimatedAngle(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h index ee4b15a..8b1be0b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedAngle : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedAngle>, SVGElement* context); + JSSVGAnimatedAngle(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedAngle>, SVGElement* context); virtual ~JSSVGAnimatedAngle(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedAnglePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedAnglePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp index 12c1822..fb3f4c8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp @@ -71,7 +71,7 @@ JSObject* JSSVGAnimatedBooleanPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSSVGAnimatedBoolean::s_info = { "SVGAnimatedBoolean", 0, &JSSVGAnimatedBooleanTable, 0 }; -JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context) +JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h index 31c227f..14f3208 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedBoolean : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedBoolean(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context); + JSSVGAnimatedBoolean(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context); virtual ~JSSVGAnimatedBoolean(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedBooleanPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedBooleanPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp index cabd34e..8fbe43e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGAnimatedEnumerationPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSSVGAnimatedEnumeration::s_info = { "SVGAnimatedEnumeration", 0, &JSSVGAnimatedEnumerationTable, 0 }; -JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context) +JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h index 4828ea1..b2a40c2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedEnumeration : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedEnumeration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context); + JSSVGAnimatedEnumeration(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context); virtual ~JSSVGAnimatedEnumeration(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedEnumerationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedEnumerationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp index d19f136..f52a51b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGAnimatedIntegerPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSSVGAnimatedInteger::s_info = { "SVGAnimatedInteger", 0, &JSSVGAnimatedIntegerTable, 0 }; -JSSVGAnimatedInteger::JSSVGAnimatedInteger(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context) +JSSVGAnimatedInteger::JSSVGAnimatedInteger(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h index b2ae6dc..4484335 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedInteger : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedInteger(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedInteger>, SVGElement* context); + JSSVGAnimatedInteger(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedInteger>, SVGElement* context); virtual ~JSSVGAnimatedInteger(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedIntegerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedIntegerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp index 851b70e..50826a7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGAnimatedLengthPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGAnimatedLength::s_info = { "SVGAnimatedLength", 0, &JSSVGAnimatedLengthTable, 0 }; -JSSVGAnimatedLength::JSSVGAnimatedLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context) +JSSVGAnimatedLength::JSSVGAnimatedLength(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h index c2458c1..7016f60 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedLength : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLength>, SVGElement* context); + JSSVGAnimatedLength(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLength>, SVGElement* context); virtual ~JSSVGAnimatedLength(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedLengthPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedLengthPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp index 6d403e3..b0c3743 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedLengthListPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGAnimatedLengthList::s_info = { "SVGAnimatedLengthList", 0, &JSSVGAnimatedLengthListTable, 0 }; -JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context) +JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h index 2b7d3b5..e95fb92 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedLengthList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context); + JSSVGAnimatedLengthList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context); virtual ~JSSVGAnimatedLengthList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedLengthListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedLengthListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp index 0ccd0c9..ef16117 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGAnimatedNumberPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGAnimatedNumber::s_info = { "SVGAnimatedNumber", 0, &JSSVGAnimatedNumberTable, 0 }; -JSSVGAnimatedNumber::JSSVGAnimatedNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context) +JSSVGAnimatedNumber::JSSVGAnimatedNumber(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h index 7b1797b..e33b50d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedNumber : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumber>, SVGElement* context); + JSSVGAnimatedNumber(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumber>, SVGElement* context); virtual ~JSSVGAnimatedNumber(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedNumberPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedNumberPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp index 756dd95..af11dbd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedNumberListPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGAnimatedNumberList::s_info = { "SVGAnimatedNumberList", 0, &JSSVGAnimatedNumberListTable, 0 }; -JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context) +JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h index 8089364..3729b0a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedNumberList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context); + JSSVGAnimatedNumberList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context); virtual ~JSSVGAnimatedNumberList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedNumberListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedNumberListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp index c21644e..53f0b60 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedPreserveAspectRatioPrototype::self(ExecState* exec, JSGlo const ClassInfo JSSVGAnimatedPreserveAspectRatio::s_info = { "SVGAnimatedPreserveAspectRatio", 0, &JSSVGAnimatedPreserveAspectRatioTable, 0 }; -JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context) +JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h index 5bca921..5a1feb6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedPreserveAspectRatio : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context); + JSSVGAnimatedPreserveAspectRatio(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context); virtual ~JSSVGAnimatedPreserveAspectRatio(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedPreserveAspectRatioPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedPreserveAspectRatioPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp index f2d6c6c..432a4d5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedRectPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSSVGAnimatedRect::s_info = { "SVGAnimatedRect", 0, &JSSVGAnimatedRectTable, 0 }; -JSSVGAnimatedRect::JSSVGAnimatedRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context) +JSSVGAnimatedRect::JSSVGAnimatedRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h index 79f1c24..7f9e25d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedRect : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedRect>, SVGElement* context); + JSSVGAnimatedRect(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedRect>, SVGElement* context); virtual ~JSSVGAnimatedRect(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedRectPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedRectPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp index ff997f8..c3ccd92 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp @@ -74,7 +74,7 @@ JSObject* JSSVGAnimatedStringPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGAnimatedString::s_info = { "SVGAnimatedString", 0, &JSSVGAnimatedStringTable, 0 }; -JSSVGAnimatedString::JSSVGAnimatedString(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedString> impl, SVGElement* context) +JSSVGAnimatedString::JSSVGAnimatedString(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedString> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h index be817be..b7d35e1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedString : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedString(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedString>, SVGElement* context); + JSSVGAnimatedString(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedString>, SVGElement* context); virtual ~JSSVGAnimatedString(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedStringPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedStringPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp index 2ac0fea..52b2395 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGAnimatedTransformListPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSSVGAnimatedTransformList::s_info = { "SVGAnimatedTransformList", 0, &JSSVGAnimatedTransformListTable, 0 }; -JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context) +JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h index d871e62..9917280 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h @@ -34,7 +34,7 @@ namespace WebCore { class JSSVGAnimatedTransformList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGAnimatedTransformList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context); + JSSVGAnimatedTransformList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context); virtual ~JSSVGAnimatedTransformList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGAnimatedTransformListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimatedTransformListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp index 6311dc7..cb48007 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp @@ -100,7 +100,7 @@ bool JSSVGAnimationElementPrototype::getOwnPropertyDescriptor(ExecState* exec, c const ClassInfo JSSVGAnimationElement::s_info = { "SVGAnimationElement", &JSSVGElement::s_info, &JSSVGAnimationElementTable, 0 }; -JSSVGAnimationElement::JSSVGAnimationElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimationElement> impl) +JSSVGAnimationElement::JSSVGAnimationElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimationElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h index 794e7f9..f0d421d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h @@ -33,7 +33,7 @@ class SVGAnimationElement; class JSSVGAnimationElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGAnimationElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimationElement>); + JSSVGAnimationElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimationElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGAnimationElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGAnimationElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp index f38a8b1..49859f6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp @@ -118,7 +118,7 @@ bool JSSVGCircleElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGCircleElement::s_info = { "SVGCircleElement", &JSSVGElement::s_info, &JSSVGCircleElementTable, 0 }; -JSSVGCircleElement::JSSVGCircleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCircleElement> impl) +JSSVGCircleElement::JSSVGCircleElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCircleElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h index 606d1ea..8c609b5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h @@ -33,7 +33,7 @@ class SVGCircleElement; class JSSVGCircleElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGCircleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCircleElement>); + JSSVGCircleElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCircleElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGCircleElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGCircleElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp index e487399..07a73e0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp @@ -116,7 +116,7 @@ bool JSSVGClipPathElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGClipPathElement::s_info = { "SVGClipPathElement", &JSSVGElement::s_info, &JSSVGClipPathElementTable, 0 }; -JSSVGClipPathElement::JSSVGClipPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGClipPathElement> impl) +JSSVGClipPathElement::JSSVGClipPathElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGClipPathElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h index f190920..2dcb7f2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h @@ -33,7 +33,7 @@ class SVGClipPathElement; class JSSVGClipPathElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGClipPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGClipPathElement>); + JSSVGClipPathElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGClipPathElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGClipPathElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGClipPathElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp index b91ba1f..d60e65d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp @@ -142,7 +142,7 @@ bool JSSVGColorPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSSVGColor::s_info = { "SVGColor", &JSCSSValue::s_info, &JSSVGColorTable, 0 }; -JSSVGColor::JSSVGColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGColor> impl) +JSSVGColor::JSSVGColor(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGColor> impl) : JSCSSValue(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h index 8df68dd..03f5c31 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h @@ -33,7 +33,7 @@ class SVGColor; class JSSVGColor : public JSCSSValue { typedef JSCSSValue Base; public: - JSSVGColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGColor>); + JSSVGColor(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGColor>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGColorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGColorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp index 842a2aa..e37e52e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp @@ -147,7 +147,7 @@ bool JSSVGComponentTransferFunctionElementPrototype::getOwnPropertyDescriptor(Ex const ClassInfo JSSVGComponentTransferFunctionElement::s_info = { "SVGComponentTransferFunctionElement", &JSSVGElement::s_info, &JSSVGComponentTransferFunctionElementTable, 0 }; -JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGComponentTransferFunctionElement> impl) +JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGComponentTransferFunctionElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h index 48b858e..bda4119 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h @@ -33,7 +33,7 @@ class SVGComponentTransferFunctionElement; class JSSVGComponentTransferFunctionElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGComponentTransferFunctionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGComponentTransferFunctionElement>); + JSSVGComponentTransferFunctionElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGComponentTransferFunctionElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGComponentTransferFunctionElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGComponentTransferFunctionElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp index 3846aea..80c0c0e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp @@ -94,7 +94,7 @@ bool JSSVGCursorElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGCursorElement::s_info = { "SVGCursorElement", &JSSVGElement::s_info, &JSSVGCursorElementTable, 0 }; -JSSVGCursorElement::JSSVGCursorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCursorElement> impl) +JSSVGCursorElement::JSSVGCursorElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCursorElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h index 967a398..137803a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h @@ -33,7 +33,7 @@ class SVGCursorElement; class JSSVGCursorElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGCursorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCursorElement>); + JSSVGCursorElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCursorElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGCursorElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGCursorElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp index 4c493c4..4ff5cf8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp @@ -114,7 +114,7 @@ bool JSSVGDefsElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGDefsElement::s_info = { "SVGDefsElement", &JSSVGElement::s_info, &JSSVGDefsElementTable, 0 }; -JSSVGDefsElement::JSSVGDefsElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefsElement> impl) +JSSVGDefsElement::JSSVGDefsElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefsElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h index aefa6aa..522d278 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h @@ -33,7 +33,7 @@ class SVGDefsElement; class JSSVGDefsElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGDefsElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefsElement>); + JSSVGDefsElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefsElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGDefsElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGDefsElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp index 6cfa649..1c566c8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp @@ -94,7 +94,7 @@ bool JSSVGDescElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGDescElement::s_info = { "SVGDescElement", &JSSVGElement::s_info, &JSSVGDescElementTable, 0 }; -JSSVGDescElement::JSSVGDescElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDescElement> impl) +JSSVGDescElement::JSSVGDescElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDescElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h index 2f34a23..920127b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h @@ -33,7 +33,7 @@ class SVGDescElement; class JSSVGDescElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGDescElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDescElement>); + JSSVGDescElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDescElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGDescElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGDescElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp index f0f6d2a..15632fb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp @@ -87,7 +87,7 @@ bool JSSVGDocumentPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSSVGDocument::s_info = { "SVGDocument", &JSDocument::s_info, &JSSVGDocumentTable, 0 }; -JSSVGDocument::JSSVGDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDocument> impl) +JSSVGDocument::JSSVGDocument(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDocument> impl) : JSDocument(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h index fc38a2f..830952b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h @@ -33,7 +33,7 @@ class SVGDocument; class JSSVGDocument : public JSDocument { typedef JSDocument Base; public: - JSSVGDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDocument>); + JSSVGDocument(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDocument>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGDocumentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGDocumentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp index 208d2ae..2278043 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp @@ -79,7 +79,7 @@ JSObject* JSSVGElementPrototype::self(ExecState* exec, JSGlobalObject* globalObj const ClassInfo JSSVGElement::s_info = { "SVGElement", &JSElement::s_info, &JSSVGElementTable, 0 }; -JSSVGElement::JSSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> impl) +JSSVGElement::JSSVGElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> impl) : JSElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h index 4358599..39b1660 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h @@ -33,7 +33,7 @@ class SVGElement; class JSSVGElement : public JSElement { typedef JSElement Base; public: - JSSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElement>); + JSSVGElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp index 3c611c3..10d375d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp @@ -145,7 +145,7 @@ bool JSSVGElementInstancePrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGElementInstance::s_info = { "SVGElementInstance", 0, &JSSVGElementInstanceTable, 0 }; -JSSVGElementInstance::JSSVGElementInstance(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstance> impl) +JSSVGElementInstance::JSSVGElementInstance(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstance> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -241,7 +241,7 @@ JSValue jsSVGElementInstanceOnabort(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -253,7 +253,7 @@ JSValue jsSVGElementInstanceOnblur(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onblur()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -265,7 +265,7 @@ JSValue jsSVGElementInstanceOnchange(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onchange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -277,7 +277,7 @@ JSValue jsSVGElementInstanceOnclick(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -289,7 +289,7 @@ JSValue jsSVGElementInstanceOncontextmenu(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->oncontextmenu()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -301,7 +301,7 @@ JSValue jsSVGElementInstanceOndblclick(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondblclick()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -313,7 +313,7 @@ JSValue jsSVGElementInstanceOnerror(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -325,7 +325,7 @@ JSValue jsSVGElementInstanceOnfocus(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onfocus()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -337,7 +337,7 @@ JSValue jsSVGElementInstanceOninput(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->oninput()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -349,7 +349,7 @@ JSValue jsSVGElementInstanceOnkeydown(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onkeydown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -361,7 +361,7 @@ JSValue jsSVGElementInstanceOnkeypress(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onkeypress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -373,7 +373,7 @@ JSValue jsSVGElementInstanceOnkeyup(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onkeyup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -385,7 +385,7 @@ JSValue jsSVGElementInstanceOnload(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -397,7 +397,7 @@ JSValue jsSVGElementInstanceOnmousedown(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmousedown()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -409,7 +409,7 @@ JSValue jsSVGElementInstanceOnmousemove(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmousemove()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -421,7 +421,7 @@ JSValue jsSVGElementInstanceOnmouseout(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmouseout()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -433,7 +433,7 @@ JSValue jsSVGElementInstanceOnmouseover(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmouseover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -445,7 +445,7 @@ JSValue jsSVGElementInstanceOnmouseup(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmouseup()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -457,7 +457,7 @@ JSValue jsSVGElementInstanceOnmousewheel(ExecState* exec, const Identifier&, con UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onmousewheel()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -469,7 +469,7 @@ JSValue jsSVGElementInstanceOnbeforecut(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -481,7 +481,7 @@ JSValue jsSVGElementInstanceOncut(ExecState* exec, const Identifier&, const Prop UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->oncut()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -493,7 +493,7 @@ JSValue jsSVGElementInstanceOnbeforecopy(ExecState* exec, const Identifier&, con UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onbeforecopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -505,7 +505,7 @@ JSValue jsSVGElementInstanceOncopy(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->oncopy()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -517,7 +517,7 @@ JSValue jsSVGElementInstanceOnbeforepaste(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onbeforepaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -529,7 +529,7 @@ JSValue jsSVGElementInstanceOnpaste(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onpaste()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -541,7 +541,7 @@ JSValue jsSVGElementInstanceOndragenter(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondragenter()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -553,7 +553,7 @@ JSValue jsSVGElementInstanceOndragover(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondragover()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -565,7 +565,7 @@ JSValue jsSVGElementInstanceOndragleave(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondragleave()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -577,7 +577,7 @@ JSValue jsSVGElementInstanceOndrop(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondrop()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -589,7 +589,7 @@ JSValue jsSVGElementInstanceOndragstart(ExecState* exec, const Identifier&, cons UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondragstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -601,7 +601,7 @@ JSValue jsSVGElementInstanceOndrag(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondrag()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -613,7 +613,7 @@ JSValue jsSVGElementInstanceOndragend(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->ondragend()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -625,7 +625,7 @@ JSValue jsSVGElementInstanceOnreset(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onreset()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -637,7 +637,7 @@ JSValue jsSVGElementInstanceOnresize(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onresize()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -649,7 +649,7 @@ JSValue jsSVGElementInstanceOnscroll(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onscroll()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -661,7 +661,7 @@ JSValue jsSVGElementInstanceOnsearch(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onsearch()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -673,7 +673,7 @@ JSValue jsSVGElementInstanceOnselect(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onselect()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -685,7 +685,7 @@ JSValue jsSVGElementInstanceOnselectstart(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onselectstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -697,7 +697,7 @@ JSValue jsSVGElementInstanceOnsubmit(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onsubmit()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -709,7 +709,7 @@ JSValue jsSVGElementInstanceOnunload(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl()); if (EventListener* listener = imp->onunload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h index 7783d36..2ed2f72 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h @@ -36,7 +36,7 @@ class SVGElementInstance; class JSSVGElementInstance : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSVGElementInstance(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstance>); + JSSVGElementInstance(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstance>); virtual ~JSSVGElementInstance(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -79,7 +79,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSSVGElementInstancePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGElementInstancePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp index 66619a0..8bc5bc0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp @@ -86,7 +86,7 @@ bool JSSVGElementInstanceListPrototype::getOwnPropertyDescriptor(ExecState* exec const ClassInfo JSSVGElementInstanceList::s_info = { "SVGElementInstanceList", 0, &JSSVGElementInstanceListTable, 0 }; -JSSVGElementInstanceList::JSSVGElementInstanceList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstanceList> impl) +JSSVGElementInstanceList::JSSVGElementInstanceList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstanceList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h index 2fb2656..bfbebed 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h @@ -36,7 +36,7 @@ class SVGElementInstanceList; class JSSVGElementInstanceList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSSVGElementInstanceList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstanceList>); + JSSVGElementInstanceList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstanceList>); virtual ~JSSVGElementInstanceList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGElementInstanceListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGElementInstanceListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp index 0a2156e..0307240 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp @@ -119,7 +119,7 @@ bool JSSVGEllipseElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGEllipseElement::s_info = { "SVGEllipseElement", &JSSVGElement::s_info, &JSSVGEllipseElementTable, 0 }; -JSSVGEllipseElement::JSSVGEllipseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGEllipseElement> impl) +JSSVGEllipseElement::JSSVGEllipseElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGEllipseElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h index 3dae90a..477b037 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h @@ -33,7 +33,7 @@ class SVGEllipseElement; class JSSVGEllipseElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGEllipseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGEllipseElement>); + JSSVGEllipseElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGEllipseElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGEllipseElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGEllipseElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp index 38f4d0d..0b41188 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp @@ -139,7 +139,7 @@ bool JSSVGExceptionPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSSVGException::s_info = { "SVGException", 0, &JSSVGExceptionTable, 0 }; -JSSVGException::JSSVGException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGException> impl, SVGElement* context) +JSSVGException::JSSVGException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGException> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h index 2c41ba7..646f003 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h @@ -36,7 +36,7 @@ class SVGException; class JSSVGException : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGException>, SVGElement* context); + JSSVGException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGException>, SVGElement* context); virtual ~JSSVGException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp index bf961de..e7aebf9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp @@ -157,7 +157,7 @@ bool JSSVGFEBlendElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGFEBlendElement::s_info = { "SVGFEBlendElement", &JSSVGElement::s_info, &JSSVGFEBlendElementTable, 0 }; -JSSVGFEBlendElement::JSSVGFEBlendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEBlendElement> impl) +JSSVGFEBlendElement::JSSVGFEBlendElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEBlendElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h index 76eff2c..41cc90a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h @@ -33,7 +33,7 @@ class SVGFEBlendElement; class JSSVGFEBlendElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEBlendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEBlendElement>); + JSSVGFEBlendElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEBlendElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEBlendElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEBlendElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp index 6566c12..34252d9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp @@ -156,7 +156,7 @@ bool JSSVGFEColorMatrixElementPrototype::getOwnPropertyDescriptor(ExecState* exe const ClassInfo JSSVGFEColorMatrixElement::s_info = { "SVGFEColorMatrixElement", &JSSVGElement::s_info, &JSSVGFEColorMatrixElementTable, 0 }; -JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEColorMatrixElement> impl) +JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEColorMatrixElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h index 6a1334d..65b8b2a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h @@ -33,7 +33,7 @@ class SVGFEColorMatrixElement; class JSSVGFEColorMatrixElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEColorMatrixElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEColorMatrixElement>); + JSSVGFEColorMatrixElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEColorMatrixElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEColorMatrixElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEColorMatrixElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp index 79ebddf..f39674f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp @@ -97,7 +97,7 @@ bool JSSVGFEComponentTransferElementPrototype::getOwnPropertyDescriptor(ExecStat const ClassInfo JSSVGFEComponentTransferElement::s_info = { "SVGFEComponentTransferElement", &JSSVGElement::s_info, &JSSVGFEComponentTransferElementTable, 0 }; -JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEComponentTransferElement> impl) +JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEComponentTransferElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h index 8381619..71ca39c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h @@ -33,7 +33,7 @@ class SVGFEComponentTransferElement; class JSSVGFEComponentTransferElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEComponentTransferElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEComponentTransferElement>); + JSSVGFEComponentTransferElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEComponentTransferElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEComponentTransferElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEComponentTransferElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp index 973c76c..782be78 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp @@ -164,7 +164,7 @@ bool JSSVGFECompositeElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const ClassInfo JSSVGFECompositeElement::s_info = { "SVGFECompositeElement", &JSSVGElement::s_info, &JSSVGFECompositeElementTable, 0 }; -JSSVGFECompositeElement::JSSVGFECompositeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFECompositeElement> impl) +JSSVGFECompositeElement::JSSVGFECompositeElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFECompositeElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h index c13f009..ef165b9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h @@ -33,7 +33,7 @@ class SVGFECompositeElement; class JSSVGFECompositeElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFECompositeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFECompositeElement>); + JSSVGFECompositeElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFECompositeElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFECompositeElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFECompositeElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp index b8d72f8..86349cd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp @@ -102,7 +102,7 @@ bool JSSVGFEDiffuseLightingElementPrototype::getOwnPropertyDescriptor(ExecState* const ClassInfo JSSVGFEDiffuseLightingElement::s_info = { "SVGFEDiffuseLightingElement", &JSSVGElement::s_info, &JSSVGFEDiffuseLightingElementTable, 0 }; -JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDiffuseLightingElement> impl) +JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDiffuseLightingElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h index 0f4a120..87eac3d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h @@ -33,7 +33,7 @@ class SVGFEDiffuseLightingElement; class JSSVGFEDiffuseLightingElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEDiffuseLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDiffuseLightingElement>); + JSSVGFEDiffuseLightingElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDiffuseLightingElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEDiffuseLightingElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEDiffuseLightingElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp index 18e675e..c5f7fbb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp @@ -158,7 +158,7 @@ bool JSSVGFEDisplacementMapElementPrototype::getOwnPropertyDescriptor(ExecState* const ClassInfo JSSVGFEDisplacementMapElement::s_info = { "SVGFEDisplacementMapElement", &JSSVGElement::s_info, &JSSVGFEDisplacementMapElementTable, 0 }; -JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDisplacementMapElement> impl) +JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDisplacementMapElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h index 93261bf..39098b8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h @@ -33,7 +33,7 @@ class SVGFEDisplacementMapElement; class JSSVGFEDisplacementMapElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEDisplacementMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDisplacementMapElement>); + JSSVGFEDisplacementMapElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDisplacementMapElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEDisplacementMapElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEDisplacementMapElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp index e7dbe0a..858627d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGFEDistantLightElementPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSSVGFEDistantLightElement::s_info = { "SVGFEDistantLightElement", &JSSVGElement::s_info, &JSSVGFEDistantLightElementTable, 0 }; -JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDistantLightElement> impl) +JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDistantLightElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h index 4e05afb..810f1cd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h @@ -33,7 +33,7 @@ class SVGFEDistantLightElement; class JSSVGFEDistantLightElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEDistantLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDistantLightElement>); + JSSVGFEDistantLightElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDistantLightElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEDistantLightElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEDistantLightElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp index b592c33..2c331e3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp @@ -142,7 +142,7 @@ bool JSSVGFEFloodElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGFEFloodElement::s_info = { "SVGFEFloodElement", &JSSVGElement::s_info, &JSSVGFEFloodElementTable, 0 }; -JSSVGFEFloodElement::JSSVGFEFloodElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFloodElement> impl) +JSSVGFEFloodElement::JSSVGFEFloodElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFloodElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h index 4aeb0f3..a87b884 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h @@ -33,7 +33,7 @@ class SVGFEFloodElement; class JSSVGFEFloodElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEFloodElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFloodElement>); + JSSVGFEFloodElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFloodElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEFloodElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEFloodElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp index e91153e..c7072be 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFEFuncAElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGFEFuncAElement::s_info = { "SVGFEFuncAElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 }; -JSSVGFEFuncAElement::JSSVGFEFuncAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncAElement> impl) +JSSVGFEFuncAElement::JSSVGFEFuncAElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncAElement> impl) : JSSVGComponentTransferFunctionElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h index f7a84be..7956656 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h @@ -33,7 +33,7 @@ class SVGFEFuncAElement; class JSSVGFEFuncAElement : public JSSVGComponentTransferFunctionElement { typedef JSSVGComponentTransferFunctionElement Base; public: - JSSVGFEFuncAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncAElement>); + JSSVGFEFuncAElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncAElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEFuncAElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEFuncAElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp index 5475952..565dfcb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFEFuncBElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGFEFuncBElement::s_info = { "SVGFEFuncBElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 }; -JSSVGFEFuncBElement::JSSVGFEFuncBElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncBElement> impl) +JSSVGFEFuncBElement::JSSVGFEFuncBElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncBElement> impl) : JSSVGComponentTransferFunctionElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h index b3acd3b..d6c8c74 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h @@ -33,7 +33,7 @@ class SVGFEFuncBElement; class JSSVGFEFuncBElement : public JSSVGComponentTransferFunctionElement { typedef JSSVGComponentTransferFunctionElement Base; public: - JSSVGFEFuncBElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncBElement>); + JSSVGFEFuncBElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncBElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEFuncBElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEFuncBElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp index afbf091..536c121 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFEFuncGElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGFEFuncGElement::s_info = { "SVGFEFuncGElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 }; -JSSVGFEFuncGElement::JSSVGFEFuncGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncGElement> impl) +JSSVGFEFuncGElement::JSSVGFEFuncGElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncGElement> impl) : JSSVGComponentTransferFunctionElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h index 1b98d35..d9e1767 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h @@ -33,7 +33,7 @@ class SVGFEFuncGElement; class JSSVGFEFuncGElement : public JSSVGComponentTransferFunctionElement { typedef JSSVGComponentTransferFunctionElement Base; public: - JSSVGFEFuncGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncGElement>); + JSSVGFEFuncGElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncGElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEFuncGElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEFuncGElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp index a1df1b7..2f321f9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFEFuncRElementPrototype::self(ExecState* exec, JSGlobalObject* gl const ClassInfo JSSVGFEFuncRElement::s_info = { "SVGFEFuncRElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 }; -JSSVGFEFuncRElement::JSSVGFEFuncRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncRElement> impl) +JSSVGFEFuncRElement::JSSVGFEFuncRElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncRElement> impl) : JSSVGComponentTransferFunctionElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h index f427dfa..179a254 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h @@ -33,7 +33,7 @@ class SVGFEFuncRElement; class JSSVGFEFuncRElement : public JSSVGComponentTransferFunctionElement { typedef JSSVGComponentTransferFunctionElement Base; public: - JSSVGFEFuncRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncRElement>); + JSSVGFEFuncRElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncRElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEFuncRElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEFuncRElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp index 927487c..5302f91 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp @@ -101,7 +101,7 @@ bool JSSVGFEGaussianBlurElementPrototype::getOwnPropertyDescriptor(ExecState* ex const ClassInfo JSSVGFEGaussianBlurElement::s_info = { "SVGFEGaussianBlurElement", &JSSVGElement::s_info, &JSSVGFEGaussianBlurElementTable, 0 }; -JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEGaussianBlurElement> impl) +JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEGaussianBlurElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h index 9574b50..1227008 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h @@ -33,7 +33,7 @@ class SVGFEGaussianBlurElement; class JSSVGFEGaussianBlurElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEGaussianBlurElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEGaussianBlurElement>); + JSSVGFEGaussianBlurElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEGaussianBlurElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEGaussianBlurElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEGaussianBlurElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp index 97541b7..a2d2be6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp @@ -103,7 +103,7 @@ bool JSSVGFEImageElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGFEImageElement::s_info = { "SVGFEImageElement", &JSSVGElement::s_info, &JSSVGFEImageElementTable, 0 }; -JSSVGFEImageElement::JSSVGFEImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEImageElement> impl) +JSSVGFEImageElement::JSSVGFEImageElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEImageElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h index f3d98e4..a21a67b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h @@ -33,7 +33,7 @@ class SVGFEImageElement; class JSSVGFEImageElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEImageElement>); + JSSVGFEImageElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEImageElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEImageElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEImageElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp index b564ec5..37c6fd8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp @@ -96,7 +96,7 @@ bool JSSVGFEMergeElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGFEMergeElement::s_info = { "SVGFEMergeElement", &JSSVGElement::s_info, &JSSVGFEMergeElementTable, 0 }; -JSSVGFEMergeElement::JSSVGFEMergeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeElement> impl) +JSSVGFEMergeElement::JSSVGFEMergeElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h index 6d0769b..501ce85 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h @@ -33,7 +33,7 @@ class SVGFEMergeElement; class JSSVGFEMergeElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEMergeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeElement>); + JSSVGFEMergeElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEMergeElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEMergeElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp index 50f55bf..c128a14 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGFEMergeNodeElementPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGFEMergeNodeElement::s_info = { "SVGFEMergeNodeElement", &JSSVGElement::s_info, &JSSVGFEMergeNodeElementTable, 0 }; -JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeNodeElement> impl) +JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeNodeElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h index 6484423..5f055ee 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h @@ -33,7 +33,7 @@ class SVGFEMergeNodeElement; class JSSVGFEMergeNodeElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEMergeNodeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeNodeElement>); + JSSVGFEMergeNodeElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeNodeElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEMergeNodeElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEMergeNodeElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp index 82d29d1..baae276 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp @@ -100,7 +100,7 @@ bool JSSVGFEOffsetElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGFEOffsetElement::s_info = { "SVGFEOffsetElement", &JSSVGElement::s_info, &JSSVGFEOffsetElementTable, 0 }; -JSSVGFEOffsetElement::JSSVGFEOffsetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEOffsetElement> impl) +JSSVGFEOffsetElement::JSSVGFEOffsetElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEOffsetElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h index 9bb1b7a..0128ea8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h @@ -33,7 +33,7 @@ class SVGFEOffsetElement; class JSSVGFEOffsetElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEOffsetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEOffsetElement>); + JSSVGFEOffsetElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEOffsetElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFEOffsetElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEOffsetElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp index ebd49d5..18cd26b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp @@ -74,7 +74,7 @@ JSObject* JSSVGFEPointLightElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSSVGFEPointLightElement::s_info = { "SVGFEPointLightElement", &JSSVGElement::s_info, &JSSVGFEPointLightElementTable, 0 }; -JSSVGFEPointLightElement::JSSVGFEPointLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEPointLightElement> impl) +JSSVGFEPointLightElement::JSSVGFEPointLightElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEPointLightElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h index 1797583..89b64e9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h @@ -33,7 +33,7 @@ class SVGFEPointLightElement; class JSSVGFEPointLightElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFEPointLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEPointLightElement>); + JSSVGFEPointLightElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEPointLightElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFEPointLightElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFEPointLightElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp index bb41c92..0a3b923 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp @@ -101,7 +101,7 @@ bool JSSVGFESpecularLightingElementPrototype::getOwnPropertyDescriptor(ExecState const ClassInfo JSSVGFESpecularLightingElement::s_info = { "SVGFESpecularLightingElement", &JSSVGElement::s_info, &JSSVGFESpecularLightingElementTable, 0 }; -JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpecularLightingElement> impl) +JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpecularLightingElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h index c64b040..7ee5759 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h @@ -33,7 +33,7 @@ class SVGFESpecularLightingElement; class JSSVGFESpecularLightingElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFESpecularLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpecularLightingElement>); + JSSVGFESpecularLightingElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpecularLightingElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFESpecularLightingElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFESpecularLightingElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp index b466be1..f555c17 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp @@ -79,7 +79,7 @@ JSObject* JSSVGFESpotLightElementPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGFESpotLightElement::s_info = { "SVGFESpotLightElement", &JSSVGElement::s_info, &JSSVGFESpotLightElementTable, 0 }; -JSSVGFESpotLightElement::JSSVGFESpotLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpotLightElement> impl) +JSSVGFESpotLightElement::JSSVGFESpotLightElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpotLightElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h index 5ee6daa..aae0f88 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h @@ -33,7 +33,7 @@ class SVGFESpotLightElement; class JSSVGFESpotLightElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFESpotLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpotLightElement>); + JSSVGFESpotLightElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpotLightElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFESpotLightElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFESpotLightElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp index d3bdf20..2ee0839 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp @@ -97,7 +97,7 @@ bool JSSVGFETileElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGFETileElement::s_info = { "SVGFETileElement", &JSSVGElement::s_info, &JSSVGFETileElementTable, 0 }; -JSSVGFETileElement::JSSVGFETileElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETileElement> impl) +JSSVGFETileElement::JSSVGFETileElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETileElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h index 0c421d3c..ed9d87b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h @@ -33,7 +33,7 @@ class SVGFETileElement; class JSSVGFETileElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFETileElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETileElement>); + JSSVGFETileElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETileElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFETileElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFETileElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp index 3b44a5e..a302215 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp @@ -162,7 +162,7 @@ bool JSSVGFETurbulenceElementPrototype::getOwnPropertyDescriptor(ExecState* exec const ClassInfo JSSVGFETurbulenceElement::s_info = { "SVGFETurbulenceElement", &JSSVGElement::s_info, &JSSVGFETurbulenceElementTable, 0 }; -JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETurbulenceElement> impl) +JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETurbulenceElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h index f6309fb..f8c35f2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h @@ -33,7 +33,7 @@ class SVGFETurbulenceElement; class JSSVGFETurbulenceElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFETurbulenceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETurbulenceElement>); + JSSVGFETurbulenceElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETurbulenceElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFETurbulenceElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFETurbulenceElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp index 075497a..3346322 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp @@ -109,7 +109,7 @@ bool JSSVGFilterElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGFilterElement::s_info = { "SVGFilterElement", &JSSVGElement::s_info, &JSSVGFilterElementTable, 0 }; -JSSVGFilterElement::JSSVGFilterElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFilterElement> impl) +JSSVGFilterElement::JSSVGFilterElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFilterElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h index 8c73dba..343c406 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h @@ -33,7 +33,7 @@ class SVGFilterElement; class JSSVGFilterElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFilterElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFilterElement>); + JSSVGFilterElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFilterElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGFilterElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFilterElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp index 372b8e4..bf274c3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSSVGFontElement::s_info = { "SVGFontElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontElement::JSSVGFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontElement> impl) +JSSVGFontElement::JSSVGFontElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h index 65f86e4..289dc62 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h @@ -33,7 +33,7 @@ class SVGFontElement; class JSSVGFontElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontElement>); + JSSVGFontElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp index 2698127..4048562 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontFaceElementPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSSVGFontFaceElement::s_info = { "SVGFontFaceElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontFaceElement::JSSVGFontFaceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceElement> impl) +JSSVGFontFaceElement::JSSVGFontFaceElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h index 24829eb..84cda77 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h @@ -33,7 +33,7 @@ class SVGFontFaceElement; class JSSVGFontFaceElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontFaceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceElement>); + JSSVGFontFaceElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontFaceElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontFaceElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp index f4f772a..33dc1eb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontFaceFormatElementPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSSVGFontFaceFormatElement::s_info = { "SVGFontFaceFormatElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceFormatElement> impl) +JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceFormatElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h index e345b40..36f0094 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h @@ -33,7 +33,7 @@ class SVGFontFaceFormatElement; class JSSVGFontFaceFormatElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontFaceFormatElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceFormatElement>); + JSSVGFontFaceFormatElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceFormatElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontFaceFormatElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontFaceFormatElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp index 38df90f..b496283 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontFaceNameElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSSVGFontFaceNameElement::s_info = { "SVGFontFaceNameElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceNameElement> impl) +JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceNameElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h index 0aac6fd..8504888 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h @@ -33,7 +33,7 @@ class SVGFontFaceNameElement; class JSSVGFontFaceNameElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontFaceNameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceNameElement>); + JSSVGFontFaceNameElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceNameElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontFaceNameElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontFaceNameElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp index 349fcac..b423394 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontFaceSrcElementPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGFontFaceSrcElement::s_info = { "SVGFontFaceSrcElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceSrcElement> impl) +JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceSrcElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h index 6f2fec4..2fb2971 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h @@ -33,7 +33,7 @@ class SVGFontFaceSrcElement; class JSSVGFontFaceSrcElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontFaceSrcElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceSrcElement>); + JSSVGFontFaceSrcElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceSrcElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontFaceSrcElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontFaceSrcElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp index 78aadec..ded5957 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGFontFaceUriElementPrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSSVGFontFaceUriElement::s_info = { "SVGFontFaceUriElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceUriElement> impl) +JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceUriElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h index 27b1d34..e58cf9d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h @@ -33,7 +33,7 @@ class SVGFontFaceUriElement; class JSSVGFontFaceUriElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGFontFaceUriElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceUriElement>); + JSSVGFontFaceUriElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceUriElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGFontFaceUriElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGFontFaceUriElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp index 10ca1b3..4b2dc8d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp @@ -119,7 +119,7 @@ bool JSSVGForeignObjectElementPrototype::getOwnPropertyDescriptor(ExecState* exe const ClassInfo JSSVGForeignObjectElement::s_info = { "SVGForeignObjectElement", &JSSVGElement::s_info, &JSSVGForeignObjectElementTable, 0 }; -JSSVGForeignObjectElement::JSSVGForeignObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGForeignObjectElement> impl) +JSSVGForeignObjectElement::JSSVGForeignObjectElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGForeignObjectElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h index b58aae8..fa75e42 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h @@ -33,7 +33,7 @@ class SVGForeignObjectElement; class JSSVGForeignObjectElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGForeignObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGForeignObjectElement>); + JSSVGForeignObjectElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGForeignObjectElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGForeignObjectElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGForeignObjectElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp index 8aefd3a..20512fa 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp @@ -114,7 +114,7 @@ bool JSSVGGElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSSVGGElement::s_info = { "SVGGElement", &JSSVGElement::s_info, &JSSVGGElementTable, 0 }; -JSSVGGElement::JSSVGGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGElement> impl) +JSSVGGElement::JSSVGGElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h index 284c1df..b4885f9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h @@ -33,7 +33,7 @@ class SVGGElement; class JSSVGGElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGElement>); + JSSVGGElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGGElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGGElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp index 61ff924..254932c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSSVGGlyphElement::s_info = { "SVGGlyphElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGGlyphElement::JSSVGGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGlyphElement> impl) +JSSVGGlyphElement::JSSVGGlyphElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGlyphElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h index e2fc429..38834f0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h @@ -33,7 +33,7 @@ class SVGGlyphElement; class JSSVGGlyphElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGlyphElement>); + JSSVGGlyphElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGlyphElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGGlyphElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGGlyphElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp index 9af4bb9..7c9b33b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp @@ -151,7 +151,7 @@ bool JSSVGGradientElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGGradientElement::s_info = { "SVGGradientElement", &JSSVGElement::s_info, &JSSVGGradientElementTable, 0 }; -JSSVGGradientElement::JSSVGGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGradientElement> impl) +JSSVGGradientElement::JSSVGGradientElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGradientElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h index 5ddd6e7..dbfd6e0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h @@ -33,7 +33,7 @@ class SVGGradientElement; class JSSVGGradientElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGradientElement>); + JSSVGGradientElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGradientElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGGradientElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGGradientElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp index 1d45ade..41b6732 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGHKernElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSSVGHKernElement::s_info = { "SVGHKernElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGHKernElement::JSSVGHKernElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGHKernElement> impl) +JSSVGHKernElement::JSSVGHKernElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGHKernElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h index 6639fe0..17394ba 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h @@ -33,7 +33,7 @@ class SVGHKernElement; class JSSVGHKernElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGHKernElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGHKernElement>); + JSSVGHKernElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGHKernElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGHKernElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGHKernElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp index cd675d5..ce2ba87 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp @@ -122,7 +122,7 @@ bool JSSVGImageElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGImageElement::s_info = { "SVGImageElement", &JSSVGElement::s_info, &JSSVGImageElementTable, 0 }; -JSSVGImageElement::JSSVGImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGImageElement> impl) +JSSVGImageElement::JSSVGImageElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGImageElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h index 9631aca..7319718 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h @@ -33,7 +33,7 @@ class SVGImageElement; class JSSVGImageElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGImageElement>); + JSSVGImageElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGImageElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGImageElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGImageElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp index 2182164..0f545f8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp @@ -157,7 +157,7 @@ bool JSSVGLengthPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSSVGLength::s_info = { "SVGLength", 0, &JSSVGLengthTable, 0 }; -JSSVGLength::JSSVGLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context) +JSSVGLength::JSSVGLength(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h index de2c927..25f5729 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h @@ -36,7 +36,7 @@ namespace WebCore { class JSSVGLength : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context); + JSSVGLength(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context); virtual ~JSSVGLength(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -78,7 +78,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGLengthPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGLengthPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp index 349aa59..952a5f0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp @@ -92,7 +92,7 @@ bool JSSVGLengthListPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSSVGLengthList::s_info = { "SVGLengthList", 0, &JSSVGLengthListTable, 0 }; -JSSVGLengthList::JSSVGLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLengthList> impl, SVGElement* context) +JSSVGLengthList::JSSVGLengthList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLengthList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h index d51e341..7ed12ca 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h @@ -36,7 +36,7 @@ class SVGLengthList; class JSSVGLengthList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLengthList>, SVGElement* context); + JSSVGLengthList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLengthList>, SVGElement* context); virtual ~JSSVGLengthList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGLengthListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGLengthListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp index 9ab6c9f..ff05324 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp @@ -119,7 +119,7 @@ bool JSSVGLineElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGLineElement::s_info = { "SVGLineElement", &JSSVGElement::s_info, &JSSVGLineElementTable, 0 }; -JSSVGLineElement::JSSVGLineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLineElement> impl) +JSSVGLineElement::JSSVGLineElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLineElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h index 1ac4ed6..b9eeb3d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h @@ -33,7 +33,7 @@ class SVGLineElement; class JSSVGLineElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGLineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLineElement>); + JSSVGLineElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLineElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGLineElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGLineElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp index cadaec7..7246a8e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp @@ -75,7 +75,7 @@ JSObject* JSSVGLinearGradientElementPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSSVGLinearGradientElement::s_info = { "SVGLinearGradientElement", &JSSVGGradientElement::s_info, &JSSVGLinearGradientElementTable, 0 }; -JSSVGLinearGradientElement::JSSVGLinearGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLinearGradientElement> impl) +JSSVGLinearGradientElement::JSSVGLinearGradientElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLinearGradientElement> impl) : JSSVGGradientElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h index 104e1c4..e71ffe3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h @@ -33,7 +33,7 @@ class SVGLinearGradientElement; class JSSVGLinearGradientElement : public JSSVGGradientElement { typedef JSSVGGradientElement Base; public: - JSSVGLinearGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLinearGradientElement>); + JSSVGLinearGradientElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLinearGradientElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGLinearGradientElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGLinearGradientElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp index d8121e2..c712ba8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp @@ -170,7 +170,7 @@ bool JSSVGMarkerElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGMarkerElement::s_info = { "SVGMarkerElement", &JSSVGElement::s_info, &JSSVGMarkerElementTable, 0 }; -JSSVGMarkerElement::JSSVGMarkerElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMarkerElement> impl) +JSSVGMarkerElement::JSSVGMarkerElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMarkerElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h index 4298cf2..b70410d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h @@ -33,7 +33,7 @@ class SVGMarkerElement; class JSSVGMarkerElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGMarkerElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMarkerElement>); + JSSVGMarkerElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMarkerElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -62,7 +62,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGMarkerElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGMarkerElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp index 6ac9375..54c0a68 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp @@ -110,7 +110,7 @@ bool JSSVGMaskElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGMaskElement::s_info = { "SVGMaskElement", &JSSVGElement::s_info, &JSSVGMaskElementTable, 0 }; -JSSVGMaskElement::JSSVGMaskElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMaskElement> impl) +JSSVGMaskElement::JSSVGMaskElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMaskElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h index cf23acb..b391d02 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h @@ -33,7 +33,7 @@ class SVGMaskElement; class JSSVGMaskElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGMaskElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMaskElement>); + JSSVGMaskElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMaskElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGMaskElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGMaskElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp index 4f256da..ba8dfe8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp @@ -99,7 +99,7 @@ bool JSSVGMatrixPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSSVGMatrix::s_info = { "SVGMatrix", 0, &JSSVGMatrixTable, 0 }; -JSSVGMatrix::JSSVGMatrix(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context) +JSSVGMatrix::JSSVGMatrix(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h index e21b789..9c9ece7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h @@ -36,7 +36,7 @@ namespace WebCore { class JSSVGMatrix : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGMatrix(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context); + JSSVGMatrix(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context); virtual ~JSSVGMatrix(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -75,7 +75,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGMatrixPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGMatrixPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp index ee3f978..b3f5b25 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGMetadataElementPrototype::self(ExecState* exec, JSGlobalObject* g const ClassInfo JSSVGMetadataElement::s_info = { "SVGMetadataElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGMetadataElement::JSSVGMetadataElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMetadataElement> impl) +JSSVGMetadataElement::JSSVGMetadataElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMetadataElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h index f6d97ee..0195ff6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h @@ -33,7 +33,7 @@ class SVGMetadataElement; class JSSVGMetadataElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGMetadataElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMetadataElement>); + JSSVGMetadataElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMetadataElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGMetadataElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGMetadataElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp index 279a7c7..eed76cd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGMissingGlyphElementPrototype::self(ExecState* exec, JSGlobalObjec const ClassInfo JSSVGMissingGlyphElement::s_info = { "SVGMissingGlyphElement", &JSSVGElement::s_info, 0, 0 }; -JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMissingGlyphElement> impl) +JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMissingGlyphElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h index 035160a..d891881 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h @@ -33,7 +33,7 @@ class SVGMissingGlyphElement; class JSSVGMissingGlyphElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGMissingGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMissingGlyphElement>); + JSSVGMissingGlyphElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMissingGlyphElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGMissingGlyphElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGMissingGlyphElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp index 50137ef..2bfe658 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp @@ -71,7 +71,7 @@ JSObject* JSSVGNumberPrototype::self(ExecState* exec, JSGlobalObject* globalObje const ClassInfo JSSVGNumber::s_info = { "SVGNumber", 0, &JSSVGNumberTable, 0 }; -JSSVGNumber::JSSVGNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context) +JSSVGNumber::JSSVGNumber(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h index ac8fa05..4aaeaf9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h @@ -35,7 +35,7 @@ namespace WebCore { class JSSVGNumber : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context); + JSSVGNumber(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context); virtual ~JSSVGNumber(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -64,7 +64,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGNumberPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGNumberPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp index 4e0629e..dc6f5a4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp @@ -91,7 +91,7 @@ bool JSSVGNumberListPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSSVGNumberList::s_info = { "SVGNumberList", 0, &JSSVGNumberListTable, 0 }; -JSSVGNumberList::JSSVGNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGNumberList> impl, SVGElement* context) +JSSVGNumberList::JSSVGNumberList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGNumberList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h index 4f5fe3e..9dd4cb2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h @@ -36,7 +36,7 @@ class SVGNumberList; class JSSVGNumberList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGNumberList>, SVGElement* context); + JSSVGNumberList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGNumberList>, SVGElement* context); virtual ~JSSVGNumberList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGNumberListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGNumberListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp index f1a8922..1f86378 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp @@ -153,7 +153,7 @@ bool JSSVGPaintPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSSVGPaint::s_info = { "SVGPaint", &JSSVGColor::s_info, &JSSVGPaintTable, 0 }; -JSSVGPaint::JSSVGPaint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPaint> impl) +JSSVGPaint::JSSVGPaint(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPaint> impl) : JSSVGColor(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h index 3d00aee..7ef72ed 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h @@ -33,7 +33,7 @@ class SVGPaint; class JSSVGPaint : public JSSVGColor { typedef JSSVGColor Base; public: - JSSVGPaint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPaint>); + JSSVGPaint(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPaint>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPaintPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPaintPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp index 4248be6..8d9f234 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp @@ -175,7 +175,7 @@ bool JSSVGPathElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGPathElement::s_info = { "SVGPathElement", &JSSVGElement::s_info, &JSSVGPathElementTable, 0 }; -JSSVGPathElement::JSSVGPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathElement> impl) +JSSVGPathElement::JSSVGPathElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h index 69c0b65..64b0504 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h @@ -33,7 +33,7 @@ class SVGPathElement; class JSSVGPathElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathElement>); + JSSVGPathElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPathElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp index 611adf1..f31f795 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp @@ -170,7 +170,7 @@ bool JSSVGPathSegPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSSVGPathSeg::s_info = { "SVGPathSeg", 0, &JSSVGPathSegTable, 0 }; -JSSVGPathSeg::JSSVGPathSeg(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSeg> impl, SVGElement* context) +JSSVGPathSeg::JSSVGPathSeg(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSeg> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h index b7cb99a..d648d64 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h @@ -36,7 +36,7 @@ class SVGPathSeg; class JSSVGPathSeg : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGPathSeg(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSeg>, SVGElement* context); + JSSVGPathSeg(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSeg>, SVGElement* context); virtual ~JSSVGPathSeg(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPathSegPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp index 2548378..e073f75 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp @@ -78,7 +78,7 @@ JSObject* JSSVGPathSegArcAbsPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSSVGPathSegArcAbs::s_info = { "SVGPathSegArcAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegArcAbsTable, 0 }; -JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context) +JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h index 82f0574..6c99037 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h @@ -33,7 +33,7 @@ class SVGPathSegArcAbs; class JSSVGPathSegArcAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegArcAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context); + JSSVGPathSegArcAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegArcAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegArcAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp index cd41570..c848513 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp @@ -78,7 +78,7 @@ JSObject* JSSVGPathSegArcRelPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSSVGPathSegArcRel::s_info = { "SVGPathSegArcRel", &JSSVGPathSeg::s_info, &JSSVGPathSegArcRelTable, 0 }; -JSSVGPathSegArcRel::JSSVGPathSegArcRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context) +JSSVGPathSegArcRel::JSSVGPathSegArcRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h index 9d395ad..d6af11b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h @@ -33,7 +33,7 @@ class SVGPathSegArcRel; class JSSVGPathSegArcRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegArcRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcRel>, SVGElement* context); + JSSVGPathSegArcRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegArcRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegArcRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp index bb220e4..90c6dd2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGPathSegClosePathPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSSVGPathSegClosePath::s_info = { "SVGPathSegClosePath", &JSSVGPathSeg::s_info, 0, 0 }; -JSSVGPathSegClosePath::JSSVGPathSegClosePath(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context) +JSSVGPathSegClosePath::JSSVGPathSegClosePath(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h index 8a44528..a20af24 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h @@ -33,7 +33,7 @@ class SVGPathSegClosePath; class JSSVGPathSegClosePath : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegClosePath(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegClosePath>, SVGElement* context); + JSSVGPathSegClosePath(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegClosePath>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegClosePathPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegClosePathPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp index e7ceaf5..78008dd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp @@ -77,7 +77,7 @@ JSObject* JSSVGPathSegCurvetoCubicAbsPrototype::self(ExecState* exec, JSGlobalOb const ClassInfo JSSVGPathSegCurvetoCubicAbs::s_info = { "SVGPathSegCurvetoCubicAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicAbsTable, 0 }; -JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context) +JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h index 6a7ac39..ac4640f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicAbs; class JSSVGPathSegCurvetoCubicAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoCubicAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context); + JSSVGPathSegCurvetoCubicAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoCubicAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoCubicAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp index 3a9222c..f1e34a7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp @@ -77,7 +77,7 @@ JSObject* JSSVGPathSegCurvetoCubicRelPrototype::self(ExecState* exec, JSGlobalOb const ClassInfo JSSVGPathSegCurvetoCubicRel::s_info = { "SVGPathSegCurvetoCubicRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicRelTable, 0 }; -JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context) +JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h index 3246237..848cce1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicRel; class JSSVGPathSegCurvetoCubicRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoCubicRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context); + JSSVGPathSegCurvetoCubicRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoCubicRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoCubicRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp index b1acef9..3b26bfb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp @@ -75,7 +75,7 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothAbsPrototype::self(ExecState* exec, JSGl const ClassInfo JSSVGPathSegCurvetoCubicSmoothAbs::s_info = { "SVGPathSegCurvetoCubicSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothAbsTable, 0 }; -JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context) +JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h index ace4e3a..a54e166 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothAbs; class JSSVGPathSegCurvetoCubicSmoothAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context); + JSSVGPathSegCurvetoCubicSmoothAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoCubicSmoothAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoCubicSmoothAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp index c5aaeb6..a4ed8ad 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp @@ -75,7 +75,7 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothRelPrototype::self(ExecState* exec, JSGl const ClassInfo JSSVGPathSegCurvetoCubicSmoothRel::s_info = { "SVGPathSegCurvetoCubicSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothRelTable, 0 }; -JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context) +JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h index 39df37b..8b0463f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothRel; class JSSVGPathSegCurvetoCubicSmoothRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context); + JSSVGPathSegCurvetoCubicSmoothRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoCubicSmoothRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoCubicSmoothRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp index 3e415ac..e1a06d9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp @@ -75,7 +75,7 @@ JSObject* JSSVGPathSegCurvetoQuadraticAbsPrototype::self(ExecState* exec, JSGlob const ClassInfo JSSVGPathSegCurvetoQuadraticAbs::s_info = { "SVGPathSegCurvetoQuadraticAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticAbsTable, 0 }; -JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context) +JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h index aa55d0b..edb17bd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticAbs; class JSSVGPathSegCurvetoQuadraticAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context); + JSSVGPathSegCurvetoQuadraticAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoQuadraticAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoQuadraticAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp index 1bd92a3..52c3f37 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp @@ -75,7 +75,7 @@ JSObject* JSSVGPathSegCurvetoQuadraticRelPrototype::self(ExecState* exec, JSGlob const ClassInfo JSSVGPathSegCurvetoQuadraticRel::s_info = { "SVGPathSegCurvetoQuadraticRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticRelTable, 0 }; -JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context) +JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h index b6197f4..8286761 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticRel; class JSSVGPathSegCurvetoQuadraticRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context); + JSSVGPathSegCurvetoQuadraticRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoQuadraticRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoQuadraticRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp index ca5299c..24c024c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothAbsPrototype::self(ExecState* exec, const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothAbs::s_info = { "SVGPathSegCurvetoQuadraticSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothAbsTable, 0 }; -JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context) +JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h index 5cb6c06..9ffcea7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothAbs; class JSSVGPathSegCurvetoQuadraticSmoothAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context); + JSSVGPathSegCurvetoQuadraticSmoothAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoQuadraticSmoothAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoQuadraticSmoothAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp index 7a0bd04..85b570c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothRelPrototype::self(ExecState* exec, const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothRel::s_info = { "SVGPathSegCurvetoQuadraticSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothRelTable, 0 }; -JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context) +JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h index 9a81373..199fad7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h @@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothRel; class JSSVGPathSegCurvetoQuadraticSmoothRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context); + JSSVGPathSegCurvetoQuadraticSmoothRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegCurvetoQuadraticSmoothRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegCurvetoQuadraticSmoothRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp index c56577c..c48624b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegLinetoAbsPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSSVGPathSegLinetoAbs::s_info = { "SVGPathSegLinetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoAbsTable, 0 }; -JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context) +JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h index 8a68ab9..1cdc6ff 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoAbs; class JSSVGPathSegLinetoAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context); + JSSVGPathSegLinetoAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp index 24194e5..5a62d5e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGPathSegLinetoHorizontalAbsPrototype::self(ExecState* exec, JSGlob const ClassInfo JSSVGPathSegLinetoHorizontalAbs::s_info = { "SVGPathSegLinetoHorizontalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalAbsTable, 0 }; -JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context) +JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h index c43defa..b4aa488 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalAbs; class JSSVGPathSegLinetoHorizontalAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context); + JSSVGPathSegLinetoHorizontalAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoHorizontalAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoHorizontalAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp index ace7517..5fe5dcd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGPathSegLinetoHorizontalRelPrototype::self(ExecState* exec, JSGlob const ClassInfo JSSVGPathSegLinetoHorizontalRel::s_info = { "SVGPathSegLinetoHorizontalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalRelTable, 0 }; -JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context) +JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h index 6927541..004a444 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalRel; class JSSVGPathSegLinetoHorizontalRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoHorizontalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context); + JSSVGPathSegLinetoHorizontalRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoHorizontalRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoHorizontalRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp index 3f6a40b..231e621 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegLinetoRelPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSSVGPathSegLinetoRel::s_info = { "SVGPathSegLinetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoRelTable, 0 }; -JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context) +JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h index be79f8f..8b8faa6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoRel; class JSSVGPathSegLinetoRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context); + JSSVGPathSegLinetoRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp index 27a7253..3cd22da 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGPathSegLinetoVerticalAbsPrototype::self(ExecState* exec, JSGlobal const ClassInfo JSSVGPathSegLinetoVerticalAbs::s_info = { "SVGPathSegLinetoVerticalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalAbsTable, 0 }; -JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context) +JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h index fbbec1a..45b5ee2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalAbs; class JSSVGPathSegLinetoVerticalAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoVerticalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context); + JSSVGPathSegLinetoVerticalAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoVerticalAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoVerticalAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp index 9fb9aac..15fa8b4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGPathSegLinetoVerticalRelPrototype::self(ExecState* exec, JSGlobal const ClassInfo JSSVGPathSegLinetoVerticalRel::s_info = { "SVGPathSegLinetoVerticalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalRelTable, 0 }; -JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context) +JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h index a566b79..95230b1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h @@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalRel; class JSSVGPathSegLinetoVerticalRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegLinetoVerticalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context); + JSSVGPathSegLinetoVerticalRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegLinetoVerticalRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegLinetoVerticalRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp index 7251554..0043533 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp @@ -91,7 +91,7 @@ bool JSSVGPathSegListPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGPathSegList::s_info = { "SVGPathSegList", 0, &JSSVGPathSegListTable, 0 }; -JSSVGPathSegList::JSSVGPathSegList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegList> impl, SVGElement* context) +JSSVGPathSegList::JSSVGPathSegList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h index 7d97202..d9d7040 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h @@ -36,7 +36,7 @@ class SVGPathSegList; class JSSVGPathSegList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGPathSegList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegList>, SVGElement* context); + JSSVGPathSegList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegList>, SVGElement* context); virtual ~JSSVGPathSegList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -79,7 +79,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPathSegListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp index c79b510..8eb70f0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegMovetoAbsPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSSVGPathSegMovetoAbs::s_info = { "SVGPathSegMovetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoAbsTable, 0 }; -JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context) +JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h index 178eb80..f7781ac 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h @@ -33,7 +33,7 @@ class SVGPathSegMovetoAbs; class JSSVGPathSegMovetoAbs : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegMovetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context); + JSSVGPathSegMovetoAbs(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegMovetoAbsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegMovetoAbsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp index f64dd70..ff7786f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp @@ -73,7 +73,7 @@ JSObject* JSSVGPathSegMovetoRelPrototype::self(ExecState* exec, JSGlobalObject* const ClassInfo JSSVGPathSegMovetoRel::s_info = { "SVGPathSegMovetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoRelTable, 0 }; -JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context) +JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context) : JSSVGPathSeg(structure, globalObject, impl, context) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h index c964373..93cec0e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h @@ -33,7 +33,7 @@ class SVGPathSegMovetoRel; class JSSVGPathSegMovetoRel : public JSSVGPathSeg { typedef JSSVGPathSeg Base; public: - JSSVGPathSegMovetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context); + JSSVGPathSegMovetoRel(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGPathSegMovetoRelPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPathSegMovetoRelPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp index 9ba311c..f746140 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp @@ -117,7 +117,7 @@ bool JSSVGPatternElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGPatternElement::s_info = { "SVGPatternElement", &JSSVGElement::s_info, &JSSVGPatternElementTable, 0 }; -JSSVGPatternElement::JSSVGPatternElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPatternElement> impl) +JSSVGPatternElement::JSSVGPatternElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPatternElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h index 8b0770a..d1ce76a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h @@ -33,7 +33,7 @@ class SVGPatternElement; class JSSVGPatternElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGPatternElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPatternElement>); + JSSVGPatternElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPatternElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPatternElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPatternElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp index 8719ece..e4c2415 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp @@ -86,7 +86,7 @@ bool JSSVGPointPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identi const ClassInfo JSSVGPoint::s_info = { "SVGPoint", 0, &JSSVGPointTable, 0 }; -JSSVGPoint::JSSVGPoint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context) +JSSVGPoint::JSSVGPoint(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h index ab7ba92..93cb8e0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h @@ -36,7 +36,7 @@ namespace WebCore { class JSSVGPoint : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGPoint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context); + JSSVGPoint(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context); virtual ~JSSVGPoint(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPointPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPointPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp index 723b1ee..4a22ff9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp @@ -90,7 +90,7 @@ bool JSSVGPointListPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSSVGPointList::s_info = { "SVGPointList", 0, &JSSVGPointListTable, 0 }; -JSSVGPointList::JSSVGPointList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPointList> impl, SVGElement* context) +JSSVGPointList::JSSVGPointList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPointList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h index 88fc2ec..e8b783f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h @@ -36,7 +36,7 @@ class SVGPointList; class JSSVGPointList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGPointList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPointList>, SVGElement* context); + JSSVGPointList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPointList>, SVGElement* context); virtual ~JSSVGPointList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -79,7 +79,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPointListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPointListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp index 7ac341d..517cea9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp @@ -118,7 +118,7 @@ bool JSSVGPolygonElementPrototype::getOwnPropertyDescriptor(ExecState* exec, con const ClassInfo JSSVGPolygonElement::s_info = { "SVGPolygonElement", &JSSVGElement::s_info, &JSSVGPolygonElementTable, 0 }; -JSSVGPolygonElement::JSSVGPolygonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolygonElement> impl) +JSSVGPolygonElement::JSSVGPolygonElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolygonElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h index 259cd80..e1cbd06 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h @@ -33,7 +33,7 @@ class SVGPolygonElement; class JSSVGPolygonElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGPolygonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolygonElement>); + JSSVGPolygonElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolygonElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPolygonElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPolygonElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp index aaf9257..88beac1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp @@ -118,7 +118,7 @@ bool JSSVGPolylineElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGPolylineElement::s_info = { "SVGPolylineElement", &JSSVGElement::s_info, &JSSVGPolylineElementTable, 0 }; -JSSVGPolylineElement::JSSVGPolylineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolylineElement> impl) +JSSVGPolylineElement::JSSVGPolylineElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolylineElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h index fde0862..3a654d3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h @@ -33,7 +33,7 @@ class SVGPolylineElement; class JSSVGPolylineElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGPolylineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolylineElement>); + JSSVGPolylineElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolylineElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPolylineElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPolylineElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp index 33b14ee..0345319 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp @@ -156,7 +156,7 @@ bool JSSVGPreserveAspectRatioPrototype::getOwnPropertyDescriptor(ExecState* exec const ClassInfo JSSVGPreserveAspectRatio::s_info = { "SVGPreserveAspectRatio", 0, &JSSVGPreserveAspectRatioTable, 0 }; -JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context) +JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h index ffc8914..26ed465 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h @@ -36,7 +36,7 @@ class SVGPreserveAspectRatio; class JSSVGPreserveAspectRatio : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context); + JSSVGPreserveAspectRatio(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context); virtual ~JSSVGPreserveAspectRatio(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -72,7 +72,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGPreserveAspectRatioPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGPreserveAspectRatioPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp index ce7f97d..e097aac 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp @@ -76,7 +76,7 @@ JSObject* JSSVGRadialGradientElementPrototype::self(ExecState* exec, JSGlobalObj const ClassInfo JSSVGRadialGradientElement::s_info = { "SVGRadialGradientElement", &JSSVGGradientElement::s_info, &JSSVGRadialGradientElementTable, 0 }; -JSSVGRadialGradientElement::JSSVGRadialGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRadialGradientElement> impl) +JSSVGRadialGradientElement::JSSVGRadialGradientElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRadialGradientElement> impl) : JSSVGGradientElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h index 4fc45d7..a284b03 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h @@ -33,7 +33,7 @@ class SVGRadialGradientElement; class JSSVGRadialGradientElement : public JSSVGGradientElement { typedef JSSVGGradientElement Base; public: - JSSVGRadialGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRadialGradientElement>); + JSSVGRadialGradientElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRadialGradientElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGRadialGradientElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGRadialGradientElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp index 321454a..8360b4b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp @@ -74,7 +74,7 @@ JSObject* JSSVGRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject const ClassInfo JSSVGRect::s_info = { "SVGRect", 0, &JSSVGRectTable, 0 }; -JSSVGRect::JSSVGRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context) +JSSVGRect::JSSVGRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h index 4e7e46b..0a99542 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h @@ -36,7 +36,7 @@ namespace WebCore { class JSSVGRect : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context); + JSSVGRect(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context); virtual ~JSSVGRect(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -65,7 +65,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGRectPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGRectPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp index 3c511c1..258049d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp @@ -121,7 +121,7 @@ bool JSSVGRectElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGRectElement::s_info = { "SVGRectElement", &JSSVGElement::s_info, &JSSVGRectElementTable, 0 }; -JSSVGRectElement::JSSVGRectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRectElement> impl) +JSSVGRectElement::JSSVGRectElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRectElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h index 04b07bc..94b753a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h @@ -33,7 +33,7 @@ class SVGRectElement; class JSSVGRectElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGRectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRectElement>); + JSSVGRectElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRectElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGRectElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGRectElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp index 90c9caa..7d645fd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp @@ -137,7 +137,7 @@ bool JSSVGRenderingIntentPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGRenderingIntent::s_info = { "SVGRenderingIntent", 0, &JSSVGRenderingIntentTable, 0 }; -JSSVGRenderingIntent::JSSVGRenderingIntent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context) +JSSVGRenderingIntent::JSSVGRenderingIntent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h index bd3e68c..4a0f363 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h @@ -36,7 +36,7 @@ class SVGRenderingIntent; class JSSVGRenderingIntent : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGRenderingIntent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRenderingIntent>, SVGElement* context); + JSSVGRenderingIntent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRenderingIntent>, SVGElement* context); virtual ~JSSVGRenderingIntent(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGRenderingIntentPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGRenderingIntentPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp index 5301c4e..f8223bb 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp @@ -170,7 +170,7 @@ bool JSSVGSVGElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSSVGSVGElement::s_info = { "SVGSVGElement", &JSSVGElement::s_info, &JSSVGSVGElementTable, 0 }; -JSSVGSVGElement::JSSVGSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSVGElement> impl) +JSSVGSVGElement::JSSVGSVGElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSVGElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h index d8409cd..9ef7c3f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h @@ -33,7 +33,7 @@ class SVGSVGElement; class JSSVGSVGElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSVGElement>); + JSSVGSVGElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSVGElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGSVGElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGSVGElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp index f279368..a83f58c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp @@ -77,7 +77,7 @@ JSObject* JSSVGScriptElementPrototype::self(ExecState* exec, JSGlobalObject* glo const ClassInfo JSSVGScriptElement::s_info = { "SVGScriptElement", &JSSVGElement::s_info, &JSSVGScriptElementTable, 0 }; -JSSVGScriptElement::JSSVGScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGScriptElement> impl) +JSSVGScriptElement::JSSVGScriptElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGScriptElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h index b02e886..5ddcded 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h @@ -33,7 +33,7 @@ class SVGScriptElement; class JSSVGScriptElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGScriptElement>); + JSSVGScriptElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGScriptElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGScriptElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGScriptElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp index 4431685..1ff4cee 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGSetElementPrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSSVGSetElement::s_info = { "SVGSetElement", &JSSVGAnimationElement::s_info, 0, 0 }; -JSSVGSetElement::JSSVGSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSetElement> impl) +JSSVGSetElement::JSSVGSetElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSetElement> impl) : JSSVGAnimationElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h index 2d70694..39c660d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h @@ -33,7 +33,7 @@ class SVGSetElement; class JSSVGSetElement : public JSSVGAnimationElement { typedef JSSVGAnimationElement Base; public: - JSSVGSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSetElement>); + JSSVGSetElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSetElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGSetElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGSetElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp index 2b5112e..86d6d30 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp @@ -92,7 +92,7 @@ bool JSSVGStopElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGStopElement::s_info = { "SVGStopElement", &JSSVGElement::s_info, &JSSVGStopElementTable, 0 }; -JSSVGStopElement::JSSVGStopElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStopElement> impl) +JSSVGStopElement::JSSVGStopElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStopElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h index ae9bee9..2269249 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h @@ -33,7 +33,7 @@ class SVGStopElement; class JSSVGStopElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGStopElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStopElement>); + JSSVGStopElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStopElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGStopElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGStopElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp index 4ad10bf..d4a6935 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp @@ -92,7 +92,7 @@ bool JSSVGStringListPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSSVGStringList::s_info = { "SVGStringList", 0, &JSSVGStringListTable, 0 }; -JSSVGStringList::JSSVGStringList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStringList> impl, SVGElement* context) +JSSVGStringList::JSSVGStringList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStringList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h index c048ddb..5299968 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h @@ -36,7 +36,7 @@ class SVGStringList; class JSSVGStringList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGStringList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStringList>, SVGElement* context); + JSSVGStringList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStringList>, SVGElement* context); virtual ~JSSVGStringList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGStringListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGStringListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp index 988a3dc..29dea93 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp @@ -77,7 +77,7 @@ JSObject* JSSVGStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSSVGStyleElement::s_info = { "SVGStyleElement", &JSSVGElement::s_info, &JSSVGStyleElementTable, 0 }; -JSSVGStyleElement::JSSVGStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStyleElement> impl) +JSSVGStyleElement::JSSVGStyleElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStyleElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h index a011095..1cf73b2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h @@ -33,7 +33,7 @@ class SVGStyleElement; class JSSVGStyleElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStyleElement>); + JSSVGStyleElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStyleElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -55,7 +55,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGStyleElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGStyleElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp index 4710e2c..887216f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp @@ -114,7 +114,7 @@ bool JSSVGSwitchElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGSwitchElement::s_info = { "SVGSwitchElement", &JSSVGElement::s_info, &JSSVGSwitchElementTable, 0 }; -JSSVGSwitchElement::JSSVGSwitchElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSwitchElement> impl) +JSSVGSwitchElement::JSSVGSwitchElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSwitchElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h index a50ae04..c1a6099 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h @@ -33,7 +33,7 @@ class SVGSwitchElement; class JSSVGSwitchElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGSwitchElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSwitchElement>); + JSSVGSwitchElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSwitchElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGSwitchElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGSwitchElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp index 23d564c..88de382 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp @@ -100,7 +100,7 @@ bool JSSVGSymbolElementPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGSymbolElement::s_info = { "SVGSymbolElement", &JSSVGElement::s_info, &JSSVGSymbolElementTable, 0 }; -JSSVGSymbolElement::JSSVGSymbolElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSymbolElement> impl) +JSSVGSymbolElement::JSSVGSymbolElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSymbolElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h index 38bda49..c4dc23b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h @@ -33,7 +33,7 @@ class SVGSymbolElement; class JSSVGSymbolElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGSymbolElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSymbolElement>); + JSSVGSymbolElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSymbolElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGSymbolElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGSymbolElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp index 399a01c..f23ea2c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp @@ -72,7 +72,7 @@ JSObject* JSSVGTRefElementPrototype::self(ExecState* exec, JSGlobalObject* globa const ClassInfo JSSVGTRefElement::s_info = { "SVGTRefElement", &JSSVGTextPositioningElement::s_info, &JSSVGTRefElementTable, 0 }; -JSSVGTRefElement::JSSVGTRefElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTRefElement> impl) +JSSVGTRefElement::JSSVGTRefElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTRefElement> impl) : JSSVGTextPositioningElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h index 9aeb83b..6d24e83 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h @@ -33,7 +33,7 @@ class SVGTRefElement; class JSSVGTRefElement : public JSSVGTextPositioningElement { typedef JSSVGTextPositioningElement Base; public: - JSSVGTRefElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTRefElement>); + JSSVGTRefElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTRefElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGTRefElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTRefElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp index a0a593b..74477df 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp @@ -56,7 +56,7 @@ JSObject* JSSVGTSpanElementPrototype::self(ExecState* exec, JSGlobalObject* glob const ClassInfo JSSVGTSpanElement::s_info = { "SVGTSpanElement", &JSSVGTextPositioningElement::s_info, 0, 0 }; -JSSVGTSpanElement::JSSVGTSpanElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTSpanElement> impl) +JSSVGTSpanElement::JSSVGTSpanElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTSpanElement> impl) : JSSVGTextPositioningElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h index d85c4f1..6529758 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h @@ -33,7 +33,7 @@ class SVGTSpanElement; class JSSVGTSpanElement : public JSSVGTextPositioningElement { typedef JSSVGTextPositioningElement Base; public: - JSSVGTSpanElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTSpanElement>); + JSSVGTSpanElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTSpanElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; @@ -47,7 +47,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGTSpanElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTSpanElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp index 773569d..dc8dfae 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp @@ -171,7 +171,7 @@ bool JSSVGTextContentElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const ClassInfo JSSVGTextContentElement::s_info = { "SVGTextContentElement", &JSSVGElement::s_info, &JSSVGTextContentElementTable, 0 }; -JSSVGTextContentElement::JSSVGTextContentElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextContentElement> impl) +JSSVGTextContentElement::JSSVGTextContentElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextContentElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h index 1e01a93..35db44b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h @@ -33,7 +33,7 @@ class SVGTextContentElement; class JSSVGTextContentElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGTextContentElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextContentElement>); + JSSVGTextContentElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextContentElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -62,7 +62,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTextContentElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTextContentElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp index 4bed869..b2be134 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp @@ -93,7 +93,7 @@ bool JSSVGTextElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGTextElement::s_info = { "SVGTextElement", &JSSVGTextPositioningElement::s_info, &JSSVGTextElementTable, 0 }; -JSSVGTextElement::JSSVGTextElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextElement> impl) +JSSVGTextElement::JSSVGTextElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextElement> impl) : JSSVGTextPositioningElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h index 1ccad7d..0f0959d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h @@ -33,7 +33,7 @@ class SVGTextElement; class JSSVGTextElement : public JSSVGTextPositioningElement { typedef JSSVGTextPositioningElement Base; public: - JSSVGTextElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextElement>); + JSSVGTextElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTextElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTextElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp index c8f85e4..b4f0c20 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp @@ -144,7 +144,7 @@ bool JSSVGTextPathElementPrototype::getOwnPropertyDescriptor(ExecState* exec, co const ClassInfo JSSVGTextPathElement::s_info = { "SVGTextPathElement", &JSSVGTextContentElement::s_info, &JSSVGTextPathElementTable, 0 }; -JSSVGTextPathElement::JSSVGTextPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPathElement> impl) +JSSVGTextPathElement::JSSVGTextPathElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPathElement> impl) : JSSVGTextContentElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h index 58e6ed9..ada62bf 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h @@ -33,7 +33,7 @@ class SVGTextPathElement; class JSSVGTextPathElement : public JSSVGTextContentElement { typedef JSSVGTextContentElement Base; public: - JSSVGTextPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPathElement>); + JSSVGTextPathElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPathElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTextPathElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTextPathElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp index 8de9bed..cefc7d8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp @@ -77,7 +77,7 @@ JSObject* JSSVGTextPositioningElementPrototype::self(ExecState* exec, JSGlobalOb const ClassInfo JSSVGTextPositioningElement::s_info = { "SVGTextPositioningElement", &JSSVGTextContentElement::s_info, &JSSVGTextPositioningElementTable, 0 }; -JSSVGTextPositioningElement::JSSVGTextPositioningElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPositioningElement> impl) +JSSVGTextPositioningElement::JSSVGTextPositioningElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPositioningElement> impl) : JSSVGTextContentElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h index 066902c..f861e89 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h @@ -33,7 +33,7 @@ class SVGTextPositioningElement; class JSSVGTextPositioningElement : public JSSVGTextContentElement { typedef JSSVGTextContentElement Base; public: - JSSVGTextPositioningElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPositioningElement>); + JSSVGTextPositioningElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPositioningElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGTextPositioningElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTextPositioningElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp index 29272e4..59e0e8d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp @@ -94,7 +94,7 @@ bool JSSVGTitleElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGTitleElement::s_info = { "SVGTitleElement", &JSSVGElement::s_info, &JSSVGTitleElementTable, 0 }; -JSSVGTitleElement::JSSVGTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTitleElement> impl) +JSSVGTitleElement::JSSVGTitleElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTitleElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h index 0c15920..9972b69 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h @@ -33,7 +33,7 @@ class SVGTitleElement; class JSSVGTitleElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTitleElement>); + JSSVGTitleElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTitleElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTitleElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTitleElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp index 88d0c5f..4a67764 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp @@ -151,7 +151,7 @@ bool JSSVGTransformPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSSVGTransform::s_info = { "SVGTransform", 0, &JSSVGTransformTable, 0 }; -JSSVGTransform::JSSVGTransform(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> > impl, SVGElement* context) +JSSVGTransform::JSSVGTransform(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> > impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h index 92e59e4..bce97e5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h @@ -36,7 +36,7 @@ namespace WebCore { class JSSVGTransform : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGTransform(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> >, SVGElement* context); + JSSVGTransform(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGTransform> >, SVGElement* context); virtual ~JSSVGTransform(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTransformPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTransformPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp index 1414d84..51c0cca 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp @@ -95,7 +95,7 @@ bool JSSVGTransformListPrototype::getOwnPropertyDescriptor(ExecState* exec, cons const ClassInfo JSSVGTransformList::s_info = { "SVGTransformList", 0, &JSSVGTransformListTable, 0 }; -JSSVGTransformList::JSSVGTransformList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTransformList> impl, SVGElement* context) +JSSVGTransformList::JSSVGTransformList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTransformList> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h index 5b16ad0..36ff356 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h @@ -36,7 +36,7 @@ class SVGTransformList; class JSSVGTransformList : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGTransformList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTransformList>, SVGElement* context); + JSSVGTransformList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTransformList>, SVGElement* context); virtual ~JSSVGTransformList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -79,7 +79,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGTransformListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGTransformListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp index fd563b8..683398f 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp @@ -131,7 +131,7 @@ bool JSSVGUnitTypesPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSSVGUnitTypes::s_info = { "SVGUnitTypes", 0, &JSSVGUnitTypesTable, 0 }; -JSSVGUnitTypes::JSSVGUnitTypes(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUnitTypes> impl, SVGElement* context) +JSSVGUnitTypes::JSSVGUnitTypes(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUnitTypes> impl, SVGElement* context) : DOMObjectWithSVGContext(structure, globalObject, context) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h index 85cc276..4d92f84 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h @@ -36,7 +36,7 @@ class SVGUnitTypes; class JSSVGUnitTypes : public DOMObjectWithSVGContext { typedef DOMObjectWithSVGContext Base; public: - JSSVGUnitTypes(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUnitTypes>, SVGElement* context); + JSSVGUnitTypes(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUnitTypes>, SVGElement* context); virtual ~JSSVGUnitTypes(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -71,7 +71,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGUnitTypesPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGUnitTypesPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp index 696745e..920e208 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp @@ -124,7 +124,7 @@ bool JSSVGUseElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSSVGUseElement::s_info = { "SVGUseElement", &JSSVGElement::s_info, &JSSVGUseElementTable, 0 }; -JSSVGUseElement::JSSVGUseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUseElement> impl) +JSSVGUseElement::JSSVGUseElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGUseElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h index bbc1be5..2c9f142 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h @@ -33,7 +33,7 @@ class SVGUseElement; class JSSVGUseElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGUseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUseElement>); + JSSVGUseElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGUseElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGUseElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGUseElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp index f0e82b7..ad1aa12 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp @@ -94,7 +94,7 @@ bool JSSVGViewElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSSVGViewElement::s_info = { "SVGViewElement", &JSSVGElement::s_info, &JSSVGViewElementTable, 0 }; -JSSVGViewElement::JSSVGViewElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGViewElement> impl) +JSSVGViewElement::JSSVGViewElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGViewElement> impl) : JSSVGElement(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h index 2f481bf..bfeda85 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h @@ -33,7 +33,7 @@ class SVGViewElement; class JSSVGViewElement : public JSSVGElement { typedef JSSVGElement Base; public: - JSSVGViewElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGViewElement>); + JSSVGViewElement(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGViewElement>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -61,7 +61,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSSVGViewElementPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGViewElementPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp index 73bcf78..724ea1c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp @@ -78,7 +78,7 @@ JSObject* JSSVGZoomEventPrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSSVGZoomEvent::s_info = { "SVGZoomEvent", &JSUIEvent::s_info, &JSSVGZoomEventTable, 0 }; -JSSVGZoomEvent::JSSVGZoomEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGZoomEvent> impl) +JSSVGZoomEvent::JSSVGZoomEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGZoomEvent> impl) : JSUIEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h index 217f296..b3a34c6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h @@ -33,7 +33,7 @@ class SVGZoomEvent; class JSSVGZoomEvent : public JSUIEvent { typedef JSUIEvent Base; public: - JSSVGZoomEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGZoomEvent>); + JSSVGZoomEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGZoomEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -54,7 +54,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSVGZoomEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSVGZoomEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp index d39c2ef..574f44c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp @@ -76,7 +76,7 @@ JSObject* JSScreenPrototype::self(ExecState* exec, JSGlobalObject* globalObject) const ClassInfo JSScreen::s_info = { "Screen", 0, &JSScreenTable, 0 }; -JSScreen::JSScreen(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Screen> impl) +JSScreen::JSScreen(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Screen> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSScreen.h b/src/3rdparty/webkit/WebCore/generated/JSScreen.h index c46a192..7a54e9c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSScreen.h +++ b/src/3rdparty/webkit/WebCore/generated/JSScreen.h @@ -33,7 +33,7 @@ class Screen; class JSScreen : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSScreen(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Screen>); + JSScreen(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Screen>); virtual ~JSScreen(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -61,7 +61,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSScreenPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSScreenPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.cpp index 3e34846..e2ab45c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.cpp @@ -73,7 +73,7 @@ JSObject* JSSharedWorkerPrototype::self(ExecState* exec, JSGlobalObject* globalO const ClassInfo JSSharedWorker::s_info = { "SharedWorker", &JSAbstractWorker::s_info, &JSSharedWorkerTable, 0 }; -JSSharedWorker::JSSharedWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SharedWorker> impl) +JSSharedWorker::JSSharedWorker(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SharedWorker> impl) : JSAbstractWorker(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.h b/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.h index f2ec40b..a622e83 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSharedWorker.h @@ -33,7 +33,7 @@ class SharedWorker; class JSSharedWorker : public JSAbstractWorker { typedef JSAbstractWorker Base; public: - JSSharedWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SharedWorker>); + JSSharedWorker(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SharedWorker>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -66,7 +66,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSSharedWorkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSharedWorkerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.cpp index 5f2f364..f50e4e9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.cpp @@ -84,7 +84,7 @@ static const HashTable* getJSSharedWorkerContextTable(ExecState* exec) } const ClassInfo JSSharedWorkerContext::s_info = { "SharedWorkerContext", &JSWorkerContext::s_info, 0, getJSSharedWorkerContextTable }; -JSSharedWorkerContext::JSSharedWorkerContext(PassRefPtr<Structure> structure, PassRefPtr<SharedWorkerContext> impl) +JSSharedWorkerContext::JSSharedWorkerContext(NonNullPassRefPtr<Structure> structure, PassRefPtr<SharedWorkerContext> impl) : JSWorkerContext(structure, impl) { } @@ -113,7 +113,7 @@ JSValue jsSharedWorkerContextOnconnect(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); SharedWorkerContext* imp = static_cast<SharedWorkerContext*>(castedThis->impl()); if (EventListener* listener = imp->onconnect()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.h index 092e13e..21543e5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.h +++ b/src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.h @@ -33,7 +33,7 @@ class SharedWorkerContext; class JSSharedWorkerContext : public JSWorkerContext { typedef JSWorkerContext Base; public: - JSSharedWorkerContext(PassRefPtr<JSC::Structure>, PassRefPtr<SharedWorkerContext>); + JSSharedWorkerContext(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<SharedWorkerContext>); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&); @@ -59,7 +59,7 @@ public: void* operator new(size_t, JSC::JSGlobalData*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSSharedWorkerContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSSharedWorkerContextPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp index b3a6d47..54f6c7d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp @@ -136,7 +136,7 @@ bool JSStoragePrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSStorage::s_info = { "Storage", 0, &JSStorageTable, 0 }; -JSStorage::JSStorage(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Storage> impl) +JSStorage::JSStorage(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Storage> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorage.h b/src/3rdparty/webkit/WebCore/generated/JSStorage.h index 56626f7..1d15472 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStorage.h +++ b/src/3rdparty/webkit/WebCore/generated/JSStorage.h @@ -35,7 +35,7 @@ class Storage; class JSStorage : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSStorage(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Storage>); + JSStorage(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Storage>); virtual ~JSStorage(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -77,7 +77,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSStoragePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSStoragePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp index ba9c160..f467736 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp @@ -139,7 +139,7 @@ bool JSStorageEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSStorageEvent::s_info = { "StorageEvent", &JSEvent::s_info, &JSStorageEventTable, 0 }; -JSStorageEvent::JSStorageEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StorageEvent> impl) +JSStorageEvent::JSStorageEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StorageEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h index c6a78f5..bfd8a67 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h @@ -32,7 +32,7 @@ class StorageEvent; class JSStorageEvent : public JSEvent { typedef JSEvent Base; public: - JSStorageEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StorageEvent>); + JSStorageEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StorageEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSStorageEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSStorageEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp index 6c2cef7..bfa30f4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp @@ -125,7 +125,7 @@ JSObject* JSStyleSheetPrototype::self(ExecState* exec, JSGlobalObject* globalObj const ClassInfo JSStyleSheet::s_info = { "StyleSheet", 0, &JSStyleSheetTable, 0 }; -JSStyleSheet::JSStyleSheet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheet> impl) +JSStyleSheet::JSStyleSheet(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheet> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h index 1f47f35..6c67955 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h +++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h @@ -33,7 +33,7 @@ class StyleSheet; class JSStyleSheet : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSStyleSheet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheet>); + JSStyleSheet(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheet>); virtual ~JSStyleSheet(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSStyleSheetPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSStyleSheetPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp index b832c90..aa1d6bd 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp @@ -130,7 +130,7 @@ bool JSStyleSheetListPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSStyleSheetList::s_info = { "StyleSheetList", 0, &JSStyleSheetListTable, 0 }; -JSStyleSheetList::JSStyleSheetList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheetList> impl) +JSStyleSheetList::JSStyleSheetList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<StyleSheetList> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h index fa1af25..757b8ad 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h +++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h @@ -33,7 +33,7 @@ class StyleSheetList; class JSStyleSheetList : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSStyleSheetList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheetList>); + JSStyleSheetList(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<StyleSheetList>); virtual ~JSStyleSheetList(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSStyleSheetListPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSStyleSheetListPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSText.cpp b/src/3rdparty/webkit/WebCore/generated/JSText.cpp index d49c359..d90e3f2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSText.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSText.cpp @@ -130,7 +130,7 @@ bool JSTextPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier const ClassInfo JSText::s_info = { "Text", &JSCharacterData::s_info, &JSTextTable, 0 }; -JSText::JSText(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Text> impl) +JSText::JSText(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Text> impl) : JSCharacterData(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSText.h b/src/3rdparty/webkit/WebCore/generated/JSText.h index 6571115..dc31f61 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSText.h +++ b/src/3rdparty/webkit/WebCore/generated/JSText.h @@ -30,7 +30,7 @@ class Text; class JSText : public JSCharacterData { typedef JSCharacterData Base; public: - JSText(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Text>); + JSText(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Text>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -59,7 +59,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSTextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSTextPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp index 1caa153..3ddab29 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp @@ -128,7 +128,7 @@ bool JSTextEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ident const ClassInfo JSTextEvent::s_info = { "TextEvent", &JSUIEvent::s_info, &JSTextEventTable, 0 }; -JSTextEvent::JSTextEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextEvent> impl) +JSTextEvent::JSTextEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextEvent> impl) : JSUIEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h index 293966c..19e77ce 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSTextEvent.h @@ -30,7 +30,7 @@ class TextEvent; class JSTextEvent : public JSUIEvent { typedef JSUIEvent Base; public: - JSTextEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextEvent>); + JSTextEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSTextEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSTextEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp index ea39518..b267f76 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp @@ -114,7 +114,7 @@ JSObject* JSTextMetricsPrototype::self(ExecState* exec, JSGlobalObject* globalOb const ClassInfo JSTextMetrics::s_info = { "TextMetrics", 0, &JSTextMetricsTable, 0 }; -JSTextMetrics::JSTextMetrics(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextMetrics> impl) +JSTextMetrics::JSTextMetrics(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TextMetrics> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h index 8a17301..9e3968a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h +++ b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h @@ -33,7 +33,7 @@ class TextMetrics; class JSTextMetrics : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSTextMetrics(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextMetrics>); + JSTextMetrics(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TextMetrics>); virtual ~JSTextMetrics(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSTextMetricsPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSTextMetricsPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp index 25d7412..825ca1b 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp @@ -85,7 +85,7 @@ bool JSTimeRangesPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSTimeRanges::s_info = { "TimeRanges", 0, &JSTimeRangesTable, 0 }; -JSTimeRanges::JSTimeRanges(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TimeRanges> impl) +JSTimeRanges::JSTimeRanges(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TimeRanges> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h index 480a2bd..0db2dff 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h +++ b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h @@ -35,7 +35,7 @@ class TimeRanges; class JSTimeRanges : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSTimeRanges(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TimeRanges>); + JSTimeRanges(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TimeRanges>); virtual ~JSTimeRanges(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -69,7 +69,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSTimeRangesPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSTimeRangesPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp index b832247..fe72cad 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp @@ -140,7 +140,7 @@ bool JSTreeWalkerPrototype::getOwnPropertyDescriptor(ExecState* exec, const Iden const ClassInfo JSTreeWalker::s_info = { "TreeWalker", 0, &JSTreeWalkerTable, 0 }; -JSTreeWalker::JSTreeWalker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TreeWalker> impl) +JSTreeWalker::JSTreeWalker(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<TreeWalker> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h index 357f4d8..091bdd0 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h +++ b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h @@ -33,7 +33,7 @@ class TreeWalker; class JSTreeWalker : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSTreeWalker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TreeWalker>); + JSTreeWalker(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<TreeWalker>); virtual ~JSTreeWalker(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -80,7 +80,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSTreeWalkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSTreeWalkerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp index 6391329..236845e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp @@ -136,7 +136,7 @@ bool JSUIEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identif const ClassInfo JSUIEvent::s_info = { "UIEvent", &JSEvent::s_info, &JSUIEventTable, 0 }; -JSUIEvent::JSUIEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<UIEvent> impl) +JSUIEvent::JSUIEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<UIEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h index 3376293..b9658a4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSUIEvent.h @@ -30,7 +30,7 @@ class UIEvent; class JSUIEvent : public JSEvent { typedef JSEvent Base; public: - JSUIEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<UIEvent>); + JSUIEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<UIEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSUIEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSUIEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp index f1df12e..b355874 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp @@ -76,7 +76,7 @@ JSObject* JSValidityStatePrototype::self(ExecState* exec, JSGlobalObject* global const ClassInfo JSValidityState::s_info = { "ValidityState", 0, &JSValidityStateTable, 0 }; -JSValidityState::JSValidityState(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ValidityState> impl) +JSValidityState::JSValidityState(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ValidityState> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSValidityState.h b/src/3rdparty/webkit/WebCore/generated/JSValidityState.h index 2bd75dc..760480c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSValidityState.h +++ b/src/3rdparty/webkit/WebCore/generated/JSValidityState.h @@ -33,7 +33,7 @@ class ValidityState; class JSValidityState : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSValidityState(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ValidityState>); + JSValidityState(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ValidityState>); virtual ~JSValidityState(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -61,7 +61,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSValidityStatePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSValidityStatePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp index 570e851..a084949 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp @@ -65,7 +65,7 @@ bool JSVoidCallbackPrototype::getOwnPropertyDescriptor(ExecState* exec, const Id const ClassInfo JSVoidCallback::s_info = { "VoidCallback", 0, 0, 0 }; -JSVoidCallback::JSVoidCallback(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<VoidCallback> impl) +JSVoidCallback::JSVoidCallback(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<VoidCallback> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h index 2d38eca..9b82bb2 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h +++ b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h @@ -33,7 +33,7 @@ class VoidCallback; class JSVoidCallback : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSVoidCallback(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<VoidCallback>); + JSVoidCallback(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<VoidCallback>); virtual ~JSVoidCallback(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -60,7 +60,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSVoidCallbackPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSVoidCallbackPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp index 64b8117..9dbd396 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp @@ -129,7 +129,7 @@ bool JSWebKitAnimationEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const ClassInfo JSWebKitAnimationEvent::s_info = { "WebKitAnimationEvent", &JSEvent::s_info, &JSWebKitAnimationEventTable, 0 }; -JSWebKitAnimationEvent::JSWebKitAnimationEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitAnimationEvent> impl) +JSWebKitAnimationEvent::JSWebKitAnimationEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitAnimationEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h index ece445e..1631bad 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h @@ -30,7 +30,7 @@ class WebKitAnimationEvent; class JSWebKitAnimationEvent : public JSEvent { typedef JSEvent Base; public: - JSWebKitAnimationEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitAnimationEvent>); + JSWebKitAnimationEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitAnimationEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWebKitAnimationEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitAnimationEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp index 67e6b2e..cb7a615 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp @@ -119,7 +119,7 @@ JSObject* JSWebKitCSSKeyframeRulePrototype::self(ExecState* exec, JSGlobalObject const ClassInfo JSWebKitCSSKeyframeRule::s_info = { "WebKitCSSKeyframeRule", &JSCSSRule::s_info, &JSWebKitCSSKeyframeRuleTable, 0 }; -JSWebKitCSSKeyframeRule::JSWebKitCSSKeyframeRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframeRule> impl) +JSWebKitCSSKeyframeRule::JSWebKitCSSKeyframeRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframeRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h index 09061fe..5fea55d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h @@ -30,7 +30,7 @@ class WebKitCSSKeyframeRule; class JSWebKitCSSKeyframeRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSWebKitCSSKeyframeRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframeRule>); + JSWebKitCSSKeyframeRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframeRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -53,7 +53,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSWebKitCSSKeyframeRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitCSSKeyframeRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp index 611de59..5538ba7 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp @@ -134,7 +134,7 @@ bool JSWebKitCSSKeyframesRulePrototype::getOwnPropertyDescriptor(ExecState* exec const ClassInfo JSWebKitCSSKeyframesRule::s_info = { "WebKitCSSKeyframesRule", &JSCSSRule::s_info, &JSWebKitCSSKeyframesRuleTable, 0 }; -JSWebKitCSSKeyframesRule::JSWebKitCSSKeyframesRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframesRule> impl) +JSWebKitCSSKeyframesRule::JSWebKitCSSKeyframesRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSKeyframesRule> impl) : JSCSSRule(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h index 250f7ca..73d10cf 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h @@ -30,7 +30,7 @@ class WebKitCSSKeyframesRule; class JSWebKitCSSKeyframesRule : public JSCSSRule { typedef JSCSSRule Base; public: - JSWebKitCSSKeyframesRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframesRule>); + JSWebKitCSSKeyframesRule(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSKeyframesRule>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -62,7 +62,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWebKitCSSKeyframesRulePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitCSSKeyframesRulePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp index 162b54c..bcf8286 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp @@ -112,7 +112,7 @@ bool JSWebKitCSSMatrixPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSWebKitCSSMatrix::s_info = { "WebKitCSSMatrix", 0, &JSWebKitCSSMatrixTable, 0 }; -JSWebKitCSSMatrix::JSWebKitCSSMatrix(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSMatrix> impl) +JSWebKitCSSMatrix::JSWebKitCSSMatrix(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSMatrix> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h index ca6f2c6..83c2c3d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h @@ -33,7 +33,7 @@ class WebKitCSSMatrix; class JSWebKitCSSMatrix : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSWebKitCSSMatrix(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSMatrix>); + JSWebKitCSSMatrix(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSMatrix>); virtual ~JSWebKitCSSMatrix(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWebKitCSSMatrixPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitCSSMatrixPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp index f00e22a..0c2fa6c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp @@ -166,7 +166,7 @@ bool JSWebKitCSSTransformValuePrototype::getOwnPropertyDescriptor(ExecState* exe const ClassInfo JSWebKitCSSTransformValue::s_info = { "WebKitCSSTransformValue", &JSCSSValueList::s_info, &JSWebKitCSSTransformValueTable, 0 }; -JSWebKitCSSTransformValue::JSWebKitCSSTransformValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSTransformValue> impl) +JSWebKitCSSTransformValue::JSWebKitCSSTransformValue(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitCSSTransformValue> impl) : JSCSSValueList(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h index 6195d22..6fc7d2a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h @@ -30,7 +30,7 @@ class WebKitCSSTransformValue; class JSWebKitCSSTransformValue : public JSCSSValueList { typedef JSCSSValueList Base; public: - JSWebKitCSSTransformValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSTransformValue>); + JSWebKitCSSTransformValue(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitCSSTransformValue>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWebKitCSSTransformValuePrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitCSSTransformValuePrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp index 8d995e5..255df0a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp @@ -70,7 +70,7 @@ JSObject* JSWebKitPointPrototype::self(ExecState* exec, JSGlobalObject* globalOb const ClassInfo JSWebKitPoint::s_info = { "WebKitPoint", 0, &JSWebKitPointTable, 0 }; -JSWebKitPoint::JSWebKitPoint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitPoint> impl) +JSWebKitPoint::JSWebKitPoint(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitPoint> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h index 6b7ef22..885040d 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h @@ -33,7 +33,7 @@ class WebKitPoint; class JSWebKitPoint : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSWebKitPoint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitPoint>); + JSWebKitPoint(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitPoint>); virtual ~JSWebKitPoint(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -62,7 +62,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSWebKitPointPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitPointPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp index 0b375dc..b4c83b4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp @@ -129,7 +129,7 @@ bool JSWebKitTransitionEventPrototype::getOwnPropertyDescriptor(ExecState* exec, const ClassInfo JSWebKitTransitionEvent::s_info = { "WebKitTransitionEvent", &JSEvent::s_info, &JSWebKitTransitionEventTable, 0 }; -JSWebKitTransitionEvent::JSWebKitTransitionEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitTransitionEvent> impl) +JSWebKitTransitionEvent::JSWebKitTransitionEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebKitTransitionEvent> impl) : JSEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h index 71a01ca..e649dc4 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h @@ -30,7 +30,7 @@ class WebKitTransitionEvent; class JSWebKitTransitionEvent : public JSEvent { typedef JSEvent Base; public: - JSWebKitTransitionEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitTransitionEvent>); + JSWebKitTransitionEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebKitTransitionEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -58,7 +58,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWebKitTransitionEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebKitTransitionEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp index ca27dab..44fa960 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp @@ -108,7 +108,7 @@ static const HashTable* getJSWebSocketTable(ExecState* exec) } const ClassInfo JSWebSocket::s_info = { "WebSocket", 0, 0, getJSWebSocketTable }; -JSWebSocket::JSWebSocket(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebSocket> impl) +JSWebSocket::JSWebSocket(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WebSocket> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -171,7 +171,7 @@ JSValue jsWebSocketOnopen(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(castedThis->impl()); if (EventListener* listener = imp->onopen()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -183,7 +183,7 @@ JSValue jsWebSocketOnmessage(ExecState* exec, const Identifier&, const PropertyS UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -195,7 +195,7 @@ JSValue jsWebSocketOnclose(ExecState* exec, const Identifier&, const PropertySlo UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(castedThis->impl()); if (EventListener* listener = imp->onclose()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.h b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.h index 0b2e9cb..0632872 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.h @@ -35,7 +35,7 @@ class WebSocket; class JSWebSocket : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSWebSocket(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebSocket>); + JSWebSocket(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WebSocket>); virtual ~JSWebSocket(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -75,7 +75,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSWebSocketPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWebSocketPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp index 687ac97..e60e32c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp @@ -128,7 +128,7 @@ JSObject* JSWheelEventPrototype::self(ExecState* exec, JSGlobalObject* globalObj const ClassInfo JSWheelEvent::s_info = { "WheelEvent", &JSUIEvent::s_info, &JSWheelEventTable, 0 }; -JSWheelEvent::JSWheelEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WheelEvent> impl) +JSWheelEvent::JSWheelEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WheelEvent> impl) : JSUIEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h index 993994b..ae8aa6a 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h @@ -30,7 +30,7 @@ class WheelEvent; class JSWheelEvent : public JSUIEvent { typedef JSUIEvent Base; public: - JSWheelEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WheelEvent>); + JSWheelEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WheelEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSWheelEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWheelEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp index 1b8d897..42cc502 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp @@ -88,7 +88,7 @@ bool JSWorkerPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifi const ClassInfo JSWorker::s_info = { "Worker", &JSAbstractWorker::s_info, &JSWorkerTable, 0 }; -JSWorker::JSWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Worker> impl) +JSWorker::JSWorker(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Worker> impl) : JSAbstractWorker(structure, globalObject, impl) { } @@ -114,7 +114,7 @@ JSValue jsWorkerOnmessage(ExecState* exec, const Identifier&, const PropertySlot UNUSED_PARAM(exec); Worker* imp = static_cast<Worker*>(castedThis->impl()); if (EventListener* listener = imp->onmessage()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorker.h b/src/3rdparty/webkit/WebCore/generated/JSWorker.h index 6b122a2..3aa7221 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorker.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWorker.h @@ -33,7 +33,7 @@ class Worker; class JSWorker : public JSAbstractWorker { typedef JSAbstractWorker Base; public: - JSWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Worker>); + JSWorker(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Worker>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWorkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWorkerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp index 60fbc53..e29cb32 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp @@ -121,7 +121,7 @@ static const HashTable* getJSWorkerContextTable(ExecState* exec) } const ClassInfo JSWorkerContext::s_info = { "WorkerContext", &JSWorkerContextBase::s_info, 0, getJSWorkerContextTable }; -JSWorkerContext::JSWorkerContext(PassRefPtr<Structure> structure, PassRefPtr<WorkerContext> impl) +JSWorkerContext::JSWorkerContext(NonNullPassRefPtr<Structure> structure, PassRefPtr<WorkerContext> impl) : JSWorkerContextBase(structure, impl) { } @@ -168,7 +168,7 @@ JSValue jsWorkerContextOnerror(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); WorkerContext* imp = static_cast<WorkerContext*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp)) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h index 4d112ad..37d6c87 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h @@ -32,7 +32,7 @@ class WorkerContext; class JSWorkerContext : public JSWorkerContextBase { typedef JSWorkerContextBase Base; public: - JSWorkerContext(PassRefPtr<JSC::Structure>, PassRefPtr<WorkerContext>); + JSWorkerContext(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<WorkerContext>); virtual ~JSWorkerContext(); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -76,7 +76,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSWorkerContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWorkerContextPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp index b550a69..7b634ae 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp @@ -145,7 +145,7 @@ static const HashTable* getJSWorkerLocationTable(ExecState* exec) } const ClassInfo JSWorkerLocation::s_info = { "WorkerLocation", 0, 0, getJSWorkerLocationTable }; -JSWorkerLocation::JSWorkerLocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerLocation> impl) +JSWorkerLocation::JSWorkerLocation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerLocation> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h index 1c53d1e..0002c4c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h @@ -35,7 +35,7 @@ class WorkerLocation; class JSWorkerLocation : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSWorkerLocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerLocation>); + JSWorkerLocation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerLocation>); virtual ~JSWorkerLocation(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSWorkerLocationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWorkerLocationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp index ec04560..8efab1e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp @@ -85,7 +85,7 @@ static const HashTable* getJSWorkerNavigatorTable(ExecState* exec) } const ClassInfo JSWorkerNavigator::s_info = { "WorkerNavigator", 0, 0, getJSWorkerNavigatorTable }; -JSWorkerNavigator::JSWorkerNavigator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerNavigator> impl) +JSWorkerNavigator::JSWorkerNavigator(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<WorkerNavigator> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h index 0bea1f1..92e0094 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h +++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h @@ -35,7 +35,7 @@ class WorkerNavigator; class JSWorkerNavigator : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSWorkerNavigator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerNavigator>); + JSWorkerNavigator(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<WorkerNavigator>); virtual ~JSWorkerNavigator(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -63,7 +63,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSWorkerNavigatorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSWorkerNavigatorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp index a5cb5d0..9927f5e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp @@ -128,7 +128,7 @@ static const HashTable* getJSXMLHttpRequestTable(ExecState* exec) } const ClassInfo JSXMLHttpRequest::s_info = { "XMLHttpRequest", 0, 0, getJSXMLHttpRequestTable }; -JSXMLHttpRequest::JSXMLHttpRequest(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequest> impl) +JSXMLHttpRequest::JSXMLHttpRequest(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequest> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -161,7 +161,7 @@ JSValue jsXMLHttpRequestOnabort(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -173,7 +173,7 @@ JSValue jsXMLHttpRequestOnerror(ExecState* exec, const Identifier&, const Proper UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -185,7 +185,7 @@ JSValue jsXMLHttpRequestOnload(ExecState* exec, const Identifier&, const Propert UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -197,7 +197,7 @@ JSValue jsXMLHttpRequestOnloadstart(ExecState* exec, const Identifier&, const Pr UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onloadstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -209,7 +209,7 @@ JSValue jsXMLHttpRequestOnprogress(ExecState* exec, const Identifier&, const Pro UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onprogress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -221,7 +221,7 @@ JSValue jsXMLHttpRequestOnreadystatechange(ExecState* exec, const Identifier&, c UNUSED_PARAM(exec); XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(castedThis->impl()); if (EventListener* listener = imp->onreadystatechange()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h index 71a6f02..0582f1e 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h @@ -33,7 +33,7 @@ class XMLHttpRequest; class JSXMLHttpRequest : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXMLHttpRequest(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequest>); + JSXMLHttpRequest(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequest>); virtual ~JSXMLHttpRequest(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -82,7 +82,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSXMLHttpRequestPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXMLHttpRequestPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp index 68c6dc2..45908b3 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp @@ -142,7 +142,7 @@ static const HashTable* getJSXMLHttpRequestExceptionTable(ExecState* exec) } const ClassInfo JSXMLHttpRequestException::s_info = { "XMLHttpRequestException", 0, 0, getJSXMLHttpRequestExceptionTable }; -JSXMLHttpRequestException::JSXMLHttpRequestException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestException> impl) +JSXMLHttpRequestException::JSXMLHttpRequestException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestException> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h index eca10f3..f04fdf5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h @@ -33,7 +33,7 @@ class XMLHttpRequestException; class JSXMLHttpRequestException : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXMLHttpRequestException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestException>); + JSXMLHttpRequestException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestException>); virtual ~JSXMLHttpRequestException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXMLHttpRequestExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXMLHttpRequestExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp index e197dd5..4baf3f1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp @@ -123,7 +123,7 @@ static const HashTable* getJSXMLHttpRequestProgressEventTable(ExecState* exec) } const ClassInfo JSXMLHttpRequestProgressEvent::s_info = { "XMLHttpRequestProgressEvent", &JSProgressEvent::s_info, 0, getJSXMLHttpRequestProgressEventTable }; -JSXMLHttpRequestProgressEvent::JSXMLHttpRequestProgressEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestProgressEvent> impl) +JSXMLHttpRequestProgressEvent::JSXMLHttpRequestProgressEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestProgressEvent> impl) : JSProgressEvent(structure, globalObject, impl) { } diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h index 144485e..f12a906 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h @@ -30,7 +30,7 @@ class XMLHttpRequestProgressEvent; class JSXMLHttpRequestProgressEvent : public JSProgressEvent { typedef JSProgressEvent Base; public: - JSXMLHttpRequestProgressEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestProgressEvent>); + JSXMLHttpRequestProgressEvent(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestProgressEvent>); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&); @@ -52,7 +52,7 @@ public: static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } static const JSC::ClassInfo s_info; - JSXMLHttpRequestProgressEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXMLHttpRequestProgressEventPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Attributes diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp index de57982..8c44709 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp @@ -146,7 +146,7 @@ static const HashTable* getJSXMLHttpRequestUploadTable(ExecState* exec) } const ClassInfo JSXMLHttpRequestUpload::s_info = { "XMLHttpRequestUpload", 0, 0, getJSXMLHttpRequestUploadTable }; -JSXMLHttpRequestUpload::JSXMLHttpRequestUpload(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestUpload> impl) +JSXMLHttpRequestUpload::JSXMLHttpRequestUpload(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLHttpRequestUpload> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { @@ -179,7 +179,7 @@ JSValue jsXMLHttpRequestUploadOnabort(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl()); if (EventListener* listener = imp->onabort()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -191,7 +191,7 @@ JSValue jsXMLHttpRequestUploadOnerror(ExecState* exec, const Identifier&, const UNUSED_PARAM(exec); XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl()); if (EventListener* listener = imp->onerror()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -203,7 +203,7 @@ JSValue jsXMLHttpRequestUploadOnload(ExecState* exec, const Identifier&, const P UNUSED_PARAM(exec); XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl()); if (EventListener* listener = imp->onload()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -215,7 +215,7 @@ JSValue jsXMLHttpRequestUploadOnloadstart(ExecState* exec, const Identifier&, co UNUSED_PARAM(exec); XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl()); if (EventListener* listener = imp->onloadstart()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); @@ -227,7 +227,7 @@ JSValue jsXMLHttpRequestUploadOnprogress(ExecState* exec, const Identifier&, con UNUSED_PARAM(exec); XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(castedThis->impl()); if (EventListener* listener = imp->onprogress()) { - if (JSObject* jsFunction = listener->jsFunction()) + if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h index 1fea17c..fdf98ac 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h @@ -33,7 +33,7 @@ class XMLHttpRequestUpload; class JSXMLHttpRequestUpload : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXMLHttpRequestUpload(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestUpload>); + JSXMLHttpRequestUpload(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLHttpRequestUpload>); virtual ~JSXMLHttpRequestUpload(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -75,7 +75,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType)); } - JSXMLHttpRequestUploadPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXMLHttpRequestUploadPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp index 1e42f0e..1dcfc94 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp @@ -136,7 +136,7 @@ bool JSXMLSerializerPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSXMLSerializer::s_info = { "XMLSerializer", 0, &JSXMLSerializerTable, 0 }; -JSXMLSerializer::JSXMLSerializer(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLSerializer> impl) +JSXMLSerializer::JSXMLSerializer(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XMLSerializer> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h index 40e6ccf..e8b08c8 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h @@ -33,7 +33,7 @@ class XMLSerializer; class JSXMLSerializer : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXMLSerializer(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLSerializer>); + JSXMLSerializer(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XMLSerializer>); virtual ~JSXMLSerializer(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -68,7 +68,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXMLSerializerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXMLSerializerPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp index 1e6a324..4ce95ca 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp @@ -147,7 +147,7 @@ bool JSXPathEvaluatorPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSXPathEvaluator::s_info = { "XPathEvaluator", 0, &JSXPathEvaluatorTable, 0 }; -JSXPathEvaluator::JSXPathEvaluator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathEvaluator> impl) +JSXPathEvaluator::JSXPathEvaluator(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathEvaluator> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h index 081a98e..997f066 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h @@ -35,7 +35,7 @@ class XPathEvaluator; class JSXPathEvaluator : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXPathEvaluator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathEvaluator>); + JSXPathEvaluator(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathEvaluator>); virtual ~JSXPathEvaluator(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXPathEvaluatorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXPathEvaluatorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp index 1da8e93..7911fad 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp @@ -137,7 +137,7 @@ bool JSXPathExceptionPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSXPathException::s_info = { "XPathException", 0, &JSXPathExceptionTable, 0 }; -JSXPathException::JSXPathException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathException> impl) +JSXPathException::JSXPathException(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathException> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathException.h b/src/3rdparty/webkit/WebCore/generated/JSXPathException.h index a2b7785..a33d9a1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathException.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathException.h @@ -35,7 +35,7 @@ class XPathException; class JSXPathException : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXPathException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathException>); + JSXPathException(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathException>); virtual ~JSXPathException(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXPathExceptionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXPathExceptionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp index eaf7e26..d5531e5 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp @@ -130,7 +130,7 @@ bool JSXPathExpressionPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSXPathExpression::s_info = { "XPathExpression", 0, &JSXPathExpressionTable, 0 }; -JSXPathExpression::JSXPathExpression(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathExpression> impl) +JSXPathExpression::JSXPathExpression(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathExpression> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h index 0b6aa02..a3b2bd1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h @@ -35,7 +35,7 @@ class XPathExpression; class JSXPathExpression : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXPathExpression(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathExpression>); + JSXPathExpression(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathExpression>); virtual ~JSXPathExpression(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXPathExpressionPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXPathExpressionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp index fc7a3d2..c3bdef1 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp @@ -71,7 +71,7 @@ bool JSXPathNSResolverPrototype::getOwnPropertyDescriptor(ExecState* exec, const const ClassInfo JSXPathNSResolver::s_info = { "XPathNSResolver", 0, 0, 0 }; -JSXPathNSResolver::JSXPathNSResolver(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathNSResolver> impl) +JSXPathNSResolver::JSXPathNSResolver(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathNSResolver> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h index b126eaf..3e28973 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h @@ -35,7 +35,7 @@ class XPathNSResolver; class JSXPathNSResolver : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXPathNSResolver(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathNSResolver>); + JSXPathNSResolver(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathNSResolver>); virtual ~JSXPathNSResolver(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -62,7 +62,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXPathNSResolverPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXPathNSResolverPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp index 9908dad..82387c6 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp @@ -160,7 +160,7 @@ bool JSXPathResultPrototype::getOwnPropertyDescriptor(ExecState* exec, const Ide const ClassInfo JSXPathResult::s_info = { "XPathResult", 0, &JSXPathResultTable, 0 }; -JSXPathResult::JSXPathResult(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathResult> impl) +JSXPathResult::JSXPathResult(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XPathResult> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h index f595915..4c5a467 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.h @@ -35,7 +35,7 @@ class XPathResult; class JSXPathResult : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXPathResult(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathResult>); + JSXPathResult(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XPathResult>); virtual ~JSXPathResult(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&); @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXPathResultPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXPathResultPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp index dec1fd4..7dcd9c9 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp +++ b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp @@ -78,7 +78,7 @@ bool JSXSLTProcessorPrototype::getOwnPropertyDescriptor(ExecState* exec, const I const ClassInfo JSXSLTProcessor::s_info = { "XSLTProcessor", 0, 0, 0 }; -JSXSLTProcessor::JSXSLTProcessor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XSLTProcessor> impl) +JSXSLTProcessor::JSXSLTProcessor(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<XSLTProcessor> impl) : DOMObjectWithGlobalPointer(structure, globalObject) , m_impl(impl) { diff --git a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h index 34215aa..b9c061c 100644 --- a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h +++ b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h @@ -35,7 +35,7 @@ class XSLTProcessor; class JSXSLTProcessor : public DOMObjectWithGlobalPointer { typedef DOMObjectWithGlobalPointer Base; public: - JSXSLTProcessor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XSLTProcessor>); + JSXSLTProcessor(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<XSLTProcessor>); virtual ~JSXSLTProcessor(); static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*); virtual const JSC::ClassInfo* classInfo() const { return &s_info; } @@ -70,7 +70,7 @@ public: { return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark)); } - JSXSLTProcessorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } + JSXSLTProcessorPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { } }; // Functions diff --git a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp index c8202fd..9b2f70c 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp @@ -165,17 +165,20 @@ CanvasRenderingContext* HTMLCanvasElement::getContext(const String& type) return m_context.get(); } #if ENABLE(3D_CANVAS) - if ((type == "webkit-3d") || - (type == "GL")) { - if (m_context && !m_context->is3d()) - return 0; - if (!m_context) { - m_context = new CanvasRenderingContext3D(this); - - // Need to make sure a RenderLayer and compositing layer get created for the Canvas - setNeedsStyleRecalc(SyntheticStyleChange); + Settings* settings = document()->settings(); + if (settings && settings->experimentalWebGLEnabled()) { + if ((type == "webkit-3d") || + (type == "GL")) { + if (m_context && !m_context->is3d()) + return 0; + if (!m_context) { + m_context = new CanvasRenderingContext3D(this); + + // Need to make sure a RenderLayer and compositing layer get created for the Canvas + setNeedsStyleRecalc(SyntheticStyleChange); + } + return m_context.get(); } - return m_context.get(); } #endif return 0; diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp index bc74ecf..8e66fe0 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp @@ -39,6 +39,7 @@ #include "MappedAttribute.h" #include "Page.h" #include "RenderBox.h" +#include "RenderTextControl.h" #include "RenderTheme.h" #include "ValidityState.h" @@ -368,4 +369,43 @@ void HTMLFormControlElementWithState::finishParsingChildren() } } +HTMLTextFormControlElement::HTMLTextFormControlElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* form) + : HTMLFormControlElementWithState(tagName, doc, form) +{ +} + +HTMLTextFormControlElement::~HTMLTextFormControlElement() +{ +} + +void HTMLTextFormControlElement::dispatchFocusEvent() +{ + if (supportsPlaceholder()) + updatePlaceholderVisibility(false); + handleFocusEvent(); + HTMLFormControlElementWithState::dispatchFocusEvent(); +} + +void HTMLTextFormControlElement::dispatchBlurEvent() +{ + if (supportsPlaceholder()) + updatePlaceholderVisibility(false); + handleBlurEvent(); + HTMLFormControlElementWithState::dispatchBlurEvent(); +} + +bool HTMLTextFormControlElement::placeholderShouldBeVisible() const +{ + return supportsPlaceholder() + && isEmptyValue() + && document()->focusedNode() != this + && !getAttribute(placeholderAttr).isEmpty(); +} + +void HTMLTextFormControlElement::updatePlaceholderVisibility(bool placeholderValueChanged) +{ + if (supportsPlaceholder() && renderer()) + toRenderTextControl(renderer())->updatePlaceholderVisibility(placeholderShouldBeVisible(), placeholderValueChanged); +} + } // namespace Webcore diff --git a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h index ee7d772..7b3cfbd 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h +++ b/src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h @@ -143,6 +143,28 @@ protected: virtual void didMoveToNewOwnerDocument(); }; +class HTMLTextFormControlElement : public HTMLFormControlElementWithState { +public: + HTMLTextFormControlElement(const QualifiedName&, Document*, HTMLFormElement*); + virtual ~HTMLTextFormControlElement(); + virtual void dispatchFocusEvent(); + virtual void dispatchBlurEvent(); + +protected: + bool placeholderShouldBeVisible() const; + void updatePlaceholderVisibility(bool); + +private: + // A subclass should return true if placeholder processing is needed. + virtual bool supportsPlaceholder() const = 0; + // Returns true if user-editable value is empty. This is used to check placeholder visibility. + virtual bool isEmptyValue() const = 0; + // Called in dispatchFocusEvent(), after placeholder process, before calling parent's dispatchFocusEvent(). + virtual void handleFocusEvent() { } + // Called in dispatchBlurEvent(), after placeholder process, before calling parent's dispatchBlurEvent(). + virtual void handleBlurEvent() { } +}; + } //namespace #endif diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp index 5ba780a..e6b8228 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp @@ -34,6 +34,7 @@ #include "Event.h" #include "EventHandler.h" #include "EventNames.h" +#include "ExceptionCode.h" #include "File.h" #include "FileList.h" #include "FocusController.h" @@ -71,7 +72,7 @@ using namespace HTMLNames; const int maxSavedResults = 256; HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* doc, HTMLFormElement* f) - : HTMLFormControlElementWithState(tagName, doc, f) + : HTMLTextFormControlElement(tagName, doc, f) , m_xPos(0) , m_yPos(0) , m_maxResults(-1) @@ -257,20 +258,17 @@ bool HTMLInputElement::shouldUseInputMethod() const return m_type == TEXT || m_type == SEARCH || m_type == ISINDEX; } -void HTMLInputElement::dispatchFocusEvent() +void HTMLInputElement::handleFocusEvent() { InputElement::dispatchFocusEvent(this, this); if (isTextField()) m_autofilled = false; - - HTMLFormControlElementWithState::dispatchFocusEvent(); } -void HTMLInputElement::dispatchBlurEvent() +void HTMLInputElement::handleBlurEvent() { InputElement::dispatchBlurEvent(this, this); - HTMLFormControlElementWithState::dispatchBlurEvent(); } void HTMLInputElement::setType(const String& t) @@ -741,8 +739,7 @@ void HTMLInputElement::parseMappedAttribute(MappedAttribute *attr) } setNeedsStyleRecalc(); } else if (attr->name() == placeholderAttr) { - if (isTextField()) - updatePlaceholderVisibility(); + updatePlaceholderVisibility(true); } else if (attr->name() == autosaveAttr || attr->name() == incrementalAttr || attr->name() == minAttr || @@ -814,7 +811,7 @@ RenderObject *HTMLInputElement::createRenderer(RenderArena *arena, RenderStyle * case TELEPHONE: case TEXT: case URL: - return new (arena) RenderTextControlSingleLine(this); + return new (arena) RenderTextControlSingleLine(this, placeholderShouldBeVisible()); } ASSERT(false); return 0; @@ -1111,7 +1108,7 @@ void HTMLInputElement::setValue(const String& value) else { m_data.setValue(sanitizeValue(value)); if (isTextField()) { - InputElement::updatePlaceholderVisibility(this, this); + updatePlaceholderVisibility(false); if (inDocument()) document()->updateStyleIfNeeded(); } @@ -1151,6 +1148,7 @@ void HTMLInputElement::setValueFromRenderer(const String& value) { // File upload controls will always use setFileListFromRenderer. ASSERT(inputType() != FILE); + updatePlaceholderVisibility(false); InputElement::setValueFromRenderer(m_data, this, this, value); } @@ -1612,9 +1610,12 @@ int HTMLInputElement::maxLength() const return m_data.maxLength(); } -void HTMLInputElement::setMaxLength(int _maxLength) +void HTMLInputElement::setMaxLength(int _maxLength, ExceptionCode& exceptionCode) { - setAttribute(maxlengthAttr, String::number(_maxLength)); + if (_maxLength < 0) + exceptionCode = INDEX_SIZE_ERR; + else + setAttribute(maxlengthAttr, String::number(_maxLength)); } bool HTMLInputElement::multiple() const @@ -1790,11 +1791,6 @@ bool HTMLInputElement::willValidate() const inputType() != BUTTON && inputType() != RESET; } -bool HTMLInputElement::placeholderShouldBeVisible() const -{ - return InputElement::placeholderShouldBeVisible(this, this); -} - bool HTMLInputElement::formStringToDouble(const String& src, double* out) { // See HTML5 2.4.4.3 `Real numbers.' diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h index 8f273cb..16e3b58 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h +++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h @@ -37,7 +37,7 @@ class HTMLOptionElement; class KURL; class VisibleSelection; -class HTMLInputElement : public HTMLFormControlElementWithState, public InputElement { +class HTMLInputElement : public HTMLTextFormControlElement, public InputElement { public: enum InputType { TEXT, @@ -75,8 +75,6 @@ public: virtual bool isKeyboardFocusable(KeyboardEvent*) const; virtual bool isMouseFocusable() const; virtual bool isEnumeratable() const { return inputType() != IMAGE; } - virtual void dispatchFocusEvent(); - virtual void dispatchBlurEvent(); virtual void updateFocusAppearance(bool restorePreviousSelection); virtual void aboutToUnload(); virtual bool shouldUseInputMethod() const; @@ -203,7 +201,7 @@ public: #endif int maxLength() const; - void setMaxLength(int); + void setMaxLength(int, ExceptionCode&); bool multiple() const; void setMultiple(bool); @@ -230,8 +228,6 @@ public: virtual bool willValidate() const; - virtual bool placeholderShouldBeVisible() const; - // Converts the specified string to a floating number. // If the conversion fails, the return value is false. Take care that leading or trailing unnecessary characters make failures. This returns false for an empty string input. // The double* parameter may be 0. @@ -241,11 +237,6 @@ protected: virtual void willMoveToNewOwnerDocument(); virtual void didMoveToNewOwnerDocument(); - void updatePlaceholderVisibility() - { - InputElement::updatePlaceholderVisibility(this, this, true); - } - private: bool storesValueSeparateFromAttribute() const; @@ -253,6 +244,11 @@ private: void registerForActivationCallbackIfNeeded(); void unregisterForActivationCallbackIfNeeded(); + virtual bool supportsPlaceholder() const { return isTextField(); } + virtual bool isEmptyValue() const { return value().isEmpty(); } + virtual void handleFocusEvent(); + virtual void handleBlurEvent(); + virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); } virtual bool isRequiredFormControl() const; diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl index 07bab90..7cdf487 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl +++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl @@ -42,7 +42,8 @@ module html { #if defined(ENABLE_DATALIST) && ENABLE_DATALIST readonly attribute HTMLElement list; #endif - attribute long maxLength; + attribute long maxLength + setter raises(DOMException); attribute boolean multiple; attribute [ConvertNullToNullString] DOMString name; attribute [Reflect] DOMString pattern; diff --git a/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp index bcfa623..31fafa6 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp @@ -44,7 +44,7 @@ void HTMLIsIndexElement::parseMappedAttribute(MappedAttribute* attr) if (attr->name() == promptAttr) setValue(attr->value()); else if (attr->name() == placeholderAttr) - updatePlaceholderVisibility(); + updatePlaceholderVisibility(true); else // don't call HTMLInputElement::parseMappedAttribute here, as it would // accept attributes this element does not support diff --git a/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp index 8705521..0971ef5 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp @@ -252,7 +252,23 @@ void HTMLLinkElement::setCSSStyleSheet(const String& url, const String& charset, if (enforceMIMEType && document()->page() && !document()->page()->settings()->enforceCSSMIMETypeInStrictMode()) enforceMIMEType = false; - m_sheet->parseString(sheet->sheetText(enforceMIMEType), strictParsing); + String sheetText = sheet->sheetText(enforceMIMEType); + m_sheet->parseString(sheetText, strictParsing); + + if (strictParsing && document()->settings() && document()->settings()->needsSiteSpecificQuirks()) { + // Work around <https://bugs.webkit.org/show_bug.cgi?id=28350>. + DEFINE_STATIC_LOCAL(const String, slashKHTMLFixesDotCss, ("/KHTMLFixes.css")); + DEFINE_STATIC_LOCAL(const String, mediaWikiKHTMLFixesStyleSheet, ("/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n")); + // There are two variants of KHTMLFixes.css. One is equal to mediaWikiKHTMLFixesStyleSheet, + // while the other lacks the second trailing newline. + if (url.endsWith(slashKHTMLFixesDotCss) && mediaWikiKHTMLFixesStyleSheet.startsWith(sheetText) + && sheetText.length() >= mediaWikiKHTMLFixesStyleSheet.length() - 1) { + ASSERT(m_sheet->length() == 1); + ExceptionCode ec; + m_sheet->deleteRule(0, ec); + } + } + m_sheet->setTitle(title()); RefPtr<MediaList> media = MediaList::createAllowingDescriptionSyntax(m_media); diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp index 3cf4852..b5e4ced 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp +++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp @@ -32,6 +32,7 @@ #include "Document.h" #include "Event.h" #include "EventNames.h" +#include "ExceptionCode.h" #include "FocusController.h" #include "FormDataList.h" #include "Frame.h" @@ -63,7 +64,7 @@ static inline void notifyFormStateChanged(const HTMLTextAreaElement* element) } HTMLTextAreaElement::HTMLTextAreaElement(const QualifiedName& tagName, Document* document, HTMLFormElement* form) - : HTMLFormControlElementWithState(tagName, document, form) + : HTMLTextFormControlElement(tagName, document, form) , m_rows(defaultRows) , m_cols(defaultCols) , m_wrap(SoftWrap) @@ -211,7 +212,7 @@ void HTMLTextAreaElement::parseMappedAttribute(MappedAttribute* attr) RenderObject* HTMLTextAreaElement::createRenderer(RenderArena* arena, RenderStyle*) { - return new (arena) RenderTextControlMultiLine(this); + return new (arena) RenderTextControlMultiLine(this, placeholderShouldBeVisible()); } bool HTMLTextAreaElement::appendFormData(FormDataList& encoding, bool) @@ -283,16 +284,16 @@ void HTMLTextAreaElement::handleBeforeTextInsertedEvent(BeforeTextInsertedEvent* { ASSERT(event); ASSERT(renderer()); - bool ok; - unsigned maxLength = getAttribute(maxlengthAttr).string().toUInt(&ok); - if (!ok) + int signedMaxLength = maxLength(); + if (signedMaxLength < 0) return; + unsigned unsignedMaxLength = static_cast<unsigned>(signedMaxLength); unsigned currentLength = toRenderTextControl(renderer())->text().numGraphemeClusters(); unsigned selectionLength = plainText(document()->frame()->selection()->selection().toNormalizedRange().get()).numGraphemeClusters(); ASSERT(currentLength >= selectionLength); unsigned baseLength = currentLength - selectionLength; - unsigned appendableLength = maxLength > baseLength ? maxLength - baseLength : 0; + unsigned appendableLength = unsignedMaxLength > baseLength ? unsignedMaxLength - baseLength : 0; event->setText(sanitizeUserInputValue(event->text(), appendableLength)); } @@ -401,14 +402,19 @@ void HTMLTextAreaElement::setDefaultValue(const String& defaultValue) setValue(value); } -unsigned HTMLTextAreaElement::maxLength() const +int HTMLTextAreaElement::maxLength() const { - return getAttribute(maxlengthAttr).string().toUInt(); + bool ok; + int value = getAttribute(maxlengthAttr).string().toInt(&ok); + return ok && value >= 0 ? value : -1; } -void HTMLTextAreaElement::setMaxLength(unsigned newValue) +void HTMLTextAreaElement::setMaxLength(int newValue, ExceptionCode& exceptionCode) { - setAttribute(maxlengthAttr, String::number(newValue)); + if (newValue < 0) + exceptionCode = INDEX_SIZE_ERR; + else + setAttribute(maxlengthAttr, String::number(newValue)); } void HTMLTextAreaElement::accessKeyAction(bool) @@ -448,29 +454,4 @@ bool HTMLTextAreaElement::shouldUseInputMethod() const return true; } -bool HTMLTextAreaElement::placeholderShouldBeVisible() const -{ - return value().isEmpty() - && document()->focusedNode() != this - && !getAttribute(placeholderAttr).isEmpty(); -} - -void HTMLTextAreaElement::updatePlaceholderVisibility(bool placeholderValueChanged) -{ - if (renderer()) - toRenderTextControl(renderer())->updatePlaceholderVisibility(placeholderShouldBeVisible(), placeholderValueChanged); -} - -void HTMLTextAreaElement::dispatchFocusEvent() -{ - updatePlaceholderVisibility(false); - HTMLFormControlElementWithState::dispatchFocusEvent(); -} - -void HTMLTextAreaElement::dispatchBlurEvent() -{ - updatePlaceholderVisibility(false); - HTMLFormControlElementWithState::dispatchBlurEvent(); -} - } // namespace diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h index fbf519d..cfd471a 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h +++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h @@ -31,7 +31,7 @@ namespace WebCore { class BeforeTextInsertedEvent; class VisibleSelection; -class HTMLTextAreaElement : public HTMLFormControlElementWithState { +class HTMLTextAreaElement : public HTMLTextFormControlElement { public: HTMLTextAreaElement(const QualifiedName&, Document*, HTMLFormElement* = 0); @@ -79,8 +79,8 @@ public: String defaultValue() const; void setDefaultValue(const String&); int textLength() const { return value().length(); } - unsigned maxLength() const; - void setMaxLength(unsigned); + int maxLength() const; + void setMaxLength(int, ExceptionCode&); void rendererWillBeDestroyed(); @@ -97,17 +97,15 @@ public: virtual bool shouldUseInputMethod() const; - bool placeholderShouldBeVisible() const; - private: enum WrapMethod { NoWrap, SoftWrap, HardWrap }; void handleBeforeTextInsertedEvent(BeforeTextInsertedEvent*) const; static String sanitizeUserInputValue(const String&, unsigned maxLength); void updateValue() const; - void updatePlaceholderVisibility(bool placeholderValueChanged); - virtual void dispatchFocusEvent(); - virtual void dispatchBlurEvent(); + + virtual bool supportsPlaceholder() const { return true; } + virtual bool isEmptyValue() const { return value().isEmpty(); } virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); } virtual bool isRequiredFormControl() const { return required(); } diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl index 84583f5..db5154e 100644 --- a/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl +++ b/src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl @@ -34,7 +34,8 @@ module html { attribute long cols; attribute boolean disabled; attribute boolean autofocus; - attribute unsigned long maxLength; + attribute long maxLength + setter raises(DOMException); attribute [ConvertNullToNullString] DOMString name; attribute [ConvertNullToNullString, Reflect] DOMString placeholder; attribute boolean readOnly; diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp index c140b13..752ec0c 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp @@ -45,6 +45,7 @@ #include "InspectorDOMAgent.h" #include "InspectorFrontend.h" #include "InspectorResource.h" +#include "Pasteboard.h" #include "ScriptFunctionCall.h" #if ENABLE(DOM_STORAGE) @@ -57,6 +58,8 @@ using namespace JSC; #endif +#include "markup.h" + #include <wtf/RefPtr.h> #include <wtf/StdLibExtras.h> @@ -273,19 +276,6 @@ bool InspectorBackend::timelineEnabled() const return false; } -void InspectorBackend::getCookies(long callId) -{ - if (InspectorDOMAgent* domAgent = inspectorDOMAgent()) - domAgent->getCookies(callId); -} - -void InspectorBackend::deleteCookie(const String& cookieName) -{ - if (!m_inspectorController) - return; - m_inspectorController->deleteCookie(cookieName); -} - #if ENABLE(JAVASCRIPT_DEBUGGER) const ProfilesArray& InspectorBackend::profiles() const { @@ -446,6 +436,34 @@ void InspectorBackend::setTextNodeValue(long callId, long nodeId, const String& domAgent->setTextNodeValue(callId, nodeId, value); } +void InspectorBackend::getEventListenersForNode(long callId, long nodeId) +{ + if (InspectorDOMAgent* domAgent = inspectorDOMAgent()) + domAgent->getEventListenersForNode(callId, nodeId); +} + +void InspectorBackend::copyNode(long nodeId) +{ + Node* node = nodeForId(nodeId); + if (!node) + return; + String markup = createMarkup(node); + Pasteboard::generalPasteboard()->writePlainText(markup); +} + +void InspectorBackend::getCookies(long callId) +{ + if (InspectorDOMAgent* domAgent = inspectorDOMAgent()) + domAgent->getCookies(callId); +} + +void InspectorBackend::deleteCookie(const String& cookieName) +{ + if (!m_inspectorController) + return; + m_inspectorController->deleteCookie(cookieName); +} + void InspectorBackend::highlight(long nodeId) { if (Node* node = nodeForId(nodeId)) diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h index 038ae14..72278a3 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h @@ -99,9 +99,6 @@ public: void disableTimeline(bool always); bool timelineEnabled() const; - void getCookies(long callId); - void deleteCookie(const String& cookieName); - #if ENABLE(JAVASCRIPT_DEBUGGER) const ProfilesArray& profiles() const; @@ -138,6 +135,11 @@ public: void setAttribute(long callId, long elementId, const String& name, const String& value); void removeAttribute(long callId, long elementId, const String& name); void setTextNodeValue(long callId, long nodeId, const String& value); + void getEventListenersForNode(long callId, long nodeId); + void copyNode(long nodeId); + + void getCookies(long callId); + void deleteCookie(const String& cookieName); // Generic code called from custom implementations. void highlight(long nodeId); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl index 395e7fd..5c6babb 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl @@ -71,9 +71,6 @@ module core { void disableResourceTracking(in boolean always); void storeLastActivePanel(in DOMString panelName); - void getCookies(in long callId); - void deleteCookie(in DOMString cookieName); - #if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER boolean debuggerEnabled(); void enableDebugger(in boolean always); @@ -109,6 +106,11 @@ module core { void setAttribute(in long callId, in long elementId, in DOMString name, in DOMString value); void removeAttribute(in long callId, in long elementId, in DOMString name); void setTextNodeValue(in long callId, in long nodeId, in DOMString value); + void getEventListenersForNode(in long callId, in long nodeId); + void copyNode(in long nodeId); + + void getCookies(in long callId); + void deleteCookie(in DOMString cookieName); // Called from InjectedScript. [Custom] DOMObject nodeForId(in long nodeId); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp index 69a7e60..bb77ebf 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp @@ -503,6 +503,13 @@ void InspectorController::handleMousePressOnNode(Node* node) inspect(node); } +void InspectorController::inspectedWindowScriptObjectCleared(Frame* frame) +{ + if (!enabled() || !m_frontend || frame != m_inspectedPage->mainFrame()) + return; + resetInjectedScript(); +} + void InspectorController::windowScriptObjectAvailable() { if (!m_page || !enabled()) @@ -644,9 +651,7 @@ void InspectorController::populateScriptObjects() if (!m_frontend) return; - // Initialize dom agent and reset injected script state first. - if (m_domAgent->setDocument(m_inspectedPage->mainFrame()->document())) - resetInjectedScript(); + m_domAgent->setDocument(m_inspectedPage->mainFrame()->document()); ResourcesMap::iterator resourcesEnd = m_resources.end(); for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it) @@ -694,6 +699,7 @@ void InspectorController::resetScriptObjects() m_timelineAgent->reset(); m_frontend->reset(); + m_domAgent->setDocument(0); } void InspectorController::pruneResources(ResourcesMap* resourceMap, DocumentLoader* loaderToKeep) @@ -758,10 +764,11 @@ void InspectorController::didCommitLoad(DocumentLoader* loader) // identifierForInitialRequest. m_mainResource = 0; } + if (windowVisible()) { + m_frontend->didCommitLoad(); + m_domAgent->setDocument(m_inspectedPage->mainFrame()->document()); + } } - - if (m_domAgent && m_domAgent->setDocument(m_inspectedPage->mainFrame()->document())) - resetInjectedScript(); } for (Frame* frame = loader->frame(); frame; frame = frame->tree()->traverseNext(loader->frame())) @@ -1089,7 +1096,8 @@ void InspectorController::didOpenDatabase(Database* database, const String& doma m_databaseResources.add(resource); - if (m_frontend) + // Resources are only bound while visible. + if (m_frontend && windowVisible()) resource->bind(m_frontend.get()); } #endif @@ -1109,7 +1117,9 @@ void InspectorController::didUseDOMStorage(StorageArea* storageArea, bool isLoca RefPtr<InspectorDOMStorageResource> resource = InspectorDOMStorageResource::create(domStorage.get(), isLocalStorage, frame); m_domStorageResources.add(resource); - if (m_frontend) + + // Resources are only bound while visible. + if (m_frontend && windowVisible()) resource->bind(m_frontend.get()); } diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h index 20295aa..ff7a516 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h @@ -196,6 +196,7 @@ public: void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags); void handleMousePressOnNode(Node*); + void inspectedWindowScriptObjectCleared(Frame*); void windowScriptObjectAvailable(); void setFrontendProxyObject(ScriptState* state, ScriptObject webInspectorObj, ScriptObject injectedScriptObj = ScriptObject()); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.cpp index 4a4902d..ad8e8b8 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.cpp @@ -50,6 +50,7 @@ #include "Node.h" #include "NodeList.h" #include "PlatformString.h" +#include "ScriptEventListener.h" #include "ScriptObject.h" #include "Text.h" @@ -70,10 +71,10 @@ InspectorDOMAgent::~InspectorDOMAgent() setDocument(0); } -bool InspectorDOMAgent::setDocument(Document* doc) +void InspectorDOMAgent::setDocument(Document* doc) { if (doc == mainFrameDocument()) - return false; + return; discardBindings(); ListHashSet<RefPtr<Document> > copy = m_documents; @@ -88,7 +89,6 @@ bool InspectorDOMAgent::setDocument(Document* doc) pushDocumentToFrontend(); } } - return true; } void InspectorDOMAgent::releaseDanglingNodes() @@ -123,7 +123,7 @@ void InspectorDOMAgent::stopListening(Document* doc) m_documents.remove(doc); } -void InspectorDOMAgent::handleEvent(Event* event) +void InspectorDOMAgent::handleEvent(ScriptExecutionContext*, Event* event) { AtomicString type = event->type(); Node* node = event->target()->toNode(); @@ -364,6 +364,80 @@ void InspectorDOMAgent::setTextNodeValue(long callId, long nodeId, const String& } } +void InspectorDOMAgent::getEventListenersForNode(long callId, long nodeId) +{ + Node* node = nodeForId(nodeId); + ScriptArray listenersArray = m_frontend->newScriptArray(); + unsigned counter = 0; + EventTargetData* d; + + // Quick break if a null node or no listeners at all + if (!node || !(d = node->eventTargetData())) { + m_frontend->didGetEventListenersForNode(callId, nodeId, listenersArray); + return; + } + + // Get the list of event types this Node is concerned with + Vector<AtomicString> eventTypes; + const EventListenerMap& listenerMap = d->eventListenerMap; + HashMap<AtomicString, EventListenerVector>::const_iterator end = listenerMap.end(); + for (HashMap<AtomicString, EventListenerVector>::const_iterator iter = listenerMap.begin(); iter != end; ++iter) + eventTypes.append(iter->first); + + // Quick break if no useful listeners + size_t eventTypesLength = eventTypes.size(); + if (eventTypesLength == 0) { + m_frontend->didGetEventListenersForNode(callId, nodeId, listenersArray); + return; + } + + // The Node's Event Ancestors (not including self) + Vector<RefPtr<ContainerNode> > ancestors; + node->eventAncestors(ancestors); + + // Nodes and their Listeners for the concerned event types (order is top to bottom) + Vector<EventListenerInfo> eventInformation; + for (size_t i = ancestors.size(); i; --i) { + ContainerNode* ancestor = ancestors[i - 1].get(); + for (size_t j = 0; j < eventTypesLength; ++j) { + AtomicString& type = eventTypes[j]; + if (ancestor->hasEventListeners(type)) + eventInformation.append(EventListenerInfo(static_cast<Node*>(ancestor), type, ancestor->getEventListeners(type))); + } + } + + // Insert the Current Node at the end of that list (last in capturing, first in bubbling) + for (size_t i = 0; i < eventTypesLength; ++i) { + const AtomicString& type = eventTypes[i]; + eventInformation.append(EventListenerInfo(node, type, node->getEventListeners(type))); + } + + // Get Capturing Listeners (in this order) + size_t eventInformationLength = eventInformation.size(); + for (size_t i = 0; i < eventInformationLength; ++i) { + const EventListenerInfo& info = eventInformation[i]; + const EventListenerVector& vector = info.eventListenerVector; + for (size_t j = 0; j < vector.size(); ++j) { + const RegisteredEventListener& listener = vector[j]; + if (listener.useCapture) + listenersArray.set(counter++, buildObjectForEventListener(listener, info.eventType, info.node)); + } + } + + // Get Bubbling Listeners (reverse order) + for (size_t i = eventInformationLength; i; --i) { + const EventListenerInfo& info = eventInformation[i - 1]; + const EventListenerVector& vector = info.eventListenerVector; + for (size_t j = 0; j < vector.size(); ++j) { + const RegisteredEventListener& listener = vector[j]; + if (!listener.useCapture) + listenersArray.set(counter++, buildObjectForEventListener(listener, info.eventType, info.node)); + } + } + + m_frontend->didGetEventListenersForNode(callId, nodeId, listenersArray); +} + void InspectorDOMAgent::getCookies(long callId) { Document* doc = mainFrameDocument(); @@ -382,6 +456,7 @@ ScriptObject InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeTo long id = bind(node, nodesMap); String nodeName; + String localName; String nodeValue; switch (node->nodeType()) { @@ -390,18 +465,22 @@ ScriptObject InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeTo nodeValue = node->nodeValue(); break; case Node::ATTRIBUTE_NODE: + localName = node->localName(); + break; case Node::DOCUMENT_FRAGMENT_NODE: break; case Node::DOCUMENT_NODE: case Node::ELEMENT_NODE: default: nodeName = node->nodeName(); + localName = node->localName(); break; } value.set("id", static_cast<int>(id)); value.set("nodeType", node->nodeType()); value.set("nodeName", nodeName); + value.set("localName", localName); value.set("nodeValue", nodeValue); if (node->nodeType() == Node::ELEMENT_NODE) { @@ -458,6 +537,18 @@ ScriptArray InspectorDOMAgent::buildArrayForContainerChildren(Node* container, i return children; } +ScriptObject InspectorDOMAgent::buildObjectForEventListener(const RegisteredEventListener& registeredEventListener, const AtomicString& eventType, Node* node) +{ + RefPtr<EventListener> eventListener = registeredEventListener.listener; + ScriptObject value = m_frontend->newScriptObject(); + value.set("type", eventType); + value.set("useCapture", registeredEventListener.useCapture); + value.set("isAttribute", eventListener->isAttribute()); + value.set("nodeId", static_cast<long long>(pushNodePathToFrontend(node))); + value.set("listener", getEventListenerHandlerBody(node->document(), m_frontend->scriptState(), eventListener.get())); + return value; +} + ScriptObject InspectorDOMAgent::buildObjectForCookie(const Cookie& cookie) { ScriptObject value = m_frontend->newScriptObject(); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h index bd539a5..548e2b2 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h @@ -30,7 +30,9 @@ #ifndef InspectorDOMAgent_h #define InspectorDOMAgent_h +#include "AtomicString.h" #include "EventListener.h" +#include "EventTarget.h" #include "ScriptArray.h" #include "ScriptObject.h" #include "ScriptState.h" @@ -53,6 +55,19 @@ namespace WebCore { struct Cookie; + struct EventListenerInfo { + EventListenerInfo(Node* node, const AtomicString& eventType, const EventListenerVector& eventListenerVector) + : node(node) + , eventType(eventType) + , eventListenerVector(eventListenerVector) + { + } + + Node* node; + const AtomicString eventType; + const EventListenerVector eventListenerVector; + }; + class InspectorDOMAgent : public EventListener { public: static const InspectorDOMAgent* cast(const EventListener* listener) @@ -72,10 +87,11 @@ namespace WebCore { void setAttribute(long callId, long elementId, const String& name, const String& value); void removeAttribute(long callId, long elementId, const String& name); void setTextNodeValue(long callId, long nodeId, const String& value); + void getEventListenersForNode(long callId, long nodeId); void getCookies(long callId); // Methods called from the InspectorController. - bool setDocument(Document* document); + void setDocument(Document* document); void releaseDanglingNodes(); Node* nodeForId(long nodeId); @@ -85,7 +101,7 @@ namespace WebCore { void startListening(Document* document); void stopListening(Document* document); - virtual void handleEvent(Event* event); + virtual void handleEvent(ScriptExecutionContext*, Event* event); typedef HashMap<RefPtr<Node>, long> NodeToIdMap; long bind(Node* node, NodeToIdMap* nodesMap); @@ -98,6 +114,8 @@ namespace WebCore { ScriptArray buildArrayForElementAttributes(Element* element); ScriptArray buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap); + ScriptObject buildObjectForEventListener(const RegisteredEventListener& registeredEventListener, const AtomicString& eventType, Node* node); + ScriptObject buildObjectForCookie(const Cookie& cookie); ScriptArray buildArrayForCookies(const Vector<Cookie>& cookiesList); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.cpp index 99a2dba..37818e7 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.cpp @@ -79,7 +79,9 @@ void InspectorDOMStorageResource::bind(InspectorFrontend* frontend) void InspectorDOMStorageResource::unbind() { - ASSERT(m_frontend); + if (!m_frontend) + return; // Already unbound. + if (m_reportingChangesToFrontend) { m_frame->domWindow()->removeEventListener(eventNames().storageEvent, this, true); m_reportingChangesToFrontend = false; @@ -96,7 +98,7 @@ void InspectorDOMStorageResource::startReportingChangesToFrontend() } } -void InspectorDOMStorageResource::handleEvent(Event* event) +void InspectorDOMStorageResource::handleEvent(ScriptExecutionContext*, Event* event) { ASSERT(m_frontend); ASSERT(eventNames().storageEvent == event->type()); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.h b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.h index 6f29d9d..2b18b24 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.h +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.h @@ -62,7 +62,7 @@ namespace WebCore { void unbind(); void startReportingChangesToFrontend(); - virtual void handleEvent(Event*); + virtual void handleEvent(ScriptExecutionContext*, Event*); virtual bool operator==(const EventListener& listener); bool isSameHostAndType(Frame*, bool isLocalStorage) const; diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp index 3bdfa97..63bb6e2 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp @@ -73,6 +73,11 @@ ScriptObject InspectorFrontend::newScriptObject() return ScriptObject::createNew(m_scriptState); } +void InspectorFrontend::didCommitLoad() +{ + callSimpleFunction("didCommitLoad"); +} + void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message) { OwnPtr<ScriptFunctionCall> function(newFunctionCall("addMessageToConsole")); @@ -83,13 +88,8 @@ void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, cons } else if (!wrappedArguments.isEmpty()) { for (unsigned i = 0; i < wrappedArguments.size(); ++i) function->appendArgument(m_inspectorController->wrapObject(wrappedArguments[i])); - } else { - // FIXME: avoid manual wrapping here. - ScriptObject textWrapper = ScriptObject::createNew(m_scriptState); - textWrapper.set("type", "string"); - textWrapper.set("description", message); - function->appendArgument(textWrapper); - } + } else + function->appendArgument(message); function->call(); } @@ -373,6 +373,15 @@ void InspectorFrontend::didApplyDomChange(int callId, bool success) function->call(); } +void InspectorFrontend::didGetEventListenersForNode(int callId, int nodeId, ScriptArray& listenersArray) +{ + OwnPtr<ScriptFunctionCall> function(newFunctionCall("didGetEventListenersForNode")); + function->appendArgument(callId); + function->appendArgument(nodeId); + function->appendArgument(listenersArray); + function->call(); +} + void InspectorFrontend::didGetCookies(int callId, const ScriptArray& cookies, const String& cookiesString) { OwnPtr<ScriptFunctionCall> function(newFunctionCall("didGetCookies")); diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h index f9d3ba1..51f17fb 100644 --- a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h +++ b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h @@ -62,6 +62,7 @@ namespace WebCore { ScriptArray newScriptArray(); ScriptObject newScriptObject(); + void didCommitLoad(); void addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message); void clearConsoleMessages(); @@ -115,6 +116,7 @@ namespace WebCore { void attributesUpdated(int id, const ScriptArray& attributes); void didGetChildNodes(int callId); void didApplyDomChange(int callId, bool success); + void didGetEventListenersForNode(int callId, int nodeId, ScriptArray& listenersArray); void timelineWasEnabled(); void timelineWasDisabled(); @@ -125,6 +127,8 @@ namespace WebCore { void addNodesToSearchResult(const String& nodeIds); + ScriptState* scriptState() const { return m_scriptState; } + private: PassOwnPtr<ScriptFunctionCall> newFunctionCall(const String& functionName); void callSimpleFunction(const String& functionName); diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp index 6657120..e460ae8 100644 --- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp +++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp @@ -235,7 +235,7 @@ bool JavaScriptDebugServer::hasBreakpoint(intptr_t sourceID, unsigned lineNumber // An erroneous condition counts as "false". return false; } - return result.toBoolean(m_currentCallFrame->scopeChain()->globalObject()->globalExec()); + return result.toBoolean(m_currentCallFrame->scopeChain()->globalObject->globalExec()); } void JavaScriptDebugServer::clearBreakpoints() diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js index 575b13a..4f50ecc 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js @@ -608,7 +608,7 @@ WebInspector.ConsoleMessage.prototype = { this.formattedMessage = span; break; case WebInspector.ConsoleMessage.MessageType.Object: - this.formattedMessage = this._format([WebInspector.ObjectProxy.wrapPrimitiveValue("%O"), args[0]]); + this.formattedMessage = this._format(["%O", args[0]]); break; default: this.formattedMessage = this._format(args); @@ -631,6 +631,13 @@ WebInspector.ConsoleMessage.prototype = { if (!parameters.length) return formattedResult; + // Formatting code below assumes that parameters are all wrappers whereas frontend console + // API allows passing arbitrary values as messages (strings, numberts, etc.). Wrap them here. + for (var i = 0; i < parameters.length; ++i) { + if (typeof parameters[i] !== "object" && typeof parameters[i] !== "function") + parameters[i] = WebInspector.ObjectProxy.wrapPrimitiveValue(parameters[i]); + } + function formatForConsole(obj) { return WebInspector.console._format(obj); diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/DOMAgent.js b/src/3rdparty/webkit/WebCore/inspector/front-end/DOMAgent.js index 47c8041..a151c05 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/DOMAgent.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/DOMAgent.js @@ -35,6 +35,7 @@ WebInspector.DOMNode = function(doc, payload) { this.id = payload.id; this.nodeType = payload.nodeType; this.nodeName = payload.nodeName; + this.localName = payload.localName; this._nodeValue = payload.nodeValue; this.textContent = this.nodeValue; @@ -377,13 +378,16 @@ WebInspector.DOMAgent.prototype = { _setDocument: function(payload) { - this.document = new WebInspector.DOMDocument(this, this._window, payload); this._idToDOMNode = {}; - this._idToDOMNode[payload.id] = this.document; - this._bindNodes(this.document.children); + if (payload) { + this.document = new WebInspector.DOMDocument(this, this._window, payload); + this._idToDOMNode[payload.id] = this.document; + this._bindNodes(this.document.children); + } else + this.document = null; WebInspector.panels.elements.reset(); }, - + _setDetachedRoot: function(payload) { var root = new WebInspector.DOMNode(this.document, payload); @@ -473,6 +477,17 @@ WebInspector.Cookies.buildCookiesFromString = function(rawCookieString) return cookies; } +WebInspector.EventListeners = {} + +WebInspector.EventListeners.getEventListenersForNodeAsync = function(node, callback) +{ + if (!node) + return; + + var callId = WebInspector.Callback.wrap(callback); + InspectorController.getEventListenersForNode(callId, node.id); +} + WebInspector.CSSStyleDeclaration = function(payload) { this.id = payload.id; @@ -648,3 +663,4 @@ WebInspector.didPerformSearch = WebInspector.Callback.processCallback; WebInspector.didApplyDomChange = WebInspector.Callback.processCallback; WebInspector.didRemoveAttribute = WebInspector.Callback.processCallback; WebInspector.didSetTextNodeValue = WebInspector.Callback.processCallback; +WebInspector.didGetEventListenersForNode = WebInspector.Callback.processCallback; diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js index 49a1188..1b61a7b 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js @@ -56,6 +56,7 @@ WebInspector.ElementsPanel = function() this.panel.updateStyles(true); this.panel.updateMetrics(); this.panel.updateProperties(); + this.panel.updateEventListeners(); if (InspectorController.searchingForNode()) { InspectorController.toggleNodeSearch(); @@ -76,10 +77,12 @@ WebInspector.ElementsPanel = function() this.sidebarPanes.styles = new WebInspector.StylesSidebarPane(); this.sidebarPanes.metrics = new WebInspector.MetricsSidebarPane(); this.sidebarPanes.properties = new WebInspector.PropertiesSidebarPane(); + this.sidebarPanes.eventListeners = new WebInspector.EventListenersSidebarPane(); this.sidebarPanes.styles.onexpand = this.updateStyles.bind(this); this.sidebarPanes.metrics.onexpand = this.updateMetrics.bind(this); this.sidebarPanes.properties.onexpand = this.updateProperties.bind(this); + this.sidebarPanes.eventListeners.onexpand = this.updateEventListeners.bind(this); this.sidebarPanes.styles.expanded = true; @@ -93,6 +96,7 @@ WebInspector.ElementsPanel = function() this.sidebarElement.appendChild(this.sidebarPanes.styles.element); this.sidebarElement.appendChild(this.sidebarPanes.metrics.element); this.sidebarElement.appendChild(this.sidebarPanes.properties.element); + this.sidebarElement.appendChild(this.sidebarPanes.eventListeners.element); this.sidebarResizeElement = document.createElement("div"); this.sidebarResizeElement.className = "sidebar-resizer-vertical"; @@ -977,6 +981,16 @@ WebInspector.ElementsPanel.prototype = { propertiesSidebarPane.needsUpdate = false; }, + updateEventListeners: function() + { + var eventListenersSidebarPane = this.sidebarPanes.eventListeners; + if (!eventListenersSidebarPane.expanded || !eventListenersSidebarPane.needsUpdate) + return; + + eventListenersSidebarPane.update(this.focusedDOMNode); + eventListenersSidebarPane.needsUpdate = false; + }, + handleKeyEvent: function(event) { this.treeOutline.handleKeyEvent(event); @@ -987,27 +1001,9 @@ WebInspector.ElementsPanel.prototype = { // Don't prevent the normal copy if the user has a selection. if (!window.getSelection().isCollapsed) return; - - switch (this.focusedDOMNode.nodeType) { - case Node.ELEMENT_NODE: - // TODO: Introduce InspectorController.copyEvent that pushes appropriate markup into the clipboard. - var data = null; - break; - - case Node.COMMENT_NODE: - var data = "<!--" + this.focusedDOMNode.nodeValue + "-->"; - break; - - default: - case Node.TEXT_NODE: - var data = this.focusedDOMNode.nodeValue; - } - event.clipboardData.clearData(); event.preventDefault(); - - if (data) - event.clipboardData.setData("text/plain", data); + InspectorController.copyNode(this.focusedDOMNode.id); }, rightSidebarResizerDragStart: function(event) diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js new file mode 100644 index 0000000..55b8e55 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js @@ -0,0 +1,221 @@ +/* + * Copyright (C) 2007 Apple Inc. All rights reserved. + * Copyright (C) 2009 Joseph Pecoraro + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +WebInspector.EventListenersSidebarPane = function() +{ + WebInspector.SidebarPane.call(this, WebInspector.UIString("Event Listeners")); + this.bodyElement.addStyleClass("events-pane"); + + this.sections = []; + + this.settingsSelectElement = document.createElement("select"); + + var option = document.createElement("option"); + option.value = "all"; + if (Preferences.eventListenersFilter === "all") + option.selected = true; + option.label = WebInspector.UIString("All Nodes"); + this.settingsSelectElement.appendChild(option); + + option = document.createElement("option"); + option.value = "selected"; + if (Preferences.eventListenersFilter === "selected") + option.selected = true; + option.label = WebInspector.UIString("Selected Node Only"); + this.settingsSelectElement.appendChild(option); + + this.settingsSelectElement.addEventListener("click", function(event) { event.stopPropagation() }, false); + this.settingsSelectElement.addEventListener("change", this._changeSetting.bind(this), false); + + this.titleElement.appendChild(this.settingsSelectElement); +} + +WebInspector.EventListenersSidebarPane.prototype = { + update: function(node) + { + var body = this.bodyElement; + body.removeChildren(); + this.sections = []; + + var self = this; + function callback(nodeId, eventListeners) { + var sectionNames = []; + var sectionMap = {}; + for (var i = 0; i < eventListeners.length; ++i) { + var eventListener = eventListeners[i]; + eventListener.node = WebInspector.domAgent.nodeForId(eventListener.nodeId); + delete eventListener.nodeId; // no longer needed + var type = eventListener.type; + var section = sectionMap[type]; + if (!section) { + section = new WebInspector.EventListenersSection(type, nodeId); + sectionMap[type] = section; + sectionNames.push(type); + self.sections.push(section); + } + section.addListener(eventListener); + } + + if (sectionNames.length === 0) { + var div = document.createElement("div"); + div.className = "info"; + div.textContent = WebInspector.UIString("No Event Listeners"); + body.appendChild(div); + return; + } + + sectionNames.sort(); + for (var i = 0; i < sectionNames.length; ++i) { + var section = sectionMap[sectionNames[i]]; + section.update(); + body.appendChild(section.element); + } + } + + WebInspector.EventListeners.getEventListenersForNodeAsync(node, callback); + }, + + _changeSetting: function(event) + { + var selectedOption = this.settingsSelectElement[this.settingsSelectElement.selectedIndex]; + Preferences.eventListenersFilter = selectedOption.value; + + InspectorController.setSetting("event-listeners-filter", Preferences.eventListenersFilter); + + for (var i = 0; i < this.sections.length; ++i) + this.sections[i].update(); + } +} + +WebInspector.EventListenersSidebarPane.prototype.__proto__ = WebInspector.SidebarPane.prototype; + +WebInspector.EventListenersSection = function(title, nodeId) +{ + this.eventListeners = []; + this._nodeId = nodeId; + WebInspector.PropertiesSection.call(this, title); + + // Changed from a Properties List + this.propertiesElement.parentNode.removeChild(this.propertiesElement); + delete this.propertiesElement; + delete this.propertiesTreeOutline; + + this.eventBars = document.createElement("div"); + this.eventBars.className = "event-bars"; + this.element.appendChild(this.eventBars); +} + +WebInspector.EventListenersSection.prototype = { + update: function() + { + // A Filtered Array simplifies when to create connectors + var filteredEventListeners = this.eventListeners; + if (Preferences.eventListenersFilter === "selected") { + filteredEventListeners = []; + for (var i = 0; i < this.eventListeners.length; ++i) { + var eventListener = this.eventListeners[i]; + if (eventListener.node.id === this._nodeId) + filteredEventListeners.push(eventListener); + } + } + + this.eventBars.removeChildren(); + var length = filteredEventListeners.length; + for (var i = 0; i < length; ++i) { + var eventListener = filteredEventListeners[i]; + var eventListenerBar = new WebInspector.EventListenerBar(eventListener); + if (i < length - 1) { + var connector = document.createElement("div"); + connector.className = "event-bar-connector"; + eventListenerBar.element.appendChild(connector); + } + + this.eventBars.appendChild(eventListenerBar.element); + } + }, + + addListener: function(eventListener) + { + this.eventListeners.push(eventListener); + } +} + +WebInspector.EventListenersSection.prototype.__proto__ = WebInspector.PropertiesSection.prototype; + +WebInspector.EventListenerBar = function(eventListener) +{ + this.eventListener = eventListener; + WebInspector.ObjectPropertiesSection.call(this, null, this._getFunctionDisplayName(), this._getNodeDisplayName()); + this.editable = false; + this.element.className = "event-bar"; /* Changed from "section" */ + this.propertiesElement.className = "event-properties"; /* Changed from "properties" */ +} + +WebInspector.EventListenerBar.prototype = { + update: function() + { + var properties = []; + for (var propertyName in this.eventListener) { + // Just build properties in place - no need to reach out for injected script. + var value = this.eventListener[propertyName]; + if (value instanceof WebInspector.DOMNode) + value = new WebInspector.ObjectProxy(value.id, [], 0, appropriateSelectorForNode(value), true); + else + value = WebInspector.ObjectProxy.wrapPrimitiveValue(value); + properties.push(new WebInspector.ObjectPropertyProxy(propertyName, value)); + } + this.updateProperties(properties); + }, + + _getNodeDisplayName: function() + { + var node = this.eventListener.node; + if (!node) + return ""; + + if (node.nodeType === Node.DOCUMENT_NODE) + return "document"; + + return appropriateSelectorForNode(node); + }, + + _getFunctionDisplayName: function() + { + // TODO: v8 does not yet provide the raw function, this handles such a case with a placeholder + // I didn't make this a UIString because it should be implemented eventually. + if (!this.eventListener.listener) + return "(listener)"; + + // Requires that Function.toString() return at least the function's signature + var match = this.eventListener.listener.toString().match(/function ([^\(]+?)\(/); + return (match ? match[1] : WebInspector.UIString("(anonymous function)")); + } +} + +WebInspector.EventListenerBar.prototype.__proto__ = WebInspector.ObjectPropertiesSection.prototype; diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/grayConnectorPoint.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/grayConnectorPoint.png Binary files differnew file mode 100644 index 0000000..fddc7ea --- /dev/null +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/grayConnectorPoint.png diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/whiteConnectorPoint.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/whiteConnectorPoint.png Binary files differnew file mode 100644 index 0000000..c8fb1cf --- /dev/null +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/whiteConnectorPoint.png diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js index 726c7cc..87293b8 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js @@ -44,6 +44,10 @@ InjectedScript.reset(); InjectedScript.dispatch = function(methodName, args) { var result = InjectedScript[methodName].apply(InjectedScript, JSON.parse(args)); + if (typeof result === "undefined") { + InjectedScript._window().console.error("Web Inspector error: InjectedScript.%s returns undefined", methodName); + result = null; + } return JSON.stringify(result); } @@ -150,6 +154,7 @@ InjectedScript.applyStyleText = function(styleId, styleText, propertyName) InjectedScript.setStyleText = function(style, cssText) { style.cssText = cssText; + return true; } InjectedScript.toggleStyleEnabled = function(styleId, propertyName, disabled) @@ -536,11 +541,11 @@ InjectedScript._evaluateAndWrap = function(evalFunction, object, expression) result.value = InspectorController.wrapObject(InjectedScript._evaluateOn(evalFunction, object, expression)); // Handle error that might have happened while describing result. if (result.value.errorText) { - result.value = InspectorController.wrapObject(result.value.errorText); + result.value = result.value.errorText; result.isException = true; } } catch (e) { - result.value = InspectorController.wrapObject(e.toString()); + result.value = e.toString(); result.isException = true; } return result; @@ -812,7 +817,10 @@ InjectedScript.searchCanceled = function() InjectedScript.openInInspectedWindow = function(url) { - InjectedScript._window().open(url); + // Don't call window.open on wrapper - popup blocker mutes it. + // URIs should have no double quotes. + InjectedScript._window().eval("window.open(\"" + url + "\")"); + return true; } InjectedScript.getCallFrames = function() @@ -1100,10 +1108,6 @@ Object.describe = function(obj, abbreviated) return objectText; case "regexp": return String(obj).replace(/([\\\/])/g, "\\$1").replace(/\\(\/[gim]*)$/, "$1").substring(1); - case "boolean": - case "number": - case "null": - return obj; default: return String(obj); } diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScriptAccess.js b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScriptAccess.js index da85d03..67312f7 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScriptAccess.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScriptAccess.js @@ -51,6 +51,9 @@ InjectedScriptAccess._installHandler = function(methodName) }; } +// InjectedScriptAccess message forwarding puts some constraints on the way methods are imlpemented and called: +// - Make sure corresponding methods in InjectedScript return non-null and non-undefined values, +// - Make sure last parameter of all the InjectedSriptAccess.* calls is a callback function. InjectedScriptAccess._installHandler("getStyles"); InjectedScriptAccess._installHandler("getComputedStyle"); InjectedScriptAccess._installHandler("getInlineStyle"); diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js index 356f57d..3fb0e00 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js @@ -153,8 +153,11 @@ WebInspector.ProfileDataGridNode.prototype = { // If the grid node is collapsed, then don't sort children (save operation for later). // If the grid node has the same sorting as previously, then there is no point in sorting it again. - if (!force && !gridNode.expanded || gridNode.lastComparator === comparator) + if (!force && !gridNode.expanded || gridNode.lastComparator === comparator) { + if (gridNode.children.length) + gridNode.shouldRefreshChildren = true; continue; + } gridNode.lastComparator = comparator; diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js index c010033..3bd4464 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js @@ -395,7 +395,10 @@ WebInspector.ProfilesPanel.prototype = { _populateProfiles: function() { - if (this.sidebarTree.children.length) + // FIXME: This code needs to be adjusted when more profiling types are added. + // Currently defaults to CPU profiles. + var cpuProfiles = this.sidebarTree.children[0]; + if (cpuProfiles.children.length) return; var profiles = InspectorController.profiles(); @@ -405,8 +408,8 @@ WebInspector.ProfilesPanel.prototype = { this.addProfile(profile); } - if (this.sidebarTree.children[0]) - this.sidebarTree.children[0].select(); + if (cpuProfiles.children[0]) + cpuProfiles.children[0].select(); delete this._shouldPopulateProfiles; }, diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js index d915055..4fcc956 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js @@ -178,7 +178,7 @@ WebInspector.ResourceView.prototype = { var isFormEncoded = false; var requestContentType = this._getHeaderValue(this.resource.requestHeaders, "Content-Type"); - if (requestContentType == "application/x-www-form-urlencoded") + if (requestContentType.match(/^application\/x-www-form-urlencoded\s*(;.*)?$/i)) isFormEncoded = true; if (isFormEncoded) { @@ -217,14 +217,27 @@ WebInspector.ResourceView.prototype = { for (var i = 0; i < parms.length; ++i) { var key = parms[i][0]; - var val = parms[i][1]; - - if (val.indexOf("%") >= 0) - if (this._decodeRequestParameters) - val = decodeURIComponent(val).replace(/\+/g, " "); + var value = parms[i][1]; + + var errorDecoding = false; + if (this._decodeRequestParameters) { + if (value.indexOf("%") >= 0) { + try { + value = decodeURIComponent(value); + } catch(e) { + errorDecoding = true; + } + } + + value = value.replace(/\+/g, " "); + } + + valueEscaped = value.escapeHTML(); + if (errorDecoding) + valueEscaped += " <span class=\"error-message\">" + WebInspector.UIString("(unable to decode value)").escapeHTML() + "</span>"; var title = "<div class=\"header-name\">" + key.escapeHTML() + ":</div>"; - title += "<div class=\"header-value\">" + val.escapeHTML() + "</div>"; + title += "<div class=\"header-value\">" + valueEscaped + "</div>"; var parmTreeElement = new TreeElement(title, null, false); parmTreeElement.selectable = false; diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js index 680f66c..2c96974 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js @@ -1209,7 +1209,7 @@ WebInspector.ResourceSidebarTreeElement.prototype = { ondblclick: function(treeElement, event) { - InjectedScriptAccess.openInInspectedWindow(this.resource.url); + InjectedScriptAccess.openInInspectedWindow(this.resource.url, function() {}); }, get mainTitle() diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js index 6185aff..3582f96 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js @@ -348,7 +348,7 @@ WebInspector.StylesSidebarPane.prototype = { addBlankSection: function() { - var blankSection = new WebInspector.BlankStylePropertiesSection(this.appropriateSelectorForNode()); + var blankSection = new WebInspector.BlankStylePropertiesSection(appropriateSelectorForNode(this.node, true)); blankSection.pane = this; var elementStyleSection = this.sections[1]; @@ -367,27 +367,6 @@ WebInspector.StylesSidebarPane.prototype = { this.sections.splice(index, 1); if (section.element.parentNode) section.element.parentNode.removeChild(section.element); - }, - - appropriateSelectorForNode: function() - { - var node = this.node; - if (!node) - return ""; - - var id = node.getAttribute("id"); - if (id) - return "#" + id; - - var className = node.getAttribute("class"); - if (className) - return "." + className.replace(/\s+/, "."); - - var nodeName = node.nodeName.toLowerCase(); - if (nodeName === "input" && node.getAttribute("type")) - return nodeName + "[type=\"" + node.getAttribute("type") + "\"]"; - - return nodeName; } } diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/WatchExpressionsSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/WatchExpressionsSidebarPane.js index b568939..d6d1d61 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/WatchExpressionsSidebarPane.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/WatchExpressionsSidebarPane.js @@ -84,18 +84,23 @@ WebInspector.WatchExpressionsSection.prototype = { { function appendResult(expression, watchIndex, result, exception) { - // The null check catches some other cases, like null itself, and NaN - if ((typeof result !== "object") || (result == null)) - result = new WebInspector.ObjectProxy(null, [], 0, String(result), false); + if (exception) { + // Exception results are not wrappers, but text messages. + result = WebInspector.ObjectProxy.wrapPrimitiveValue(result); + } else if (result.type === "string") { + // Evaluation result is intentionally not abbreviated. However, we'd like to distinguish between null and "null" + result.description = "\"" + result.description + "\""; + } var property = new WebInspector.ObjectPropertyProxy(expression, result); property.watchIndex = watchIndex; + property.isException = exception; // For newly added, empty expressions, set description to "", // since otherwise you get DOMWindow if (property.name === WebInspector.WatchExpressionsSection.NewWatchExpression) property.value.description = ""; - + // To clarify what's going on here: // In the outer function, we calculate the number of properties // that we're going to be updating, and set that in the @@ -218,6 +223,9 @@ WebInspector.WatchExpressionTreeElement.prototype = { { WebInspector.ObjectPropertyTreeElement.prototype.update.call(this); + if (this.property.isException) + this.valueElement.addStyleClass("watch-expressions-error-level"); + var deleteButton = document.createElement("input"); deleteButton.type = "button"; deleteButton.title = WebInspector.UIString("Delete watch expression."); diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc index b4dff4e..1aaeb3d 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc @@ -21,6 +21,7 @@ <file>Drawer.js</file> <file>ElementsPanel.js</file> <file>ElementsTreeOutline.js</file> + <file>EventListenersSidebarPane.js</file> <file>FontView.js</file> <file>ImageView.js</file> <file>InjectedScript.js</file> @@ -92,6 +93,7 @@ <file>Images/enableSolidButtonGlyph.png</file> <file>Images/errorIcon.png</file> <file>Images/errorMediumIcon.png</file> + <file>Images/errorRedDot.png</file> <file>Images/excludeButtonGlyph.png</file> <file>Images/focusButtonGlyph.png</file> <file>Images/forward.png</file> @@ -102,6 +104,7 @@ <file>Images/goArrow.png</file> <file>Images/graphLabelCalloutLeft.png</file> <file>Images/graphLabelCalloutRight.png</file> + <file>Images/grayConnectorPoint.png</file> <file>Images/largerResourcesButtonGlyph.png</file> <file>Images/localStorage.png</file> <file>Images/nodeSearchButtonGlyph.png</file> @@ -153,6 +156,7 @@ <file>Images/statusbarResizerHorizontal.png</file> <file>Images/statusbarResizerVertical.png</file> <file>Images/storageIcon.png</file> + <file>Images/successGreenDot.png</file> <file>Images/timelineHollowPillBlue.png</file> <file>Images/timelineHollowPillGray.png</file> <file>Images/timelineHollowPillGreen.png</file> @@ -184,6 +188,8 @@ <file>Images/userInputResultIcon.png</file> <file>Images/warningIcon.png</file> <file>Images/warningMediumIcon.png</file> + <file>Images/warningOrangeDot.png</file> <file>Images/warningsErrors.png</file> + <file>Images/whiteConnectorPoint.png</file> </qresource> </RCC> diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css index 2ae4aac..358c13c 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css @@ -1222,7 +1222,7 @@ body.inactive .placard.selected { margin-top: 1px; } -.section:nth-last-of-type(1) { +.section:nth-last-of-type(1), .event-bar:nth-last-of-type(1) { margin-bottom: 1px; } @@ -1230,6 +1230,14 @@ body.inactive .placard.selected { text-align: center; } +.event-bar:first-child { + margin-top: 1px; +} + +.event-bar:nth-last-of-type(1) .header { + border-bottom: 1px solid rgb(163, 163, 163); +} + .section .header { padding: 2px 8px 4px 18px; border-top: 1px solid rgb(145, 160, 192); @@ -1261,7 +1269,7 @@ body.inactive .placard.selected { content: url(Images/treeDownTriangleWhite.png); } -.section .header .title { +.section .header .title, .event-bar .header .title { color: white; font-weight: bold; word-wrap: break-word; @@ -1272,11 +1280,11 @@ body.inactive .placard.selected { font-style: italic; } -.section .header label { +.section .header label, .event-bar .header label { display: none; } -.section.expanded .header label { +.section.expanded .header label, .event-bar.expanded .header label { display: inline; } @@ -1289,7 +1297,7 @@ body.inactive .placard.selected { vertical-align: 2px; } -.section .header .subtitle { +.section .header .subtitle, .event-bar .header .subtitle { float: right; font-size: 10px; margin-left: 5px; @@ -1303,7 +1311,7 @@ body.inactive .placard.selected { color: inherit; } -.section .properties { +.section .properties, .event-bar .event-properties { display: none; margin: 0; padding: 2px 6px 3px; @@ -1320,11 +1328,11 @@ body.inactive .placard.selected { opacity: 1.0; } -.section.expanded .properties { +.section.expanded .properties, .event-bar.expanded .event-properties { display: block; } -.section .properties li { +.section .properties li, .event-properties li { margin-left: 12px; white-space: nowrap; text-overflow: ellipsis; @@ -1333,22 +1341,22 @@ body.inactive .placard.selected { cursor: auto; } -.section .properties li.parent { +.section .properties li.parent, .event-properties li.parent { margin-left: 1px; } -.section .properties ol { +.section .properties ol, .event-properties ol { display: none; margin: 0; -webkit-padding-start: 12px; list-style: none; } -.section .properties ol.expanded { +.section .properties ol.expanded, .event-properties ol.expanded { display: block; } -.section .properties li.parent::before { +.section .properties li.parent::before, .event-properties li.parent::before { content: url(Images/treeRightTriangleBlack.png); opacity: 0.75; float: left; @@ -1360,16 +1368,79 @@ body.inactive .placard.selected { cursor: default; } -.section .properties li.parent.expanded::before { +.section .properties li.parent.expanded::before, .event-properties li.parent.expanded::before { content: url(Images/treeDownTriangleBlack.png); margin-top: 1px; } -.section .properties li .info { +.section .properties li .info, .event-properties li .info { padding-top: 4px; padding-bottom: 3px; } +.section .event-bars { + display: none; +} + +.section.expanded .event-bars { + display: block; +} + +.event-bar { + position: relative; +} + +.event-bar-connector { + position: absolute; + left: 75%; + bottom: -7px; + margin-left: -7px; + content: url(Images/grayConnectorPoint.png); + z-index: 3; +} + +.event-bar.expanded .event-bar-connector { + content: url(Images/whiteConnectorPoint.png); +} + +.event-bars .event-bar .header { + padding: 2px 8px 4px 18px; + border-top: 1px solid rgb(163, 163, 163); + background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(243, 243, 243)), to(rgb(207, 207, 207))); + min-height: 18px; + white-space: nowrap; + -webkit-background-origin: padding; + -webkit-background-clip: padding; +} + +.event-bars .event-bar.expanded .header { + border-bottom: 1px solid rgb(163, 163, 163); +} + +.event-bars .event-bar .header .title { + font-weight: bold; + color: #333; + text-shadow: white 0 1px 0; +} + +.event-bars .event-bar .header .subtitle { + color: rgba(90, 90, 90, 0.742188); +} + +.event-bars .event-bar .header::before { + position: absolute; + top: 4px; + left: 7px; + width: 8px; + height: 8px; + opacity: 0.75; + content: url(Images/treeRightTriangleBlack.png); +} + +.event-bars .event-bar.expanded .header::before { + content: url(Images/treeDownTriangleBlack.png); +} + .editing { -webkit-user-select: text; -webkit-box-shadow: rgba(0, 0, 0, .5) 3px 3px 4px; @@ -1409,6 +1480,10 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but display: none; } +.watch-expressions-error-level { + color: red; +} + .section .properties li.editing-sub-part { padding: 3px 6px 8px 18px; margin: -3px -6px -8px -6px; @@ -1457,7 +1532,7 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but display: block; } -.section .properties .name { +.section .properties .name, .event-properties .name { color: rgb(136, 19, 145); } @@ -1465,7 +1540,7 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but color: rgb(100, 100, 100); } -.section .properties .number { +.section .properties .number, .event-properties .number { color: blue; } @@ -1473,11 +1548,11 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but color: rgb(128, 0, 0); } -.section .properties .keyword { +.section .properties .keyword, .event-properties .keyword { color: rgb(136, 19, 79); } -.section .properties .color { +.section .properties .color, .event-properties .color { color: rgb(118, 15, 21); } diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html index 7f544fe..f54e302 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html @@ -65,6 +65,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <script type="text/javascript" src="WatchExpressionsSidebarPane.js"></script> <script type="text/javascript" src="MetricsSidebarPane.js"></script> <script type="text/javascript" src="PropertiesSidebarPane.js"></script> + <script type="text/javascript" src="EventListenersSidebarPane.js"></script> <script type="text/javascript" src="Color.js"></script> <script type="text/javascript" src="StylesSidebarPane.js"></script> <script type="text/javascript" src="Panel.js"></script> diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js index 921bb7a..de4f4fb 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js @@ -42,7 +42,8 @@ var Preferences = { heapProfilerPresent: false, samplingCPUProfiler: false, showColorNicknames: true, - colorFormat: "hex" + colorFormat: "hex", + eventListenersFilter: "all" } var WebInspector = { @@ -354,6 +355,10 @@ WebInspector.loaded = function() if (colorFormat) Preferences.colorFormat = colorFormat; + var eventListenersFilter = InspectorController.setting("event-listeners-filter"); + if (eventListenersFilter) + Preferences.eventListenersFilter = eventListenersFilter; + this.drawer = new WebInspector.Drawer(); this.console = new WebInspector.ConsoleView(this.drawer); // TODO: Uncomment when enabling the Changes Panel @@ -914,10 +919,8 @@ WebInspector.addResource = function(identifier, payload) this.resources[identifier] = resource; this.resourceURLMap[resource.url] = resource; - if (resource.mainResource) { + if (resource.mainResource) this.mainResource = resource; - this.panels.elements.reset(); - } if (this.panels.resources) this.panels.resources.addResource(resource); @@ -1117,6 +1120,12 @@ WebInspector.resourceURLChanged = function(resource, oldURL) this.resourceURLMap[resource.url] = resource; } +WebInspector.didCommitLoad = function() +{ + // Cleanup elements panel early on inspected page refresh. + WebInspector.setDocument(null); +} + WebInspector.addMessageToConsole = function(payload) { var consoleMessage = new WebInspector.ConsoleMessage( diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js index e83c7c0..5f41b56 100644 --- a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js +++ b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js @@ -621,11 +621,38 @@ function nodeTitleInfo(hasChildren, linkify) return info; } -function getDocumentForNode(node) { +function appropriateSelectorForNode(node, justSelector) +{ + if (!node) + return ""; + + var lowerCaseName = node.localName || node.nodeName.toLowerCase(); + + var id = node.getAttribute("id"); + if (id) { + var selector = "#" + id; + return (justSelector ? selector : lowerCaseName + selector); + } + + var className = node.getAttribute("class"); + if (className) { + var selector = "." + className.replace(/\s+/, "."); + return (justSelector ? selector : lowerCaseName + selector); + } + + if (lowerCaseName === "input" && node.getAttribute("type")) + return lowerCaseName + "[type=\"" + node.getAttribute("type") + "\"]"; + + return lowerCaseName; +} + +function getDocumentForNode(node) +{ return node.nodeType == Node.DOCUMENT_NODE ? node : node.ownerDocument; } -function parentNode(node) { +function parentNode(node) +{ return node.parentNode; } diff --git a/src/3rdparty/webkit/WebCore/loader/EmptyClients.h b/src/3rdparty/webkit/WebCore/loader/EmptyClients.h index 41b6ebc..14d36f1 100644 --- a/src/3rdparty/webkit/WebCore/loader/EmptyClients.h +++ b/src/3rdparty/webkit/WebCore/loader/EmptyClients.h @@ -39,6 +39,7 @@ #include "FormState.h" #include "FrameLoaderClient.h" #include "InspectorClient.h" +#include "PluginHalterClient.h" #include "ResourceError.h" #include "SharedBuffer.h" @@ -483,6 +484,12 @@ public: virtual void inspectorWindowObjectCleared() { } }; +class EmptyPluginHalterClient : public PluginHalterClient +{ +public: + virtual bool shouldHaltPlugin(Node*) const { return false; } +}; + } #endif // EmptyClients_h diff --git a/src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp b/src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp index 6573fb6..40bd714 100644 --- a/src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp +++ b/src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp @@ -57,6 +57,13 @@ static struct tm *gmtimeQt(const time_t *const timep, struct tm *result) #endif #endif +static inline FTPEntryType ParsingFailed(ListState& state) +{ + if (state.parsedOne || state.listStyle) /* junk if we fail to parse */ + return FTPJunkEntry; /* this time but had previously parsed sucessfully */ + return FTPMiscEntry; /* its part of a comment or error message */ +} + FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& result) { result.clear(); @@ -126,6 +133,9 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res } } + if (!numtoks) + return ParsingFailed(state); + linelen_sans_wsp = &(tokens[numtoks-1][toklen[numtoks-1]]) - tokens[0]; if (numtoks == (sizeof(tokens)/sizeof(tokens[0])) ) { @@ -356,11 +366,16 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res pos++; p++; } - if (lstyle && pos < (toklen[0]-1) && *p == ']') + if (lstyle && pos < (toklen[0]-1)) { + /* ']' was found and there is at least one character after it */ + ASSERT(*p == ']'); pos++; p++; tokmarker = pos; /* length of leading "[DIR1.DIR2.etc]" */ + } else { + /* not a CMU style listing */ + lstyle = 0; } } while (lstyle && pos < toklen[0] && *p != ';') @@ -387,7 +402,7 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res pos -= tokmarker; /* => fnlength sans "[DIR1.DIR2.etc]" */ p = &(tokens[0][tokmarker]); /* offset of basename */ - if (!lstyle || pos > 80) /* VMS filenames can't be longer than that */ + if (!lstyle || pos == 0 || pos > 80) /* VMS filenames can't be longer than that */ { lstyle = 0; } @@ -780,7 +795,7 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res state.parsedOne = true; state.listStyle = lstyle; - p = &(line[linelen_sans_wsp]); /* line end sans wsp */ + p = &(line[linelen]); /* line end */ result.caseSensitive = true; result.filename = tokens[3]; result.filenameLength = p - tokens[3]; @@ -788,29 +803,46 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res if (*tokens[2] != '<') /* not <DIR> or <JUNCTION> */ { + // try to handle correctly spaces at the beginning of the filename + // filesize (token[2]) must end at offset 38 + if (tokens[2] + toklen[2] - line == 38) { + result.filename = &(line[39]); + result.filenameLength = p - result.filename; + } result.type = FTPFileEntry; pos = toklen[2]; result.fileSize = String(tokens[2], pos); } - else if ((tokens[2][1]) != 'D') /* not <DIR> */ - { - result.type = FTPJunkEntry; /* unknown until junc for sure */ - if (result.filenameLength > 4) + else { + // try to handle correctly spaces at the beginning of the filename + // token[2] must begin at offset 24, the length is 5 or 10 + // token[3] must begin at offset 39 or higher + if (tokens[2] - line == 24 && (toklen[2] == 5 || toklen[2] == 10) && + tokens[3] - line >= 39) { + result.filename = &(line[39]); + result.filenameLength = p - result.filename; + } + + if ((tokens[2][1]) != 'D') /* not <DIR> */ { - p = result.filename; - for (pos = result.filenameLength - 4; pos > 0; pos--) + result.type = FTPJunkEntry; /* unknown until junc for sure */ + if (result.filenameLength > 4) { - if (p[0] == ' ' && p[3] == ' ' && p[2] == '>' && - (p[1] == '=' || p[1] == '-')) + p = result.filename; + for (pos = result.filenameLength - 4; pos > 0; pos--) { - result.type = FTPLinkEntry; - result.filenameLength = p - result.filename; - result.linkname = p + 4; - result.linknameLength = &(line[linelen_sans_wsp]) - - result.linkname; - break; + if (p[0] == ' ' && p[3] == ' ' && p[2] == '>' && + (p[1] == '=' || p[1] == '-')) + { + result.type = FTPLinkEntry; + result.filenameLength = p - result.filename; + result.linkname = p + 4; + result.linknameLength = &(line[linelen]) + - result.linkname; + break; + } + p++; } - p++; } } } @@ -821,8 +853,13 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res result.modifiedTime.tm_mon--; result.modifiedTime.tm_mday = atoi(tokens[0]+3); result.modifiedTime.tm_year = atoi(tokens[0]+6); + /* if year has only two digits then assume that + 00-79 is 2000-2079 + 80-99 is 1980-1999 */ if (result.modifiedTime.tm_year < 80) - result.modifiedTime.tm_year += 100; + result.modifiedTime.tm_year += 2000; + else if (result.modifiedTime.tm_year < 100) + result.modifiedTime.tm_year += 1900; } result.modifiedTime.tm_hour = atoi(tokens[1]+0); @@ -974,6 +1011,8 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res * "drwxr-xr-x 2 0 0 512 May 28 22:17 etc" */ + bool isOldHellsoft = false; + if (numtoks >= 6) { /* there are two perm formats (Hellsoft/NetWare and *IX strmode(3)). @@ -999,6 +1038,8 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res { /* rest is FMA[S] or AFM[S] */ lstyle = 'U'; /* very likely one of the NetWare servers */ + if (toklen[0] == 10) + isOldHellsoft = true; } } } @@ -1063,7 +1104,7 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res /* check that size is numeric */ p = tokens[tokmarker]; - for (pos = 0; lstyle && pos < toklen[tokmarker]; pos++) + for (unsigned int i = 0; lstyle && i < toklen[tokmarker]; ++i) { if (!isASCIIDigit(*p++)) lstyle = 0; @@ -1072,11 +1113,11 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res { month_num = 0; p = tokens[tokmarker+1]; - for (pos = 0;pos < (12*3); pos+=3) + for (unsigned int i = 0; i < (12*3); i+=3) { - if (p[0] == month_names[pos+0] && - p[1] == month_names[pos+1] && - p[2] == month_names[pos+2]) + if (p[0] == month_names[i+0] && + p[1] == month_names[i+1] && + p[2] == month_names[i+2]) break; month_num++; } @@ -1084,8 +1125,8 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res lstyle = 0; } } /* relative position test */ - } /* while (pos+5) < numtoks */ - } /* if (numtoks >= 4) */ + } /* for (pos = (numtoks-5); !lstyle && pos > 1; pos--) */ + } /* if (lstyle == 'U') */ if (lstyle == 'U') { @@ -1144,24 +1185,49 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res } /* time/year */ - result.filename = tokens[tokmarker+4]; - result.filenameLength = (&(line[linelen_sans_wsp])) + // there is exacly 1 space between filename and previous token in all + // outputs except old Hellsoft + if (!isOldHellsoft) + result.filename = tokens[tokmarker+3] + toklen[tokmarker+3] + 1; + else + result.filename = tokens[tokmarker+4]; + + result.filenameLength = (&(line[linelen])) - (result.filename); if (result.type == FTPLinkEntry && result.filenameLength > 4) { - p = result.filename + 1; - for (pos = 1; pos < (result.filenameLength - 4); pos++) + /* First try to use result.fe_size to find " -> " sequence. + This can give proper result for cases like "aaa -> bbb -> ccc". */ + unsigned int fileSize = result.fileSize.toUInt(); + + if (result.filenameLength > (fileSize + 4) && + strncmp(result.filename + result.filenameLength - fileSize - 4, " -> ", 4) == 0) + { + result.linkname = result.filename + (result.filenameLength - fileSize); + result.linknameLength = (&(line[linelen])) - (result.linkname); + result.filenameLength -= fileSize + 4; + } + else { - if (*p == ' ' && p[1] == '-' && p[2] == '>' && p[3] == ' ') + /* Search for sequence " -> " from the end for case when there are + more occurrences. F.e. if ftpd returns "a -> b -> c" assume + "a -> b" as a name. Powerusers can remove unnecessary parts + manually but there is no way to follow the link when some + essential part is missing. */ + p = result.filename + (result.filenameLength - 5); + for (pos = (result.filenameLength - 5); pos > 0; pos--) { - result.linkname = p + 4; - result.linknameLength = (&(line[linelen_sans_wsp])) - - (result.linkname); - result.filenameLength = pos; - break; + if (strncmp(p, " -> ", 4) == 0) + { + result.linkname = p + 4; + result.linknameLength = (&(line[linelen])) + - (result.linkname); + result.filenameLength = pos; + break; + } + p--; } - p++; } } @@ -1618,9 +1684,7 @@ FTPEntryType parseOneFTPLine(const char* line, ListState& state, ListResult& res } /* if (linelen > 0) */ - if (state.parsedOne || state.listStyle) /* junk if we fail to parse */ - return FTPJunkEntry; /* this time but had previously parsed sucessfully */ - return FTPMiscEntry; /* its part of a comment or error message */ + return ParsingFailed(state); } } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp index 807edef..93a1f10 100644 --- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp +++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp @@ -947,9 +947,9 @@ void FrameLoader::begin(const KURL& url, bool dispatch, SecurityOrigin* origin) m_outgoingReferrer = ref.string(); m_URL = url; + document->setURL(m_URL); m_frame->setDocument(document); - document->setURL(m_URL); if (m_decoder) document->setDecoder(m_decoder.get()); if (forcedSecurityOrigin) @@ -2312,9 +2312,6 @@ void FrameLoader::loadFrameRequest(const FrameLoadRequest& request, bool lockHis void FrameLoader::loadURL(const KURL& newURL, const String& referrer, const String& frameName, bool lockHistory, FrameLoadType newLoadType, PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState) { - if (m_unloadEventBeingDispatched) - return; - RefPtr<FormState> formState = prpFormState; bool isFormSubmission = formState; @@ -2337,6 +2334,9 @@ void FrameLoader::loadURL(const KURL& newURL, const String& referrer, const Stri return; } + if (m_unloadEventBeingDispatched) + return; + NavigationAction action(newURL, newLoadType, isFormSubmission, event); if (!targetFrame && !frameName.isEmpty()) { @@ -5193,6 +5193,8 @@ void FrameLoader::dispatchWindowObjectAvailable() #if ENABLE(INSPECTOR) if (Page* page = m_frame->page()) { + if (InspectorController* inspector = page->inspectorController()) + inspector->inspectedWindowScriptObjectCleared(m_frame); if (InspectorController* inspector = page->parentInspectorController()) inspector->windowScriptObjectAvailable(); } diff --git a/src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp b/src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp index 8078ccd..9b5598d 100644 --- a/src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp +++ b/src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp @@ -70,7 +70,7 @@ private: { } - virtual void handleEvent(Event*); + virtual void handleEvent(ScriptExecutionContext*, Event*); ImageDocument* m_doc; }; @@ -358,7 +358,7 @@ bool ImageDocument::shouldShrinkToFit() const // -------- -void ImageEventListener::handleEvent(Event* event) +void ImageEventListener::handleEvent(ScriptExecutionContext*, Event* event) { if (event->type() == eventNames().resizeEvent) m_doc->windowSizeChanged(); diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp index 809d541..5ac4049 100644 --- a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp +++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp @@ -34,6 +34,8 @@ #include "CString.h" #include "Chrome.h" #include "Console.h" +#include "Database.h" +#include "DOMApplicationCache.h" #include "DOMSelection.h" #include "DOMTimer.h" #include "PageTransitionEvent.h" @@ -55,6 +57,7 @@ #include "Media.h" #include "MessageEvent.h" #include "Navigator.h" +#include "NotificationCenter.h" #include "Page.h" #include "PageGroup.h" #include "PlatformScreen.h" @@ -62,29 +65,14 @@ #include "Screen.h" #include "SecurityOrigin.h" #include "Settings.h" +#include "Storage.h" +#include "StorageArea.h" +#include "StorageNamespace.h" #include "SuddenTermination.h" #include "WebKitPoint.h" #include <algorithm> #include <wtf/MathExtras.h> -#if ENABLE(DATABASE) -#include "Database.h" -#endif - -#if ENABLE(DOM_STORAGE) -#include "Storage.h" -#include "StorageArea.h" -#include "StorageNamespace.h" -#endif - -#if ENABLE(OFFLINE_WEB_APPLICATIONS) -#include "DOMApplicationCache.h" -#endif - -#if ENABLE(NOTIFICATIONS) -#include "NotificationCenter.h" -#endif - using std::min; using std::max; @@ -137,6 +125,66 @@ static DOMWindowSet& windowsWithBeforeUnloadEventListeners() return windowsWithBeforeUnloadEventListeners; } +static void addUnloadEventListener(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithUnloadEventListeners(); + if (set.isEmpty()) + disableSuddenTermination(); + set.add(domWindow); +} + +static void removeUnloadEventListener(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithUnloadEventListeners(); + DOMWindowSet::iterator it = set.find(domWindow); + if (it == set.end()) + return; + set.remove(it); + if (set.isEmpty()) + enableSuddenTermination(); +} + +static void removeAllUnloadEventListeners(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithUnloadEventListeners(); + DOMWindowSet::iterator it = set.find(domWindow); + if (it == set.end()) + return; + set.removeAll(it); + if (set.isEmpty()) + enableSuddenTermination(); +} + +static void addBeforeUnloadEventListener(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithBeforeUnloadEventListeners(); + if (set.isEmpty()) + disableSuddenTermination(); + set.add(domWindow); +} + +static void removeBeforeUnloadEventListener(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithBeforeUnloadEventListeners(); + DOMWindowSet::iterator it = set.find(domWindow); + if (it == set.end()) + return; + set.remove(it); + if (set.isEmpty()) + enableSuddenTermination(); +} + +static void removeAllBeforeUnloadEventListeners(DOMWindow* domWindow) +{ + DOMWindowSet& set = windowsWithBeforeUnloadEventListeners(); + DOMWindowSet::iterator it = set.find(domWindow); + if (it == set.end()) + return; + set.removeAll(it); + if (set.isEmpty()) + enableSuddenTermination(); +} + static bool allowsBeforeUnloadListeners(DOMWindow* window) { ASSERT_ARG(window, window); @@ -193,7 +241,7 @@ unsigned DOMWindow::pendingUnloadEventListeners() const void DOMWindow::dispatchAllPendingUnloadEvents() { - DOMWindowSet& set = windowsWithBeforeUnloadEventListeners(); + DOMWindowSet& set = windowsWithUnloadEventListeners(); if (set.isEmpty()) return; @@ -328,8 +376,8 @@ DOMWindow::~DOMWindow() if (m_frame) m_frame->clearFormerDOMWindow(this); - windowsWithUnloadEventListeners().clear(this); - windowsWithBeforeUnloadEventListeners().clear(this); + removeAllUnloadEventListeners(this); + removeAllBeforeUnloadEventListeners(this); } ScriptExecutionContext* DOMWindow::scriptExecutionContext() const @@ -552,15 +600,12 @@ Storage* DOMWindow::localStorage() const if (!page->settings()->localStorageEnabled()) return 0; - StorageNamespace* localStorage = page->group().localStorage(); - RefPtr<StorageArea> storageArea = localStorage ? localStorage->storageArea(document->securityOrigin()) : 0; - if (storageArea) { + RefPtr<StorageArea> storageArea = page->group().localStorage()->storageArea(document->securityOrigin()); #if ENABLE(INSPECTOR) - page->inspectorController()->didUseDOMStorage(storageArea.get(), true, m_frame); + page->inspectorController()->didUseDOMStorage(storageArea.get(), true, m_frame); #endif - m_localStorage = Storage::create(m_frame, storageArea.release()); - } + m_localStorage = Storage::create(m_frame, storageArea.release()); return m_localStorage.get(); } #endif @@ -579,6 +624,9 @@ NotificationCenter* DOMWindow::webkitNotifications() const if (!page) return 0; + if (!page->settings()->experimentalNotificationsEnabled()) + return 0; + NotificationPresenter* provider = page->chrome()->notificationPresenter(); if (provider) m_notifications = NotificationCenter::create(document, provider); @@ -1215,9 +1263,9 @@ bool DOMWindow::addEventListener(const AtomicString& eventType, PassRefPtr<Event document->addListenerTypeIfNeeded(eventType); if (eventType == eventNames().unloadEvent) - windowsWithUnloadEventListeners().add(this); + addUnloadEventListener(this); else if (eventType == eventNames().beforeunloadEvent && allowsBeforeUnloadListeners(this)) - windowsWithBeforeUnloadEventListeners().add(this); + addBeforeUnloadEventListener(this); return true; } @@ -1228,9 +1276,9 @@ bool DOMWindow::removeEventListener(const AtomicString& eventType, EventListener return false; if (eventType == eventNames().unloadEvent) - windowsWithUnloadEventListeners().remove(this); + removeUnloadEventListener(this); else if (eventType == eventNames().beforeunloadEvent && allowsBeforeUnloadListeners(this)) - windowsWithBeforeUnloadEventListeners().remove(this); + removeBeforeUnloadEventListener(this); return true; } @@ -1266,8 +1314,8 @@ void DOMWindow::removeAllEventListeners() { EventTarget::removeAllEventListeners(); - windowsWithUnloadEventListeners().clear(this); - windowsWithBeforeUnloadEventListeners().clear(this); + removeAllUnloadEventListeners(this); + removeAllBeforeUnloadEventListeners(this); } void DOMWindow::captureEvents() diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl index f36175e..4e3a03e 100644 --- a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl +++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl @@ -489,9 +489,7 @@ module window { attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload; attribute XMLHttpRequestExceptionConstructor XMLHttpRequestException; -#if defined(ENABLE_XSLT) && ENABLE_XSLT - attribute [JSCCustomGetter] XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator -#endif + attribute [JSCCustomGetter,Conditional=XSLT] XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING attribute MessagePortConstructor MessagePort; diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp index 8d519ef..1075e72 100644 --- a/src/3rdparty/webkit/WebCore/page/EventHandler.cpp +++ b/src/3rdparty/webkit/WebCore/page/EventHandler.cpp @@ -894,8 +894,10 @@ bool EventHandler::scrollOverflow(ScrollDirection direction, ScrollGranularity g if (node) { RenderObject* r = node->renderer(); - if (r && !r->isListBox()) - return r->enclosingBox()->scroll(direction, granularity); + if (r && !r->isListBox() && r->enclosingBox()->scroll(direction, granularity)) { + setFrameWasScrolledByUser(); + return true; + } } return false; @@ -1758,6 +1760,13 @@ bool EventHandler::dispatchMouseEvent(const AtomicString& eventType, Node* targe return swallowEvent; } +#if !PLATFORM(GTK) +bool EventHandler::shouldTurnVerticalTicksIntoHorizontal(const HitTestResult&) const +{ + return false; +} +#endif + bool EventHandler::handleWheelEvent(PlatformWheelEvent& e) { Document* doc = m_frame->document(); @@ -1771,17 +1780,19 @@ bool EventHandler::handleWheelEvent(PlatformWheelEvent& e) FrameView* view = m_frame->view(); if (!view) return false; + setFrameWasScrolledByUser(); IntPoint vPoint = view->windowToContents(e.pos()); Node* node; bool isOverWidget; bool didSetLatchedNode = false; + HitTestRequest request(HitTestRequest::ReadOnly); + HitTestResult result(vPoint); + doc->renderView()->layer()->hitTest(request, result); + if (m_useLatchedWheelEventNode) { if (!m_latchedWheelEventNode) { - HitTestRequest request(HitTestRequest::ReadOnly); - HitTestResult result(vPoint); - doc->renderView()->layer()->hitTest(request, result); m_latchedWheelEventNode = result.innerNode(); m_widgetIsLatched = result.isOverWidget(); didSetLatchedNode = true; @@ -1795,13 +1806,13 @@ bool EventHandler::handleWheelEvent(PlatformWheelEvent& e) if (m_previousWheelScrolledNode) m_previousWheelScrolledNode = 0; - HitTestRequest request(HitTestRequest::ReadOnly); - HitTestResult result(vPoint); - doc->renderView()->layer()->hitTest(request, result); node = result.innerNode(); isOverWidget = result.isOverWidget(); } + if (shouldTurnVerticalTicksIntoHorizontal(result)) + e.turnVerticalTicksIntoHorizontal(); + if (node) { // Figure out which view to send the event to. RenderObject* target = node->renderer(); @@ -2471,17 +2482,23 @@ void EventHandler::sendResizeEvent() void EventHandler::sendScrollEvent() { + setFrameWasScrolledByUser(); + if (m_frame->view()) + m_frame->document()->dispatchEvent(Event::create(eventNames().scrollEvent, true, false)); +} + +void EventHandler::setFrameWasScrolledByUser() +{ FrameView* v = m_frame->view(); - if (!v) - return; - v->setWasScrolledByUser(true); - m_frame->document()->dispatchEvent(Event::create(eventNames().scrollEvent, true, false)); + if (v) + v->setWasScrolledByUser(true); } bool EventHandler::passMousePressEventToScrollbar(MouseEventWithHitTestResults& mev, Scrollbar* scrollbar) { if (!scrollbar || !scrollbar->enabled()) return false; + setFrameWasScrolledByUser(); return scrollbar->mouseDown(mev.event()); } diff --git a/src/3rdparty/webkit/WebCore/page/EventHandler.h b/src/3rdparty/webkit/WebCore/page/EventHandler.h index 7066252..0221397 100644 --- a/src/3rdparty/webkit/WebCore/page/EventHandler.h +++ b/src/3rdparty/webkit/WebCore/page/EventHandler.h @@ -125,6 +125,8 @@ public: bool shouldDragAutoNode(Node*, const IntPoint&) const; // -webkit-user-drag == auto #endif + bool shouldTurnVerticalTicksIntoHorizontal(const HitTestResult&) const; + bool tabsToLinks(KeyboardEvent*) const; bool tabsToAllControls(KeyboardEvent*) const; @@ -304,6 +306,8 @@ private: #endif void updateLastScrollbarUnderMouse(Scrollbar*, bool); + + void setFrameWasScrolledByUser(); bool capturesDragging() const { return m_capturesDragging; } diff --git a/src/3rdparty/webkit/WebCore/page/Frame.cpp b/src/3rdparty/webkit/WebCore/page/Frame.cpp index 28e6a9e..e8e796f 100644 --- a/src/3rdparty/webkit/WebCore/page/Frame.cpp +++ b/src/3rdparty/webkit/WebCore/page/Frame.cpp @@ -73,6 +73,7 @@ #include "Settings.h" #include "TextIterator.h" #include "TextResourceDecoder.h" +#include "UserContentURLPattern.h" #include "XMLNames.h" #include "htmlediting.h" #include "markup.h" @@ -870,12 +871,16 @@ void Frame::injectUserScriptsForWorld(unsigned worldID, const UserScriptVector& if (userScripts.isEmpty()) return; + Document* doc = document(); + if (!doc) + return; + // FIXME: Need to implement pattern checking. Vector<ScriptSourceCode> sourceCode; unsigned count = userScripts.size(); for (unsigned i = 0; i < count; ++i) { UserScript* script = userScripts[i].get(); - if (script->injectionTime() == injectionTime) + if (script->injectionTime() == injectionTime && UserContentURLPattern::matchesPatterns(doc->url(), script->patterns())) sourceCode.append(ScriptSourceCode(script->source(), script->url())); } script()->evaluateInIsolatedWorld(worldID, sourceCode); diff --git a/src/3rdparty/webkit/WebCore/page/HaltablePlugin.h b/src/3rdparty/webkit/WebCore/page/HaltablePlugin.h new file mode 100644 index 0000000..a5fe0f4 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/HaltablePlugin.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2009 Apple Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef HaltablePlugin_h +#define HaltablePlugin_h + +namespace WebCore { + +class Node; + +class HaltablePlugin { +public: + virtual ~HaltablePlugin() { } + + virtual void halt() = 0; + virtual void restart() = 0; + virtual Node* node() const = 0; +}; + +} // namespace WebCore + +#endif // HaltablePlugin_h diff --git a/src/3rdparty/webkit/WebCore/page/Page.cpp b/src/3rdparty/webkit/WebCore/page/Page.cpp index 182d22c..2d0c91c 100644 --- a/src/3rdparty/webkit/WebCore/page/Page.cpp +++ b/src/3rdparty/webkit/WebCore/page/Page.cpp @@ -49,6 +49,7 @@ #include "NetworkStateNotifier.h" #include "PageGroup.h" #include "PluginData.h" +#include "PluginHalter.h" #include "ProgressTracker.h" #include "RenderWidget.h" #include "RenderTheme.h" @@ -99,7 +100,7 @@ static void networkStateChanged() frames[i]->document()->dispatchWindowEvent(Event::create(eventName, false, false)); } -Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, EditorClient* editorClient, DragClient* dragClient, InspectorClient* inspectorClient) +Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, EditorClient* editorClient, DragClient* dragClient, InspectorClient* inspectorClient, PluginHalterClient* pluginHalterClient) : m_chrome(new Chrome(this, chromeClient)) , m_dragCaretController(new SelectionController(0, true)) #if ENABLE(DRAG_SUPPORT) @@ -135,6 +136,7 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi , m_customHTMLTokenizerTimeDelay(-1) , m_customHTMLTokenizerChunkSize(-1) , m_canStartPlugins(true) + , m_pluginHalterClient(pluginHalterClient) { #if !ENABLE(CONTEXT_MENUS) UNUSED_PARAM(contextMenuClient); @@ -154,6 +156,8 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi ASSERT(!allPages->contains(this)); allPages->add(this); + pluginHalterEnabledStateChanged(); + #if ENABLE(JAVASCRIPT_DEBUGGER) JavaScriptDebugServer::shared().pageCreated(this); #endif @@ -679,4 +683,32 @@ InspectorTimelineAgent* Page::inspectorTimelineAgent() const } #endif +void Page::pluginHalterEnabledStateChanged() +{ + if (m_settings->pluginHalterEnabled()) { + ASSERT(!m_pluginHalter); + m_pluginHalter.set(new PluginHalter(m_pluginHalterClient)); + m_pluginHalter->setPluginAllowedRunTime(m_settings->pluginAllowedRunTime()); + } else + m_pluginHalter = 0; +} + +void Page::pluginAllowedRunTimeChanged() +{ + if (m_pluginHalter) + m_pluginHalter->setPluginAllowedRunTime(m_settings->pluginAllowedRunTime()); +} + +void Page::didStartPlugin(HaltablePlugin* obj) +{ + if (m_pluginHalter) + m_pluginHalter->didStartPlugin(obj); +} + +void Page::didStopPlugin(HaltablePlugin* obj) +{ + if (m_pluginHalter) + m_pluginHalter->didStopPlugin(obj); +} + } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/page/Page.h b/src/3rdparty/webkit/WebCore/page/Page.h index d3f7ddb..602d99b 100644 --- a/src/3rdparty/webkit/WebCore/page/Page.h +++ b/src/3rdparty/webkit/WebCore/page/Page.h @@ -54,12 +54,15 @@ namespace WebCore { class EditorClient; class FocusController; class Frame; + class HaltablePlugin; class InspectorClient; class InspectorController; class InspectorTimelineAgent; class Node; class PageGroup; class PluginData; + class PluginHalter; + class PluginHalterClient; class PluginView; class ProgressTracker; class RenderTheme; @@ -82,7 +85,7 @@ namespace WebCore { public: static void setNeedsReapplyStyles(); - Page(ChromeClient*, ContextMenuClient*, EditorClient*, DragClient*, InspectorClient*); + Page(ChromeClient*, ContextMenuClient*, EditorClient*, DragClient*, InspectorClient*, PluginHalterClient*); ~Page(); RenderTheme* theme() const { return m_theme.get(); }; @@ -181,6 +184,11 @@ namespace WebCore { void userStyleSheetLocationChanged(); const String& userStyleSheet() const; + void didStartPlugin(HaltablePlugin*); + void didStopPlugin(HaltablePlugin*); + void pluginAllowedRunTimeChanged(); + void pluginHalterEnabledStateChanged(); + static void setDebuggerForAllPages(JSC::Debugger*); void setDebugger(JSC::Debugger*); JSC::Debugger* debugger() const { return m_debugger; } @@ -284,6 +292,9 @@ namespace WebCore { bool m_canStartPlugins; HashSet<PluginView*> m_unstartedPlugins; + OwnPtr<PluginHalter> m_pluginHalter; + PluginHalterClient* m_pluginHalterClient; + #if ENABLE(DOM_STORAGE) RefPtr<StorageNamespace> m_sessionStorage; #endif diff --git a/src/3rdparty/webkit/WebCore/page/PluginHalter.cpp b/src/3rdparty/webkit/WebCore/page/PluginHalter.cpp new file mode 100644 index 0000000..8025337 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/PluginHalter.cpp @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2009 Apple Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" + +#include "PluginHalter.h" + +#include "HaltablePlugin.h" +#include "PluginHalterClient.h" +#include <wtf/CurrentTime.h> +#include <wtf/Vector.h> + +using namespace std; + +namespace WebCore { + +PluginHalter::PluginHalter(PluginHalterClient* client) + : m_client(client) + , m_timer(this, &PluginHalter::timerFired) + , m_pluginAllowedRunTime(numeric_limits<unsigned>::max()) +{ + ASSERT_ARG(client, client); +} + +void PluginHalter::didStartPlugin(HaltablePlugin* obj) +{ + ASSERT_ARG(obj, obj); + ASSERT_ARG(obj, !m_plugins.contains(obj)); + + double currentTime = WTF::currentTime(); + + m_plugins.add(obj, currentTime); + + if (m_plugins.size() == 1) + m_oldestStartTime = currentTime; + + startTimerIfNecessary(); +} + +void PluginHalter::didStopPlugin(HaltablePlugin* obj) +{ + m_plugins.remove(obj); +} + +void PluginHalter::timerFired(Timer<PluginHalter>*) +{ + if (m_plugins.isEmpty()) + return; + + Vector<HaltablePlugin*> plugins; + copyKeysToVector(m_plugins, plugins); + + // Plug-ins older than this are candidates to be halted. + double pluginCutOffTime = WTF::currentTime() - m_pluginAllowedRunTime; + + m_oldestStartTime = numeric_limits<double>::max(); + + for (size_t i = 0; i < plugins.size(); ++i) { + double thisStartTime = m_plugins.get(plugins[i]); + if (thisStartTime > pluginCutOffTime) { + // This plug-in is too young to be halted. We find the oldest + // plug-in that is not old enough to be halted and use it to set + // the timer's next fire time. + if (thisStartTime < m_oldestStartTime) + m_oldestStartTime = thisStartTime; + continue; + } + + if (m_client->shouldHaltPlugin(plugins[i]->node())) + plugins[i]->halt(); + + m_plugins.remove(plugins[i]); + } + + startTimerIfNecessary(); +} + +void PluginHalter::startTimerIfNecessary() +{ + if (m_timer.isActive()) + return; + + if (m_plugins.isEmpty()) + return; + + double nextFireInterval = static_cast<double>(m_pluginAllowedRunTime) - (currentTime() - m_oldestStartTime); + m_timer.startOneShot(nextFireInterval < 0 ? 0 : nextFireInterval); +} + +} // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/page/PluginHalter.h b/src/3rdparty/webkit/WebCore/page/PluginHalter.h new file mode 100644 index 0000000..26f5101 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/PluginHalter.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2009 Apple Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef PluginHalter_h +#define PluginHalter_h + +#include "Timer.h" +#include <wtf/HashMap.h> + +namespace WebCore { + +class HaltablePlugin; +class PluginHalterClient; + +class PluginHalter { +public: + PluginHalter(PluginHalterClient*); + + void didStartPlugin(HaltablePlugin*); + void didStopPlugin(HaltablePlugin*); + + void setPluginAllowedRunTime(unsigned runTime) { m_pluginAllowedRunTime = runTime; } + +private: + void timerFired(Timer<PluginHalter>*); + void startTimerIfNecessary(); + + PluginHalterClient* m_client; + Timer<PluginHalter> m_timer; + unsigned m_pluginAllowedRunTime; + double m_oldestStartTime; + HashMap<HaltablePlugin*, double> m_plugins; +}; + +} // namespace WebCore + +#endif // PluginHalter_h diff --git a/src/3rdparty/webkit/WebCore/page/PluginHalterClient.h b/src/3rdparty/webkit/WebCore/page/PluginHalterClient.h new file mode 100644 index 0000000..7ea460a --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/PluginHalterClient.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2009 Apple Inc. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef PluginHalterClient_h +#define PluginHalterClient_h + +namespace WebCore { + +class Node; + +class PluginHalterClient { +public: + virtual ~PluginHalterClient() { } + + virtual bool shouldHaltPlugin(Node*) const = 0; +}; + +} // namespace WebCore + +#endif // PluginHalterClient_h diff --git a/src/3rdparty/webkit/WebCore/page/Settings.cpp b/src/3rdparty/webkit/WebCore/page/Settings.cpp index da36fee..ab438a1 100644 --- a/src/3rdparty/webkit/WebCore/page/Settings.cpp +++ b/src/3rdparty/webkit/WebCore/page/Settings.cpp @@ -61,6 +61,7 @@ Settings::Settings(Page* page) , m_defaultFontSize(0) , m_defaultFixedFontSize(0) , m_maximumDecodedImageSize(numeric_limits<size_t>::max()) + , m_pluginAllowedRunTime(numeric_limits<unsigned>::max()) , m_isJavaEnabled(false) , m_loadsImagesAutomatically(false) , m_privateBrowsingEnabled(false) @@ -114,6 +115,12 @@ Settings::Settings(Page* page) , m_downloadableBinaryFontsEnabled(true) , m_xssAuditorEnabled(false) , m_acceleratedCompositingEnabled(true) + , m_experimentalNotificationsEnabled(false) + , m_pluginHalterEnabled(false) + , m_experimentalWebGLEnabled(false) +#if ENABLE(WEB_SOCKETS) + , m_experimentalWebSocketsEnabled(false) +#endif { // A Frame may not have been created yet, so we initialize the AtomicString // hash before trying to use it. @@ -497,6 +504,27 @@ void Settings::setAcceleratedCompositingEnabled(bool enabled) setNeedsReapplyStylesInAllFrames(m_page); } +void Settings::setExperimentalNotificationsEnabled(bool enabled) +{ + m_experimentalNotificationsEnabled = enabled; +} + +void Settings::setPluginHalterEnabled(bool enabled) +{ + if (m_pluginHalterEnabled == enabled) + return; + + m_pluginHalterEnabled = enabled; + + m_page->pluginHalterEnabledStateChanged(); +} + +void Settings::setPluginAllowedRunTime(unsigned runTime) +{ + m_pluginAllowedRunTime = runTime; + m_page->pluginAllowedRunTimeChanged(); +} + #if PLATFORM(WIN) || (PLATFORM(WIN_OS) && PLATFORM(WX)) void Settings::setShouldUseHighResolutionTimers(bool shouldUseHighResolutionTimers) { @@ -504,4 +532,16 @@ void Settings::setShouldUseHighResolutionTimers(bool shouldUseHighResolutionTime } #endif +void Settings::setExperimentalWebGLEnabled(bool enabled) +{ + m_experimentalWebGLEnabled = enabled; +} + +#if ENABLE(WEB_SOCKETS) +void Settings::setExperimentalWebSocketsEnabled(bool enabled) +{ + m_experimentalWebSocketsEnabled = enabled; +} +#endif + } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/page/Settings.h b/src/3rdparty/webkit/WebCore/page/Settings.h index 7900c91..ec9c8f9 100644 --- a/src/3rdparty/webkit/WebCore/page/Settings.h +++ b/src/3rdparty/webkit/WebCore/page/Settings.h @@ -253,11 +253,30 @@ namespace WebCore { void setAcceleratedCompositingEnabled(bool); bool acceleratedCompositingEnabled() const { return m_acceleratedCompositingEnabled; } + void setExperimentalNotificationsEnabled(bool); + bool experimentalNotificationsEnabled() const { return m_experimentalNotificationsEnabled; } + #if PLATFORM(WIN) || (PLATFORM(WIN_OS) && PLATFORM(WX)) static void setShouldUseHighResolutionTimers(bool); static bool shouldUseHighResolutionTimers() { return gShouldUseHighResolutionTimers; } #endif + void setPluginHalterEnabled(bool); + bool pluginHalterEnabled() const { return m_pluginHalterEnabled; } + + void setPluginAllowedRunTime(unsigned); + unsigned pluginAllowedRunTime() const { return m_pluginAllowedRunTime; } + + // This run-time flag is only temporary while the WebGL + // specification is being developed. + void setExperimentalWebGLEnabled(bool); + bool experimentalWebGLEnabled() const { return m_experimentalWebGLEnabled; } + +#if ENABLE(WEB_SOCKETS) + void setExperimentalWebSocketsEnabled(bool); + bool experimentalWebSocketsEnabled() const { return m_experimentalWebSocketsEnabled; } +#endif + private: Page* m_page; @@ -278,6 +297,7 @@ namespace WebCore { int m_defaultFontSize; int m_defaultFixedFontSize; size_t m_maximumDecodedImageSize; + unsigned m_pluginAllowedRunTime; bool m_isJavaEnabled : 1; bool m_loadsImagesAutomatically : 1; bool m_privateBrowsingEnabled : 1; @@ -322,6 +342,13 @@ namespace WebCore { bool m_downloadableBinaryFontsEnabled : 1; bool m_xssAuditorEnabled : 1; bool m_acceleratedCompositingEnabled : 1; + bool m_experimentalNotificationsEnabled : 1; + bool m_pluginHalterEnabled : 1; + bool m_experimentalWebGLEnabled : 1; + +#if ENABLE(WEB_SOCKETS) + bool m_experimentalWebSocketsEnabled : 1; +#endif #if USE(SAFARI_THEME) static bool gShouldPaintNativeControls; diff --git a/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.cpp b/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.cpp new file mode 100644 index 0000000..1960131 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.cpp @@ -0,0 +1,212 @@ +/* + * Copyright (C) 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "UserContentURLPattern.h" +#include "KURL.h" +#include <wtf/StdLibExtras.h> + +namespace WebCore { + +bool UserContentURLPattern::matchesPatterns(const KURL& url, const Vector<String>& patterns) +{ + // Treat no patterns at all as though a pattern of * was specified. + if (patterns.isEmpty()) + return true; + + for (unsigned i = 0; i < patterns.size(); ++i) { + UserContentURLPattern contentPattern(patterns[i]); + if (contentPattern.matches(url)) + return true; + } + + return false; +} + +bool UserContentURLPattern::parse(const String& pattern) +{ + DEFINE_STATIC_LOCAL(const String, schemeSeparator, ("://")); + + int schemeEndPos = pattern.find(schemeSeparator); + if (schemeEndPos == -1) + return false; + + m_scheme = pattern.left(schemeEndPos); + + int hostStartPos = schemeEndPos + schemeSeparator.length(); + if (hostStartPos >= static_cast<int>(pattern.length())) + return false; + + int pathStartPos = 0; + + if (m_scheme == "file") + pathStartPos = hostStartPos; + else { + int hostEndPos = pattern.find("/", hostStartPos); + if (hostEndPos == -1) + return false; + + m_host = pattern.substring(hostStartPos, hostEndPos - hostStartPos); + + // The first component can be '*', which means to match all subdomains. + Vector<String> hostComponents; + m_host.split(".", hostComponents); + if (hostComponents[0] == "*") { + m_matchSubdomains = true; + m_host = ""; + for (unsigned i = 1; i < hostComponents.size(); ++i) { + m_host = m_host + hostComponents[i]; + if (i < hostComponents.size() - 1) + m_host = m_host + "."; + } + } + + // No other '*' can occur in the host. + if (m_host.find("*") != -1) + return false; + + pathStartPos = hostEndPos; + } + + m_path = pattern.right(pattern.length() - pathStartPos); + + return true; +} + +bool UserContentURLPattern::matches(const KURL& test) const +{ + if (m_invalid) + return false; + + if (test.protocol() != m_scheme) + return false; + + if (!matchesHost(test)) + return false; + + return matchesPath(test); +} + +bool UserContentURLPattern::matchesHost(const KURL& test) const +{ + if (test.host() == m_host) + return true; + + if (!m_matchSubdomains) + return false; + + // If we're matching subdomains, and we have no host, that means the pattern + // was <scheme>://*/<whatever>, so we match anything. + if (!m_host.length()) + return true; + + // Check if the test host is a subdomain of our host. + return test.host().endsWith(m_host, false); +} + +struct MatchTester +{ + const String m_pattern; + unsigned m_patternIndex; + + const String m_test; + unsigned m_testIndex; + + MatchTester(const String& pattern, const String& test) + : m_pattern(pattern) + , m_patternIndex(0) + , m_test(test) + , m_testIndex(0) + { + } + + bool testStringFinished() const { return m_testIndex >= m_test.length(); } + bool patternStringFinished() const { return m_patternIndex >= m_pattern.length(); } + + void eatWildcard() + { + while (!patternStringFinished()) { + if (m_pattern[m_patternIndex] != '*') + return; + m_patternIndex++; + } + } + + void eatSameChars() + { + while (!patternStringFinished() && !testStringFinished()) { + if (m_pattern[m_patternIndex] == '*') + return; + if (m_pattern[m_patternIndex] != m_test[m_testIndex]) + return; + m_patternIndex++; + m_testIndex++; + } + } + + bool test() + { + // Eat all the matching chars. + eatSameChars(); + + // If the string is finished, then the pattern must be empty too, or contains + // only wildcards. + if (testStringFinished()) { + eatWildcard(); + if (patternStringFinished()) + return true; + return false; + } + + // Pattern is empty but not string, this is not a match. + if (patternStringFinished()) + return false; + + // If we don't encounter a *, then we're hosed. + if (m_pattern[m_patternIndex] != '*') + return false; + + while (!testStringFinished()) { + MatchTester nextMatch(*this); + nextMatch.m_patternIndex++; + if (nextMatch.test()) + return true; + m_testIndex++; + } + + // We reached the end of the string. Let's see if the pattern contains only + // wildcards. + eatWildcard(); + return patternStringFinished(); + } +}; + +bool UserContentURLPattern::matchesPath(const KURL& test) const +{ + MatchTester match(m_path, test.path()); + return match.test(); +} + +} // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.h b/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.h new file mode 100644 index 0000000..bc87f55 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/page/UserContentURLPattern.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef UserContentURLPattern_h +#define UserContentURLPattern_h + +#include "PlatformString.h" +#include <wtf/Vector.h> + +namespace WebCore { + +class KURL; + +class UserContentURLPattern { +public: + UserContentURLPattern(const String& pattern) + : m_matchSubdomains(false) + { + m_invalid = !parse(pattern); + } + + bool matches(const KURL&) const; + + const String& scheme() const { return m_scheme; } + const String& host() const { return m_host; } + const String& path() const { return m_path; } + + bool matchSubdomains() const { return m_matchSubdomains; } + + static bool matchesPatterns(const KURL&, const Vector<String>&); + +private: + bool parse(const String& pattern); + + bool matchesHost(const KURL&) const; + bool matchesPath(const KURL&) const; + + bool m_invalid; + + String m_scheme; + String m_host; + String m_path; + + bool m_matchSubdomains; +}; + + +} // namespace WebCore + +#endif // UserContentURLPattern_h diff --git a/src/3rdparty/webkit/WebCore/page/android/InspectorControllerAndroid.cpp b/src/3rdparty/webkit/WebCore/page/android/InspectorControllerAndroid.cpp index 3ba64e9..978bc25 100644 --- a/src/3rdparty/webkit/WebCore/page/android/InspectorControllerAndroid.cpp +++ b/src/3rdparty/webkit/WebCore/page/android/InspectorControllerAndroid.cpp @@ -90,6 +90,7 @@ void InspectorController::addProfile(PassRefPtr<JSC::Profile>, unsigned int, con void InspectorController::inspectedPageDestroyed() {} void InspectorController::resourceRetrievedByXMLHttpRequest(unsigned long identifier, JSC::UString& sourceString) {} +void InspectorController::inspectedWindowScriptObjectCleared(Frame* frame) {} void InspectorController::startGroup(MessageSource source, JSC::ExecState* exec, const JSC::ArgList& arguments, unsigned lineNumber, const String& sourceURL) {} void InspectorController::endGroup(MessageSource source, unsigned lineNumber, const String& sourceURL) {} void InspectorController::startTiming(const JSC::UString& title) {} diff --git a/src/3rdparty/webkit/WebCore/platform/Pasteboard.h b/src/3rdparty/webkit/WebCore/platform/Pasteboard.h index cd6a3b5..188b962 100644 --- a/src/3rdparty/webkit/WebCore/platform/Pasteboard.h +++ b/src/3rdparty/webkit/WebCore/platform/Pasteboard.h @@ -86,6 +86,7 @@ public: static Pasteboard* generalPasteboard(); void writeSelection(Range*, bool canSmartCopyOrDelete, Frame*); + void writePlainText(const String&); void writeURL(const KURL&, const String&, Frame* = 0); void writeImage(Node*, const KURL&, const String& title); #if PLATFORM(MAC) diff --git a/src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h b/src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h index 537deac..9a4a0cb 100644 --- a/src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h +++ b/src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h @@ -93,6 +93,15 @@ namespace WebCore { void accept() { m_isAccepted = true; } void ignore() { m_isAccepted = false; } + void turnVerticalTicksIntoHorizontal() + { + m_deltaX = m_deltaY; + m_deltaY = 0; + + m_wheelTicksX = m_wheelTicksY; + m_wheelTicksY = 0; + } + #if PLATFORM(GTK) PlatformWheelEvent(GdkEventScroll*); #endif diff --git a/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp b/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp index b68a74c..c0b57a6 100644 --- a/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp +++ b/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp @@ -175,6 +175,11 @@ void Pasteboard::writeSelection(Range*, bool, Frame*) notImplemented(); } +void Pasteboard::writePlainText(const String&) +{ + notImplemented(); +} + void Pasteboard::writeURL(const KURL&, const String&, Frame*) { notImplemented(); diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h index cbbf2b4..edda215 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h +++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h @@ -62,6 +62,11 @@ namespace WebCore { class ImageData; class WebKitCSSMatrix; + // FIXME: ideally this would be used on all platforms. +#if PLATFORM(SKIA) + class GraphicsContext3DInternal; +#endif + class GraphicsContext3D : Noncopyable { public: enum ShaderType { FRAGMENT_SHADER, VERTEX_SHADER }; @@ -308,10 +313,6 @@ namespace WebCore { private: int m_currentWidth, m_currentHeight; -#if PLATFORM(SKIA) -#include "GraphicsContext3DSkia.h" -#endif - #if PLATFORM(MAC) Vector<Vector<float> > m_vertexArray; @@ -320,6 +321,12 @@ namespace WebCore { GLuint m_fbo; GLuint m_depthBuffer; #endif + + // FIXME: ideally this would be used on all platforms. +#if PLATFORM(SKIA) + friend class GraphicsContext3DInternal; + OwnPtr<GraphicsContext3DInternal> m_internal; +#endif }; } // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp index 0706358..f452a2d 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp +++ b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp @@ -2,6 +2,7 @@ Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2004, 2005 Rob Buis <buis@kde.org> 2005 Eric Seidel <eric@webkit.org> + 2009 Dirk Schulze <krit@webkit.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public @@ -24,7 +25,10 @@ #if ENABLE(FILTERS) #include "FEComposite.h" +#include "CanvasPixelArray.h" #include "Filter.h" +#include "GraphicsContext.h" +#include "ImageData.h" namespace WebCore { @@ -97,8 +101,74 @@ void FEComposite::setK4(float k4) m_k4 = k4; } -void FEComposite::apply(Filter*) +inline void arithmetic(const RefPtr<CanvasPixelArray>& srcPixelArrayA, CanvasPixelArray*& srcPixelArrayB, + float k1, float k2, float k3, float k4) { + float scaledK1 = k1 / 255.f; + float scaledK4 = k4 * 255.f; + for (unsigned pixelOffset = 0; pixelOffset < srcPixelArrayA->length(); pixelOffset += 4) { + for (unsigned channel = 0; channel < 4; ++channel) { + unsigned char i1 = srcPixelArrayA->get(pixelOffset + channel); + unsigned char i2 = srcPixelArrayB->get(pixelOffset + channel); + + unsigned char result = scaledK1 * i1 * i2 + k2 * i1 + k3 * i2 + scaledK4; + if (channel == 3 && i1 == 0 && i2 == 0) + result = 0; + srcPixelArrayB->set(pixelOffset + channel, result); + } + } +} + +void FEComposite::apply(Filter* filter) +{ + m_in->apply(filter); + m_in2->apply(filter); + if (!m_in->resultImage() || !m_in2->resultImage()) + return; + + GraphicsContext* filterContext = getEffectContext(); + if (!filterContext) + return; + + FloatRect srcRect = FloatRect(0.f, 0.f, -1.f, -1.f); + switch (m_type) { + case FECOMPOSITE_OPERATOR_OVER: + filterContext->drawImage(m_in->resultImage()->image(), calculateDrawingRect(m_in->subRegion())); + filterContext->drawImage(m_in2->resultImage()->image(), calculateDrawingRect(m_in2->subRegion())); + break; + case FECOMPOSITE_OPERATOR_IN: + filterContext->save(); + filterContext->clipToImageBuffer(calculateDrawingRect(m_in2->subRegion()), m_in2->resultImage()); + filterContext->drawImage(m_in->resultImage()->image(), calculateDrawingRect(m_in->subRegion())); + filterContext->restore(); + break; + case FECOMPOSITE_OPERATOR_OUT: + filterContext->drawImage(m_in->resultImage()->image(), calculateDrawingRect(m_in->subRegion())); + filterContext->drawImage(m_in2->resultImage()->image(), calculateDrawingRect(m_in2->subRegion()), srcRect, CompositeDestinationOut); + break; + case FECOMPOSITE_OPERATOR_ATOP: + filterContext->drawImage(m_in2->resultImage()->image(), calculateDrawingRect(m_in2->subRegion())); + filterContext->drawImage(m_in->resultImage()->image(), calculateDrawingRect(m_in->subRegion()), srcRect, CompositeSourceAtop); + break; + case FECOMPOSITE_OPERATOR_XOR: + filterContext->drawImage(m_in2->resultImage()->image(), calculateDrawingRect(m_in2->subRegion())); + filterContext->drawImage(m_in->resultImage()->image(), calculateDrawingRect(m_in->subRegion()), srcRect, CompositeXOR); + break; + case FECOMPOSITE_OPERATOR_ARITHMETIC: { + IntRect effectADrawingRect = calculateDrawingIntRect(m_in->subRegion()); + RefPtr<CanvasPixelArray> srcPixelArrayA(m_in->resultImage()->getPremultipliedImageData(effectADrawingRect)->data()); + + IntRect effectBDrawingRect = calculateDrawingIntRect(m_in2->subRegion()); + RefPtr<ImageData> imageData(m_in2->resultImage()->getPremultipliedImageData(effectBDrawingRect)); + CanvasPixelArray* srcPixelArrayB(imageData->data()); + + arithmetic(srcPixelArrayA, srcPixelArrayB, m_k1, m_k2, m_k3, m_k4); + resultImage()->putPremultipliedImageData(imageData.get(), IntRect(IntPoint(), resultImage()->size()), IntPoint()); + } + break; + default: + break; + } } void FEComposite::dump() diff --git a/src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm b/src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm index e21f549..f048791 100644 --- a/src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm +++ b/src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm @@ -135,8 +135,8 @@ static NSAttributedString *stripAttachmentCharacters(NSAttributedString *string) void Pasteboard::writeSelection(NSPasteboard* pasteboard, Range* selectedRange, bool canSmartCopyOrDelete, Frame* frame) { - if (WebArchivePboardType == nil) - Pasteboard::generalPasteboard(); //Initialises pasteboard types + if (!WebArchivePboardType) + Pasteboard::generalPasteboard(); // Initialises pasteboard types ASSERT(selectedRange); NSAttributedString *attributedString = [[[NSAttributedString alloc] _initWithDOMRange:kit(selectedRange)] autorelease]; @@ -203,12 +203,24 @@ void Pasteboard::writeSelection(Range* selectedRange, bool canSmartCopyOrDelete, Pasteboard::writeSelection(m_pasteboard.get(), selectedRange, canSmartCopyOrDelete, frame); } +void Pasteboard::writePlainText(const String& text) +{ + if (!WebArchivePboardType) + Pasteboard::generalPasteboard(); // Initialises pasteboard types + + NSArray *types = [NSArray arrayWithObject:NSStringPboardType]; + NSPasteboard *pasteboard = m_pasteboard.get(); + [pasteboard declareTypes:types owner:nil]; + + [pasteboard setString:text forType:NSStringPboardType]; +} + void Pasteboard::writeURL(NSPasteboard* pasteboard, NSArray* types, const KURL& url, const String& titleStr, Frame* frame) { - if (WebArchivePboardType == nil) - Pasteboard::generalPasteboard(); //Initialises pasteboard types + if (!WebArchivePboardType) + Pasteboard::generalPasteboard(); // Initialises pasteboard types - if (types == nil) { + if (!types) { types = writableTypesForURL(); [pasteboard declareTypes:types owner:nil]; } diff --git a/src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.cpp b/src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.cpp index b7f4c01..407ed5b 100644 --- a/src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.cpp +++ b/src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.cpp @@ -60,6 +60,9 @@ static String originStringFromURL(const KURL& url) void CredentialStorage::set(const Credential& credential, const ProtectionSpace& protectionSpace, const KURL& url) { + ASSERT(url.protocolInHTTPFamily()); + ASSERT(url.isValid()); + protectionSpaceToCredentialMap().set(protectionSpace, credential); ProtectionSpaceAuthenticationScheme scheme = protectionSpace.authenticationScheme(); @@ -70,14 +73,15 @@ void CredentialStorage::set(const Credential& credential, const ProtectionSpace& pair<HashMap<String, HashMap<String, Credential> >::iterator, bool> result = originToDefaultBasicCredentialMap().add(origin, pathToCredentialMap); // Remove the last path component that is not a directory to determine the subpath for which this credential applies. + // We keep a leading slash, but remove a trailing one. String path = url.path(); - if (!path.endsWith("/")) { + ASSERT(path.length() > 0); + ASSERT(path[0] == '/'); + if (path.length() > 1) { int index = path.reverseFind('/'); - if (index != -1) - path = path.substring(0, index); + path = path.substring(0, index ? index : 1); } - if (path.endsWith("/") && path.length() > 1) - path = path.substring(0, path.length() - 1); + ASSERT(path.length() == 1 || path[path.length() - 1] != '/'); result.first->second.set(path, credential); } @@ -102,13 +106,13 @@ Credential CredentialStorage::getDefaultAuthenticationCredential(const KURL& url while (credential.isEmpty() && !path.isNull()) { int index = path.reverseFind('/'); if (index == 0) { - path = String(); credential = pathToCredentialMap.get("/"); + break; } else if (index == -1) { // This case should never happen, as all HTTP URL paths should start with a leading / ASSERT_NOT_REACHED(); credential = pathToCredentialMap.get(path); - path = String(); + break; } else { path = path.substring(0, index); credential = pathToCredentialMap.get(path); diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp index eac430f..3303b34 100644 --- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp +++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp @@ -205,13 +205,28 @@ QNetworkReply* QNetworkReplyHandler::release() return reply; } +static bool ignoreHttpError(QNetworkReply* reply, bool receivedData) +{ + int httpStatusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + + if (httpStatusCode == 401 || httpStatusCode == 407) + return true; + + if (receivedData && (httpStatusCode >= 400 && httpStatusCode < 600)) + return true; + + return false; +} + void QNetworkReplyHandler::finish() { m_shouldFinish = (m_loadMode != LoadNormal); if (m_shouldFinish) return; - sendResponseIfNeeded(); + // FIXME: Investigate if this check should be moved into sendResponseIfNeeded() + if (!m_reply->error()) + sendResponseIfNeeded(); if (!m_resourceHandle) return; @@ -225,23 +240,22 @@ void QNetworkReplyHandler::finish() if (m_redirected) { resetState(); start(); - } else if (m_reply->error() != QNetworkReply::NoError - // a web page that returns 401/403/404 can still have content - && ((m_reply->error() != QNetworkReply::ContentOperationNotPermittedError - && m_reply->error() != QNetworkReply::ContentNotFoundError - && m_reply->error() != QNetworkReply::ProtocolUnknownError - && m_reply->error() != QNetworkReply::UnknownContentError) - // If the web page sent content, let's give it to the user. - || !m_responseDataSent) - && m_reply->error() != QNetworkReply::AuthenticationRequiredError - && m_reply->error() != QNetworkReply::ProxyAuthenticationRequiredError) { - QUrl url = m_reply->url(); - ResourceError error(url.host(), m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), - url.toString(), m_reply->errorString()); - client->didFail(m_resourceHandle, error); - } else { + } else if (!m_reply->error() || ignoreHttpError(m_reply, m_responseDataSent)) { client->didFinishLoading(m_resourceHandle); + } else { + int code = m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + + QUrl url = m_reply->url(); + + if (code) { + ResourceError error("HTTP", code, url.toString(), m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString()); + client->didFail(m_resourceHandle, error); + } else { + ResourceError error("QtNetwork", m_reply->error(), url.toString(), m_reply->errorString()); + client->didFail(m_resourceHandle, error); + } } + oldReply->deleteLater(); if (oldReply == m_reply) m_reply = 0; @@ -300,8 +314,7 @@ void QNetworkReplyHandler::sendResponseIfNeeded() * For local file requests remove the content length and the last-modified * headers as required by fast/dom/xmlhttprequest-get.xhtml */ - foreach (QByteArray headerName, m_reply->rawHeaderList()) { - + foreach (const QByteArray& headerName, m_reply->rawHeaderList()) { if (isLocalFileReply && (headerName == "Content-Length" || headerName == "Last-Modified")) continue; diff --git a/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp b/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp index 977b284..77cac57 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp @@ -427,7 +427,7 @@ String localizedMediaControlElementHelpText(const String& name) if (name == "CurrentTimeDisplay") return QCoreApplication::translate("QWebPage", "Current movie time", "Media controller element"); if (name == "TimeRemainingDisplay") - return QCoreApplication::translate("QWebPage", "Remaining move time", "Media controller element"); + return QCoreApplication::translate("QWebPage", "Remaining movie time", "Media controller element"); if (name == "StatusDisplay") return QCoreApplication::translate("QWebPage", "Current movie status", "Media controller element"); if (name == "FullscreenButton") diff --git a/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp index 969de62..209a573 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp @@ -119,6 +119,18 @@ PassRefPtr<DocumentFragment> Pasteboard::documentFragment(Frame* frame, PassRefP return 0; } +void Pasteboard::writePlainText(const String& text) +{ +#ifndef QT_NO_CLIPBOARD + QMimeData* md = new QMimeData; + QString qtext = text; + qtext.replace(QChar(0xa0), QLatin1Char(' ')); + md->setText(qtext); + QApplication::clipboard()->setMimeData(md, m_selectionMode ? + QClipboard::Selection : QClipboard::Clipboard); +#endif +} + void Pasteboard::writeURL(const KURL& _url, const String&, Frame*) { ASSERT(!_url.isEmpty()); diff --git a/src/3rdparty/webkit/WebCore/platform/text/CString.cpp b/src/3rdparty/webkit/WebCore/platform/text/CString.cpp index 5b8ac58..25f5fa1 100644 --- a/src/3rdparty/webkit/WebCore/platform/text/CString.cpp +++ b/src/3rdparty/webkit/WebCore/platform/text/CString.cpp @@ -27,19 +27,10 @@ #include "config.h" #include "CString.h" -#include "Base64.h" - using std::min; namespace WebCore { -PassRefPtr<CStringBuffer> CStringBuffer::base64Encode() -{ - Vector<char> encoded; - WebCore::base64Encode(m_vector, encoded); - return CStringBuffer::create(encoded); -} - CString::CString(const char* str) { init(str, strlen(str)); @@ -99,11 +90,6 @@ void CString::copyBufferIfNeeded() memcpy(m_buffer->mutableData(), m_temp->data(), len); } -CString CString::base64Encode() -{ - return CString(m_buffer->base64Encode().get()); -} - bool operator==(const CString& a, const CString& b) { if (a.isNull() != b.isNull()) diff --git a/src/3rdparty/webkit/WebCore/platform/text/CString.h b/src/3rdparty/webkit/WebCore/platform/text/CString.h index 2d1cc2b..b9030d6 100644 --- a/src/3rdparty/webkit/WebCore/platform/text/CString.h +++ b/src/3rdparty/webkit/WebCore/platform/text/CString.h @@ -43,12 +43,9 @@ namespace WebCore { friend class CString; static PassRefPtr<CStringBuffer> create(unsigned length) { return adoptRef(new CStringBuffer(length)); } - static PassRefPtr<CStringBuffer> create(const Vector<char>& vectorToAdopt) { return adoptRef(new CStringBuffer(vectorToAdopt)); } CStringBuffer(unsigned length) : m_vector(length) { } - CStringBuffer(const Vector<char>& vectorToAdopt) : m_vector(vectorToAdopt) { } char* mutableData() { return m_vector.data(); } - PassRefPtr<CStringBuffer> base64Encode(); Vector<char> m_vector; }; @@ -62,8 +59,6 @@ namespace WebCore { CString(CStringBuffer* buffer) : m_buffer(buffer) { } static CString newUninitialized(size_t length, char*& characterBuffer); - CString base64Encode(); - const char* data() const; char* mutableData(); unsigned length() const; diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp b/src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp index b76f739..c5c8cfd 100644 --- a/src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp +++ b/src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp @@ -264,6 +264,7 @@ const TextEncoding& UTF32LittleEndianEncoding() const TextEncoding& UTF8Encoding() { static TextEncoding globalUTF8Encoding("UTF-8"); + ASSERT(globalUTF8Encoding.isValid()); return globalUTF8Encoding; } diff --git a/src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp b/src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp index c6c02cf..e351522 100644 --- a/src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp @@ -94,7 +94,26 @@ TextCodecQt::~TextCodecQt() String TextCodecQt::decode(const char* bytes, size_t length, bool flush, bool /*stopOnError*/, bool& sawError) { - QString unicode = m_codec->toUnicode(bytes, length, &m_state); + // We chop input buffer to smaller buffers to avoid excessive memory consumption + // when the input buffer is big. This helps reduce peak memory consumption in + // mobile devices where system RAM is limited. +#if PLATFORM(SYMBIAN) + static const int MaxInputChunkSize = 32 * 1024; +#else + static const int MaxInputChunkSize = 1024 * 1024; +#endif + const char* buf = bytes; + const char* end = buf + length; + String unicode; + + while (buf < end) { + int size = end - buf; + size = qMin(size, MaxInputChunkSize); + QString decoded = m_codec->toUnicode(buf, size, &m_state); + unicode.append(decoded); + buf += size; + } + sawError = m_state.invalidChars != 0; if (flush) { diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp index 969716f..29e2e57 100644 --- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp @@ -135,7 +135,10 @@ PassRefPtr<RenderStyle> MediaControlElement::styleForElement() bool MediaControlElement::rendererIsNeeded(RenderStyle* style) { - return HTMLDivElement::rendererIsNeeded(style) && parent() && parent()->renderer(); + ASSERT(document()->page()); + + return HTMLDivElement::rendererIsNeeded(style) && parent() && parent()->renderer() + && document()->page()->theme()->shouldRenderMediaControlPart(style->appearance(), m_mediaElement); } void MediaControlElement::attach() @@ -360,7 +363,10 @@ PassRefPtr<RenderStyle> MediaControlInputElement::styleForElement() bool MediaControlInputElement::rendererIsNeeded(RenderStyle* style) { - return HTMLInputElement::rendererIsNeeded(style) && parent() && parent()->renderer(); + ASSERT(document()->page()); + + return HTMLInputElement::rendererIsNeeded(style) && parent() && parent()->renderer() + && document()->page()->theme()->shouldRenderMediaControlPart(style->appearance(), m_mediaElement); } void MediaControlInputElement::attach() @@ -444,16 +450,6 @@ void MediaControlMuteButtonElement::updateDisplayType() setDisplayType(m_mediaElement->muted() ? MediaUnMuteButton : MediaMuteButton); } -bool MediaControlMuteButtonElement::disabled() const -{ - return !m_mediaElement->hasAudio(); -} - -bool MediaControlMuteButtonElement::rendererIsNeeded(RenderStyle* style) -{ - return MediaControlInputElement::rendererIsNeeded(style) && !disabled(); -} - // ---------------------------- MediaControlPlayButtonElement::MediaControlPlayButtonElement(Document* document, HTMLMediaElement* element) @@ -551,11 +547,6 @@ void MediaControlRewindButtonElement::defaultEventHandler(Event* event) HTMLInputElement::defaultEventHandler(event); } -bool MediaControlRewindButtonElement::rendererIsNeeded(RenderStyle* style) -{ - return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->movieLoadType() != MediaPlayer::LiveStream; -} - // ---------------------------- @@ -573,10 +564,6 @@ void MediaControlReturnToRealtimeButtonElement::defaultEventHandler(Event* event HTMLInputElement::defaultEventHandler(event); } -bool MediaControlReturnToRealtimeButtonElement::rendererIsNeeded(RenderStyle* style) -{ - return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->movieLoadType() == MediaPlayer::LiveStream; -} // ---------------------------- @@ -664,11 +651,6 @@ void MediaControlFullscreenButtonElement::defaultEventHandler(Event* event) HTMLInputElement::defaultEventHandler(event); } -bool MediaControlFullscreenButtonElement::rendererIsNeeded(RenderStyle* style) -{ - return MediaControlInputElement::rendererIsNeeded(style) && m_mediaElement->supportsFullscreen(); -} - // ---------------------------- diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h index e80f7fa..f692485 100644 --- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h +++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h @@ -155,9 +155,6 @@ public: bool hitTest(const IntPoint& absPoint); MediaControlElementType displayType() const { return m_displayType; } - // Some elements are disabled by movie state (eg. mute if no audio). - virtual bool disabled() const { return false; } - HTMLMediaElement* mediaElement() const { return m_mediaElement; } virtual bool isMediaControlElement() const { return true; } @@ -177,8 +174,6 @@ public: MediaControlMuteButtonElement(Document*, HTMLMediaElement*); virtual void defaultEventHandler(Event*); virtual void updateDisplayType(); - virtual bool disabled() const; - virtual bool rendererIsNeeded(RenderStyle*); }; // ---------------------------- @@ -212,7 +207,6 @@ class MediaControlRewindButtonElement : public MediaControlInputElement { public: MediaControlRewindButtonElement(Document*, HTMLMediaElement*); virtual void defaultEventHandler(Event*); - virtual bool rendererIsNeeded(RenderStyle*); }; // ---------------------------- @@ -221,7 +215,6 @@ class MediaControlReturnToRealtimeButtonElement : public MediaControlInputElemen public: MediaControlReturnToRealtimeButtonElement(Document*, HTMLMediaElement*); virtual void defaultEventHandler(Event*); - virtual bool rendererIsNeeded(RenderStyle*); }; // ---------------------------- @@ -247,7 +240,6 @@ class MediaControlFullscreenButtonElement : public MediaControlInputElement { public: MediaControlFullscreenButtonElement(Document*, HTMLMediaElement*); virtual void defaultEventHandler(Event*); - virtual bool rendererIsNeeded(RenderStyle*); }; // ---------------------------- diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp index cea226e..c8d3037 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp @@ -941,7 +941,8 @@ void RenderBox::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool if (style()->position() == FixedPosition) fixed = true; - RenderObject* o = container(); + bool containerSkipped; + RenderObject* o = container(repaintContainer, &containerSkipped); if (!o) return; @@ -959,6 +960,14 @@ void RenderBox::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool } else transformState.move(containerOffset.width(), containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform); + if (containerSkipped) { + // There can't be a transfrom between repaintContainer and o, because transforms create containers, so it should be safe + // to just subtract the delta between the repaintContainer and o. + IntSize repaintContainerOffset = repaintContainer->offsetFromContainer(o); + transformState.move(-repaintContainerOffset.width(), -repaintContainerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform); + return; + } + o->mapLocalToContainer(repaintContainer, fixed, useTransforms, transformState); } @@ -1131,7 +1140,8 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In if (repaintContainer == this) return; - RenderObject* o = container(); + bool containerSkipped; + RenderObject* o = container(repaintContainer, &containerSkipped); if (!o) return; @@ -1188,6 +1198,13 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In return; } else rect.setLocation(topLeft); + + if (containerSkipped) { + // If the repaintContainer is below o, then we need to map the rect into repaintContainer's coordinates. + IntSize containerOffset = repaintContainer->offsetFromContainer(o); + rect.move(-containerOffset); + return; + } o->computeRectForRepaint(repaintContainer, rect, fixed); } @@ -2456,7 +2473,7 @@ void RenderBox::calcAbsoluteHorizontalReplaced() // positioned, inline containing block because right now, it is using the xPos // of the first line box when really it should use the last line box. When // this is fixed elsewhere, this block should be removed. - if (containerBlock->isInline() && containerBlock->style()->direction() == RTL) { + if (containerBlock->isRenderInline() && containerBlock->style()->direction() == RTL) { const RenderInline* flow = toRenderInline(containerBlock); InlineFlowBox* firstLine = flow->firstLineBox(); InlineFlowBox* lastLine = flow->lastLineBox(); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp index 07b28cc..a5e973e 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp @@ -652,7 +652,8 @@ void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer, if (repaintContainer == this) return; - RenderObject* o = container(); + bool containerSkipped; + RenderObject* o = container(repaintContainer, &containerSkipped); if (!o) return; @@ -693,6 +694,13 @@ void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer, return; } else rect.setLocation(topLeft); + + if (containerSkipped) { + // If the repaintContainer is below o, then we need to map the rect into repaintContainer's coordinates. + IntSize containerOffset = repaintContainer->offsetFromContainer(o); + rect.move(-containerOffset); + return; + } o->computeRectForRepaint(repaintContainer, rect, fixed); } diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp index 1d5ed0c..b7f59e1 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp @@ -1788,8 +1788,11 @@ bool RenderObject::hasOutlineAnnotation() const return node() && node()->isLink() && document()->printing(); } -RenderObject* RenderObject::container() const +RenderObject* RenderObject::container(RenderBoxModelObject* repaintContainer, bool* repaintContainerSkipped) const { + if (repaintContainerSkipped) + *repaintContainerSkipped = false; + // This method is extremely similar to containingBlock(), but with a few notable // exceptions. // (1) It can be used on orphaned subtrees, i.e., it can be called safely even when @@ -1814,14 +1817,20 @@ RenderObject* RenderObject::container() const // we'll just return 0). // FIXME: The definition of view() has changed to not crawl up the render tree. It might // be safe now to use it. - while (o && o->parent() && !(o->hasTransform() && o->isRenderBlock())) + while (o && o->parent() && !(o->hasTransform() && o->isRenderBlock())) { + if (repaintContainerSkipped && o == repaintContainer) + *repaintContainerSkipped = true; o = o->parent(); + } } else if (pos == AbsolutePosition) { // Same goes here. We technically just want our containing block, but // we may not have one if we're part of an uninstalled subtree. We'll // climb as high as we can though. - while (o && o->style()->position() == StaticPosition && !o->isRenderView() && !(o->hasTransform() && o->isRenderBlock())) + while (o && o->style()->position() == StaticPosition && !o->isRenderView() && !(o->hasTransform() && o->isRenderBlock())) { + if (repaintContainerSkipped && o == repaintContainer) + *repaintContainerSkipped = true; o = o->parent(); + } } return o; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h index e5a0c16..367eaa6 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderObject.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderObject.h @@ -403,11 +403,11 @@ public: bool hasOutlineAnnotation() const; bool hasOutline() const { return style()->hasOutline() || hasOutlineAnnotation(); } - /** - * returns the object containing this one. can be different from parent for - * positioned elements - */ - RenderObject* container() const; + // Returns the object containing this one. Can be different from parent for positioned elements. + // If repaintContainer and repaintContainerSkipped are not null, on return *repaintContainerSkipped + // is true if the renderer returned is an ancestor of repaintContainer. + RenderObject* container(RenderBoxModelObject* repaintContainer = 0, bool* repaintContainerSkipped = 0) const; + virtual RenderObject* hoverAncestor() const { return parent(); } // IE Extension that can be called on any RenderObject. See the implementation for the details. @@ -985,6 +985,42 @@ inline void makeMatrixRenderable(TransformationMatrix& matrix, bool has3DRenderi #endif } +inline int adjustForAbsoluteZoom(int value, RenderObject* renderer) +{ + float zoomFactor = renderer->style()->effectiveZoom(); + if (zoomFactor == 1) + return value; + // Needed because computeLengthInt truncates (rather than rounds) when scaling up. + if (zoomFactor > 1) + value++; + return static_cast<int>(value / zoomFactor); +} + +inline void adjustIntRectForAbsoluteZoom(IntRect& rect, RenderObject* renderer) +{ + rect.setX(adjustForAbsoluteZoom(rect.x(), renderer)); + rect.setY(adjustForAbsoluteZoom(rect.y(), renderer)); + rect.setWidth(adjustForAbsoluteZoom(rect.width(), renderer)); + rect.setHeight(adjustForAbsoluteZoom(rect.height(), renderer)); +} + +inline FloatPoint adjustFloatPointForAbsoluteZoom(const FloatPoint& point, RenderObject* renderer) +{ + // The result here is in floats, so we don't need the truncation hack from the integer version above. + float zoomFactor = renderer->style()->effectiveZoom(); + if (zoomFactor == 1) + return point; + return FloatPoint(point.x() / zoomFactor, point.y() / zoomFactor); +} + +inline void adjustFloatQuadForAbsoluteZoom(FloatQuad& quad, RenderObject* renderer) +{ + quad.setP1(adjustFloatPointForAbsoluteZoom(quad.p1(), renderer)); + quad.setP2(adjustFloatPointForAbsoluteZoom(quad.p2(), renderer)); + quad.setP3(adjustFloatPointForAbsoluteZoom(quad.p3(), renderer)); + quad.setP4(adjustFloatPointForAbsoluteZoom(quad.p4(), renderer)); +} + } // namespace WebCore #ifndef NDEBUG diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp index cd90854..f430399 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp @@ -67,9 +67,9 @@ static Color disabledTextColor(const Color& textColor, const Color& backgroundCo return disabledColor; } -RenderTextControl::RenderTextControl(Node* node) +RenderTextControl::RenderTextControl(Node* node, bool placeholderVisible) : RenderBlock(node) - , m_placeholderVisible(false) + , m_placeholderVisible(placeholderVisible) , m_edited(false) , m_userEdited(false) { diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h index 3212a1b..cdd8716 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h @@ -59,7 +59,7 @@ public: void updatePlaceholderVisibility(bool, bool); protected: - RenderTextControl(Node*); + RenderTextControl(Node*, bool); int scrollbarThickness() const; void adjustInnerTextStyle(const RenderStyle* startStyle, RenderStyle* textBlockStyle) const; diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp index 3f0d041..8478432 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp @@ -31,10 +31,9 @@ namespace WebCore { -RenderTextControlMultiLine::RenderTextControlMultiLine(Node* node) - : RenderTextControl(node) +RenderTextControlMultiLine::RenderTextControlMultiLine(Node* node, bool placeholderVisible) + : RenderTextControl(node, placeholderVisible) { - m_placeholderVisible = static_cast<HTMLTextAreaElement*>(node)->placeholderShouldBeVisible(); } RenderTextControlMultiLine::~RenderTextControlMultiLine() diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h index 333cfa8..3371a8f 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h @@ -28,7 +28,7 @@ namespace WebCore { class RenderTextControlMultiLine : public RenderTextControl { public: - RenderTextControlMultiLine(Node*); + RenderTextControlMultiLine(Node*, bool); virtual ~RenderTextControlMultiLine(); void forwardEvent(Event*); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp index 794be17..8d8ba97 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp @@ -48,14 +48,13 @@ namespace WebCore { using namespace HTMLNames; -RenderTextControlSingleLine::RenderTextControlSingleLine(Node* node) - : RenderTextControl(node) +RenderTextControlSingleLine::RenderTextControlSingleLine(Node* node, bool placeholderVisible) + : RenderTextControl(node, placeholderVisible) , m_searchPopupIsVisible(false) , m_shouldDrawCapsLockIndicator(false) , m_searchEventTimer(this, &RenderTextControlSingleLine::searchEventTimerFired) , m_searchPopup(0) { - m_placeholderVisible = inputElement()->placeholderShouldBeVisible(); } RenderTextControlSingleLine::~RenderTextControlSingleLine() @@ -460,7 +459,7 @@ void RenderTextControlSingleLine::updateFromElement() if (m_placeholderVisible) { ExceptionCode ec = 0; - innerTextElement()->setInnerText(inputElement()->placeholder(), ec); + innerTextElement()->setInnerText(static_cast<Element*>(node())->getAttribute(placeholderAttr), ec); ASSERT(!ec); } else setInnerTextValue(inputElement()->value()); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h index 817efb2..4a17918 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h @@ -36,7 +36,7 @@ class TextControlInnerElement; class RenderTextControlSingleLine : public RenderTextControl, private PopupMenuClient { public: - RenderTextControlSingleLine(Node*); + RenderTextControlSingleLine(Node*, bool); virtual ~RenderTextControlSingleLine(); bool placeholderIsVisible() const { return m_placeholderVisible; } diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp index 7b4dfe3..b5826cd 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp @@ -30,6 +30,7 @@ #include "GraphicsContext.h" #include "HTMLInputElement.h" #include "HTMLNames.h" +#include "MediaControlElements.h" #include "Page.h" #include "RenderStyle.h" #include "RenderView.h" @@ -396,6 +397,23 @@ bool RenderTheme::hitTestMediaControlPart(RenderObject* o, const IntPoint& absPo FloatPoint localPoint = o->absoluteToLocal(absPoint, false, true); // respect transforms return toRenderBox(o)->borderBoxRect().contains(roundedIntPoint(localPoint)); } + +bool RenderTheme::shouldRenderMediaControlPart(ControlPart part, Element* e) +{ + HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(e); + switch (part) { + case MediaMuteButtonPart: + return mediaElement->hasAudio(); + case MediaRewindButtonPart: + return mediaElement->movieLoadType() != MediaPlayer::LiveStream; + case MediaReturnToRealtimeButtonPart: + return mediaElement->movieLoadType() == MediaPlayer::LiveStream; + case MediaFullscreenButtonPart: + return mediaElement->supportsFullscreen(); + default: + return true; + } +} #endif Color RenderTheme::activeSelectionBackgroundColor() const diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h index c00c2eb..1b6a7e4 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderTheme.h @@ -172,6 +172,7 @@ public: #if ENABLE(VIDEO) // Media controls virtual bool hitTestMediaControlPart(RenderObject*, const IntPoint& absPoint); + virtual bool shouldRenderMediaControlPart(ControlPart, Element*); #endif protected: diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp index 82e633b..4f486d5 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp @@ -868,6 +868,19 @@ int RenderThemeChromiumSkia::buttonInternalPaddingBottom() const return 1; } +#if ENABLE(VIDEO) +bool RenderThemeChromiumSkia::shouldRenderMediaControlPart(ControlPart part, Element* e) +{ + HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(e); + switch (part) { + case MediaMuteButtonPart: + return true; + default: + return RenderTheme::shouldRenderMediaControlPart(part, e); + } +} +#endif + // static void RenderThemeChromiumSkia::setDefaultFontSize(int fontSize) { diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h index 37e656f..98e3a35 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h +++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h @@ -126,6 +126,11 @@ namespace WebCore { virtual int buttonInternalPaddingTop() const; virtual int buttonInternalPaddingBottom() const; +#if ENABLE(VIDEO) + // Media controls + virtual bool shouldRenderMediaControlPart(ControlPart, Element*); +#endif + // Provide a way to pass the default font size from the Settings object // to the render theme. FIXME: http://b/1129186 A cleaner way would be // to remove the default font size from this object and have callers diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp index 0d69216..66447d3 100644 --- a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp +++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp @@ -47,6 +47,11 @@ StorageAreaImpl::~StorageAreaImpl() { } +PassRefPtr<StorageAreaImpl> StorageAreaImpl::create(StorageType storageType, PassRefPtr<SecurityOrigin> origin, PassRefPtr<StorageSyncManager> syncManager) +{ + return adoptRef(new StorageAreaImpl(storageType, origin, syncManager)); +} + StorageAreaImpl::StorageAreaImpl(StorageType storageType, PassRefPtr<SecurityOrigin> origin, PassRefPtr<StorageSyncManager> syncManager) : m_storageType(storageType) , m_securityOrigin(origin) diff --git a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h index b98482b..a7cc9f6 100644 --- a/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h +++ b/src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h @@ -30,6 +30,7 @@ #include "StorageArea.h" +#include <wtf/PassRefPtr.h> #include <wtf/RefPtr.h> namespace WebCore { @@ -40,7 +41,7 @@ namespace WebCore { class StorageAreaImpl : public StorageArea { public: - StorageAreaImpl(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>); + static PassRefPtr<StorageAreaImpl> create(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>); virtual ~StorageAreaImpl(); // The HTML5 DOM Storage API (and contains) @@ -60,6 +61,7 @@ namespace WebCore { SecurityOrigin* securityOrigin(); private: + StorageAreaImpl(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>); StorageAreaImpl(StorageAreaImpl*); void blockUntilImportComplete() const; diff --git a/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.h b/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.h new file mode 100644 index 0000000..f4a98ef --- /dev/null +++ b/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2008 Apple Inc. All rights reserved. + * Copyright (C) 2009 Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef StorageEventDispatcher_h +#define StorageEventDispatcher_h + +#if ENABLE(DOM_STORAGE) + +#include "PlatformString.h" +#include "StorageArea.h" + +namespace WebCore { + + // This is in its own class since Chromium must override it. + class StorageEventDispatcher { + public: + static void dispatch(const String& key, const String& oldValue, const String& newValue, StorageType, SecurityOrigin*, Frame* sourceFrame); + + private: + // Do not instantiate. + StorageEventDispatcher(); + }; + +} // namespace WebCore + +#endif // ENABLE(DOM_STORAGE) + +#endif // StorageEventDispatcher_h diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h index 825581f..6866746 100644 --- a/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h +++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespace.h @@ -45,7 +45,7 @@ namespace WebCore { static PassRefPtr<StorageNamespace> sessionStorageNamespace(); virtual ~StorageNamespace() { } - virtual PassRefPtr<StorageArea> storageArea(SecurityOrigin*) = 0; + virtual PassRefPtr<StorageArea> storageArea(PassRefPtr<SecurityOrigin>) = 0; virtual PassRefPtr<StorageNamespace> copy() = 0; virtual void close() = 0; virtual void unlock() = 0; diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp index 5ac22cf..d5af31f 100644 --- a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp +++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp @@ -99,17 +99,18 @@ PassRefPtr<StorageNamespace> StorageNamespaceImpl::copy() return adoptRef(newNamespace); } -PassRefPtr<StorageArea> StorageNamespaceImpl::storageArea(SecurityOrigin* origin) +PassRefPtr<StorageArea> StorageNamespaceImpl::storageArea(PassRefPtr<SecurityOrigin> prpOrigin) { ASSERT(isMainThread()); ASSERT(!m_isShutdown); + RefPtr<SecurityOrigin> origin = prpOrigin; RefPtr<StorageAreaImpl> storageArea; if (storageArea = m_storageAreaMap.get(origin)) return storageArea.release(); - storageArea = adoptRef(new StorageAreaImpl(m_storageType, origin, m_syncManager)); - m_storageAreaMap.set(origin, storageArea); + storageArea = StorageAreaImpl::create(m_storageType, origin, m_syncManager); + m_storageAreaMap.set(origin.release(), storageArea); return storageArea.release(); } diff --git a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h index d3ef37f..05a12ad 100644 --- a/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h +++ b/src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h @@ -46,7 +46,7 @@ namespace WebCore { static PassRefPtr<StorageNamespace> sessionStorageNamespace(); virtual ~StorageNamespaceImpl(); - virtual PassRefPtr<StorageArea> storageArea(SecurityOrigin*); + virtual PassRefPtr<StorageArea> storageArea(PassRefPtr<SecurityOrigin>); virtual PassRefPtr<StorageNamespace> copy(); virtual void close(); virtual void unlock(); diff --git a/src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp index 4b66e03..0c2abe0 100644 --- a/src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp +++ b/src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp @@ -1,6 +1,7 @@ /* Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> + Copyright (C) Research In Motion Limited 2009. All rights reserved. This file is part of the KDE project @@ -158,6 +159,9 @@ void SVGUseElement::childrenChanged(bool changedByParser, Node* beforeChange, No static bool shadowTreeContainsChangedNodes(SVGElementInstance* target) { + if (!target) // when use is referencing an non-existing element, there will be no Instance tree built + return false; + if (target->needsUpdate()) return true; diff --git a/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp b/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp index 8ec9435..3957b81 100644 --- a/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp +++ b/src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp @@ -87,7 +87,7 @@ private: m_eventBase->addEventListener(m_condition->m_name, this, false); } - virtual void handleEvent(Event*); + virtual void handleEvent(ScriptExecutionContext*, Event*); SVGSMILElement* m_animation; SVGSMILElement::Condition* m_condition; @@ -103,7 +103,7 @@ bool ConditionEventListener::operator==(const EventListener& listener) return false; } -void ConditionEventListener::handleEvent(Event* event) +void ConditionEventListener::handleEvent(ScriptExecutionContext*, Event* event) { m_animation->handleConditionEvent(event, m_condition); } diff --git a/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp b/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp index e301c86..bb68b82 100644 --- a/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp +++ b/src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp @@ -239,13 +239,14 @@ bool SVGImage::dataChanged(bool allDataReceived) static DragClient* dummyDragClient = 0; #endif static InspectorClient* dummyInspectorClient = new EmptyInspectorClient; + static PluginHalterClient* dummyPluginHalterClient = new EmptyPluginHalterClient; m_chromeClient.set(new SVGImageChromeClient(this)); // FIXME: If this SVG ends up loading itself, we might leak the world. // THe comment said that the Cache code does not know about CachedImages // holding Frames and won't know to break the cycle. But - m_page.set(new Page(m_chromeClient.get(), dummyContextMenuClient, dummyEditorClient, dummyDragClient, dummyInspectorClient)); + m_page.set(new Page(m_chromeClient.get(), dummyContextMenuClient, dummyEditorClient, dummyDragClient, dummyInspectorClient, dummyPluginHalterClient)); m_page->settings()->setJavaScriptEnabled(false); m_page->settings()->setPluginsEnabled(false); diff --git a/src/3rdparty/webkit/WebCore/wml/WMLInputElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLInputElement.cpp index 2dbdaf0..b027bf0 100644 --- a/src/3rdparty/webkit/WebCore/wml/WMLInputElement.cpp +++ b/src/3rdparty/webkit/WebCore/wml/WMLInputElement.cpp @@ -134,7 +134,6 @@ String WMLInputElement::value() const void WMLInputElement::setValue(const String& value) { - InputElement::updatePlaceholderVisibility(this, this); setFormControlValueMatchesRenderer(false); m_data.setValue(constrainValue(value)); if (inDocument()) @@ -221,7 +220,7 @@ void WMLInputElement::copyNonAttributeProperties(const Element* source) RenderObject* WMLInputElement::createRenderer(RenderArena* arena, RenderStyle*) { - return new (arena) RenderTextControlSingleLine(this); + return new (arena) RenderTextControlSingleLine(this, false); } void WMLInputElement::detach() @@ -318,11 +317,6 @@ void WMLInputElement::documentDidBecomeActive() reset(); } -bool WMLInputElement::placeholderShouldBeVisible() const -{ - return InputElement::placeholderShouldBeVisible(this, this); -} - void WMLInputElement::willMoveToNewOwnerDocument() { // Always unregister for cache callbacks when leaving a document, even if we would otherwise like to be registered diff --git a/src/3rdparty/webkit/WebCore/wml/WMLInputElement.h b/src/3rdparty/webkit/WebCore/wml/WMLInputElement.h index 7eb2455..98ea13a 100644 --- a/src/3rdparty/webkit/WebCore/wml/WMLInputElement.h +++ b/src/3rdparty/webkit/WebCore/wml/WMLInputElement.h @@ -58,8 +58,6 @@ public: virtual const AtomicString& formControlName() const; virtual String value() const; virtual void setValue(const String&); - virtual String placeholder() const { return String(); } - virtual void setPlaceholder(const String&) { } virtual void setValueFromRenderer(const String&); virtual bool saveFormControlState(String& value) const; @@ -82,7 +80,6 @@ public: virtual String sanitizeValue(const String& proposedValue) const { return constrainValue(proposedValue); } virtual void documentDidBecomeActive(); - virtual bool placeholderShouldBeVisible() const; virtual void willMoveToNewOwnerDocument(); virtual void didMoveToNewOwnerDocument(); diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp index 22e5b56..f4d795b 100644 --- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp +++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp @@ -233,7 +233,7 @@ void WorkerContext::reportException(const String& errorMessage, int lineNumber, { bool errorHandled = false; if (onerror()) - errorHandled = onerror()->reportError(errorMessage, sourceURL, lineNumber); + errorHandled = onerror()->reportError(this, errorMessage, sourceURL, lineNumber); if (!errorHandled) thread()->workerReportingProxy().postExceptionToWorkerObject(errorMessage, lineNumber, sourceURL); diff --git a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp index 798ae00..ca48d8d 100644 --- a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp +++ b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp @@ -709,23 +709,19 @@ String XMLHttpRequest::getResponseHeader(const AtomicString& name, ExceptionCode { if (m_state < HEADERS_RECEIVED) { ec = INVALID_STATE_ERR; - return ""; + return String(); } - if (!isValidToken(name)) - return ""; - // See comment in getAllResponseHeaders above. if (isSetCookieHeader(name) && !scriptExecutionContext()->securityOrigin()->canLoadLocalResources()) { reportUnsafeUsage(scriptExecutionContext(), "Refused to get unsafe header \"" + name + "\""); - return ""; + return String(); } if (!m_sameOriginRequest && !isOnAccessControlResponseHeaderWhitelist(name)) { reportUnsafeUsage(scriptExecutionContext(), "Refused to get unsafe header \"" + name + "\""); - return ""; + return String(); } - return m_response.httpHeaderField(name); } diff --git a/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h index fe97b54..c9729bb 100644 --- a/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h +++ b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h @@ -26,8 +26,12 @@ #if ENABLE(XSLT) #include "StyleSheet.h" + +#if !USE(QXMLQUERY) #include <libxml/parser.h> #include <libxslt/transform.h> +#endif + #include <wtf/PassRefPtr.h> namespace WebCore { @@ -38,10 +42,12 @@ class XSLImportRule; class XSLStyleSheet : public StyleSheet { public: +#if !USE(QXMLQUERY) static PassRefPtr<XSLStyleSheet> create(XSLImportRule* parentImport, const String& href) { return adoptRef(new XSLStyleSheet(parentImport, href)); } +#endif static PassRefPtr<XSLStyleSheet> create(Node* parentNode, const String& href) { return adoptRef(new XSLStyleSheet(parentNode, href, false)); @@ -65,31 +71,41 @@ public: void loadChildSheets(); void loadChildSheet(const String& href); - xsltStylesheetPtr compileStyleSheet(); - DocLoader* docLoader(); Document* ownerDocument() { return m_ownerDocument; } void setParentStyleSheet(XSLStyleSheet* parent); +#if USE(QXMLQUERY) + String sheetString() const { return m_sheetString; } +#else xmlDocPtr document(); + xsltStylesheetPtr compileStyleSheet(); + xmlDocPtr locateStylesheetSubResource(xmlDocPtr parentDoc, const xmlChar* uri); +#endif void clearDocuments(); - xmlDocPtr locateStylesheetSubResource(xmlDocPtr parentDoc, const xmlChar* uri); - void markAsProcessed(); bool processed() const { return m_processed; } private: XSLStyleSheet(Node* parentNode, const String& href, bool embedded); +#if !USE(QXMLQUERY) XSLStyleSheet(XSLImportRule* parentImport, const String& href); +#endif Document* m_ownerDocument; - xmlDocPtr m_stylesheetDoc; bool m_embedded; bool m_processed; + +#if USE(QXMLQUERY) + String m_sheetString; +#else + xmlDocPtr m_stylesheetDoc; bool m_stylesheetDocTaken; +#endif + XSLStyleSheet* m_parentStyleSheet; }; diff --git a/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.cpp b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheetLibxslt.cpp index b7d52f8..2ae8b82 100644 --- a/src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.cpp +++ b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheetLibxslt.cpp @@ -31,6 +31,7 @@ #include "Document.h" #include "Frame.h" #include "Node.h" +#include "TransformSource.h" #include "XMLTokenizer.h" #include "XMLTokenizerScope.h" #include "XSLImportRule.h" @@ -57,9 +58,9 @@ namespace WebCore { XSLStyleSheet::XSLStyleSheet(XSLImportRule* parentRule, const String& href) : StyleSheet(parentRule, href) , m_ownerDocument(0) - , m_stylesheetDoc(0) , m_embedded(false) , m_processed(false) // Child sheets get marked as processed when the libxslt engine has finally seen them. + , m_stylesheetDoc(0) , m_stylesheetDocTaken(false) , m_parentStyleSheet(0) { @@ -68,9 +69,9 @@ XSLStyleSheet::XSLStyleSheet(XSLImportRule* parentRule, const String& href) XSLStyleSheet::XSLStyleSheet(Node* parentNode, const String& href, bool embedded) : StyleSheet(parentNode, href) , m_ownerDocument(parentNode->document()) - , m_stylesheetDoc(0) , m_embedded(embedded) , m_processed(true) // The root sheet starts off processed. + , m_stylesheetDoc(0) , m_stylesheetDocTaken(false) , m_parentStyleSheet(0) { @@ -98,7 +99,7 @@ bool XSLStyleSheet::isLoading() void XSLStyleSheet::checkLoaded() { - if (isLoading()) + if (isLoading()) return; if (parent()) parent()->checkLoaded(); @@ -108,8 +109,8 @@ void XSLStyleSheet::checkLoaded() xmlDocPtr XSLStyleSheet::document() { - if (m_embedded && ownerDocument()) - return (xmlDocPtr)ownerDocument()->transformSource(); + if (m_embedded && ownerDocument() && ownerDocument()->transformSource()) + return (xmlDocPtr)ownerDocument()->transformSource()->platformSource(); return m_stylesheetDoc; } @@ -168,7 +169,7 @@ bool XSLStyleSheet::parseString(const String& string, bool) m_stylesheetDoc = xmlCtxtReadMemory(ctxt, buffer, size, href().utf8().data(), - BOMHighByte == 0xFF ? "UTF-16LE" : "UTF-16BE", + BOMHighByte == 0xFF ? "UTF-16LE" : "UTF-16BE", XML_PARSE_NOENT | XML_PARSE_DTDATTR | XML_PARSE_NOWARNING | XML_PARSE_NOCDATA); xmlFreeParserCtxt(ctxt); @@ -181,15 +182,15 @@ void XSLStyleSheet::loadChildSheets() { if (!document()) return; - + xmlNodePtr stylesheetRoot = document()->children; - + // Top level children may include other things such as DTD nodes, we ignore those. while (stylesheetRoot && stylesheetRoot->type != XML_ELEMENT_NODE) stylesheetRoot = stylesheetRoot->next; - + if (m_embedded) { - // We have to locate (by ID) the appropriate embedded stylesheet element, so that we can walk the + // We have to locate (by ID) the appropriate embedded stylesheet element, so that we can walk the // import/include list. xmlAttrPtr idNode = xmlGetID(document(), (const xmlChar*)(href().utf8().data())); if (!idNode) @@ -199,7 +200,7 @@ void XSLStyleSheet::loadChildSheets() // FIXME: Need to handle an external URI with a # in it. This is a pretty minor edge case, so we'll deal // with it later. } - + if (stylesheetRoot) { // Walk the children of the root element and look for import/include elements. // Imports must occur first. @@ -210,7 +211,7 @@ void XSLStyleSheet::loadChildSheets() continue; } if (IS_XSLT_ELEM(curr) && IS_XSLT_NAME(curr, "import")) { - xmlChar* uriRef = xsltGetNsProp(curr, (const xmlChar*)"href", XSLT_NAMESPACE); + xmlChar* uriRef = xsltGetNsProp(curr, (const xmlChar*)"href", XSLT_NAMESPACE); loadChildSheet(String::fromUTF8((const char*)uriRef)); xmlFree(uriRef); } else @@ -242,7 +243,7 @@ xsltStylesheetPtr XSLStyleSheet::compileStyleSheet() // FIXME: Hook up error reporting for the stylesheet compilation process. if (m_embedded) return xsltLoadStylesheetPI(document()); - + // xsltParseStylesheetDoc makes the document part of the stylesheet // so we have to release our pointer to it. ASSERT(!m_stylesheetDocTaken); @@ -273,7 +274,7 @@ xmlDocPtr XSLStyleSheet::locateStylesheetSubResource(xmlDocPtr parentDoc, const if (matchedParent) { if (child->processed()) continue; // libxslt has been given this sheet already. - + // Check the URI of the child stylesheet against the doc URI. // In order to ensure that libxml canonicalized both URLs, we get the original href // string from the import rule and canonicalize it using libxml before comparing it @@ -295,7 +296,7 @@ xmlDocPtr XSLStyleSheet::locateStylesheetSubResource(xmlDocPtr parentDoc, const } } } - + return 0; } diff --git a/src/3rdparty/webkit/WebCore/xml/XSLStyleSheetQt.cpp b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheetQt.cpp new file mode 100644 index 0000000..9fada0e --- /dev/null +++ b/src/3rdparty/webkit/WebCore/xml/XSLStyleSheetQt.cpp @@ -0,0 +1,103 @@ +/* + * This file is part of the XSL implementation. + * + * Copyright (C) 2009 Jakub Wieczorek <faw217@gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" +#include "XSLStyleSheet.h" + +#if ENABLE(XSLT) + +#include "DOMWindow.h" +#include "Document.h" +#include "Node.h" +#include "NotImplemented.h" +#include "XSLTProcessor.h" +#include "loader.h" + +namespace WebCore { + +XSLStyleSheet::XSLStyleSheet(Node* parentNode, const String& href, bool embedded) + : StyleSheet(parentNode, href) + , m_ownerDocument(parentNode->document()) + , m_embedded(embedded) +{ +} + +XSLStyleSheet::~XSLStyleSheet() +{ +} + +bool XSLStyleSheet::isLoading() +{ + notImplemented(); + return false; +} + +void XSLStyleSheet::checkLoaded() +{ + if (ownerNode()) + ownerNode()->sheetLoaded(); +} + +void XSLStyleSheet::clearDocuments() +{ + notImplemented(); +} + +DocLoader* XSLStyleSheet::docLoader() +{ + if (!m_ownerDocument) + return 0; + return m_ownerDocument->docLoader(); +} + +bool XSLStyleSheet::parseString(const String& string, bool) +{ + // FIXME: Fix QXmlQuery so that it allows compiling the stylesheet before setting the document + // to be transformed. This way we could not only check if the stylesheet is correct before using it + // but also turn XSLStyleSheet::sheetString() into XSLStyleSheet::query() that returns a QXmlQuery. + + m_sheetString = string; + return !m_sheetString.isEmpty(); +} + +void XSLStyleSheet::loadChildSheets() +{ + notImplemented(); +} + +void XSLStyleSheet::loadChildSheet(const String& href) +{ + notImplemented(); +} + +void XSLStyleSheet::setParentStyleSheet(XSLStyleSheet* parent) +{ + notImplemented(); +} + +void XSLStyleSheet::markAsProcessed() +{ + notImplemented(); +} + +} // namespace WebCore + +#endif // ENABLE(XSLT) diff --git a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp index 8eaef67..b182243 100644 --- a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp +++ b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp @@ -26,10 +26,7 @@ #include "XSLTProcessor.h" -#include "CString.h" -#include "Console.h" #include "DOMImplementation.h" -#include "DOMWindow.h" #include "DocLoader.h" #include "DocumentFragment.h" #include "Frame.h" @@ -38,166 +35,17 @@ #include "HTMLDocument.h" #include "HTMLTokenizer.h" // for parseHTMLDocumentFragment #include "Page.h" -#include "ResourceError.h" -#include "ResourceHandle.h" -#include "ResourceRequest.h" -#include "ResourceResponse.h" #include "Text.h" #include "TextResourceDecoder.h" #include "XMLTokenizer.h" -#include "XSLTExtensions.h" -#include "XSLTUnicodeSort.h" #include "loader.h" #include "markup.h" -#include <libxslt/imports.h> -#include <libxslt/variables.h> -#include <libxslt/xsltutils.h> #include <wtf/Assertions.h> #include <wtf/Platform.h> #include <wtf/Vector.h> -#if PLATFORM(MAC) -#include "SoftLinking.h" - -SOFT_LINK_LIBRARY(libxslt); -SOFT_LINK(libxslt, xsltFreeStylesheet, void, (xsltStylesheetPtr sheet), (sheet)) -SOFT_LINK(libxslt, xsltFreeTransformContext, void, (xsltTransformContextPtr ctxt), (ctxt)) -SOFT_LINK(libxslt, xsltNewTransformContext, xsltTransformContextPtr, (xsltStylesheetPtr style, xmlDocPtr doc), (style, doc)) -SOFT_LINK(libxslt, xsltApplyStylesheetUser, xmlDocPtr, (xsltStylesheetPtr style, xmlDocPtr doc, const char** params, const char* output, FILE* profile, xsltTransformContextPtr userCtxt), (style, doc, params, output, profile, userCtxt)) -SOFT_LINK(libxslt, xsltQuoteUserParams, int, (xsltTransformContextPtr ctxt, const char** params), (ctxt, params)) -SOFT_LINK(libxslt, xsltSetCtxtSortFunc, void, (xsltTransformContextPtr ctxt, xsltSortFunc handler), (ctxt, handler)) -SOFT_LINK(libxslt, xsltSetLoaderFunc, void, (xsltDocLoaderFunc f), (f)) -SOFT_LINK(libxslt, xsltSaveResultTo, int, (xmlOutputBufferPtr buf, xmlDocPtr result, xsltStylesheetPtr style), (buf, result, style)) -SOFT_LINK(libxslt, xsltNextImport, xsltStylesheetPtr, (xsltStylesheetPtr style), (style)) -#endif - namespace WebCore { -void XSLTProcessor::genericErrorFunc(void*, const char*, ...) -{ - // It would be nice to do something with this error message. -} - -void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) -{ - Console* console = static_cast<Console*>(userData); - if (!console) - return; - - MessageLevel level; - switch (error->level) { - case XML_ERR_NONE: - level = TipMessageLevel; - break; - case XML_ERR_WARNING: - level = WarningMessageLevel; - break; - case XML_ERR_ERROR: - case XML_ERR_FATAL: - default: - level = ErrorMessageLevel; - break; - } - - console->addMessage(XMLMessageSource, LogMessageType, level, error->message, error->line, error->file); -} - -// FIXME: There seems to be no way to control the ctxt pointer for loading here, thus we have globals. -static XSLTProcessor* globalProcessor = 0; -static DocLoader* globalDocLoader = 0; -static xmlDocPtr docLoaderFunc(const xmlChar* uri, - xmlDictPtr, - int options, - void* ctxt, - xsltLoadType type) -{ - if (!globalProcessor) - return 0; - - switch (type) { - case XSLT_LOAD_DOCUMENT: { - xsltTransformContextPtr context = (xsltTransformContextPtr)ctxt; - xmlChar* base = xmlNodeGetBase(context->document->doc, context->node); - KURL url(KURL(ParsedURLString, reinterpret_cast<const char*>(base)), reinterpret_cast<const char*>(uri)); - xmlFree(base); - ResourceError error; - ResourceResponse response; - - Vector<char> data; - - bool requestAllowed = globalDocLoader->frame() && globalDocLoader->doc()->securityOrigin()->canRequest(url); - if (requestAllowed) { - globalDocLoader->frame()->loader()->loadResourceSynchronously(url, AllowStoredCredentials, error, response, data); - requestAllowed = globalDocLoader->doc()->securityOrigin()->canRequest(response.url()); - } - if (!requestAllowed) { - data.clear(); - globalDocLoader->printAccessDeniedMessage(url); - } - - Console* console = 0; - if (Frame* frame = globalProcessor->xslStylesheet()->ownerDocument()->frame()) - console = frame->domWindow()->console(); - xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc); - xmlSetGenericErrorFunc(console, XSLTProcessor::genericErrorFunc); - - // We don't specify an encoding here. Neither Gecko nor WinIE respects - // the encoding specified in the HTTP headers. - xmlDocPtr doc = xmlReadMemory(data.data(), data.size(), (const char*)uri, 0, options); - - xmlSetStructuredErrorFunc(0, 0); - xmlSetGenericErrorFunc(0, 0); - - return doc; - } - case XSLT_LOAD_STYLESHEET: - return globalProcessor->xslStylesheet()->locateStylesheetSubResource(((xsltStylesheetPtr)ctxt)->doc, uri); - default: - break; - } - - return 0; -} - -static inline void setXSLTLoadCallBack(xsltDocLoaderFunc func, XSLTProcessor* processor, DocLoader* loader) -{ - xsltSetLoaderFunc(func); - globalProcessor = processor; - globalDocLoader = loader; -} - -static int writeToVector(void* context, const char* buffer, int len) -{ - Vector<UChar>& resultOutput = *static_cast<Vector<UChar>*>(context); - String decodedChunk = String::fromUTF8(buffer, len); - resultOutput.append(decodedChunk.characters(), decodedChunk.length()); - return len; -} - -static bool saveResultToString(xmlDocPtr resultDoc, xsltStylesheetPtr sheet, String& resultString) -{ - xmlOutputBufferPtr outputBuf = xmlAllocOutputBuffer(0); - if (!outputBuf) - return false; - - Vector<UChar> resultVector; - outputBuf->context = &resultVector; - outputBuf->writecallback = writeToVector; - - int retval = xsltSaveResultTo(outputBuf, resultDoc, sheet); - xmlOutputBufferClose(outputBuf); - if (retval < 0) - return false; - - // Workaround for <http://bugzilla.gnome.org/show_bug.cgi?id=495668>: libxslt appends an extra line feed to the result. - if (resultVector.size() > 0 && resultVector[resultVector.size() - 1] == '\n') - resultVector.removeLast(); - - resultString = String::adopt(resultVector); - - return true; -} - static inline void transformTextStringToXHTMLDocumentString(String& text) { // Modify the output so that it is a well-formed XHTML document with a <pre> tag enclosing the text. @@ -213,38 +61,6 @@ static inline void transformTextStringToXHTMLDocumentString(String& text) "</html>\n"; } -static const char** xsltParamArrayFromParameterMap(XSLTProcessor::ParameterMap& parameters) -{ - if (parameters.isEmpty()) - return 0; - - const char** parameterArray = (const char**)fastMalloc(((parameters.size() * 2) + 1) * sizeof(char*)); - - XSLTProcessor::ParameterMap::iterator end = parameters.end(); - unsigned index = 0; - for (XSLTProcessor::ParameterMap::iterator it = parameters.begin(); it != end; ++it) { - parameterArray[index++] = strdup(it->first.utf8().data()); - parameterArray[index++] = strdup(it->second.utf8().data()); - } - parameterArray[index] = 0; - - return parameterArray; -} - -static void freeXsltParamArray(const char** params) -{ - const char** temp = params; - if (!params) - return; - - while (*temp) { - free((void*)*(temp++)); // strdup returns malloc'd blocks, so we have to use free() here - free((void*)*(temp++)); - } - fastFree(params); -} - - PassRefPtr<Document> XSLTProcessor::createDocumentFromSource(const String& sourceString, const String& sourceEncoding, const String& sourceMIMEType, Node* sourceNode, Frame* frame) { @@ -258,7 +74,7 @@ PassRefPtr<Document> XSLTProcessor::createDocumentFromSource(const String& sourc transformTextStringToXHTMLDocumentString(documentSource); } else result = ownerDocument->implementation()->createDocument(sourceMIMEType, frame, false); - + // Before parsing, we need to save & detach the old document and get the new document // in place. We have to do this only if we're rendering the result document. if (frame) { @@ -267,15 +83,15 @@ PassRefPtr<Document> XSLTProcessor::createDocumentFromSource(const String& sourc result->setTransformSourceDocument(frame->document()); frame->setDocument(result); } - + if (sourceIsDocument) result->setURL(ownerDocument->url()); result->open(); - + RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create(sourceMIMEType); decoder->setEncoding(sourceEncoding.isEmpty() ? UTF8Encoding() : TextEncoding(sourceEncoding), TextResourceDecoder::EncodingFromXMLHeader); result->setDecoder(decoder.release()); - + result->write(documentSource); result->finishParsing(); result->close(); @@ -286,7 +102,7 @@ PassRefPtr<Document> XSLTProcessor::createDocumentFromSource(const String& sourc static inline RefPtr<DocumentFragment> createFragmentFromSource(const String& sourceString, const String& sourceMIMEType, Document* outputDoc) { RefPtr<DocumentFragment> fragment = DocumentFragment::create(outputDoc); - + if (sourceMIMEType == "text/html") parseHTMLDocumentFragment(sourceString, fragment.get()); else if (sourceMIMEType == "text/plain") @@ -296,118 +112,10 @@ static inline RefPtr<DocumentFragment> createFragmentFromSource(const String& so if (!successfulParse) return 0; } - - // FIXME: Do we need to mess with URLs here? - - return fragment; -} - -static xsltStylesheetPtr xsltStylesheetPointer(RefPtr<XSLStyleSheet>& cachedStylesheet, Node* stylesheetRootNode) -{ - if (!cachedStylesheet && stylesheetRootNode) { - cachedStylesheet = XSLStyleSheet::create(stylesheetRootNode->parent() ? stylesheetRootNode->parent() : stylesheetRootNode, - stylesheetRootNode->document()->url().string()); - cachedStylesheet->parseString(createMarkup(stylesheetRootNode)); - } - - if (!cachedStylesheet || !cachedStylesheet->document()) - return 0; - - return cachedStylesheet->compileStyleSheet(); -} -static inline xmlDocPtr xmlDocPtrFromNode(Node* sourceNode, bool& shouldDelete) -{ - RefPtr<Document> ownerDocument = sourceNode->document(); - bool sourceIsDocument = (sourceNode == ownerDocument.get()); - - xmlDocPtr sourceDoc = 0; - if (sourceIsDocument) - sourceDoc = (xmlDocPtr)ownerDocument->transformSource(); - if (!sourceDoc) { - sourceDoc = (xmlDocPtr)xmlDocPtrForString(ownerDocument->docLoader(), createMarkup(sourceNode), - sourceIsDocument ? ownerDocument->url().string() : String()); - shouldDelete = (sourceDoc != 0); - } - return sourceDoc; -} - -static inline String resultMIMEType(xmlDocPtr resultDoc, xsltStylesheetPtr sheet) -{ - // There are three types of output we need to be able to deal with: - // HTML (create an HTML document), XML (create an XML document), - // and text (wrap in a <pre> and create an XML document). - - const xmlChar* resultType = 0; - XSLT_GET_IMPORT_PTR(resultType, sheet, method); - if (resultType == 0 && resultDoc->type == XML_HTML_DOCUMENT_NODE) - resultType = (const xmlChar*)"html"; - - if (xmlStrEqual(resultType, (const xmlChar*)"html")) - return "text/html"; - else if (xmlStrEqual(resultType, (const xmlChar*)"text")) - return "text/plain"; - - return "application/xml"; -} - -bool XSLTProcessor::transformToString(Node* sourceNode, String& mimeType, String& resultString, String& resultEncoding) -{ - RefPtr<Document> ownerDocument = sourceNode->document(); - - setXSLTLoadCallBack(docLoaderFunc, this, ownerDocument->docLoader()); - xsltStylesheetPtr sheet = xsltStylesheetPointer(m_stylesheet, m_stylesheetRootNode.get()); - if (!sheet) { - setXSLTLoadCallBack(0, 0, 0); - return false; - } - m_stylesheet->clearDocuments(); - - xmlChar* origMethod = sheet->method; - if (!origMethod && mimeType == "text/html") - sheet->method = (xmlChar*)"html"; - - bool success = false; - bool shouldFreeSourceDoc = false; - if (xmlDocPtr sourceDoc = xmlDocPtrFromNode(sourceNode, shouldFreeSourceDoc)) { - // The XML declaration would prevent parsing the result as a fragment, and it's not needed even for documents, - // as the result of this function is always immediately parsed. - sheet->omitXmlDeclaration = true; - - xsltTransformContextPtr transformContext = xsltNewTransformContext(sheet, sourceDoc); - registerXSLTExtensions(transformContext); - - // <http://bugs.webkit.org/show_bug.cgi?id=16077>: XSLT processor <xsl:sort> algorithm only compares by code point - xsltSetCtxtSortFunc(transformContext, xsltUnicodeSortFunction); - - // This is a workaround for a bug in libxslt. - // The bug has been fixed in version 1.1.13, so once we ship that this can be removed. - if (transformContext->globalVars == NULL) - transformContext->globalVars = xmlHashCreate(20); - - const char** params = xsltParamArrayFromParameterMap(m_parameters); - xsltQuoteUserParams(transformContext, params); - xmlDocPtr resultDoc = xsltApplyStylesheetUser(sheet, sourceDoc, 0, 0, 0, transformContext); - - xsltFreeTransformContext(transformContext); - freeXsltParamArray(params); - - if (shouldFreeSourceDoc) - xmlFreeDoc(sourceDoc); - - if (success = saveResultToString(resultDoc, sheet, resultString)) { - mimeType = resultMIMEType(resultDoc, sheet); - resultEncoding = (char*)resultDoc->encoding; - } - xmlFreeDoc(resultDoc); - } - - sheet->method = origMethod; - setXSLTLoadCallBack(0, 0, 0); - xsltFreeStylesheet(sheet); - m_stylesheet = 0; + // FIXME: Do we need to mess with URLs here? - return success; + return fragment; } PassRefPtr<Document> XSLTProcessor::transformToDocument(Node* sourceNode) @@ -429,7 +137,7 @@ PassRefPtr<DocumentFragment> XSLTProcessor::transformToFragment(Node* sourceNode // If the output document is HTML, default to HTML method. if (outputDoc->isHTMLDocument()) resultMIMEType = "text/html"; - + if (!transformToString(sourceNode, resultMIMEType, resultString, resultEncoding)) return 0; return createFragmentFromSource(resultString, resultMIMEType, outputDoc); @@ -455,6 +163,13 @@ void XSLTProcessor::removeParameter(const String& /*namespaceURI*/, const String m_parameters.remove(localName); } +void XSLTProcessor::reset() +{ + m_stylesheet.clear(); + m_stylesheetRootNode.clear(); + m_parameters.clear(); +} + } // namespace WebCore #endif // ENABLE(XSLT) diff --git a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h index 9ee2aad..9b91017 100644 --- a/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h +++ b/src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h @@ -28,9 +28,12 @@ #include "Node.h" #include "StringHash.h" #include "XSLStyleSheet.h" +#include <wtf/HashMap.h> + +#if !USE(QXMLQUERY) #include <libxml/parserInternals.h> #include <libxslt/documents.h> -#include <wtf/HashMap.h> +#endif namespace WebCore { @@ -56,14 +59,15 @@ public: void removeParameter(const String& namespaceURI, const String& localName); void clearParameters() { m_parameters.clear(); } - void reset() { m_stylesheet.clear(); m_stylesheetRootNode.clear(); m_parameters.clear(); } + void reset(); +#if !USE(QXMLQUERY) static void parseErrorFunc(void* userData, xmlError*); static void genericErrorFunc(void* userData, const char* msg, ...); -public: // Only for libXSLT callbacks XSLStyleSheet* xslStylesheet() const { return m_stylesheet.get(); } +#endif typedef HashMap<String, String> ParameterMap; diff --git a/src/3rdparty/webkit/WebCore/xml/XSLTProcessorLibxslt.cpp b/src/3rdparty/webkit/WebCore/xml/XSLTProcessorLibxslt.cpp new file mode 100644 index 0000000..200c56b --- /dev/null +++ b/src/3rdparty/webkit/WebCore/xml/XSLTProcessorLibxslt.cpp @@ -0,0 +1,335 @@ +/* + * This file is part of the XSL implementation. + * + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple, Inc. All rights reserved. + * Copyright (C) 2005, 2006 Alexey Proskuryakov <ap@webkit.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" + +#if ENABLE(XSLT) + +#include "XSLTProcessor.h" + +#include "Console.h" +#include "CString.h" +#include "DOMWindow.h" +#include "DocLoader.h" +#include "Frame.h" +#include "ResourceError.h" +#include "ResourceHandle.h" +#include "ResourceRequest.h" +#include "ResourceResponse.h" +#include "TransformSource.h" +#include "XMLTokenizer.h" +#include "XSLStyleSheet.h" +#include "XSLTExtensions.h" +#include "XSLTUnicodeSort.h" +#include "loader.h" +#include "markup.h" +#include <libxslt/imports.h> +#include <libxslt/variables.h> +#include <libxslt/xsltutils.h> +#include <wtf/Assertions.h> +#include <wtf/Platform.h> +#include <wtf/Vector.h> + +#if PLATFORM(MAC) +#include "SoftLinking.h" + +SOFT_LINK_LIBRARY(libxslt); +SOFT_LINK(libxslt, xsltFreeStylesheet, void, (xsltStylesheetPtr sheet), (sheet)) +SOFT_LINK(libxslt, xsltFreeTransformContext, void, (xsltTransformContextPtr ctxt), (ctxt)) +SOFT_LINK(libxslt, xsltNewTransformContext, xsltTransformContextPtr, (xsltStylesheetPtr style, xmlDocPtr doc), (style, doc)) +SOFT_LINK(libxslt, xsltApplyStylesheetUser, xmlDocPtr, (xsltStylesheetPtr style, xmlDocPtr doc, const char** params, const char* output, FILE* profile, xsltTransformContextPtr userCtxt), (style, doc, params, output, profile, userCtxt)) +SOFT_LINK(libxslt, xsltQuoteUserParams, int, (xsltTransformContextPtr ctxt, const char** params), (ctxt, params)) +SOFT_LINK(libxslt, xsltSetCtxtSortFunc, void, (xsltTransformContextPtr ctxt, xsltSortFunc handler), (ctxt, handler)) +SOFT_LINK(libxslt, xsltSetLoaderFunc, void, (xsltDocLoaderFunc f), (f)) +SOFT_LINK(libxslt, xsltSaveResultTo, int, (xmlOutputBufferPtr buf, xmlDocPtr result, xsltStylesheetPtr style), (buf, result, style)) +SOFT_LINK(libxslt, xsltNextImport, xsltStylesheetPtr, (xsltStylesheetPtr style), (style)) +#endif + +namespace WebCore { + +void XSLTProcessor::genericErrorFunc(void*, const char*, ...) +{ + // It would be nice to do something with this error message. +} + +void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) +{ + Console* console = static_cast<Console*>(userData); + if (!console) + return; + + MessageLevel level; + switch (error->level) { + case XML_ERR_NONE: + level = TipMessageLevel; + break; + case XML_ERR_WARNING: + level = WarningMessageLevel; + break; + case XML_ERR_ERROR: + case XML_ERR_FATAL: + default: + level = ErrorMessageLevel; + break; + } + + console->addMessage(XMLMessageSource, LogMessageType, level, error->message, error->line, error->file); +} + +// FIXME: There seems to be no way to control the ctxt pointer for loading here, thus we have globals. +static XSLTProcessor* globalProcessor = 0; +static DocLoader* globalDocLoader = 0; +static xmlDocPtr docLoaderFunc(const xmlChar* uri, + xmlDictPtr, + int options, + void* ctxt, + xsltLoadType type) +{ + if (!globalProcessor) + return 0; + + switch (type) { + case XSLT_LOAD_DOCUMENT: { + xsltTransformContextPtr context = (xsltTransformContextPtr)ctxt; + xmlChar* base = xmlNodeGetBase(context->document->doc, context->node); + KURL url(KURL(ParsedURLString, reinterpret_cast<const char*>(base)), reinterpret_cast<const char*>(uri)); + xmlFree(base); + ResourceError error; + ResourceResponse response; + + Vector<char> data; + + bool requestAllowed = globalDocLoader->frame() && globalDocLoader->doc()->securityOrigin()->canRequest(url); + if (requestAllowed) { + globalDocLoader->frame()->loader()->loadResourceSynchronously(url, AllowStoredCredentials, error, response, data); + requestAllowed = globalDocLoader->doc()->securityOrigin()->canRequest(response.url()); + } + if (!requestAllowed) { + data.clear(); + globalDocLoader->printAccessDeniedMessage(url); + } + + Console* console = 0; + if (Frame* frame = globalProcessor->xslStylesheet()->ownerDocument()->frame()) + console = frame->domWindow()->console(); + xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc); + xmlSetGenericErrorFunc(console, XSLTProcessor::genericErrorFunc); + + // We don't specify an encoding here. Neither Gecko nor WinIE respects + // the encoding specified in the HTTP headers. + xmlDocPtr doc = xmlReadMemory(data.data(), data.size(), (const char*)uri, 0, options); + + xmlSetStructuredErrorFunc(0, 0); + xmlSetGenericErrorFunc(0, 0); + + return doc; + } + case XSLT_LOAD_STYLESHEET: + return globalProcessor->xslStylesheet()->locateStylesheetSubResource(((xsltStylesheetPtr)ctxt)->doc, uri); + default: + break; + } + + return 0; +} + +static inline void setXSLTLoadCallBack(xsltDocLoaderFunc func, XSLTProcessor* processor, DocLoader* loader) +{ + xsltSetLoaderFunc(func); + globalProcessor = processor; + globalDocLoader = loader; +} + +static int writeToVector(void* context, const char* buffer, int len) +{ + Vector<UChar>& resultOutput = *static_cast<Vector<UChar>*>(context); + String decodedChunk = String::fromUTF8(buffer, len); + resultOutput.append(decodedChunk.characters(), decodedChunk.length()); + return len; +} + +static bool saveResultToString(xmlDocPtr resultDoc, xsltStylesheetPtr sheet, String& resultString) +{ + xmlOutputBufferPtr outputBuf = xmlAllocOutputBuffer(0); + if (!outputBuf) + return false; + + Vector<UChar> resultVector; + outputBuf->context = &resultVector; + outputBuf->writecallback = writeToVector; + + int retval = xsltSaveResultTo(outputBuf, resultDoc, sheet); + xmlOutputBufferClose(outputBuf); + if (retval < 0) + return false; + + // Workaround for <http://bugzilla.gnome.org/show_bug.cgi?id=495668>: libxslt appends an extra line feed to the result. + if (resultVector.size() > 0 && resultVector[resultVector.size() - 1] == '\n') + resultVector.removeLast(); + + resultString = String::adopt(resultVector); + + return true; +} + +static const char** xsltParamArrayFromParameterMap(XSLTProcessor::ParameterMap& parameters) +{ + if (parameters.isEmpty()) + return 0; + + const char** parameterArray = (const char**)fastMalloc(((parameters.size() * 2) + 1) * sizeof(char*)); + + XSLTProcessor::ParameterMap::iterator end = parameters.end(); + unsigned index = 0; + for (XSLTProcessor::ParameterMap::iterator it = parameters.begin(); it != end; ++it) { + parameterArray[index++] = strdup(it->first.utf8().data()); + parameterArray[index++] = strdup(it->second.utf8().data()); + } + parameterArray[index] = 0; + + return parameterArray; +} + +static void freeXsltParamArray(const char** params) +{ + const char** temp = params; + if (!params) + return; + + while (*temp) { + free((void*)*(temp++)); // strdup returns malloc'd blocks, so we have to use free() here + free((void*)*(temp++)); + } + fastFree(params); +} + +static xsltStylesheetPtr xsltStylesheetPointer(RefPtr<XSLStyleSheet>& cachedStylesheet, Node* stylesheetRootNode) +{ + if (!cachedStylesheet && stylesheetRootNode) { + cachedStylesheet = XSLStyleSheet::create(stylesheetRootNode->parent() ? stylesheetRootNode->parent() : stylesheetRootNode, + stylesheetRootNode->document()->url().string()); + cachedStylesheet->parseString(createMarkup(stylesheetRootNode)); + } + + if (!cachedStylesheet || !cachedStylesheet->document()) + return 0; + + return cachedStylesheet->compileStyleSheet(); +} + +static inline xmlDocPtr xmlDocPtrFromNode(Node* sourceNode, bool& shouldDelete) +{ + RefPtr<Document> ownerDocument = sourceNode->document(); + bool sourceIsDocument = (sourceNode == ownerDocument.get()); + + xmlDocPtr sourceDoc = 0; + if (sourceIsDocument && ownerDocument->transformSource()) + sourceDoc = (xmlDocPtr)ownerDocument->transformSource()->platformSource(); + if (!sourceDoc) { + sourceDoc = (xmlDocPtr)xmlDocPtrForString(ownerDocument->docLoader(), createMarkup(sourceNode), + sourceIsDocument ? ownerDocument->url().string() : String()); + shouldDelete = sourceDoc; + } + return sourceDoc; +} + +static inline String resultMIMEType(xmlDocPtr resultDoc, xsltStylesheetPtr sheet) +{ + // There are three types of output we need to be able to deal with: + // HTML (create an HTML document), XML (create an XML document), + // and text (wrap in a <pre> and create an XML document). + + const xmlChar* resultType = 0; + XSLT_GET_IMPORT_PTR(resultType, sheet, method); + if (!resultType && resultDoc->type == XML_HTML_DOCUMENT_NODE) + resultType = (const xmlChar*)"html"; + + if (xmlStrEqual(resultType, (const xmlChar*)"html")) + return "text/html"; + if (xmlStrEqual(resultType, (const xmlChar*)"text")) + return "text/plain"; + + return "application/xml"; +} + +bool XSLTProcessor::transformToString(Node* sourceNode, String& mimeType, String& resultString, String& resultEncoding) +{ + RefPtr<Document> ownerDocument = sourceNode->document(); + + setXSLTLoadCallBack(docLoaderFunc, this, ownerDocument->docLoader()); + xsltStylesheetPtr sheet = xsltStylesheetPointer(m_stylesheet, m_stylesheetRootNode.get()); + if (!sheet) { + setXSLTLoadCallBack(0, 0, 0); + return false; + } + m_stylesheet->clearDocuments(); + + xmlChar* origMethod = sheet->method; + if (!origMethod && mimeType == "text/html") + sheet->method = (xmlChar*)"html"; + + bool success = false; + bool shouldFreeSourceDoc = false; + if (xmlDocPtr sourceDoc = xmlDocPtrFromNode(sourceNode, shouldFreeSourceDoc)) { + // The XML declaration would prevent parsing the result as a fragment, and it's not needed even for documents, + // as the result of this function is always immediately parsed. + sheet->omitXmlDeclaration = true; + + xsltTransformContextPtr transformContext = xsltNewTransformContext(sheet, sourceDoc); + registerXSLTExtensions(transformContext); + + // <http://bugs.webkit.org/show_bug.cgi?id=16077>: XSLT processor <xsl:sort> algorithm only compares by code point + xsltSetCtxtSortFunc(transformContext, xsltUnicodeSortFunction); + + // This is a workaround for a bug in libxslt. + // The bug has been fixed in version 1.1.13, so once we ship that this can be removed. + if (!transformContext->globalVars) + transformContext->globalVars = xmlHashCreate(20); + + const char** params = xsltParamArrayFromParameterMap(m_parameters); + xsltQuoteUserParams(transformContext, params); + xmlDocPtr resultDoc = xsltApplyStylesheetUser(sheet, sourceDoc, 0, 0, 0, transformContext); + + xsltFreeTransformContext(transformContext); + freeXsltParamArray(params); + + if (shouldFreeSourceDoc) + xmlFreeDoc(sourceDoc); + + if (success = saveResultToString(resultDoc, sheet, resultString)) { + mimeType = resultMIMEType(resultDoc, sheet); + resultEncoding = (char*)resultDoc->encoding; + } + xmlFreeDoc(resultDoc); + } + + sheet->method = origMethod; + setXSLTLoadCallBack(0, 0, 0); + xsltFreeStylesheet(sheet); + m_stylesheet = 0; + + return success; +} + +} // namespace WebCore + +#endif // ENABLE(XSLT) diff --git a/src/3rdparty/webkit/WebCore/xml/XSLTProcessorQt.cpp b/src/3rdparty/webkit/WebCore/xml/XSLTProcessorQt.cpp new file mode 100644 index 0000000..523306a --- /dev/null +++ b/src/3rdparty/webkit/WebCore/xml/XSLTProcessorQt.cpp @@ -0,0 +1,149 @@ +/* + * This file is part of the XSL implementation. + * + * Copyright (C) 2009 Jakub Wieczorek <faw217@gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "config.h" + +#if ENABLE(XSLT) + +#include "XSLTProcessor.h" + +#include "Console.h" +#include "DOMWindow.h" +#include "Frame.h" +#include "TransformSource.h" +#include "loader.h" +#include "markup.h" +#include <wtf/Assertions.h> +#include <wtf/Platform.h> +#include <wtf/Vector.h> + +#include <qabstractmessagehandler.h> +#include <qbuffer.h> +#include <qsourcelocation.h> +#include <qxmlquery.h> + +namespace WebCore { + +class XSLTMessageHandler : public QAbstractMessageHandler { + +public: + XSLTMessageHandler(Document* document = 0); + virtual void handleMessage(QtMsgType type, const QString& description, + const QUrl& identifier, const QSourceLocation& sourceLocation); + +private: + Document* m_document; +}; + +XSLTMessageHandler::XSLTMessageHandler(Document* document) + : QAbstractMessageHandler() + , m_document(document) +{ +} + +void XSLTMessageHandler::handleMessage(QtMsgType type, const QString& description, + const QUrl& identifier, const QSourceLocation& sourceLocation) +{ + if (!m_document->frame()) + return; + + MessageLevel level; + switch (type) { + case QtDebugMsg: + level = TipMessageLevel; + break; + case QtWarningMsg: + level = WarningMessageLevel; + break; + case QtCriticalMsg: + case QtFatalMsg: + level = ErrorMessageLevel; + break; + default: + level = LogMessageLevel; + break; + } + + Console* console = m_document->frame()->domWindow()->console(); + console->addMessage(XMLMessageSource, LogMessageType, level, description, + sourceLocation.line(), sourceLocation.uri().toString()); +} + +bool XSLTProcessor::transformToString(Node* sourceNode, String& mimeType, String& resultString, String& resultEncoding) +{ + bool success = false; + + RefPtr<XSLStyleSheet> stylesheet = m_stylesheet; + if (!stylesheet && m_stylesheetRootNode) { + Node* node = m_stylesheetRootNode.get(); + stylesheet = XSLStyleSheet::create(node->parent() ? node->parent() : node, node->document()->url().string()); + stylesheet->parseString(createMarkup(node)); + } + + if (!stylesheet || stylesheet->sheetString().isEmpty()) + return success; + + RefPtr<Document> ownerDocument = sourceNode->document(); + bool sourceIsDocument = (sourceNode == ownerDocument.get()); + + QXmlQuery query(QXmlQuery::XSLT20); + + XSLTMessageHandler messageHandler(ownerDocument.get()); + query.setMessageHandler(&messageHandler); + + XSLTProcessor::ParameterMap::iterator end = m_parameters.end(); + for (XSLTProcessor::ParameterMap::iterator it = m_parameters.begin(); it != end; ++it) + query.bindVariable(QString(it->first), QXmlItem(QVariant(it->second))); + + QString source; + if (sourceIsDocument && ownerDocument->transformSource()) + source = ownerDocument->transformSource()->platformSource(); + if (!sourceIsDocument || source.isEmpty()) + source = createMarkup(sourceNode); + + QBuffer inputBuffer; + QBuffer styleSheetBuffer; + QBuffer outputBuffer; + + inputBuffer.setData(source.toUtf8()); + styleSheetBuffer.setData(QString(stylesheet->sheetString()).toUtf8()); + + inputBuffer.open(QIODevice::ReadOnly); + styleSheetBuffer.open(QIODevice::ReadOnly); + outputBuffer.open(QIODevice::ReadWrite); + + query.setFocus(&inputBuffer); + query.setQuery(&styleSheetBuffer, QUrl(stylesheet->href())); + success = query.evaluateTo(&outputBuffer); + outputBuffer.reset(); + resultString = QString::fromUtf8(outputBuffer.readAll()).trimmed(); + + if (m_stylesheet) { + m_stylesheet->clearDocuments(); + m_stylesheet = 0; + } + + return success; +} + +} // namespace WebCore + +#endif // ENABLE(XSLT) diff --git a/src/3rdparty/webkit/WebKit/ChangeLog b/src/3rdparty/webkit/WebKit/ChangeLog index b317193..2f8f18f 100644 --- a/src/3rdparty/webkit/WebKit/ChangeLog +++ b/src/3rdparty/webkit/WebKit/ChangeLog @@ -1,3 +1,34 @@ +2009-09-29 Brady Eidson <beidson@apple.com> + + Reviewed by John Sullivan. + + WebKit Mac API should provide a delegate interface for global history. + <rdar://problem/7042773> and https://webkit.org/b/29904 + + * WebKit.xcodeproj/project.pbxproj: + +2009-09-28 Yaar Schnitman <yaar@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=29722 + + * chromium/DEPS: Describes the chromium port's dependencies and + is used by gclient to fetch them. + * chromium/webkit.gyp: Currently only builds webcore but in + the future will also build the webkit api. + +2009-09-26 David Kilzer <ddkilzer@apple.com> + + Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets + + Reviewed by Darin Adler. + + Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms. + + * chromium/features.gypi: Added 'ENABLE_ORIENTATION_EVENTS=0' to + disable this feature by default. + 2009-09-22 Yaar Schnitman <yaar@chromium.org> Reviewed by David Levin. diff --git a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri index 51abba4..5a95c67 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri +++ b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri @@ -1,5 +1,5 @@ WEBKIT_API_HEADERS = $$PWD/qwebframe.h \ - $$PWD/qwebgraphicsitem.h \ + $$PWD/qgraphicswebview.h \ $$PWD/qwebkitglobal.h \ $$PWD/qwebpage.h \ $$PWD/qwebview.h \ diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebgraphicsitem.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp index 196f0b8..d8d9d64 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebgraphicsitem.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp @@ -18,7 +18,7 @@ */ #include "config.h" -#include "qwebgraphicsitem.h" +#include "qgraphicswebview.h" #include "qwebframe.h" #include "qwebpage.h" @@ -33,9 +33,9 @@ #include <QX11Info> #endif -class QWebGraphicsItemPrivate : public QWebPageClient { +class QGraphicsWebViewPrivate : public QWebPageClient { public: - QWebGraphicsItemPrivate(QWebGraphicsItem* parent) + QGraphicsWebViewPrivate(QGraphicsWebView* parent) : q(parent) , page(0) , interactive(true) @@ -55,7 +55,7 @@ public: void _q_doLoadFinished(bool success); void _q_setStatusBarMessage(const QString& message); - QWebGraphicsItem* q; + QGraphicsWebView* q; QWebPage* page; QString statusBarMessage; @@ -63,7 +63,7 @@ public: qreal progress; }; -void QWebGraphicsItemPrivate::_q_doLoadProgress(int progress) +void QGraphicsWebViewPrivate::_q_doLoadProgress(int progress) { if (qFuzzyCompare(this->progress, qreal(progress / 100.))) return; @@ -73,7 +73,7 @@ void QWebGraphicsItemPrivate::_q_doLoadProgress(int progress) emit q->progressChanged(this->progress); } -void QWebGraphicsItemPrivate::_q_doLoadFinished(bool success) +void QGraphicsWebViewPrivate::_q_doLoadFinished(bool success) { // If the page had no title, still make sure it gets the signal if (q->title().isEmpty()) @@ -85,27 +85,27 @@ void QWebGraphicsItemPrivate::_q_doLoadFinished(bool success) emit q->loadFailed(); } -void QWebGraphicsItemPrivate::scroll(int dx, int dy, const QRect& rectToScroll) +void QGraphicsWebViewPrivate::scroll(int dx, int dy, const QRect& rectToScroll) { q->scroll(qreal(dx), qreal(dy), QRectF(rectToScroll)); } -void QWebGraphicsItemPrivate::update(const QRect & dirtyRect) +void QGraphicsWebViewPrivate::update(const QRect & dirtyRect) { q->update(QRectF(dirtyRect)); } -QCursor QWebGraphicsItemPrivate::cursor() const +QCursor QGraphicsWebViewPrivate::cursor() const { return q->cursor(); } -void QWebGraphicsItemPrivate::updateCursor(const QCursor& cursor) +void QGraphicsWebViewPrivate::updateCursor(const QCursor& cursor) { q->setCursor(cursor); } -int QWebGraphicsItemPrivate::screenNumber() const +int QGraphicsWebViewPrivate::screenNumber() const { #if defined(Q_WS_X11) const QList<QGraphicsView*> views = q->scene()->views(); @@ -117,7 +117,7 @@ int QWebGraphicsItemPrivate::screenNumber() const return 0; } -WId QWebGraphicsItemPrivate::winId() const +WId QGraphicsWebViewPrivate::winId() const { const QList<QGraphicsView*> views = q->scene()->views(); @@ -127,15 +127,15 @@ WId QWebGraphicsItemPrivate::winId() const return 0; } -void QWebGraphicsItemPrivate::_q_setStatusBarMessage(const QString& s) +void QGraphicsWebViewPrivate::_q_setStatusBarMessage(const QString& s) { statusBarMessage = s; emit q->statusChanged(); } /*! - \class QWebGraphicsItem - \brief The QWebGraphicsItem class allows web content to be added to a GraphicsView. + \class QGraphicsWebView + \brief The QGraphicsWebView class allows web content to be added to a GraphicsView. \since 4.6 A WebGraphicsItem renders web content based on a URL or set data. @@ -146,13 +146,13 @@ void QWebGraphicsItemPrivate::_q_setStatusBarMessage(const QString& s) */ /*! - Constructs an empty QWebGraphicsItem with parent \a parent. + Constructs an empty QGraphicsWebView with parent \a parent. \sa load() */ -QWebGraphicsItem::QWebGraphicsItem(QGraphicsItem* parent) +QGraphicsWebView::QGraphicsWebView(QGraphicsItem* parent) : QGraphicsWidget(parent) - , d(new QWebGraphicsItemPrivate(this)) + , d(new QGraphicsWebViewPrivate(this)) { #if QT_VERSION >= 0x040600 setFlag(QGraphicsItem::ItemUsesExtendedStyleOption, true); @@ -164,7 +164,7 @@ QWebGraphicsItem::QWebGraphicsItem(QGraphicsItem* parent) /*! Destroys the web graphicsitem. */ -QWebGraphicsItem::~QWebGraphicsItem() +QGraphicsWebView::~QGraphicsWebView() { if (d->page) d->page->d->view = 0; @@ -180,10 +180,10 @@ QWebGraphicsItem::~QWebGraphicsItem() \sa setPage() */ -QWebPage* QWebGraphicsItem::page() const +QWebPage* QGraphicsWebView::page() const { if (!d->page) { - QWebGraphicsItem* that = const_cast<QWebGraphicsItem*>(this); + QGraphicsWebView* that = const_cast<QGraphicsWebView*>(this); QWebPage* page = new QWebPage(that); // Default to not having a background, in the case @@ -200,14 +200,14 @@ QWebPage* QWebGraphicsItem::page() const /*! \reimp */ -void QWebGraphicsItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget*) +void QGraphicsWebView::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget*) { page()->mainFrame()->render(painter, option->exposedRect.toRect()); } /*! \reimp */ -bool QWebGraphicsItem::sceneEvent(QEvent* event) +bool QGraphicsWebView::sceneEvent(QEvent* event) { // Re-implemented in order to allows fixing event-related bugs in patch releases. return QGraphicsWidget::sceneEvent(event); @@ -215,7 +215,7 @@ bool QWebGraphicsItem::sceneEvent(QEvent* event) /*! \reimp */ -bool QWebGraphicsItem::event(QEvent* event) +bool QGraphicsWebView::event(QEvent* event) { // Re-implemented in order to allows fixing event-related bugs in patch releases. @@ -248,7 +248,7 @@ bool QWebGraphicsItem::event(QEvent* event) \sa page() */ -void QWebGraphicsItem::setPage(QWebPage* page) +void QGraphicsWebView::setPage(QWebPage* page) { if (d->page == page) return; @@ -288,7 +288,7 @@ void QWebGraphicsItem::setPage(QWebPage* page) } /*! - \property QWebGraphicsItem::url + \property QGraphicsWebView::url \brief the url of the web page currently viewed Setting this property clears the view and loads the URL. @@ -298,12 +298,12 @@ void QWebGraphicsItem::setPage(QWebPage* page) \sa load(), urlChanged() */ -void QWebGraphicsItem::setUrl(const QUrl &url) +void QGraphicsWebView::setUrl(const QUrl &url) { page()->mainFrame()->setUrl(url); } -QUrl QWebGraphicsItem::url() const +QUrl QGraphicsWebView::url() const { if (d->page) return d->page->mainFrame()->url(); @@ -312,14 +312,14 @@ QUrl QWebGraphicsItem::url() const } /*! - \property QWebGraphicsItem::title + \property QGraphicsWebView::title \brief the title of the web page currently viewed By default, this property contains an empty string. \sa titleChanged() */ -QString QWebGraphicsItem::title() const +QString QGraphicsWebView::title() const { if (d->page) return d->page->mainFrame()->title(); @@ -328,14 +328,14 @@ QString QWebGraphicsItem::title() const } /*! - \property QWebGraphicsItem::icon + \property QGraphicsWebView::icon \brief the icon associated with the web page currently viewed By default, this property contains a null icon. \sa iconChanged(), QWebSettings::iconForUrl() */ -QIcon QWebGraphicsItem::icon() const +QIcon QGraphicsWebView::icon() const { if (d->page) return d->page->mainFrame()->icon(); @@ -344,12 +344,12 @@ QIcon QWebGraphicsItem::icon() const } /*! - \property QWebGraphicsItem::zoomFactor + \property QGraphicsWebView::zoomFactor \since 4.5 \brief the zoom factor for the view */ -void QWebGraphicsItem::setZoomFactor(qreal factor) +void QGraphicsWebView::setZoomFactor(qreal factor) { if (factor == page()->mainFrame()->zoomFactor()) return; @@ -358,14 +358,14 @@ void QWebGraphicsItem::setZoomFactor(qreal factor) emit zoomFactorChanged(); } -qreal QWebGraphicsItem::zoomFactor() const +qreal QGraphicsWebView::zoomFactor() const { return page()->mainFrame()->zoomFactor(); } /*! \reimp */ -void QWebGraphicsItem::updateGeometry() +void QGraphicsWebView::updateGeometry() { QGraphicsWidget::updateGeometry(); @@ -378,7 +378,7 @@ void QWebGraphicsItem::updateGeometry() /*! \reimp */ -void QWebGraphicsItem::setGeometry(const QRectF& rect) +void QGraphicsWebView::setGeometry(const QRectF& rect) { QGraphicsWidget::setGeometry(rect); @@ -400,7 +400,7 @@ void QWebGraphicsItem::setGeometry(const QRectF& rect) \sa statusChanged() */ -QString QWebGraphicsItem::status() const +QString QGraphicsWebView::status() const { return d->statusBarMessage; } @@ -410,7 +410,7 @@ QString QWebGraphicsItem::status() const \sa reload(), loadFinished() */ -void QWebGraphicsItem::stop() +void QGraphicsWebView::stop() { if (d->page) d->page->triggerAction(QWebPage::Stop); @@ -422,7 +422,7 @@ void QWebGraphicsItem::stop() \sa forward() */ -void QWebGraphicsItem::back() +void QGraphicsWebView::back() { if (d->page) d->page->triggerAction(QWebPage::Back); @@ -434,7 +434,7 @@ void QWebGraphicsItem::back() \sa back() */ -void QWebGraphicsItem::forward() +void QGraphicsWebView::forward() { if (d->page) d->page->triggerAction(QWebPage::Forward); @@ -445,17 +445,17 @@ void QWebGraphicsItem::forward() \sa stop(), loadStarted() */ -void QWebGraphicsItem::reload() +void QGraphicsWebView::reload() { if (d->page) d->page->triggerAction(QWebPage::Reload); } /*! - \property QWebGraphicsItem::progress + \property QGraphicsWebView::progress \brief the progress of loading the current URL, from 0 to 1. */ -qreal QWebGraphicsItem::progress() const +qreal QGraphicsWebView::progress() const { return d->progress; } @@ -467,13 +467,13 @@ qreal QWebGraphicsItem::progress() const \sa setUrl(), url(), urlChanged() */ -void QWebGraphicsItem::load(const QUrl& url) +void QGraphicsWebView::load(const QUrl& url) { page()->mainFrame()->load(url); } /*! - \fn void QWebGraphicsItem::load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &body) + \fn void QGraphicsWebView::load(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, const QByteArray &body) Loads a network request, \a request, using the method specified in \a operation. @@ -484,7 +484,7 @@ void QWebGraphicsItem::load(const QUrl& url) \sa url(), urlChanged() */ -void QWebGraphicsItem::load(const QNetworkRequest& request, +void QGraphicsWebView::load(const QNetworkRequest& request, QNetworkAccessManager::Operation operation, const QByteArray& body) { @@ -507,12 +507,12 @@ void QWebGraphicsItem::load(const QNetworkRequest& request, \sa load(), setContent(), QWebFrame::toHtml() */ -void QWebGraphicsItem::setHtml(const QString& html, const QUrl& baseUrl) +void QGraphicsWebView::setHtml(const QString& html, const QUrl& baseUrl) { page()->mainFrame()->setHtml(html, baseUrl); } -QString QWebGraphicsItem::toHtml() const +QString QGraphicsWebView::toHtml() const { return page()->mainFrame()->toHtml(); } @@ -528,7 +528,7 @@ QString QWebGraphicsItem::toHtml() const \sa load(), setHtml(), QWebFrame::toHtml() */ -void QWebGraphicsItem::setContent(const QByteArray& data, const QString& mimeType, const QUrl& baseUrl) +void QGraphicsWebView::setContent(const QByteArray& data, const QString& mimeType, const QUrl& baseUrl) { page()->mainFrame()->setContent(data, mimeType, baseUrl); } @@ -540,22 +540,22 @@ void QWebGraphicsItem::setContent(const QByteArray& data, const QString& mimeTyp \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 0 */ -QWebHistory* QWebGraphicsItem::history() const +QWebHistory* QGraphicsWebView::history() const { return page()->history(); } /*! - \property QWebGraphicsItem::interactive + \property QGraphicsWebView::interactive \brief controls whether the item responds to mouse and key events. */ -bool QWebGraphicsItem::isInteractive() const +bool QGraphicsWebView::isInteractive() const { return d->interactive; } -void QWebGraphicsItem::setInteractive(bool allowed) +void QGraphicsWebView::setInteractive(bool allowed) { if (d->interactive == allowed) return; @@ -573,14 +573,14 @@ void QWebGraphicsItem::setInteractive(bool allowed) \sa QWebSettings::globalSettings() */ -QWebSettings* QWebGraphicsItem::settings() const +QWebSettings* QGraphicsWebView::settings() const { return page()->settings(); } /*! \reimp */ -void QWebGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent* ev) +void QGraphicsWebView::hoverMoveEvent(QGraphicsSceneHoverEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -598,14 +598,14 @@ void QWebGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent* ev) /*! \reimp */ -void QWebGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent* ev) +void QGraphicsWebView::hoverLeaveEvent(QGraphicsSceneHoverEvent* ev) { Q_UNUSED(ev); } /*! \reimp */ -void QWebGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* ev) +void QGraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -619,7 +619,7 @@ void QWebGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent* ev) /*! \reimp */ -void QWebGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent* ev) +void QGraphicsWebView::mousePressEvent(QGraphicsSceneMouseEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -633,7 +633,7 @@ void QWebGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent* ev) /*! \reimp */ -void QWebGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* ev) +void QGraphicsWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -647,7 +647,7 @@ void QWebGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent* ev) /*! \reimp */ -void QWebGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* ev) +void QGraphicsWebView::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -661,7 +661,7 @@ void QWebGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* ev) /*! \reimp */ -void QWebGraphicsItem::keyPressEvent(QKeyEvent* ev) +void QGraphicsWebView::keyPressEvent(QKeyEvent* ev) { if (d->interactive && d->page) d->page->event(ev); @@ -672,7 +672,7 @@ void QWebGraphicsItem::keyPressEvent(QKeyEvent* ev) /*! \reimp */ -void QWebGraphicsItem::keyReleaseEvent(QKeyEvent* ev) +void QGraphicsWebView::keyReleaseEvent(QKeyEvent* ev) { if (d->interactive && d->page) d->page->event(ev); @@ -683,7 +683,7 @@ void QWebGraphicsItem::keyReleaseEvent(QKeyEvent* ev) /*! \reimp */ -void QWebGraphicsItem::focusInEvent(QFocusEvent* ev) +void QGraphicsWebView::focusInEvent(QFocusEvent* ev) { if (d->page) d->page->event(ev); @@ -693,7 +693,7 @@ void QWebGraphicsItem::focusInEvent(QFocusEvent* ev) /*! \reimp */ -void QWebGraphicsItem::focusOutEvent(QFocusEvent* ev) +void QGraphicsWebView::focusOutEvent(QFocusEvent* ev) { if (d->page) d->page->event(ev); @@ -703,7 +703,7 @@ void QWebGraphicsItem::focusOutEvent(QFocusEvent* ev) /*! \reimp */ -bool QWebGraphicsItem::focusNextPrevChild(bool next) +bool QGraphicsWebView::focusNextPrevChild(bool next) { if (d->page) return d->page->focusNextPrevChild(next); @@ -713,7 +713,7 @@ bool QWebGraphicsItem::focusNextPrevChild(bool next) /*! \reimp */ -void QWebGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent* ev) +void QGraphicsWebView::dragEnterEvent(QGraphicsSceneDragDropEvent* ev) { #ifndef QT_NO_DRAGANDDROP //if (d->page) @@ -727,7 +727,7 @@ void QWebGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent* ev) /*! \reimp */ -void QWebGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent* ev) +void QGraphicsWebView::dragLeaveEvent(QGraphicsSceneDragDropEvent* ev) { #ifndef QT_NO_DRAGANDDROP if (d->interactive && d->page) { @@ -745,7 +745,7 @@ void QWebGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent* ev) /*! \reimp */ -void QWebGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent* ev) +void QGraphicsWebView::dragMoveEvent(QGraphicsSceneDragDropEvent* ev) { #ifndef QT_NO_DRAGANDDROP if (d->interactive && d->page) { @@ -763,7 +763,7 @@ void QWebGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent* ev) /*! \reimp */ -void QWebGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent* ev) +void QGraphicsWebView::dropEvent(QGraphicsSceneDragDropEvent* ev) { #ifndef QT_NO_DRAGANDDROP if (d->interactive && d->page) { @@ -782,7 +782,7 @@ void QWebGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent* ev) #ifndef QT_NO_CONTEXTMENU /*! \reimp */ -void QWebGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent* ev) +void QGraphicsWebView::contextMenuEvent(QGraphicsSceneContextMenuEvent* ev) { if (d->page) { const bool accepted = ev->isAccepted(); @@ -795,7 +795,7 @@ void QWebGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent* ev) #ifndef QT_NO_WHEELEVENT /*! \reimp */ -void QWebGraphicsItem::wheelEvent(QGraphicsSceneWheelEvent* ev) +void QGraphicsWebView::wheelEvent(QGraphicsSceneWheelEvent* ev) { if (d->interactive && d->page) { const bool accepted = ev->isAccepted(); @@ -810,7 +810,7 @@ void QWebGraphicsItem::wheelEvent(QGraphicsSceneWheelEvent* ev) /*! \reimp */ -void QWebGraphicsItem::inputMethodEvent(QInputMethodEvent* ev) +void QGraphicsWebView::inputMethodEvent(QInputMethodEvent* ev) { if (d->interactive && d->page) d->page->event(ev); @@ -819,4 +819,4 @@ void QWebGraphicsItem::inputMethodEvent(QInputMethodEvent* ev) QGraphicsItem::inputMethodEvent(ev); } -#include "moc_qwebgraphicsitem.cpp" +#include "moc_qgraphicswebview.cpp" diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebgraphicsitem.h b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h index 2c6817a..a8478d8 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebgraphicsitem.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h @@ -17,8 +17,8 @@ Boston, MA 02110-1301, USA. */ -#ifndef QWebGraphicsItem_h -#define QWebGraphicsItem_h +#ifndef QGraphicsWebView_h +#define QGraphicsWebView_h #include "qwebkitglobal.h" #include <QtCore/qurl.h> @@ -32,9 +32,9 @@ class QWebPage; class QWebHistory; class QWebSettings; -class QWebGraphicsItemPrivate; +class QGraphicsWebViewPrivate; -class QWEBKIT_EXPORT QWebGraphicsItem : public QGraphicsWidget { +class QWEBKIT_EXPORT QGraphicsWebView : public QGraphicsWidget { Q_OBJECT Q_PROPERTY(QString title READ title NOTIFY titleChanged) @@ -49,8 +49,8 @@ class QWEBKIT_EXPORT QWebGraphicsItem : public QGraphicsWidget { Q_PROPERTY(bool interactive READ isInteractive WRITE setInteractive NOTIFY interactivityChanged) public: - QWebGraphicsItem(QGraphicsItem* parent = 0); - ~QWebGraphicsItem(); + QGraphicsWebView(QGraphicsItem* parent = 0); + ~QGraphicsWebView(); QWebPage* page() const; void setPage(QWebPage*); @@ -137,8 +137,8 @@ private: Q_PRIVATE_SLOT(d, void _q_doLoadFinished(bool success)) Q_PRIVATE_SLOT(d, void _q_setStatusBarMessage(const QString& message)) - QWebGraphicsItemPrivate* const d; - friend class QWebGraphicsItemPrivate; + QGraphicsWebViewPrivate* const d; + friend class QGraphicsWebViewPrivate; }; -#endif // QWebGraphicsItem_h +#endif // QGraphicsWebView_h diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp index ff086f6..939d881 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp @@ -95,16 +95,6 @@ public: It is possible to replace the contents of child elements using setPlainText() and setInnerXml(). To replace the element itself and its contents, use setOuterXml(). - - In the JavaScript DOM interfaces, elements can have additional functions - depending on their type. For example, an HTML form element can be triggered - to submit the entire form to the web server using the submit() function. A - list of these special functions can be obtained in QWebElement using - functions(); they can be invoked using callFunction(). - - Similarly, element specific properties can be obtained using - scriptableProperties() and read or written using scriptableProperty() or - setScriptableProperty(). */ /*! @@ -473,6 +463,33 @@ bool QWebElement::hasAttributes() const } /*! + Returns true if the element has keyboard input focus; otherwise, returns false + + \sa setFocus() +*/ +bool QWebElement::hasFocus() const +{ + if (!m_element) + return false; + if (m_element->document()) + return m_element == m_element->document()->focusedNode(); + return false; +} + +/*! + Gives keyboard input focus to this element + + \sa hasFocus() +*/ +void QWebElement::setFocus() +{ + if (!m_element) + return; + if (m_element->document() && m_element->isFocusable()) + m_element->document()->setFocusedNode(m_element); +} + +/*! Returns the geometry of this element, relative to its containing frame. \sa tagName() @@ -673,41 +690,10 @@ static bool setupScriptContext(WebCore::Element* element, JSC::JSValue& thisValu } -static bool setupScriptObject(WebCore::Element* element, ScriptObject& object, ScriptState*& state, ScriptController*& scriptController) -{ - if (!element) - return false; - - Document* document = element->document(); - if (!document) - return false; - - Frame* frame = document->frame(); - if (!frame) - return false; - - scriptController = frame->script(); - - state = scriptController->globalObject()->globalExec(); - - JSC::JSValue thisValue = toJS(state, element); - if (!thisValue) - return false; - - JSC::JSObject* thisObject = thisValue.toObject(state); - if (!thisObject) - return false; - - object = ScriptObject(state, thisObject); - return true; -} - /*! Executes \a scriptSource with this element as \c this object. - - \sa callFunction() */ -QVariant QWebElement::evaluateScript(const QString& scriptSource) +QVariant QWebElement::evaluateJavaScript(const QString& scriptSource) { if (scriptSource.isEmpty()) return QVariant(); @@ -734,256 +720,25 @@ QVariant QWebElement::evaluateScript(const QString& scriptSource) } /*! - Calls the function with the given \a name and \a arguments. - - The underlying DOM element that QWebElement wraps may have dedicated - functions, depending on its type. For example, a form element can have the - \c submit function, that would submit the form to the destination specified - in the HTML. - - \sa functions() -*/ -QVariant QWebElement::callFunction(const QString &name, const QVariantList &arguments) -{ - ScriptState* state = 0; - ScriptObject thisObject; - ScriptController* scriptController = 0; - - if (!setupScriptObject(m_element, thisObject, state, scriptController)) - return QVariant(); - - ScriptFunctionCall functionCall(state, thisObject, name); - - for (QVariantList::ConstIterator it = arguments.constBegin(), end = arguments.constEnd(); - it != end; ++it) - functionCall.appendArgument(JSC::Bindings::convertQVariantToValue(state, scriptController->bindingRootObject(), *it)); - - bool hadException = false; - ScriptValue result = functionCall.call(hadException); - if (hadException) - return QVariant(); - - int distance = 0; - return JSC::Bindings::convertValueToQVariant(state, result.jsValue(), QMetaType::Void, &distance); -} - -/*! - Returns a list of function names this element supports. - - The function names returned are the same functions callable from the DOM - element's JavaScript binding. - - \sa callFunction() -*/ -QStringList QWebElement::functions() const -{ - ScriptState* state = 0; - ScriptObject thisObject; - ScriptController* scriptController = 0; - - if (!setupScriptObject(m_element, thisObject, state, scriptController)) - return QStringList(); - - JSC::JSObject* object = thisObject.jsObject(); - if (!object) - return QStringList(); - - QStringList names; - - // Enumerate the contents of the object - JSC::PropertyNameArray properties(state); - object->getPropertyNames(state, properties); - for (JSC::PropertyNameArray::const_iterator it = properties.begin(); - it != properties.end(); ++it) { - - JSC::JSValue property = object->get(state, *it); - if (!property) - continue; - - JSC::JSObject* function = property.toObject(state); - if (!function) - continue; - - JSC::CallData callData; - JSC::CallType callType = function->getCallData(callData); - if (callType == JSC::CallTypeNone) - continue; - - JSC::UString ustring = (*it).ustring(); - names << QString::fromUtf16((const ushort*)ustring.rep()->data(), ustring.size()); - } - - if (state->hadException()) - state->clearException(); - - return names; -} - -/*! - Returns the value of the element's \a name property. If no such property - exists, an invalid QVariant is returned. - - The return value's property has the same value as the corresponding - property in the element's JavaScript binding with the same name. - - Information about all available properties is provided through - scriptProperties(). - - \sa setScriptableProperty(), scriptableProperties() -*/ -QVariant QWebElement::scriptableProperty(const QString &name) const -{ - ScriptState* state = 0; - ScriptObject thisObject; - ScriptController *scriptController = 0; - - if (!setupScriptObject(m_element, thisObject, state, scriptController)) - return QVariant(); - - String wcName(name); - JSC::JSValue property = thisObject.jsObject()->get(state, JSC::Identifier(state, wcName)); - - // ### - if (state->hadException()) - state->clearException(); - - int distance = 0; - return JSC::Bindings::convertValueToQVariant(state, property, QMetaType::Void, &distance); -} - -/*! - Sets the value of the element's \a name property to \a value. - - Information about all available properties is provided through - scriptProperties(). - - Setting the property will affect the corresponding property in the - element's JavaScript binding with the same name. - - \sa scriptableProperty(), scriptableProperties() -*/ -void QWebElement::setScriptableProperty(const QString &name, const QVariant &value) -{ - ScriptState* state = 0; - ScriptObject thisObject; - ScriptController* scriptController = 0; - - if (!setupScriptObject(m_element, thisObject, state, scriptController)) - return; - - JSC::JSValue jsValue = JSC::Bindings::convertQVariantToValue(state, scriptController->bindingRootObject(), value); - if (!jsValue) - return; - - String wcName(name); - JSC::PutPropertySlot slot; - thisObject.jsObject()->put(state, JSC::Identifier(state, wcName), jsValue, slot); - if (state->hadException()) - state->clearException(); -} - -/*! - Returns a list of property names this element supports. - - The function names returned are the same properties that are accessible - from the DOM element's JavaScript binding. - - \sa setScriptableProperty(), scriptableProperty() -*/ -QStringList QWebElement::scriptableProperties() const -{ - if (!m_element) - return QStringList(); - - Document* document = m_element->document(); - if (!document) - return QStringList(); - - Frame* frame = document->frame(); - if (!frame) - return QStringList(); - - ScriptController* script = frame->script(); - JSC::ExecState* exec = script->globalObject()->globalExec(); - - JSC::JSValue thisValue = toJS(exec, m_element); - if (!thisValue) - return QStringList(); - - JSC::JSObject* object = thisValue.toObject(exec); - if (!object) - return QStringList(); - - QStringList names; - - // Enumerate the contents of the object - JSC::PropertyNameArray properties(exec); - object->getPropertyNames(exec, properties); - for (JSC::PropertyNameArray::const_iterator it = properties.begin(); - it != properties.end(); ++it) { - - JSC::JSValue property = object->get(exec, *it); - if (!property) - continue; - - JSC::JSObject* function = property.toObject(exec); - if (!function) - continue; - - JSC::CallData callData; - JSC::CallType callType = function->getCallData(callData); - if (callType != JSC::CallTypeNone) - continue; - - JSC::UString ustring = (*it).ustring(); - names << QString::fromUtf16((const ushort*)ustring.rep()->data(), ustring.size()); - } - - if (exec->hadException()) - exec->clearException(); - - return names; -} - -/*! - \enum QWebElement::ResolveRule - \since 4.6 + \enum QWebElement::StyleResolveStrategy This enum describes how QWebElement's styleProperty resolves the given property name. - \value IgnoreCascadingStyles Return the property value as it is defined in + \value InlineStyle Return the property value as it is defined in the element, without respecting style inheritance and other CSS rules. - \value RespectCascadingStyles The property's value is determined using the + \value CascadedStyle The property's value is determined using the inheritance and importance rules defined in the document's stylesheet. + \value ComputedStyle The property's value is the absolute value + of the style property resolved from the environment. */ /*! - \enum QWebElement::StylePriority - \since 4.6 - - This enum describes the priority newly set CSS properties should have when - set using QWebElement::setStyleProperty(). - - \value NormalStylePriority Define the property without important priority - even if "!important" is explicitly set in \a value. - \value DeclaredStylePriority Define the property respecting the priority - specified in \a value. - \value ImportantStylePriority Define the property to have an important - priority. This is equal to appending "!important" to the value. -*/ - -/*! - Returns the value of the style with the given \a name. If a style with - \a name does not exist, an empty string is returned. - - If \a rule is IgnoreCascadingStyles, the value defined inside the element - (inline in CSS terminology) is returned. - - if \a rule is RespectCascadingStyles, the actual style applied to the - element is returned. + Returns the value of the style with the given \a name using the specified + \a strategy. If a style with \a name does not exist, an empty string is + returned. In CSS, the cascading part depends on which CSS rule has priority and is thus applied. Generally, the last defined rule has priority. Thus, an @@ -997,7 +752,8 @@ QStringList QWebElement::scriptableProperties() const \sa setStyleProperty() */ -QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const + +QString QWebElement::styleProperty(const QString &name, StyleResolveStrategy strategy) const { if (!m_element || !m_element->isStyledElement()) return QString(); @@ -1009,10 +765,10 @@ QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const CSSStyleDeclaration* style = static_cast<StyledElement*>(m_element)->style(); - if (rule == IgnoreCascadingStyles) + if (strategy == InlineStyle) return style->getPropertyValue(propID); - if (rule == RespectCascadingStyles) { + if (strategy == CascadedStyle) { if (style->getPropertyPriority(propID)) return style->getPropertyValue(propID); @@ -1040,33 +796,33 @@ QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const return style->getPropertyValue(propID); } + if (strategy == ComputedStyle) { + if (!m_element || !m_element->isStyledElement()) + return QString(); + + int propID = cssPropertyID(name); + + RefPtr<CSSComputedStyleDeclaration> style = computedStyle(m_element); + if (!propID || !style) + return QString(); + + return style->getPropertyValue(propID); + } + return QString(); } /*! - Sets the value of the style with the given \a name to \a value. + Sets the value of the inline style with the given \a name to \a value. Setting a value, does not necessarily mean that it will become the applied value, due to the fact that the style property's value might have been set - earlier with priority in external or embedded style declarations. - - In order to ensure that the value will be applied, ImportantStylePriority - should be used as \a priority. + earlier with a higher priority in external or embedded style declarations. - Following the CSS syntax for property values, this is equal to appending + In order to ensure that the value will be applied, you may have to append "!important" to the value. - - This syntax is supported when using DeclaredStylePriority as \a priority. - - Using NormalStylePriority as \a priority, the property will have normal - priority, and any "!important" declaration will be ignored. On the other - hand, using ImportantStylePriority sets the important priority even when - it is not explicitly passed in \a value. - - By using DeclaredStylePriority as \a priority the property will respect the - priority specified in \a value. */ -void QWebElement::setStyleProperty(const QString &name, const QString &value, StylePriority priority) +void QWebElement::setStyleProperty(const QString &name, const QString &value) { if (!m_element || !m_element->isStyledElement()) return; @@ -1077,43 +833,7 @@ void QWebElement::setStyleProperty(const QString &name, const QString &value, St return; ExceptionCode exception = 0; - - const QRegExp hasImportantTest(QLatin1String("!\\s*important")); - int index = value.indexOf(hasImportantTest); - - QString newValue = (index != -1) ? value.left(index - 1) : value; - - switch (priority) { - case NormalStylePriority: - style->setProperty(name, newValue, "", exception); - break; - case DeclaredStylePriority: - style->setProperty(name, newValue, (index != -1) ? "important" : "", exception); - break; - case ImportantStylePriority: - style->setProperty(name, newValue, "important", exception); - break; - default: - break; - } -} - -/*! - Returns the computed value for style with the given \a name. If a style - with \a name does not exist, an empty string is returned. -*/ -QString QWebElement::computedStyleProperty(const QString &name) const -{ - if (!m_element || !m_element->isStyledElement()) - return QString(); - - int propID = cssPropertyID(name); - - RefPtr<CSSComputedStyleDeclaration> style = computedStyle(m_element); - if (!propID || !style) - return QString(); - - return style->getPropertyValue(propID); + style->setProperty(name, value, exception); } /*! diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h index 5f4870c..3db4637 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h @@ -74,6 +74,9 @@ public: void removeClass(const QString& name); void toggleClass(const QString& name); + bool hasFocus() const; + void setFocus(); + QRect geometry() const; QString tagName() const; @@ -120,22 +123,15 @@ public: void removeFromDocument(); void removeChildren(); - QVariant evaluateScript(const QString& scriptSource); - - QVariant callFunction(const QString& functionName, const QVariantList& arguments = QVariantList()); - QStringList functions() const; - - QVariant scriptableProperty(const QString& name) const; - void setScriptableProperty(const QString& name, const QVariant& value); - QStringList scriptableProperties() const; - - enum ResolveRule { IgnoreCascadingStyles, RespectCascadingStyles }; - QString styleProperty(const QString& name, ResolveRule = IgnoreCascadingStyles) const; - - enum StylePriority { NormalStylePriority, DeclaredStylePriority, ImportantStylePriority }; - void setStyleProperty(const QString& name, const QString& value, StylePriority = DeclaredStylePriority); + QVariant evaluateJavaScript(const QString& scriptSource); - QString computedStyleProperty(const QString& name) const; + enum StyleResolveStrategy { + InlineStyle, + CascadedStyle, + ComputedStyle, + }; + QString styleProperty(const QString& name, StyleResolveStrategy strategy) const; + void setStyleProperty(const QString& name, const QString& value); private: explicit QWebElement(WebCore::Element*); diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp index af27788..942c3ea 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp @@ -66,8 +66,12 @@ #include "PluginDatabase.h" #include "ProgressTracker.h" #include "RefPtr.h" +#include "RenderTextControl.h" +#include "TextIterator.h" #include "HashMap.h" #include "HTMLFormElement.h" +#include "HTMLInputElement.h" +#include "HTMLNames.h" #include "HitTestResult.h" #include "WindowFeatures.h" #include "LocalizedStrings.h" @@ -95,6 +99,7 @@ #include <QSslSocket> #include <QStyle> #include <QSysInfo> +#include <QTextCharFormat> #if QT_VERSION >= 0x040400 #include <QNetworkAccessManager> #include <QNetworkRequest> @@ -262,6 +267,7 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq) , inspector(0) , inspectorIsInternalOnly(false) , viewportSize(QSize(0, 0)) + , clickCausedFocus(false) { WebCore::InitializeLoggingChannelsIfNecessary(); JSC::initializeThreading(); @@ -271,7 +277,7 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq) contextMenuClient = new ContextMenuClientQt(); editorClient = new EditorClientQt(q); page = new Page(chromeClient, contextMenuClient, editorClient, - new DragClientQt(q), new InspectorClientQt(q)); + new DragClientQt(q), new InspectorClientQt(q), 0); // ### should be configurable page->settings()->setDefaultTextEncodingName("iso-8859-1"); @@ -627,6 +633,11 @@ void QWebPagePrivate::mousePressEvent(QMouseEvent *ev) if (!frame->view()) return; + RefPtr<WebCore::Node> oldNode; + if (page->focusController()->focusedFrame() + && page->focusController()->focusedFrame()->document()) + oldNode = page->focusController()->focusedFrame()->document()->focusedNode(); + if (tripleClickTimer.isActive() && (ev->pos() - tripleClick).manhattanLength() < QApplication::startDragDistance()) { @@ -640,6 +651,14 @@ void QWebPagePrivate::mousePressEvent(QMouseEvent *ev) if (mev.button() != NoButton) accepted = frame->eventHandler()->handleMousePressEvent(mev); ev->setAccepted(accepted); + + RefPtr<WebCore::Node> newNode; + if (page->focusController()->focusedFrame() + && page->focusController()->focusedFrame()->document()) + newNode = page->focusController()->focusedFrame()->document()->focusedNode(); + + if (newNode && oldNode != newNode) + clickCausedFocus = true; } void QWebPagePrivate::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *ev) @@ -745,6 +764,24 @@ void QWebPagePrivate::mouseReleaseEvent(QGraphicsSceneMouseEvent* ev) ev->setAccepted(accepted); handleClipboard(ev, ev->button()); + handleSoftwareInputPanel(ev->button()); +} + +void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button) +{ +#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) + if (view && view->testAttribute(Qt::WA_InputMethodEnabled) + && button == Qt::LeftButton && qApp->autoSipEnabled()) { + QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel( + view->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel)); + if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) { + QEvent event(QEvent::RequestSoftwareInputPanel); + QApplication::sendEvent(view, &event); + } + } + + clickCausedFocus = false; +#endif } void QWebPagePrivate::mouseReleaseEvent(QMouseEvent *ev) @@ -761,6 +798,7 @@ void QWebPagePrivate::mouseReleaseEvent(QMouseEvent *ev) ev->setAccepted(accepted); handleClipboard(ev, ev->button()); + handleSoftwareInputPanel(ev->button()); } #ifndef QT_NO_CONTEXTMENU @@ -1087,13 +1125,53 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev) return; } + RenderObject* renderer = 0; + RenderTextControl* renderTextControl = 0; + + if (frame->selection()->rootEditableElement()) + renderer = frame->selection()->rootEditableElement()->shadowAncestorNode()->renderer(); + + if (renderer && renderer->isTextControl()) + renderTextControl = toRenderTextControl(renderer); + + Vector<CompositionUnderline> underlines; + + for (int i = 0; i < ev->attributes().size(); ++i) { + const QInputMethodEvent::Attribute& a = ev->attributes().at(i); + switch (a.type) { + case QInputMethodEvent::TextFormat: { + QTextCharFormat textCharFormat = a.value.value<QTextFormat>().toCharFormat(); + QColor qcolor = textCharFormat.underlineColor(); + underlines.append(CompositionUnderline(a.start, a.length, Color(makeRGBA(qcolor.red(), qcolor.green(), qcolor.blue(), qcolor.alpha())), false)); + break; + } + case QInputMethodEvent::Cursor: { + frame->setCaretVisible(a.length); //if length is 0 cursor is invisible + if (a.length > 0) { + RenderObject* caretRenderer = frame->selection()->caretRenderer(); + if (caretRenderer) { + QColor qcolor = a.value.value<QColor>(); + caretRenderer->style()->setColor(Color(makeRGBA(qcolor.red(), qcolor.green(), qcolor.blue(), qcolor.alpha()))); + } + } + break; + } +#if QT_VERSION >= 0x040600 + case QInputMethodEvent::Selection: { + if (renderTextControl) { + renderTextControl->setSelectionStart(a.start); + renderTextControl->setSelectionEnd(a.start + a.length); + } + break; + } +#endif + } + } + if (!ev->commitString().isEmpty()) editor->confirmComposition(ev->commitString()); - else { + else if (!ev->preeditString().isEmpty()) { QString preedit = ev->preeditString(); - // ### FIXME: use the provided QTextCharFormat (use color at least) - Vector<CompositionUnderline> underlines; - underlines.append(CompositionUnderline(0, preedit.length(), Color(0, 0, 0), false)); editor->setComposition(preedit, underlines, preedit.length(), 0); } ev->accept(); @@ -1196,41 +1274,89 @@ bool QWebPagePrivate::handleScrolling(QKeyEvent *ev, Frame *frame) */ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const { + Frame* frame = d->page->focusController()->focusedFrame(); + if (!frame) + return QVariant(); + + WebCore::Editor* editor = frame->editor(); + + RenderObject* renderer = 0; + RenderTextControl* renderTextControl = 0; + + if (frame->selection()->rootEditableElement()) + renderer = frame->selection()->rootEditableElement()->shadowAncestorNode()->renderer(); + + if (renderer && renderer->isTextControl()) + renderTextControl = toRenderTextControl(renderer); + switch (property) { - case Qt::ImMicroFocus: { - Frame *frame = d->page->focusController()->focusedFrame(); - if (frame) + case Qt::ImMicroFocus: { return QVariant(frame->selection()->absoluteCaretBounds()); - return QVariant(); - } - case Qt::ImFont: { - QWebView *webView = qobject_cast<QWebView *>(d->view); - if (webView) - return QVariant(webView->font()); - return QVariant(); - } - case Qt::ImCursorPosition: { - Frame *frame = d->page->focusController()->focusedFrame(); - if (frame) { - VisibleSelection selection = frame->selection()->selection(); - if (selection.isCaret()) - return QVariant(selection.start().deprecatedEditingOffset()); } - return QVariant(); - } - case Qt::ImSurroundingText: { - Frame *frame = d->page->focusController()->focusedFrame(); - if (frame) { - Document *document = frame->document(); - if (document->focusedNode()) - return QVariant(document->focusedNode()->nodeValue()); + case Qt::ImFont: { + if (renderTextControl) { + RenderStyle* renderStyle = renderTextControl->style(); + return QVariant(QFont(renderStyle->font().font())); + } + return QVariant(QFont()); } - return QVariant(); - } - case Qt::ImCurrentSelection: - return QVariant(selectedText()); - default: - return QVariant(); + case Qt::ImCursorPosition: { + if (renderTextControl) { + if (editor->hasComposition()) { + RefPtr<Range> range = editor->compositionRange(); + return QVariant(renderTextControl->selectionEnd() - TextIterator::rangeLength(range.get())); + } + return QVariant(renderTextControl->selectionEnd()); + } + return QVariant(); + } + case Qt::ImSurroundingText: { + if (renderTextControl) { + QString text = renderTextControl->text(); + RefPtr<Range> range = editor->compositionRange(); + if (range) { + text.remove(range->startPosition().offsetInContainerNode(), TextIterator::rangeLength(range.get())); + } + return QVariant(text); + } + return QVariant(); + } + case Qt::ImCurrentSelection: { + if (renderTextControl) { + int start = renderTextControl->selectionStart(); + int end = renderTextControl->selectionEnd(); + if (end > start) + return QVariant(QString(renderTextControl->text()).mid(start,end-start)); + } + return QVariant(); + + } +#if QT_VERSION >= 0x040600 + case Qt::ImAnchorPosition: { + if (renderTextControl) { + if (editor->hasComposition()) { + RefPtr<Range> range = editor->compositionRange(); + return QVariant(renderTextControl->selectionStart() - TextIterator::rangeLength(range.get())); + } + return QVariant(renderTextControl->selectionStart()); + } + return QVariant(); + } + case Qt::ImMaximumTextLength: { + if (frame->selection()->isContentEditable()) { + if (frame->document() && frame->document()->focusedNode()) { + if (frame->document()->focusedNode()->hasTagName(HTMLNames::inputTag)) { + HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(frame->document()->focusedNode()); + return QVariant(inputElement->maxLength()); + } + } + return QVariant(InputElement::s_maximumLength); + } + return QVariant(0); + } +#endif + default: + return QVariant(); } } @@ -1491,11 +1617,10 @@ QWebPage::QWebPage(QObject *parent) */ QWebPage::~QWebPage() { - if (d->mainFrame) { - FrameLoader *loader = d->mainFrame->d->frame->loader(); - if (loader) - loader->detachFromParent(); - } + d->createMainFrame(); + FrameLoader *loader = d->mainFrame->d->frame->loader(); + if (loader) + loader->detachFromParent(); if (d->inspector) d->inspector->setPage(0); delete d; @@ -1936,6 +2061,7 @@ bool QWebPage::acceptNavigationRequest(QWebFrame *frame, const QWebNetworkReques */ QString QWebPage::selectedText() const { + d->createMainFrame(); return d->page->focusController()->focusedOrMainFrame()->selectedText(); } @@ -2491,6 +2617,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos) } } + d->createMainFrame(); WebCore::Frame* focusedFrame = d->page->focusController()->focusedOrMainFrame(); HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos), /*allowShadowContent*/ false); diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h index aecd860..41d1835 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h @@ -25,12 +25,12 @@ #include "qwebkitglobal.h" #include <QtCore/qobject.h> +#include <QtCore/qurl.h> #include <QtGui/qwidget.h> QT_BEGIN_NAMESPACE class QNetworkProxy; class QUndoStack; -class QUrl; class QMenu; class QNetworkRequest; class QNetworkReply; @@ -266,7 +266,8 @@ public: QMenu *createStandardContextMenu(); enum Extension { - ChooseMultipleFilesExtension + ChooseMultipleFilesExtension, + ErrorPageExtension }; class ExtensionOption {}; @@ -284,6 +285,24 @@ public: QStringList fileNames; }; + enum ErrorDomain { QtNetwork, Http, WebKit }; + class ErrorPageExtensionOption : public ExtensionOption { + public: + ErrorDomain domain; + int error; + QString errorString; + }; + + class ErrorPageExtensionReturn : public ExtensionReturn { + public: + ErrorPageExtensionReturn() : contentType(QLatin1String("text/html")), encoding(QLatin1String("utf-8")) {}; + QString contentType; + QString encoding; + QUrl baseUrl; + QByteArray content; + }; + + virtual bool extension(Extension extension, const ExtensionOption *option = 0, ExtensionReturn *output = 0); virtual bool supportsExtension(Extension extension) const; @@ -352,7 +371,7 @@ private: friend class QWebFrame; friend class QWebPagePrivate; friend class QWebView; - friend class QWebGraphicsItem; + friend class QGraphicsWebView; friend class QWebInspector; friend class WebCore::ChromeClientQt; friend class WebCore::EditorClientQt; diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h index 9f4216a..b9571fa 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h @@ -111,6 +111,7 @@ public: void shortcutOverrideEvent(QKeyEvent*); void leaveEvent(QEvent*); void handleClipboard(QEvent*, Qt::MouseButton); + void handleSoftwareInputPanel(Qt::MouseButton); bool handleScrolling(QKeyEvent*, WebCore::Frame*); void setInspector(QWebInspector*); @@ -143,6 +144,8 @@ public: QPoint tripleClick; QBasicTimer tripleClickTimer; + bool clickCausedFocus; + #if QT_VERSION < 0x040400 bool acceptNavigationRequest(QWebFrame *frame, const QWebNetworkRequest &request, QWebPage::NavigationType type); diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp index 5f74f36..eedf7d1 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp @@ -356,8 +356,8 @@ QWebSettings::QWebSettings() // Initialize our global defaults d->fontSizes.insert(QWebSettings::MinimumFontSize, 0); d->fontSizes.insert(QWebSettings::MinimumLogicalFontSize, 0); - d->fontSizes.insert(QWebSettings::DefaultFontSize, 14); - d->fontSizes.insert(QWebSettings::DefaultFixedFontSize, 14); + d->fontSizes.insert(QWebSettings::DefaultFontSize, 16); + d->fontSizes.insert(QWebSettings::DefaultFixedFontSize, 13); d->fontFamilies.insert(QWebSettings::StandardFont, QLatin1String("Arial")); d->fontFamilies.insert(QWebSettings::FixedFont, QLatin1String("Courier New")); d->fontFamilies.insert(QWebSettings::SerifFont, QLatin1String("Times New Roman")); diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index 7020ec0..fd2768c 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,220 @@ +2009-10-01 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Make Software Input Panel requests work with QGraphicsWebView + _and_ QWebView by sharing the event code in handleSoftwareInputPanel(). + + * Api/qwebpage.cpp: + (QWebPagePrivate::mouseReleaseEvent): + (QWebPagePrivate::handleSoftwareInputPanel): + * Api/qwebpage_p.h: + +2009-10-01 Kristian Amlie <kristian.amlie@nokia.com> + + Reviewed by Simon Hausmann. + + Fixed software input panel support on web input elements. + + Send the RequestSoftwareInputPanel event if the element supports focus + and the element is clicked. + + * Api/qwebpage.cpp: + (QWebPagePrivate::QWebPagePrivate): + (QWebPagePrivate::mousePressEvent): + (QWebPagePrivate::mouseReleaseEvent): + * Api/qwebpage_p.h: + +2009-10-01 Joe Ligman <joseph.ligman@nokia.com> + + Reviewed by Simon Hausmann. + + Implementation for QWebPage::inputMethodQuery and QWebPagePrivate::inputMethodEvent + + https://bugs.webkit.org/show_bug.cgi?id=29681 + + Some additional changes from Kristian Amlie <kristian.amlie@nokia.com>: + + * Fixed surrounding text to exclude preedit string + * Avoid emission of microFocusChanged during setComposition() + + * Api/qwebpage.cpp: + (QWebPagePrivate::inputMethodEvent): + (QWebPage::inputMethodQuery): + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::respondToChangedSelection): + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::inputMethods): + +2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu> + + Reviewed by Tor Arne Vestbø. + + [Qt] Default font size reconciliation to 16px/13px to match other platform's de-facto standard. + This fixes https://bugs.webkit.org/show_bug.cgi?id=19674. + + * Api/qwebsettings.cpp: + (QWebSettings::QWebSettings): + +2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> + + Reviewed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=29844 + + QWebPage dependency autotest fix. + + Fix for database() autotest. All opened databases should be removed at + end of test. + + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::database): + +2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com> + + Reviewed by Simon Hausmann. + + Some QWebHistory and QWebPage autotest crash fixes. + + Some checking for m_mainFrame were added. MainFrame should be created + at some point of QWebPage live cicle. + + https://bugs.webkit.org/show_bug.cgi?id=29803 + + * Api/qwebpage.cpp: + (QWebPage::~QWebPage): + (QWebPage::currentFrame): + (QWebPage::history): + (QWebPage::selectedText): + (QWebPage::updatePositionDependentActions): + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::crashTests_LazyInitializationOfMainFrame): + +2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Simon Hausmann and Tor Arne Vestbø. + + Implement QWebPage Extension for error pages, incl. + an example on how to use it in QtLauncher. + + Correct our use of ResourceError. + + * Api/qwebpage.h: + (ExtensionOption::): + (ExtensionOption::ErrorPageExtensionReturn::ErrorPageExtensionReturn): + * QtLauncher/main.cpp: + (WebPage::supportsExtension): + (MainWindow::MainWindow): + (MainWindow::selectElements): + (WebPage::extension): + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::cancelledError): + (WebCore::FrameLoaderClientQt::blockedError): + (WebCore::FrameLoaderClientQt::cannotShowURLError): + (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError): + (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError): + (WebCore::FrameLoaderClientQt::fileDoesNotExistError): + (WebCore::FrameLoaderClientQt::callErrorPageExtension): + (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad): + (WebCore::FrameLoaderClientQt::dispatchDidFailLoad): + * WebCoreSupport/FrameLoaderClientQt.h: + +2009-09-28 Andre Poenitz <andre.poenitz@trolltech.com> + + Reviewed by Simon Hausmann. + + Compile fix with namespaced Qt. + + * Api/qwebinspector_p.h: + +2009-09-27 Joe Ligman <joseph.ligman@mindspring.com> + + Reviewed by Simon Hausmann. + + [Qt] Adding API setFocus and hasFocus to QWebElement. This API is needed for + clients that want to check/set the focus node of the document. + https://bugs.webkit.org/show_bug.cgi?id=29682 + + * Api/qwebelement.cpp: + (QWebElement::hasFocus): + (QWebElement::setFocus): + * Api/qwebelement.h: + * tests/qwebelement/tst_qwebelement.cpp: + (tst_QWebElement::hasSetFocus): + +2009-09-25 Csaba Osztrogonac <oszi@inf.u-szeged.hu> + + Reviewed by Simon Hausmann. + + [Qt] Make tst_qwebframe work if Qt built without SSL support + https://bugs.webkit.org/show_bug.cgi?id=29735 + + * tests/qwebframe/tst_qwebframe.cpp: Missing #ifndef blocks added. + +2009-09-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Update QWebElement API to remove script related methods. + QWebElement::evaluateScript is the only one kept, these are + removed to postpone most of the QtWebKit<->JavaScript API design + after 4.6. + https://bugs.webkit.org/show_bug.cgi?id=29708 + + * Api/qwebelement.cpp: + * Api/qwebelement.h: + Methods removed: + - QWebElement::callFunction + - QWebElement::functions + - QWebElement::scriptableProperty + - QWebElement::setScriptableProperty + - QWebElement::scriptableProperties + * tests/qwebelement/tst_qwebelement.cpp: + (tst_QWebElement::evaluateScript): + +2009-09-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Rename QWebElement::evaluateScript + to QWebElement::evaluateJavaScript. + https://bugs.webkit.org/show_bug.cgi?id=29709 + + * Api/qwebelement.cpp: + (QWebElement::evaluateJavaScript): + * Api/qwebelement.h: + * tests/qwebelement/tst_qwebelement.cpp: + (tst_QWebElement::evaluateJavaScript): + +2009-09-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Update the stypeProperty API of QWebElement. + https://bugs.webkit.org/show_bug.cgi?id=29711 + + * Api/qwebelement.cpp: + (QWebElement::styleProperty): + - Merge the stypeProperty and the computedStyleProperty methods + - Remove the default value for the style resolving enum + - Rename ResolveRule to StyleResolveStrategy + (QWebElement::setStyleProperty): + - Remove the priority argument since it is possible to control the + behaviour by adding !important or removing in the value. + * Api/qwebelement.h: + * tests/qwebelement/tst_qwebelement.cpp: + (tst_QWebElement::style): + (tst_QWebElement::computedStyle): + * tests/qwebframe/tst_qwebframe.cpp: + +2009-09-24 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Alice Liu. + + * Api/qwebpage.cpp: + (QWebPagePrivate::QWebPagePrivate): + Pass 0 for new Page constructor argument. + 2009-09-24 Martin Smith <msmith@trolltech.com> Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp index 40833f2..5d5df97 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp @@ -220,7 +220,9 @@ void EditorClientQt::respondToChangedSelection() m_page->d->updateEditorActions(); emit m_page->selectionChanged(); - emit m_page->microFocusChanged(); + Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame(); + if (!frame->editor()->ignoreCompositionSelectionChange()) + emit m_page->microFocusChanged(); } void EditorClientQt::didEndEditing() diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp index 0c636f6..67d974c 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp @@ -702,8 +702,10 @@ void FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader* loader, const c WebCore::ResourceError FrameLoaderClientQt::cancelledError(const WebCore::ResourceRequest& request) { - return ResourceError("Error", -999, request.url().prettyURL(), + ResourceError error = ResourceError("QtNetwork", QNetworkReply::OperationCanceledError, request.url().prettyURL(), QCoreApplication::translate("QWebFrame", "Request cancelled", 0, QCoreApplication::UnicodeUTF8)); + error.setIsCancellation(true); + return error; } // copied from WebKit/Misc/WebKitErrors[Private].h @@ -719,32 +721,32 @@ enum { WebCore::ResourceError FrameLoaderClientQt::blockedError(const WebCore::ResourceRequest& request) { - return ResourceError("Error", WebKitErrorCannotUseRestrictedPort, request.url().prettyURL(), + return ResourceError("WebKit", WebKitErrorCannotUseRestrictedPort, request.url().prettyURL(), QCoreApplication::translate("QWebFrame", "Request blocked", 0, QCoreApplication::UnicodeUTF8)); } WebCore::ResourceError FrameLoaderClientQt::cannotShowURLError(const WebCore::ResourceRequest& request) { - return ResourceError("Error", WebKitErrorCannotShowURL, request.url().string(), + return ResourceError("WebKit", WebKitErrorCannotShowURL, request.url().string(), QCoreApplication::translate("QWebFrame", "Cannot show URL", 0, QCoreApplication::UnicodeUTF8)); } WebCore::ResourceError FrameLoaderClientQt::interruptForPolicyChangeError(const WebCore::ResourceRequest& request) { - return ResourceError("Error", WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(), + return ResourceError("WebKit", WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(), QCoreApplication::translate("QWebFrame", "Frame load interrupted by policy change", 0, QCoreApplication::UnicodeUTF8)); } WebCore::ResourceError FrameLoaderClientQt::cannotShowMIMETypeError(const WebCore::ResourceResponse& response) { - return ResourceError("Error", WebKitErrorCannotShowMIMEType, response.url().string(), + return ResourceError("WebKit", WebKitErrorCannotShowMIMEType, response.url().string(), QCoreApplication::translate("QWebFrame", "Cannot show mimetype", 0, QCoreApplication::UnicodeUTF8)); } WebCore::ResourceError FrameLoaderClientQt::fileDoesNotExistError(const WebCore::ResourceResponse& response) { - return ResourceError("Error", -998 /* ### */, response.url().string(), + return ResourceError("QtNetwork", QNetworkReply::ContentNotFoundError, response.url().string(), QCoreApplication::translate("QWebFrame", "File does not exist", 0, QCoreApplication::UnicodeUTF8)); } @@ -860,12 +862,46 @@ void FrameLoaderClientQt::dispatchDidLoadResourceByXMLHttpRequest(unsigned long, notImplemented(); } +void FrameLoaderClientQt::callErrorPageExtension(const WebCore::ResourceError& error) +{ + QWebPage* page = m_webFrame->page(); + if (page->supportsExtension(QWebPage::ErrorPageExtension)) { + QWebPage::ErrorPageExtensionOption option; + + if (error.domain() == "QtNetwork") + option.domain = QWebPage::QtNetwork; + else if (error.domain() == "HTTP") + option.domain = QWebPage::Http; + else if (error.domain() == "WebKit") + option.domain = QWebPage::WebKit; + else + return; + + option.error = error.errorCode(); + option.errorString = error.localizedDescription(); + + QWebPage::ErrorPageExtensionReturn output; + if (!page->extension(QWebPage::ErrorPageExtension, &option, &output)) + return; + + KURL baseUrl(output.baseUrl); + KURL failingUrl(QUrl(error.failingURL())); + + WebCore::ResourceRequest request(baseUrl); + WTF::RefPtr<WebCore::SharedBuffer> buffer = WebCore::SharedBuffer::create(output.content.constData(), output.content.length()); + WebCore::SubstituteData substituteData(buffer, output.contentType, output.encoding, failingUrl); + m_frame->loader()->load(request, substituteData, false); + } +} + void FrameLoaderClientQt::dispatchDidFailProvisionalLoad(const WebCore::ResourceError& error) { if (dumpFrameLoaderCallbacks) printf("%s - didFailProvisionalLoadWithError\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame))); m_loadError = error; + if (!error.isNull() && !error.isCancellation()) + callErrorPageExtension(error); } void FrameLoaderClientQt::dispatchDidFailLoad(const WebCore::ResourceError& error) @@ -874,6 +910,8 @@ void FrameLoaderClientQt::dispatchDidFailLoad(const WebCore::ResourceError& erro printf("%s - didFailLoadWithError\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame))); m_loadError = error; + if (!error.isNull() && !error.isCancellation()) + callErrorPageExtension(error); } WebCore::Frame* FrameLoaderClientQt::dispatchCreatePage() diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h index 8a7e428..66c4252 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h @@ -59,6 +59,7 @@ namespace WebCore { friend class ::QWebFrame; void callPolicyFunction(FramePolicyFunction function, PolicyAction action); + void callErrorPageExtension(const ResourceError&); signals: void loadStarted(); void loadProgress(int d); diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebgraphicsitem/qwebgraphicsitem.pro b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro index 39e90e7..cba6f11 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebgraphicsitem/qwebgraphicsitem.pro +++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro @@ -1,6 +1,6 @@ TEMPLATE = app -TARGET = tst_qwebgraphicsitem +TARGET = tst_qgraphicswebview include(../../../../WebKit.pri) -SOURCES += tst_qwebgraphicsitem.cpp +SOURCES += tst_qgraphicswebview.cpp QT += testlib network QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebgraphicsitem/tst_qwebgraphicsitem.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp index 731e342..1a57286 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebgraphicsitem/tst_qwebgraphicsitem.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp @@ -19,19 +19,19 @@ #include <QtTest/QtTest> -#include <qwebgraphicsitem.h> +#include <qgraphicswebview.h> -class tst_QWebGraphicsItem : public QObject +class tst_QGraphicsWebView : public QObject { Q_OBJECT private slots: - void qwebgraphicsitem(); + void qgraphicswebview(); }; -void tst_QWebGraphicsItem::qwebgraphicsitem() +void tst_QGraphicsWebView::qgraphicswebview() { - QWebGraphicsItem item; + QGraphicsWebView item; item.url(); item.title(); item.icon(); @@ -53,6 +53,6 @@ void tst_QWebGraphicsItem::qwebgraphicsitem() item.setContent(QByteArray()); } -QTEST_MAIN(tst_QWebGraphicsItem) +QTEST_MAIN(tst_QGraphicsWebView) -#include "tst_qwebgraphicsitem.moc" +#include "tst_qgraphicswebview.moc" diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp index 0819a3a..00783d1 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp @@ -71,15 +71,11 @@ private slots: void classes(); void namespaceURI(); void foreachManipulation(); - void evaluateScript(); - void callFunction(); - void callFunctionSubmitForm(); - void functionNames(); + void evaluateJavaScript(); void documentElement(); void frame(); void style(); void computedStyle(); - void properties(); void appendAndPrepend(); void insertBeforeAndAfter(); void remove(); @@ -90,6 +86,7 @@ private slots: void nullSelect(); void firstChildNextSibling(); void lastChildPreviousSibling(); + void hasSetFocus(); private: QWebView* m_view; @@ -282,69 +279,31 @@ void tst_QWebElement::foreachManipulation() QCOMPARE(body.findAll("div").count(), 4); } -void tst_QWebElement::evaluateScript() +void tst_QWebElement::evaluateJavaScript() { QVariant result; m_mainFrame->setHtml("<body><p>test"); QWebElement para = m_mainFrame->findFirstElement("p"); - result = para.evaluateScript("this.tagName"); + result = para.evaluateJavaScript("this.tagName"); QVERIFY(result.isValid()); QVERIFY(result.type() == QVariant::String); QCOMPARE(result.toString(), QLatin1String("P")); - QVERIFY(para.functions().contains("hasAttributes")); - result = para.evaluateScript("this.hasAttributes()"); + result = para.evaluateJavaScript("this.hasAttributes()"); QVERIFY(result.isValid()); QVERIFY(result.type() == QVariant::Bool); QVERIFY(!result.toBool()); - para.evaluateScript("this.setAttribute('align', 'left');"); + para.evaluateJavaScript("this.setAttribute('align', 'left');"); QCOMPARE(para.attribute("align"), QLatin1String("left")); - result = para.evaluateScript("this.hasAttributes()"); + result = para.evaluateJavaScript("this.hasAttributes()"); QVERIFY(result.isValid()); QVERIFY(result.type() == QVariant::Bool); QVERIFY(result.toBool()); } -void tst_QWebElement::callFunction() -{ - m_mainFrame->setHtml("<body><p>test"); - QWebElement body = m_mainFrame->documentElement(); - QVERIFY(body.functions().contains("hasChildNodes")); - QVariant result = body.callFunction("hasChildNodes"); - QVERIFY(result.isValid()); - QVERIFY(result.type() == QVariant::Bool); - QVERIFY(result.toBool()); - - body.callFunction("setAttribute", QVariantList() << "foo" << "bar"); - QCOMPARE(body.attribute("foo"), QString("bar")); -} - -void tst_QWebElement::callFunctionSubmitForm() -{ - m_mainFrame->setHtml(QString("<html><body><form name='tstform' action='data:text/html,foo'method='get'>" - "<input type='text'><input type='submit'></form></body></html>"), QUrl()); - - QWebElement form = m_mainFrame->documentElement().findAll("form").at(0); - QVERIFY(form.functions().contains("submit")); - QVERIFY(!form.isNull()); - form.callFunction("submit"); - - waitForSignal(m_page, SIGNAL(loadFinished(bool))); - QCOMPARE(m_mainFrame->url().toString(), QString("data:text/html,foo?")); -} - -void tst_QWebElement::functionNames() -{ - m_mainFrame->setHtml("<body><p>Test"); - - QWebElement body = m_mainFrame->documentElement(); - - QVERIFY(body.functions().contains("setAttribute")); -} - void tst_QWebElement::documentElement() { m_mainFrame->setHtml("<body><p>Test"); @@ -398,27 +357,27 @@ void tst_QWebElement::style() m_mainFrame->setHtml(html); QWebElement p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("blue")); - QVERIFY(p.styleProperty("cursor").isEmpty()); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); + QVERIFY(p.styleProperty("cursor", QWebElement::InlineStyle).isEmpty()); p.setStyleProperty("color", "red"); p.setStyleProperty("cursor", "auto"); - QCOMPARE(p.styleProperty("color"), QLatin1String("red")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("yellow")); - QCOMPARE(p.styleProperty("cursor"), QLatin1String("auto")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("red")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("yellow")); + QCOMPARE(p.styleProperty("cursor", QWebElement::InlineStyle), QLatin1String("auto")); p.setStyleProperty("color", "green !important"); - QCOMPARE(p.styleProperty("color"), QLatin1String("green")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("green")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("green")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("green")); p.setStyleProperty("color", "blue"); - QCOMPARE(p.styleProperty("color"), QLatin1String("green")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("green")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("green")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("green")); - p.setStyleProperty("color", "blue", QWebElement::ImportantStylePriority); - QCOMPARE(p.styleProperty("color"), QLatin1String("blue")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("blue")); + p.setStyleProperty("color", "blue !important"); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("blue")); QString html2 = "<head>" "<style type='text/css'>" @@ -434,8 +393,8 @@ void tst_QWebElement::style() m_mainFrame->setHtml(html2); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("blue")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("blue")); QString html3 = "<head>" "<style type='text/css'>" @@ -451,8 +410,8 @@ void tst_QWebElement::style() m_mainFrame->setHtml(html3); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("blue")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("blue")); QString html5 = "<head>" "<style type='text/css'>" @@ -468,8 +427,8 @@ void tst_QWebElement::style() m_mainFrame->setHtml(html5); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("red")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("red")); QString html6 = "<head>" "<link rel='stylesheet' href='qrc:/style.css' type='text/css' />" @@ -489,8 +448,8 @@ void tst_QWebElement::style() QTest::qWait(200); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("blue")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("black")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("blue")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("black")); QString html7 = "<head>" "<style type='text/css'>" @@ -507,15 +466,15 @@ void tst_QWebElement::style() QTest::qWait(200); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("black")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("black")); QString html8 = "<body><p>some text</p></body>"; m_mainFrame->setHtml(html8); p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color"), QLatin1String("")); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("")); } void tst_QWebElement::computedStyle() @@ -524,47 +483,16 @@ void tst_QWebElement::computedStyle() m_mainFrame->setHtml(html); QWebElement p = m_mainFrame->documentElement().findAll("p").at(0); - QCOMPARE(p.computedStyleProperty("cursor"), QLatin1String("auto")); - QVERIFY(!p.computedStyleProperty("cursor").isEmpty()); - QVERIFY(p.styleProperty("cursor").isEmpty()); + QCOMPARE(p.styleProperty("cursor", QWebElement::ComputedStyle), QLatin1String("auto")); + QVERIFY(!p.styleProperty("cursor", QWebElement::ComputedStyle).isEmpty()); + QVERIFY(p.styleProperty("cursor", QWebElement::InlineStyle).isEmpty()); p.setStyleProperty("cursor", "text"); p.setStyleProperty("color", "red"); - QCOMPARE(p.computedStyleProperty("cursor"), QLatin1String("text")); - QCOMPARE(p.computedStyleProperty("color"), QLatin1String("rgb(255, 0, 0)")); - QCOMPARE(p.styleProperty("color"), QLatin1String("red")); -} - -void tst_QWebElement::properties() -{ - m_mainFrame->setHtml("<body><form><input type=checkbox id=ourcheckbox checked=true>"); - - QWebElement checkBox = m_mainFrame->findFirstElement("#ourcheckbox"); - QVERIFY(!checkBox.isNull()); - - QVERIFY(checkBox.scriptableProperties().contains("checked")); - - QCOMPARE(checkBox.scriptableProperty("checked"), QVariant(true)); - checkBox.setScriptableProperty("checked", false); - QCOMPARE(checkBox.scriptableProperty("checked"), QVariant(false)); - - QVERIFY(!checkBox.scriptableProperties().contains("non_existant")); - QCOMPARE(checkBox.scriptableProperty("non_existant"), QVariant()); - - checkBox.setScriptableProperty("non_existant", "test"); - - QCOMPARE(checkBox.scriptableProperty("non_existant"), QVariant("test")); - QVERIFY(checkBox.scriptableProperties().contains("non_existant")); - - // removing scriptableProperties is currently not supported. We should look into this - // and consider the option of just allowing through the QtScript API only. -#if 0 - checkBox.setScriptableProperty("non_existant", QVariant()); - - QCOMPARE(checkBox.scriptableProperty("non_existant"), QVariant()); - QVERIFY(!checkBox.scriptableProperties().contains("non_existant")); -#endif + QCOMPARE(p.styleProperty("cursor", QWebElement::ComputedStyle), QLatin1String("text")); + QCOMPARE(p.styleProperty("color", QWebElement::ComputedStyle), QLatin1String("rgb(255, 0, 0)")); + QCOMPARE(p.styleProperty("color", QWebElement::InlineStyle), QLatin1String("red")); } void tst_QWebElement::appendAndPrepend() @@ -878,5 +806,24 @@ void tst_QWebElement::lastChildPreviousSibling() QVERIFY(p.previousSibling().isNull()); } +void tst_QWebElement::hasSetFocus() +{ + m_mainFrame->setHtml("<html><body>" \ + "<input type='text' id='input1'/>" \ + "<br>"\ + "<input type='text' id='input2'/>" \ + "</body></html>"); + + QList<QWebElement> inputs = m_mainFrame->documentElement().findAll("input"); + QWebElement input1 = inputs.at(0); + input1.setFocus(); + QVERIFY(input1.hasFocus()); + + QWebElement input2 = inputs.at(1); + input2.setFocus(); + QVERIFY(!input1.hasFocus()); + QVERIFY(input2.hasFocus()); +} + QTEST_MAIN(tst_QWebElement) #include "tst_qwebelement.moc" diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp index 729b971..797446b 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp @@ -33,7 +33,9 @@ #include <QRegExp> #include <QNetworkRequest> #include <QNetworkReply> +#ifndef QT_NO_OPENSSL #include <qsslerror.h> +#endif #include "../util.h" //TESTED_CLASS= @@ -2183,8 +2185,11 @@ public: if (request.url() == QUrl("qrc:/test1.html")) { setHeader(QNetworkRequest::LocationHeader, QString("qrc:/test2.html")); setAttribute(QNetworkRequest::RedirectionTargetAttribute, QUrl("qrc:/test2.html")); - } else if (request.url() == QUrl("qrc:/fake-ssl-error.html")) + } +#ifndef QT_NO_OPENSSL + else if (request.url() == QUrl("qrc:/fake-ssl-error.html")) setError(QNetworkReply::SslHandshakeFailedError, tr("Fake error !")); // force a ssl error +#endif else if (request.url() == QUrl("http://abcdef.abcdef/")) setError(QNetworkReply::HostNotFoundError, tr("Invalid URL")); @@ -2211,8 +2216,10 @@ private slots: emit error(this->error()); else if (request().url() == QUrl("http://abcdef.abcdef/")) emit metaDataChanged(); +#ifndef QT_NO_OPENSSL else if (request().url() == QUrl("qrc:/fake-ssl-error.html")) return; +#endif emit readyRead(); emit finished(); @@ -2232,12 +2239,14 @@ protected: if (op == QNetworkAccessManager::GetOperation) if (url == "qrc:/test1.html" || url == "http://abcdef.abcdef/") return new FakeReply(request, this); +#ifndef QT_NO_OPENSSL else if (url == "qrc:/fake-ssl-error.html") { FakeReply* reply = new FakeReply(request, this); QList<QSslError> errors; emit sslErrors(reply, errors << QSslError(QSslError::UnspecifiedError)); return reply; } +#endif return QNetworkAccessManager::createRequest(op, request, outgoingData); } @@ -2271,6 +2280,7 @@ void tst_QWebFrame::requestedUrl() QCOMPARE(frame->requestedUrl(), QUrl("http://abcdef.abcdef/")); QCOMPARE(frame->url(), QUrl("http://abcdef.abcdef/")); +#ifndef QT_NO_OPENSSL qRegisterMetaType<QList<QSslError> >("QList<QSslError>"); qRegisterMetaType<QNetworkReply* >("QNetworkReply*"); @@ -2280,6 +2290,7 @@ void tst_QWebFrame::requestedUrl() QCOMPARE(spy2.count(), 1); QCOMPARE(frame->requestedUrl(), QUrl("qrc:/fake-ssl-error.html")); QCOMPARE(frame->url(), QUrl("qrc:/fake-ssl-error.html")); +#endif } void tst_QWebFrame::javaScriptWindowObjectCleared_data() @@ -2356,7 +2367,7 @@ void tst_QWebFrame::setHtmlWithResource() QCOMPARE(spy.size(), 2); QWebElement p = frame->documentElement().findAll("p").at(0); - QCOMPARE(p.styleProperty("color", QWebElement::RespectCascadingStyles), QLatin1String("red")); + QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("red")); } class TestNetworkManager : public QNetworkAccessManager diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp index 0fb05b8..8f9a740 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp @@ -20,6 +20,7 @@ #include <QtTest/QtTest> +#include <qwebelement.h> #include <qwebpage.h> #include <qwidget.h> #include <qwebview.h> @@ -113,11 +114,10 @@ private slots: void localURLSchemes(); void testOptionalJSObjects(); void testEnablePersistentStorage(); - void consoleOutput(); + void inputMethods(); -private: - + void crashTests_LazyInitializationOfMainFrame(); private: QWebView* m_view; @@ -466,14 +466,19 @@ void tst_QWebPage::database() m_page->mainFrame()->evaluateJavaScript("var db3; db3=openDatabase('testdb', '1.0', 'test database API', 50000);db3.transaction(function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS Test (text TEXT)', []); }, function(tx, result) { }, function(tx, error) { });"); QTest::qWait(200); + // Remove all databases. QWebSecurityOrigin origin = m_page->mainFrame()->securityOrigin(); QList<QWebDatabase> dbs = origin.databases(); - if (dbs.count() > 0) { - QString fileName = dbs[0].fileName(); + for (int i = 0; i < dbs.count(); i++) { + QString fileName = dbs[i].fileName(); QVERIFY(QFile::exists(fileName)); - QWebDatabase::removeDatabase(dbs[0]); + QWebDatabase::removeDatabase(dbs[i]); QVERIFY(!QFile::exists(fileName)); } + QVERIFY(!origin.databases().size()); + // Remove removed test :-) + QWebDatabase::removeAllDatabases(); + QVERIFY(!origin.databases().size()); QTest::qWait(1000); } @@ -1200,6 +1205,94 @@ void tst_QWebPage::frameAt() frameAtHelper(webPage, webPage->mainFrame(), webPage->mainFrame()->pos()); } +void tst_QWebPage::inputMethods() +{ + m_view->page()->mainFrame()->setHtml("<html><body>" \ + "<input type='text' id='input1' style='font-family: serif' value='' maxlength='20'/>" \ + "</body></html>"); + m_view->page()->mainFrame()->setFocus(); + + QList<QWebElement> inputs = m_view->page()->mainFrame()->documentElement().findAll("input"); + + QMouseEvent evpres(QEvent::MouseButtonPress, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + m_view->page()->event(&evpres); + QMouseEvent evrel(QEvent::MouseButtonRelease, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + m_view->page()->event(&evrel); + + //ImMicroFocus + QVariant variant = m_view->page()->inputMethodQuery(Qt::ImMicroFocus); + QRect focusRect = variant.toRect(); + QVERIFY(inputs.at(0).geometry().contains(variant.toRect().topLeft())); + + //ImFont + variant = m_view->page()->inputMethodQuery(Qt::ImFont); + QFont font = variant.value<QFont>(); + QCOMPARE(QString("-webkit-serif"), font.family()); + + QList<QInputMethodEvent::Attribute> inputAttributes; + + //Insert text. + { + QInputMethodEvent eventText("QtWebKit", inputAttributes); + QSignalSpy signalSpy(m_view->page(), SIGNAL(microFocusChanged())); + m_view->page()->event(&eventText); + QCOMPARE(signalSpy.count(), 0); + } + + { + QInputMethodEvent eventText("", inputAttributes); + eventText.setCommitString(QString("QtWebKit"), 0, 0); + m_view->page()->event(&eventText); + } + +#if QT_VERSION >= 0x040600 + //ImMaximumTextLength + variant = m_view->page()->inputMethodQuery(Qt::ImMaximumTextLength); + QCOMPARE(20, variant.toInt()); + + //Set selection + inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 3, 2, QVariant()); + QInputMethodEvent eventSelection("",inputAttributes); + m_view->page()->event(&eventSelection); + + //ImAnchorPosition + variant = m_view->page()->inputMethodQuery(Qt::ImAnchorPosition); + int anchorPosition = variant.toInt(); + QCOMPARE(anchorPosition, 3); + + //ImCursorPosition + variant = m_view->page()->inputMethodQuery(Qt::ImCursorPosition); + int cursorPosition = variant.toInt(); + QCOMPARE(cursorPosition, 5); + + //ImCurrentSelection + variant = m_view->page()->inputMethodQuery(Qt::ImCurrentSelection); + QString selectionValue = variant.value<QString>(); + QCOMPARE(selectionValue, QString("eb")); +#endif + + //ImSurroundingText + variant = m_view->page()->inputMethodQuery(Qt::ImSurroundingText); + QString value = variant.value<QString>(); + QCOMPARE(value, QString("QtWebKit")); + +#if QT_VERSION >= 0x040600 + { + QList<QInputMethodEvent::Attribute> attributes; + // Clear the selection, so the next test does not clear any contents. + QInputMethodEvent::Attribute newSelection(QInputMethodEvent::Selection, 0, 0, QVariant()); + attributes.append(newSelection); + QInputMethodEvent event("composition", attributes); + m_view->page()->event(&event); + } + + // A ongoing composition should not change the surrounding text before it is committed. + variant = m_view->page()->inputMethodQuery(Qt::ImSurroundingText); + value = variant.value<QString>(); + QCOMPARE(value, QString("QtWebKit")); +#endif +} + // import a little DRT helper function to trigger the garbage collector void QWEBKIT_EXPORT qt_drt_garbageCollector_collect(); @@ -1301,5 +1394,26 @@ void tst_QWebPage::testEnablePersistentStorage() QVERIFY(!webPage.settings()->iconDatabasePath().isEmpty()); } +void tst_QWebPage::crashTests_LazyInitializationOfMainFrame() +{ + { + QWebPage webPage; + } + { + QWebPage webPage; + webPage.selectedText(); + } + { + QWebPage webPage; + webPage.triggerAction(QWebPage::Back, true); + } + { + QWebPage webPage; + QPoint pos(10,10); + webPage.updatePositionDependentActions(pos); + } +} + + QTEST_MAIN(tst_QWebPage) #include "tst_qwebpage.moc" diff --git a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro index ec496e3..81cc8f3 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro +++ b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro @@ -1,4 +1,4 @@ TEMPLATE = subdirs -SUBDIRS = qwebframe qwebpage qwebelement qwebgraphicsitem qwebhistoryinterface qwebplugindatabase qwebview qwebhistory +SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebplugindatabase qwebview qwebhistory greaterThan(QT_MINOR_VERSION, 4): SUBDIRS += benchmarks/painting/tst_painting.pro benchmarks/loading/tst_loading.pro diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index d6ef95b..f92c22d 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -704,8 +704,8 @@ bool QAbstractAnimation::event(QEvent *event) /*! \fn virtual void QAbstractAnimation::updateCurrentTime(int currentTime) = 0; - This pure virtual function is called every time the animation's current - time changes. + This pure virtual function is called every time the animation's + \a currentTime changes. \sa updateState() */ diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 0febb09..b03e47c 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1623,11 +1623,11 @@ Q_CORE_EXPORT_INLINE QDebug qCritical(); inline QNoDebug qDebug(); #endif -#define QT_NO_QDEBUG_MACRO if(1); else qDebug +#define QT_NO_QDEBUG_MACRO if(1) {} else qDebug #ifdef QT_NO_DEBUG_OUTPUT # define qDebug QT_NO_QDEBUG_MACRO #endif -#define QT_NO_QWARNING_MACRO if(1); else qWarning +#define QT_NO_QWARNING_MACRO if(1) {} else qWarning #ifdef QT_NO_WARNING_OUTPUT # define qWarning QT_NO_QWARNING_MACRO #endif diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 741c06f..a440606 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1431,6 +1431,7 @@ public: ImhLowercaseOnly = 0x80000, ImhDialableCharactersOnly = 0x100000, ImhEmailCharactersOnly = 0x200000, + ImhUrlCharactersOnly = 0x400000, ImhExclusiveInputMask = 0xffff0000 }; @@ -1627,6 +1628,11 @@ public: NavigationModeCursorAuto, NavigationModeCursorForceVisible }; + + enum RenderHint { + QualityHint, + PerformanceHint + }; } #ifdef Q_MOC_RUN ; diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 40dd1d2..9106fa8 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -2469,6 +2469,7 @@ \value ImhLowercaseOnly Only lower case letter input is allowed. \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed. \value ImhEmailCharactersOnly Only characters suitable for email addresses are allowed. + \value ImhUrlCharactersOnly Only characters suitable for URLs are allowed. Masks: @@ -2776,6 +2777,19 @@ */ /*! + \enum Qt::CoordinateSystem + \since 4.6 + + This enum specifies the coordinate system. + + \value DeviceCoordinates Coordinates are relative to the upper-left corner + of the object's paint device. + + \value LogicalCoordinates Coordinates are relative to the upper-left corner + of the object. +*/ + +/*! \enum Qt::GestureState \since 4.6 @@ -2814,3 +2828,18 @@ \sa QApplication::setNavigationMode() \sa QApplication::navigationMode() */ + +/*! + \enum Qt::RenderHint + \since 4.6 + + This enum describes the possible hints that can be used to control various + rendering operations. + + \value QualityHint Indicates that rendering quality is the most important factor, + at the potential cost of lower performance. + + \value PerformanceHint Indicates that rendering performance is the most important factor, + at the potential cost of lower quality. +*/ + diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri index e58e4ad..02a1586 100644 --- a/src/corelib/io/io.pri +++ b/src/corelib/io/io.pri @@ -5,6 +5,7 @@ HEADERS += \ io/qabstractfileengine_p.h \ io/qbuffer.h \ io/qdatastream.h \ + io/qdatastream_p.h \ io/qdebug.h \ io/qdir.h \ io/qdiriterator.h \ @@ -89,6 +90,7 @@ win32 { symbian { SOURCES += io/qfilesystemwatcher_symbian.cpp HEADERS += io/qfilesystemwatcher_symbian_p.h + INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE contains(QT_CONFIG, s60): LIBS += -lplatformenv } } diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp index 9339b8e..cc62201 100644 --- a/src/corelib/io/qdatastream.cpp +++ b/src/corelib/io/qdatastream.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qdatastream.h" +#include "qdatastream_p.h" #ifndef QT_NO_DATASTREAM #include "qbuffer.h" @@ -193,6 +194,21 @@ QT_BEGIN_NAMESPACE */ /*! + \enum QDataStream::FloatingPointPrecision + + The precision of floating point numbers used for reading/writing the data. This will only have + an effect if the version of the data stream is Qt_4_6 or higher. + + \warning The floating point precision must be set to the same value on the object that writes + and the object that reads the data stream. + + \value SinglePrecision All floating point numbers in the data stream have 32-bit precision. + \value DoublePrecision All floating point numbers in the data stream have 64-bit precision. + + \sa setFloatingPointPrecision(), floatingPointPrecision() +*/ + +/*! \enum QDataStream::Status This enum describes the current status of the data stream. @@ -222,7 +238,7 @@ QT_BEGIN_NAMESPACE #endif enum { - DefaultStreamVersion = QDataStream::Qt_4_5 + DefaultStreamVersion = QDataStream::Qt_4_6 }; // ### 5.0: when streaming invalid QVariants, just the type should @@ -414,6 +430,42 @@ bool QDataStream::atEnd() const } /*! + Returns the floating point precision of the data stream. + + \since 4.6 + + \sa FloatingPointPrecision setFloatingPointPrecision() +*/ +QDataStream::FloatingPointPrecision QDataStream::floatingPointPrecision() const +{ + return d == 0 ? QDataStream::DoublePrecision : d->floatingPointPrecision; +} + +/*! + Sets the floating point precision of the data stream. If the floating point precision is + DoublePrecision and the version of the data stream is Qt_4_6 or higher, all floating point + numbers will be written and read with 64-bit precision. If the floating point precision is + SinglePrecision and the version is Qt_4_6 or higher, all floating point numbers will be written + and read with 32-bit precision. + + For versions prior to Qt_4_6, the precision of floating point numbers in the data stream depends + on the stream operator called. + + The default is DoublePrecision. + + \warning This property must be set to the same value on the object that writes and the object + that reads the data stream. + + \since 4.6 +*/ +void QDataStream::setFloatingPointPrecision(QDataStream::FloatingPointPrecision precision) +{ + if (d == 0) + d.reset(new QDataStreamPrivate()); + d->floatingPointPrecision = precision; +} + +/*! Returns the status of the data stream. \sa Status setStatus() resetStatus() @@ -517,7 +569,7 @@ void QDataStream::setByteOrder(ByteOrder bo) \value Qt_4_3 Version 9 (Qt 4.3) \value Qt_4_4 Version 10 (Qt 4.4) \value Qt_4_5 Version 11 (Qt 4.5) - \omitvalue Qt_4_6 + \value Qt_4_6 Version 12 (Qt 4.6) \sa setVersion(), version() */ @@ -754,13 +806,23 @@ QDataStream &QDataStream::operator>>(bool &i) /*! \overload - Reads a 32-bit floating point number from the stream into \a f, + Reads a floating point number from the stream into \a f, using the standard IEEE 754 format. Returns a reference to the stream. + + \sa setFloatingPointPrecision() */ QDataStream &QDataStream::operator>>(float &f) -{ +{ + if (version() >= QDataStream::Qt_4_6 + && floatingPointPrecision() == QDataStream::DoublePrecision) { + double d; + *this >> d; + f = d; + return *this; + } + f = 0.0f; CHECK_STREAM_PRECOND(*this) if (noswap) { @@ -796,13 +858,23 @@ QDataStream &QDataStream::operator>>(float &f) /*! \overload - Reads a 64-bit floating point number from the stream into \a f, + Reads a floating point number from the stream into \a f, using the standard IEEE 754 format. Returns a reference to the stream. + + \sa setFloatingPointPrecision() */ QDataStream &QDataStream::operator>>(double &f) { + if (version() >= QDataStream::Qt_4_6 + && floatingPointPrecision() == QDataStream::SinglePrecision) { + float d; + *this >> d; + f = d; + return *this; + } + f = 0.0; CHECK_STREAM_PRECOND(*this) #ifndef Q_DOUBLE_FORMAT @@ -1115,12 +1187,20 @@ QDataStream &QDataStream::operator<<(bool i) /*! \overload - Writes a 32-bit floating point number, \a f, to the stream using + Writes a floating point number, \a f, to the stream using the standard IEEE 754 format. Returns a reference to the stream. + + \sa setFloatingPointPrecision() */ QDataStream &QDataStream::operator<<(float f) { + if (version() >= QDataStream::Qt_4_6 + && floatingPointPrecision() == QDataStream::DoublePrecision) { + *this << double(f); + return *this; + } + CHECK_STREAM_PRECOND(*this) float g = f; // fixes float-on-stack problem if (noswap) { // no conversion needed @@ -1146,12 +1226,20 @@ QDataStream &QDataStream::operator<<(float f) /*! \overload - Writes a 64-bit floating point number, \a f, to the stream using + Writes a floating point number, \a f, to the stream using the standard IEEE 754 format. Returns a reference to the stream. + + \sa setFloatingPointPrecision() */ QDataStream &QDataStream::operator<<(double f) { + if (version() >= QDataStream::Qt_4_6 + && floatingPointPrecision() == QDataStream::SinglePrecision) { + *this << float(f); + return *this; + } + CHECK_STREAM_PRECOND(*this) #ifndef Q_DOUBLE_FORMAT if (noswap) { diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h index b376de6..7cf22f2 100644 --- a/src/corelib/io/qdatastream.h +++ b/src/corelib/io/qdatastream.h @@ -42,6 +42,7 @@ #ifndef QDATASTREAM_H #define QDATASTREAM_H +#include <QtCore/qscopedpointer.h> #include <QtCore/qiodevice.h> #include <QtCore/qglobal.h> @@ -83,11 +84,7 @@ public: Qt_4_3 = 9, Qt_4_4 = 10, Qt_4_5 = 11, - Qt_4_6 = Qt_4_5 -#if QT_VERSION >= 0x040700 -#error Add the datastream version for this Qt version - Qt_4_7 = Qt_4_6 -#endif + Qt_4_6 = 12 }; enum ByteOrder { @@ -101,6 +98,11 @@ public: ReadCorruptData }; + enum FloatingPointPrecision { + SinglePrecision, + DoublePrecision + }; + QDataStream(); explicit QDataStream(QIODevice *); #ifdef QT3_SUPPORT @@ -123,6 +125,9 @@ public: void setStatus(Status status); void resetStatus(); + FloatingPointPrecision floatingPointPrecision() const; + void setFloatingPointPrecision(FloatingPointPrecision precision); + ByteOrder byteOrder() const; void setByteOrder(ByteOrder); @@ -176,7 +181,7 @@ public: private: Q_DISABLE_COPY(QDataStream) - QDataStreamPrivate *d; + QScopedPointer<QDataStreamPrivate> d; QIODevice *dev; bool owndev; diff --git a/src/corelib/io/qdatastream_p.h b/src/corelib/io/qdatastream_p.h new file mode 100644 index 0000000..157fee9 --- /dev/null +++ b/src/corelib/io/qdatastream_p.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtCore 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$ +** +****************************************************************************/ + +#ifndef QDATASTREAM_P_H +#define QDATASTREAM_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <qdatastream.h> + +QT_BEGIN_NAMESPACE + +#ifndef QT_NO_DATASTREAM +class QDataStreamPrivate +{ +public: + QDataStreamPrivate() : floatingPointPrecision(QDataStream::DoublePrecision) { } + + QDataStream::FloatingPointPrecision floatingPointPrecision; +}; +#endif + +QT_END_NAMESPACE + +#endif // QDATASTREAM_P_H diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp index b01302b..d9b994e 100644 --- a/src/corelib/io/qfilesystemwatcher.cpp +++ b/src/corelib/io/qfilesystemwatcher.cpp @@ -248,7 +248,7 @@ QFileSystemWatcherEngine *QFileSystemWatcherPrivate::createNativeEngine() eng = QDnotifyFileSystemWatcherEngine::create(); return eng; #elif defined(Q_OS_FREEBSD) || defined(Q_OS_MAC) -# if (defined Q_OS_MAC) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) +# if 0 && (defined Q_OS_MAC) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_5) return QFSEventsFileSystemWatcherEngine::create(); else diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 4ec5772..114da3b 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -595,7 +595,7 @@ QString QFSFileEngine::rootPath() return QDir::cleanPath(QDir::fromNativeSeparators(qt_TDesC2QString(symbianPath))); # else # warning No fallback implementation of QFSFileEngine::rootPath() - return QLatin1String(); + return QString(); # endif #else return QLatin1String("/"); @@ -614,7 +614,7 @@ QString QFSFileEngine::tempPath() QT_MKDIR(QFile::encodeName(temp), 0777); # else # warning No fallback implementation of QFSFileEngine::tempPath() - return QString(); + QString temp; # endif #else QString temp = QFile::decodeName(qgetenv("TMPDIR")); diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp index 5931267..594718e 100644 --- a/src/corelib/io/qtextstream.cpp +++ b/src/corelib/io/qtextstream.cpp @@ -241,6 +241,7 @@ static const int QTEXTSTREAM_BUFFERSIZE = 16384; #include "private/qlocale_p.h" #include <stdlib.h> +#include <limits.h> #include <new> #if defined QTEXTSTREAM_DEBUG @@ -375,10 +376,10 @@ public: enum TokenDelimiter { Space, NotSpace, - EndOfLine, - EndOfFile + EndOfLine }; + QString read(int maxlen); bool scan(const QChar **ptr, int *tokenLength, int maxlen, TokenDelimiter delimiter); inline const QChar *readPtr() const; @@ -704,6 +705,25 @@ bool QTextStreamPrivate::flushWriteBuffer() return flushed && bytesWritten == qint64(data.size()); } +QString QTextStreamPrivate::read(int maxlen) +{ + QString ret; + if (string) { + lastTokenSize = qMin(maxlen, string->size() - stringOffset); + ret = string->mid(stringOffset, lastTokenSize); + } else { + while (readBuffer.size() - readBufferOffset < maxlen && fillReadBuffer()) ; + lastTokenSize = qMin(maxlen, readBuffer.size() - readBufferOffset); + ret = readBuffer.mid(readBufferOffset, lastTokenSize); + } + consumeLastToken(); + +#if defined (QTEXTSTREAM_DEBUG) + qDebug("QTextStreamPrivate::read() maxlen = %d, token length = %d", maxlen, ret.length()); +#endif + return ret; +} + /*! \internal Scans no more than \a maxlen QChars in the current buffer for the @@ -736,19 +756,28 @@ bool QTextStreamPrivate::scan(const QChar **ptr, int *length, int maxlen, TokenD const QChar ch = *chPtr++; ++totalSize; - if (delimiter == Space && ch.isSpace()) { - foundToken = true; - delimSize = 1; - } else if (delimiter == NotSpace && !ch.isSpace()) { - foundToken = true; - delimSize = 1; - } else if (delimiter == EndOfLine && ch == QLatin1Char('\n')) { - foundToken = true; - delimSize = (lastChar == QLatin1Char('\r')) ? 2 : 1; - consumeDelimiter = true; + switch (delimiter) { + case Space: + if (ch.isSpace()) { + foundToken = true; + delimSize = 1; + } + break; + case NotSpace: + if (!ch.isSpace()) { + foundToken = true; + delimSize = 1; + } + break; + case EndOfLine: + if (ch == QLatin1Char('\n')) { + foundToken = true; + delimSize = (lastChar == QLatin1Char('\r')) ? 2 : 1; + consumeDelimiter = true; + } + lastChar = ch; + break; } - - lastChar = ch; } } while (!foundToken && (!maxlen || totalSize < maxlen) @@ -769,7 +798,7 @@ bool QTextStreamPrivate::scan(const QChar **ptr, int *length, int maxlen, TokenD // if we find a '\r' at the end of the data when reading lines, // don't make it part of the line. - if (totalSize > 0 && !foundToken && delimiter == EndOfLine) { + if (delimiter == EndOfLine && totalSize > 0 && !foundToken) { if (((string && stringOffset + totalSize == string->size()) || (device && device->atEnd())) && lastChar == QLatin1Char('\r')) { consumeDelimiter = true; @@ -1603,14 +1632,7 @@ QString QTextStream::readAll() Q_D(QTextStream); CHECK_VALID_STREAM(QString()); - const QChar *readPtr; - int length; - if (!d->scan(&readPtr, &length, /* maxlen = */ 0, QTextStreamPrivate::EndOfFile)) - return QString(); - - QString tmp = QString(readPtr, length); - d->consumeLastToken(); - return tmp; + return d->read(INT_MAX); } /*! @@ -1662,14 +1684,7 @@ QString QTextStream::read(qint64 maxlen) if (maxlen <= 0) return QString::fromLatin1(""); // empty, not null - const QChar *readPtr; - int length; - if (!d->scan(&readPtr, &length, int(maxlen), QTextStreamPrivate::EndOfFile)) - return QString(); - - QString tmp = QString(readPtr, length); - d->consumeLastToken(); - return tmp; + return d->read(int(maxlen)); } /*! \internal diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index face923..c9a4cf1 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -172,6 +172,8 @@ #include "private/qunicodetables_p.h" #include "qatomic.h" #include "qbytearray.h" +#include "qdir.h" +#include "qfile.h" #include "qlist.h" #ifndef QT_NO_REGEXP #include "qregexp.h" @@ -5547,6 +5549,79 @@ QUrl QUrl::fromEncoded(const QByteArray &input, ParsingMode parsingMode) } /*! + Returns a valid URL from a user supplied \a userInput string if one can be + deducted. In the case that is not possible, an invalid QUrl() is returned. + + \since 4.6 + + Most applications that can browse the web, allow the user to input a URL + in the form of a plain string. This string can be manually typed into + a location bar, obtained from the clipboard, or passed in via command + line arguments. + + When the string is not already a valid URL, a best guess is performed, + making various web related assumptions. + + In the case the string corresponds to a valid file path on the system, + a file:// URL is constructed, using QUrl::fromLocalFile(). + + If that is not the case, an attempt is made to turn the string into a + http:// or ftp:// URL. The latter in the case the string starts with + 'ftp'. The result is then passed through QUrl's tolerant parser, and + in the case or success, a valid QUrl is returned, or else a QUrl(). + + \section1 Examples: + + \list + \o qt.nokia.com becomes http://qt.nokia.com + \o ftp.qt.nokia.com becomes ftp://ftp.qt.nokia.com + \o localhost becomes http://localhost + \o /home/user/test.html becomes file:///home/user/test.html (if exists) + \endlist + + \section2 Tips to avoid erroneous character conversion when dealing with + URLs and strings: + + \list + \o When creating an URL QString from a QByteArray or a char*, always use + QString::fromUtf8(). + \o Favor the use of QUrl::fromEncoded() and QUrl::toEncoded() instead of + QUrl(string) and QUrl::toString() when converting QUrl to/from string. + \endlist +*/ +QUrl QUrl::fromUserInput(const QString &userInput) +{ + QString trimmedString = userInput.trimmed(); + + // Absolute files + if (QDir::isAbsolutePath(trimmedString)) + return QUrl::fromLocalFile(trimmedString); + + // Check the most common case of a valid url with scheme and host first + QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode); + if (url.isValid() && !url.scheme().isEmpty() && !url.host().isEmpty()) + return url; + + // If the string is missing the scheme or the scheme is not valid, prepend a scheme + QString scheme = url.scheme(); + if (scheme.isEmpty() || scheme.contains(QLatin1Char('.')) || scheme == QLatin1String("localhost")) { + // Do not do anything for strings such as "foo", only "foo.com" + int dotIndex = trimmedString.indexOf(QLatin1Char('.')); + if (dotIndex != -1 || trimmedString.startsWith(QLatin1String("localhost"))) { + const QString hostscheme = trimmedString.left(dotIndex).toLower(); + QByteArray scheme = (hostscheme == QLatin1String("ftp")) ? "ftp" : "http"; + trimmedString = QLatin1String(scheme) + QLatin1String("://") + trimmedString; + } + url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode); + } + + if (url.isValid()) + return url; + + return QUrl(); +} + +/*! Returns a decoded copy of \a input. \a input is first decoded from percent encoding, then converted from UTF-8 to unicode. */ diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index b00074a..f76d345 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -189,6 +189,8 @@ public: static QUrl fromEncoded(const QByteArray &url, ParsingMode mode); // ### Qt 5: merge the two fromEncoded() functions, with mode = TolerantMode + static QUrl fromUserInput(const QString &userInput); + void detach(); bool isDetached() const; diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 61b9ee7..8a55bad 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -2067,7 +2067,8 @@ QStringList QCoreApplication::arguments() ; else if (l1arg == "-style" || l1arg == "-session" || - l1arg == "-graphicssystem") + l1arg == "-graphicssystem" || + l1arg == "-testability") ++a; else stripped += arg; diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 185c305..3bef0d4 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -270,7 +270,6 @@ QT_BEGIN_NAMESPACE \omitvalue NetworkReplyUpdated \omitvalue FutureCallOut \omitvalue CocoaRequestModal - \omitvalue SymbianDeferredFocusChanged \omitvalue UpdateSoftKeys \omitvalue NativeGesture */ diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index bc96918..be25b41 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -281,9 +281,7 @@ public: RequestSoftwareInputPanel = 199, CloseSoftwareInputPanel = 200, - SymbianDeferredFocusChanged = 201, // Internal for generating asynchronous focus events on Symbian - - UpdateSoftKeys = 202, // Internal for compressing soft key updates + UpdateSoftKeys = 201, // Internal for compressing soft key updates // 512 reserved for Qt Jambi's MetaCall event // 513 reserved for Qt Jambi's DeleteOnMainThread event diff --git a/src/corelib/kernel/qsystemsemaphore_symbian.cpp b/src/corelib/kernel/qsystemsemaphore_symbian.cpp index 90f4e70..31fd9e9 100644 --- a/src/corelib/kernel/qsystemsemaphore_symbian.cpp +++ b/src/corelib/kernel/qsystemsemaphore_symbian.cpp @@ -66,7 +66,7 @@ void QSystemSemaphorePrivate::setErrorString(const QString &function, int err) error = QSystemSemaphore::AlreadyExists; break; case KErrNotFound: - errorString = QCoreApplication::tr("%1: doesn't exists", "QSystemSemaphore").arg(function); + errorString = QCoreApplication::tr("%1: does not exist", "QSystemSemaphore").arg(function); error = QSystemSemaphore::NotFound; break; case KErrNoMemory: diff --git a/src/corelib/statemachine/qabstracttransition.cpp b/src/corelib/statemachine/qabstracttransition.cpp index 8b858c7..76baa0a 100644 --- a/src/corelib/statemachine/qabstracttransition.cpp +++ b/src/corelib/statemachine/qabstracttransition.cpp @@ -93,6 +93,10 @@ QT_BEGIN_NAMESPACE \property QAbstractTransition::targetState \brief the target state of this transition + + If a transition has no target state, the transition may still be + triggered, but this will not cause the state machine's configuration to + change (i.e. the current state will not be exited and re-entered). */ /*! diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp index 503eec0..c7144e4 100644 --- a/src/corelib/statemachine/qstatemachine.cpp +++ b/src/corelib/statemachine/qstatemachine.cpp @@ -804,6 +804,14 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr } if (hasValidEndValue) { + if (anim->state() == QAbstractAnimation::Running) { + // The animation is still running. This can happen if the + // animation is a group, and one of its children just finished, + // and that caused a state to emit its polished() signal, and + // that triggered a transition in the machine. + // Just stop the animation so it is correctly restarted again. + anim->stop(); + } anim->start(); } } @@ -1257,23 +1265,45 @@ void QStateMachinePrivate::_q_process() break; case Finished: state = NotRunning; + cancelAllDelayedEvents(); unregisterAllTransitions(); emit q->finished(); break; case Stopped: state = NotRunning; + cancelAllDelayedEvents(); unregisterAllTransitions(); emit q->stopped(); break; } } -void QStateMachinePrivate::scheduleProcess() +void QStateMachinePrivate::processEvents(EventProcessingMode processingMode) { if ((state != Running) || processing || processingScheduled) return; - processingScheduled = true; - QMetaObject::invokeMethod(q_func(), "_q_process", Qt::QueuedConnection); + switch (processingMode) { + case DirectProcessing: + _q_process(); + break; + case QueuedProcessing: + processingScheduled = true; + QMetaObject::invokeMethod(q_func(), "_q_process", Qt::QueuedConnection); + break; + } +} + +void QStateMachinePrivate::cancelAllDelayedEvents() +{ + Q_Q(QStateMachine); + QHash<int, QEvent*>::const_iterator it; + for (it = delayedEvents.constBegin(); it != delayedEvents.constEnd(); ++it) { + int id = it.key(); + QEvent *e = it.value(); + q->killTimer(id); + delete e; + } + delayedEvents.clear(); } namespace { @@ -1335,7 +1365,7 @@ void QStateMachinePrivate::goToState(QAbstractState *targetState) trans->setTargetState(targetState); } - scheduleProcess(); + processEvents(QueuedProcessing); } void QStateMachinePrivate::registerTransitions(QAbstractState *state) @@ -1512,6 +1542,15 @@ void QStateMachinePrivate::unregisterEventTransition(QEventTransition *transitio } QEventTransitionPrivate::get(transition)->registered = false; } + +void QStateMachinePrivate::handleFilteredEvent(QObject *watched, QEvent *event) +{ + Q_ASSERT(qobjectEvents.contains(watched)); + if (qobjectEvents[watched].contains(event->type())) { + internalEventQueue.append(new QStateMachine::WrappedEvent(watched, handler->cloneEvent(event))); + processEvents(DirectProcessing); + } +} #endif void QStateMachinePrivate::handleTransitionSignal(QObject *sender, int signalIndex, @@ -1533,7 +1572,7 @@ void QStateMachinePrivate::handleTransitionSignal(QObject *sender, int signalInd << ", signal =" << sender->metaObject()->method(signalIndex).signature() << ')'; #endif internalEventQueue.append(new QStateMachine::SignalEvent(sender, signalIndex, vargs)); - scheduleProcess(); + processEvents(DirectProcessing); } /*! @@ -1563,6 +1602,18 @@ QStateMachine::~QStateMachine() { } +/*! + \enum QStateMachine::EventPriority + + This enum type specifies the priority of an event posted to the state + machine using postEvent(). + + Events of high priority are processed before events of normal priority. + + \value NormalPriority The event has normal priority. + \value HighPriority The event has high priority. +*/ + /*! \enum QStateMachine::Error This enum type defines errors that can occur in the state machine at run time. When the state @@ -1768,53 +1819,105 @@ void QStateMachine::stop() break; case QStateMachinePrivate::Running: d->stop = true; - d->scheduleProcess(); + d->processEvents(QStateMachinePrivate::QueuedProcessing); break; } } /*! - Posts the given \a event for processing by this state machine, with a delay - of \a delay milliseconds. + Posts the given \a event of the given \a priority for processing by this + state machine. This function returns immediately. The event is added to the state machine's event queue. Events are processed in the order posted. The state machine takes ownership of the event and deletes it once it has been processed. You can only post events when the state machine is running. + + \sa postDelayedEvent() */ -void QStateMachine::postEvent(QEvent *event, int delay) +void QStateMachine::postEvent(QEvent *event, EventPriority priority) { Q_D(QStateMachine); if (d->state != QStateMachinePrivate::Running) { qWarning("QStateMachine::postEvent: cannot post event when the state machine is not running"); return; } + if (!event) { + qWarning("QStateMachine::postEvent: cannot post null event"); + return; + } #ifdef QSTATEMACHINE_DEBUG - qDebug() << this << ": posting external event" << event << "with delay" << delay; + qDebug() << this << ": posting event" << event; #endif - if (delay) { - int tid = startTimer(delay); - d->delayedEvents[tid] = event; - } else { + switch (priority) { + case NormalPriority: d->externalEventQueue.append(event); - d->scheduleProcess(); + break; + case HighPriority: + d->internalEventQueue.append(event); + break; } + d->processEvents(QStateMachinePrivate::QueuedProcessing); } /*! - \internal + Posts the given \a event for processing by this state machine, with the + given \a delay in milliseconds. Returns an identifier associated with the + delayed event, or -1 if the event could not be posted. + + This function returns immediately. When the delay has expired, the event + will be added to the state machine's event queue for processing. The state + machine takes ownership of the event and deletes it once it has been + processed. + + You can only post events when the state machine is running. - Posts the given internal \a event for processing by this state machine. + \sa cancelDelayedEvent(), postEvent() */ -void QStateMachine::postInternalEvent(QEvent *event) +int QStateMachine::postDelayedEvent(QEvent *event, int delay) { Q_D(QStateMachine); + if (d->state != QStateMachinePrivate::Running) { + qWarning("QStateMachine::postDelayedEvent: cannot post event when the state machine is not running"); + return -1; + } + if (!event) { + qWarning("QStateMachine::postDelayedEvent: cannot post null event"); + return -1; + } + if (delay < 0) { + qWarning("QStateMachine::postDelayedEvent: delay cannot be negative"); + return -1; + } #ifdef QSTATEMACHINE_DEBUG - qDebug() << this << ": posting internal event" << event; + qDebug() << this << ": posting event" << event << "with delay" << delay; #endif - d->internalEventQueue.append(event); - d->scheduleProcess(); + int tid = startTimer(delay); + d->delayedEvents[tid] = event; + return tid; +} + +/*! + Cancels the delayed event identified by the given \a id. The id should be a + value returned by a call to postDelayedEvent(). Returns true if the event + was successfully cancelled, otherwise returns false. + + \sa postDelayedEvent() +*/ +bool QStateMachine::cancelDelayedEvent(int id) +{ + Q_D(QStateMachine); + if (d->state != QStateMachinePrivate::Running) { + qWarning("QStateMachine::cancelDelayedEvent: the machine is not running"); + return false; + } + QEvent *e = d->delayedEvents.take(id); + if (!e) + return false; + killTimer(id); + delete e; + return true; } /*! @@ -1858,11 +1961,16 @@ bool QStateMachine::event(QEvent *e) if (e->type() == QEvent::Timer) { QTimerEvent *te = static_cast<QTimerEvent*>(e); int tid = te->timerId(); - if (d->delayedEvents.contains(tid)) { + if (d->state != QStateMachinePrivate::Running) { + // This event has been cancelled already + Q_ASSERT(!d->delayedEvents.contains(tid)); + return true; + } + QEvent *ee = d->delayedEvents.take(tid); + if (ee != 0) { killTimer(tid); - QEvent *ee = d->delayedEvents.take(tid); d->externalEventQueue.append(ee); - d->scheduleProcess(); + d->processEvents(QStateMachinePrivate::DirectProcessing); return true; } } @@ -1876,9 +1984,7 @@ bool QStateMachine::event(QEvent *e) bool QStateMachine::eventFilter(QObject *watched, QEvent *event) { Q_D(QStateMachine); - Q_ASSERT(d->qobjectEvents.contains(watched)); - if (d->qobjectEvents[watched].contains(event->type())) - postEvent(new QStateMachine::WrappedEvent(watched, d->handler->cloneEvent(event))); + d->handleFilteredEvent(watched, event); return false; } #endif diff --git a/src/corelib/statemachine/qstatemachine.h b/src/corelib/statemachine/qstatemachine.h index a0b2b14..321a05c 100644 --- a/src/corelib/statemachine/qstatemachine.h +++ b/src/corelib/statemachine/qstatemachine.h @@ -102,6 +102,11 @@ public: QEvent *m_event; }; + enum EventPriority { + NormalPriority, + HighPriority + }; + enum RestorePolicy { DoNotRestoreProperties, RestoreProperties @@ -138,7 +143,9 @@ public: QStateMachine::RestorePolicy globalRestorePolicy() const; void setGlobalRestorePolicy(QStateMachine::RestorePolicy restorePolicy); - void postEvent(QEvent *event, int delay = 0); + void postEvent(QEvent *event, EventPriority priority = NormalPriority); + int postDelayedEvent(QEvent *event, int delay); + bool cancelDelayedEvent(int id); QSet<QAbstractState*> configuration() const; @@ -158,8 +165,6 @@ protected: void onEntry(QEvent *event); void onExit(QEvent *event); - void postInternalEvent(QEvent *event); - virtual void beginSelectTransitions(QEvent *event); virtual void endSelectTransitions(QEvent *event); diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h index a1b6de2..cf7a073 100644 --- a/src/corelib/statemachine/qstatemachine_p.h +++ b/src/corelib/statemachine/qstatemachine_p.h @@ -88,6 +88,10 @@ public: Starting, Running }; + enum EventProcessingMode { + DirectProcessing, + QueuedProcessing + }; enum StopProcessingReason { EventQueueEmpty, Finished, @@ -149,12 +153,14 @@ public: #ifndef QT_NO_STATEMACHINE_EVENTFILTER void registerEventTransition(QEventTransition *transition); void unregisterEventTransition(QEventTransition *transition); + void handleFilteredEvent(QObject *watched, QEvent *event); #endif void unregisterTransition(QAbstractTransition *transition); void unregisterAllTransitions(); void handleTransitionSignal(QObject *sender, int signalIndex, void **args); - void scheduleProcess(); + void processEvents(EventProcessingMode processingMode); + void cancelAllDelayedEvents(); #ifndef QT_NO_PROPERTIES typedef QPair<QObject *, QByteArray> RestorableId; diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h index e1a0e06..efa39b5 100644 --- a/src/corelib/tools/qstringbuilder.h +++ b/src/corelib/tools/qstringbuilder.h @@ -198,6 +198,17 @@ template <int N> struct QConcatenable<char[N]> } }; +template <int N> struct QConcatenable<const char[N]> +{ + typedef const char type[N]; + static int size(const char[N]) { return N - 1; } + static inline void appendTo(const char a[N], QChar *&out) + { + for (int i = 0; i < N - 1; ++i) + *out++ = QLatin1Char(a[i]); + } +}; + template <> struct QConcatenable<const char *> { typedef char const *type; @@ -241,7 +252,7 @@ template <typename A, typename B> QStringBuilder<typename QConcatenable<A>::type, typename QConcatenable<B>::type> operator%(const A &a, const B &b) { - return QStringBuilder<A, B>(a, b); + return QStringBuilder<typename QConcatenable<A>::type, typename QConcatenable<B>::type>(a, b); } #ifdef QT_USE_FAST_OPERATOR_PLUS @@ -249,7 +260,7 @@ template <typename A, typename B> QStringBuilder<typename QConcatenable<A>::type, typename QConcatenable<B>::type> operator+(const A &a, const B &b) { - return QStringBuilder<A, B>(a, b); + return QStringBuilder<typename QConcatenable<A>::type, typename QConcatenable<B>::type>(a, b); } #endif diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp index 14f19f2..297c900 100644 --- a/src/gui/dialogs/qfiledialog.cpp +++ b/src/gui/dialogs/qfiledialog.cpp @@ -317,6 +317,7 @@ QFileDialog::QFileDialog(QWidget *parent, Qt::WindowFlags f) { Q_D(QFileDialog); d->init(); + d->lineEdit()->selectAll(); } /*! @@ -334,6 +335,7 @@ QFileDialog::QFileDialog(QWidget *parent, { Q_D(QFileDialog); d->init(directory, filter, caption); + d->lineEdit()->selectAll(); } /*! diff --git a/src/gui/dialogs/qfontdialog.cpp b/src/gui/dialogs/qfontdialog.cpp index ca882c5..60fae27 100644 --- a/src/gui/dialogs/qfontdialog.cpp +++ b/src/gui/dialogs/qfontdialog.cpp @@ -602,6 +602,8 @@ void QFontDialogPrivate::updateStyles() } if (!found) styleList->setCurrentItem(0); + } else { + styleList->setCurrentItem(0); } styleEdit->setText(styleList->currentText()); diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp index eee9bbf..e971fd8 100644 --- a/src/gui/effects/qgraphicseffect.cpp +++ b/src/gui/effects/qgraphicseffect.cpp @@ -67,6 +67,7 @@ \o QGraphicsOpacityEffect - renders the item with an opacity \o QGraphicsPixelizeEffect - pixelizes the item with any pixel size \o QGraphicsGrayscaleEffect - renders the item in shades of gray + \o QGraphicsBloomEffect - applies a blooming / glowing effect \endlist \img graphicseffect-effects.png @@ -795,7 +796,7 @@ QGraphicsBlurEffect::QGraphicsBlurEffect(QObject *parent) : QGraphicsEffect(*new QGraphicsBlurEffectPrivate, parent) { Q_D(QGraphicsBlurEffect); - d->filter->setBlurHint(QPixmapBlurFilter::PerformanceHint); + d->filter->setBlurHint(Qt::PerformanceHint); } /*! @@ -839,48 +840,34 @@ void QGraphicsBlurEffect::setBlurRadius(int radius) */ /*! - \enum QGraphicsBlurEffect::BlurHint - - \since 4.6 - - This enum describes the hint of a blur graphics effect. - - \value PerformanceHint Using this value hints that performance is the - most important factor, at the potential cost of lower quality. - - \value QualityHint Using this value hints that a higher quality blur is - preferred over a fast blur. -*/ - -/*! \property QGraphicsBlurEffect::blurHint \brief the blur hint of the effect. - Use the PerformanceHint blur hint to say that you want a faster blur, - and the QualityHint blur hint to say that you prefer a higher quality blur. + Use the Qt::PerformanceHint hint to say that you want a faster blur, + and the Qt::QualityHint hint to say that you prefer a higher quality blur. - When animating the blur radius it's recommended to use the PerformanceHint. + When animating the blur radius it's recommended to use Qt::PerformanceHint. - By default, the blur hint is PerformanceHint. + By default, the blur hint is Qt::PerformanceHint. */ -QGraphicsBlurEffect::BlurHint QGraphicsBlurEffect::blurHint() const +Qt::RenderHint QGraphicsBlurEffect::blurHint() const { Q_D(const QGraphicsBlurEffect); - return BlurHint(d->filter->blurHint()); + return d->filter->blurHint(); } -void QGraphicsBlurEffect::setBlurHint(QGraphicsBlurEffect::BlurHint hint) +void QGraphicsBlurEffect::setBlurHint(Qt::RenderHint hint) { Q_D(QGraphicsBlurEffect); - if (BlurHint(d->filter->blurHint()) == hint) + if (d->filter->blurHint() == hint) return; - d->filter->setBlurHint(QPixmapBlurFilter::BlurHint(hint)); + d->filter->setBlurHint(hint); emit blurHintChanged(hint); } /*! - \fn void QGraphicsBlurEffect::blurHintChanged(QGraphicsBlurEffect::BlurHint hint) + \fn void QGraphicsBlurEffect::blurHintChanged(Qt::RenderHint hint) This signal is emitted whenever the effect's blur hint changes. The \a hint parameter holds the effect's new blur hint. @@ -1305,5 +1292,237 @@ void QGraphicsOpacityEffect::draw(QPainter *painter, QGraphicsEffectSource *sour painter->restore(); } +/*! + \class QGraphicsBloomEffect + \brief The QGraphicsBloomEffect class provides a bloom/glow effect. + \since 4.6 + + A bloom/glow effect adds fringes of light around bright areas in the source. + + \img graphicseffect-bloom.png + + \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsPixelizeEffect, + QGraphicsGrayscaleEffect, QGraphicsColorizeEffect +*/ + +/*! + Constructs a new QGraphicsBloomEffect instance. + The \a parent parameter is passed to QGraphicsEffect's constructor. +*/ +QGraphicsBloomEffect::QGraphicsBloomEffect(QObject *parent) + : QGraphicsEffect(*new QGraphicsBloomEffectPrivate, parent) +{ + Q_D(QGraphicsBloomEffect); + for (int i = 0; i < 256; ++i) + d->colorTable[i] = qMin(i + d->brightness, 255); +} + +/*! + Destroys the effect. +*/ +QGraphicsBloomEffect::~QGraphicsBloomEffect() +{ +} + +/*! + \reimp +*/ +QRectF QGraphicsBloomEffect::boundingRectFor(const QRectF &rect) const +{ + Q_D(const QGraphicsBloomEffect); + const qreal delta = d->blurFilter.radius() * 2; + return rect.adjusted(-delta, -delta, delta, delta); +} + +/*! + \property QGraphicsBloomEffect::blurRadius + \brief the blur radius in pixels of the effect. + + Using a smaller radius results in a sharper appearance, whereas a bigger + radius results in a more blurred appearance. + + By default, the blur radius is 5 pixels. + + \sa strength(), brightness() +*/ +int QGraphicsBloomEffect::blurRadius() const +{ + Q_D(const QGraphicsBloomEffect); + return d->blurFilter.radius(); +} + +void QGraphicsBloomEffect::setBlurRadius(int radius) +{ + Q_D(QGraphicsBloomEffect); + if (d->blurFilter.radius() == radius) + return; + + d->blurFilter.setRadius(radius); + updateBoundingRect(); + emit blurRadiusChanged(radius); +} + +/*! + \fn void QGraphicsBloomEffect::blurRadiusChanged(int blurRadius) + + This signal is emitted whenever the effect's blur radius changes. + The \a blurRadius parameter holds the effect's new blur radius. +*/ + +/*! + \property QGraphicsBloomEffect::blurHint + \brief the blur hint of the effect. + + Use the Qt::PerformanceHint hint to say that you want a faster blur, + and the Qt::QualityHint hint to say that you prefer a higher quality blur. + + When animating the blur radius it's recommended to use Qt::PerformanceHint. + + By default, the blur hint is Qt::PerformanceHint. +*/ +Qt::RenderHint QGraphicsBloomEffect::blurHint() const +{ + Q_D(const QGraphicsBloomEffect); + return d->blurFilter.blurHint(); +} + +void QGraphicsBloomEffect::setBlurHint(Qt::RenderHint hint) +{ + Q_D(QGraphicsBloomEffect); + if (d->blurFilter.blurHint() == hint) + return; + + d->blurFilter.setBlurHint(hint); + emit blurHintChanged(hint); +} + +/*! + \fn void QGraphicsBloomEffect::blurHintChanged(Qt::RenderHint hint) + + This signal is emitted whenever the effect's blur hint changes. + The \a hint parameter holds the effect's new blur hint. +*/ + +/*! + \property QGraphicsBloomEffect::brightness + \brief the brightness of the glow. + + The value should be in the range of 0 to 255, where 0 is dark + and 255 is bright. + + By default, the brightness is 70. + + \sa strength(), blurRadius() +*/ +int QGraphicsBloomEffect::brightness() const +{ + Q_D(const QGraphicsBloomEffect); + return d->brightness; +} + +void QGraphicsBloomEffect::setBrightness(int brightness) +{ + Q_D(QGraphicsBloomEffect); + brightness = qBound(0, brightness, 255); + if (d->brightness == brightness) + return; + + d->brightness = brightness; + for (int i = 0; i < 256; ++i) + d->colorTable[i] = qMin(i + brightness, 255); + + update(); + emit brightnessChanged(brightness); +} + +/*! + \fn void QGraphicsBloomEffect::brightnessChanged(int brightness) + + This signal is emitted whenever the effect's brightness changes. + The \a brightness parameter holds the effect's new brightness. +*/ + +/*! + \property QGraphicsBloomEffect::strength + \brief the strength of the effect. + + A strength 0.0 equals to no effect, while 1.0 means maximum glow. + + By default, the strength is 0.7. +*/ +qreal QGraphicsBloomEffect::strength() const +{ + Q_D(const QGraphicsBloomEffect); + return d->strength; +} + +void QGraphicsBloomEffect::setStrength(qreal strength) +{ + Q_D(QGraphicsBloomEffect); + strength = qBound(qreal(0.0), strength, qreal(1.0)); + if (qFuzzyCompare(d->strength, strength)) + return; + + d->strength = strength; + update(); + emit strengthChanged(strength); +} + +/*! + \fn void QGraphicsBloomEffect::strengthChanged(qreal strength) + + This signal is emitted whenever the effect's strength changes. + The \a strength parameter holds the effect's new strength. +*/ + +/*! + \reimp +*/ +void QGraphicsBloomEffect::draw(QPainter *painter, QGraphicsEffectSource *source) +{ + Q_D(QGraphicsBloomEffect); + if (d->strength < 0.001) { + source->draw(painter); + return; + } + + const Qt::CoordinateSystem system = source->isPixmap() + ? Qt::LogicalCoordinates : Qt::DeviceCoordinates; + QPoint offset; + QPixmap pixmap = source->pixmap(system, &offset); + QImage result = pixmap.toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied); + + // Blur. + QPainter blurPainter(&pixmap); + d->blurFilter.draw(&blurPainter, QPointF(), pixmap); + blurPainter.end(); + + // Brighten. + QImage overlay = pixmap.toImage().convertToFormat(QImage::Format_ARGB32); + const int numBits = overlay.width() * overlay.height(); + QRgb *bits = reinterpret_cast<QRgb *>(overlay.bits()); + for (int i = 0; i < numBits; ++i) { + const QRgb bit = bits[i]; + bits[i] = qRgba(d->colorTable[qRed(bit)], d->colorTable[qGreen(bit)], + d->colorTable[qBlue(bit)], qAlpha(bit)); + } + + // Composite. + QPainter compPainter(&result); + compPainter.setCompositionMode(QPainter::CompositionMode_Overlay); + compPainter.setOpacity(d->strength); + compPainter.drawImage(0, 0, overlay); + compPainter.end(); + + if (system == Qt::DeviceCoordinates) { + QTransform restoreTransform = painter->worldTransform(); + painter->setWorldTransform(QTransform()); + painter->drawImage(offset, result); + painter->setWorldTransform(restoreTransform); + } else { + painter->drawImage(offset, result); + } +} + QT_END_NAMESPACE diff --git a/src/gui/effects/qgraphicseffect.h b/src/gui/effects/qgraphicseffect.h index c256381..c5d3ede 100644 --- a/src/gui/effects/qgraphicseffect.h +++ b/src/gui/effects/qgraphicseffect.h @@ -224,27 +224,22 @@ class Q_GUI_EXPORT QGraphicsBlurEffect: public QGraphicsEffect { Q_OBJECT Q_PROPERTY(int blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged) - Q_PROPERTY(BlurHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged) + Q_PROPERTY(Qt::RenderHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged) public: - enum BlurHint { - PerformanceHint, - QualityHint - }; - QGraphicsBlurEffect(QObject *parent = 0); ~QGraphicsBlurEffect(); QRectF boundingRectFor(const QRectF &rect) const; int blurRadius() const; - BlurHint blurHint() const; + Qt::RenderHint blurHint() const; public Q_SLOTS: void setBlurRadius(int blurRadius); - void setBlurHint(BlurHint blurHint); + void setBlurHint(Qt::RenderHint hint); Q_SIGNALS: void blurRadiusChanged(int blurRadius); - void blurHintChanged(BlurHint blurHint); + void blurHintChanged(Qt::RenderHint hint); protected: void draw(QPainter *painter, QGraphicsEffectSource *source); @@ -339,6 +334,44 @@ private: Q_DISABLE_COPY(QGraphicsOpacityEffect) }; +class QGraphicsBloomEffectPrivate; +class Q_GUI_EXPORT QGraphicsBloomEffect: public QGraphicsEffect +{ + Q_OBJECT + Q_PROPERTY(int blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged) + Q_PROPERTY(Qt::RenderHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged) + Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged) + Q_PROPERTY(qreal strength READ strength WRITE setStrength NOTIFY strengthChanged) +public: + QGraphicsBloomEffect(QObject *parent = 0); + ~QGraphicsBloomEffect(); + + QRectF boundingRectFor(const QRectF &rect) const; + int blurRadius() const; + Qt::RenderHint blurHint() const; + int brightness() const; + qreal strength() const; + +public Q_SLOTS: + void setBlurRadius(int blurRadius); + void setBlurHint(Qt::RenderHint hint); + void setBrightness(int brightness); + void setStrength(qreal strength); + +Q_SIGNALS: + void blurRadiusChanged(int blurRadius); + void blurHintChanged(Qt::RenderHint hint); + void brightnessChanged(int brightness); + void strengthChanged(qreal strength); + +protected: + void draw(QPainter *painter, QGraphicsEffectSource *source); + +private: + Q_DECLARE_PRIVATE(QGraphicsBloomEffect) + Q_DISABLE_COPY(QGraphicsBloomEffect) +}; + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/gui/effects/qgraphicseffect_p.h b/src/gui/effects/qgraphicseffect_p.h index e109790..ff2fb85 100644 --- a/src/gui/effects/qgraphicseffect_p.h +++ b/src/gui/effects/qgraphicseffect_p.h @@ -185,6 +185,18 @@ public: uint hasOpacityMask : 1; }; +class QGraphicsBloomEffectPrivate : public QGraphicsEffectPrivate +{ + Q_DECLARE_PUBLIC(QGraphicsBlurEffect) +public: + QGraphicsBloomEffectPrivate() : brightness(70), strength(qreal(0.7)) {} + + QPixmapBlurFilter blurFilter; + int colorTable[256]; + int brightness; + qreal strength; +}; + QT_END_NAMESPACE #endif // QGRAPHICSEFFECT_P_H diff --git a/src/gui/embedded/qscreenvfb_qws.cpp b/src/gui/embedded/qscreenvfb_qws.cpp index 19d4fa8..d71336d 100644 --- a/src/gui/embedded/qscreenvfb_qws.cpp +++ b/src/gui/embedded/qscreenvfb_qws.cpp @@ -196,7 +196,7 @@ bool QVFbScreen::connect(const QString &displaySpec) if (displayArgs.contains(QLatin1String("Gray"))) grayscale = true; - key_t key = ftok(QByteArray(QT_VFB_MOUSE_PIPE).replace("%1", QByteArray::number(displayId)), 'b'); + key_t key = ftok(QT_VFB_MOUSE_PIPE(displayId).toLocal8Bit(), 'b'); if (key == -1) return false; @@ -330,8 +330,7 @@ void QVFbScreen::disconnect() bool QVFbScreen::initDevice() { #ifndef QT_NO_QWS_MOUSE_QVFB - const QString mouseDev = QString::fromLatin1(QT_VFB_MOUSE_PIPE) - .arg(displayId); + const QString mouseDev = QT_VFB_MOUSE_PIPE(displayId); d_ptr->mouse = new QVFbMouseHandler(QLatin1String("QVFbMouse"), mouseDev); qwsServer->setDefaultMouse("None"); if (d_ptr->mouse) @@ -339,8 +338,7 @@ bool QVFbScreen::initDevice() #endif #if !defined(QT_NO_QWS_KBD_QVFB) && !defined(QT_NO_QWS_KEYBOARD) - const QString keyboardDev = QString::fromLatin1(QT_VFB_KEYBOARD_PIPE) - .arg(displayId); + const QString keyboardDev = QT_VFB_KEYBOARD_PIPE(displayId); d_ptr->keyboard = new QVFbKeyboardHandler(keyboardDev); qwsServer->setDefaultKeyboard("None"); #endif diff --git a/src/gui/embedded/qsoundqss_qws.cpp b/src/gui/embedded/qsoundqss_qws.cpp index 6bac8dc..b859be5 100644 --- a/src/gui/embedded/qsoundqss_qws.cpp +++ b/src/gui/embedded/qsoundqss_qws.cpp @@ -67,6 +67,8 @@ #include <qdebug.h> +#include <qvfbhdr.h> + extern int errno; QT_BEGIN_NAMESPACE @@ -79,7 +81,6 @@ QT_BEGIN_NAMESPACE static int sound_speed = 44100; #ifndef QT_NO_QWS_SOUNDSERVER extern int qws_display_id; -#define SOUND_PIPE "/tmp/.qt_soundserver-%1" #endif static char *zeroMem = 0; @@ -708,7 +709,7 @@ protected: #ifndef QT_NO_QWS_SOUNDSERVER QWSSoundServerSocket::QWSSoundServerSocket(QObject *parent) : - QWSServerSocket(QString::fromLatin1(SOUND_PIPE).arg(qws_display_id), parent) + QWSServerSocket(QT_VFB_SOUND_PIPE(qws_display_id), parent) { connect(this, SIGNAL(newConnection()), this, SLOT(newConnection())); } @@ -716,7 +717,7 @@ QWSSoundServerSocket::QWSSoundServerSocket(QObject *parent) : #ifdef QT3_SUPPORT QWSSoundServerSocket::QWSSoundServerSocket(QObject *parent, const char *name) : - QWSServerSocket(QString::fromLatin1(SOUND_PIPE).arg(qws_display_id), parent) + QWSServerSocket(QT_VFB_SOUND_PIPE(qws_display_id), parent) { if (name) setObjectName(QString::fromAscii(name)); @@ -1395,7 +1396,7 @@ void QWSSoundServer::translateSoundCompleted( int, int sid ) QWSSoundClient::QWSSoundClient(QObject* parent) : QWSSocket(parent) { - connectToLocalFile(QString::fromLatin1(SOUND_PIPE).arg(qws_display_id)); + connectToLocalFile(QT_VFB_SOUND_PIPE(qws_display_id)); QObject::connect(this,SIGNAL(readyRead()), this,SLOT(tryReadCommand())); if( state() == QWS_SOCK_BASE::ConnectedState ) QTimer::singleShot(1, this, SIGNAL(connected())); @@ -1409,7 +1410,7 @@ QWSSoundClient::~QWSSoundClient( ) void QWSSoundClient::reconnect() { - connectToLocalFile(QString::fromLatin1(SOUND_PIPE).arg(qws_display_id)); + connectToLocalFile(QT_VFB_SOUND_PIPE(qws_display_id)); if( state() == QWS_SOCK_BASE::ConnectedState ) emit connected(); else emit error( QTcpSocket::ConnectionRefusedError ); } diff --git a/src/gui/embedded/qvfbhdr.h b/src/gui/embedded/qvfbhdr.h index 73e08e0..f02286e 100644 --- a/src/gui/embedded/qvfbhdr.h +++ b/src/gui/embedded/qvfbhdr.h @@ -52,9 +52,22 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -#define QT_VFB_MOUSE_PIPE "/tmp/.qtvfb_mouse-%1" -#define QT_VFB_KEYBOARD_PIPE "/tmp/.qtvfb_keyboard-%1" -#define QT_VFB_MAP "/tmp/.qtvfb_map-%1" +#ifndef QT_QWS_TEMP_DIR +#define QT_QWS_TEMP_DIR "/tmp" +#endif + +#define QT_VFB_DATADIR(DISPLAY) QString("%1/qtembedded-%2-%3") \ + .arg(QT_QWS_TEMP_DIR).arg(getuid()).arg(DISPLAY) + +#define QT_VFB_MOUSE_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/qtvfb_mouse") +#define QT_VFB_KEYBOARD_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/qtvfb_keyboard") +#define QT_VFB_MAP(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/qtvfb_map") +#define QT_VFB_SOUND_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ + .append("/qt_soundserver") +#define QTE_PIPE "QtEmbedded" struct QVFbHeader { diff --git a/src/gui/embedded/qwscommand_qws_p.h b/src/gui/embedded/qwscommand_qws_p.h index d92c6af..f986a9d 100644 --- a/src/gui/embedded/qwscommand_qws_p.h +++ b/src/gui/embedded/qwscommand_qws_p.h @@ -75,8 +75,6 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -#define QTE_PIPE "QtEmbedded-%1" - class QRect; /********************************************************************* diff --git a/src/gui/graphicsview/qgraphicsanchorlayout.cpp b/src/gui/graphicsview/qgraphicsanchorlayout.cpp index 78b6b53..fdb1708 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout.cpp @@ -80,6 +80,24 @@ PM_LayoutHorizontalSpacing (or PM_LayoutVerticalSpacing for vertical anchors). */ +/*! + \class QGraphicsAnchor + \brief The QGraphicsAnchor class represents an anchor between two items in a + QGraphicsAnchorLayout. + \since 4.6 + \ingroup appearance + \ingroup geomanagement + \ingroup graphicsview-api + + The graphics anchor provides an API that enables you to query and manipulate the + properties an anchor has. When an anchor is added to the layout with + QGraphicsAnchorLayout::addAnchor(), a QGraphicsAnchor instance is returned where the properties + are initialized to their default values. The properties can then be further changed, and they + will be picked up the next time the layout is activated. + + \sa QGraphicsAnchorLayout::anchor() + +*/ #include "qgraphicsanchorlayout_p.h" QT_BEGIN_NAMESPACE @@ -171,23 +189,23 @@ QGraphicsAnchorLayout::~QGraphicsAnchorLayout() } /*! - * Creates an anchor between the edge \a firstEdge of item \a firstItem and the edge \a secondEdge - * of item \a secondItem. The magnitude of the anchor is picked up from the style. Anchors - * between a layout edge and an item edge will have a size of 0. - * If there is already an anchor between the edges, the the new anchor will replace the old one. - * - * \a firstItem and \a secondItem are automatically added to the layout if they are not part - * of the layout. This means that count() can increase with up to 2. - * - * The spacing an anchor will get depends on the type of anchor. For instance, anchors from the - * Right edge of one item to the Left edge of another (or vice versa) will use the default - * horizontal spacing. The same behaviour applies to Bottom to Top anchors, (but they will use - * the default vertical spacing). For all other anchor combinations, the spacing will be 0. - * All anchoring functions will follow this rule. - * - * The spacing can also be set manually by using QGraphicsAnchor::setSpacing() method. - * - * \sa addCornerAnchors(), addAnchors() + Creates an anchor between the edge \a firstEdge of item \a firstItem and the edge \a secondEdge + of item \a secondItem. The magnitude of the anchor is picked up from the style. Anchors + between a layout edge and an item edge will have a size of 0. + If there is already an anchor between the edges, the the new anchor will replace the old one. + + \a firstItem and \a secondItem are automatically added to the layout if they are not part + of the layout. This means that count() can increase with up to 2. + + The spacing an anchor will get depends on the type of anchor. For instance, anchors from the + Right edge of one item to the Left edge of another (or vice versa) will use the default + horizontal spacing. The same behaviour applies to Bottom to Top anchors, (but they will use + the default vertical spacing). For all other anchor combinations, the spacing will be 0. + All anchoring functions will follow this rule. + + The spacing can also be set manually by using QGraphicsAnchor::setSpacing() method. + + \sa addCornerAnchors(), addAnchors() */ QGraphicsAnchor * QGraphicsAnchorLayout::addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, @@ -200,8 +218,8 @@ QGraphicsAnchorLayout::addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint } /*! - Returns the anchor between the anchor points defined by \a firstItem and \a firstEdge and - \a secondItem and \a secondEdge. If there is no such anchor, the function will return 0. + Returns the anchor between the anchor points defined by \a firstItem and \a firstEdge and + \a secondItem and \a secondEdge. If there is no such anchor, the function will return 0. */ QGraphicsAnchor * QGraphicsAnchorLayout::anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge, @@ -212,30 +230,30 @@ QGraphicsAnchorLayout::anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint fi } /*! - * Creates two anchors between \a firstItem and \a secondItem, where one is for the horizontal - * edge and another one for the vertical edge that the corners \a firstCorner and \a - * secondCorner specifies. - * The magnitude of the anchors is picked up from the style. - * - * This is a convenience function, since anchoring corners can be expressed as anchoring two edges. - * For instance, - * \code - * layout->addAnchor(layout, Qt::AnchorTop, b, Qt::AnchorTop); - * layout->addAnchor(layout, Qt::AnchorLeft, b, Qt::AnchorLeft); - * \endcode - * - * has the same effect as - * - * \code - * layout->addCornerAnchors(layout, Qt::TopLeft, b, Qt::TopLeft); - * \endcode - * - * If there is already an anchor between the edge pairs, it will be replaced by the anchors that - * this function specifies. - * - * \a firstItem and \a secondItem are automatically added to the layout if they are not part - * of the layout. This means that count() can increase with up to 2. - */ + Creates two anchors between \a firstItem and \a secondItem, where one is for the horizontal + edge and another one for the vertical edge that the corners \a firstCorner and \a + secondCorner specifies. + The magnitude of the anchors is picked up from the style. + + This is a convenience function, since anchoring corners can be expressed as anchoring two edges. + For instance, + \code + layout->addAnchor(layout, Qt::AnchorTop, b, Qt::AnchorTop); + layout->addAnchor(layout, Qt::AnchorLeft, b, Qt::AnchorLeft); + \endcode + + has the same effect as + + \code + layout->addCornerAnchors(layout, Qt::TopLeft, b, Qt::TopLeft); + \endcode + + If there is already an anchor between the edge pairs, it will be replaced by the anchors that + this function specifies. + + \a firstItem and \a secondItem are automatically added to the layout if they are not part of the + layout. This means that count() can increase with up to 2. +*/ void QGraphicsAnchorLayout::addCornerAnchors(QGraphicsLayoutItem *firstItem, Qt::Corner firstCorner, QGraphicsLayoutItem *secondItem, @@ -288,18 +306,6 @@ void QGraphicsAnchorLayout::addAnchors(QGraphicsLayoutItem *firstItem, } /*! - Returns true if there are no arrangement that satisfies all constraints. - Otherwise returns false. - - \sa addAnchor() -*/ -bool QGraphicsAnchorLayout::hasConflicts() const -{ - Q_D(const QGraphicsAnchorLayout); - return d->hasConflicts(); -} - -/*! Sets the default horizontal spacing for the anchor layout to \a spacing. \sa horizontalSpacing(), setVerticalSpacing(), setSpacing() @@ -360,7 +366,7 @@ qreal QGraphicsAnchorLayout::verticalSpacing() const } /*! - \reimp + \reimp */ void QGraphicsAnchorLayout::setGeometry(const QRectF &geom) { diff --git a/src/gui/graphicsview/qgraphicsanchorlayout.h b/src/gui/graphicsview/qgraphicsanchorlayout.h index 44074d1..d9a87ba 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout.h @@ -93,7 +93,6 @@ public: QGraphicsLayoutItem *secondItem, Qt::Orientations orientations = Qt::Horizontal | Qt::Vertical); - bool hasConflicts() const; void setHorizontalSpacing(qreal spacing); void setVerticalSpacing(qreal spacing); void setSpacing(qreal spacing); diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 49aabf5..f75118b 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2287,6 +2287,13 @@ bool QGraphicsAnchorLayoutPrivate::solvePreferred(QList<QSimplexConstraint *> co return feasible; } +/*! + \internal + Returns true if there are no arrangement that satisfies all constraints. + Otherwise returns false. + + \sa addAnchor() +*/ bool QGraphicsAnchorLayoutPrivate::hasConflicts() const { QGraphicsAnchorLayoutPrivate *that = const_cast<QGraphicsAnchorLayoutPrivate*>(this); diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 4e1bcd4..c86bfa3 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -343,7 +343,7 @@ public: QGraphicsAnchorLayout private methods and attributes. */ -class QGraphicsAnchorLayoutPrivate : public QGraphicsLayoutPrivate +class Q_AUTOTEST_EXPORT QGraphicsAnchorLayoutPrivate : public QGraphicsLayoutPrivate { Q_DECLARE_PUBLIC(QGraphicsAnchorLayout) @@ -370,6 +370,11 @@ public: QGraphicsAnchorLayoutPrivate(); + static QGraphicsAnchorLayoutPrivate *get(QGraphicsAnchorLayout *q) + { + return q ? q->d_func() : 0; + } + static Qt::AnchorPoint oppositeEdge( Qt::AnchorPoint edge); diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 13b677c..912cfb6 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -186,6 +186,49 @@ high z-values. Stacking order applies to sibling items; parents are always drawn before their children. + \section1 Sorting + + All items are drawn in a defined, stable order, and this same order decides + which items will receive mouse input first when you click on the scene. + Normally you don't have to worry about sorting, as the items follow a + "natural order", following the logical structure of the scene. + + An item's children are stacked on top of the parent, and sibling items are + stacked by insertion order (i.e., in the same order that they were either + added to the scene, or added to the same parent). If you add item A, and + then B, then B will be on top of A. If you then add C, the items' stacking + order will be A, then B, then C. + + \image graphicsview-zorder.png + + This example shows the stacking order of all limbs of the robot from the + \l{graphicsview/dragdroprobot}{Drag and Drop Robot} example. The torso is + the root item (all other items are children or descendants of the torso), + so it is drawn first. Next, the head is drawn, as it is the first item in + the torso's list of children. Then the upper left arm is drawn. As the + lower arm is a child of the upper arm, the lower arm is then drawn, + followed by the upper arm's next sibling, which is the upper right arm, and + so on. + + For advanced users, there are ways to alter how your items are sorted: + + \list + \o You can call setZValue() on an item to explicitly stack it on top of, or + under, other sibling items. The default Z value for an item is 0. Items + with the same Z value are stacked by insertion order. + + \o You can call stackBefore() to reorder the list of children. This will + directly modify the insertion order. + + \o You can set the ItemStacksBehindParent flag to stack a child item behind + its parent. + \endlist + + The stacking order of two sibling items also counts for each item's + children and descendant items. So if one item is on top of another, then + all its children will also be on top of all the other item's children as + well. + \section1 Events QGraphicsItem receives events from QGraphicsScene through the virtual @@ -564,6 +607,21 @@ supportsExtension() and setExtension(). */ +/*! + \enum QGraphicsItem::PanelModality + + This enum specifies the behavior of a modal panel. A modal panel + is one that blocks input to other panels. Note that items that + 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. + + \sa QGraphicsItem::setPanelModality(), QGraphicsItem::panelModality(), QGraphicsItem::ItemIsPanel +*/ + #include "qgraphicsitem.h" #ifndef QT_NO_GRAPHICSVIEW @@ -1472,10 +1530,12 @@ QList<QGraphicsItem *> QGraphicsItem::children() const /*! \since 4.4 - Returns a list of this item's children. The items are returned in no - particular order. + Returns a list of this item's children. - \sa setParentItem() + The items are sorted by stacking order. This takes into account both the + items' insertion order and their Z-values. + + \sa setParentItem(), zValue(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsItem::childItems() const { @@ -1649,6 +1709,16 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags) setFlag(ItemStacksBehindParent, d_ptr->z < qreal(0.0)); } + if ((d_ptr->panelModality != NonModal) + && d_ptr->scene + && (flags & ItemIsPanel) != (oldFlags & ItemIsPanel)) { + // update the panel's modal state + if (flags & ItemIsPanel) + d_ptr->scene->d_func()->enterModal(this); + else + d_ptr->scene->d_func()->leaveModal(this); + } + if (d_ptr->scene) { d_ptr->scene->d_func()->markDirty(this, QRectF(), /*invalidateChildren=*/true, @@ -1725,6 +1795,87 @@ void QGraphicsItem::setCacheMode(CacheMode mode, const QSize &logicalCacheSize) update(); } +/*! + \since 4.6 + + Returns the modality for this item. +*/ +QGraphicsItem::PanelModality QGraphicsItem::panelModality() const +{ + return d_ptr->panelModality; +} + +/*! + \since 4.6 + + Sets the modality for this item to \a panelModality. + + Changing the modality of a visible item takes effect immediately. +*/ +void QGraphicsItem::setPanelModality(PanelModality panelModality) +{ + if (d_ptr->panelModality == panelModality) + return; + + PanelModality previousModality = d_ptr->panelModality; + bool enterLeaveModal = (isPanel() && d_ptr->scene && isVisible()); + if (enterLeaveModal && panelModality == NonModal) + d_ptr->scene->d_func()->leaveModal(this); + d_ptr->panelModality = panelModality; + if (enterLeaveModal && d_ptr->panelModality != NonModal) + d_ptr->scene->d_func()->enterModal(this, previousModality); +} + +/*! + \since 4.6 + + Returns true if this item is blocked by a modal panel, false otherwise. If \a blockingPanel is + non-zero, \a blockingPanel will be set to the modal panel that is blocking this item. If this + item is not blocked, \a blockingPanel will not be set by this function. + + This function always returns false for items not in a scene. + + \sa panelModality() setPanelModality() PanelModality +*/ +bool QGraphicsItem::isBlockedByModalPanel(QGraphicsItem **blockingPanel) const +{ + if (!d_ptr->scene) + return false; + + + QGraphicsItem *dummy = 0; + if (!blockingPanel) + blockingPanel = &dummy; + + QGraphicsScenePrivate *scene_d = d_ptr->scene->d_func(); + if (scene_d->modalPanels.isEmpty()) + return false; + + // ### + if (!scene_d->popupWidgets.isEmpty() && scene_d->popupWidgets.first() == this) + return false; + + for (int i = 0; i < scene_d->modalPanels.count(); ++i) { + QGraphicsItem *modalPanel = scene_d->modalPanels.at(i); + if (modalPanel->panelModality() == QGraphicsItem::SceneModal) { + // Scene modal panels block all non-descendents. + if (modalPanel != this && !modalPanel->isAncestorOf(this)) { + *blockingPanel = modalPanel; + return true; + } + } else { + // Window modal panels block ancestors and siblings/cousins. + if (modalPanel != this + && !modalPanel->isAncestorOf(this) + && commonAncestorItem(modalPanel)) { + *blockingPanel = modalPanel; + return true; + } + } + } + return false; +} + #ifndef QT_NO_TOOLTIP /*! Returns the item's tool tip, or an empty QString if no tool tip has been @@ -1934,6 +2085,8 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo q->ungrabMouse(); if (scene->d_func()->keyboardGrabberItems.contains(q)) q->ungrabKeyboard(); + if (q->isPanel() && panelModality != QGraphicsItem::NonModal) + scene->d_func()->leaveModal(q_ptr); } if (q_ptr->hasFocus() && scene) { // Hiding the closest non-panel ancestor of the focus item @@ -1955,10 +2108,15 @@ void QGraphicsItemPrivate::setVisibleHelper(bool newVisible, bool explicitly, bo } else { geometryChanged = 1; paintedViewBoundingRectsNeedRepaint = 1; - if (isWidget && scene) { - QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(q_ptr); - if (widget->windowType() == Qt::Popup) - scene->d_func()->addPopup(widget); + if (scene) { + if (isWidget) { + QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(q_ptr); + if (widget->windowType() == Qt::Popup) + scene->d_func()->addPopup(widget); + } + if (q->isPanel() && panelModality != QGraphicsItem::NonModal) { + scene->d_func()->enterModal(q_ptr); + } } } @@ -2781,7 +2939,7 @@ bool QGraphicsItem::hasFocus() const the preferred focus item for its subtree of items, should it later become visible. - As a result of calling this function, this item will receive a + As a result of calling this function, this item will receive a \l{focusInEvent()}{focus in event} with \a focusReason. If another item already has focus, that item will first receive a \l{focusOutEvent()} {focus out event} indicating that it has lost input focus. @@ -3309,7 +3467,7 @@ QMatrix QGraphicsItem::matrix() const The transformation matrix is combined with the item's rotation(), scale() and transformations() into a combined transformations for the item. - + The default transformation matrix is an identity matrix. \sa setTransform(), sceneTransform() @@ -3790,7 +3948,7 @@ void QGraphicsItem::setMatrix(const QMatrix &matrix, bool combine) // Update and set the new transformation. d_ptr->setTransformHelper(newTransform); - + // Send post-notification. itemChange(ItemTransformHasChanged, qVariantFromValue<QTransform>(newTransform)); } @@ -3924,7 +4082,7 @@ void QGraphicsItem::scale(qreal sx, qreal sy) /*! \obsolete - Use + Use \code setTransform(QTransform().shear(sh, sv), true); @@ -3946,7 +4104,7 @@ void QGraphicsItem::shear(qreal sh, qreal sv) Use setPos() or setTransformOriginPoint() instead. For identical behavior, use - + \code setTransform(QTransform::fromTranslate(dx, dy), true); \endcode @@ -3987,12 +4145,12 @@ void QGraphicsItem::advance(int phase) } /*! - Returns the Z-value, or the elevation, of the item. The Z-value decides - the stacking order of sibling (neighboring) items. + Returns the Z-value of the item. The Z-value affects the stacking order of + sibling (neighboring) items. The default Z-value is 0. - \sa setZValue() + \sa setZValue(), {QGraphicsItem#Sorting}{Sorting}, stackBefore(), ItemStacksBehindParent */ qreal QGraphicsItem::zValue() const { @@ -4000,33 +4158,18 @@ qreal QGraphicsItem::zValue() const } /*! - Sets the Z-value, or the elevation, of the item, to \a z. The elevation - decides the stacking order of sibling (neighboring) items. An item of high - Z-value will be drawn on top of an item with a lower Z-value if they share - the same parent item. In addition, children of an item will always be - drawn on top of the parent, regardless of the child's Z-value. Sibling - items that share the same Z-value will be drawn in order of insertion; the - last inserted child is stacked above previous children. - - \img graphicsview-zorder.png + Sets the Z-value of the item to \a z. The Z value decides the stacking + order of sibling (neighboring) items. A sibling item of high Z value will + always be drawn on top of another sibling item with a lower Z value. - Children of different parents are stacked according to the Z-value of - each item's ancestor item which is an immediate child of the two - items' closest common ancestor. For example, a robot item might - define a torso item as the parent of a head item, two arm items, - and two upper-leg items. The upper-leg items would each be parents - of one lower-leg item, and each lower-leg item would be parents of - one foot item. The stacking order of the feet is the same as the - stacking order of each foot's ancestor that is an immediate child - of the two feet's common ancestor (i.e., the torso item); so the - feet are stacked in the same order as the upper-leg items, - regardless of each foot's Z-value. + If you restore the Z value, the item's insertion order will decide its + stacking order. The Z-value does not affect the item's size in any way. The default Z-value is 0. - \sa zValue() + \sa zValue(), {QGraphicsItem#Sorting}{Sorting}, stackBefore(), ItemStacksBehindParent */ void QGraphicsItem::setZValue(qreal z) { @@ -4089,12 +4232,13 @@ void QGraphicsItemPrivate::ensureSequentialSiblingIndex() The \a sibling must have the same Z value as this item, otherwise calling this function will have no effect. - By default, all items are stacked by insertion order (i.e., the first item - you add is drawn before the next item you add). If two items' Z values are - different, then the item with the highest Z value is drawn on top. When the - Z values are the same, the insertion order will decide the stacking order. + By default, all sibling items are stacked by insertion order (i.e., the + first item you add is drawn before the next item you add). If two items' Z + values are different, then the item with the highest Z value is drawn on + top. When the Z values are the same, the insertion order will decide the + stacking order. - \sa setZValue(), ItemStacksBehindParent + \sa setZValue(), ItemStacksBehindParent, {QGraphicsItem#Sorting}{Sorting} */ void QGraphicsItem::stackBefore(const QGraphicsItem *sibling) { @@ -4456,7 +4600,7 @@ bool QGraphicsItem::collidesWithItem(const QGraphicsItem *other, Qt::ItemSelecti Note that this function checks whether the item's shape or bounding rectangle (depending on \a mode) is contained within \a path, and not whether \a path is contained within the items shape - or bounding rectangle. + or bounding rectangle. \sa collidesWithItem(), contains(), shape() */ @@ -5150,14 +5294,8 @@ void QGraphicsItem::update(const QRectF &rect) } while ((item = item->d_ptr->parent)); if (CacheMode(d_ptr->cacheMode) != NoCache) { - QGraphicsItemCache *cache = d_ptr->extraItemCache(); - if (d_ptr->discardUpdateRequest(/* ignoreVisibleBit = */ false, - /* ignoreClipping = */ false, - /* ignoreDirtyBit = */ true)) { - return; - } - // Invalidate cache. + QGraphicsItemCache *cache = d_ptr->extraItemCache(); if (!cache->allExposed) { if (rect.isNull()) { cache->allExposed = true; @@ -5171,6 +5309,9 @@ void QGraphicsItem::update(const QRectF &rect) return; } + if (d_ptr->discardUpdateRequest()) + return; + if (d_ptr->scene) d_ptr->scene->d_func()->markDirty(this, rect); } @@ -6608,7 +6749,7 @@ void QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event) if (d_ptr->isWidget) { // Qt::Popup closes when you click outside. QGraphicsWidget *w = static_cast<QGraphicsWidget *>(this); - if (w->windowFlags() & Qt::Popup) { + if ((w->windowFlags() & Qt::Popup) == Qt::Popup) { event->accept(); if (!w->rect().contains(event->pos())) w->close(); @@ -7033,7 +7174,7 @@ void QGraphicsItem::prepareGeometryChange() // if someone is connected to the changed signal or the scene has no views. // Note that this has to be done *after* markDirty to ensure that // _q_processDirtyItems is called before _q_emitUpdated. - if (scenePrivate->isSignalConnected(scenePrivate->changedSignalIndex) + if (scenePrivate->isSignalConnected(scenePrivate->changedSignalIndex) || scenePrivate->views.isEmpty()) { if (d_ptr->hasTranslateOnlySceneTransform()) { d_ptr->scene->update(boundingRect().translated(d_ptr->sceneTransform.dx(), @@ -10537,7 +10678,7 @@ QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QP effectRect.setRight(deviceWidth - 1); if (bottom + 1 > deviceHeight) effectRect.setBottom(deviceHeight -1); - + } if (effectRect.isEmpty()) diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index 99d2e12..e6e324a 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -146,6 +146,13 @@ public: DeviceCoordinateCache }; + enum PanelModality + { + NonModal, + PanelModal, + SceneModal + }; + QGraphicsItem(QGraphicsItem *parent = 0 #ifndef Q_QDOC // ### obsolete argument @@ -183,6 +190,10 @@ public: CacheMode cacheMode() const; void setCacheMode(CacheMode mode, const QSize &cacheSize = QSize()); + PanelModality panelModality() const; + void setPanelModality(PanelModality panelModality); + bool isBlockedByModalPanel(QGraphicsItem **blockingPanel = 0) const; + #ifndef QT_NO_TOOLTIP QString toolTip() const; void setToolTip(const QString &toolTip); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index 3feccdc..51bfea1 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -131,6 +131,7 @@ public: subFocusItem(0), focusScopeItem(0), imHints(Qt::ImhNone), + panelModality(QGraphicsItem::NonModal), acceptedMouseButtons(0x1f), visible(1), explicitlyHidden(0), @@ -448,6 +449,7 @@ public: QGraphicsItem *subFocusItem; QGraphicsItem *focusScopeItem; Qt::InputMethodHints imHints; + QGraphicsItem::PanelModality panelModality; // Packed 32 bits quint32 acceptedMouseButtons : 5; diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 4b74b67..1226722 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -565,6 +565,9 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item) q->removeItem(item->d_ptr->children.at(i)); } + if (item->isPanel() && item->isVisible() && item->panelModality() != QGraphicsItem::NonModal) + leaveModal(item); + // Reset the mouse grabber and focus item data. if (mouseGrabberItems.contains(item)) ungrabMouse(item, /* item is dying */ item->d_ptr->inDestructor); @@ -1111,6 +1114,9 @@ void QGraphicsScenePrivate::sendMouseEvent(QGraphicsSceneMouseEvent *mouseEvent) } QGraphicsItem *item = mouseGrabberItems.last(); + if (item->isBlockedByModalPanel()) + return; + for (int i = 0x1; i <= 0x10; i <<= 1) { Qt::MouseButton button = Qt::MouseButton(i); mouseEvent->setButtonDownPos(button, mouseGrabberButtonDownPos.value(button, item->d_ptr->genericMapFromScene(mouseEvent->scenePos(), mouseEvent->widget()))); @@ -1134,6 +1140,8 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou // Deliver to any existing mouse grabber. if (!mouseGrabberItems.isEmpty()) { + if (mouseGrabberItems.last()->isBlockedByModalPanel()) + return; // The event is ignored by default, but we disregard the event's // accepted state after delivery; the mouse is grabbed, after all. sendMouseEvent(mouseEvent); @@ -1151,12 +1159,22 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou // Update window activation. QGraphicsItem *topItem = cachedItemsUnderMouse.value(0); QGraphicsWidget *newActiveWindow = topItem ? topItem->window() : 0; + if (newActiveWindow && newActiveWindow->isBlockedByModalPanel(&topItem)) { + // pass activation to the blocking modal window + newActiveWindow = topItem ? topItem->window() : 0; + } + if (newActiveWindow != q->activeWindow()) q->setActiveWindow(newActiveWindow); // Set focus on the topmost enabled item that can take focus. bool setFocus = false; foreach (QGraphicsItem *item, cachedItemsUnderMouse) { + if (item->isBlockedByModalPanel()) { + // Make sure we don't clear focus. + setFocus = true; + break; + } if (item->isEnabled() && ((item->flags() & QGraphicsItem::ItemIsFocusable) && item->d_ptr->mouseSetsFocus)) { if (!item->isWidget() || ((QGraphicsWidget *)item)->focusPolicy() & Qt::ClickFocus) { setFocus = true; @@ -1165,12 +1183,27 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou break; } } + if (item->isPanel()) + break; + } + + // Check for scene modality. + bool sceneModality = false; + for (int i = 0; i < modalPanels.size(); ++i) { + if (modalPanels.at(i)->panelModality() == QGraphicsItem::SceneModal) { + sceneModality = true; + break; + } } // If nobody could take focus, clear it. - if (!stickyFocus && !setFocus) + if (!stickyFocus && !setFocus && !sceneModality) q->setFocusItem(0, Qt::MouseFocusReason); + // Any item will do. + if (sceneModality && cachedItemsUnderMouse.isEmpty()) + cachedItemsUnderMouse << modalPanels.first(); + // Find a mouse grabber by sending mouse press events to all mouse grabber // candidates one at a time, until the event is accepted. It's accepted by // default, so the receiver has to explicitly ignore it for it to pass @@ -1181,6 +1214,10 @@ void QGraphicsScenePrivate::mousePressEventHandler(QGraphicsSceneMouseEvent *mou continue; } + // Check if this item is blocked by a modal panel and deliver the mouse event to the + // blocking panel instead of this item if blocked. + (void) item->isBlockedByModalPanel(&item); + grabMouse(item, /* implicit = */ true); mouseEvent->accept(); @@ -1723,9 +1760,9 @@ QRectF QGraphicsScene::itemsBoundingRect() const } /*! - Returns a list of all items on the scene, in no particular order. + Returns a list of all items in the scene in descending stacking order. - \sa addItem(), removeItem() + \sa addItem(), removeItem(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items() const { @@ -1735,9 +1772,9 @@ QList<QGraphicsItem *> QGraphicsScene::items() const /*! Returns an ordered list of all items on the scene. \a order decides the - sorting. + stacking order. - \sa addItem(), removeItem() + \sa addItem(), removeItem(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(Qt::SortOrder order) const { @@ -1756,7 +1793,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(Qt::SortOrder order) const contains items that ignore transformations. Use the overload that takes a QTransform instead. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos) const { @@ -1778,7 +1815,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos) const contains items that ignore transformations. Use the overload that takes a QTransform instead. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rectangle, Qt::ItemSelectionMode mode) const { @@ -1799,20 +1836,20 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rectangle, Qt::ItemSe */ /*! - \fn QList<QGraphicsItem *> QGraphicsScene::items(qreal x, qreal y, qreal w, qreal h, - Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const + \fn QList<QGraphicsItem *> QGraphicsScene::items(qreal x, qreal y, qreal w, qreal h, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const \overload \since 4.6 - Returns all visible items that, depending on \a mode, are either inside or - intersect with the rectangle defined by \a x, \a y, \a w and \a h, in a list - sorted using \a order. + \brief Returns all visible items that, depending on \a mode, are + either inside or intersect with the rectangle defined by \a x, \a y, + \a w and \a h, in a list sorted using \a order. \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. */ /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode) const \overload \obsolete @@ -1826,7 +1863,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rectangle, Qt::ItemSe contains items that ignore transformations. Use the overload that takes a QTransform instead. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode) const { @@ -1835,6 +1872,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemS } /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode) const \overload \obsolete @@ -1848,7 +1886,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemS contains items that ignore transformations. Use the overload that takes a QTransform instead. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode) const { @@ -1857,10 +1895,11 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemS } /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const \since 4.6 - Returns all visible items that, depending on \a mode, are at the specified \a pos - in a list sorted using \a order. + \brief Returns all visible items that, depending on \a mode, are at + the specified \a pos in a list sorted using \a order. The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with \a pos are returned. @@ -1868,7 +1907,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemS \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const @@ -1878,11 +1917,13 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelecti } /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const \overload \since 4.6 - Returns all visible items that, depending on \a mode, are either inside or - intersect with the specified \a rect and return a list sorted using \a order. + \brief Returns all visible items that, depending on \a mode, are + either inside or intersect with the specified \a rect and return a + list sorted using \a order. The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a rect are returned. @@ -1890,7 +1931,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPointF &pos, Qt::ItemSelecti \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const @@ -1900,11 +1941,13 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelecti } /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const \overload \since 4.6 - Returns all visible items that, depending on \a mode, are either inside or - intersect with the specified \a polygon and return a list sorted using \a order. + \brief Returns all visible items that, depending on \a mode, are + either inside or intersect with the specified \a polygon and return + a list sorted using \a order. The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a polygon are returned. @@ -1912,7 +1955,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QRectF &rect, Qt::ItemSelecti \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const @@ -1922,11 +1965,13 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemS } /*! + \fn QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const \overload \since 4.6 - Returns all visible items that, depending on \a mode, are either inside or - intersect with the specified \a path and return a list sorted using \a order. + \brief Returns all visible items that, depending on \a mode, are + either inside or intersect with the specified \a path and return a + list sorted using \a order. The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a path are returned. @@ -1934,7 +1979,7 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPolygonF &polygon, Qt::ItemS \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. - \sa itemAt() + \sa itemAt(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemSelectionMode mode, Qt::SortOrder order, const QTransform &deviceTransform) const @@ -1949,10 +1994,11 @@ QList<QGraphicsItem *> QGraphicsScene::items(const QPainterPath &path, Qt::ItemS detection is determined by \a mode. By default, all items whose shape intersects \a item or is contained inside \a item's shape are returned. - The items are returned in descending Z order (i.e., the first item in the - list is the top-most item, and the last item is the bottom-most item). + The items are returned in descending stacking order (i.e., the first item + in the list is the uppermost item, and the last item is the lowermost + item). - \sa items(), itemAt(), QGraphicsItem::collidesWithItem() + \sa items(), itemAt(), QGraphicsItem::collidesWithItem(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsScene::collidingItems(const QGraphicsItem *item, Qt::ItemSelectionMode mode) const @@ -1979,13 +2025,11 @@ QList<QGraphicsItem *> QGraphicsScene::collidingItems(const QGraphicsItem *item, Returns the topmost visible item at the specified \a position, or 0 if there are no items at this position. - \note The topmost item is the one with the highest Z-value. - This function is deprecated and returns incorrect results if the scene contains items that ignore transformations. Use the overload that takes a QTransform instead. - \sa items(), collidingItems(), QGraphicsItem::setZValue() + \sa items(), collidingItems(), {QGraphicsItem#Sorting}{Sorting} */ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position) const { @@ -2002,10 +2046,8 @@ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position) const \a deviceTransform is the transformation that applies to the view, and needs to be provided if the scene contains items that ignore transformations. - \note The topmost item is the one with the highest Z-value. - - \sa items(), collidingItems(), QGraphicsItem::setZValue() - */ + \sa items(), collidingItems(), {QGraphicsItem#Sorting}{Sorting} +*/ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position, const QTransform &deviceTransform) const { QList<QGraphicsItem *> itemsAtPoint = items(position, Qt::IntersectsItemShape, @@ -2026,8 +2068,6 @@ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position, const QTransform This convenience function is equivalent to calling \c {itemAt(QPointF(x, y), deviceTransform)}. - - \note The topmost item is the one with the highest Z-value. */ /*! @@ -2044,8 +2084,6 @@ QGraphicsItem *QGraphicsScene::itemAt(const QPointF &position, const QTransform This function is deprecated and returns incorrect results if the scene contains items that ignore transformations. Use the overload that takes a QTransform instead. - - \note The topmost item is the one with the highest Z-value. */ /*! @@ -2324,7 +2362,7 @@ void QGraphicsScene::destroyItemGroup(QGraphicsItemGroup *group) in the scene, then the item will be activated. \sa removeItem(), addEllipse(), addLine(), addPath(), addPixmap(), - addRect(), addText(), addWidget() + addRect(), addText(), addWidget(), {QGraphicsItem#Sorting}{Sorting} */ void QGraphicsScene::addItem(QGraphicsItem *item) { @@ -2403,6 +2441,8 @@ void QGraphicsScene::addItem(QGraphicsItem *item) d->selectedItems << item; if (item->isWidget() && item->isVisible() && static_cast<QGraphicsWidget *>(item)->windowType() == Qt::Popup) d->addPopup(static_cast<QGraphicsWidget *>(item)); + if (item->isPanel() && item->isVisible() && item->panelModality() != QGraphicsItem::NonModal) + d->enterModal(item); // Update creation order focus chain. Make sure to leave the widget's // internal tab order intact. @@ -3205,8 +3245,12 @@ bool QGraphicsScene::event(QEvent *event) } return false; case QEvent::GraphicsSceneMouseMove: - mouseMoveEvent(static_cast<QGraphicsSceneMouseEvent *>(event)); + { + QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent *>(event); + d->lastSceneMousePos = mouseEvent->scenePos(); + mouseMoveEvent(mouseEvent); break; + } case QEvent::GraphicsSceneMousePress: mousePressEvent(static_cast<QGraphicsSceneMouseEvent *>(event)); break; @@ -3228,8 +3272,12 @@ bool QGraphicsScene::event(QEvent *event) case QEvent::GraphicsSceneHoverEnter: case QEvent::GraphicsSceneHoverLeave: case QEvent::GraphicsSceneHoverMove: - d->dispatchHoverEvent(static_cast<QGraphicsSceneHoverEvent *>(event)); + { + QGraphicsSceneHoverEvent *hoverEvent = static_cast<QGraphicsSceneHoverEvent *>(event); + d->lastSceneMousePos = hoverEvent->scenePos(); + d->dispatchHoverEvent(hoverEvent); break; + } case QEvent::Leave: d->leaveScene(); break; @@ -3599,8 +3647,10 @@ void QGraphicsScene::helpEvent(QGraphicsSceneHelpEvent *helpEvent) bool QGraphicsScenePrivate::itemAcceptsHoverEvents_helper(const QGraphicsItem *item) const { - return item->acceptHoverEvents() - || (item->isWidget() && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration()); + return (!item->isBlockedByModalPanel() && + (item->acceptHoverEvents() + || (item->isWidget() + && static_cast<const QGraphicsWidget *>(item)->d_func()->hasDecoration()))); } /*! @@ -3674,7 +3724,9 @@ bool QGraphicsScenePrivate::dispatchHoverEvent(QGraphicsSceneHoverEvent *hoverEv } // Generate a move event for the item itself - if (item && !hoverItems.isEmpty() && item == hoverItems.last()) { + if (item + && !hoverItems.isEmpty() + && item == hoverItems.last()) { sendHoverEvent(QEvent::GraphicsSceneHoverMove, item, hoverEvent); return true; } @@ -3708,8 +3760,7 @@ void QGraphicsScenePrivate::leaveScene() while (!hoverItems.isEmpty()) { QGraphicsItem *lastItem = hoverItems.takeLast(); - if (lastItem->acceptHoverEvents() - || (lastItem->isWidget() && static_cast<QGraphicsWidget*>(lastItem)->d_func()->hasDecoration())) + if (itemAcceptsHoverEvents_helper(lastItem)) sendHoverEvent(QEvent::GraphicsSceneHoverLeave, lastItem, &hoverEvent); } } @@ -3736,6 +3787,8 @@ void QGraphicsScene::keyPressEvent(QKeyEvent *keyEvent) keyEvent->accept(); // Send it; QGraphicsItem::keyPressEvent ignores it. If the event // is filtered out, stop propagating it. + if (p->isBlockedByModalPanel()) + break; if (!d->sendEvent(p, keyEvent)) break; } while (!keyEvent->isAccepted() && !p->isPanel() && (p = p->parentItem())); @@ -3766,6 +3819,8 @@ void QGraphicsScene::keyReleaseEvent(QKeyEvent *keyEvent) keyEvent->accept(); // Send it; QGraphicsItem::keyPressEvent ignores it. If the event // is filtered out, stop propagating it. + if (p->isBlockedByModalPanel()) + break; if (!d->sendEvent(p, keyEvent)) break; } while (!keyEvent->isAccepted() && !p->isPanel() && (p = p->parentItem())); @@ -5420,6 +5475,8 @@ void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent) for (; it != end; ++it) { QGraphicsItem *item = it.key(); + (void) item->isBlockedByModalPanel(&item); + // determine event type from the state mask QEvent::Type eventType; switch (it.value().first) { @@ -5493,6 +5550,8 @@ bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEve break; } } + if (item->isPanel()) + break; } // If nobody could take focus, clear it. @@ -5518,6 +5577,8 @@ bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEve } break; } + if (item->isPanel()) + break; } touchEvent->setAccepted(eventAccepted); @@ -5536,6 +5597,94 @@ void QGraphicsScenePrivate::updateInputMethodSensitivityInViews() views.at(i)->d_func()->updateInputMethodSensitivity(); } +void QGraphicsScenePrivate::enterModal(QGraphicsItem *panel, QGraphicsItem::PanelModality previousModality) +{ + Q_Q(QGraphicsScene); + Q_ASSERT(panel && panel->isPanel()); + + QGraphicsItem::PanelModality panelModality = panel->d_ptr->panelModality; + if (previousModality != QGraphicsItem::NonModal) { + // the panel is changing from one modality type to another... temporarily set it back so + // that blockedPanels is populated correctly + panel->d_ptr->panelModality = previousModality; + } + + QSet<QGraphicsItem *> blockedPanels; + QList<QGraphicsItem *> items = q->items(); // ### store panels separately + for (int i = 0; i < items.count(); ++i) { + QGraphicsItem *item = items.at(i); + if (item->isPanel() && item->isBlockedByModalPanel()) + blockedPanels.insert(item); + } + // blockedPanels contains all currently blocked panels + + if (previousModality != QGraphicsItem::NonModal) { + // reset the modality to the proper value, since we changed it above + panel->d_ptr->panelModality = panelModality; + // remove this panel so that it will be reinserted at the front of the stack + modalPanels.removeAll(panel); + } + + modalPanels.prepend(panel); + + if (!hoverItems.isEmpty()) { + // send GraphicsSceneHoverLeave events to newly blocked hoverItems + QGraphicsSceneHoverEvent hoverEvent; + hoverEvent.setScenePos(lastSceneMousePos); + dispatchHoverEvent(&hoverEvent); + } + + if (!mouseGrabberItems.isEmpty() && lastMouseGrabberItemHasImplicitMouseGrab) { + QGraphicsItem *item = mouseGrabberItems.last(); + if (item->isBlockedByModalPanel()) + ungrabMouse(item, /*itemIsDying =*/ false); + } + + QEvent windowBlockedEvent(QEvent::WindowBlocked); + QEvent windowUnblockedEvent(QEvent::WindowUnblocked); + for (int i = 0; i < items.count(); ++i) { + QGraphicsItem *item = items.at(i); + if (item->isPanel()) { + if (!blockedPanels.contains(item) && item->isBlockedByModalPanel()) { + // send QEvent::WindowBlocked to newly blocked panels + sendEvent(item, &windowBlockedEvent); + } else if (blockedPanels.contains(item) && !item->isBlockedByModalPanel()) { + // send QEvent::WindowUnblocked to unblocked panels when downgrading + // a panel from SceneModal to PanelModal + sendEvent(item, &windowUnblockedEvent); + } + } + } +} + +void QGraphicsScenePrivate::leaveModal(QGraphicsItem *panel) +{ + Q_Q(QGraphicsScene); + Q_ASSERT(panel && panel->isPanel()); + + QSet<QGraphicsItem *> blockedPanels; + QList<QGraphicsItem *> items = q->items(); // ### same as above + for (int i = 0; i < items.count(); ++i) { + QGraphicsItem *item = items.at(i); + if (item->isPanel() && item->isBlockedByModalPanel()) + blockedPanels.insert(item); + } + + modalPanels.removeAll(panel); + + QEvent e(QEvent::WindowUnblocked); + for (int i = 0; i < items.count(); ++i) { + QGraphicsItem *item = items.at(i); + if (item->isPanel() && blockedPanels.contains(item) && !item->isBlockedByModalPanel()) + sendEvent(item, &e); + } + + // send GraphicsSceneHoverEnter events to newly unblocked items + QGraphicsSceneHoverEvent hoverEvent; + hoverEvent.setScenePos(lastSceneMousePos); + dispatchHoverEvent(&hoverEvent); +} + QT_END_NAMESPACE #include "moc_qgraphicsscene.cpp" diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h index 46917ce..5000860 100644 --- a/src/gui/graphicsview/qgraphicsscene_p.h +++ b/src/gui/graphicsview/qgraphicsscene_p.h @@ -160,6 +160,7 @@ public: Qt::DropAction lastDropAction; QList<QGraphicsItem *> cachedItemsUnderMouse; QList<QGraphicsItem *> hoverItems; + QPointF lastSceneMousePos; bool allItemsIgnoreHoverEvents; bool allItemsUseDefaultCursor; void enableMouseTrackingOnViews(); @@ -282,6 +283,11 @@ public: void enableTouchEventsOnViews(); void updateInputMethodSensitivityInViews(); + + QList<QGraphicsItem *> modalPanels; + void enterModal(QGraphicsItem *item, + QGraphicsItem::PanelModality panelModality = QGraphicsItem::NonModal); + void leaveModal(QGraphicsItem *item); }; // QRectF::intersects() returns false always if either the source or target diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index 98b2c9c..32747cc 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -2016,9 +2016,11 @@ void QGraphicsView::render(QPainter *painter, const QRectF &target, const QRect } /*! - Returns a list of all the items in the associated scene. + Returns a list of all the items in the associated scene, in descending + stacking order (i.e., the first item in the returned list is the uppermost + item). - \sa QGraphicsScene::items() + \sa QGraphicsScene::items(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsView::items() const { @@ -2030,9 +2032,9 @@ QList<QGraphicsItem *> QGraphicsView::items() const /*! Returns a list of all the items at the position \a pos in the view. The - items are listed in descending Z order (i.e., the first item in the list - is the top-most item, and the last item is the bottom-most item). \a pos - is in viewport coordinates. + items are listed in descending stacking order (i.e., the first item in the + list is the uppermost item, and the last item is the lowermost item). \a + pos is in viewport coordinates. This function is most commonly called from within mouse event handlers in a subclass in QGraphicsView. \a pos is in untransformed viewport @@ -2040,7 +2042,7 @@ QList<QGraphicsItem *> QGraphicsView::items() const \snippet doc/src/snippets/code/src_gui_graphicsview_qgraphicsview.cpp 5 - \sa QGraphicsScene::items(), QGraphicsItem::zValue() + \sa QGraphicsScene::items(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsView::items(const QPoint &pos) const { @@ -2082,7 +2084,10 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPoint &pos) const The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a rect are returned. - \sa itemAt(), items(), mapToScene() + The items are sorted in descending stacking order (i.e., the first item in + the returned list is the uppermost item). + + \sa itemAt(), items(), mapToScene(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsView::items(const QRect &rect, Qt::ItemSelectionMode mode) const { @@ -2110,7 +2115,10 @@ QList<QGraphicsItem *> QGraphicsView::items(const QRect &rect, Qt::ItemSelection The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a polygon are returned. - \sa itemAt(), items(), mapToScene() + The items are sorted by descending stacking order (i.e., the first item in + the returned list is the uppermost item). + + \sa itemAt(), items(), mapToScene(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsView::items(const QPolygon &polygon, Qt::ItemSelectionMode mode) const { @@ -2130,7 +2138,7 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPolygon &polygon, Qt::ItemSel The default value for \a mode is Qt::IntersectsItemShape; all items whose exact shape intersects with or is contained by \a path are returned. - \sa itemAt(), items(), mapToScene() + \sa itemAt(), items(), mapToScene(), {QGraphicsItem#Sorting}{Sorting} */ QList<QGraphicsItem *> QGraphicsView::items(const QPainterPath &path, Qt::ItemSelectionMode mode) const { @@ -2149,7 +2157,7 @@ QList<QGraphicsItem *> QGraphicsView::items(const QPainterPath &path, Qt::ItemSe \snippet doc/src/snippets/code/src_gui_graphicsview_qgraphicsview.cpp 6 - \sa items() + \sa items(), {QGraphicsItem#Sorting}{Sorting} */ QGraphicsItem *QGraphicsView::itemAt(const QPoint &pos) const { diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp index 1ba24a3..1ece8b1 100644 --- a/src/gui/graphicsview/qsimplex_p.cpp +++ b/src/gui/graphicsview/qsimplex_p.cpp @@ -49,6 +49,7 @@ QT_BEGIN_NAMESPACE /*! + \internal \class QSimplex The QSimplex class is a Linear Programming problem solver based on the two-phase @@ -111,6 +112,7 @@ void QSimplex::clearDataStructures() } /*! + \internal Sets the new constraints in the simplex solver and returns whether the problem is feasible. @@ -509,6 +511,7 @@ qreal QSimplex::solver(solverFactor factor) } /*! + \internal Minimize the original objective. */ qreal QSimplex::solveMin() @@ -517,6 +520,7 @@ qreal QSimplex::solveMin() } /*! + \internal Maximize the original objective. */ qreal QSimplex::solveMax() diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 83ac5fe..7c24002 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -54,4 +54,4 @@ DEFINES += Q_INTERNAL_QAPP_SRC symbian:TARGET.UID3=0x2001B2DD # ro-section in gui can exceed default allocated space, so more rw-section little further -symbian-sbsv2: MMP_RULES += "LINKEROPTION armcc --rw-base 0x800000"
\ No newline at end of file +symbian-sbsv2: MMP_RULES += "LINKEROPTION armcc --rw-base 0x800000" diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h index 89d7de5..1ac56a7 100644 --- a/src/gui/image/qimage.h +++ b/src/gui/image/qimage.h @@ -314,7 +314,7 @@ private: QImageData *d; friend class QRasterPixmapData; - friend class QDetachedPixmap; + friend class QPixmapCacheEntry; friend Q_GUI_EXPORT qint64 qt_image_id(const QImage &image); friend const QVector<QRgb> *qt_image_colortable(const QImage &image); diff --git a/src/gui/image/qpixmap.h b/src/gui/image/qpixmap.h index a891637..d11bd03 100644 --- a/src/gui/image/qpixmap.h +++ b/src/gui/image/qpixmap.h @@ -270,7 +270,7 @@ private: friend class QWidgetPrivate; friend class QRasterPaintEngine; friend class QRasterBuffer; - friend class QDetachedPixmap; + friend class QPixmapCacheEntry; #if !defined(QT_NO_DATASTREAM) friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPixmap &); #endif diff --git a/src/gui/image/qpixmap_raster_p.h b/src/gui/image/qpixmap_raster_p.h index 2af2399..da0405e 100644 --- a/src/gui/image/qpixmap_raster_p.h +++ b/src/gui/image/qpixmap_raster_p.h @@ -88,7 +88,7 @@ protected: private: friend class QPixmap; friend class QBitmap; - friend class QDetachedPixmap; + friend class QPixmapCacheEntry; friend class QRasterPaintEngine; }; diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index dccc691..4938442 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -476,9 +476,9 @@ void QS60PixmapData::fromImage(const QImage &img, Qt::ImageConversionFlags flags sourceImage = img.convertToFormat(QImage::Format_MonoLSB); } else { if (img.depth() == 1) { - image = img.hasAlphaChannel() - ? img.convertToFormat(QImage::Format_ARGB32_Premultiplied) - : img.convertToFormat(QImage::Format_RGB32); + sourceImage = img.hasAlphaChannel() + ? img.convertToFormat(QImage::Format_ARGB32_Premultiplied) + : img.convertToFormat(QImage::Format_RGB32); } else { QImage::Format opaqueFormat = QNativeImage::systemFormat(); diff --git a/src/gui/image/qpixmap_x11_p.h b/src/gui/image/qpixmap_x11_p.h index ed8678d..e34e690 100644 --- a/src/gui/image/qpixmap_x11_p.h +++ b/src/gui/image/qpixmap_x11_p.h @@ -100,6 +100,8 @@ private: friend class QX11WindowSurface; friend class QRasterWindowSurface; friend class QGLContextPrivate; // Needs to access xinfo, gl_surface & flags + friend class QEglContext; // Needs gl_surface + friend bool qt_createEGLSurfaceForPixmap(QPixmapData*, bool); // Needs gl_surface void release(); diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp index 8029977..f12d397 100644 --- a/src/gui/image/qpixmapcache.cpp +++ b/src/gui/image/qpixmapcache.cpp @@ -167,7 +167,7 @@ QPixmapCache::Key &QPixmapCache::Key::operator =(const Key &other) return *this; } -class QPMCache : public QObject, public QCache<QPixmapCache::Key, QDetachedPixmap> +class QPMCache : public QObject, public QCache<QPixmapCache::Key, QPixmapCacheEntry> { Q_OBJECT public: @@ -215,7 +215,7 @@ uint qHash(const QPixmapCache::Key &k) QPMCache::QPMCache() : QObject(0), - QCache<QPixmapCache::Key, QDetachedPixmap>(cache_limit * 1024), + QCache<QPixmapCache::Key, QPixmapCacheEntry>(cache_limit * 1024), keyArray(0), theid(0), ps(0), keyArraySize(0), freeKey(0), t(false) { } @@ -238,7 +238,6 @@ void QPMCache::timerEvent(QTimerEvent *) { int mc = maxCost(); bool nt = totalCost() == ps; - QList<QPixmapCache::Key> keys = QCache<QPixmapCache::Key, QDetachedPixmap>::keys(); setMaxCost(nt ? totalCost() * 3 / 4 : totalCost() -1); setMaxCost(mc); ps = totalCost(); @@ -252,10 +251,6 @@ void QPMCache::timerEvent(QTimerEvent *) ++it; } } - for (int i = 0; i < keys.size(); ++i) { - if (!contains(keys.at(i))) - releaseKey(keys.at(i)); - } if (!size()) { killTimer(theid); @@ -274,11 +269,10 @@ QPixmap *QPMCache::object(const QString &key) const const_cast<QPMCache *>(this)->cacheKeys.remove(key); return 0; } - QPixmap *ptr = QCache<QPixmapCache::Key, QDetachedPixmap>::object(cacheKey); + QPixmap *ptr = QCache<QPixmapCache::Key, QPixmapCacheEntry>::object(cacheKey); //We didn't find the pixmap in the cache, the key is not valid anymore if (!ptr) { const_cast<QPMCache *>(this)->cacheKeys.remove(key); - const_cast<QPMCache *>(this)->releaseKey(cacheKey); } return ptr; } @@ -286,7 +280,7 @@ QPixmap *QPMCache::object(const QString &key) const QPixmap *QPMCache::object(const QPixmapCache::Key &key) const { Q_ASSERT(key.d->isValid); - QPixmap *ptr = QCache<QPixmapCache::Key, QDetachedPixmap>::object(key); + QPixmap *ptr = QCache<QPixmapCache::Key, QPixmapCacheEntry>::object(key); //We didn't find the pixmap in the cache, the key is not valid anymore if (!ptr) const_cast<QPMCache *>(this)->releaseKey(key); @@ -299,13 +293,14 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost) QPixmapCache::Key oldCacheKey = cacheKeys.value(key); //If for the same key we add already a pixmap we should delete it if (oldCacheKey.d) { - QCache<QPixmapCache::Key, QDetachedPixmap>::remove(oldCacheKey); - cacheKey = oldCacheKey; - } else { - cacheKey = createKey(); - } + QCache<QPixmapCache::Key, QPixmapCacheEntry>::remove(oldCacheKey); + cacheKeys.remove(key); + } + + //we create a new key the old one has been removed + cacheKey = createKey(); - bool success = QCache<QPixmapCache::Key, QDetachedPixmap>::insert(cacheKey, new QDetachedPixmap(pixmap), cost); + bool success = QCache<QPixmapCache::Key, QPixmapCacheEntry>::insert(cacheKey, new QPixmapCacheEntry(cacheKey, pixmap), cost); if (success) { cacheKeys.insert(key, cacheKey); if (!theid) { @@ -322,7 +317,7 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost) QPixmapCache::Key QPMCache::insert(const QPixmap &pixmap, int cost) { QPixmapCache::Key cacheKey = createKey(); - bool success = QCache<QPixmapCache::Key, QDetachedPixmap>::insert(cacheKey, new QDetachedPixmap(pixmap), cost); + bool success = QCache<QPixmapCache::Key, QPixmapCacheEntry>::insert(cacheKey, new QPixmapCacheEntry(cacheKey, pixmap), cost); if (success) { if (!theid) { theid = startTimer(30000); @@ -338,13 +333,21 @@ QPixmapCache::Key QPMCache::insert(const QPixmap &pixmap, int cost) bool QPMCache::replace(const QPixmapCache::Key &key, const QPixmap &pixmap, int cost) { Q_ASSERT(key.d->isValid); - //If for the same key we add already a pixmap we should delete it - QCache<QPixmapCache::Key, QDetachedPixmap>::remove(key); + //If for the same key we had already an entry so we should delete the pixmap and use the new one + QCache<QPixmapCache::Key, QPixmapCacheEntry>::remove(key); + + QPixmapCache::Key cacheKey = createKey(); - bool success = QCache<QPixmapCache::Key, QDetachedPixmap>::insert(key, new QDetachedPixmap(pixmap), cost); - if (success && !theid) { - theid = startTimer(30000); - t = false; + bool success = QCache<QPixmapCache::Key, QPixmapCacheEntry>::insert(cacheKey, new QPixmapCacheEntry(cacheKey, pixmap), cost); + if (success) { + if(!theid) { + theid = startTimer(30000); + t = false; + } + const_cast<QPixmapCache::Key&>(key) = cacheKey; + } else { + //Insertion failed we released the key + releaseKey(cacheKey); } return success; } @@ -356,16 +359,12 @@ bool QPMCache::remove(const QString &key) if (!cacheKey.d) return false; cacheKeys.remove(key); - releaseKey(cacheKey); - return QCache<QPixmapCache::Key, QDetachedPixmap>::remove(cacheKey); + return QCache<QPixmapCache::Key, QPixmapCacheEntry>::remove(cacheKey); } bool QPMCache::remove(const QPixmapCache::Key &key) { - bool result = QCache<QPixmapCache::Key, QDetachedPixmap>::remove(key); - //We release the key after we removed it from the cache - releaseKey(key); - return result; + return QCache<QPixmapCache::Key, QPixmapCacheEntry>::remove(key); } void QPMCache::resizeKeyArray(int size) @@ -409,10 +408,10 @@ void QPMCache::clear() freeKey = 0; keyArraySize = 0; //Mark all keys as invalid - QList<QPixmapCache::Key> keys = QCache<QPixmapCache::Key, QDetachedPixmap>::keys(); + QList<QPixmapCache::Key> keys = QCache<QPixmapCache::Key, QPixmapCacheEntry>::keys(); for (int i = 0; i < keys.size(); ++i) keys.at(i).d->isValid = false; - QCache<QPixmapCache::Key, QDetachedPixmap>::clear(); + QCache<QPixmapCache::Key, QPixmapCacheEntry>::clear(); } QPixmapCache::KeyData* QPMCache::getKeyData(QPixmapCache::Key *key) @@ -424,6 +423,11 @@ QPixmapCache::KeyData* QPMCache::getKeyData(QPixmapCache::Key *key) Q_GLOBAL_STATIC(QPMCache, pm_cache) +QPixmapCacheEntry::~QPixmapCacheEntry() +{ + pm_cache()->releaseKey(key); +} + /*! \obsolete \overload diff --git a/src/gui/image/qpixmapcache_p.h b/src/gui/image/qpixmapcache_p.h index 33f93bc..84e4a03 100644 --- a/src/gui/image/qpixmapcache_p.h +++ b/src/gui/image/qpixmapcache_p.h @@ -76,10 +76,10 @@ public: }; // XXX: hw: is this a general concept we need to abstract? -class QDetachedPixmap : public QPixmap +class QPixmapCacheEntry : public QPixmap { public: - QDetachedPixmap(const QPixmap &pix) : QPixmap(pix) + QPixmapCacheEntry(const QPixmapCache::Key &key, const QPixmap &pix) : QPixmap(pix), key(key) { if (data && data->classId() == QPixmapData::RasterClass) { QRasterPixmapData *d = static_cast<QRasterPixmapData*>(data.data()); @@ -91,6 +91,8 @@ public: } } } + ~QPixmapCacheEntry(); + QPixmapCache::Key key; }; QT_END_NAMESPACE diff --git a/src/gui/image/qpixmapdata_p.h b/src/gui/image/qpixmapdata_p.h index 3e85236..c26fba3 100644 --- a/src/gui/image/qpixmapdata_p.h +++ b/src/gui/image/qpixmapdata_p.h @@ -134,6 +134,7 @@ private: friend class QS60PixmapData; friend class QGLTextureCache; //Needs to check the reference count friend class QExplicitlySharedDataPointer<QPixmapData>; + friend bool qt_createEGLSurfaceForPixmap(QPixmapData*, bool); // Needs to set is_cached QAtomicInt ref; int detach_no; diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp index ba9a1e2..749b8f3 100644 --- a/src/gui/image/qpixmapfilter.cpp +++ b/src/gui/image/qpixmapfilter.cpp @@ -504,10 +504,10 @@ void QPixmapConvolutionFilter::draw(QPainter *painter, const QPointF &p, const Q class QPixmapBlurFilterPrivate : public QPixmapFilterPrivate { public: - QPixmapBlurFilterPrivate() : radius(5), hint(QPixmapBlurFilter::PerformanceHint) {} + QPixmapBlurFilterPrivate() : radius(5), hint(Qt::PerformanceHint) {} int radius; - QPixmapBlurFilter::BlurHint hint; + Qt::RenderHint hint; }; @@ -561,7 +561,7 @@ int QPixmapBlurFilter::radius() const \internal */ -void QPixmapBlurFilter::setBlurHint(QPixmapBlurFilter::BlurHint hint) +void QPixmapBlurFilter::setBlurHint(Qt::RenderHint hint) { Q_D(QPixmapBlurFilter); d->hint = hint; @@ -572,7 +572,7 @@ void QPixmapBlurFilter::setBlurHint(QPixmapBlurFilter::BlurHint hint) \internal */ -QPixmapBlurFilter::BlurHint QPixmapBlurFilter::blurHint() const +Qt::RenderHint QPixmapBlurFilter::blurHint() const { Q_D(const QPixmapBlurFilter); return d->hint; diff --git a/src/gui/image/qpixmapfilter_p.h b/src/gui/image/qpixmapfilter_p.h index 92c8e56..8a2207a 100644 --- a/src/gui/image/qpixmapfilter_p.h +++ b/src/gui/image/qpixmapfilter_p.h @@ -126,19 +126,14 @@ class Q_GUI_EXPORT QPixmapBlurFilter : public QPixmapFilter Q_DECLARE_PRIVATE(QPixmapBlurFilter) public: - enum BlurHint { - PerformanceHint, - QualityHint - }; - QPixmapBlurFilter(QObject *parent = 0); ~QPixmapBlurFilter(); void setRadius(int radius); - void setBlurHint(BlurHint hint); + void setBlurHint(Qt::RenderHint hint); int radius() const; - BlurHint blurHint() const; + Qt::RenderHint blurHint() const; QRectF boundingRectFor(const QRectF &rect) const; void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect = QRectF()) const; diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index fc55a0f..c4d17ff 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -222,7 +222,7 @@ void QCoeFepInputContext::mouseHandler( int x, QMouseEvent *event) TCoeInputCapabilities QCoeFepInputContext::inputCapabilities() { - if (m_inDestruction) { + if (m_inDestruction || !focusWidget()) { return TCoeInputCapabilities(TCoeInputCapabilities::ENone, 0, 0); } @@ -554,8 +554,10 @@ void QCoeFepInputContext::SetCursorSelectionForFepL(const TCursorSelection& aCur void QCoeFepInputContext::GetCursorSelectionForFep(TCursorSelection& aCursorSelection) const { QWidget *w = focusWidget(); - if (!w) + if (!w) { + aCursorSelection.SetSelection(0,0); return; + } int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt() + m_preeditString.size(); int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt() + m_preeditString.size(); @@ -567,8 +569,10 @@ void QCoeFepInputContext::GetEditorContentForFep(TDes& aEditorContent, TInt aDoc TInt aLengthToRetrieve) const { QWidget *w = focusWidget(); - if (!w) + if (!w) { + aEditorContent.FillZ(aLengthToRetrieve); return; + } QString text = w->inputMethodQuery(Qt::ImSurroundingText).value<QString>(); // FEP expects the preedit string to be part of the editor content, so let's mix it in. @@ -580,8 +584,10 @@ void QCoeFepInputContext::GetEditorContentForFep(TDes& aEditorContent, TInt aDoc void QCoeFepInputContext::GetFormatForFep(TCharFormat& aFormat, TInt /* aDocumentPosition */) const { QWidget *w = focusWidget(); - if (!w) + if (!w) { + aFormat = TCharFormat(); return; + } QFont font = w->inputMethodQuery(Qt::ImFont).value<QFont>(); QFontMetrics metrics(font); @@ -595,8 +601,12 @@ void QCoeFepInputContext::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLin TInt& aAscent, TInt /* aDocumentPosition */) const { QWidget *w = focusWidget(); - if (!w) + if (!w) { + aLeftSideOfBaseLine = TPoint(0,0); + aHeight = 0; + aAscent = 0; return; + } QRect rect = w->inputMethodQuery(Qt::ImMicroFocus).value<QRect>(); aLeftSideOfBaseLine.iX = rect.left(); diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 303f45b..0fae959 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -3626,12 +3626,13 @@ QItemSelectionModel::SelectionFlags QAbstractItemViewPrivate::extendedSelectionC case Qt::Key_PageUp: case Qt::Key_PageDown: case Qt::Key_Tab: + if (modifiers & Qt::ControlModifier #ifdef QT_KEYPAD_NAVIGATION - return QItemSelectionModel::NoUpdate; -#else - if (modifiers & Qt::ControlModifier) - return QItemSelectionModel::NoUpdate; + // Preserve historical tab order navigation behavior + || QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder #endif + ) + return QItemSelectionModel::NoUpdate; break; case Qt::Key_Select: return QItemSelectionModel::Toggle|selectionBehaviorFlags(); diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 2ad89a2..044fedd 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -97,6 +97,10 @@ #include "qapplication.h" +#ifndef QT_NO_LIBRARY +#include "qlibrary.h" +#endif + #ifdef Q_WS_WINCE #include "qdatetime.h" #include "qguifunctions_wince.h" @@ -457,6 +461,7 @@ bool QApplicationPrivate::animate_tooltip = false; bool QApplicationPrivate::fade_tooltip = false; bool QApplicationPrivate::animate_toolbox = false; bool QApplicationPrivate::widgetCount = false; +bool QApplicationPrivate::load_testability = false; #if defined(Q_WS_WIN) && !defined(Q_WS_WINCE) bool QApplicationPrivate::inSizeMove = false; #endif @@ -563,6 +568,8 @@ void QApplicationPrivate::process_cmdline() QApplication::setLayoutDirection(Qt::RightToLeft); } else if (qstrcmp(arg, "-widgetcount") == 0) { widgetCount = true; + } else if (qstrcmp(arg, "-testability") == 0) { + load_testability = true; } else if (arg == "-graphicssystem" && i < argc-1) { graphics_system_name = QString::fromLocal8Bit(argv[++i]); } else { @@ -765,6 +772,23 @@ void QApplicationPrivate::construct( extern void qt_gui_eval_init(uint); qt_gui_eval_init(application_type); #endif + +#ifndef QT_NO_LIBRARY + if(load_testability) { + QLibrary testLib(QLatin1String("qttestability")); + if (testLib.load()) { + typedef void (*TasInitialize)(void); + TasInitialize initFunction = (TasInitialize)testLib.resolve("qt_testability_init"); + if (initFunction) { + initFunction(); + } else { + qCritical("Library qttestability resolve failed!"); + } + } else { + qCritical("Library qttestability load failed!"); + } + } +#endif } #if defined(Q_WS_X11) @@ -901,7 +925,7 @@ void QApplicationPrivate::initialize() graphics_system = QGraphicsSystemFactory::create(graphics_system_name); #endif #ifndef QT_NO_WHEELEVENT -#ifdef QT_MAC_USE_COCOA +#ifdef Q_OS_MAC QApplicationPrivate::wheel_scroll_lines = 1; #else QApplicationPrivate::wheel_scroll_lines = 3; @@ -3047,7 +3071,7 @@ void QApplicationPrivate::sendSyntheticEnterLeave(QWidget *widget) qt_button_down = 0; // Send enter/leave events followed by a mouse move on the entered widget. - QMouseEvent e(QEvent::MouseMove, pos, globalPos, Qt::NoButton, mouse_buttons, modifier_buttons); + QMouseEvent e(QEvent::MouseMove, pos, globalPos, Qt::NoButton, Qt::NoButton, Qt::NoModifier); sendMouseEvent(widgetUnderCursor, &e, widgetUnderCursor, tlw, &qt_button_down, qt_last_mouse_receiver); #endif // QT_NO_CURSOR } diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm index a656c7f..a95ae9d 100644 --- a/src/gui/kernel/qapplication_mac.mm +++ b/src/gui/kernel/qapplication_mac.mm @@ -960,7 +960,18 @@ struct QMacAppleEventTypeSpec { { kCoreEventClass, kAEQuitApplication }, { kCoreEventClass, kAEOpenDocuments } }; + #ifndef QT_MAC_USE_COCOA + +#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5) +enum +{ + kEventMouseScroll = 11, + kEventParamMouseWheelSmoothVerticalDelta = 'saxy', + kEventParamMouseWheelSmoothHorizontalDelta = 'saxx', +}; +#endif + /* watched events */ static EventTypeSpec app_events[] = { { kEventClassQt, kEventQtRequestWindowChange }, @@ -1675,13 +1686,15 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event // (actually two events; one for horizontal and one for vertical). // As a results of this, and to make sure we dont't receive duplicate events, // we try to detect when this happend by checking the 'compatibilityEvent'. + const int scrollFactor = 4 * 8; SInt32 mdelt = 0; GetEventParameter(event, kEventParamMouseWheelSmoothHorizontalDelta, typeSInt32, 0, sizeof(mdelt), 0, &mdelt); - wheel_deltaX = mdelt; + wheel_deltaX = mdelt * scrollFactor; + mdelt = 0; GetEventParameter(event, kEventParamMouseWheelSmoothVerticalDelta, typeSInt32, 0, sizeof(mdelt), 0, &mdelt); - wheel_deltaY = mdelt; + wheel_deltaY = mdelt * scrollFactor; GetEventParameter(event, kEventParamEventRef, typeEventRef, 0, sizeof(compatibilityEvent), 0, &compatibilityEvent); } else if (ekind == kEventMouseWheelMoved) { @@ -1693,10 +1706,14 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event EventMouseWheelAxis axis; GetEventParameter(event, kEventParamMouseWheelAxis, typeMouseWheelAxis, 0, sizeof(axis), 0, &axis); + + // The 'new' event has acceleration applied by the OS, while the old (on + // Carbon only), has not. So we introduce acceleration here to be consistent: + int scrollFactor = 120 * qMin(5, qAbs(mdelt)); if (axis == kEventMouseWheelAxisX) - wheel_deltaX = mdelt * 120; + wheel_deltaX = mdelt * scrollFactor; else - wheel_deltaY = mdelt * 120; + wheel_deltaY = mdelt * scrollFactor; } } @@ -2649,7 +2666,11 @@ int QApplication::keyboardInputInterval() void QApplication::setWheelScrollLines(int n) { - QApplicationPrivate::wheel_scroll_lines = n; + Q_UNUSED(n); + // On Mac, acceleration is handled by the OS. Multiplying wheel scroll + // deltas with n will not be as cross platform as one might think! So + // we choose to go native in this case (and let wheel_scroll_lines == 1). + // QApplicationPrivate::wheel_scroll_lines = n; } int QApplication::wheelScrollLines() diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h index aec21fd..6036196 100644 --- a/src/gui/kernel/qapplication_p.h +++ b/src/gui/kernel/qapplication_p.h @@ -452,6 +452,7 @@ public: static bool fade_tooltip; static bool animate_toolbox; static bool widgetCount; // Coupled with -widgetcount switch + static bool load_testability; // Coupled with -testability switch #ifdef Q_WS_MAC static bool native_modal_dialog_active; #endif diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp index e9284f7..01c64f1 100644 --- a/src/gui/kernel/qapplication_qws.cpp +++ b/src/gui/kernel/qapplication_qws.cpp @@ -110,6 +110,8 @@ #include <sys/stat.h> #include <sys/types.h> +#include <qvfbhdr.h> + #ifndef QT_NO_QWS_MULTIPROCESS #ifdef QT_NO_QSHM #include <sys/ipc.h> @@ -199,14 +201,9 @@ QString qws_dataDir() static QString result; if (!result.isEmpty()) return result; - QByteArray dataDir; -#ifdef QT_QWS_TEMP_DIR - dataDir = QT_QWS_TEMP_DIR; -#else - dataDir = "/tmp"; -#endif - dataDir += "/qtembedded-"; - dataDir += QByteArray::number(qws_display_id); + result = QT_VFB_DATADIR(qws_display_id); + QByteArray dataDir = result.toLocal8Bit(); + if (QT_MKDIR(dataDir, 0700)) { if (errno != EEXIST) { qFatal("Cannot create Qt for Embedded Linux data directory: %s", dataDir.constData()); @@ -227,16 +224,15 @@ QString qws_dataDir() if ((buf.st_mode & 0677) != 0600) qFatal("Qt for Embedded Linux data directory has incorrect permissions: %s", dataDir.constData()); #endif - dataDir += '/'; - result = QString::fromLocal8Bit(dataDir); + result.append("/"); return result; } // Get the filename of the pipe Qt for Embedded Linux uses for server/client comms Q_GUI_EXPORT QString qws_qtePipeFilename() { - return (qws_dataDir() + QString::fromLatin1(QTE_PIPE).arg(qws_display_id)); + return (qws_dataDir().append(QTE_PIPE)); } static void setMaxWindowRect(const QRect &rect) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 0637652..d50e7e1 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -91,6 +91,8 @@ extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp QWidget *qt_button_down = 0; // widget got last button-down +QSymbianControl *QSymbianControl::lastFocusedControl = 0; + QS60Data* qGlobalS60Data() { return qt_s60Data(); @@ -320,13 +322,26 @@ QSymbianControl::QSymbianControl(QWidget *w) { } -void QSymbianControl::ConstructL(bool topLevel, bool desktop) +void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop) { if (!desktop) { - if (topLevel) { + if (isWindowOwning or !qwidget->parentWidget()) CreateWindowL(S60->windowGroup()); - } + else + /** + * TODO: in order to avoid creating windows for all ancestors of + * this widget up to the root window, the parameter passed to + * CreateWindowL should be + * qwidget->parentWidget()->effectiveWinId(). However, if we do + * this, then we need to take care of re-parenting when a window + * is created for a widget between this one and the root window. + */ + CreateWindowL(qwidget->parentWidget()->winId()); + + // Necessary in order to be able to track the activation status of + // the control's window + qwidget->d_func()->createExtra(); SetFocusing(true); m_longTapDetector = QLongTapTimer::NewL(this); @@ -337,6 +352,7 @@ QSymbianControl::~QSymbianControl() { if (S60->curWin == this) S60->curWin = 0; + setFocusSafely(false); S60->appUi()->RemoveFromStack(this); delete m_longTapDetector; } @@ -767,19 +783,21 @@ TCoeInputCapabilities QSymbianControl::InputCapabilities() const void QSymbianControl::Draw(const TRect& r) const { QWindowSurface *surface = qwidget->windowSurface(); - if (!surface) - return; + QPaintEngine *engine = surface ? surface->paintDevice()->paintEngine() : NULL; - QPaintEngine *engine = surface->paintDevice()->paintEngine(); if (!engine) return; + if (engine->type() == QPaintEngine::Raster) { QS60WindowSurface *s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface()); CFbsBitmap *bitmap = s60Surface->symbianBitmap(); CWindowGc &gc = SystemGc(); - if (qwidget->d_func()->isOpaque) - gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha); - gc.BitBlt(r.iTl, bitmap, r); + + if(!qwidget->d_func()->extraData()->disableBlit) { + if (qwidget->d_func()->isOpaque) + gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha); + gc.BitBlt(r.iTl, bitmap, r); + } } else { surface->flush(qwidget, QRegion(qt_TRect2QRect(r)), QPoint()); } @@ -845,8 +863,23 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */) || (qwidget->windowType() & Qt::Popup) == Qt::Popup) return; - QEvent *deferredFocusEvent = new QEvent(QEvent::SymbianDeferredFocusChanged); - QApplication::postEvent(qwidget, deferredFocusEvent); + if (IsFocused() && IsVisible()) { + QApplication::setActiveWindow(qwidget->window()); +#ifdef Q_WS_S60 + // If widget is fullscreen, hide status pane and button container + // otherwise show them. + CEikStatusPane* statusPane = S60->statusPane(); + CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer(); + bool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen; + if (statusPane && (statusPane->IsVisible() == isFullscreen)) + statusPane->MakeVisible(!isFullscreen); + if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen)) + buttonGroup->MakeVisible(!isFullscreen); +#endif + } else if (QApplication::activeWindow() == qwidget->window()) { + QApplication::setActiveWindow(0); + } + // else { We don't touch the active window unless we were explicitly activated or deactivated } } void QSymbianControl::HandleResourceChange(int resourceType) @@ -890,6 +923,31 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id) return CCoeControl::MopSupplyObject(id); } +void QSymbianControl::setFocusSafely(bool focus) +{ + // The stack hack in here is very unfortunate, but it is the only way to ensure proper + // focus in Symbian. If this is not executed, the control which happens to be on + // the top of the stack may randomly be assigned focus by Symbian, for example + // when creating new windows (specifically in CCoeAppUi::HandleStackChanged()). + if (focus) { + S60->appUi()->RemoveFromStack(this); + // Symbian doesn't automatically remove focus from the last focused control, so we need to + // remember it and clear focus ourselves. + if (lastFocusedControl && lastFocusedControl != this) + lastFocusedControl->SetFocus(false); + QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, + ECoeStackPriorityDefault + 1, ECoeStackFlagStandard)); // Note the + 1 + lastFocusedControl = this; + this->SetFocus(true); + } else { + S60->appUi()->RemoveFromStack(this); + QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, + ECoeStackPriorityDefault, ECoeStackFlagStandard)); + lastFocusedControl = 0; + this->SetFocus(false); + } +} + /*! \typedef QApplication::QS60MainApplicationFactory @@ -1027,6 +1085,10 @@ void qt_init(QApplicationPrivate * /* priv */, int) } #endif + QFont systemFont; + systemFont.setFamily(systemFont.defaultFamily()); + QApplicationPrivate::setSystemFont(systemFont); + /* ### Commented out for now as parameter handling not needed in SOS(yet). Code below will break testlib with -o flag int argc = priv->argc; @@ -1236,14 +1298,14 @@ QWidget * QApplication::topLevelAt(QPoint const& point) if (widget->geometry().adjusted(0,0,1,1).contains(point)) { // At this point we know there is a Qt widget under the point. // Now we need to make sure it is the top most in the z-order. - RDrawableWindow* rw = widget->d_func()->topData()->rwindow; - int z = rw->OrdinalPosition(); + RDrawableWindow *const window = widget->effectiveWinId()->DrawableWindow(); + int z = window->OrdinalPosition(); if (z < lowestZ) { lowestZ = z; found = widget; } } - } + } } return found; } @@ -1457,12 +1519,19 @@ bool QApplication::s60EventFilter(TWsEvent * /* aEvent */) */ void QApplication::symbianHandleCommand(int command) { + QScopedLoopLevelCounter counter(d_func()->threadData); switch (command) { - case EEikCmdExit: #ifdef Q_WS_S60 - case EAknSoftkeyExit: + case EAknSoftkeyExit: { + QCloseEvent ev; + QApplication::sendSpontaneousEvent(this, &ev); + if (ev.isAccepted()) + quit(); + break; + } #endif - exit(); + case EEikCmdExit: + quit(); break; default: bool handled = QSoftKeyManager::handleCommand(command); diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 6ecd535..44f82b6 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -1752,79 +1752,18 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam case APPCOMMAND_BASS_UP: key = Qt::Key_BassUp; break; - case APPCOMMAND_BROWSER_BACKWARD: - key = Qt::Key_Back; - break; - case APPCOMMAND_BROWSER_FAVORITES: - key = Qt::Key_Favorites; - break; - case APPCOMMAND_BROWSER_FORWARD: - key = Qt::Key_Forward; - break; - case APPCOMMAND_BROWSER_HOME: - key = Qt::Key_HomePage; - break; - case APPCOMMAND_BROWSER_REFRESH: - key = Qt::Key_Refresh; - break; - case APPCOMMAND_BROWSER_SEARCH: - key = Qt::Key_Search; - break; - case APPCOMMAND_BROWSER_STOP: - key = Qt::Key_Stop; - break; - case APPCOMMAND_LAUNCH_APP1: - key = Qt::Key_Launch0; - break; - case APPCOMMAND_LAUNCH_APP2: - key = Qt::Key_Launch1; - break; - case APPCOMMAND_LAUNCH_MAIL: - key = Qt::Key_LaunchMail; - break; - case APPCOMMAND_LAUNCH_MEDIA_SELECT: - key = Qt::Key_LaunchMedia; - break; - case APPCOMMAND_MEDIA_NEXTTRACK: - key = Qt::Key_MediaNext; - break; - case APPCOMMAND_MEDIA_PLAY_PAUSE: - key = Qt::Key_MediaPlay; - break; - case APPCOMMAND_MEDIA_PREVIOUSTRACK: - key = Qt::Key_MediaPrevious; - break; - case APPCOMMAND_MEDIA_STOP: - key = Qt::Key_MediaStop; - break; case APPCOMMAND_TREBLE_DOWN: key = Qt::Key_TrebleDown; break; case APPCOMMAND_TREBLE_UP: key = Qt::Key_TrebleUp; break; - case APPCOMMAND_VOLUME_DOWN: - key = Qt::Key_VolumeDown; - break; - case APPCOMMAND_VOLUME_MUTE: - key = Qt::Key_VolumeMute; - break; - case APPCOMMAND_VOLUME_UP: - key = Qt::Key_VolumeUp; - break; - // Commands new in Windows XP case APPCOMMAND_HELP: key = Qt::Key_Help; break; case APPCOMMAND_FIND: key = Qt::Key_Search; break; - case APPCOMMAND_PRINT: - key = Qt::Key_Print; - break; - case APPCOMMAND_MEDIA_PLAY: - key = Qt::Key_MediaPlay; - break; default: break; } @@ -2028,13 +1967,22 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam // where it got it from; it would simply get a 0 value as the old focus widget. #ifdef Q_WS_WINCE { - if (widget->windowState() & Qt::WindowMinimized) { - if (widget->windowState() & Qt::WindowMaximized) - widget->showMaximized(); - else - widget->show(); +#ifdef Q_WS_WINCE_WM + // On Windows mobile we do not receive WM_SYSCOMMAND / SC_MINIMIZE messages. + // Thus we have to unset the minimized state explicitly. We must do this for all + // top-level widgets, because we get the HWND of a random widget here. + foreach (QWidget* tlw, QApplication::topLevelWidgets()) { + if (tlw->isMinimized()) + tlw->setWindowState(tlw->windowState() & ~Qt::WindowMinimized); } #else + // On Windows CE we do not receive WM_SYSCOMMAND / SC_MINIMIZE messages. + // Thus we have to unset the minimized state explicitly. + if (widget->windowState() & Qt::WindowMinimized) + widget->setWindowState(widget->windowState() & ~Qt::WindowMinimized); +#endif // Q_WS_WINCE_WM + +#else if (!(widget->windowState() & Qt::WindowMinimized)) { #endif // Ignore the activate message send by WindowsXP to a minimized window diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index f482d1c..b1c5fc5 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -789,18 +789,22 @@ extern "C" { const EventRef carbonEvent = (EventRef)[theEvent eventRef]; const UInt32 carbonEventKind = carbonEvent ? ::GetEventKind(carbonEvent) : 0; if (carbonEventKind == kEventMouseScroll) { - // The mouse device containts pixel scroll - // wheel support (Mighty Mouse, Trackpad) - deltaX = (int)[theEvent deviceDeltaX] * 120; - deltaY = (int)[theEvent deviceDeltaY] * 120; - deltaZ = (int)[theEvent deviceDeltaZ] * 120; + // The mouse device containts pixel scroll wheel support (Mighty Mouse, Trackpad). + // Since deviceDelta is delivered as pixels rather than degrees, we need to + // convert from pixels to degrees in a sensible manner. + // It looks like four degrees per pixel behaves most native. + // Qt expects the unit for delta to be 1/8 of a degree: + const int scrollFactor = 4 * 8; + deltaX = (int)[theEvent deviceDeltaX] * scrollFactor; + deltaY = (int)[theEvent deviceDeltaY] * scrollFactor; + deltaZ = (int)[theEvent deviceDeltaZ] * scrollFactor; } else { // carbonEventKind == kEventMouseWheelMoved // Mouse wheel deltas seem to tick in at increments of 0.1. // Qt widgets expect the delta to be a multiple of 120. const int scrollFactor = 10 * 120; - deltaX = [theEvent deltaX] * scrollFactor * qMax(0.6, 1.1 - qAbs([theEvent deltaX])); - deltaY = [theEvent deltaY] * scrollFactor * qMax(0.6, 1.1 - qAbs([theEvent deltaY])); - deltaZ = [theEvent deltaZ] * scrollFactor * qMax(0.6, 1.1 - qAbs([theEvent deltaZ])); + deltaX = [theEvent deltaX] * scrollFactor; + deltaY = [theEvent deltaY] * scrollFactor; + deltaZ = [theEvent deltaZ] * scrollFactor; } if (deltaX != 0) { diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp index 33da0f3..da150fb 100644 --- a/src/gui/kernel/qdnd_x11.cpp +++ b/src/gui/kernel/qdnd_x11.cpp @@ -506,6 +506,7 @@ bool QX11Data::xdndMimeDataForAtom(Atom a, QMimeData *mimeData, QByteArray *data *atomFormat = textprop.encoding; *dataFormat = textprop.format; *data = QByteArray((const char *) textprop.value, textprop.nitems * textprop.format / 8); + ret = true; DEBUG(" textprop type %lx\n" " textprop name '%s'\n" @@ -541,12 +542,13 @@ bool QX11Data::xdndMimeDataForAtom(Atom a, QMimeData *mimeData, QByteArray *data dm->xdndMimeTransferedPixmap[dm->xdndMimeTransferedPixmapIndex] = pm; dm->xdndMimeTransferedPixmapIndex = (dm->xdndMimeTransferedPixmapIndex + 1) % 2; + ret = true; } } else { DEBUG("QClipboard: xdndMimeDataForAtom(): converting to type '%s' is not supported", qPrintable(atomName)); } } - return data; + return ret && data != 0; } //$$$ diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index ce64c68..7b9cc9a 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -3566,7 +3566,7 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar) Qt::WA_AcceptTouchEvents attribute set and graphics items need to have the \l{QGraphicsItem::setAcceptTouchEvents()}{acceptTouchEvents} attribute set to true. - When using QAbstractScrollArea based widgets, you should enabled the Qt::WA_AcceptTouchEvents + When using QAbstractScrollArea based widgets, you should enable the Qt::WA_AcceptTouchEvents attribute on the scroll area's \l{QAbstractScrollArea::viewport()}{viewport}. Similarly to QMouseEvent, Qt automatically grabs each touch point on the first press inside a diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index fa2b22f..4396766 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -807,7 +807,7 @@ public: // internal inline void setWidget(QWidget *awidget) { _widget = awidget; } inline void setDeviceType(DeviceType adeviceType) { _deviceType = adeviceType; } - inline void setTouchPointStates(Qt::TouchPointStates touchPointStates) { _touchPointStates = touchPointStates; } + inline void setTouchPointStates(Qt::TouchPointStates aTouchPointStates) { _touchPointStates = aTouchPointStates; } inline void setTouchPoints(const QList<QTouchEvent::TouchPoint> &atouchPoints) { _touchPoints = atouchPoints; } protected: diff --git a/src/gui/kernel/qguifunctions_wince.cpp b/src/gui/kernel/qguifunctions_wince.cpp index 048780e..58e12ee 100644 --- a/src/gui/kernel/qguifunctions_wince.cpp +++ b/src/gui/kernel/qguifunctions_wince.cpp @@ -329,17 +329,14 @@ void qt_wince_maximize(QWidget *widget) void qt_wince_minimize(HWND hwnd) { - uint exstyle = GetWindowLongW(hwnd, GWL_EXSTYLE); - uint style = GetWindowLongW(hwnd, GWL_STYLE); - RECT rect; - RECT crect = {0,0,0,0}; - GetWindowRect(hwnd, &rect); - AdjustWindowRectEx(&crect, style & ~WS_OVERLAPPED, FALSE, exstyle); - MoveWindow(hwnd, rect.left - crect.left, rect.top - crect.top, 0, 0, true); - SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong (hwnd, GWL_EXSTYLE) | WS_EX_NODRAG); #ifdef Q_OS_WINCE_WM ShowWindow(hwnd, SW_HIDE); #else + if (!IsWindowVisible(hwnd)) { + // Hack for an initial showMinimized. + // Without it, our widget doesn't appear in the task bar. + ShowWindow(hwnd, SW_SHOW); + } ShowWindow(hwnd, SW_MINIMIZE); #endif } diff --git a/src/gui/kernel/qkeymapper_win.cpp b/src/gui/kernel/qkeymapper_win.cpp index 402d88e..10958f3 100644 --- a/src/gui/kernel/qkeymapper_win.cpp +++ b/src/gui/kernel/qkeymapper_win.cpp @@ -433,6 +433,23 @@ static const Qt::KeyboardModifiers ModsTbl[] = { Qt::NoModifier, // Fall-back to raw Key_* }; +/** + Remap return or action key to select key for windows mobile. +*/ +inline int winceKeyBend(int keyCode) +{ +#ifdef Q_OS_WINCE_WM + // remap return or action key to select key for windows mobile. + // will be changed to a table remapping function in the next version (4.6/7). + if (keyCode == 13) + return Qt::Key_Select; + else + return KeyTbl[keyCode]; +#else + return KeyTbl[keyCode]; +#endif +} + #if defined(Q_OS_WINCE) // Use the KeyTbl to resolve a Qt::Key out of the virtual keys. // In case it is not resolvable, continue using the virtual key itself. @@ -472,7 +489,7 @@ static inline int toKeyOrUnicode(int vk, int scancode, unsigned char *kbdBuffer, // Qt::Key_*'s are not encoded below 0x20, so try again, and DEL keys (0x7f) is encoded with a // proper Qt::Key_ code if (code < 0x20 || code == 0x7f) // Handles res==0 too - code = KeyTbl[vk]; + code = winceKeyBend(vk); if (isDeadkey) *isDeadkey = (res == -1); @@ -482,7 +499,7 @@ static inline int toKeyOrUnicode(int vk, int scancode, unsigned char *kbdBuffer, Q_GUI_EXPORT int qt_translateKeyCode(int vk) { - int code = (vk < 0 || vk > 255) ? 0 : KeyTbl[vk]; + int code = winceKeyBend((vk < 0 || vk > 255) ? 0 : vk); return code == Qt::Key_unknown ? 0 : code; } @@ -689,7 +706,7 @@ void QKeyMapperPrivate::updatePossibleKeyCodes(unsigned char *kbdBuffer, quint32 keyLayout[vk_key]->qtKey[7] = toKeyOrUnicode(vk_key, scancode, buffer, &isDeadKey); keyLayout[vk_key]->deadkeys |= isDeadKey ? 0x80 : 0; // Add a fall back key for layouts which don't do composition and show non-latin1 characters - int fallbackKey = KeyTbl[vk_key]; + int fallbackKey = winceKeyBend(vk_key); if (!fallbackKey || fallbackKey == Qt::Key_unknown) { fallbackKey = 0; if (vk_key != keyLayout[vk_key]->qtKey[0] && vk_key < 0x5B && vk_key > 0x2F) @@ -898,7 +915,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool // ..also if we're typing numbers on the keypad, while holding down the Alt modifier. int code = 0; if (isNumpad && (nModifiers & AltAny)) { - code = KeyTbl[msg.wParam]; + code = winceKeyBend(msg.wParam); } else if (!isDeadKey) { unsigned char kbdBuffer[256]; // Will hold the complete keyboard state GetKeyboardState(kbdBuffer); diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index aec757f..b44ef7f 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -571,7 +571,7 @@ const QKeyBinding QKeySequencePrivate::keyBindings[] = { {QKeySequence::Close, 0, Qt::CTRL | Qt::Key_W, QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11}, {QKeySequence::Close, 1, Qt::CTRL | Qt::Key_W, QApplicationPrivate::KB_Mac}, {QKeySequence::Cut, 1, Qt::CTRL | Qt::Key_X, QApplicationPrivate::KB_All}, - {QKeySequence::Redo, 1, Qt::CTRL | Qt::Key_Y, QApplicationPrivate::KB_Win}, + {QKeySequence::Redo, 1, Qt::CTRL | Qt::Key_Y, QApplicationPrivate::KB_Win | QApplicationPrivate::KB_S60}, {QKeySequence::Redo, 0, Qt::CTRL | Qt::Key_Y, QApplicationPrivate::KB_Mac},//different priority from above {QKeySequence::Undo, 1, Qt::CTRL | Qt::Key_Z, QApplicationPrivate::KB_All}, {QKeySequence::Back, 1, Qt::CTRL | Qt::Key_BracketLeft, QApplicationPrivate::KB_Mac}, @@ -600,7 +600,7 @@ const QKeyBinding QKeySequencePrivate::keyBindings[] = { {QKeySequence::FindPrevious, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_G, QApplicationPrivate::KB_Win}, {QKeySequence::AddTab, 1, Qt::CTRL | Qt::SHIFT | Qt::Key_N, QApplicationPrivate::KB_KDE}, {QKeySequence::SaveAs, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_S, QApplicationPrivate::KB_Gnome | QApplicationPrivate::KB_Mac}, - {QKeySequence::Redo, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_Z, QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11}, + {QKeySequence::Redo, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_Z, QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11 | QApplicationPrivate::KB_S60}, {QKeySequence::Redo, 1, Qt::CTRL | Qt::SHIFT | Qt::Key_Z, QApplicationPrivate::KB_Mac}, //different priority from above {QKeySequence::PreviousChild, 1, Qt::CTRL | Qt::SHIFT | Qt::Key_Backtab, QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11}, {QKeySequence::PreviousChild, 0, Qt::CTRL | Qt::SHIFT | Qt::Key_Backtab, QApplicationPrivate::KB_Mac },//different priority from above diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 91f4163..265f971 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -121,6 +121,7 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act softKeyRole = QAction::PositiveSoftKey; break; case CancelSoftKey: + default: softKeyRole = QAction::NegativeSoftKey; break; } @@ -238,7 +239,7 @@ void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList<QAction*> &softkeys) } if (needsExitButton) - QT_TRAP_THROWING(nativeContainer->SetCommandL(2, EAknSoftkeyExit, qt_QString2TPtrC(QObject::tr("Exit")))); + QT_TRAP_THROWING(nativeContainer->SetCommandL(2, EAknSoftkeyExit, qt_QString2TPtrC(QSoftKeyManager::tr("Exit")))); nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation } diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 0d48634..d33791b 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -141,7 +141,7 @@ public: public: QSymbianControl(QWidget *w); - void ConstructL(bool topLevel = false, bool desktop = false); + void ConstructL(bool isWindowOwning = false, bool desktop = false); ~QSymbianControl(); void HandleResourceChange(int resourceType); void HandlePointerEventL(const TPointerEvent& aPointerEvent); @@ -157,6 +157,8 @@ public: void setIgnoreFocusChanged(bool enabled) { m_ignoreFocusChanged = enabled; } void CancelLongTapTimer(); + void setFocusSafely(bool focus); + protected: void Draw(const TRect& aRect) const; void SizeChanged(); @@ -174,6 +176,9 @@ private: #endif private: + static QSymbianControl *lastFocusedControl; + +private: QWidget *qwidget; bool m_ignoreFocusChanged; QLongTapTimer* m_longTapDetector; diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 2397793..0b75b06 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -900,28 +900,30 @@ void QWidget::setAutoFillBackground(bool enabled) \sa QEvent, QPainter, QGridLayout, QBoxLayout - \section1 SoftKeys + \section1 Softkeys \since 4.6 - \preliminary - Softkeys API is a platform independent way of mapping actions to (hardware)keys - and toolbars provided by the underlying platform. + Softkeys are usually physical keys on a device that have a corresponding label or + other visual representation on the screen that is generally located next to its + physical counterpart. They are most often found on mobile phone platforms. In + modern touch based user interfaces it is also possible to have softkeys that do + not correspond to any physical keys. Softkeys differ from other onscreen labels + in that they are contextual. - There are three major use cases supported. First one is a mobile device - with keypad navigation and no touch ui. Second use case is a mobile - device with touch ui. Third use case is desktop. For now the softkey API is - only implemented for Series60. + In Qt, contextual softkeys are added to a widget by calling addAction() and + passing a \c QAction with a softkey role set on it. When the widget + containing the softkey actions has focus, its softkeys should appear in + the user interface. Softkeys are discovered by traversing the widget + heirarchy so it is possible to define a single set of softkeys that are + present at all times by calling addAction() for a given top level widget. - QActions are set to widget(s) via softkey API. Actions in focused widget are - mapped to native toolbar or hardware keys. Even though the API allows to set - any amount of widgets there might be physical restrictions to amount of - softkeys that can be used by the device. + On some platforms, this concept overlaps with \c QMenuBar such that if no + other softkeys are found and the top level widget is a QMainWindow containing + a QMenuBar, the menubar actions may appear on one of the softkeys. - \e Series60: For series60 menu button is automatically mapped to left - soft key if there is QMainWindow with QMenuBar in widgets parent hierarchy. + Note: Currently softkeys are only supported on the Symbian Platform. - \sa softKeys() - \sa setSoftKey() + \sa addAction, QAction, QMenuBar */ @@ -1175,10 +1177,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f) if (f & Qt::MSWindowsOwnDC) q->setAttribute(Qt::WA_NativeWindow); -#ifdef Q_WS_WINCE - data.window_state_internal = 0; -#endif - q->setAttribute(Qt::WA_QuitOnClose); // might be cleared in adjustQuitOnCloseAttribute() adjustQuitOnCloseAttribute(); @@ -8334,12 +8332,6 @@ bool QWidget::event(QEvent *event) (void) QApplication::sendEvent(this, &mouseEvent); break; } - case QEvent::SymbianDeferredFocusChanged: { -#ifdef Q_OS_SYMBIAN - d->handleSymbianDeferredFocusChanged(); -#endif - break; - } #ifndef QT_NO_PROPERTIES case QEvent::DynamicPropertyChange: { const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName(); @@ -11452,6 +11444,10 @@ QWidget *QWidgetPrivate::widgetInNavigationDirection(Direction direction) QWidget *targetWidget = 0; int shortestDistance = INT_MAX; foreach(QWidget *targetCandidate, QApplication::allWidgets()) { + + if (targetCandidate->focusProxy()) //skip if focus proxy set + continue; + const QRect targetCandidateRect = targetCandidate->rect().translated(targetCandidate->mapToGlobal(QPoint())); if ( targetCandidate != sourceWidget && targetCandidate->focusPolicy() & Qt::TabFocus diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 7e250e2..76418af 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -133,9 +133,6 @@ public: int alloc_region_index; // int alloc_region_revision; #endif -#if defined(Q_WS_WINCE) - uint window_state_internal : 4; -#endif QRect wrect; }; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index 296c5b1..6c879be 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -169,9 +169,6 @@ struct QTLWExtra { #ifndef QT_NO_QWS_MANAGER QWSManager *qwsManager; #endif -#elif defined(Q_OS_SYMBIAN) // <--------------------------------------------------------- SYMBIAN - uint activated : 1; // RWindowBase::Activated has been called - RDrawableWindow *rwindow; #endif }; @@ -224,6 +221,15 @@ struct QWExtra { QImage maskBits; CGImageRef imageMask; #endif +#elif defined(Q_OS_SYMBIAN) // <----------------------------------------------------- Symbian + uint activated : 1; // RWindowBase::Activated has been called + + // If set, QSymbianControl::Draw does not blit this widget + // This is to allow, for use cases such as video, widgets which, from the Qt point + // of view, are just placeholders in the scene. For these widgets, any necessary + // drawing to the UI framebuffer is done by the relevant Symbian subsystem. For + // video rendering, this would be an MMF controller, or MDF post-processor. + uint disableBlit : 1; #endif }; @@ -287,7 +293,7 @@ public: void setMask_sys(const QRegion &); #ifdef Q_OS_SYMBIAN - void handleSymbianDeferredFocusChanged(); + void setSoftKeys_sys(const QList<QAction*> &softkeys); #endif void raise_sys(); diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 6b5e9b7..05db8ca 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -78,14 +78,131 @@ static bool isEqual(const QList<QAction*>& a, const QList<QAction*>& b) return true; } -void QWidgetPrivate::setWSGeometry(bool /* dontShow */, const QRect & /* rect */) +void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &) { + // Note: based on x11 implementation + static const int XCOORD_MAX = 16383; + static const int WRECT_MAX = 16383; + + Q_Q(QWidget); + + Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); + + /* + There are up to four different coordinate systems here: + Qt coordinate system for this widget. + Symbian coordinate system for this widget (relative to wrect). + Qt coordinate system for parent + Symbian coordinate system for parent (relative to parent's wrect). + */ + + QRect validRange(-XCOORD_MAX,-XCOORD_MAX, 2*XCOORD_MAX, 2*XCOORD_MAX); + QRect wrectRange(-WRECT_MAX,-WRECT_MAX, 2*WRECT_MAX, 2*WRECT_MAX); + QRect wrect; + //xrect is the Symbian geometry of my widget. (starts out in parent's Qt coord sys, and ends up in parent's Symbian coord sys) + QRect xrect = data.crect; + + const QWidget *const parent = q->parentWidget(); + QRect parentWRect = parent->data->wrect; + + if (parentWRect.isValid()) { + // parent is clipped, and we have to clip to the same limit as parent + if (!parentWRect.contains(xrect)) { + xrect &= parentWRect; + wrect = xrect; + //translate from parent's to my Qt coord sys + wrect.translate(-data.crect.topLeft()); + } + //translate from parent's Qt coords to parent's X coords + xrect.translate(-parentWRect.topLeft()); + + } else { + // parent is not clipped, we may or may not have to clip + + if (data.wrect.isValid() && QRect(QPoint(),data.crect.size()).contains(data.wrect)) { + // This is where the main optimization is: we are already + // clipped, and if our clip is still valid, we can just + // move our window, and do not need to move or clip + // children + + QRect vrect = xrect & parent->rect(); + vrect.translate(-data.crect.topLeft()); //the part of me that's visible through parent, in my Qt coords + if (data.wrect.contains(vrect)) { + xrect = data.wrect; + xrect.translate(data.crect.topLeft()); + if (data.winid) + data.winid->SetExtent(TPoint(xrect.x(), xrect.y()), TSize(xrect.width(), xrect.height())); + return; + } + } + + if (!validRange.contains(xrect)) { + // we are too big, and must clip + xrect &=wrectRange; + wrect = xrect; + wrect.translate(-data.crect.topLeft()); + //parent's X coord system is equal to parent's Qt coord + //sys, so we don't need to map xrect. + } + } + + // unmap if we are outside the valid window system coord system + bool outsideRange = !xrect.isValid(); + bool mapWindow = false; + if (q->testAttribute(Qt::WA_OutsideWSRange) != outsideRange) { + q->setAttribute(Qt::WA_OutsideWSRange, outsideRange); + if (outsideRange) { + if (data.winid) + data.winid->DrawableWindow()->SetVisible(EFalse); + q->setAttribute(Qt::WA_Mapped, false); + } else if (!q->isHidden()) { + mapWindow = true; + } + } + + if (outsideRange) + return; + + bool jump = (data.wrect != wrect); + data.wrect = wrect; + + // and now recursively for all children... + for (int i = 0; i < children.size(); ++i) { + QObject *object = children.at(i); + if (object->isWidgetType()) { + QWidget *w = static_cast<QWidget *>(object); + if (!w->isWindow() && w->testAttribute(Qt::WA_WState_Created)) + w->d_func()->setWSGeometry(jump); + } + } + + if (data.winid) { + // move ourselves to the new position and map (if necessary) after + // the movement. Rationale: moving unmapped windows is much faster + // than moving mapped windows + if (!parent->internalWinId()) + xrect.translate(parent->mapTo(q->nativeParentWidget(), QPoint(0, 0))); + + data.winid->SetExtent(TPoint(xrect.x(), xrect.y()), TSize(xrect.width(), xrect.height())); + } + + if (mapWindow and !dontShow) { + q->setAttribute(Qt::WA_Mapped); + if (q->internalWinId()) + q->internalWinId()->DrawableWindow()->SetVisible(ETrue); + } + + if (jump && data.winid) { + RWindow *const window = static_cast<RWindow *>(data.winid->DrawableWindow()); + window->Invalidate(TRect(0, 0, wrect.width(), wrect.height())); + } } void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) { Q_Q(QWidget); + Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); if ((q->windowType() == Qt::Desktop)) @@ -129,7 +246,6 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) // put the window in its place and show it q->internalWinId()->SetRect(TRect(TPoint(x, y), TSize(w, h))); data.crect.setRect(x, y, w, h); - show_sys(); } else { QRect r = QRect(x, y, w, h); @@ -251,20 +367,22 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de } else { stackingFlags = ECoeStackFlagStandard; } + control->MakeVisible(false); QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); + // Avoid keyboard focus to a hidden window. + control->setFocusSafely(false); - QTLWExtra *topExtra = topData(); - topExtra->rwindow = control->DrawableWindow(); + RDrawableWindow *const drawableWindow = control->DrawableWindow(); // Request mouse move events. - topExtra->rwindow->PointerFilter(EPointerFilterEnterExit + drawableWindow->PointerFilter(EPointerFilterEnterExit | EPointerFilterMove | EPointerFilterDrag, 0); - topExtra->rwindow->EnableVisibilityChangeEvents(); + drawableWindow->EnableVisibilityChangeEvents(); if (!isOpaque) { - RWindow *rwindow = static_cast<RWindow*>(topExtra->rwindow); - TDisplayMode gotDM = (TDisplayMode)rwindow->SetRequiredDisplayMode(EColor16MA); - if (rwindow->SetTransparencyAlphaChannel() == KErrNone) - rwindow->SetBackgroundColor(TRgb(255, 255, 255, 0)); + RWindow *const window = static_cast<RWindow *>(drawableWindow); + const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA)); + if (window->SetTransparencyAlphaChannel() == KErrNone) + window->SetBackgroundColor(TRgb(255, 255, 255, 0)); } } @@ -284,10 +402,10 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de } else { stackingFlags = ECoeStackFlagStandard; } + control->MakeVisible(false); QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); - - WId parentw = parentWidget->effectiveWinId(); - QT_TRAP_THROWING(control->SetContainerWindowL(*parentw)); + // Avoid keyboard focus to a hidden window. + control->setFocusSafely(false); q->setAttribute(Qt::WA_WState_Created); int x, y, w, h; @@ -308,7 +426,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de void QWidgetPrivate::show_sys() { Q_Q(QWidget); - + if (q->testAttribute(Qt::WA_OutsideWSRange)) return; @@ -321,20 +439,23 @@ void QWidgetPrivate::show_sys() return; } - if (q->isWindow() && q->internalWinId()) { - - WId id = q->internalWinId(); - if (!extra->topextra->activated) { + if (q->internalWinId()) { + + QSymbianControl *id = static_cast<QSymbianControl *>(q->internalWinId()); + if (!extra->activated) { QT_TRAP_THROWING(id->ActivateL()); - extra->topextra->activated = 1; + extra->activated = 1; } id->MakeVisible(true); - id->SetFocus(true); + + if(q->isWindow()) + id->setFocusSafely(true); // Force setting of the icon after window is made visible, // this is needed even WA_SetWindowIcon is not set, as in that case we need // to reset to the application level window icon - setWindowIcon_sys(true); + if(q->isWindow()) + setWindowIcon_sys(true); } invalidateBuffer(q->rect()); @@ -343,12 +464,14 @@ void QWidgetPrivate::show_sys() void QWidgetPrivate::hide_sys() { Q_Q(QWidget); + Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); deactivateWidgetCleanup(); - WId id = q->internalWinId(); - if (q->isWindow() && id) { - if (id->IsFocused()) // Avoid unnecessary calls to FocusChanged() - id->SetFocus(false); + QSymbianControl *id = static_cast<QSymbianControl *>(q->internalWinId()); + + if (id) { + if(id->IsFocused()) // Avoid unnecessary calls to FocusChanged() + id->setFocusSafely(false); id->MakeVisible(false); if (QWidgetBackingStore *bs = maybeBackingStore()) bs->releaseBuffer(); @@ -364,55 +487,26 @@ void QWidgetPrivate::setFocus_sys() Q_Q(QWidget); if (q->testAttribute(Qt::WA_WState_Created) && q->window()->windowType() != Qt::Popup) if (!q->effectiveWinId()->IsFocused()) // Avoid unnecessry calls to FocusChanged() - q->effectiveWinId()->SetFocus(true); -} - -void QWidgetPrivate::handleSymbianDeferredFocusChanged() -{ - Q_Q(QWidget); - WId control = q->internalWinId(); - if (!control) { - // This could happen if the widget was reparented, while the focuschange - // was in the event queue. - return; - } - - if (control->IsFocused()) { - QApplication::setActiveWindow(q); -#ifdef Q_WS_S60 - // If widget is fullscreen, hide status pane and button container - // otherwise show them. - CEikStatusPane* statusPane = S60->statusPane(); - CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer(); - bool isFullscreen = q->windowState() & Qt::WindowFullScreen; - if (statusPane && (statusPane->IsVisible() == isFullscreen)) - statusPane->MakeVisible(!isFullscreen); - if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen)) - buttonGroup->MakeVisible(!isFullscreen); -#endif - } else { - QApplication::setActiveWindow(0); - } + static_cast<QSymbianControl *>(q->effectiveWinId())->setFocusSafely(true); } void QWidgetPrivate::raise_sys() { Q_Q(QWidget); + Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); - QTLWExtra *tlwExtra = maybeTopData(); - if (q->internalWinId() && tlwExtra) { - tlwExtra->rwindow->SetOrdinalPosition(0); - } + if (q->internalWinId()) + q->internalWinId()->DrawableWindow()->SetOrdinalPosition(0); } void QWidgetPrivate::lower_sys() { Q_Q(QWidget); + Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); - QTLWExtra *tlwExtra = maybeTopData(); - if (q->internalWinId() && tlwExtra) { - tlwExtra->rwindow->SetOrdinalPosition(-1); - } + if (q->internalWinId()) + q->internalWinId()->DrawableWindow()->SetOrdinalPosition(-1); + if (!q->isWindow()) invalidateBuffer(q->rect()); } @@ -426,10 +520,13 @@ void QWidgetPrivate::stackUnder_sys(QWidget* w) { Q_Q(QWidget); Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); - QTLWExtra *tlwExtra = maybeTopData(); - QTLWExtra *tlwExtraSibling = w->d_func()->maybeTopData(); - if (q->internalWinId() && tlwExtra && w->internalWinId() && tlwExtraSibling) - tlwExtra->rwindow->SetOrdinalPosition(tlwExtraSibling->rwindow->OrdinalPosition() + 1); + + if (q->internalWinId() && w->internalWinId()) { + RDrawableWindow *const thisWindow = q->internalWinId()->DrawableWindow(); + RDrawableWindow *const otherWindow = w->internalWinId()->DrawableWindow(); + thisWindow->SetOrdinalPosition(otherWindow->OrdinalPosition() + 1); + } + if (!q->isWindow() || !w->internalWinId()) invalidateBuffer(q->rect()); } @@ -437,6 +534,7 @@ void QWidgetPrivate::stackUnder_sys(QWidget* w) void QWidgetPrivate::reparentChildren() { Q_Q(QWidget); + QObjectList chlist = q->children(); for (int i = 0; i < chlist.size(); ++i) { // reparent children QObject *obj = chlist.at(i); @@ -467,6 +565,7 @@ void QWidgetPrivate::reparentChildren() void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) { Q_Q(QWidget); + bool wasCreated = q->testAttribute(Qt::WA_WState_Created); if (q->isVisible() && q->parentWidget() && parent != q->parentWidget()) @@ -475,7 +574,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) if (q->testAttribute(Qt::WA_DropSiteRegistered)) q->setAttribute(Qt::WA_DropSiteRegistered, false); - WId old_winid = wasCreated ? data.winid : 0; + QSymbianControl *old_winid = static_cast<QSymbianControl *>(wasCreated ? data.winid : 0); if ((q->windowType() == Qt::Desktop)) old_winid = 0; setWinId(0); @@ -485,7 +584,7 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f) if (wasCreated && old_winid) { old_winid->MakeVisible(false); if (old_winid->IsFocused()) // Avoid unnecessary calls to FocusChanged() - old_winid->SetFocus(false); + old_winid->setFocusSafely(false); old_winid->SetParent(0); } @@ -536,17 +635,14 @@ void QWidgetPrivate::s60UpdateIsOpaque() if ((data.window_flags & Qt::FramelessWindowHint) == 0) return; + RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow()); + if (!isOpaque) { - QTLWExtra *topExtra = topData(); - RWindow *rwindow = static_cast<RWindow*>(topExtra->rwindow); - TDisplayMode gotDM = (TDisplayMode)rwindow->SetRequiredDisplayMode(EColor16MA); - if (rwindow->SetTransparencyAlphaChannel() == KErrNone) - rwindow->SetBackgroundColor(TRgb(255, 255, 255, 0)); - } else { - QTLWExtra *topExtra = topData(); - RWindow *rwindow = static_cast<RWindow*>(topExtra->rwindow); - rwindow->SetTransparentRegion(TRegionFix<1>()); - } + const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA)); + if (window->SetTransparencyAlphaChannel() == KErrNone) + window->SetBackgroundColor(TRgb(255, 255, 255, 0)); + } else + window->SetTransparentRegion(TRegionFix<1>()); } CFbsBitmap* qt_pixmapToNativeBitmap(QPixmap pixmap, bool invert) @@ -722,8 +818,8 @@ void QWidgetPrivate::scroll_sys(int dx, int dy) scrollRect(q->rect(), dx, dy); } else { Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); - RDrawableWindow* rw = topData()->rwindow; - rw->Scroll(TPoint(dx, dy)); + RDrawableWindow *const window = q->internalWinId()->DrawableWindow(); + window->Scroll(TPoint(dx, dy)); } } @@ -735,8 +831,8 @@ void QWidgetPrivate::scroll_sys(int dx, int dy, const QRect &r) scrollRect(r, dx, dy); } else { Q_ASSERT(q->testAttribute(Qt::WA_WState_Created)); - RDrawableWindow* rw = topData()->rwindow; - rw->Scroll(TPoint(dx, dy), qt_QRect2TRect(r)); + RDrawableWindow *const window = q->internalWinId()->DrawableWindow(); + window->Scroll(TPoint(dx, dy), qt_QRect2TRect(r)); } } @@ -768,8 +864,6 @@ void QWidgetPrivate::registerDropSite(bool /* on */) void QWidgetPrivate::createTLSysExtra() { extra->topextra->backingStore = 0; - extra->topextra->activated = 0; - extra->topextra->rwindow = 0; } void QWidgetPrivate::deleteTLSysExtra() @@ -780,7 +874,8 @@ void QWidgetPrivate::deleteTLSysExtra() void QWidgetPrivate::createSysExtra() { - + extra->activated = 0; + extra->disableBlit = 0; } void QWidgetPrivate::deleteSysExtra() @@ -903,9 +998,10 @@ QPoint QWidget::mapToGlobal(const QPoint &pos) const return pos + tp; } - // This is the native window case. Consider using CCoeControl::PositionRelativeToScreen() - // if we decide to go with CCoeControl - return QPoint(); + // Native window case + const TPoint widgetScreenOffset = internalWinId()->PositionRelativeToScreen(); + const QPoint globalPos = QPoint(widgetScreenOffset.iX, widgetScreenOffset.iY) + pos; + return globalPos; } QPoint QWidget::mapFromGlobal(const QPoint &pos) const @@ -919,13 +1015,16 @@ QPoint QWidget::mapFromGlobal(const QPoint &pos) const return pos - tp; } - // ### TODO native window - return QPoint(); + // Native window case + const TPoint widgetScreenOffset = internalWinId()->PositionRelativeToScreen(); + const QPoint widgetPos = pos - QPoint(widgetScreenOffset.iX, widgetScreenOffset.iY); + return widgetPos; } void QWidget::setWindowState(Qt::WindowStates newstate) { Q_D(QWidget); + Qt::WindowStates oldstate = windowState(); if (oldstate == newstate) return; @@ -1002,17 +1101,17 @@ void QWidget::setWindowState(Qt::WindowStates newstate) if ((oldstate & Qt::WindowMinimized) != (newstate & Qt::WindowMinimized)) { if (newstate & Qt::WindowMinimized) { if (isVisible()) { - WId id = effectiveWinId(); + QSymbianControl *id = static_cast<QSymbianControl *>(effectiveWinId()); if (id->IsFocused()) // Avoid unnecessary calls to FocusChanged() - id->SetFocus(false); + id->setFocusSafely(false); id->MakeVisible(false); } } else { if (isVisible()) { - WId id = effectiveWinId(); + QSymbianControl *id = static_cast<QSymbianControl *>(effectiveWinId()); id->MakeVisible(true); if (!id->IsFocused()) // Avoid unnecessary calls to FocusChanged() - id->SetFocus(true); + id->setFocusSafely(true); } const QRect normalGeometry = geometry(); const QRect r = top->normalGeometry; @@ -1039,7 +1138,7 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows) if (!isWindow() && parentWidget()) parentWidget()->d_func()->invalidateBuffer(geometry()); d->deactivateWidgetCleanup(); - WId id = internalWinId(); + QSymbianControl *id = static_cast<QSymbianControl *>(internalWinId()); if (testAttribute(Qt::WA_WState_Created)) { #ifndef QT_NO_IM @@ -1067,7 +1166,7 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows) } if (destroyWindow && !(windowType() == Qt::Desktop) && id) { if (id->IsFocused()) // Avoid unnecessry calls to FocusChanged() - id->SetFocus(false); + id->setFocusSafely(false); id->ControlEnv()->AppUi()->RemoveFromStack(id); // Hack to activate window under destroyed one. With this activation @@ -1173,11 +1272,12 @@ void QWidget::releaseMouse() void QWidget::activateWindow() { Q_D(QWidget); + QWidget *tlw = window(); if (tlw->isVisible()) { window()->createWinId(); - WId id = tlw->internalWinId(); - id->SetFocus(true); + QSymbianControl *id = static_cast<QSymbianControl *>(tlw->internalWinId()); + id->setFocusSafely(true); } } diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp index c705e2a..a0982f4 100644 --- a/src/gui/kernel/qwidget_win.cpp +++ b/src/gui/kernel/qwidget_win.cpp @@ -1402,7 +1402,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) SetWindowPlacement(q->internalWinId(), &wndpl); } else { #else - if (data.window_state_internal & Qt::WindowMaximized) { + if (data.window_state & Qt::WindowMaximized) { qt_wince_maximize(q); } else { #endif diff --git a/src/gui/kernel/qwidget_wince.cpp b/src/gui/kernel/qwidget_wince.cpp index 32e8e7f..4a0d30c 100644 --- a/src/gui/kernel/qwidget_wince.cpp +++ b/src/gui/kernel/qwidget_wince.cpp @@ -416,6 +416,10 @@ void QWidgetPrivate::show_sys() { SetWindowLong(q->internalWinId(), GWL_STYLE, style | WS_MAXIMIZEBOX); } } else +#else + // Imitate minimizing on Windows mobile by hiding the widget. + if (q->isMinimized()) + sm = SW_HIDE; #endif if (q->isHidden()) { sm = SW_HIDE; @@ -428,8 +432,7 @@ void QWidgetPrivate::show_sys() { sm = SW_SHOWNOACTIVATE; } - if (!(data.window_state & Qt::WindowMinimized)) - ShowWindow(q->internalWinId(), sm); + ShowWindow(q->internalWinId(), sm); if (q->isMaximized() && q->isWindow()) qt_wince_maximize(q); @@ -438,7 +441,7 @@ void QWidgetPrivate::show_sys() { if (!qt_wince_is_mobile() && q->isFullScreen()) { HWND handle = FindWindow(L"HHTaskBar", L""); if (handle) { - ShowWindow(handle, 0); + ShowWindow(handle, SW_HIDE); EnableWindow(handle, false); } } @@ -468,21 +471,15 @@ void QWidget::setWindowState(Qt::WindowStates newstate) return; int max = SW_SHOWNORMAL; - int min = SW_SHOWNOACTIVATE; - int normal = SW_SHOWNOACTIVATE; if ((oldstate & Qt::WindowMinimized) && !(newstate & Qt::WindowMinimized)) newstate |= Qt::WindowActive; - if (newstate & Qt::WindowActive) { - max = SW_SHOWNORMAL; - min = SW_SHOWNORMAL; + if (newstate & Qt::WindowActive) normal = SW_SHOWNORMAL; - } if (isWindow()) { createWinId(); Q_ASSERT(testAttribute(Qt::WA_WState_Created)); - data->window_state_internal = newstate; // Ensure the initial size is valid, since we store it as normalGeometry below. if ((!testAttribute(Qt::WA_Resized) && !isVisible())) adjustSize(); @@ -556,13 +553,11 @@ void QWidget::setWindowState(Qt::WindowStates newstate) } } if ((oldstate & Qt::WindowMinimized) != (newstate & Qt::WindowMinimized)) { - if (isVisible()) { - ShowWindow(internalWinId(), (newstate & Qt::WindowMinimized) ? min : - (newstate & Qt::WindowMaximized) ? max : normal); - if (newstate & Qt::WindowMaximized) - qt_wince_maximize(this); if (newstate & Qt::WindowMinimized) qt_wince_minimize(internalWinId()); + else if (newstate & Qt::WindowMaximized) { + ShowWindow(internalWinId(), max); + qt_wince_maximize(this); } } if ((newstate & Qt::WindowMaximized) && !(newstate & Qt::WindowFullScreen)) { @@ -577,7 +572,6 @@ void QWidget::setWindowState(Qt::WindowStates newstate) } } data->window_state = newstate; - data->window_state_internal = newstate; QWindowStateChangeEvent e(oldstate); QApplication::sendEvent(this, &e); } @@ -588,7 +582,7 @@ void QWidgetPrivate::deleteSysExtra() if (!qt_wince_is_mobile() && q->isFullScreen()) { HWND handle = FindWindow(L"HHTaskBar", L""); if (handle) { - ShowWindow(handle, 1); + ShowWindow(handle, SW_SHOWNORMAL); EnableWindow(handle, true); } } diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h index cfa3f2a..b32e00a 100644 --- a/src/gui/math3d/qmatrix4x4.h +++ b/src/gui/math3d/qmatrix4x4.h @@ -228,14 +228,14 @@ Q_INLINE_TEMPLATE QMatrix4x4::QMatrix4x4 (const QGenericMatrix<N, M, qreal>& matrix) { const qreal *values = matrix.constData(); - for (int col = 0; col < 4; ++col) { - for (int row = 0; row < 4; ++row) { - if (col < N && row < M) - m[col][row] = values[col * M + row]; - else if (col == row) - m[col][row] = 1.0f; + for (int matrixCol = 0; matrixCol < 4; ++matrixCol) { + for (int matrixRow = 0; matrixRow < 4; ++matrixRow) { + if (matrixCol < N && matrixRow < M) + m[matrixCol][matrixRow] = values[matrixCol * M + matrixRow]; + else if (matrixCol == matrixRow) + m[matrixCol][matrixRow] = 1.0f; else - m[col][row] = 0.0f; + m[matrixCol][matrixRow] = 0.0f; } } flagBits = General; @@ -246,14 +246,14 @@ QGenericMatrix<N, M, qreal> QMatrix4x4::toGenericMatrix() const { QGenericMatrix<N, M, qreal> result; qreal *values = result.data(); - for (int col = 0; col < N; ++col) { - for (int row = 0; row < M; ++row) { - if (col < 4 && row < 4) - values[col * M + row] = m[col][row]; - else if (col == row) - values[col * M + row] = 1.0f; + for (int matrixCol = 0; matrixCol < N; ++matrixCol) { + for (int matrixRow = 0; matrixRow < M; ++matrixRow) { + if (matrixCol < 4 && matrixRow < 4) + values[matrixCol * M + matrixRow] = m[matrixCol][matrixRow]; + else if (matrixCol == matrixRow) + values[matrixCol * M + matrixRow] = 1.0f; else - values[col * M + row] = 0.0f; + values[matrixCol * M + matrixRow] = 0.0f; } } return result; @@ -261,17 +261,17 @@ QGenericMatrix<N, M, qreal> QMatrix4x4::toGenericMatrix() const #endif -inline const qreal& QMatrix4x4::operator()(int row, int column) const +inline const qreal& QMatrix4x4::operator()(int aRow, int aColumn) const { - Q_ASSERT(row >= 0 && row < 4 && column >= 0 && column < 4); - return m[column][row]; + Q_ASSERT(aRow >= 0 && aRow < 4 && aColumn >= 0 && aColumn < 4); + return m[aColumn][aRow]; } -inline qreal& QMatrix4x4::operator()(int row, int column) +inline qreal& QMatrix4x4::operator()(int aRow, int aColumn) { - Q_ASSERT(row >= 0 && row < 4 && column >= 0 && column < 4); + Q_ASSERT(aRow >= 0 && aRow < 4 && aColumn >= 0 && aColumn < 4); flagBits = General; - return m[column][row]; + return m[aColumn][aRow]; } inline QVector4D QMatrix4x4::column(int index) const diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h index dd5dddc..7480a5c 100644 --- a/src/gui/math3d/qquaternion.h +++ b/src/gui/math3d/qquaternion.h @@ -138,7 +138,7 @@ private: inline QQuaternion::QQuaternion() : wp(1.0f), xp(0.0f), yp(0.0f), zp(0.0f) {} -inline QQuaternion::QQuaternion(qreal scalar, qreal xpos, qreal ypos, qreal zpos) : wp(scalar), xp(xpos), yp(ypos), zp(zpos) {} +inline QQuaternion::QQuaternion(qreal aScalar, qreal xpos, qreal ypos, qreal zpos) : wp(aScalar), xp(xpos), yp(ypos), zp(zpos) {} inline bool QQuaternion::isNull() const @@ -156,10 +156,10 @@ inline qreal QQuaternion::y() const { return qreal(yp); } inline qreal QQuaternion::z() const { return qreal(zp); } inline qreal QQuaternion::scalar() const { return qreal(wp); } -inline void QQuaternion::setX(qreal x) { xp = x; } -inline void QQuaternion::setY(qreal y) { yp = y; } -inline void QQuaternion::setZ(qreal z) { zp = z; } -inline void QQuaternion::setScalar(qreal scalar) { wp = scalar; } +inline void QQuaternion::setX(qreal aX) { xp = aX; } +inline void QQuaternion::setY(qreal aY) { yp = aY; } +inline void QQuaternion::setZ(qreal aZ) { zp = aZ; } +inline void QQuaternion::setScalar(qreal aScalar) { wp = aScalar; } inline QQuaternion QQuaternion::conjugate() const { @@ -274,14 +274,14 @@ inline bool qFuzzyCompare(const QQuaternion& q1, const QQuaternion& q2) #ifndef QT_NO_VECTOR3D -inline QQuaternion::QQuaternion(qreal scalar, const QVector3D& vector) - : wp(scalar), xp(vector.x()), yp(vector.y()), zp(vector.z()) {} +inline QQuaternion::QQuaternion(qreal aScalar, const QVector3D& aVector) + : wp(aScalar), xp(aVector.x()), yp(aVector.y()), zp(aVector.z()) {} -inline void QQuaternion::setVector(const QVector3D& vector) +inline void QQuaternion::setVector(const QVector3D& aVector) { - xp = vector.x(); - yp = vector.y(); - zp = vector.z(); + xp = aVector.x(); + yp = aVector.y(); + zp = aVector.z(); } inline QVector3D QQuaternion::vector() const @@ -291,17 +291,17 @@ inline QVector3D QQuaternion::vector() const #endif -inline void QQuaternion::setVector(qreal x, qreal y, qreal z) +inline void QQuaternion::setVector(qreal aX, qreal aY, qreal aZ) { - xp = x; - yp = y; - zp = z; + xp = aX; + yp = aY; + zp = aZ; } #ifndef QT_NO_VECTOR4D -inline QQuaternion::QQuaternion(const QVector4D& vector) - : wp(vector.w()), xp(vector.x()), yp(vector.y()), zp(vector.z()) {} +inline QQuaternion::QQuaternion(const QVector4D& aVector) + : wp(aVector.w()), xp(aVector.x()), yp(aVector.y()), zp(aVector.z()) {} inline QVector4D QQuaternion::toVector4D() const { diff --git a/src/gui/math3d/qvector2d.h b/src/gui/math3d/qvector2d.h index 570e864..cd9a12c 100644 --- a/src/gui/math3d/qvector2d.h +++ b/src/gui/math3d/qvector2d.h @@ -144,8 +144,8 @@ inline bool QVector2D::isNull() const inline qreal QVector2D::x() const { return qreal(xp); } inline qreal QVector2D::y() const { return qreal(yp); } -inline void QVector2D::setX(qreal x) { xp = x; } -inline void QVector2D::setY(qreal y) { yp = y; } +inline void QVector2D::setX(qreal aX) { xp = aX; } +inline void QVector2D::setY(qreal aY) { yp = aY; } inline QVector2D &QVector2D::operator+=(const QVector2D &vector) { diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h index 1291c96..60bd693 100644 --- a/src/gui/math3d/qvector3d.h +++ b/src/gui/math3d/qvector3d.h @@ -160,9 +160,9 @@ inline qreal QVector3D::x() const { return qreal(xp); } inline qreal QVector3D::y() const { return qreal(yp); } inline qreal QVector3D::z() const { return qreal(zp); } -inline void QVector3D::setX(qreal x) { xp = x; } -inline void QVector3D::setY(qreal y) { yp = y; } -inline void QVector3D::setZ(qreal z) { zp = z; } +inline void QVector3D::setX(qreal aX) { xp = aX; } +inline void QVector3D::setY(qreal aY) { yp = aY; } +inline void QVector3D::setZ(qreal aZ) { zp = aZ; } inline QVector3D &QVector3D::operator+=(const QVector3D &vector) { diff --git a/src/gui/math3d/qvector4d.h b/src/gui/math3d/qvector4d.h index ad0718a..c35b536 100644 --- a/src/gui/math3d/qvector4d.h +++ b/src/gui/math3d/qvector4d.h @@ -158,10 +158,10 @@ inline qreal QVector4D::y() const { return qreal(yp); } inline qreal QVector4D::z() const { return qreal(zp); } inline qreal QVector4D::w() const { return qreal(wp); } -inline void QVector4D::setX(qreal x) { xp = x; } -inline void QVector4D::setY(qreal y) { yp = y; } -inline void QVector4D::setZ(qreal z) { zp = z; } -inline void QVector4D::setW(qreal w) { wp = w; } +inline void QVector4D::setX(qreal aX) { xp = aX; } +inline void QVector4D::setY(qreal aY) { yp = aY; } +inline void QVector4D::setZ(qreal aZ) { zp = aZ; } +inline void QVector4D::setW(qreal aW) { wp = aW; } inline QVector4D &QVector4D::operator+=(const QVector4D &vector) { diff --git a/src/gui/s60framework/qs60mainapplication.h b/src/gui/s60framework/qs60mainapplication.h index 457764c..5f621e0 100644 --- a/src/gui/s60framework/qs60mainapplication.h +++ b/src/gui/s60framework/qs60mainapplication.h @@ -42,7 +42,7 @@ #ifndef QS60MAINAPPLICATION_H #define QS60MAINAPPLICATION_H -#include <qglobal.h> +#include <QtCore/qglobal.h> #ifdef Q_WS_S60 diff --git a/src/gui/s60framework/qs60mainappui.h b/src/gui/s60framework/qs60mainappui.h index c2c6ef2..321d8d6 100644 --- a/src/gui/s60framework/qs60mainappui.h +++ b/src/gui/s60framework/qs60mainappui.h @@ -42,7 +42,7 @@ #ifndef QS60MAINAPPUI_H #define QS60MAINAPPUI_H -#include <qglobal.h> +#include <QtCore/qglobal.h> #ifdef Q_WS_S60 diff --git a/src/gui/s60framework/qs60maindocument.h b/src/gui/s60framework/qs60maindocument.h index 366d311..1327349 100644 --- a/src/gui/s60framework/qs60maindocument.h +++ b/src/gui/s60framework/qs60maindocument.h @@ -42,7 +42,7 @@ #ifndef QS60MAINDOCUMENT_H #define QS60MAINDOCUMENT_H -#include <qglobal.h> +#include <QtCore/qglobal.h> #ifdef Q_WS_S60 diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 1e57167..6bdb79e 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -2397,8 +2397,6 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple // lets use spinbox frame here as well, as no combobox specific value available. const int frameThickness = cmb->frame ? pixelMetric(PM_SpinBoxFrameWidth, cmb, widget) : 0; const int buttonWidth = QS60StylePrivate::pixelMetric(QStyle::PM_ButtonIconSize); - const int xposMod = (cmb->rect.x()) + width - buttonMargin - buttonWidth; - const int ypos = cmb->rect.y(); QSize buttonSize; buttonSize.setHeight(qMax(8, (cmb->rect.height()>>1) - frameThickness)); //minimum of 8 pixels @@ -2406,15 +2404,18 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple buttonSize = buttonSize.expandedTo(QApplication::globalStrut()); switch (scontrol) { case SC_ComboBoxArrow: - ret.setRect(xposMod, ypos + buttonMargin, buttonWidth, height - 2*buttonMargin); + ret.setRect( + ret.x() + ret.width() - buttonMargin - buttonWidth, + ret.y() + buttonMargin, + buttonWidth, + height - 2*buttonMargin); break; case SC_ComboBoxEditField: { - const int withFrameX = cmb->rect.x() + cmb->rect.width() - frameThickness - buttonSize.width(); - ret = QRect( - frameThickness, - frameThickness, - withFrameX - frameThickness, - cmb->rect.height() - 2*frameThickness); + ret.setRect( + ret.x() + frameThickness, + ret.y() + frameThickness, + ret.width() - 2*frameThickness - buttonSize.width(), + ret.height() - 2*frameThickness); } break; default: diff --git a/src/gui/styles/qs60style.h b/src/gui/styles/qs60style.h index fd18bc3..6be3197 100644 --- a/src/gui/styles/qs60style.h +++ b/src/gui/styles/qs60style.h @@ -76,6 +76,9 @@ public: void unpolish(QWidget *widget); void polish(QApplication *application); void unpolish(QApplication *application); +#ifndef Q_NO_USING_KEYWORD + using QCommonStyle::polish; +#endif void setStyleProperty(const char *name, const QVariant &value); QVariant styleProperty(const char *name) const; diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 131d8bc..cde48d8 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -635,8 +635,18 @@ bool QS60StylePrivate::isToolBarBackground() QPoint qt_s60_fill_background_offset(const QWidget *targetWidget) { CCoeControl *control = targetWidget->effectiveWinId(); - TPoint globalPos = control ? control->PositionRelativeToScreen() : TPoint(0,0); - return QPoint(globalPos.iX, globalPos.iY); + TPoint pos(0,0); + if (control) { + // FIXME properly: S60 3.1 has a bug that CCoeControl::PositionRelativeToScreen sometimes + // freezes the device, possibly in cases where we run out of memory. + // We use CCoeControl::Position instead in S60 3.1, which returns same values + // in most cases. + if (QSysInfo::s60Version() == QSysInfo::SV_S60_3_1) + pos = control->Position(); + else + pos = control->PositionRelativeToScreen(); + } + return QPoint(pos.iX, pos.iY); } QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( @@ -1137,11 +1147,11 @@ QPixmap QS60StylePrivate::part(QS60StyleEnums::SkinParts part, const QSize &size, SkinElementFlags flags) { QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock); - + QPixmap result = (flags & SF_ColorSkinned)? QS60StyleModeSpecifics::colorSkinnedGraphics(part, size, flags) : QS60StyleModeSpecifics::skinnedGraphics(part, size, flags); - + lock.relock(); if (flags & SF_StateDisabled && !QS60StyleModeSpecifics::disabledPartGraphic(part)) { diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp index b062a3f..6cb8b40 100644 --- a/src/gui/styles/qwindowsvistastyle.cpp +++ b/src/gui/styles/qwindowsvistastyle.cpp @@ -731,14 +731,11 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt { const QStyleOptionViewItemV4 *vopt; const QAbstractItemView *view = qobject_cast<const QAbstractItemView *>(widget); - bool newStyle = false; + bool newStyle = true; + + if (qobject_cast<const QTableView*>(widget)) + newStyle = false; - if (const QListView *listview = qobject_cast<const QListView *>(widget)) { - if (listview->viewMode() == QListView::IconMode) - newStyle = true; - } else if (qobject_cast<const QTreeView *>(widget)) { - newStyle = true; - } if (newStyle && view && (vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))) { bool selected = vopt->state & QStyle::State_Selected; bool hover = vopt->state & QStyle::State_MouseOver; @@ -1496,14 +1493,11 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption { const QStyleOptionViewItemV4 *vopt; const QAbstractItemView *view = qobject_cast<const QAbstractItemView *>(widget); - bool newStyle = false; + bool newStyle = true; + + if (qobject_cast<const QTableView*>(widget)) + newStyle = false; - if (const QListView *listview = qobject_cast<const QListView *>(widget)) { - if (listview->viewMode() == QListView::IconMode) - newStyle = true; - } else if (qobject_cast<const QTreeView *>(widget)) { - newStyle = true; - } if (newStyle && view && (vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option))) { /* // We cannot currently get the correct selection color for "explorer style" views diff --git a/src/gui/styles/qwindowsvistastyle_p.h b/src/gui/styles/qwindowsvistastyle_p.h index d4170aa..e9bbb77 100644 --- a/src/gui/styles/qwindowsvistastyle_p.h +++ b/src/gui/styles/qwindowsvistastyle_p.h @@ -84,6 +84,7 @@ #include <qinputdialog.h> #include <qtreeview.h> #include <qlistview.h> +#include <qtableview.h> #include <qbasictimer.h> #include <qcommandlinkbutton.h> diff --git a/src/gui/text/qfont.h b/src/gui/text/qfont.h index ef91983..d73e1c4 100644 --- a/src/gui/text/qfont.h +++ b/src/gui/text/qfont.h @@ -309,6 +309,7 @@ private: friend class QPicturePaintEngine; friend class QPainterReplayer; friend class QPaintBufferEngine; + friend class QCommandLinkButtonPrivate; #ifndef QT_NO_DATASTREAM friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QFont &); diff --git a/src/gui/text/qfontengine_qpf.cpp b/src/gui/text/qfontengine_qpf.cpp index 996e471..ef3f2ae 100644 --- a/src/gui/text/qfontengine_qpf.cpp +++ b/src/gui/text/qfontengine_qpf.cpp @@ -628,13 +628,13 @@ QImage QFontEngineQPF::alphaMapForGlyph(glyph_t g) { const Glyph *glyph = findGlyph(g); if (!glyph) - QImage(); + return QImage(); const uchar *bits = ((const uchar *) glyph) + sizeof(Glyph); QImage image(glyph->width, glyph->height, QImage::Format_Indexed8); for (int j=0; j<256; ++j) - image.setColor(j, 0xff000000 | j | (j<<8) | (j<<16)); + image.setColor(j, qRgba(0, 0, 0, j)); for (int i=0; i<glyph->height; ++i) { memcpy(image.scanLine(i), bits, glyph->bytesPerLine); diff --git a/src/gui/text/qfontengine_qws.cpp b/src/gui/text/qfontengine_qws.cpp index 888e1be..de8028c 100644 --- a/src/gui/text/qfontengine_qws.cpp +++ b/src/gui/text/qfontengine_qws.cpp @@ -528,10 +528,12 @@ QImage QFontEngineQPF1::alphaMapForGlyph(glyph_t g) QImage image; if (mono) { image = QImage((glyph->metrics->width+7)&~7, glyph->metrics->height, QImage::Format_Mono); + image.setColor(0, qRgba(0, 0, 0, 0)); + image.setColor(1, qRgba(0, 0, 0, 255)); } else { image = QImage(glyph->metrics->width, glyph->metrics->height, QImage::Format_Indexed8); for (int j=0; j<256; ++j) - image.setColor(j, 0xff000000 | j | (j<<8) | (j<<16)); + image.setColor(j, qRgba(0, 0, 0, j)); } for (int i=0; i<glyph->metrics->height; ++i) { memcpy(image.scanLine(i), bits, glyph->metrics->linestep); diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index a50c105..c3289b4 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -215,7 +215,8 @@ QT_BEGIN_NAMESPACE QAbstractSliderPrivate::QAbstractSliderPrivate() : minimum(0), maximum(99), singleStep(1), pageStep(10), - value(0), position(0), pressValue(-1), tracking(true), blocktracking(false), pressed(false), + value(0), position(0), pressValue(-1), offset_accumulated(0), tracking(true), + blocktracking(false), pressed(false), invertedAppearance(false), invertedControls(false), orientation(Qt::Horizontal), repeatAction(QAbstractSlider::SliderNoAction) { @@ -691,38 +692,30 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) e->ignore(); if (e->orientation() != d->orientation && !rect().contains(e->pos())) return; - static qreal offset = 0; - static QAbstractSlider *offset_owner = 0; - if (offset_owner != this){ - offset_owner = this; - offset = 0; - } - // On Mac/Cocoa, always scroll one step. The mouse wheel acceleration - // is higher than on other systems, so this works well in practice. -#ifdef QT_MAC_USE_COCOA - int step = 1; -#else int step = qMin(QApplication::wheelScrollLines() * d->singleStep, d->pageStep); -#endif if ((e->modifiers() & Qt::ControlModifier) || (e->modifiers() & Qt::ShiftModifier)) step = d->pageStep; - int currentOffset = qRound(qreal(e->delta()) * step / 120); - if (currentOffset == 0) - currentOffset = (e->delta() < 0 ? -1 : 1); - offset += currentOffset; - if (d->invertedControls) - offset = -offset; + qreal currentOffset = qreal(e->delta()) * step / 120; + d->offset_accumulated += d->invertedControls ? -currentOffset : currentOffset; - int prevValue = d->value; - d->position = d->overflowSafeAdd(int(offset)); // value will be updated by triggerAction() + if (int(d->offset_accumulated) == 0) { + // QAbstractSlider works on integer values. So if the accumulated + // offset is less than +/- 1, we need to wait until we get more + // wheel events (this means that the wheel resolution is higher than + // 15 degrees, e.g. when using mac mighty mouse/trackpad): + return; + } + int prevValue = d->value; + d->position = d->overflowSafeAdd(int(d->offset_accumulated)); // value will be updated by triggerAction() triggerAction(SliderMove); + if (prevValue == d->value) { - offset = 0; + d->offset_accumulated = 0; } else { - offset -= int(offset); + d->offset_accumulated -= int(d->offset_accumulated); e->accept(); } } diff --git a/src/gui/widgets/qabstractslider_p.h b/src/gui/widgets/qabstractslider_p.h index 071b8df..9324d44 100644 --- a/src/gui/widgets/qabstractslider_p.h +++ b/src/gui/widgets/qabstractslider_p.h @@ -69,6 +69,7 @@ public: void setSteps(int single, int page); int minimum, maximum, singleStep, pageStep, value, position, pressValue; + float offset_accumulated; uint tracking : 1; uint blocktracking :1; uint pressed : 1; diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp index 61532b9..95ff4c1 100644 --- a/src/gui/widgets/qcombobox.cpp +++ b/src/gui/widgets/qcombobox.cpp @@ -403,8 +403,8 @@ QComboBoxPrivateContainer::QComboBoxPrivateContainer(QAbstractItemView *itemView layout->setMargin(0); #ifdef QT_SOFTKEYS_ENABLED - selectAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::SelectSoftKey, Qt::Key_Select, itemView); - cancelAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::CancelSoftKey, Qt::Key_Escape, itemView); + selectAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::SelectSoftKey, Qt::Key_Select, this); + cancelAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::CancelSoftKey, Qt::Key_Escape, this); addAction(selectAction); addAction(cancelAction); #endif @@ -534,6 +534,7 @@ void QComboBoxPrivateContainer::setItemView(QAbstractItemView *itemView) this, SLOT(setCurrentIndex(QModelIndex))); disconnect(view, SIGNAL(destroyed()), this, SLOT(viewDestroyed())); + delete view; view = 0; } @@ -571,11 +572,6 @@ void QComboBoxPrivateContainer::setItemView(QAbstractItemView *itemView) this, SLOT(setCurrentIndex(QModelIndex))); connect(view, SIGNAL(destroyed()), this, SLOT(viewDestroyed())); - -#ifdef QT_SOFTKEYS_ENABLED - selectAction->setParent(itemView); - cancelAction->setParent(itemView); -#endif } /*! diff --git a/src/gui/widgets/qcommandlinkbutton.cpp b/src/gui/widgets/qcommandlinkbutton.cpp index e64f687..9adf280 100644 --- a/src/gui/widgets/qcommandlinkbutton.cpp +++ b/src/gui/widgets/qcommandlinkbutton.cpp @@ -140,23 +140,34 @@ QFont QCommandLinkButtonPrivate::titleFont() const Q_Q(const QCommandLinkButton); QFont font = q->font(); if (usingVistaStyle()) { - if (!q->testAttribute(Qt::WA_SetFont)) - font.setPointSizeF(12.0); + font.setPointSizeF(12.0); } else { font.setBold(true); - if (!q->testAttribute(Qt::WA_SetFont)) - font.setPointSizeF(9.0); + font.setPointSizeF(9.0); } - return font; + + // Note the font will be resolved against + // QPainters font, so we need to restore the mask + int resolve_mask = font.resolve_mask; + QFont modifiedFont = q->font().resolve(font); + modifiedFont.detach(); + modifiedFont.resolve_mask = resolve_mask; + return modifiedFont; } QFont QCommandLinkButtonPrivate::descriptionFont() const { Q_Q(const QCommandLinkButton); QFont font = q->font(); - if (!q->testAttribute(Qt::WA_SetFont)) - font.setPointSizeF(9.0); - return font; + font.setPointSizeF(9.0); + + // Note the font will be resolved against + // QPainters font, so we need to restore the mask + int resolve_mask = font.resolve_mask; + QFont modifiedFont = q->font().resolve(font); + modifiedFont.detach(); + modifiedFont.resolve_mask = resolve_mask; + return modifiedFont; } QRect QCommandLinkButtonPrivate::titleRect() const diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp index dc78fd5..3fe9bb4 100644 --- a/src/gui/widgets/qtextedit.cpp +++ b/src/gui/widgets/qtextedit.cpp @@ -174,8 +174,13 @@ void QTextEditPrivate::init(const QString &html) if (!html.isEmpty()) control->setHtml(html); +#ifdef Q_OS_MAC + hbar->setSingleStep(1); + vbar->setSingleStep(1); +#else hbar->setSingleStep(20); vbar->setSingleStep(20); +#endif viewport->setBackgroundRole(QPalette::Base); q->setAcceptDrops(true); diff --git a/src/gui/widgets/qvalidator.h b/src/gui/widgets/qvalidator.h index 268ecaa..a0d9534 100644 --- a/src/gui/widgets/qvalidator.h +++ b/src/gui/widgets/qvalidator.h @@ -61,7 +61,7 @@ class Q_GUI_EXPORT QValidator : public QObject { Q_OBJECT public: - explicit QValidator(QObject * parent=0); + explicit QValidator(QObject * parent = 0); ~QValidator(); enum State { @@ -100,7 +100,7 @@ class Q_GUI_EXPORT QIntValidator : public QValidator Q_PROPERTY(int top READ top WRITE setTop) public: - explicit QIntValidator(QObject * parent=0); + explicit QIntValidator(QObject * parent = 0); QIntValidator(int bottom, int top, QObject * parent); ~QIntValidator(); diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp index f36ffc8..5e9aa81 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.cpp +++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp @@ -57,6 +57,8 @@ QT_BEGIN_NAMESPACE //#define DEBUG_AUDIO 1 +static const int minimumIntervalTime = 50; + QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -248,6 +250,7 @@ bool QAudioInputPrivate::open() qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()"; #endif timeStamp.restart(); + elapsedTimeOffset = 0; int dir; int err=-1; @@ -283,69 +286,69 @@ bool QAudioInputPrivate::open() err = snd_pcm_hw_params_any( handle, hwparams ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_any: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_any: err = %1").arg(err); } if ( !fatal ) { err = snd_pcm_hw_params_set_rate_resample( handle, hwparams, 1 ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_rate_resample: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_rate_resample: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_access( handle, hwparams, access ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_access: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_access: err = %1").arg(err); } } if ( !fatal ) { err = setFormat(); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_format: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_format: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_channels( handle, hwparams, (unsigned int)settings.channels() ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_channels: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_channels: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_rate_near( handle, hwparams, &freakuency, 0 ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_rate_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_rate_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_buffer_time_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_buffer_time_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_period_time_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_period_time_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_periods_near(handle, hwparams, &chunks, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params_set_periods_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params_set_periods_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params(handle, hwparams); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioInput: snd_pcm_hw_params: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioInput: snd_pcm_hw_params: err = %1").arg(err); } } if( err < 0) { @@ -443,7 +446,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) if (readFrames >= 0) { err = snd_pcm_frames_to_bytes(handle, readFrames); #ifdef DEBUG_AUDIO - qDebug()<<QString(tr("PULL: read in bytes = %1 (frames=%2)")).arg(err).arg(readFrames).toLatin1().constData(); + qDebug()<<QString::fromLatin1("PULL: read in bytes = %1 (frames=%2)").arg(err).arg(readFrames).toLatin1().constData(); #endif break; } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) { @@ -531,7 +534,10 @@ int QAudioInputPrivate::periodSize() const void QAudioInputPrivate::setNotifyInterval(int ms) { - intervalTime = ms; + if(ms >= minimumIntervalTime) + intervalTime = ms; + else + intervalTime = minimumIntervalTime; } int QAudioInputPrivate::notifyInterval() const @@ -579,8 +585,9 @@ bool QAudioInputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if(timeStamp.elapsed() > intervalTime && intervalTime > 50) { + if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); + elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); } return true; @@ -591,7 +598,7 @@ qint64 QAudioInputPrivate::clock() const if(!handle) return 0; - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; snd_pcm_status_t* status; @@ -650,7 +657,7 @@ qint64 InputPrivate::readData( char* data, qint64 len) if (readFrames >= 0) { err = snd_pcm_frames_to_bytes(audioDevice->handle, readFrames); #ifdef DEBUG_AUDIO - qDebug()<<QString(tr("PUSH: read in bytes = %1 (frames=%2)")).arg(err).arg(readFrames).toLatin1().constData(); + qDebug()<<QString::fromLatin1("PUSH: read in bytes = %1 (frames=%2)").arg(err).arg(readFrames).toLatin1().constData(); #endif break; } else if((readFrames == -EAGAIN) || (readFrames == -EINTR)) { diff --git a/src/multimedia/audio/qaudioinput_alsa_p.h b/src/multimedia/audio/qaudioinput_alsa_p.h index a1cc738..5583ea0 100644 --- a/src/multimedia/audio/qaudioinput_alsa_p.h +++ b/src/multimedia/audio/qaudioinput_alsa_p.h @@ -117,6 +117,7 @@ private: QTimer* timer; QTime timeStamp; + qint64 elapsedTimeOffset; int intervalTime; char* audioBuffer; int bytesAvailable; diff --git a/src/multimedia/audio/qaudioinput_mac_p.cpp b/src/multimedia/audio/qaudioinput_mac_p.cpp index 07fa3f4..cb05920 100644 --- a/src/multimedia/audio/qaudioinput_mac_p.cpp +++ b/src/multimedia/audio/qaudioinput_mac_p.cpp @@ -819,6 +819,9 @@ qint64 QAudioInputPrivate::totalTime() const qint64 QAudioInputPrivate::clock() const { + if (stateCode == QAudio::StopState) + return 0; + return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000); } diff --git a/src/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp index 31441ae..b6b1efe 100644 --- a/src/multimedia/audio/qaudioinput_win32_p.cpp +++ b/src/multimedia/audio/qaudioinput_win32_p.cpp @@ -59,6 +59,8 @@ QT_BEGIN_NAMESPACE static CRITICAL_SECTION waveInCriticalSection; +static const int minimumIntervalTime = 50; + QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -226,6 +228,7 @@ bool QAudioInputPrivate::open() period_size = buffer_size/2; #endif timeStamp.restart(); + elapsedTimeOffset = 0; wfx.nSamplesPerSec = settings.frequency(); wfx.wBitsPerSample = settings.sampleSize(); wfx.nChannels = settings.channels(); @@ -297,6 +300,7 @@ bool QAudioInputPrivate::open() return false; } timeStampOpened.restart(); + elapsedTimeOffset = 0; totalTimeValue = 0; errorState = QAudio::NoError; deviceState = QAudio::ActiveState; @@ -473,7 +477,10 @@ int QAudioInputPrivate::periodSize() const void QAudioInputPrivate::setNotifyInterval(int ms) { - intervalTime = ms; + if(ms >= minimumIntervalTime) + intervalTime = ms; + else + intervalTime = minimumIntervalTime; } int QAudioInputPrivate::notifyInterval() const @@ -524,8 +531,9 @@ bool QAudioInputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if(timeStamp.elapsed() > intervalTime && intervalTime > 50) { + if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); + elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); } return true; @@ -533,7 +541,7 @@ bool QAudioInputPrivate::deviceReady() qint64 QAudioInputPrivate::clock() const { - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; return timeStampOpened.elapsed(); diff --git a/src/multimedia/audio/qaudioinput_win32_p.h b/src/multimedia/audio/qaudioinput_win32_p.h index 3363b6a..26c470d 100644 --- a/src/multimedia/audio/qaudioinput_win32_p.h +++ b/src/multimedia/audio/qaudioinput_win32_p.h @@ -109,6 +109,7 @@ private: int bytesAvailable; int intervalTime; QTime timeStamp; + qint64 elapsedTimeOffset; QTime timeStampOpened; qint64 totalTimeValue; bool pullMode; diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp index e8a3f5c..d814d97 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp +++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp @@ -57,6 +57,8 @@ QT_BEGIN_NAMESPACE //#define DEBUG_AUDIO 1 +static const int minimumIntervalTime = 50; + QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -271,6 +273,7 @@ bool QAudioOutputPrivate::open() qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()"; #endif timeStamp.restart(); + elapsedTimeOffset = 0; int dir; int err=-1; @@ -304,69 +307,69 @@ bool QAudioOutputPrivate::open() err = snd_pcm_hw_params_any( handle, hwparams ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_any: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_any: err = %1").arg(err); } if ( !fatal ) { err = snd_pcm_hw_params_set_rate_resample( handle, hwparams, 1 ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_rate_resample: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_rate_resample: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_access( handle, hwparams, access ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_access: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_access: err = %1").arg(err); } } if ( !fatal ) { err = setFormat(); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_format: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_format: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_channels( handle, hwparams, (unsigned int)settings.channels() ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_channels: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_channels: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_rate_near( handle, hwparams, &freakuency, 0 ); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_rate_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_rate_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_buffer_time_near(handle, hwparams, &buffer_time, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_period_time_near(handle, hwparams, &period_time, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_period_time_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_period_time_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params_set_periods_near(handle, hwparams, &chunks, &dir); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params_set_periods_near: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params_set_periods_near: err = %1").arg(err); } } if ( !fatal ) { err = snd_pcm_hw_params(handle, hwparams); if ( err < 0 ) { fatal = true; - errMessage = QString(tr("QAudioOutput: snd_pcm_hw_params: err = %1")).arg(err); + errMessage = QString::fromLatin1("QAudioOutput: snd_pcm_hw_params: err = %1").arg(err); } } if( err < 0) { @@ -404,6 +407,8 @@ bool QAudioOutputPrivate::open() // Step 6: Start audio processing timer->start(period_time/1000); + timeStamp.restart(); + elapsedTimeOffset = 0; errorState = QAudio::NoError; totalTimeValue = 0; opened = true; @@ -500,7 +505,10 @@ int QAudioOutputPrivate::bufferSize() const void QAudioOutputPrivate::setNotifyInterval(int ms) { - intervalTime = ms; + if(ms >= minimumIntervalTime) + intervalTime = ms; + else + intervalTime = minimumIntervalTime; } int QAudioOutputPrivate::notifyInterval() const @@ -629,8 +637,9 @@ bool QAudioOutputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if(timeStamp.elapsed() > intervalTime && intervalTime > 50) { + if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); + elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); } return true; @@ -641,7 +650,7 @@ qint64 QAudioOutputPrivate::clock() const if(!handle) return 0; - if(deviceState != QAudio::ActiveState) + if (deviceState == QAudio::StopState) return 0; snd_pcm_status_t* status; diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.h b/src/multimedia/audio/qaudiooutput_alsa_p.h index 63fe348..6d4177d 100644 --- a/src/multimedia/audio/qaudiooutput_alsa_p.h +++ b/src/multimedia/audio/qaudiooutput_alsa_p.h @@ -134,6 +134,7 @@ private: QByteArray m_device; int bytesAvailable; QTime timeStamp; + qint64 elapsedTimeOffset; char* audioBuffer; snd_pcm_t* handle; snd_async_handler_t* ahandler; diff --git a/src/multimedia/audio/qaudiooutput_mac_p.cpp b/src/multimedia/audio/qaudiooutput_mac_p.cpp index 4364704..f23db80 100644 --- a/src/multimedia/audio/qaudiooutput_mac_p.cpp +++ b/src/multimedia/audio/qaudiooutput_mac_p.cpp @@ -551,6 +551,9 @@ qint64 QAudioOutputPrivate::totalTime() const qint64 QAudioOutputPrivate::clock() const { + if (stateCode == QAudio::StopState) + return 0; + return (AudioGetCurrentHostTime() - startTime) / (clockFrequency / 1000); } diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index aea3a3f..ef4bf0e 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -58,6 +58,8 @@ QT_BEGIN_NAMESPACE static CRITICAL_SECTION waveOutCriticalSection; +static const int minimumIntervalTime = 50; + QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -221,6 +223,7 @@ bool QAudioOutputPrivate::open() audioBuffer = new char[buffer_size]; timeStamp.restart(); + elapsedTimeOffset = 0; wfx.nSamplesPerSec = settings.frequency(); wfx.wBitsPerSample = settings.sampleSize(); @@ -261,6 +264,7 @@ bool QAudioOutputPrivate::open() totalTimeValue = 0; timeStampOpened.restart(); + elapsedTimeOffset = 0; errorState = QAudio::NoError; if(pullMode) { @@ -316,7 +320,10 @@ int QAudioOutputPrivate::bufferSize() const void QAudioOutputPrivate::setNotifyInterval(int ms) { - intervalTime = ms; + if(ms >= minimumIntervalTime) + intervalTime = ms; + else + intervalTime = minimumIntervalTime; } int QAudioOutputPrivate::notifyInterval() const @@ -420,7 +427,6 @@ void QAudioOutputPrivate::feedback() bool QAudioOutputPrivate::deviceReady() { if(pullMode) { - int i = 0; int chunks = bytesAvailable/period_size; #ifdef DEBUG_AUDIO qDebug()<<"deviceReady() avail="<<bytesAvailable<<" bytes, period size="<<period_size<<" bytes"; @@ -430,6 +436,22 @@ bool QAudioOutputPrivate::deviceReady() if(totalTimeValue == 0) startup = true; + bool full=false; + EnterCriticalSection(&waveOutCriticalSection); + if(waveFreeBlockCount==0) full = true; + LeaveCriticalSection(&waveOutCriticalSection); + if (full){ +#ifdef DEBUG_AUDIO + qDebug() << "Skipping data as unable to write"; +#endif + if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime ) { + emit notify(); + elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; + timeStamp.restart(); + } + return true; + } + if(startup) waveOutPause(hWaveOut); int input = period_size*chunks; @@ -451,7 +473,7 @@ bool QAudioOutputPrivate::deviceReady() } LeaveCriticalSection(&waveOutCriticalSection); - } else if(i < 0) { + } else if(l < 0) { bytesAvailable = bytesFree(); errorState = QAudio::IOError; } @@ -459,8 +481,9 @@ bool QAudioOutputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if(timeStamp.elapsed() > intervalTime && intervalTime > 50) { + if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); + elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); } @@ -468,8 +491,8 @@ bool QAudioOutputPrivate::deviceReady() } qint64 QAudioOutputPrivate::clock() const -{ - if(deviceState != QAudio::ActiveState) +{ + if (deviceState == QAudio::StopState) return 0; return timeStampOpened.elapsed(); diff --git a/src/multimedia/audio/qaudiooutput_win32_p.h b/src/multimedia/audio/qaudiooutput_win32_p.h index 5c08bf4..bcf8e1e 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.h +++ b/src/multimedia/audio/qaudiooutput_win32_p.h @@ -109,6 +109,7 @@ private: bool resuming; int bytesAvailable; QTime timeStamp; + qint64 elapsedTimeOffset; QTime timeStampOpened; qint32 buffer_size; qint32 period_size; diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 27c0ed4..1124337 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -191,6 +191,15 @@ void QHttpNetworkConnectionPrivate::prepareRequest(HttpMessagePair &messagePair) request.d->autoDecompress = false; #endif } + + // some websites mandate an accept-language header and fail + // if it is not sent. This is a problem with the website and + // not with us, but we work around this by setting a + // universal one always. + value = request.headerField("accept-language"); + if (value.isEmpty()) + request.setHeaderField("accept-language", "en,*"); + // set the User Agent value = request.headerField("user-agent"); if (value.isEmpty()) diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp index c068f55..bfcc299 100644 --- a/src/network/access/qnetworkaccesshttpbackend.cpp +++ b/src/network/access/qnetworkaccesshttpbackend.cpp @@ -951,11 +951,14 @@ QNetworkCacheMetaData QNetworkAccessHttpBackend::fetchCacheMetaData(const QNetwo if (hop_by_hop) continue; - // Do not copy over the Date header because it will be - // different for every request and therefore cause a re-write to - // the disk when a 304 is received inside replyHeaderChanged() - if (header == "date") - continue; + // for 4.6.0, we were planning to not store the date header in the + // cached resource; through that we planned to reduce the number + // of writes to disk when using a QNetworkDiskCache (i.e. don't + // write to disk when only the date changes). + // However, without the date we cannot calculate the age of the page + // anymore. Consider a proper fix of that problem for 4.6.1. + //if (header == "date") + //continue; // Don't store Warning 1xx headers if (header == "warning") { diff --git a/src/network/kernel/qhostinfo_win.cpp b/src/network/kernel/qhostinfo_win.cpp index 55aa77a..d9d7234 100644 --- a/src/network/kernel/qhostinfo_win.cpp +++ b/src/network/kernel/qhostinfo_win.cpp @@ -186,7 +186,7 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName) results.setHostName(hostName); if (aceHostname.isEmpty()) { results.setError(QHostInfo::HostNotFound); - results.setErrorString(hostName.isEmpty() ? QObject::tr("No host name given") : QObject::tr("Invalid hostname")); + results.setErrorString(hostName.isEmpty() ? tr("No host name given") : tr("Invalid hostname")); return results; } } else { diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp index eceed06..fcb20b4 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp +++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp @@ -78,7 +78,7 @@ const char* QGLEngineSharedShaders::qglEngineShaderSourceCode[] = { }; QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context) - : ctx(QGLContextPrivate::contextGroup(context)) + : ctxGuard(context) , blitShaderProg(0) , simpleShaderProg(0) { @@ -223,7 +223,7 @@ QGLShader *QGLEngineSharedShaders::compileNamedShader(ShaderName name, QGLShader return compiledShaders[name]; QByteArray source = qglEngineShaderSourceCode[name]; - QGLShader *newShader = new QGLShader(type, ctx->context(), this); + QGLShader *newShader = new QGLShader(type, ctxGuard.context(), this); newShader->compile(source); #if defined(QT_DEBUG) @@ -245,7 +245,7 @@ QGLShader *QGLEngineSharedShaders::compileCustomShader(QGLCustomShaderStage *sta if (newShader) return newShader; - newShader = new QGLShader(type, ctx->context(), this); + newShader = new QGLShader(type, ctxGuard.context(), this); newShader->compile(source); customShaderCache.insert(source, newShader); @@ -273,7 +273,7 @@ QGLEngineShaderProg *QGLEngineSharedShaders::findProgramInCache(const QGLEngineS QGLEngineShaderProg &cached = cachedPrograms.last(); // If the shader program's not found in the cache, create it now. - cached.program = new QGLShaderProgram(ctx->context(), this); + cached.program = new QGLShaderProgram(ctxGuard.context(), this); cached.program->addShader(cached.mainVertexShader); cached.program->addShader(cached.positionVertexShader); cached.program->addShader(cached.mainFragShader); diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h index 47d9a2a..fbb6d9c 100644 --- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h +++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h @@ -361,7 +361,7 @@ private slots: void shaderDestroyed(QObject *shader); private: - QGLContextGroup *ctx; + QGLSharedResourceGuard ctxGuard; QGLShaderProgram *blitShaderProg; QGLShaderProgram *simpleShaderProg; QList<QGLEngineShaderProg> cachedPrograms; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 7e45fd9..f612bc0 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1452,6 +1452,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) #if !defined(QT_OPENGL_ES_2) bool success = qt_resolve_version_2_0_functions(d->ctx); Q_ASSERT(success); + Q_UNUSED(success); #endif d->shaderManager = new QGLEngineShaderManager(d->ctx); diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 0ad6772..0402268 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1624,9 +1624,8 @@ void QGLTextureCache::pixmapCleanupHook(QPixmap* pixmap) } #if defined(Q_WS_X11) QPixmapData *pd = pixmap->data_ptr().data(); - // Only need to delete the gl surface if the pixmap is about to be deleted - if (pd->ref == 0) - QGLContextPrivate::destroyGlSurfaceForPixmap(pd); + Q_ASSERT(pd->ref == 1); // Make sure reference counting isn't broken + QGLContextPrivate::destroyGlSurfaceForPixmap(pd); #endif } @@ -1719,7 +1718,7 @@ Q_OPENGL_EXPORT QGLShareRegister* qgl_share_reg() the top left corner. Inverting the texture implies a deep copy prior to upload. - \value MipmapBindOption Specifies that bindTexture should try + \value MipmapBindOption Specifies that bindTexture() should try to generate mipmaps. If the GL implementation supports the \c GL_SGIS_generate_mipmap extension, mipmaps will be automatically generated for the texture. Mipmap generation is only supported for @@ -2255,7 +2254,7 @@ QGLTexture *QGLContextPrivate::textureCacheLookup(const qint64 key, GLenum targe Q_Q(QGLContext); QGLTexture *texture = QGLTextureCache::instance()->getTexture(key); if (texture && texture->target == target - && (texture->context == q || qgl_share_reg()->checkSharing(q, texture->context))) + && (texture->context == q || QGLContext::areSharing(q, texture->context))) { return texture; } @@ -2362,6 +2361,8 @@ GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format) } /*! + \since 4.6 + Generates and binds a 2D GL texture to the current context, based on \a image. The generated texture id is returned and can be used in later \c glBindTexture() calls. @@ -2423,6 +2424,7 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint forma /*! \overload + \since 4.6 Generates and binds a 2D GL texture to the current context, based on \a pixmap. @@ -2756,6 +2758,20 @@ void QGLContext::setDevice(QPaintDevice *pDev) */ /*! + Returns true if \a context1 and \a context2 are sharing their + GL resources such as textures, shader programs, etc; + otherwise returns false. + + \since 4.6 +*/ +bool QGLContext::areSharing(const QGLContext *context1, const QGLContext *context2) +{ + if (!context1 || !context2) + return false; + return context1->d_ptr->group == context2->d_ptr->group; +} + +/*! \fn bool QGLContext::deviceIsPixmap() const Returns true if the paint device of this context is a pixmap; @@ -4490,6 +4506,7 @@ GLuint QGLWidget::bindTexture(const QImage &image, GLenum target, GLint format) /*! \overload + \since 4.6 The binding \a options are a set of options used to decide how to bind the texture to the context. @@ -4531,6 +4548,7 @@ GLuint QGLWidget::bindTexture(const QPixmap &pixmap, GLenum target, GLint format /*! \overload + \since 4.6 Generates and binds a 2D GL texture to the current context, based on \a pixmap. The generated texture id is returned and can be used in @@ -4836,55 +4854,46 @@ Q_OPENGL_EXPORT const QString qt_gl_library_name() } #endif -bool QGLShareRegister::checkSharing(const QGLContext *context1, const QGLContext *context2) { - bool sharing = (context1 && context2 && context1->d_ptr->group == context2->d_ptr->group); - return sharing; -} - void QGLShareRegister::addShare(const QGLContext *context, const QGLContext *share) { Q_ASSERT(context && share); if (context->d_ptr->group == share->d_ptr->group) return; // Make sure 'context' is not already shared with another group of contexts. - Q_ASSERT(reg.find(context->d_ptr->group) == reg.end()); Q_ASSERT(context->d_ptr->group->m_refs == 1); // Free 'context' group resources and make it use the same resources as 'share'. + QGLContextGroup *group = share->d_ptr->group; delete context->d_ptr->group; - context->d_ptr->group = share->d_ptr->group; - context->d_ptr->group->m_refs.ref(); + context->d_ptr->group = group; + group->m_refs.ref(); // Maintain a list of all the contexts in each group of sharing contexts. - SharingHash::iterator it = reg.find(share->d_ptr->group); - if (it == reg.end()) - it = reg.insert(share->d_ptr->group, ContextList() << share); - it.value() << context; + // The list is empty if the "share" context wasn't sharing already. + if (group->m_shares.isEmpty()) + group->m_shares.append(share); + group->m_shares.append(context); } QList<const QGLContext *> QGLShareRegister::shares(const QGLContext *context) { - SharingHash::const_iterator it = reg.find(context->d_ptr->group); - if (it == reg.end()) - return ContextList(); - return it.value(); + return context->d_ptr->group->m_shares; } void QGLShareRegister::removeShare(const QGLContext *context) { - SharingHash::iterator it = reg.find(context->d_ptr->group); - if (it == reg.end()) + // Remove the context from the group. + QGLContextGroup *group = context->d_ptr->group; + if (group->m_shares.isEmpty()) return; - - int count = it.value().removeAll(context); - Q_ASSERT(count == 1); - Q_UNUSED(count); + group->m_shares.removeAll(context); // Update context group representative. - if (context->d_ptr->group->m_context == context) - context->d_ptr->group->m_context = it.value().first(); + Q_ASSERT(group->m_shares.size() != 0); + if (group->m_context == context) + group->m_context = group->m_shares[0]; - Q_ASSERT(it.value().size() != 0); - if (it.value().size() == 1) - reg.erase(it); + // If there is only one context left, then make the list empty. + if (group->m_shares.size() == 1) + group->m_shares.clear(); } QGLContextResource::QGLContextResource(FreeFunc f, QObject *parent) diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h index 1776004..b1c1317 100644 --- a/src/opengl/qgl.h +++ b/src/opengl/qgl.h @@ -282,6 +282,8 @@ public: bool isSharing() const; void reset(); + static bool areSharing(const QGLContext *context1, const QGLContext *context2); + QGLFormat format() const; QGLFormat requestedFormat() const; void setFormat(const QGLFormat& format); diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp index 5ce1a45..fa876c7 100644 --- a/src/opengl/qgl_egl.cpp +++ b/src/opengl/qgl_egl.cpp @@ -142,10 +142,23 @@ void QGLContext::reset() d->cleanup(); doneCurrent(); if (d->eglContext) { + if (d->eglSurface != EGL_NO_SURFACE) { +#ifdef Q_WS_X11 + // Make sure we don't call eglDestroySurface on a surface which + // was created for a different winId: + if (d->paintDevice->devType() == QInternal::Widget) { + QGLWidget* w = static_cast<QGLWidget*>(d->paintDevice); + + if (w->d_func()->eglSurfaceWindowId == w->winId()) + eglDestroySurface(d->eglContext->display(), d->eglSurface); + } else +#endif + eglDestroySurface(d->eglContext->display(), d->eglSurface); + } delete d->eglContext; - d->eglContext = 0; } - d->eglSurface = EGL_NO_SURFACE; // XXX - probably need to destroy surface + d->eglContext = 0; + d->eglSurface = EGL_NO_SURFACE; d->crWin = false; d->sharing = false; d->valid = false; diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 2e8ac88..1957429 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -233,6 +233,7 @@ private: QGLExtensionFuncs m_extensionFuncs; const QGLContext *m_context; // context group's representative + QList<const QGLContext *> m_shares; QAtomicInt m_refs; friend class QGLShareRegister; @@ -343,13 +344,11 @@ public: #ifdef Q_WS_WIN static inline QGLExtensionFuncs& extensionFuncs(const QGLContext *ctx) { return ctx->d_ptr->group->extensionFuncs(); } - static inline QGLExtensionFuncs& extensionFuncs(QGLContextGroup *ctx) { return ctx->extensionFuncs(); } #endif #if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_QWS) static QGLExtensionFuncs qt_extensionFuncs; static inline QGLExtensionFuncs& extensionFuncs(const QGLContext *) { return qt_extensionFuncs; } - static inline QGLExtensionFuncs& extensionFuncs(QGLContextGroup *) { return qt_extensionFuncs; } #endif static void setCurrentContext(QGLContext *context); @@ -399,21 +398,15 @@ public: Q_DECLARE_OPERATORS_FOR_FLAGS(QGLExtensions::Extensions) -class QGLShareRegister +class Q_AUTOTEST_EXPORT QGLShareRegister { public: QGLShareRegister() {} - ~QGLShareRegister() { reg.clear(); } + ~QGLShareRegister() {} - bool checkSharing(const QGLContext *context1, const QGLContext *context2); void addShare(const QGLContext *context, const QGLContext *share); QList<const QGLContext *> shares(const QGLContext *context); void removeShare(const QGLContext *context); -private: - // Use a context's 'group' pointer to uniquely identify a group. - typedef QList<const QGLContext *> ContextList; - typedef QHash<const QGLContextGroup *, ContextList> SharingHash; - SharingHash reg; }; extern Q_OPENGL_EXPORT QGLShareRegister* qgl_share_reg(); @@ -436,7 +429,7 @@ public: QGLContext *current = const_cast<QGLContext *>(QGLContext::currentContext()); QGLContext *ctx = const_cast<QGLContext *>(context); Q_ASSERT(ctx); - bool switch_context = current != ctx && !qgl_share_reg()->checkSharing(current, ctx); + bool switch_context = current != ctx && !QGLContext::areSharing(current, ctx); if (switch_context) ctx->makeCurrent(); #if defined(Q_WS_X11) @@ -491,8 +484,6 @@ private: #ifdef Q_WS_QWS extern QPaintEngine* qt_qgl_paint_engine(); - -extern EGLDisplay qt_qgl_egl_display(); #endif bool qt_gl_preferGL2Engine(); @@ -547,7 +538,7 @@ public: : m_oldContext(0) { QGLContext *currentContext = const_cast<QGLContext *>(QGLContext::currentContext()); - if (currentContext != ctx && !qgl_share_reg()->checkSharing(ctx, currentContext)) { + if (currentContext != ctx && !QGLContext::areSharing(ctx, currentContext)) { m_oldContext = currentContext; m_ctx = const_cast<QGLContext *>(ctx); m_ctx->makeCurrent(); diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp index da7972d..86e593d 100644 --- a/src/opengl/qgl_x11.cpp +++ b/src/opengl/qgl_x11.cpp @@ -331,6 +331,62 @@ static void find_trans_colors() QGLFormat UNIX/GLX-specific code *****************************************************************************/ +void* qglx_getProcAddress(const char* procName) +{ + // On systems where the GL driver is pluggable (like Mesa), we have to use + // the glXGetProcAddressARB extension to resolve other function pointers as + // the symbols wont be in the GL library, but rather in a plugin loaded by + // the GL library. + typedef void* (*qt_glXGetProcAddressARB)(const char *); + static qt_glXGetProcAddressARB glXGetProcAddressARB = 0; + static bool triedResolvingGlxGetProcAddress = false; + if (!triedResolvingGlxGetProcAddress) { + triedResolvingGlxGetProcAddress = true; + QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)); + if (glxExt.contains(QLatin1String("GLX_ARB_get_proc_address"))) { +#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) + void *handle = dlopen(NULL, RTLD_LAZY); + if (handle) { + glXGetProcAddressARB = (qt_glXGetProcAddressARB) dlsym(handle, "glXGetProcAddressARB"); + dlclose(handle); + } + if (!glXGetProcAddressARB) +#endif + { +#if !defined(QT_NO_LIBRARY) + extern const QString qt_gl_library_name(); + QLibrary lib(qt_gl_library_name()); + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); +#endif + } + } + } + + void *procAddress = 0; + if (glXGetProcAddressARB) + procAddress = glXGetProcAddressARB(procName); + + // If glXGetProcAddress didn't work, try looking the symbol up in the GL library +#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) + if (!procAddress) { + void *handle = dlopen(NULL, RTLD_LAZY); + if (handle) { + procAddress = dlsym(handle, procName); + dlclose(handle); + } + } +#endif +#if !defined(QT_NO_LIBRARY) + if (!procAddress) { + extern const QString qt_gl_library_name(); + QLibrary lib(qt_gl_library_name()); + procAddress = lib.resolve(procName); + } +#endif + + return procAddress; +} + bool QGLFormat::hasOpenGL() { return glXQueryExtension(X11->display, 0, 0) != 0; @@ -819,23 +875,8 @@ void QGLContext::swapBuffers() const if (!resolved) { QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)); if (glxExt.contains(QLatin1String("GLX_SGI_video_sync"))) { -#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) - void *handle = dlopen(NULL, RTLD_LAZY); - if (handle) { - glXGetVideoSyncSGI = (qt_glXGetVideoSyncSGI) dlsym(handle, "glXGetVideoSyncSGI"); - glXWaitVideoSyncSGI = (qt_glXWaitVideoSyncSGI) dlsym(handle, "glXWaitVideoSyncSGI"); - dlclose(handle); - } - if (!glXGetVideoSyncSGI) -#endif - { -#if !defined(QT_NO_LIBRARY) - extern const QString qt_gl_library_name(); - QLibrary lib(qt_gl_library_name()); - glXGetVideoSyncSGI = (qt_glXGetVideoSyncSGI) lib.resolve("glXGetVideoSyncSGI"); - glXWaitVideoSyncSGI = (qt_glXWaitVideoSyncSGI) lib.resolve("glXWaitVideoSyncSGI"); -#endif - } + glXGetVideoSyncSGI = (qt_glXGetVideoSyncSGI)qglx_getProcAddress("glXGetVideoSyncSGI"); + glXWaitVideoSyncSGI = (qt_glXWaitVideoSyncSGI)qglx_getProcAddress("glXWaitVideoSyncSGI"); } resolved = true; } @@ -1568,21 +1609,8 @@ bool qt_resolveTextureFromPixmap() QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)); if (glxExt.contains(QLatin1String("GLX_EXT_texture_from_pixmap"))) { -#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) - void *handle = dlopen(NULL, RTLD_LAZY); - if (handle) { - glXBindTexImageEXT = (qt_glXBindTexImageEXT) dlsym(handle, "glXBindTexImageEXT"); - glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) dlsym(handle, "glXReleaseTexImageEXT"); - dlclose(handle); - } - if (!glXBindTexImageEXT) -#endif - { - extern const QString qt_gl_library_name(); - QLibrary lib(qt_gl_library_name()); - glXBindTexImageEXT = (qt_glXBindTexImageEXT) lib.resolve("glXBindTexImageEXT"); - glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) lib.resolve("glXReleaseTexImageEXT"); - } + glXBindTexImageEXT = (qt_glXBindTexImageEXT) qglx_getProcAddress("glXBindTexImageEXT"); + glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) qglx_getProcAddress("glXReleaseTexImageEXT"); } } diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp index 67f391b..d802bdd 100644 --- a/src/opengl/qgl_x11egl.cpp +++ b/src/opengl/qgl_x11egl.cpp @@ -140,85 +140,36 @@ void QGLWidget::updateOverlayGL() //handle overlay } -void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, bool deleteOldContext) +bool qt_egl_setup_x11_visual(XVisualInfo &vi, EGLDisplay display, EGLConfig config, const QX11Info &x11Info, bool useArgbVisual) { - Q_D(QGLWidget); - if (context == 0) { - qWarning("QGLWidget::setContext: Cannot set null context"); - return; - } - if (!context->deviceIsPixmap() && context->device() != this) { - qWarning("QGLWidget::setContext: Context must refer to this widget"); - return; - } - - if (d->glcx) - d->glcx->doneCurrent(); - QGLContext* oldcx = d->glcx; - d->glcx = context; - - if (parentWidget()) { - // force creation of delay-created widgets - parentWidget()->winId(); - if (parentWidget()->x11Info().screen() != x11Info().screen()) - d_func()->xinfo = parentWidget()->d_func()->xinfo; - } - - // If the application has set WA_TranslucentBackground and not explicitly set - // the alpha buffer size to zero, modify the format so it have an alpha channel - QGLFormat& fmt = d->glcx->d_func()->glFormat; - const bool useArgbVisual = testAttribute(Qt::WA_TranslucentBackground); - if (useArgbVisual && fmt.alphaBufferSize() == -1) - fmt.setAlphaBufferSize(1); - - bool createFailed = false; - if (!d->glcx->isValid()) { - if (!d->glcx->create(shareContext ? shareContext : oldcx)) - createFailed = true; - } - if (createFailed) { - if (deleteOldContext) - delete oldcx; - return; - } + bool foundVisualIsArgb = useArgbVisual; - if (d->glcx->windowCreated() || d->glcx->deviceIsPixmap()) { - if (deleteOldContext) - delete oldcx; - return; - } - - bool visible = isVisible(); - if (visible) - hide(); - - XVisualInfo vi; memset(&vi, 0, sizeof(XVisualInfo)); // Check to see if EGL is suggesting an appropriate visual id: EGLint nativeVisualId; - QEglContext* qeglCtx = d->glcx->d_func()->eglContext; - qeglCtx->configAttrib(EGL_NATIVE_VISUAL_ID, &nativeVisualId); + eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &nativeVisualId); vi.visualid = nativeVisualId; if (vi.visualid) { // EGL has suggested a visual id, so get the rest of the visual info for that id: XVisualInfo *chosenVisualInfo; int matchingCount = 0; - chosenVisualInfo = XGetVisualInfo(x11Info().display(), VisualIDMask, &vi, &matchingCount); + chosenVisualInfo = XGetVisualInfo(x11Info.display(), VisualIDMask, &vi, &matchingCount); if (chosenVisualInfo) { #if !defined(QT_NO_XRENDER) if (useArgbVisual) { // Check to make sure the visual provided by EGL is ARGB XRenderPictFormat *format; - format = XRenderFindVisualFormat(x11Info().display(), chosenVisualInfo->visual); + format = XRenderFindVisualFormat(x11Info.display(), chosenVisualInfo->visual); if (format->type == PictTypeDirect && format->direct.alphaMask) { -// qDebug("Using opaque X Visual ID (%d) provided by EGL", (int)vi.visualid); +// qDebug("Using ARGB X Visual ID (%d) provided by EGL", (int)vi.visualid); + foundVisualIsArgb = true; vi = *chosenVisualInfo; } else { qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this is not ARGB", - nativeVisualId, (int)qeglCtx->config()); + nativeVisualId, (int)config); vi.visualid = 0; } } else @@ -231,32 +182,32 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, } else { qWarning("Warning: EGL suggested using X visual ID %d for config %d, but this seems to be invalid!", - nativeVisualId, (int)qeglCtx->config()); + nativeVisualId, (int)config); vi.visualid = 0; } } // If EGL does not know the visual ID, so try to select an appropriate one ourselves, first // using XRender if we're supposed to have an alpha, then falling back to XGetVisualInfo - - bool useArgb = context->format().alpha() && !context->deviceIsPixmap(); + #if !defined(QT_NO_XRENDER) - if (vi.visualid == 0 && useArgb) { + if (vi.visualid == 0 && useArgbVisual) { // Try to use XRender to find an ARGB visual we can use - vi.screen = x11Info().screen(); - vi.depth = 32; + vi.screen = x11Info.screen(); + vi.depth = 32; //### We might at some point (soon) get ARGB4444 vi.c_class = TrueColor; XVisualInfo *matchingVisuals; int matchingCount = 0; - matchingVisuals = XGetVisualInfo(x11Info().display(), + matchingVisuals = XGetVisualInfo(x11Info.display(), VisualScreenMask|VisualDepthMask|VisualClassMask, &vi, &matchingCount); for (int i = 0; i < matchingCount; ++i) { XRenderPictFormat *format; - format = XRenderFindVisualFormat(x11Info().display(), matchingVisuals[i].visual); + format = XRenderFindVisualFormat(x11Info.display(), matchingVisuals[i].visual); if (format->type == PictTypeDirect && format->direct.alphaMask) { vi = matchingVisuals[i]; + foundVisualIsArgb = true; // qDebug("Using X Visual ID (%d) for ARGB visual as provided by XRender", (int)vi.visualid); break; } @@ -267,17 +218,17 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, if (vi.visualid == 0) { EGLint depth; - qeglCtx->configAttrib(EGL_BUFFER_SIZE, &depth); + eglGetConfigAttrib(display, config, EGL_BUFFER_SIZE, &depth); int err; - err = XMatchVisualInfo(x11Info().display(), x11Info().screen(), depth, TrueColor, &vi); + err = XMatchVisualInfo(x11Info.display(), x11Info.screen(), depth, TrueColor, &vi); if (err == 0) { qWarning("Warning: Can't find an X visual which matches the EGL config(%d)'s depth (%d)!", - (int)qeglCtx->config(), depth); - depth = x11Info().depth(); - err = XMatchVisualInfo(x11Info().display(), x11Info().screen(), depth, TrueColor, &vi); + (int)config, depth); + depth = x11Info.depth(); + err = XMatchVisualInfo(x11Info.display(), x11Info.screen(), depth, TrueColor, &vi); if (err == 0) { qWarning("Error: Couldn't get any matching X visual!"); - return; + return false; } else qWarning(" - Falling back to X11 suggested depth (%d)", depth); } @@ -285,8 +236,8 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, // qDebug("Using X Visual ID (%d) for EGL provided depth (%d)", (int)vi.visualid, depth); // Don't try to use ARGB now unless the visual is 32-bit - even then it might stil fail :-( - if (useArgb) - useArgb = vi.depth == 32; + if (useArgbVisual) + foundVisualIsArgb = vi.depth == 32; //### We might at some point (soon) get ARGB4444 } // qDebug("Visual Info:"); @@ -299,6 +250,65 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, // qDebug(" depth=%d", vi.depth); // qDebug(" screen=%d", vi.screen); // qDebug(" visualid=%d", vi.visualid); + return foundVisualIsArgb; +} + +void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, bool deleteOldContext) +{ + Q_D(QGLWidget); + if (context == 0) { + qWarning("QGLWidget::setContext: Cannot set null context"); + return; + } + if (!context->deviceIsPixmap() && context->device() != this) { + qWarning("QGLWidget::setContext: Context must refer to this widget"); + return; + } + + if (d->glcx) + d->glcx->doneCurrent(); + QGLContext* oldcx = d->glcx; + d->glcx = context; + + if (parentWidget()) { + // force creation of delay-created widgets + parentWidget()->winId(); + if (parentWidget()->x11Info().screen() != x11Info().screen()) + d_func()->xinfo = parentWidget()->d_func()->xinfo; + } + + // If the application has set WA_TranslucentBackground and not explicitly set + // the alpha buffer size to zero, modify the format so it have an alpha channel + QGLFormat& fmt = d->glcx->d_func()->glFormat; + const bool tryArgbVisual = testAttribute(Qt::WA_TranslucentBackground); + if (tryArgbVisual && fmt.alphaBufferSize() == -1) + fmt.setAlphaBufferSize(1); + + bool createFailed = false; + if (!d->glcx->isValid()) { + if (!d->glcx->create(shareContext ? shareContext : oldcx)) + createFailed = true; + } + if (createFailed) { + if (deleteOldContext) + delete oldcx; + return; + } + + if (d->glcx->windowCreated() || d->glcx->deviceIsPixmap()) { + if (deleteOldContext) + delete oldcx; + return; + } + + bool visible = isVisible(); + if (visible) + hide(); + + XVisualInfo vi; + QEglContext *eglContext = d->glcx->d_func()->eglContext; + bool usingArgbVisual = qt_egl_setup_x11_visual(vi, eglContext->display(), eglContext->config(), + x11Info(), tryArgbVisual); XSetWindowAttributes a; @@ -311,7 +321,7 @@ void QGLWidget::setContext(QGLContext *context, const QGLContext* shareContext, a.border_pixel = colmap.pixel(Qt::black); unsigned int valueMask = CWBackPixel|CWBorderPixel; - if(useArgb) { + if (usingArgbVisual) { a.colormap = XCreateColormap(x11Info().display(), p, vi.visual, AllocNone); valueMask |= CWColormap; } @@ -408,6 +418,103 @@ void QGLWidgetPrivate::recreateEglSurface(bool force) } } +// Selects which configs should be used +EGLConfig Q_OPENGL_EXPORT qt_chooseEGLConfigForPixmap(bool hasAlpha, bool readOnly) +{ + // Cache the configs we select as they wont change: + static EGLConfig roPixmapRGBConfig = 0; + static EGLConfig roPixmapRGBAConfig = 0; + static EGLConfig rwPixmapRGBConfig = 0; + static EGLConfig rwPixmapRGBAConfig = 0; + + EGLConfig* targetConfig; + + if (hasAlpha) { + if (readOnly) + targetConfig = &roPixmapRGBAConfig; + else + targetConfig = &rwPixmapRGBAConfig; + } + else { + if (readOnly) + targetConfig = &roPixmapRGBConfig; + else + targetConfig = &rwPixmapRGBConfig; + } + + if (*targetConfig == 0) { + QEglProperties configAttribs; + configAttribs.setValue(EGL_SURFACE_TYPE, EGL_PIXMAP_BIT); + configAttribs.setRenderableType(QEgl::OpenGL); + if (hasAlpha) + configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE); + else + configAttribs.setValue(EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE); + + // If this is going to be a render target, it needs to have a depth, stencil & sample buffer + if (!readOnly) { + configAttribs.setValue(EGL_DEPTH_SIZE, 1); + configAttribs.setValue(EGL_STENCIL_SIZE, 1); + configAttribs.setValue(EGL_SAMPLE_BUFFERS, 1); + } + + EGLint configCount = 0; + do { + eglChooseConfig(QEglContext::defaultDisplay(0), configAttribs.properties(), targetConfig, 1, &configCount); + if (configCount > 0) { + // Got one + qDebug() << "Found an" << (hasAlpha ? "ARGB" : "RGB") << (readOnly ? "readonly" : "target" ) + << "config (" << int(*targetConfig) << ") to create a pixmap surface:"; + +// QEglProperties configProps(*targetConfig); +// qDebug() << configProps.toString(); + break; + } + qWarning("choosePixmapConfig() - No suitible config found, reducing requirements"); + } while (configAttribs.reduceConfiguration()); + } + + if (*targetConfig == 0) + qWarning("choosePixmapConfig() - Couldn't find a suitable config"); + + return *targetConfig; +} + +bool Q_OPENGL_EXPORT qt_createEGLSurfaceForPixmap(QPixmapData* pmd, bool readOnly) +{ + Q_ASSERT(pmd->classId() == QPixmapData::X11Class); + QX11PixmapData* pixmapData = static_cast<QX11PixmapData*>(pmd); + + bool hasAlpha = pixmapData->hasAlphaChannel(); + + EGLConfig pixmapConfig = qt_chooseEGLConfigForPixmap(hasAlpha, readOnly); + + QEglProperties pixmapAttribs; + + // If the pixmap can't be bound to a texture, it's pretty useless + pixmapAttribs.setValue(EGL_TEXTURE_TARGET, EGL_TEXTURE_2D); + if (hasAlpha) + pixmapAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGBA); + else + pixmapAttribs.setValue(EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGB); + + EGLSurface pixmapSurface; + pixmapSurface = eglCreatePixmapSurface(QEglContext::defaultDisplay(0), + pixmapConfig, + (EGLNativePixmapType) pixmapData->handle(), + pixmapAttribs.properties()); + if (pixmapSurface == EGL_NO_SURFACE) { + qWarning("Failed to create a pixmap surface using config %d", (int)pixmapConfig); + return false; + } + + Q_ASSERT(sizeof(Qt::HANDLE) >= sizeof(EGLSurface)); // Just to make totally sure! + pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface; + pixmapData->is_cached = true; // Make sure the cleanup hook gets called + + return true; +} + QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, const qint64 key, QGLContext::BindOptions options) @@ -449,82 +556,14 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons destroyGlSurfaceForPixmap(pixmapData); } - EGLint pixmapAttribs[] = { - EGL_TEXTURE_TARGET, EGL_TEXTURE_2D, - EGL_TEXTURE_FORMAT, hasAlpha ? EGL_TEXTURE_RGBA : EGL_TEXTURE_RGB, - EGL_NONE - }; - Q_ASSERT(sizeof(Qt::HANDLE) >= sizeof(EGLSurface)); // Just to make totally sure! - if (pixmapData->gl_surface == 0) - pixmapData->gl_surface = (Qt::HANDLE)EGL_NO_SURFACE; - EGLSurface pixmapSurface = (EGLSurface)pixmapData->gl_surface; - static EGLConfig pixmapRGBConfig = 0; - static EGLConfig pixmapRGBAConfig = 0; - - // Check to see if we need to find a config - if ((hasAlpha && !pixmapRGBAConfig) || (!hasAlpha && !pixmapRGBConfig) ) { - const EGLint configAttribs[] = { - EGL_SURFACE_TYPE, EGL_PIXMAP_BIT, - EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, - EGL_DEPTH_SIZE, 0, - hasAlpha ? EGL_BIND_TO_TEXTURE_RGBA : EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE, - EGL_NONE - }; - - EGLint configCount = 0; - eglChooseConfig(eglContext->display(), configAttribs, 0, 256, &configCount); - if (configCount == 0) { - haveTFP = false; - qWarning("bindTextureFromNativePixmap() - Couldn't find a suitable config"); - return 0; - } - - EGLConfig *configList = new EGLConfig[configCount]; - eglChooseConfig(eglContext->display(), configAttribs, configList, configCount, &configCount); - Q_ASSERT(configCount); - - // Try to create a pixmap surface for each config until one works - for (int i = 0; i < configCount; ++i) { - pixmapSurface = eglCreatePixmapSurface(eglContext->display(), configList[i], - (EGLNativePixmapType) pixmapData->handle(), - pixmapAttribs); - if (pixmapSurface != EGL_NO_SURFACE) { - // Got one! - qDebug() << "Found an" << (hasAlpha ? "ARGB" : "RGB") - << "config (" << int(configList[i]) << ") to create a pixmap surface"; - if (hasAlpha) - pixmapRGBAConfig = configList[i]; - else - pixmapRGBConfig = configList[i]; - pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface; - break; - } - } - delete configList; - - if ((hasAlpha && !pixmapRGBAConfig) || (!hasAlpha && !pixmapRGBConfig) ) { - qDebug("Couldn't create a pixmap surface with any of the provided configs"); - haveTFP = false; - return 0; - } - } - - if (pixmapSurface == EGL_NO_SURFACE) { - pixmapSurface = eglCreatePixmapSurface(eglContext->display(), - hasAlpha? pixmapRGBAConfig : pixmapRGBConfig, - (EGLNativePixmapType) pixmapData->handle(), - pixmapAttribs); - if (pixmapSurface == EGL_NO_SURFACE) { - qWarning("Failed to create a pixmap surface using config %d", - (int)(hasAlpha? pixmapRGBAConfig : pixmapRGBConfig)); + if (pixmapData->gl_surface == 0) { + bool success = qt_createEGLSurfaceForPixmap(pixmapData, true); + if (!success) { haveTFP = false; return 0; } - pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface; } - // Make sure the cleanup hook gets called so we can delete the glx pixmap - pixmapData->is_cached = true; Q_ASSERT(pixmapData->gl_surface); GLuint textureId; @@ -534,10 +573,10 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons // bind the egl pixmap surface to a texture EGLBoolean success; - success = eglBindTexImage(eglContext->display(), pixmapSurface, EGL_BACK_BUFFER); + success = eglBindTexImage(eglContext->display(), (EGLSurface)pixmapData->gl_surface, EGL_BACK_BUFFER); if (success == EGL_FALSE) { qWarning() << "eglBindTexImage() failed:" << eglContext->errorString(eglGetError()); - eglDestroySurface(eglContext->display(), pixmapSurface); + eglDestroySurface(eglContext->display(), (EGLSurface)pixmapData->gl_surface); pixmapData->gl_surface = (Qt::HANDLE)EGL_NO_SURFACE; haveTFP = false; return 0; diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index c728902..3e54b35 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -64,7 +64,8 @@ QT_BEGIN_NAMESPACE extern QImage qt_gl_read_framebuffer(const QSize&, bool, bool); -#define QGL_FUNC_CONTEXT QGLContextGroup *ctx = d_ptr->ctx; +#define QGL_FUNC_CONTEXT const QGLContext *ctx = d_ptr->fbo_guard.context(); +#define QGL_FUNCP_CONTEXT const QGLContext *ctx = fbo_guard.context(); #ifndef QT_NO_DEBUG #define QT_RESET_GLERROR() \ @@ -317,7 +318,7 @@ void QGLFBOGLPaintDevice::setFBO(QGLFramebufferObject* f, QGLFramebufferObject::Attachment attachment) { fbo = f; - m_thisFBO = fbo->d_func()->fbo; // This shouldn't be needed + m_thisFBO = fbo->d_func()->fbo(); // This shouldn't be needed // The context that the fbo was created in may not have depth // and stencil buffers, but the fbo itself might. @@ -334,7 +335,7 @@ void QGLFBOGLPaintDevice::ensureActiveTarget() { QGLContext* ctx = const_cast<QGLContext*>(QGLContext::currentContext()); Q_ASSERT(ctx); - const GLuint fboId = fbo->d_func()->fbo; + const GLuint fboId = fbo->d_func()->fbo(); if (ctx->d_func()->current_fbo != fboId) { ctx->d_func()->current_fbo = fboId; glBindFramebuffer(GL_FRAMEBUFFER_EXT, fboId); @@ -359,6 +360,9 @@ void QGLFBOGLPaintDevice::endPaint() bool QGLFramebufferObjectPrivate::checkFramebufferStatus() const { + QGL_FUNCP_CONTEXT; + if (!ctx) + return false; // Context no longer exists. GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER_EXT); switch(status) { case GL_NO_ERROR: @@ -405,11 +409,11 @@ void QGLFramebufferObjectPrivate::init(QGLFramebufferObject *q, const QSize &sz, QGLFramebufferObject::Attachment attachment, GLenum texture_target, GLenum internal_format, GLint samples) { - QGLContext *currentContext = const_cast<QGLContext *>(QGLContext::currentContext()); - ctx = QGLContextPrivate::contextGroup(currentContext); + QGLContext *ctx = const_cast<QGLContext *>(QGLContext::currentContext()); + fbo_guard.setContext(ctx); bool ext_detected = (QGLExtensions::glExtensions & QGLExtensions::FramebufferObject); - if (!ext_detected || (ext_detected && !qt_resolve_framebufferobject_extensions(currentContext))) + if (!ext_detected || (ext_detected && !qt_resolve_framebufferobject_extensions(ctx))) return; size = sz; @@ -417,8 +421,10 @@ void QGLFramebufferObjectPrivate::init(QGLFramebufferObject *q, const QSize &sz, // texture dimensions QT_RESET_GLERROR(); // reset error state + GLuint fbo = 0; glGenFramebuffers(1, &fbo); glBindFramebuffer(GL_FRAMEBUFFER_EXT, fbo); + fbo_guard.setId(fbo); glDevice.setFBO(q, attachment); @@ -535,13 +541,14 @@ void QGLFramebufferObjectPrivate::init(QGLFramebufferObject *q, const QSize &sz, fbo_attachment = QGLFramebufferObject::NoAttachment; } - glBindFramebuffer(GL_FRAMEBUFFER_EXT, currentContext->d_ptr->current_fbo); + glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->current_fbo); if (!valid) { if (color_buffer) glDeleteRenderbuffers(1, &color_buffer); else glDeleteTextures(1, &texture); glDeleteFramebuffers(1, &fbo); + fbo_guard.setId(0); } QT_CHECK_GLERROR(); @@ -810,19 +817,15 @@ QGLFramebufferObject::~QGLFramebufferObject() delete d->engine; - if (isValid()) { - const QGLContext *oldContext = QGLContext::currentContext(); - bool switchContext = !oldContext || QGLContextPrivate::contextGroup(oldContext) != ctx; - if (switchContext) - const_cast<QGLContext *>(ctx->context())->makeCurrent(); + if (isValid() && ctx) { + QGLShareContextScope scope(ctx); glDeleteTextures(1, &d->texture); if (d->color_buffer) glDeleteRenderbuffers(1, &d->color_buffer); if (d->depth_stencil_buffer) glDeleteRenderbuffers(1, &d->depth_stencil_buffer); - glDeleteFramebuffers(1, &d->fbo); - if (oldContext && switchContext) - const_cast<QGLContext *>(oldContext)->makeCurrent(); + GLuint fbo = d->fbo(); + glDeleteFramebuffers(1, &fbo); } } @@ -838,11 +841,16 @@ QGLFramebufferObject::~QGLFramebufferObject() The non-power of two limitation does not apply if the OpenGL version is 2.0 or higher, or if the GL_ARB_texture_non_power_of_two extension is present. + + The framebuffer can also become invalid if the QGLContext that + the framebuffer was created within is destroyed and there are + no other shared contexts that can take over ownership of the + framebuffer. */ bool QGLFramebufferObject::isValid() const { Q_D(const QGLFramebufferObject); - return d->valid; + return d->valid && d->fbo_guard.context(); } /*! @@ -867,15 +875,17 @@ bool QGLFramebufferObject::bind() return false; Q_D(QGLFramebufferObject); QGL_FUNC_CONTEXT; - glBindFramebuffer(GL_FRAMEBUFFER_EXT, d->fbo); + if (!ctx) + return false; // Context no longer exists. + glBindFramebuffer(GL_FRAMEBUFFER_EXT, d->fbo()); d->valid = d->checkFramebufferStatus(); const QGLContext *context = QGLContext::currentContext(); if (d->valid && context) { - Q_ASSERT(QGLContextPrivate::contextGroup(context) == ctx); + Q_ASSERT(QGLContextPrivate::contextGroup(context) == QGLContextPrivate::contextGroup(ctx)); // Save the previous setting to automatically restore in release(). - if (context->d_ptr->current_fbo != d->fbo) { + if (context->d_ptr->current_fbo != d->fbo()) { d->previous_fbo = context->d_ptr->current_fbo; - context->d_ptr->current_fbo = d->fbo; + context->d_ptr->current_fbo = d->fbo(); } } return d->valid; @@ -900,10 +910,12 @@ bool QGLFramebufferObject::release() return false; Q_D(QGLFramebufferObject); QGL_FUNC_CONTEXT; + if (!ctx) + return false; // Context no longer exists. const QGLContext *context = QGLContext::currentContext(); if (context) { - Q_ASSERT(QGLContextPrivate::contextGroup(context) == ctx); + Q_ASSERT(QGLContextPrivate::contextGroup(context) == QGLContextPrivate::contextGroup(ctx)); // Restore the previous setting for stacked framebuffer objects. if (d->previous_fbo != context->d_ptr->current_fbo) { context->d_ptr->current_fbo = d->previous_fbo; @@ -1144,7 +1156,7 @@ int QGLFramebufferObject::metric(PaintDeviceMetric metric) const GLuint QGLFramebufferObject::handle() const { Q_D(const QGLFramebufferObject); - return d->fbo; + return d->fbo(); } /*! \fn int QGLFramebufferObject::devType() const @@ -1175,7 +1187,7 @@ QGLFramebufferObject::Attachment QGLFramebufferObject::attachment() const bool QGLFramebufferObject::isBound() const { Q_D(const QGLFramebufferObject); - return QGLContext::currentContext()->d_ptr->current_fbo == d->fbo; + return QGLContext::currentContext()->d_ptr->current_fbo == d->fbo(); } /*! diff --git a/src/opengl/qglframebufferobject_p.h b/src/opengl/qglframebufferobject_p.h index f80209d..055a752 100644 --- a/src/opengl/qglframebufferobject_p.h +++ b/src/opengl/qglframebufferobject_p.h @@ -127,15 +127,15 @@ private: class QGLFramebufferObjectPrivate { public: - QGLFramebufferObjectPrivate() : depth_stencil_buffer(0), valid(false), ctx(0), previous_fbo(0), engine(0) {} + QGLFramebufferObjectPrivate() : fbo_guard(0), depth_stencil_buffer(0), valid(false), previous_fbo(0), engine(0) {} ~QGLFramebufferObjectPrivate() {} void init(QGLFramebufferObject *q, const QSize& sz, QGLFramebufferObject::Attachment attachment, GLenum internal_format, GLenum texture_target, GLint samples = 0); bool checkFramebufferStatus() const; + QGLSharedResourceGuard fbo_guard; GLuint texture; - GLuint fbo; GLuint depth_stencil_buffer; GLuint color_buffer; GLenum target; @@ -143,10 +143,11 @@ public: QGLFramebufferObjectFormat format; uint valid : 1; QGLFramebufferObject::Attachment fbo_attachment; - QGLContextGroup *ctx; // for Windows extension ptrs GLuint previous_fbo; mutable QPaintEngine *engine; QGLFBOGLPaintDevice glDevice; + + inline GLuint fbo() const { return fbo_guard.id(); } }; diff --git a/src/opengl/qglpixelbuffer_x11.cpp b/src/opengl/qglpixelbuffer_x11.cpp index 793471d..6971133 100644 --- a/src/opengl/qglpixelbuffer_x11.cpp +++ b/src/opengl/qglpixelbuffer_x11.cpp @@ -93,6 +93,8 @@ static _glXMakeContextCurrent qt_glXMakeContextCurrent = 0; #define glXGetFBConfigAttrib qt_glXGetFBConfigAttrib #define glXMakeContextCurrent qt_glXMakeContextCurrent +extern void* qglx_getProcAddress(const char* procName); // in qgl_x11.cpp + static bool qt_resolve_pbuffer_extensions() { static int resolved = false; @@ -101,31 +103,12 @@ static bool qt_resolve_pbuffer_extensions() else if (resolved) return false; -#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4) - void *handle = dlopen(NULL, RTLD_LAZY); - if (handle) { - qt_glXChooseFBConfig = (_glXChooseFBConfig) dlsym(handle, "glXChooseFBConfig"); - qt_glXCreateNewContext = (_glXCreateNewContext) dlsym(handle, "glXCreateNewContext"); - qt_glXCreatePbuffer = (_glXCreatePbuffer) dlsym(handle, "glXCreatePbuffer"); - qt_glXDestroyPbuffer = (_glXDestroyPbuffer) dlsym(handle, "glXDestroyPbuffer"); - qt_glXGetFBConfigAttrib = (_glXGetFBConfigAttrib) dlsym(handle, "glXGetFBConfigAttrib"); - qt_glXMakeContextCurrent = (_glXMakeContextCurrent) dlsym(handle, "glXMakeContextCurrent"); - dlclose(handle); - } - if (!qt_glXChooseFBConfig) -#endif - { -#if !defined(QT_NO_LIBRARY) - extern const QString qt_gl_library_name(); - QLibrary gl(qt_gl_library_name()); - qt_glXChooseFBConfig = (_glXChooseFBConfig) gl.resolve("glXChooseFBConfig"); - qt_glXCreateNewContext = (_glXCreateNewContext) gl.resolve("glXCreateNewContext"); - qt_glXCreatePbuffer = (_glXCreatePbuffer) gl.resolve("glXCreatePbuffer"); - qt_glXDestroyPbuffer = (_glXDestroyPbuffer) gl.resolve("glXDestroyPbuffer"); - qt_glXGetFBConfigAttrib = (_glXGetFBConfigAttrib) gl.resolve("glXGetFBConfigAttrib"); - qt_glXMakeContextCurrent = (_glXMakeContextCurrent) gl.resolve("glXMakeContextCurrent"); -#endif - } + qt_glXChooseFBConfig = (_glXChooseFBConfig) qglx_getProcAddress("glXChooseFBConfig"); + qt_glXCreateNewContext = (_glXCreateNewContext) qglx_getProcAddress("glXCreateNewContext"); + qt_glXCreatePbuffer = (_glXCreatePbuffer) qglx_getProcAddress("glXCreatePbuffer"); + qt_glXDestroyPbuffer = (_glXDestroyPbuffer) qglx_getProcAddress("glXDestroyPbuffer"); + qt_glXGetFBConfigAttrib = (_glXGetFBConfigAttrib) qglx_getProcAddress("glXGetFBConfigAttrib"); + qt_glXMakeContextCurrent = (_glXMakeContextCurrent) qglx_getProcAddress("glXMakeContextCurrent"); resolved = qt_glXMakeContextCurrent ? true : false; return resolved; diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp index bb3cb5d..1ae3866 100644 --- a/src/opengl/qglpixmapfilter.cpp +++ b/src/opengl/qglpixmapfilter.cpp @@ -79,34 +79,28 @@ protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &pixmap, const QRectF &srcRect) const; }; -#ifndef QT_OPENGL_ES_2 - -class QGLPixmapConvolutionFilter: public QGLPixmapFilter<QPixmapConvolutionFilter> +class QGLPixmapConvolutionFilter: public QGLCustomShaderStage, public QGLPixmapFilter<QPixmapConvolutionFilter> { public: QGLPixmapConvolutionFilter(); ~QGLPixmapConvolutionFilter(); + void setUniforms(QGLShaderProgram *program); + protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const; private: QByteArray generateConvolutionShader() const; - mutable QGLShaderProgram *m_program; - mutable int m_scaleUniform; - mutable int m_matrixUniform; - - mutable int m_kernelWidth; - mutable int m_kernelHeight; + mutable QSize m_srcSize; + mutable int m_prevKernelSize; }; -#endif - class QGLPixmapBlurFilter : public QGLCustomShaderStage, public QGLPixmapFilter<QPixmapBlurFilter> { public: - QGLPixmapBlurFilter(QPixmapBlurFilter::BlurHint hint); + QGLPixmapBlurFilter(Qt::RenderHint hint); void setUniforms(QGLShaderProgram *program); @@ -121,7 +115,7 @@ private: mutable bool m_haveCached; mutable int m_cachedRadius; - mutable QPixmapBlurFilter::BlurHint m_hint; + mutable Qt::RenderHint m_hint; }; extern QGLWidget *qt_gl_share_widget(); @@ -137,67 +131,26 @@ QPixmapFilter *QGL2PaintEngineEx::pixmapFilter(int type, const QPixmapFilter *pr case QPixmapFilter::BlurFilter: { const QPixmapBlurFilter *proto = static_cast<const QPixmapBlurFilter *>(prototype); - if (proto->blurHint() == QPixmapBlurFilter::PerformanceHint || proto->radius() <= 5) { + if (proto->blurHint() == Qt::PerformanceHint || proto->radius() <= 5) { if (!d->fastBlurFilter) - d->fastBlurFilter.reset(new QGLPixmapBlurFilter(QPixmapBlurFilter::PerformanceHint)); + d->fastBlurFilter.reset(new QGLPixmapBlurFilter(Qt::PerformanceHint)); return d->fastBlurFilter.data(); } if (!d->blurFilter) - d->blurFilter.reset(new QGLPixmapBlurFilter(QPixmapBlurFilter::QualityHint)); + d->blurFilter.reset(new QGLPixmapBlurFilter(Qt::QualityHint)); return d->blurFilter.data(); } -#ifndef QT_OPENGL_ES_2 case QPixmapFilter::ConvolutionFilter: if (!d->convolutionFilter) d->convolutionFilter.reset(new QGLPixmapConvolutionFilter); return d->convolutionFilter.data(); -#endif default: break; } return QPaintEngineEx::pixmapFilter(type, prototype); } -#ifndef QT_OPENGL_ES_2 // XXX: needs to be ported - -extern void qt_add_rect_to_array(const QRectF &r, q_vertexType *array); -extern void qt_add_texcoords_to_array(qreal x1, qreal y1, qreal x2, qreal y2, q_vertexType *array); - -static void qgl_drawTexture(const QRectF &rect, int tx_width, int tx_height, const QRectF & src) -{ -#ifndef QT_OPENGL_ES - glPushAttrib(GL_CURRENT_BIT); -#endif - qreal x1, x2, y1, y2; - - x1 = src.x() / tx_width; - x2 = x1 + src.width() / tx_width; - y1 = 1.0 - ((src.y() / tx_height) + (src.height() / tx_height)); - y2 = 1.0 - (src.y() / tx_height); - - q_vertexType vertexArray[4*2]; - q_vertexType texCoordArray[4*2]; - - qt_add_rect_to_array(rect, vertexArray); - qt_add_texcoords_to_array(x1, y2, x2, y1, texCoordArray); - - glVertexPointer(2, q_vertexTypeEnum, 0, vertexArray); - glTexCoordPointer(2, q_vertexTypeEnum, 0, texCoordArray); - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisableClientState(GL_VERTEX_ARRAY); - -#ifndef QT_OPENGL_ES - glPopAttrib(); -#endif -} - -#endif // !QT_OPENGL_ES_2 - static const char *qt_gl_colorize_filter = "uniform lowp vec4 colorizeColor;" "uniform lowp float colorizeStrength;" @@ -231,102 +184,88 @@ void QGLPixmapColorizeFilter::setUniforms(QGLShaderProgram *program) program->setUniformValue("colorizeStrength", float(strength())); } -#ifndef QT_OPENGL_ES_2 +void QGLPixmapConvolutionFilter::setUniforms(QGLShaderProgram *program) +{ + const qreal *kernel = convolutionKernel(); + int kernelWidth = columns(); + int kernelHeight = rows(); + int kernelSize = kernelWidth * kernelHeight; + + QVarLengthArray<GLfloat> matrix(kernelSize); + QVarLengthArray<GLfloat> offset(kernelSize * 2); + + for(int i = 0; i < kernelSize; ++i) + matrix[i] = kernel[i]; + + for(int y = 0; y < kernelHeight; ++y) { + for(int x = 0; x < kernelWidth; ++x) { + offset[(y * kernelWidth + x) * 2] = x - (kernelWidth / 2); + offset[(y * kernelWidth + x) * 2 + 1] = (kernelHeight / 2) - y; + } + } + + const qreal iw = 1.0 / m_srcSize.width(); + const qreal ih = 1.0 / m_srcSize.height(); + program->setUniformValue("inv_texture_size", iw, ih); + program->setUniformValueArray("matrix", matrix.constData(), kernelSize, 1); + program->setUniformValueArray("offset", offset.constData(), kernelSize, 2); +} // generates convolution filter code for arbitrary sized kernel QByteArray QGLPixmapConvolutionFilter::generateConvolutionShader() const { QByteArray code; - code.append("uniform sampler2D texture;\n" - "uniform vec2 inv_texture_size;\n" - "uniform float matrix["); - code.append(QByteArray::number(m_kernelWidth * m_kernelHeight)); - code.append("];\n" - "vec2 offset["); - code.append(QByteArray::number(m_kernelWidth*m_kernelHeight)); + int kernelWidth = columns(); + int kernelHeight = rows(); + int kernelSize = kernelWidth * kernelHeight; + code.append("uniform highp vec2 inv_texture_size;\n" + "uniform mediump float matrix["); + code.append(QByteArray::number(kernelSize)); code.append("];\n" - "void main(void) {\n"); - - for(int y = 0; y < m_kernelHeight; y++) { - for(int x = 0; x < m_kernelWidth; x++) { - code.append(" offset["); - code.append(QByteArray::number(y * m_kernelWidth + x)); - code.append("] = vec2(inv_texture_size.x * "); - code.append(QByteArray::number(x-(int)(m_kernelWidth/2))); - code.append(".0, inv_texture_size.y * "); - code.append(QByteArray::number((int)(m_kernelHeight/2)-y)); - code.append(".0);\n"); - } - } + "uniform highp vec2 offset["); + code.append(QByteArray::number(kernelSize)); + code.append("];\n"); + code.append("lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords) {\n"); code.append(" int i = 0;\n" - " vec2 coords = gl_TexCoord[0].st;\n" - " vec4 sum = vec4(0.0);\n" + " lowp vec4 sum = vec4(0.0);\n" " for (i = 0; i < "); - code.append(QByteArray::number(m_kernelWidth * m_kernelHeight)); + code.append(QByteArray::number(kernelSize)); code.append("; i++) {\n" - " vec4 tmp = texture2D(texture,coords+offset[i]);\n" - " sum += matrix[i] * tmp;\n" + " sum += matrix[i] * texture2D(src,srcCoords+inv_texture_size*offset[i]);\n" " }\n" - " gl_FragColor = sum;\n" + " return sum;\n" "}"); return code; } QGLPixmapConvolutionFilter::QGLPixmapConvolutionFilter() - : m_program(0) - , m_scaleUniform(0) - , m_matrixUniform(0) - , m_kernelWidth(0) - , m_kernelHeight(0) + : m_prevKernelSize(-1) { } QGLPixmapConvolutionFilter::~QGLPixmapConvolutionFilter() { - delete m_program; } -bool QGLPixmapConvolutionFilter::processGL(QPainter *, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const +bool QGLPixmapConvolutionFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const { - QRectF target = (srcRect.isNull() ? QRectF(src.rect()) : srcRect).translated(pos); - - bindTexture(src); -#ifdef GL_CLAMP - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); -#endif - if (!m_program || m_kernelWidth != columns() || m_kernelHeight != rows()) { - delete m_program; - - m_kernelWidth = columns(); - m_kernelHeight = rows(); - - QByteArray code = generateConvolutionShader(); - m_program = new QGLShaderProgram(); - m_program->addShader(QGLShader::FragmentShader, code); - m_program->link(); - m_scaleUniform = m_program->uniformLocation("inv_texture_size"); - m_matrixUniform = m_program->uniformLocation("matrix"); + QGLPixmapConvolutionFilter *filter = const_cast<QGLPixmapConvolutionFilter *>(this); + + m_srcSize = src.size(); + + int kernelSize = rows() * columns(); + if (m_prevKernelSize == -1 || m_prevKernelSize != kernelSize) { + filter->setSource(generateConvolutionShader()); + m_prevKernelSize = kernelSize; } - const qreal *kernel = convolutionKernel(); - GLfloat *conv = new GLfloat[m_kernelWidth * m_kernelHeight]; - for(int i = 0; i < m_kernelWidth * m_kernelHeight; ++i) - conv[i] = kernel[i]; - - const qreal iw = 1.0 / src.width(); - const qreal ih = 1.0 / src.height(); - m_program->enable(); - m_program->setUniformValue(m_scaleUniform, iw, ih); - m_program->setUniformValueArray(m_matrixUniform, conv, m_kernelWidth * m_kernelHeight, 1); - - qgl_drawTexture(target, src.width(), src.height(), boundingRectFor(srcRect)); - m_program->disable(); + filter->setOnPainter(painter); + painter->drawPixmap(pos, src, srcRect); + filter->removeFromPainter(painter); + return true; } -#endif // !QT_OPENGL_ES_2 - static const char *qt_gl_blur_filter_fast = "const int samples = 9;" "uniform mediump vec2 delta;" @@ -340,12 +279,12 @@ static const char *qt_gl_blur_filter_fast = " return color * (1.0 / float(samples));" "}"; -QGLPixmapBlurFilter::QGLPixmapBlurFilter(QPixmapBlurFilter::BlurHint hint) +QGLPixmapBlurFilter::QGLPixmapBlurFilter(Qt::RenderHint hint) : m_haveCached(false) , m_cachedRadius(5) , m_hint(hint) { - if (hint == PerformanceHint) { + if (hint == Qt::PerformanceHint) { QGLPixmapBlurFilter *filter = const_cast<QGLPixmapBlurFilter *>(this); filter->setSource(qt_gl_blur_filter_fast); m_haveCached = true; @@ -357,7 +296,7 @@ bool QGLPixmapBlurFilter::processGL(QPainter *painter, const QPointF &pos, const QGLPixmapBlurFilter *filter = const_cast<QGLPixmapBlurFilter *>(this); int radius = this->radius(); - if (!m_haveCached || (m_hint == QualityHint && radius != m_cachedRadius)) { + if (!m_haveCached || (m_hint == Qt::QualityHint && radius != m_cachedRadius)) { // Only regenerate the shader from source if parameters have changed. m_haveCached = true; m_cachedRadius = radius; @@ -419,7 +358,7 @@ bool QGLPixmapBlurFilter::processGL(QPainter *painter, const QPointF &pos, const void QGLPixmapBlurFilter::setUniforms(QGLShaderProgram *program) { - if (m_hint == QualityHint) { + if (m_hint == Qt::QualityHint) { if (m_horizontalBlur) program->setUniformValue("delta", 1.0 / m_textureSize.width(), 0.0); else diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index ebcd723..dfa6c40 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -349,7 +349,7 @@ QGLShader::QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObj context = QGLContext::currentContext(); d = new QGLShaderPrivate(context, type); #ifndef QT_NO_DEBUG - if (context && !qgl_share_reg()->checkSharing(context, QGLContext::currentContext())) { + if (context && !QGLContext::areSharing(context, QGLContext::currentContext())) { qWarning("QGLShader::QGLShader: \'context\' must be the currect context or sharing with it."); return; } @@ -374,7 +374,7 @@ QGLShader::QGLShader context = QGLContext::currentContext(); d = new QGLShaderPrivate(context, type); #ifndef QT_NO_DEBUG - if (context && !qgl_share_reg()->checkSharing(context, QGLContext::currentContext())) { + if (context && !QGLContext::areSharing(context, QGLContext::currentContext())) { qWarning("QGLShader::QGLShader: \'context\' must be currect context or sharing with it."); return; } @@ -806,8 +806,8 @@ bool QGLShaderProgram::addShader(QGLShader *shader) if (d->shaders.contains(shader)) return true; // Already added to this shader program. if (d->programGuard.id() && shader) { - if (!qgl_share_reg()->checkSharing(shader->d->shaderGuard.context(), - d->programGuard.context())) { + if (!QGLContext::areSharing(shader->d->shaderGuard.context(), + d->programGuard.context())) { qWarning("QGLShaderProgram::addShader: Program and shader are not associated with same context."); return false; } diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index bd3883a..da490c0 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -338,7 +338,7 @@ void QGLOffscreen::initialize() int dim = qMax(2048, static_cast<int>(qt_next_power_of_two(qMax(device->size().width(), device->size().height())))); - bool shared_context = qgl_share_reg()->checkSharing(device->context(), ctx); + bool shared_context = QGLContext::areSharing(device->context(), ctx); bool would_fail = last_failed_size.isValid() && (device->size().width() >= last_failed_size.width() || device->size().height() >= last_failed_size.height()); @@ -555,7 +555,7 @@ public: QList<const QGLContext *> contexts = programs.uniqueKeys(); for (int i=0; i<contexts.size(); ++i) { const QGLContext *cx = contexts.at(i); - if (cx != ctx && qgl_share_reg()->checkSharing(cx, ctx)) { + if (cx != ctx && QGLContext::areSharing(cx, ctx)) { QList<GLProgram> progs = programs.values(cx); for (int k=0; k<progs.size(); ++k) { const GLProgram &prg = progs.at(k); @@ -1015,7 +1015,7 @@ public: } inline GLuint getBuffer(const QGradient &gradient, qreal opacity, QGLContext *ctx) { - if (buffer_ctx && !qgl_share_reg()->checkSharing(buffer_ctx, ctx)) + if (buffer_ctx && !QGLContext::areSharing(buffer_ctx, ctx)) cleanCache(); buffer_ctx = ctx; @@ -1365,7 +1365,7 @@ bool QOpenGLPaintEngine::begin(QPaintDevice *pdev) #ifdef QT_OPENGL_ES d->max_texture_size = ctx->d_func()->maxTextureSize(); #else - bool shared_ctx = qgl_share_reg()->checkSharing(d->device->context(), d->shader_ctx); + bool shared_ctx = QGLContext::areSharing(d->device->context(), d->shader_ctx); if (shared_ctx) { d->max_texture_size = d->shader_ctx->d_func()->maxTextureSize(); @@ -4683,7 +4683,7 @@ void QGLGlyphCache::cacheGlyphs(QGLContext *context, const QTextItemInt &ti, QList<const QGLContext *> contexts = qt_context_cache.keys(); for (int i=0; i<contexts.size(); ++i) { const QGLContext *ctx = contexts.at(i); - if (ctx != context && qgl_share_reg()->checkSharing(context, ctx)) { + if (ctx != context && QGLContext::areSharing(context, ctx)) { context_key = ctx; dev_it = qt_context_cache.constFind(context_key); break; @@ -4791,22 +4791,6 @@ void QGLGlyphCache::cacheGlyphs(QGLContext *context, const QTextItemInt &ti, } QImage glyph_im(ti.fontEngine->alphaMapForGlyph(glyphs[i])); - - // The QPF implementation of alphaMapForGlyph() uses the color - // RGBA = (value, value, value, 255) instead of the color - // RGBA = (0, 0, 0, value) that the other font engines use. - // We modify the image colors to rectify this situation. - QFontEngine::Type type = ti.fontEngine->type(); - if (type == QFontEngine::QPF1 || type == QFontEngine::QPF2) { - if (glyph_im.format() == QImage::Format_Indexed8) { - for (int i = 0; i < 256; ++i) - glyph_im.setColor(i, qRgba(0, 0, 0, i)); - } else if (glyph_im.format() == QImage::Format_Mono) { - glyph_im.setColor(0, qRgba(0, 0, 0, 0)); - glyph_im.setColor(1, qRgba(0, 0, 0, 255)); - } - } - glyph_im = glyph_im.convertToFormat(QImage::Format_Indexed8); glyph_width = glyph_im.width(); Q_ASSERT(glyph_width >= 0); diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index 2331c6d..1ee3bbf 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -248,7 +248,7 @@ bool QGLPixmapData::isValidContext(const QGLContext *ctx) const return true; const QGLContext *share_ctx = qt_gl_share_widget()->context(); - return ctx == share_ctx || qgl_share_reg()->checkSharing(ctx, share_ctx); + return ctx == share_ctx || QGLContext::areSharing(ctx, share_ctx); } void QGLPixmapData::resize(int width, int height) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 3558c28..b129164 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -3023,20 +3023,6 @@ void QVGFontGlyphCache::cacheGlyphs VGImage vgImage = VG_INVALID_HANDLE; metrics = ti.fontEngine->boundingBox(glyph); if (!scaledImage.isNull()) { // Not a space character - // The QPF implementation of alphaMapForGlyph() uses the color - // RGBA = (value, value, value, 255) instead of the color - // RGBA = (0, 0, 0, value) that the other font engines use. - // We modify the image colors to rectify this situation. - QFontEngine::Type type = ti.fontEngine->type(); - if (type == QFontEngine::QPF1 || type == QFontEngine::QPF2) { - if (scaledImage.format() == QImage::Format_Indexed8) { - for (int i = 0; i < 256; ++i) - scaledImage.setColor(i, qRgba(0, 0, 0, i)); - } else if (scaledImage.format() == QImage::Format_Mono) { - scaledImage.setColor(0, qRgba(0, 0, 0, 0)); - scaledImage.setColor(1, qRgba(0, 0, 0, 255)); - } - } if (scaledImage.format() == QImage::Format_Indexed8) { vgImage = vgCreateImage(VG_A_8, scaledImage.width(), scaledImage.height(), VG_IMAGE_QUALITY_FASTER); vgImageSubData(vgImage, scaledImage.bits(), scaledImage.bytesPerLine(), VG_A_8, 0, 0, scaledImage.width(), scaledImage.height()); diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp index 46cf65b..cb4fb88 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp @@ -209,6 +209,7 @@ void QDirectFBPaintDevice::releaseSubSurface() { Q_ASSERT(QDirectFBScreen::instance()); if (subSurface) { + unlockSurface(); screen->releaseDFBSurface(subSurface); subSurface = 0; } diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp index 043189e..dd6b0d3 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp @@ -284,7 +284,9 @@ bool QDirectFBPaintEngine::begin(QPaintDevice *device) } d->prepare(d->dfbDevice); + gccaps = AllFeatures; d->setCompositionMode(state()->composition_mode); + return QRasterPaintEngine::begin(device); } @@ -1249,7 +1251,7 @@ static void rasterFallbackWarn(const char *msg, const char *func, const device * dbg << dev << "of type" << dev->devType(); } - dbg << QString("transformationType 0x%1").arg(transformationType, 3, 16, QLatin1Char('0')) + dbg << QString::fromLatin1("transformationType 0x%1").arg(transformationType, 3, 16, QLatin1Char('0')) << "simplePen" << simplePen << "clipType" << clipType << "compositionModeStatus" << compositionModeStatus; diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 19103cb..f33e820 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -81,18 +81,23 @@ QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirect , flipFlags(flip) , boundingRectFlip(scr->directFBFlags() & QDirectFBScreen::BoundingRectFlip) { + SurfaceFlags flags = 0; + if (!widget || widget->window()->windowOpacity() == 0xff) + flags |= Opaque; #ifdef QT_NO_DIRECTFB_WM if (widget && widget->testAttribute(Qt::WA_PaintOnScreen)) { - setSurfaceFlags(Opaque | RegionReserved); + flags = RegionReserved; mode = Primary; } else { mode = Offscreen; - setSurfaceFlags(Opaque | Buffered); + flags = Buffered; } #else - setSurfaceFlags(Opaque | Buffered); + noSystemBackground = widget && widget->testAttribute(Qt::WA_NoSystemBackground); + if (noSystemBackground) + flags &= ~Opaque; #endif - + setSurfaceFlags(flags); #ifdef QT_DIRECTFB_TIMING frames = 0; timer.start(); @@ -135,6 +140,16 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) description.caps = DWCAPS_NODECORATION|DWCAPS_DOUBLEBUFFER; 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 + + if (noSystemBackground) { + description.caps |= DWCAPS_ALPHACHANNEL; +#if (Q_DIRECTFB_VERSION >= 0x010200) + description.options |= DWOP_ALPHACHANNEL; +#endif + } description.posx = rect.x(); description.posy = rect.y(); @@ -143,7 +158,7 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) description.surface_caps = DSCAPS_NONE; if (screen->directFBFlags() & QDirectFBScreen::VideoOnly) description.surface_caps |= DSCAPS_VIDEOONLY; - const QImage::Format format = screen->pixelFormat(); + const QImage::Format format = (noSystemBackground ? screen->alphaPixmapFormat() : screen->pixelFormat()); description.pixelformat = QDirectFBScreen::getSurfacePixelFormat(format); if (QDirectFBScreen::isPremultiplied(format)) description.surface_caps = DSCAPS_PREMULTIPLIED; @@ -153,9 +168,7 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect) if (result != DFB_OK) DirectFBErrorFatal("QDirectFBWindowSurface::createWindow", result); - if (dfbSurface) - dfbSurface->Release(dfbSurface); - + Q_ASSERT(!dfbSurface); dfbWindow->GetSurface(dfbWindow, &dfbSurface); updateFormat(); } @@ -200,10 +213,6 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) if (sizeChanged) { delete engine; engine = 0; - unlockSurface(); -#ifdef QT_DIRECTFB_SUBSURFACE - releaseSubSurface(); -#endif releaseSurface(); Q_ASSERT(!dfbSurface); } @@ -301,29 +310,20 @@ bool QDirectFBWindowSurface::move(const QPoint &moveBy) return true; } -// hw: XXX: copied from QWidgetPrivate::isOpaque() -inline bool isWidgetOpaque(const QWidget *w) +void QDirectFBWindowSurface::setOpaque(bool opaque) { - if (w->testAttribute(Qt::WA_OpaquePaintEvent) - || w->testAttribute(Qt::WA_PaintOnScreen)) - return true; - - const QPalette &pal = w->palette(); - - if (w->autoFillBackground()) { - const QBrush &autoFillBrush = pal.brush(w->backgroundRole()); - if (autoFillBrush.style() != Qt::NoBrush && autoFillBrush.isOpaque()) - return true; + SurfaceFlags flags = surfaceFlags(); + if (opaque != (flags & Opaque)) { + if (opaque) { + flags |= Opaque; + } else { + flags &= ~Opaque; + } + setSurfaceFlags(flags); } +} - if (!w->testAttribute(Qt::WA_NoSystemBackground)) { - const QBrush &windowBrush = w->palette().brush(QPalette::Window); - if (windowBrush.style() != Qt::NoBrush && windowBrush.isOpaque()) - return true; - } - return false; -} void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) { @@ -335,37 +335,39 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, if (extra && extra->proxyWidget) return; - // hw: make sure opacity information is updated before compositing - const bool opaque = isWidgetOpaque(win); - if (opaque != isOpaque()) { - SurfaceFlags flags = surfaceFlags(); - if (opaque) { - flags |= Opaque; - } else { - flags &= ~Opaque; - } - setSurfaceFlags(flags); + 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); + if (currentOpacity != windowOpacity) { + dfbWindow->SetOpacity(dfbWindow, windowOpacity); } -#ifndef QT_NO_DIRECTFB_WM - const quint8 winOpacity = quint8(win->windowOpacity() * 255); - quint8 opacity; - - if (dfbWindow) { - dfbWindow->GetOpacity(dfbWindow, &opacity); - if (winOpacity != opacity) - dfbWindow->SetOpacity(dfbWindow, winOpacity); + setOpaque(noSystemBackground || windowOpacity != 0xff); + if (wasNoSystemBackground != noSystemBackground) { + releaseSurface(); + dfbWindow->Release(dfbWindow); + dfbWindow = 0; + createWindow(windowGeometry); + win->update(); + return; } -#endif - - const QRect windowGeometry = QDirectFBWindowSurface::geometry(); -#ifdef QT_NO_DIRECTFB_WM + screen->flipSurface(dfbSurface, flipFlags, region, offset); + if (noSystemBackground) { + dfbSurface->Clear(dfbSurface, 0, 0, 0, 0); + } +#else + setOpaque(windowOpacity != 0xff); if (mode == Offscreen) { screen->exposeRegion(region.translated(offset + geometry().topLeft()), 0); - - } else -#endif + } else { screen->flipSurface(dfbSurface, flipFlags, region, offset); + } +#endif #ifdef QT_DIRECTFB_TIMING enum { Secs = 3 }; @@ -430,9 +432,10 @@ void QDirectFBWindowSurface::updateFormat() void QDirectFBWindowSurface::releaseSurface() { if (dfbSurface) { -#ifdef QT_NO_DIRECTFB_SUBSURFACE - if (lockFlgs) - unlockSurface(); +#ifdef QT_DIRECTFB_SUBSURFACE + releaseSubSurface(); +#else + unlockSurface(); #endif #ifdef QT_NO_DIRECTFB_WM Q_ASSERT(screen->primarySurface()); diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h index 0dd3a3b..2f78179 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h @@ -97,6 +97,7 @@ public: IDirectFBWindow *directFBWindow() const; #endif private: + void setOpaque(bool opaque); void updateFormat(); void releaseSurface(); QDirectFBWindowSurface *sibling; @@ -112,6 +113,7 @@ private: #endif DFBSurfaceFlipFlags flipFlags; + bool noSystemBackground; bool boundingRectFlip; #ifdef QT_DIRECTFB_TIMING int frames; diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index 3698afd..afee77e 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -157,18 +157,21 @@ QImage PvrEglWindowSurface::image() const void *data = pvrQwsGetRenderBuffer(drawable); if (data) { return QImage((uchar *)data, pvrRect.width, pvrRect.height, - pvrQwsGetStride(drawable), QImage::Format_RGB16); + pvrQwsGetStride(drawable), screen->pixelFormat()); } } - return QImage(); + return QImage(16, 16, screen->pixelFormat()); } QPaintDevice *PvrEglWindowSurface::paintDevice() { - // Return a dummy paint device because the widget itself - // cannot be painted to this way. + QGLWidget *glWidget = qobject_cast<QGLWidget *>(window()); + if (glWidget) + return glWidget; + + // Should be a QGLWidget, but if not return a dummy paint device. if (!pdevice) - pdevice = new QImage(50, 50, QImage::Format_RGB16); + pdevice = new QImage(50, 50, screen->pixelFormat()); return pdevice; } diff --git a/src/plugins/graphicssystems/opengl/main.cpp b/src/plugins/graphicssystems/opengl/main.cpp index c28b09a..6216ada 100644 --- a/src/plugins/graphicssystems/opengl/main.cpp +++ b/src/plugins/graphicssystems/opengl/main.cpp @@ -56,6 +56,9 @@ QStringList QGLGraphicsSystemPlugin::keys() const { QStringList list; list << QLatin1String("OpenGL") << QLatin1String("OpenGL1"); +#if !defined(QT_OPENGL_ES_1) && !defined(QT_OPENGL_ES_1_CL) + list << QLatin1String("OpenGL2"); +#endif return list; } @@ -66,6 +69,13 @@ QGraphicsSystem* QGLGraphicsSystemPlugin::create(const QString& system) return new QGLGraphicsSystem; } +#if !defined(QT_OPENGL_ES_1) && !defined(QT_OPENGL_ES_1_CL) + if (system.toLower() == QLatin1String("opengl2")) { + QGL::setPreferredPaintEngine(QPaintEngine::OpenGL2); + return new QGLGraphicsSystem; + } +#endif + if (system.toLower() == QLatin1String("opengl")) return new QGLGraphicsSystem; diff --git a/src/plugins/phonon/mmf/mmf.pro b/src/plugins/phonon/mmf/mmf.pro new file mode 100644 index 0000000..ff27ea1 --- /dev/null +++ b/src/plugins/phonon/mmf/mmf.pro @@ -0,0 +1,4 @@ +TEMPLATE = subdirs +SUBDIRS = mmfphonondebug plugin + +plugin.depends = mmfphonondebug diff --git a/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro b/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro new file mode 100644 index 0000000..2cfec15 --- /dev/null +++ b/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro @@ -0,0 +1,31 @@ +TEMPLATE = lib +TARGET = phonon_mmf_debug +OBJECTDUMP_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf/mmfphonondebug + +CONFIG += staticlib + +DEFINES += OBJECTDUMP_LIBRARY + +HEADERS += \ + $$OBJECTDUMP_DIR/objectdump_global.h \ + $$OBJECTDUMP_DIR/objectdump.h \ + $$OBJECTDUMP_DIR/objecttree.h + +SOURCES += \ + $$OBJECTDUMP_DIR/objectdump.cpp \ + $$OBJECTDUMP_DIR/objecttree.cpp + +symbian { + HEADERS += $$OBJECTDUMP_DIR/objectdump_symbian.h + SOURCES += $$OBJECTDUMP_DIR/objectdump_symbian.cpp + + LIBS += -lcone + LIBS += -lws32 + + TARGET.CAPABILITY = all -tcb + +} else { + SOURCES += $$OBJECTDUMP_DIR/objectdump_stub.cpp +} + +TARGET.UID3=0x2001E62A diff --git a/src/plugins/phonon/mmf/plugin/plugin.pro b/src/plugins/phonon/mmf/plugin/plugin.pro new file mode 100644 index 0000000..eb7fd27 --- /dev/null +++ b/src/plugins/phonon/mmf/plugin/plugin.pro @@ -0,0 +1,88 @@ +# MMF Phonon backend + +QT += phonon +TARGET = phonon_mmf +PHONON_MMF_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf + +# Uncomment the following line in order to use the CDrmPlayerUtility client +# API for audio playback, rather than CMdaAudioPlayerUtility. +#CONFIG += phonon_mmf_audio_drm + +phonon_mmf_audio_drm { + LIBS += -lDrmAudioPlayUtility + DEFINES += QT_PHONON_MMF_AUDIO_DRM +} else { + LIBS += -lmediaclientaudio +} + +# This is necessary because both epoc32/include and Phonon contain videoplayer.h. +# By making /epoc32/include the first SYSTEMINCLUDE, we ensure that +# '#include <videoplayer.h>' picks up the Symbian header, as intended. +PREPEND_INCLUDEPATH = /epoc32/include + +INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE + +HEADERS += \ + $$PHONON_MMF_DIR/abstractaudioeffect.h \ + $$PHONON_MMF_DIR/abstractmediaplayer.h \ + $$PHONON_MMF_DIR/abstractplayer.h \ + $$PHONON_MMF_DIR/audiooutput.h \ + $$PHONON_MMF_DIR/audioequalizer.h \ + $$PHONON_MMF_DIR/audioplayer.h \ + $$PHONON_MMF_DIR/backend.h \ + $$PHONON_MMF_DIR/bassboost.h \ + $$PHONON_MMF_DIR/defs.h \ + $$PHONON_MMF_DIR/dummyplayer.h \ + $$PHONON_MMF_DIR/effectfactory.h \ + $$PHONON_MMF_DIR/mmf_medianode.h \ + $$PHONON_MMF_DIR/mediaobject.h \ + $$PHONON_MMF_DIR/utils.h \ + $$PHONON_MMF_DIR/videooutput.h \ + $$PHONON_MMF_DIR/videooutputobserver.h \ + $$PHONON_MMF_DIR/mmf_videoplayer.h \ + $$PHONON_MMF_DIR/videowidget.h \ + $$PHONON_MMF_DIR/volumeobserver.h + +SOURCES += \ + $$PHONON_MMF_DIR/abstractaudioeffect.cpp \ + $$PHONON_MMF_DIR/abstractmediaplayer.cpp \ + $$PHONON_MMF_DIR/abstractplayer.cpp \ + $$PHONON_MMF_DIR/audiooutput.cpp \ + $$PHONON_MMF_DIR/audioequalizer.cpp \ + $$PHONON_MMF_DIR/audioplayer.cpp \ + $$PHONON_MMF_DIR/backend.cpp \ + $$PHONON_MMF_DIR/bassboost.cpp \ + $$PHONON_MMF_DIR/dummyplayer.cpp \ + $$PHONON_MMF_DIR/effectfactory.cpp \ + $$PHONON_MMF_DIR/mmf_medianode.cpp \ + $$PHONON_MMF_DIR/mediaobject.cpp \ + $$PHONON_MMF_DIR/utils.cpp \ + $$PHONON_MMF_DIR/videooutput.cpp \ + $$PHONON_MMF_DIR/mmf_videoplayer.cpp \ + $$PHONON_MMF_DIR/videowidget.cpp + +debug { + INCLUDEPATH += $$PHONON_MMF_DIR/mmfphonondebug + LIBS += -lphonon_mmf_debug.lib + LIBS += -lhal +} + +LIBS += -lmediaclientvideo # For CVideoPlayerUtility +LIBS += -lcone # For CCoeEnv +LIBS += -lws32 # For RWindow +LIBS += -lefsrv # For file server +LIBS += -lapgrfx -lapmime # For recognizer + +# These are for effects. +LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect + +# This is needed for having the .qtplugin file properly created on Symbian. +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend + +target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend +INSTALLS += target + +include(../../../qpluginbase.pri) + +TARGET.UID3=0x2001E629 + diff --git a/src/plugins/phonon/phonon.pro b/src/plugins/phonon/phonon.pro index e43a4c2..814a062 100644 --- a/src/plugins/phonon/phonon.pro +++ b/src/plugins/phonon/phonon.pro @@ -7,3 +7,4 @@ mac:contains(QT_CONFIG, phonon-backend): SUBDIRS *= qt7 win32:!wince*:contains(QT_CONFIG, phonon-backend): SUBDIRS *= ds9 wince*:contains(QT_CONFIG, phonon-backend): SUBDIRS *= waveout wince*:contains(QT_CONFIG, directshow): SUBDIRS *= ds9 +symbian:contains(QT_CONFIG, phonon-backend): SUBDIRS *= mmf diff --git a/src/plugins/s60/s60pluginbase.pri b/src/plugins/s60/s60pluginbase.pri index 29e8eb3..c1aa4ef 100644 --- a/src/plugins/s60/s60pluginbase.pri +++ b/src/plugins/s60/s60pluginbase.pri @@ -1,6 +1,6 @@ # Note: These version based 'plugins' are not an actual Qt plugins, # they are just regular runtime loaded libraries -include(../../qpluginbase.pri) +include(../qpluginbase.pri) CONFIG -= plugin diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby index dc9ec43..3a7f008 100644 --- a/src/s60installs/qt.iby +++ b/src/s60installs/qt.iby @@ -71,6 +71,9 @@ file=ABI_DIR\BUILD_DIR\qtwcodecs.dll SHARED_LIB_DIR\qtwcodecs.dll PAG // iconengines file=ABI_DIR\BUILD_DIR\qsvgicon.dll SHARED_LIB_DIR\qsvgicon.dll PAGED +// Phonon MMF backend +file=ABI_DIR\BUILD_DIR\phonon_mmf.dll SHARED_LIB_DIR\phonon_mmf.dll PAGED + // graphicssystems file=ABI_DIR\BUILD_DIR\qvggraphicssystem.dll SHARED_LIB_DIR\qvggraphicssystem.dll PAGED @@ -93,6 +96,9 @@ data=\epoc32\winscw\c\resource\qt\plugins\codecs\qtwcodecs.qtplugin res // iconengines stubs data=\epoc32\winscw\c\resource\qt\plugins\iconengines\qsvgicon.qtplugin resource\qt\plugins\iconengines\qsvgicon.qtplugin +// Phonon MMF backend +data=\epoc32\winscw\c\resource\qt\plugins\phonon_backend\phonon_mmf.qtplugin resource\qt\plugins\phonon_backend\phonon_mmf.qtplugin + // graphicssystems data=\epoc32\winscw\c\resource\qt\plugins\graphicssystems\qvggraphicssystem.qtplugin resource\qt\plugins\graphicssystems\qvggraphicssystem.qtplugin diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index 62661ed..d21c524 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -19,6 +19,7 @@ symbian: { QtXml.dll \ QtGui.dll \ QtNetwork.dll \ + QtScript.dll \ QtTest.dll \ QtSql.dll @@ -72,6 +73,13 @@ symbian: { codecs_plugins.sources = qcncodecs.dll qjpcodecs.dll qtwcodecs.dll qkrcodecs.dll codecs_plugins.path = $$QT_PLUGINS_BASE_DIR/codecs + contains(QT_CONFIG, phonon-backend) { + phonon_backend_plugins.sources += phonon_mmf.dll + + phonon_backend_plugins.path = $$QT_PLUGINS_BASE_DIR/phonon_backend + DEPLOYMENT += phonon_backend_plugins + } + DEPLOYMENT += qtresources qtlibraries imageformats_plugins codecs_plugins graphicssystems_plugins contains(QT_CONFIG, svg): { @@ -86,6 +94,10 @@ symbian: { qtlibraries.sources += Phonon.dll } + contains(QT_CONFIG, webkit): { + qtlibraries.sources += QtWebKit.dll + } + graphicssystems_plugins.path = $$QT_PLUGINS_BASE_DIR/graphicssystems contains(QT_CONFIG, openvg) { qtlibraries.sources = QtOpenVG.dll diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index b27d1be..fb14940 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -382,65 +382,6 @@ private: bool m_shouldAbortEvaluation; }; -/*Helper class. Main purpose is to give debugger feedback about unloading and loading scripts. - It keeps pointer to JSGlobalObject assuming that it is always the same - there is no way to update - this data. Class is internal and used as an implementation detail in and only in QScriptEngine::evaluate.*/ -class UStringSourceProviderWithFeedback: public JSC::UStringSourceProvider -{ -public: - - static PassRefPtr<UStringSourceProviderWithFeedback> create(const JSC::UString& source, const JSC::UString& url, int lineNumber, QScriptEnginePrivate* engine) - { - return adoptRef(new UStringSourceProviderWithFeedback(source, url, lineNumber, engine)); - } - - /* Destruction means that there is no more copies of script so create scriptUnload event - and unregister script in QScriptEnginePrivate::loadedScripts */ - virtual ~UStringSourceProviderWithFeedback() - { - if (m_ptr) { - if (JSC::Debugger* debugger = this->debugger()) - debugger->scriptUnload(asID()); - m_ptr->loadedScripts.remove(this); - } - } - - /* set internal QScriptEnginePrivate pointer to null and create unloadScript event, should be called - only if QScriptEnginePrivate is about to be destroyed.*/ - void disconnectFromEngine() - { - if (JSC::Debugger* debugger = this->debugger()) - debugger->scriptUnload(asID()); - m_ptr = 0; - } - -protected: - UStringSourceProviderWithFeedback(const JSC::UString& source, const JSC::UString& url, int lineNumber, QScriptEnginePrivate* engine) - : UStringSourceProvider(source, url), - m_ptr(engine) - { - if (JSC::Debugger* debugger = this->debugger()) - debugger->scriptLoad(asID(), source, url, lineNumber); - if (m_ptr) - m_ptr->loadedScripts.insert(this); - } - - JSC::Debugger* debugger() - { - //if m_ptr is null it mean that QScriptEnginePrivate was destroyed and scriptUnload was called - //else m_ptr is stable and we can use it as normal pointer without hesitation - if(!m_ptr) - return 0; //we are in ~QScriptEnginePrivate - else - return m_ptr->originalGlobalObject()->debugger(); //QScriptEnginePrivate is still alive - } - - //trace global object and debugger instance - QScriptEnginePrivate* m_ptr; -}; - - - static int toDigit(char c) { if ((c >= '0') && (c <= '9')) @@ -900,11 +841,9 @@ QScriptEnginePrivate::QScriptEnginePrivate() QScriptEnginePrivate::~QScriptEnginePrivate() { //disconnect all loadedScripts and generate all jsc::debugger::scriptUnload events - QSet<QScript::UStringSourceProviderWithFeedback*>::const_iterator i = loadedScripts.constBegin(); - while(i!=loadedScripts.constEnd()) { - (*i)->disconnectFromEngine(); - i++; - } + QHash<intptr_t,QScript::UStringSourceProviderWithFeedback*>::const_iterator it; + for (it = loadedScripts.constBegin(); it != loadedScripts.constEnd(); ++it) + it.value()->disconnectFromEngine(); while (!ownedAgents.isEmpty()) delete ownedAgents.takeFirst(); @@ -1606,6 +1545,9 @@ QScriptValue QScriptEngine::newFunction(QScriptEngine::FunctionSignature fun, } #ifndef QT_NO_REGEXP + +extern QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyntax); + /*! Creates a QtScript object of class RegExp with the given \a regexp. @@ -1620,7 +1562,6 @@ QScriptValue QScriptEngine::newRegExp(const QRegExp ®exp) JSC::ArgList args(buf, sizeof(buf)); //convert the pattern to a ECMAScript pattern - extern QString qt_regexp_toCanonical(const QString &, QRegExp::PatternSyntax); QString pattern = qt_regexp_toCanonical(regexp.pattern(), regexp.patternSyntax()); if (regexp.isMinimal()) { QString ecmaPattern; @@ -2244,6 +2185,8 @@ QScriptValue QScriptEngine::evaluate(const QString &program, const QString &file JSC::JSObject* thisObject = (!thisValue || thisValue.isUndefinedOrNull()) ? exec->dynamicGlobalObject() : thisValue.toObject(exec); JSC::JSValue exceptionValue; d->timeoutChecker()->setShouldAbort(false); + if (d->processEventsInterval > 0) + d->timeoutChecker()->reset(); JSC::JSValue result = exec->interpreter()->execute(&executable, exec, thisObject, exec->scopeChain(), &exceptionValue); if (d->timeoutChecker()->shouldAbort()) { @@ -2360,11 +2303,9 @@ JSC::CallFrame *QScriptEnginePrivate::pushContext(JSC::CallFrame *exec, JSC::JSV JSC::Register *oldEnd = interp->registerFile().end(); int argc = args.size() + 1; //add "this" JSC::Register *newEnd = oldEnd + argc + JSC::RegisterFile::CallFrameHeaderSize; - //Without + argc + JSC::RegisterFile::CallFrameHeaderSize, it crashes. - //It seems that JSC is not consistant with the way the callframe is crated - if (!interp->registerFile().grow(newEnd + argc + JSC::RegisterFile::CallFrameHeaderSize)) + if (!interp->registerFile().grow(newEnd)) return 0; //### Stack overflow - newCallFrame = JSC::CallFrame::create(newEnd); + newCallFrame = JSC::CallFrame::create(oldEnd); newCallFrame[0] = thisObject; int dst = 0; JSC::ArgList::const_iterator it; diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index b8b805e..5f31054 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -60,7 +60,10 @@ #include "qscriptvalue_p.h" #include "qscriptstring_p.h" +#include "Debugger.h" +#include "Lexer.h" #include "RefPtr.h" +#include "SourceProvider.h" #include "Structure.h" #include "JSGlobalObject.h" #include "JSValue.h" @@ -259,7 +262,7 @@ public: QSet<QString> importedExtensions; QSet<QString> extensionsBeingImported; - QSet<QScript::UStringSourceProviderWithFeedback*> loadedScripts; + QHash<intptr_t, QScript::UStringSourceProviderWithFeedback*> loadedScripts; #ifndef QT_NO_QOBJECT QHash<QObject*, QScript::QObjectData*> m_qobjectData; @@ -273,6 +276,74 @@ public: namespace QScript { +/*Helper class. Main purpose is to give debugger feedback about unloading and loading scripts. + It keeps pointer to JSGlobalObject assuming that it is always the same - there is no way to update + this data. Class is internal and used as an implementation detail in and only in QScriptEngine::evaluate.*/ +class UStringSourceProviderWithFeedback: public JSC::UStringSourceProvider +{ +public: + static PassRefPtr<UStringSourceProviderWithFeedback> create( + const JSC::UString& source, const JSC::UString& url, + int lineNumber, QScriptEnginePrivate* engine) + { + return adoptRef(new UStringSourceProviderWithFeedback(source, url, lineNumber, engine)); + } + + /* Destruction means that there is no more copies of script so create scriptUnload event + and unregister script in QScriptEnginePrivate::loadedScripts */ + virtual ~UStringSourceProviderWithFeedback() + { + if (m_ptr) { + if (JSC::Debugger* debugger = this->debugger()) + debugger->scriptUnload(asID()); + m_ptr->loadedScripts.remove(asID()); + } + } + + /* set internal QScriptEnginePrivate pointer to null and create unloadScript event, should be called + only if QScriptEnginePrivate is about to be destroyed.*/ + void disconnectFromEngine() + { + if (JSC::Debugger* debugger = this->debugger()) + debugger->scriptUnload(asID()); + m_ptr = 0; + } + + int columnNumberFromOffset(int offset) const + { + for (const UChar *c = m_source.data() + offset; c >= m_source.data(); --c) { + if (JSC::Lexer::isLineTerminator(*c)) + return offset - static_cast<int>(c - data()); + } + return offset + 1; + } + +protected: + UStringSourceProviderWithFeedback(const JSC::UString& source, const JSC::UString& url, + int lineNumber, QScriptEnginePrivate* engine) + : UStringSourceProvider(source, url), + m_ptr(engine) + { + if (JSC::Debugger* debugger = this->debugger()) + debugger->scriptLoad(asID(), source, url, lineNumber); + if (m_ptr) + m_ptr->loadedScripts.insert(asID(), this); + } + + JSC::Debugger* debugger() + { + //if m_ptr is null it mean that QScriptEnginePrivate was destroyed and scriptUnload was called + //else m_ptr is stable and we can use it as normal pointer without hesitation + if(!m_ptr) + return 0; //we are in ~QScriptEnginePrivate + else + return m_ptr->originalGlobalObject()->debugger(); //QScriptEnginePrivate is still alive + } + + //trace global object and debugger instance + QScriptEnginePrivate* m_ptr; +}; + class SaveFrameHelper { public: diff --git a/src/script/api/qscriptengineagent.cpp b/src/script/api/qscriptengineagent.cpp index 84ae380..bc2eea2 100644 --- a/src/script/api/qscriptengineagent.cpp +++ b/src/script/api/qscriptengineagent.cpp @@ -169,6 +169,9 @@ void QScriptEngineAgentPrivate::exceptionCatch(const JSC::DebuggerCallFrame& fra void QScriptEngineAgentPrivate::atStatement(const JSC::DebuggerCallFrame& frame, intptr_t sourceID, int lineno, int column) { + QScript::UStringSourceProviderWithFeedback *source = engine->loadedScripts.value(sourceID); + Q_ASSERT(source != 0); + column = source->columnNumberFromOffset(column); JSC::CallFrame *oldFrame = engine->currentFrame; int oldAgentLineNumber = engine->agentLineNumber; engine->currentFrame = frame.callFrame(); @@ -195,6 +198,9 @@ void QScriptEngineAgentPrivate::didReachBreakpoint(const JSC::DebuggerCallFrame& intptr_t sourceID, int lineno, int column) { if (q_ptr->supportsExtension(QScriptEngineAgent::DebuggerInvocationRequest)) { + QScript::UStringSourceProviderWithFeedback *source = engine->loadedScripts.value(sourceID); + Q_ASSERT(source != 0); + column = source->columnNumberFromOffset(column); JSC::CallFrame *oldFrame = engine->currentFrame; int oldAgentLineNumber = engine->agentLineNumber; engine->currentFrame = frame.callFrame(); diff --git a/src/script/api/qscriptvalue.h b/src/script/api/qscriptvalue.h index 2bc89bd..32f7a43 100644 --- a/src/script/api/qscriptvalue.h +++ b/src/script/api/qscriptvalue.h @@ -216,9 +216,9 @@ public: private: // force compile error, prevent QScriptValue(bool) to be called - inline QScriptValue(void *); + QScriptValue(void *); // force compile error, prevent QScriptValue(QScriptEngine*, bool) to be called - inline QScriptValue(QScriptEngine *, void *); + QScriptValue(QScriptEngine *, void *); QScriptValue(QScriptValuePrivate*); diff --git a/src/script/script.pro b/src/script/script.pro index e278f59..d2153a7 100644 --- a/src/script/script.pro +++ b/src/script/script.pro @@ -64,6 +64,14 @@ DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1 WTF_CHANGES=1 DEFINES += NDEBUG +solaris-g++:isEqual(QT_ARCH,sparc) { + CONFIG -= separate_debug_info + CONFIG += no_debug_info +} + +# Avoid JSC C API functions being exported. +DEFINES += JS_EXPORT="" JS_EXPORTDATA="" + INCLUDEPATH += $$PWD include(script.pri) diff --git a/src/scripttools/debugging/qscriptbreakpointsmodel.cpp b/src/scripttools/debugging/qscriptbreakpointsmodel.cpp index 82a7c6a..40acebb 100644 --- a/src/scripttools/debugging/qscriptbreakpointsmodel.cpp +++ b/src/scripttools/debugging/qscriptbreakpointsmodel.cpp @@ -47,6 +47,7 @@ #include "private/qabstractitemmodel_p.h" #include <QtCore/qpair.h> +#include <QtCore/qcoreapplication.h> #include <QtGui/qicon.h> #include <QtCore/qdebug.h> @@ -451,17 +452,17 @@ QVariant QScriptBreakpointsModel::headerData(int section, Qt::Orientation orient if (orient == Qt::Horizontal) { if (role == Qt::DisplayRole) { if (section == 0) - return QObject::tr("ID"); + return QCoreApplication::translate("QScriptBreakpointsModel", "ID"); else if (section == 1) - return QObject::tr("Location"); + return QCoreApplication::translate("QScriptBreakpointsModel", "Location"); else if (section == 2) - return QObject::tr("Condition"); + return QCoreApplication::translate("QScriptBreakpointsModel", "Condition"); else if (section == 3) - return QObject::tr("Ignore-count"); + return QCoreApplication::translate("QScriptBreakpointsModel", "Ignore-count"); else if (section == 4) - return QObject::tr("Single-shot"); + return QCoreApplication::translate("QScriptBreakpointsModel", "Single-shot"); else if (section == 5) - return QObject::tr("Hit-count"); + return QCoreApplication::translate("QScriptBreakpointsModel", "Hit-count"); } } return QVariant(); diff --git a/src/scripttools/debugging/qscriptbreakpointswidget.cpp b/src/scripttools/debugging/qscriptbreakpointswidget.cpp index 356c6d5..688c7c8 100644 --- a/src/scripttools/debugging/qscriptbreakpointswidget.cpp +++ b/src/scripttools/debugging/qscriptbreakpointswidget.cpp @@ -78,7 +78,7 @@ public: toolClose = new QToolButton(this); toolClose->setIcon(QIcon(QString::fromUtf8(":/qt/scripttools/debugging/images/%1/closetab.png").arg(system))); toolClose->setAutoRaise(true); - toolClose->setText(QObject::tr("Close")); + toolClose->setText(tr("Close")); hboxLayout->addWidget(toolClose); fileNameEdit = new QLineEdit(); @@ -295,13 +295,13 @@ QScriptBreakpointsWidget::QScriptBreakpointsWidget(QWidget *parent) QIcon newBreakpointIcon; newBreakpointIcon.addPixmap(d->pixmap(QString::fromLatin1("new.png")), QIcon::Normal); - QAction *newBreakpointAction = new QAction(newBreakpointIcon, QObject::tr("New"), this); + QAction *newBreakpointAction = new QAction(newBreakpointIcon, tr("New"), this); QObject::connect(newBreakpointAction, SIGNAL(triggered()), this, SLOT(_q_newBreakpoint())); QIcon deleteBreakpointIcon; deleteBreakpointIcon.addPixmap(d->pixmap(QString::fromLatin1("delete.png")), QIcon::Normal); - d->deleteBreakpointAction = new QAction(deleteBreakpointIcon, QObject::tr("Delete"), this); + d->deleteBreakpointAction = new QAction(deleteBreakpointIcon, tr("Delete"), this); d->deleteBreakpointAction->setEnabled(false); QObject::connect(d->deleteBreakpointAction, SIGNAL(triggered()), this, SLOT(_q_deleteBreakpoint())); diff --git a/src/scripttools/debugging/qscriptdebugger.cpp b/src/scripttools/debugging/qscriptdebugger.cpp index c09e494..58d707f 100644 --- a/src/scripttools/debugging/qscriptdebugger.cpp +++ b/src/scripttools/debugging/qscriptdebugger.cpp @@ -882,8 +882,8 @@ void QScriptDebuggerPrivate::_q_goToLine() if (!view) return; bool ok = false; - int lineNumber = QInputDialog::getInteger(0, QObject::tr("Go to Line"), - QObject::tr("Line:"), + int lineNumber = QInputDialog::getInteger(0, QScriptDebugger::tr("Go to Line"), + QScriptDebugger::tr("Line:"), view->cursorLineNumber(), 1, INT_MAX, 1, &ok); if (ok) @@ -1674,9 +1674,9 @@ QAction *QScriptDebugger::interruptAction(QObject *parent) const interruptIcon.addPixmap(d->pixmap(QString::fromLatin1("interrupt.png")), QIcon::Normal); interruptIcon.addPixmap(d->pixmap(QString::fromLatin1("d_interrupt.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->interruptAction = new QAction(interruptIcon, QObject::tr("Interrupt"), parent); + that->d_func()->interruptAction = new QAction(interruptIcon, QScriptDebugger::tr("Interrupt"), parent); d->interruptAction->setEnabled(!d->interactive); - d->interruptAction->setShortcut(QObject::tr("Shift+F5")); + d->interruptAction->setShortcut(QScriptDebugger::tr("Shift+F5")); QObject::connect(d->interruptAction, SIGNAL(triggered()), that, SLOT(_q_interrupt())); } @@ -1691,9 +1691,9 @@ QAction *QScriptDebugger::continueAction(QObject *parent) const continueIcon.addPixmap(d->pixmap(QString::fromLatin1("play.png")), QIcon::Normal); continueIcon.addPixmap(d->pixmap(QString::fromLatin1("d_play.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->continueAction = new QAction(continueIcon, QObject::tr("Continue"), parent); + that->d_func()->continueAction = new QAction(continueIcon, QScriptDebugger::tr("Continue"), parent); d->continueAction->setEnabled(d->interactive); - d->continueAction->setShortcut(QObject::tr("F5")); + d->continueAction->setShortcut(QScriptDebugger::tr("F5")); QObject::connect(d->continueAction, SIGNAL(triggered()), that, SLOT(_q_continue())); } @@ -1708,9 +1708,9 @@ QAction *QScriptDebugger::stepIntoAction(QObject *parent) const stepIntoIcon.addPixmap(d->pixmap(QString::fromLatin1("stepinto.png")), QIcon::Normal); stepIntoIcon.addPixmap(d->pixmap(QString::fromLatin1("d_stepinto.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->stepIntoAction = new QAction(stepIntoIcon, QObject::tr("Step Into"), parent); + that->d_func()->stepIntoAction = new QAction(stepIntoIcon, QScriptDebugger::tr("Step Into"), parent); d->stepIntoAction->setEnabled(d->interactive); - d->stepIntoAction->setShortcut(QObject::tr("F11")); + d->stepIntoAction->setShortcut(QScriptDebugger::tr("F11")); QObject::connect(d->stepIntoAction, SIGNAL(triggered()), that, SLOT(_q_stepInto())); } @@ -1725,9 +1725,9 @@ QAction *QScriptDebugger::stepOverAction(QObject *parent) const stepOverIcon.addPixmap(d->pixmap(QString::fromLatin1("stepover.png")), QIcon::Normal); stepOverIcon.addPixmap(d->pixmap(QString::fromLatin1("d_stepover.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->stepOverAction = new QAction(stepOverIcon, QObject::tr("Step Over"), parent); + that->d_func()->stepOverAction = new QAction(stepOverIcon, QScriptDebugger::tr("Step Over"), parent); d->stepOverAction->setEnabled(d->interactive); - d->stepOverAction->setShortcut(QObject::tr("F10")); + d->stepOverAction->setShortcut(QScriptDebugger::tr("F10")); QObject::connect(d->stepOverAction, SIGNAL(triggered()), that, SLOT(_q_stepOver())); } @@ -1742,9 +1742,9 @@ QAction *QScriptDebugger::stepOutAction(QObject *parent) const stepOutIcon.addPixmap(d->pixmap(QString::fromLatin1("stepout.png")), QIcon::Normal); stepOutIcon.addPixmap(d->pixmap(QString::fromLatin1("d_stepout.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->stepOutAction = new QAction(stepOutIcon, QObject::tr("Step Out"), parent); + that->d_func()->stepOutAction = new QAction(stepOutIcon, QScriptDebugger::tr("Step Out"), parent); d->stepOutAction->setEnabled(d->interactive); - d->stepOutAction->setShortcut(QObject::tr("Shift+F11")); + d->stepOutAction->setShortcut(QScriptDebugger::tr("Shift+F11")); QObject::connect(d->stepOutAction, SIGNAL(triggered()), that, SLOT(_q_stepOut())); } @@ -1759,9 +1759,9 @@ QAction *QScriptDebugger::runToCursorAction(QObject *parent) const runToCursorIcon.addPixmap(d->pixmap(QString::fromLatin1("runtocursor.png")), QIcon::Normal); runToCursorIcon.addPixmap(d->pixmap(QString::fromLatin1("d_runtocursor.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->runToCursorAction = new QAction(runToCursorIcon, QObject::tr("Run to Cursor"), parent); + that->d_func()->runToCursorAction = new QAction(runToCursorIcon, QScriptDebugger::tr("Run to Cursor"), parent); d->runToCursorAction->setEnabled(d->interactive); - d->runToCursorAction->setShortcut(QObject::tr("Ctrl+F10")); + d->runToCursorAction->setShortcut(QScriptDebugger::tr("Ctrl+F10")); QObject::connect(d->runToCursorAction, SIGNAL(triggered()), that, SLOT(_q_runToCursor())); } @@ -1777,7 +1777,7 @@ QAction *QScriptDebugger::runToNewScriptAction(QObject *parent) const runToNewScriptIcon.addPixmap(d->pixmap(QString::fromLatin1("d_breakonscriptload.png")), QIcon::Disabled); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); that->d_func()->runToNewScriptAction = new QAction(runToNewScriptIcon, - QObject::tr("Run to New Script"), parent); + QScriptDebugger::tr("Run to New Script"), parent); d->runToNewScriptAction->setEnabled(d->interactive); QObject::connect(d->runToNewScriptAction, SIGNAL(triggered()), that, SLOT(_q_runToNewScript())); @@ -1792,8 +1792,8 @@ QAction *QScriptDebugger::toggleBreakpointAction(QObject *parent) const QIcon toggleBreakpointIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); that->d_func()->toggleBreakpointAction = new QAction(toggleBreakpointIcon, - QObject::tr("Toggle Breakpoint"), parent); - d->toggleBreakpointAction->setShortcut(QObject::tr("F9")); + QScriptDebugger::tr("Toggle Breakpoint"), parent); + d->toggleBreakpointAction->setShortcut(QScriptDebugger::tr("F9")); d->toggleBreakpointAction->setEnabled((d->codeWidget != 0) && (d->codeWidget->currentView() != 0)); QObject::connect(d->toggleBreakpointAction, SIGNAL(triggered()), that, SLOT(_q_toggleBreakpoint())); @@ -1807,7 +1807,7 @@ QAction *QScriptDebugger::clearDebugOutputAction(QObject *parent) const if (!d->clearDebugOutputAction) { QIcon clearDebugOutputIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->clearDebugOutputAction = new QAction(clearDebugOutputIcon, QObject::tr("Clear Debug Output"), parent); + that->d_func()->clearDebugOutputAction = new QAction(clearDebugOutputIcon, QScriptDebugger::tr("Clear Debug Output"), parent); QObject::connect(d->clearDebugOutputAction, SIGNAL(triggered()), that, SLOT(_q_clearDebugOutput())); } @@ -1820,7 +1820,7 @@ QAction *QScriptDebugger::clearErrorLogAction(QObject *parent) const if (!d->clearErrorLogAction) { QIcon clearErrorLogIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->clearErrorLogAction = new QAction(clearErrorLogIcon, QObject::tr("Clear Error Log"), parent); + that->d_func()->clearErrorLogAction = new QAction(clearErrorLogIcon, QScriptDebugger::tr("Clear Error Log"), parent); QObject::connect(d->clearErrorLogAction, SIGNAL(triggered()), that, SLOT(_q_clearErrorLog())); } @@ -1833,7 +1833,7 @@ QAction *QScriptDebugger::clearConsoleAction(QObject *parent) const if (!d->clearConsoleAction) { QIcon clearConsoleIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->clearConsoleAction = new QAction(clearConsoleIcon, QObject::tr("Clear Console"), parent); + that->d_func()->clearConsoleAction = new QAction(clearConsoleIcon, QScriptDebugger::tr("Clear Console"), parent); QObject::connect(d->clearConsoleAction, SIGNAL(triggered()), that, SLOT(_q_clearConsole())); } @@ -1847,8 +1847,8 @@ QAction *QScriptDebugger::findInScriptAction(QObject *parent) const QIcon findInScriptIcon; findInScriptIcon.addPixmap(d->pixmap(QString::fromLatin1("find.png")), QIcon::Normal); QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->findInScriptAction = new QAction(findInScriptIcon, QObject::tr("&Find in Script..."), parent); - d->findInScriptAction->setShortcut(QObject::tr("Ctrl+F")); + that->d_func()->findInScriptAction = new QAction(findInScriptIcon, QScriptDebugger::tr("&Find in Script..."), parent); + d->findInScriptAction->setShortcut(QScriptDebugger::tr("Ctrl+F")); d->findInScriptAction->setEnabled( (d->codeFinderWidget != 0) && (d->codeWidget != 0) @@ -1865,9 +1865,9 @@ QAction *QScriptDebugger::findNextInScriptAction(QObject *parent) const if (!d->findNextInScriptAction) { QIcon findNextInScriptIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->findNextInScriptAction = new QAction(findNextInScriptIcon, QObject::tr("Find &Next"), parent); + that->d_func()->findNextInScriptAction = new QAction(findNextInScriptIcon, QScriptDebugger::tr("Find &Next"), parent); d->findNextInScriptAction->setEnabled(d->codeFinderWidget && !d->codeFinderWidget->text().isEmpty()); - d->findNextInScriptAction->setShortcut(QObject::tr("F3")); + d->findNextInScriptAction->setShortcut(QScriptDebugger::tr("F3")); QObject::connect(d->findNextInScriptAction, SIGNAL(triggered()), that, SLOT(_q_findNextInScript())); } @@ -1880,9 +1880,9 @@ QAction *QScriptDebugger::findPreviousInScriptAction(QObject *parent) const if (!d->findPreviousInScriptAction) { QIcon findPreviousInScriptIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->findPreviousInScriptAction = new QAction(findPreviousInScriptIcon, QObject::tr("Find &Previous"), parent); + that->d_func()->findPreviousInScriptAction = new QAction(findPreviousInScriptIcon, QScriptDebugger::tr("Find &Previous"), parent); d->findPreviousInScriptAction->setEnabled(d->codeFinderWidget && !d->codeFinderWidget->text().isEmpty()); - d->findPreviousInScriptAction->setShortcut(QObject::tr("Shift+F3")); + d->findPreviousInScriptAction->setShortcut(QScriptDebugger::tr("Shift+F3")); QObject::connect(d->findPreviousInScriptAction, SIGNAL(triggered()), that, SLOT(_q_findPreviousInScript())); } @@ -1895,8 +1895,8 @@ QAction *QScriptDebugger::goToLineAction(QObject *parent) const if (!d->goToLineAction) { QIcon goToLineIcon; QScriptDebugger *that = const_cast<QScriptDebugger*>(this); - that->d_func()->goToLineAction = new QAction(goToLineIcon, QObject::tr("Go to Line"), parent); - d->goToLineAction->setShortcut(QObject::tr("Ctrl+G")); + that->d_func()->goToLineAction = new QAction(goToLineIcon, QScriptDebugger::tr("Go to Line"), parent); + d->goToLineAction->setShortcut(QScriptDebugger::tr("Ctrl+G")); d->goToLineAction->setEnabled((d->codeWidget != 0) && (d->codeWidget->currentView() != 0)); QObject::connect(d->goToLineAction, SIGNAL(triggered()), that, SLOT(_q_goToLine())); @@ -1907,7 +1907,7 @@ QAction *QScriptDebugger::goToLineAction(QObject *parent) const QMenu *QScriptDebugger::createStandardMenu(QWidget *widgetParent, QObject *actionParent) { QMenu *menu = new QMenu(widgetParent); - menu->setTitle(QObject::tr("Debug")); + menu->setTitle(QScriptDebugger::tr("Debug")); menu->addAction(action(ContinueAction, actionParent)); menu->addAction(action(InterruptAction, actionParent)); menu->addAction(action(StepIntoAction, actionParent)); diff --git a/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp b/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp index 5ef5a0c..8ed0aaa 100644 --- a/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp +++ b/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp @@ -138,7 +138,7 @@ QScriptDebuggerCodeFinderWidget::QScriptDebuggerCodeFinderWidget(QWidget *parent d->toolClose = new QToolButton(this); d->toolClose->setIcon(QIcon(QString::fromUtf8(":/qt/scripttools/debugging/images/%1/closetab.png").arg(system))); d->toolClose->setAutoRaise(true); - d->toolClose->setText(QObject::tr("Close")); + d->toolClose->setText(tr("Close")); hboxLayout->addWidget(d->toolClose); d->editFind = new QLineEdit(this); diff --git a/src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp b/src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp index 15d43f4..9caefce 100644 --- a/src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp +++ b/src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp @@ -53,6 +53,7 @@ #include "private/qabstractitemmodel_p.h" #include <QtCore/qdebug.h> +#include <QtCore/qcoreapplication.h> #include <QtGui/qbrush.h> #include <QtGui/qfont.h> @@ -868,9 +869,9 @@ QVariant QScriptDebuggerLocalsModel::headerData(int section, Qt::Orientation ori if (orient == Qt::Horizontal) { if (role == Qt::DisplayRole) { if (section == 0) - return QObject::tr("Name"); + return QCoreApplication::translate("QScriptDebuggerLocalsModel", "Name"); else if (section == 1) - return QObject::tr("Value"); + return QCoreApplication::translate("QScriptDebuggerLocalsModel", "Value"); } } return QVariant(); diff --git a/src/scripttools/debugging/qscriptdebuggerstackmodel.cpp b/src/scripttools/debugging/qscriptdebuggerstackmodel.cpp index a63ea73..2d56e17 100644 --- a/src/scripttools/debugging/qscriptdebuggerstackmodel.cpp +++ b/src/scripttools/debugging/qscriptdebuggerstackmodel.cpp @@ -45,6 +45,7 @@ #include <QtScript/qscriptcontextinfo.h> #include <QtCore/qfileinfo.h> +#include <QtCore/qcoreapplication.h> QT_BEGIN_NAMESPACE @@ -157,11 +158,11 @@ QVariant QScriptDebuggerStackModel::headerData(int section, Qt::Orientation orie return QVariant(); if (role == Qt::DisplayRole) { if (section == 0) - return QObject::tr("Level"); + return QCoreApplication::translate("QScriptDebuggerStackModel", "Level"); else if (section == 1) - return QObject::tr("Name"); + return QCoreApplication::translate("QScriptDebuggerStackModel", "Name"); else if (section == 2) - return QObject::tr("Location"); + return QCoreApplication::translate("QScriptDebuggerStackModel", "Location"); } return QVariant(); } diff --git a/src/scripttools/debugging/qscriptedit.cpp b/src/scripttools/debugging/qscriptedit.cpp index 8db9cea..7f0a5e0 100644 --- a/src/scripttools/debugging/qscriptedit.cpp +++ b/src/scripttools/debugging/qscriptedit.cpp @@ -408,14 +408,14 @@ void QScriptEdit::extraAreaMouseEvent(QMouseEvent *e) return; bool has = m_breakpoints.contains(lineNumber); QMenu *popup = new QMenu(); - QAction *toggleAct = new QAction(QObject::tr("Toggle Breakpoint"), popup); + QAction *toggleAct = new QAction(tr("Toggle Breakpoint"), popup); popup->addAction(toggleAct); - QAction *disableAct = new QAction(QObject::tr("Disable Breakpoint"), popup); - QAction *enableAct = new QAction(QObject::tr("Enable Breakpoint"), popup); + QAction *disableAct = new QAction(tr("Disable Breakpoint"), popup); + QAction *enableAct = new QAction(tr("Enable Breakpoint"), popup); QWidget *conditionWidget = new QWidget(); { QHBoxLayout *hbox = new QHBoxLayout(conditionWidget); - hbox->addWidget(new QLabel(QObject::tr("Breakpoint Condition:"))); + hbox->addWidget(new QLabel(tr("Breakpoint Condition:"))); hbox->addWidget(new QLineEdit()); } // QWidgetAction *conditionAct = new QWidgetAction(popup); diff --git a/src/scripttools/debugging/qscriptenginedebugger.cpp b/src/scripttools/debugging/qscriptenginedebugger.cpp index 7456da0..915d511 100644 --- a/src/scripttools/debugging/qscriptenginedebugger.cpp +++ b/src/scripttools/debugging/qscriptenginedebugger.cpp @@ -520,43 +520,43 @@ QMainWindow *QScriptEngineDebugger::standardWindow() const QMainWindow *win = new QMainWindow(); QDockWidget *scriptsDock = new QDockWidget(win); scriptsDock->setObjectName(QLatin1String("qtscriptdebugger_scriptsDockWidget")); - scriptsDock->setWindowTitle(QObject::tr("Loaded Scripts")); + scriptsDock->setWindowTitle(tr("Loaded Scripts")); scriptsDock->setWidget(widget(ScriptsWidget)); win->addDockWidget(Qt::LeftDockWidgetArea, scriptsDock); QDockWidget *breakpointsDock = new QDockWidget(win); breakpointsDock->setObjectName(QLatin1String("qtscriptdebugger_breakpointsDockWidget")); - breakpointsDock->setWindowTitle(QObject::tr("Breakpoints")); + breakpointsDock->setWindowTitle(tr("Breakpoints")); breakpointsDock->setWidget(widget(BreakpointsWidget)); win->addDockWidget(Qt::LeftDockWidgetArea, breakpointsDock); QDockWidget *stackDock = new QDockWidget(win); stackDock->setObjectName(QLatin1String("qtscriptdebugger_stackDockWidget")); - stackDock->setWindowTitle(QObject::tr("Stack")); + stackDock->setWindowTitle(tr("Stack")); stackDock->setWidget(widget(StackWidget)); win->addDockWidget(Qt::RightDockWidgetArea, stackDock); QDockWidget *localsDock = new QDockWidget(win); localsDock->setObjectName(QLatin1String("qtscriptdebugger_localsDockWidget")); - localsDock->setWindowTitle(QObject::tr("Locals")); + localsDock->setWindowTitle(tr("Locals")); localsDock->setWidget(widget(LocalsWidget)); win->addDockWidget(Qt::RightDockWidgetArea, localsDock); QDockWidget *consoleDock = new QDockWidget(win); consoleDock->setObjectName(QLatin1String("qtscriptdebugger_consoleDockWidget")); - consoleDock->setWindowTitle(QObject::tr("Console")); + consoleDock->setWindowTitle(tr("Console")); consoleDock->setWidget(widget(ConsoleWidget)); win->addDockWidget(Qt::BottomDockWidgetArea, consoleDock); QDockWidget *debugOutputDock = new QDockWidget(win); debugOutputDock->setObjectName(QLatin1String("qtscriptdebugger_debugOutputDockWidget")); - debugOutputDock->setWindowTitle(QObject::tr("Debug Output")); + debugOutputDock->setWindowTitle(tr("Debug Output")); debugOutputDock->setWidget(widget(DebugOutputWidget)); win->addDockWidget(Qt::BottomDockWidgetArea, debugOutputDock); QDockWidget *errorLogDock = new QDockWidget(win); errorLogDock->setObjectName(QLatin1String("qtscriptdebugger_errorLogDockWidget")); - errorLogDock->setWindowTitle(QObject::tr("Error Log")); + errorLogDock->setWindowTitle(tr("Error Log")); errorLogDock->setWidget(widget(ErrorLogWidget)); win->addDockWidget(Qt::BottomDockWidgetArea, errorLogDock); @@ -568,14 +568,14 @@ QMainWindow *QScriptEngineDebugger::standardWindow() const #ifndef QT_NO_MENUBAR win->menuBar()->addMenu(that->createStandardMenu(win)); - QMenu *editMenu = win->menuBar()->addMenu(QObject::tr("Search")); + QMenu *editMenu = win->menuBar()->addMenu(tr("Search")); editMenu->addAction(action(FindInScriptAction)); editMenu->addAction(action(FindNextInScriptAction)); editMenu->addAction(action(FindPreviousInScriptAction)); editMenu->addSeparator(); editMenu->addAction(action(GoToLineAction)); - QMenu *viewMenu = win->menuBar()->addMenu(QObject::tr("View")); + QMenu *viewMenu = win->menuBar()->addMenu(tr("View")); viewMenu->addAction(scriptsDock->toggleViewAction()); viewMenu->addAction(breakpointsDock->toggleViewAction()); viewMenu->addAction(stackDock->toggleViewAction()); @@ -593,7 +593,7 @@ QMainWindow *QScriptEngineDebugger::standardWindow() const widget(CodeFinderWidget)->hide(); win->setCentralWidget(central); - win->setWindowTitle(QObject::tr("Qt Script Debugger")); + win->setWindowTitle(tr("Qt Script Debugger")); win->setUnifiedTitleAndToolBarOnMac(true); QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index 7cf5e8b..ff9458b 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -127,7 +127,7 @@ class QODBCPrivate { public: QODBCPrivate(QODBCDriverPrivate *dpp) - : hStmt(0), useSchema(false), hasSQLFetchScroll(true), driverPrivate(dpp) + : hStmt(0), useSchema(false), hasSQLFetchScroll(true), driverPrivate(dpp), userForwardOnly(false) { unicode = false; } @@ -148,6 +148,7 @@ public: int disconnectCount; bool hasSQLFetchScroll; QODBCDriverPrivate *driverPrivate; + bool userForwardOnly; bool isStmtHandleValid(const QSqlDriver *driver); void updateStmtHandleState(const QSqlDriver *driver); @@ -848,7 +849,7 @@ bool QODBCResult::reset (const QString& query) d->updateStmtHandleState(driver()); - if (isForwardOnly()) { + if (d->userForwardOnly) { r = SQLSetStmtAttr(d->hStmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER)SQL_CURSOR_FORWARD_ONLY, @@ -885,7 +886,7 @@ bool QODBCResult::reset (const QString& query) SQLINTEGER isScrollable, bufferLength; r = SQLGetStmtAttr(d->hStmt, SQL_ATTR_CURSOR_SCROLLABLE, &isScrollable, SQL_IS_INTEGER, &bufferLength); if(r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) - setForwardOnly(isScrollable==SQL_NONSCROLLABLE); + QSqlResult::setForwardOnly(isScrollable==SQL_NONSCROLLABLE); SQLSMALLINT count; SQLNumResultCols(d->hStmt, &count); @@ -1194,7 +1195,7 @@ bool QODBCResult::prepare(const QString& query) d->updateStmtHandleState(driver()); - if (isForwardOnly()) { + if (d->userForwardOnly) { r = SQLSetStmtAttr(d->hStmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER)SQL_CURSOR_FORWARD_ONLY, @@ -1508,7 +1509,7 @@ bool QODBCResult::exec() SQLINTEGER isScrollable, bufferLength; r = SQLGetStmtAttr(d->hStmt, SQL_ATTR_CURSOR_SCROLLABLE, &isScrollable, SQL_IS_INTEGER, &bufferLength); if(r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) - setForwardOnly(isScrollable==SQL_NONSCROLLABLE); + QSqlResult::setForwardOnly(isScrollable==SQL_NONSCROLLABLE); SQLSMALLINT count; SQLNumResultCols(d->hStmt, &count); @@ -1639,6 +1640,12 @@ void QODBCResult::virtual_hook(int id, void *data) } } +void QODBCResult::setForwardOnly(bool forward) +{ + d->userForwardOnly = forward; + QSqlResult::setForwardOnly(forward); +} + //////////////////////////////////////// diff --git a/src/sql/drivers/odbc/qsql_odbc.h b/src/sql/drivers/odbc/qsql_odbc.h index d8a3b69..8bd7660 100644 --- a/src/sql/drivers/odbc/qsql_odbc.h +++ b/src/sql/drivers/odbc/qsql_odbc.h @@ -100,6 +100,7 @@ public: bool exec(); QVariant handle() const; + virtual void setForwardOnly(bool forward); protected: bool fetchNext(); diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index 46508a0..2508833 100644 --- a/src/sql/drivers/tds/qsql_tds.cpp +++ b/src/sql/drivers/tds/qsql_tds.cpp @@ -754,7 +754,9 @@ QString QTDSDriver::formatValue(const QSqlField &field, r = QLatin1String("NULL"); else if (field.type() == QVariant::DateTime) { if (field.value().toDateTime().isValid()){ - r = field.value().toDateTime().toString(QLatin1String("'yyyyMMdd hh:mm:ss'")); + r = field.value().toDateTime().toString(QLatin1String("yyyyMMdd hh:mm:ss")); + r.prepend(QLatin1String("'")); + r.append(QLatin1String("'")); } else r = QLatin1String("NULL"); } else if (field.type() == QVariant::ByteArray) { @@ -805,4 +807,15 @@ QSqlIndex QTDSDriver::primaryIndex(const QString& tablename) const return idx; } +QString QTDSDriver::escapeIdentifier(const QString &identifier, IdentifierType type) const +{ + QString res = identifier; + if(!identifier.isEmpty() && !identifier.startsWith(QLatin1Char('"')) && !identifier.endsWith(QLatin1Char('"')) ) { + res.replace(QLatin1Char('"'), QLatin1String("\"\"")); + res.prepend(QLatin1Char('"')).append(QLatin1Char('"')); + res.replace(QLatin1Char('.'), QLatin1String("\".\"")); + } + return res; +} + QT_END_NAMESPACE diff --git a/src/sql/drivers/tds/qsql_tds.h b/src/sql/drivers/tds/qsql_tds.h index 6001106..0ceae6d 100644 --- a/src/sql/drivers/tds/qsql_tds.h +++ b/src/sql/drivers/tds/qsql_tds.h @@ -116,6 +116,8 @@ public: bool trimStrings) const; QVariant handle() const; + QString escapeIdentifier(const QString &identifier, IdentifierType type) const; + protected: bool beginTransaction(); bool commitTransaction(); diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index a6e4855..6d2a0f9 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -3551,6 +3551,8 @@ void QSvgHandler::parse() case QXmlStreamReader::ProcessingInstruction: processingInstruction(xml->processingInstructionTarget().toString(), xml->processingInstructionData().toString()); break; + default: + break; } } resolveGradients(m_doc); diff --git a/src/testlib/qtestcoreelement.h b/src/testlib/qtestcoreelement.h index e9691d5..b5e5d0f 100644 --- a/src/testlib/qtestcoreelement.h +++ b/src/testlib/qtestcoreelement.h @@ -93,9 +93,9 @@ void QTestCoreElement<ElementType>::addAttribute(const QTest::AttributeIndex att if (attribute(attributeIndex)) return; - QTestElementAttribute *attribute = new QTestElementAttribute; - attribute->setPair(attributeIndex, value); - attribute->addToList(&listOfAttributes); + QTestElementAttribute *testAttribute = new QTestElementAttribute; + testAttribute->setPair(attributeIndex, value); + testAttribute->addToList(&listOfAttributes); } template <class ElementType> diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h index a9a2193..8caec76 100644 --- a/src/testlib/qtestsystem.h +++ b/src/testlib/qtestsystem.h @@ -75,6 +75,7 @@ namespace QTest { #if defined(Q_WS_X11) qt_x11_wait_for_window_manager(window); + QCoreApplication::processEvents(); #elif defined(Q_WS_QWS) Q_UNUSED(window); qWait(100); diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp index 3ae91d3..b06fbeb 100644 --- a/src/xml/dom/qdom.cpp +++ b/src/xml/dom/qdom.cpp @@ -6438,22 +6438,23 @@ void QDomDocumentPrivate::saveDocument(QTextStream& s, const int indent, QDomNod #ifndef QT_NO_TEXTCODEC const QDomNodePrivate* n = first; + QTextCodec *codec = 0; + if (n && n->isProcessingInstruction() && n->nodeName() == QLatin1String("xml")) { // we have an XML declaration QString data = n->nodeValue(); QRegExp encoding(QString::fromLatin1("encoding\\s*=\\s*((\"([^\"]*)\")|('([^']*)'))")); encoding.indexIn(data); QString enc = encoding.cap(3); - if (enc.isEmpty()) { - enc = encoding.cap(5); - } if (enc.isEmpty()) - s.setCodec(QTextCodec::codecForName("UTF-8")); - else - s.setCodec(QTextCodec::codecForName(enc.toLatin1().data())); - } else { - s.setCodec(QTextCodec::codecForName("UTF-8")); + enc = encoding.cap(5); + if (!enc.isEmpty()) + codec = QTextCodec::codecForName(enc.toLatin1().data()); } + if (!codec) + codec = QTextCodec::codecForName("UTF-8"); + if (codec) + s.setCodec(codec); #endif bool doc = false; diff --git a/src/xmlpatterns/functions/qsequencefns_p.h b/src/xmlpatterns/functions/qsequencefns_p.h index a9a1765..e406b95 100644 --- a/src/xmlpatterns/functions/qsequencefns_p.h +++ b/src/xmlpatterns/functions/qsequencefns_p.h @@ -148,8 +148,8 @@ namespace QPatternist { // RVCT doesn't like using template parameter in trinary operator when the trinary operator result is // passed directly into another constructor. - bool tempAssert = (Id == IDExistsFN || Id == IDEmptyFN); - Q_ASSERT(tempAssert); + Q_ASSERT(Id == IDExistsFN || Id == IDEmptyFN); + const Expression::Ptr me(FunctionCall::compress(context)); diff --git a/src/xmlpatterns/schema/qxsdparticlechecker.cpp b/src/xmlpatterns/schema/qxsdparticlechecker.cpp index 64e995e..3fdfb33 100644 --- a/src/xmlpatterns/schema/qxsdparticlechecker.cpp +++ b/src/xmlpatterns/schema/qxsdparticlechecker.cpp @@ -162,7 +162,7 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d // check that an empty particle can not be derived from a non-empty particle if (derivedParticle && baseParticle) { if (XsdSchemaHelper::isParticleEmptiable(derivedParticle) && !XsdSchemaHelper::isParticleEmptiable(baseParticle)) { - errorMsg = QtXmlPatterns::tr("empty particle cannot be derived from non-empty particle"); + errorMsg = QtXmlPatterns::tr("Empty particle cannot be derived from non-empty particle."); return false; } } @@ -177,33 +177,33 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d // check names are equal if (element->name(namePool) != derivedElement->name(namePool)) { - errorMsg = QtXmlPatterns::tr("derived particle is missing element %1").arg(formatKeyword(element->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived particle is missing element %1.").arg(formatKeyword(element->displayName(namePool))); return false; } // check value constraints are equal (if available) if (element->valueConstraint() && element->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) { if (!derivedElement->valueConstraint()) { - errorMsg = QtXmlPatterns::tr("derived element %1 is missing value constraint as defined in base particle").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived element %1 is missing value constraint as defined in base particle.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } if (derivedElement->valueConstraint()->variety() != XsdElement::ValueConstraint::Fixed) { - errorMsg = QtXmlPatterns::tr("derived element %1 has weaker value constraint than base particle").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived element %1 has weaker value constraint than base particle.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } const QSourceLocation dummyLocation(QUrl(QLatin1String("http://dummy.org")), 1, 1); const XsdTypeChecker checker(context, QVector<QXmlName>(), dummyLocation); if (!checker.valuesAreEqual(element->valueConstraint()->value(), derivedElement->valueConstraint()->value(), derivedElement->type())) { - errorMsg = QtXmlPatterns::tr("fixed value constraint of element %1 differs from value constraint in base particle").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Fixed value constraint of element %1 differs from value constraint in base particle.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } } // check that a derived element can not be nillable if the base element is not nillable if (!element->isNillable() && derivedElement->isNillable()) { - errorMsg = QtXmlPatterns::tr("derived element %1 cannot be nillable as base element is not nillable").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived element %1 cannot be nillable as base element is not nillable.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } @@ -213,7 +213,7 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d if (((baseConstraints & XsdElement::RestrictionConstraint) && !(derivedConstraints & XsdElement::RestrictionConstraint)) || ((baseConstraints & XsdElement::ExtensionConstraint) && !(derivedConstraints & XsdElement::ExtensionConstraint)) || ((baseConstraints & XsdElement::SubstitutionConstraint) && !(derivedConstraints & XsdElement::SubstitutionConstraint))) { - errorMsg = QtXmlPatterns::tr("block constraints of derived element %1 must not be more weaker than in the base element").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Block constraints of derived element %1 must not be more weaker than in the base element.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } @@ -224,12 +224,12 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d // check that the type of the derived element can validly derived from the type of the base element if (derivedElement->type()->isSimpleType()) { if (!XsdSchemaHelper::isSimpleDerivationOk(derivedElement->type(), element->type(), SchemaType::DerivationConstraints())) { - errorMsg = QtXmlPatterns::tr("simple type of derived element %1 cannot be validly derived from base element").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Simple type of derived element %1 cannot be validly derived from base element.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } } else if (derivedElement->type()->isComplexType()) { if (!XsdSchemaHelper::isComplexDerivationOk(derivedElement->type(), element->type(), SchemaType::DerivationConstraints())) { - errorMsg = QtXmlPatterns::tr("complex type of derived element %1 cannot be validly derived from base element").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Complex type of derived element %1 cannot be validly derived from base element.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } } @@ -253,7 +253,7 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d return true; } else if (derivedTerm->isWildcard()) { // derive a wildcard from an element is not allowed - errorMsg = QtXmlPatterns::tr("element %1 is missing in derived particle").arg(formatKeyword(element->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Element %1 is missing in derived particle.").arg(formatKeyword(element->displayName(namePool))); return false; } } else if (baseTerm->isWildcard()) { @@ -271,7 +271,7 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d // check that name of the element is allowed by the wildcards namespace constraint if (!XsdSchemaHelper::wildcardAllowsExpandedName(name, wildcard, namePool)) { - errorMsg = QtXmlPatterns::tr("element %1 does not match namespace constraint of wildcard in base particle").arg(formatKeyword(derivedElement->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Element %1 does not match namespace constraint of wildcard in base particle.").arg(formatKeyword(derivedElement->displayName(namePool))); return false; } @@ -282,12 +282,12 @@ static bool derivedTermValid(const XsdTerm::Ptr &baseTerm, const XsdTerm::Ptr &d // check that the derived wildcard is a valid subset of the base wildcard if (!XsdSchemaHelper::isWildcardSubset(derivedWildcard, wildcard)) { - errorMsg = QtXmlPatterns::tr("wildcard in derived particle is not a valid subset of wildcard in base particle"); + errorMsg = QtXmlPatterns::tr("Wildcard in derived particle is not a valid subset of wildcard in base particle."); return false; } if (!XsdSchemaHelper::checkWildcardProcessContents(wildcard, derivedWildcard)) { - errorMsg = QtXmlPatterns::tr("processContent of wildcard in derived particle is weaker than wildcard in base particle"); + errorMsg = QtXmlPatterns::tr("processContent of wildcard in derived particle is weaker than wildcard in base particle."); return false; } } @@ -527,7 +527,7 @@ bool XsdParticleChecker::subsumes(const XsdParticle::Ptr &particle, const XsdPar if (processedSet.at(i).second == it.key() && (baseStates.value(processedSet.at(i).first) != XsdStateMachine<XsdTerm::Ptr>::EndState && baseStates.value(processedSet.at(i).first) != XsdStateMachine<XsdTerm::Ptr>::StartEndState)) { - errorMsg = QtXmlPatterns::tr("derived particle allows content that is not allowed in the base particle"); + errorMsg = QtXmlPatterns::tr("Derived particle allows content that is not allowed in the base particle."); return false; } } diff --git a/src/xmlpatterns/schema/qxsdschemachecker.cpp b/src/xmlpatterns/schema/qxsdschemachecker.cpp index fc62ebb..dde72f5 100644 --- a/src/xmlpatterns/schema/qxsdschemachecker.cpp +++ b/src/xmlpatterns/schema/qxsdschemachecker.cpp @@ -224,12 +224,12 @@ void XsdSchemaChecker::checkBasicCircularInheritances() if (wxsTypeMatches(type, type->wxsSuperType(), visitedTypes, conflictingType)) { if (conflictingType) - m_context->error(QtXmlPatterns::tr("%1 has inheritance loop in its base type %2") + m_context->error(QtXmlPatterns::tr("%1 has inheritance loop in its base type %2.") .arg(formatType(m_namePool, type)) .arg(formatType(m_namePool, conflictingType)), XsdSchemaContext::XSDError, location); else - m_context->error(QtXmlPatterns::tr("circular inheritance of base type %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Circular inheritance of base type %1.").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); return; } @@ -253,7 +253,7 @@ void XsdSchemaChecker::checkCircularInheritances() // check normal base type inheritance QSet<SchemaType::Ptr> visitedTypes; if (matchesType(type, type->wxsSuperType(), visitedTypes)) { - m_context->error(QtXmlPatterns::tr("circular inheritance of base type %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Circular inheritance of base type %1.").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); return; } @@ -264,7 +264,7 @@ void XsdSchemaChecker::checkCircularInheritances() const XsdSimpleType::List memberTypes = simpleType->memberTypes(); for (int j = 0; j < memberTypes.count(); ++j) { if (hasCircularUnionInheritance(simpleType, memberTypes.at(j), m_namePool)) { - m_context->error(QtXmlPatterns::tr("circular inheritance of union %1").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Circular inheritance of union %1.").arg(formatType(m_namePool, type)), XsdSchemaContext::XSDError, location); return; } } @@ -289,12 +289,12 @@ void XsdSchemaChecker::checkInheritanceRestrictions() const SchemaType::Ptr baseType = type->wxsSuperType(); if (baseType->isDefinedBySchema()) { if ((type->derivationMethod() == SchemaType::DerivationRestriction) && (baseType->derivationConstraints() & SchemaType::RestrictionConstraint)) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by restriction as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by restriction as the latter defines it as final.") .arg(formatType(m_namePool, type)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); return; } else if ((type->derivationMethod() == SchemaType::DerivationExtension) && (baseType->derivationConstraints() & SchemaType::ExtensionConstraint)) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by extension as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by extension as the latter defines it as final.") .arg(formatType(m_namePool, type)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); return; @@ -325,7 +325,7 @@ void XsdSchemaChecker::checkBasicSimpleTypeConstraints() const SchemaType::Ptr baseType = simpleType->wxsSuperType(); if (baseType->isComplexType() && (simpleType->name(m_namePool) != BuiltinTypes::xsAnySimpleType->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("base type of simple type %1 cannot be complex type %2") + m_context->error(QtXmlPatterns::tr("Base type of simple type %1 cannot be complex type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); @@ -334,7 +334,7 @@ void XsdSchemaChecker::checkBasicSimpleTypeConstraints() if (baseType == BuiltinTypes::xsAnyType) { if (type->name(m_namePool) != BuiltinTypes::xsAnySimpleType->name(m_namePool)) { - m_context->error(QtXmlPatterns::tr("simple type %1 cannot have direct base type %2") + m_context->error(QtXmlPatterns::tr("Simple type %1 cannot have direct base type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, BuiltinTypes::xsAnyType)), XsdSchemaContext::XSDError, location); @@ -367,7 +367,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // check that no user defined type has xs:AnySimpleType as base type (except xs:AnyAtomicType) if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnySimpleType->name(m_namePool)) { if (simpleType->name(m_namePool) != BuiltinTypes::xsAnyAtomicType->name(m_namePool)) { - m_context->error(QtXmlPatterns::tr("simple type %1 is not allowed to have base type %2") + m_context->error(QtXmlPatterns::tr("Simple type %1 is not allowed to have base type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, simpleType->wxsSuperType())), XsdSchemaContext::XSDError, location); @@ -376,7 +376,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } // check that no user defined type has xs:AnyAtomicType as base type if (simpleType->wxsSuperType()->name(m_namePool) == BuiltinTypes::xsAnyAtomicType->name(m_namePool)) { - m_context->error(QtXmlPatterns::tr("simple type %1 is not allowed to have base type %2") + m_context->error(QtXmlPatterns::tr("Simple type %1 is not allowed to have base type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, simpleType->wxsSuperType())), XsdSchemaContext::XSDError, location); @@ -388,13 +388,13 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() if (simpleType->category() == XsdSimpleType::SimpleTypeAtomic) { // 1.1 if ((simpleType->wxsSuperType()->category() != XsdSimpleType::SimpleTypeAtomic) && (simpleType->name(m_namePool) != BuiltinTypes::xsAnyAtomicType->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("simple type %1 can only have simple atomic type as base type") + m_context->error(QtXmlPatterns::tr("Simple type %1 can only have simple atomic type as base type.") .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); } // 1.2 if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::RestrictionConstraint) { - m_context->error(QtXmlPatterns::tr("simple type %1 cannot derive from %2 as the latter defines restriction as final") + m_context->error(QtXmlPatterns::tr("Simple type %1 cannot derive from %2 as the latter defines restriction as final.") .arg(formatType(m_namePool, simpleType->wxsSuperType())) .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); @@ -407,7 +407,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 2.1 or @see http://www.w3.org/TR/xmlschema-2/#cos-list-of-atomic if (itemType->category() != SchemaType::SimpleTypeAtomic && itemType->category() != SchemaType::SimpleTypeUnion) { - m_context->error(QtXmlPatterns::tr("variety of item type of %1 must be either atomic or union").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Variety of item type of %1 must be either atomic or union.").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; } @@ -417,7 +417,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() const AnySimpleType::List memberTypes = simpleItemType->memberTypes(); for (int j = 0; j < memberTypes.count(); ++j) { if (memberTypes.at(j)->category() != SchemaType::SimpleTypeAtomic) { - m_context->error(QtXmlPatterns::tr("variety of member types of %1 must be atomic").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Variety of member types of %1 must be atomic.").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); return; } } @@ -430,7 +430,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 2.2.1.1 if (simpleItemType->derivationConstraints() & XsdSimpleType::ListConstraint) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); return; @@ -450,7 +450,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } if (invalidFacetFound) { - m_context->error(QtXmlPatterns::tr("simple type %1 is only allowed to have %2 facet") + m_context->error(QtXmlPatterns::tr("Simple type %1 is only allowed to have %2 facet.") .arg(formatType(m_namePool, simpleType)) .arg(formatKeyword("whiteSpace")), XsdSchemaContext::XSDError, location); @@ -460,19 +460,19 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } else { // 2.2.2 // 2.2.2.1 if (simpleType->wxsSuperType()->category() != XsdSimpleType::SimpleTypeList) { - m_context->error(QtXmlPatterns::tr("base type of simple type %1 must have variety of type list").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Base type of simple type %1 must have variety of type list.").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; } // 2.2.2.2 if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::RestrictionConstraint) { - m_context->error(QtXmlPatterns::tr("base type of simple type %1 has defined derivation by restriction as final").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Base type of simple type %1 has defined derivation by restriction as final.").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; } // 2.2.2.3 if (!XsdSchemaHelper::isSimpleDerivationOk(itemType, XsdSimpleType::Ptr(simpleType->wxsSuperType())->itemType(), SchemaType::DerivationConstraints())) { - m_context->error(QtXmlPatterns::tr("item type of base type does not match item type of %1").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Item type of base type does not match item type of %1.").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; } @@ -498,7 +498,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } if (invalidFacetFound) { - m_context->error(QtXmlPatterns::tr("simple type %1 contains not allowed facet type %2") + m_context->error(QtXmlPatterns::tr("Simple type %1 contains not allowed facet type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatKeyword(XsdFacet::typeName(invalidFacetType))), XsdSchemaContext::XSDError, location); @@ -519,7 +519,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() const AnySimpleType::Ptr memberType = memberTypes.at(i); if (memberType->derivationConstraints() & XsdSimpleType::UnionConstraint) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, memberType)), XsdSchemaContext::XSDError, location); return; @@ -528,7 +528,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 3.3.1.2 if (!simpleType->facets().isEmpty()) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to have any facets") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to have any facets.") .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; @@ -536,7 +536,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } else { // 3.1.2.1 if (simpleType->wxsSuperType()->category() != SchemaType::SimpleTypeUnion) { - m_context->error(QtXmlPatterns::tr("base type %1 of simple type %2 must have variety of union") + m_context->error(QtXmlPatterns::tr("Base type %1 of simple type %2 must have variety of union.") .arg(formatType(m_namePool, simpleType->wxsSuperType())) .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); @@ -545,7 +545,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() // 3.1.2.2 if (simpleType->wxsSuperType()->derivationConstraints() & SchemaType::DerivationRestriction) { - m_context->error(QtXmlPatterns::tr("base type %1 of simple type %2 is not allowed to have restriction in %3 attribute") + m_context->error(QtXmlPatterns::tr("Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.") .arg(formatType(m_namePool, simpleType->wxsSuperType())) .arg(formatType(m_namePool, simpleType)) .arg(formatAttribute("final")), @@ -563,7 +563,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() const AnySimpleType::Ptr baseMemberType = baseMemberTypes.at(i); if (!XsdSchemaHelper::isSimpleDerivationOk(memberType, baseMemberType, SchemaType::DerivationConstraints())) { - m_context->error(QtXmlPatterns::tr("member type %1 cannot be derived from member type %2 of %3's base type %4") + m_context->error(QtXmlPatterns::tr("Member type %1 cannot be derived from member type %2 of %3's base type %4.") .arg(formatType(m_namePool, memberType)) .arg(formatType(m_namePool, baseMemberType)) .arg(formatType(m_namePool, simpleType)) @@ -591,7 +591,7 @@ void XsdSchemaChecker::checkSimpleTypeConstraints() } if (invalidFacetFound) { - m_context->error(QtXmlPatterns::tr("simple type %1 contains not allowed facet type %2") + m_context->error(QtXmlPatterns::tr("Simple type %1 contains not allowed facet type %2.") .arg(formatType(m_namePool, simpleType)) .arg(formatKeyword(XsdFacet::typeName(invalidFacetType))), XsdSchemaContext::XSDError, location); @@ -628,7 +628,7 @@ void XsdSchemaChecker::checkBasicComplexTypeConstraints() // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 2) if (baseType->isSimpleType() && (complexType->derivationMethod() != XsdComplexType::DerivationExtension)) { - m_context->error(QtXmlPatterns::tr("derivation method of %1 must be extension because the base type %2 is a simple type") + m_context->error(QtXmlPatterns::tr("Derivation method of %1 must be extension because the base type %2 is a simple type.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); @@ -658,7 +658,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() if (complexType->contentType()->particle()) { XsdElement::Ptr duplicatedElement; if (XsdParticleChecker::hasDuplicatedElements(complexType->contentType()->particle(), m_namePool, duplicatedElement)) { - m_context->error(QtXmlPatterns::tr("complex type %1 has duplicated element %2 in its content model") + m_context->error(QtXmlPatterns::tr("Complex type %1 has duplicated element %2 in its content model.") .arg(formatType(m_namePool, complexType)) .arg(formatKeyword(duplicatedElement->displayName(m_namePool))), XsdSchemaContext::XSDError, location); @@ -666,7 +666,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() } if (!XsdParticleChecker::isUPAConform(complexType->contentType()->particle(), m_namePool)) { - m_context->error(QtXmlPatterns::tr("complex type %1 has non-deterministic content") + m_context->error(QtXmlPatterns::tr("Complex type %1 has non-deterministic content.") .arg(formatType(m_namePool, complexType)), XsdSchemaContext::XSDError, location); return; @@ -687,7 +687,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() QString errorMsg; if (!XsdSchemaHelper::isValidAttributeUsesExtension(complexType->attributeUses(), complexBaseType->attributeUses(), complexType->attributeWildcard(), complexBaseType->attributeWildcard(), m_context, errorMsg)) { - m_context->error(QtXmlPatterns::tr("attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3") + m_context->error(QtXmlPatterns::tr("Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)) .arg(errorMsg), @@ -724,7 +724,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() // 1.5 WTF?!? if (!validContentType) { - m_context->error(QtXmlPatterns::tr("content model of complex type %1 is not a valid extension of content model of %2") + m_context->error(QtXmlPatterns::tr("Content model of complex type %1 is not a valid extension of content model of %2.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, complexBaseType)), XsdSchemaContext::XSDError, location); @@ -734,14 +734,14 @@ void XsdSchemaChecker::checkComplexTypeConstraints() } else if (baseType->isSimpleType()) { // 2.1 if (complexType->contentType()->variety() != XsdComplexType::ContentType::Simple) { - m_context->error(QtXmlPatterns::tr("complex type %1 must have simple content") + m_context->error(QtXmlPatterns::tr("Complex type %1 must have simple content.") .arg(formatType(m_namePool, complexType)), XsdSchemaContext::XSDError, location); return; } if (complexType->contentType()->simpleType() != baseType) { - m_context->error(QtXmlPatterns::tr("complex type %1 must have the same simple type as its base class %2") + m_context->error(QtXmlPatterns::tr("Complex type %1 must have the same simple type as its base class %2.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); @@ -808,7 +808,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() } if (!derivationOk) { - m_context->error(QtXmlPatterns::tr("complex type %1 cannot be derived from base type %2%3") + m_context->error(QtXmlPatterns::tr("Complex type %1 cannot be derived from base type %2%3.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)) .arg(errorMsg.isEmpty() ? QString() : QLatin1String(": ") + errorMsg), @@ -822,7 +822,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() QString errorMsg; if (!XsdSchemaHelper::isValidAttributeUsesRestriction(complexType->attributeUses(), complexBaseType->attributeUses(), complexType->attributeWildcard(), complexBaseType->attributeWildcard(), m_context, errorMsg)) { - m_context->error(QtXmlPatterns::tr("attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3") + m_context->error(QtXmlPatterns::tr("Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)) .arg(errorMsg), @@ -836,7 +836,7 @@ void XsdSchemaChecker::checkComplexTypeConstraints() // built in complex type xs:AnyType if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) { if (baseType->name(m_namePool) == BuiltinTypes::xsAnyType->name(m_namePool)) { - m_context->error(QtXmlPatterns::tr("complex type %1 with simple content cannot be derived from complex base type %2") + m_context->error(QtXmlPatterns::tr("Complex type %1 with simple content cannot be derived from complex base type %2.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)), XsdSchemaContext::XSDError, location); @@ -871,7 +871,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() const AnySimpleType::Ptr itemType = simpleType->itemType(); if (itemType->isComplexType()) { - m_context->error(QtXmlPatterns::tr("item type of simple type %1 cannot be a complex type") + m_context->error(QtXmlPatterns::tr("Item type of simple type %1 cannot be a complex type.") .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; @@ -881,7 +881,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() if (itemType->isSimpleType() && itemType->isDefinedBySchema()) { const XsdSimpleType::Ptr simpleItemType = itemType; if (simpleItemType->derivationConstraints() & XsdSimpleType::ListConstraint) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by list as the latter defines it as final.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); @@ -891,7 +891,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() // @see http://www.w3.org/TR/xmlschema-2/#cos-list-of-atomic if (itemType->category() != SchemaType::SimpleTypeAtomic && itemType->category() != SchemaType::SimpleTypeUnion) { - m_context->error(QtXmlPatterns::tr("variety of item type of %1 must be either atomic or union").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Variety of item type of %1 must be either atomic or union.").arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; } @@ -900,7 +900,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() const AnySimpleType::List memberTypes = simpleItemType->memberTypes(); for (int j = 0; j < memberTypes.count(); ++j) { if (memberTypes.at(j)->category() != SchemaType::SimpleTypeAtomic) { - m_context->error(QtXmlPatterns::tr("variety of member types of %1 must be atomic").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); + m_context->error(QtXmlPatterns::tr("Variety of member types of %1 must be atomic.").arg(formatType(m_namePool, simpleItemType)), XsdSchemaContext::XSDError, location); return; } } @@ -915,7 +915,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() const AnySimpleType::Ptr memberType = memberTypes.at(i); if (memberType->isComplexType()) { - m_context->error(QtXmlPatterns::tr("member type of simple type %1 cannot be a complex type") + m_context->error(QtXmlPatterns::tr("Member type of simple type %1 cannot be a complex type.") .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; @@ -923,7 +923,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() // @see http://www.w3.org/TR/xmlschema-2/#cos-no-circular-unions if (simpleType->name(m_namePool) == memberType->name(m_namePool)) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to have a member type with the same name as itself") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to have a member type with the same name as itself.") .arg(formatType(m_namePool, simpleType)), XsdSchemaContext::XSDError, location); return; @@ -932,7 +932,7 @@ void XsdSchemaChecker::checkSimpleDerivationRestrictions() if (memberType->isSimpleType() && memberType->isDefinedBySchema()) { const XsdSimpleType::Ptr simpleMemberType = memberType; if (simpleMemberType->derivationConstraints() & XsdSimpleType::UnionConstraint) { - m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final") + m_context->error(QtXmlPatterns::tr("%1 is not allowed to derive from %2 by union as the latter defines it as final.") .arg(formatType(m_namePool, simpleType)) .arg(formatType(m_namePool, simpleMemberType)), XsdSchemaContext::XSDError, location); @@ -1006,7 +1006,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con } if ((minLengthValue->toInteger() > lengthValue->toInteger()) || !foundSuperMinimumLength) { - m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet.") .arg(formatKeyword("length")) .arg(formatKeyword("minLength")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1035,7 +1035,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con } if ((maxLengthValue->toInteger() < lengthValue->toInteger()) || !foundSuperMaximumLength) { - m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet.") .arg(formatKeyword("length")) .arg(formatKeyword("maxLength")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1049,7 +1049,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con if (baseFacets.contains(XsdFacet::Length)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacets.value(XsdFacet::Length)->value(); if (lengthValue->toInteger() != baseValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must have the same value as %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must have the same value as %2 facet of base type.") .arg(formatKeyword("length")) .arg(formatKeyword("length")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1069,7 +1069,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con // @see http://www.w3.org/TR/xmlschema-2/#minLength-less-than-equal-to-maxLength if (maxLengthValue->toInteger() < minLengthValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet collides with %2 facet.") .arg(formatKeyword("minLength")) .arg(formatKeyword("maxLength")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1086,7 +1086,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con if (baseFacets.contains(XsdFacet::MinimumLength)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacets.value(XsdFacet::MinimumLength)->value(); if (minLengthValue->toInteger() < baseValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must be equal or greater than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be equal or greater than %2 facet of base type.") .arg(formatKeyword("minLength")) .arg(formatKeyword("minLength")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1105,7 +1105,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con if (baseFacets.contains(XsdFacet::MaximumLength)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue(baseFacets.value(XsdFacet::MaximumLength)->value()); if (maxLengthValue->toInteger() > baseValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("maxLength")) .arg(formatKeyword("maxLength")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1126,7 +1126,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const DerivedString<TypeString>::Ptr value = multiValue.at(i); const QRegExp exp = PatternPlatform::parsePattern(value->stringValue(), m_context, &reflection); if (!exp.isValid()) { - m_context->error(QtXmlPatterns::tr("%1 facet contains invalid regular expression").arg(formatKeyword("pattern")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); + m_context->error(QtXmlPatterns::tr("%1 facet contains invalid regular expression").arg(formatKeyword("pattern.")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); return; } } @@ -1141,7 +1141,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con for (int k = 0; k < notationNames.count(); ++k) { const QNameValue::Ptr notationName = notationNames.at(k); if (!m_schema->notation(notationName->qName())) { - m_context->error(QtXmlPatterns::tr("unknown notation %1 used in %2 facet") + m_context->error(QtXmlPatterns::tr("Unknown notation %1 used in %2 facet.") .arg(formatKeyword(m_namePool, notationName->qName())) .arg(formatKeyword("enumeration")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1161,7 +1161,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con QString errorMsg; if (!checker.isValidString(actualValue, baseType, errorMsg)) { - m_context->error(QtXmlPatterns::tr("%1 facet contains invalid value %2: %3") + m_context->error(QtXmlPatterns::tr("%1 facet contains invalid value %2: %3.") .arg(formatKeyword("enumeration")) .arg(formatData(stringValue)) .arg(errorMsg), @@ -1183,7 +1183,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const QString baseValue = DerivedString<TypeString>::Ptr(baseFacets.value(XsdFacet::WhiteSpace)->value())->stringValue(); if (value == XsdSchemaToken::toString(XsdSchemaToken::Replace) || value == XsdSchemaToken::toString(XsdSchemaToken::Preserve)) { if (baseValue == XsdSchemaToken::toString(XsdSchemaToken::Collapse)) { - m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 or %3 if %4 facet of base type is %5") + m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 or %3 if %4 facet of base type is %5.") .arg(formatKeyword("whiteSpace")) .arg(formatData("replace")) .arg(formatData("preserve")) @@ -1194,7 +1194,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con } } if (value == XsdSchemaToken::toString(XsdSchemaToken::Preserve) && baseValue == XsdSchemaToken::toString(XsdSchemaToken::Replace)) { - m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 if %3 facet of base type is %4") + m_context->error(QtXmlPatterns::tr("%1 facet cannot be %2 if %3 facet of base type is %4.") .arg(formatKeyword("whiteSpace")) .arg(formatData("preserve")) .arg(formatKeyword("whiteSpace")) @@ -1214,7 +1214,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, maxFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1230,7 +1230,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("maxInclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1242,7 +1242,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type.") .arg(formatKeyword("maxInclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1257,7 +1257,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con // @see http://www.w3.org/TR/xmlschema-2/#maxInclusive-maxExclusive if (facets.contains(XsdFacet::MaximumInclusive)) { - m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together") + m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together.") .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1269,7 +1269,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr minFacet = facets.value(XsdFacet::MinimumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, maxFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1285,7 +1285,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1297,7 +1297,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1309,7 +1309,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type.") .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("minInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1321,7 +1321,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(maxFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type.") .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("minExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1336,7 +1336,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con // @see http://www.w3.org/TR/xmlschema-2/#minInclusive-minExclusive if (facets.contains(XsdFacet::MinimumInclusive)) { - m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together") + m_context->error(QtXmlPatterns::tr("%1 facet and %2 facet cannot appear together.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("minInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1348,7 +1348,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, maxFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1364,7 +1364,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("minExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1376,7 +1376,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1388,7 +1388,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("minExclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1406,7 +1406,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr maxFacet = facets.value(XsdFacet::MaximumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, maxFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1422,7 +1422,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be greater than or equal to %2 facet of base type.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("minInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1434,7 +1434,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MinimumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorLessOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be greater than %2 facet of base type.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("minExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1446,7 +1446,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumInclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterThan, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("maxInclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1458,7 +1458,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const XsdFacet::Ptr baseFacet = baseFacets.value(XsdFacet::MaximumExclusive); if (comparableBaseType) { if (XsdSchemaHelper::constructAndCompare(minFacet->value(), AtomicComparator::OperatorGreaterOrEqual, baseFacet->value(), comparableBaseType, m_context, &reflection)) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than %2 facet of base type.") .arg(formatKeyword("minInclusive")) .arg(formatKeyword("maxExclusive")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1480,7 +1480,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacet->value(); if (totalDigitsValue->toInteger() > baseValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("totalDigits")) .arg(formatKeyword("totalDigits")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1499,7 +1499,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const DerivedInteger<TypeNonNegativeInteger>::Ptr totalDigitsValue = totalDigitsFacet->value(); if (fractionDigitsValue->toInteger() > totalDigitsValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet.") .arg(formatKeyword("fractionDigits")) .arg(formatKeyword("totalDigits")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1515,7 +1515,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const DerivedInteger<TypeNonNegativeInteger>::Ptr baseValue = baseFacet->value(); if (fractionDigitsValue->toInteger() > baseValue->toInteger()) { - m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type") + m_context->error(QtXmlPatterns::tr("%1 facet must be less than or equal to %2 facet of base type.") .arg(formatKeyword("fractionDigits")) .arg(formatKeyword("fractionDigits")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1535,7 +1535,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con QSet<XsdFacet::Type> availableFacets = facets.keys().toSet(); if (!availableFacets.subtract(allowedFacets).isEmpty()) { - m_context->error(QtXmlPatterns::tr("simple type contains not allowed facet %1") + m_context->error(QtXmlPatterns::tr("Simple type contains not allowed facet %1.") .arg(formatKeyword(XsdFacet::typeName(availableFacets.toList().first()))), XsdSchemaContext::XSDError, sourceLocation(simpleType)); return; @@ -1547,7 +1547,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con facets.contains(XsdFacet::MaximumExclusive) || facets.contains(XsdFacet::MinimumExclusive) || facets.contains(XsdFacet::TotalDigits) || facets.contains(XsdFacet::FractionDigits)) { - m_context->error(QtXmlPatterns::tr("%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list") + m_context->error(QtXmlPatterns::tr("%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.") .arg(formatKeyword("maxInclusive")) .arg(formatKeyword("maxExclusive")) .arg(formatKeyword("minInclusive")) @@ -1563,7 +1563,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con facets.contains(XsdFacet::MinimumLength) || facets.contains(XsdFacet::MaximumLength) || facets.contains(XsdFacet::Length) || facets.contains(XsdFacet::WhiteSpace)) { - m_context->error(QtXmlPatterns::tr("only %1 and %2 facets are allowed when derived by union") + m_context->error(QtXmlPatterns::tr("Only %1 and %2 facets are allowed when derived by union.") .arg(formatKeyword("pattern")) .arg(formatKeyword("enumeration")), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1586,7 +1586,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const DerivedString<TypeString>::Ptr stringValue = facet->value(); const AtomicValue::Ptr value = ValueFactory::fromLexical(stringValue->stringValue(), baseType, m_context, &reflection); if (value->hasError()) { - m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3") + m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3.") .arg(formatType(m_namePool, simpleType)) .arg(formatKeyword(XsdFacet::typeName(facet->type()))) .arg(formatData(stringValue->stringValue())), @@ -1602,7 +1602,7 @@ void XsdSchemaChecker::checkConstrainingFacets(const XsdFacet::Hash &facets, con const QString stringValue = DerivedString<TypeString>::Ptr(multiValue.at(j))->stringValue(); const AtomicValue::Ptr value = ValueFactory::fromLexical(stringValue, baseType, m_context, &reflection); if (value->hasError()) { - m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3") + m_context->error(QtXmlPatterns::tr("%1 contains %2 facet with invalid data: %3.") .arg(formatType(m_namePool, simpleType)) .arg(formatKeyword(XsdFacet::typeName(XsdFacet::Enumeration))) .arg(formatData(stringValue)), @@ -1626,7 +1626,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 4) XsdAttribute::Ptr conflictingAttribute; if (hasDuplicatedAttributeUses(uses, conflictingAttribute)) { - m_context->error(QtXmlPatterns::tr("attribute group %1 contains attribute %2 twice") + m_context->error(QtXmlPatterns::tr("Attribute group %1 contains attribute %2 twice.") .arg(formatKeyword(attributeGroup->displayName(m_namePool))) .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(attributeGroup)); @@ -1635,7 +1635,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 5) if (hasMultipleIDAttributeUses(uses)) { - m_context->error(QtXmlPatterns::tr("attribute group %1 contains two different attributes that both have types derived from %2") + m_context->error(QtXmlPatterns::tr("Attribute group %1 contains two different attributes that both have types derived from %2.") .arg(formatKeyword(attributeGroup->displayName(m_namePool))) .arg(formatType(m_namePool, BuiltinTypes::xsID)), XsdSchemaContext::XSDError, sourceLocation(attributeGroup)); @@ -1643,7 +1643,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() } if (hasConstraintIDAttributeUse(uses, conflictingAttribute)) { - m_context->error(QtXmlPatterns::tr("attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3") + m_context->error(QtXmlPatterns::tr("Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.") .arg(formatKeyword(attributeGroup->displayName(m_namePool))) .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))) .arg(formatType(m_namePool, BuiltinTypes::xsID)), @@ -1666,7 +1666,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 4) XsdAttribute::Ptr conflictingAttribute; if (hasDuplicatedAttributeUses(attributeUses, conflictingAttribute)) { - m_context->error(QtXmlPatterns::tr("complex type %1 contains attribute %2 twice") + m_context->error(QtXmlPatterns::tr("Complex type %1 contains attribute %2 twice.") .arg(formatType(m_namePool, complexType)) .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1675,7 +1675,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() // @see http://www.w3.org/TR/xmlschema11-1/#ct-props-correct 5) if (hasMultipleIDAttributeUses(attributeUses)) { - m_context->error(QtXmlPatterns::tr("complex type %1 contains two different attributes that both have types derived from %2") + m_context->error(QtXmlPatterns::tr("Complex type %1 contains two different attributes that both have types derived from %2.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, BuiltinTypes::xsID)), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1683,7 +1683,7 @@ void XsdSchemaChecker::checkDuplicatedAttributeUses() } if (hasConstraintIDAttributeUse(attributeUses, conflictingAttribute)) { - m_context->error(QtXmlPatterns::tr("complex type %1 contains attribute %2 that has value constraint but type that inherits from %3") + m_context->error(QtXmlPatterns::tr("Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.") .arg(formatType(m_namePool, complexType)) .arg(formatKeyword(conflictingAttribute->displayName(m_namePool))) .arg(formatType(m_namePool, BuiltinTypes::xsID)), @@ -1726,14 +1726,14 @@ void XsdSchemaChecker::checkElementConstraints() targetType = XsdSimpleType::Ptr(simpleType)->primitiveType(); } } else if (complexType->contentType()->variety() != XsdComplexType::ContentType::Mixed) { - m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have a value constraint if its base type is complex") + m_context->error(QtXmlPatterns::tr("Element %1 is not allowed to have a value constraint if its base type is complex.") .arg(formatKeyword(element->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(element)); return; } } if ((targetType == BuiltinTypes::xsID) || BuiltinTypes::xsID->wxsTypeMatches(type)) { - m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have a value constraint if its type is derived from %2") + m_context->error(QtXmlPatterns::tr("Element %1 is not allowed to have a value constraint if its type is derived from %2.") .arg(formatKeyword(element->displayName(m_namePool))) .arg(formatType(m_namePool, BuiltinTypes::xsID)), XsdSchemaContext::XSDError, sourceLocation(element)); @@ -1743,7 +1743,7 @@ void XsdSchemaChecker::checkElementConstraints() if (type->isSimpleType()) { QString errorMsg; if (!isValidValue(element->valueConstraint()->value(), type, errorMsg)) { - m_context->error(QtXmlPatterns::tr("value constraint of element %1 is not of elements type: %2") + m_context->error(QtXmlPatterns::tr("Value constraint of element %1 is not of elements type: %2.") .arg(formatKeyword(element->displayName(m_namePool))) .arg(errorMsg), XsdSchemaContext::XSDError, sourceLocation(element)); @@ -1754,7 +1754,7 @@ void XsdSchemaChecker::checkElementConstraints() if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) { QString errorMsg; if (!isValidValue(element->valueConstraint()->value(), complexType->contentType()->simpleType(), errorMsg)) { - m_context->error(QtXmlPatterns::tr("value constraint of element %1 is not of elements type: %2") + m_context->error(QtXmlPatterns::tr("Value constraint of element %1 is not of elements type: %2.") .arg(formatKeyword(element->displayName(m_namePool))) .arg(errorMsg), XsdSchemaContext::XSDError, sourceLocation(element)); @@ -1767,7 +1767,7 @@ void XsdSchemaChecker::checkElementConstraints() if (!element->substitutionGroupAffiliations().isEmpty()) { // 3 if (!element->scope() || element->scope()->variety() != XsdElement::Scope::Global) { - m_context->error(QtXmlPatterns::tr("element %1 is not allowed to have substitution group affiliation as it is no global element").arg(formatKeyword(element->displayName(m_namePool))), + m_context->error(QtXmlPatterns::tr("Element %1 is not allowed to have substitution group affiliation as it is no global element.").arg(formatKeyword(element->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(element)); return; } @@ -1795,7 +1795,7 @@ void XsdSchemaChecker::checkElementConstraints() } if (!derivationOk) { - m_context->error(QtXmlPatterns::tr("type of element %1 cannot be derived from type of substitution group affiliation").arg(formatKeyword(element->displayName(m_namePool))), + m_context->error(QtXmlPatterns::tr("Type of element %1 cannot be derived from type of substitution group affiliation.").arg(formatKeyword(element->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(element)); return; } @@ -1836,7 +1836,7 @@ void XsdSchemaChecker::checkAttributeConstraints() QString errorMsg; if (!isValidValue(attribute->valueConstraint()->value(), attribute->type(), errorMsg)) { - m_context->error(QtXmlPatterns::tr("value constraint of attribute %1 is not of attributes type: %2") + m_context->error(QtXmlPatterns::tr("Value constraint of attribute %1 is not of attributes type: %2.") .arg(formatKeyword(attribute->displayName(m_namePool))) .arg(errorMsg), XsdSchemaContext::XSDError, sourceLocation(attribute)); @@ -1845,7 +1845,7 @@ void XsdSchemaChecker::checkAttributeConstraints() } if (BuiltinTypes::xsID->wxsTypeMatches(attribute->type())) { - m_context->error(QtXmlPatterns::tr("attribute %1 has value constraint but has type derived from %2") + m_context->error(QtXmlPatterns::tr("Attribute %1 has value constraint but has type derived from %2.") .arg(formatKeyword(attribute->displayName(m_namePool))) .arg(formatType(m_namePool, BuiltinTypes::xsID)), XsdSchemaContext::XSDError, sourceLocation(attribute)); @@ -1901,7 +1901,7 @@ void XsdSchemaChecker::checkAttributeUseConstraints() if (baseAttributeUse->useType() == XsdAttributeUse::RequiredUse) { if (attributeUse->useType() == XsdAttributeUse::OptionalUse || attributeUse->useType() == XsdAttributeUse::ProhibitedUse) { - m_context->error(QtXmlPatterns::tr("%1 attribute in derived complex type must be %2 like in base type") + m_context->error(QtXmlPatterns::tr("%1 attribute in derived complex type must be %2 like in base type.") .arg(formatAttribute("use")) .arg(formatData("required")), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1912,7 +1912,7 @@ void XsdSchemaChecker::checkAttributeUseConstraints() if (baseAttributeUse->valueConstraint()) { if (baseAttributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) { if (!attributeUse->valueConstraint()) { - m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have %2 value constraint like in base type") + m_context->error(QtXmlPatterns::tr("Attribute %1 in derived complex type must have %2 value constraint like in base type.") .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool))) .arg(formatData("fixed")), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1921,14 +1921,14 @@ void XsdSchemaChecker::checkAttributeUseConstraints() if (attributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) { const XsdTypeChecker checker(m_context, QVector<QXmlName>(), sourceLocation(complexType)); if (!checker.valuesAreEqual(attributeUse->valueConstraint()->value(), baseAttributeUse->valueConstraint()->value(), attributeUse->attribute()->type())) { - m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have the same %2 value constraint like in base type") + m_context->error(QtXmlPatterns::tr("Attribute %1 in derived complex type must have the same %2 value constraint like in base type.") .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool))) .arg(formatData("fixed")), XsdSchemaContext::XSDError, sourceLocation(complexType)); return; } } else { - m_context->error(QtXmlPatterns::tr("attribute %1 in derived complex type must have %2 value constraint") + m_context->error(QtXmlPatterns::tr("Attribute %1 in derived complex type must have %2 value constraint.") .arg(formatKeyword(attributeUse->attribute()->displayName(m_namePool))) .arg(formatData("fixed")), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1946,7 +1946,7 @@ void XsdSchemaChecker::checkAttributeUseConstraints() const XsdWildcard::Ptr derivedWildcard(complexType->attributeWildcard()); if (baseWildcard && derivedWildcard) { if (!XsdSchemaHelper::checkWildcardProcessContents(baseWildcard, derivedWildcard)) { - m_context->error(QtXmlPatterns::tr("processContent of base wildcard must be weaker than derived wildcard"), XsdSchemaContext::XSDError, sourceLocation(complexType)); + m_context->error(QtXmlPatterns::tr("processContent of base wildcard must be weaker than derived wildcard."), XsdSchemaContext::XSDError, sourceLocation(complexType)); return; } } @@ -1985,7 +1985,7 @@ void XsdSchemaChecker::checkElementDuplicates(const XsdParticle::Ptr &particle, if (elementMap.contains(element->name(m_namePool))) { if (element->type() != elementMap.value(element->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("element %1 exists twice with different types") + m_context->error(QtXmlPatterns::tr("Element %1 exists twice with different types.") .arg(formatKeyword(element->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(element)); return; @@ -2000,7 +2000,7 @@ void XsdSchemaChecker::checkElementDuplicates(const XsdParticle::Ptr &particle, const XsdElement::Ptr substElement = substElements.at(i); if (elementMap.contains(substElement->name(m_namePool))) { if (substElement->type() != elementMap.value(substElement->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("element %1 exists twice with different types") + m_context->error(QtXmlPatterns::tr("Element %1 exists twice with different types.") .arg(formatKeyword(substElement->displayName(m_namePool))), XsdSchemaContext::XSDError, sourceLocation(element)); return; @@ -2028,7 +2028,7 @@ void XsdSchemaChecker::checkElementDuplicates(const XsdParticle::Ptr &particle, } if (error) { - m_context->error(QtXmlPatterns::tr("particle contains non-deterministic wildcards"), XsdSchemaContext::XSDError, sourceLocation(wildcard)); + m_context->error(QtXmlPatterns::tr("Particle contains non-deterministic wildcards."), XsdSchemaContext::XSDError, sourceLocation(wildcard)); return; } else { wildcardMap.insert(wildcard->namespaceConstraint()->variety(), wildcard); diff --git a/src/xmlpatterns/schema/qxsdschemahelper.cpp b/src/xmlpatterns/schema/qxsdschemahelper.cpp index 3173498..a56f3ef 100644 --- a/src/xmlpatterns/schema/qxsdschemahelper.cpp +++ b/src/xmlpatterns/schema/qxsdschemahelper.cpp @@ -688,13 +688,13 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis // 2.1.1 if (baseAttributeUse->isRequired() == true && derivedAttributeUse->isRequired() == false) { - errorMsg = QtXmlPatterns::tr("base attribute %1 is required but derived attribute is not").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Base attribute %1 is required but derived attribute is not.").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); return false; } // 2.1.2 if (!isSimpleDerivationOk(derivedAttributeUse->attribute()->type(), baseAttributeUse->attribute()->type(), SchemaType::DerivationConstraints())) { - errorMsg = QtXmlPatterns::tr("type of derived attribute %1 cannot be validly derived from type of base attribute").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Type of derived attribute %1 cannot be validly derived from type of base attribute.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); return false; } @@ -722,12 +722,12 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis } if (!ok) { - errorMsg = QtXmlPatterns::tr("value constraint of derived attribute %1 does not match value constraint of base attribute").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Value constraint of derived attribute %1 does not match value constraint of base attribute.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); return false; } } else { if (!wildcard) { - errorMsg = QtXmlPatterns::tr("derived attribute %1 does not exists in the base definition").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived attribute %1 does not exists in the base definition.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); return false; } @@ -738,7 +738,7 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis name.setNamespaceURI(namePool->allocateNamespace(XsdWildcard::absentNamespace())); if (!wildcardAllowsExpandedName(name, wildcard, namePool)) { - errorMsg = QtXmlPatterns::tr("derived attribute %1 does not match the wildcard in the base definition").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Derived attribute %1 does not match the wildcard in the base definition.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool))); return false; } } @@ -751,11 +751,11 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis if (baseAttributeUse->isRequired()) { if (derivedAttributeUsesLookup.contains(baseAttributeUse->attribute()->name(namePool))) { if (!derivedAttributeUsesLookup.value(baseAttributeUse->attribute()->name(namePool))->isRequired()) { - errorMsg = QtXmlPatterns::tr("base attribute %1 is required but derived attribute is not").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Base attribute %1 is required but derived attribute is not.").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); return false; } } else { - errorMsg = QtXmlPatterns::tr("base attribute %1 is required but missing in derived definition").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); + errorMsg = QtXmlPatterns::tr("Base attribute %1 is required but missing in derived definition.").arg(formatAttribute(baseAttributeUse->attribute()->displayName(namePool))); return false; } } @@ -764,17 +764,17 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis // 4 if (derivedWildcard) { if (!wildcard) { - errorMsg = QtXmlPatterns::tr("derived definition contains an %1 element that does not exists in the base definition").arg(formatElement("anyAttribute")); + errorMsg = QtXmlPatterns::tr("Derived definition contains an %1 element that does not exists in the base definition").arg(formatElement("anyAttribute.")); return false; } if (!isWildcardSubset(derivedWildcard, wildcard)) { - errorMsg = QtXmlPatterns::tr("derived wildcard is not a subset of the base wildcard"); + errorMsg = QtXmlPatterns::tr("Derived wildcard is not a subset of the base wildcard."); return false; } if (!checkWildcardProcessContents(wildcard, derivedWildcard)) { - errorMsg = QtXmlPatterns::tr("%1 of derived wildcard is not a valid restriction of %2 of base wildcard").arg(formatKeyword("processContents")).arg(formatKeyword("processContents")); + errorMsg = QtXmlPatterns::tr("%1 of derived wildcard is not a valid restriction of %2 of base wildcard").arg(formatKeyword("processContents")).arg(formatKeyword("processContents.")); return false; } } @@ -797,12 +797,12 @@ bool XsdSchemaHelper::isValidAttributeUsesExtension(const XsdAttributeUse::List for (int i = 0; i < attributeUses.count(); ++i) { const QXmlName attributeName = attributeUses.at(i)->attribute()->name(namePool); if (!lookupHash.contains(attributeName)) { - errorMsg = QtXmlPatterns::tr("attribute %1 from base type is missing in derived type").arg(formatKeyword(namePool->displayName(attributeName))); + errorMsg = QtXmlPatterns::tr("Attribute %1 from base type is missing in derived type.").arg(formatKeyword(namePool->displayName(attributeName))); return false; } if (lookupHash.value(attributeName)->type() != attributeUses.at(i)->attribute()->type()) { - errorMsg = QtXmlPatterns::tr("type of derived attribute %1 differs from type of base attribute").arg(formatKeyword(namePool->displayName(attributeName))); + errorMsg = QtXmlPatterns::tr("Type of derived attribute %1 differs from type of base attribute.").arg(formatKeyword(namePool->displayName(attributeName))); return false; } } @@ -810,7 +810,7 @@ bool XsdSchemaHelper::isValidAttributeUsesExtension(const XsdAttributeUse::List // 1.3 if (wildcard) { if (!derivedWildcard) { - errorMsg = QtXmlPatterns::tr("base definition contains an %1 element that is missing in the derived definition").arg(formatElement("anyAttribute")); + errorMsg = QtXmlPatterns::tr("Base definition contains an %1 element that is missing in the derived definition").arg(formatElement("anyAttribute.")); return false; } } diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp index 19a8425..8f7b6af 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp @@ -166,7 +166,7 @@ class TagValidationHandler for (int i = 0; i < tokens.count(); ++i) elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i)))); - m_parser->error(QtXmlPatterns::tr("can not process unknown element %1, expected elements are: %2") + m_parser->error(QtXmlPatterns::tr("Can not process unknown element %1, expected elements are: %2.") .arg(formatElement(m_parser->name().toString())) .arg(elementNames.join(QLatin1String(", ")))); return; @@ -179,7 +179,7 @@ class TagValidationHandler for (int i = 0; i < tokens.count(); ++i) elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i)))); - m_parser->error(QtXmlPatterns::tr("element %1 is not allowed in this scope, possible elements are: %2") + m_parser->error(QtXmlPatterns::tr("Element %1 is not allowed in this scope, possible elements are: %2.") .arg(formatElement(XsdSchemaToken::toString(token))) .arg(elementNames.join(QLatin1String(", ")))); return; @@ -195,7 +195,7 @@ class TagValidationHandler for (int i = 0; i < tokens.count(); ++i) elementNames.append(formatElement(XsdSchemaToken::toString(tokens.at(i)))); - m_parser->error(QtXmlPatterns::tr("child element is missing in that scope, possible child elements are: %1") + m_parser->error(QtXmlPatterns::tr("Child element is missing in that scope, possible child elements are: %1.") .arg(elementNames.join(QLatin1String(", ")))); } } @@ -322,7 +322,7 @@ bool XsdSchemaParser::parse(ParserType parserType) if (isSchemaTag(XsdSchemaToken::Schema, token, namespaceToken)) { parseSchema(parserType); } else { - error(QtXmlPatterns::tr("document is not a XML schema")); + error(QtXmlPatterns::tr("Document is not a XML schema.")); } } } @@ -344,13 +344,13 @@ void XsdSchemaParser::error(const QString &msg) void XsdSchemaParser::attributeContentError(const char *attributeName, const char *elementName, const QString &value, const SchemaType::Ptr &type) { if (type) { - error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4") + error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.") .arg(formatAttribute(attributeName)) .arg(formatElement(elementName)) .arg(formatData(value)) .arg(formatType(m_namePool, type))); } else { - error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3}") + error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3}.") .arg(formatAttribute(attributeName)) .arg(formatElement(elementName)) .arg(formatData(value))); @@ -376,7 +376,7 @@ void XsdSchemaParser::parseSchema(ParserType parserType) const QString targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema"); if (m_targetNamespace != targetNamespace) { - error(QtXmlPatterns::tr("target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema") + error(QtXmlPatterns::tr("Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.") .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace))); return; } @@ -390,7 +390,7 @@ void XsdSchemaParser::parseSchema(ParserType parserType) } if (m_targetNamespace != targetNamespace) { - error(QtXmlPatterns::tr("target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema") + error(QtXmlPatterns::tr("Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.") .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace))); return; } @@ -401,7 +401,7 @@ void XsdSchemaParser::parseSchema(ParserType parserType) const QString targetNamespace = readNamespaceAttribute(QString::fromLatin1("targetNamespace"), "schema"); if (m_targetNamespace != targetNamespace) { - error(QtXmlPatterns::tr("target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema") + error(QtXmlPatterns::tr("Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.") .arg(formatURI(targetNamespace)).arg(formatURI(m_targetNamespace))); return; } @@ -638,7 +638,7 @@ void XsdSchemaParser::parseImport() if (hasAttribute(QString::fromLatin1("namespace"))) { importNamespace = readAttribute(QString::fromLatin1("namespace")); if (importNamespace == m_targetNamespace) { - error(QtXmlPatterns::tr("%1 element is not allowed to have the same %2 attribute value as the target namespace %3") + error(QtXmlPatterns::tr("%1 element is not allowed to have the same %2 attribute value as the target namespace %3.") .arg(formatElement("import")) .arg(formatAttribute("namespace")) .arg(formatURI(m_targetNamespace))); @@ -646,7 +646,7 @@ void XsdSchemaParser::parseImport() } } else { if (m_targetNamespace.isEmpty()) { - error(QtXmlPatterns::tr("%1 element without %2 attribute is not allowed inside schema without target namespace") + error(QtXmlPatterns::tr("%1 element without %2 attribute is not allowed inside schema without target namespace.") .arg(formatElement("import")) .arg(formatAttribute("namespace"))); return; @@ -1479,7 +1479,7 @@ void XsdSchemaParser::parseSimpleRestriction(const XsdSimpleType::Ptr &ptr) ptr->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasBaseAttribute) { - error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present") + error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present.") .arg(formatElement("simpleType")) .arg(formatElement("restriction")) .arg(formatAttribute("base"))); @@ -1540,7 +1540,7 @@ void XsdSchemaParser::parseSimpleRestriction(const XsdSimpleType::Ptr &ptr) } if (!hasBaseTypeSpecified) { - error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element") + error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element.") .arg(formatElement("restriction")) .arg(formatAttribute("base")) .arg(formatElement("simpleType"))); @@ -1637,7 +1637,7 @@ void XsdSchemaParser::parseList(const XsdSimpleType::Ptr &ptr) ptr->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasItemTypeAttribute) { - error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present") + error(QtXmlPatterns::tr("%1 element is not allowed inside %2 element if %3 attribute is present.") .arg(formatElement("simpleType")) .arg(formatElement("list")) .arg(formatAttribute("itemType"))); @@ -1659,7 +1659,7 @@ void XsdSchemaParser::parseList(const XsdSimpleType::Ptr &ptr) } if (!hasItemTypeSpecified) { - error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element") + error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element.") .arg(formatElement("list")) .arg(formatAttribute("itemType")) .arg(formatElement("simpleType"))); @@ -1751,7 +1751,7 @@ void XsdSchemaParser::parseUnion(const XsdSimpleType::Ptr &ptr) } if (!hasMemberTypesSpecified) { - error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element") + error(QtXmlPatterns::tr("%1 element has neither %2 attribute nor %3 child element.") .arg(formatElement("union")) .arg(formatAttribute("memberTypes")) .arg(formatElement("simpleType"))); @@ -2586,7 +2586,7 @@ XsdComplexType::Ptr XsdSchemaParser::parseGlobalComplexType() complexType->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleContent, token, namespaceToken)) { if (effectiveMixed) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("complexType")) .arg(formatElement("simpleContent")) .arg(formatAttribute("mixed"))); @@ -3588,7 +3588,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseAll(const NamedSchemaComponent::Ptr &pa particle->setTerm(term); if (particle->maximumOccursUnbounded() || particle->maximumOccurs() > 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must be %3 or %4") + error(QtXmlPatterns::tr("%1 attribute of %2 element must be %3 or %4.") .arg(formatAttribute("maxOccurs")) .arg(formatElement("all")) .arg(formatData("0")) @@ -3624,14 +3624,14 @@ XsdModelGroup::Ptr XsdSchemaParser::parseLocalAll(const XsdParticle::Ptr &partic return modelGroup; } if (particle->maximumOccursUnbounded() || particle->maximumOccurs() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3") + error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3.") .arg(formatAttribute("maxOccurs")) .arg(formatElement("all")) .arg(formatData("1"))); return modelGroup; } if (particle->minimumOccurs() != 0 && particle->minimumOccurs() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4") + error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4.") .arg(formatAttribute("minOccurs")) .arg(formatElement("all")) .arg(formatData("0")) @@ -3665,7 +3665,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseLocalAll(const XsdParticle::Ptr &partic particle->setTerm(term); if (particle->maximumOccursUnbounded() || particle->maximumOccurs() > 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4") + error(QtXmlPatterns::tr("%1 attribute of %2 element must have a value of %3 or %4.") .arg(formatAttribute("maxOccurs")) .arg(formatElement("all")) .arg(formatData("0")) @@ -3984,7 +3984,7 @@ XsdAttribute::Ptr XsdSchemaParser::parseGlobalAttribute() attribute->scope()->setVariety(XsdAttribute::Scope::Global); if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("attribute")) .arg(formatAttribute("default")) .arg(formatAttribute("fixed"))); @@ -4011,14 +4011,14 @@ XsdAttribute::Ptr XsdSchemaParser::parseGlobalAttribute() (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("schemaLocation")) && (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("noNamespaceSchemaLocation"))) { - error(QtXmlPatterns::tr("content of %1 attribute of %2 element must not be from namespace %3") + error(QtXmlPatterns::tr("Content of %1 attribute of %2 element must not be from namespace %3.") .arg(formatAttribute("name")) .arg(formatElement("attribute")) .arg(formatURI(CommonNamespaces::XSI))); return attribute; } if (m_namePool->stringForLocalName(objectName.localName()) == QString::fromLatin1("xmlns")) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3") + error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3.") .arg(formatAttribute("name")) .arg(formatElement("attribute")) .arg(formatData("xmlns"))); @@ -4060,7 +4060,7 @@ XsdAttribute::Ptr XsdSchemaParser::parseGlobalAttribute() attribute->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("attribute")) .arg(formatElement("simpleType")) .arg(formatAttribute("type"))); @@ -4113,7 +4113,7 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo } if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("attribute")) .arg(formatAttribute("default")) .arg(formatAttribute("fixed"))); @@ -4122,21 +4122,21 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo if (hasRefAttribute) { if (hasAttribute(QString::fromLatin1("form"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("attribute")) .arg(formatAttribute("ref")) .arg(formatAttribute("form"))); return attributeUse; } if (hasAttribute(QString::fromLatin1("name"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("attribute")) .arg(formatAttribute("ref")) .arg(formatAttribute("name"))); return attributeUse; } if (hasAttribute(QString::fromLatin1("type"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("attribute")) .arg(formatAttribute("ref")) .arg(formatAttribute("type"))); @@ -4176,7 +4176,7 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo attributeUse->setUseType(XsdAttributeUse::RequiredUse); if (attributeUse->valueConstraint() && attributeUse->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Default && value != QString::fromLatin1("optional")) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must have the value %3 because the %4 attribute is set") + error(QtXmlPatterns::tr("%1 attribute of %2 element must have the value %3 because the %4 attribute is set.") .arg(formatAttribute("use")) .arg(formatElement("attribute")) .arg(formatData("optional")) @@ -4233,14 +4233,14 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("schemaLocation")) && (m_namePool->stringForLocalName(objectName.localName()) != QString::fromLatin1("noNamespaceSchemaLocation"))) { - error(QtXmlPatterns::tr("content of %1 attribute of %2 element must not be from namespace %3") + error(QtXmlPatterns::tr("Content of %1 attribute of %2 element must not be from namespace %3.") .arg(formatAttribute("name")) .arg(formatElement("attribute")) .arg(formatURI(CommonNamespaces::XSI))); return attributeUse; } if (m_namePool->stringForLocalName(objectName.localName()) == QString::fromLatin1("xmlns")) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3") + error(QtXmlPatterns::tr("%1 attribute of %2 element must not be %3.") .arg(formatAttribute("name")) .arg(formatElement("attribute")) .arg(formatData("xmlns"))); @@ -4292,14 +4292,14 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo attribute->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("attribute")) .arg(formatElement("simpleType")) .arg(formatAttribute("type"))); break; } if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("attribute")) .arg(formatElement("simpleType")) .arg(formatAttribute("ref"))); @@ -4363,7 +4363,7 @@ XsdAttributeGroup::Ptr XsdSchemaParser::parseNamedAttributeGroup() const XsdAttributeUse::Ptr attributeUse = parseLocalAttribute(attributeGroup); if (attributeUse->useType() == XsdAttributeUse::ProhibitedUse) { - warning(QtXmlPatterns::tr("specifying use='prohibited' inside an attribute group has no effect")); + warning(QtXmlPatterns::tr("Specifying use='prohibited' inside an attribute group has no effect.")); } else { attributeGroup->addAttributeUse(attributeUse); } @@ -4463,7 +4463,7 @@ XsdElement::Ptr XsdSchemaParser::parseGlobalElement() } if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("default")) .arg(formatAttribute("fixed"))); @@ -4559,7 +4559,7 @@ XsdElement::Ptr XsdSchemaParser::parseGlobalElement() element->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("simpleType")) .arg(formatAttribute("type"))); @@ -4576,7 +4576,7 @@ XsdElement::Ptr XsdSchemaParser::parseGlobalElement() hasTypeSpecified = true; } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) { if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("complexType")) .arg(formatAttribute("type"))); @@ -4666,43 +4666,43 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle if (hasRefAttribute) { if (hasAttribute(QString::fromLatin1("name"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("name"))); return term; } else if (hasAttribute(QString::fromLatin1("block"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("block"))); return term; } else if (hasAttribute(QString::fromLatin1("nillable"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("nillable"))); return term; } else if (hasAttribute(QString::fromLatin1("default"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("default"))); return term; } else if (hasAttribute(QString::fromLatin1("fixed"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("fixed"))); return term; } else if (hasAttribute(QString::fromLatin1("form"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("form"))); return term; } else if (hasAttribute(QString::fromLatin1("type"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("ref")) .arg(formatAttribute("type"))); @@ -4716,7 +4716,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle } if (!hasAttribute(QString::fromLatin1("name")) && !hasAttribute(QString::fromLatin1("ref"))) { - error(QtXmlPatterns::tr("%1 element must have either %2 or %3 attribute") + error(QtXmlPatterns::tr("%1 element must have either %2 or %3 attribute.") .arg(formatElement("element")) .arg(formatAttribute("name")) .arg(formatAttribute("ref"))); @@ -4779,7 +4779,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle } if (hasAttribute(QString::fromLatin1("default")) && hasAttribute(QString::fromLatin1("fixed"))) { - error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together") + error(QtXmlPatterns::tr("%1 element must not have %2 and %3 attribute together.") .arg(formatElement("element")) .arg(formatAttribute("default")) .arg(formatAttribute("fixed"))); @@ -4834,13 +4834,13 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle element->addAnnotation(annotation); } else if (isSchemaTag(XsdSchemaToken::SimpleType, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("simpleType")) .arg(formatAttribute("ref"))); return term; } else if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("simpleType")) .arg(formatAttribute("type"))); @@ -4857,13 +4857,13 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle hasTypeSpecified = true; } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("complexType")) .arg(formatAttribute("ref"))); return term; } else if (hasTypeAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("complexType")) .arg(formatAttribute("type"))); @@ -4880,7 +4880,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle hasTypeSpecified = true; } else if (isSchemaTag(XsdSchemaToken::Alternative, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("alternative")) .arg(formatAttribute("ref"))); @@ -4891,7 +4891,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle alternatives.append(alternative); } else if (isSchemaTag(XsdSchemaToken::Unique, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("unique")) .arg(formatAttribute("ref"))); @@ -4902,7 +4902,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle element->addIdentityConstraint(constraint); } else if (isSchemaTag(XsdSchemaToken::Key, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("key")) .arg(formatAttribute("ref"))); @@ -4913,7 +4913,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle element->addIdentityConstraint(constraint); } else if (isSchemaTag(XsdSchemaToken::Keyref, token, namespaceToken)) { if (hasRefAttribute) { - error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute") + error(QtXmlPatterns::tr("%1 element with %2 child element must not have a %3 attribute.") .arg(formatElement("element")) .arg(formatElement("keyref")) .arg(formatAttribute("ref"))); @@ -5270,7 +5270,7 @@ XsdAlternative::Ptr XsdSchemaParser::parseAlternative() tagValidator.finalize(); if (!hasTypeSpecified) { - error(QtXmlPatterns::tr("%1 element must have either %2 attribute or %3 or %4 as child element") + error(QtXmlPatterns::tr("%1 element must have either %2 attribute or %3 or %4 as child element.") .arg(formatElement("alternative")) .arg(formatAttribute("type")) .arg(formatElement("simpleType")) @@ -5325,7 +5325,7 @@ XsdNotation::Ptr XsdSchemaParser::parseNotation() } if (!hasOptionalAttribute) { - error(QtXmlPatterns::tr("%1 element requires either %2 or %3 attribute") + error(QtXmlPatterns::tr("%1 element requires either %2 or %3 attribute.") .arg(formatElement("notation")) .arg(formatAttribute("public")) .arg(formatAttribute("system"))); @@ -5344,7 +5344,7 @@ XsdNotation::Ptr XsdSchemaParser::parseNotation() if (isCharacters() || isEntityReference()) { if (!text().toString().trimmed().isEmpty()) { - error(QtXmlPatterns::tr("text or entity references not allowed inside %1 element").arg(formatElement("notation"))); + error(QtXmlPatterns::tr("Text or entity references not allowed inside %1 element").arg(formatElement("notation."))); return notation; } } @@ -5385,7 +5385,7 @@ XsdWildcard::Ptr XsdSchemaParser::parseAny(const XsdParticle::Ptr &particle) if (hasAttribute(QString::fromLatin1("namespace"))) { const QSet<QString> values = readAttribute(QString::fromLatin1("namespace")).split(QLatin1Char(' '), QString::SkipEmptyParts).toSet(); if ((values.contains(QString::fromLatin1("##any")) || values.contains(QString::fromLatin1("##other"))) && values.count() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs") + error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs.") .arg(formatAttribute("namespace")) .arg(formatElement("any")) .arg(formatData("##any")) @@ -5497,7 +5497,7 @@ XsdWildcard::Ptr XsdSchemaParser::parseAnyAttribute() if (hasAttribute(QString::fromLatin1("namespace"))) { const QSet<QString> values = readAttribute(QString::fromLatin1("namespace")).split(QLatin1Char(' '), QString::SkipEmptyParts).toSet(); if ((values.contains(QString::fromLatin1("##any")) || values.contains(QString::fromLatin1("##other"))) && values.count() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs") + error(QtXmlPatterns::tr("%1 attribute of %2 element must contain %3, %4 or a list of URIs.") .arg(formatAttribute("namespace")) .arg(formatElement("anyAttribute")) .arg(formatData("##any")) @@ -5623,7 +5623,7 @@ void XsdSchemaParser::parseUnknown() m_namespaceSupport.pushContext(); m_namespaceSupport.setPrefixes(namespaceDeclarations()); - error(QtXmlPatterns::tr("%1 element is not allowed in this context").arg(formatElement(name().toString()))); + error(QtXmlPatterns::tr("%1 element is not allowed in this context.").arg(formatElement(name().toString()))); while (!atEnd()) { readNext(); @@ -5676,7 +5676,7 @@ bool XsdSchemaParser::parseMinMaxConstraint(const XsdParticle::Ptr &particle, co if (!particle->maximumOccursUnbounded()) { if (particle->maximumOccurs() < particle->minimumOccurs()) { - error(QtXmlPatterns::tr("%1 attribute of %2 element has larger value than %3 attribute") + error(QtXmlPatterns::tr("%1 attribute of %2 element has larger value than %3 attribute.") .arg(formatAttribute("minOccurs")) .arg(formatElement(elementName)) .arg(formatAttribute("maxOccurs"))); @@ -5701,7 +5701,7 @@ void XsdSchemaParser::convertName(const QString &qualifiedName, NamespaceSupport { bool result = m_namespaceSupport.processName(qualifiedName, type, name); if (!result) { - error(QtXmlPatterns::tr("prefix of qualified name %1 is not defined").arg(formatKeyword(qualifiedName))); + error(QtXmlPatterns::tr("Prefix of qualified name %1 is not defined.").arg(formatKeyword(qualifiedName))); } } @@ -5766,7 +5766,7 @@ SchemaType::DerivationConstraints XsdSchemaParser::readDerivationConstraintAttri } if ((value == QString::fromLatin1("#all")) && values.count() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values") + error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values.") .arg(formatAttribute("final")) .arg(formatElement(elementName)) .arg(formatData("#all"))); @@ -5827,7 +5827,7 @@ NamedSchemaComponent::BlockingConstraints XsdSchemaParser::readBlockingConstrain } if ((value == QString::fromLatin1("#all")) && values.count() != 1) { - error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values") + error(QtXmlPatterns::tr("%1 attribute of %2 element must either contain %3 or the other values.") .arg(formatAttribute("block")) .arg(formatElement(elementName)) .arg(formatData("#all"))); @@ -5958,7 +5958,7 @@ void XsdSchemaParser::validateIdAttribute(const char *elementName) attributeContentError("id", elementName, value, BuiltinTypes::xsID); } else { if (m_idCache->hasId(value)) { - error(QtXmlPatterns::tr("component with id %1 has been defined previously").arg(formatData(value))); + error(QtXmlPatterns::tr("Component with id %1 has been defined previously.").arg(formatData(value))); } else { m_idCache->addId(value); } @@ -5975,7 +5975,7 @@ void XsdSchemaParser::addElement(const XsdElement::Ptr &element) { const QXmlName objectName = element->name(m_namePool); if (m_schema->element(objectName)) { - error(QtXmlPatterns::tr("element %1 already defined").arg(formatElement(m_namePool->displayName(objectName)))); + error(QtXmlPatterns::tr("Element %1 already defined.").arg(formatElement(m_namePool->displayName(objectName)))); } else { m_schema->addElement(element); m_componentLocationHash.insert(element, currentSourceLocation()); @@ -5986,7 +5986,7 @@ void XsdSchemaParser::addAttribute(const XsdAttribute::Ptr &attribute) { const QXmlName objectName = attribute->name(m_namePool); if (m_schema->attribute(objectName)) { - error(QtXmlPatterns::tr("attribute %1 already defined").arg(formatAttribute(m_namePool->displayName(objectName)))); + error(QtXmlPatterns::tr("Attribute %1 already defined.").arg(formatAttribute(m_namePool->displayName(objectName)))); } else { m_schema->addAttribute(attribute); m_componentLocationHash.insert(attribute, currentSourceLocation()); @@ -6001,7 +6001,7 @@ void XsdSchemaParser::addType(const SchemaType::Ptr &type) const QXmlName objectName = type->name(m_namePool); if (m_schema->type(objectName)) { - error(QtXmlPatterns::tr("type %1 already defined").arg(formatType(m_namePool, objectName))); + error(QtXmlPatterns::tr("Type %1 already defined.").arg(formatType(m_namePool, objectName))); } else { m_schema->addType(type); if (type->isSimpleType()) @@ -6024,7 +6024,7 @@ void XsdSchemaParser::addAttributeGroup(const XsdAttributeGroup::Ptr &group) { const QXmlName objectName = group->name(m_namePool); if (m_schema->attributeGroup(objectName)) { - error(QtXmlPatterns::tr("attribute group %1 already defined").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Attribute group %1 already defined.").arg(formatKeyword(m_namePool, objectName))); } else { m_schema->addAttributeGroup(group); m_componentLocationHash.insert(group, currentSourceLocation()); @@ -6035,7 +6035,7 @@ void XsdSchemaParser::addElementGroup(const XsdModelGroup::Ptr &group) { const QXmlName objectName = group->name(m_namePool); if (m_schema->elementGroup(objectName)) { - error(QtXmlPatterns::tr("element group %1 already defined").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Element group %1 already defined.").arg(formatKeyword(m_namePool, objectName))); } else { m_schema->addElementGroup(group); m_componentLocationHash.insert(group, currentSourceLocation()); @@ -6046,7 +6046,7 @@ void XsdSchemaParser::addNotation(const XsdNotation::Ptr ¬ation) { const QXmlName objectName = notation->name(m_namePool); if (m_schema->notation(objectName)) { - error(QtXmlPatterns::tr("notation %1 already defined").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Notation %1 already defined.").arg(formatKeyword(m_namePool, objectName))); } else { m_schema->addNotation(notation); m_componentLocationHash.insert(notation, currentSourceLocation()); @@ -6057,7 +6057,7 @@ void XsdSchemaParser::addIdentityConstraint(const XsdIdentityConstraint::Ptr &co { const QXmlName objectName = constraint->name(m_namePool); if (m_schema->identityConstraint(objectName)) { - error(QtXmlPatterns::tr("identity constraint %1 already defined").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Identity constraint %1 already defined.").arg(formatKeyword(m_namePool, objectName))); } else { m_schema->addIdentityConstraint(constraint); m_componentLocationHash.insert(constraint, currentSourceLocation()); @@ -6068,7 +6068,7 @@ void XsdSchemaParser::addFacet(const XsdFacet::Ptr &facet, XsdFacet::Hash &facet { // @see http://www.w3.org/TR/xmlschema-2/#src-single-facet-value if (facets.contains(facet->type())) { - error(QtXmlPatterns::tr("duplicated facets in simple type %1").arg(formatType(m_namePool, type))); + error(QtXmlPatterns::tr("Duplicated facets in simple type %1.").arg(formatType(m_namePool, type))); return; } diff --git a/src/xmlpatterns/schema/qxsdschemaresolver.cpp b/src/xmlpatterns/schema/qxsdschemaresolver.cpp index d71f482..3ec598d 100644 --- a/src/xmlpatterns/schema/qxsdschemaresolver.cpp +++ b/src/xmlpatterns/schema/qxsdschemaresolver.cpp @@ -351,7 +351,7 @@ void XsdSchemaResolver::resolveKeyReferences() const XsdIdentityConstraint::Ptr constraint = m_schema->identityConstraint(ref.reference); if (!constraint) { - m_context->error(QtXmlPatterns::tr("%1 references unknown %2 or %3 element %4") + m_context->error(QtXmlPatterns::tr("%1 references unknown %2 or %3 element %4.") .arg(formatKeyword(ref.keyRef->displayName(m_namePool))) .arg(formatElement("key")) .arg(formatElement("unique")) @@ -361,7 +361,7 @@ void XsdSchemaResolver::resolveKeyReferences() } if (constraint->category() != XsdIdentityConstraint::Key && constraint->category() != XsdIdentityConstraint::Unique) { // only key and unique can be referenced - m_context->error(QtXmlPatterns::tr("%1 references identity constraint %2 that is no %3 or %4 element") + m_context->error(QtXmlPatterns::tr("%1 references identity constraint %2 that is no %3 or %4 element.") .arg(formatKeyword(ref.keyRef->displayName(m_namePool))) .arg(formatKeyword(m_namePool, ref.reference)) .arg(formatElement("key")) @@ -371,7 +371,7 @@ void XsdSchemaResolver::resolveKeyReferences() } if (constraint->fields().count() != ref.keyRef->fields().count()) { - m_context->error(QtXmlPatterns::tr("%1 has a different number of fields from the identity constraint %2 that it references") + m_context->error(QtXmlPatterns::tr("%1 has a different number of fields from the identity constraint %2 that it references.") .arg(formatKeyword(ref.keyRef->displayName(m_namePool))) .arg(formatKeyword(m_namePool, ref.reference)), XsdSchemaContext::XSDError, ref.location); @@ -394,7 +394,7 @@ void XsdSchemaResolver::resolveSimpleRestrictionBaseTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.baseName); if (!type) { - m_context->error(QtXmlPatterns::tr("base type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Base type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, item.baseName)) .arg(formatElement("restriction")), XsdSchemaContext::XSDError, item.location); @@ -478,7 +478,7 @@ void XsdSchemaResolver::resolveSimpleListType() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.typeName); if (!type) { - m_context->error(QtXmlPatterns::tr("item type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Item type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, item.typeName)) .arg(formatElement("list")), XsdSchemaContext::XSDError, item.location); @@ -509,7 +509,7 @@ void XsdSchemaResolver::resolveSimpleUnionTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(typeName); if (!type) { - m_context->error(QtXmlPatterns::tr("member type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Member type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, typeName)) .arg(formatElement("union")), XsdSchemaContext::XSDError, item.location); @@ -537,7 +537,7 @@ void XsdSchemaResolver::resolveElementTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.typeName); if (!type) { - m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, item.typeName)) .arg(formatElement("element")), XsdSchemaContext::XSDError, item.location); @@ -559,7 +559,7 @@ void XsdSchemaResolver::resolveComplexBaseTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.baseName); if (!type) { - m_context->error(QtXmlPatterns::tr("base type %1 of complex type cannot be resolved").arg(formatType(m_namePool, item.baseName)), XsdSchemaContext::XSDError, item.location); + m_context->error(QtXmlPatterns::tr("Base type %1 of complex type cannot be resolved.").arg(formatType(m_namePool, item.baseName)), XsdSchemaContext::XSDError, item.location); return; } } @@ -568,7 +568,7 @@ void XsdSchemaResolver::resolveComplexBaseTypes() if (type->isComplexType() && type->isDefinedBySchema()) { const XsdComplexType::Ptr baseType = type; if (baseType->contentType()->variety() != XsdComplexType::ContentType::Simple) { - m_context->error(QtXmlPatterns::tr("%1 cannot have complex base type that has a %2") + m_context->error(QtXmlPatterns::tr("%1 cannot have complex base type that has a %2.") .arg(formatElement("simpleContent")) .arg(formatElement("complexContent")), XsdSchemaContext::XSDError, item.location); @@ -847,13 +847,13 @@ void XsdSchemaResolver::resolveComplexContentComplexTypes(const XsdComplexType:: group->setCompositor(XsdModelGroup::SequenceCompositor); if (effectiveContent && effectiveContent->term()->isModelGroup() && XsdModelGroup::Ptr(effectiveContent->term())->compositor() == XsdModelGroup::AllCompositor) { - m_context->error(QtXmlPatterns::tr("content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type") + m_context->error(QtXmlPatterns::tr("Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.") .arg(formatType(m_namePool, complexType)).arg(formatKeyword("all")), XsdSchemaContext::XSDError, sourceLocation(complexType)); return; } if (baseParticle && baseParticle->term()->isModelGroup() && XsdModelGroup::Ptr(baseParticle->term())->compositor() == XsdModelGroup::AllCompositor) { - m_context->error(QtXmlPatterns::tr("complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model") + m_context->error(QtXmlPatterns::tr("Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, baseType)) .arg(formatKeyword("all")), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -945,7 +945,7 @@ void XsdSchemaResolver::resolveAttributeTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.typeName); if (!type) { - m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, item.typeName)) .arg(formatElement("attribute")), XsdSchemaContext::XSDError, item.location); @@ -954,7 +954,7 @@ void XsdSchemaResolver::resolveAttributeTypes() } if (!type->isSimpleType() && type->category() != SchemaType::None) { - m_context->error(QtXmlPatterns::tr("type of %1 element must be a simple type, %2 is not") + m_context->error(QtXmlPatterns::tr("Type of %1 element must be a simple type, %2 is not.") .arg(formatElement("attribute")) .arg(formatType(m_namePool, item.typeName)), XsdSchemaContext::XSDError, item.location); @@ -975,7 +975,7 @@ void XsdSchemaResolver::resolveAlternativeTypes() // maybe it's a basic type... type = m_context->schemaTypeFactory()->createSchemaType(item.typeName); if (!type) { - m_context->error(QtXmlPatterns::tr("type %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Type %1 of %2 element cannot be resolved.") .arg(formatType(m_namePool, item.typeName)) .arg(formatElement("alternative")), XsdSchemaContext::XSDError, item.location); @@ -1016,7 +1016,7 @@ void XsdSchemaResolver::resolveSubstitutionGroupAffiliations() for (int j = 0; j < item.elementNames.count(); ++j) { const XsdElement::Ptr element = m_schema->element(item.elementNames.at(j)); if (!element) { - m_context->error(QtXmlPatterns::tr("substitution group %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Substitution group %1 of %2 element cannot be resolved.") .arg(formatKeyword(m_namePool, item.elementNames.at(j))) .arg(formatElement("element")), XsdSchemaContext::XSDError, item.location); @@ -1025,7 +1025,7 @@ void XsdSchemaResolver::resolveSubstitutionGroupAffiliations() // @see http://www.w3.org/TR/xmlschema11-1/#e-props-correct 5) if (hasCircularSubstitutionGroup(element, item.element, m_namePool)) { - m_context->error(QtXmlPatterns::tr("substitution group %1 has circular definition").arg(formatKeyword(m_namePool, item.elementNames.at(j))), XsdSchemaContext::XSDError, item.location); + m_context->error(QtXmlPatterns::tr("Substitution group %1 has circular definition.").arg(formatKeyword(m_namePool, item.elementNames.at(j))), XsdSchemaContext::XSDError, item.location); return; } @@ -1145,14 +1145,14 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q if (element->name(m_namePool) == otherElement->name(m_namePool)) { if (modelGroup->compositor() == XsdModelGroup::AllCompositor) { - m_context->error(QtXmlPatterns::tr("duplicated element names %1 in %2 element") + m_context->error(QtXmlPatterns::tr("Duplicated element names %1 in %2 element.") .arg(formatKeyword(element->displayName(m_namePool))) .arg(formatElement("all")), XsdSchemaContext::XSDError, sourceLocation(modelGroup)); return; } else if (modelGroup->compositor() == XsdModelGroup::SequenceCompositor) { if (element->type() != otherElement->type()) { // not same variety - m_context->error(QtXmlPatterns::tr("duplicated element names %1 in %2 element") + m_context->error(QtXmlPatterns::tr("Duplicated element names %1 in %2 element.") .arg(formatKeyword(element->displayName(m_namePool))) .arg(formatElement("sequence")), XsdSchemaContext::XSDError, sourceLocation(modelGroup)); @@ -1181,7 +1181,7 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q if (element) { particle->setTerm(element); } else { - m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Reference %1 of %2 element cannot be resolved.") .arg(formatKeyword(m_namePool, reference->referenceName())) .arg(formatElement("element")), XsdSchemaContext::XSDError, reference->sourceLocation()); @@ -1194,7 +1194,7 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q const XsdModelGroup::Ptr modelGroup = m_schema->elementGroup(reference->referenceName()); if (modelGroup) { if (visitedGroups.contains(modelGroup->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("circular group reference for %1").arg(formatKeyword(modelGroup->displayName(m_namePool))), + m_context->error(QtXmlPatterns::tr("Circular group reference for %1.").arg(formatKeyword(modelGroup->displayName(m_namePool))), XsdSchemaContext::XSDError, reference->sourceLocation()); } else { visitedGroups.insert(modelGroup->name(m_namePool)); @@ -1210,12 +1210,12 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q if (modelGroup->compositor() == XsdModelGroup::AllCompositor) { if (m_allGroups.contains(reference)) { - m_context->error(QtXmlPatterns::tr("%1 element is not allowed in this scope").arg(formatElement("all")), + m_context->error(QtXmlPatterns::tr("%1 element is not allowed in this scope").arg(formatElement("all.")), XsdSchemaContext::XSDError, reference->sourceLocation()); return; } if (particle->maximumOccursUnbounded() || particle->maximumOccurs() != 1) { - m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3") + m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3.") .arg(formatElement("all")) .arg(formatAttribute("maxOccurs")) .arg(formatData("1")), @@ -1223,7 +1223,7 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q return; } if (particle->minimumOccurs() != 0 && particle->minimumOccurs() != 1) { - m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3 or %4") + m_context->error(QtXmlPatterns::tr("%1 element cannot have %2 attribute with value other than %3 or %4.") .arg(formatElement("all")) .arg(formatAttribute("minOccurs")) .arg(formatData("0")) @@ -1233,7 +1233,7 @@ void XsdSchemaResolver::resolveTermReference(const XsdParticle::Ptr &particle, Q } } } else { - m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Reference %1 of %2 element cannot be resolved.") .arg(formatKeyword(m_namePool, reference->referenceName())) .arg(formatElement("group")), XsdSchemaContext::XSDError, reference->sourceLocation()); @@ -1304,7 +1304,7 @@ XsdAttributeUse::List XsdSchemaResolver::resolveAttributeTermReferences(const Xs // lookup the real attribute const XsdAttribute::Ptr attribute = m_schema->attribute(reference->referenceName()); if (!attribute) { - m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Reference %1 of %2 element cannot be resolved.") .arg(formatKeyword(m_namePool, reference->referenceName())) .arg(formatElement("attribute")), XsdSchemaContext::XSDError, reference->sourceLocation()); @@ -1314,7 +1314,7 @@ XsdAttributeUse::List XsdSchemaResolver::resolveAttributeTermReferences(const Xs // if both, reference and definition have a fixed or default value set, then they must be equal if (attribute->valueConstraint() && attributeUse->valueConstraint()) { if (attribute->valueConstraint()->value() != attributeUse->valueConstraint()->value()) { - m_context->error(QtXmlPatterns::tr("%1 or %2 attribute of reference %3 does not match with the attribute declaration %4") + m_context->error(QtXmlPatterns::tr("%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.") .arg(formatAttribute("fixed")) .arg(formatAttribute("default")) .arg(formatKeyword(m_namePool, reference->referenceName())) @@ -1332,14 +1332,14 @@ XsdAttributeUse::List XsdSchemaResolver::resolveAttributeTermReferences(const Xs } else if (reference->type() == XsdAttributeReference::AttributeGroup) { const XsdAttributeGroup::Ptr attributeGroup = m_schema->attributeGroup(reference->referenceName()); if (!attributeGroup) { - m_context->error(QtXmlPatterns::tr("reference %1 of %2 element cannot be resolved") + m_context->error(QtXmlPatterns::tr("Reference %1 of %2 element cannot be resolved.") .arg(formatKeyword(m_namePool, reference->referenceName())) .arg(formatElement("attributeGroup")), XsdSchemaContext::XSDError, reference->sourceLocation()); return XsdAttributeUse::List(); } if (visitedAttributeGroups.contains(attributeGroup->name(m_namePool))) { - m_context->error(QtXmlPatterns::tr("attribute group %1 has circular reference").arg(formatKeyword(m_namePool, reference->referenceName())), + m_context->error(QtXmlPatterns::tr("Attribute group %1 has circular reference.").arg(formatKeyword(m_namePool, reference->referenceName())), XsdSchemaContext::XSDError, reference->sourceLocation()); return XsdAttributeUse::List(); } else { @@ -1470,7 +1470,7 @@ void XsdSchemaResolver::resolveAttributeInheritance(const XsdComplexType::Ptr &c // check if prohibited usage is violated if ((use->useType() == XsdAttributeUse::ProhibitedUse) && (currentUses.at(k)->useType() != XsdAttributeUse::ProhibitedUse)) { - m_context->error(QtXmlPatterns::tr("%1 attribute in %2 must have %3 use like in base type %4") + m_context->error(QtXmlPatterns::tr("%1 attribute in %2 must have %3 use like in base type %4.") .arg(formatAttribute(use->attribute()->displayName(m_namePool))) .arg(formatType(m_namePool, complexType)) .arg(formatData("prohibited")) @@ -1522,14 +1522,14 @@ void XsdSchemaResolver::resolveAttributeInheritance(const XsdComplexType::Ptr &c if (complexType->attributeWildcard()) { if (complexBaseType->attributeWildcard()) { if (!isValidWildcardRestriction(complexType->attributeWildcard(), complexBaseType->attributeWildcard())) { - m_context->error(QtXmlPatterns::tr("attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2") + m_context->error(QtXmlPatterns::tr("Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, complexBaseType)), XsdSchemaContext::XSDError, sourceLocation(complexType)); return; } } else { - m_context->error(QtXmlPatterns::tr("%1 has attribute wildcard but its base type %2 has not") + m_context->error(QtXmlPatterns::tr("%1 has attribute wildcard but its base type %2 has not.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, complexBaseType)), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1555,7 +1555,7 @@ void XsdSchemaResolver::resolveAttributeInheritance(const XsdComplexType::Ptr &c unionWildcard->setProcessContents(completeWildcard->processContents()); complexType->setAttributeWildcard(unionWildcard); // 2.2.2.3 } else { - m_context->error(QtXmlPatterns::tr("union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible") + m_context->error(QtXmlPatterns::tr("Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.") .arg(formatType(m_namePool, complexType)) .arg(formatType(m_namePool, complexBaseType)), XsdSchemaContext::XSDError, sourceLocation(complexType)); @@ -1603,7 +1603,7 @@ void XsdSchemaResolver::resolveEnumerationFacetValues() const QString qualifiedName = value->as<DerivedString<TypeString> >()->stringValue(); if (!XPathHelper::isQName(qualifiedName)) { - m_context->error(QtXmlPatterns::tr("enumeration facet contains invalid content: {%1} is not a value of type %2") + m_context->error(QtXmlPatterns::tr("Enumeration facet contains invalid content: {%1} is not a value of type %2.") .arg(formatData(qualifiedName)) .arg(formatType(m_namePool, BuiltinTypes::xsQName)), XsdSchemaContext::XSDError, sourceLocation(simpleType)); @@ -1613,7 +1613,7 @@ void XsdSchemaResolver::resolveEnumerationFacetValues() QXmlName qNameValue; bool result = support.processName(qualifiedName, NamespaceSupport::ElementName, qNameValue); if (!result) { - m_context->error(QtXmlPatterns::tr("namespace prefix of qualified name %1 is not defined").arg(formatData(qualifiedName)), + m_context->error(QtXmlPatterns::tr("Namespace prefix of qualified name %1 is not defined.").arg(formatData(qualifiedName)), XsdSchemaContext::XSDError, sourceLocation(simpleType)); return; } @@ -1664,7 +1664,7 @@ void XsdSchemaResolver::checkRedefinedGroups() // so that we can pass them to XsdParticleChecker::subsumes() QString errorMsg; if (!XsdParticleChecker::subsumes(particle, redefinedParticle, m_context, errorMsg)) { - m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4") + m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4.") .arg(formatElement("group")) .arg(formatData(item.redefinedGroup->displayName(m_namePool))) .arg(formatElement("group")) @@ -1682,7 +1682,7 @@ void XsdSchemaResolver::checkRedefinedAttributeGroups() QString errorMsg; if (!XsdSchemaHelper::isValidAttributeGroupRestriction(item.redefinedGroup, item.group, m_context, errorMsg)) { - m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4") + m_context->error(QtXmlPatterns::tr("%1 element %2 is not a valid restriction of the %3 element it redefines: %4.") .arg(formatElement("attributeGroup")) .arg(formatData(item.redefinedGroup->displayName(m_namePool))) .arg(formatElement("attributeGroup")) diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp index 0d957b6..4eb10dc 100644 --- a/src/xmlpatterns/schema/qxsdtypechecker.cpp +++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp @@ -230,14 +230,14 @@ bool XsdTypeChecker::isValidString(const QString &normalizedString, const AnySim // special QName check if (BuiltinTypes::xsQName->wxsTypeMatches(type)) { if (!XPathHelper::isQName(normalizedString)) { - errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, type)); + errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2.").arg(formatData(normalizedString)).arg(formatType(m_namePool, type)); return false; } } const AtomicValue::Ptr value = fromLexical(normalizedString, type, m_context, m_reflection); if (value->hasError()) { - errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, type)); + errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2.").arg(formatData(normalizedString)).arg(formatType(m_namePool, type)); return false; } @@ -258,7 +258,7 @@ bool XsdTypeChecker::isValidString(const QString &normalizedString, const AnySim const AtomicValue::Ptr value = fromLexical(normalizedString, targetType, m_context, m_reflection); if (value->hasError()) { - errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2").arg(formatData(normalizedString)).arg(formatType(m_namePool, targetType)); + errorMsg = QtXmlPatterns::tr("%1 is not valid according to %2.").arg(formatData(normalizedString)).arg(formatType(m_namePool, targetType)); return false; } @@ -425,7 +425,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X const XsdFacet::Ptr facet = facets.value(XsdFacet::Length); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() != value.length()) { - errorMsg = QtXmlPatterns::tr("string content does not match the length facet"); + errorMsg = QtXmlPatterns::tr("String content does not match the length facet."); return false; } } @@ -433,7 +433,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumLength); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() > value.length()) { - errorMsg = QtXmlPatterns::tr("string content does not match the minLength facet"); + errorMsg = QtXmlPatterns::tr("String content does not match the minLength facet."); return false; } } @@ -441,7 +441,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumLength); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() < value.length()) { - errorMsg = QtXmlPatterns::tr("string content does not match the maxLength facet"); + errorMsg = QtXmlPatterns::tr("String content does not match the maxLength facet."); return false; } } @@ -459,7 +459,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X } if (!found) { - errorMsg = QtXmlPatterns::tr("string content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("String content does not match pattern facet."); return false; } } @@ -477,7 +477,7 @@ bool XsdTypeChecker::checkConstrainingFacetsString(const QString &value, const X } if (!found) { - errorMsg = QtXmlPatterns::tr("string content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("String content is not listed in the enumeration facet."); return false; } } @@ -494,7 +494,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection); if (facetValue->toInteger() < value) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match the maxInclusive facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match the maxInclusive facet."); return false; } } @@ -502,7 +502,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection); if (facetValue->toInteger() <= value) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match the maxExclusive facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match the maxExclusive facet."); return false; } } @@ -510,7 +510,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection); if (facetValue->toInteger() > value) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match the minInclusive facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match the minInclusive facet."); return false; } } @@ -518,7 +518,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsLong, m_context, m_reflection); if (facetValue->toInteger() >= value) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match the minExclusive facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match the minExclusive facet."); return false; } } @@ -536,7 +536,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const } if (!found) { - errorMsg = QtXmlPatterns::tr("signed integer content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content is not listed in the enumeration facet."); return false; } } @@ -554,7 +554,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const } if (!found) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match pattern facet."); return false; } } @@ -563,7 +563,7 @@ bool XsdTypeChecker::checkConstrainingFacetsSignedInteger(long long value, const const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value(); if (totalDigitsForSignedLongLong(value) > facetValue->toInteger()) { - errorMsg = QtXmlPatterns::tr("signed integer content does not match in the totalDigits facet"); + errorMsg = QtXmlPatterns::tr("Signed integer content does not match in the totalDigits facet."); return false; } } @@ -580,7 +580,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection); if (facetValue->toUnsignedInteger() < value) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the maxInclusive facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match the maxInclusive facet."); return false; } } @@ -588,7 +588,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection); if (facetValue->toUnsignedInteger() <= value) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the maxExclusive facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match the maxExclusive facet."); return false; } } @@ -596,7 +596,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection); if (facetValue->toUnsignedInteger() > value) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the minInclusive facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match the minInclusive facet."); return false; } } @@ -604,7 +604,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsUnsignedLong, m_context, m_reflection); if (facetValue->toUnsignedInteger() >= value) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match the minExclusive facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match the minExclusive facet."); return false; } } @@ -622,7 +622,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v } if (!found) { - errorMsg = QtXmlPatterns::tr("unsigned integer content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content is not listed in the enumeration facet."); return false; } } @@ -640,7 +640,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v } if (!found) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match pattern facet."); return false; } } @@ -649,7 +649,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnsignedInteger(unsigned long long v const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value(); if (totalDigitsForUnsignedLongLong(value) > facetValue->toInteger()) { - errorMsg = QtXmlPatterns::tr("unsigned integer content does not match in the totalDigits facet"); + errorMsg = QtXmlPatterns::tr("Unsigned integer content does not match in the totalDigits facet."); return false; } } @@ -666,7 +666,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection); if (facetValue->toDouble() < value) { - errorMsg = QtXmlPatterns::tr("double content does not match the maxInclusive facet"); + errorMsg = QtXmlPatterns::tr("Double content does not match the maxInclusive facet."); return false; } } @@ -674,7 +674,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection); if (facetValue->toDouble() <= value) { - errorMsg = QtXmlPatterns::tr("double content does not match the maxExclusive facet"); + errorMsg = QtXmlPatterns::tr("Double content does not match the maxExclusive facet."); return false; } } @@ -682,7 +682,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection); if (facetValue->toDouble() > value) { - errorMsg = QtXmlPatterns::tr("double content does not match the minInclusive facet"); + errorMsg = QtXmlPatterns::tr("Double content does not match the minInclusive facet."); return false; } } @@ -690,7 +690,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive); const Numeric::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection); if (facetValue->toDouble() >= value) { - errorMsg = QtXmlPatterns::tr("double content does not match the minExclusive facet"); + errorMsg = QtXmlPatterns::tr("Double content does not match the minExclusive facet."); return false; } } @@ -708,7 +708,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & } if (!found) { - errorMsg = QtXmlPatterns::tr("double content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Double content is not listed in the enumeration facet."); return false; } } @@ -726,7 +726,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString & } if (!found) { - errorMsg = QtXmlPatterns::tr("double content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Double content does not match pattern facet."); return false; } } @@ -744,7 +744,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDecimal(const AtomicValue::Ptr &valu const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value(); if (fractionDigitsForDecimal(lexicalValue) > facetValue->toInteger()) { - errorMsg = QtXmlPatterns::tr("decimal content does not match in the fractionDigits facet"); + errorMsg = QtXmlPatterns::tr("Decimal content does not match in the fractionDigits facet."); return false; } } @@ -753,7 +753,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDecimal(const AtomicValue::Ptr &valu const DerivedInteger<TypePositiveInteger>::Ptr facetValue = facet->value(); if (totalDigitsForDecimal(lexicalValue) > facetValue->toInteger()) { - errorMsg = QtXmlPatterns::tr("decimal content does not match in the totalDigits facet"); + errorMsg = QtXmlPatterns::tr("Decimal content does not match in the totalDigits facet."); return false; } } @@ -767,7 +767,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumInclusive); const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection); if (facetValue->toDateTime() < value) { - errorMsg = QtXmlPatterns::tr("date time content does not match the maxInclusive facet"); + errorMsg = QtXmlPatterns::tr("Date time content does not match the maxInclusive facet."); return false; } } @@ -775,7 +775,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumExclusive); const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection); if (facetValue->toDateTime() <= value) { - errorMsg = QtXmlPatterns::tr("date time content does not match the maxExclusive facet"); + errorMsg = QtXmlPatterns::tr("Date time content does not match the maxExclusive facet."); return false; } } @@ -783,7 +783,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumInclusive); const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection); if (facetValue->toDateTime() > value) { - errorMsg = QtXmlPatterns::tr("date time content does not match the minInclusive facet"); + errorMsg = QtXmlPatterns::tr("Date time content does not match the minInclusive facet."); return false; } } @@ -791,7 +791,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumExclusive); const AbstractDateTime::Ptr facetValue = ValueFactory::fromLexical(facet->value()->as<DerivedString<TypeString> >()->stringValue(), type, m_context, m_reflection); if (facetValue->toDateTime() >= value) { - errorMsg = QtXmlPatterns::tr("date time content does not match the minExclusive facet"); + errorMsg = QtXmlPatterns::tr("Date time content does not match the minExclusive facet."); return false; } } @@ -809,7 +809,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con } if (!found) { - errorMsg = QtXmlPatterns::tr("date time content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Date time content is not listed in the enumeration facet."); return false; } } @@ -827,7 +827,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDateTime(const QDateTime &value, con } if (!found) { - errorMsg = QtXmlPatterns::tr("date time content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Date time content does not match pattern facet."); return false; } } @@ -842,7 +842,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue); if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MaximumInclusive)->value(), AtomicComparator::OperatorLessThan, value, BuiltinTypes::xsDuration, m_context, m_reflection)) { - errorMsg = QtXmlPatterns::tr("duration content does not match the maxInclusive facet"); + errorMsg = QtXmlPatterns::tr("Duration content does not match the maxInclusive facet."); return false; } } @@ -851,7 +851,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue); if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MaximumExclusive)->value(), AtomicComparator::OperatorLessOrEqual, value, BuiltinTypes::xsDuration, m_context, m_reflection)) { - errorMsg = QtXmlPatterns::tr("duration content does not match the maxExclusive facet"); + errorMsg = QtXmlPatterns::tr("Duration content does not match the maxExclusive facet."); return false; } } @@ -860,7 +860,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue); if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MinimumInclusive)->value(), AtomicComparator::OperatorGreaterThan, value, BuiltinTypes::xsDuration, m_context, m_reflection)) { - errorMsg = QtXmlPatterns::tr("duration content does not match the minInclusive facet"); + errorMsg = QtXmlPatterns::tr("Duration content does not match the minInclusive facet."); return false; } } @@ -869,7 +869,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co const DerivedString<TypeString>::Ptr value = DerivedString<TypeString>::fromLexical(m_namePool, lexicalValue); if (XsdSchemaHelper::constructAndCompare(facets.value(XsdFacet::MinimumExclusive)->value(), AtomicComparator::OperatorGreaterOrEqual, value, BuiltinTypes::xsDuration, m_context, m_reflection)) { - errorMsg = QtXmlPatterns::tr("duration content does not match the minExclusive facet"); + errorMsg = QtXmlPatterns::tr("Duration content does not match the minExclusive facet."); return false; } } @@ -887,7 +887,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co } if (!found) { - errorMsg = QtXmlPatterns::tr("duration content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Duration content is not listed in the enumeration facet."); return false; } } @@ -905,7 +905,7 @@ bool XsdTypeChecker::checkConstrainingFacetsDuration(const AtomicValue::Ptr&, co } if (!found) { - errorMsg = QtXmlPatterns::tr("duration content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Duration content does not match pattern facet."); return false; } } @@ -932,7 +932,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBoolean(bool, const QString &lexical } if (!found) { - errorMsg = QtXmlPatterns::tr("boolean content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Boolean content does not match pattern facet."); return false; } } @@ -949,7 +949,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBinary(const QByteArray &value, cons const XsdFacet::Ptr facet = facets.value(XsdFacet::Length); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() != value.length()) { - errorMsg = QtXmlPatterns::tr("binary content does not match the length facet"); + errorMsg = QtXmlPatterns::tr("Binary content does not match the length facet."); return false; } } @@ -957,7 +957,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBinary(const QByteArray &value, cons const XsdFacet::Ptr facet = facets.value(XsdFacet::MinimumLength); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() > value.length()) { - errorMsg = QtXmlPatterns::tr("binary content does not match the minLength facet"); + errorMsg = QtXmlPatterns::tr("Binary content does not match the minLength facet."); return false; } } @@ -965,7 +965,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBinary(const QByteArray &value, cons const XsdFacet::Ptr facet = facets.value(XsdFacet::MaximumLength); const DerivedInteger<TypeNonNegativeInteger>::Ptr length = facet->value(); if (length->toInteger() < value.length()) { - errorMsg = QtXmlPatterns::tr("binary content does not match the maxLength facet"); + errorMsg = QtXmlPatterns::tr("Binary content does not match the maxLength facet."); return false; } } @@ -983,7 +983,7 @@ bool XsdTypeChecker::checkConstrainingFacetsBinary(const QByteArray &value, cons } if (!found) { - errorMsg = QtXmlPatterns::tr("binary content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Binary content is not listed in the enumeration facet."); return false; } } @@ -1010,7 +1010,7 @@ bool XsdTypeChecker::checkConstrainingFacetsQName(const QXmlName &value, const Q } if (facets.contains(XsdFacet::Enumeration)) { if (!XPathHelper::isQName(lexicalValue)) { - errorMsg = QtXmlPatterns::tr("invalid QName content: %1").arg(formatData(lexicalValue)); + errorMsg = QtXmlPatterns::tr("Invalid QName content: %1.").arg(formatData(lexicalValue)); return false; } @@ -1027,7 +1027,7 @@ bool XsdTypeChecker::checkConstrainingFacetsQName(const QXmlName &value, const Q } if (!found) { - errorMsg = QtXmlPatterns::tr("QName content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("QName content is not listed in the enumeration facet."); return false; } } @@ -1045,7 +1045,7 @@ bool XsdTypeChecker::checkConstrainingFacetsQName(const QXmlName &value, const Q } if (!found) { - errorMsg = QtXmlPatterns::tr("QName content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("QName content does not match pattern facet."); return false; } } @@ -1081,7 +1081,7 @@ bool XsdTypeChecker::checkConstrainingFacetsNotation(const QXmlName &value, cons } if (!found) { - errorMsg = QtXmlPatterns::tr("notation content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Notation content is not listed in the enumeration facet."); return false; } } @@ -1100,21 +1100,21 @@ bool XsdTypeChecker::checkConstrainingFacetsList(const QStringList &values, cons if (facets.contains(XsdFacet::Length)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::Length)->value(); if (value->toInteger() != values.count()) { - errorMsg = QtXmlPatterns::tr("list content does not match length facet"); + errorMsg = QtXmlPatterns::tr("List content does not match length facet."); return false; } } if (facets.contains(XsdFacet::MinimumLength)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::MinimumLength)->value(); if (value->toInteger() > values.count()) { - errorMsg = QtXmlPatterns::tr("list content does not match minLength facet"); + errorMsg = QtXmlPatterns::tr("List content does not match minLength facet."); return false; } } if (facets.contains(XsdFacet::MaximumLength)) { const DerivedInteger<TypeNonNegativeInteger>::Ptr value = facets.value(XsdFacet::MaximumLength)->value(); if (value->toInteger() < values.count()) { - errorMsg = QtXmlPatterns::tr("list content does not match maxLength facet"); + errorMsg = QtXmlPatterns::tr("List content does not match maxLength facet."); return false; } } @@ -1204,7 +1204,7 @@ bool XsdTypeChecker::checkConstrainingFacetsList(const QStringList &values, cons } if (!found) { - errorMsg = QtXmlPatterns::tr("list content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("List content is not listed in the enumeration facet."); return false; } } @@ -1222,7 +1222,7 @@ bool XsdTypeChecker::checkConstrainingFacetsList(const QStringList &values, cons } if (!found) { - errorMsg = QtXmlPatterns::tr("list content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("List content does not match pattern facet."); return false; } } @@ -1261,7 +1261,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnion(const QString &value, const QS } if (!found) { - errorMsg = QtXmlPatterns::tr("union content is not listed in the enumeration facet"); + errorMsg = QtXmlPatterns::tr("Union content is not listed in the enumeration facet."); return false; } } @@ -1279,7 +1279,7 @@ bool XsdTypeChecker::checkConstrainingFacetsUnion(const QString &value, const QS } if (!found) { - errorMsg = QtXmlPatterns::tr("union content does not match pattern facet"); + errorMsg = QtXmlPatterns::tr("Union content does not match pattern facet."); return false; } } @@ -1294,7 +1294,7 @@ AtomicValue::Ptr XsdTypeChecker::fromLexical(const QString &value, const SchemaT { if (type->name(m_namePool) == BuiltinTypes::xsNOTATION->name(m_namePool) || type->name(m_namePool) == BuiltinTypes::xsQName->name(m_namePool)) { if (value.simplified().isEmpty()) - return ValidationError::createError(QtXmlPatterns::tr("data of type %1 are not allowed to be empty").arg(formatType(m_namePool, BuiltinTypes::xsNOTATION))); + return ValidationError::createError(QtXmlPatterns::tr("Data of type %1 are not allowed to be empty.").arg(formatType(m_namePool, BuiltinTypes::xsNOTATION))); const QXmlName valueName = convertToQName(value); return QNameValue::fromValue(m_namePool, valueName); diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp index 10318f1..7552c41 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp @@ -157,7 +157,7 @@ bool XsdValidatingInstanceReader::read() if (!m_stateMachines.isEmpty() && hasStateMachine) { if (!m_stateMachines.top().inEndState()) { - error(QtXmlPatterns::tr("element %1 is missing child element").arg(formatKeyword(m_namePool->displayName(elementName)))); + error(QtXmlPatterns::tr("Element %1 is missing child element.").arg(formatKeyword(m_namePool->displayName(elementName)))); return false; } m_stateMachines.pop(); @@ -173,7 +173,7 @@ bool XsdValidatingInstanceReader::read() while (it.hasNext()) { const QString id = it.next(); if (!ids.contains(id)) { - error(QtXmlPatterns::tr("there is one IDREF value with no corresponding ID: %1").arg(formatKeyword(id))); + error(QtXmlPatterns::tr("There is one IDREF value with no corresponding ID: %1.").arg(formatKeyword(id))); return false; } } @@ -200,7 +200,7 @@ bool XsdValidatingInstanceReader::loadSchema(const QString &targetNamespace, con QXmlSchemaPrivate schema(context); schema.load(reply.data(), location, targetNamespace); if (!schema.isValid()) { - error(QtXmlPatterns::tr("loaded schema file is invalid")); + error(QtXmlPatterns::tr("Loaded schema file is invalid.")); return false; } @@ -216,7 +216,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt const QString schemaLocation = attribute(m_xsiSchemaLocationName); const QStringList parts = schemaLocation.split(QLatin1Char(' '), QString::SkipEmptyParts); if ((parts.count()%2) == 1) { - error(QtXmlPatterns::tr("%1 contains invalid data").arg(formatKeyword(m_namePool, m_xsiSchemaLocationName))); + error(QtXmlPatterns::tr("%1 contains invalid data.").arg(formatKeyword(m_namePool, m_xsiSchemaLocationName))); return false; } @@ -229,7 +229,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt // check constraint 4) from http://www.w3.org/TR/xmlschema-1/#schema-loc (only valid for XML Schema 1.0?) if (m_processedNamespaces.contains(parts.at(i))) { - error(QtXmlPatterns::tr("xsi:schemaLocation namespace %1 has already appeared earlier in the instance document").arg(formatKeyword(parts.at(i)))); + error(QtXmlPatterns::tr("xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.").arg(formatKeyword(parts.at(i)))); return false; } @@ -251,7 +251,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt m_processedSchemaLocations.insert(schemaLocation); if (m_processedNamespaces.contains(QString())) { - error(QtXmlPatterns::tr("xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute")); + error(QtXmlPatterns::tr("xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.")); return false; } @@ -269,7 +269,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt m_processedNamespaces.insert(m_namePool->stringForNamespace(name().namespaceURI())); if (!m_schema) { - error(QtXmlPatterns::tr("no schema defined for validation")); + error(QtXmlPatterns::tr("No schema defined for validation.")); return false; } @@ -279,7 +279,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt XsdElement::Ptr element = elementByName(name()); if (!element) { if (!hasAttribute(m_xsiTypeName)) { - error(QtXmlPatterns::tr("no definition for element %1 available").arg(formatKeyword(m_namePool, name()))); + error(QtXmlPatterns::tr("No definition for element %1 available.").arg(formatKeyword(m_namePool, name()))); return false; } @@ -297,7 +297,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt const SchemaType::Ptr elementType = typeByName(typeName); if (!elementType) { - error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName))); + error(QtXmlPatterns::tr("Specified type %1 is not known to the schema.").arg(formatType(m_namePool, typeName))); return false; } element->setType(elementType); @@ -312,7 +312,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt } else { if (!m_stateMachines.top().proceed<QXmlName>(name())) { - error(QtXmlPatterns::tr("element %1 is not defined in this scope").arg(formatKeyword(m_namePool, name()))); + error(QtXmlPatterns::tr("Element %1 is not defined in this scope.").arg(formatKeyword(m_namePool, name()))); return false; } @@ -346,7 +346,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt const SchemaType::Ptr elementType = typeByName(typeName); if (!elementType) { - error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName))); + error(QtXmlPatterns::tr("Specified type %1 is not known to the schema.").arg(formatType(m_namePool, typeName))); return false; } elementDeclaration->setType(elementType); @@ -355,7 +355,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt if (!elementDeclaration) { if (wildcard->processContents() == XsdWildcard::Strict) { - error(QtXmlPatterns::tr("declaration for element %1 does not exist").arg(formatKeyword(m_namePool->displayName(name())))); + error(QtXmlPatterns::tr("Declaration for element %1 does not exist.").arg(formatKeyword(m_namePool->displayName(name())))); return false; } else { // in this case we put a state machine for the xs:anyType on the statemachine stack, @@ -367,7 +367,7 @@ bool XsdValidatingInstanceReader::validate(bool &hasStateMachine, XsdElement::Pt } else { if (!validateElement(elementDeclaration, hasStateMachine)) { if (wildcard->processContents() == XsdWildcard::Strict) { - error(QtXmlPatterns::tr("element %1 contains invalid content").arg(formatKeyword(m_namePool->displayName(name())))); + error(QtXmlPatterns::tr("Element %1 contains invalid content.").arg(formatKeyword(m_namePool->displayName(name())))); return false; } } @@ -440,14 +440,14 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara // 2 if (declaration->isAbstract()) { - error(QtXmlPatterns::tr("element %1 is declared as abstract").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 is declared as abstract.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } // 3 if (!declaration->isNillable()) { if (hasAttribute(m_xsiNilName)) { - error(QtXmlPatterns::tr("element %1 is not nillable").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 is not nillable.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; // 3.1 } } else { @@ -455,7 +455,7 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara const QString value = attribute(m_xsiNilName); const Boolean::Ptr nil = Boolean::fromLexical(value); if (nil->hasError()) { - error(QtXmlPatterns::tr("attribute %1 contains invalid data: %1").arg(formatKeyword(QLatin1String("nil"))).arg(formatData(value))); + error(QtXmlPatterns::tr("Attribute %1 contains invalid data: %2").arg(formatKeyword(QLatin1String("nil."))).arg(formatData(value))); return false; } @@ -463,13 +463,13 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara if (nil->as<Boolean>()->value() == true) { // 3.2.3.1 if (hasChildElement() || hasChildText()) { - error(QtXmlPatterns::tr("element contains content although it is nillable")); + error(QtXmlPatterns::tr("Element contains content although it is nillable.")); return false; } // 3.2.3.2 if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) { - error(QtXmlPatterns::tr("fixed value constrained not allowed if element is nillable")); + error(QtXmlPatterns::tr("Fixed value constrained not allowed if element is nillable.")); return false; } } @@ -488,7 +488,7 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara const SchemaType::Ptr elementType = typeByName(typeName); // 4.1 if (!elementType) { - error(QtXmlPatterns::tr("specified type %1 is not known to the schema").arg(formatType(m_namePool, typeName))); + error(QtXmlPatterns::tr("Specified type %1 is not known to the schema.").arg(formatType(m_namePool, typeName))); return false; } @@ -501,7 +501,7 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara if (!XsdSchemaHelper::isValidlySubstitutable(elementType, declaration->type(), constraints)) { if (declaration->type()->name(m_namePool) != BuiltinTypes::xsAnyType->name(m_namePool)) { // xs:anyType is a valid substitutable type here - error(QtXmlPatterns::tr("specified type %1 is not validly substitutable with element type %2").arg(formatType(m_namePool, elementType)).arg(formatType(m_namePool, declaration->type()))); + error(QtXmlPatterns::tr("Specified type %1 is not validly substitutable with element type %2.").arg(formatType(m_namePool, elementType)).arg(formatType(m_namePool, declaration->type()))); return false; } } @@ -524,7 +524,7 @@ bool XsdValidatingInstanceReader::validateElementType(const XsdElement::Ptr &dec // 2 if (type->isComplexType() && type->isDefinedBySchema()) { if (XsdComplexType::Ptr(type)->isAbstract()) { - error(QtXmlPatterns::tr("complex type %1 is not allowed to be abstract").arg(formatType(m_namePool, type))); + error(QtXmlPatterns::tr("Complex type %1 is not allowed to be abstract.").arg(formatType(m_namePool, type))); return false; } } @@ -545,13 +545,13 @@ bool XsdValidatingInstanceReader::validateElementSimpleType(const XsdElement::Pt QSet<QXmlName> elementAttributes = attributeNames(); elementAttributes.subtract(allowedAttributes); if (!elementAttributes.isEmpty()) { - error(QtXmlPatterns::tr("element %1 contains not allowed attributes").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 contains not allowed attributes.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } // 3.1.2 if (hasChildElement()) { - error(QtXmlPatterns::tr("element %1 contains not allowed child element").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 contains not allowed child element.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } @@ -572,7 +572,7 @@ bool XsdValidatingInstanceReader::validateElementSimpleType(const XsdElement::Pt const XsdTypeChecker checker(m_context, namespaceBindings(item().toNodeModelIndex()), sourceLocation()); if (!checker.isValidString(actualValue, type, errorMsg, &boundType)) { - error(QtXmlPatterns::tr("content of element %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); + error(QtXmlPatterns::tr("Content of element %1 does not match its type definition: %2.").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); return false; } @@ -580,7 +580,7 @@ bool XsdValidatingInstanceReader::validateElementSimpleType(const XsdElement::Pt if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) { const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets); if (!text().isEmpty() && !checker.valuesAreEqual(actualValue, actualConstraintValue, type)) { - error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Content of element %1 does not match defined value constraint.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -640,7 +640,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P // 1.1 if (complexType->contentType()->variety() == XsdComplexType::ContentType::Empty) { if (hasChildText() || hasChildElement()) { - error(QtXmlPatterns::tr("element %1 contains not allowed child content").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 contains not allowed child content.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -648,7 +648,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P // 1.2 if (complexType->contentType()->variety() == XsdComplexType::ContentType::Simple) { if (hasChildElement()) { - error(QtXmlPatterns::tr("element %1 contains not allowed child element").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 contains not allowed child element.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } @@ -665,14 +665,14 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P AnySimpleType::Ptr boundType; const XsdTypeChecker checker(m_context, namespaceBindings(item().toNodeModelIndex()), sourceLocation()); if (!checker.isValidString(actualValue, complexType->contentType()->simpleType(), errorMsg, &boundType)) { - error(QtXmlPatterns::tr("content of element %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); + error(QtXmlPatterns::tr("Content of element %1 does not match its type definition: %2.").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); return false; } // additional check if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) { if (!checker.valuesAreEqual(actualValue, declaration->valueConstraint()->value(), boundType)) { - error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Content of element %1 does not match defined value constraint.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -681,7 +681,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P // 1.3 if (complexType->contentType()->variety() == XsdComplexType::ContentType::ElementOnly) { if (!text().simplified().isEmpty()) { - error(QtXmlPatterns::tr("element %1 contains not allowed text content").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 contains not allowed text content.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -699,7 +699,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P if (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) { if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) { if (hasChildElement()) { - error(QtXmlPatterns::tr("element %1 can not contain other elements, as it has a fixed content").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Element %1 can not contain other elements, as it has a fixed content.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } @@ -713,7 +713,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P } if (actualValue != declaration->valueConstraint()->value()) { - error(QtXmlPatterns::tr("content of element %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Content of element %1 does not match defined value constraint.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -742,7 +742,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P if (usesIt.value()->isRequired()) { if (!attributes.contains(usesIt.key())) { - error(QtXmlPatterns::tr("element %1 is missing required attribute %2").arg(formatKeyword(declaration->displayName(m_namePool))) + error(QtXmlPatterns::tr("Element %1 is missing required attribute %2.").arg(formatKeyword(declaration->displayName(m_namePool))) .arg(formatKeyword(m_namePool->displayName(usesIt.key())))); return false; } @@ -771,7 +771,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P if (complexType->attributeWildcard()) { const XsdWildcard::Ptr wildcard(complexType->attributeWildcard()); if (!validateAttributeWildcard(attributeName, wildcard)) { - error(QtXmlPatterns::tr("attribute %1 does not match the attribute wildcard").arg(formatKeyword(m_namePool->displayName(attributeName)))); + error(QtXmlPatterns::tr("Attribute %1 does not match the attribute wildcard.").arg(formatKeyword(m_namePool->displayName(attributeName)))); return false; } @@ -780,13 +780,13 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P if (!attributeDeclaration) { if (wildcard->processContents() == XsdWildcard::Strict) { - error(QtXmlPatterns::tr("declaration for attribute %1 does not exist").arg(formatKeyword(m_namePool->displayName(attributeName)))); + error(QtXmlPatterns::tr("Declaration for attribute %1 does not exist.").arg(formatKeyword(m_namePool->displayName(attributeName)))); return false; } } else { if (BuiltinTypes::xsID->wxsTypeMatches(attributeDeclaration->type())) { if (hasIDAttribute) { - error(QtXmlPatterns::tr("element %1 contains two attributes of type %2") + error(QtXmlPatterns::tr("Element %1 contains two attributes of type %2.") .arg(formatKeyword(declaration->displayName(m_namePool))) .arg(formatKeyword("ID"))); return false; @@ -797,14 +797,14 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P if (!validateAttribute(attributeDeclaration, attribute(attributeName))) { if (wildcard->processContents() == XsdWildcard::Strict) { - error(QtXmlPatterns::tr("attribute %1 contains invalid content").arg(formatKeyword(m_namePool->displayName(attributeName)))); + error(QtXmlPatterns::tr("Attribute %1 contains invalid content.").arg(formatKeyword(m_namePool->displayName(attributeName)))); return false; } } } } } else { - error(QtXmlPatterns::tr("element %1 contains unknown attribute %2").arg(formatKeyword(declaration->displayName(m_namePool))) + error(QtXmlPatterns::tr("Element %1 contains unknown attribute %2.").arg(formatKeyword(declaration->displayName(m_namePool))) .arg(formatKeyword(m_namePool->displayName(attributeName)))); return false; } @@ -844,7 +844,7 @@ bool XsdValidatingInstanceReader::validateAttribute(const XsdAttributeUse::Ptr & const XsdTypeChecker checker(m_context, namespaceBindings(index), sourceLocation()); if (!checker.isValidString(actualValue, attributeType, errorMsg, &boundType)) { - error(QtXmlPatterns::tr("content of attribute %1 does not match its type definition: %2").arg(formatKeyword(declaration->attribute()->displayName(m_namePool))).arg(errorMsg)); + error(QtXmlPatterns::tr("Content of attribute %1 does not match its type definition: %2.").arg(formatKeyword(declaration->attribute()->displayName(m_namePool))).arg(errorMsg)); return false; } @@ -852,7 +852,7 @@ bool XsdValidatingInstanceReader::validateAttribute(const XsdAttributeUse::Ptr & if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdAttributeUse::ValueConstraint::Fixed) { const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets); if (!checker.valuesAreEqual(actualValue, actualConstraintValue, attributeType)) { - error(QtXmlPatterns::tr("content of attribute %1 does not match defined value constraint").arg(formatKeyword(declaration->attribute()->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Content of attribute %1 does not match defined value constraint.").arg(formatKeyword(declaration->attribute()->displayName(m_namePool)))); return false; } } @@ -890,7 +890,7 @@ bool XsdValidatingInstanceReader::validateAttribute(const XsdAttribute::Ptr &dec const XsdTypeChecker checker(m_context, namespaceBindings(index), sourceLocation()); if (!checker.isValidString(actualValue, attributeType, errorMsg, &boundType)) { - error(QtXmlPatterns::tr("content of attribute %1 does not match its type definition: %2").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); + error(QtXmlPatterns::tr("Content of attribute %1 does not match its type definition: %2.").arg(formatKeyword(declaration->displayName(m_namePool))).arg(errorMsg)); return false; } @@ -898,7 +898,7 @@ bool XsdValidatingInstanceReader::validateAttribute(const XsdAttribute::Ptr &dec if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdAttribute::ValueConstraint::Fixed) { const QString actualConstraintValue = XsdTypeChecker::normalizedValue(declaration->valueConstraint()->value(), facets); if (!checker.valuesAreEqual(actualValue, actualConstraintValue, attributeType)) { - error(QtXmlPatterns::tr("content of attribute %1 does not match defined value constraint").arg(formatKeyword(declaration->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Content of attribute %1 does not match defined value constraint.").arg(formatKeyword(declaration->displayName(m_namePool)))); return false; } } @@ -986,7 +986,7 @@ bool XsdValidatingInstanceReader::validateUniqueIdentityConstraint(const XsdElem continue; if (node.fieldsAreEqual(innerNode, m_namePool, m_context, &reflection)) { - error(QtXmlPatterns::tr("non-unique value found for constraint %1").arg(formatKeyword(constraint->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Non-unique value found for constraint %1.").arg(formatKeyword(constraint->displayName(m_namePool)))); return false; } } @@ -1006,7 +1006,7 @@ bool XsdValidatingInstanceReader::validateKeyIdentityConstraint(const XsdElement // 4.2.1 if (targetNodeSet.count() != qualifiedNodeSet.count()) { - error(QtXmlPatterns::tr("key constraint %1 contains absent fields").arg(formatKeyword(constraint->displayName(m_namePool)))); + error(QtXmlPatterns::tr("Key constraint %1 contains absent fields.").arg(formatKeyword(constraint->displayName(m_namePool)))); return false; } @@ -1024,7 +1024,7 @@ bool XsdValidatingInstanceReader::validateKeyIdentityConstraint(const XsdElement if (m_model->kind(index) == QXmlNodeModelIndex::Element) { const XsdElement::Ptr declaration = m_model->assignedElement(index); if (declaration && declaration->isNillable()) { - error(QtXmlPatterns::tr("key constraint %1 contains references nillable element %2") + error(QtXmlPatterns::tr("Key constraint %1 contains references nillable element %2.") .arg(formatKeyword(constraint->displayName(m_namePool))) .arg(formatKeyword(declaration->displayName(m_namePool)))); return false; @@ -1064,7 +1064,7 @@ bool XsdValidatingInstanceReader::validateKeyRefIdentityConstraint(const XsdElem } if (!foundMatching) { - error(QtXmlPatterns::tr("no referenced value found for key reference %1").arg(formatKeyword(constraint->displayName(m_namePool)))); + error(QtXmlPatterns::tr("No referenced value found for key reference %1.").arg(formatKeyword(constraint->displayName(m_namePool)))); return false; } } @@ -1128,7 +1128,7 @@ bool XsdValidatingInstanceReader::selectNodeSets(const XsdElement::Ptr&, const Q } if (fieldVector.count() > 1) { - error(QtXmlPatterns::tr("more than one value found for field %1").arg(formatData(field->expression()))); + error(QtXmlPatterns::tr("More than one value found for field %1.").arg(formatData(field->expression()))); return false; } @@ -1148,7 +1148,7 @@ bool XsdValidatingInstanceReader::selectNodeSets(const XsdElement::Ptr&, const Q } } if (!typeOk) { - error(QtXmlPatterns::tr("field %1 has no simple type").arg(formatData(field->expression()))); + error(QtXmlPatterns::tr("Field %1 has no simple type.").arg(formatData(field->expression()))); return false; } @@ -1221,7 +1221,7 @@ SchemaType::Ptr XsdValidatingInstanceReader::typeByName(const QXmlName &name) co void XsdValidatingInstanceReader::addIdIdRefBinding(const QString &id, const NamedSchemaComponent::Ptr &binding) { if (!m_model->idIdRefBindings(id).isEmpty()) { - error(QtXmlPatterns::tr("ID value '%1' is not unique").arg(formatKeyword(id))); + error(QtXmlPatterns::tr("ID value '%1' is not unique.").arg(formatKeyword(id))); return; } @@ -1232,7 +1232,7 @@ QString XsdValidatingInstanceReader::qNameAttribute(const QXmlName &attributeNam { const QString value = attribute(attributeName).simplified(); if (!XPathHelper::isQName(value)) { - error(QtXmlPatterns::tr("'%1' attribute contains invalid QName content: %2").arg(m_namePool->displayName(attributeName)).arg(formatData(value))); + error(QtXmlPatterns::tr("'%1' attribute contains invalid QName content: %2.").arg(m_namePool->displayName(attributeName)).arg(formatData(value))); return QString(); } else { return value; diff --git a/src/xmlpatterns/type/qanytype.cpp b/src/xmlpatterns/type/qanytype.cpp index cb9ef37..8966220 100644 --- a/src/xmlpatterns/type/qanytype.cpp +++ b/src/xmlpatterns/type/qanytype.cpp @@ -69,7 +69,7 @@ QXmlName AnyType::name(const NamePool::Ptr &np) const return np->allocateQName(StandardNamespaces::xs, QLatin1String("anyType")); } -QString AnyType::displayName(const NamePool::Ptr &np) const +QString AnyType::displayName(const NamePool::Ptr &) const { /* A bit faster than calling name()->displayName() */ return QLatin1String("xs:anyType"); diff --git a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp index 907aade..0be5cb0 100644 --- a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp +++ b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp @@ -179,7 +179,6 @@ void tst_CompilerWarnings::warnings() << "-Wno-long-long" << "-Wshadow" << "-Wpacked" << "-Wunreachable-code" << "-Wundef" << "-Wchar-subscripts" << "-Wformat-nonliteral" << "-Wformat-security" << "-Wcast-align" - << "-Wfloat-equal" << "-o" << tmpFile << tmpSourceFile; #elif defined(Q_CC_XLC) diff --git a/tests/auto/mediaobject/tst_mediaobject.cpp b/tests/auto/mediaobject/tst_mediaobject.cpp index 556e465..16b2611 100644 --- a/tests/auto/mediaobject/tst_mediaobject.cpp +++ b/tests/auto/mediaobject/tst_mediaobject.cpp @@ -89,7 +89,7 @@ const qint64 SEEK_BACKWARDS = 2000; const qint64 ALLOWED_TIME_FOR_SEEKING = 1500; // 1.5s const qint64 SEEKING_TOLERANCE = 250; #else -#if defined(Q_OS_WIN) || defined(Q_OS_MAC) +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) || defined(Q_OS_SYMBIAN) #define MEDIA_FILE "/sax.mp3" #define MEDIA_FILEPATH ":/media/sax.mp3" #else @@ -207,6 +207,11 @@ void tst_MediaObject::stateChanged(Phonon::State newstate, Phonon::State oldstat void tst_MediaObject::testPlayFromResource() { +#ifdef Q_OS_SYMBIAN + QSKIP("Not implemented yet.", SkipAll); + return; +#endif + QFile file(MEDIA_FILEPATH); MediaObject media; media.setCurrentSource(&file); diff --git a/tests/auto/networkselftest/.gitattributes b/tests/auto/networkselftest/.gitattributes new file mode 100644 index 0000000..e04709a --- /dev/null +++ b/tests/auto/networkselftest/.gitattributes @@ -0,0 +1 @@ +rfc3252.txt -crlf diff --git a/tests/auto/q3table/tst_q3table.cpp b/tests/auto/q3table/tst_q3table.cpp index 770bf4d..bffb118 100644 --- a/tests/auto/q3table/tst_q3table.cpp +++ b/tests/auto/q3table/tst_q3table.cpp @@ -1200,7 +1200,7 @@ protected: void tst_Q3Table::editCheck() { // Test for task 28086 -#if 0 +#if 1 QSKIP("This test currently fails on all versions", SkipAll); #endif diff --git a/tests/auto/qactiongroup/tst_qactiongroup.cpp b/tests/auto/qactiongroup/tst_qactiongroup.cpp index c290941..2d215a0 100644 --- a/tests/auto/qactiongroup/tst_qactiongroup.cpp +++ b/tests/auto/qactiongroup/tst_qactiongroup.cpp @@ -226,6 +226,14 @@ void tst_QActionGroup::separators() mw.show(); +#ifdef QT_SOFTKEYS_ENABLED + // Softkeys add extra "Select" and "Back" actions to menu by default. + // Two first actions will be Select and Back when softkeys are enabled + int numSoftkeyActions = 2; +#else + int numSoftkeyActions = 0; +#endif + QAction *action = new QAction(&actGroup); action->setText("test one"); @@ -237,13 +245,13 @@ void tst_QActionGroup::separators() while (it.hasNext()) menu.addAction(it.next()); - QCOMPARE((int)menu.actions().size(), 2); + QCOMPARE((int)menu.actions().size(), 2 + numSoftkeyActions); it = QListIterator<QAction*>(actGroup.actions()); while (it.hasNext()) menu.removeAction(it.next()); - QCOMPARE((int)menu.actions().size(), 0); + QCOMPARE((int)menu.actions().size(), 0 + numSoftkeyActions); action = new QAction(&actGroup); action->setText("test two"); @@ -252,7 +260,7 @@ void tst_QActionGroup::separators() while (it.hasNext()) menu.addAction(it.next()); - QCOMPARE((int)menu.actions().size(), 3); + QCOMPARE((int)menu.actions().size(), 3 + numSoftkeyActions); } void tst_QActionGroup::testActionInTwoQActionGroup() diff --git a/tests/auto/qaudioinput/tst_qaudioinput.cpp b/tests/auto/qaudioinput/tst_qaudioinput.cpp index 69b507d..3945364 100644 --- a/tests/auto/qaudioinput/tst_qaudioinput.cpp +++ b/tests/auto/qaudioinput/tst_qaudioinput.cpp @@ -139,12 +139,14 @@ void tst_QAudioInput::pullFile() // Always have default states, before start QVERIFY(audio->state() == QAudio::StopState); QVERIFY(audio->error() == QAudio::NoError); + QVERIFY(audio->clock() == 0); audio->start(&filename); QTest::qWait(20); // Check state and periodSize() are valid non-zero values. QVERIFY(audio->state() == QAudio::ActiveState); QVERIFY(audio->error() == QAudio::NoError); + QVERIFY(audio->clock() > 0); QVERIFY(audio->periodSize() > 0); QVERIFY(stateSignal.count() == 1); // State changed to QAudio::ActiveState @@ -157,6 +159,7 @@ void tst_QAudioInput::pullFile() audio->stop(); QTest::qWait(20); QVERIFY(audio->state() == QAudio::StopState); + QVERIFY(audio->clock() == 0); // Can only check to make sure we got at least 1 more signal, but can be more. QVERIFY(stateSignal.count() > 1); diff --git a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp index f1c75dc..b90873e 100644 --- a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp +++ b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp @@ -142,6 +142,7 @@ void tst_QAudioOutput::pullFile() // Always have default states, before start QVERIFY(audio->state() == QAudio::StopState); QVERIFY(audio->error() == QAudio::NoError); + QVERIFY(audio->clock() == 0); audio->start(&file); QTest::qWait(20); // wait 20ms @@ -149,6 +150,7 @@ void tst_QAudioOutput::pullFile() QVERIFY(audio->state() == QAudio::ActiveState); QVERIFY(audio->error() == QAudio::NoError); QVERIFY(audio->periodSize() > 0); + QVERIFY(audio->clock() > 0); QVERIFY(stateSignal.count() == 1); // State changed to QAudio::ActiveState // Wait until finished... @@ -160,6 +162,7 @@ void tst_QAudioOutput::pullFile() audio->stop(); QTest::qWait(20); // wait 20ms QVERIFY(audio->state() == QAudio::StopState); + QVERIFY(audio->clock() == 0); // Can only check to make sure we got at least 1 more signal, but can be more. QVERIFY(stateSignal.count() > 1); diff --git a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp index 502c2d1..11c1f47 100644 --- a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp @@ -173,10 +173,11 @@ void tst_QButtonGroup::arrowKeyNavigation() dlg.show(); qApp->setActiveWindow(&dlg); + QTest::qWaitForWindowShown(&dlg); bt1.setFocus(); - QVERIFY(bt1.hasFocus()); + QTRY_VERIFY(bt1.hasFocus()); QTest::keyClick(&bt1, Qt::Key_Right); QVERIFY(pb.hasFocus()); diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp index 6984a88..e76f0f7 100644 --- a/tests/auto/qcombobox/tst_qcombobox.cpp +++ b/tests/auto/qcombobox/tst_qcombobox.cpp @@ -746,7 +746,7 @@ void tst_QComboBox::virtualAutocompletion() // We need to set the keyboard input interval to a higher value // as the processEvent() call takes too much time, so it restarts // the keyboard search then -#if defined(QT_ARCH_ARM) || defined(QT_ARCH_MIPS) +#if defined(QT_ARCH_ARM) || defined(QT_ARCH_MIPS) || defined(QT_ARCH_SYMBIAN) int oldInterval = QApplication::keyboardInputInterval(); QApplication::setKeyboardInputInterval(1500); #endif @@ -782,7 +782,7 @@ void tst_QComboBox::virtualAutocompletion() QApplication::sendEvent(testWidget, &kr2); qApp->processEvents(); // Process events to trigger autocompletion QTRY_COMPARE(testWidget->currentIndex(), 3); -#if defined(QT_ARCH_ARM) || defined(QT_ARCH_MIPS) +#if defined(QT_ARCH_ARM) || defined(QT_ARCH_MIPS) || defined(QT_ARCH_SYMBIAN) QApplication::setKeyboardInputInterval(oldInterval); #endif } diff --git a/tests/auto/qdatastream/tst_qdatastream.cpp b/tests/auto/qdatastream/tst_qdatastream.cpp index 4f7b34e..add0945 100644 --- a/tests/auto/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/qdatastream/tst_qdatastream.cpp @@ -204,6 +204,8 @@ private slots: void streamRealDataTypes(); + void floatingPointPrecision(); + #ifdef QT3_SUPPORT void task_224283(); #endif @@ -288,7 +290,8 @@ static int NColorRoles[] = { QPalette::AlternateBase + 1, // Qt_4_3 QPalette::ToolTipText + 1, // Qt_4_4 QPalette::ToolTipText + 1, // Qt_4_5 - 0 // add the correct value for Qt_4_6 here later + QPalette::ToolTipText + 1, // Qt_4_6 + 0 // add the correct value for Qt_4_7 here later }; // Testing get/set functions @@ -2538,9 +2541,12 @@ void tst_QDataStream::skipRawData() QFETCH(QByteArray, littleEndianData); \ QFETCH(int, expectedStatus); \ QFETCH(double, expectedValue); \ + \ + QDataStream::FloatingPointPrecision prec = sizeof(T) == sizeof(double) ? QDataStream::DoublePrecision : QDataStream::SinglePrecision; \ \ { \ QDataStream stream(&bigEndianData, QIODevice::ReadOnly); \ + stream.setFloatingPointPrecision(prec); \ T i; \ stream >> i; \ QCOMPARE((int) stream.status(), expectedStatus); \ @@ -2549,6 +2555,7 @@ void tst_QDataStream::skipRawData() { \ QDataStream stream(&littleEndianData, QIODevice::ReadOnly); \ stream.setByteOrder(QDataStream::LittleEndian); \ + stream.setFloatingPointPrecision(prec); \ T i; \ stream >> i; \ QCOMPARE((int) stream.status(), expectedStatus); \ @@ -3359,6 +3366,55 @@ void tst_QDataStream::compatibility_Qt2() QVERIFY(in_palette.color(QPalette::Light) == Qt::green); } +void tst_QDataStream::floatingPointPrecision() +{ + QByteArray ba; + { + QDataStream stream(&ba, QIODevice::WriteOnly); + QCOMPARE(QDataStream::DoublePrecision, stream.floatingPointPrecision()); + + float f = 123.0f; + stream << f; + QCOMPARE(ba.size(), int(sizeof(double))); + + double d = 234.0; + stream << d; + QCOMPARE(ba.size(), int(sizeof(double)*2)); + + stream.setFloatingPointPrecision(QDataStream::SinglePrecision); + + f = 123.0f; + stream << f; + QCOMPARE(ba.size(), int(sizeof(double)*2 + sizeof(float))); + + d = 234.0; + stream << d; + QCOMPARE(ba.size(), int(sizeof(double)*2 + sizeof(float)*2)); + } + + { + QDataStream stream(ba); + + float f = 0.0f; + stream >> f; + QCOMPARE(123.0f, f); + + double d = 0.0; + stream >> d; + QCOMPARE(234.0, d); + + f = 0.0f; + stream.setFloatingPointPrecision(QDataStream::SinglePrecision); + stream >> f; + QCOMPARE(123.0f, f); + + d = 0.0; + stream >> d; + QCOMPARE(234.0, d); + } + +} + QTEST_MAIN(tst_QDataStream) #include "tst_qdatastream.moc" diff --git a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp index f4ea985..3d2fa42 100644 --- a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp +++ b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp @@ -936,19 +936,29 @@ void tst_QDoubleSpinBox::undoRedo() //testing CTRL+Z (undo) int val = QKeySequence(QKeySequence::Undo)[0]; - Qt::KeyboardModifiers mods = (Qt::KeyboardModifiers)(val & Qt::KeyboardModifierMask); - QTest::keyClick(&spin, val & ~mods, mods); - QCOMPARE(spin.value(), 0.0); - QVERIFY(!spin.lineEdit()->isUndoAvailable()); - QVERIFY(spin.lineEdit()->isRedoAvailable()); + if (val != 0) { + Qt::KeyboardModifiers mods = (Qt::KeyboardModifiers)(val & Qt::KeyboardModifierMask); + QTest::keyClick(&spin, val & ~mods, mods); + QCOMPARE(spin.value(), 0.0); + QVERIFY(!spin.lineEdit()->isUndoAvailable()); + QVERIFY(spin.lineEdit()->isRedoAvailable()); + } else { + QWARN("Undo not tested because no key sequence associated to QKeySequence::Redo"); + } + //testing CTRL+Y (redo) val = QKeySequence(QKeySequence::Redo)[0]; - mods = (Qt::KeyboardModifiers)(val & Qt::KeyboardModifierMask); - QTest::keyClick(&spin, val & ~mods, mods); - QCOMPARE(spin.value(), 1.0); - QVERIFY(!spin.lineEdit()->isRedoAvailable()); - QVERIFY(spin.lineEdit()->isUndoAvailable()); + if (val != 0) { + Qt::KeyboardModifiers mods = (Qt::KeyboardModifiers)(val & Qt::KeyboardModifierMask); + QTest::keyClick(&spin, val & ~mods, mods); + QCOMPARE(spin.value(), 1.0); + QVERIFY(!spin.lineEdit()->isRedoAvailable()); + QVERIFY(spin.lineEdit()->isUndoAvailable()); + } else { + QWARN("Redo not tested because no key sequence associated to QKeySequence::Redo"); + } + spin.setValue(55.0); QVERIFY(!spin.lineEdit()->isUndoAvailable()); diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index 1aa5ee1..f6b082f 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -169,6 +169,8 @@ private slots: void task257579_sideBarWithNonCleanUrls(); void task259105_filtersCornerCases(); + void QTBUG4419_lineEditSelectAll(); + private: QByteArray userSettings; }; @@ -2153,5 +2155,32 @@ void tst_QFiledialog::task259105_filtersCornerCases() filters->setCurrentIndex(1); QCOMPARE(filters->currentText(), QLatin1String("Text Files")); } + +void tst_QFiledialog::QTBUG4419_lineEditSelectAll() +{ + QString tempPath = QDir::tempPath(); + QTemporaryFile *t; + t = new QTemporaryFile; + t->open(); + QNonNativeFileDialog fd(0, "TestFileDialog", t->fileName()); + + fd.setDirectory(tempPath); + fd.setViewMode(QFileDialog::List); + fd.setAcceptMode(QFileDialog::AcceptSave); + fd.setFileMode(QFileDialog::AnyFile); + + fd.show(); + QApplication::setActiveWindow(&fd); + QTest::qWaitForWindowShown(&fd); + QTRY_COMPARE(fd.isVisible(), true); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&fd)); + + QTest::qWait(250); + QLineEdit *lineEdit = qFindChild<QLineEdit*>(&fd, "fileNameEdit"); + + QCOMPARE(tempPath + QChar('/') + lineEdit->text(), t->fileName()); + QCOMPARE(tempPath + QChar('/') + lineEdit->selectedText(), t->fileName()); +} + QTEST_MAIN(tst_QFiledialog) #include "tst_qfiledialog.moc" diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp index a388f0a..2cc2558 100644 --- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -806,6 +806,19 @@ void tst_QFileSystemModel::sort() QDir dir(QDir::tempPath()); dir.mkdir("sortTemp"); dir.cd("sortTemp"); + QTRY_VERIFY(dir.exists()); + + //To be sure we clean the dir if it was there before + QDirIterator it(dir.absolutePath(), QDir::NoDotAndDotDot); + while(it.hasNext()) + { + it.next(); + QFileInfo info = it.fileInfo(); + if (info.isDir()) + dir.rmdir(info.fileName()); + else + QFile::remove(info.absoluteFilePath()); + } const QString dirPath = dir.absolutePath(); QVERIFY(dir.exists()); @@ -823,7 +836,7 @@ void tst_QFileSystemModel::sort() out2 << "The magic number is : " << 49 << " but i write some stuff in the file \n"; tempFile2.close(); - myModel->setRootPath(QDir::rootPath()); + myModel->setRootPath(""); myModel->setFilter(QDir::AllEntries | QDir::System | QDir::Hidden); tree->setSortingEnabled(true); tree->setModel(myModel); @@ -846,11 +859,22 @@ void tst_QFileSystemModel::sort() tree->expand(myModel->index(dirPath, 0)); QTest::qWait(500); QModelIndex parent = myModel->index(dirPath, 0); + QList<QString> expectedOrder; + expectedOrder << tempFile2.fileName() << tempFile.fileName() << dirPath + QChar('/') + "." << dirPath + QChar('/') + ".."; //File dialog Mode means sub trees are not sorted, only the current root - if (fileDialogMode) - QVERIFY(dirPath + QChar('/') + myModel->index(0, 1, parent).data(QFileSystemModel::FileNameRole).toString() != tempFile2.fileName()); - else - QCOMPARE(dirPath + QChar('/') + myModel->index(0, 1, parent).data(QFileSystemModel::FileNameRole).toString(), tempFile2.fileName()); + if (fileDialogMode) { + QList<QString> actualRows; + for(int i = 0; i < myModel->rowCount(parent); ++i) + { + actualRows << dirPath + QChar('/') + myModel->index(i, 1, parent).data(QFileSystemModel::FileNameRole).toString(); + } + QVERIFY(actualRows != expectedOrder); + } else { + for(int i = 0; i < myModel->rowCount(parent); ++i) + { + QVERIFY(dirPath + QChar('/') + myModel->index(i, 1, parent).data(QFileSystemModel::FileNameRole).toString() == expectedOrder.at(i)); + } + } delete tree; delete myModel; diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp index 999d119..f15b249 100644 --- a/tests/auto/qgl/tst_qgl.cpp +++ b/tests/auto/qgl/tst_qgl.cpp @@ -54,6 +54,10 @@ #include <QGraphicsProxyWidget> #include <QVBoxLayout> +#ifdef QT_BUILD_INTERNAL +#include <QtOpenGL/private/qgl_p.h> +#endif + //TESTED_CLASS= //TESTED_FILES= @@ -84,6 +88,8 @@ private slots: void testDontCrashOnDanglingResources(); void replaceClipping(); void clipTest(); + void destroyFBOAfterContext(); + void shareRegister(); }; tst_QGL::tst_QGL() @@ -1720,6 +1726,150 @@ void tst_QGL::clipTest() QCOMPARE(widgetFB, reference); } +void tst_QGL::destroyFBOAfterContext() +{ + if (!QGLFramebufferObject::hasOpenGLFramebufferObjects()) + QSKIP("QGLFramebufferObject not supported on this platform", SkipSingle); + + QGLWidget *glw = new QGLWidget(); + glw->makeCurrent(); + + // No multisample with combined depth/stencil attachment: + QGLFramebufferObjectFormat fboFormat; + fboFormat.setAttachment(QGLFramebufferObject::CombinedDepthStencil); + + // Don't complicate things by using NPOT: + QGLFramebufferObject *fbo = new QGLFramebufferObject(256, 128, fboFormat); + + // The handle should be valid until the context is destroyed. + QVERIFY(fbo->handle() != 0); + QVERIFY(fbo->isValid()); + + delete glw; + + // The handle should now be zero. + QVERIFY(fbo->handle() == 0); + QVERIFY(!fbo->isValid()); + + delete fbo; +} + +void tst_QGL::shareRegister() +{ +#ifdef QT_BUILD_INTERNAL + QGLShareRegister *shareReg = qgl_share_reg(); + QVERIFY(shareReg != 0); + + // Create a context. + QGLWidget *glw1 = new QGLWidget(); + glw1->makeCurrent(); + + // Nothing should be sharing with glw1's context yet. + QList<const QGLContext *> list; + list = shareReg->shares(glw1->context()); + QCOMPARE(list.size(), 0); + + // Create a guard for the first context. + QGLSharedResourceGuard guard(glw1->context()); + QVERIFY(guard.id() == 0); + guard.setId(3); + QVERIFY(guard.id() == 3); + + // Create another context that shares with the first. + QGLWidget *glw2 = new QGLWidget(0, glw1); + if (!glw2->isSharing()) { + delete glw2; + delete glw1; + QSKIP("Context sharing is not supported", SkipSingle); + } + QVERIFY(glw1->context() != glw2->context()); + + // Guard should still be the same. + QVERIFY(guard.context() == glw1->context()); + QVERIFY(guard.id() == 3); + + // Now there are two items in the share lists. + list = shareReg->shares(glw1->context()); + QCOMPARE(list.size(), 2); + QVERIFY(list.contains(glw1->context())); + QVERIFY(list.contains(glw2->context())); + list = shareReg->shares(glw2->context()); + QCOMPARE(list.size(), 2); + QVERIFY(list.contains(glw1->context())); + QVERIFY(list.contains(glw2->context())); + + // Check the sharing relationships. + QVERIFY(QGLContext::areSharing(glw1->context(), glw1->context())); + QVERIFY(QGLContext::areSharing(glw2->context(), glw2->context())); + QVERIFY(QGLContext::areSharing(glw1->context(), glw2->context())); + QVERIFY(QGLContext::areSharing(glw2->context(), glw1->context())); + QVERIFY(!QGLContext::areSharing(0, glw2->context())); + QVERIFY(!QGLContext::areSharing(glw1->context(), 0)); + QVERIFY(!QGLContext::areSharing(0, 0)); + + // Create a third context, not sharing with the others. + QGLWidget *glw3 = new QGLWidget(); + + // Create a guard on the standalone context. + QGLSharedResourceGuard guard3(glw3->context()); + guard3.setId(5); + + // First two should still be sharing, but third is in its own list. + list = shareReg->shares(glw1->context()); + QCOMPARE(list.size(), 2); + QVERIFY(list.contains(glw1->context())); + QVERIFY(list.contains(glw2->context())); + list = shareReg->shares(glw2->context()); + QCOMPARE(list.size(), 2); + QVERIFY(list.contains(glw1->context())); + QVERIFY(list.contains(glw2->context())); + list = shareReg->shares(glw3->context()); + QCOMPARE(list.size(), 0); + + // Check the sharing relationships again. + QVERIFY(QGLContext::areSharing(glw1->context(), glw1->context())); + QVERIFY(QGLContext::areSharing(glw2->context(), glw2->context())); + QVERIFY(QGLContext::areSharing(glw1->context(), glw2->context())); + QVERIFY(QGLContext::areSharing(glw2->context(), glw1->context())); + QVERIFY(!QGLContext::areSharing(glw1->context(), glw3->context())); + QVERIFY(!QGLContext::areSharing(glw2->context(), glw3->context())); + QVERIFY(!QGLContext::areSharing(glw3->context(), glw1->context())); + QVERIFY(!QGLContext::areSharing(glw3->context(), glw2->context())); + QVERIFY(QGLContext::areSharing(glw3->context(), glw3->context())); + QVERIFY(!QGLContext::areSharing(0, glw2->context())); + QVERIFY(!QGLContext::areSharing(glw1->context(), 0)); + QVERIFY(!QGLContext::areSharing(0, glw3->context())); + QVERIFY(!QGLContext::areSharing(glw3->context(), 0)); + QVERIFY(!QGLContext::areSharing(0, 0)); + + // Shared guard should still be the same. + QVERIFY(guard.context() == glw1->context()); + QVERIFY(guard.id() == 3); + + // Delete the first context. + delete glw1; + + // Shared guard should now be the second context, with the id the same. + QVERIFY(guard.context() == glw2->context()); + QVERIFY(guard.id() == 3); + QVERIFY(guard3.context() == glw3->context()); + QVERIFY(guard3.id() == 5); + + // Re-check the share list for the second context (should be empty now). + list = shareReg->shares(glw2->context()); + QCOMPARE(list.size(), 0); + + // Clean up. + delete glw2; + delete glw3; + + // Guards should now be null and the id zero. + QVERIFY(guard.context() == 0); + QVERIFY(guard.id() == 0); + QVERIFY(guard3.context() == 0); + QVERIFY(guard3.id() == 0); +#endif +} QTEST_MAIN(tst_QGL) #include "tst_qgl.moc" diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 2fee98d..9f13aca 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -40,9 +40,10 @@ ****************************************************************************/ #include <QtTest/QtTest> -#include <qgraphicsanchorlayout.h> -#include <qgraphicswidget.h> -#include <qgraphicsproxywidget.h> +#include <QtGui/qgraphicsanchorlayout.h> +#include <private/qgraphicsanchorlayout_p.h> +#include <QtGui/qgraphicswidget.h> +#include <QtGui/qgraphicsproxywidget.h> #include <QtGui/qgraphicsview.h> class tst_QGraphicsAnchorLayout : public QObject { @@ -142,6 +143,11 @@ static bool checkReverseDirection(QGraphicsWidget *w) return true; } +static bool layoutHasConflict(QGraphicsAnchorLayout *l) +{ + return QGraphicsAnchorLayoutPrivate::get(l)->hasConflicts(); +} + void tst_QGraphicsAnchorLayout::simple() { QGraphicsWidget *w1 = createItem(); @@ -154,8 +160,6 @@ void tst_QGraphicsAnchorLayout::simple() QGraphicsWidget p; p.setLayout(l); - QVERIFY(l->hasConflicts() == false); - QCOMPARE(l->count(), 2); } @@ -185,8 +189,6 @@ void tst_QGraphicsAnchorLayout::simple_center() setAnchor(l, b, Qt::AnchorBottom, c, Qt::AnchorTop, 0); setAnchor(l, c, Qt::AnchorBottom, l, Qt::AnchorBottom, 0); - QVERIFY(l->hasConflicts() == false); - QCOMPARE(l->count(), 3); QGraphicsWidget *p = new QGraphicsWidget(0, Qt::Window); @@ -234,8 +236,6 @@ void tst_QGraphicsAnchorLayout::simple_semifloat() setAnchor(l, a, Qt::AnchorBottom, l, Qt::AnchorBottom, 0); setAnchor(l, b, Qt::AnchorBottom, l, Qt::AnchorBottom, 0); - QVERIFY(l->hasConflicts() == false); - QCOMPARE(l->count(), 4); QGraphicsWidget *p = new QGraphicsWidget(0, Qt::Window); @@ -296,7 +296,6 @@ void tst_QGraphicsAnchorLayout::layoutDirection() view->show(); QCOMPARE(checkReverseDirection(p), true); - QVERIFY(l->hasConflicts() == false); delete p; delete view; @@ -340,8 +339,6 @@ void tst_QGraphicsAnchorLayout::diagonal() l->addAnchor(e, Qt::AnchorRight, l, Qt::AnchorRight); l->addAnchor(d, Qt::AnchorRight, e, Qt::AnchorLeft); - QVERIFY(l->hasConflicts() == false); - QCOMPARE(l->count(), 5); QGraphicsWidget p; @@ -391,7 +388,7 @@ void tst_QGraphicsAnchorLayout::diagonal() QCOMPARE(checkReverseDirection(&p), true); c->setMinimumWidth(300); - QVERIFY(l->hasConflicts()); + QVERIFY(layoutHasConflict(l)); } void tst_QGraphicsAnchorLayout::parallel() @@ -484,8 +481,6 @@ void tst_QGraphicsAnchorLayout::parallel() QCOMPARE(e->geometry(), QRectF(375, 400, 175, 100)); QCOMPARE(f->geometry(), QRectF(550, 500, 200, 100)); QCOMPARE(p.size(), layoutMaximumSize); - - QVERIFY(l->hasConflicts() == false); } void tst_QGraphicsAnchorLayout::parallel2() @@ -510,7 +505,6 @@ void tst_QGraphicsAnchorLayout::parallel2() l->addAnchor(l, Qt::AnchorLeft, b, Qt::AnchorLeft); l->addAnchor(b, Qt::AnchorRight, a, Qt::AnchorRight); - QVERIFY(l->hasConflicts() == false); QCOMPARE(l->count(), 2); QGraphicsWidget p; @@ -592,8 +586,6 @@ void tst_QGraphicsAnchorLayout::snake() QCOMPARE(b->geometry(), QRectF(90.0, 100.0, 10.0, 100.0)); QCOMPARE(c->geometry(), QRectF(90.0, 200.0, 100.0, 100.0)); QCOMPARE(p.size(), layoutMaximumSize); - - QVERIFY(l->hasConflicts() == false); } void tst_QGraphicsAnchorLayout::snakeOppositeDirections() @@ -627,7 +619,6 @@ void tst_QGraphicsAnchorLayout::snakeOppositeDirections() l->addAnchor(c, Qt::AnchorRight, l, Qt::AnchorRight); - QVERIFY(l->hasConflicts() == false); QCOMPARE(l->count(), 3); QGraphicsWidget p; @@ -731,8 +722,6 @@ void tst_QGraphicsAnchorLayout::fairDistribution() QCOMPARE(c->geometry(), QRectF(200.0, 200.0, 100.0, 100.0)); QCOMPARE(d->geometry(), QRectF(0.0, 300.0, 300.0, 100.0)); QCOMPARE(p.size(), layoutMaximumSize); - - QVERIFY(l->hasConflicts() == false); } void tst_QGraphicsAnchorLayout::fairDistributionOppositeDirections() @@ -809,8 +798,6 @@ void tst_QGraphicsAnchorLayout::fairDistributionOppositeDirections() QCOMPARE(a->size(), d->size()); QCOMPARE(e->size().width(), 4 * a->size().width()); QCOMPARE(p.size(), layoutMaximumSize); - - QVERIFY(l->hasConflicts() == false); } void tst_QGraphicsAnchorLayout::proportionalPreferred() @@ -873,8 +860,6 @@ void tst_QGraphicsAnchorLayout::proportionalPreferred() QCOMPARE(a->size().width(), 10 * factor); QCOMPARE(c->size().width(), 14 * factor); QCOMPARE(p.size(), QSizeF(12, 400)); - - QVERIFY(l->hasConflicts() == false); } void tst_QGraphicsAnchorLayout::example() @@ -928,7 +913,6 @@ void tst_QGraphicsAnchorLayout::example() l->addAnchor(l, Qt::AnchorLeft, g, Qt::AnchorLeft); l->addAnchor(f, Qt::AnchorRight, g, Qt::AnchorRight); - QVERIFY(l->hasConflicts() == false); QCOMPARE(l->count(), 7); QGraphicsWidget p; @@ -1017,8 +1001,6 @@ void tst_QGraphicsAnchorLayout::setSpacing() QCOMPARE(b->geometry(), QRectF(24, 0, 20, 20)); QCOMPARE(c->geometry(), QRectF(0, 20, 44, 20)); - QVERIFY(l->hasConflicts() == false); - delete p; delete view; } @@ -1103,7 +1085,6 @@ void tst_QGraphicsAnchorLayout::hardComplexS60() QSizeF layoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); QCOMPARE(layoutMaximumSize, QSizeF(240, 40)); - QVERIFY(l->hasConflicts() == false); delete p; } @@ -1166,7 +1147,6 @@ void tst_QGraphicsAnchorLayout::delete_anchor() QGraphicsWidget *p = new QGraphicsWidget; p->setLayout(l); - QVERIFY(l->hasConflicts() == false); QCOMPARE(l->count(), 3); scene.addItem(p); @@ -1281,6 +1261,12 @@ void tst_QGraphicsAnchorLayout::sizePolicy() delete view; } +/*! + \internal + + Uses private API. (We have decided to pull hasConflicts() out of the API). However, it also + tests some tight conditions (almost-in-conflict) that we really want to test. +*/ void tst_QGraphicsAnchorLayout::conflicts() { QGraphicsWidget *a = createItem(QSizeF(80,10), QSizeF(90,10), QSizeF(100,10), "a"); @@ -1311,13 +1297,13 @@ void tst_QGraphicsAnchorLayout::conflicts() p->setLayout(l); - QCOMPARE(l->hasConflicts(), true); + QCOMPARE(layoutHasConflict(l), true); a->setMinimumSize(QSizeF(29,10)); - QCOMPARE(l->hasConflicts(), false); + QCOMPARE(layoutHasConflict(l), false); a->setMinimumSize(QSizeF(30,10)); - QCOMPARE(l->hasConflicts(), false); + QCOMPARE(layoutHasConflict(l), false); delete p; } diff --git a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp index a6746db..a521b78 100644 --- a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp +++ b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp @@ -43,7 +43,8 @@ #include <QtTest/QtTest> #include <QTest> #include <QMetaType> -#include <QGraphicsAnchorLayout> +#include <QtGui/qgraphicsanchorlayout.h> +#include <private/qgraphicsanchorlayout_p.h> #define TEST_COMPLEX_CASES @@ -60,7 +61,7 @@ public: bool isValid() { - return !hasConflicts(); + return !QGraphicsAnchorLayoutPrivate::get(this)->hasConflicts(); } void setAnchor( diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 956faa1..21f6269 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -62,7 +62,6 @@ #include "../../shared/util.h" - //TESTED_CLASS= //TESTED_FILES= @@ -81,6 +80,57 @@ Q_DECLARE_METATYPE(QRectF) #define Q_CHECK_PAINTEVENTS #endif +static void sendMousePress(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton) +{ + QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress); + event.setScenePos(point); + event.setButton(button); + event.setButtons(button); + QApplication::sendEvent(scene, &event); +} + +static void sendMouseMove(QGraphicsScene *scene, const QPointF &point, + Qt::MouseButton button = Qt::NoButton, Qt::MouseButtons buttons = 0) +{ + QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseMove); + event.setScenePos(point); + event.setButton(button); + event.setButtons(button); + QApplication::sendEvent(scene, &event); +} + +static void sendMouseRelease(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton) +{ + QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMouseRelease); + event.setScenePos(point); + event.setButton(button); + QApplication::sendEvent(scene, &event); +} + +static void sendMouseClick(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton) +{ + sendMousePress(scene, point, button); + sendMouseRelease(scene, point, button); +} + +static void sendKeyPress(QGraphicsScene *scene, Qt::Key key) +{ + QKeyEvent keyEvent(QEvent::KeyPress, key, Qt::NoModifier); + QApplication::sendEvent(scene, &keyEvent); +} + +static void sendKeyRelease(QGraphicsScene *scene, Qt::Key key) +{ + QKeyEvent keyEvent(QEvent::KeyRelease, key, Qt::NoModifier); + QApplication::sendEvent(scene, &keyEvent); +} + +static void sendKeyClick(QGraphicsScene *scene, Qt::Key key) +{ + sendKeyPress(scene, key); + sendKeyRelease(scene, key); +} + class EventSpy : public QGraphicsWidget { Q_OBJECT @@ -121,6 +171,39 @@ protected: QEvent::Type spied; }; +class EventSpy2 : public QGraphicsWidget +{ + Q_OBJECT +public: + EventSpy2(QObject *watched) + { + watched->installEventFilter(this); + } + + EventSpy2(QGraphicsScene *scene, QGraphicsItem *watched) + { + scene->addItem(this); + watched->installSceneEventFilter(this); + } + + QMap<QEvent::Type, int> counts; + +protected: + bool eventFilter(QObject *watched, QEvent *event) + { + Q_UNUSED(watched); + ++counts[event->type()]; + return false; + } + + bool sceneEventFilter(QGraphicsItem *watched, QEvent *event) + { + Q_UNUSED(watched); + ++counts[event->type()]; + return false; + } +}; + class EventTester : public QGraphicsItem { public: @@ -297,6 +380,13 @@ private slots: void ensureDirtySceneTransform(); void focusScope(); void stackBefore(); + void sceneModality(); + void panelModality(); + void mixedModality(); + void modality_hover(); + void modality_mouseGrabber(); + void modality_clickFocus(); + void modality_keyEvents(); // task specific tests below me void task141694_textItemEnsureVisible(); @@ -307,6 +397,7 @@ private slots: void task240400_clickOnTextItem(); void task243707_addChildBeforeParent(); void task197802_childrenVisibility(); + void QTBUG_4233_updateCachedWithSceneRect(); private: QList<QGraphicsItem *> paintedItems; @@ -1372,19 +1463,20 @@ void tst_QGraphicsItem::selected_textItem() QGraphicsView view(&scene); view.show(); - QTest::qWait(1000); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); - QVERIFY(!text->isSelected()); + QTRY_VERIFY(!text->isSelected()); QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(text->mapToScene(0, 0))); - QVERIFY(text->isSelected()); + QTRY_VERIFY(text->isSelected()); text->setSelected(false); text->setTextInteractionFlags(Qt::TextEditorInteraction); QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(text->mapToScene(0, 0))); - QVERIFY(text->isSelected()); + QTRY_VERIFY(text->isSelected()); } void tst_QGraphicsItem::selected_multi() @@ -1416,91 +1508,91 @@ void tst_QGraphicsItem::selected_multi() // Click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); // Click on item2 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item2->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item2->isSelected()); QVERIFY(!item1->isSelected()); // Ctrl-click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item2->isSelected()); QVERIFY(item1->isSelected()); // Ctrl-click on item1 again QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item2->isSelected()); QVERIFY(!item1->isSelected()); // Ctrl-click on item2 QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item2->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item2->isSelected()); QVERIFY(!item1->isSelected()); // Click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); // Click on scene QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(0, 0)); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); // Click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); // Ctrl-click on scene QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(0, 0)); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); // Click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); // Press on item2 QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item2->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(item2->isSelected()); // Release on item2 QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item2->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(item2->isSelected()); // Click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); // Ctrl-click on item1 QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); // Ctrl-press on item1 QTest::mousePress(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); @@ -1508,14 +1600,14 @@ void tst_QGraphicsItem::selected_multi() // Ctrl-move on item1 QMouseEvent event(QEvent::MouseMove, view.mapFromScene(item1->scenePos()) + QPoint(1, 0), Qt::LeftButton, Qt::LeftButton, Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &event); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); } // Release on item1 QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); @@ -1524,7 +1616,7 @@ void tst_QGraphicsItem::selected_multi() // Ctrl-press on item1 QTest::mousePress(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(!item1->isSelected()); QVERIFY(!item2->isSelected()); @@ -1532,14 +1624,14 @@ void tst_QGraphicsItem::selected_multi() // Ctrl-move on item1 QMouseEvent event(QEvent::MouseMove, view.mapFromScene(item1->scenePos()) + QPoint(1, 0), Qt::LeftButton, Qt::LeftButton, Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &event); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); } // Release on item1 QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::ControlModifier, view.mapFromScene(item1->scenePos())); - QTest::qWait(200); + QTest::qWait(20); QVERIFY(item1->isSelected()); QVERIFY(!item2->isSelected()); } @@ -2924,10 +3016,8 @@ void tst_QGraphicsItem::hoverEventsGenerateRepaints() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTest::qWait(150); EventTester *tester = new EventTester; scene.addItem(tester); @@ -3059,7 +3149,8 @@ void tst_QGraphicsItem::childrenBoundingRect() QGraphicsView view(&scene); view.show(); - QTest::qWait(5000); + QTest::qWaitForWindowShown(&view); + QTest::qWait(30); QCOMPARE(parent->childrenBoundingRect(), QRectF(-500, -100, 600, 800)); } @@ -3164,7 +3255,8 @@ void tst_QGraphicsItem::group() QGraphicsView view(&scene); view.show(); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QGraphicsItemGroup *group = new QGraphicsItemGroup; group->setSelected(true); @@ -3180,7 +3272,7 @@ void tst_QGraphicsItem::group() QCOMPARE(scene.items().size(), 4); QCOMPARE(scene.items(group->sceneBoundingRect()).size(), 3); - QTest::qWait(250); + QTest::qWait(25); QRectF parent2SceneBoundingRect = parent2->sceneBoundingRect(); group->addToGroup(parent2); @@ -3192,7 +3284,7 @@ void tst_QGraphicsItem::group() QCOMPARE(scene.items().size(), 4); QCOMPARE(scene.items(group->sceneBoundingRect()).size(), 4); - QTest::qWait(250); + QTest::qWait(25); QList<QGraphicsItem *> newItems; for (int i = 0; i < 100; ++i) { @@ -3372,8 +3464,8 @@ void tst_QGraphicsItem::handlesChildEvents() QGraphicsView view(&scene); view.show(); - - QTest::qWait(1000); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); // Pull out the items, closest item first QList<QGraphicsItem *> items = scene.items(scene.itemsBoundingRect()); @@ -3496,14 +3588,14 @@ void tst_QGraphicsItem::handlesChildEvents2() QGraphicsView view(&scene); view.show(); - - QTestEventLoop::instance().enterLoop(1); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QMouseEvent event(QEvent::MouseButtonPress, view.mapFromScene(5, 5), view.viewport()->mapToGlobal(view.mapFromScene(5, 5)), Qt::LeftButton, 0, 0); QApplication::sendEvent(view.viewport(), &event); - QCOMPARE(root->counter, 1); + QTRY_COMPARE(root->counter, 1); } void tst_QGraphicsItem::handlesChildEvents3() @@ -3585,8 +3677,8 @@ void tst_QGraphicsItem::filtersChildEvents() QGraphicsView view(&scene); view.show(); - - QTest::qWait(1000); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); QGraphicsSceneMouseEvent pressEvent(QEvent::GraphicsSceneMousePress); QGraphicsSceneMouseEvent releaseEvent(QEvent::GraphicsSceneMouseRelease); @@ -3601,7 +3693,7 @@ void tst_QGraphicsItem::filtersChildEvents() QApplication::sendEvent(&scene, &pressEvent); QApplication::sendEvent(&scene, &releaseEvent); - QCOMPARE(child->counter, 1); // mouse release is not filtered + QTRY_COMPARE(child->counter, 1); // mouse release is not filtered QCOMPARE(filter->counter, 1); // mouse press is filtered QCOMPARE(root->counter, 0); @@ -3656,17 +3748,18 @@ void tst_QGraphicsItem::filtersChildEvents2() QGraphicsView view(&scene); view.show(); - QTestEventLoop::instance().enterLoop(1); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QMouseEvent event(QEvent::MouseButtonPress, view.mapFromScene(5, 5), view.viewport()->mapToGlobal(view.mapFromScene(5, 5)), Qt::LeftButton, 0, 0); QApplication::sendEvent(view.viewport(), &event); + QTRY_COMPARE(root->counter, 1); QCOMPARE(child->counter, 0); QCOMPARE(child2->counter, 0); QCOMPARE(child3->counter, 0); QCOMPARE(child4->counter, 0); - QCOMPARE(root->counter, 1); } class CustomItem : public QGraphicsItem @@ -3703,21 +3796,22 @@ void tst_QGraphicsItem::ensureVisible() QGraphicsView view(&scene); view.setFixedSize(300, 300); view.show(); + QTest::qWaitForWindowShown(&view); for (int i = 0; i < 25; ++i) { view.scale(qreal(1.06), qreal(1.06)); - QTest::qWait(25); + QApplication::processEvents(); } item->ensureVisible(-100, -100, 25, 25); - QTest::qWait(250); + QTest::qWait(25); for (int x = -100; x < 100; x += 25) { for (int y = -100; y < 100; y += 25) { int xmargin = rand() % 75; int ymargin = rand() % 75; item->ensureVisible(x, y, 25, 25, xmargin, ymargin); - QTest::qWait(25); + QApplication::processEvents(); QPolygonF viewScenePoly; viewScenePoly << view.mapToScene(view.rect().topLeft()) @@ -3744,7 +3838,7 @@ void tst_QGraphicsItem::ensureVisible() } item->ensureVisible(100, 100, 25, 25); - QTest::qWait(250); + QTest::qWait(25); } void tst_QGraphicsItem::cursor() @@ -3785,7 +3879,7 @@ void tst_QGraphicsItem::cursor() view.show(); QTest::mouseMove(&view, view.rect().center()); - QTest::qWait(250); + QTest::qWait(25); QCursor cursor = view.viewport()->cursor(); @@ -3794,7 +3888,7 @@ void tst_QGraphicsItem::cursor() QApplication::sendEvent(view.viewport(), &event); } - QTest::qWait(250); + QTest::qWait(25); QCOMPARE(view.viewport()->cursor().shape(), cursor.shape()); @@ -3819,7 +3913,7 @@ void tst_QGraphicsItem::cursor() QApplication::sendEvent(view.viewport(), &event); } - QTest::qWait(250); + QTest::qWait(25); QCOMPARE(view.viewport()->cursor().shape(), item2->cursor().shape()); @@ -3829,7 +3923,7 @@ void tst_QGraphicsItem::cursor() QApplication::sendEvent(view.viewport(), &event); } - QTest::qWait(250); + QTest::qWait(25); QCOMPARE(view.viewport()->cursor().shape(), cursor.shape()); #endif @@ -4488,10 +4582,9 @@ void tst_QGraphicsItem::sceneEventFilter() QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QTest::qWait(25); QGraphicsTextItem *text1 = scene.addText(QLatin1String("Text1")); QGraphicsTextItem *text2 = scene.addText(QLatin1String("Text2")); @@ -4503,10 +4596,10 @@ void tst_QGraphicsItem::sceneEventFilter() EventFilterTesterItem *tester = new EventFilterTesterItem; scene.addItem(tester); - QVERIFY(!text1->hasFocus()); + QTRY_VERIFY(!text1->hasFocus()); text1->installSceneEventFilter(tester); text1->setFocus(); - QVERIFY(text1->hasFocus()); + QTRY_VERIFY(text1->hasFocus()); QCOMPARE(tester->filteredEvents.size(), 1); QCOMPARE(tester->filteredEvents.at(0), QEvent::FocusIn); @@ -4554,13 +4647,14 @@ void tst_QGraphicsItem::sceneEventFilter() QGraphicsTextItem *ti3 = anotherScene->addText("This is a test #3"); gv.setScene(anotherScene); gv.show(); - QTest::qWait(250); + QTest::qWaitForWindowShown(&gv); + QTest::qWait(25); ti->installSceneEventFilter(ti2); ti3->installSceneEventFilter(ti); delete ti2; //we souldn't crash QTest::mouseMove(gv.viewport(), gv.mapFromScene(ti->scenePos())); - QTest::qWait(250); + QTest::qWait(30); delete ti; } @@ -4608,10 +4702,8 @@ void tst_QGraphicsItem::paint() QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); #ifdef Q_OS_WIN32 //we try to switch the desktop: if it fails, we skip the test if (::SwitchDesktop( ::GetThreadDesktop( ::GetCurrentThreadId() ) ) == 0) { @@ -4619,41 +4711,39 @@ void tst_QGraphicsItem::paint() } #endif - QCOMPARE(paintTester.widget, view.viewport()); + QTRY_COMPARE(paintTester.widget, view.viewport()); view.hide(); QGraphicsScene scene2; QGraphicsView view2(&scene2); view2.show(); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view2); + QTest::qWait(25); PaintTester tester2; scene2.addItem(&tester2); qApp->processEvents(); //First show one paint - QVERIFY(tester2.painted == 1); + QTRY_COMPARE(tester2.painted, 1); //nominal case, update call paint tester2.update(); qApp->processEvents(); - QTest::qWait(250); - QVERIFY(tester2.painted == 2); + QTRY_VERIFY(tester2.painted == 2); //we remove the item from the scene, number of updates is still the same tester2.update(); scene2.removeItem(&tester2); qApp->processEvents(); - QTest::qWait(250); - QVERIFY(tester2.painted == 2); + QTRY_VERIFY(tester2.painted == 2); //We re-add the item, the number of paint should increase scene2.addItem(&tester2); tester2.update(); qApp->processEvents(); - QTest::qWait(250); - QVERIFY(tester2.painted == 3); + QTRY_VERIFY(tester2.painted == 3); } class HarakiriItem : public QGraphicsRectItem @@ -4669,11 +4759,11 @@ public: { QGraphicsRectItem::paint(painter, option, widget); if (harakiri == 0) { - // delete unsupported since 4.5 - /* + // delete unsupported since 4.5 + /* dead = 1; - delete this; - */ + delete this; + */ } } @@ -5414,6 +5504,8 @@ void tst_QGraphicsItem::untransformable() view.setBackgroundBrush(QBrush(Qt::black, Qt::DiagCrossPattern)); #endif + QTest::qWaitForWindowShown(&view); + for (int i = 0; i < 10; ++i) { QPoint center = view.viewport()->rect().center(); QCOMPARE(view.itemAt(center), item1); @@ -5438,7 +5530,7 @@ void tst_QGraphicsItem::untransformable() view.rotate(13); view.shear(qreal(0.01), qreal(0.01)); view.translate(10, 10); - QTest::qWait(250); + QTest::qWait(25); } } @@ -5474,11 +5566,9 @@ void tst_QGraphicsItem::contextMenuEventPropagation() QGraphicsView view(&scene); view.setAlignment(Qt::AlignLeft | Qt::AlignTop); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif view.resize(200, 200); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); QContextMenuEvent event(QContextMenuEvent::Mouse, QPoint(10, 10), view.viewport()->mapToGlobal(QPoint(10, 10))); @@ -5579,15 +5669,16 @@ void tst_QGraphicsItem::task141694_textItemEnsureVisible() QGraphicsView view(&scene); view.setFixedSize(200, 200); view.show(); + QTest::qWaitForWindowShown(&view); view.ensureVisible(-1000, -1000, 5, 5); int hscroll = view.horizontalScrollBar()->value(); int vscroll = view.verticalScrollBar()->value(); - QTestEventLoop::instance().enterLoop(1); + QTest::qWait(10); // This should not cause the view to scroll - QCOMPARE(view.horizontalScrollBar()->value(), hscroll); + QTRY_COMPARE(view.horizontalScrollBar()->value(), hscroll); QCOMPARE(view.verticalScrollBar()->value(), vscroll); } @@ -5752,16 +5843,17 @@ void tst_QGraphicsItem::ensureUpdateOnTextItem() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTest::qWait(25); TextItem *text1 = new TextItem(QLatin1String("123")); scene.addItem(text1); qApp->processEvents(); - QCOMPARE(text1->updates,1); + QTRY_COMPARE(text1->updates,1); //same bouding rect but we have to update text1->setText(QLatin1String("321")); - QTest::qWait(250); - QCOMPARE(text1->updates,2); + qApp->processEvents(); + QTRY_COMPARE(text1->updates,2); } void tst_QGraphicsItem::task243707_addChildBeforeParent() @@ -6049,10 +6141,8 @@ void tst_QGraphicsItem::opacity2() MyGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(view.repaints, 1); #define RESET_REPAINT_COUNTERS \ parent->repaints = 0; \ @@ -6063,8 +6153,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS child->setOpacity(0.0); - QTest::qWait(100); - QCOMPARE(view.repaints, 1); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 1); QCOMPARE(parent->repaints, 1); QCOMPARE(child->repaints, 0); QCOMPARE(grandChild->repaints, 0); @@ -6072,8 +6162,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS child->setOpacity(1.0); - QTest::qWait(100); - QCOMPARE(view.repaints, 1); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 1); QCOMPARE(parent->repaints, 1); QCOMPARE(child->repaints, 1); QCOMPARE(grandChild->repaints, 1); @@ -6081,8 +6171,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS parent->setOpacity(0.0); - QTest::qWait(100); - QCOMPARE(view.repaints, 1); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 1); QCOMPARE(parent->repaints, 0); QCOMPARE(child->repaints, 0); QCOMPARE(grandChild->repaints, 0); @@ -6090,8 +6180,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS parent->setOpacity(1.0); - QTest::qWait(100); - QCOMPARE(view.repaints, 1); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 1); QCOMPARE(parent->repaints, 1); QCOMPARE(child->repaints, 1); QCOMPARE(grandChild->repaints, 1); @@ -6100,8 +6190,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS child->setOpacity(0.0); - QTest::qWait(100); - QCOMPARE(view.repaints, 1); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 1); QCOMPARE(parent->repaints, 1); QCOMPARE(child->repaints, 0); QCOMPARE(grandChild->repaints, 1); @@ -6109,8 +6199,8 @@ void tst_QGraphicsItem::opacity2() RESET_REPAINT_COUNTERS child->setOpacity(0.0); // Already 0.0; no change. - QTest::qWait(100); - QCOMPARE(view.repaints, 0); + QTest::qWait(10); + QTRY_COMPARE(view.repaints, 0); QCOMPARE(parent->repaints, 0); QCOMPARE(child->repaints, 0); QCOMPARE(grandChild->repaints, 0); @@ -6142,15 +6232,13 @@ void tst_QGraphicsItem::opacityZeroUpdates() MyGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTRY_VERIFY(view.repaints > 0); view.reset(); parent->setOpacity(0.0); - QTest::qWait(200); + QTest::qWait(20); // transforming items bounding rect to view coordinates const QRect childDeviceBoundingRect = child->deviceTransform(view.viewportTransform()) @@ -6161,7 +6249,7 @@ void tst_QGraphicsItem::opacityZeroUpdates() QRegion expectedRegion = parentDeviceBoundingRect.adjusted(-2, -2, 2, 2); expectedRegion += childDeviceBoundingRect.adjusted(-2, -2, 2, 2); - QCOMPARE(view.paintedRegion, expectedRegion); + QTRY_COMPARE(view.paintedRegion, expectedRegion); } class StacksBehindParentHelper : public QGraphicsRectItem @@ -6217,15 +6305,12 @@ void tst_QGraphicsItem::itemStacksBehindParent() QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTest::qWait(100); paintedItems.clear(); view.viewport()->update(); - QTest::qWait(100); - - QCOMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() + QApplication::processEvents(); + QTRY_COMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() << grandChild111 << child11 << grandChild121 << child12 << parent1 << grandChild211 << child21 @@ -6239,9 +6324,9 @@ void tst_QGraphicsItem::itemStacksBehindParent() child11->setFlag(QGraphicsItem::ItemStacksBehindParent); scene.update(); paintedItems.clear(); - QTest::qWait(250); + QApplication::processEvents(); - QCOMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() + QTRY_COMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() << grandChild121 << child12 << parent1 << grandChild111 << child11 << grandChild211 << child21 @@ -6255,9 +6340,9 @@ void tst_QGraphicsItem::itemStacksBehindParent() child12->setFlag(QGraphicsItem::ItemStacksBehindParent); paintedItems.clear(); scene.update(); - QTest::qWait(250); + QApplication::processEvents(); - QCOMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() + QTRY_COMPARE(scene.items(0, 0, 100, 100), (QList<QGraphicsItem *>() << parent1 << grandChild111 << child11 << grandChild121 << child12 << grandChild211 << child21 @@ -6503,31 +6588,29 @@ void tst_QGraphicsItem::tabChangesFocus() QWidget widget; widget.setLayout(layout); widget.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&widget); -#endif - QTest::qWait(250); - QVERIFY(scene.isActive()); + QTest::qWaitForWindowShown(&widget); + + QTRY_VERIFY(scene.isActive()); dial1->setFocus(); - QTest::qWait(125); - QVERIFY(dial1->hasFocus()); + QTest::qWait(15); + QTRY_VERIFY(dial1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(view->hasFocus()); - QVERIFY(item->hasFocus()); + QTest::qWait(15); + QTRY_VERIFY(view->hasFocus()); + QTRY_VERIFY(item->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QTest::qWait(15); if (tabChangesFocus) { - QVERIFY(!view->hasFocus()); - QVERIFY(!item->hasFocus()); - QVERIFY(dial2->hasFocus()); + QTRY_VERIFY(!view->hasFocus()); + QTRY_VERIFY(!item->hasFocus()); + QTRY_VERIFY(dial2->hasFocus()); } else { - QVERIFY(view->hasFocus()); - QVERIFY(item->hasFocus()); + QTRY_VERIFY(view->hasFocus()); + QTRY_VERIFY(item->hasFocus()); QCOMPARE(item->toPlainText(), QString("\tHello")); } } @@ -6538,12 +6621,12 @@ void tst_QGraphicsItem::cacheMode() QGraphicsView view(&scene); view.resize(150, 150); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + // Increase the probability of window activation // not causing another repaint of test items. - QTest::qWait(250); + QTest::qWait(50); EventTester *tester = new EventTester; EventTester *testerChild = new EventTester; @@ -6553,24 +6636,24 @@ void tst_QGraphicsItem::cacheMode() testerChild2->setFlag(QGraphicsItem::ItemIgnoresTransformations); scene.addItem(tester); - QTest::qWait(250); + QTest::qWait(10); for (int i = 0; i < 2; ++i) { // No visual change. - QCOMPARE(tester->repaints, 1); + QTRY_COMPARE(tester->repaints, 1); QCOMPARE(testerChild->repaints, 1); QCOMPARE(testerChild2->repaints, 1); tester->setCacheMode(QGraphicsItem::NoCache); testerChild->setCacheMode(QGraphicsItem::NoCache); testerChild2->setCacheMode(QGraphicsItem::NoCache); - QTest::qWait(250); - QCOMPARE(tester->repaints, 1); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 1); QCOMPARE(testerChild->repaints, 1); QCOMPARE(testerChild2->repaints, 1); tester->setCacheMode(QGraphicsItem::DeviceCoordinateCache); testerChild->setCacheMode(QGraphicsItem::DeviceCoordinateCache); testerChild2->setCacheMode(QGraphicsItem::DeviceCoordinateCache); - QTest::qWait(250); + QTest::qWait(25); } // The first move causes a repaint as the item is painted into its pixmap. @@ -6578,8 +6661,8 @@ void tst_QGraphicsItem::cacheMode() tester->setPos(10, 10); testerChild->setPos(10, 10); testerChild2->setPos(10, 10); - QTest::qWait(250); - QCOMPARE(tester->repaints, 2); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 2); QCOMPARE(testerChild->repaints, 2); QCOMPARE(testerChild2->repaints, 2); @@ -6594,15 +6677,15 @@ void tst_QGraphicsItem::cacheMode() // Translating does not result in a repaint. tester->translate(10, 10); - QTest::qWait(250); - QCOMPARE(tester->repaints, 2); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 2); QCOMPARE(testerChild->repaints, 2); QCOMPARE(testerChild2->repaints, 2); // Rotating results in a repaint. tester->rotate(45); - QTest::qWait(250); - QCOMPARE(tester->repaints, 3); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 3); QCOMPARE(testerChild->repaints, 3); QCOMPARE(testerChild2->repaints, 2); @@ -6610,8 +6693,8 @@ void tst_QGraphicsItem::cacheMode() tester->setCacheMode(QGraphicsItem::ItemCoordinateCache); // autosize testerChild->setCacheMode(QGraphicsItem::ItemCoordinateCache); // autosize testerChild2->setCacheMode(QGraphicsItem::ItemCoordinateCache); // autosize - QTest::qWait(250); - QCOMPARE(tester->repaints, 4); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 4); QCOMPARE(testerChild->repaints, 4); QCOMPARE(testerChild2->repaints, 3); @@ -6619,30 +6702,30 @@ void tst_QGraphicsItem::cacheMode() tester->rotate(22); testerChild->rotate(22); testerChild2->rotate(22); - QTest::qWait(250); - QCOMPARE(tester->repaints, 4); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 4); QCOMPARE(testerChild->repaints, 4); QCOMPARE(testerChild2->repaints, 3); // Explicit update causes a repaint. tester->update(0, 0, 5, 5); - QTest::qWait(250); - QCOMPARE(tester->repaints, 5); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 5); QCOMPARE(testerChild->repaints, 4); QCOMPARE(testerChild2->repaints, 3); // Updating outside the item's bounds does not cause a repaint. tester->update(10, 10, 5, 5); - QTest::qWait(250); - QCOMPARE(tester->repaints, 5); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 5); QCOMPARE(testerChild->repaints, 4); QCOMPARE(testerChild2->repaints, 3); // Resizing an item should cause a repaint of that item. (because of // autosize). tester->setGeometry(QRectF(-15, -15, 30, 30)); - QTest::qWait(250); - QCOMPARE(tester->repaints, 6); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 6); QCOMPARE(testerChild->repaints, 4); QCOMPARE(testerChild2->repaints, 3); @@ -6650,22 +6733,22 @@ void tst_QGraphicsItem::cacheMode() tester->setCacheMode(QGraphicsItem::ItemCoordinateCache, QSize(30, 30)); testerChild->setCacheMode(QGraphicsItem::ItemCoordinateCache, QSize(30, 30)); testerChild2->setCacheMode(QGraphicsItem::ItemCoordinateCache, QSize(30, 30)); - QTest::qWait(250); - QCOMPARE(tester->repaints, 7); + QTest::qWait(20); + QTRY_COMPARE(tester->repaints, 7); QCOMPARE(testerChild->repaints, 5); QCOMPARE(testerChild2->repaints, 4); // Resizing the item should cause a repaint. testerChild->setGeometry(QRectF(-15, -15, 30, 30)); - QTest::qWait(250); - QCOMPARE(tester->repaints, 7); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 7); QCOMPARE(testerChild->repaints, 6); QCOMPARE(testerChild2->repaints, 4); // Scaling the view does not cause a repaint. view.scale(0.7, 0.7); - QTest::qWait(250); - QCOMPARE(tester->repaints, 7); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 7); QCOMPARE(testerChild->repaints, 6); QCOMPARE(testerChild2->repaints, 4); @@ -6673,54 +6756,54 @@ void tst_QGraphicsItem::cacheMode() tester->setCacheMode(QGraphicsItem::DeviceCoordinateCache); testerChild->setCacheMode(QGraphicsItem::DeviceCoordinateCache); testerChild2->setCacheMode(QGraphicsItem::DeviceCoordinateCache); - QTest::qWait(250); - QCOMPARE(tester->repaints, 8); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 8); QCOMPARE(testerChild->repaints, 7); QCOMPARE(testerChild2->repaints, 5); // Scaling the view back should cause repaints for two of the items. view.setTransform(QTransform()); - QTest::qWait(250); - QCOMPARE(tester->repaints, 9); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 9); QCOMPARE(testerChild->repaints, 8); QCOMPARE(testerChild2->repaints, 5); // Rotating the base item (perspective) should repaint two items. tester->setTransform(QTransform().rotate(10, Qt::XAxis)); - QTest::qWait(250); - QCOMPARE(tester->repaints, 10); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 10); QCOMPARE(testerChild->repaints, 9); QCOMPARE(testerChild2->repaints, 5); // Moving the middle item should case a repaint even if it's a move, // because the parent is rotated with a perspective. testerChild->setPos(1, 1); - QTest::qWait(250); - QCOMPARE(tester->repaints, 10); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 10); QCOMPARE(testerChild->repaints, 10); QCOMPARE(testerChild2->repaints, 5); // Make a huge item tester->setGeometry(QRectF(-4000, -4000, 8000, 8000)); - QTest::qWait(250); - QCOMPARE(tester->repaints, 11); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 11); QCOMPARE(testerChild->repaints, 10); QCOMPARE(testerChild2->repaints, 5); // Move the large item - will cause a repaint as the // cache is clipped. tester->setPos(5, 0); - QTest::qWait(250); - QCOMPARE(tester->repaints, 12); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 12); QCOMPARE(testerChild->repaints, 10); QCOMPARE(testerChild2->repaints, 5); // Hiding and showing should invalidate the cache tester->hide(); - QTest::qWait(250); + QTest::qWait(25); tester->show(); - QTest::qWait(250); - QCOMPARE(tester->repaints, 13); + QTest::qWait(25); + QTRY_COMPARE(tester->repaints, 13); QCOMPARE(testerChild->repaints, 11); QCOMPARE(testerChild2->repaints, 6); } @@ -6739,30 +6822,30 @@ void tst_QGraphicsItem::updateCachedItemAfterMove() view.show(); QTest::qWaitForWindowShown(&view); - QTest::qWait(125); + QTest::qWait(12); QTRY_VERIFY(tester->repaints > 0); tester->repaints = 0; // Move the item, should not cause repaints tester->setPos(10, 0); - QTest::qWait(125); + QTest::qWait(12); QCOMPARE(tester->repaints, 0); // Move then update, should cause one repaint tester->setPos(20, 0); tester->update(); - QTest::qWait(125); + QTest::qWait(12); QCOMPARE(tester->repaints, 1); // Hiding the item doesn't cause a repaint tester->hide(); - QTest::qWait(125); + QTest::qWait(12); QCOMPARE(tester->repaints, 1); // Moving a hidden item doesn't cause a repaint tester->setPos(30, 0); tester->update(); - QTest::qWait(125); + QTest::qWait(12); QCOMPARE(tester->repaints, 1); } @@ -7177,17 +7260,17 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption() QGraphicsView view(&scene); rect->startTrack = false; view.show(); - QTest::qWait(500); + QTest::qWaitForWindowShown(&view); rect->startTrack = true; rect->update(10, 10, 10, 10); - QTest::qWait(125); + QTest::qWait(12); rect->startTrack = false; rect->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption, true); QVERIFY((rect->flags() & QGraphicsItem::ItemUsesExtendedStyleOption)); - QTest::qWait(125); + QTest::qWait(12); rect->startTrack = true; rect->update(10, 10, 10, 10); - QTest::qWait(125); + QTest::qWait(12); } void tst_QGraphicsItem::itemSendsGeometryChanges() @@ -7379,10 +7462,8 @@ void tst_QGraphicsItem::itemHasNoContents() QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(100); + QTest::qWaitForWindowShown(&view); + QTRY_VERIFY(!_paintedItems.isEmpty()); _paintedItems.clear(); @@ -7390,10 +7471,10 @@ void tst_QGraphicsItem::itemHasNoContents() #ifdef Q_WS_MAC // There's no difference between update() and repaint() on the Mac, // so we have to process events here to make sure we get the event. - QTest::qWait(100); + QTest::qWait(10); #endif - QCOMPARE(_paintedItems, QList<QGraphicsItem *>() << item2); + QTRY_COMPARE(_paintedItems, QList<QGraphicsItem *>() << item2); } void tst_QGraphicsItem::hitTestUntransformableItem() @@ -8463,5 +8544,953 @@ void tst_QGraphicsItem::stackBefore() QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child4 << child3 << child1)); } +void tst_QGraphicsItem::QTBUG_4233_updateCachedWithSceneRect() +{ + EventTester *tester = new EventTester; + tester->setCacheMode(QGraphicsItem::ItemCoordinateCache); + + QGraphicsScene scene; + scene.addItem(tester); + scene.setSceneRect(-100, -100, 200, 200); // contains the tester item + + QGraphicsView view(&scene); + view.show(); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(QApplication::activeWindow(), (QWidget *)&view); + + QTRY_COMPARE(tester->repaints, 1); + + scene.update(); // triggers "updateAll" optimization + qApp->processEvents(); + qApp->processEvents(); // in 4.6 only one processEvents is necessary + + QCOMPARE(tester->repaints, 1); + + scene.update(); // triggers "updateAll" optimization + tester->update(); + qApp->processEvents(); + qApp->processEvents(); // in 4.6 only one processEvents is necessary + + QCOMPARE(tester->repaints, 2); +} + +void tst_QGraphicsItem::sceneModality() +{ + // 1) Test mouse events (delivery/propagation/redirection) + // 2) Test hover events (incl. leave on block, enter on unblock) + // 3) Test cursor stuff (incl. unset on block, set on unblock) + // 4) Test clickfocus + // 5) Test grab/ungrab events (possibly ungrab on block, regrab on unblock) + // 6) ### modality for non-panels is unsupported for now + QGraphicsScene scene; + + QGraphicsRectItem *bottomItem = scene.addRect(-150, -100, 300, 200); + bottomItem->setFlag(QGraphicsItem::ItemIsFocusable); + bottomItem->setBrush(Qt::yellow); + + QGraphicsRectItem *leftParent = scene.addRect(-50, -50, 100, 100); + leftParent->setFlag(QGraphicsItem::ItemIsPanel); + leftParent->setBrush(Qt::blue); + + QGraphicsRectItem *leftChild = scene.addRect(-25, -25, 50, 50); + leftChild->setFlag(QGraphicsItem::ItemIsPanel); + leftChild->setBrush(Qt::green); + leftChild->setParentItem(leftParent); + + QGraphicsRectItem *rightParent = scene.addRect(-50, -50, 100, 100); + rightParent->setFlag(QGraphicsItem::ItemIsPanel); + rightParent->setBrush(Qt::red); + QGraphicsRectItem *rightChild = scene.addRect(-25, -25, 50, 50); + rightChild->setFlag(QGraphicsItem::ItemIsPanel); + rightChild->setBrush(Qt::gray); + rightChild->setParentItem(rightParent); + + leftParent->setPos(-75, 0); + rightParent->setPos(75, 0); + + bottomItem->setData(0, "bottomItem"); + leftParent->setData(0, "leftParent"); + leftChild->setData(0, "leftChild"); + rightParent->setData(0, "rightParent"); + rightChild->setData(0, "rightChild"); + + scene.setSceneRect(scene.itemsBoundingRect().adjusted(-50, -50, 50, 50)); + + EventSpy2 leftParentSpy(&scene, leftParent); + EventSpy2 leftChildSpy(&scene, leftChild); + EventSpy2 rightParentSpy(&scene, rightParent); + EventSpy2 rightChildSpy(&scene, rightChild); + EventSpy2 bottomItemSpy(&scene, bottomItem); + + // Scene modality, also test multiple scene modal items + leftChild->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); // not a panel + + // Click inside left child + sendMouseClick(&scene, leftChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + // Click on left parent, event goes to modal child + sendMouseClick(&scene, leftParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 2); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + // Click on all other items and outside the items + sendMouseClick(&scene, rightParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 3); + sendMouseClick(&scene, rightChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 4); + sendMouseClick(&scene, bottomItem->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 5); + sendMouseClick(&scene, QPointF(10000, 10000), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 6); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + leftChild->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowUnblocked], 0); + + // Left parent enters scene modality. + leftParent->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); + + // Click inside left child. + sendMouseClick(&scene, leftChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // panel stops propagation + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + // Click on left parent. + sendMouseClick(&scene, leftParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); + + // Click on all other items and outside the items + sendMouseClick(&scene, rightParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 2); + sendMouseClick(&scene, rightChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 3); + sendMouseClick(&scene, bottomItem->scenePos(), Qt::LeftButton); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 4); + sendMouseClick(&scene, QPointF(10000, 10000), Qt::LeftButton); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 5); + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); + + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + // Now both left parent and child are scene modal. Left parent is blocked. + leftChild->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); + + // Click inside left child + sendMouseClick(&scene, leftChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + // Click on left parent, event goes to modal child + sendMouseClick(&scene, leftParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 2); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + // Click on all other items and outside the items + sendMouseClick(&scene, rightParent->sceneBoundingRect().topLeft() + QPointF(5, 5), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 3); + sendMouseClick(&scene, rightChild->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 4); + sendMouseClick(&scene, bottomItem->scenePos(), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 5); + sendMouseClick(&scene, QPointF(10000, 10000), Qt::LeftButton); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMousePress], 6); + QCOMPARE(leftChildSpy.counts[QEvent::GraphicsSceneMouseRelease], 0); // no grab + QCOMPARE(leftParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightParentSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(rightChildSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + QCOMPARE(bottomItemSpy.counts[QEvent::GraphicsSceneMousePress], 0); // blocked + + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + // Right child enters scene modality, only left child is blocked. + rightChild->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); +} + +void tst_QGraphicsItem::panelModality() +{ + // 1) Test mouse events (delivery/propagation/redirection) + // 2) Test hover events (incl. leave on block, enter on unblock) + // 3) Test cursor stuff (incl. unset on block, set on unblock) + // 4) Test clickfocus + // 5) Test grab/ungrab events (possibly ungrab on block, regrab on unblock) + // 6) ### modality for non-panels is unsupported for now + QGraphicsScene scene; + + QGraphicsRectItem *bottomItem = scene.addRect(-150, -100, 300, 200); + bottomItem->setFlag(QGraphicsItem::ItemIsFocusable); + bottomItem->setBrush(Qt::yellow); + + QGraphicsRectItem *leftParent = scene.addRect(-50, -50, 100, 100); + leftParent->setFlag(QGraphicsItem::ItemIsPanel); + leftParent->setBrush(Qt::blue); + + QGraphicsRectItem *leftChild = scene.addRect(-25, -25, 50, 50); + leftChild->setFlag(QGraphicsItem::ItemIsPanel); + leftChild->setBrush(Qt::green); + leftChild->setParentItem(leftParent); + + QGraphicsRectItem *rightParent = scene.addRect(-50, -50, 100, 100); + rightParent->setFlag(QGraphicsItem::ItemIsPanel); + rightParent->setBrush(Qt::red); + QGraphicsRectItem *rightChild = scene.addRect(-25, -25, 50, 50); + rightChild->setFlag(QGraphicsItem::ItemIsPanel); + rightChild->setBrush(Qt::gray); + rightChild->setParentItem(rightParent); + + leftParent->setPos(-75, 0); + rightParent->setPos(75, 0); + + bottomItem->setData(0, "bottomItem"); + leftParent->setData(0, "leftParent"); + leftChild->setData(0, "leftChild"); + rightParent->setData(0, "rightParent"); + rightChild->setData(0, "rightChild"); + + scene.setSceneRect(scene.itemsBoundingRect().adjusted(-50, -50, 50, 50)); + + EventSpy2 leftParentSpy(&scene, leftParent); + EventSpy2 leftChildSpy(&scene, leftChild); + EventSpy2 rightParentSpy(&scene, rightParent); + EventSpy2 rightChildSpy(&scene, rightChild); + EventSpy2 bottomItemSpy(&scene, bottomItem); + + // Left Child enters panel modality, only left parent is blocked. + leftChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); + + leftChild->setPanelModality(QGraphicsItem::NonModal); + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + // Left parent enter panel modality, nothing is blocked. + leftParent->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); + + // Left child enters panel modality, left parent is blocked again. + leftChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowBlocked], 0); + + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + leftChild->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 1); + leftParent->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(bottomItemSpy.counts[QEvent::WindowUnblocked], 0); + + leftChildSpy.counts.clear(); + rightChildSpy.counts.clear(); + leftParentSpy.counts.clear(); + rightParentSpy.counts.clear(); + bottomItemSpy.counts.clear(); + + // Left and right child enter panel modality, both parents are blocked. + rightChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + leftChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); +} + +void tst_QGraphicsItem::mixedModality() +{ + // 1) Test mouse events (delivery/propagation/redirection) + // 2) Test hover events (incl. leave on block, enter on unblock) + // 3) Test cursor stuff (incl. unset on block, set on unblock) + // 4) Test clickfocus + // 5) Test grab/ungrab events (possibly ungrab on block, regrab on unblock) + // 6) ### modality for non-panels is unsupported for now + QGraphicsScene scene; + + QGraphicsRectItem *bottomItem = scene.addRect(-150, -100, 300, 200); + bottomItem->setFlag(QGraphicsItem::ItemIsFocusable); + bottomItem->setBrush(Qt::yellow); + + QGraphicsRectItem *leftParent = scene.addRect(-50, -50, 100, 100); + leftParent->setFlag(QGraphicsItem::ItemIsPanel); + leftParent->setBrush(Qt::blue); + + QGraphicsRectItem *leftChild = scene.addRect(-25, -25, 50, 50); + leftChild->setFlag(QGraphicsItem::ItemIsPanel); + leftChild->setBrush(Qt::green); + leftChild->setParentItem(leftParent); + + QGraphicsRectItem *rightParent = scene.addRect(-50, -50, 100, 100); + rightParent->setFlag(QGraphicsItem::ItemIsPanel); + rightParent->setBrush(Qt::red); + QGraphicsRectItem *rightChild = scene.addRect(-25, -25, 50, 50); + rightChild->setFlag(QGraphicsItem::ItemIsPanel); + rightChild->setBrush(Qt::gray); + rightChild->setParentItem(rightParent); + + leftParent->setPos(-75, 0); + rightParent->setPos(75, 0); + + bottomItem->setData(0, "bottomItem"); + leftParent->setData(0, "leftParent"); + leftChild->setData(0, "leftChild"); + rightParent->setData(0, "rightParent"); + rightChild->setData(0, "rightChild"); + + scene.setSceneRect(scene.itemsBoundingRect().adjusted(-50, -50, 50, 50)); + + EventSpy2 leftParentSpy(&scene, leftParent); + EventSpy2 leftChildSpy(&scene, leftChild); + EventSpy2 rightParentSpy(&scene, rightParent); + EventSpy2 rightChildSpy(&scene, rightChild); + EventSpy2 bottomItemSpy(&scene, bottomItem); + + // Left Child enters panel modality, only left parent is blocked. + leftChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 0); + + // Left parent enters scene modality, which blocks everything except the child. + leftParent->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); + + // Right child enters panel modality (changes nothing). + rightChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); + + // Left parent leaves modality. Right child is unblocked. + leftParent->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 0); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); + + // Right child "upgrades" its modality to scene modal. Left child is blocked. + // Right parent is unaffected. + rightChild->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); + + // "downgrade" right child back to panel modal, left child is unblocked + rightChild->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(leftChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftChildSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightChildSpy.counts[QEvent::WindowUnblocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(leftParentSpy.counts[QEvent::WindowUnblocked], 0); + QCOMPARE(rightParentSpy.counts[QEvent::WindowBlocked], 1); + QCOMPARE(rightParentSpy.counts[QEvent::WindowUnblocked], 0); +} + +void tst_QGraphicsItem::modality_hover() +{ + QGraphicsScene scene; + QGraphicsRectItem *rect1 = scene.addRect(-50, -50, 100, 100); + rect1->setFlag(QGraphicsItem::ItemIsPanel); + rect1->setAcceptHoverEvents(true); + rect1->setData(0, "rect1"); + + QGraphicsRectItem *rect2 = scene.addRect(-50, -50, 100, 100); + rect2->setParentItem(rect1); + rect2->setFlag(QGraphicsItem::ItemIsPanel); + rect2->setAcceptHoverEvents(true); + rect2->setPos(50, 50); + rect2->setPanelModality(QGraphicsItem::SceneModal); + rect2->setData(0, "rect2"); + + EventSpy2 rect1Spy(&scene, rect1); + EventSpy2 rect2Spy(&scene, rect2); + + sendMouseMove(&scene, QPointF(-25, -25)); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 0); + + sendMouseMove(&scene, QPointF(75, 75)); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 0); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverEnter], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverMove], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverLeave], 0); + + sendMouseMove(&scene, QPointF(-25, -25)); + + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverLeave], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 0); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 0); + + rect2->setPanelModality(QGraphicsItem::NonModal); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 1); + + sendMouseMove(&scene, QPointF(75, 75)); + + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverEnter], 2); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverMove], 2); + + rect2->setPanelModality(QGraphicsItem::SceneModal); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverEnter], 2); + // changing modality causes a spurious GraphicsSceneHoveMove, even though the mouse didn't + // actually move + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverMove], 3); + + sendMouseMove(&scene, QPointF(-25, -25)); + + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverLeave], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 1); + + rect2->setPanelModality(QGraphicsItem::PanelModal); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverLeave], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverEnter], 2); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverMove], 3); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverLeave], 2); + + rect2->setPanelModality(QGraphicsItem::NonModal); + + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverEnter], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneHoverMove], 2); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverEnter], 2); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverMove], 3); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneHoverLeave], 2); +} + +void tst_QGraphicsItem::modality_mouseGrabber() +{ + QGraphicsScene scene; + QGraphicsRectItem *rect1 = scene.addRect(-50, -50, 100, 100); + rect1->setFlag(QGraphicsItem::ItemIsPanel); + rect1->setFlag(QGraphicsItem::ItemIsMovable); + rect1->setData(0, "rect1"); + + QGraphicsRectItem *rect2 = scene.addRect(-50, -50, 100, 100); + rect2->setParentItem(rect1); + rect2->setFlag(QGraphicsItem::ItemIsPanel); + rect2->setFlag(QGraphicsItem::ItemIsMovable); + rect2->setPos(50, 50); + rect2->setData(0, "rect2"); + + EventSpy2 rect1Spy(&scene, rect1); + EventSpy2 rect2Spy(&scene, rect2); + + { + // pressing mouse on rect1 starts implicit grab + sendMousePress(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect1); + + // grab lost when rect1 is modally shadowed + rect2->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // releasing goes nowhere + sendMouseRelease(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // pressing mouse on rect1 starts implicit grab on rect2 (since it is modal) + sendMouseClick(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMouseRelease], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + + rect2->setPanelModality(QGraphicsItem::NonModal); + + // pressing mouse on rect1 starts implicit grab + sendMousePress(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect1); + + // grab lost to rect2 when rect1 is modally shadowed + rect2->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // rect1 does *not* re-grab when rect2 is no longer modal + rect2->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // release goes nowhere + sendMouseRelease(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + } + { + // repeat the test using PanelModal + rect2->setPanelModality(QGraphicsItem::NonModal); + rect1Spy.counts.clear(); + rect2Spy.counts.clear(); + + // pressing mouse on rect1 starts implicit grab + sendMousePress(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect1); + + // grab lost when rect1 is modally shadowed + rect2->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // releasing goes nowhere + sendMouseRelease(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // pressing mouse on rect1 starts implicit grab on rect2 (since it is modal) + sendMouseClick(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect2Spy.counts[QEvent::GraphicsSceneMouseRelease], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + + rect2->setPanelModality(QGraphicsItem::NonModal); + + // pressing mouse on rect1 starts implicit grab + sendMousePress(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMousePress], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect1); + + // grab lost to rect2 when rect1 is modally shadowed + rect2->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // rect1 does *not* re-grab when rect2 is no longer modal + rect2->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + // release goes nowhere + sendMouseRelease(&scene, QPoint(-25, -25)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect1Spy.counts[QEvent::GraphicsSceneMouseRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + } + + { + // repeat the PanelModal tests, but this time the mouse events will be on a non-modal item, + // meaning normal grabbing should work + rect2->setPanelModality(QGraphicsItem::NonModal); + rect1Spy.counts.clear(); + rect2Spy.counts.clear(); + + QGraphicsRectItem *rect3 = scene.addRect(-50, -50, 100, 100); + rect3->setFlag(QGraphicsItem::ItemIsPanel); + rect3->setFlag(QGraphicsItem::ItemIsMovable); + rect3->setPos(150, 50); + rect3->setData(0, "rect3"); + + EventSpy2 rect3Spy(&scene, rect3); + + // pressing mouse on rect3 starts implicit grab + sendMousePress(&scene, QPoint(150, 50)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect3Spy.counts[QEvent::GraphicsSceneMousePress], 1); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect3); + + // grab is *not* lost when rect1 is modally shadowed by rect2 + rect2->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect3); + + // releasing goes to rect3 + sendMouseRelease(&scene, QPoint(150, 50)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 1); + QCOMPARE(rect3Spy.counts[QEvent::GraphicsSceneMouseRelease], 1); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + + rect2->setPanelModality(QGraphicsItem::NonModal); + + // pressing mouse on rect3 starts implicit grab + sendMousePress(&scene, QPoint(150, 50)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect3); + + // grab is not lost + rect2->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect3); + + // grab stays on rect3 + rect2->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 1); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) rect3); + + // release goes to rect3 + sendMouseRelease(&scene, QPoint(150, 50)); + QCOMPARE(rect1Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect1Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::GrabMouse], 0); + QCOMPARE(rect2Spy.counts[QEvent::UngrabMouse], 0); + QCOMPARE(rect3Spy.counts[QEvent::GrabMouse], 2); + QCOMPARE(rect3Spy.counts[QEvent::UngrabMouse], 2); + QCOMPARE(scene.mouseGrabberItem(), (QGraphicsItem *) 0); + } +} + +void tst_QGraphicsItem::modality_clickFocus() +{ + QGraphicsScene scene; + QGraphicsRectItem *rect1 = scene.addRect(-50, -50, 100, 100); + rect1->setFlag(QGraphicsItem::ItemIsPanel); + rect1->setFlag(QGraphicsItem::ItemIsFocusable); + rect1->setData(0, "rect1"); + + QGraphicsRectItem *rect2 = scene.addRect(-50, -50, 100, 100); + rect2->setParentItem(rect1); + rect2->setFlag(QGraphicsItem::ItemIsPanel); + rect2->setFlag(QGraphicsItem::ItemIsFocusable); + rect2->setPos(50, 50); + rect2->setData(0, "rect2"); + + QEvent windowActivateEvent(QEvent::WindowActivate); + QApplication::sendEvent(&scene, &windowActivateEvent); + + EventSpy2 rect1Spy(&scene, rect1); + EventSpy2 rect2Spy(&scene, rect2); + + // activate rect1, it should not get focus + rect1->setActive(true); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) 0); + + // focus stays unset when rect2 becomes modal + rect2->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 0); + + // clicking on rect1 should not set it's focus item + sendMouseClick(&scene, QPointF(-25, -25)); + QCOMPARE(rect1->focusItem(), (QGraphicsItem *) 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 0); + + // clicking on rect2 gives it focus + rect2->setActive(true); + sendMouseClick(&scene, QPointF(75, 75)); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) rect2); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 1); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 0); + + // clicking on rect1 does *not* give it focus + rect1->setActive(true); + sendMouseClick(&scene, QPointF(-25, -25)); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 1); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 1); + + // focus doesn't change when leaving modality either + rect2->setPanelModality(QGraphicsItem::NonModal); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 0); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 1); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 1); + + // click on rect1, it should get focus now + sendMouseClick(&scene, QPointF(-25, -25)); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) rect1); + QCOMPARE(rect1Spy.counts[QEvent::FocusIn], 1); + QCOMPARE(rect1Spy.counts[QEvent::FocusOut], 0); + QCOMPARE(rect2Spy.counts[QEvent::FocusIn], 1); + QCOMPARE(rect2Spy.counts[QEvent::FocusOut], 1); +} + +void tst_QGraphicsItem::modality_keyEvents() +{ + QGraphicsScene scene; + QGraphicsRectItem *rect1 = scene.addRect(-50, -50, 100, 100); + rect1->setFlag(QGraphicsItem::ItemIsPanel); + rect1->setFlag(QGraphicsItem::ItemIsFocusable); + rect1->setData(0, "rect1"); + + QGraphicsRectItem *rect1child = scene.addRect(-10, -10, 20, 20); + rect1child->setParentItem(rect1); + rect1child->setFlag(QGraphicsItem::ItemIsFocusable); + rect1child->setData(0, "rect1child1"); + + QGraphicsRectItem *rect2 = scene.addRect(-50, -50, 100, 100); + rect2->setParentItem(rect1); + rect2->setFlag(QGraphicsItem::ItemIsPanel); + rect2->setFlag(QGraphicsItem::ItemIsFocusable); + rect2->setPos(50, 50); + rect2->setData(0, "rect2"); + + QGraphicsRectItem *rect2child = scene.addRect(-10, -10, 20, 20); + rect2child->setParentItem(rect2); + rect2child->setFlag(QGraphicsItem::ItemIsFocusable); + rect2child->setData(0, "rect2child1"); + + QEvent windowActivateEvent(QEvent::WindowActivate); + QApplication::sendEvent(&scene, &windowActivateEvent); + + EventSpy2 rect1Spy(&scene, rect1); + EventSpy2 rect1childSpy(&scene, rect1child); + EventSpy2 rect2Spy(&scene, rect2); + EventSpy2 rect2childSpy(&scene, rect2child); + + // activate rect1 and give it rect1child focus + rect1->setActive(true); + rect1child->setFocus(); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) rect1child); + + // focus stays on rect1child when rect2 becomes modal + rect2->setPanelModality(QGraphicsItem::SceneModal); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) rect1child); + + // but key events to rect1child should be neither delivered nor propagated + sendKeyClick(&scene, Qt::Key_A); + sendKeyClick(&scene, Qt::Key_S); + sendKeyClick(&scene, Qt::Key_D); + sendKeyClick(&scene, Qt::Key_F); + QCOMPARE(rect1childSpy.counts[QEvent::KeyPress], 0); + QCOMPARE(rect1childSpy.counts[QEvent::KeyRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::KeyPress], 0); + QCOMPARE(rect1Spy.counts[QEvent::KeyRelease], 0); + + // change to panel modality, rect1child1 keeps focus + rect2->setPanelModality(QGraphicsItem::PanelModal); + QCOMPARE(scene.focusItem(), (QGraphicsItem *) rect1child); + + // still no key events + sendKeyClick(&scene, Qt::Key_J); + sendKeyClick(&scene, Qt::Key_K); + sendKeyClick(&scene, Qt::Key_L); + sendKeyClick(&scene, Qt::Key_Semicolon); + QCOMPARE(rect1childSpy.counts[QEvent::KeyPress], 0); + QCOMPARE(rect1childSpy.counts[QEvent::KeyRelease], 0); + QCOMPARE(rect1Spy.counts[QEvent::KeyPress], 0); + QCOMPARE(rect1Spy.counts[QEvent::KeyRelease], 0); +} + QTEST_MAIN(tst_QGraphicsItem) #include "tst_qgraphicsitem.moc" diff --git a/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp b/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp index feaedd9..69a64ee 100644 --- a/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp +++ b/tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp @@ -153,7 +153,7 @@ void tst_QGraphicsLayout::automaticReparenting() QGraphicsWidget *ww = new QGraphicsWidget(); QGraphicsLinearLayout *l1 = new QGraphicsLinearLayout(ww); -#ifdef QT_DEBUG +#if !defined(Q_OS_MAC) && defined(QT_DEBUG) QTest::ignoreMessage(QtWarningMsg, "QGraphicsLayout::addChildLayoutItem: QGraphicsWidget \"\"" " in wrong parent; moved to correct parent"); #endif diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index a289257..f0ed008 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -783,11 +783,9 @@ void tst_QGraphicsProxyWidget::focusNextPrevChild() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QTRY_COMPARE(QApplication::activeWindow(), &view); if (hasScene) { scene.addItem(proxy); @@ -832,13 +830,11 @@ void tst_QGraphicsProxyWidget::focusOutEvent() SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; scene.addItem(proxy); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); view.activateWindow(); view.setFocus(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QTRY_VERIFY(view.isVisible()); QTRY_COMPARE(QApplication::activeWindow(), &view); @@ -856,11 +852,10 @@ void tst_QGraphicsProxyWidget::focusOutEvent() if (!call) { QWidget *other = new QLineEdit(&view); other->show(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(other->isVisible()); other->setFocus(); QTRY_VERIFY(other->hasFocus()); - QTest::qWait(125); qApp->processEvents(); QTRY_COMPARE(proxy->hasFocus(), false); QVERIFY(proxy->focusOut); @@ -992,7 +987,7 @@ void tst_QGraphicsProxyWidget::hoverEnterLeaveEvent() // in QTest::mouseMove(&view, QPoint(50, 50)); - QTest::qWait(250); + QTest::qWait(25); QTRY_COMPARE(widget->testAttribute(Qt::WA_UnderMouse), hasWidget ? true : false); // ### this attribute isn't supported QCOMPARE(widget->enterCount, hasWidget ? 1 : 0); @@ -1002,7 +997,7 @@ void tst_QGraphicsProxyWidget::hoverEnterLeaveEvent() // out QTest::mouseMove(&view, QPoint(10, 10)); - QTest::qWait(250); + QTest::qWait(25); // QTRY_COMPARE(widget->testAttribute(Qt::WA_UnderMouse), false); // ### this attribute isn't supported QCOMPARE(widget->leaveCount, hasWidget ? 1 : 0); @@ -1067,14 +1062,14 @@ void tst_QGraphicsProxyWidget::hoverMoveEvent() // in QTest::mouseMove(&view, QPoint(50, 50)); - QTest::qWait(125); + QTest::qWait(12); if (mouseDown) QTest::mousePress(view.viewport(), Qt::LeftButton); // move a little bit QTest::mouseMove(&view, QPoint(60, 60)); - QTest::qWait(125); + QTest::qWait(12); QTRY_COMPARE(widget->hoverEnter, (hasWidget && hoverEnabled) ? 1 : 0); QCOMPARE(widget->moveCount, (hasWidget && mouseTracking) || (hasWidget && mouseDown) ? 1 : 0); @@ -1098,11 +1093,9 @@ void tst_QGraphicsProxyWidget::keyPressEvent() QGraphicsView view(&scene); view.show(); view.viewport()->setFocus(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QTRY_COMPARE(QApplication::activeWindow(), &view); SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; @@ -1142,11 +1135,8 @@ void tst_QGraphicsProxyWidget::keyReleaseEvent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), &view); @@ -1190,7 +1180,7 @@ void tst_QGraphicsProxyWidget::mouseDoubleClickEvent() view.show(); QApplication::setActiveWindow(&view); - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), &view); SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; @@ -1234,7 +1224,7 @@ void tst_QGraphicsProxyWidget::mousePressReleaseEvent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&view); SubQGraphicsProxyWidget *proxy = new SubQGraphicsProxyWidget; proxy->setFlag(QGraphicsItem::ItemIsFocusable, true); // ### remove me!!! @@ -1305,19 +1295,19 @@ void tst_QGraphicsProxyWidget::paintEvent() w->show(); QTest::qWaitForWindowShown(w); - - QTest::qWait(100); + QApplication::processEvents(); proxy.setWidget(w); scene.addItem(&proxy); //make sure we flush all the paint events - QTest::qWait(250); + QTest::qWait(70); QTRY_VERIFY(proxy.paintCount > 1); + QTest::qWait(70); proxy.paintCount = 0; w->update(); - QTest::qWait(100); + QTest::qWait(30); QTRY_COMPARE(proxy.paintCount, 1); //the widget should have been painted now } @@ -1502,9 +1492,7 @@ void tst_QGraphicsProxyWidget::scrollUpdate() View view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif + QTest::qWaitForWindowShown(&view); QTRY_VERIFY(view.npaints >= 1); QTest::qWait(20); widget->paintEventRegion = QRegion(); @@ -1711,24 +1699,21 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit); // Tab into line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!leftDial->hasFocus()); - QVERIFY(view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!leftDial->hasFocus()); + QTRY_VERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); QVERIFY(editProxy->hasFocus()); @@ -1738,22 +1723,22 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget() // Tab into right dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); QVERIFY(!scene.hasFocus()); QVERIFY(!editProxy->hasFocus()); QVERIFY(!edit->hasFocus()); - QVERIFY(rightDial->hasFocus()); + QTRY_VERIFY(rightDial->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 1); QCOMPARE(eventSpy.counts[QEvent::FocusOut], 1); // Backtab into line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); - QVERIFY(scene.hasFocus()); + QTRY_VERIFY(scene.hasFocus()); QVERIFY(editProxy->hasFocus()); QVERIFY(edit->hasFocus()); QVERIFY(!rightDial->hasFocus()); @@ -1762,13 +1747,13 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget() // Backtab into left dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(!view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); QVERIFY(!scene.hasFocus()); QVERIFY(!editProxy->hasFocus()); QVERIFY(!edit->hasFocus()); - QVERIFY(leftDial->hasFocus()); + QTRY_VERIFY(leftDial->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 2); QCOMPARE(eventSpy.counts[QEvent::FocusOut], 2); } @@ -1796,14 +1781,12 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); + QTest::qWaitForWindowShown(&window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit); @@ -1811,7 +1794,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Tab into line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!leftDial->hasFocus()); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); @@ -1823,7 +1806,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Tab into second line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); @@ -1838,7 +1821,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Tab into right dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); QVERIFY(!scene.hasFocus()); @@ -1854,7 +1837,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Backtab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); @@ -1870,7 +1853,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Backtab into line edit 1 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); @@ -1886,7 +1869,7 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() // Backtab into left dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); QVERIFY(!scene.hasFocus()); @@ -1929,15 +1912,12 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit1); @@ -1946,7 +1926,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Tab into group box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!leftDial->hasFocus()); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); @@ -1956,7 +1936,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Tab into line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); edit1->hasFocus(); QVERIFY(!box->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 1); @@ -1964,7 +1944,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Tab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); edit2->hasFocus(); QVERIFY(!edit1->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 1); @@ -1974,7 +1954,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Tab into right dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2->hasFocus()); rightDial->hasFocus(); QCOMPARE(eventSpy2.counts[QEvent::FocusIn], 1); @@ -1982,7 +1962,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Backtab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!rightDial->hasFocus()); edit2->hasFocus(); QCOMPARE(eventSpy2.counts[QEvent::FocusIn], 2); @@ -1990,7 +1970,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Backtab into line edit 1 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2->hasFocus()); edit1->hasFocus(); QCOMPARE(eventSpy2.counts[QEvent::FocusOut], 2); @@ -1998,14 +1978,14 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() // Backtab into line box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit1->hasFocus()); box->hasFocus(); QCOMPARE(eventSpy.counts[QEvent::FocusOut], 2); // Backtab into left dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!box->hasFocus()); leftDial->hasFocus(); } @@ -2063,16 +2043,13 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); QTRY_COMPARE(QApplication::activeWindow(), &window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit1); @@ -2083,7 +2060,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into group box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!leftDial->hasFocus()); QVERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); @@ -2093,7 +2070,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); edit1->hasFocus(); QVERIFY(!box->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 1); @@ -2101,7 +2078,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); edit2->hasFocus(); QVERIFY(!edit1->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 1); @@ -2109,13 +2086,13 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into right box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2->hasFocus()); box_2->hasFocus(); // Tab into right top line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!box_2->hasFocus()); edit1_2->hasFocus(); QCOMPARE(eventSpy1_2.counts[QEvent::FocusIn], 1); @@ -2123,7 +2100,7 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into right bottom line edit QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit1_2->hasFocus()); edit2_2->hasFocus(); QCOMPARE(eventSpy1_2.counts[QEvent::FocusIn], 1); @@ -2133,50 +2110,50 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() // Tab into right dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2->hasFocus()); rightDial->hasFocus(); QCOMPARE(eventSpy2_2.counts[QEvent::FocusOut], 1); // Backtab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!rightDial->hasFocus()); edit2_2->hasFocus(); // Backtab into line edit 1 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2_2->hasFocus()); edit1_2->hasFocus(); // Backtab into line box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit1_2->hasFocus()); box_2->hasFocus(); // Backtab into line edit 2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!rightDial->hasFocus()); edit2->hasFocus(); // Backtab into line edit 1 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2->hasFocus()); edit1->hasFocus(); // Backtab into line box QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit1->hasFocus()); box->hasFocus(); // Backtab into left dial QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!box->hasFocus()); leftDial->hasFocus(); } @@ -2200,16 +2177,13 @@ void tst_QGraphicsProxyWidget::setFocus_simpleWidget() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); QTRY_COMPARE(QApplication::activeWindow(), &window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit); @@ -2273,16 +2247,13 @@ void tst_QGraphicsProxyWidget::setFocus_simpleTwoWidgets() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); QTRY_COMPARE(QApplication::activeWindow(), &window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit); @@ -2353,16 +2324,13 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() window.setLayout(layout); window.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&window); -#endif QApplication::setActiveWindow(&window); window.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&window); QTRY_COMPARE(QApplication::activeWindow(), &window); leftDial->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QTRY_VERIFY(leftDial->hasFocus()); EventSpy eventSpy(edit1); @@ -2377,7 +2345,7 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() QCOMPARE(eventSpy.counts[QEvent::FocusIn], 0); edit1->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(scene.hasFocus()); QVERIFY(edit1->hasFocus()); QVERIFY(!box->hasFocus()); @@ -2385,7 +2353,7 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() QCOMPARE(eventSpyBox.counts[QEvent::FocusIn], 0); edit2_2->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit1->hasFocus()); QVERIFY(!box_2->hasFocus()); QVERIFY(edit2_2->hasFocus()); @@ -2396,7 +2364,7 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() QCOMPARE(eventSpyBox_2.counts[QEvent::FocusIn], 0); box->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(!edit2_2->hasFocus()); QVERIFY(!edit1->hasFocus()); QVERIFY(box->hasFocus()); @@ -2410,7 +2378,7 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() QCOMPARE(eventSpyBox_2.counts[QEvent::FocusOut], 0); edit2_2->setFocus(); - QTest::qWait(125); + QApplication::processEvents(); QVERIFY(edit2_2->hasFocus()); QVERIFY(!edit1->hasFocus()); QVERIFY(!box->hasFocus()); @@ -2447,12 +2415,14 @@ void tst_QGraphicsProxyWidget::popup_basic() QCOMPARE(box->pos(), QPoint()); QCOMPARE(proxy->pos(), QPointF()); + QTest::qWaitForWindowShown(&view); QTest::qWait(125); + QApplication::processEvents(); QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center()))); - QTest::qWait(125); + QTest::qWait(12); QCOMPARE(box->pos(), QPoint()); @@ -2467,8 +2437,8 @@ void tst_QGraphicsProxyWidget::popup_basic() QSKIP("Does not work due to SH_Combobox_Popup", SkipAll); QCOMPARE(child->widget()->parent(), static_cast<QObject*>(box)); - QTest::qWait(125); - QCOMPARE(proxy->pos(), QPointF(box->pos())); + QTest::qWait(12); + QTRY_COMPARE(proxy->pos(), QPointF(box->pos())); QCOMPARE(child->x(), qreal(box->x())); QCOMPARE(child->y(), qreal(box->rect().bottom())); #ifndef Q_OS_WIN @@ -2478,7 +2448,7 @@ void tst_QGraphicsProxyWidget::popup_basic() QCOMPARE(child->widget()->y(), box->rect().bottom()); QCOMPARE(child->geometry().toRect(), child->widget()->geometry()); #endif - QTest::qWait(125); + QTest::qWait(12); } void tst_QGraphicsProxyWidget::popup_subwidget() @@ -2544,7 +2514,8 @@ void tst_QGraphicsProxyWidget::changingCursor_basic() proxy->setWidget(widget); proxy->show(); scene.addItem(proxy); - QTest::qWait(125); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); // in QTest::mouseMove(view.viewport(), view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center()))); @@ -2653,7 +2624,8 @@ void tst_QGraphicsProxyWidget::childPos() for (int i = 0; i < 2; ++i) { box->showPopup(); - QTest::qWait(50); + QApplication::processEvents(); + QApplication::processEvents(); QWidget *menu = 0; foreach (QObject *child, box->children()) { @@ -2718,7 +2690,7 @@ void tst_QGraphicsProxyWidget::windowOpacity() view.show(); QTest::qWaitForWindowShown(&view); QApplication::sendPostedEvents(); - QTest::qWait(100); + QTest::qWait(50); qRegisterMetaType<QList<QRectF> >("QList<QRectF>"); QSignalSpy signalSpy(&scene, SIGNAL(changed(const QList<QRectF> &))); @@ -2727,7 +2699,7 @@ void tst_QGraphicsProxyWidget::windowOpacity() QVERIFY(widget->isVisible()); widget->setWindowOpacity(0.5); - QTest::qWait(100); + QApplication::processEvents(); // Make sure setWindowOpacity triggers an update on the scene, // and not on the widget or the proxy itself. The entire proxy needs an update @@ -2738,8 +2710,8 @@ void tst_QGraphicsProxyWidget::windowOpacity() #ifdef Q_WS_X11 paints = !X11->use_xrender; #endif - QCOMPARE(eventSpy.counts[QEvent::UpdateRequest], 0); - QCOMPARE(eventSpy.counts[QEvent::Paint], paints); + QTRY_COMPARE(eventSpy.counts[QEvent::UpdateRequest], 0); + QTRY_COMPARE(eventSpy.counts[QEvent::Paint], paints); QCOMPARE(signalSpy.count(), 1); const QList<QVariant> arguments = signalSpy.takeFirst(); @@ -2920,7 +2892,8 @@ void tst_QGraphicsProxyWidget::dontCrashWhenDie() { MainWidget *w = new MainWidget(); w->show(); - QTest::qWait(200); + QTest::qWaitForWindowShown(w); + QTest::qWait(100); QTest::mouseMove(w->view->viewport(), w->view->mapFromScene(w->widget->mapToScene(w->widget->boundingRect().center()))); delete w->item; } @@ -3087,6 +3060,8 @@ void tst_QGraphicsProxyWidget::deleteProxyForChildWidget() proxy->setWidget(0); //just don't crash + QApplication::processEvents(); + delete combo; } void tst_QGraphicsProxyWidget::bypassGraphicsProxyWidget_data() @@ -3118,11 +3093,17 @@ void tst_QGraphicsProxyWidget::bypassGraphicsProxyWidget() if (bypass) flags |= Qt::BypassGraphicsProxyWidget; QFileDialog *dialog = new QFileDialog(widget, flags); + dialog->setOption(QFileDialog::DontUseNativeDialog, true); dialog->show(); QCOMPARE(proxy->childItems().size(), bypass ? 0 : 1); if (!bypass) QCOMPARE(((QGraphicsProxyWidget *)proxy->childItems().first())->widget(), (QWidget *)dialog); + + dialog->hide(); + QApplication::processEvents(); + delete dialog; + delete widget; } static void makeDndEvent(QGraphicsSceneDragDropEvent *event, QGraphicsView *view, const QPointF &pos) diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index 07d7cce..a76e607 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -1357,8 +1357,9 @@ void tst_QGraphicsScene::removeItem() QVERIFY(!hoverItem->isHovered); { - QTest::mouseMove(view.viewport(), view.mapFromScene(hoverItem->scenePos()), Qt::NoButton); QTest::qWait(250); + QTest::mouseMove(view.viewport(), view.mapFromScene(hoverItem->scenePos()), Qt::NoButton); + QTest::qWait(10); QMouseEvent moveEvent(QEvent::MouseMove, view.mapFromScene(hoverItem->scenePos()), Qt::NoButton, 0, 0); QApplication::sendEvent(view.viewport(), &moveEvent); } @@ -1632,6 +1633,7 @@ void tst_QGraphicsScene::hoverEvents_siblings() #endif qApp->setActiveWindow(&view); view.activateWindow(); + QTest::qWait(70); QCursor::setPos(view.mapToGlobal(QPoint(-5, -5))); @@ -1702,9 +1704,8 @@ void tst_QGraphicsScene::hoverEvents_parentChild() view.rotate(10); view.scale(1.7, 1.7); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif + QTest::qWaitForWindowShown(&view); + QTest::qWait(50); QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); mouseEvent.setScenePos(QPointF(-1000, -1000)); @@ -3060,52 +3061,53 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&widget); + QApplication::processEvents(); dial1->setFocus(); - QVERIFY(dial1->hasFocus()); + QTRY_VERIFY(dial1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); QVERIFY(item->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(dial2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(dial2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(view->hasFocus()); - QVERIFY(view->viewport()->hasFocus()); - QVERIFY(scene.hasFocus()); - QVERIFY(item->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view->hasFocus()); + QTRY_VERIFY(view->viewport()->hasFocus()); + QTRY_VERIFY(scene.hasFocus()); + QTRY_VERIFY(item->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(dial1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(dial1->hasFocus()); // If the item requests input focus, it can only ensure that the scene // sets focus on itself, but the scene cannot request focus from any view. item->setFocus(); - QTest::qWait(125); - QVERIFY(!view->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); - QVERIFY(scene.hasFocus()); + QTRY_VERIFY(scene.hasFocus()); QVERIFY(item->hasFocus()); view->setFocus(); - QTest::qWait(125); - QVERIFY(view->hasFocus()); - QVERIFY(view->viewport()->hasFocus()); - QVERIFY(scene.hasFocus()); - QVERIFY(item->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view->hasFocus()); + QTRY_VERIFY(view->viewport()->hasFocus()); + QTRY_VERIFY(scene.hasFocus()); + QTRY_VERIFY(item->hasFocus()); // Check that everyone loses focus when the widget is hidden. widget.hide(); - QTest::qWait(125); - QVERIFY(!view->hasFocus()); + QTest::qWait(15); + QTRY_VERIFY(!view->hasFocus()); QVERIFY(!view->viewport()->hasFocus()); QVERIFY(!scene.hasFocus()); QVERIFY(!item->hasFocus()); @@ -3114,8 +3116,8 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusableItems() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); - QVERIFY(view->hasFocus()); + QTest::qWaitForWindowShown(&widget); + QTRY_VERIFY(view->hasFocus()); QVERIFY(view->viewport()->hasFocus()); QVERIFY(scene.hasFocus()); QVERIFY(item->hasFocus()); @@ -3193,47 +3195,48 @@ void tst_QGraphicsScene::tabFocus_sceneWithFocusWidgets() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&widget); + QApplication::processEvents(); dial1->setFocus(); - QVERIFY(dial1->hasFocus()); + QTRY_VERIFY(dial1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(view->hasFocus()); - QVERIFY(view->viewport()->hasFocus()); - QVERIFY(scene.hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view->hasFocus()); + QTRY_VERIFY(view->viewport()->hasFocus()); + QTRY_VERIFY(scene.hasFocus()); QCOMPARE(widget1->tabs, 0); QVERIFY(widget1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QCOMPARE(widget1->tabs, 1); - QVERIFY(widget2->hasFocus()); + QApplication::processEvents(); + QTRY_COMPARE(widget1->tabs, 1); + QTRY_VERIFY(widget2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QCOMPARE(widget2->tabs, 1); - QVERIFY(dial2->hasFocus()); + QApplication::processEvents(); + QTRY_COMPARE(widget2->tabs, 1); + QTRY_VERIFY(dial2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(widget2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(widget2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QCOMPARE(widget2->backTabs, 1); - QVERIFY(widget1->hasFocus()); + QApplication::processEvents(); + QTRY_COMPARE(widget2->backTabs, 1); + QTRY_VERIFY(widget1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QCOMPARE(widget1->backTabs, 1); - QVERIFY(dial1->hasFocus()); + QApplication::processEvents(); + QTRY_COMPARE(widget1->backTabs, 1); + QTRY_VERIFY(dial1->hasFocus()); widget1->setFocus(); view->viewport()->setFocus(); widget.hide(); - QTest::qWait(125); + QTest::qWait(15); widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); - QVERIFY(widget1->hasFocus()); + QTest::qWaitForWindowShown(&widget); + QTRY_VERIFY(widget1->hasFocus()); } void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets() @@ -3276,10 +3279,10 @@ void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets() widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&widget); dial1->setFocus(); - QVERIFY(dial1->hasFocus()); + QTRY_VERIFY(dial1->hasFocus()); EventSpy focusInSpy_1(widget1, QEvent::FocusIn); EventSpy focusOutSpy_1(widget1, QEvent::FocusOut); @@ -3291,78 +3294,79 @@ void tst_QGraphicsScene::tabFocus_sceneWithNestedFocusWidgets() EventSpy focusOutSpy_2(widget2, QEvent::FocusOut); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(widget1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(widget1->hasFocus()); QCOMPARE(focusInSpy_1.count(), 1); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!widget1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1->hasFocus()); QVERIFY(widget1_1->hasFocus()); QCOMPARE(focusOutSpy_1.count(), 1); QCOMPARE(focusInSpy_1_1.count(), 1); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!widget1_1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1_1->hasFocus()); QVERIFY(widget1_2->hasFocus()); QCOMPARE(focusOutSpy_1_1.count(), 1); QCOMPARE(focusInSpy_1_2.count(), 1); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!widget1_2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1_2->hasFocus()); QVERIFY(widget2->hasFocus()); QCOMPARE(focusOutSpy_1_2.count(), 1); QCOMPARE(focusInSpy_2.count(), 1); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(125); - QVERIFY(!widget2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget2->hasFocus()); QVERIFY(dial2->hasFocus()); QCOMPARE(focusOutSpy_2.count(), 1); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(widget2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(widget2->hasFocus()); QCOMPARE(focusInSpy_2.count(), 2); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(!widget2->hasFocus()); - QVERIFY(widget1_2->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget2->hasFocus()); + QTRY_VERIFY(widget1_2->hasFocus()); QCOMPARE(focusOutSpy_2.count(), 2); QCOMPARE(focusInSpy_1_2.count(), 2); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(!widget1_2->hasFocus()); - QVERIFY(widget1_1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1_2->hasFocus()); + QTRY_VERIFY(widget1_1->hasFocus()); QCOMPARE(focusOutSpy_1_2.count(), 2); QCOMPARE(focusInSpy_1_1.count(), 2); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(!widget1_1->hasFocus()); - QVERIFY(widget1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1_1->hasFocus()); + QTRY_VERIFY(widget1->hasFocus()); QCOMPARE(focusOutSpy_1_1.count(), 2); QCOMPARE(focusInSpy_1.count(), 2); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(125); - QVERIFY(!widget1->hasFocus()); - QVERIFY(dial1->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(!widget1->hasFocus()); + QTRY_VERIFY(dial1->hasFocus()); QCOMPARE(focusOutSpy_1.count(), 2); widget1->setFocus(); view->viewport()->setFocus(); widget.hide(); - QTest::qWait(125); + QTest::qWait(12); widget.show(); qApp->setActiveWindow(&widget); widget.activateWindow(); - QTest::qWait(125); - QVERIFY(widget1->hasFocus()); + QTest::qWaitForWindowShown(&widget); + QApplication::processEvents(); + QTRY_VERIFY(widget1->hasFocus()); } void tst_QGraphicsScene::style() @@ -3454,10 +3458,10 @@ void tst_QGraphicsScene::task139782_containsItemBoundingRect() void tst_QGraphicsScene::task176178_itemIndexMethodBreaksSceneRect() { - QGraphicsScene scene; - scene.setItemIndexMethod(QGraphicsScene::NoIndex); - QGraphicsRectItem *rect = new QGraphicsRectItem; - rect->setRect(0,0,100,100); + QGraphicsScene scene; + scene.setItemIndexMethod(QGraphicsScene::NoIndex); + QGraphicsRectItem *rect = new QGraphicsRectItem; + rect->setRect(0,0,100,100); scene.addItem(rect); QCOMPARE(scene.sceneRect(), rect->rect()); } @@ -3518,7 +3522,7 @@ void tst_QGraphicsScene::sorting_data() void tst_QGraphicsScene::sorting() { QFETCH(bool, cache); - + QGraphicsScene scene; scene.setSortCacheEnabled(cache); @@ -3552,15 +3556,15 @@ void tst_QGraphicsScene::sorting() c_2_1_1->setPos(-16, 16); c_2_2->setPos(-16, 28); c_2_2->setZValue(1); - - c_1->setFlag(QGraphicsItem::ItemIsMovable); - c_1_1->setFlag(QGraphicsItem::ItemIsMovable); - c_1_1_1->setFlag(QGraphicsItem::ItemIsMovable); - c_1_2->setFlag(QGraphicsItem::ItemIsMovable); - c_2->setFlag(QGraphicsItem::ItemIsMovable); - c_2_1->setFlag(QGraphicsItem::ItemIsMovable); - c_2_1_1->setFlag(QGraphicsItem::ItemIsMovable); - c_2_2->setFlag(QGraphicsItem::ItemIsMovable); + + c_1->setFlag(QGraphicsItem::ItemIsMovable); + c_1_1->setFlag(QGraphicsItem::ItemIsMovable); + c_1_1_1->setFlag(QGraphicsItem::ItemIsMovable); + c_1_2->setFlag(QGraphicsItem::ItemIsMovable); + c_2->setFlag(QGraphicsItem::ItemIsMovable); + c_2_1->setFlag(QGraphicsItem::ItemIsMovable); + c_2_1_1->setFlag(QGraphicsItem::ItemIsMovable); + c_2_2->setFlag(QGraphicsItem::ItemIsMovable); t_1->setData(0, "t_1"); c_1->setData(0, "c_1"); @@ -3585,7 +3589,7 @@ void tst_QGraphicsScene::sorting() foreach (QGraphicsItem *item, scene.items(32, 31, 4, 55)) qDebug() << "\t" << item->data(0).toString(); qDebug() << "}"; - + QCOMPARE(scene.items(32, 31, 4, 55), QList<QGraphicsItem *>() << c_1_2 << c_1_1_1 << c_1 << t_1); diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 95a038b..78fb4f3 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -363,7 +363,7 @@ void tst_QGraphicsView::alignment() for (int k = 0; k < 3; ++k) { view.resize(100 + k * 25, 100 + k * 25); - QTest::qWait(25); + QApplication::processEvents(); } } } @@ -455,7 +455,7 @@ void tst_QGraphicsView::setScene() view.setScene(0); - QTest::qWait(250); + QTest::qWait(25); QVERIFY(!view.horizontalScrollBar()->isVisible()); QVERIFY(!view.verticalScrollBar()->isVisible()); @@ -530,7 +530,7 @@ void tst_QGraphicsView::sceneRect_growing() size *= 2; scene.setSceneRect(-size, -size, size * 2, size * 2); - QTest::qWait(25); + QApplication::processEvents(); QCOMPARE(view.sceneRect(), scene.sceneRect()); QCOMPARE(view.mapToScene(0, 0), topLeft); @@ -614,7 +614,8 @@ void tst_QGraphicsView::dragMode_scrollHand() view.setFixedSize(100, 100); view.show(); - QTest::qWait(25); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); view.setInteractive(j ? false : true); @@ -646,9 +647,9 @@ void tst_QGraphicsView::dragMode_scrollHand() QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); } - QTest::qWait(250); + QApplication::processEvents(); - QVERIFY(item->isSelected()); + QTRY_VERIFY(item->isSelected()); for (int k = 0; k < 4; ++k) { #ifndef QT_NO_CURSOR @@ -689,9 +690,9 @@ void tst_QGraphicsView::dragMode_scrollHand() QApplication::sendEvent(view.viewport(), &event); QVERIFY(event.isAccepted()); } - QTest::qWait(250); + QApplication::processEvents(); - QVERIFY(item->isSelected()); + QTRY_VERIFY(item->isSelected()); QCOMPARE(view.horizontalScrollBar()->value(), horizontalScrollBarValue - 10); QCOMPARE(view.verticalScrollBar()->value(), verticalScrollBarValue - 10); #ifndef QT_NO_CURSOR @@ -749,6 +750,9 @@ void tst_QGraphicsView::dragMode_rubberBand() view.setDragMode(QGraphicsView::RubberBandDrag); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); + for (int i = 0; i < 2; ++i) { // RubberBandDrag #ifndef QT_NO_CURSOR @@ -769,7 +773,7 @@ void tst_QGraphicsView::dragMode_rubberBand() QCOMPARE(view.viewport()->cursor().shape(), cursorShape); #endif - QTest::qWait(25); + QApplication::processEvents(); { // Move @@ -1073,7 +1077,7 @@ void tst_QGraphicsView::centerOnPoint() QFAIL(qPrintable(error)); } - QTest::qWait(1); + QApplication::processEvents(); } } @@ -2095,7 +2099,7 @@ void tst_QGraphicsView::transformationAnchor() } view.centerOn(0, 0); view.horizontalScrollBar()->setValue(100); - QTest::qWait(100); + QApplication::processEvents(); QPointF center = view.mapToScene(view.viewport()->rect().center()); @@ -2125,6 +2129,8 @@ void tst_QGraphicsView::resizeAnchor() for (int i = 0; i < 2; ++i) { view.resize(100, 100); view.show(); + QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); if (i == 0) { QCOMPARE(view.resizeAnchor(), QGraphicsView::NoAnchor); @@ -2132,12 +2138,12 @@ void tst_QGraphicsView::resizeAnchor() view.setResizeAnchor(QGraphicsView::AnchorViewCenter); } view.centerOn(0, 0); - QTest::qWait(250); + QTest::qWait(25); QPointF f = view.mapToScene(50, 50); QPointF center = view.mapToScene(view.viewport()->rect().center()); - QTest::qWait(250); + QApplication::processEvents(); for (int size = 200; size <= 400; size += 25) { view.resize(size, size); @@ -2152,7 +2158,7 @@ void tst_QGraphicsView::resizeAnchor() QVERIFY(qAbs(newCenter.x() - center.x()) < slack); QVERIFY(qAbs(newCenter.y() - center.y()) < slack); } - QTest::qWait(20); + QApplication::processEvents(); } } } @@ -2760,11 +2766,11 @@ void tst_QGraphicsView::task187791_setSceneCausesUpdate() QCOMPARE(updateSpy.count(), 0); view.setScene(0); - QTest::qWait(125); - QCOMPARE(updateSpy.count(), 1); + QApplication::processEvents(); + QTRY_COMPARE(updateSpy.count(), 1); view.setScene(&scene); - QTest::qWait(125); - QCOMPARE(updateSpy.count(), 2); + QApplication::processEvents(); + QTRY_COMPARE(updateSpy.count(), 2); } class MouseMoveCounter : public QGraphicsView @@ -2808,15 +2814,15 @@ void tst_QGraphicsView::task186827_deleteReplayedItem() QApplication::sendEvent(view.viewport(), &event); } QCOMPARE(view.mouseMoves, 1); - QTest::qWait(125); - QCOMPARE(view.mouseMoves, 1); - QTest::qWait(125); + QTest::qWait(25); + QTRY_COMPARE(view.mouseMoves, 1); + QTest::qWait(25); { QMouseEvent event(QEvent::MouseMove, view.mapFromScene(25, 25), Qt::NoButton, 0, 0); QApplication::sendEvent(view.viewport(), &event); } QCOMPARE(view.mouseMoves, 2); - QTest::qWait(125); + QTest::qWait(15); } void tst_QGraphicsView::task207546_focusCrash() @@ -3154,11 +3160,12 @@ void tst_QGraphicsView::moveItemWhileScrolling() if (!adjustForAntialiasing) view.setOptimizationFlag(QGraphicsView::DontAdjustForAntialiasing); view.resize(200, 200); + view.painted = false; view.show(); QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QTRY_VERIFY(view.painted); view.painted = false; - view.lastPaintedRegion = QRegion(); view.horizontalScrollBar()->setValue(view.horizontalScrollBar()->value() + 10); view.rect->moveBy(0, 10); @@ -3360,6 +3367,7 @@ void tst_QGraphicsView::render() view.painted = false; view.show(); QTest::qWaitForWindowShown(&view); + QApplication::processEvents(); QTRY_VERIFY(view.painted > 0); RenderTester *r1 = new RenderTester(QRectF(0, 0, 50, 50)); @@ -3412,11 +3420,11 @@ void tst_QGraphicsView::exposeRegion() QRegion expectedExposeRegion = QRect(0, 0, 5, 5); expectedExposeRegion += QRect(viewport->rect().bottomRight() - QPoint(5, 5), QSize(5, 5)); viewport->update(expectedExposeRegion); - QTest::qWait(125); + QApplication::processEvents(); // Make sure it triggers correct repaint on the view. - QCOMPARE(view.lastUpdateRegions.size(), 1); - QCOMPARE(view.lastUpdateRegions.at(0), expectedExposeRegion); + QTRY_COMPARE(view.lastUpdateRegions.size(), 1); + QTRY_COMPARE(view.lastUpdateRegions.at(0), expectedExposeRegion); // Make sure the item didn't get any repaints. QCOMPARE(item->paints, 0); @@ -3473,7 +3481,7 @@ void tst_QGraphicsView::update() #if defined QT_BUILD_INTERNAL const bool intersects = updateRect.intersects(viewportRect); QGraphicsViewPrivate *viewPrivate = static_cast<QGraphicsViewPrivate *>(qt_widget_private(&view)); - QCOMPARE(viewPrivate->updateRect(updateRect), intersects); + QTRY_COMPARE(viewPrivate->updateRect(updateRect), intersects); QCOMPARE(viewPrivate->updateRegion(updateRect), intersects); view.lastUpdateRegions.clear(); @@ -3631,13 +3639,13 @@ void tst_QGraphicsView::task253415_reconnectUpdateSceneOnSceneChanged() QObject::connect(&scene1, SIGNAL(changed(QList<QRectF>)), &dummyView, SLOT(updateScene(QList<QRectF>))); view.setScene(&scene1); - QTest::qWait(125); + QTest::qWait(12); QGraphicsScene scene2; QObject::connect(&scene2, SIGNAL(changed(QList<QRectF>)), &dummyView, SLOT(updateScene(QList<QRectF>))); view.setScene(&scene2); - QTest::qWait(125); + QTest::qWait(12); bool wasConnected2 = QObject::disconnect(&scene2, SIGNAL(changed(QList<QRectF>)), &view, 0); QVERIFY(wasConnected2); @@ -3661,8 +3669,10 @@ void tst_QGraphicsView::task255529_transformationAnchorMouseAndViewportMargins() }; VpGraphicsView view(&scene); + view.setWindowFlags(Qt::X11BypassWindowManagerHint); view.show(); QTest::qWaitForWindowShown(&view); + QTest::qWait(50); QPoint mouseViewPos(20, 20); sendMouseMove(view.viewport(), mouseViewPos); diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index 9045acf..0b73733 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -824,7 +824,8 @@ void tst_QGraphicsWidget::initStyleOption() if (underMouse) { view.resize(300, 300); view.show(); - QTest::qWait(125); + QTest::qWaitForWindowShown(&view); + QTest::qWait(20); sendMouseMove(view.viewport(), view.mapFromScene(widget->mapToScene(widget->boundingRect().center()))); } @@ -877,7 +878,7 @@ void tst_QGraphicsWidget::layout() } widget.setLayout(layout); - QTest::qWait(250); + QTest::qWait(25); QCOMPARE(widget.layout(), static_cast<QGraphicsLayout*>(layout)); for (int i = 0; i < children.count(); ++i) { @@ -917,13 +918,13 @@ void tst_QGraphicsWidget::layoutDirection() widget.setLayoutDirection(layoutDirection); QCOMPARE(widget.testAttribute(Qt::WA_SetLayoutDirection), true); view->show(); - QTest::qWait(100); + QTest::qWaitForWindowShown(view); for (int i = 0; i < children.count(); ++i) { QCOMPARE(children[i]->layoutDirection(), layoutDirection); QCOMPARE(children[i]->testAttribute(Qt::WA_SetLayoutDirection), false); view->repaint(); - QTest::qWait(200); - QCOMPARE(children[i]->m_painterLayoutDirection, layoutDirection); + QApplication::processEvents(); + QTRY_COMPARE(children[i]->m_painterLayoutDirection, layoutDirection); } delete view; } @@ -1156,8 +1157,8 @@ void tst_QGraphicsWidget::setTabOrder() if (!children.isEmpty()) { QGraphicsWidget *first = children.first(); view.viewport()->setFocus(); - QTest::qWait(250); - QVERIFY(view.viewport()->hasFocus()); + QApplication::processEvents(); + QTRY_VERIFY(view.viewport()->hasFocus()); first->setFocus(); QVERIFY(first->hasFocus()); QVERIFY(scene.hasFocus()); @@ -1198,11 +1199,8 @@ void tst_QGraphicsWidget::setTabOrderAndReparent() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); - QTest::qWait(25); + QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), &view); int i; @@ -1341,11 +1339,8 @@ void tst_QGraphicsWidget::verifyFocusChain() QGraphicsScene scene; QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif QApplication::setActiveWindow(&view); - QTest::qWait(25); + QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), &view); { @@ -1419,39 +1414,38 @@ void tst_QGraphicsWidget::verifyFocusChain() w1_2->setFocusPolicy(Qt::StrongFocus); scene.addItem(w1_2); window->show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(window); -#endif + QApplication::setActiveWindow(window); + QTest::qWaitForWindowShown(window); lineEdit->setFocus(); - QTest::qWait(250); - QVERIFY(lineEdit->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(lineEdit->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(250); - QVERIFY(w1_1->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(w1_1->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(250); - QVERIFY(w1_2->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(w1_2->hasFocus()); // remove the tabFocusFirst and insert new item delete w1_1; // calls _q_removeItemLater - QTest::qWait(250); + QTest::qWait(25); SubQGraphicsWidget *w1_3 = new SubQGraphicsWidget; w1_3->setFocusPolicy(Qt::StrongFocus); w1_3->setData(0, "w1_3"); w1_3->setGeometry(50,0,25, 25); scene.addItem(w1_3); - QVERIFY(w1_2->hasFocus()); + QTRY_VERIFY(w1_2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(250); - QVERIFY(lineEdit->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(lineEdit->hasFocus()); // tabFocusFirst should now point to w1_2 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(250); - QVERIFY(w1_2->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(w1_2->hasFocus()); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(250); - QVERIFY(w1_3->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(w1_3->hasFocus()); scene.removeItem(w1_2); // does not call _q_removeItemLater delete w1_2; // calls _q_removeItemLater @@ -1460,18 +1454,18 @@ void tst_QGraphicsWidget::verifyFocusChain() w1_4->setData(0, "w1_4"); w1_4->setGeometry(75,0,25, 25); scene.addItem(w1_4); - QVERIFY(w1_3->hasFocus()); - QTest::qWait(250); - QVERIFY(compareFocusChain(view, QList<QGraphicsItem*>() << w1_3 << w1_4)); + QTRY_VERIFY(w1_3->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(compareFocusChain(view, QList<QGraphicsItem*>() << w1_3 << w1_4)); QTest::keyPress(QApplication::focusWidget(), Qt::Key_Backtab); - QTest::qWait(250); - QVERIFY(lineEdit->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(lineEdit->hasFocus()); // tabFocusFirst should now point to w1_3 QTest::keyPress(QApplication::focusWidget(), Qt::Key_Tab); - QTest::qWait(250); - QVERIFY(w1_3->hasFocus()); - QTest::qWait(250); - QVERIFY(compareFocusChain(view, QList<QGraphicsItem*>() << w1_3 << w1_4)); + QTest::qWait(25); + QTRY_VERIFY(w1_3->hasFocus()); + QTest::qWait(25); + QTRY_VERIFY(compareFocusChain(view, QList<QGraphicsItem*>() << w1_3 << w1_4)); delete window; } } @@ -2353,9 +2347,7 @@ void tst_QGraphicsWidget::painterStateProtectionOnWindowFrame() QGraphicsView view(&scene); scene.addItem(widget); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif + QTest::qWaitForWindowShown(&view); QTest::qWait(500); } @@ -2561,14 +2553,11 @@ void tst_QGraphicsWidget::ensureClipping() QGraphicsView view(&scene); view.setOptimizationFlag(QGraphicsView::IndirectPainting); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); QList<QGraphicsItem *> expected; expected << clipWidget << childWidget << childitem; - QVERIFY(scene.drawnItems.contains(clipWidget)); + QTRY_VERIFY(scene.drawnItems.contains(clipWidget)); QVERIFY(scene.drawnItems.contains(childWidget)); QVERIFY(scene.drawnItems.contains(childitem)); } @@ -2630,11 +2619,12 @@ void tst_QGraphicsWidget::respectHFW() view->show(); window->setGeometry(0, 0, 70, 70); + QTest::qWaitForWindowShown(view); { // here we go - simulate a interactive resize of the window - QTest::qWait(200); + QTest::qWait(100); QTest::mouseMove(view, view->mapFromScene(71, 71)); // bottom right corner - QTest::qWait(200); + QTest::qWait(100); QTest::mousePress(view->viewport(), Qt::LeftButton, 0, view->mapFromScene(71, 71), 200); view->grabMouse(); @@ -2648,7 +2638,7 @@ void tst_QGraphicsWidget::respectHFW() QApplication::sendEvent(view->viewport(), &e); view->releaseMouse(); } - QTest::qWait(200); + QTest::qWait(100); const QSizeF winSize = window->size(); qreal minHFW = window->effectiveSizeHint(Qt::MinimumSize, QSizeF(winSize.width(), -1)).height(); QVERIFY(qAbs(minHFW - winSize.height()) < 1); diff --git a/tests/auto/qgridlayout/tst_qgridlayout.cpp b/tests/auto/qgridlayout/tst_qgridlayout.cpp index 4a5a341..3c7e1fb 100644 --- a/tests/auto/qgridlayout/tst_qgridlayout.cpp +++ b/tests/auto/qgridlayout/tst_qgridlayout.cpp @@ -921,7 +921,7 @@ void tst_QGridLayout::minMaxSize() #endif QTest::qWait(20); m_toplevel->adjustSize(); - QTest::qWait(20); // wait for the implicit adjustSize + QTest::qWait(120); // wait for the implicit adjustSize // If the following fails we might have to wait longer. // If that does not help there is likely a problem with the implicit adjustSize in show() if (!fixedSize.isValid()) { diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp index 470e57f..6036a14 100644 --- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp +++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp @@ -106,6 +106,7 @@ private Q_SLOTS: void getMultiple_data(); void getMultiple(); void getMultipleWithPipeliningAndMultiplePriorities(); + void getMultipleWithPriorities(); }; tst_QHttpNetworkConnection::tst_QHttpNetworkConnection() @@ -908,5 +909,63 @@ void tst_QHttpNetworkConnection::getMultipleWithPipeliningAndMultiplePriorities( qDeleteAll(replies); } +class GetMultipleWithPrioritiesReceiver : public QObject +{ + Q_OBJECT +public: + int highPrioReceived; + int lowPrioReceived; + int requestCount; + GetMultipleWithPrioritiesReceiver(int rq) : highPrioReceived(0), lowPrioReceived(0), requestCount(rq) { } +public Q_SLOTS: + void finishedSlot() { + QHttpNetworkReply *reply = (QHttpNetworkReply*) sender(); + if (reply->request().priority() == QHttpNetworkRequest::HighPriority) + highPrioReceived++; + else if (reply->request().priority() == QHttpNetworkRequest::LowPriority) + lowPrioReceived++; + else + QFAIL("Wrong priority!?"); + + QVERIFY(highPrioReceived >= lowPrioReceived); + + if (highPrioReceived + lowPrioReceived == requestCount) + QTestEventLoop::instance().exitLoop(); + } +}; + +void tst_QHttpNetworkConnection::getMultipleWithPriorities() +{ + quint16 requestCount = 100; + // use 2 connections. + QHttpNetworkConnection connection(2, QtNetworkSettings::serverName()); + GetMultipleWithPrioritiesReceiver receiver(requestCount); + QUrl url("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt"); + QList<QHttpNetworkRequest*> requests; + QList<QHttpNetworkReply*> replies; + + for (int i = 0; i < requestCount; i++) { + QHttpNetworkRequest *request = new QHttpNetworkRequest(url);; + + if (i % 2) + request->setPriority(QHttpNetworkRequest::HighPriority); + else + request->setPriority(QHttpNetworkRequest::LowPriority); + + requests.append(request); + QHttpNetworkReply *reply = connection.sendRequest(*request); + connect(reply, SIGNAL(finished()), &receiver, SLOT(finishedSlot())); + replies.append(reply); + } + + QTestEventLoop::instance().enterLoop(40); + QVERIFY(!QTestEventLoop::instance().timeout()); + + qDeleteAll(requests); + qDeleteAll(replies); +} + + + QTEST_MAIN(tst_QHttpNetworkConnection) #include "tst_qhttpnetworkconnection.moc" diff --git a/tests/auto/qicon/image.tga b/tests/auto/qicon/image.tga Binary files differdeleted file mode 100644 index 0cd507d..0000000 --- a/tests/auto/qicon/image.tga +++ /dev/null diff --git a/tests/auto/qicon/qicon.pro b/tests/auto/qicon/qicon.pro index 0c9c7e9..8ae252f 100644 --- a/tests/auto/qicon/qicon.pro +++ b/tests/auto/qicon/qicon.pro @@ -6,9 +6,9 @@ RESOURCES = tst_qicon.qrc wince* { QT += xml svg addFiles.sources += $$_PRO_FILE_PWD_/*.png - addFiles.sources += $$_PRO_FILE_PWD_/*.tga addFiles.sources += $$_PRO_FILE_PWD_/*.svg addFiles.sources += $$_PRO_FILE_PWD_/*.svgz + addFiles.sources += $$_PRO_FILE_PWD_/tst_qicon.cpp addFiles.path = . DEPLOYMENT += addFiles @@ -16,7 +16,7 @@ wince* { DEFINES += SRCDIR=\\\".\\\" } else:symbian { QT += xml svg - addFiles.sources = *.png *.tga *.svg *.svgz + addFiles.sources = *.png tst_qicon.cpp *.svg *.svgz addFiles.path = . plugins.sources = qsvgicon.dll plugins.path = iconengines diff --git a/tests/auto/qicon/tst_qicon.cpp b/tests/auto/qicon/tst_qicon.cpp index 96d1d6c..f5baeaa 100644 --- a/tests/auto/qicon/tst_qicon.cpp +++ b/tests/auto/qicon/tst_qicon.cpp @@ -242,7 +242,7 @@ void tst_QIcon::isNull() { const QString prefix = QLatin1String(SRCDIR) + QLatin1String("/"); // test string constructor with existing file but unsupported format - QIcon iconUnsupportedFormat = QIcon(prefix + "image.tga"); + QIcon iconUnsupportedFormat = QIcon(prefix + "tst_qicon.cpp"); QVERIFY(!iconUnsupportedFormat.isNull()); QVERIFY(!iconUnsupportedFormat.actualSize(QSize(32, 32)).isValid()); diff --git a/tests/auto/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/qitemdelegate/tst_qitemdelegate.cpp index 5d1034a..426887d 100644 --- a/tests/auto/qitemdelegate/tst_qitemdelegate.cpp +++ b/tests/auto/qitemdelegate/tst_qitemdelegate.cpp @@ -865,7 +865,7 @@ void tst_QItemDelegate::decoration() qt_x11_wait_for_window_manager(&table); #endif QApplication::setActiveWindow(&table); - QTRY_COMPARE(QApplication::activeWindow(), &table); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget*>(&table)); QVariant value; switch ((QVariant::Type)type) { diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp index b51434f..d9cab02 100644 --- a/tests/auto/qlistview/tst_qlistview.cpp +++ b/tests/auto/qlistview/tst_qlistview.cpp @@ -59,6 +59,8 @@ #include <windows.h> #endif +#include "../../shared/util.h" + //TESTED_CLASS= //TESTED_FILES= @@ -1630,7 +1632,9 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates() } delegate; list.setItemDelegate(&delegate); - QTest::qWait(200); //makes sure the layout is done + delegate.numPaints = 0; + QTest::qWaitForWindowShown(&list); //makes sure the layout is done + QTRY_VERIFY(delegate.numPaints > 0); const QPoint topLeft(-6, 0); list.setPositionForIndex(topLeft, index); diff --git a/tests/auto/qlistwidget/tst_qlistwidget.cpp b/tests/auto/qlistwidget/tst_qlistwidget.cpp index d31b07f..e825c8f 100644 --- a/tests/auto/qlistwidget/tst_qlistwidget.cpp +++ b/tests/auto/qlistwidget/tst_qlistwidget.cpp @@ -302,6 +302,11 @@ void tst_QListWidget::openPersistentEditor() void tst_QListWidget::closePersistentEditor() { +#if defined(Q_OS_SYMBIAN) + //give the Symbian app start event queue time to clear + QTest::qWait(1000); +#endif + // Boundry checking int childCount = testWidget->viewport()->children().count(); testWidget->closePersistentEditor(0); diff --git a/tests/auto/qlocalsocket/lackey/lackey.pro b/tests/auto/qlocalsocket/lackey/lackey.pro index efb2f52..8182394 100644 --- a/tests/auto/qlocalsocket/lackey/lackey.pro +++ b/tests/auto/qlocalsocket/lackey/lackey.pro @@ -1,4 +1,4 @@ -include(../src/src.pri) +#include(../src/src.pri) QT = core script network diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp index 1180d4d..be39d00 100644 --- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp @@ -87,6 +87,8 @@ private slots: void sendData_data(); void sendData(); + void readBufferOverflow(); + void fullPath(); void hitMaximumConnections_data(); @@ -102,13 +104,15 @@ private slots: void longPath(); void waitForDisconnect(); + void waitForDisconnectByServer(); void removeServer(); void recycleServer(); + void multiConnect(); + void writeOnlySocket(); void writeToClientAndDisconnect(); - void debug(); void bytesWrittenSignal(); @@ -151,7 +155,13 @@ public: LocalServer() : QLocalServer() { connect(this, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); - }; + } + + bool listen(const QString &name) + { + removeServer(name); + return QLocalServer::listen(name); + } QList<int> hits; @@ -553,6 +563,40 @@ void tst_QLocalSocket::sendData() QCOMPARE(spy.count(), (canListen ? 1 : 0)); } +void tst_QLocalSocket::readBufferOverflow() +{ + const int readBufferSize = 128; + const int dataBufferSize = readBufferSize * 2; + const QString serverName = QLatin1String("myPreciousTestServer"); + LocalServer server; + server.listen(serverName); + QVERIFY(server.isListening()); + + LocalSocket client; + client.setReadBufferSize(readBufferSize); + client.connectToServer(serverName); + + bool timedOut = true; + QVERIFY(server.waitForNewConnection(3000, &timedOut)); + QVERIFY(!timedOut); + + QCOMPARE(client.state(), QLocalSocket::ConnectedState); + QVERIFY(server.hasPendingConnections()); + + QLocalSocket* serverSocket = server.nextPendingConnection(); + char buffer[dataBufferSize]; + memset(buffer, 0, dataBufferSize); + serverSocket->write(buffer, dataBufferSize); + serverSocket->flush(); + + QVERIFY(client.waitForReadyRead()); + QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize)); +#if defined(QT_LOCALSOCKET_TCP) || defined(Q_OS_SYMBIAN) + QTest::qWait(250); +#endif + QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize)); +} + // QLocalSocket/Server can take a name or path, check that it works as expected void tst_QLocalSocket::fullPath() { @@ -833,6 +877,25 @@ void tst_QLocalSocket::waitForDisconnect() QVERIFY(timer.elapsed() < 2000); } +void tst_QLocalSocket::waitForDisconnectByServer() +{ + QString name = "tst_localsocket"; + LocalServer server; + QVERIFY(server.listen(name)); + LocalSocket socket; + QSignalSpy spy(&socket, SIGNAL(disconnected())); + QVERIFY(spy.isValid()); + socket.connectToServer(name); + QVERIFY(socket.waitForConnected(3000)); + QVERIFY(server.waitForNewConnection(3000)); + QLocalSocket *serverSocket = server.nextPendingConnection(); + QVERIFY(serverSocket); + serverSocket->close(); + QVERIFY(serverSocket->state() == QLocalSocket::UnconnectedState); + QVERIFY(socket.waitForDisconnected(3000)); + QCOMPARE(spy.count(), 1); +} + void tst_QLocalSocket::removeServer() { // this is a hostile takeover, but recovering from a crash results in the same @@ -874,6 +937,53 @@ void tst_QLocalSocket::recycleServer() QVERIFY(server.nextPendingConnection() != 0); } +void tst_QLocalSocket::multiConnect() +{ + QLocalServer server; + QLocalSocket client1; + QLocalSocket client2; + QLocalSocket client3; + + QVERIFY(server.listen("multiconnect")); + + client1.connectToServer("multiconnect"); + client2.connectToServer("multiconnect"); + client3.connectToServer("multiconnect"); + + QVERIFY(client1.waitForConnected(201)); + QVERIFY(client2.waitForConnected(202)); + QVERIFY(client3.waitForConnected(203)); + + QVERIFY(server.waitForNewConnection(201)); + QVERIFY(server.nextPendingConnection() != 0); + QVERIFY(server.waitForNewConnection(202)); + QVERIFY(server.nextPendingConnection() != 0); + QVERIFY(server.waitForNewConnection(203)); + QVERIFY(server.nextPendingConnection() != 0); +} + +void tst_QLocalSocket::writeOnlySocket() +{ + QLocalServer server; +#ifdef Q_OS_SYMBIAN + unlink("writeOnlySocket"); +#endif + QVERIFY(server.listen("writeOnlySocket")); + + QLocalSocket client; + client.connectToServer("writeOnlySocket", QIODevice::WriteOnly); + QVERIFY(client.waitForConnected()); +#if defined(Q_OS_SYMBIAN) + QTest::qWait(250); +#endif + QVERIFY(server.waitForNewConnection()); + QLocalSocket* serverSocket = server.nextPendingConnection(); + QVERIFY(serverSocket); + + QCOMPARE(client.bytesAvailable(), qint64(0)); + QCOMPARE(client.state(), QLocalSocket::ConnectedState); +} + void tst_QLocalSocket::writeToClientAndDisconnect() { #ifdef Q_OS_SYMBIAN diff --git a/tests/auto/qmainwindow/tst_qmainwindow.cpp b/tests/auto/qmainwindow/tst_qmainwindow.cpp index 38d23b6..9615c63 100644 --- a/tests/auto/qmainwindow/tst_qmainwindow.cpp +++ b/tests/auto/qmainwindow/tst_qmainwindow.cpp @@ -1297,18 +1297,27 @@ void tst_QMainWindow::createPopupMenu() mainwindow.addDockWidget(Qt::LeftDockWidgetArea, &dockwidget3); mainwindow.addDockWidget(Qt::LeftDockWidgetArea, &dockwidget4); + +#ifdef QT_SOFTKEYS_ENABLED + // Softkeys add extra "Select" and "Back" actions to menu by default. + // Two first actions will be Select and Back when softkeys are enabled + int numSoftkeyActions = 2; +#else + int numSoftkeyActions = 0; +#endif + QMenu *menu = mainwindow.createPopupMenu(); QVERIFY(menu != 0); QList<QAction *> actions = menu->actions(); - QCOMPARE(actions.size(), 7); + QCOMPARE(actions.size(), 7 + numSoftkeyActions); - QCOMPARE(actions.at(0), dockwidget1.toggleViewAction()); - QCOMPARE(actions.at(1), dockwidget2.toggleViewAction()); - QCOMPARE(actions.at(2), dockwidget3.toggleViewAction()); - QCOMPARE(actions.at(3), dockwidget4.toggleViewAction()); - QVERIFY(actions.at(4)->isSeparator()); - QCOMPARE(actions.at(5), toolbar1.toggleViewAction()); - QCOMPARE(actions.at(6), toolbar2.toggleViewAction()); + QCOMPARE(actions.at(0 + numSoftkeyActions), dockwidget1.toggleViewAction()); + QCOMPARE(actions.at(1 + numSoftkeyActions), dockwidget2.toggleViewAction()); + QCOMPARE(actions.at(2 + numSoftkeyActions), dockwidget3.toggleViewAction()); + QCOMPARE(actions.at(3 + numSoftkeyActions), dockwidget4.toggleViewAction()); + QVERIFY(actions.at(4 + numSoftkeyActions)->isSeparator()); + QCOMPARE(actions.at(5 + numSoftkeyActions), toolbar1.toggleViewAction()); + QCOMPARE(actions.at(6 + numSoftkeyActions), toolbar2.toggleViewAction()); delete menu; @@ -1319,12 +1328,12 @@ void tst_QMainWindow::createPopupMenu() menu = mainwindow.createPopupMenu(); QVERIFY(menu != 0); actions = menu->actions(); - QCOMPARE(actions.size(), 4); + QCOMPARE(actions.size(), 4 + numSoftkeyActions); - QCOMPARE(actions.at(0), dockwidget2.toggleViewAction()); - QCOMPARE(actions.at(1), dockwidget3.toggleViewAction()); - QVERIFY(actions.at(2)->isSeparator()); - QCOMPARE(actions.at(3), toolbar2.toggleViewAction()); + QCOMPARE(actions.at(0 + numSoftkeyActions), dockwidget2.toggleViewAction()); + QCOMPARE(actions.at(1 + numSoftkeyActions), dockwidget3.toggleViewAction()); + QVERIFY(actions.at(2 + numSoftkeyActions)->isSeparator()); + QCOMPARE(actions.at(3 + numSoftkeyActions), toolbar2.toggleViewAction()); delete menu; } diff --git a/tests/auto/qmake/testdata/prompt/prompt.pro b/tests/auto/qmake/testdata/prompt/prompt.pro index 02db4fe..238022c 100644 --- a/tests/auto/qmake/testdata/prompt/prompt.pro +++ b/tests/auto/qmake/testdata/prompt/prompt.pro @@ -1,2 +1,2 @@ -a = $$prompt(Prompteroo) +# a = $$prompt(Prompteroo) diff --git a/tests/auto/qmdiarea/tst_qmdiarea.cpp b/tests/auto/qmdiarea/tst_qmdiarea.cpp index b110114..725c31e 100644 --- a/tests/auto/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/qmdiarea/tst_qmdiarea.cpp @@ -468,6 +468,7 @@ void tst_QMdiArea::subWindowActivated2() #ifdef Q_WS_X11 qt_x11_wait_for_window_manager(&mdiArea); #endif + QTest::qWait(100); QTRY_COMPARE(spy.count(), 5); QCOMPARE(mdiArea.activeSubWindow(), mdiArea.subWindowList().back()); diff --git a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp index b897d8f..2d70bef 100644 --- a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp +++ b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp @@ -1065,6 +1065,7 @@ void tst_QMdiSubWindow::setSystemMenu() qApp->setLayoutDirection(Qt::RightToLeft); qApp->processEvents(); mainWindow.updateGeometry(); + QTest::qWait(150); subWindow->showSystemMenu(); QTest::qWait(250); diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp index e467229..726ca55 100644 --- a/tests/auto/qmenu/tst_qmenu.cpp +++ b/tests/auto/qmenu/tst_qmenu.cpp @@ -260,9 +260,17 @@ void tst_QMenu::onStatusMessageChanged(const QString &s) void tst_QMenu::addActionsAndClear() { - QCOMPARE(menus[0]->actions().count(), 0); +#ifdef QT_SOFTKEYS_ENABLED + // Softkeys add extra "Select" and "Back" actions to menu by default. + // Two first actions will be Select and Back when softkeys are enabled + int numSoftkeyActions = 2; +#else + int numSoftkeyActions = 0; +#endif + + QCOMPARE(menus[0]->actions().count(), 0 + numSoftkeyActions); createActions(); - QCOMPARE(menus[0]->actions().count(), 8); + QCOMPARE(menus[0]->actions().count(), 8 + numSoftkeyActions); menus[0]->clear(); QCOMPARE(menus[0]->actions().count(), 0); } diff --git a/tests/auto/qmessagebox/tst_qmessagebox.cpp b/tests/auto/qmessagebox/tst_qmessagebox.cpp index 5607fbd..1f8e925 100644 --- a/tests/auto/qmessagebox/tst_qmessagebox.cpp +++ b/tests/auto/qmessagebox/tst_qmessagebox.cpp @@ -714,7 +714,8 @@ void tst_QMessageBox::setInformativeText() msgbox.setInformativeText(itext); msgbox.show(); QCOMPARE(msgbox.informativeText(), itext); - QVERIFY(msgbox.width() > 200); //verify it's big enough (task181688) + QVERIFY2(msgbox.width() > 190, //verify it's big enough (task181688) + qPrintable(QString("%1 > 190").arg(msgbox.width()))); } void tst_QMessageBox::iconPixmap() diff --git a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp index 86a04d0..cc5104a 100644 --- a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp +++ b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp @@ -259,6 +259,9 @@ void tst_QNetworkDiskCache::data_data() // public QIODevice* data(QUrl const& url) void tst_QNetworkDiskCache::data() { +#ifdef Q_OS_SYMBIAN + QSKIP("Due to mmap(...) bug in Open C [Temtrack DEF142242]", SkipAll); +#endif QFETCH(QNetworkCacheMetaData, data); SubQNetworkDiskCache cache; QUrl url(EXAMPLE_URL); @@ -335,6 +338,9 @@ void tst_QNetworkDiskCache::setCacheDirectory() // public void updateMetaData(QNetworkCacheMetaData const& metaData) void tst_QNetworkDiskCache::updateMetaData() { +#ifdef Q_OS_SYMBIAN + QSKIP("Due to mmap(...) bug in Open C [Temtrack DEF142242]", SkipAll); +#endif QUrl url(EXAMPLE_URL); SubQNetworkDiskCache cache; cache.setupWithOne(url); diff --git a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp index a129f7f..acd23b0 100644 --- a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp +++ b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp @@ -379,6 +379,10 @@ void tst_QParallelAnimationGroup::updateChildrenWithRunningGroup() void tst_QParallelAnimationGroup::deleteChildrenWithRunningGroup() { +#if defined(Q_OS_SYMBIAN) + // give the Symbian app start event queue time to clear + QTest::qWait(1000); +#endif // test if children can be activated when their group is stopped QParallelAnimationGroup group; diff --git a/tests/auto/qpixmap/qpixmap.pro b/tests/auto/qpixmap/qpixmap.pro index 31d6eaa..a3577bd 100644 --- a/tests/auto/qpixmap/qpixmap.pro +++ b/tests/auto/qpixmap/qpixmap.pro @@ -2,16 +2,23 @@ load(qttest_p4) SOURCES += tst_qpixmap.cpp contains(QT_CONFIG, qt3support): QT += qt3support wince*|symbian*: { - task31722_0.sources = convertFromImage/task31722_0/* + + task31722_0.sources = convertFromImage/task31722_0/*.png task31722_0.path = convertFromImage/task31722_0 - task31722_1.sources = convertFromImage/task31722_1/* + + task31722_1.sources = convertFromImage/task31722_1/*.png task31722_1.path = convertFromImage/task31722_1 - DEPLOYMENT += task31722_0 task31722_1 + + icons.sources = convertFromToHICON/* + icons.path = convertFromToHICON + + DEPLOYMENT += task31722_0 task31722_1 icons + DEPLOYMENT_PLUGIN += qico } wince*: { DEFINES += SRCDIR=\\\".\\\" -} symbian*: { +} else:symbian* { DEPLOYMENT_PLUGIN += qmng LIBS += -lfbscli.dll -lbitgdi.dll -lgdi.dll contains(QT_CONFIG, openvg) { diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp index 1bfddc1..2568b94 100644 --- a/tests/auto/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/qpixmap/tst_qpixmap.cpp @@ -67,6 +67,9 @@ #include <bitdev.h> #endif +#ifdef Q_WS_X11 +#include <QX11Info> +#endif //TESTED_CLASS= //TESTED_FILES= @@ -175,6 +178,12 @@ static bool lenientCompare(const QPixmap &actual, const QPixmap &expected) int size = actual.width() * actual.height(); + int threshold = 2; +#ifdef Q_WS_X11 + if (QX11Info::appDepth() == 16) + threshold = 10; +#endif + QRgb *a = (QRgb *)actualImage.bits(); QRgb *e = (QRgb *)expectedImage.bits(); for (int i = 0; i < size; ++i) { @@ -183,11 +192,11 @@ static bool lenientCompare(const QPixmap &actual, const QPixmap &expected) bool result = true; - if (qAbs(ca.red() - ce.red()) > 2) + if (qAbs(ca.red() - ce.red()) > threshold) result = false; - if (qAbs(ca.green() - ce.green()) > 2) + if (qAbs(ca.green() - ce.green()) > threshold) result = false; - if (qAbs(ca.blue() - ce.blue()) > 2) + if (qAbs(ca.blue() - ce.blue()) > threshold) result = false; if (!result) @@ -293,15 +302,23 @@ void tst_QPixmap::setAlphaChannel() void tst_QPixmap::fromImage_data() { + bool is16bit = false; +#ifdef Q_WS_X11 + if (QX11Info::appDepth() == 16) + is16bit = true; +#endif + QTest::addColumn<QImage::Format>("format"); QTest::newRow("Format_Mono") << QImage::Format_Mono; QTest::newRow("Format_MonoLSB") << QImage::Format_MonoLSB; // QTest::newRow("Format_Indexed8") << QImage::Format_Indexed8; - QTest::newRow("Format_RGB32") << QImage::Format_RGB32; + if (!is16bit) + QTest::newRow("Format_RGB32") << QImage::Format_RGB32; QTest::newRow("Format_ARGB32") << QImage::Format_ARGB32; QTest::newRow("Format_ARGB32_Premultiplied") << QImage::Format_ARGB32_Premultiplied; - QTest::newRow("Format_RGB16") << QImage::Format_RGB16; + if (!is16bit) + QTest::newRow("Format_RGB16") << QImage::Format_RGB16; } void tst_QPixmap::fromImage() @@ -986,7 +1003,7 @@ static void compareImages(const QImage &image1, const QImage &image2) QRgb p1 = image1.pixel(x, y); QRgb p2 = image2.pixel(x, y); - bool pixelMatches = + bool pixelMatches = qAbs(qRed(p1) - qRed(p2)) <= fuzz && qAbs(qGreen(p1) - qGreen(p2)) <= fuzz && qAbs(qBlue(p1) - qBlue(p2)) <= fuzz @@ -1017,6 +1034,10 @@ void tst_QPixmap::toWinHICON_data() void tst_QPixmap::toWinHICON() { +#ifdef Q_OS_WINCE + QSKIP("Test shall be enabled for Windows CE shortly.", SkipAll); +#endif + QFETCH(int, width); QFETCH(int, height); QFETCH(QString, image); @@ -1057,6 +1078,10 @@ void tst_QPixmap::fromWinHICON_data() void tst_QPixmap::fromWinHICON() { +#ifdef Q_OS_WINCE + QSKIP("Test shall be enabled for Windows CE shortly.", SkipAll); + +#else QFETCH(int, width); QFETCH(int, height); QFETCH(QString, image); @@ -1073,6 +1098,7 @@ void tst_QPixmap::fromWinHICON() // QVERIFY(imageFromHICON == imageFromFile); compareImages(imageFromHICON, imageFromFile); +#endif } #endif // Q_WS_WIN diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp index 6d262ba..b487d74 100644 --- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp +++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp @@ -171,7 +171,7 @@ void tst_QPixmapCache::setCacheLimit() QPixmapCache::setCacheLimit(0); QPixmapCache::setCacheLimit(1000); QPixmapCache::Key key2 = QPixmapCache::insert(*p1); - QCOMPARE(getPrivate(key2)->key, 2); + QCOMPARE(getPrivate(key2)->key, 1); QVERIFY(QPixmapCache::find(key, &p2) == 0); QVERIFY(QPixmapCache::find(key2, &p2) != 0); QCOMPARE(p2, *p1); @@ -200,7 +200,7 @@ void tst_QPixmapCache::find() { QPixmap p1(10, 10); p1.fill(Qt::red); - QPixmapCache::insert("P1", p1); + QVERIFY(QPixmapCache::insert("P1", p1)); QPixmap p2; QVERIFY(QPixmapCache::find("P1", p2)); @@ -222,13 +222,13 @@ void tst_QPixmapCache::find() QCOMPARE(p1, p2); QPixmapCache::clear(); + QPixmapCache::setCacheLimit(128); key = QPixmapCache::insert(p1); //The int part of the API - // make sure it doesn't explode QList<QPixmapCache::Key> keys; - for (int i = 0; i < 40000; ++i) + for (int i = 0; i < 4000; ++i) QPixmapCache::insert(p1); //at that time the first key has been erase because no more place in the cache @@ -293,8 +293,6 @@ void tst_QPixmapCache::insert() estimatedNum = (1024 * QPixmapCache::cacheLimit()) / ((p1.width() * p1.height() * p1.depth()) / 8); QVERIFY(num <= estimatedNum); - QPixmapCache::insert(p3); - } void tst_QPixmapCache::replace() @@ -307,13 +305,16 @@ void tst_QPixmapCache::replace() p2.fill(Qt::yellow); QPixmapCache::Key key = QPixmapCache::insert(p1); + QCOMPARE(getPrivate(key)->isValid, true); QPixmap p3; QVERIFY(QPixmapCache::find(key, &p3) == 1); - QPixmapCache::replace(key,p2); + QPixmapCache::replace(key, p2); QVERIFY(QPixmapCache::find(key, &p3) == 1); + QCOMPARE(getPrivate(key)->isValid, true); + QCOMPARE(getPrivate(key)->key, 1); QCOMPARE(p3.width(), 10); QCOMPARE(p3.height(), 10); @@ -392,11 +393,8 @@ void tst_QPixmapCache::clear() QPixmap p1(10, 10); p1.fill(Qt::red); -#ifdef Q_OS_WINCE - const int numberOfKeys = 10000; -#else - const int numberOfKeys = 20000; -#endif + const int numberOfKeys = 40000; + for (int i = 0; i < numberOfKeys; ++i) QVERIFY(QPixmapCache::find("x" + QString::number(i)) == 0); diff --git a/tests/auto/qprinterinfo/tst_qprinterinfo.cpp b/tests/auto/qprinterinfo/tst_qprinterinfo.cpp index e397b76..7352524 100644 --- a/tests/auto/qprinterinfo/tst_qprinterinfo.cpp +++ b/tests/auto/qprinterinfo/tst_qprinterinfo.cpp @@ -101,6 +101,8 @@ void tst_QPrinterInfo::macFixNameFormat(QString *printerName) #ifdef Q_WS_MAC printerName->replace(QLatin1String("___"), QLatin1String(" @ ")); printerName->replace(QLatin1String("_"), QLatin1String(".")); +#else + Q_UNUSED(printerName); #endif } @@ -132,7 +134,7 @@ QStringList tst_QPrinterInfo::getPrintersFromSystem() QString output = getOutputFromCommand(command); QStringList list = output.split(QChar::fromLatin1('\n')); - QRegExp reg("^[Pp]rinter ([a-zA-Z0-9_]+)"); + QRegExp reg("^[Pp]rinter ([.a-zA-Z0-9_-]+)"); for (int c = 0; c < list.size(); ++c) { if (reg.indexIn(list[c]) >= 0) { QString printer = reg.cap(1); @@ -282,16 +284,17 @@ void tst_QPrinterInfo::testForPrinters() QCOMPARE(printers.size(), sysPrinters.size()); + QHash<QString, bool> qtPrinters; + + for (int j = 0; j < printers.size(); ++j) { + qtPrinters.insert(printers.at(j).printerName(), !printers.at(j).isNull()); + } + for (int i = 0; i < sysPrinters.size(); ++i) { - bool found = false; - for (int j = 0; j < printers.size(); ++j) { - if (sysPrinters.at(i) == printers.at(j).printerName()) { - QVERIFY(!printers.at(j).isNull()); - found = true; - break; - } + if (!qtPrinters.value(sysPrinters.at(i))) { + qDebug() << "Avaliable printers: " << qtPrinters; + QFAIL(qPrintable(QString("Printer '%1' reported by system, but not reported by Qt").arg(sysPrinters.at(i)))); } - if (!found) QFAIL("Printer reported by system, but not reported by Qt"); } #else QSKIP("Test doesn't work on non-Unix", SkipAll); diff --git a/tests/auto/qprogressbar/tst_qprogressbar.cpp b/tests/auto/qprogressbar/tst_qprogressbar.cpp index d86094d..bc4583e 100644 --- a/tests/auto/qprogressbar/tst_qprogressbar.cpp +++ b/tests/auto/qprogressbar/tst_qprogressbar.cpp @@ -175,7 +175,7 @@ void tst_QProgressBar::format() bar.repainted = false; bar.setFormat("%v of %m (%p%)"); QTest::qWait(20); - QVERIFY(bar.repainted); + QTRY_VERIFY(bar.repainted); bar.repainted = false; bar.setFormat("%v of %m (%p%)"); qApp->processEvents(); diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 183aa3f..f2c7157 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -1632,7 +1632,6 @@ void tst_QScriptEngine::errorMessage_QT679() engine.globalObject().setProperty("foo", 15); QScriptValue error = engine.evaluate("'hello world';\nfoo.bar.blah"); QVERIFY(error.isError()); - QEXPECT_FAIL("", "Task QT-679: the error message always contains the first line of the script, even if the error was on a different line", Continue); QCOMPARE(error.toString(), QString::fromLatin1("TypeError: Result of expression 'foo.bar' [undefined] is not an object.")); } diff --git a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp index 82bca8f..283e489 100644 --- a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp +++ b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp @@ -1193,10 +1193,15 @@ void tst_QScriptEngineAgent::positionChange_1() QCOMPARE(spy->at(0).columnNumber, 1); } - { + QStringList lineTerminators; + lineTerminators << "\n" << "\r" << "\n\r" << "\r\n"; + for (int i = 0; i < lineTerminators.size(); ++i) { spy->clear(); int lineNumber = 456; - eng.evaluate("1 + 2; 3 + 4;\n5 + 6", "foo.qs", lineNumber); + QString code = "1 + 2; 3 + 4;"; + code.append(lineTerminators.at(i)); + code.append("5 + 6"); + eng.evaluate(code, "foo.qs", lineNumber); QCOMPARE(spy->count(), 3); // 1 + 2 diff --git a/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp b/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp index c305221..4f4c547 100644 --- a/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp +++ b/tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp @@ -640,6 +640,7 @@ tst_Suite::tst_Suite() addExpectedFailure("ecma_3/Unicode/regress-352044-01.js", "issues with Unicode escape sequences in JavaScript source code", willFixInNextReleaseMessage); addExpectedFailure("ecma_3/Unicode/uc-001.js", "Unicode format-control character test (Category Cf.)", willFixInNextReleaseMessage); + addFileExclusion(".+/15\\.9\\.2\\..+", "unstable on slow machines"); addFileExclusion(".+/15\\.9\\.5\\..+", "too slooow"); addFileExclusion("regress-130451.js", "asserts"); addFileExclusion("regress-322135-01.js", "asserts"); @@ -648,6 +649,8 @@ tst_Suite::tst_Suite() addFileExclusion("regress-322135-04.js", "takes forever"); addFileExclusion("ecma_3/RegExp/regress-375715-04.js", "bug"); + addFileExclusion("ecma_3/RegExp/regress-289669.js", "Can fail due to relying on wall-clock time"); + // Failures due to switch to JSC as back-end addExpectedFailure("ecma/Array/15.4.3.1-2.js", "var props = ''; for ( p in Array ) { props += p } props", willFixInNextReleaseMessage); addExpectedFailure("ecma/Boolean/15.6.3.1-1.js", "var str='';for ( p in Boolean ) { str += p } str;", willFixInNextReleaseMessage); diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 6792ebf..6b64e76 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -51,6 +51,10 @@ //TESTED_CLASS= //TESTED_FILES= +QT_BEGIN_NAMESPACE +extern bool qt_script_isJITEnabled(); +QT_END_NAMESPACE + class tst_QScriptValue : public QObject { Q_OBJECT @@ -2886,7 +2890,6 @@ void tst_QScriptValue::equals() { QScriptValue ret = compareFun.call(QScriptValue(), QScriptValueList() << qobj1 << qobj2); QVERIFY(ret.isBool()); - QEXPECT_FAIL("", "In JSC back-end, == on QObject wrappers doesn't work", Continue); QVERIFY(ret.toBool()); ret = compareFun.call(QScriptValue(), QScriptValueList() << qobj1 << qobj3); QVERIFY(ret.isBool()); @@ -2906,7 +2909,6 @@ void tst_QScriptValue::equals() { QScriptValue ret = compareFun.call(QScriptValue(), QScriptValueList() << var1 << var2); QVERIFY(ret.isBool()); - QEXPECT_FAIL("", "In JSC back-end, == on QVariant wrappers doesn't work", Continue); QVERIFY(ret.toBool()); } } diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro index 84f1cb2..7f289a6 100644 --- a/tests/auto/qsqldriver/qsqldriver.pro +++ b/tests/auto/qsqldriver/qsqldriver.pro @@ -15,3 +15,11 @@ wince*: { LIBS += ws2_32.lib } } + +symbian { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } +} diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp index 7244d72..b808f7f 100644 --- a/tests/auto/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp @@ -119,6 +119,8 @@ private slots: void assignProperty(); void assignPropertyWithAnimation(); void postEvent(); + void cancelDelayedEvent(); + void postDelayedEventAndStop(); void stateFinished(); void parallelStates(); void parallelRootState(); @@ -176,6 +178,7 @@ private slots: void twoAnimatedTransitions(); void playAnimationTwice(); void nestedTargetStateForAnimation(); + void polishedSignalTransitionsReuseAnimationGroup(); void animatedGlobalRestoreProperty(); void specificTargetValueOfAnimation(); @@ -1542,8 +1545,8 @@ private: class StringEventPoster : public QState { public: - StringEventPoster(QStateMachine *machine, const QString &value, QState *parent = 0) - : QState(parent), m_machine(machine), m_value(value), m_delay(0) {} + StringEventPoster(const QString &value, QState *parent = 0) + : QState(parent), m_value(value), m_delay(-1) {} void setString(const QString &value) { m_value = value; } @@ -1553,12 +1556,14 @@ public: protected: virtual void onEntry(QEvent *) { - m_machine->postEvent(new StringEvent(m_value), m_delay); + if (m_delay == -1) + machine()->postEvent(new StringEvent(m_value)); + else + machine()->postDelayedEvent(new StringEvent(m_value), m_delay); } virtual void onExit(QEvent *) {} private: - QStateMachine *m_machine; QString m_value; int m_delay; }; @@ -1572,7 +1577,7 @@ void tst_QStateMachine::postEvent() QTest::ignoreMessage(QtWarningMsg, "QStateMachine::postEvent: cannot post event when the state machine is not running"); machine.postEvent(&e); } - StringEventPoster *s1 = new StringEventPoster(&machine, "a"); + StringEventPoster *s1 = new StringEventPoster("a"); if (x == 1) s1->setDelay(100); QFinalState *s2 = new QFinalState; @@ -1598,6 +1603,80 @@ void tst_QStateMachine::postEvent() } } +void tst_QStateMachine::cancelDelayedEvent() +{ + QStateMachine machine; + QTest::ignoreMessage(QtWarningMsg, "QStateMachine::cancelDelayedEvent: the machine is not running"); + QVERIFY(!machine.cancelDelayedEvent(-1)); + + QState *s1 = new QState(&machine); + QFinalState *s2 = new QFinalState(&machine); + s1->addTransition(new StringTransition("a", s2)); + machine.setInitialState(s1); + + QSignalSpy startedSpy(&machine, SIGNAL(started())); + machine.start(); + QTRY_COMPARE(startedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s1)); + + int id1 = machine.postDelayedEvent(new StringEvent("c"), 50000); + QVERIFY(id1 != -1); + int id2 = machine.postDelayedEvent(new StringEvent("b"), 25000); + QVERIFY(id2 != -1); + QVERIFY(id2 != id1); + int id3 = machine.postDelayedEvent(new StringEvent("a"), 100); + QVERIFY(id3 != -1); + QVERIFY(id3 != id2); + QVERIFY(machine.cancelDelayedEvent(id1)); + QVERIFY(!machine.cancelDelayedEvent(id1)); + QVERIFY(machine.cancelDelayedEvent(id2)); + QVERIFY(!machine.cancelDelayedEvent(id2)); + + QSignalSpy finishedSpy(&machine, SIGNAL(finished())); + QTRY_COMPARE(finishedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s2)); +} + +void tst_QStateMachine::postDelayedEventAndStop() +{ + QStateMachine machine; + QState *s1 = new QState(&machine); + QFinalState *s2 = new QFinalState(&machine); + s1->addTransition(new StringTransition("a", s2)); + machine.setInitialState(s1); + + QSignalSpy startedSpy(&machine, SIGNAL(started())); + machine.start(); + QTRY_COMPARE(startedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s1)); + + int id1 = machine.postDelayedEvent(new StringEvent("a"), 0); + QVERIFY(id1 != -1); + QSignalSpy stoppedSpy(&machine, SIGNAL(stopped())); + machine.stop(); + QTRY_COMPARE(stoppedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s1)); + + machine.start(); + QTRY_COMPARE(startedSpy.count(), 2); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s1)); + + int id2 = machine.postDelayedEvent(new StringEvent("a"), 1000); + QVERIFY(id2 != -1); + machine.stop(); + QTRY_COMPARE(stoppedSpy.count(), 2); + machine.start(); + QTRY_COMPARE(startedSpy.count(), 3); + QTestEventLoop::instance().enterLoop(2); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s1)); +} + void tst_QStateMachine::stateFinished() { QStateMachine machine; @@ -3115,6 +3194,38 @@ void tst_QStateMachine::nestedTargetStateForAnimation() QCOMPARE(counter.counter, 2); } +void tst_QStateMachine::polishedSignalTransitionsReuseAnimationGroup() +{ + QStateMachine machine; + QObject *object = new QObject(&machine); + object->setProperty("foo", 0); + + QState *s1 = new QState(&machine); + s1->assignProperty(object, "foo", 123); + QState *s2 = new QState(&machine); + s2->assignProperty(object, "foo", 456); + QState *s3 = new QState(&machine); + s3->assignProperty(object, "foo", 789); + QFinalState *s4 = new QFinalState(&machine); + + QParallelAnimationGroup animationGroup; + animationGroup.addAnimation(new QPropertyAnimation(object, "foo")); + QSignalSpy animationFinishedSpy(&animationGroup, SIGNAL(finished())); + s1->addTransition(s1, SIGNAL(polished()), s2)->addAnimation(&animationGroup); + s2->addTransition(s2, SIGNAL(polished()), s3)->addAnimation(&animationGroup); + s3->addTransition(s3, SIGNAL(polished()), s4); + + machine.setInitialState(s1); + QSignalSpy machineFinishedSpy(&machine, SIGNAL(finished())); + machine.start(); + QTRY_COMPARE(machineFinishedSpy.count(), 1); + QCOMPARE(machine.configuration().size(), 1); + QVERIFY(machine.configuration().contains(s4)); + QCOMPARE(object->property("foo").toInt(), 789); + + QCOMPARE(animationFinishedSpy.count(), 2); +} + void tst_QStateMachine::animatedGlobalRestoreProperty() { QStateMachine machine; diff --git a/tests/auto/qstatusbar/tst_qstatusbar.cpp b/tests/auto/qstatusbar/tst_qstatusbar.cpp index 3727882..9774559 100644 --- a/tests/auto/qstatusbar/tst_qstatusbar.cpp +++ b/tests/auto/qstatusbar/tst_qstatusbar.cpp @@ -48,6 +48,8 @@ #include <QMainWindow> #include <QSizeGrip> +#include "../../shared/util.h" + //TESTED_CLASS= //TESTED_FILES= @@ -177,7 +179,7 @@ void tst_QStatusBar::setSizeGripEnabled() qt_x11_wait_for_window_manager(&mainWindow); #endif - QVERIFY(statusBar->isVisible()); + QTRY_VERIFY(statusBar->isVisible()); QPointer<QSizeGrip> sizeGrip = qFindChild<QSizeGrip *>(statusBar); QVERIFY(sizeGrip); QVERIFY(sizeGrip->isVisible()); @@ -223,11 +225,8 @@ void tst_QStatusBar::setSizeGripEnabled() qApp->processEvents(); mainWindow.showNormal(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&mainWindow); -#endif qApp->processEvents(); - QVERIFY(sizeGrip->isVisible()); + QTRY_VERIFY(sizeGrip->isVisible()); } void tst_QStatusBar::task194017_hiddenWidget() diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 71218a3..03f4966 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -378,7 +378,6 @@ public: } bool checkSignalOrder; - using QTableView::wheelEvent; public slots: void currentChanged(QModelIndex , QModelIndex ) { hasCurrentChanged++; @@ -3222,6 +3221,7 @@ void tst_QTableView::mouseWheel() for (int c = 0; c < 100; ++c) view.setColumnWidth(c, 100); view.show(); + QTest::qWaitForWindowShown(&view); view.setModel(&model); @@ -3230,12 +3230,13 @@ void tst_QTableView::mouseWheel() view.horizontalScrollBar()->setValue(10); view.verticalScrollBar()->setValue(10); - QPoint pos(100,100); + qDebug() << "delta" << delta << view.viewport()->geometry(); + QPoint pos = view.viewport()->geometry().center(); QWheelEvent verticalEvent(pos, delta, 0, 0, Qt::Vertical); QWheelEvent horizontalEvent(pos, delta, 0, 0, Qt::Horizontal); - view.wheelEvent(&horizontalEvent); + QApplication::sendEvent(view.viewport(), &horizontalEvent); QVERIFY(qAbs(view.horizontalScrollBar()->value() - horizontalPositon) < 10); - view.wheelEvent(&verticalEvent); + QApplication::sendEvent(view.viewport(), &verticalEvent); QVERIFY(qAbs(view.verticalScrollBar()->value() - verticalPosition) < 10); } diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp index 112bcc8..91b2cc5 100644 --- a/tests/auto/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/qtreeview/tst_qtreeview.cpp @@ -3113,7 +3113,7 @@ void tst_QTreeView::task224091_appendColumns() treeView->show(); treeView->resize(50,50); - QTest::qWait(50); + QTest::qWaitForWindowShown(treeView); qApp->processEvents(); QList<QStandardItem *> projlist; @@ -3125,7 +3125,7 @@ void tst_QTreeView::task224091_appendColumns() QTest::qWait(50); qApp->processEvents(); - QVERIFY(treeView->verticalScrollBar()->isVisible()); + QTRY_VERIFY(treeView->verticalScrollBar()->isVisible()); delete treeView; delete model; diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index 8899176..fb3cf0e 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -186,6 +186,8 @@ private slots: void resolvedWithAbsoluteSchemes_data() const; void binaryData_data(); void binaryData(); + void fromUserInput_data(); + void fromUserInput(); void task_199967(); void task_240612(); @@ -3637,6 +3639,69 @@ void tst_QUrl::binaryData() QCOMPARE(url2, url); } +void tst_QUrl::fromUserInput_data() +{ + QTest::addColumn<QString>("string"); + QTest::addColumn<QUrl>("url"); + + // Null + QTest::newRow("null") << QString() << QUrl(); + + // File + QDirIterator it(QDir::homePath()); + QString fileString; + int c = 0; + while (it.hasNext()) { + it.next(); + QTest::newRow(QString("file-%1").arg(c++).toLatin1()) << it.filePath() << QUrl::fromLocalFile(it.filePath()); + } + + // basic latin1 + QTest::newRow("unicode-0") << QString::fromUtf8("\xC3\xA5.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xC3\xA5.com/").toUtf8(), QUrl::TolerantMode); + // unicode + QTest::newRow("unicode-1") << QString::fromUtf8("\xCE\xBB.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xCE\xBB.com/").toUtf8(), QUrl::TolerantMode); + + // no scheme + QTest::newRow("add scheme-0") << "webkit.org" << QUrl("http://webkit.org"); + QTest::newRow("add scheme-1") << "www.webkit.org" << QUrl("http://www.webkit.org"); + QTest::newRow("add scheme-2") << "ftp.webkit.org" << QUrl("ftp://ftp.webkit.org"); + QTest::newRow("add scheme-3") << "webkit" << QUrl("webkit"); + + // QUrl's tolerant parser should already handle this + QTest::newRow("not-encoded-0") << "http://webkit.org/test page.html" << QUrl("http://webkit.org/test%20page.html"); + + // Make sure the :80, i.e. port doesn't screw anything up + QUrl portUrl("http://webkit.org"); + portUrl.setPort(80); + QTest::newRow("port-0") << "webkit.org:80" << portUrl; + QTest::newRow("port-1") << "http://webkit.org:80" << portUrl; + + // mailto doesn't have a ://, but is valid + QUrl mailto("somebody@somewhere.net"); + mailto.setScheme("mailto"); + QTest::newRow("mailto") << "mailto:somebody@somewhere.net" << mailto; + + // misc + QTest::newRow("localhost-0") << "localhost" << QUrl("http://localhost"); + QTest::newRow("localhost-1") << "localhost:80" << QUrl("http://localhost:80"); + QTest::newRow("spaces-0") << " http://webkit.org/test page.html " << QUrl("http://webkit.org/test%20page.html"); + QTest::newRow("trash-0") << "webkit.org/test?someData=42%&someOtherData=abcde#anchor" << QUrl::fromEncoded("http://webkit.org/test?someData=42%25&someOtherData=abcde#anchor"); + + // FYI: The scheme in the resulting url user + QUrl authUrl("user:pass@domain.com"); + QTest::newRow("misc-1") << "user:pass@domain.com" << authUrl; +} + +// public static QUrl guessUrlFromString(QString const& string) +void tst_QUrl::fromUserInput() +{ + QFETCH(QString, string); + QFETCH(QUrl, url); + + QUrl guessedUrl = QUrl::fromUserInput(string); + QCOMPARE(guessedUrl, url); +} + void tst_QUrl::task_199967() { { diff --git a/tests/auto/qwidget/qwidget.pro b/tests/auto/qwidget/qwidget.pro index def28f5..61db2ee 100644 --- a/tests/auto/qwidget/qwidget.pro +++ b/tests/auto/qwidget/qwidget.pro @@ -10,8 +10,8 @@ aix-g++*:QMAKE_CXXFLAGS+=-fpermissive CONFIG += x11inc mac { -LIBS += -framework Security -framework AppKit -OBJECTIVE_SOURCES += tst_qwidget_mac_helpers.mm + LIBS += -framework Security -framework AppKit -framework Carbon + OBJECTIVE_SOURCES += tst_qwidget_mac_helpers.mm } symbian { diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index 4cf9e8f..a9033ba 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -355,6 +355,7 @@ private slots: void maskedUpdate(); #if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined(Q_WS_QWS) void syntheticEnterLeave(); + void taskQTBUG_4055_sendSyntheticEnterLeave(); #endif void windowFlags(); void initialPosForDontShowOnScreenWidgets(); @@ -3117,7 +3118,7 @@ void tst_QWidget::saveRestoreGeometry() widget.resize(size); widget.show(); QTest::qWaitForWindowShown(&widget); - QTest::qWait(200); + QTest::qWait(500); QTRY_COMPARE(widget.geometry().size(), size); QRect geom; @@ -3127,7 +3128,7 @@ void tst_QWidget::saveRestoreGeometry() geom = widget.geometry(); widget.setWindowState(widget.windowState() | Qt::WindowFullScreen); QTRY_VERIFY((widget.windowState() & Qt::WindowFullScreen)); - QTest::qWait(200); + QTest::qWait(500); QVERIFY(widget.restoreGeometry(savedGeometry)); QTest::qWait(120); QTRY_VERIFY(!(widget.windowState() & Qt::WindowFullScreen)); @@ -3137,55 +3138,55 @@ void tst_QWidget::saveRestoreGeometry() widget.setWindowState(widget.windowState() | Qt::WindowFullScreen); QTest::qWait(120); QTRY_VERIFY((widget.windowState() & Qt::WindowFullScreen)); - QTest::qWait(200); + QTest::qWait(500); savedGeometry = widget.saveGeometry(); geom = widget.geometry(); widget.setWindowState(widget.windowState() ^ Qt::WindowFullScreen); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY(!(widget.windowState() & Qt::WindowFullScreen)); - QTest::qWait(200); + QTest::qWait(400); QVERIFY(widget.restoreGeometry(savedGeometry)); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY((widget.windowState() & Qt::WindowFullScreen)); QTRY_COMPARE(widget.geometry(), geom); QVERIFY((widget.windowState() & Qt::WindowFullScreen)); widget.setWindowState(widget.windowState() ^ Qt::WindowFullScreen); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY(!(widget.windowState() & Qt::WindowFullScreen)); - QTest::qWait(20); + QTest::qWait(120); //Restore from Maximised widget.move(position); widget.resize(size); - QTest::qWait(20); + QTest::qWait(10); QTRY_COMPARE(widget.size(), size); - QTest::qWait(200); + QTest::qWait(500); savedGeometry = widget.saveGeometry(); geom = widget.geometry(); widget.setWindowState(widget.windowState() | Qt::WindowMaximized); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY((widget.windowState() & Qt::WindowMaximized)); QTRY_VERIFY(widget.geometry() != geom); - QTest::qWait(200); + QTest::qWait(500); QVERIFY(widget.restoreGeometry(savedGeometry)); - QTest::qWait(20); + QTest::qWait(120); QTRY_COMPARE(widget.geometry(), geom); QVERIFY(!(widget.windowState() & Qt::WindowMaximized)); //Restore to maximised widget.setWindowState(widget.windowState() | Qt::WindowMaximized); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY((widget.windowState() & Qt::WindowMaximized)); - QTest::qWait(200); + QTest::qWait(500); geom = widget.geometry(); savedGeometry = widget.saveGeometry(); widget.setWindowState(widget.windowState() ^ Qt::WindowMaximized); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY(!(widget.windowState() & Qt::WindowMaximized)); - QTest::qWait(200); + QTest::qWait(500); QVERIFY(widget.restoreGeometry(savedGeometry)); - QTest::qWait(20); + QTest::qWait(120); QTRY_VERIFY((widget.windowState() & Qt::WindowMaximized)); QTRY_COMPARE(widget.geometry(), geom); } @@ -5500,14 +5501,14 @@ void tst_QWidget::multipleToplevelFocusCheck() w1.activateWindow(); QApplication::setActiveWindow(&w1); QApplication::processEvents(); - QTRY_COMPARE(QApplication::activeWindow(), &w1); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&w1)); QTest::mouseDClick(&w1, Qt::LeftButton); QTRY_COMPARE(QApplication::focusWidget(), static_cast<QWidget *>(w1.edit)); w2.activateWindow(); QApplication::setActiveWindow(&w2); QApplication::processEvents(); - QTRY_COMPARE(QApplication::activeWindow(), &w2); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&w2)); QTest::mouseClick(&w2, Qt::LeftButton); #ifdef Q_WS_QWS QEXPECT_FAIL("", "embedded toplevels take focus anyway", Continue); @@ -5520,14 +5521,14 @@ void tst_QWidget::multipleToplevelFocusCheck() w1.activateWindow(); QApplication::setActiveWindow(&w1); QApplication::processEvents(); - QTRY_COMPARE(QApplication::activeWindow(), &w1); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&w1)); QTest::mouseDClick(&w1, Qt::LeftButton); QTRY_COMPARE(QApplication::focusWidget(), static_cast<QWidget *>(w1.edit)); w2.activateWindow(); QApplication::setActiveWindow(&w2); QApplication::processEvents(); - QTRY_COMPARE(QApplication::activeWindow(), &w2); + QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&w2)); QTest::mouseClick(&w2, Qt::LeftButton); QTRY_COMPARE(QApplication::focusWidget(), (QWidget *)0); } @@ -6151,9 +6152,6 @@ void tst_QWidget::compatibilityChildInsertedEvents() EventRecorder::EventList() << qMakePair(&widget, QEvent::PolishRequest) << qMakePair(&widget, QEvent::Type(QEvent::User + 1)) -#ifdef Q_OS_SYMBIAN - << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged) -#endif #if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60) << qMakePair(&widget, QEvent::UpdateRequest) #endif @@ -6249,9 +6247,6 @@ void tst_QWidget::compatibilityChildInsertedEvents() << qMakePair(&widget, QEvent::PolishRequest) << qMakePair(&widget, QEvent::Type(QEvent::User + 1)) << qMakePair(&widget, QEvent::Type(QEvent::User + 2)) -#ifdef Q_OS_SYMBIAN - << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged) -#endif #if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60) << qMakePair(&widget, QEvent::UpdateRequest) #endif @@ -6347,9 +6342,6 @@ void tst_QWidget::compatibilityChildInsertedEvents() << qMakePair(&widget, QEvent::PolishRequest) << qMakePair(&widget, QEvent::Type(QEvent::User + 1)) << qMakePair(&widget, QEvent::Type(QEvent::User + 2)) -#ifdef Q_OS_SYMBIAN - << qMakePair(&widget, QEvent::SymbianDeferredFocusChanged) -#endif #if defined(Q_WS_X11) || defined(Q_WS_WIN) || defined(Q_WS_QWS) || defined(Q_WS_S60) << qMakePair(&widget, QEvent::UpdateRequest) #endif @@ -6392,6 +6384,7 @@ private: void tst_QWidget::render() { + return; QCalendarWidget source; // disable anti-aliasing to eliminate potential differences when subpixel antialiasing // is enabled on the screen @@ -6514,7 +6507,7 @@ void tst_QWidget::renderInvisible() dummyFocusWidget.show(); QTest::qWaitForWindowShown(&dummyFocusWidget); qApp->processEvents(); - QTest::qWait(100); + QTest::qWait(120); // Create normal reference image. const QSize calendarSize = calendar->size(); @@ -6529,6 +6522,7 @@ void tst_QWidget::renderInvisible() const QSize calendarSizeResized = calendar->size() + QSize(50, 50); calendar->resize(calendarSizeResized); qApp->processEvents(); + QTest::qWait(30); QImage referenceImageResized(calendarSizeResized, QImage::Format_ARGB32); calendar->render(&referenceImageResized); #ifdef RENDER_DEBUG @@ -6539,6 +6533,7 @@ void tst_QWidget::renderInvisible() // Explicitly hide the calendar. calendar->hide(); qApp->processEvents(); + QTest::qWait(30); workaroundPaletteIssue(calendar); { // Make sure we get the same image when the calendar is explicitly hidden. @@ -6569,6 +6564,7 @@ void tst_QWidget::renderInvisible() calendar->hide(); qApp->processEvents(); + QTest::qWait(30); { // Calendar explicitly hidden. QImage testImage(calendarSize, QImage::Format_ARGB32); @@ -6636,6 +6632,7 @@ void tst_QWidget::renderInvisible() // Navigation bar isn't explicitly hidden anymore. navigationBar->show(); qApp->processEvents(); + QTest::qWait(30); QVERIFY(!calendar->isVisible()); // Now, completely mess up the layout. This will trigger an update on the layout @@ -8054,13 +8051,8 @@ void tst_QWidget::doubleRepaint() QTRY_COMPARE(widget.numPaintEvents, expectedRepaints); widget.numPaintEvents = 0; -#ifndef Q_OS_WINCE //still no proper minimizing // Minmize: Should not trigger a repaint. widget.showMinimized(); -#else - // Hide: Should not trigger a repaint. - widget.hide(); -#endif QTest::qWait(10); QCOMPARE(widget.numPaintEvents, 0); widget.numPaintEvents = 0; @@ -8069,12 +8061,7 @@ void tst_QWidget::doubleRepaint() widget.showNormal(); QTest::qWaitForWindowShown(&widget); QTest::qWait(10); -#ifndef Q_OS_WINCE QCOMPARE(widget.numPaintEvents, 0); -#else - // We called hide(), and then it'll get repainted once it's shown again. - QCOMPARE(widget.numPaintEvents, 1); -#endif } #ifndef Q_WS_MAC @@ -8204,7 +8191,7 @@ void tst_QWidget::moveInResizeEvent() testWidget.setGeometry(50, 50, 200, 200); testWidget.show(); QTest::qWaitForWindowShown(&testWidget); - QTest::qWait(10); + QTest::qWait(120); QRect expectedGeometry(100,100, 100, 100); QTRY_COMPARE(testWidget.geometry(), expectedGeometry); @@ -8691,7 +8678,7 @@ void tst_QWidget::setClearAndResizeMask() QTRY_COMPARE(child.numPaintEvents, 1); #else // and ensure that we don't get any updates at all. - QCOMPARE(child.numPaintEvents, 0); + QTRY_COMPARE(child.numPaintEvents, 0); #endif QCOMPARE(topLevel.numPaintEvents, 0); @@ -8728,9 +8715,9 @@ void tst_QWidget::setClearAndResizeMask() QTest::qWait(200); #ifdef Q_WS_MAC // Mac always issues a full update when calling setMask, and we cannot force it to not do so. - QCOMPARE(resizeChild.paintedRegion, resizeChild.mask()); + QTRY_COMPARE(resizeChild.paintedRegion, resizeChild.mask()); #else - QCOMPARE(resizeChild.paintedRegion, QRegion()); + QTRY_COMPARE(resizeChild.paintedRegion, QRegion()); #endif resizeChild.paintedRegion = QRegion(); @@ -8739,9 +8726,9 @@ void tst_QWidget::setClearAndResizeMask() QTest::qWait(100); #ifdef Q_WS_MAC // Mac always issues a full update when calling setMask, and we cannot force it to not do so. - QCOMPARE(resizeChild.paintedRegion, resizeChild.mask()); + QTRY_COMPARE(resizeChild.paintedRegion, resizeChild.mask()); #else - QCOMPARE(resizeChild.paintedRegion, resizeChild.mask() - oldMask); + QTRY_COMPARE(resizeChild.paintedRegion, resizeChild.mask() - oldMask); #endif } @@ -8995,6 +8982,87 @@ void tst_QWidget::syntheticEnterLeave() QCOMPARE(window.numEnterEvents, 0); QCOMPARE(child1->numEnterEvents, 1); } + +void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() +{ + class SELParent : public QWidget + { + public: + SELParent(QWidget *parent = 0): QWidget(parent) { } + + void mousePressEvent(QMouseEvent *) { child->show(); } + QWidget *child; + }; + + class SELChild : public QWidget + { + public: + SELChild(QWidget *parent = 0) : QWidget(parent), numEnterEvents(0), numMouseMoveEvents(0) {} + void enterEvent(QEvent *) { ++numEnterEvents; } + void mouseMoveEvent(QMouseEvent *event) + { + QCOMPARE(event->button(), Qt::NoButton); + QCOMPARE(event->buttons(), Qt::MouseButtons(Qt::NoButton)); + ++numMouseMoveEvents; + } + void reset() { numEnterEvents = numMouseMoveEvents = 0; } + int numEnterEvents, numMouseMoveEvents; + }; + + SELParent parent; + parent.resize(200, 200); + SELChild child(&parent); + child.resize(200, 200); + parent.show(); + #ifdef Q_WS_X11 + qt_x11_wait_for_window_manager(&parent); + #endif + QTest::qWait(100); + + QCursor::setPos(child.mapToGlobal(QPoint(100, 100))); + QTest::qWait(100); + // Make sure the cursor has entered the child. + QVERIFY(child.numEnterEvents > 0); + + child.hide(); + child.reset(); + child.show(); + + // Make sure the child gets enter event and no mouse move event. + QCOMPARE(child.numEnterEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 0); + + child.hide(); + child.reset(); + child.setMouseTracking(true); + child.show(); + + // Make sure the child gets enter event and mouse move event. + // Note that we verify event->button() and event->buttons() + // in SELChild::mouseMoveEvent(). + QCOMPARE(child.numEnterEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 1); + + // Sending synthetic enter/leave trough the parent's mousePressEvent handler. + parent.child = &child; + + child.hide(); + child.reset(); + QTest::mouseClick(&parent, Qt::LeftButton); + + // Make sure the child gets enter event and one mouse move event. + QCOMPARE(child.numEnterEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 1); + + child.hide(); + child.reset(); + child.setMouseTracking(false); + QTest::mouseClick(&parent, Qt::LeftButton); + + // Make sure the child gets enter event and no mouse move event. + QCOMPARE(child.numEnterEvents, 1); + QCOMPARE(child.numMouseMoveEvents, 0); + } #endif void tst_QWidget::windowFlags() @@ -9154,8 +9222,11 @@ void tst_QWidget::destroyBackingStore() void tst_QWidget::rectOutsideCoordinatesLimit_task144779() { +#ifdef Q_OS_WINCE_WM + QSKIP( "Tables of 5000 elements do not make sense on Windows Mobile.", SkipAll); +#endif QApplication::setOverrideCursor(Qt::BlankCursor); //keep the cursor out of screen grabs - QWidget main(0,0,Qt::FramelessWindowHint); //don't get confused by the size of the window frame + QWidget main(0,Qt::FramelessWindowHint); //don't get confused by the size of the window frame QPalette palette; palette.setColor(QPalette::Window, Qt::red); main.setPalette(palette); diff --git a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp index 0a6b7ad..2490a65 100644 --- a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp +++ b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp @@ -106,18 +106,26 @@ public: QRegion r; }; -#define VERIFY_COLOR(region, color) { \ - const QRegion r = QRegion(region); \ - for (int i = 0; i < r.rects().size(); ++i) { \ - const QRect rect = r.rects().at(i); \ - const QPixmap pixmap = QPixmap::grabWindow(QDesktopWidget().winId(), \ - rect.left(), rect.top(), \ - rect.width(), rect.height()); \ - QCOMPARE(pixmap.size(), rect.size()); \ - QPixmap expectedPixmap(pixmap); /* ensure equal formats */ \ - expectedPixmap.fill(color); \ - QCOMPARE(pixmap, expectedPixmap); \ - } \ +//from tst_qwidget.cpp +static void VERIFY_COLOR(const QRegion ®ion, const QColor &color) +{ + const QRegion r = QRegion(region); + for (int i = 0; i < r.rects().size(); ++i) { + const QRect rect = r.rects().at(i); + for (int t = 0; t < 5; t++) { + const QPixmap pixmap = QPixmap::grabWindow(QDesktopWidget().winId(), + rect.left(), rect.top(), + rect.width(), rect.height()); + QCOMPARE(pixmap.size(), rect.size()); + QPixmap expectedPixmap(pixmap); /* ensure equal formats */ + expectedPixmap.fill(color); + if (pixmap.toImage().pixel(0,0) != QColor(color).rgb() && t < 4 ) + { QTest::qWait(200); continue; } + QCOMPARE(pixmap.toImage().pixel(0,0), QColor(color).rgb()); + QCOMPARE(pixmap, expectedPixmap); + break; + } + } } void tst_QWindowSurface::getSetWindowSurface() @@ -230,7 +238,7 @@ void tst_QWindowSurface::grabWidget() parentWidget.show(); QTest::qWaitForWindowShown(&parentWidget); - QTest::qWait(120); + QTest::qWait(220); QPixmap parentPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget); QPixmap childPixmap = childWidget.windowSurface()->grabWidget(&childWidget); diff --git a/tests/manual/keypadnavigation/keypadnavigation.ui b/tests/manual/keypadnavigation/keypadnavigation.ui index e0db662..039889b 100644 --- a/tests/manual/keypadnavigation/keypadnavigation.ui +++ b/tests/manual/keypadnavigation/keypadnavigation.ui @@ -1058,6 +1058,79 @@ As a reward you can try out the QDial, below.</string> </item> </layout> </widget> + <widget class="QWidget" name="m_pageDialogs"> + <layout class="QVBoxLayout" name="verticalLayout_13"> + <item> + <widget class="QPushButton" name="m_buttonGetOpenFileName"> + <property name="text"> + <string>getOpenFileName()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonGetSaveFileName"> + <property name="text"> + <string>getSaveFileName()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonGetExistingDirectory"> + <property name="text"> + <string>getExistingDirectory()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonGetColor"> + <property name="text"> + <string>getColor()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonGetFont"> + <property name="text"> + <string>getFont()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonQuestion"> + <property name="text"> + <string>question()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonAboutQt"> + <property name="text"> + <string>aboutQt()</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="m_buttonGetItem"> + <property name="text"> + <string>getItem()</string> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>104</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> </widget> </item> </layout> @@ -1080,6 +1153,7 @@ As a reward you can try out the QDial, below.</string> <addaction name="m_actionLayoutTwoDimensional"/> <addaction name="m_actionLayoutSliderMagic"/> <addaction name="m_actionLayoutChaos"/> + <addaction name="m_actionLayoutDialogs"/> </widget> <widget class="QMenu" name="menuNavigation_mode"> <property name="title"> @@ -1144,14 +1218,22 @@ As a reward you can try out the QDial, below.</string> <string>CursorForceVisible</string> </property> </action> + <action name="m_actionLayoutDialogs"> + <property name="text"> + <string>Dialogs</string> + </property> + <property name="toolTip"> + <string>m_actionLayoutDialogs</string> + </property> + </action> </widget> <layoutdefault spacing="6" margin="11"/> <tabstops> - <tabstop>lineEdit</tabstop> - <tabstop>horizontalSlider</tabstop> - <tabstop>lineEdit_4</tabstop> - <tabstop>horizontalSlider_2</tabstop> - <tabstop>dateEdit</tabstop> + <tabstop>m_buttonGetOpenFileName</tabstop> + <tabstop>m_buttonGetSaveFileName</tabstop> + <tabstop>m_buttonGetExistingDirectory</tabstop> + <tabstop>m_buttonGetColor</tabstop> + <tabstop>m_buttonGetFont</tabstop> <tabstop>comboBox</tabstop> <tabstop>plainTextEdit</tabstop> <tabstop>pushButton</tabstop> @@ -1169,7 +1251,6 @@ As a reward you can try out the QDial, below.</string> <tabstop>toolButton_3</tabstop> <tabstop>horizontalSlider_6</tabstop> <tabstop>horizontalSlider_5</tabstop> - <tabstop>scrollArea_3</tabstop> <tabstop>lineEdit_13</tabstop> <tabstop>toolButton_31</tabstop> <tabstop>lineEdit_14</tabstop> @@ -1202,7 +1283,17 @@ As a reward you can try out the QDial, below.</string> <tabstop>toolButton_16</tabstop> <tabstop>tabWidget</tabstop> <tabstop>scrollArea_2</tabstop> - <tabstop>scrollArea</tabstop> + <tabstop>horizontalSlider_4</tabstop> + <tabstop>horizontalSlider_3</tabstop> + <tabstop>tabWidget_2</tabstop> + <tabstop>toolButton_2</tabstop> + <tabstop>toolButton_7</tabstop> + <tabstop>toolButton_13</tabstop> + <tabstop>lineEdit_4</tabstop> + <tabstop>lineEdit</tabstop> + <tabstop>horizontalSlider</tabstop> + <tabstop>horizontalSlider_2</tabstop> + <tabstop>dateEdit</tabstop> </tabstops> <resources/> <connections> diff --git a/tests/manual/keypadnavigation/main.cpp b/tests/manual/keypadnavigation/main.cpp index 0e4bf31..d1cc8a7 100644 --- a/tests/manual/keypadnavigation/main.cpp +++ b/tests/manual/keypadnavigation/main.cpp @@ -53,29 +53,57 @@ public: { ui->setupUi(this); - connect(ui->m_actionLayoutVerticalSimple, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); - m_layoutSignalMapper.setMapping(ui->m_actionLayoutVerticalSimple, ui->m_pageVerticalSimple); - connect(ui->m_actionLayoutVerticalComplex, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); - m_layoutSignalMapper.setMapping(ui->m_actionLayoutVerticalComplex, ui->m_pageVerticalComplex); - connect(ui->m_actionLayoutTwoDimensional, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); - m_layoutSignalMapper.setMapping(ui->m_actionLayoutTwoDimensional, ui->m_pageTwoDimensional); - connect(ui->m_actionLayoutSliderMagic, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); - m_layoutSignalMapper.setMapping(ui->m_actionLayoutSliderMagic, ui->m_pageSliderMagic); - connect(ui->m_actionLayoutChaos, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); - m_layoutSignalMapper.setMapping(ui->m_actionLayoutChaos, ui->m_pageChaos); + const struct { + QObject *action; + QWidget *page; + } layoutMappings[] = { + {ui->m_actionLayoutVerticalSimple, ui->m_pageVerticalSimple}, + {ui->m_actionLayoutVerticalComplex, ui->m_pageVerticalComplex}, + {ui->m_actionLayoutTwoDimensional, ui->m_pageTwoDimensional}, + {ui->m_actionLayoutSliderMagic, ui->m_pageSliderMagic}, + {ui->m_actionLayoutChaos, ui->m_pageChaos}, + {ui->m_actionLayoutDialogs, ui->m_pageDialogs} + }; + for (int i = 0; i < int(sizeof layoutMappings / sizeof layoutMappings[0]); ++i) { + connect(layoutMappings[i].action, SIGNAL(triggered()), &m_layoutSignalMapper, SLOT(map())); + m_layoutSignalMapper.setMapping(layoutMappings[i].action, layoutMappings[i].page); + } connect(&m_layoutSignalMapper, SIGNAL(mapped(QWidget*)), ui->m_stackWidget, SLOT(setCurrentWidget(QWidget*))); - connect(ui->m_actionModeNone, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); - m_modeSignalMapper.setMapping(ui->m_actionModeNone, int(Qt::NavigationModeNone)); - connect(ui->m_actionModeKeypadTabOrder, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); - m_modeSignalMapper.setMapping(ui->m_actionModeKeypadTabOrder, int(Qt::NavigationModeKeypadTabOrder)); - connect(ui->m_actionModeKeypadDirectional, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); - m_modeSignalMapper.setMapping(ui->m_actionModeKeypadDirectional, int(Qt::NavigationModeKeypadDirectional)); - connect(ui->m_actionModeCursorAuto, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); - m_modeSignalMapper.setMapping(ui->m_actionModeCursorAuto, int(Qt::NavigationModeCursorAuto)); - connect(ui->m_actionModeCursorForceVisible, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); - m_modeSignalMapper.setMapping(ui->m_actionModeCursorForceVisible, int(Qt::NavigationModeCursorForceVisible)); + const struct { + QObject *action; + Qt::NavigationMode mode; + } modeMappings[] = { + {ui->m_actionModeNone, Qt::NavigationModeNone}, + {ui->m_actionModeKeypadTabOrder, Qt::NavigationModeKeypadTabOrder}, + {ui->m_actionModeKeypadDirectional, Qt::NavigationModeKeypadDirectional}, + {ui->m_actionModeCursorAuto, Qt::NavigationModeCursorAuto}, + {ui->m_actionModeCursorForceVisible, Qt::NavigationModeCursorForceVisible} + }; + for (int i = 0; i < int(sizeof modeMappings / sizeof modeMappings[0]); ++i) { + connect(modeMappings[i].action, SIGNAL(triggered()), &m_modeSignalMapper, SLOT(map())); + m_modeSignalMapper.setMapping(modeMappings[i].action, int(modeMappings[i].mode)); + } connect(&m_modeSignalMapper, SIGNAL(mapped(int)), SLOT(setNavigationMode(int))); + + const struct { + QObject *button; + Dialog dialog; + } openDialogMappings[] = { + {ui->m_buttonGetOpenFileName, DialogGetOpenFileName}, + {ui->m_buttonGetSaveFileName, DialogGetSaveFileName}, + {ui->m_buttonGetExistingDirectory, DialogGetExistingDirectory}, + {ui->m_buttonGetColor, DialogGetColor}, + {ui->m_buttonGetFont, DialogGetFont}, + {ui->m_buttonQuestion, DialogQuestion}, + {ui->m_buttonAboutQt, DialogAboutQt}, + {ui->m_buttonGetItem, DialogGetItem} + }; + for (int i = 0; i < int(sizeof openDialogMappings / sizeof openDialogMappings[0]); ++i) { + connect(openDialogMappings[i].button, SIGNAL(clicked()), &m_dialogSignalMapper, SLOT(map())); + m_dialogSignalMapper.setMapping(openDialogMappings[i].button, int(openDialogMappings[i].dialog)); + } + connect(&m_dialogSignalMapper, SIGNAL(mapped(int)), SLOT(openDialog(int))); } ~KeypadNavigation() @@ -83,16 +111,60 @@ public: delete ui; } -public slots: +protected slots: void setNavigationMode(int mode) { QApplication::setNavigationMode(Qt::NavigationMode(mode)); } + void openDialog(int dialog) + { + switch (Dialog(dialog)) { + case DialogGetOpenFileName: + QFileDialog::getOpenFileName(this, QLatin1String("getOpenFileName")); + break; + case DialogGetSaveFileName: + QFileDialog::getSaveFileName(this, QLatin1String("getSaveFileName")); + break; + case DialogGetExistingDirectory: + QFileDialog::getExistingDirectory(this, QLatin1String("getExistingDirectory")); + break; + case DialogGetColor: + QColorDialog::getColor(QColor(Qt::green), this, QLatin1String("getColor")); + break; + case DialogGetFont: + QFontDialog::getFont(0, this); + break; + case DialogQuestion: + QMessageBox::question(this, QLatin1String("question"), QLatin1String("¿Hola, que tal?")); + break; + case DialogAboutQt: + QMessageBox::aboutQt(this); + break; + case DialogGetItem: + QInputDialog::getItem(this, QLatin1String("getItem"), QLatin1String("Choose a color"), QColor::colorNames()); + break; + default: + break; + } + } + private: + enum Dialog { + DialogGetOpenFileName, + DialogGetSaveFileName, + DialogGetExistingDirectory, + DialogGetColor, + DialogGetFont, + DialogQuestion, + DialogAboutQt, + DialogGetItem + }; + Ui_KeypadNavigation *ui; QSignalMapper m_layoutSignalMapper; QSignalMapper m_modeSignalMapper; + QSignalMapper m_dialogSignalMapper; }; int main(int argc, char *argv[]) diff --git a/tools/assistant/compat/translations/translations.pro b/tools/assistant/compat/translations/translations.pro deleted file mode 100644 index 19fcc06..0000000 --- a/tools/assistant/compat/translations/translations.pro +++ /dev/null @@ -1,34 +0,0 @@ -# Include those manually as they do not contain any directory specification - -FORMS += ../helpdialog.ui \ - ../mainwindow.ui \ - ../tabbedbrowser.ui \ - ../topicchooser.ui - -SOURCES += ../main.cpp \ - ../helpwindow.cpp \ - ../topicchooser.cpp \ - ../docuparser.cpp \ - ../index.cpp \ - ../profile.cpp \ - ../config.cpp \ - ../helpdialog.cpp \ - ../mainwindow.cpp \ - ../tabbedbrowser.cpp \ - ../fontsettingsdialog.cpp - -SOURCES += ../../../shared/fontpanel/fontpanel.cpp - -HEADERS += ../helpwindow.h \ - ../topicchooser.h \ - ../docuparser.h \ - ../index.h \ - ../profile.h \ - ../helpdialog.h \ - ../mainwindow.h \ - ../tabbedbrowser.h \ - ../config.h \ - ../fontsettingsdialog.h - - -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_de.ts $$[QT_INSTALL_TRANSLATIONS]/assistant_untranslated.ts diff --git a/tools/assistant/translations/qt_help.pro b/tools/assistant/translations/qt_help.pro index 9f4d7d8..69570d3 100644 --- a/tools/assistant/translations/qt_help.pro +++ b/tools/assistant/translations/qt_help.pro @@ -39,12 +39,14 @@ HEADERS += ../lib/qhelpcollectionhandler_p.h \ ../lib/qhelp_global.h -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qt_help_de.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_ja.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_TW.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qt_help_da.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/qt_help_da.ts \ + $$TR_DIR/qt_help_de.ts + $$TR_DIR/qt_help_ja.ts \ + $$TR_DIR/qt_help_pl.ts \ + $$TR_DIR/qt_help_ru.ts \ + $$TR_DIR/qt_help_zh_CN.ts \ + $$TR_DIR/qt_help_zh_TW.ts + error("This is a dummy profile to be used for translations ONLY.") diff --git a/tools/assistant/translations/translations.pro b/tools/assistant/translations/translations.pro index 4b836e6..6ff1fc9 100644 --- a/tools/assistant/translations/translations.pro +++ b/tools/assistant/translations/translations.pro @@ -40,11 +40,12 @@ HEADERS += ../tools/assistant/aboutdialog.h \ ../tools/assistant/searchwidget.h \ ../tools/assistant/topicchooser.h \ -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_de.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_ja.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_zh_TW.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_da.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/assistant_da.ts \ + $$TR_DIR/assistant_de.ts \ + $$TR_DIR/assistant_ja.ts \ + $$TR_DIR/assistant_pl.ts \ + $$TR_DIR/assistant_ru.ts \ + $$TR_DIR/assistant_zh_CN.ts \ + $$TR_DIR/assistant_zh_TW.ts diff --git a/tools/assistant/translations/translations_adp.pro b/tools/assistant/translations/translations_adp.pro index c6f3e81..852bdeb 100644 --- a/tools/assistant/translations/translations_adp.pro +++ b/tools/assistant/translations/translations_adp.pro @@ -31,11 +31,13 @@ HEADERS += ../compat/helpwindow.h \ ../compat/fontsettingsdialog.h -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_de.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_ja.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_TW.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/assistant_adp_de.ts \ + $$TR_DIR/assistant_adp_ja.ts \ + $$TR_DIR/assistant_adp_pl.ts \ + $$TR_DIR/assistant_adp_ru.ts \ + $$TR_DIR/assistant_adp_zh_CN.ts \ + $$TR_DIR/assistant_adp_zh_TW.ts + error("This is a dummy profile to be used for translations ONLY.") diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index afb2dec..4d1a025 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -2032,9 +2032,9 @@ bool Configure::checkAvailability(const QString &part) if (!findFile("msdmo.lib")) cout << "msdmo.lib not found" << endl; if (!findFile("d3d9.h")) cout << "d3d9.h not found" << endl; } - } else if (part == "MULTIMEDIA") { + } else if (part == "MULTIMEDIA" || part == "SCRIPT" || part == "SCRIPTTOOLS") { available = true; - } else if (part == "WEBKIT" || part == "SCRIPT" || part == "SCRIPTTOOLS") { + } else if (part == "WEBKIT") { available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-g++"); } diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro index c8cd76d..a37918c 100644 --- a/tools/designer/translations/translations.pro +++ b/tools/designer/translations/translations.pro @@ -130,10 +130,12 @@ HEADERS += ../../shared/findwidget/abstractfindwidget.h \ ../../shared/findwidget/itemviewfindwidget.h \ ../../shared/findwidget/texteditfindwidget.h -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/designer_de.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_ja.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_zh_TW.ts \ - $$[QT_INSTALL_TRANSLATIONS]/designer_untranslated.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/designer_de.ts \ + $$TR_DIR/designer_ja.ts \ + $$TR_DIR/designer_pl.ts \ + $$TR_DIR/designer_ru.ts \ + $$TR_DIR/designer_sl.ts \ + $$TR_DIR/designer_zh_CN.ts \ + $$TR_DIR/designer_zh_TW.ts diff --git a/tools/linguist/lconvert/main.cpp b/tools/linguist/lconvert/main.cpp index 67553a0..6f5f86a 100644 --- a/tools/linguist/lconvert/main.cpp +++ b/tools/linguist/lconvert/main.cpp @@ -234,10 +234,6 @@ int main(int argc, char *argv[]) return usage(args); tr.setLanguageCode(Translator::guessLanguageCodeFromFileName(inFiles[0].name)); - if (!targetLanguage.isEmpty()) - tr.setLanguageCode(targetLanguage); - if (!sourceLanguage.isEmpty()) - tr.setSourceLanguageCode(sourceLanguage); if (!tr.load(inFiles[0].name, cd, inFiles[0].format)) { qWarning() << qPrintable(cd.error()); @@ -256,6 +252,10 @@ int main(int argc, char *argv[]) tr.replaceSorted(tr2.message(j)); } + if (!targetLanguage.isEmpty()) + tr.setLanguageCode(targetLanguage); + if (!sourceLanguage.isEmpty()) + tr.setSourceLanguageCode(sourceLanguage); if (noObsolete) tr.stripObsoleteMessages(); if (noFinished) diff --git a/tools/linguist/linguist/linguist.pro b/tools/linguist/linguist/linguist.pro index 00ebec1..c902aeb 100644 --- a/tools/linguist/linguist/linguist.pro +++ b/tools/linguist/linguist/linguist.pro @@ -95,11 +95,12 @@ FORMS += statistics.ui \ finddialog.ui RESOURCES += linguist.qrc -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/linguist_ja.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_zh_TW.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_de.ts \ - $$[QT_INSTALL_TRANSLATIONS]/linguist_fr.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/linguist_de.ts \ + $$TR_DIR/linguist_fr.ts \ + $$TR_DIR/linguist_ja.ts \ + $$TR_DIR/linguist_pl.ts \ + $$TR_DIR/linguist_ru.ts \ + $$TR_DIR/linguist_zh_CN.ts \ + $$TR_DIR/linguist_zh_TW.ts diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp index ed41edb..7a616e3 100644 --- a/tools/linguist/lupdate/cpp.cpp +++ b/tools/linguist/lupdate/cpp.cpp @@ -1031,6 +1031,10 @@ QStringList CppParser::stringListifySegments(const QList<HashString> &segments) } struct QualifyOneData { + QualifyOneData(const NamespaceList &ns, int nsc, const HashString &seg, NamespaceList *rslvd) + : namespaces(ns), nsCount(nsc), segment(seg), resolved(rslvd) + {} + const NamespaceList &namespaces; int nsCount; const HashString &segment; @@ -1069,7 +1073,7 @@ bool CppParser::qualifyOneCallbackUsing(const Namespace *ns, void *context) cons bool CppParser::qualifyOne(const NamespaceList &namespaces, int nsCnt, const HashString &segment, NamespaceList *resolved) const { - QualifyOneData data = { namespaces, nsCnt, segment, resolved, QSet<HashStringList>() }; + QualifyOneData data(namespaces, nsCnt, segment, resolved); if (visitNamespace(namespaces, nsCnt, &CppParser::qualifyOneCallbackOwn, &data)) return true; diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp index 24da253..d570e02 100644 --- a/tools/linguist/lupdate/main.cpp +++ b/tools/linguist/lupdate/main.cpp @@ -114,12 +114,11 @@ static void printUsage() " Name of a .pro file. Useful for files with .pro\n" " file syntax but different file suffix\n" " -source-language <language>[_<region>]\n" - " Specify/override the language of the source strings. Defaults to\n" - " POSIX if not specified and the file does not name it yet.\n" + " Specify the language of the source strings for new files.\n" + " Defaults to POSIX if not specified.\n" " -target-language <language>[_<region>]\n" - " Specify/override the language of the translation.\n" - " The target language is guessed from the file name if this option\n" - " is not specified and the file contents name no language yet.\n" + " Specify the language of the translations for new files.\n" + " Guessed from the file name if not specified.\n" " -version\n" " Display the version of lupdate and exit.\n" ).arg(m_defaultExtensions)); diff --git a/tools/linguist/shared/xliff.cpp b/tools/linguist/shared/xliff.cpp index d81f3e8..989279f 100644 --- a/tools/linguist/shared/xliff.cpp +++ b/tools/linguist/shared/xliff.cpp @@ -500,7 +500,9 @@ bool XLIFFHandler::startElement(const QString& namespaceURI, } else if (localName == QLatin1String("file")) { m_fileName = atts.value(QLatin1String("original")); m_language = atts.value(QLatin1String("target-language")); + m_language.replace(QLatin1Char('-'), QLatin1Char('_')); m_sourceLanguage = atts.value(QLatin1String("source-language")); + m_sourceLanguage.replace(QLatin1Char('-'), QLatin1Char('_')); } else if (localName == QLatin1String("group")) { if (atts.value(QLatin1String("restype")) == QLatin1String(restypeContext)) { m_context = atts.value(QLatin1String("resname")); @@ -773,14 +775,19 @@ bool saveXLIFF(const Translator &translator, QIODevice &dev, ConversionData &cd) << "\" xmlns:trolltech=\"" << TrollTsNamespaceURI << "\">\n"; ++indent; writeExtras(ts, indent, translator.extras(), drops); + QString sourceLanguageCode = translator.sourceLanguageCode(); + if (sourceLanguageCode.isEmpty() || sourceLanguageCode == QLatin1String("C")) + sourceLanguageCode = QLatin1String("en"); + else + sourceLanguageCode.replace(QLatin1Char('_'), QLatin1Char('-')); + QString languageCode = translator.languageCode(); + languageCode.replace(QLatin1Char('_'), QLatin1Char('-')); foreach (const QString &fn, fileOrder) { writeIndent(ts, indent); ts << "<file original=\"" << fn << "\"" << " datatype=\"" << dataType(messageOrder[fn].begin()->first()) << "\"" - << " source-language=\"" - << (translator.sourceLanguageCode().isEmpty() ? - QByteArray("en") : translator.sourceLanguageCode().toLatin1()) << "\"" - << " target-language=\"" << translator.languageCode() << "\"" + << " source-language=\"" << sourceLanguageCode.toLatin1() << "\"" + << " target-language=\"" << languageCode.toLatin1() << "\"" << "><body>\n"; ++indent; diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp index 4b5f0c6..ec5ce96 100644 --- a/tools/qdoc3/cppcodeparser.cpp +++ b/tools/qdoc3/cppcodeparser.cpp @@ -47,6 +47,7 @@ #include <qfile.h> #include <stdio.h> +#include <errno.h> #include "codechunk.h" #include "config.h" @@ -281,7 +282,7 @@ void CppCodeParser::parseSourceFile(const Location& location, { FILE *in = fopen(QFile::encodeName(filePath), "r"); if (!in) { - location.error(tr("Cannot open C++ source file '%1'").arg(filePath)); + location.error(tr("Cannot open C++ source file '%1' (%2)").arg(filePath).arg(strerror(errno))); return; } diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp index c202d71..748390f 100644 --- a/tools/qdoc3/doc.cpp +++ b/tools/qdoc3/doc.cpp @@ -2641,56 +2641,63 @@ Text Doc::trimmedBriefText(const QString &className) const bool standardWording = true; /* - This code is really ugly. The entire \brief business - should be rethought. + This code is really ugly. The entire \brief business + should be rethought. */ - while (atom && (atom->type() == Atom::AutoLink || atom->type() == Atom::String)) { - briefStr += atom->string(); + while (atom) { + if (atom->type() == Atom::AutoLink || atom->type() == Atom::String) { + briefStr += atom->string(); + } atom = atom->next(); } QStringList w = briefStr.split(" "); - if (!w.isEmpty() && w.first() == "The") - w.removeFirst(); - else { - location().warning( - tr("Nonstandard wording in '\\%1' text for '%2' (expected 'The')") - .arg(COMMAND_BRIEF).arg(className)); - standardWording = false; + if (!w.isEmpty() && w.first() == "Returns") { } - - if (!w.isEmpty() && (w.first() == className || w.first() == classNameOnly)) - w.removeFirst(); else { - location().warning( - tr("Nonstandard wording in '\\%1' text for '%2' (expected '%3')") - .arg(COMMAND_BRIEF).arg(className).arg(className)); - standardWording = false; - } + if (!w.isEmpty() && w.first() == "The") + w.removeFirst(); + else { + location().warning( + tr("Nonstandard wording in '\\%1' text for '%2' (expected 'The')") + .arg(COMMAND_BRIEF).arg(className)); + standardWording = false; + } - if (!w.isEmpty() && ((w.first() == "class") || - (w.first() == "function") || - (w.first() == "macro") || - (w.first() == "widget") || - (w.first() == "namespace") || - (w.first() == "header"))) - w.removeFirst(); - else { - location().warning( - tr("Nonstandard wording in '\\%1' text for '%2' (" - "expected 'class', 'function', 'macro', 'widget', " - "'namespace' or 'header')") - .arg(COMMAND_BRIEF).arg(className)); - standardWording = false; - } + if (!w.isEmpty() && (w.first() == className || w.first() == classNameOnly)) + w.removeFirst(); + else { + location().warning( + tr("Nonstandard wording in '\\%1' text for '%2' (expected '%3')") + .arg(COMMAND_BRIEF).arg(className).arg(className)); + standardWording = false; + } - if (!w.isEmpty() && (w.first() == "is" || w.first() == "provides")) - w.removeFirst(); + if (!w.isEmpty() && ((w.first() == "class") || + (w.first() == "function") || + (w.first() == "macro") || + (w.first() == "widget") || + (w.first() == "namespace") || + (w.first() == "header"))) + w.removeFirst(); + else { + location().warning( + tr("Nonstandard wording in '\\%1' text for '%2' (" + "expected 'class', 'function', 'macro', 'widget', " + "'namespace' or 'header')") + .arg(COMMAND_BRIEF).arg(className)); + standardWording = false; + } - if (!w.isEmpty() && (w.first() == "a" || w.first() == "an")) - w.removeFirst(); + if (!w.isEmpty() && (w.first() == "is" || w.first() == "provides")) + w.removeFirst(); + + if (!w.isEmpty() && (w.first() == "a" || w.first() == "an")) + w.removeFirst(); + } whats = w.join(" "); + if (whats.endsWith(".")) whats.truncate(whats.length() - 1); diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 47fe4b5..f7569ce 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -562,27 +562,20 @@ void Generator::generateModuleWarning(const ClassNode *classe, QString module = classe->moduleName(); if (!module.isEmpty()) { Text text; - if (!editionModuleMap["Console"].contains(module)) { + if (!editionModuleMap["DesktopLight"].contains(module)) { text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "This class is not part of the Qt Console Edition." - << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << Atom::ParaRight; - } - else if (!editionModuleMap["DesktopLight"].contains(module)) { - text << Atom::ParaLeft - << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "This class is not part of the Qt Desktop Light Edition." + << "This class is not part of the Qt GUI Framework Edition." << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << Atom::ParaRight; } else if (module == "Qt3Support") { text << Atom::ParaLeft << Atom(Atom::FormattingLeft, ATOM_FORMATTING_BOLD) - << "Note to Qt Desktop Light Edition users:" + << "Note to Qt GUI Framework Edition users:" << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) << " This class is only available in the " - << Atom(Atom::AutoLink, "Qt Desktop Edition") + << Atom(Atom::AutoLink, "Qt Full Framework Edition") << "." << Atom::ParaRight; } diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 5406017..291f60b 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -330,7 +330,65 @@ void HtmlGenerator::generateTree(const Tree *tree, CodeMarker *marker) #ifdef ZZZ_QDOC_QML findAllQmlClasses(tree->root()); #endif - findAllSince(tree->root(),tree->version()); + findAllSince(tree->root()); + +#if 0 + if (!sinceVersions.isEmpty()) { + SinceVersionMap::const_iterator v = sinceVersions.constEnd(); + do { + --v; + qDebug() << "SINCE:" << v.key(); + if (!v.value().isEmpty()) { + QString type; + SinceNodeMultiMap::const_iterator n = v.value().constBegin(); + while (n != v.value().constEnd()) { + switch (n.value()->type()) { + case Node::Namespace: + type = "namespace"; + break; + case Node::Class: + type = "class"; + break; + case Node::Fake: + type = "fake"; + break; + case Node::Enum: + type = "enum"; + break; + case Node::Typedef: + type = "typedef"; + break; + case Node::Function: + type = "function"; + break; + case Node::Property: + type = "property"; + break; + case Node::Variable: + type = "variable"; + break; + case Node::Target: + type = "target"; + break; + case Node::QmlProperty: + type = "QML property"; + break; + case Node::QmlSignal: + type = "QML signal"; + break; + case Node::QmlMethod: + type = "QML method"; + break; + default: + type = "No type"; + } + qDebug() << " " << type << n.key(); + ++n; + } + } + } while (v != sinceVersions.constBegin()); + } +#endif PageGenerator::generateTree(tree, marker); @@ -655,20 +713,30 @@ int HtmlGenerator::generateAtom(const Atom *atom, break; case Atom::SinceList: { - QList<Node*> values; - if (atom->string() == "classes") { - values = sinceClasses.values(); - } - else if (atom->string() == "functions") { - values = sinceFunctions.values(); - } - if (!values.isEmpty()) { - QMap<QString, const Node*> nodeMap; - for (int i=0; i<values.size(); ++i) { - const Node* n = values.at(i); - nodeMap.insert(n->nameForLists(),n); + QList<Node*> nodes; + SinceVersionMap::const_iterator v; + v = sinceVersions.find(atom->string()); + if ((v != sinceVersions.constEnd()) && !v.value().isEmpty()) { + for (int i=0; !Node::typeName(i).isEmpty(); i++) { + Node::Type t = (Node::Type) i; + SinceNodeMultiMap::const_iterator n=v.value().constBegin(); + QMultiMap<QString, const Node*> nodeMap; + while (n != v.value().constEnd()) { + const Node* node = n.value(); + if (node->type() == t) + nodeMap.insert(node->nameForLists(),node); + ++n; + } + if (!nodeMap.isEmpty()) { + out() << "<h2>" + << Node::typeName(i) + << " new in Qt " + << atom->string() + << "</h2>"; + generateAnnotatedList(relative, marker, nodeMap); + nodeMap.clear(); + } } - generateAnnotatedList(relative, marker, nodeMap); } } break; @@ -3517,22 +3585,21 @@ void HtmlGenerator::findAllClasses(const InnerNode *node) /*! For generating the "Since x.y" page. */ -void HtmlGenerator::findAllSince(const InnerNode *node, QString version) +void HtmlGenerator::findAllSince(const InnerNode *node) { - const QRegExp versionSeparator("[\\-\\.]"); - const int minorIndex = version.indexOf(versionSeparator); - const int patchIndex = version.indexOf(versionSeparator, minorIndex+1); - version = version.left(patchIndex); - NodeList::const_iterator c = node->childNodes().constBegin(); while (c != node->childNodes().constEnd()) { - if (((*c)->access() != Node::Private) && ((*c)->since() == version)) { + QString sinceVersion = (*c)->since(); + if (((*c)->access() != Node::Private) && !sinceVersion.isEmpty()) { + SinceVersionMap::iterator vmap = sinceVersions.find(sinceVersion); + if (vmap == sinceVersions.end()) + vmap = sinceVersions.insert(sinceVersion,SinceNodeMultiMap()); if ((*c)->type() == Node::Function) { FunctionNode *func = static_cast<FunctionNode *>(*c); if ((func->status() > Node::Obsolete) && (func->metaness() != FunctionNode::Ctor) && (func->metaness() != FunctionNode::Dtor)) { - sinceFunctions.insert(func->name(), func); + vmap.value().insert(func->name(),(*c)); } } else if ((*c)->url().isEmpty()) { @@ -3542,17 +3609,33 @@ void HtmlGenerator::findAllSince(const InnerNode *node, QString version) (*c)->parent()->type() == Node::Namespace && !(*c)->parent()->name().isEmpty()) className = (*c)->parent()->name()+"::"+className; - sinceClasses.insert(className, *c); + vmap.value().insert(className,(*c)); } } + else { + QString name = (*c)->name(); + if ((*c)->parent() && + (*c)->parent()->type() == Node::Namespace && + !(*c)->parent()->name().isEmpty()) + name = (*c)->parent()->name()+"::"+name; + vmap.value().insert(name,(*c)); + qDebug() << "GOT HEAH" << name; + } if ((*c)->isInnerNode()) { - findAllSince(static_cast<InnerNode *>(*c),version); + findAllSince(static_cast<InnerNode *>(*c)); } } ++c; } } +#if 0 + const QRegExp versionSeparator("[\\-\\.]"); + const int minorIndex = version.indexOf(versionSeparator); + const int patchIndex = version.indexOf(versionSeparator, minorIndex+1); + version = version.left(patchIndex); +#endif + void HtmlGenerator::findAllFunctions(const InnerNode *node) { NodeList::ConstIterator c = node->childNodes().begin(); diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index 24e2986..3f6e564 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -67,6 +67,9 @@ struct NavigationBar }; #endif +typedef QMultiMap<QString, Node*> SinceNodeMultiMap; +typedef QMap<QString, SinceNodeMultiMap> SinceVersionMap; + class HelpProjectWriter; class HtmlGenerator : public PageGenerator @@ -216,7 +219,7 @@ class HtmlGenerator : public PageGenerator #ifdef ZZZ_QDOC_QML void findAllQmlClasses(const InnerNode *node); #endif - void findAllSince(const InnerNode *node, QString version); + void findAllSince(const InnerNode *node); static int hOffset(const Node *node); static bool isThreeColumnEnumValueTable(const Atom *atom); virtual QString getLink(const Atom *atom, @@ -286,8 +289,7 @@ class HtmlGenerator : public PageGenerator #endif QMap<QString, QMap<QString, const Node *> > funcIndex; QMap<Text, const Node *> legaleseTexts; - QMap<QString, Node*> sinceClasses; - QMap<QString, Node*> sinceFunctions; + SinceVersionMap sinceVersions; }; #define HTMLGENERATOR_ADDRESS "address" diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index b44ede0..d547d20 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -48,6 +48,23 @@ QT_BEGIN_NAMESPACE +QString Node::typeNames[] = + { + "Namespaces", + "Classes", + "Fake", + "Enums", + "Typedefs", + "Functions and Macros", + "Properties", + "Variables", + "Targets", + "Qml Properties", + "Qml Signals", + "Qml Methods", + "" + }; + /*! \class Node \brief A node in a Tree. diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h index fdef920..09f38d2 100644 --- a/tools/qdoc3/node.h +++ b/tools/qdoc3/node.h @@ -76,9 +76,11 @@ class Node Target, QmlProperty, QmlSignal, - QmlMethod + QmlMethod, + LastType #else - Target + Target, + LastType #endif }; @@ -173,10 +175,13 @@ class Node virtual QString fileBase() const; + static QString typeName(int i) { return typeNames[i]; } + protected: Node(Type type, InnerNode *parent, const QString& name); private: + static QString typeNames[]; #ifdef Q_WS_WIN Type typ; Access acc; diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf index 9ee8965..4ddc94a 100644 --- a/tools/qdoc3/test/assistant.qdocconf +++ b/tools/qdoc3/test/assistant.qdocconf @@ -31,7 +31,7 @@ qhp.Assistant.subprojects.examples.sortPages = true language = Cpp -sources = $QT_SOURCE_TREE/doc/src/assistant-manual.qdoc \ +sources = $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc sources.fileextensions = "*.cpp *.qdoc" diff --git a/tools/qdoc3/test/classic.css b/tools/qdoc3/test/classic.css index c0bc3d47..320da66 100644 --- a/tools/qdoc3/test/classic.css +++ b/tools/qdoc3/test/classic.css @@ -43,10 +43,11 @@ table.valuelist { table.indextable { border-width: 1px 1px 1px 1px; + border-style: solid; border-collapse: collapse; background-color: #f0f0f0; border-color:#555; - font-size: 110%; + font-size: 100%; } table td.largeindex { @@ -68,14 +69,17 @@ table.valuelist th { th.titleheader { border-width: 1px 0px 1px 0px; - padding: 4px; + padding: 2px; border-style: solid; - border-color: #444; + border-color: #666; color:white; - background-color:#555555; - font-size: 110%; + background-color:#555; + background-image:url('images/gradient.png')}; + background-repeat: repeat-x; + font-size: 100%; } + th.largeheader { border-width: 1px 0px 1px 0px; padding: 4px; diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf index 2a65184..9d8bd23 100644 --- a/tools/qdoc3/test/designer.qdocconf +++ b/tools/qdoc3/test/designer.qdocconf @@ -31,7 +31,7 @@ qhp.Designer.subprojects.examples.sortPages = true language = Cpp -sources = $QT_SOURCE_TREE/doc/src/designer-manual.qdoc \ +sources = $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \ $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \ diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf index 6c71993..f433529 100644 --- a/tools/qdoc3/test/linguist.qdocconf +++ b/tools/qdoc3/test/linguist.qdocconf @@ -31,7 +31,7 @@ qhp.Linguist.subprojects.examples.sortPages = true language = Cpp -sources = $QT_SOURCE_TREE/doc/src/linguist-manual.qdoc \ +sources = $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \ $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \ $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf index 3dc1d3b..dcb3c9a 100644 --- a/tools/qdoc3/test/qmake.qdocconf +++ b/tools/qdoc3/test/qmake.qdocconf @@ -27,7 +27,7 @@ qhp.qmake.subprojects.manual.selectors = fake:page language = Cpp -sources = $QT_SOURCE_TREE/doc/src/qmake-manual.qdoc +sources = $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc sources.fileextensions = "*.cpp *.qdoc" diff --git a/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf b/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf index 0389386..0d78cda 100644 --- a/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf +++ b/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf @@ -9,9 +9,9 @@ url = ./ # Ensures that the documentation for the tools is not included in the generated # .qhp file. -qhp.Qt.excluded = $QT_SOURCE_TREE/doc/src/assistant-manual.qdoc \ +qhp.Qt.excluded = $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc \ - $QT_SOURCE_TREE/doc/src/designer-manual.qdoc \ + $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \ $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \ @@ -19,11 +19,11 @@ qhp.Qt.excluded = $QT_SOURCE_TREE/doc/src/assistant-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/containerextension.qdoc \ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockbuilder.qdoc \ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockplugin.qdoc \ - $QT_SOURCE_TREE/doc/src/linguist-manual.qdoc \ + $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \ $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \ $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc \ - $QT_SOURCE_TREE/doc/src/qmake-manual.qdoc + $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc outputdir = $QT_BUILD_TREE/doc-build/html-qt base = file:$QT_BUILD_TREE/doc-build/html-qt diff --git a/tools/qdoc3/test/qt-api-only.qdocconf b/tools/qdoc3/test/qt-api-only.qdocconf index bc5656b..10b7be5 100644 --- a/tools/qdoc3/test/qt-api-only.qdocconf +++ b/tools/qdoc3/test/qt-api-only.qdocconf @@ -9,9 +9,9 @@ url = ./ # Ensures that the documentation for the tools is not included in the generated # .qhp file. -qhp.Qt.excluded += $QT_SOURCE_TREE/doc/src/assistant-manual.qdoc \ +qhp.Qt.excluded += $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc \ - $QT_SOURCE_TREE/doc/src/designer-manual.qdoc \ + $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \ $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \ $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \ @@ -19,11 +19,11 @@ qhp.Qt.excluded += $QT_SOURCE_TREE/doc/src/assistant-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/containerextension.qdoc \ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockbuilder.qdoc \ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockplugin.qdoc \ - $QT_SOURCE_TREE/doc/src/linguist-manual.qdoc \ + $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \ $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \ $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \ $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc \ - $QT_SOURCE_TREE/doc/src/qmake-manual.qdoc + $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc outputdir = $QT_BUILD_TREE/doc-build/html-qt tagfile = $QT_BUILD_TREE/doc-build/html-qt/qt.tags diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf index c0b8334..0f1a776 100644 --- a/tools/qdoc3/test/qt-build-docs.qdocconf +++ b/tools/qdoc3/test/qt-build-docs.qdocconf @@ -8,8 +8,6 @@ project = Qt description = Qt Reference Documentation url = http://qt.nokia.com/doc/4.6 -edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \ - QtXmlPatterns QtTest edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtSql QtSvg \ QtWebKit QtXml QtXmlPatterns Qt3Support QtHelp \ QtDesigner QtAssistant QAxContainer Phonon \ diff --git a/tools/qdoc3/test/qt-inc.qdocconf b/tools/qdoc3/test/qt-inc.qdocconf index 32f2af7..9621fcb 100644 --- a/tools/qdoc3/test/qt-inc.qdocconf +++ b/tools/qdoc3/test/qt-inc.qdocconf @@ -5,7 +5,6 @@ project = Qt description = Qt Reference Documentation url = http://qt.nokia.com/doc/4.6 -edition.Console = QtCore QtNetwork QtSql QtXml QtScript QtTest edition.Desktop = QtCore QtGui QtNetwork QtOpenGL QtSql QtSvg QtXml QtScript \ QtDesigner QtAssistant Qt3Support QAxContainer \ QAxServer QtUiTools QtTest QtDBus diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf index 9b5937d..d019bdf 100644 --- a/tools/qdoc3/test/qt.qdocconf +++ b/tools/qdoc3/test/qt.qdocconf @@ -10,8 +10,6 @@ version = %VERSION% description = Qt Reference Documentation url = http://qt.nokia.com/doc/4.6 -edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \ - QtXmlPatterns QtTest edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg \ QtWebKit QtXml QtXmlPatterns Qt3Support QtHelp \ QtDesigner QtAssistant QAxContainer Phonon \ @@ -97,6 +95,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \ $QTDIR/src/3rdparty/phonon/gstreamer \ $QTDIR/src/3rdparty/phonon/ds9 \ $QTDIR/src/3rdparty/phonon/qt7 \ + $QTDIR/src/3rdparty/phonon/mmf \ $QTDIR/src/3rdparty/phonon/waveout sources.fileextensions = "*.cpp *.qdoc *.mm" diff --git a/tools/qtconfig/translations/translations.pro b/tools/qtconfig/translations/translations.pro index 1f9f572..bf8a1da 100644 --- a/tools/qtconfig/translations/translations.pro +++ b/tools/qtconfig/translations/translations.pro @@ -7,8 +7,9 @@ HEADERS += ../colorbutton.h ../previewframe.h ../previewwidget.h ../mainw FORMS = ../mainwindowbase.ui ../paletteeditoradvancedbase.ui ../previewwidgetbase.ui -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qtconfig_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qtconfig_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qtconfig_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qtconfig_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qtconfig_zh_TW.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/qtconfig_pl.ts \ + $$TR_DIR/qtconfig_ru.ts \ + $$TR_DIR/qtconfig_zh_CN.ts \ + $$TR_DIR/qtconfig_zh_TW.ts diff --git a/tools/qvfb/qvfb.cpp b/tools/qvfb/qvfb.cpp index 879fb6b..6119419 100644 --- a/tools/qvfb/qvfb.cpp +++ b/tools/qvfb/qvfb.cpp @@ -41,6 +41,7 @@ #include "qvfb.h" #include "qvfbview.h" +#include "qvfbhdr.h" #ifdef Q_WS_X11 #include "qvfbx11view.h" #endif @@ -134,7 +135,7 @@ static const char *red_off_led_xpm[] = { static bool copyButtonConfiguration(const QString &prefix, int displayId) { - const QString destDir = QString(QLatin1String("/tmp/qtembedded-%1/")).arg(displayId); + const QString destDir = QT_VFB_DATADIR(displayId); const QFileInfo src(prefix + QLatin1String("defaultbuttons.conf")); const QFileInfo dst(destDir + QLatin1String("defaultbuttons.conf")); unlink(dst.absoluteFilePath().toLatin1().constData()); @@ -351,9 +352,9 @@ void QVFb::init( int display_id, int pw, int ph, int d, int r, const QString& sk ph += 2; // avoid scrollbar scroller->show(); // delete defaultbuttons.conf if it was left behind... - unlink(QFileInfo(QString("/tmp/qtembedded-%1/defaultbuttons.conf").arg(view->displayId())).absoluteFilePath().toLatin1().constData()); + unlink(QFileInfo(QT_VFB_DATADIR(view->displayId()).append("/defaultbuttons.conf")).absoluteFilePath().toLatin1().constData()); if (secondaryView) - unlink(QFileInfo(QString("/tmp/qtembedded-%1/defaultbuttons.conf").arg(view->displayId()+1)).absoluteFilePath().toLatin1().constData()); + unlink(QFileInfo(QT_VFB_DATADIR(view->displayId() + 1).append("/defaultbuttons.conf")).absoluteFilePath().toLatin1().constData()); } view->setRate(refreshRate); if (secondaryView) { diff --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro index 247337a..dde7e8d 100644 --- a/tools/qvfb/qvfb.pro +++ b/tools/qvfb/qvfb.pro @@ -9,6 +9,7 @@ target.path=$$[QT_INSTALL_BINS] INSTALLS += target DEPENDPATH = ../../include +INCLUDEPATH += ../../src/gui/embedded FORMS = config.ui HEADERS = qvfb.h \ @@ -19,9 +20,9 @@ HEADERS = qvfb.h \ qvfbprotocol.h \ qvfbshmem.h \ qvfbmmap.h \ - qvfbhdr.h \ - qlock_p.h \ - qwssignalhandler_p.h + ../../src/gui/embedded/qvfbhdr.h \ + ../../src/gui/embedded/qlock_p.h \ + ../../src/gui/embedded/qwssignalhandler_p.h SOURCES = qvfb.cpp \ qvfbview.cpp \ @@ -31,8 +32,8 @@ SOURCES = qvfb.cpp \ qvfbprotocol.cpp \ qvfbshmem.cpp \ qvfbmmap.cpp \ - qlock.cpp \ - qwssignalhandler.cpp + ../../src/gui/embedded/qlock.cpp \ + ../../src/gui/embedded/qwssignalhandler.cpp include($$QT_SOURCE_TREE/tools/shared/deviceskin/deviceskin.pri) diff --git a/tools/qvfb/qvfbprotocol.cpp b/tools/qvfb/qvfbprotocol.cpp index b09ed0e..df6c110 100644 --- a/tools/qvfb/qvfbprotocol.cpp +++ b/tools/qvfb/qvfbprotocol.cpp @@ -56,6 +56,8 @@ #include <unistd.h> #endif +#include "qvfbshmem.h" + QT_BEGIN_NAMESPACE QVFbViewProtocol::QVFbViewProtocol(int display_id, QObject *parent) : @@ -90,7 +92,7 @@ static int openPipe(const char *fileName) QVFbKeyPipeProtocol::QVFbKeyPipeProtocol(int display_id) : QVFbKeyProtocol(display_id) { - fileName = QString(QT_VFB_KEYBOARD_PIPE).arg(display_id); + fileName = QT_VFB_KEYBOARD_PIPE(display_id); fd = openPipe(fileName.toLocal8Bit().constData()); if (fd == -1) @@ -119,7 +121,7 @@ void QVFbKeyPipeProtocol::sendKeyboardData(QString unicode, int keycode, QVFbMousePipe::QVFbMousePipe(int display_id) : QVFbMouseProtocol(display_id) { - fileName = QString(QT_VFB_MOUSE_PIPE).arg(display_id); + fileName = QT_VFB_MOUSE_PIPE(display_id); fd = openPipe(fileName.toLocal8Bit().constData()); if (fd == -1) diff --git a/tools/qvfb/qvfbshmem.cpp b/tools/qvfb/qvfbshmem.cpp index 0d2b3ca..8c4cdb9 100644 --- a/tools/qvfb/qvfbshmem.cpp +++ b/tools/qvfb/qvfbshmem.cpp @@ -44,8 +44,6 @@ #include "qvfbshmem.h" #include "qvfbhdr.h" -#define QTE_PIPE "QtEmbedded-%1" - #include <QFile> #include <QTimer> @@ -71,7 +69,7 @@ QT_BEGIN_NAMESPACE // live. static QString qws_dataDir(int qws_display_id) { - QByteArray dataDir = QString("/tmp/qtembedded-%1").arg(qws_display_id).toLocal8Bit(); + QByteArray dataDir = QT_VFB_DATADIR(qws_display_id).toLocal8Bit(); if (mkdir(dataDir, 0700)) { if (errno != EEXIST) { qFatal("Cannot create Qt for Embedded Linux data directory: %s", dataDir.constData()); @@ -151,6 +149,8 @@ QShMemViewProtocol::QShMemViewProtocol(int displayid, const QSize &s, } } + displayPipe = qws_dataDir(displayid).append(QTE_PIPE); + kh = new QVFbKeyPipeProtocol(displayid); /* should really depend on receiving qt version, but how can one tell? */ @@ -209,8 +209,6 @@ QShMemViewProtocol::QShMemViewProtocol(int displayid, const QSize &s, hdr->brightness = 255; hdr->windowId = 0; - displayPipe = qws_dataDir(displayid) + QString(QTE_PIPE).arg(displayid); - displayPiped = displayPipe + 'd'; diff --git a/tools/qvfb/translations/translations.pro b/tools/qvfb/translations/translations.pro index f667bb8..ef42063 100644 --- a/tools/qvfb/translations/translations.pro +++ b/tools/qvfb/translations/translations.pro @@ -9,10 +9,10 @@ HEADERS = ../qvfb.h \ ../qvfbprotocol.h \ ../qvfbshmem.h \ ../qvfbmmap.h \ - ../qvfbhdr.h \ - ../qlock_p.h \ - ../qwssignalhandler_p.h \ - ../../shared/deviceskin/deviceskin.cpp + ../../../src/gui/embedded/qvfbhdr.h \ + ../../../src/gui/embedded/qlock_p.h \ + ../../../src/gui/embedded/qwssignalhandler_p.h \ + ../../shared/deviceskin/deviceskin.h SOURCES = ../qvfb.cpp \ ../qvfbview.cpp \ @@ -22,12 +22,13 @@ SOURCES = ../qvfb.cpp \ ../qvfbprotocol.cpp \ ../qvfbshmem.cpp \ ../qvfbmmap.cpp \ - ../qlock.cpp \ - ../qwssignalhandler.cpp \ + ../../../src/gui/embedded/qlock.cpp \ + ../../../src/gui/embedded/qwssignalhandler.cpp \ ../../shared/deviceskin/deviceskin.cpp -TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qvfb_pl.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qvfb_ru.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qvfb_untranslated.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qvfb_zh_CN.ts \ - $$[QT_INSTALL_TRANSLATIONS]/qvfb_zh_TW.ts +TR_DIR = $$PWD/../../../translations +TRANSLATIONS = \ + $$TR_DIR/qvfb_pl.ts \ + $$TR_DIR/qvfb_ru.ts \ + $$TR_DIR/qvfb_zh_CN.ts \ + $$TR_DIR/qvfb_zh_TW.ts diff --git a/translations/assistant_adp_untranslated.ts b/translations/assistant_adp_untranslated.ts deleted file mode 100644 index e6c927a..0000000 --- a/translations/assistant_adp_untranslated.ts +++ /dev/null @@ -1,967 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name>AssistantServer</name> - <message> - <location filename="../tools/assistant/compat/main.cpp" line="+225"/> - <source>Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Failed to bind to port %1</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FontPanel</name> - <message> - <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/> - <source>Font</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>&Writing system</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Family</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Style</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Point size</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FontSettingsDialog</name> - <message> - <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/> - <source>Font Settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Font settings for:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Browser</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Application</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Use custom settings</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>HelpDialog</name> - <message> - <location filename="../tools/assistant/compat/helpdialog.ui"/> - <source>Con&tents</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/helpdialog.cpp" line="+376"/> - <location line="+16"/> - <location line="+661"/> - <source>Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-774"/> - <source>Open Link in Current Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Open Link in New Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+73"/> - <location line="+82"/> - <source>Prepare...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-64"/> - <source>Failed to load keyword index file -Assistant will not work!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <source>Cannot open the index file %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+58"/> - <location line="+124"/> - <location line="+8"/> - <source>Warning</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-131"/> - <location line="+124"/> - <source>Documentation file %1 does not exist! -Skipping file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-112"/> - <location line="+133"/> - <source>Parse Error</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-13"/> - <source>Documentation file %1 is not compatible! -Skipping file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+48"/> - <location line="+469"/> - <source>Done</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-47"/> - <source>Failed to save fulltext search index -Assistant will not work!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> - <source>Indexing files...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Reading dictionary...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+46"/> - <location line="+9"/> - <source>Full Text Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-8"/> - <source>Using a wildcard within phrases is not allowed.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>The closing quotation mark is missing.</source> - <translation type="unfinished"></translation> - </message> - <message numerus="yes"> - <location line="+7"/> - <source>%n document(s) found.</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message> - <location filename="../tools/assistant/compat/helpdialog.ui"/> - <source>Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>column 1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Index</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Look For:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Enter keyword</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Bookmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Displays the list of bookmarks.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add new bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add the currently displayed page as a new bookmark.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&New</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Delete bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Delete the selected bookmark.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Delete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Searching f&or:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Enter searchword(s).</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Found &Documents:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Display the help page.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Display the help page for the full text search.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>He&lp</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Start searching.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Pressing this button starts the search.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Preparing...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>HelpWindow</name> - <message> - <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/> - <source>Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+93"/> - <source>Open Link in New Window Shift+LMB</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-92"/> - <source>Unable to launch web browser. -</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>OK</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+27"/> - <source>Failed to open link: '%1'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source><div align="center"><h1>The page could not be found</h1><br><h3>'%1'</h3></div></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Error...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+56"/> - <source>Copy &Link Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Index</name> - <message> - <location filename="../tools/assistant/compat/index.cpp" line="+385"/> - <source>Untitled</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MainWindow</name> - <message> - <location filename="../tools/assistant/compat/mainwindow.ui"/> - <source>Toolbar</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Print...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>E&xit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Find in Text...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Home</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Previous</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Qt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Zoom &in</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Zoom &out</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>New Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.cpp" line="+188"/> - <source>Ctrl+T</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+I</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+B</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+139"/> - <location line="+1"/> - <source>Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.ui"/> - <source>&Add Bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.cpp" line="-227"/> - <source>Sidebar</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Minimize</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+M</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+34"/> - <source>Initializing Qt Assistant...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+26"/> - <source>SHIFT+CTRL+=</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Ctrl+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.ui"/> - <source>Ctrl+W</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.cpp" line="+1"/> - <source>Ctrl+]</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+[</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Views</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+80"/> - <source>Displays the main page of a specific documentation set.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+69"/> - <source>Failed to open about application contents in file: '%1'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+201"/> - <source>...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+238"/> - <location line="+6"/> - <source>Save Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Cannot open file for writing!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/mainwindow.ui"/> - <source>Qt Assistant by Nokia</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Go</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Boo&kmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Go</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&View</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Print the currently displayed page.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+P</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Quit Qt Assistant.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Q</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Copy the selected text to the clipboard.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+C</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open the Find dialog. Qt Assistant will search the currently displayed page for the text you enter.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+F</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find &Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find &Previous</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Shift+F3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Go to the home page. Qt Assistant's home page is the Qt Reference Documentation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Home</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Go to the previous page.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Alt+Left</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Go to the next page.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Alt+Right</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Display further information about Qt Assistant.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Zoom in on the document, i.e. increase the font size.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl++</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Zoom out on the document, i.e. decrease the font size.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+-</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open a new window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+N</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close the current window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add the currently displayed page as a new bookmark.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>What's This?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>"What's This?" context sensitive help.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Shift+F1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Alt+N</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Next Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Alt+Right</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Previous Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Alt+Left</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Alt+Q</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Qt Assistant Manual</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Save Page As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Alt+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Sync with Table of Contents</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select the page in contents tab.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Font Settings...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QObject</name> - <message> - <location filename="../tools/assistant/compat/config.cpp" line="+350"/> - <source>Qt Assistant by Nokia</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>TabbedBrowser</name> - <message> - <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/> - <source>...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+86"/> - <source>Add page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Close page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+243"/> - <source>New Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close Other Tabs</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/tabbedbrowser.ui"/> - <source>TabbedBrowser</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Untitled</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Previous</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Case Sensitive</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Whole words</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>TopicChooser</name> - <message> - <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/> - <source>Choose a topic for <b>%1</b></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/compat/topicchooser.ui"/> - <source>Choose Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select a topic from the list and click the <b>Display</b>-button to open the online help.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Displays a list of available help topics for the keyword.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Display</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open the topic selected in the list.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close the Dialog.</source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/assistant_untranslated.ts b/translations/assistant_untranslated.ts deleted file mode 100644 index 1853155..0000000 --- a/translations/assistant_untranslated.ts +++ /dev/null @@ -1,1059 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name>AboutDialog</name> - <message> - <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/> - <source>&Close</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>AboutLabel</name> - <message> - <location line="-14"/> - <source>Warning</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Unable to launch external application. -</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>OK</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BookmarkDialog</name> - <message> - <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/> - <location line="+18"/> - <location line="+36"/> - <location line="+24"/> - <location line="+32"/> - <source>Bookmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/> - <source>Add Bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Bookmark:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add in Folder:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>+</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>New Folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="-69"/> - <source>Delete Folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Rename Folder</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BookmarkManager</name> - <message> - <location line="+450"/> - <source>Bookmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+36"/> - <source>Remove</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>You are going to delete a Folder, this will also<br>remove it's content. Are you sure to continue?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+109"/> - <location line="+9"/> - <source>New Folder</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BookmarkWidget</name> - <message> - <location line="-391"/> - <source>Filter:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+32"/> - <source>Remove</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-78"/> - <source>Delete Folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Rename Folder</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Show Bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Show Bookmark in New Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Delete Bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Rename Bookmark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+61"/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>CentralWidget</name> - <message> - <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/> - <source>Add new page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Close current page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+265"/> - <source>Print Document</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+147"/> - <location line="+2"/> - <source>unknown</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+96"/> - <source>Add New Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close This Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close Other Pages</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Add Bookmark for this Page...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+257"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>ContentWindow</name> - <message> - <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/> - <source>Open Link</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FilterNameDialogClass</name> - <message> - <location filename="../tools/assistant/tools/assistant/filternamedialog.ui"/> - <source>Add Filter Name</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Filter Name:</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FindWidget</name> - <message> - <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/> - <source>Previous</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Case Sensitive</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Whole words</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source><img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FontPanel</name> - <message> - <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/> - <source>Font</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>&Writing system</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Family</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Style</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Point size</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>HelpViewer</name> - <message> - <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/> - <source>Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>OK</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-62"/> - <source><title>Error 404...</title><div align="center"><br><br><h1>The page could not be found</h1><br><h3>'%1'</h3></div></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+125"/> - <source>Copy &Link Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Open Link in New Tab Ctrl+LMB</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-267"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+201"/> - <source>Unable to launch external application. -</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>IndexWindow</name> - <message> - <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/> - <source>&Look for:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+68"/> - <source>Open Link</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>InstallDialog</name> - <message> - <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/> - <location filename="../tools/assistant/tools/assistant/installdialog.ui"/> - <source>Install Documentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+30"/> - <source>Downloading documentation info...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+48"/> - <source>Download canceled.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+26"/> - <location line="+78"/> - <location line="+27"/> - <source>Done.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-90"/> - <source>The file %1 already exists. Do you want to overwrite it?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Unable to save the file %1: %2.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Downloading %1...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+19"/> - <location line="+42"/> - <location line="+38"/> - <source>Download failed: %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-70"/> - <source>Documentation info file is corrupt!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+37"/> - <source>Download failed: Downloaded file is corrupted.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Installing documentation %1...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>Error while installing documentation: -%1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/installdialog.ui"/> - <source>Available Documentation:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Install</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Installation Path:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>...</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MainWindow</name> - <message> - <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/> - <location line="+350"/> - <source>Index</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-344"/> - <location line="+342"/> - <source>Contents</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-337"/> - <location line="+341"/> - <source>Bookmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-329"/> - <location line="+331"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-319"/> - <location line="+192"/> - <location line="+470"/> - <source>Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-501"/> - <location line="+4"/> - <source>Unfiltered</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+84"/> - <source>Page Set&up...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Print Preview...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Print...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>New &Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Close Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Quit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>CTRL+Q</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Copy selected Text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>&Find in Text...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Find &Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Find &Previous</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Preferences...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Zoom &in</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Zoom &out</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Normal &Size</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Ctrl+0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>ALT+C</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>ALT+I</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>ALT+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Home</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+Home</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>&Back</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>&Forward</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Sync with Table of Contents</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Next Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+Alt+Right</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Previous Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+Alt+Left</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Add Bookmark...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>About...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Navigation Toolbar</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+74"/> - <source>Toolbars</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Filter Toolbar</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Filtered by:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>Address Toolbar</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Address:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+110"/> - <source>Could not find the associated content item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+81"/> - <source>About %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+115"/> - <source>Updating search index</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-597"/> - <source>Looking for Qt Documentation...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+195"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Minimize</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+M</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-2"/> - <source>Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-136"/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+24"/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+24"/> - <source>&View</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+27"/> - <source>&Go</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> - <source>&Bookmarks</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-37"/> - <source>ALT+O</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+35"/> - <source>CTRL+D</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PreferencesDialog</name> - <message> - <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/> - <location line="+7"/> - <location line="+6"/> - <source>Add Documentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-13"/> - <source>Qt Compressed Help Files (*.qch)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>The specified file is not a valid Qt Help File!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>The namespace %1 is already registered!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>Remove Documentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>OK</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+86"/> - <source>Use custom settings</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PreferencesDialogClass</name> - <message> - <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui"/> - <source>Preferences</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Fonts</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Font settings:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Browser</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Application</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Filters</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Filter:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Attributes:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Remove</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Documentation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Registered Documentation:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Current Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Restore to default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Homepage</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QObject</name> - <message> - <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/> - <source>The specified collection file does not exist!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Missing collection file!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Invalid URL!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Missing URL!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <location line="+19"/> - <location line="+19"/> - <source>Unknown widget: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-34"/> - <location line="+19"/> - <location line="+19"/> - <source>Missing widget!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <location line="+12"/> - <source>The specified Qt help file does not exist!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-7"/> - <location line="+12"/> - <source>Missing help file!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Missing filter argument!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>Unknown option: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+30"/> - <location line="+2"/> - <source>Qt Assistant</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/> - <source>Could not register documentation file -%1 - -Reason: -%2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Documentation successfully registered.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Could not unregister documentation file -%1 - -Reason: -%2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-3"/> - <source>Documentation successfully unregistered.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>Cannot load sqlite database driver!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>The specified collection file could not be read!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+167"/> - <location line="+1"/> - <source>Bookmark</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>RemoteControl</name> - <message> - <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/> - <source>Debugging Remote Control</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Received Command: %1 %2</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SearchWidget</name> - <message> - <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/> - <source>&Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Copy &Link Location</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <location line="+36"/> - <source>Open Link in New Tab</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-29"/> - <source>Select All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+28"/> - <source>Open Link</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>TopicChooser</name> - <message> - <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/> - <source>Choose a topic for <b>%1</b>:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/tools/assistant/topicchooser.ui"/> - <source>Choose Topic</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Topics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Display</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Close</source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/designer_untranslated.ts b/translations/designer_sl.ts index 1666363..bfb92bf 100644 --- a/translations/designer_untranslated.ts +++ b/translations/designer_sl.ts @@ -1,56 +1,32 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0"> -<context> - <name></name> - <message> - <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/> - <source><object></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source><signal></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source><slot></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/> - <source>The moose in the noose -ate the goose who was loose.</source> - <translation type="unfinished"></translation> - </message> -</context> +<TS version="2.0" language="sl_SI"> <context> <name>AbstractFindWidget</name> <message> <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/> <source>&Previous</source> - <translation type="unfinished"></translation> + <translation>&Predhodni</translation> </message> <message> <location line="+8"/> <source>&Next</source> - <translation type="unfinished"></translation> + <translation>&Naslednji</translation> </message> <message> <location line="+24"/> <source>&Case sensitive</source> - <translation type="unfinished"></translation> + <translation>O&bÄutljiv na velikost Ärk</translation> </message> <message> <location line="+8"/> <source>Whole &words</source> - <translation type="unfinished"></translation> + <translation>&Cele besede</translation> </message> <message> <location line="+12"/> <source><img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped</source> - <translation type="unfinished"></translation> + <translation><img src=":/trolltech/shared/images/wrap.png">&nbsp;Iskanje se nadaljuje na drugem koncu</translation> </message> </context> <context> @@ -58,17 +34,17 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui"/> <source>Insert Link</source> - <translation type="unfinished"></translation> + <translation>Vstavi povezavo</translation> </message> <message> <location/> <source>Title:</source> - <translation type="unfinished"></translation> + <translation>Besedilo:</translation> </message> <message> <location/> <source>URL:</source> - <translation type="unfinished"></translation> + <translation>URL:</translation> </message> </context> <context> @@ -76,7 +52,7 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/> <source>Additional Fonts</source> - <translation type="unfinished"></translation> + <translation>Dodatne pisave</translation> </message> </context> <context> @@ -84,37 +60,37 @@ ate the goose who was loose.</source> <message> <location line="-267"/> <source>'%1' is not a file.</source> - <translation type="unfinished"></translation> + <translation>»%1« ni datoteka.</translation> </message> <message> <location line="+4"/> <source>The font file '%1' does not have read permissions.</source> - <translation type="unfinished"></translation> + <translation>Datoteka s pisavo »%1« nima dovoljenj za branje.</translation> </message> <message> <location line="+8"/> <source>The font file '%1' is already loaded.</source> - <translation type="unfinished"></translation> + <translation>Datoteka s pisavo »%1« je že naložena.</translation> </message> <message> <location line="+7"/> <source>The font file '%1' could not be loaded.</source> - <translation type="unfinished"></translation> + <translation>Datoteke s pisavo »%1« ni bilo moÄ naložiti.</translation> </message> <message> <location line="+17"/> <source>'%1' is not a valid font id.</source> - <translation type="unfinished"></translation> + <translation>»%1« ni veljaven ID za pisavo.</translation> </message> <message> <location line="+11"/> <source>There is no loaded font matching the id '%1'.</source> - <translation type="unfinished"></translation> + <translation>Ni naložene pisave, ki bi se ujemala z ID-jem »%1«.</translation> </message> <message> <location line="+15"/> <source>The font '%1' (%2) could not be unloaded.</source> - <translation type="unfinished"></translation> + <translation>Pisave »%1« (%2) ni bilo moÄ odstraniti.</translation> </message> </context> <context> @@ -122,52 +98,52 @@ ate the goose who was loose.</source> <message> <location line="+26"/> <source>Fonts</source> - <translation type="unfinished"></translation> + <translation>Pisave</translation> </message> <message> <location line="+58"/> <source>Add font files</source> - <translation type="unfinished"></translation> + <translation>Dodaj datoteke s pisavami</translation> </message> <message> <location line="+5"/> <source>Remove current font file</source> - <translation type="unfinished"></translation> + <translation>Odstrani trenutno datoteko s pisavo</translation> </message> <message> <location line="+4"/> <source>Remove all font files</source> - <translation type="unfinished"></translation> + <translation>Odstrani vse datoteke s pisavami</translation> </message> <message> <location line="+19"/> <source>Add Font Files</source> - <translation type="unfinished"></translation> + <translation>Dodaj datoteke s pisavami</translation> </message> <message> <location line="+1"/> <source>Font files (*.ttf)</source> - <translation type="unfinished"></translation> + <translation>Datoteke s pisavami (*.ttf)</translation> </message> <message> <location line="+13"/> <source>Error Adding Fonts</source> - <translation type="unfinished"></translation> + <translation>Napaka pri dodajanju pisav</translation> </message> <message> <location line="+24"/> <source>Error Removing Fonts</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odstranjevanju pisav</translation> </message> <message> <location line="+22"/> <source>Remove Fonts</source> - <translation type="unfinished"></translation> + <translation>Odstrani pisave</translation> </message> <message> <location line="+0"/> <source>Would you like to remove all fonts?</source> - <translation type="unfinished"></translation> + <translation>Ali želite odstraniti vse pisave?</translation> </message> </context> <context> @@ -175,12 +151,12 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>User Interface Mode</source> - <translation type="unfinished"></translation> + <translation>NaÄin uporabniÅ¡kega vmesnika</translation> </message> </context> <context> @@ -188,45 +164,17 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/> <source>Unable to send request: Assistant is not responding.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ poslati zahtevka: pomoÄnik se ne odziva.</translation> </message> <message> <location line="+39"/> <source>The binary '%1' does not exist.</source> - <translation type="unfinished"></translation> + <translation>Program »%1« ne obstaja.</translation> </message> <message> <location line="+9"/> <source>Unable to launch assistant (%1).</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BrushManagerProxy</name> - <message> - <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/> - <source>The element '%1' is missing the required attribute '%2'.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Empty brush name encountered.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>An unexpected element '%1' was encountered.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+43"/> - <source>An error occurred when reading the resource file '%1' at line %2, column %3: %4</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaganti pomoÄnika (%1).</translation> </message> </context> <context> @@ -234,92 +182,92 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/> <source>No brush</source> - <translation type="unfinished"></translation> + <translation>Brez ÄopiÄa</translation> </message> <message> <location line="+1"/> <source>Solid</source> - <translation type="unfinished"></translation> + <translation>Enobarven</translation> </message> <message> <location line="+1"/> <source>Dense 1</source> - <translation type="unfinished"></translation> + <translation>Gost 1</translation> </message> <message> <location line="+1"/> <source>Dense 2</source> - <translation type="unfinished"></translation> + <translation>Gost 2</translation> </message> <message> <location line="+1"/> <source>Dense 3</source> - <translation type="unfinished"></translation> + <translation>Gost 3</translation> </message> <message> <location line="+1"/> <source>Dense 4</source> - <translation type="unfinished"></translation> + <translation>Gost 4</translation> </message> <message> <location line="+1"/> <source>Dense 5</source> - <translation type="unfinished"></translation> + <translation>Gost 5</translation> </message> <message> <location line="+1"/> <source>Dense 6</source> - <translation type="unfinished"></translation> + <translation>Gost 6</translation> </message> <message> <location line="+1"/> <source>Dense 7</source> - <translation type="unfinished"></translation> + <translation>Gost 7</translation> </message> <message> <location line="+1"/> <source>Horizontal</source> - <translation type="unfinished"></translation> + <translation>Vodoraven</translation> </message> <message> <location line="+1"/> <source>Vertical</source> - <translation type="unfinished"></translation> + <translation>NavpiÄen</translation> </message> <message> <location line="+1"/> <source>Cross</source> - <translation type="unfinished"></translation> + <translation>Križ</translation> </message> <message> <location line="+1"/> <source>Backward diagonal</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡even nazaj</translation> </message> <message> <location line="+1"/> <source>Forward diagonal</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡even naprej</translation> </message> <message> <location line="+1"/> <source>Crossing diagonal</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡even prekrižan</translation> </message> <message> <location line="+83"/> <source>Style</source> - <translation type="unfinished"></translation> + <translation>Slog</translation> </message> <message> <location line="+11"/> <source>Color</source> - <translation type="unfinished"></translation> + <translation>Barva</translation> </message> <message> <location line="+105"/> <source>[%1, %2]</source> - <translation type="unfinished"></translation> + <translation>[%1, %2]</translation> </message> </context> <context> @@ -328,115 +276,115 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/> <location line="+258"/> <source>Change signal</source> - <translation type="unfinished"></translation> + <translation>Spremeni signal</translation> </message> <message> <location line="-256"/> <location line="+268"/> <source>Change slot</source> - <translation type="unfinished"></translation> + <translation>Spremeni režo</translation> </message> <message> <location line="-220"/> <source>Change signal-slot connection</source> - <translation type="unfinished"></translation> + <translation>Spremeni povezavo signal-reža</translation> </message> <message> <location line="+234"/> <source>Change sender</source> - <translation type="unfinished"></translation> + <translation>Spremeni poÅ¡iljatelja</translation> </message> <message> <location line="+18"/> <source>Change receiver</source> - <translation type="unfinished"></translation> + <translation>Spremeni prejemnika</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/> <source>Add connection</source> - <translation type="unfinished"></translation> + <translation>Dodaj povezavo</translation> </message> <message> <location line="+54"/> <source>Adjust connection</source> - <translation type="unfinished"></translation> + <translation>Prilagodi povezavo</translation> </message> <message> <location line="+19"/> <source>Delete connections</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i povezave</translation> </message> <message> <location line="+58"/> <source>Change source</source> - <translation type="unfinished"></translation> + <translation>Spremeni izvor</translation> </message> <message> <location line="+2"/> <source>Change target</source> - <translation type="unfinished"></translation> + <translation>Spremeni cilj</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/> <source>Insert '%1'</source> - <translation type="unfinished"></translation> + <translation>Vstavi »%1«</translation> </message> <message> <location line="+167"/> <source>Raise '%1'</source> - <translation type="unfinished"></translation> + <translation>Dvigni »%1«</translation> </message> <message> <location line="+33"/> <source>Lower '%1'</source> - <translation type="unfinished"></translation> + <translation>Spusti »%1«</translation> </message> <message> <location line="+113"/> <source>Delete '%1'</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i »%1«</translation> </message> <message> <location line="+119"/> <source>Reparent '%1'</source> - <translation type="unfinished"></translation> + <translation>Spremeni starÅ¡a od »%1«</translation> </message> <message> <location line="+53"/> <source>Promote to custom widget</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡aj v gradnik po meri</translation> </message> <message> <location line="+42"/> <source>Demote from custom widget</source> - <translation type="unfinished"></translation> + <translation>Ponižaj iz gradnika po meri</translation> </message> <message> <location line="+79"/> <source>Lay out using grid</source> - <translation type="unfinished"></translation> + <translation>Razporedi z uporabo mreže</translation> </message> <message> <location line="+3"/> <source>Lay out vertically</source> - <translation type="unfinished"></translation> + <translation>Razporedi navpiÄno</translation> </message> <message> <location line="+3"/> <source>Lay out horizontally</source> - <translation type="unfinished"></translation> + <translation>Razporedi vodoravno</translation> </message> <message> <location line="+41"/> <source>Break layout</source> - <translation type="unfinished"></translation> + <translation>Razbij razporeditev</translation> </message> <message> <location line="+240"/> <location line="+235"/> <location line="+78"/> <source>Move Page</source> - <translation type="unfinished"></translation> + <translation>Premakni stran</translation> </message> <message> <location line="-279"/> @@ -444,20 +392,18 @@ ate the goose who was loose.</source> <location line="+188"/> <location line="+666"/> <source>Delete Page</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i stran</translation> </message> <message> <location line="-939"/> <location line="+123"/> <source>Page</source> - <translation type="unfinished"></translation> + <translation>Stran</translation> </message> <message> - <location line="-121"/> - <location line="+309"/> - <location line="+672"/> + <location line="+860"/> <source>page</source> - <translation type="unfinished"></translation> + <translation>stran</translation> </message> <message> <location line="-978"/> @@ -465,266 +411,273 @@ ate the goose who was loose.</source> <location line="+186"/> <location line="+667"/> <source>Insert Page</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-856"/> - <source>tab</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran</translation> </message> <message> - <location line="+209"/> + <location line="-647"/> <source>Change Tab order</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrstni red tabulatorke</translation> </message> <message> <location line="+28"/> <source>Create Menu Bar</source> - <translation type="unfinished"></translation> + <translation>Ustvari menijsko vrstico</translation> </message> <message> <location line="+44"/> <source>Delete Menu Bar</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i menijsko vrstico</translation> </message> <message> <location line="+47"/> <source>Create Status Bar</source> - <translation type="unfinished"></translation> + <translation>Ustvari vrstico stanja</translation> </message> <message> <location line="+42"/> <source>Delete Status Bar</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i vrstico stanja</translation> </message> <message> <location line="+45"/> <source>Add Tool Bar</source> - <translation type="unfinished"></translation> + <translation>Dodaj orodjarno</translation> </message> <message> <location line="+59"/> <source>Add Dock Window</source> - <translation type="unfinished"></translation> + <translation>Dodaj podokno</translation> </message> <message> <location line="+53"/> <source>Adjust Size of '%1'</source> - <translation type="unfinished"></translation> + <translation>Prilagodi velikost za »%1«</translation> </message> <message> <location line="+57"/> <source>Change Form Layout Item Geometry</source> - <translation type="unfinished"></translation> + <translation>Spremeni geometrijo razporeditve na obrazcu</translation> </message> <message> <location line="+95"/> <source>Change Layout Item Geometry</source> - <translation type="unfinished"></translation> + <translation>Spremeni geometrijo razporeda</translation> </message> <message> <location line="+576"/> <source>Change Table Contents</source> - <translation type="unfinished"></translation> + <translation>Spremeni vsebino tabele</translation> </message> <message> <location line="+107"/> <source>Change Tree Contents</source> - <translation type="unfinished"></translation> + <translation>Spremeni vsebino drevesa</translation> </message> <message> <location line="+74"/> <location line="+146"/> <source>Add action</source> - <translation type="unfinished"></translation> + <translation>Dodaj dejanje</translation> </message> <message> <location line="-120"/> <location line="+126"/> <source>Remove action</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanje</translation> </message> <message> <location line="+53"/> <source>Add menu</source> - <translation type="unfinished"></translation> + <translation>Dodaj meni</translation> </message> <message> <location line="+6"/> <source>Remove menu</source> - <translation type="unfinished"></translation> + <translation>Odstrani meni</translation> </message> <message> <location line="+6"/> <source>Create submenu</source> - <translation type="unfinished"></translation> + <translation>Ustvari podmeni</translation> </message> <message> <location line="+31"/> <source>Delete Tool Bar</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i orodjarno</translation> </message> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/> <source>Set action text</source> - <translation type="unfinished"></translation> + <translation>Nastavi besedilo dejanja</translation> </message> <message> <location line="+3"/> <source>Insert action</source> - <translation type="unfinished"></translation> + <translation>Vstavi dejanje</translation> </message> <message> <location line="+89"/> - <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+907"/> <source>Move action</source> - <translation type="unfinished"></translation> + <translation>Premakni dejanje</translation> </message> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-404"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-424"/> <source>Change Title</source> - <translation type="unfinished"></translation> + <translation>Spremeni naslov</translation> </message> <message> <location line="+2"/> <source>Insert Menu</source> - <translation type="unfinished"></translation> + <translation>Vstavi meni</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/> <source>Change signals/slots</source> - <translation type="unfinished"></translation> + <translation>Spremeni signale/reže</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-867"/> <source>Delete Subwindow</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i podokno</translation> </message> <message> <location line="+44"/> <source>Insert Subwindow</source> - <translation type="unfinished"></translation> + <translation>Vstavi podokno</translation> </message> <message> <location line="+2"/> <source>subwindow</source> - <translation type="unfinished"></translation> + <translation>podokno</translation> </message> <message> <location line="+1"/> <source>Subwindow</source> - <translation type="unfinished"></translation> + <translation>Podokno</translation> </message> <message> <location line="-1821"/> <source>Change Z-order of '%1'</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrstni red v smeri Z od »%1«</translation> </message> <message> <location line="+625"/> <source>Simplify Grid Layout</source> - <translation type="unfinished"></translation> + <translation>Poenostavi razporeditev v mrežo</translation> </message> <message> - <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/> + <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+221"/> <source>Create button group</source> - <translation type="unfinished"></translation> + <translation>Ustvari skupino gumbov</translation> </message> <message> <location line="+27"/> <source>Break button group</source> - <translation type="unfinished"></translation> + <translation>Razbij skupino gumbov</translation> </message> <message> <location line="+9"/> <source>Break button group '%1'</source> - <translation type="unfinished"></translation> + <translation>Razbij skupino gumbov »%1«</translation> </message> <message> <location line="+17"/> <source>Add buttons to group</source> - <translation type="unfinished"></translation> + <translation>Dodaj gumbe v skupino</translation> </message> <message> <location line="+8"/> <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/> <source>Add '%1' to '%2'</source> <extracomment>Command description for adding buttons to a QButtonGroup</extracomment> - <translation type="unfinished"></translation> + <translation>Dodaj »%1« v »%2«</translation> </message> <message> <location line="+14"/> <source>Remove buttons from group</source> - <translation type="unfinished"></translation> + <translation>Odstrani gumbe iz te skupine</translation> </message> <message> <location line="+15"/> <source>Remove '%1' from '%2'</source> <extracomment>Command description for removing buttons from a QButtonGroup</extracomment> - <translation type="unfinished"></translation> + <translation>Odstrani »%1« iz »%2«</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/> <source>Morph %1/'%2' into %3</source> <extracomment>MorphWidgetCommand description</extracomment> - <translation type="unfinished"></translation> + <translation>Pretvori %1/»%2« v %3</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/> <source>Change layout of '%1' from %2 to %3</source> - <translation type="unfinished"></translation> + <translation>Spremeni razpored od »%1« iz %2 v %3</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/> <source>Change script</source> - <translation type="unfinished"></translation> + <translation>Spremeni skript</translation> </message> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/> <source>Changed '%1' of '%2'</source> - <translation type="unfinished"></translation> + <translation>Spremenil »%1« od »%2«</translation> </message> <message numerus="yes"> <location line="+3"/> <source>Changed '%1' of %n objects</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Spremenil »%1« od %n objekta</numerusform> + <numerusform>Spremenil »%1« od %n objektov</numerusform> + <numerusform>Spremenil »%1« od %n objektov</numerusform> + <numerusform>Spremenil »%1« od %n objektov</numerusform> </translation> </message> <message> <location line="+76"/> <source>Reset '%1' of '%2'</source> - <translation type="unfinished"></translation> + <translation>Ponastavi »%1« od »%2«</translation> </message> <message numerus="yes"> <location line="+3"/> <source>Reset '%1' of %n objects</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Ponastavi »%1« od %n objekta</numerusform> + <numerusform>Ponastavi »%1« od %n objektov</numerusform> + <numerusform>Ponastavi »%1« od %n objektov</numerusform> + <numerusform>Ponastavi »%1« od %n objektov</numerusform> </translation> </message> <message> <location line="+89"/> <source>Add dynamic property '%1' to '%2'</source> - <translation type="unfinished"></translation> + <translation>Dodaj dinamiÄno lastnost »%1« k »%2«</translation> </message> <message numerus="yes"> <location line="+3"/> <source>Add dynamic property '%1' to %n objects</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Dodaj dinamiÄno lastnost »%1« k %n objektu</numerusform> + <numerusform>Dodaj dinamiÄno lastnost »%1« k %n objektoma</numerusform> + <numerusform>Dodaj dinamiÄno lastnost »%1« k %n objektom</numerusform> + <numerusform>Dodaj dinamiÄno lastnost »%1« k %n objektom</numerusform> </translation> </message> <message> <location line="+86"/> <source>Remove dynamic property '%1' from '%2'</source> - <translation type="unfinished"></translation> + <translation>Odstrani dinamiÄno lastnost »%1« od »%2«</translation> </message> <message numerus="yes"> <location line="+3"/> <source>Remove dynamic property '%1' from %n objects</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Odstrani dinamiÄno lastnost »%1« od %n objekta</numerusform> + <numerusform>Odstrani dinamiÄno lastnost »%1« od %n objektov</numerusform> + <numerusform>Odstrani dinamiÄno lastnost »%1« od %n objektov</numerusform> + <numerusform>Odstrani dinamiÄno lastnost »%1« od %n objektov</numerusform> </translation> </message> </context> @@ -733,22 +686,40 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui"/> <source>Configure Connection</source> - <translation type="unfinished"></translation> + <translation>Nastavi povezavo</translation> </message> <message> <location/> <source>GroupBox</source> - <translation type="unfinished"></translation> + <translation>Skupina</translation> </message> <message> <location/> <source>Edit...</source> - <translation type="unfinished"></translation> + <translation>Urejanje ...</translation> </message> <message> <location/> <source>Show signals and slots inherited from QWidget</source> - <translation type="unfinished"></translation> + <translation>Prikaži signale in reže podedovane od QWidget</translation> + </message> +</context> +<context> + <name>ConnectionDelegate</name> + <message> + <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+643"/> + <source><object></source> + <translation><objekt></translation> + </message> + <message> + <location line="+18"/> + <source><signal></source> + <translation><signal></translation> + </message> + <message> + <location line="+0"/> + <source><slot></source> + <translation><reža></translation> </message> </context> <context> @@ -757,108 +728,109 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/> <source>Standard (96 x 96)</source> <extracomment>Embedded device standard screen resolution</extracomment> - <translation type="unfinished"></translation> + <translation>ObiÄajna (96 × 96)</translation> </message> <message> <location line="+2"/> <source>Greenphone (179 x 185)</source> <extracomment>Embedded device screen resolution</extracomment> - <translation type="unfinished"></translation> + <translation>Greenphone (179 × 185)</translation> </message> <message> <location line="+2"/> <source>High (192 x 192)</source> <extracomment>Embedded device high definition screen resolution</extracomment> - <translation type="unfinished"></translation> + <translation>Visoka (192 × 192)</translation> </message> </context> <context> <name>Designer</name> <message> - <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/> + <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+449"/> <source>Qt Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> <message> <location line="+10"/> <source>This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form.</source> - <translation type="unfinished"></translation> + <translation>Ta datoteka vsebuje praznine, ki so na vrhu.<br><b>Niso</b> bile shranjene v ta obrazec.</translation> </message> <message> <location line="+2"/> <source>Perhaps you forgot to create a layout?</source> - <translation type="unfinished"></translation> + <translation>Morda ste pozabili ustvariti razpored?</translation> + </message> + <message> + <location line="+173"/> + <source>Invalid UI file: The root element <ui> is missing.</source> + <translation>Neveljavna datoteka UI: manjka vrhnji element <ui>.</translation> </message> <message> - <location line="+205"/> + <location line="+6"/> + <source>An error has occurred while reading the UI file at line %1, column %2: %3</source> + <translation>PriÅ¡lo je do napake med branjem datoteke UI v vrstici %1, stolpcu %2: %3</translation> + </message> + <message> + <location line="+26"/> <source>This file cannot be read because it was created using %1.</source> - <translation type="unfinished"></translation> + <translation>Te datoteke ni moÄ prebrati, ker je bila ustvarjena z %1.</translation> </message> <message> <location line="+14"/> <source>This file was created using Designer from Qt-%1 and cannot be read.</source> - <translation type="unfinished"></translation> + <translation>Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in je ni moÄ prebrati.</translation> </message> <message> - <location line="+102"/> + <location line="+82"/> <source>This file cannot be read because the extra info extension failed to load.</source> - <translation type="unfinished"></translation> + <translation>Te datoteke ni moÄ prebrati, ker je spodletelo nalaganje razÅ¡iritve za dodatne podatke.</translation> </message> <message> - <location line="-72"/> + <location line="-52"/> <source>The converted file could not be read.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-76"/> - <source>Invalid ui file: The root element <ui> is missing.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>An error has occurred while reading the ui file at line %1, column %2: %3</source> - <translation type="unfinished"></translation> + <translation>Pretvorjene datoteke ni bilo moÄ prebrati.</translation> </message> <message> - <location line="+74"/> + <location line="+4"/> <source>This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer.</source> - <translation type="unfinished"></translation> + <translation>Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in bo pretvorjena v novo obliko.</translation> </message> <message> <location line="+3"/> <source>The old form has not been touched, but you will have to save the form under a new name.</source> - <translation type="unfinished"></translation> + <translation>Stara oblika ni bila spremenjena, vendar boste novo obliko morali shraniti pod novim imenom.</translation> </message> <message> <location line="+11"/> <source>This file was created using Designer from Qt-%1 and could not be read: %2</source> - <translation type="unfinished"></translation> + <translation>Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in je ni bilo moÄ prebrati: +%2</translation> </message> <message> <location line="+3"/> <source>Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format.</source> - <translation type="unfinished"></translation> + <translation>Poženite jo skozi <b>uic3&nbsp;-convert</b> in jo tako pretvorite v zapis UI za Qt 4.</translation> </message> <message> - <location line="+746"/> + <location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="+339"/> <source>Custom Widgets</source> - <translation type="unfinished"></translation> + <translation>Gradniki po meri</translation> </message> <message> <location line="+12"/> <source>Promoted Widgets</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡ani gradniki</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/> <source>Unable to launch %1.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zagnati %1.</translation> </message> <message> <location line="+4"/> <source>%1 timed out.</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za %1 je potekel.</translation> </message> </context> <context> @@ -866,12 +838,12 @@ ate the goose who was loose.</source> <message> <location line="-513"/> <source>%1 is not a valid enumeration value of '%2'.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavna vrednost Å¡tevilÄenja od »%2«.</translation> </message> <message> <location line="+5"/> <source>'%1' could not be converted to an enumeration value of type '%2'.</source> - <translation type="unfinished"></translation> + <translation>»%1« ne more biti pretvorjeno v vrednost Å¡tevilÄenja vrste »%2«.</translation> </message> </context> <context> @@ -879,7 +851,7 @@ ate the goose who was loose.</source> <message> <location line="+78"/> <source>'%1' could not be converted to a flag value of type '%2'.</source> - <translation type="unfinished"></translation> + <translation>»%1« ne more biti pretvorjeno v vrednost zastavice vrste »%2«.</translation> </message> </context> <context> @@ -888,12 +860,12 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/> <source>'%1' is not a number.</source> <extracomment>Reading a number for an embedded device profile</extracomment> - <translation type="unfinished"></translation> + <translation>»%1« ni Å¡tevilka.</translation> </message> <message> <location line="+23"/> <source>An invalid tag <%1> was encountered.</source> - <translation type="unfinished"></translation> + <translation>Dosežena je bila neveljavna oznaka <%1>.</translation> </message> </context> <context> @@ -901,27 +873,27 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui"/> <source>&Family</source> - <translation type="unfinished"></translation> + <translation>&Družina</translation> </message> <message> <location/> <source>&Point Size</source> - <translation type="unfinished"></translation> + <translation>&Velikost toÄke</translation> </message> <message> <location/> <source>Style</source> - <translation type="unfinished"></translation> + <translation>Slog</translation> </message> <message> <location/> <source>Device DPI</source> - <translation type="unfinished"></translation> + <translation>LoÄljivost (toÄk/palec)</translation> </message> <message> <location/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> </context> <context> @@ -929,66 +901,66 @@ ate the goose who was loose.</source> <message> <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/> <source>The image file '%1' could not be loaded.</source> - <translation type="unfinished"></translation> + <translation>Slikovne datoteke »%1« ni bilo moÄ naložiti.</translation> </message> <message> <location line="+64"/> <source>The skin directory '%1' does not contain a configuration file.</source> - <translation type="unfinished"></translation> + <translation>Mapa s temo »%1« ne vsebuje nastavitvene datoteke.</translation> </message> <message> <location line="+5"/> <source>The skin configuration file '%1' could not be opened.</source> - <translation type="unfinished"></translation> + <translation>Nastavitvene datoteke za temo »%1« ni bilo moÄ odpreti.</translation> </message> <message> <location line="+76"/> <source>Syntax error: %1</source> - <translation type="unfinished"></translation> + <translation>Skladenjska napaka: %1</translation> </message> <message> <location line="+54"/> <source>The skin cursor image file '%1' does not exist.</source> - <translation type="unfinished"></translation> + <translation>Slikovna datoteka s kazalcem za temo »%1« ne obstaja.</translation> </message> <message> <location line="+25"/> <source>Syntax error in area definition: %1</source> - <translation type="unfinished"></translation> + <translation>Skladenjska napaka pri doloÄitvi obmoÄja: %1</translation> </message> <message> <location line="+38"/> <source>Mismatch in number of areas, expected %1, got %2.</source> - <translation type="unfinished"></translation> + <translation>Neujemanje v Å¡tevilu obmoÄij, priÄakovano %1, dobljeno %2.</translation> </message> <message> <location line="-187"/> <source>The skin configuration file '%1' could not be read: %2</source> - <translation type="unfinished"></translation> + <translation>Nastavitvene datoteke za temo »%1« ni bilo moÄ prebrati: %2</translation> </message> <message> <location line="+91"/> <source>The skin "up" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> + <translation>Datoteka slike »up« teme »%1« ne obstaja.</translation> </message> <message> <location line="+10"/> <source>The skin "down" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> + <translation>Datoteka slike »down« teme »%1« ne obstaja.</translation> </message> <message> <location line="+11"/> <source>The skin "closed" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> + <translation>Datoteka slike »closed« teme »%1« ne obstaja.</translation> </message> </context> <context> <name>EmbeddedOptionsControl</name> <message> - <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/> + <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+307"/> <source><html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html></source> <extracomment>Format embedded device profile description</extracomment> - <translation type="unfinished"></translation> + <translation><html><table><tr><td><b>Pisava</b></td><td>%1, %2</td></tr><tr><td><b>Slog</b></td><td>%3</td></tr><tr><td><b>LoÄljivost</b></td><td>%4 × %5</td></tr></table></html></translation> </message> </context> <context> @@ -997,13 +969,13 @@ ate the goose who was loose.</source> <location line="+103"/> <source>Embedded Design</source> <extracomment>Tab in preferences dialog</extracomment> - <translation type="unfinished"></translation> + <translation>Vgrajena zasnova</translation> </message> <message> <location line="+10"/> <source>Device Profiles</source> <extracomment>EmbeddedOptionsControl group box"</extracomment> - <translation type="unfinished"></translation> + <translation>Profili naprav</translation> </message> </context> <context> @@ -1011,27 +983,27 @@ ate the goose who was loose.</source> <message> <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/> <source>Font</source> - <translation type="unfinished"></translation> + <translation>Pisava</translation> </message> <message> <location line="+11"/> <source>&Writing system</source> - <translation type="unfinished"></translation> + <translation>S&istem pisanja</translation> </message> <message> <location line="+3"/> <source>&Family</source> - <translation type="unfinished"></translation> + <translation>&Družina</translation> </message> <message> <location line="+4"/> <source>&Style</source> - <translation type="unfinished"></translation> + <translation>&Slog</translation> </message> <message> <location line="+4"/> <source>&Point size</source> - <translation type="unfinished"></translation> + <translation>&Velikost toÄke</translation> </message> </context> <context> @@ -1039,37 +1011,37 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/> <source>PreferDefault</source> - <translation type="unfinished"></translation> + <translation>Prednost ima privzeto</translation> </message> <message> <location line="+1"/> <source>NoAntialias</source> - <translation type="unfinished"></translation> + <translation>Brez glajenja robov</translation> </message> <message> <location line="+1"/> <source>PreferAntialias</source> - <translation type="unfinished"></translation> + <translation>Prednost ima glajenje robov</translation> </message> <message> <location line="+61"/> <source>Antialiasing</source> - <translation type="unfinished"></translation> + <translation>Glajenje robov</translation> </message> </context> <context> <name>FormBuilder</name> <message> - <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/> + <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+359"/> <source>Invalid stretch value for '%1': '%2'</source> <extracomment>Parsing layout stretch values</extracomment> - <translation type="unfinished"></translation> + <translation>Neveljavna vrednost razÅ¡irjanja za »%1«: »%2«</translation> </message> <message> <location line="+62"/> <source>Invalid minimum size for '%1': '%2'</source> <extracomment>Parsing grid layout minimum size values</extracomment> - <translation type="unfinished"></translation> + <translation>Neveljavna najmanjÅ¡a velikost za »%1«: »%2«</translation> </message> </context> <context> @@ -1077,28 +1049,28 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/> <source>%1 %</source> - <translation type="unfinished"></translation> + <translation>%1 %</translation> </message> <message> <location line="+4"/> <source>Preview Zoom</source> - <translation type="unfinished"></translation> + <translation>PoveÄava ogleda</translation> </message> <message> <location line="+2"/> <source>Default Zoom</source> - <translation type="unfinished"></translation> + <translation>Privzeta poveÄava</translation> </message> <message> <location line="+29"/> <source>Forms</source> <extracomment>Tab in preferences dialog</extracomment> - <translation type="unfinished"></translation> + <translation>Obrazci</translation> </message> <message> <location line="+13"/> <source>Default Grid</source> - <translation type="unfinished"></translation> + <translation>Privzeta mreža</translation> </message> </context> <context> @@ -1106,50 +1078,50 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/> <source>Add Form Layout Row</source> - <translation type="unfinished"></translation> + <translation>Dodaj vrstico razporeditve na obrazcu</translation> </message> <message> <location/> <source>&Label text:</source> - <translation type="unfinished"></translation> + <translation>&Besedilo oznake:</translation> </message> <message> <location/> <source>Field &type:</source> - <translation type="unfinished"></translation> + <translation>&Vrsta polja:</translation> </message> <message> <location/> <source>&Field name:</source> - <translation type="unfinished"></translation> + <translation>&Ime polja:</translation> </message> <message> <location/> <source>&Buddy:</source> - <translation type="unfinished"></translation> + <translation>&Kolega:</translation> </message> <message> <location/> <source>&Row:</source> - <translation type="unfinished"></translation> + <translation>&Vrstica:</translation> </message> <message> <location/> <source>Label &name:</source> - <translation type="unfinished"></translation> + <translation>&Ime oznake:</translation> </message> </context> <context> <name>FormWindow</name> <message> - <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/> + <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/> <source>Unexpected element <%1></source> - <translation type="unfinished"></translation> + <translation>NepriÄakovan element <%1></translation> </message> <message> <location line="+7"/> <source>Error while pasting clipboard contents at line %1, column %2: %3</source> - <translation type="unfinished"></translation> + <translation>Napaka pri lepljenju vsebine odložiÅ¡Äa v vrstici %1, stolpcu %2: %3</translation> </message> </context> <context> @@ -1157,70 +1129,70 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui"/> <source>Form Settings</source> - <translation type="unfinished"></translation> + <translation>Nastavitve obrazca</translation> </message> <message> <location/> <source>Layout &Default</source> - <translation type="unfinished"></translation> + <translation>&Privzeto za razpored</translation> </message> <message> <location/> <source>&Spacing:</source> - <translation type="unfinished"></translation> + <translation>&Razmik:</translation> </message> <message> <location/> <source>&Margin:</source> - <translation type="unfinished"></translation> + <translation>&Rob:</translation> </message> <message> <location/> <source>&Layout Function</source> - <translation type="unfinished"></translation> + <translation>&Funkcija za razpored</translation> </message> <message> <location/> <source>Ma&rgin:</source> - <translation type="unfinished"></translation> + <translation>R&ob:</translation> </message> <message> <location/> <source>Spa&cing:</source> - <translation type="unfinished"></translation> + <translation>R&azmik:</translation> </message> <message> <location/> <source>Embedded Design</source> - <translation type="unfinished"></translation> + <translation>Vgrajena zasnova</translation> </message> <message> <location/> <source>&Author</source> - <translation type="unfinished"></translation> + <translation>&Avtor</translation> </message> <message> <location/> <source>&Include Hints</source> - <translation type="unfinished"></translation> + <translation>Namigi za &vkljuÄevanje</translation> </message> <message> <location/> <source>&Pixmap Function</source> - <translation type="unfinished"></translation> + <translation>F&unkcija za sliÄico</translation> </message> <message> <location/> <source>Grid</source> - <translation type="unfinished"></translation> + <translation>Mreža</translation> </message> </context> <context> <name>IconSelector</name> <message> - <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/> + <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+352"/> <source>All Pixmaps (</source> - <translation type="unfinished"></translation> + <translation>Vse sliÄice (</translation> </message> </context> <context> @@ -1229,15 +1201,7 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/> <source>XX Icon Selected off</source> <extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>LanguageResourceDialog</name> - <message> - <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/> - <source>Choose Resource</source> - <translation type="unfinished"></translation> + <translation>XX Ikona Izbrano izklopljeno</translation> </message> </context> <context> @@ -1246,32 +1210,32 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/> <source>Main</source> <extracomment>Not currently used (main tool bar)</extracomment> - <translation type="unfinished"></translation> + <translation>Glavna</translation> </message> <message> <location line="+6"/> <source>File</source> - <translation type="unfinished"></translation> + <translation>Datoteka</translation> </message> <message> <location line="+1"/> <source>Edit</source> - <translation type="unfinished"></translation> + <translation>Urejanje</translation> </message> <message> <location line="+1"/> <source>Tools</source> - <translation type="unfinished"></translation> + <translation>Orodja</translation> </message> <message> <location line="+1"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location line="+7"/> <source>Qt Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> </context> <context> @@ -1279,96 +1243,88 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/> <source>C&reate</source> - <translation type="unfinished"></translation> + <translation>&Ustvari</translation> </message> <message> <location line="+1"/> <source>Recent</source> - <translation type="unfinished"></translation> + <translation>Nedavno</translation> </message> <message> <location line="+32"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> <message> <location line="+3"/> <source>&Open...</source> - <translation type="unfinished"></translation> + <translation>&Odpri ...</translation> </message> <message> <location line="+4"/> <source>&Recent Forms</source> - <translation type="unfinished"></translation> + <translation>&Nedavni obrazci</translation> </message> <message> <location line="+64"/> <source>Read error</source> - <translation type="unfinished"></translation> + <translation>Napaka pri branju</translation> </message> <message> <location line="-100"/> <source>New Form</source> - <translation type="unfinished"></translation> + <translation>Nov obrazec</translation> </message> <message> <location line="-5"/> <source>Show this Dialog on Startup</source> - <translation type="unfinished"></translation> + <translation>Prikaži to pogovorno okno ob zagonu</translation> </message> <message> <location line="+128"/> <source>A temporary form file could not be created in %1.</source> - <translation type="unfinished"></translation> + <translation>ZaÄasne datoteke obrazca v %1 ni bilo moÄ ustvariti.</translation> </message> <message> <location line="+6"/> <source>The temporary form file %1 could not be written.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>NewFormWidget</name> - <message> - <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/> - <source>Unable to open the form template file '%1': %2</source> - <translation type="unfinished"></translation> + <translation>V zaÄasno datoteko obrazca %1 ni bilo moÄ pisati.</translation> </message> </context> <context> <name>ObjectInspectorModel</name> <message> - <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/> + <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+360"/> <source>Object</source> - <translation type="unfinished"></translation> + <translation>Objekt</translation> </message> <message> <location line="+1"/> <source>Class</source> - <translation type="unfinished"></translation> + <translation>Razred</translation> </message> <message> <location line="+35"/> <source>separator</source> - <translation type="unfinished"></translation> + <translation>loÄitelj</translation> </message> <message> <location line="+98"/> <source><noname></source> - <translation type="unfinished"></translation> + <translation><neimenovano></translation> </message> </context> <context> <name>ObjectNameDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+158"/> <source>Change Object Name</source> - <translation type="unfinished"></translation> + <translation>Spremeni ime objekta</translation> </message> <message> <location line="+4"/> <source>Object Name</source> - <translation type="unfinished"></translation> + <translation>Ime objekta</translation> </message> </context> <context> @@ -1376,12 +1332,12 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/> <source>Plugin Information</source> - <translation type="unfinished"></translation> + <translation>Podatki o vstavkih</translation> </message> <message> <location/> <source>1</source> - <translation type="unfinished"></translation> + <translation>1</translation> </message> </context> <context> @@ -1389,64 +1345,49 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/designer/preferencesdialog.ui"/> <source>Preferences</source> - <translation type="unfinished"></translation> + <translation>Nastavitve</translation> </message> </context> <context> <name>PreviewConfigurationWidget</name> <message> - <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/> - <source>Default</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>None</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Print/Preview Configuration</source> - <translation type="unfinished"></translation> + <translation>Nastavitev tiskanja/ogleda</translation> </message> <message> <location/> <source>Style</source> - <translation type="unfinished"></translation> + <translation>Slog</translation> </message> <message> <location/> <source>Style sheet</source> - <translation type="unfinished"></translation> + <translation>Slogovna predloga</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location/> <source>Device skin</source> - <translation type="unfinished"></translation> + <translation>Tema naprave</translation> </message> </context> <context> <name>PromotionModel</name> <message> - <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/> + <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+112"/> <source>Not used</source> <extracomment>Usage of promoted widgets</extracomment> - <translation type="unfinished"></translation> + <translation>Ni uporabljeno</translation> </message> </context> <context> @@ -1455,7 +1396,7 @@ ate the goose who was loose.</source> <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/> <location line="+5"/> <source>Page</source> - <translation type="unfinished"></translation> + <translation>Stran</translation> </message> </context> <context> @@ -1463,58 +1404,59 @@ ate the goose who was loose.</source> <message> <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/> <source>Unexpected element <%1></source> - <translation type="unfinished"></translation> + <translation>NepriÄakovan element <%1></translation> </message> <message> <location line="+5"/> - <source>An error has occurred while reading the ui file at line %1, column %2: %3</source> - <translation type="unfinished"></translation> + <source>An error has occurred while reading the UI file at line %1, column %2: %3</source> + <translation>PriÅ¡lo je do napake med branjem datoteke UI v vrstici %1, stolpcu %2: %3</translation> </message> <message> <location line="+6"/> - <source>Invalid ui file: The root element <ui> is missing.</source> - <translation type="unfinished"></translation> + <source>Invalid UI file: The root element <ui> is missing.</source> + <translation>Neveljavna datoteka UI: manjka vrhnji element <ui>.</translation> </message> <message> <location line="+119"/> <source>The creation of a widget of the class '%1' failed.</source> - <translation type="unfinished"></translation> + <translation>Ustvarjanje gradnika razreda »%1« ni uspelo.</translation> </message> <message> - <location line="+295"/> + <location line="+296"/> <source>Attempt to add child that is not of class QWizardPage to QWizard.</source> - <translation type="unfinished"></translation> + <translation>Poskus dodajanja podgradnika, ki ni razreda QWizardPage ali QWizard.</translation> </message> <message> <location line="+86"/> <source>Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. This indicates an inconsistency in the ui-file.</source> - <translation type="unfinished"></translation> + <translation>Poskus dodajanja razporeda gradniku »%1« (%2), ki že ima razpored ne-okvirne vrste %3. +To nakazuje na neskladnost v datoteki *.ui.</translation> </message> <message> <location line="+144"/> <source>Empty widget item in %1 '%2'.</source> - <translation type="unfinished"></translation> + <translation>Prazna postavka gradnika v %1 »%2«.</translation> </message> <message> - <location line="+684"/> + <location line="+680"/> <source>Flags property are not supported yet.</source> - <translation type="unfinished"></translation> + <translation>Lastnosti z zastavicami Å¡e niso podprte.</translation> </message> <message> <location line="+81"/> <source>While applying tab stops: The widget '%1' could not be found.</source> - <translation type="unfinished"></translation> + <translation>Med uveljavljanjem postankov tabulatorke: gradnika »%1« ni bilo moÄ najti.</translation> </message> <message> - <location line="+749"/> + <location line="+908"/> <source>Invalid QButtonGroup reference '%1' referenced by '%2'.</source> - <translation type="unfinished"></translation> + <translation>Neveljavna referenca »%1« na QButtonGroup od »%2«.</translation> </message> <message> - <location line="+518"/> + <location line="+511"/> <source>This version of the uitools library is linked without script support.</source> - <translation type="unfinished"></translation> + <translation>Ta razliÄica knjižnice uitools nima podpore za skripte.</translation> </message> </context> <context> @@ -1522,12 +1464,12 @@ This indicates an inconsistency in the ui-file.</source> <message> <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/> <source>ActiveX control</source> - <translation type="unfinished"></translation> + <translation>Kontrolnik ActiveX</translation> </message> <message> <location line="+5"/> <source>ActiveX control widget</source> - <translation type="unfinished"></translation> + <translation>Gradnik kontrolnika ActiveX</translation> </message> </context> <context> @@ -1535,22 +1477,22 @@ This indicates an inconsistency in the ui-file.</source> <message> <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/> <source>Set Control</source> - <translation type="unfinished"></translation> + <translation>Nastavi kontrolnik</translation> </message> <message> <location line="+1"/> <source>Reset Control</source> - <translation type="unfinished"></translation> + <translation>Ponastavi kontrolnik</translation> </message> <message> <location line="+41"/> <source>Licensed Control</source> - <translation type="unfinished"></translation> + <translation>Licenciran kontrolnik</translation> </message> <message> <location line="+1"/> <source>The control requires a design-time license</source> - <translation type="unfinished"></translation> + <translation>Kontrolnik potrebuje licenco za Äas snovanja</translation> </message> </context> <context> @@ -1558,68 +1500,69 @@ This indicates an inconsistency in the ui-file.</source> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/> <source>%1 is not a promoted class.</source> - <translation type="unfinished"></translation> + <translation>%1 ni poviÅ¡an razred.</translation> </message> <message> <location line="+65"/> <source>The base class %1 is invalid.</source> - <translation type="unfinished"></translation> + <translation>Osnovni razred %1 ni veljaven.</translation> </message> <message> <location line="+7"/> <source>The class %1 already exists.</source> - <translation type="unfinished"></translation> + <translation>Razred %1 že obstaja.</translation> </message> <message> <location line="+9"/> <source>Promoted Widgets</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡ani gradniki</translation> </message> <message> <location line="+126"/> <source>The class %1 cannot be removed</source> - <translation type="unfinished"></translation> + <translation>Razreda %1 ni moÄ odstraniti</translation> </message> <message> <location line="+9"/> <source>The class %1 cannot be removed because it is still referenced.</source> - <translation type="unfinished"></translation> + <translation>Razreda %1 ni moÄ odstraniti, ker se nanj Å¡e vedno nanaÅ¡ajo reference.</translation> </message> <message> <location line="+10"/> <source>The class %1 cannot be renamed</source> - <translation type="unfinished"></translation> + <translation>Razreda %1 ni moÄ preimenovati</translation> </message> <message> <location line="+7"/> <source>The class %1 cannot be renamed to an empty name.</source> - <translation type="unfinished"></translation> + <translation>Razreda %1 ni moÄ preimenovati s praznim imenom.</translation> </message> <message> <location line="+5"/> <source>There is already a class named %1.</source> - <translation type="unfinished"></translation> + <translation>Razred z imenom %1 že obstaja.</translation> </message> <message> <location line="+29"/> <source>Cannot set an empty include file.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ nastaviti prazne vkljuÄene datoteke.</translation> </message> <message> <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/> <source>Exception at line %1: %2</source> - <translation type="unfinished"></translation> + <translation>Izjema v vrstici %1: %2</translation> </message> <message> <location line="+36"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> <location line="+50"/> <source>An error occurred while running the script for %1: %2 Script: %3</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake pri zaganjanju skripta za %1: %2 +Skript: %3</translation> </message> </context> <context> @@ -1627,17 +1570,17 @@ Script: %3</source> <message> <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/> <source>%1 - warning</source> - <translation type="unfinished"></translation> + <translation>%1 - opozorilo</translation> </message> <message> <location line="+96"/> <source>Qt Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> <message> <location line="+1"/> <source>This application cannot be used for the Console edition of Qt</source> - <translation type="unfinished"></translation> + <translation>Programa ni moÄ uporabiti za konzolno izdajo Qt</translation> </message> </context> <context> @@ -1645,313 +1588,314 @@ Script: %3</source> <message> <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+178"/> <source>Edit Widgets</source> - <translation type="unfinished"></translation> + <translation>Urejanje gradnikov</translation> </message> <message> <location line="+10"/> <source>&Quit</source> - <translation type="unfinished"></translation> + <translation>KonÄa&j</translation> </message> <message> <location line="+3"/> <source>&Minimize</source> - <translation type="unfinished"></translation> + <translation>Po&manjÅ¡aj</translation> </message> <message> <location line="+2"/> <source>Bring All to Front</source> - <translation type="unfinished"></translation> + <translation>Prinesi vse v ospredje</translation> </message> <message> <location line="+2"/> <source>Preferences...</source> - <translation type="unfinished"></translation> + <translation>Nastavitve ...</translation> </message> <message> - <location line="+293"/> + <location line="+298"/> <source>Clear &Menu</source> - <translation type="unfinished"></translation> + <translation>PoÄisti &meni</translation> </message> <message> - <location line="-232"/> + <location line="-233"/> <source>CTRL+SHIFT+S</source> - <translation type="unfinished"></translation> + <translation>CTRL+SHIFT+S</translation> </message> <message> - <location line="+27"/> - <source>CTRL+Q</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+85"/> + <location line="+113"/> <source>CTRL+R</source> - <translation type="unfinished"></translation> + <translation>CTRL+R</translation> </message> <message> <location line="+18"/> <source>CTRL+M</source> - <translation type="unfinished"></translation> + <translation>CTRL+M</translation> </message> <message> <location line="+31"/> <source>Qt Designer &Help</source> - <translation type="unfinished"></translation> + <translation>P&riroÄnik za Qt Designer</translation> </message> <message> <location line="+7"/> <source>Current Widget Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ za trenutni gradnik</translation> </message> <message> <location line="+7"/> <source>What's New in Qt Designer?</source> - <translation type="unfinished"></translation> + <translation>Kaj je novega v Qt Designerju?</translation> </message> <message> <location line="+7"/> <source>About Plugins</source> - <translation type="unfinished"></translation> + <translation>O vstavkih</translation> </message> <message> <location line="+6"/> <location line="+601"/> <source>About Qt Designer</source> - <translation type="unfinished"></translation> + <translation>O Qt Designer</translation> </message> <message> <location line="-595"/> <source>About Qt</source> - <translation type="unfinished"></translation> + <translation>O Qt</translation> </message> <message> <location line="+121"/> <location line="+197"/> <source>Open Form</source> - <translation type="unfinished"></translation> + <translation>Odpri obrazec</translation> </message> <message> <location line="-196"/> <location line="+37"/> <location line="+160"/> <source>Designer UI files (*.%1);;All Files (*)</source> - <translation type="unfinished"></translation> + <translation>Designerjeve datoteke UI (*.%1);;Vse datoteke (*)</translation> </message> <message> - <location line="-615"/> + <location line="-620"/> <source>%1 already exists. Do you want to replace it?</source> - <translation type="unfinished"></translation> + <translation>%1 že obstaja. +Ali jo želite nadomestiti?</translation> </message> <message> <location line="-26"/> <source>Saved %1.</source> - <translation type="unfinished"></translation> + <translation>Shranil %1.</translation> </message> <message> <location line="+68"/> <source>Additional Fonts...</source> - <translation type="unfinished"></translation> + <translation>Dodatne pisave ...</translation> </message> <message> - <location line="+298"/> + <location line="+303"/> <source>&Recent Forms</source> - <translation type="unfinished"></translation> + <translation>N&edavni obrazci</translation> </message> <message> <location line="+202"/> <source>Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> <message> <location line="+0"/> <source>Feature not implemented yet!</source> - <translation type="unfinished"></translation> + <translation>Zmožnost Å¡e ni izdelana.</translation> </message> <message> <location line="+59"/> <source>Read error</source> - <translation type="unfinished"></translation> + <translation>Napaka pri branju</translation> </message> <message> <location line="+1"/> <source>%1 Do you want to update the file location or generate a new form?</source> - <translation type="unfinished"></translation> + <translation>%1 +Ali želite posodobiti lokacijo datoteke ali ustvariti nov obrazec?</translation> </message> <message> <location line="+3"/> <source>&Update</source> - <translation type="unfinished"></translation> + <translation>&Posodobi</translation> </message> <message> <location line="+1"/> <source>&New Form</source> - <translation type="unfinished"></translation> + <translation>&Nov obrazec</translation> </message> <message> <location line="+77"/> <location line="+40"/> <source>Save Form?</source> - <translation type="unfinished"></translation> + <translation>Shranim obrazec?</translation> </message> <message> <location line="-39"/> <source>Could not open file</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ odpreti datoteke</translation> </message> <message> <location line="+10"/> <source>Select New File</source> - <translation type="unfinished"></translation> + <translation>Izberite novo datoteko</translation> </message> <message> <location line="+30"/> <source>Could not write file</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ zapisati datoteke</translation> </message> <message> <location line="+201"/> <source>&Close Preview</source> - <translation type="unfinished"></translation> + <translation>&Zapri ogled</translation> </message> <message> - <location line="-893"/> + <location line="-898"/> <source>Save &Image...</source> - <translation type="unfinished"></translation> + <translation>S&hrani sliko ...</translation> </message> <message> <location line="+1"/> <source>&Print...</source> - <translation type="unfinished"></translation> + <translation>&Natisni ...</translation> </message> <message> - <location line="+655"/> + <location line="+660"/> <source>The file %1 could not be opened. Reason: %2 Would you like to retry or select a different file?</source> - <translation type="unfinished"></translation> + <translation>Datoteke %1 ni bilo moÄ odpreti. +Razlog: %2 +Ali žalite poskusiti znova ali izbrati drugo datoteko?</translation> </message> <message> <location line="+39"/> <source>It was not possible to write the entire file %1 to disk. Reason:%2 Would you like to retry?</source> - <translation type="unfinished"></translation> + <translation>Celotne datoteke %1 ni bilo moÄ zapisati na disk. +Razlog: %2 +Ali želite poskusiti znova?</translation> </message> <message> <location line="+239"/> <location line="+23"/> <source>The backup file %1 could not be written.</source> - <translation type="unfinished"></translation> + <translation>Varnostne kopije datoteke %1 ni bilo moÄ zapisati.</translation> </message> <message> <location line="+107"/> <source>The backup directory %1 could not be created.</source> - <translation type="unfinished"></translation> + <translation>Mape %1 za varnostne kopije ni bilo moÄ ustvariti.</translation> </message> <message> <location line="+6"/> <source>The temporary backup directory %1 could not be created.</source> - <translation type="unfinished"></translation> + <translation>ZaÄasne mape %1 za varnostne kopije ni bilo moÄ ustvariti.</translation> </message> <message> <location line="+54"/> <source>Image files (*.%1)</source> - <translation type="unfinished"></translation> + <translation>Slikovne datoteke (*.%1)</translation> </message> <message> <location line="+9"/> <location line="+17"/> <source>Save Image</source> - <translation type="unfinished"></translation> + <translation>Shrani sliko</translation> </message> <message> <location line="+1"/> <source>The file %1 could not be written.</source> - <translation type="unfinished"></translation> + <translation>Datoteke %1 ni bilo moÄ zapisati.</translation> </message> <message> - <location line="-1158"/> + <location line="-1163"/> <source>&New...</source> - <translation type="unfinished"></translation> + <translation>&Nova ...</translation> </message> <message> <location line="+1"/> <source>&Open...</source> - <translation type="unfinished"></translation> + <translation>&Odpri ...</translation> </message> <message> <location line="+1"/> <source>&Save</source> - <translation type="unfinished"></translation> + <translation>&Shrani</translation> </message> <message> <location line="+1"/> <source>Save &As...</source> - <translation type="unfinished"></translation> + <translation>Shrani &kot ...</translation> </message> <message> <location line="+1"/> <source>Save A&ll</source> - <translation type="unfinished"></translation> + <translation>Shrani &vse</translation> </message> <message> <location line="+1"/> <source>Save As &Template...</source> - <translation type="unfinished"></translation> + <translation>Shrani kot &predlogo ...</translation> </message> <message> <location line="+1"/> - <location line="+896"/> + <location line="+901"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> <message> - <location line="-891"/> + <location line="-896"/> <source>View &Code...</source> - <translation type="unfinished"></translation> + <translation>Prikaži &kodo ...</translation> </message> <message> - <location line="+419"/> + <location line="+424"/> <location line="+248"/> <source>Save Form As</source> - <translation type="unfinished"></translation> + <translation>Shrani obrazec kot</translation> </message> <message> <location line="+429"/> <source>Preview failed</source> - <translation type="unfinished"></translation> + <translation>Ogled ni uspel</translation> </message> <message> <location line="-575"/> <source>Code generation failed</source> - <translation type="unfinished"></translation> + <translation>Ustvarjanje kode ni uspelo</translation> </message> <message> <location line="+328"/> <location line="+34"/> <source>Assistant</source> - <translation type="unfinished"></translation> + <translation>PomoÄnik</translation> </message> <message> <location line="+259"/> <source>Saved image %1.</source> - <translation type="unfinished"></translation> + <translation>Shranil sliko %1.</translation> </message> <message> <location line="+18"/> <source>Please close all forms to enable the loading of additional fonts.</source> - <translation type="unfinished"></translation> + <translation>Da bi omogoÄili nalaganje dodatnih pisav zaprite vse obrazce.</translation> </message> <message> <location line="+52"/> <source>Printed %1.</source> - <translation type="unfinished"></translation> + <translation>Natisnil %1.</translation> </message> <message> - <location line="-1148"/> + <location line="-1149"/> <source>ALT+CTRL+S</source> - <translation type="unfinished"></translation> + <translation>ALT+CTRL+S</translation> </message> </context> <context> @@ -1960,7 +1904,7 @@ Would you like to retry?</source> <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/> <source>Appearance</source> <extracomment>Tab in preferences dialog</extracomment> - <translation type="unfinished"></translation> + <translation>Videz</translation> </message> </context> <context> @@ -1968,17 +1912,17 @@ Would you like to retry?</source> <message> <location line="-53"/> <source>Docked Window</source> - <translation type="unfinished"></translation> + <translation>Zasidrana okna</translation> </message> <message> <location line="+1"/> <source>Multiple Top-Level Windows</source> - <translation type="unfinished"></translation> + <translation>VeÄ loÄenih oken</translation> </message> <message> <location line="+5"/> <source>Toolwindow Font</source> - <translation type="unfinished"></translation> + <translation>Pisava oken z orodji</translation> </message> </context> <context> @@ -1986,40 +1930,40 @@ Would you like to retry?</source> <message> <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="-71"/> <source>Reset control</source> - <translation type="unfinished"></translation> + <translation>Ponastavi kontrolnik</translation> </message> <message> <location line="+2"/> <source>Set control</source> - <translation type="unfinished"></translation> + <translation>Nastavi kontrolnik</translation> </message> <message> <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/> <source>Control loaded</source> - <translation type="unfinished"></translation> + <translation>Kontrolnik je naložen</translation> </message> <message> <location line="+40"/> <source>A COM exception occurred when executing a meta call of type %1, index %2 of "%3".</source> - <translation type="unfinished"></translation> + <translation>med izvajanjem meta-klica vrste %1 je priÅ¡lo do izjeme COM, indeks %2 od »%3«.</translation> </message> </context> <context> <name>QDesignerFormBuilder</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+89"/> <source>Script errors occurred:</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napak v skriptu:</translation> </message> <message> - <location line="+304"/> + <location line="+307"/> <source>The preview failed to build.</source> - <translation type="unfinished"></translation> + <translation>Grajenje ogleda ni uspelo.</translation> </message> <message> - <location line="+63"/> + <location line="+65"/> <source>Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> </context> <context> @@ -2027,147 +1971,163 @@ Would you like to retry?</source> <message> <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/> <source>%1 - %2[*]</source> - <translation type="unfinished"></translation> + <translation>%1 - %2[*]</translation> </message> <message> <location line="+10"/> <source>Save Form?</source> - <translation type="unfinished"></translation> + <translation>Shranim obrazec?</translation> </message> <message> <location line="+1"/> <source>Do you want to save the changes to this document before closing?</source> - <translation type="unfinished"></translation> + <translation>Ali želite pred zaprtjem shraniti spremembe v tem dokumentu?</translation> </message> <message> <location line="+2"/> <source>If you don't save, your changes will be lost.</source> - <translation type="unfinished"></translation> + <translation>ÄŒe ne shranite, bodo spremembe izgubljene.</translation> </message> </context> <context> <name>QDesignerMenu</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1160"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/> <source>Type Here</source> - <translation type="unfinished"></translation> + <translation>PiÅ¡ite sem</translation> </message> <message> <location line="+3"/> <source>Add Separator</source> - <translation type="unfinished"></translation> + <translation>Dodaj loÄnico</translation> </message> <message> - <location line="+372"/> + <location line="+371"/> <source>Insert separator</source> - <translation type="unfinished"></translation> + <translation>Vstavi loÄnico</translation> </message> <message> <location line="+5"/> <source>Remove separator</source> - <translation type="unfinished"></translation> + <translation>Odstrani loÄnico</translation> </message> <message> <location line="+2"/> <source>Remove action '%1'</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanje »%1«</translation> </message> <message> <location line="+25"/> - <location line="+628"/> + <location line="+650"/> <source>Add separator</source> - <translation type="unfinished"></translation> + <translation>Dodaj loÄnico</translation> </message> <message> - <location line="-326"/> + <location line="-348"/> <source>Insert action</source> - <translation type="unfinished"></translation> + <translation>Vstavi dejanje</translation> </message> </context> <context> <name>QDesignerMenuBar</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-381"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-375"/> <source>Type Here</source> - <translation type="unfinished"></translation> + <translation>PiÅ¡ite sem</translation> </message> <message> - <location line="+304"/> + <location line="+298"/> <source>Remove Menu '%1'</source> - <translation type="unfinished"></translation> + <translation>Odstrani meni »%1«</translation> </message> <message> <location line="+12"/> <source>Remove Menu Bar</source> - <translation type="unfinished"></translation> + <translation>Odstrani menijsko vrstico</translation> </message> <message> <location line="+70"/> <source>Menu</source> - <translation type="unfinished"></translation> + <translation>Meni</translation> </message> </context> <context> <name>QDesignerPluginManager</name> <message> - <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/> + <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+271"/> <source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source> - <translation type="unfinished"></translation> + <translation>Med razÄlenjevanjem datoteke XML gradnika po meri %1 je priÅ¡lo do napake XML: %2</translation> </message> <message> - <location line="+27"/> + <location line="+5"/> + <source>A required attribute ('%1') is missing.</source> + <translation>Manjka obvezna lastnost (»%1«).</translation> + </message> + <message> + <location line="+38"/> + <source>An invalid property specification ('%1') was encountered. Supported types: %2</source> + <translation>Dosežena je bila neveljavna specifikacija lastnosti (»%1«). Podprte vrste: %2</translation> + </message> + <message> + <location line="+20"/> + <source>'%1' is not a valid string property specification.</source> + <translation>»%1« ni veljavna specifikacija lastnosti z nizom.</translation> + </message> + <message> + <location line="+40"/> <source>The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>.</source> - <translation type="unfinished"></translation> + <translation>XML gradnika po meri »%1« ne vsebuje niti elementa <widget> niti <ui>.</translation> </message> <message> <location line="+12"/> <source>The class attribute for the class %1 is missing.</source> - <translation type="unfinished"></translation> + <translation>Manjka razredna lastnost za razred %1.</translation> </message> <message> <location line="+4"/> <source>The class attribute for the class %1 does not match the class name %2.</source> - <translation type="unfinished"></translation> + <translation>Razredna lastnost za razred %1 se ne ujema z razredovim imenom %2.</translation> </message> </context> <context> <name>QDesignerPropertySheet</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/> <source>Dynamic Properties</source> - <translation type="unfinished"></translation> + <translation>DinamiÄne lastnosti</translation> </message> </context> <context> <name>QDesignerResource</name> <message> - <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-246"/> + <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+492"/> <source>The layout type '%1' is not supported, defaulting to grid.</source> - <translation type="unfinished"></translation> + <translation>Vrsta razpored »%1« ni podprta, preklapljam na mrežo.</translation> </message> <message> - <location line="+342"/> + <location line="+243"/> <source>The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget.</source> - <translation type="unfinished"></translation> + <translation>Ko je bila povpraÅ¡ana po strani Å¡t. %5, je razÅ¡iritev vsebnika gradnika »%1« (%2) vrnila gradnik, s katerim ne upravlja Qt Designer »%3« (%4). +Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml() gradnika po meri.</translation> </message> <message> <location line="+599"/> <source>Unexpected element <%1></source> <extracomment>Parsing clipboard contents</extracomment> - <translation type="unfinished"></translation> + <translation>NepriÄakovan element <%1></translation> </message> <message> <location line="+6"/> <source>Error while pasting clipboard contents at line %1, column %2: %3</source> <extracomment>Parsing clipboard contents</extracomment> - <translation type="unfinished"></translation> + <translation>Napaka pri lepljenju vsebine odložiÅ¡Äa v vrstici %1, stolpcu %2: %3</translation> </message> <message> <location line="+6"/> <source>Error while pasting clipboard contents: The root element <ui> is missing.</source> <extracomment>Parsing clipboard contents</extracomment> - <translation type="unfinished"></translation> + <translation>Napaka pri lepljenju vsebine odložiÅ¡Äa: manjka vrhnji element <ui>.</translation> </message> </context> <context> @@ -2175,12 +2135,12 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/> <source>The template path %1 could not be created.</source> - <translation type="unfinished"></translation> + <translation>Poti %1 za predlogo ni bilo moÄ ustvariti.</translation> </message> <message> <location line="+184"/> <source>An error has been encountered while parsing device profile XML: %1</source> - <translation type="unfinished"></translation> + <translation>Med razÄlenjevanjem XML-a profila naprave je priÅ¡lo do napake: %1</translation> </message> </context> <context> @@ -2188,55 +2148,32 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/> <source>Property Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik lastnosti</translation> </message> <message> <location line="+54"/> <source>Action Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik dejanj</translation> </message> <message> <location line="+42"/> <source>Object Inspector</source> - <translation type="unfinished"></translation> + <translation>Preiskovalnik objektov</translation> </message> <message> <location line="+35"/> <source>Resource Browser</source> - <translation type="unfinished"></translation> + <translation>Brskalnik po virih</translation> </message> <message> <location line="+34"/> <source>Signal/Slot Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik signalov/rež</translation> </message> <message> <location line="+41"/> <source>Widget Box</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QDesignerWidgetBox</name> - <message> - <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/> - <source>An error has been encountered at line %1 of %2: %3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+139"/> - <source>Unexpected element <%1> encountered when parsing for <widget> or <ui></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+19"/> - <source>Unexpected end of file encountered when parsing widgets.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>A widget element could not be found.</source> - <translation type="unfinished"></translation> + <translation>Podokno z gradniki</translation> </message> </context> <context> @@ -2244,148 +2181,146 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/> <source>&File</source> - <translation type="unfinished"></translation> + <translation>&Datoteka</translation> </message> <message> <location line="+6"/> <source>F&orm</source> - <translation type="unfinished"></translation> + <translation>&Obrazec</translation> </message> <message> <location line="+1"/> <source>Preview in</source> - <translation type="unfinished"></translation> + <translation>Ogled v</translation> </message> <message> <location line="+8"/> <source>&Window</source> - <translation type="unfinished"></translation> + <translation>O&kno</translation> </message> <message> <location line="+2"/> <source>&Help</source> - <translation type="unfinished"></translation> + <translation>&PomoÄ</translation> </message> <message> <location line="-15"/> <source>Edit</source> - <translation type="unfinished"></translation> + <translation>Urejanje</translation> </message> <message> <location line="+38"/> <source>Toolbars</source> - <translation type="unfinished"></translation> + <translation>Orodjarne</translation> </message> <message> - <location line="+464"/> + <location line="+465"/> <source>Save Forms?</source> - <translation type="unfinished"></translation> + <translation>Shranim obrazce?</translation> </message> <message> - <location line="-493"/> + <location line="-494"/> <source>&View</source> - <translation type="unfinished"></translation> + <translation>&Videz</translation> </message> <message> <location line="+2"/> <source>&Settings</source> - <translation type="unfinished"></translation> + <translation>&Nastavitve</translation> </message> <message> - <location line="+495"/> + <location line="+204"/> + <source>Widget Box</source> + <translation>Podokno z gradniki</translation> + </message> + <message> + <location line="+292"/> <source>If you do not review your documents, all your changes will be lost.</source> - <translation type="unfinished"></translation> + <translation>ÄŒe ne pregledate svojih dokumentov, bodo vse spremembe izgubljene.</translation> </message> <message> <location line="+1"/> <source>Discard Changes</source> - <translation type="unfinished"></translation> + <translation>Zavrzi spremembe</translation> </message> <message> <location line="+2"/> <source>Review Changes</source> - <translation type="unfinished"></translation> + <translation>Pregled sprememb</translation> </message> <message> <location line="+95"/> <source>Backup Information</source> - <translation type="unfinished"></translation> + <translation>Podatki o varnostnih kopijah</translation> </message> <message> <location line="+1"/> <source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source> - <translation type="unfinished"></translation> + <translation>Zadnja seja Qt Designerja ni bila konÄana pravilno. Na disku so ostale varnostne kopije datotek. Ali jih želite naložiti?</translation> </message> <message> <location line="+111"/> <source>The file <b>%1</b> could not be opened.</source> - <translation type="unfinished"></translation> + <translation>Datoteke <b>%1</b> ni bilo moÄ odpreti.</translation> </message> <message> <location line="+46"/> - <source>The file <b>%1</b> is not a valid Designer ui file.</source> - <translation type="unfinished"></translation> + <source>The file <b>%1</b> is not a valid Designer UI file.</source> + <translation>Datoteka <b>%1</b> ni veljavna Designerjeva datoteka UI.</translation> </message> <message numerus="yes"> <location line="-259"/> <source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Odprt je %n obrazec z neshranjenimi spremembami. Ali želite pred zaprtjem pregledati te spremembe?</numerusform> + <numerusform>Odprta sta %n obrazca z neshranjenimi spremembami. Ali želite pred zaprtjem pregledati te spremembe?</numerusform> + <numerusform>Odprti so %n obrazci z neshranjenimi spremembami. Ali želite pred zaprtjem pregledati te spremembe?</numerusform> + <numerusform>Odprtih je %n obrazcev z neshranjenimi spremembami. Ali želite pred zaprtjem pregledati te spremembe?</numerusform> </translation> </message> </context> <context> <name>QFormBuilder</name> <message> - <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/> + <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+163"/> <source>An empty class name was passed on to %1 (object name: '%2').</source> <extracomment>Empty class name passed to widget factory method</extracomment> - <translation type="unfinished"></translation> + <translation>Prazno ime razreda je bilo posredovano do %1 (ime objekta: »%2«).</translation> </message> <message> <location line="+56"/> <source>QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'.</source> - <translation type="unfinished"></translation> + <translation>QFormBuilder ni mogel ustvariti gradnika po meri razreda »%1«; uporabljen je bil osnovni razred »%2«.</translation> </message> <message> <location line="+6"/> <source>QFormBuilder was unable to create a widget of the class '%1'.</source> - <translation type="unfinished"></translation> + <translation>QFormBuilder ni mogel ustvariti gradnika razreda »%1«.</translation> </message> <message> - <location line="+64"/> + <location line="+61"/> <source>The layout type `%1' is not supported.</source> - <translation type="unfinished"></translation> + <translation>Vrsta razporeda »%1« ni podprta.</translation> </message> <message> <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/> <source>The set-type property %1 could not be read.</source> - <translation type="unfinished"></translation> + <translation>Lastnosti %1 z vrsto množice ni bilo moÄ prebrati.</translation> </message> <message> <location line="+23"/> <source>The enumeration-type property %1 could not be read.</source> - <translation type="unfinished"></translation> + <translation>Lastnosti %1 z vrsto naÅ¡tevanja ni bilo moÄ prebrati.</translation> </message> <message> <location line="+190"/> <source>Reading properties of the type %1 is not supported yet.</source> - <translation type="unfinished"></translation> + <translation>Branje lastnosti vrste %1 Å¡e ni podprto.</translation> </message> <message> <location line="+266"/> <source>The property %1 could not be written. The type %2 is not supported yet.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/> - <source>The enumeration-value '%1' is invalid. The default value '%2' will be used instead.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+14"/> - <source>The flag-value '%1' is invalid. Zero will be used instead.</source> - <translation type="unfinished"></translation> + <translation>Lastnosti %1 ni bilo moÄ zapisati. Vrsta %2 Å¡e ni podprta.</translation> </message> </context> <context> @@ -2393,60 +2328,61 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/> <source>Previous Page</source> - <translation type="unfinished"></translation> + <translation>Predhodna stran</translation> </message> <message> <location line="+1"/> <source>Next Page</source> - <translation type="unfinished"></translation> + <translation>Naslednja stran</translation> </message> <message> <location line="+1"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Before Current Page</source> - <translation type="unfinished"></translation> + <translation>Pred trenutno stran</translation> </message> <message> <location line="+1"/> <source>After Current Page</source> - <translation type="unfinished"></translation> + <translation>Za trenutno stran</translation> </message> <message> <location line="+1"/> <source>Change Page Order...</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrstni red strani ...</translation> </message> <message> <location line="+72"/> <source>Change Page Order</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrstni red strani</translation> </message> <message> <location line="+49"/> <source>Page %1 of %2</source> - <translation type="unfinished"></translation> + <translation>Stran %1 od %2</translation> </message> <message> - <location line="+11"/> + <location line="+10"/> + <location line="+4"/> <source>Insert Page</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran</translation> </message> </context> <context> <name>QStackedWidgetPreviewEventFilter</name> <message> - <location line="-150"/> + <location line="-153"/> <source>Go to previous page of %1 '%2' (%3/%4).</source> - <translation type="unfinished"></translation> + <translation>Pojdi na predhodno stran od %1 »%2« (%3/%4).</translation> </message> <message> <location line="+4"/> <source>Go to next page of %1 '%2' (%3/%4).</source> - <translation type="unfinished"></translation> + <translation>Pojdi na naslednjo stran od %1 »%2« (%3/%4).</translation> </message> </context> <context> @@ -2454,27 +2390,28 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Before Current Page</source> - <translation type="unfinished"></translation> + <translation>Pred trenutno stran</translation> </message> <message> <location line="+1"/> <source>After Current Page</source> - <translation type="unfinished"></translation> + <translation>Za trenutno stran</translation> </message> <message> <location line="+283"/> <source>Page %1 of %2</source> - <translation type="unfinished"></translation> + <translation>Stran %1 od %2</translation> </message> <message> - <location line="+12"/> + <location line="+10"/> + <location line="+4"/> <source>Insert Page</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran</translation> </message> </context> <context> @@ -2482,37 +2419,37 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/> <source>Delete Page</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i stran</translation> </message> <message> <location line="+1"/> <source>Before Current Page</source> - <translation type="unfinished"></translation> + <translation>Pred trenutno stran</translation> </message> <message> <location line="+1"/> <source>After Current Page</source> - <translation type="unfinished"></translation> + <translation>Za trenutno stran</translation> </message> <message> <location line="+1"/> <source>Change Page Order...</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrsti red strani ...</translation> </message> <message> <location line="+116"/> <source>Change Page Order</source> - <translation type="unfinished"></translation> + <translation>Spremeni vrstni red strani</translation> </message> <message> <location line="+44"/> <source>Page %1 of %2</source> - <translation type="unfinished"></translation> + <translation>Stran %1 od %2</translation> </message> <message> <location line="+12"/> <source>Insert Page</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran</translation> </message> </context> <context> @@ -2522,65 +2459,65 @@ Container pages should only be added by specifying them in XML returned by the d <location line="+10"/> <location line="+25"/> <source>True</source> - <translation type="unfinished"></translation> + <translation>Pravilno</translation> </message> <message> <location line="-25"/> <location line="+25"/> <source>False</source> - <translation type="unfinished"></translation> + <translation>NapaÄno</translation> </message> </context> <context> <name>QtBoolPropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/> <source>True</source> - <translation type="unfinished"></translation> + <translation>Pravilno</translation> </message> <message> <location line="+1"/> <source>False</source> - <translation type="unfinished"></translation> + <translation>NapaÄno</translation> </message> </context> <context> <name>QtCharEdit</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/> + <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1581"/> <source>Clear Char</source> - <translation type="unfinished"></translation> + <translation>PoÄisti znak</translation> </message> </context> <context> <name>QtColorEditWidget</name> <message> - <location line="+611"/> + <location line="+605"/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> </context> <context> <name>QtColorPropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4743"/> <source>Red</source> - <translation type="unfinished"></translation> + <translation>RdeÄa</translation> </message> <message> <location line="+8"/> <source>Green</source> - <translation type="unfinished"></translation> + <translation>Zelena</translation> </message> <message> <location line="+8"/> <source>Blue</source> - <translation type="unfinished"></translation> + <translation>Modra</translation> </message> <message> <location line="+8"/> <source>Alpha</source> - <translation type="unfinished"></translation> + <translation>Alfa</translation> </message> </context> <context> @@ -2588,148 +2525,148 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-206"/> <source>Arrow</source> - <translation type="unfinished"></translation> + <translation>PuÅ¡Äica</translation> </message> <message> <location line="+2"/> <source>Up Arrow</source> - <translation type="unfinished"></translation> + <translation>PuÅ¡Äica navzgor</translation> </message> <message> <location line="+2"/> <source>Cross</source> - <translation type="unfinished"></translation> + <translation>Križec</translation> </message> <message> <location line="+2"/> <source>Wait</source> - <translation type="unfinished"></translation> + <translation>ÄŒakanje</translation> </message> <message> <location line="+2"/> <source>IBeam</source> - <translation type="unfinished"></translation> + <translation>ÄŒrtica |</translation> </message> <message> <location line="+2"/> <source>Size Vertical</source> - <translation type="unfinished"></translation> + <translation>Velikost navpiÄno</translation> </message> <message> <location line="+2"/> <source>Size Horizontal</source> - <translation type="unfinished"></translation> + <translation>Velikost vodoravno</translation> </message> <message> <location line="+2"/> <source>Size Backslash</source> - <translation type="unfinished"></translation> + <translation>Velikost poÅ¡evno nazaj</translation> </message> <message> <location line="+2"/> <source>Size Slash</source> - <translation type="unfinished"></translation> + <translation>Velikost poÅ¡evno</translation> </message> <message> <location line="+2"/> <source>Size All</source> - <translation type="unfinished"></translation> + <translation>Velikost v vse smeri</translation> </message> <message> <location line="+2"/> <source>Blank</source> - <translation type="unfinished"></translation> + <translation>Prazno</translation> </message> <message> <location line="+2"/> <source>Split Vertical</source> - <translation type="unfinished"></translation> + <translation>Razdelitev navpiÄno</translation> </message> <message> <location line="+2"/> <source>Split Horizontal</source> - <translation type="unfinished"></translation> + <translation>Razdelitev vodoravno</translation> </message> <message> <location line="+2"/> <source>Pointing Hand</source> - <translation type="unfinished"></translation> + <translation>Roka, ki kaže</translation> </message> <message> <location line="+2"/> <source>Forbidden</source> - <translation type="unfinished"></translation> + <translation>Prepovedano</translation> </message> <message> <location line="+2"/> <source>Open Hand</source> - <translation type="unfinished"></translation> + <translation>Odprta dlan</translation> </message> <message> <location line="+2"/> <source>Closed Hand</source> - <translation type="unfinished"></translation> + <translation>Zaprta dlan</translation> </message> <message> <location line="+2"/> <source>What's This</source> - <translation type="unfinished"></translation> + <translation>Kaj je to</translation> </message> <message> <location line="+2"/> <source>Busy</source> - <translation type="unfinished"></translation> + <translation>Zasedeno</translation> </message> </context> <context> <name>QtFontEditWidget</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+201"/> + <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+198"/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location line="+20"/> <source>Select Font</source> - <translation type="unfinished"></translation> + <translation>Izberite pisavo</translation> </message> </context> <context> <name>QtFontPropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-353"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-351"/> <source>Family</source> - <translation type="unfinished"></translation> + <translation>Družina</translation> </message> <message> <location line="+13"/> <source>Point Size</source> - <translation type="unfinished"></translation> + <translation>Velikost toÄke</translation> </message> <message> <location line="+8"/> <source>Bold</source> - <translation type="unfinished"></translation> + <translation>Polkrepko</translation> </message> <message> <location line="+7"/> <source>Italic</source> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> <location line="+7"/> <source>Underline</source> - <translation type="unfinished"></translation> + <translation>PodÄrtano</translation> </message> <message> <location line="+7"/> <source>Strikeout</source> - <translation type="unfinished"></translation> + <translation>PreÄrtano</translation> </message> <message> <location line="+7"/> <source>Kerning</source> - <translation type="unfinished"></translation> + <translation>Spodsekavanje</translation> </message> </context> <context> @@ -2737,320 +2674,350 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/> <source>Edit Gradient</source> - <translation type="unfinished"></translation> + <translation>Uredi preliv</translation> </message> </context> <context> <name>QtGradientEditor</name> <message> - <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/> + <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+431"/> <source>Start X</source> - <translation type="unfinished"></translation> + <translation>ZaÄetni X</translation> </message> <message> <location line="+4"/> <source>Start Y</source> - <translation type="unfinished"></translation> + <translation>ZaÄetni Y</translation> </message> <message> <location line="+4"/> <source>Final X</source> - <translation type="unfinished"></translation> + <translation>KonÄni X</translation> </message> <message> <location line="+4"/> <source>Final Y</source> - <translation type="unfinished"></translation> + <translation>KonÄni Y</translation> </message> <message> <location line="+7"/> <location line="+24"/> <source>Central X</source> - <translation type="unfinished"></translation> + <translation>SrediÅ¡Äni X</translation> </message> <message> <location line="-20"/> <location line="+24"/> <source>Central Y</source> - <translation type="unfinished"></translation> + <translation>SrediÅ¡Äni Y</translation> </message> <message> <location line="-20"/> <source>Focal X</source> - <translation type="unfinished"></translation> + <translation>ŽariÅ¡Äni X</translation> </message> <message> <location line="+4"/> <source>Focal Y</source> - <translation type="unfinished"></translation> + <translation>ŽariÅ¡Äni Y</translation> </message> <message> <location line="+4"/> <source>Radius</source> - <translation type="unfinished"></translation> + <translation>Polmer</translation> </message> <message> <location line="+16"/> <source>Angle</source> - <translation type="unfinished"></translation> + <translation>Kot</translation> + </message> + <message> + <location line="+288"/> + <source>Linear</source> + <translation>Linearen</translation> + </message> + <message> + <location line="+1"/> + <source>Radial</source> + <translation>Radialen</translation> + </message> + <message> + <location line="+1"/> + <source>Conical</source> + <translation>StožÄast</translation> + </message> + <message> + <location line="+20"/> + <source>Pad</source> + <translation>Zapolni</translation> + </message> + <message> + <location line="+1"/> + <source>Repeat</source> + <translation>Ponovi</translation> + </message> + <message> + <location line="+1"/> + <source>Reflect</source> + <translation>Odbij</translation> </message> <message> <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Gradient Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik preliva</translation> </message> <message> <location/> <source>1</source> - <translation type="unfinished"></translation> + <translation>1</translation> </message> <message> <location/> <source>2</source> - <translation type="unfinished"></translation> + <translation>2</translation> </message> <message> <location/> <source>3</source> - <translation type="unfinished"></translation> + <translation>3</translation> </message> <message> <location/> <source>4</source> - <translation type="unfinished"></translation> + <translation>4</translation> </message> <message> <location/> <source>5</source> - <translation type="unfinished"></translation> + <translation>5</translation> </message> <message> <location/> <source>Gradient Stops Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik postankov preliva</translation> </message> <message> <location/> <source>This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.</source> - <translation type="unfinished"></translation> + <translation>To obmoÄje vam omogoÄa urejanje postankov preliva. Da podvojite obstojeÄo roÄko postanka dvokliknite nanjo. Za ustvaritev novega postanka dvokliknite izven obstojeÄih roÄic postankov. Da spremenite položaj postanka povlecite in spustite njegovo roÄko. ÄŒe kliknete z desnim gumbom miÅ¡ke, se bo pojavil priroÄni meni z dodatnimi dejanji.</translation> </message> <message> <location/> <source>Zoom</source> - <translation type="unfinished"></translation> + <translation>PoveÄava</translation> </message> <message> <location/> <source>Position</source> - <translation type="unfinished"></translation> + <translation>Položaj</translation> </message> <message> <location/> <source>Hue</source> - <translation type="unfinished"></translation> + <translation>Odtenek</translation> </message> <message> <location/> <source>H</source> - <translation type="unfinished"></translation> + <translation>H</translation> </message> <message> <location/> <source>Saturation</source> - <translation type="unfinished"></translation> + <translation>ZasiÄenost</translation> </message> <message> <location/> <source>S</source> - <translation type="unfinished"></translation> + <translation>S</translation> </message> <message> <location/> <source>Sat</source> - <translation type="unfinished"></translation> + <translation>Zas.</translation> </message> <message> <location/> <source>Value</source> - <translation type="unfinished"></translation> + <translation>Vrednost</translation> </message> <message> <location/> <source>V</source> - <translation type="unfinished"></translation> + <translation>V</translation> </message> <message> <location/> <source>Val</source> - <translation type="unfinished"></translation> + <translation>Vre.</translation> </message> <message> <location/> <source>Alpha</source> - <translation type="unfinished"></translation> + <translation>Alfa</translation> </message> <message> <location/> <source>A</source> - <translation type="unfinished"></translation> + <translation>A</translation> </message> <message> <location/> <source>Type</source> - <translation type="unfinished"></translation> + <translation>Vrsta</translation> </message> <message> <location/> <source>Spread</source> - <translation type="unfinished"></translation> + <translation>RazÅ¡iritev</translation> </message> <message> <location/> <source>Color</source> - <translation type="unfinished"></translation> + <translation>Barva</translation> </message> <message> <location/> <source>Current stop's color</source> - <translation type="unfinished"></translation> + <translation>Barva trenutnega postanka</translation> </message> <message> <location/> <source>HSV</source> - <translation type="unfinished"></translation> + <translation>HSV</translation> </message> <message> <location/> <source>RGB</source> - <translation type="unfinished"></translation> + <translation>RGB</translation> </message> <message> <location/> <source>Current stop's position</source> - <translation type="unfinished"></translation> + <translation>Položaj trenutnega postanka</translation> </message> <message> <location/> <source>%</source> - <translation type="unfinished"></translation> + <translation> %</translation> </message> <message> <location/> <source>Zoom In</source> - <translation type="unfinished"></translation> + <translation>PoveÄaj</translation> </message> <message> <location/> <source>Zoom Out</source> - <translation type="unfinished"></translation> + <translation>ZmanjÅ¡aj</translation> </message> <message> <location/> <source>Toggle details extension</source> - <translation type="unfinished"></translation> + <translation>Preklopi prikaz podrobnosti</translation> </message> <message> <location/> <source>></source> - <translation type="unfinished"></translation> + <translation>></translation> </message> <message> <location/> <source>Linear Type</source> - <translation type="unfinished"></translation> + <translation>Linearna vrsta</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location/> <source>Radial Type</source> - <translation type="unfinished"></translation> + <translation>Radialna vrsta</translation> </message> <message> <location/> <source>Conical Type</source> - <translation type="unfinished"></translation> + <translation>StožÄasta vrsta</translation> </message> <message> <location/> <source>Pad Spread</source> - <translation type="unfinished"></translation> + <translation>RazÅ¡iritev z zapolnitvijo</translation> </message> <message> <location/> <source>Repeat Spread</source> - <translation type="unfinished"></translation> + <translation>RazÅ¡iritev s ponovitvijo</translation> </message> <message> <location/> <source>Reflect Spread</source> - <translation type="unfinished"></translation> + <translation>RazÅ¡iritev z odbojem</translation> </message> <message> <location/> <source>This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop.</source> - <translation type="unfinished"></translation> + <translation>To obmoÄje prikazuje ogled urejevanega preliva. OmogoÄa vam tudi urejanje parametrov, ki so specifiÄni za vrsto preliva, na primer zaÄetna in konÄna toÄka, polmer in podobno. Za to uporabite vleÄenje in spuÅ¡Äanje.</translation> </message> <message> <location/> <source>Show HSV specification</source> - <translation type="unfinished"></translation> + <translation>Prikaži specifikacijo HSV</translation> </message> <message> <location/> <source>Show RGB specification</source> - <translation type="unfinished"></translation> + <translation>Prikaži specifikacijo RGB</translation> </message> <message> <location/> <source>Reset Zoom</source> - <translation type="unfinished"></translation> + <translation>Ponastavi poveÄavo</translation> </message> </context> <context> <name>QtGradientStopsWidget</name> <message> - <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/> + <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+947"/> <source>New Stop</source> - <translation type="unfinished"></translation> + <translation>Nov postanek</translation> </message> <message> <location line="+1"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Flip All</source> - <translation type="unfinished"></translation> + <translation>Obrni vse</translation> </message> <message> <location line="+1"/> <source>Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> <message> <location line="+1"/> <source>Zoom In</source> - <translation type="unfinished"></translation> + <translation>PoveÄaj</translation> </message> <message> <location line="+1"/> <source>Zoom Out</source> - <translation type="unfinished"></translation> + <translation>ZmanjÅ¡aj</translation> </message> <message> <location line="+1"/> <source>Reset Zoom</source> - <translation type="unfinished"></translation> + <translation>Ponastavi poveÄavo</translation> </message> </context> <context> @@ -3058,55 +3025,54 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/> <source>Grad</source> - <translation type="unfinished"></translation> + <translation>Preliv</translation> </message> <message> <location line="+26"/> <source>Remove Gradient</source> - <translation type="unfinished"></translation> + <translation>Odstrani preliv</translation> </message> <message> <location line="+1"/> <source>Are you sure you want to remove the selected gradient?</source> - <translation type="unfinished"></translation> + <translation>Ali res želite odstraniti izbrani preliv?</translation> </message> <message> - <location line="+74"/> <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/> + <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+74"/> <source>New...</source> - <translation type="unfinished"></translation> + <translation>Nov ...</translation> </message> <message> - <location line="+1"/> - <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/> + <location/> + <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/> <source>Edit...</source> - <translation type="unfinished"></translation> + <translation>Urejanje ...</translation> </message> <message> - <location line="+1"/> - <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/> + <location/> + <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/> <source>Rename</source> - <translation type="unfinished"></translation> + <translation>Preimenuj</translation> </message> <message> - <location line="+1"/> - <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/> + <location/> + <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> <message> - <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/> + <location/> <source>Gradient View</source> - <translation type="unfinished"></translation> + <translation>Prikaz preliva</translation> </message> </context> <context> <name>QtGradientViewDialog</name> <message> - <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/> <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/> <source>Select Gradient</source> - <translation type="unfinished"></translation> + <translation>Izberite preliv</translation> </message> </context> <context> @@ -3114,61 +3080,61 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/> <source>Clear Shortcut</source> - <translation type="unfinished"></translation> + <translation>PoÄisti bližnjico</translation> </message> </context> <context> <name>QtLocalePropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3541"/> <source>%1, %2</source> - <translation type="unfinished"></translation> + <translation>%1, %2</translation> </message> <message> <location line="+53"/> <source>Language</source> - <translation type="unfinished"></translation> + <translation>Jezik</translation> </message> <message> <location line="+8"/> <source>Country</source> - <translation type="unfinished"></translation> + <translation>Država</translation> </message> </context> <context> <name>QtPointFPropertyManager</name> <message> - <location line="+415"/> + <location line="+411"/> <source>(%1, %2)</source> - <translation type="unfinished"></translation> + <translation>(%1, %2)</translation> </message> <message> <location line="+71"/> <source>X</source> - <translation type="unfinished"></translation> + <translation>X</translation> </message> <message> <location line="+8"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation>Y</translation> </message> </context> <context> <name>QtPointPropertyManager</name> <message> - <location line="-322"/> + <location line="-320"/> <source>(%1, %2)</source> - <translation type="unfinished"></translation> + <translation>(%1, %2)</translation> </message> <message> <location line="+37"/> <source>X</source> - <translation type="unfinished"></translation> + <translation>X</translation> </message> <message> <location line="+7"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation>Y</translation> </message> </context> <context> @@ -3176,68 +3142,68 @@ Container pages should only be added by specifying them in XML returned by the d <message> <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/> <source>[%1, %2, %3] (%4)</source> - <translation type="unfinished"></translation> + <translation>[%1, %2, %3] (%4)</translation> </message> <message> <location line="+30"/> <source>[%1, %2]</source> - <translation type="unfinished"></translation> + <translation>[%1, %2]</translation> </message> </context> <context> <name>QtRectFPropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1706"/> <source>[(%1, %2), %3 x %4]</source> - <translation type="unfinished"></translation> + <translation>[(%1, %2), %3 × %4]</translation> </message> <message> <location line="+156"/> <source>X</source> - <translation type="unfinished"></translation> + <translation>X</translation> </message> <message> <location line="+8"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation>Y</translation> </message> <message> <location line="+8"/> <source>Width</source> - <translation type="unfinished"></translation> + <translation>Å irina</translation> </message> <message> <location line="+9"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>ViÅ¡ina</translation> </message> </context> <context> <name>QtRectPropertyManager</name> <message> - <location line="-614"/> + <location line="-612"/> <source>[(%1, %2), %3 x %4]</source> - <translation type="unfinished"></translation> + <translation>[(%1, %2), %3 × %4]</translation> </message> <message> <location line="+120"/> <source>X</source> - <translation type="unfinished"></translation> + <translation>X</translation> </message> <message> <location line="+7"/> <source>Y</source> - <translation type="unfinished"></translation> + <translation>Y</translation> </message> <message> <location line="+7"/> <source>Width</source> - <translation type="unfinished"></translation> + <translation>Å irina</translation> </message> <message> <location line="+8"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>ViÅ¡ina</translation> </message> </context> <context> @@ -3246,60 +3212,61 @@ Container pages should only be added by specifying them in XML returned by the d <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/> <source>%1 already exists. Do you want to replace it?</source> - <translation type="unfinished"></translation> + <translation>%1 že obstaja. +Ali jo želite nadomestiti?</translation> </message> <message> <location line="+5"/> <source>The file does not appear to be a resource file; element '%1' was found where '%2' was expected.</source> - <translation type="unfinished"></translation> + <translation>Kot kaže datoteka ni datoteka z viri. Najden je bil element »%1«, priÄakovan pa element »%2«.</translation> </message> <message> <location line="+902"/> <source>%1 [read-only]</source> - <translation type="unfinished"></translation> + <translation>%1 [samo za branje]</translation> </message> <message> <location line="+2"/> <location line="+198"/> <source>%1 [missing]</source> - <translation type="unfinished"></translation> + <translation>%1 [manjka]</translation> </message> <message> <location line="-72"/> <source><no prefix></source> - <translation type="unfinished"></translation> + <translation><brez predpone></translation> </message> <message> <location line="+320"/> - <location line="+567"/> + <location line="+566"/> <source>New Resource File</source> - <translation type="unfinished"></translation> + <translation>Nova datoteka z viri</translation> </message> <message> - <location line="-565"/> + <location line="-564"/> <location line="+25"/> <source>Resource files (*.qrc)</source> - <translation type="unfinished"></translation> + <translation>Datoteke z viri (*.qrc)</translation> </message> <message> <location line="-2"/> <source>Import Resource File</source> - <translation type="unfinished"></translation> + <translation>Uvozi datoteko z viri</translation> </message> <message> <location line="+112"/> <source>newPrefix</source> - <translation type="unfinished"></translation> + <translation>novaPredpona</translation> </message> <message> <location line="+49"/> <source>Add Files</source> - <translation type="unfinished"></translation> + <translation>Dodaj datoteke</translation> </message> <message> <location line="+21"/> <source>Incorrect Path</source> - <translation type="unfinished"></translation> + <translation>Nepravilna pot</translation> </message> <message> <location line="+3"/> @@ -3307,59 +3274,60 @@ Do you want to replace it?</source> <location line="+212"/> <location line="+7"/> <source>Copy</source> - <translation type="unfinished"></translation> + <translation>Skopiraj</translation> </message> <message> <location line="-236"/> <source>Copy As...</source> - <translation type="unfinished"></translation> + <translation>Skopiraj kot ...</translation> </message> <message> <location line="+2"/> <source>Keep</source> - <translation type="unfinished"></translation> + <translation>Obdrži</translation> </message> <message> <location line="+2"/> <source>Skip</source> - <translation type="unfinished"></translation> + <translation>PreskoÄi</translation> </message> <message> <location line="+87"/> <source>Clone Prefix</source> - <translation type="unfinished"></translation> + <translation>Kloniraj predpono</translation> </message> <message> <location line="+1"/> <source>Enter the suffix which you want to add to the names of the cloned files. This could for example be a language extension like "_de".</source> - <translation type="unfinished"></translation> + <translation>Vnesite pripono, ki jo želite dodati imenom kloniranih datotek. +To bi, na primer, lahko bila pripona jezika kot je »_sl«.</translation> </message> <message> <location line="+113"/> <location line="+4"/> <source>Copy As</source> - <translation type="unfinished"></translation> + <translation>Skopiraj kot</translation> </message> <message> <location line="+1"/> <source><p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p></source> - <translation type="unfinished"></translation> + <translation><p>Izbrana datoteka:</p><p>%1</p><p>je izven mape trenutne datoteke z viri:</p><p>%2</p><p>Izberite drugo pot znotraj te mape.<p></translation> </message> <message> <location line="+20"/> <source>Could not overwrite %1.</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ nadomestiti %1.</translation> </message> <message> <location line="-289"/> <source><p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p></source> - <translation type="unfinished"></translation> + <translation><p><b>Opozorilo:</b> Datoteka</p><p>%1</p><p>je izven matiÄne mape trenutne datoteke z viri.</p></translation> </message> <message> <location line="+8"/> <source><p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table></source> - <translation type="unfinished"></translation> + <translation><p>Da razreÅ¡ite težavo, kliknite:</p><table><tr><th align="left">Skopiraj</th><td>da skopirate datoteko v matiÄno mapo datoteke z viri</td></tr><tr><th align="left">Skopiraj kot ...</th><td>da skopirate datoteko v podmapo matiÄne mape datoteke z viri</td></tr><tr><th align="left">Obdrži</th><td>da uporabite trenutno lokacijo</td></tr></table></translation> </message> <message> <location line="+288"/> @@ -3367,367 +3335,372 @@ This could for example be a language extension like "_de".</source> %1 to %2</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ skopirati +%1 +v +%2</translation> </message> <message> <location line="+35"/> <source>A parse error occurred at line %1, column %2 of %3: %4</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake razÄlenjevanja v vrstici %1, stolpcu %2 v %3: +%4</translation> </message> <message> <location line="+12"/> <source>Save Resource File</source> - <translation type="unfinished"></translation> + <translation>Shrani datoteko z viri</translation> </message> <message> - <location line="+35"/> + <location line="+34"/> <source>Edit Resources</source> - <translation type="unfinished"></translation> + <translation>Urejanje virov</translation> </message> <message> <location line="+35"/> <source>New...</source> - <translation type="unfinished"></translation> + <translation>Nova ...</translation> </message> <message> <location line="+2"/> <source>Open...</source> - <translation type="unfinished"></translation> + <translation>Odpri ...</translation> </message> <message> <location line="+2"/> <location line="+11"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> <message> <location line="-10"/> <location line="+11"/> <source>Move Up</source> - <translation type="unfinished"></translation> + <translation>Premakni gor</translation> </message> <message> <location line="-10"/> <location line="+11"/> <source>Move Down</source> - <translation type="unfinished"></translation> + <translation>Pomakni dol</translation> </message> <message> <location line="-9"/> <location line="+1"/> <source>Add Prefix</source> - <translation type="unfinished"></translation> + <translation>Dodaj predpono</translation> </message> <message> <location line="+1"/> <source>Add Files...</source> - <translation type="unfinished"></translation> + <translation>Dodaj datoteke ...</translation> </message> <message> <location line="+1"/> <source>Change Prefix</source> - <translation type="unfinished"></translation> + <translation>Spremeni predpono</translation> </message> <message> <location line="+1"/> <source>Change Language</source> - <translation type="unfinished"></translation> + <translation>Spremeni jezik</translation> </message> <message> <location line="+1"/> <source>Change Alias</source> - <translation type="unfinished"></translation> + <translation>Spremeni drugo ime</translation> </message> <message> <location line="+1"/> <source>Clone Prefix...</source> - <translation type="unfinished"></translation> + <translation>Kloniraj predpono ...</translation> </message> <message> <location line="+37"/> <source>Prefix / Path</source> - <translation type="unfinished"></translation> + <translation>Predpona / pot</translation> </message> <message> <location line="+1"/> <source>Language / Alias</source> - <translation type="unfinished"></translation> + <translation>Jezik / drugo ime</translation> </message> <message> - <location line="+119"/> + <location line="+117"/> <source><html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html></source> - <translation type="unfinished"></translation> + <translation><html><p><b>Opozorilo:</b> Med ponovnim nalaganjem virov je priÅ¡lo do težav:</p><pre>%1</pre></html></translation> </message> <message> <location line="+2"/> <source>Resource Warning</source> - <translation type="unfinished"></translation> + <translation>Opozorilo o virih</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui"/> <source>Dialog</source> - <translation type="unfinished"></translation> + <translation>Pogovorno okno</translation> </message> <message> <location/> <source>New File</source> - <translation type="unfinished"></translation> + <translation>Nova datoteka</translation> </message> <message> <location/> <source>N</source> - <translation type="unfinished"></translation> + <translation>N</translation> </message> <message> <location/> <source>Remove File</source> - <translation type="unfinished"></translation> + <translation>Odstrani datoteko</translation> </message> <message> <location/> <source>R</source> - <translation type="unfinished"></translation> + <translation>R</translation> </message> <message> <location/> <source>I</source> - <translation type="unfinished"></translation> + <translation>I</translation> </message> <message> <location/> <source>New Resource</source> - <translation type="unfinished"></translation> + <translation>Nov vir</translation> </message> <message> <location/> <source>A</source> - <translation type="unfinished"></translation> + <translation>A</translation> </message> <message> <location/> <source>Remove Resource or File</source> - <translation type="unfinished"></translation> + <translation>Odstrani vir ali datoteko</translation> </message> <message> - <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="-242"/> + <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="-239"/> <source>Could not write %1: %2</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zapisati %1: %2</translation> </message> <message> - <location line="+72"/> + <location line="+71"/> <source>Open Resource File</source> - <translation type="unfinished"></translation> + <translation>Odpri datoteko z viri</translation> </message> </context> <context> <name>QtResourceView</name> <message> - <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/> + <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+566"/> <source>Size: %1 x %2 %3</source> - <translation type="unfinished"></translation> + <translation>Velikost: %1 × %2 +%3</translation> </message> <message> - <location line="+18"/> + <location line="+20"/> <source>Edit Resources...</source> - <translation type="unfinished"></translation> + <translation>Urejanje virov ...</translation> </message> <message> - <location line="+5"/> + <location line="+6"/> <source>Reload</source> - <translation type="unfinished"></translation> + <translation>Znova naloži</translation> </message> <message> - <location line="+5"/> + <location line="+7"/> <source>Copy Path</source> - <translation type="unfinished"></translation> + <translation>Skopiraj pot</translation> </message> </context> <context> <name>QtResourceViewDialog</name> <message> - <location line="+247"/> + <location line="+250"/> <source>Select Resource</source> - <translation type="unfinished"></translation> + <translation>Izberite vir</translation> </message> </context> <context> <name>QtSizeFPropertyManager</name> <message> - <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/> + <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-535"/> <source>%1 x %2</source> - <translation type="unfinished"></translation> + <translation>%1 × %2</translation> </message> <message> <location line="+130"/> <source>Width</source> - <translation type="unfinished"></translation> + <translation>Å irina</translation> </message> <message> <location line="+9"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>ViÅ¡ina</translation> </message> </context> <context> <name>QtSizePolicyPropertyManager</name> <message> - <location line="+1719"/> + <location line="+1709"/> <location line="+1"/> <source><Invalid></source> - <translation type="unfinished"></translation> + <translation><neveljavno></translation> </message> <message> <location line="+1"/> <source>[%1, %2, %3, %4]</source> - <translation type="unfinished"></translation> + <translation>[%1, %2, %3, %4]</translation> </message> <message> <location line="+45"/> <source>Horizontal Policy</source> - <translation type="unfinished"></translation> + <translation>Vodoravna politika</translation> </message> <message> <location line="+9"/> <source>Vertical Policy</source> - <translation type="unfinished"></translation> + <translation>NavpiÄna politika</translation> </message> <message> <location line="+9"/> <source>Horizontal Stretch</source> - <translation type="unfinished"></translation> + <translation>Vodoravna praznina</translation> </message> <message> <location line="+8"/> <source>Vertical Stretch</source> - <translation type="unfinished"></translation> + <translation>NavpiÄna praznina</translation> </message> </context> <context> <name>QtSizePropertyManager</name> <message> - <location line="-2298"/> + <location line="-2286"/> <source>%1 x %2</source> - <translation type="unfinished"></translation> + <translation>%1 × %2</translation> </message> <message> <location line="+96"/> <source>Width</source> - <translation type="unfinished"></translation> + <translation>Å irina</translation> </message> <message> <location line="+8"/> <source>Height</source> - <translation type="unfinished"></translation> + <translation>ViÅ¡ina</translation> </message> </context> <context> <name>QtToolBarDialog</name> <message> - <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1789"/> + <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1784"/> <source>< S E P A R A T O R ></source> - <translation type="unfinished"></translation> + <translation>< L O ÄŒ I T E L J ></translation> </message> <message> <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/> <source>Customize Toolbars</source> - <translation type="unfinished"></translation> + <translation>Prilagodi orodjarne</translation> </message> <message> <location/> <source>1</source> - <translation type="unfinished"></translation> + <translation>1</translation> </message> <message> <location/> <source>Actions</source> - <translation type="unfinished"></translation> + <translation>Dejanja</translation> </message> <message> <location/> <source>Toolbars</source> - <translation type="unfinished"></translation> + <translation>Orodjarne</translation> </message> <message> <location/> <source>New</source> - <translation type="unfinished"></translation> + <translation>Novo</translation> </message> <message> <location/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> <message> <location/> <source>Rename</source> - <translation type="unfinished"></translation> + <translation>Preimenuj</translation> </message> <message> <location/> <source>Up</source> - <translation type="unfinished"></translation> + <translation>Gor</translation> </message> <message> <location/> <source><-</source> - <translation type="unfinished"></translation> + <translation><-</translation> </message> <message> <location/> <source>-></source> - <translation type="unfinished"></translation> + <translation>-></translation> </message> <message> <location/> <source>Down</source> - <translation type="unfinished"></translation> + <translation>Dol</translation> </message> <message> <location/> <source>Current Toolbar Actions</source> - <translation type="unfinished"></translation> + <translation>Trenutna dejanja v orodjarni</translation> </message> <message> - <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="-545"/> + <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="-544"/> <source>Custom Toolbar</source> - <translation type="unfinished"></translation> + <translation>Orodjarna po meri</translation> </message> <message> <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/> <source>Add new toolbar</source> - <translation type="unfinished"></translation> + <translation>Dodaj novo orodjarno</translation> </message> <message> <location/> <source>Remove selected toolbar</source> - <translation type="unfinished"></translation> + <translation>Odstrani izbrano orodjarno</translation> </message> <message> <location/> <source>Rename toolbar</source> - <translation type="unfinished"></translation> + <translation>Preimenuj orodjarno</translation> </message> <message> <location/> <source>Move action up</source> - <translation type="unfinished"></translation> + <translation>Premakni dejanje gor</translation> </message> <message> <location/> <source>Remove action from toolbar</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanje iz orodjarne</translation> </message> <message> <location/> <source>Add action to toolbar</source> - <translation type="unfinished"></translation> + <translation>Dodaj dejanje v orodjarno</translation> </message> <message> <location/> <source>Move action down</source> - <translation type="unfinished"></translation> + <translation>Premakni dejanje dol</translation> </message> </context> <context> @@ -3735,12 +3708,12 @@ to <message> <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/> <source>Property</source> - <translation type="unfinished"></translation> + <translation>Lastnost</translation> </message> <message> <location line="+1"/> <source>Value</source> - <translation type="unfinished"></translation> + <translation>Vrednost</translation> </message> </context> <context> @@ -3748,72 +3721,74 @@ to <message> <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/> <source>Add path...</source> - <translation type="unfinished"></translation> + <translation>Dodaj pot ...</translation> </message> <message> <location line="+23"/> <source>Template Exists</source> - <translation type="unfinished"></translation> + <translation>Predloga obstaja</translation> </message> <message> <location line="+1"/> <source>A template with the name %1 already exists. Do you want overwrite the template?</source> - <translation type="unfinished"></translation> + <translation>Predloga z imenom %1 že obstaja. +Ali želite nadomestiti predlogo?</translation> </message> <message> <location line="+3"/> <source>Overwrite Template</source> - <translation type="unfinished"></translation> + <translation>Nadomesti predlogo</translation> </message> <message> <location line="+7"/> <source>Open Error</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odpiranju</translation> </message> <message> <location line="+1"/> <source>There was an error opening template %1 for writing. Reason: %2</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake pri odpiranju predloge %1 za pisanje. Razlog: %2</translation> </message> <message> <location line="+13"/> <source>Write Error</source> - <translation type="unfinished"></translation> + <translation>Napaka pri pisanju</translation> </message> <message> <location line="+1"/> <source>There was an error writing the template %1 to disk. Reason: %2</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake pri pisanju predloge %1 na disk. Razlog: %2</translation> </message> <message> <location line="+27"/> <source>Pick a directory to save templates in</source> - <translation type="unfinished"></translation> + <translation>Izberite mapo za shranjevanje predlog</translation> </message> <message> <location filename="../tools/designer/src/designer/saveformastemplate.ui"/> <source>Save Form As Template</source> - <translation type="unfinished"></translation> + <translation>Shranjevanje obrazca kot predloge</translation> </message> <message> <location/> <source>&Category:</source> - <translation type="unfinished"></translation> + <translation>&Kategorija:</translation> </message> <message> <location/> <source>&Name:</source> - <translation type="unfinished"></translation> + <translation>&Ime:</translation> </message> </context> <context> <name>ScriptErrorDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/> + <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+59"/> <source>An error occurred while running the scripts for "%1": </source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake med poganjanjem skriptov za »%1«: +</translation> </message> </context> <context> @@ -3821,22 +3796,22 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui"/> <source>Go to slot</source> - <translation type="unfinished"></translation> + <translation>Pojdi na režo</translation> </message> <message> <location/> <source>Select signal</source> - <translation type="unfinished"></translation> + <translation>Izbiranje signala</translation> </message> <message> <location/> <source>signal</source> - <translation type="unfinished"></translation> + <translation>signal</translation> </message> <message> <location/> <source>class</source> - <translation type="unfinished"></translation> + <translation>razred</translation> </message> </context> <context> @@ -3844,7 +3819,7 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/> <source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source> - <translation type="unfinished"></translation> + <translation>POÅ ILJATELJ(%1), SIGNAL(%2), PREJEMNIK (%3), REŽA(%4)</translation> </message> </context> <context> @@ -3852,32 +3827,32 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui"/> <source>Signals and slots</source> - <translation type="unfinished"></translation> + <translation>Signali in reže</translation> </message> <message> <location/> <source>Slots</source> - <translation type="unfinished"></translation> + <translation>Reže</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location/> <source>Signals</source> - <translation type="unfinished"></translation> + <translation>Signali</translation> </message> <message> <location/> <source>Add</source> - <translation type="unfinished"></translation> + <translation>Dodaj</translation> </message> <message> <location/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> </context> <context> @@ -3885,12 +3860,12 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/> <source>Horizontal Spacer '%1', %2 x %3</source> - <translation type="unfinished"></translation> + <translation>Vodoravni loÄitelj »%1«, %2 x %3</translation> </message> <message> <location line="+0"/> <source>Vertical Spacer '%1', %2 x %3</source> - <translation type="unfinished"></translation> + <translation>NavpiÄni loÄitelj »%1«, %2 x %3</translation> </message> </context> <context> @@ -3899,7 +3874,7 @@ Do you want overwrite the template?</source> <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/> <source>Template Paths</source> <extracomment>Tab in preferences dialog</extracomment> - <translation type="unfinished"></translation> + <translation>Poti za predloge</translation> </message> </context> <context> @@ -3907,32 +3882,32 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/> <source>Configure Toolbars...</source> - <translation type="unfinished"></translation> + <translation>Nastavi orodjarne ...</translation> </message> <message> <location line="+15"/> <source>Window</source> - <translation type="unfinished"></translation> + <translation>Okno</translation> </message> <message> <location line="+1"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="+7"/> <source>Style</source> - <translation type="unfinished"></translation> + <translation>Slog</translation> </message> <message> <location line="+2"/> <source>Dock views</source> - <translation type="unfinished"></translation> + <translation>Podokna</translation> </message> <message> <location line="+6"/> <source>Toolbars</source> - <translation type="unfinished"></translation> + <translation>Orodjarne</translation> </message> </context> <context> @@ -3940,22 +3915,22 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/> <source><h3>%1</h3><br/><br/>Version %2</source> - <translation type="unfinished"></translation> + <translation><h3>%1</h3><br/><br/>RazliÄica %2</translation> </message> <message> <location line="+1"/> <source>Qt Designer</source> - <translation type="unfinished"></translation> + <translation>Qt Designer</translation> </message> <message> <location line="+1"/> <source><br/>Qt Designer is a graphical user interface designer for Qt applications.<br/></source> - <translation type="unfinished"></translation> + <translation><br/>Qt Designer je snovalnik grafiÄnih uporabniÅ¡kih vmesnikov za Qt programe.<br/></translation> </message> <message> - <location line="+5"/> - <source>%1<br/>%2<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> </source> - <translation type="unfinished"></translation> + <location line="+2"/> + <source>%1<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</source> + <translation>%1<br/>Avtorske pravice © 2009 Nokia Corporation in/ali njene podružnice.</translation> </message> </context> <context> @@ -3963,95 +3938,95 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/> <source>The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source> - <translation type="unfinished"></translation> + <translation>Datoteka vsebuje gradnik po meri »%1«, katerega osnovni razred (%2) se razlikuje od trenutnega vnosa v podatkovni zbirki gradnikov (%3). Podatkovna zbirka gradnikov je ostala nespremenjena.</translation> </message> </context> <context> <name>qdesigner_internal::ActionEditor</name> <message> - <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/> + <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+139"/> <source>Actions</source> - <translation type="unfinished"></translation> + <translation>Dejanja</translation> </message> <message> <location line="-16"/> <source>New...</source> - <translation type="unfinished"></translation> + <translation>Novo ...</translation> </message> <message> <location line="+7"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> - <location line="+307"/> + <location line="+313"/> <source>New action</source> - <translation type="unfinished"></translation> + <translation>Novo dejanje</translation> </message> <message> <location line="+98"/> <source>Edit action</source> - <translation type="unfinished"></translation> + <translation>Uredi dejanje</translation> </message> <message> - <location line="-411"/> + <location line="-417"/> <source>Edit...</source> - <translation type="unfinished"></translation> + <translation>Uredi ...</translation> </message> <message> <location line="+1"/> <source>Go to slot...</source> - <translation type="unfinished"></translation> + <translation>Pojdi na režo ...</translation> </message> <message> <location line="+1"/> <source>Copy</source> - <translation type="unfinished"></translation> + <translation>Skopiraj</translation> </message> <message> <location line="+1"/> <source>Cut</source> - <translation type="unfinished"></translation> + <translation>Izreži</translation> </message> <message> <location line="+1"/> <source>Paste</source> - <translation type="unfinished"></translation> + <translation>Prilepi</translation> </message> <message> <location line="+1"/> <source>Select all</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> <message> - <location line="+57"/> + <location line="+62"/> <source>Icon View</source> - <translation type="unfinished"></translation> + <translation>Prikaz ikon</translation> </message> <message> <location line="+6"/> <source>Detailed View</source> - <translation type="unfinished"></translation> + <translation>Prikaz podrobnosti</translation> </message> <message> - <location line="+412"/> + <location line="+413"/> <source>Remove actions</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanja</translation> </message> <message> <location line="+0"/> <source>Remove action '%1'</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanje »%1«</translation> </message> <message> <location line="+186"/> <source>Used In</source> - <translation type="unfinished"></translation> + <translation>Uporabljeno v</translation> </message> <message> - <location line="-607"/> + <location line="-608"/> <source>Configure Action Editor</source> - <translation type="unfinished"></translation> + <translation>Nastavi urejevalnik dejanj</translation> </message> </context> <context> @@ -4059,80 +4034,114 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+1"/> <source>Used</source> - <translation type="unfinished"></translation> + <translation>Uporabljeno</translation> </message> <message> <location line="+1"/> <source>Text</source> - <translation type="unfinished"></translation> + <translation>Besedilo</translation> </message> <message> <location line="+1"/> <source>Shortcut</source> - <translation type="unfinished"></translation> + <translation>Bližnjica</translation> </message> <message> <location line="+1"/> <source>Checkable</source> - <translation type="unfinished"></translation> + <translation>Stikalo</translation> </message> <message> <location line="+1"/> <source>ToolTip</source> - <translation type="unfinished"></translation> + <translation>Namig</translation> + </message> +</context> +<context> + <name>qdesigner_internal::BrushManagerProxy</name> + <message> + <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+219"/> + <source>The element '%1' is missing the required attribute '%2'.</source> + <translation>Elementu »%1« manjka obvezna lastnost »%2«.</translation> + </message> + <message> + <location line="+11"/> + <source>Empty brush name encountered.</source> + <translation>Doseženo je bilo prazno ime ÄopiÄa.</translation> + </message> + <message> + <location line="+10"/> + <source>An unexpected element '%1' was encountered.</source> + <translation>Dosežen je bil nepriÄakovan element »%1«.</translation> + </message> + <message> + <location line="+7"/> + <source>An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4</source> + <translation>PriÅ¡lo je do napake pri branju datoteke z definicijo ÄopiÄa »%1«, v vrstici %2 in stolpcu %3: %4</translation> + </message> + <message> + <location line="+43"/> + <source>An error occurred when reading the resource file '%1' at line %2, column %3: %4</source> + <translation>PriÅ¡lo je do napake pri branju datoteke z viri »%1«, v vrstici %2 in stolpcu %3: %4</translation> </message> </context> <context> <name>qdesigner_internal::BuddyEditor</name> <message> - <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/> + <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+261"/> <source>Add buddy</source> - <translation type="unfinished"></translation> + <translation>Dodaj kolega</translation> </message> <message> <location line="+52"/> <source>Remove buddies</source> - <translation type="unfinished"></translation> + <translation>Odstrani kolege</translation> </message> <message numerus="yes"> <location line="+24"/> <source>Remove %n buddies</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Odstrani %n kolega</numerusform> + <numerusform>Odstrani %n kolega</numerusform> + <numerusform>Odstrani %n kolege</numerusform> + <numerusform>Odstrani %n kolegov</numerusform> </translation> </message> <message numerus="yes"> <location line="+51"/> <source>Add %n buddies</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Dodaj %n kolega</numerusform> + <numerusform>Dodaj %n kolega</numerusform> + <numerusform>Dodaj %n kolege</numerusform> + <numerusform>Dodaj %n kolegov</numerusform> </translation> </message> <message> <location line="+47"/> <source>Set automatically</source> - <translation type="unfinished"></translation> + <translation>Nastavi samodejno</translation> </message> </context> <context> <name>qdesigner_internal::BuddyEditorPlugin</name> <message> - <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/> + <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+73"/> <source>Edit Buddies</source> - <translation type="unfinished"></translation> + <translation>Urejanje kolegov</translation> </message> </context> <context> <name>qdesigner_internal::BuddyEditorTool</name> <message> - <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/> + <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+56"/> <source>Edit Buddies</source> - <translation type="unfinished"></translation> + <translation>Urejanje kolegov</translation> </message> </context> <context> @@ -4140,12 +4149,12 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+7"/> <source>Select members</source> - <translation type="unfinished"></translation> + <translation>Izberi Älane</translation> </message> <message> <location line="+1"/> <source>Break</source> - <translation type="unfinished"></translation> + <translation>Razbij</translation> </message> </context> <context> @@ -4153,111 +4162,111 @@ Do you want overwrite the template?</source> <message> <location line="+121"/> <source>Assign to button group</source> - <translation type="unfinished"></translation> + <translation>Dodeli skupini gumbov</translation> </message> <message> <location line="+2"/> <source>Button group</source> - <translation type="unfinished"></translation> + <translation>Skupina gumbov</translation> </message> <message> <location line="+1"/> <source>New button group</source> - <translation type="unfinished"></translation> + <translation>Novi skupini gumbov</translation> </message> <message> <location line="+1"/> <source>Change text...</source> - <translation type="unfinished"></translation> + <translation>Spremeni besedilo ...</translation> </message> <message> <location line="+1"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Nobeni</translation> </message> <message> <location line="+101"/> <source>Button group '%1'</source> - <translation type="unfinished"></translation> + <translation>Skupina gumbov »%1«</translation> </message> </context> <context> <name>qdesigner_internal::CodeDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/> + <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+95"/> <source>Save...</source> - <translation type="unfinished"></translation> + <translation>Shrani ...</translation> </message> <message> <location line="+4"/> <source>Copy All</source> - <translation type="unfinished"></translation> + <translation>Skopiraj vse</translation> </message> <message> <location line="+5"/> <source>&Find in Text...</source> - <translation type="unfinished"></translation> + <translation>&Najdi v besedilu ...</translation> </message> <message> <location line="+75"/> <source>A temporary form file could not be created in %1.</source> - <translation type="unfinished"></translation> + <translation>ZaÄasne datoteke obrazca v %1 ni bilo moÄ ustvariti.</translation> </message> <message> <location line="+6"/> <source>The temporary form file %1 could not be written.</source> - <translation type="unfinished"></translation> + <translation>V zaÄasno datoteko obrazca %1 ni bilo moÄ pisati.</translation> </message> <message> <location line="+21"/> <source>%1 - [Code]</source> - <translation type="unfinished"></translation> + <translation>%1 - [koda]</translation> </message> <message> <location line="+23"/> <source>Save Code</source> - <translation type="unfinished"></translation> + <translation>Shrani kodo</translation> </message> <message> <location line="+0"/> <source>Header Files (*.%1)</source> - <translation type="unfinished"></translation> + <translation>Datoteke z glavo (*.%1)</translation> </message> <message> <location line="+6"/> <source>The file %1 could not be opened: %2</source> - <translation type="unfinished"></translation> + <translation>Datoteke »%1« ni bilo moÄ odpreti: %2</translation> </message> <message> <location line="+5"/> <source>The file %1 could not be written: %2</source> - <translation type="unfinished"></translation> + <translation>Datoteke »%1« ni bilo moÄ zapisati: %2</translation> </message> <message> <location line="+11"/> <source>%1 - Error</source> - <translation type="unfinished"></translation> + <translation>%1 - napaka</translation> </message> </context> <context> <name>qdesigner_internal::ColorAction</name> <message> - <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/> + <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+246"/> <source>Text Color</source> - <translation type="unfinished"></translation> + <translation>Barva besedila</translation> </message> </context> <context> <name>qdesigner_internal::ComboBoxTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/> + <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+68"/> <source>Edit Items...</source> - <translation type="unfinished"></translation> + <translation>Uredi postavke ...</translation> </message> <message> <location line="+38"/> <source>Change Combobox Contents</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje vsebine spustnega seznama</translation> </message> </context> <context> @@ -4265,7 +4274,7 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+156"/> <source>Change description...</source> - <translation type="unfinished"></translation> + <translation>Spremeni opis ...</translation> </message> </context> <context> @@ -4273,17 +4282,17 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+1313"/> <source>Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> <message> <location line="+3"/> <source>Deselect All</source> - <translation type="unfinished"></translation> + <translation>Odizberi vse</translation> </message> <message> <location line="+5"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> </context> <context> @@ -4291,95 +4300,95 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/> <source>Sender</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡iljatelj</translation> </message> <message> <location line="+1"/> <source>Signal</source> - <translation type="unfinished"></translation> + <translation>Signal</translation> </message> <message> <location line="+1"/> <source>Receiver</source> - <translation type="unfinished"></translation> + <translation>Prejemnik</translation> </message> <message> <location line="+1"/> <source>Slot</source> - <translation type="unfinished"></translation> + <translation>Reža</translation> </message> <message> <location line="+90"/> <source><sender></source> - <translation type="unfinished"></translation> + <translation><poÅ¡iljatelj></translation> </message> <message> <location line="+1"/> <source><signal></source> - <translation type="unfinished"></translation> + <translation><signal></translation> </message> <message> <location line="+1"/> <source><receiver></source> - <translation type="unfinished"></translation> + <translation><prejemnik></translation> </message> <message> <location line="+1"/> <source><slot></source> - <translation type="unfinished"></translation> + <translation><reža></translation> </message> <message> <location line="+110"/> <source>Signal and Slot Editor</source> - <translation type="unfinished"></translation> + <translation>Urejevalnik signalov in rež</translation> </message> <message> <location line="-2"/> <source>The connection already exists!<br>%1</source> - <translation type="unfinished"></translation> + <translation>Povezava že obstaja!<br>%1</translation> </message> </context> <context> <name>qdesigner_internal::ContainerWidgetTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/> + <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+107"/> <source>Insert Page Before Current Page</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran pred trenutno stran</translation> </message> <message> <location line="+4"/> <source>Insert Page After Current Page</source> - <translation type="unfinished"></translation> + <translation>Vstavi stran za trenutno stran</translation> </message> <message> <location line="+8"/> <source>Add Subwindow</source> - <translation type="unfinished"></translation> + <translation>Dodaj podokno</translation> </message> <message> <location line="-40"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> <location line="+25"/> <source>Insert</source> - <translation type="unfinished"></translation> + <translation>Vstavi</translation> </message> <message> <location line="+53"/> <source>Subwindow</source> - <translation type="unfinished"></translation> + <translation>Podokno</translation> </message> <message> <location line="+2"/> <source>Page</source> - <translation type="unfinished"></translation> + <translation>Stran %1</translation> </message> <message> <location line="+1"/> <source>Page %1 of %2</source> - <translation type="unfinished"></translation> + <translation>Stran %1 od %2</translation> </message> </context> <context> @@ -4388,143 +4397,146 @@ Do you want overwrite the template?</source> <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+27"/> <source>System (%1 x %2)</source> <extracomment>System resolution</extracomment> - <translation type="unfinished"></translation> + <translation>Sistemska (%1 x %2)</translation> </message> <message> <location line="+7"/> <source>User defined</source> - <translation type="unfinished"></translation> + <translation>UporabniÅ¡ko doloÄena</translation> </message> <message> <location line="+18"/> <source> x </source> <extracomment>DPI X/Y separator</extracomment> - <translation type="unfinished"></translation> + <translation> x </translation> </message> </context> <context> <name>qdesigner_internal::DesignerPropertyManager</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/> + <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+647"/> <location line="+6"/> <source>AlignLeft</source> - <translation type="unfinished"></translation> + <translation>Poravnaj levo</translation> </message> <message> <location line="-5"/> <source>AlignHCenter</source> - <translation type="unfinished"></translation> + <translation>Poravnaj sredinsko (vodoravno)</translation> </message> <message> <location line="+1"/> <source>AlignRight</source> - <translation type="unfinished"></translation> + <translation>Poravnaj desno</translation> </message> <message> <location line="+1"/> <source>AlignJustify</source> - <translation type="unfinished"></translation> + <translation>Poravnaj obojestransko</translation> </message> <message> <location line="+9"/> <source>AlignTop</source> - <translation type="unfinished"></translation> + <translation>Poravnaj na vrh</translation> </message> <message> <location line="+1"/> <location line="+4"/> <source>AlignVCenter</source> - <translation type="unfinished"></translation> + <translation>Poravnaj sredinsko (navpiÄno)</translation> </message> <message> <location line="-3"/> <source>AlignBottom</source> - <translation type="unfinished"></translation> + <translation>Poravnaj na dno</translation> </message> <message> <location line="+565"/> <source>%1, %2</source> - <translation type="unfinished"></translation> + <translation>%1, %2</translation> </message> <message numerus="yes"> <location line="+6"/> <source>Customized (%n roles)</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Po meri (%n vloga)</numerusform> + <numerusform>Po meri (%n vlogi)</numerusform> + <numerusform>Po meri (%n vloge)</numerusform> + <numerusform>Po meri (%n vlog)</numerusform> </translation> </message> <message> <location line="+1"/> <source>Inherited</source> - <translation type="unfinished"></translation> + <translation>Podedovano</translation> </message> <message> <location line="+566"/> <source>Horizontal</source> - <translation type="unfinished"></translation> + <translation>Vodoravno</translation> </message> <message> <location line="+9"/> <source>Vertical</source> - <translation type="unfinished"></translation> + <translation>NavpiÄno</translation> </message> <message> <location line="+15"/> <source>Normal Off</source> - <translation type="unfinished"></translation> + <translation>Normalna in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Normal On</source> - <translation type="unfinished"></translation> + <translation>Normalna in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Disabled Off</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄena in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Disabled On</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄena in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Active Off</source> - <translation type="unfinished"></translation> + <translation>Aktivna in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Active On</source> - <translation type="unfinished"></translation> + <translation>Aktivna in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Selected Off</source> - <translation type="unfinished"></translation> + <translation>Izbrana in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Selected On</source> - <translation type="unfinished"></translation> + <translation>Izbrana in vkljuÄena</translation> </message> <message> <location line="+7"/> <location line="+21"/> <source>translatable</source> - <translation type="unfinished"></translation> + <translation>prevedljivo</translation> </message> <message> <location line="-15"/> <location line="+21"/> <source>disambiguation</source> - <translation type="unfinished"></translation> + <translation>razloÄitev</translation> </message> <message> <location line="-15"/> <location line="+21"/> <source>comment</source> - <translation type="unfinished"></translation> + <translation>komentar</translation> </message> </context> <context> @@ -4532,48 +4544,48 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/> <source>Device Profiles (*.%1)</source> - <translation type="unfinished"></translation> + <translation>Profili naprav (*.%1)</translation> </message> <message> <location line="+31"/> <source>Default</source> - <translation type="unfinished"></translation> + <translation>Privzeti</translation> </message> <message> <location line="+67"/> <source>Save Profile</source> - <translation type="unfinished"></translation> + <translation>Shrani profil</translation> </message> <message> <location line="+10"/> <source>Save Profile - Error</source> - <translation type="unfinished"></translation> + <translation>Shranjevanje profila - napaka</translation> </message> <message> <location line="+0"/> <source>Unable to open the file '%1' for writing: %2</source> - <translation type="unfinished"></translation> + <translation>Datoteke »%1« ni moÄ odpreti za pisanje: %2</translation> </message> <message> <location line="+8"/> <source>Open profile</source> - <translation type="unfinished"></translation> + <translation>Odpri profil</translation> </message> <message> <location line="+6"/> <location line="+6"/> <source>Open Profile - Error</source> - <translation type="unfinished"></translation> + <translation>Odpiranje profila - napaka</translation> </message> <message> <location line="-6"/> <source>Unable to open the file '%1' for reading: %2</source> - <translation type="unfinished"></translation> + <translation>Datoteke »%1« ni moÄ odpreti za branje: %2</translation> </message> <message> <location line="+6"/> <source>'%1' is not a valid profile: %2</source> - <translation type="unfinished"></translation> + <translation>»%1« ni veljaven profil: %2</translation> </message> </context> <context> @@ -4581,57 +4593,57 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui"/> <source>Dialog</source> - <translation type="unfinished"></translation> + <translation>PogovornoOkno</translation> </message> <message> <location/> <source>StringList</source> - <translation type="unfinished"></translation> + <translation>SeznamNizov</translation> </message> <message> <location/> <source>New String</source> - <translation type="unfinished"></translation> + <translation>Nov niz</translation> </message> <message> <location/> <source>&New</source> - <translation type="unfinished"></translation> + <translation>&Nov</translation> </message> <message> <location/> <source>Delete String</source> - <translation type="unfinished"></translation> + <translation>Z&briÅ¡i niz</translation> </message> <message> <location/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&ZbriÅ¡i</translation> </message> <message> <location/> <source>&Value:</source> - <translation type="unfinished"></translation> + <translation>&Vrednost:</translation> </message> <message> <location/> <source>Move String Up</source> - <translation type="unfinished"></translation> + <translation>Premakni niz gor</translation> </message> <message> <location/> <source>Up</source> - <translation type="unfinished"></translation> + <translation>Gor</translation> </message> <message> <location/> <source>Move String Down</source> - <translation type="unfinished"></translation> + <translation>Premakni niz dol</translation> </message> <message> <location/> <source>Down</source> - <translation type="unfinished"></translation> + <translation>Dol</translation> </message> </context> <context> @@ -4639,52 +4651,52 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-260"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Noben</translation> </message> <message> <location line="+4"/> <source>Add a profile</source> - <translation type="unfinished"></translation> + <translation>Dodaj profil</translation> </message> <message> <location line="+6"/> <source>Edit the selected profile</source> - <translation type="unfinished"></translation> + <translation>Uredi izbrani profil</translation> </message> <message> <location line="+4"/> <source>Delete the selected profile</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i izbrani profil</translation> </message> <message> <location line="+22"/> <source>Add Profile</source> - <translation type="unfinished"></translation> + <translation>Dodaj profil</translation> </message> <message> <location line="+7"/> <source>New profile</source> - <translation type="unfinished"></translation> + <translation>Nov profil</translation> </message> <message> <location line="+35"/> <source>Edit Profile</source> - <translation type="unfinished"></translation> + <translation>Uredi profil</translation> </message> <message> <location line="+26"/> <source>Delete Profile</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i profil</translation> </message> <message> <location line="+1"/> <source>Would you like to delete the profile '%1'?</source> - <translation type="unfinished"></translation> + <translation>Ali želite zbrisati profil »%1«?</translation> </message> <message> <location line="+55"/> <source>Default</source> - <translation type="unfinished"></translation> + <translation>Privzeti</translation> </message> </context> <context> @@ -4692,7 +4704,7 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/> <source><Filter></source> - <translation type="unfinished"></translation> + <translation><filter></translation> </message> </context> <context> @@ -4700,12 +4712,12 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/> <source>Resource File Changed</source> - <translation type="unfinished"></translation> + <translation>Datoteka z viri je bila spremenjena</translation> </message> <message> <location line="+1"/> <source>The file "%1" has changed outside Designer. Do you want to reload it?</source> - <translation type="unfinished"></translation> + <translation>Datoteka »%1« je bila spremenjena izven Qt Designerja. Ali jo želite naložiti znova?</translation> </message> </context> <context> @@ -4713,7 +4725,7 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+24"/> <source>Add form layout row...</source> - <translation type="unfinished"></translation> + <translation>Dodaj vrstico razporeditve na obrazcu ...</translation> </message> </context> <context> @@ -4721,307 +4733,313 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/> <source>Edit contents</source> - <translation type="unfinished"></translation> + <translation>Uredi vsebino</translation> </message> <message> <location line="+1"/> <source>F2</source> - <translation type="unfinished"></translation> + <translation>F2</translation> </message> <message> <location line="+841"/> <source>Resize</source> - <translation type="unfinished"></translation> + <translation>Spremeni velikost</translation> </message> <message> <location line="+218"/> <location line="+15"/> <source>Key Move</source> - <translation type="unfinished"></translation> + <translation>Premik s tipko</translation> </message> <message> <location line="+270"/> <source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prilepiti gradnikov. Qt Designer ni mogel najti vsebnika brez razporeditve, v katerega bi prilepil.</translation> </message> <message> <location line="+2"/> <source>Break the layout of the container you want to paste into, select this container and then paste again.</source> - <translation type="unfinished"></translation> + <translation>Razbijte razporeditev za vsebnik, v katerega želite prilepiti, nato izberite vsebnik in prilepite znova.</translation> </message> <message> <location line="+4"/> <source>Paste error</source> - <translation type="unfinished"></translation> + <translation>Napaka prilepljanja</translation> </message> <message> - <location line="+442"/> + <location line="+445"/> <source>Lay out</source> - <translation type="unfinished"></translation> + <translation>Razporedi</translation> </message> <message> <location line="+493"/> <location line="+55"/> <source>Drop widget</source> - <translation type="unfinished"></translation> + <translation>Spusti gradnik</translation> </message> <message numerus="yes"> - <location line="-1055"/> + <location line="-1058"/> <source>Paste %n action(s)</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Prilepi %n dejanje</numerusform> + <numerusform>Prilepi %n dejanji</numerusform> + <numerusform>Prilepi %n dejanja</numerusform> + <numerusform>Prilepi %n dejanj</numerusform> </translation> </message> <message> <location line="-511"/> <source>Insert widget '%1'</source> - <translation type="unfinished"></translation> + <translation>Vstavi gradnik »%1«</translation> </message> <message numerus="yes"> <location line="+513"/> <source>Paste %n widget(s)</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Prilepi %n gradnik</numerusform> + <numerusform>Prilepi %n gradnika</numerusform> + <numerusform>Prilepi %n gradnike</numerusform> + <numerusform>Prilepi %n gradnikov</numerusform> </translation> </message> <message> <location line="+1"/> <source>Paste (%1 widgets, %2 actions)</source> - <translation type="unfinished"></translation> + <translation>Prilepi (gradnikov: %1, dejanj: %2)</translation> </message> <message> - <location line="+463"/> + <location line="+466"/> <source>Select Ancestor</source> - <translation type="unfinished"></translation> + <translation>Izberi predhodnika</translation> </message> <message> <location line="+576"/> <source>A QMainWindow-based form does not contain a central widget.</source> - <translation type="unfinished"></translation> + <translation>Obrazec temeljeÄ na QMainWindow ne vsebuje osrednjega gradnika.</translation> </message> <message> - <location line="-794"/> + <location line="-797"/> <source>Raise widgets</source> - <translation type="unfinished"></translation> + <translation>Dvigni gradnike</translation> </message> <message> <location line="+17"/> <source>Lower widgets</source> - <translation type="unfinished"></translation> + <translation>Spusti gradnike</translation> </message> </context> <context> <name>qdesigner_internal::FormWindowBase</name> <message> - <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/> + <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+393"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i</translation> </message> <message> <location line="+0"/> <source>Delete '%1'</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i »%1«</translation> </message> </context> <context> <name>qdesigner_internal::FormWindowManager</name> <message> - <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/> + <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+364"/> <source>Cu&t</source> - <translation type="unfinished"></translation> + <translation>&Izreži</translation> </message> <message> <location line="+3"/> <source>Cuts the selected widgets and puts them on the clipboard</source> - <translation type="unfinished"></translation> + <translation>Izreže izbrane gradnike in jih odloži na odložiÅ¡Äe</translation> </message> <message> <location line="+5"/> <source>&Copy</source> - <translation type="unfinished"></translation> + <translation>S&kopiraj</translation> </message> <message> <location line="+3"/> <source>Copies the selected widgets to the clipboard</source> - <translation type="unfinished"></translation> + <translation>Skopira izbrane gradnike na odložiÅ¡Äe</translation> </message> <message> <location line="+5"/> <source>&Paste</source> - <translation type="unfinished"></translation> + <translation>Pri&lepi</translation> </message> <message> <location line="+3"/> <source>Pastes the clipboard's contents</source> - <translation type="unfinished"></translation> + <translation>Prilepi vsebino odložiÅ¡Äa</translation> </message> <message> <location line="+5"/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&ZbriÅ¡i</translation> </message> <message> <location line="+2"/> <source>Deletes the selected widgets</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡e izbrane gradnike</translation> </message> <message> <location line="+5"/> <source>Select &All</source> - <translation type="unfinished"></translation> + <translation>Izberi &vse</translation> </message> <message> <location line="+3"/> <source>Selects all widgets</source> - <translation type="unfinished"></translation> + <translation>Izbere vse gradnike</translation> </message> <message> <location line="+5"/> <source>Bring to &Front</source> - <translation type="unfinished"></translation> + <translation>Prinesi v o&spredje</translation> </message> <message> <location line="+3"/> <location line="+1"/> <source>Raises the selected widgets</source> - <translation type="unfinished"></translation> + <translation>Dvigne izbrane gradnike</translation> </message> <message> <location line="+4"/> <source>Send to &Back</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡lji v &ozadje</translation> </message> <message> <location line="+3"/> <location line="+1"/> <source>Lowers the selected widgets</source> - <translation type="unfinished"></translation> + <translation>Spusti izbrane gradnike</translation> </message> <message> <location line="+4"/> <source>Adjust &Size</source> - <translation type="unfinished"></translation> + <translation>Prilagodi ve&likost</translation> </message> <message> <location line="+3"/> <source>Adjusts the size of the selected widget</source> - <translation type="unfinished"></translation> + <translation>Prilagodi velikost izbranega gradnika</translation> </message> <message> <location line="+6"/> <source>Lay Out &Horizontally</source> - <translation type="unfinished"></translation> + <translation>Razporedi &vodoravno</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets horizontally</source> - <translation type="unfinished"></translation> + <translation>Izbrane gradnike razporedi vodoravno</translation> </message> <message> <location line="+6"/> <source>Lay Out &Vertically</source> - <translation type="unfinished"></translation> + <translation>Razporedi &navpiÄno</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets vertically</source> - <translation type="unfinished"></translation> + <translation>Izbrane gradnike razporedi navpiÄno</translation> </message> <message> - <location line="+16"/> + <location line="+17"/> <source>Lay Out in a &Grid</source> - <translation type="unfinished"></translation> + <translation>Razporedi v &mrežo</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets in a grid</source> - <translation type="unfinished"></translation> + <translation>Razporedi izbrane gradnike v mrežo</translation> </message> <message> <location line="+7"/> <source>Lay Out Horizontally in S&plitter</source> - <translation type="unfinished"></translation> + <translation>Razporedi vodoravno v ra&zdelilnik</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets horizontally in a splitter</source> - <translation type="unfinished"></translation> + <translation>Izbrane gradnike razporedi vodoravno v razdelilnik</translation> </message> <message> <location line="+7"/> <source>Lay Out Vertically in Sp&litter</source> - <translation type="unfinished"></translation> + <translation>Razporedi navpiÄno v raz&delilnik</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets vertically in a splitter</source> - <translation type="unfinished"></translation> + <translation>Izbrane gradnike razporedi navpiÄno v razdelilnik</translation> </message> <message> <location line="+7"/> <source>&Break Layout</source> - <translation type="unfinished"></translation> + <translation>&Razbij razporeditev</translation> </message> <message> <location line="+3"/> <source>Breaks the selected layout</source> - <translation type="unfinished"></translation> + <translation>Razbij izbrano razporeditev</translation> </message> <message> <location line="+13"/> <source>&Preview...</source> - <translation type="unfinished"></translation> + <translation>Prikaži &ogled ...</translation> </message> <message> <location line="+2"/> <source>Preview current form</source> - <translation type="unfinished"></translation> + <translation>Prikaže ogled trenutnega obrazca</translation> </message> <message> - <location line="+14"/> + <location line="+15"/> <source>Form &Settings...</source> - <translation type="unfinished"></translation> + <translation>&Nastavi obrazec ...</translation> </message> <message> - <location line="+78"/> + <location line="+92"/> <source>Break Layout</source> - <translation type="unfinished"></translation> + <translation>Razbij razporeditev</translation> </message> <message> <location line="+26"/> <source>Adjust Size</source> - <translation type="unfinished"></translation> + <translation>Prilagodi velikost</translation> </message> <message> <location line="+43"/> <source>Could not create form preview</source> <comment>Title of warning message box</comment> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ ustvariti ogleda obrazca</translation> </message> <message> <location line="+341"/> <source>Form Settings - %1</source> - <translation type="unfinished"></translation> + <translation>Nastavitve obrazca - %1</translation> </message> <message> - <location line="-510"/> + <location line="-525"/> <source>Removes empty columns and rows</source> - <translation type="unfinished"></translation> + <translation>Odstrani prazne stolpce in vrstice</translation> </message> <message> <location line="-50"/> <source>Lay Out in a &Form Layout</source> - <translation type="unfinished"></translation> + <translation>Razporedi v razporeditev na &obrazcu</translation> </message> <message> <location line="+3"/> <source>Lays out the selected widgets in a form layout</source> - <translation type="unfinished"></translation> + <translation>Razporedi izbrane gradnike v razporeditev na obrazcu</translation> </message> <message> <location line="+45"/> <source>Si&mplify Grid Layout</source> - <translation type="unfinished"></translation> + <translation>Po&enostavi razporeditev v mrežo</translation> </message> </context> <context> @@ -5029,12 +5047,12 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Noben</translation> </message> <message> <location line="+1"/> <source>Device Profile: %1</source> - <translation type="unfinished"></translation> + <translation>Profil naprave: %1</translation> </message> </context> <context> @@ -5042,45 +5060,45 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/gridpanel.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Grid</source> - <translation type="unfinished"></translation> + <translation>Mreža</translation> </message> <message> <location/> <source>Visible</source> - <translation type="unfinished"></translation> + <translation>Vidna</translation> </message> <message> <location/> <source>Grid &X</source> - <translation type="unfinished"></translation> + <translation>Mreža &X</translation> </message> <message> <location/> <source>Snap</source> - <translation type="unfinished"></translation> + <translation>Pripni</translation> </message> <message> <location/> <source>Reset</source> - <translation type="unfinished"></translation> + <translation>Ponastavi</translation> </message> <message> <location/> <source>Grid &Y</source> - <translation type="unfinished"></translation> + <translation>Mreža &Y</translation> </message> </context> <context> <name>qdesigner_internal::GroupBoxTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/> + <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+82"/> <source>Change title...</source> - <translation type="unfinished"></translation> + <translation>Spremeni naslov ...</translation> </message> </context> <context> @@ -5088,100 +5106,100 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="-58"/> <source>Insert HTML entity</source> - <translation type="unfinished"></translation> + <translation>Vstavi entiteto HTML</translation> </message> </context> <context> <name>qdesigner_internal::IconSelector</name> <message> - <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/> + <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-24"/> <source>The pixmap file '%1' cannot be read.</source> - <translation type="unfinished"></translation> + <translation>Datoteke s sliÄico »%1« ni moÄ prebrati.</translation> </message> <message> <location line="+6"/> <source>The file '%1' does not appear to be a valid pixmap file: %2</source> - <translation type="unfinished"></translation> + <translation>Kot kaže »%1« ni veljavna datoteka s sliÄico: %2</translation> </message> <message> <location line="+9"/> <source>The file '%1' could not be read: %2</source> - <translation type="unfinished"></translation> + <translation>Datoteke »%1« ni bilo moÄ prebrati: %2</translation> </message> <message> <location line="+40"/> <source>Pixmap Read Error</source> - <translation type="unfinished"></translation> + <translation>Napaka pri branju sliÄice</translation> </message> <message> - <location line="+55"/> + <location line="+54"/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location line="+6"/> <source>Normal Off</source> - <translation type="unfinished"></translation> + <translation>Normalna in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Normal On</source> - <translation type="unfinished"></translation> + <translation>Normalna in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Disabled Off</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄena in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Disabled On</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄena in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Active Off</source> - <translation type="unfinished"></translation> + <translation>Aktivna in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Active On</source> - <translation type="unfinished"></translation> + <translation>Aktivna in vkljuÄena</translation> </message> <message> <location line="+1"/> <source>Selected Off</source> - <translation type="unfinished"></translation> + <translation>Izbrana in izkljuÄena</translation> </message> <message> <location line="+1"/> <source>Selected On</source> - <translation type="unfinished"></translation> + <translation>Izbrana in vkljuÄena</translation> </message> <message> <location line="+8"/> <source>Choose Resource...</source> - <translation type="unfinished"></translation> + <translation>Izberi vir ...</translation> </message> <message> <location line="+1"/> <source>Choose File...</source> - <translation type="unfinished"></translation> + <translation>Izberi datoteko ...</translation> </message> <message> <location line="+1"/> <source>Reset</source> - <translation type="unfinished"></translation> + <translation>Ponastavi</translation> </message> <message> <location line="+1"/> <source>Reset All</source> - <translation type="unfinished"></translation> + <translation>Ponastavi vse</translation> </message> <message> - <location line="-86"/> + <location line="-85"/> <source>Choose a Pixmap</source> - <translation type="unfinished"></translation> + <translation>Izbiranje sliÄice</translation> </message> </context> <context> @@ -5189,110 +5207,118 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/> <source>Properties &<<</source> - <translation type="unfinished"></translation> + <translation>Lastnosti &<<</translation> </message> <message> - <location line="+2"/> <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/> + <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+2"/> <source>Properties &>></source> - <translation type="unfinished"></translation> + <translation>Lastnosti &>></translation> </message> <message> - <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/> + <location/> <source>Items List</source> - <translation type="unfinished"></translation> + <translation>Seznam postavk</translation> </message> <message> <location/> <source>New Item</source> - <translation type="unfinished"></translation> + <translation>Nova postavka</translation> </message> <message> <location/> <source>&New</source> - <translation type="unfinished"></translation> + <translation>&Nova</translation> </message> <message> <location/> <source>Delete Item</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i postavko</translation> </message> <message> <location/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&ZbriÅ¡i</translation> </message> <message> <location/> <source>Move Item Up</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko gor</translation> </message> <message> <location/> <source>U</source> - <translation type="unfinished"></translation> + <translation>G</translation> </message> <message> <location/> <source>Move Item Down</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko dol</translation> </message> <message> <location/> <source>D</source> - <translation type="unfinished"></translation> + <translation>D</translation> </message> </context> <context> <name>qdesigner_internal::LabelTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/> + <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+85"/> <source>Change rich text...</source> - <translation type="unfinished"></translation> + <translation>Spremeni bogato besedilo ...</translation> </message> <message> <location line="+1"/> <source>Change plain text...</source> - <translation type="unfinished"></translation> + <translation>Spremeni navadno besedilo ...</translation> + </message> +</context> +<context> + <name>qdesigner_internal::LanguageResourceDialog</name> + <message> + <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-258"/> + <source>Choose Resource</source> + <translation>Izberite vir</translation> </message> </context> <context> <name>qdesigner_internal::LineEditTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/> + <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+80"/> <source>Change text...</source> - <translation type="unfinished"></translation> + <translation>Spremeni besedilo ...</translation> </message> </context> <context> <name>qdesigner_internal::ListWidgetEditor</name> <message> - <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+105"/> + <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+101"/> <source>Edit List Widget</source> - <translation type="unfinished"></translation> + <translation>Urejanje gradnika s seznamom</translation> </message> <message> <location line="+19"/> <source>Edit Combobox</source> - <translation type="unfinished"></translation> + <translation>Urejanje spustnega seznama</translation> </message> <message> <location line="-51"/> <source>New Item</source> - <translation type="unfinished"></translation> + <translation>Nova postavka</translation> </message> </context> <context> <name>qdesigner_internal::ListWidgetTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/> + <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+67"/> <source>Edit Items...</source> - <translation type="unfinished"></translation> + <translation>Uredi postavke ...</translation> </message> <message> <location line="+38"/> <source>Change List Contents</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje vsebine seznama</translation> </message> </context> <context> @@ -5300,30 +5326,30 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+118"/> <source>Next Subwindow</source> - <translation type="unfinished"></translation> + <translation>Naslednje podokno</translation> </message> <message> <location line="+1"/> <source>Previous Subwindow</source> - <translation type="unfinished"></translation> + <translation>Predhodno podokno</translation> </message> <message> <location line="+1"/> <source>Tile</source> - <translation type="unfinished"></translation> + <translation>Tlakuj</translation> </message> <message> <location line="+1"/> <source>Cascade</source> - <translation type="unfinished"></translation> + <translation>V kaskado</translation> </message> </context> <context> <name>qdesigner_internal::MenuTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/> + <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+56"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> </context> <context> @@ -5331,7 +5357,7 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+264"/> <source>Morph into</source> - <translation type="unfinished"></translation> + <translation>Pretvori v</translation> </message> </context> <context> @@ -5339,42 +5365,42 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/lib/shared/newactiondialog.ui"/> <source>New Action...</source> - <translation type="unfinished"></translation> + <translation>Novo dejanje ...</translation> </message> <message> <location/> <source>&Text:</source> - <translation type="unfinished"></translation> + <translation>&Besedilo:</translation> </message> <message> <location/> <source>&Icon:</source> - <translation type="unfinished"></translation> + <translation>&Ikona:</translation> </message> <message> <location/> <source>Shortcut:</source> - <translation type="unfinished"></translation> + <translation>Bližnjica:</translation> </message> <message> <location/> <source>Checkable:</source> - <translation type="unfinished"></translation> + <translation>Stikalo:</translation> </message> <message> <location/> <source>ToolTip:</source> - <translation type="unfinished"></translation> + <translation>Namig:</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> <message> <location/> <source>Object &name:</source> - <translation type="unfinished"></translation> + <translation>&Ime objekta:</translation> </message> </context> <context> @@ -5382,164 +5408,169 @@ Do you want overwrite the template?</source> <message> <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/> <source>Set Property Name</source> - <translation type="unfinished"></translation> + <translation>Nastavi ime lastnosti</translation> </message> <message> <location line="+11"/> <source>The current object already has a property named '%1'. Please select another, unique one.</source> - <translation type="unfinished"></translation> + <translation>Trenutni objekt že ima lastnost z imenom »%1«.Izberite drugo, edinstveno ime</translation> </message> <message> <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/> <source>Create Dynamic Property</source> - <translation type="unfinished"></translation> + <translation>Ustvari dinamiÄno lastnost</translation> </message> <message> <location/> <source>Property Name</source> - <translation type="unfinished"></translation> + <translation>Ime lastnosti</translation> </message> <message> <location/> <source>Property Type</source> - <translation type="unfinished"></translation> + <translation>Vrsta lastnosti</translation> </message> <message> <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+4"/> <source>The '_q_' prefix is reserved for the Qt library. Please select another name.</source> - <translation type="unfinished"></translation> + <translation>Predpona »_q_« je rezervirana za knjižnico Qt.Izberite drugo ime.</translation> </message> <message> <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/> <source>horizontalSpacer</source> - <translation type="unfinished"></translation> + <translation>vodoravnaPraznina</translation> </message> </context> <context> <name>qdesigner_internal::NewFormWidget</name> <message> - <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="-391"/> + <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+104"/> <source>Default size</source> - <translation type="unfinished"></translation> + <translation>Privzeta velikost</translation> </message> <message> <location line="+1"/> <source>QVGA portrait (240x320)</source> - <translation type="unfinished"></translation> + <translation>QVGA, pokonÄno (240x320)</translation> </message> <message> <location line="+1"/> <source>QVGA landscape (320x240)</source> - <translation type="unfinished"></translation> + <translation>QVGA, ležeÄe (320x240)</translation> </message> <message> <location line="+1"/> <source>VGA portrait (480x640)</source> - <translation type="unfinished"></translation> + <translation>VGA, pokonÄno (480x640)</translation> </message> <message> <location line="+1"/> <source>VGA landscape (640x480)</source> - <translation type="unfinished"></translation> + <translation>VGA, ležeÄe (640x480)</translation> </message> <message> <location line="+66"/> <source>Widgets</source> <extracomment>New Form Dialog Categories</extracomment> - <translation type="unfinished"></translation> + <translation>Gradniki</translation> </message> <message> <location line="+1"/> <source>Custom Widgets</source> - <translation type="unfinished"></translation> + <translation>Gradniki po meri</translation> </message> <message> <location line="+18"/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Nobena</translation> </message> <message> <location line="+57"/> <source>Error loading form</source> - <translation type="unfinished"></translation> + <translation>Napaka pri nalaganju obrazca</translation> </message> <message> - <location line="+312"/> + <location line="+244"/> + <source>Unable to open the form template file '%1': %2</source> + <translation>Ni moÄ odpreti datoteke s predlogo obrazca »%1«: %2</translation> + </message> + <message> + <location line="+67"/> <source>Internal error: No template selected.</source> - <translation type="unfinished"></translation> + <translation>Notranja napaka: izbrane ni nobene predloge.</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/newformwidget.ui"/> <source>0</source> - <translation type="unfinished"></translation> + <translation>0</translation> </message> <message> <location/> <source>Choose a template for a preview</source> - <translation type="unfinished"></translation> + <translation>Izberite predlogo za ogled</translation> </message> <message> <location/> <source>Embedded Design</source> - <translation type="unfinished"></translation> + <translation>Vgrajena zasnova</translation> </message> <message> <location/> <source>Device:</source> - <translation type="unfinished"></translation> + <translation>Naprava:</translation> </message> <message> <location/> <source>Screen Size:</source> - <translation type="unfinished"></translation> + <translation>Velikost zaslona</translation> </message> </context> <context> <name>qdesigner_internal::NewPromotedClassPanel</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+92"/> <source>Add</source> - <translation type="unfinished"></translation> + <translation>Dodaj</translation> </message> <message> <location line="+2"/> <source>New Promoted Class</source> - <translation type="unfinished"></translation> + <translation>Nov poviÅ¡an razred</translation> </message> <message> <location line="+15"/> <source>Base class name:</source> - <translation type="unfinished"></translation> + <translation>Ime osnovnega razreda:</translation> </message> <message> <location line="+1"/> <source>Promoted class name:</source> - <translation type="unfinished"></translation> + <translation>Ime poviÅ¡anega razreda:</translation> </message> <message> <location line="+1"/> <source>Header file:</source> - <translation type="unfinished"></translation> + <translation>Datoteka z glavo:</translation> </message> <message> <location line="+1"/> <source>Global include</source> - <translation type="unfinished"></translation> + <translation>Globalna vkljuÄitev</translation> </message> <message> <location line="+11"/> <source>Reset</source> - <translation type="unfinished"></translation> + <translation>Ponastavi</translation> </message> </context> <context> <name>qdesigner_internal::ObjectInspector</name> <message> - <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/> + <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+754"/> <source>&Find in Text...</source> - <translation type="unfinished"></translation> + <translation>&Najdi v besedilu ...</translation> </message> </context> <context> @@ -5547,40 +5578,40 @@ Please select another name.</source> <message> <location line="-438"/> <source>Change Current Page</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje trenutne strani</translation> </message> </context> <context> <name>qdesigner_internal::OrderDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/> + <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+109"/> <source>Index %1 (%2)</source> - <translation type="unfinished"></translation> + <translation>Indeks %1 (%2)</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/> <source>Change Page Order</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje vrstnega reda strani</translation> </message> <message> <location/> <source>Page Order</source> - <translation type="unfinished"></translation> + <translation>Vrstni red strani</translation> </message> <message> <location/> <source>Move page up</source> - <translation type="unfinished"></translation> + <translation>Premakni stran gor</translation> </message> <message> <location/> <source>Move page down</source> - <translation type="unfinished"></translation> + <translation>Premakni stran dol</translation> </message> <message> <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+3"/> <source>%1 %2</source> - <translation type="unfinished"></translation> + <translation>%1 %2</translation> </message> </context> <context> @@ -5588,78 +5619,78 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/> <source>Edit Palette</source> - <translation type="unfinished"></translation> + <translation>Urejanje palete</translation> </message> <message> <location/> <source>Tune Palette</source> - <translation type="unfinished"></translation> + <translation>Nastavitev palete</translation> </message> <message> <location/> <source>Show Details</source> - <translation type="unfinished"></translation> + <translation>Prikaži podrobnosti</translation> </message> <message> <location/> <source>Compute Details</source> - <translation type="unfinished"></translation> + <translation>izraÄunaj podrobnosti</translation> </message> <message> <location/> <source>Quick</source> - <translation type="unfinished"></translation> + <translation>Hitro</translation> </message> <message> <location/> <source>Preview</source> - <translation type="unfinished"></translation> + <translation>Ogled</translation> </message> <message> <location/> <source>Disabled</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄeno</translation> </message> <message> <location/> <source>Inactive</source> - <translation type="unfinished"></translation> + <translation>Neaktivno</translation> </message> <message> <location/> <source>Active</source> - <translation type="unfinished"></translation> + <translation>Aktivno</translation> </message> </context> <context> <name>qdesigner_internal::PaletteEditorButton</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/> + <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+57"/> <source>Change Palette</source> - <translation type="unfinished"></translation> + <translation>Spremeni paleto</translation> </message> </context> <context> <name>qdesigner_internal::PaletteModel</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/> + <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+374"/> <source>Color Role</source> - <translation type="unfinished"></translation> + <translation>Vloga barve</translation> </message> <message> <location line="+2"/> <source>Active</source> - <translation type="unfinished"></translation> + <translation>Aktivno</translation> </message> <message> <location line="+2"/> <source>Inactive</source> - <translation type="unfinished"></translation> + <translation>Neaktivno</translation> </message> <message> <location line="+2"/> <source>Disabled</source> - <translation type="unfinished"></translation> + <translation>OnemogoÄeno</translation> </message> </context> <context> @@ -5667,36 +5698,36 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-1539"/> <source>Copy Path</source> - <translation type="unfinished"></translation> + <translation>Skopiraj pot</translation> </message> <message> <location line="+1"/> <source>Paste Path</source> - <translation type="unfinished"></translation> + <translation>Prilepi pot</translation> </message> <message> <location line="-3"/> <source>Choose Resource...</source> - <translation type="unfinished"></translation> + <translation>Izberi vir ...</translation> </message> <message> <location line="+1"/> <source>Choose File...</source> - <translation type="unfinished"></translation> + <translation>Izberi datoteko ...</translation> </message> <message> <location line="+8"/> <location line="+16"/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> </context> <context> <name>qdesigner_internal::PlainTextEditorDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/> + <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+65"/> <source>Edit text</source> - <translation type="unfinished"></translation> + <translation>Uredi besedilo</translation> </message> </context> <context> @@ -5704,37 +5735,37 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/> <source>Components</source> - <translation type="unfinished"></translation> + <translation>Komponente</translation> </message> <message> <location line="+13"/> <source>Plugin Information</source> - <translation type="unfinished"></translation> + <translation>Podatki o vstavkih</translation> </message> <message> <location line="+4"/> <source>Refresh</source> - <translation type="unfinished"></translation> + <translation>Osveži</translation> </message> <message> <location line="+1"/> <source>Scan for newly installed custom widget plugins.</source> - <translation type="unfinished"></translation> + <translation>Preveri razpoložljivost na novo nameÅ¡Äenih vstavkov za gradnike po meri.</translation> </message> <message> <location line="+48"/> <source>Qt Designer couldn't find any plugins</source> - <translation type="unfinished"></translation> + <translation>Qt Designer ni naÅ¡el nobenega vstavka</translation> </message> <message> <location line="+3"/> <source>Qt Designer found the following plugins</source> - <translation type="unfinished"></translation> + <translation>Qt Designer je naÅ¡el naslednje vstavke</translation> </message> <message> <location line="+55"/> <source>New custom widget plugins have been found.</source> - <translation type="unfinished"></translation> + <translation>Najdeni so bili vstavki za nove gradnike po meri.</translation> </message> </context> <context> @@ -5742,57 +5773,104 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/> <source>%1 Style</source> - <translation type="unfinished"></translation> + <translation>Slog %1</translation> + </message> +</context> +<context> + <name>qdesigner_internal::PreviewConfigurationWidget</name> + <message> + <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+139"/> + <source>Default</source> + <translation>Privzeto</translation> + </message> + <message> + <location line="+22"/> + <source>None</source> + <translation>Brez</translation> + </message> + <message> + <location line="+6"/> + <source>Browse...</source> + <translation>Brskaj ...</translation> </message> </context> <context> <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name> <message> - <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+118"/> + <location line="+118"/> <source>Load Custom Device Skin</source> - <translation type="unfinished"></translation> + <translation>Naloži temo za napravo po meri</translation> </message> <message> <location line="+2"/> <source>All QVFB Skins (*.%1)</source> - <translation type="unfinished"></translation> + <translation>Vse teme za QVFB (*.%1)</translation> </message> <message> <location line="+16"/> <source>%1 - Duplicate Skin</source> - <translation type="unfinished"></translation> + <translation>%1 - podvojena tema</translation> </message> <message> <location line="+1"/> <source>The skin '%1' already exists.</source> - <translation type="unfinished"></translation> + <translation>Tema »%1« že obstaja.</translation> </message> <message> <location line="+14"/> <source>%1 - Error</source> - <translation type="unfinished"></translation> + <translation>%1 - napaka</translation> </message> <message> <location line="+1"/> <source>%1 is not a valid skin directory: %2</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavna mapa s temo: +%2</translation> </message> </context> <context> <name>qdesigner_internal::PreviewDeviceSkin</name> <message> - <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/> + <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+259"/> + <source>&Portrait</source> + <translation>&PokonÄno</translation> + </message> + <message> + <location line="+2"/> + <source>Landscape (&CCW)</source> + <extracomment>Rotate form preview counter-clockwise</extracomment> + <translation>L&ežeÄe (v nasprotni smeri ure)</translation> + </message> + <message> + <location line="+2"/> + <source>&Landscape (CW)</source> + <extracomment>Rotate form preview clockwise</extracomment> + <translation>&LežeÄe (v smeri ure)</translation> + </message> + <message> + <location line="+1"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> </context> <context> <name>qdesigner_internal::PreviewManager</name> <message> - <location line="+345"/> + <location line="+426"/> <source>%1 - [Preview]</source> - <translation type="unfinished"></translation> + <translation>%1 - [ogled]</translation> + </message> +</context> +<context> + <name>qdesigner_internal::PreviewMdiArea</name> + <message> + <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+72"/> + <source>The moose in the noose +ate the goose who was loose.</source> + <extracomment>Palette editor background</extracomment> + <translation>Å erif bo za vajo spet +skuhal domaÄe žgance.</translation> </message> </context> <context> @@ -5800,57 +5878,57 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui"/> <source>Preview Window</source> - <translation type="unfinished"></translation> + <translation>Okno ogleda</translation> </message> <message> <location/> <source>LineEdit</source> - <translation type="unfinished"></translation> + <translation>UrejevalnaVrstica</translation> </message> <message> <location/> <source>ComboBox</source> - <translation type="unfinished"></translation> + <translation>SpustniSeznam</translation> </message> <message> <location/> <source>PushButton</source> - <translation type="unfinished"></translation> + <translation>Gumb</translation> </message> <message> <location/> <source>ButtonGroup2</source> - <translation type="unfinished"></translation> + <translation>SkupinaGumbov2</translation> </message> <message> <location/> <source>CheckBox1</source> - <translation type="unfinished"></translation> + <translation>PotrditvenoPolje1</translation> </message> <message> <location/> <source>CheckBox2</source> - <translation type="unfinished"></translation> + <translation>PotrditvenoPolje2</translation> </message> <message> <location/> <source>ButtonGroup</source> - <translation type="unfinished"></translation> + <translation>SkupinaGumbov</translation> </message> <message> <location/> <source>RadioButton1</source> - <translation type="unfinished"></translation> + <translation>IzbirniGumb1</translation> </message> <message> <location/> <source>RadioButton2</source> - <translation type="unfinished"></translation> + <translation>IzbirniGumb2</translation> </message> <message> <location/> <source>RadioButton3</source> - <translation type="unfinished"></translation> + <translation>IzbirniGumb3</translation> </message> </context> <context> @@ -5858,22 +5936,22 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+17"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+1"/> <source>Header file</source> - <translation type="unfinished"></translation> + <translation>Datoteka z glavo</translation> </message> <message> <location line="+1"/> <source>Global include</source> - <translation type="unfinished"></translation> + <translation>Globalna vkljuÄitev</translation> </message> <message> <location line="+1"/> <source>Usage</source> - <translation type="unfinished"></translation> + <translation>Uporaba</translation> </message> </context> <context> @@ -5881,86 +5959,87 @@ Please select another name.</source> <message> <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/> <source>Promoted widgets...</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡ani gradniki ...</translation> </message> <message> <location line="+1"/> <source>Promote to ...</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡aj v ...</translation> </message> <message> <location line="+2"/> <source>Promote to</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡aj v</translation> </message> <message> <location line="+1"/> <source>Demote to %1</source> - <translation type="unfinished"></translation> + <translation>Ponižaj v %1</translation> </message> <message> <location line="-2"/> <source>Change signals/slots...</source> - <translation type="unfinished"></translation> + <translation>Spremeni signale/reže ...</translation> </message> </context> <context> <name>qdesigner_internal::PropertyEditor</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/> + <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+183"/> <source>Add Dynamic Property...</source> - <translation type="unfinished"></translation> + <translation>Dodaj dinamiÄno lastnost ...</translation> </message> <message> <location line="+1"/> <source>Remove Dynamic Property</source> - <translation type="unfinished"></translation> + <translation>Odstrani dinamiÄno lastnost</translation> </message> <message> <location line="+3"/> <source>Tree View</source> - <translation type="unfinished"></translation> + <translation>Drevesni prikaz</translation> </message> <message> <location line="+1"/> <source>Drop Down Button View</source> - <translation type="unfinished"></translation> + <translation>Gumb s spustim seznamom za prikaz</translation> </message> <message> - <location line="+596"/> + <location line="+597"/> <source>Object: %1 Class: %2</source> - <translation type="unfinished"></translation> + <translation>Objekt: %1 +Razred: %2</translation> </message> <message> - <location line="-599"/> + <location line="-600"/> <source>Sorting</source> - <translation type="unfinished"></translation> + <translation>Razvrsti</translation> </message> <message> <location line="+1"/> <source>Color Groups</source> - <translation type="unfinished"></translation> + <translation>Obarvaj skupine</translation> </message> <message> - <location line="+65"/> + <location line="+66"/> <source>Configure Property Editor</source> - <translation type="unfinished"></translation> + <translation>Nastavi urejevalnik lastnosti</translation> </message> <message> <location line="-14"/> <source>String...</source> - <translation type="unfinished"></translation> + <translation>Niz ...</translation> </message> <message> <location line="+3"/> <source>Bool...</source> - <translation type="unfinished"></translation> + <translation>Bool ...</translation> </message> <message> <location line="+4"/> <source>Other...</source> - <translation type="unfinished"></translation> + <translation>Drugo ...</translation> </message> </context> <context> @@ -5968,7 +6047,7 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/> <source>Insert line break</source> - <translation type="unfinished"></translation> + <translation>Vstavi prelom vrstice</translation> </message> </context> <context> @@ -5976,27 +6055,27 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+85"/> <source>Promoted Widgets</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡ani gradniki</translation> </message> <message> <location line="+7"/> <source>Promoted Classes</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡ani razredi</translation> </message> <message> <location line="+60"/> <source>Promote</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡aj</translation> </message> <message> <location line="+169"/> <source>%1 - Error</source> - <translation type="unfinished"></translation> + <translation>%1 - napaka</translation> </message> <message> <location line="-17"/> <source>Change signals/slots...</source> - <translation type="unfinished"></translation> + <translation>Spremeni signale/reže ...</translation> </message> </context> <context> @@ -6004,22 +6083,22 @@ Class: %2</source> <message> <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+277"/> <source>Loading qrc file</source> - <translation type="unfinished"></translation> + <translation>Nalaganje datoteke *.qrc</translation> </message> <message> <location line="+1"/> <source>The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p></source> - <translation type="unfinished"></translation> + <translation>Podane datoteke *.qrc <p><b>%1</b></p><p>ni bilo moÄ najti. Ali želite posodobiti lokacijo datoteke?</p></translation> </message> <message> <location line="+6"/> <source>New location for %1</source> - <translation type="unfinished"></translation> + <translation>Nova lokacija za %1</translation> </message> <message> <location line="+1"/> <source>Resource files (*.qrc)</source> - <translation type="unfinished"></translation> + <translation>Datoteke z viri (*.qrc)</translation> </message> </context> <context> @@ -6027,242 +6106,235 @@ Class: %2</source> <message numerus="yes"> <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+560"/> <source>Set size constraint on %n widget(s)</source> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>Nastavi omejitev velikosti za %n gradnik</numerusform> + <numerusform>Nastavi omejitev velikosti za %n gradnika</numerusform> + <numerusform>Nastavi omejitev velikosti za %n gradnike</numerusform> + <numerusform>Nastavi omejitev velikosti za %n gradnikov</numerusform> </translation> </message> <message> <location line="-492"/> <source>Change objectName...</source> - <translation type="unfinished"></translation> + <translation>Spremeni ime objekta ...</translation> </message> <message> <location line="+1"/> <source>Change toolTip...</source> - <translation type="unfinished"></translation> + <translation>Spremeni namig ...</translation> </message> <message> <location line="+1"/> <source>Change whatsThis...</source> - <translation type="unfinished"></translation> + <translation>Spremeni KajJeTo ...</translation> </message> <message> <location line="+1"/> <source>Change styleSheet...</source> - <translation type="unfinished"></translation> + <translation>Spremeni slogovno predlogo ...</translation> </message> <message> <location line="+3"/> <source>Create Menu Bar</source> - <translation type="unfinished"></translation> + <translation>Ustvari menijsko vrstico</translation> </message> <message> <location line="+1"/> <source>Add Tool Bar</source> - <translation type="unfinished"></translation> + <translation>Dodaj orodjarno</translation> </message> <message> <location line="+1"/> <source>Create Status Bar</source> - <translation type="unfinished"></translation> + <translation>Ustvari vrstico stanja</translation> </message> <message> <location line="+1"/> <source>Remove Status Bar</source> - <translation type="unfinished"></translation> + <translation>Odstrani vrstico stanja</translation> </message> <message> <location line="+1"/> <source>Change script...</source> - <translation type="unfinished"></translation> + <translation>Spremeni skript ...</translation> </message> <message> <location line="+1"/> <source>Change signals/slots...</source> - <translation type="unfinished"></translation> + <translation>Spremeni signale/reže ...</translation> </message> <message> <location line="+1"/> <source>Go to slot...</source> - <translation type="unfinished"></translation> + <translation>Pojdi na režo ...</translation> </message> <message> <location line="+3"/> <source>Size Constraints</source> - <translation type="unfinished"></translation> + <translation>Omejitve velikosti</translation> </message> <message> <location line="+4"/> <source>Set Minimum Width</source> - <translation type="unfinished"></translation> + <translation>Nastavi najmanjÅ¡o Å¡irino</translation> </message> <message> <location line="+4"/> <source>Set Minimum Height</source> - <translation type="unfinished"></translation> + <translation>Nastavi najmanjÅ¡o viÅ¡ino</translation> </message> <message> <location line="+4"/> <source>Set Minimum Size</source> - <translation type="unfinished"></translation> + <translation>Nastavi najmanjÅ¡o velikost</translation> </message> <message> <location line="+6"/> <source>Set Maximum Width</source> - <translation type="unfinished"></translation> + <translation>Nastavi najveÄjo Å¡irino</translation> </message> <message> <location line="+4"/> <source>Set Maximum Height</source> - <translation type="unfinished"></translation> + <translation>Nastavi najveÄjo viÅ¡ino</translation> </message> <message> <location line="+4"/> <source>Set Maximum Size</source> - <translation type="unfinished"></translation> + <translation>Nastavi najveÄjo velikost</translation> </message> <message> <location line="+235"/> <source>Edit ToolTip</source> - <translation type="unfinished"></translation> + <translation>Uredi namig</translation> </message> <message> <location line="+5"/> <source>Edit WhatsThis</source> - <translation type="unfinished"></translation> + <translation>Uredi KajJeTo</translation> </message> <message> <location line="+144"/> <source>no signals available</source> - <translation type="unfinished"></translation> + <translation>na voljo ni nobenega signala</translation> </message> </context> <context> <name>qdesigner_internal::QDesignerWidgetBox</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+123"/> <location line="+13"/> <source>Unexpected element <%1></source> - <translation type="unfinished"></translation> + <translation>NepriÄakovan element <%1></translation> </message> <message> <location line="+7"/> <source>A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 %5</source> - <translation type="unfinished"></translation> + <translation>PriÅ¡lo je do napake razÄlenjevanja v vrstici %1, stolpcu %2 kode XML za gradnik %3: %4 + +%5</translation> </message> <message> <location line="+9"/> <source>The XML code specified for the widget %1 does not contain any widget elements. %2</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>qdesigner_internal::QtGradientEditor</name> - <message> - <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+289"/> - <source>Linear</source> - <translation type="unfinished"></translation> + <translation>Koda XML za gradnik %1 ne vsebuje nobenega elementa gradnika. +%2</translation> </message> <message> - <location line="+1"/> - <source>Radial</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Conical</source> - <translation type="unfinished"></translation> + <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/> + <source>An error has been encountered at line %1 of %2: %3</source> + <translation>PriÅ¡lo je do napake v vrstici %1 v %2: %3</translation> </message> <message> - <location line="+20"/> - <source>Pad</source> - <translation type="unfinished"></translation> + <location line="+139"/> + <source>Unexpected element <%1> encountered when parsing for <widget> or <ui></source> + <translation>Med razÄlenjevanjem za <widget> ali <ui> je bil dosežen nepriÄakovan element <%1>.</translation> </message> <message> - <location line="+1"/> - <source>Repeat</source> - <translation type="unfinished"></translation> + <location line="+19"/> + <source>Unexpected end of file encountered when parsing widgets.</source> + <translation>Med razÄlenjevanjem gradnikov je bil dosežen nepriÄakovan konec datoteke.</translation> </message> <message> - <location line="+1"/> - <source>Reflect</source> - <translation type="unfinished"></translation> + <location line="+9"/> + <source>A widget element could not be found.</source> + <translation>Ni bilo moÄ najti elementa gradnika.</translation> </message> </context> <context> <name>qdesigner_internal::QtGradientStopsController</name> <message> - <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/> + <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+173"/> <source>H</source> - <translation type="unfinished"></translation> + <translation>H</translation> </message> <message> <location line="+1"/> <source>S</source> - <translation type="unfinished"></translation> + <translation>S</translation> </message> <message> <location line="+1"/> <source>V</source> - <translation type="unfinished"></translation> + <translation>V</translation> </message> <message> <location line="+6"/> <location line="+4"/> <source>Hue</source> - <translation type="unfinished"></translation> + <translation>Odtenek</translation> </message> <message> <location line="-3"/> <source>Sat</source> - <translation type="unfinished"></translation> + <translation>ZasiÄenost</translation> </message> <message> <location line="+1"/> <source>Val</source> - <translation type="unfinished"></translation> + <translation>Vrednost</translation> </message> <message> <location line="+3"/> <source>Saturation</source> - <translation type="unfinished"></translation> + <translation>ZasiÄenost</translation> </message> <message> <location line="+1"/> <source>Value</source> - <translation type="unfinished"></translation> + <translation>Vrednost</translation> </message> <message> <location line="+22"/> <source>R</source> - <translation type="unfinished"></translation> + <translation>R</translation> </message> <message> <location line="+1"/> <source>G</source> - <translation type="unfinished"></translation> + <translation>G</translation> </message> <message> <location line="+1"/> <source>B</source> - <translation type="unfinished"></translation> + <translation>B</translation> </message> <message> <location line="+6"/> <source>Red</source> - <translation type="unfinished"></translation> + <translation>RdeÄa</translation> </message> <message> <location line="+1"/> <source>Green</source> - <translation type="unfinished"></translation> + <translation>Zelena</translation> </message> <message> <location line="+1"/> <source>Blue</source> - <translation type="unfinished"></translation> + <translation>Modra</translation> </message> </context> <context> @@ -6270,27 +6342,27 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+436"/> <source>Edit text</source> - <translation type="unfinished"></translation> + <translation>Uredi besedilo</translation> </message> <message> <location line="+30"/> <source>&OK</source> - <translation type="unfinished"></translation> + <translation>&V redu</translation> </message> <message> <location line="+2"/> <source>&Cancel</source> - <translation type="unfinished"></translation> + <translation>&PrekliÄi</translation> </message> <message> <location line="-9"/> <source>Rich Text</source> - <translation type="unfinished"></translation> + <translation>Bogato besedilo</translation> </message> <message> <location line="+1"/> <source>Source</source> - <translation type="unfinished"></translation> + <translation>Izvorna koda</translation> </message> </context> <context> @@ -6298,90 +6370,90 @@ Class: %2</source> <message> <location line="-294"/> <source>Bold</source> - <translation type="unfinished"></translation> + <translation>Polkrepko</translation> </message> <message> <location line="+1"/> <source>CTRL+B</source> - <translation type="unfinished"></translation> + <translation>Ctrl+B</translation> </message> <message> <location line="+5"/> <source>Italic</source> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> <location line="+1"/> <source>CTRL+I</source> - <translation type="unfinished"></translation> + <translation>CTRL+I</translation> </message> <message> <location line="+5"/> <source>Underline</source> - <translation type="unfinished"></translation> + <translation>PodÄrtano</translation> </message> <message> <location line="+1"/> <source>CTRL+U</source> - <translation type="unfinished"></translation> + <translation>CTRL+U</translation> </message> <message> <location line="+13"/> <source>Left Align</source> - <translation type="unfinished"></translation> + <translation>Poravnaj levo</translation> </message> <message> <location line="+5"/> <source>Center</source> - <translation type="unfinished"></translation> + <translation>Na sredino</translation> </message> <message> <location line="+5"/> <source>Right Align</source> - <translation type="unfinished"></translation> + <translation>Poravnaj desno</translation> </message> <message> <location line="+5"/> <source>Justify</source> - <translation type="unfinished"></translation> + <translation>Obojestransko</translation> </message> <message> <location line="+9"/> <source>Superscript</source> - <translation type="unfinished"></translation> + <translation>Nadpisano</translation> </message> <message> <location line="+6"/> <source>Subscript</source> - <translation type="unfinished"></translation> + <translation>Podpisano</translation> </message> <message> <location line="+9"/> <source>Insert &Link</source> - <translation type="unfinished"></translation> + <translation>Vstavi &povezavo</translation> </message> <message> <location line="+5"/> <source>Insert &Image</source> - <translation type="unfinished"></translation> + <translation>Vstavi &sliko</translation> </message> </context> <context> <name>qdesigner_internal::ScriptDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/> + <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+66"/> <source>Edit script</source> - <translation type="unfinished"></translation> + <translation>Uredi skript</translation> </message> <message> <location line="+5"/> <source><html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively.</source> - <translation type="unfinished"></translation> + <translation><html>Vnesite delÄek Qt Scripta, ki bo izveden med nalaganjem obrazca.<br>Gradnik in njegovi podgradniki so dostopni prek spremenljivk <i>widget</i> in <i>childWidgets</i>.</translation> </message> <message> - <location line="+50"/> + <location line="+51"/> <source>Syntax error</source> - <translation type="unfinished"></translation> + <translation>Skladenjska napaka</translation> </message> </context> <context> @@ -6389,7 +6461,7 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+27"/> <source>Script errors</source> - <translation type="unfinished"></translation> + <translation>Napake v skriptu</translation> </message> </context> <context> @@ -6397,99 +6469,99 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+199"/> <source>There is already a slot with the signature '%1'.</source> - <translation type="unfinished"></translation> + <translation>Reža z odtisom »%1« že obstaja.</translation> </message> <message> <location line="+5"/> <source>There is already a signal with the signature '%1'.</source> - <translation type="unfinished"></translation> + <translation>Signal z odtisom »%1« že obstaja.</translation> </message> <message> <location line="+7"/> <source>%1 - Duplicate Signature</source> - <translation type="unfinished"></translation> + <translation>%1 - podvojen odtis</translation> </message> <message> <location line="+21"/> <location line="+76"/> <source>Signals/Slots of %1</source> - <translation type="unfinished"></translation> + <translation>Signali/reže od %1</translation> </message> </context> <context> <name>qdesigner_internal::SignalSlotEditorPlugin</name> <message> - <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/> + <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+72"/> <source>Edit Signals/Slots</source> - <translation type="unfinished"></translation> + <translation>Urejanje signalov/rež</translation> </message> <message> <location line="+2"/> <source>F4</source> - <translation type="unfinished"></translation> + <translation>F4</translation> </message> </context> <context> <name>qdesigner_internal::SignalSlotEditorTool</name> <message> - <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/> + <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+58"/> <source>Edit Signals/Slots</source> - <translation type="unfinished"></translation> + <translation>Urejanje signalov/rež</translation> </message> </context> <context> <name>qdesigner_internal::StatusBarTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/> + <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+81"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> </context> <context> <name>qdesigner_internal::StringListEditorButton</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/> + <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+56"/> <source>Change String List</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje seznama nizov</translation> </message> </context> <context> <name>qdesigner_internal::StyleSheetEditorDialog</name> <message> - <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/> + <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+97"/> <source>Edit Style Sheet</source> - <translation type="unfinished"></translation> + <translation>Urejanje slogovne predloge</translation> </message> <message> <location line="-7"/> - <location line="+283"/> + <location line="+280"/> <source>Valid Style Sheet</source> - <translation type="unfinished"></translation> + <translation>Veljavna slogovna predloga</translation> </message> <message> - <location line="-281"/> + <location line="-278"/> <source>Add Resource...</source> - <translation type="unfinished"></translation> + <translation>Dodaj vir ...</translation> </message> <message> <location line="+1"/> <source>Add Gradient...</source> - <translation type="unfinished"></translation> + <translation>Dodaj preliv ...</translation> </message> <message> <location line="+1"/> <source>Add Color...</source> - <translation type="unfinished"></translation> + <translation>Dodaj barvo ...</translation> </message> <message> <location line="+1"/> <source>Add Font...</source> - <translation type="unfinished"></translation> + <translation>Dodaj pisavo ...</translation> </message> <message> - <location line="+281"/> + <location line="+278"/> <source>Invalid Style Sheet</source> - <translation type="unfinished"></translation> + <translation>Neveljavna slogovna predloga</translation> </message> </context> <context> @@ -6497,100 +6569,100 @@ Class: %2</source> <message> <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/> <source>Start from Here</source> - <translation type="unfinished"></translation> + <translation>ZaÄni od tu</translation> </message> <message> <location line="+3"/> <source>Restart</source> - <translation type="unfinished"></translation> + <translation>ZaÄni znova</translation> </message> <message> <location line="+2"/> <source>Tab Order List...</source> - <translation type="unfinished"></translation> + <translation>Seznam vrstnega reda tabulatorke ...</translation> </message> <message> <location line="+44"/> <source>Tab Order List</source> - <translation type="unfinished"></translation> + <translation>Seznam vrstnega reda tabulatorke</translation> </message> <message> <location line="+1"/> <source>Tab Order</source> - <translation type="unfinished"></translation> + <translation>Vrstni red tabulatorke</translation> </message> </context> <context> <name>qdesigner_internal::TabOrderEditorPlugin</name> <message> - <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/> + <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+73"/> <source>Edit Tab Order</source> - <translation type="unfinished"></translation> + <translation>Urejanje vrstnega reda tabulatorke</translation> </message> </context> <context> <name>qdesigner_internal::TabOrderEditorTool</name> <message> - <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/> + <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+57"/> <source>Edit Tab Order</source> - <translation type="unfinished"></translation> + <translation>Urejanja vrstnega reda tabulatorke</translation> </message> </context> <context> <name>qdesigner_internal::TableWidgetEditor</name> <message> - <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+71"/> + <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+67"/> <source>New Column</source> - <translation type="unfinished"></translation> + <translation>Nov stolpec</translation> </message> <message> <location line="+3"/> <source>New Row</source> - <translation type="unfinished"></translation> + <translation>Nova vrstica</translation> </message> <message> <location line="+8"/> <source>&Columns</source> - <translation type="unfinished"></translation> + <translation>&Stolpci</translation> </message> <message> <location line="+1"/> <source>&Rows</source> - <translation type="unfinished"></translation> + <translation>&Vrstice</translation> </message> <message> <location line="+137"/> <source>Properties &<<</source> - <translation type="unfinished"></translation> + <translation>Lastnosti &<<</translation> </message> <message> - <location line="+2"/> <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/> + <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+2"/> <source>Properties &>></source> - <translation type="unfinished"></translation> + <translation>Lastnosti &>></translation> </message> <message> - <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/> + <location/> <source>Edit Table Widget</source> - <translation type="unfinished"></translation> + <translation>Urejanje gradnika s tabelo</translation> </message> <message> <location/> <source>&Items</source> - <translation type="unfinished"></translation> + <translation>&Postavke</translation> </message> <message> <location/> <source>Table Items</source> - <translation type="unfinished"></translation> + <translation>Postavke v tabeli</translation> </message> </context> <context> <name>qdesigner_internal::TableWidgetTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/> + <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+64"/> <source>Edit Items...</source> - <translation type="unfinished"></translation> + <translation>Uredi postavke ...</translation> </message> </context> <context> @@ -6598,238 +6670,238 @@ Class: %2</source> <message> <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="-18"/> <source>Pick a directory to save templates in</source> - <translation type="unfinished"></translation> + <translation>Izberite mapo za shranjevanje predlog</translation> </message> <message> <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Additional Template Paths</source> - <translation type="unfinished"></translation> + <translation>Dodatne poti za predloge</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> </context> <context> <name>qdesigner_internal::TextEditTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/> + <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+59"/> <source>Change HTML...</source> - <translation type="unfinished"></translation> + <translation>Spremeni HTML ...</translation> </message> <message> <location line="-1"/> <source>Edit HTML</source> - <translation type="unfinished"></translation> + <translation>Urejanje HTML-ja</translation> </message> <message> <location line="+10"/> <source>Edit Text</source> - <translation type="unfinished"></translation> + <translation>Urejanje besedila</translation> </message> <message> <location line="+1"/> <source>Change Plain Text...</source> - <translation type="unfinished"></translation> + <translation>Spremeni navadno besedilo ...</translation> </message> </context> <context> <name>qdesigner_internal::TextEditor</name> <message> - <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-201"/> + <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-204"/> <source>Choose Resource...</source> - <translation type="unfinished"></translation> + <translation>Izberi vir ...</translation> </message> <message> <location line="+1"/> <source>Choose File...</source> - <translation type="unfinished"></translation> + <translation>Izberi datoteko ...</translation> </message> <message> - <location line="+120"/> + <location line="+123"/> <source>Choose a File</source> - <translation type="unfinished"></translation> + <translation>Izbiranje datoteke</translation> </message> <message> - <location line="-115"/> + <location line="-118"/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> </context> <context> <name>qdesigner_internal::ToolBarEventFilter</name> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+234"/> <source>Insert Separator</source> - <translation type="unfinished"></translation> + <translation>Vstavi loÄitelja</translation> </message> <message> <location line="-65"/> <source>Remove action '%1'</source> - <translation type="unfinished"></translation> + <translation>Odstrani dejanje »%1«</translation> </message> <message> <location line="+7"/> <source>Remove Toolbar '%1'</source> - <translation type="unfinished"></translation> + <translation>Odstrani orodjarno »%1«</translation> </message> <message> <location line="-28"/> <source>Insert Separator before '%1'</source> - <translation type="unfinished"></translation> + <translation>Vstavi loÄitelja pred »%1«</translation> </message> <message> <location line="+9"/> <source>Append Separator</source> - <translation type="unfinished"></translation> + <translation>Dodaj loÄitelja</translation> </message> </context> <context> <name>qdesigner_internal::TreeWidgetEditor</name> <message> - <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/> + <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+76"/> <source>&Columns</source> - <translation type="unfinished"></translation> + <translation>&Stolpci</translation> </message> <message> <location line="+69"/> <source>Per column properties</source> - <translation type="unfinished"></translation> + <translation>Lastnosti za stolpec</translation> </message> <message> <location line="+1"/> <source>Common properties</source> - <translation type="unfinished"></translation> + <translation>Skupne lastnosti</translation> </message> <message> - <location line="+53"/> <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> + <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+53"/> <source>New Item</source> - <translation type="unfinished"></translation> + <translation>Nova postavka</translation> </message> <message> - <location line="+194"/> + <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+194"/> <source>Properties &<<</source> - <translation type="unfinished"></translation> + <translation>Lastnosti &<<</translation> </message> <message> - <location line="+2"/> <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> + <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+2"/> <source>Properties &>></source> - <translation type="unfinished"></translation> + <translation>Lastnosti &>></translation> </message> <message> - <location line="-327"/> + <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="-327"/> <source>New Column</source> - <translation type="unfinished"></translation> + <translation>Nov stolpec</translation> </message> <message> <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> <source>Edit Tree Widget</source> - <translation type="unfinished"></translation> + <translation>Urejanje gradnika z drevesom</translation> </message> <message> <location/> <source>&Items</source> - <translation type="unfinished"></translation> + <translation>&Postavke</translation> </message> <message> <location/> <source>Tree Items</source> - <translation type="unfinished"></translation> + <translation>Postavke v drevesu</translation> </message> <message> + <location/> <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+150"/> - <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> <source>New Subitem</source> - <translation type="unfinished"></translation> + <translation>Nova podpostavka</translation> </message> <message> - <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> + <location/> <source>New &Subitem</source> - <translation type="unfinished"></translation> + <translation>Nova &podpostavka</translation> </message> <message> <location/> <source>Delete Item</source> - <translation type="unfinished"></translation> + <translation>ZbriÅ¡i postavko</translation> </message> <message> <location/> <source>Move Item Left (before Parent Item)</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko levo (pred matiÄno postavko)</translation> </message> <message> <location/> <source>L</source> - <translation type="unfinished"></translation> + <translation>L</translation> </message> <message> <location/> <source>Move Item Right (as a First Subitem of the Next Sibling Item)</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko desno (kot prvo podpostavko sledeÄe postavke)</translation> </message> <message> <location/> <source>R</source> - <translation type="unfinished"></translation> + <translation>E</translation> </message> <message> <location/> <source>Move Item Up</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko gor</translation> </message> <message> <location/> <source>U</source> - <translation type="unfinished"></translation> + <translation>G</translation> </message> <message> <location/> <source>Move Item Down</source> - <translation type="unfinished"></translation> + <translation>Premakni postavko dol</translation> </message> <message> <location/> <source>D</source> - <translation type="unfinished"></translation> + <translation>D</translation> </message> <message> <location/> <source>1</source> - <translation type="unfinished"></translation> + <translation>1</translation> </message> <message> <location/> <source>&New</source> - <translation type="unfinished"></translation> + <translation>&Nova</translation> </message> <message> <location/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&ZbriÅ¡i</translation> </message> </context> <context> <name>qdesigner_internal::TreeWidgetTaskMenu</name> <message> - <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/> + <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+63"/> <source>Edit Items...</source> - <translation type="unfinished"></translation> + <translation>Uredi postavke ...</translation> </message> </context> <context> <name>qdesigner_internal::WidgetBox</name> <message> - <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/> + <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+115"/> <source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source> - <translation type="unfinished"></translation> + <translation>Opozorilo: ustvarjanje gradnika v podoknu z gradniki ni uspelo. Za to je morda kriv neveljaven XML gradnika po meri.</translation> </message> </context> <context> @@ -6837,42 +6909,42 @@ Class: %2</source> <message> <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/> <source>Scratchpad</source> - <translation type="unfinished"></translation> + <translation>Beležnica</translation> </message> <message> <location line="+370"/> <source>Custom Widgets</source> - <translation type="unfinished"></translation> + <translation>Gradniki po meri</translation> </message> <message> - <location line="+260"/> + <location line="+263"/> <source>Expand all</source> - <translation type="unfinished"></translation> + <translation>RazÅ¡iri vse</translation> </message> <message> <location line="+1"/> <source>Collapse all</source> - <translation type="unfinished"></translation> + <translation>SkrÄi vse</translation> </message> <message> <location line="+3"/> <source>List View</source> - <translation type="unfinished"></translation> + <translation>Prikaz seznama</translation> </message> <message> <location line="+1"/> <source>Icon View</source> - <translation type="unfinished"></translation> + <translation>Prikaz ikon</translation> </message> <message> <location line="+15"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> <message> <location line="+2"/> <source>Edit name</source> - <translation type="unfinished"></translation> + <translation>Urejanje imena</translation> </message> </context> <context> @@ -6880,49 +6952,50 @@ Class: %2</source> <message> <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="-411"/> <source>A custom widget plugin whose class name (%1) matches that of an existing class has been found.</source> - <translation type="unfinished"></translation> + <translation>Najden je bil vstavek gradnika po meri, katerega ime (%1) je enako imenu obstojeÄega razreda.</translation> </message> </context> <context> <name>qdesigner_internal::WidgetEditorTool</name> <message> - <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/> + <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+67"/> <source>Edit Widgets</source> - <translation type="unfinished"></translation> + <translation>Urejanje gradnikov</translation> </message> </context> <context> <name>qdesigner_internal::WidgetFactory</name> <message> - <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/> + <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+263"/> <source>The custom widget factory registered for widgets of class %1 returned 0.</source> - <translation type="unfinished"></translation> + <translation>Tovarna gradnikov po meri, ki je registrirana za gradnike razreda %1, je vrnila 0.</translation> </message> <message> <location line="+44"/> <source>A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2.</source> - <translation type="unfinished"></translation> + <translation>Med ustvarjanjem gradnika z uporabo tovarne gradnikov po meri, ki je registrirana za gradnike razreda %1, je priÅ¡lo do neujemanja v imenu razreda. Tovarna je vrnila gradnik razreda %2.</translation> </message> <message> <location line="+99"/> <source>%1 Widget</source> - <translation type="unfinished"></translation> + <translation>Gradnik %1</translation> </message> <message> <location line="+90"/> <source>The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget.</source> - <translation type="unfinished"></translation> + <translation>Trenutne strani vsebnika »%1« (%2) med dodajanjem razporeda ni bilo moÄ doloÄiti. To nakazuje na neskladnost v datoteki *.ui. Verjetno je na vsebovalnem gradniku zgrajen razpored.</translation> </message> <message> <location line="+53"/> <source>Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. This indicates an inconsistency in the ui-file.</source> - <translation type="unfinished"></translation> + <translation>Poskus dodajanja razporeda gradniku »%1« (%2), ki že ima neupravljan razpored vrste %3. +To nakazuje na neskladnost v datoteki *.ui.</translation> </message> <message> <location line="+211"/> <source>Cannot create style '%1'.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ustvariti sloga »%1«.</translation> </message> </context> <context> @@ -6930,12 +7003,12 @@ This indicates an inconsistency in the ui-file.</source> <message> <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="-49"/> <source>Next</source> - <translation type="unfinished"></translation> + <translation>Naprej</translation> </message> <message> <location line="+1"/> <source>Back</source> - <translation type="unfinished"></translation> + <translation>Nazaj</translation> </message> </context> <context> @@ -6944,7 +7017,15 @@ This indicates an inconsistency in the ui-file.</source> <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/> <source>%1 %</source> <extracomment>Zoom factor</extracomment> - <translation type="unfinished"></translation> + <translation>%1 %</translation> + </message> +</context> +<context> + <name>qdesigner_internal::ZoomablePreviewDeviceSkin</name> + <message> + <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="-270"/> + <source>&Zoom</source> + <translation>&PoveÄava</translation> </message> </context> </TS> diff --git a/translations/linguist_untranslated.ts b/translations/linguist_untranslated.ts deleted file mode 100644 index ae3ff20..0000000 --- a/translations/linguist_untranslated.ts +++ /dev/null @@ -1,1964 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name></name> - <message> - <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/> - <source>(New Entry)</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>AboutDialog</name> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/> - <source>Qt Linguist</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>BatchTranslationDialog</name> - <message> - <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/> - <source>Batch Translation of '%1' - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+37"/> - <source>Searching, please wait...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>&Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+42"/> - <source>Linguist batch translator</source> - <translation type="unfinished"></translation> - </message> - <message numerus="yes"> - <location line="+1"/> - <source>Batch translated %n entries</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message> - <location filename="../tools/linguist/linguist/batchtranslation.ui"/> - <source>Qt Linguist - Batch Translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Set translated entries to finished</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Retranslate entries with existing translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Translate also finished entries</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Phrase book preference</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move up</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move down</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>The batch translator will search through the selected phrase books in the order given above.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Run</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>DataModel</name> - <message> - <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/> - <source><qt>Duplicate messages found in '%1':</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source><p>[more duplicates omitted]</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source><p>* Context: %1<br>* Source: %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source><br>* Comment: %3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+70"/> - <source>Linguist does not know the plural rules for '%1'. -Will assume a single universal form.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+56"/> - <source>Cannot create '%2': %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+56"/> - <source>Universal Form</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>ErrorsView</name> - <message> - <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/> - <source>Accelerator possibly superfluous in translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Accelerator possibly missing in translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Translation does not end with the same punctuation as the source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>A phrase book suggestion for '%1' was ignored.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Translation does not refer to the same place markers as in the source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Translation does not contain the necessary %n place marker.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Unknown error</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>FindDialog</name> - <message> - <location filename="../tools/linguist/linguist/finddialog.ui"/> - <source>This window allows you to search for some text in the translation source file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Type in the text to search for.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Source texts are searched when checked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Translations are searched when checked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Texts such as 'TeX' and 'tex' are considered as different when checked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Comments and contexts are searched when checked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Find what:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Source texts</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Translations</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Match case</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Comments</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ignore &accelerators</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to find the next occurrence of the text you typed in.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to close this window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/finddialog.cpp" line="+14"/> - <source></source> - <comment>Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog</comment> - <translation></translation> - </message> -</context> -<context> - <name>LRelease</name> - <message numerus="yes"> - <location filename="../tools/linguist/shared/qm.cpp" line="+715"/> - <source> Generated %n translation(s) (%1 finished and %2 unfinished) -</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message numerus="yes"> - <location line="+4"/> - <source> Ignored %n untranslated source text(s) -</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> -</context> -<context> - <name>MainWindow</name> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>MainWindow</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Phrases</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Close Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Edit Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Print Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>V&alidation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&View</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Vie&ws</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Toolbars</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Recently Opened &Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open a Qt translation source file (TS file) for editing</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+O</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>E&xit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close this window and exit.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Q</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+646"/> - <location line="+15"/> - <source>&Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Save changes made to this Qt translation source file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open Read-O&nly...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Save All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-14"/> - <location line="+11"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Save &As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Save As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Save changes made to this Qt translation source file into a new file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+4"/> - <source>&Release</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Create a Qt message file suitable for released applications from the current message file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+P</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Undo</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Z</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Redo</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Redo an undone editing operation performed on the translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Y</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cu&t</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Copy the selected translation text to the clipboard and deletes it.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+X</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Copy the selected translation text to the clipboard.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+C</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Paste</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Paste the clipboard text into the translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+V</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select &All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select the whole translation text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+A</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Search for some text in the translation source file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+F</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find &Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Continue the search where it was left.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Prev Unfinished</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+K</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Next Unfinished</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>P&rev</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Shift+K</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ne&xt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Done and Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Copies the source text into the translation field.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+B</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Accelerators</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Ending Punctuation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Phrase matches</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle checking that phrase suggestions are used.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Place &Marker Matches</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Create a new phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+N</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Open a phrase book to assist translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+H</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Sort the items back in the same order as in the message file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Display guesses</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Set whether or not to display translation guesses.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Statistics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Manual</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Qt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Display information about the Qt toolkit by Trolltech.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&What's This?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>What's This?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Enter What's This? mode.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Shift+F1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Replace the translation on all entries that matches the search source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Batch translate all entries using the information in the phrase books.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-13"/> - <location line="+10"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Release As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/> - <source></source> - <comment>This is the application's main window.</comment> - <translation></translation> - </message> - <message> - <location line="+195"/> - <source>Source text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <location line="+25"/> - <source>Index</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-2"/> - <location line="+61"/> - <source>Context</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-60"/> - <source>Items</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+77"/> - <source>This panel lists the source contexts.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Strings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+39"/> - <source>Phrases and guesses</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>Sources and Forms</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Warnings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+59"/> - <source> MOD </source> - <comment>status bar: file(s) modified</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+125"/> - <source>Loading...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+32"/> - <location line="+22"/> - <source>Loading File - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-21"/> - <source>The file '%1' does not seem to be related to the currently open file(s) '%2'. - -Close the open file(s) first?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>The file '%1' does not seem to be related to the file '%2' which is being loaded as well. - -Skip loading the first named file?</source> - <translation type="unfinished"></translation> - </message> - <message numerus="yes"> - <location line="+61"/> - <source>%n translation unit(s) loaded.</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message> - <location line="+93"/> - <source>Related files (%1);;</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Open Translation Files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <location line="+31"/> - <source>File saved.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <location line="+1164"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Release</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-1163"/> - <source>Qt message files for released applications (*.qm) -All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <location line="+12"/> - <source>File created.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+27"/> - <location line="+355"/> - <source>Printing...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-347"/> - <source>Context: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+32"/> - <source>finished</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>unresolved</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>obsolete</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <location line="+307"/> - <source>Printing... (page %1)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-300"/> - <location line="+307"/> - <source>Printing completed</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-305"/> - <location line="+307"/> - <source>Printing aborted</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-232"/> - <source>Search wrapped.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <location line="+278"/> - <location line="+40"/> - <location line="+24"/> - <location line="+22"/> - <location line="+516"/> - <location line="+1"/> - <location line="+274"/> - <location line="+40"/> - <location line="+10"/> - <source>Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-1204"/> - <location line="+102"/> - <source>Cannot find the string '%1'.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-82"/> - <source>Search And Translate in '%1' - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+34"/> - <location line="+23"/> - <location line="+24"/> - <source>Translate - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message numerus="yes"> - <location line="-46"/> - <source>Translated %n entry(s)</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message> - <location line="+23"/> - <source>No more occurrences of '%1'. Start over?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+30"/> - <source>Create New Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Qt phrase books (*.qph) -All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Phrase book created.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <source>Open Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Qt phrase books (*.qph);;All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message numerus="yes"> - <location line="+7"/> - <source>%n phrase(s) loaded.</source> - <translation type="unfinished"> - <numerusform></numerusform> - </translation> - </message> - <message> - <location line="+93"/> - <location line="+3"/> - <location line="+7"/> - <source>Add to phrase book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-9"/> - <source>No appropriate phrasebook found.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Adding entry to phrasebook %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Select phrase book to add to</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> - <source>Unable to launch Qt Assistant (%1)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <source>Version %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source><center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>%2</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+41"/> - <source>Do you want to save the modified files?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>Do you want to save '%1'?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+43"/> - <source>Qt Linguist[*]</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>%1[*] - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+267"/> - <location line="+12"/> - <source>No untranslated translation units left.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+176"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Minimize</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Ctrl+M</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Display the manual for %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Display information about %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+70"/> - <source>&Save '%1'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Save '%1' &As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Release '%1'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Release '%1' As...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>&Close '%1'</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <location line="+13"/> - <source>&Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-10"/> - <source>Save All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>&Release All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>Translation File &Settings for '%1'...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>&Batch Translation of '%1'...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Search And &Translate in '%1'...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Search And &Translate...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+51"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Validation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+84"/> - <source>Cannot read from phrase book '%1'.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Close this phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Enables you to add, modify, or delete entries in this phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Print the entries in this phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+16"/> - <source>Cannot create phrase book '%1'.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>Do you want to save phrase book '%1'?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+314"/> - <source>All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Open/Refresh Form &Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Form Preview Tool</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F5</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Open...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Print...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Print a list of all the translation units in the current translation source file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Undo the last editing operation performed on the current translation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Find...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Previous unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move to the previous unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Next unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move to the next unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move to previous item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move to the previous item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Next item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Move to the next item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Mark item as done and move to the next unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Mark this item as done and move to the next unfinished item.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Copy from source text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of accelerators.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of ending punctuation.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of place markers.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&New Phrase Book...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Open Phrase Book...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Reset Sorting</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Display translation statistics.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Search And Translate...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Close All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+W</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-526"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>&Batch Translation...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-1"/> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>Translation File &Settings...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.ui"/> - <source>&Add to Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+T</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+J</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+Shift+J</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MessageEditor</name> - <message> - <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/> - <source>German</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Japanese</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>French</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Polish</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Chinese</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+50"/> - <source>This whole panel allows you to view and edit the translation of some source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+25"/> - <source>Source text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>This area shows the source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Source text (Plural)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>This area shows the plural form of the source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Developer comments</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>This area shows a comment that may guide you, and the context in which the text occurs.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+59"/> - <source>Here you can enter comments for your own use. They have no effect on the translated applications.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+205"/> - <source>%1 translation (%2)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+19"/> - <source>This is where you can enter or modify the translation of the above source text.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>%1 translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>%1 translator comments</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+138"/> - <source>'%1' -Line: %2</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MessageModel</name> - <message> - <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/> - <source>Completion status for %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source><file header></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source><context comment></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+71"/> - <source><unnamed context></source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MsgEdit</name> - <message> - <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-577"/> - <source></source> - <comment>This is the right panel of the main window.</comment> - <translation></translation> - </message> -</context> -<context> - <name>PhraseBookBox</name> - <message> - <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+8"/> - <source>%1[*] - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+90"/> - <source>Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Cannot save phrase book '%1'.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/phrasebookbox.ui"/> - <source>Edit Phrase Book</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Translation:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>This is the phrase in the target language corresponding to the source phrase.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>S&ource phrase:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>This is a definition for the source phrase.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>This is the phrase in the source language.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Definition:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to add the phrase to the phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to save the changes made.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>This window allows you to add, modify, or delete entries in a phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&New Entry</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to remove the entry from the phrase book.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Remove Entry</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Settin&gs...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to close this window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-144"/> - <source></source> - <comment>Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment> - <translation></translation> - </message> -</context> -<context> - <name>PhraseModel</name> - <message> - <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/> - <source>Source phrase</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Definition</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PhraseView</name> - <message> - <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/> - <source>Insert</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Edit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+113"/> - <source>Guess (%1)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Guess</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QObject</name> - <message> - <location filename="../tools/linguist/shared/qm.cpp" line="+12"/> - <source>Compiled Qt translations</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/> - <source>Translation files (%1);;</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>All files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/> - <location line="+18"/> - <location line="+67"/> - <location line="+39"/> - <location line="+17"/> - <location line="+15"/> - <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/> - <source>Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/> - <source>C++ source files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/java.cpp" line="+646"/> - <source>Java source files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/po.cpp" line="+651"/> - <source>GNU Gettext localization files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/> - <source>Qt Script source files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/ts.cpp" line="+752"/> - <source>Qt translation sources (format 1.1)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Qt translation sources (format 2.0)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Qt translation sources (latest format)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/ui.cpp" line="+213"/> - <source>Qt Designer form files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Qt Jambi form files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/> - <source>XLIFF localization files</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/shared/qph.cpp" line="+192"/> - <source>Qt Linguist 'Phrase Book'</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>SourceCodeView</name> - <message> - <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/> - <source><i>Source code not available</i></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+33"/> - <source><i>File %1 not available</i></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source><i>File %1 not readable</i></source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Statistics</name> - <message> - <location filename="../tools/linguist/linguist/statistics.ui"/> - <source>Statistics</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Translation</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Words:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Characters:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Characters (with spaces):</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>TrWindow</name> - <message> - <location filename="../tools/linguist/linguist/trwindow.cpp" line="+14"/> - <source></source> - <comment>This is the application's main window.</comment> - <translation></translation> - </message> -</context> -<context> - <name>TranslateDialog</name> - <message> - <location filename="../tools/linguist/linguist/translatedialog.ui"/> - <source>This window allows you to search for some text in the translation source file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Type in the text to search for.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find &source text:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Translate to:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Search options</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Texts such as 'TeX' and 'tex' are considered as different when checked.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Match &case</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Mark new translation as &finished</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to find the next occurrence of the text you typed in.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Find Next</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Translate</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Translate All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Click here to close this window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>TranslationSettingsDialog</name> - <message> - <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/> - <source>Any Country</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <location line="+8"/> - <source>Settings for '%1' - Qt Linguist</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/linguist/linguist/translationsettings.ui"/> - <source>Source language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Country/Region</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Target language</source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/qt_help_untranslated.ts b/translations/qt_help_untranslated.ts deleted file mode 100644 index 5702cfd..0000000 --- a/translations/qt_help_untranslated.ts +++ /dev/null @@ -1,355 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name>QCLuceneResultWidget</name> - <message> - <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/> - <source>Search Results</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Note:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>The search results may not be complete since the documentation is still being indexed!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Your search did not match any documents.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>(The reason for this might be that the documentation is still being indexed.)</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpCollectionHandler</name> - <message> - <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/> - <source>The collection file is not set up yet!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>Cannot load sqlite database driver!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <location line="+48"/> - <source>Cannot open collection file: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-39"/> - <source>Cannot create tables in file %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+16"/> - <source>The specified collection file already exists!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Cannot create directory: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>Cannot copy collection file: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+119"/> - <source>Unknown filter!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+55"/> - <source>Cannot register filter %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+44"/> - <source>Cannot open documentation file %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Invalid documentation file!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+34"/> - <source>The namespace %1 was not registered!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+120"/> - <source>Namespace %1 already exists!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>Cannot register namespace!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+24"/> - <source>Cannot open database to optimize!</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpDBReader</name> - <message> - <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/> - <source>Cannot open database '%1' '%2': %3</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpEngineCore</name> - <message> - <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/> - <source>The specified namespace does not exist!</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpEngineCorePrivate</name> - <message> - <location line="-394"/> - <source>Cannot open documentation file %1: %2!</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpGenerator</name> - <message> - <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/> - <source>Invalid help data!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>No output file name specified!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+14"/> - <source>Building up file structure...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-7"/> - <source>The file %1 cannot be overwritten!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>Cannot open data base file %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>Cannot register namespace %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Insert custom filters...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Insert help data for filter section (%1 of %2)...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>Documentation successfully generated.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+76"/> - <source>Some tables already exist!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+61"/> - <source>Cannot create tables!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+86"/> - <source>Cannot register virtual folder!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>Insert files...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+41"/> - <source>The file %1 does not exist! Skipping it.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Cannot open file %1! Skipping it.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+134"/> - <source>The filter %1 is already registered!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Cannot register filter %1!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+24"/> - <source>Insert indices...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+80"/> - <source>Insert contents...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Cannot insert contents!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Cannot register contents!</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpSearchQueryWidget</name> - <message> - <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/> - <source>Search for:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+16"/> - <source>Advanced search</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>words <B>similar</B> to:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source><B>without</B> the words:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>with <B>exact phrase</B>:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>with <B>all</B> of the words:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>with <B>at least one</B> of the words:</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpSearchResultWidget</name> - <message> - <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/> - <source>0 - 0 of 0 Hits</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QHelpSearchResultWidgetPrivate</name> - <message> - <location line="-61"/> - <source>%1 - %2 of %3 Hits</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QObject</name> - <message> - <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/> - <source>Untitled</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/> - <source>Unknown token.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>Unknown token. Expected "QtHelpProject"!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Error in line %1: %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>A virtual folder must not contain a '/' character!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>A namespace must not contain a '/' character!</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+16"/> - <source>Missing namespace in QtHelpProject.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Missing virtual folder in QtHelpProject</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+88"/> - <source>Missing attribute in keyword at line %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+83"/> - <source>The input file %1 could not be opened!</source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/qt_untranslated.ts b/translations/qt_sl.ts index 710e440..517ce71 100644 --- a/translations/qt_untranslated.ts +++ b/translations/qt_sl.ts @@ -1,29 +1,32 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0"> +<TS version="2.0" language="sl"> <context> - <name>AudioOutput</name> + <name>CloseButton</name> <message> - <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/> - <source><html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html></source> - <translation type="unfinished"></translation> + <location filename="../src/gui/widgets/qtabbar.cpp" line="+2245"/> + <source>Close Tab</source> + <translation>Zapri zavihek</translation> </message> +</context> +<context> + <name>FakeReply</name> <message> - <location line="+13"/> - <source><html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html></source> - <translation type="unfinished"></translation> + <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2191"/> + <source>Fake error !</source> + <translation>Lažna napaka.</translation> </message> <message> <location line="+3"/> - <source>Revert back to device '%1'</source> - <translation type="unfinished"></translation> + <source>Invalid URL</source> + <translation>Neveljaven URL</translation> </message> </context> <context> - <name>CloseButton</name> + <name>InputPrivate</name> <message> - <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/> - <source>Close Tab</source> + <location filename="../src/multimedia/audio/qaudioinput_alsa_p.cpp" line="+653"/> + <source>PUSH: read in bytes = %1 (frames=%2)</source> <translation type="unfinished"></translation> </message> </context> @@ -32,32 +35,50 @@ <message> <location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/> <source>Notifications</source> - <translation type="unfinished"></translation> + <translation>Obvestila</translation> </message> <message> <location line="+2"/> <source>Music</source> - <translation type="unfinished"></translation> + <translation>Glasba</translation> </message> <message> <location line="+2"/> <source>Video</source> - <translation type="unfinished"></translation> + <translation>Video</translation> </message> <message> <location line="+2"/> <source>Communication</source> - <translation type="unfinished"></translation> + <translation>Komunikacija</translation> </message> <message> <location line="+2"/> <source>Games</source> - <translation type="unfinished"></translation> + <translation>Igre</translation> </message> <message> <location line="+2"/> <source>Accessibility</source> - <translation type="unfinished"></translation> + <translation>Dostopnost</translation> + </message> +</context> +<context> + <name>Phonon::AudioOutput</name> + <message> + <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+377"/> + <source><html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html></source> + <translation><html>Naprava za predvajanje zvoka <b>%1</b> ne deluje.<br/>Preklapljanje na <b>%2</b>.</html></translation> + </message> + <message> + <location line="+13"/> + <source><html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html></source> + <translation><html>Preklapljanje na napravo za predvajanje zvoka <b>%1</b>,<br/>ki je ravnokar postala dostopna in ima viÅ¡jo preferenco.</html></translation> + </message> + <message> + <location line="+3"/> + <source>Revert back to device '%1'</source> + <translation>Povrni nazaj na napravo »%1«</translation> </message> </context> <context> @@ -66,13 +87,15 @@ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+171"/> <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.</source> - <translation type="unfinished"></translation> + <translation>Opozorilo: kot kaže paket gstreamer0.10-plugins-good ni nameÅ¡Äen. + Nekatere možnosti predvajanja videa so onemogoÄene.</translation> </message> <message> <location line="+5"/> <source>Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled</source> - <translation type="unfinished"></translation> + <translation>Opozorilo: kot kaže osnovni vstavki za GStreamer niso nameÅ¡Äeni. + Vsa podpora za zvok in video je onemogoÄena.</translation> </message> </context> <context> @@ -83,12 +106,15 @@ Check your Gstreamer installation and make sure you have libgstreamer-plugins-base installed.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaÄeti predvajanja. + +Preverite namestitev GStreamerja in se prepriÄajte, +da je nameÅ¡Äen paket libgstreamer-plugins-base.</translation> </message> <message> <location line="+113"/> <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source> - <translation type="unfinished"></translation> + <translation>Manjka potreben kodek. Za predvajanje te vsebine morate namestiti sledeÄe kodeke: %0</translation> </message> <message> <location line="+676"/> @@ -97,29 +123,37 @@ have libgstreamer-plugins-base installed.</source> <location line="+9"/> <location line="+6"/> <location line="+19"/> - <location line="+335"/> + <location line="+339"/> <location line="+24"/> <source>Could not open media source.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti veÄpredstavnostnega vira.</translation> </message> <message> - <location line="-403"/> + <location line="-407"/> <source>Invalid source type.</source> - <translation type="unfinished"></translation> + <translation>Neveljavna vrsta vira.</translation> </message> <message> - <location line="+377"/> + <location line="+381"/> <source>Could not locate media source.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ najti veÄpredstavnostnega vira.</translation> </message> <message> <location line="+10"/> <source>Could not open audio device. The device is already in use.</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti zvoÄne naprave. Naprava je že v uporabi.</translation> </message> <message> <location line="+13"/> <source>Could not decode media source.</source> + <translation>Ni moÄ dekodirati veÄpredstavnostnega vira.</translation> + </message> +</context> +<context> + <name>Phonon::MMF::AudioEqualizer</name> + <message> + <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+70"/> + <source>Frequency band, %1 Hz</source> <translation type="unfinished"></translation> </message> </context> @@ -128,15 +162,22 @@ have libgstreamer-plugins-base installed.</source> <message> <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+42"/> <location line="+18"/> + <location line="+129"/> + <location line="+15"/> <source>Volume: %1%</source> - <translation type="unfinished"></translation> + <translation>Glasnost: %1 %</translation> </message> <message> - <location line="-15"/> + <location line="-159"/> <location line="+18"/> <location line="+54"/> <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source> - <translation type="unfinished"></translation> + <translation>Uporabite ta drsnik, da nastavite glasnost. Skrajno levi položaj je 0 %, skrajno desni pa %1 %.</translation> + </message> + <message> + <location line="+67"/> + <source>Muted</source> + <translation>UtiÅ¡an</translation> </message> </context> <context> @@ -144,12 +185,12 @@ have libgstreamer-plugins-base installed.</source> <message> <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/> <source>%1, %2 not defined</source> - <translation type="unfinished"></translation> + <translation>%1, %2 ni definiran</translation> </message> <message> <location line="+36"/> <source>Ambiguous %1 not handled</source> - <translation type="unfinished"></translation> + <translation>Brez rokovanja z dvoumnim %1</translation> </message> </context> <context> @@ -157,358 +198,360 @@ have libgstreamer-plugins-base installed.</source> <message> <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/> <source>True</source> - <translation type="unfinished"></translation> + <translation>Pravilno</translation> </message> <message> <location line="+1"/> <source>False</source> - <translation type="unfinished"></translation> + <translation>NapaÄno</translation> </message> <message> <location line="+505"/> <source>Insert</source> - <translation type="unfinished"></translation> + <translation>Vstavi</translation> </message> <message> <location line="+1"/> <source>Update</source> - <translation type="unfinished"></translation> + <translation>Posodobi</translation> </message> <message> <location line="+1"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i</translation> </message> </context> <context> <name>Q3FileDialog</name> <message> - <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/> + <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+829"/> <source>Copy or Move a File</source> - <translation type="unfinished"></translation> + <translation>Skopiraj ali premakni datoteko</translation> </message> <message> <location line="+8"/> <source>Read: %1</source> - <translation type="unfinished"></translation> + <translation>Branje: %1</translation> </message> <message> <location line="+6"/> <location line="+30"/> <source>Write: %1</source> - <translation type="unfinished"></translation> + <translation>Pisanje: %1</translation> </message> <message> <location line="-22"/> - <location line="+1575"/> + <location line="+1579"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> <message> <location line="-157"/> <location line="+49"/> - <location line="+2153"/> - <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/> + <location line="+2149"/> + <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+112"/> <source>All Files (*)</source> - <translation type="unfinished"></translation> + <translation>Vse datoteke (*)</translation> </message> <message> - <location line="-2089"/> + <location line="-2085"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+1"/> <source>Size</source> - <translation type="unfinished"></translation> + <translation>Velikost</translation> </message> <message> <location line="+2"/> <source>Type</source> - <translation type="unfinished"></translation> + <translation>Vrsta</translation> </message> <message> <location line="+1"/> <source>Date</source> - <translation type="unfinished"></translation> + <translation>Datum</translation> </message> <message> <location line="+1"/> <source>Attributes</source> - <translation type="unfinished"></translation> + <translation>Lastnosti</translation> </message> <message> <location line="+35"/> - <location line="+2031"/> + <location line="+2027"/> <source>&OK</source> - <translation type="unfinished"></translation> + <translation>&V redu</translation> </message> <message> - <location line="-1991"/> + <location line="-1987"/> <source>Look &in:</source> - <translation type="unfinished"></translation> + <translation>IÅ¡Äi &v:</translation> </message> <message> <location line="+1"/> - <location line="+1981"/> + <location line="+1977"/> <location line="+16"/> <source>File &name:</source> - <translation type="unfinished"></translation> + <translation>Ime &datoteke:</translation> </message> <message> - <location line="-1996"/> + <location line="-1992"/> <source>File &type:</source> - <translation type="unfinished"></translation> + <translation>&Vrsta datoteke:</translation> </message> <message> <location line="+7"/> <source>Back</source> - <translation type="unfinished"></translation> + <translation>Nazaj</translation> </message> <message> <location line="+7"/> <source>One directory up</source> - <translation type="unfinished"></translation> + <translation>Za eno mapo navzgor</translation> </message> <message> <location line="+9"/> <source>Create New Folder</source> - <translation type="unfinished"></translation> + <translation>Ustvari novo mapo</translation> </message> <message> <location line="+18"/> <source>List View</source> - <translation type="unfinished"></translation> + <translation>Prikaz seznama</translation> </message> <message> <location line="+8"/> <source>Detail View</source> - <translation type="unfinished"></translation> + <translation>Prikaz podrobnosti</translation> </message> <message> <location line="+9"/> <source>Preview File Info</source> - <translation type="unfinished"></translation> + <translation>Podatki ogleda datoteke</translation> </message> <message> - <location line="+23"/> + <location line="+19"/> <source>Preview File Contents</source> - <translation type="unfinished"></translation> + <translation>Vsebina ogleda datoteke</translation> </message> <message> <location line="+88"/> <source>Read-write</source> - <translation type="unfinished"></translation> + <translation>Branje in pisanje</translation> </message> <message> <location line="+1"/> <source>Read-only</source> - <translation type="unfinished"></translation> + <translation>Samo za branje</translation> </message> <message> <location line="+1"/> <source>Write-only</source> - <translation type="unfinished"></translation> + <translation>Samo za pisanje</translation> </message> <message> <location line="+1"/> <source>Inaccessible</source> - <translation type="unfinished"></translation> + <translation>Nedostopno</translation> </message> <message> <location line="+2"/> <source>Symlink to File</source> - <translation type="unfinished"></translation> + <translation>Simbolna povezava do datoteke</translation> </message> <message> <location line="+1"/> <source>Symlink to Directory</source> - <translation type="unfinished"></translation> + <translation>Simbolna povezava do mape</translation> </message> <message> <location line="+1"/> <source>Symlink to Special</source> - <translation type="unfinished"></translation> + <translation>Simbolna povezava do posebnega</translation> </message> <message> <location line="+1"/> <source>File</source> - <translation type="unfinished"></translation> + <translation>Datoteka</translation> </message> <message> <location line="+1"/> <source>Dir</source> - <translation type="unfinished"></translation> + <translation>Mapa</translation> </message> <message> <location line="+1"/> <source>Special</source> - <translation type="unfinished"></translation> + <translation>Posebno</translation> </message> <message> <location line="+704"/> - <location line="+2100"/> - <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/> + <location line="+1999"/> + <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+209"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> <message> - <location line="-1990"/> - <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+84"/> + <location line="-1889"/> + <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+71"/> <source>Save As</source> - <translation type="unfinished"></translation> + <translation>Shrani kot</translation> </message> <message> <location line="+642"/> <location line="+5"/> <location line="+355"/> <source>&Open</source> - <translation type="unfinished"></translation> + <translation>&Odpri</translation> </message> <message> <location line="-357"/> <location line="+341"/> <source>&Save</source> - <translation type="unfinished"></translation> + <translation>&Shrani</translation> </message> <message> <location line="-334"/> <source>&Rename</source> - <translation type="unfinished"></translation> + <translation>Pre&imenuj</translation> </message> <message> <location line="+1"/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&IzbriÅ¡i</translation> </message> <message> <location line="+20"/> <source>R&eload</source> - <translation type="unfinished"></translation> + <translation>&Znova naloži</translation> </message> <message> <location line="+4"/> <source>Sort by &Name</source> - <translation type="unfinished"></translation> + <translation>Razvrsti po &imenu</translation> </message> <message> <location line="+2"/> <source>Sort by &Size</source> - <translation type="unfinished"></translation> + <translation>Razvrsti po &velikosti</translation> </message> <message> <location line="+1"/> <source>Sort by &Date</source> - <translation type="unfinished"></translation> + <translation>Razvrsti po &datumu</translation> </message> <message> <location line="+2"/> <source>&Unsorted</source> - <translation type="unfinished"></translation> + <translation>&Brez razvrÅ¡Äanja</translation> </message> <message> <location line="+15"/> <source>Sort</source> - <translation type="unfinished"></translation> + <translation>Razvrsti</translation> </message> <message> <location line="+4"/> <source>Show &hidden files</source> - <translation type="unfinished"></translation> + <translation>Prikaži &skrite datoteke</translation> </message> <message> <location line="+31"/> <source>the file</source> - <translation type="unfinished"></translation> + <translation>datoteko</translation> </message> <message> <location line="+2"/> <source>the directory</source> - <translation type="unfinished"></translation> + <translation>mapo</translation> </message> <message> <location line="+2"/> <source>the symlink</source> - <translation type="unfinished"></translation> + <translation>simbolno povezavo</translation> </message> <message> <location line="+3"/> <source>Delete %1</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i %1</translation> </message> <message> <location line="+1"/> <source><qt>Are you sure you wish to delete %1 "%2"?</qt></source> - <translation type="unfinished"></translation> + <translation><qt>Ali res želite izbrisati %1 »%2«?</qt></translation> </message> <message> <location line="+2"/> <source>&Yes</source> - <translation type="unfinished"></translation> + <translation>&Da</translation> </message> <message> <location line="+0"/> <source>&No</source> - <translation type="unfinished"></translation> + <translation>&Ne</translation> </message> <message> <location line="+36"/> <source>New Folder 1</source> - <translation type="unfinished"></translation> + <translation>Nova mapa 1</translation> </message> <message> <location line="+5"/> <source>New Folder</source> - <translation type="unfinished"></translation> + <translation>Nova mapa</translation> </message> <message> <location line="+5"/> <source>New Folder %1</source> - <translation type="unfinished"></translation> + <translation>Nova mapa %1</translation> </message> <message> <location line="+98"/> <source>Find Directory</source> - <translation type="unfinished"></translation> + <translation>Najdi mapo</translation> </message> <message> <location line="+5"/> <location line="+108"/> <source>Directories</source> - <translation type="unfinished"></translation> + <translation>Mape</translation> </message> <message> <location line="-2"/> <source>Directory:</source> - <translation type="unfinished"></translation> + <translation>Mapa:</translation> </message> <message> <location line="+40"/> - <location line="+1110"/> + <location line="+1009"/> <source>Error</source> - <translation type="unfinished"></translation> + <translation>Napaka</translation> </message> <message> - <location line="-1109"/> + <location line="-1008"/> <source>%1 File not found. Check path and filename.</source> - <translation type="unfinished"></translation> + <translation>%1 +Datoteke ni moÄ najti. +Preverite pot in ime datoteke.</translation> </message> <message> - <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-289"/> + <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-191"/> <source>All Files (*.*)</source> - <translation type="unfinished"></translation> + <translation>Vse datoteke (*.*)</translation> </message> <message> - <location line="+375"/> + <location line="+264"/> <source>Open </source> - <translation type="unfinished"></translation> + <translation>Odpri </translation> </message> <message> - <location line="+155"/> + <location line="+107"/> <source>Select a Directory</source> - <translation type="unfinished"></translation> + <translation>Izberite mapo</translation> </message> </context> <context> @@ -518,19 +561,22 @@ Check path and filename.</source> <location line="+10"/> <source>Could not read directory %1</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ brati mape +%1</translation> </message> <message> <location line="+45"/> <source>Could not create directory %1</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ ustvariti mape +%1</translation> </message> <message> <location line="+34"/> <source>Could not remove file or directory %1</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ odstraniti datoteke ali mape +%1</translation> </message> <message> <location line="+27"/> @@ -538,19 +584,24 @@ Check path and filename.</source> %1 to %2</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ preimenovati +%1 +v +%2</translation> </message> <message> <location line="+25"/> <source>Could not open %1</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti +%1</translation> </message> <message> <location line="+68"/> <source>Could not write %1</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ zapisati +%1</translation> </message> </context> <context> @@ -558,12 +609,12 @@ to <message> <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/> <source>Line up</source> - <translation type="unfinished"></translation> + <translation>V vrsto</translation> </message> <message> <location line="+2"/> <source>Customize...</source> - <translation type="unfinished"></translation> + <translation>Prilagodi ...</translation> </message> </context> <context> @@ -571,7 +622,7 @@ to <message> <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/> <source>Operation stopped by the user</source> - <translation type="unfinished"></translation> + <translation>Dejanje zaustavil uporabnik</translation> </message> </context> <context> @@ -580,36 +631,36 @@ to <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/> <location line="+61"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> </context> <context> <name>Q3TabDialog</name> <message> - <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/> - <location line="+814"/> + <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+190"/> + <location line="+824"/> <source>OK</source> - <translation type="unfinished"></translation> + <translation>V redu</translation> </message> <message> - <location line="-356"/> + <location line="-366"/> <source>Apply</source> - <translation type="unfinished"></translation> + <translation>Uveljavi</translation> </message> <message> <location line="+43"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="+45"/> <source>Defaults</source> - <translation type="unfinished"></translation> + <translation>Privzetosti</translation> </message> <message> <location line="+50"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> </context> <context> @@ -617,38 +668,38 @@ to <message> <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/> <source>&Undo</source> - <translation type="unfinished"></translation> + <translation>&Razveljavi</translation> </message> <message> <location line="+1"/> <source>&Redo</source> - <translation type="unfinished"></translation> + <translation>&Uveljavi</translation> </message> <message> <location line="+5"/> <source>Cu&t</source> - <translation type="unfinished"></translation> + <translation>&Izreži</translation> </message> <message> <location line="+1"/> <source>&Copy</source> - <translation type="unfinished"></translation> + <translation>S&kopiraj</translation> </message> <message> <location line="+2"/> <source>&Paste</source> - <translation type="unfinished"></translation> + <translation>Pri&lepi</translation> </message> <message> <location line="+3"/> <source>Clear</source> - <translation type="unfinished"></translation> + <translation>PoÄisti</translation> </message> <message> <location line="+4"/> <location line="+2"/> <source>Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> </context> <context> @@ -656,67 +707,67 @@ to <message> <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/> <source>System</source> - <translation type="unfinished"></translation> + <translation>Sistem</translation> </message> <message> <location line="+3"/> <source>Restore up</source> - <translation type="unfinished"></translation> + <translation>Obnovi</translation> </message> <message> <location line="+1"/> <source>Minimize</source> - <translation type="unfinished"></translation> + <translation>PomanjÅ¡aj</translation> </message> <message> <location line="+3"/> <source>Restore down</source> - <translation type="unfinished"></translation> + <translation>Obnovi</translation> </message> <message> <location line="+1"/> <source>Maximize</source> - <translation type="unfinished"></translation> + <translation>Razpni</translation> </message> <message> <location line="+2"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> <location line="+18"/> <source>Contains commands to manipulate the window</source> - <translation type="unfinished"></translation> + <translation>Vsebuje ukaze za upravljanje z oknom</translation> </message> <message> <location line="+3"/> - <source>Puts a minimized back to normal</source> - <translation type="unfinished"></translation> + <source>Puts a minimized window back to normal</source> + <translation>Obnovi pomanjÅ¡ano okno na obiÄajno velikost</translation> </message> <message> <location line="+1"/> <source>Moves the window out of the way</source> - <translation type="unfinished"></translation> + <translation>Umakne okno, da ni v napoto</translation> </message> <message> <location line="+3"/> <source>Puts a maximized window back to normal</source> - <translation type="unfinished"></translation> + <translation>Obnovi razpeto okno</translation> </message> <message> <location line="+1"/> <source>Makes the window full screen</source> - <translation type="unfinished"></translation> + <translation>Razpne okno Äez ves zaslon</translation> </message> <message> <location line="+2"/> <source>Closes the window</source> - <translation type="unfinished"></translation> + <translation>Zapre okno</translation> </message> <message> <location line="+2"/> <source>Displays the name of the window and contains controls to manipulate it</source> - <translation type="unfinished"></translation> + <translation>Prikazuje ime okna in vsebuje gumbe za nadzor okna</translation> </message> </context> <context> @@ -724,7 +775,7 @@ to <message> <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/> <source>More...</source> - <translation type="unfinished"></translation> + <translation>VeÄ ...</translation> </message> </context> <context> @@ -734,49 +785,49 @@ to <location line="+260"/> <location line="+4"/> <source>The protocol `%1' is not supported</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ni podprt.</translation> </message> <message> <location line="-260"/> <source>The protocol `%1' does not support listing directories</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira izpisa seznama map.</translation> </message> <message> <location line="+3"/> <source>The protocol `%1' does not support creating new directories</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira ustvarjanja novih map.</translation> </message> <message> <location line="+3"/> <source>The protocol `%1' does not support removing files or directories</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira odstranjevanja datotek ali map.</translation> </message> <message> <location line="+3"/> <source>The protocol `%1' does not support renaming files or directories</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira preimenovanja datotek ali map.</translation> </message> <message> <location line="+3"/> <source>The protocol `%1' does not support getting files</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira prejemanja datotek.</translation> </message> <message> <location line="+3"/> <source>The protocol `%1' does not support putting files</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira poÅ¡iljanja datotek.</translation> </message> <message> <location line="+243"/> <location line="+4"/> <source>The protocol `%1' does not support copying or moving files or directories</source> - <translation type="unfinished"></translation> + <translation>Protokol »%1« ne podpira kopiranja ali premikanja datotek ali map.</translation> </message> <message> <location line="+237"/> <location line="+1"/> <source>(unknown)</source> - <translation type="unfinished"></translation> + <translation>(neznano)</translation> </message> </context> <context> @@ -784,90 +835,90 @@ to <message> <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/> <source>&Cancel</source> - <translation type="unfinished"></translation> + <translation>&PrekliÄi</translation> </message> <message> <location line="+1"/> <source>< &Back</source> - <translation type="unfinished"></translation> + <translation>< Na&zaj</translation> </message> <message> <location line="+1"/> <source>&Next ></source> - <translation type="unfinished"></translation> + <translation>&Naprej ></translation> </message> <message> <location line="+1"/> <source>&Finish</source> - <translation type="unfinished"></translation> + <translation>&KonÄaj</translation> </message> <message> <location line="+1"/> <source>&Help</source> - <translation type="unfinished"></translation> + <translation>&PomoÄ</translation> </message> </context> <context> <name>QAbstractSocket</name> <message> - <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/> - <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/> - <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/> + <location filename="../src/network/socket/qabstractsocket.cpp" line="+890"/> + <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+633"/> + <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/> <location line="+26"/> <source>Host not found</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ najti gostitelja</translation> </message> <message> <location line="+50"/> <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+3"/> <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+4"/> <source>Connection refused</source> - <translation type="unfinished"></translation> + <translation>Povezava je zavrnjena</translation> </message> <message> - <location line="+141"/> + <location line="+142"/> <source>Connection timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za povezavo je potekel</translation> </message> <message> - <location line="-547"/> - <location line="+787"/> + <location line="-548"/> + <location line="+789"/> <location line="+208"/> <source>Operation on socket is not supported</source> - <translation type="unfinished"></translation> + <translation>Dejanje na vtiÄnici ni podprto</translation> </message> <message> - <location line="+137"/> + <location line="+187"/> <source>Socket operation timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za dejanje na vtiÄnici je potekel</translation> </message> <message> <location line="+380"/> <source>Socket is not connected</source> - <translation type="unfinished"></translation> + <translation>VtiÄnica ni povezana.</translation> </message> <message> <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-8"/> <source>Network unreachable</source> - <translation type="unfinished"></translation> + <translation>Omrežje ni dosegljivo</translation> </message> </context> <context> <name>QAbstractSpinBox</name> <message> - <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/> + <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1217"/> <source>&Step up</source> - <translation type="unfinished"></translation> + <translation>Korak &gor</translation> </message> <message> <location line="+2"/> <source>Step &down</source> - <translation type="unfinished"></translation> + <translation>Korak &dol</translation> </message> <message> <location line="-8"/> <source>&Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi &vse</translation> </message> </context> <context> @@ -875,27 +926,138 @@ to <message> <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/> <source>Activate</source> - <translation type="unfinished"></translation> + <translation>Aktiviraj</translation> </message> <message> - <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/> + <location filename="../src/gui/dialogs/qmessagebox.h" line="+354"/> <source>Executable '%1' requires Qt %2, found Qt %3.</source> - <translation type="unfinished"></translation> + <translation>IzvrÅ¡ljiva datoteka »%1« potrebuje Qt %2, najden pa je bil Qt %3.</translation> </message> <message> <location line="+2"/> <source>Incompatible Qt Library Error</source> - <translation type="unfinished"></translation> + <translation>Napaka nezdružljivosti knjižnice Qt</translation> </message> <message> - <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/> + <location filename="../src/gui/kernel/qapplication.cpp" line="+2306"/> <source>QT_LAYOUT_DIRECTION</source> <comment>Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment> - <translation type="unfinished"></translation> + <translation>LTR</translation> </message> <message> <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+2"/> <source>Activates the program's main window</source> + <translation>Aktivira glavno okno programa</translation> + </message> +</context> +<context> + <name>QAudioInputPrivate</name> + <message> + <location filename="../src/multimedia/audio/qaudioinput_alsa_p.cpp" line="-367"/> + <source>QAudioInput: snd_pcm_hw_params_any: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>QAudioInput: snd_pcm_hw_params_set_rate_resample: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_access: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_format: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_channels: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_rate_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_buffer_time_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_period_time_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params_set_periods_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioInput: snd_pcm_hw_params: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+98"/> + <source>PULL: read in bytes = %1 (frames=%2)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QAudioOutputPrivate</name> + <message> + <location filename="../src/multimedia/audio/qaudiooutput_alsa_p.cpp" line="+307"/> + <source>QAudioOutput: snd_pcm_hw_params_any: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>QAudioOutput: snd_pcm_hw_params_set_rate_resample: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_access: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_format: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_channels: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_rate_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_period_time_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params_set_periods_near: err = %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>QAudioOutput: snd_pcm_hw_params: err = %1</source> <translation type="unfinished"></translation> </message> </context> @@ -904,22 +1066,22 @@ to <message> <location filename="../src/activeqt/container/qaxselect.ui"/> <source>Select ActiveX Control</source> - <translation type="unfinished"></translation> + <translation>Izberite kontrolnik ActiveX</translation> </message> <message> <location/> <source>OK</source> - <translation type="unfinished"></translation> + <translation>V redu</translation> </message> <message> <location/> <source>&Cancel</source> - <translation type="unfinished"></translation> + <translation>&PrekliÄi</translation> </message> <message> <location/> <source>COM &Object:</source> - <translation type="unfinished"></translation> + <translation>&Objekt COM:</translation> </message> </context> <context> @@ -927,75 +1089,75 @@ to <message> <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/> <source>Uncheck</source> - <translation type="unfinished"></translation> + <translation>OdznaÄi</translation> </message> <message> <location line="+3"/> <source>Check</source> - <translation type="unfinished"></translation> + <translation>OznaÄi</translation> </message> <message> <location line="+1"/> <source>Toggle</source> - <translation type="unfinished"></translation> + <translation>Preklopi</translation> </message> </context> <context> <name>QColorDialog</name> <message> - <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/> + <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1348"/> <source>Hu&e:</source> - <translation type="unfinished"></translation> + <translation>&Odtenek:</translation> </message> <message> <location line="+1"/> <source>&Sat:</source> - <translation type="unfinished"></translation> + <translation>&ZasiÄenost:</translation> </message> <message> <location line="+1"/> <source>&Val:</source> - <translation type="unfinished"></translation> + <translation>&Vrednost:</translation> </message> <message> <location line="+1"/> <source>&Red:</source> - <translation type="unfinished"></translation> + <translation>&RdeÄa:</translation> </message> <message> <location line="+1"/> <source>&Green:</source> - <translation type="unfinished"></translation> + <translation>&Zelena:</translation> </message> <message> <location line="+1"/> <source>Bl&ue:</source> - <translation type="unfinished"></translation> + <translation>&Modra:</translation> </message> <message> <location line="+1"/> <source>A&lpha channel:</source> - <translation type="unfinished"></translation> + <translation>Kanal &alfa:</translation> </message> <message> <location line="+101"/> <source>Select Color</source> - <translation type="unfinished"></translation> + <translation>Izberite barvo</translation> </message> <message> - <location line="+137"/> + <location line="+178"/> <source>&Basic colors</source> - <translation type="unfinished"></translation> + <translation>&Osnovne barve</translation> </message> <message> <location line="+1"/> <source>&Custom colors</source> - <translation type="unfinished"></translation> + <translation>Barve po &meri</translation> </message> <message> <location line="+1"/> <source>&Add to Custom Colors</source> - <translation type="unfinished"></translation> + <translation>&Dodaj lastnim barvam</translation> </message> </context> <context> @@ -1004,22 +1166,22 @@ to <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/> <location line="+65"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> <message> - <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/> + <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+556"/> <source>False</source> - <translation type="unfinished"></translation> + <translation>NapaÄno</translation> </message> <message> <location line="+1"/> <source>True</source> - <translation type="unfinished"></translation> + <translation>Pravilno</translation> </message> <message> <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+0"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> </context> <context> @@ -1028,99 +1190,123 @@ to <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/> <source>%1: key is empty</source> <comment>QSystemSemaphore</comment> - <translation type="unfinished"></translation> + <translation>%1: kljuÄ je prazen</translation> </message> <message> <location line="+12"/> <source>%1: unable to make key</source> <comment>QSystemSemaphore</comment> - <translation type="unfinished"></translation> + <translation>%1: ni moÄ ustvariti kljuÄa</translation> </message> <message> <location line="+9"/> <source>%1: ftok failed</source> <comment>QSystemSemaphore</comment> - <translation type="unfinished"></translation> + <translation>%1: funkcija ftok ni uspela</translation> + </message> + <message> + <location filename="../src/corelib/kernel/qsystemsemaphore_symbian.cpp" line="+65"/> + <source>%1: already exists</source> + <comment>QSystemSemaphore</comment> + <translation>%1: že obstaja</translation> + </message> + <message> + <location line="+4"/> + <source>%1: does not exist</source> + <comment>QSystemSemaphore</comment> + <translation type="unfinished">%1: ne obstaja</translation> + </message> + <message> + <location line="+5"/> + <source>%1: out of resources</source> + <comment>QSystemSemaphore</comment> + <translation>%1: zmanjkalo je virov</translation> + </message> + <message> + <location line="+4"/> + <source>%1: unknown error %2</source> + <comment>QSystemSemaphore</comment> + <translation>%1: neznana napaka %2</translation> </message> </context> <context> <name>QDB2Driver</name> <message> - <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/> + <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1254"/> <source>Unable to connect</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ vzpostaviti povezave</translation> </message> <message> - <location line="+303"/> + <location line="+298"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+17"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> <message> <location line="+15"/> <source>Unable to set autocommit</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ nastaviti samodejnega udejanjanja</translation> </message> </context> <context> <name>QDB2Result</name> <message> - <location line="-1043"/> - <location line="+243"/> + <location line="-1031"/> + <location line="+240"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> <message> - <location line="-206"/> + <location line="-203"/> <source>Unable to prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pripraviti izjave</translation> </message> <message> - <location line="+196"/> + <location line="+193"/> <source>Unable to bind variable</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti spremenljivke</translation> </message> <message> - <location line="+92"/> + <location line="+89"/> <source>Unable to fetch record %1</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti zapisa %1</translation> </message> <message> - <location line="+17"/> + <location line="+19"/> <source>Unable to fetch next</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti sledeÄega</translation> </message> <message> - <location line="+20"/> + <location line="+21"/> <source>Unable to fetch first</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti prvega</translation> </message> </context> <context> <name>QDateTimeEdit</name> <message> - <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/> + <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2287"/> <source>AM</source> - <translation type="unfinished"></translation> + <translation>dop.</translation> </message> <message> <location line="+0"/> <source>am</source> - <translation type="unfinished"></translation> + <translation>dop.</translation> </message> <message> <location line="+2"/> <source>PM</source> - <translation type="unfinished"></translation> + <translation>pop.</translation> </message> <message> <location line="+0"/> <source>pm</source> - <translation type="unfinished"></translation> + <translation>pop.</translation> </message> </context> <context> @@ -1128,185 +1314,185 @@ to <message> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/> <source>QDial</source> - <translation type="unfinished"></translation> + <translation>QDial</translation> </message> <message> <location line="+2"/> <source>SpeedoMeter</source> - <translation type="unfinished"></translation> + <translation>SpeedoMeter</translation> </message> <message> <location line="+2"/> <source>SliderHandle</source> - <translation type="unfinished"></translation> + <translation>SliderHandle</translation> </message> </context> <context> <name>QDialog</name> <message> - <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/> + <location filename="../src/gui/dialogs/qdialog.cpp" line="+636"/> <source>What's This?</source> - <translation type="unfinished"></translation> + <translation>Kaj je to?</translation> </message> <message> - <location line="-115"/> + <location line="-135"/> <source>Done</source> - <translation type="unfinished"></translation> + <translation>Opravljeno</translation> </message> </context> <context> <name>QDialogButtonBox</name> <message> - <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/> + <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/> <location line="+464"/> - <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/> + <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+619"/> <source>OK</source> - <translation type="unfinished"></translation> + <translation>V redu</translation> </message> <message> <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+0"/> <source>&OK</source> - <translation type="unfinished"></translation> + <translation>&V redu</translation> </message> <message> <location line="+3"/> <source>&Save</source> - <translation type="unfinished"></translation> + <translation>&Shrani</translation> </message> <message> <location line="+0"/> <source>Save</source> - <translation type="unfinished"></translation> + <translation>Shrani</translation> </message> <message> <location line="+3"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> <message> <location line="+3"/> <source>&Cancel</source> - <translation type="unfinished"></translation> + <translation>&PrekliÄi</translation> </message> <message> <location line="+0"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> <message> <location line="+3"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> <message> <location line="+0"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> <location line="+3"/> <source>Apply</source> - <translation type="unfinished"></translation> + <translation>Uveljavi</translation> </message> <message> <location line="+3"/> <source>Reset</source> - <translation type="unfinished"></translation> + <translation>Ponastavi</translation> </message> <message> <location line="+3"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="+4"/> <source>Don't Save</source> - <translation type="unfinished"></translation> + <translation>Ne shrani</translation> </message> <message> <location line="+4"/> <source>Discard</source> - <translation type="unfinished"></translation> + <translation>Zavrzi</translation> </message> <message> <location line="+3"/> <source>&Yes</source> - <translation type="unfinished"></translation> + <translation>&Da</translation> </message> <message> <location line="+3"/> <source>Yes to &All</source> - <translation type="unfinished"></translation> + <translation>Da za &vse</translation> </message> <message> <location line="+3"/> <source>&No</source> - <translation type="unfinished"></translation> + <translation>&Ne</translation> </message> <message> <location line="+3"/> <source>N&o to All</source> - <translation type="unfinished"></translation> + <translation>N&e za vse</translation> </message> <message> <location line="+3"/> <source>Save All</source> - <translation type="unfinished"></translation> + <translation>Shrani vse</translation> </message> <message> <location line="+3"/> <source>Abort</source> - <translation type="unfinished"></translation> + <translation>Prekini</translation> </message> <message> <location line="+3"/> <source>Retry</source> - <translation type="unfinished"></translation> + <translation>Poskusi znova</translation> </message> <message> <location line="+3"/> <source>Ignore</source> - <translation type="unfinished"></translation> + <translation>Spreglej</translation> </message> <message> <location line="+3"/> <source>Restore Defaults</source> - <translation type="unfinished"></translation> + <translation>Obnovi privzete vrednosti</translation> </message> <message> <location line="-29"/> <source>Close without Saving</source> - <translation type="unfinished"></translation> + <translation>Zapri brez shranjevanja</translation> </message> </context> <context> <name>QDirModel</name> <message> - <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+457"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+1"/> <source>Size</source> - <translation type="unfinished"></translation> + <translation>Velikost</translation> </message> <message> <location line="+3"/> <source>Kind</source> <comment>Match OS X Finder</comment> - <translation type="unfinished"></translation> + <translation>Vrste</translation> </message> <message> <location line="+2"/> <source>Type</source> <comment>All other platforms</comment> - <translation type="unfinished"></translation> + <translation>Vrsta</translation> </message> <message> <location line="+6"/> <source>Date Modified</source> - <translation type="unfinished"></translation> + <translation>Datum spremembe</translation> </message> </context> <context> @@ -1314,17 +1500,17 @@ to <message> <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> <location line="+2"/> <source>Dock</source> - <translation type="unfinished"></translation> + <translation>Zasidraj</translation> </message> <message> <location line="+1"/> <source>Float</source> - <translation type="unfinished"></translation> + <translation>Naj lebdi</translation> </message> </context> <context> @@ -1332,286 +1518,320 @@ to <message> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-537"/> <source>More</source> - <translation type="unfinished"></translation> + <translation>VeÄ</translation> </message> <message> <location line="+2"/> <source>Less</source> - <translation type="unfinished"></translation> + <translation>Manj</translation> </message> </context> <context> <name>QErrorMessage</name> <message> - <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/> + <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+208"/> <source>Debug Message:</source> - <translation type="unfinished"></translation> + <translation>SporoÄilo razhroÅ¡Äevanja:</translation> </message> <message> <location line="+3"/> <source>Warning:</source> - <translation type="unfinished"></translation> + <translation>Opozorilo:</translation> </message> <message> <location line="+3"/> <source>Fatal Error:</source> - <translation type="unfinished"></translation> + <translation>Usodna napaka:</translation> </message> <message> - <location line="+193"/> + <location line="+199"/> <source>&Show this message again</source> - <translation type="unfinished"></translation> + <translation>&To sporoÄilo naslednjiÄ spet prikaži</translation> </message> <message> <location line="+1"/> <source>&OK</source> - <translation type="unfinished"></translation> + <translation>&V redu</translation> </message> </context> <context> <name>QFile</name> <message> - <location filename="../src/corelib/io/qfile.cpp" line="+708"/> - <location line="+141"/> + <location filename="../src/corelib/io/qfile.cpp" line="+697"/> + <location line="+155"/> <source>Destination file exists</source> + <translation>Ciljna datoteka obstaja</translation> + </message> + <message> + <location line="-140"/> + <source>Will not rename sequential file using block copy</source> <translation type="unfinished"></translation> </message> <message> - <location line="-108"/> + <location line="+23"/> <source>Cannot remove source file</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odstraniti izvorne datoteke</translation> </message> <message> - <location line="+120"/> + <location line="+130"/> <source>Cannot open %1 for input</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti %1 za vhod</translation> </message> <message> <location line="+17"/> <source>Cannot open for output</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti za izhod</translation> </message> <message> <location line="+10"/> <source>Failure to write block</source> - <translation type="unfinished"></translation> + <translation>Neuspeh pri zapisovanju bloka</translation> </message> <message> <location line="+13"/> <source>Cannot create %1 for output</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ustvariti %1 za izhod</translation> </message> </context> <context> <name>QFileDialog</name> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/> - <location line="+444"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+556"/> + <location line="+450"/> <source>All Files (*)</source> - <translation type="unfinished"></translation> + <translation>Vse datoteke (*)</translation> </message> <message> - <location line="+222"/> + <location line="+227"/> <source>Directories</source> - <translation type="unfinished"></translation> + <translation>Mape</translation> </message> <message> <location line="-3"/> <location line="+50"/> - <location line="+1471"/> - <location line="+75"/> + <location line="+1528"/> <source>&Open</source> - <translation type="unfinished"></translation> + <translation>&Odpri</translation> </message> <message> - <location line="-1596"/> + <location line="-1578"/> <location line="+50"/> <source>&Save</source> - <translation type="unfinished"></translation> + <translation>&Shrani</translation> </message> <message> - <location line="-730"/> + <location line="-741"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> <message> - <location line="+1515"/> + <location line="+1508"/> <source>%1 already exists. Do you want to replace it?</source> - <translation type="unfinished"></translation> + <translation>%1 že obstaja. +Ali jo želite nadomestiti?</translation> </message> <message> <location line="+20"/> <source>%1 File not found. Please verify the correct file name was given.</source> - <translation type="unfinished"></translation> + <translation>%1 +Datoteka ni bila najdena. +Preverite, ali je bilo podano pravilno ime datoteke.</translation> </message> <message> <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/> <source>My Computer</source> - <translation type="unfinished"></translation> + <translation>Moj raÄunalnik</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1497"/> <source>&Rename</source> - <translation type="unfinished"></translation> + <translation>Pre&imenuj</translation> </message> <message> <location line="+1"/> <source>&Delete</source> - <translation type="unfinished"></translation> + <translation>&IzbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Show &hidden files</source> - <translation type="unfinished"></translation> + <translation>Prikaži &skrite datoteke</translation> </message> <message> <location filename="../src/gui/dialogs/qfiledialog.ui"/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Back</source> - <translation type="unfinished"></translation> + <translation>Nazaj</translation> </message> <message> <location/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Parent Directory</source> - <translation type="unfinished"></translation> + <translation>MatiÄna mapa</translation> </message> <message> <location/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>List View</source> - <translation type="unfinished"></translation> + <translation>Prikaz seznama</translation> </message> <message> <location/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Detail View</source> - <translation type="unfinished"></translation> + <translation>Prikaz podrobnosti</translation> </message> <message> <location/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Files of type:</source> - <translation type="unfinished"></translation> + <translation>Datoteke vrste:</translation> </message> <message> <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/> - <location line="+648"/> + <location line="+659"/> <source>Directory:</source> - <translation type="unfinished"></translation> + <translation>Mapa:</translation> </message> <message> - <location line="+794"/> + <location line="+776"/> <location line="+862"/> <source>%1 Directory not found. Please verify the correct directory name was given.</source> - <translation type="unfinished"></translation> + <translation>%1 +Mapa ni bila najdena. +Preverite, ali je bilo podano pravilno ime mape.</translation> </message> <message> <location line="-218"/> <source>'%1' is write protected. Do you want to delete it anyway?</source> - <translation type="unfinished"></translation> + <translation>»%1« je zaÅ¡Äitena pred pisanjem. +Ali jo kljub temu želite izbrisati?</translation> </message> <message> <location line="+5"/> <source>Are sure you want to delete '%1'?</source> - <translation type="unfinished"></translation> + <translation>Ali res želite izbrisati »%1«?</translation> </message> <message> <location line="+15"/> <source>Could not delete directory.</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ izbrisati mape.</translation> </message> <message> - <location line="+407"/> + <location line="+404"/> <source>Recent Places</source> - <translation type="unfinished"></translation> + <translation>Nedavna mesta</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/> + <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+174"/> <source>All Files (*.*)</source> - <translation type="unfinished"></translation> + <translation>Vse datoteke (*.*)</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2540"/> <source>Save As</source> - <translation type="unfinished"></translation> + <translation>Shrani kot</translation> </message> <message> - <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/> + <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+441"/> <source>Drive</source> - <translation type="unfinished"></translation> + <translation>Pogon</translation> </message> <message> <location line="+3"/> <location line="+1"/> <source>File</source> - <translation type="unfinished"></translation> + <translation>Datoteka</translation> </message> <message> - <location line="+29"/> + <location line="+5"/> + <source>File Folder</source> + <comment>Match Windows Explorer</comment> + <translation>Mapa z datotekami</translation> + </message> + <message> + <location line="+2"/> + <source>Folder</source> + <comment>All other platforms</comment> + <translation>Mapa</translation> + </message> + <message> + <location line="+9"/> + <source>Alias</source> + <comment>Mac OS X Finder</comment> + <translation>Drugo ime</translation> + </message> + <message> + <location line="+2"/> + <source>Shortcut</source> + <comment>All other platforms</comment> + <translation>Bližnjica</translation> + </message> + <message> + <location line="+7"/> <source>Unknown</source> - <translation type="unfinished"></translation> + <translation>Neznano</translation> </message> <message> <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/> <source>Find Directory</source> - <translation type="unfinished"></translation> + <translation>Najdi mapo</translation> </message> <message> <location line="+29"/> <source>Show </source> - <translation type="unfinished"></translation> + <translation>Prikaži </translation> </message> <message> <location filename="../src/gui/dialogs/qfiledialog.ui"/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Forward</source> - <translation type="unfinished"></translation> + <translation>Naprej</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1963"/> <source>New Folder</source> - <translation type="unfinished"></translation> + <translation>Nova mapa</translation> </message> <message> - <location line="-1963"/> + <location line="-1956"/> <source>&New Folder</source> - <translation type="unfinished"></translation> + <translation>&Nova mapa</translation> </message> <message> - <location line="+656"/> + <location line="+667"/> <location line="+38"/> <source>&Choose</source> - <translation type="unfinished"></translation> + <translation>Iz&berite</translation> </message> <message> - <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/> + <location filename="../src/gui/dialogs/qsidebar.cpp" line="+442"/> <source>Remove</source> - <translation type="unfinished"></translation> + <translation>Odstrani</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/> - <location line="+652"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-698"/> + <location line="+663"/> <source>File &name:</source> - <translation type="unfinished"></translation> + <translation>Ime &datoteke:</translation> </message> <message> <location filename="../src/gui/dialogs/qfiledialog.ui"/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Look in:</source> - <translation type="unfinished"></translation> + <translation>IÅ¡Äi v:</translation> </message> <message> <location/> - <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/> + <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/> <source>Create New Folder</source> - <translation type="unfinished"></translation> + <translation>Ustvari novo mapo</translation> </message> </context> <context> @@ -1619,379 +1839,384 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/> <source>Invalid filename</source> - <translation type="unfinished"></translation> + <translation>NapaÄno ime datoteke</translation> </message> <message> <location line="+1"/> <source><b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks.</source> - <translation type="unfinished"></translation> + <translation><b>Imena »%1« ne morete uporabiti.</b><p>Poskusite z drugim imenom, ki vsebuje manj znakov ali pa ne vsebuje loÄil.</translation> </message> <message> - <location line="+63"/> + <location line="+64"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+2"/> <source>Size</source> - <translation type="unfinished"></translation> + <translation>Velikost</translation> </message> <message> <location line="+4"/> <source>Kind</source> <comment>Match OS X Finder</comment> - <translation type="unfinished"></translation> + <translation>Vrste</translation> </message> <message> <location line="+2"/> <source>Type</source> <comment>All other platforms</comment> - <translation type="unfinished"></translation> + <translation>Vrsta</translation> </message> <message> <location line="+7"/> <source>Date Modified</source> - <translation type="unfinished"></translation> + <translation>Datum spremembe</translation> </message> <message> - <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/> + <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+258"/> <source>My Computer</source> - <translation type="unfinished"></translation> + <translation>Moj raÄunalnik</translation> </message> <message> <location line="+2"/> <source>Computer</source> - <translation type="unfinished"></translation> + <translation>RaÄunalnik</translation> </message> <message> - <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-163"/> + <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-164"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+476"/> <source>%1 TB</source> - <translation type="unfinished"></translation> + <translation>%1 TiB</translation> </message> <message> <location line="+2"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/> <source>%1 GB</source> - <translation type="unfinished"></translation> + <translation>%1 GiB</translation> </message> <message> <location line="+2"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/> <source>%1 MB</source> - <translation type="unfinished"></translation> + <translation>%1 MiB</translation> </message> <message> <location line="+2"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/> <source>%1 KB</source> - <translation type="unfinished"></translation> + <translation>%1 KiB</translation> </message> <message> <location line="+1"/> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/> <source>%1 bytes</source> - <translation type="unfinished"></translation> + <translation>%1 B</translation> </message> </context> <context> <name>QFontDatabase</name> <message> - <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/> - <location line="+1176"/> + <location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/> + <location line="+1330"/> <source>Normal</source> - <translation type="unfinished"></translation> + <translation>Normalno</translation> </message> <message> - <location line="-1173"/> + <location line="-1327"/> <location line="+12"/> - <location line="+1149"/> + <location line="+1303"/> <source>Bold</source> - <translation type="unfinished"></translation> + <translation>Polkrepko</translation> </message> <message> - <location line="-1158"/> - <location line="+1160"/> + <location line="-1312"/> + <location line="+1314"/> <source>Demi Bold</source> <translation type="unfinished"></translation> </message> <message> - <location line="-1157"/> + <location line="-1311"/> <location line="+18"/> - <location line="+1135"/> + <location line="+1289"/> <source>Black</source> - <translation type="unfinished"></translation> + <translation type="unfinished">ÄŒrni</translation> </message> <message> - <location line="-1145"/> + <location line="-1299"/> <source>Demi</source> <translation type="unfinished"></translation> </message> <message> <location line="+6"/> - <location line="+1145"/> + <location line="+1299"/> <source>Light</source> - <translation type="unfinished"></translation> + <translation>Lahko</translation> </message> <message> - <location line="-1004"/> - <location line="+1007"/> + <location line="-1153"/> + <location line="+1156"/> <source>Italic</source> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> - <location line="-1004"/> - <location line="+1006"/> + <location line="-1153"/> + <location line="+1155"/> <source>Oblique</source> - <translation type="unfinished"></translation> + <translation>Nagnjeno</translation> </message> <message> - <location line="+705"/> + <location line="+703"/> <source>Any</source> - <translation type="unfinished"></translation> + <translation>Katerikoli</translation> </message> <message> <location line="+3"/> <source>Latin</source> - <translation type="unfinished"></translation> + <translation>Latinska</translation> </message> <message> <location line="+3"/> <source>Greek</source> - <translation type="unfinished"></translation> + <translation>GrÅ¡ka</translation> </message> <message> <location line="+3"/> <source>Cyrillic</source> - <translation type="unfinished"></translation> + <translation>Cirilica</translation> </message> <message> <location line="+3"/> <source>Armenian</source> - <translation type="unfinished"></translation> + <translation>Armenska</translation> </message> <message> <location line="+3"/> <source>Hebrew</source> - <translation type="unfinished"></translation> + <translation>Hebrejska</translation> </message> <message> <location line="+3"/> <source>Arabic</source> - <translation type="unfinished"></translation> + <translation>Arabska</translation> </message> <message> <location line="+3"/> <source>Syriac</source> - <translation type="unfinished"></translation> + <translation>Sirijska</translation> </message> <message> <location line="+3"/> <source>Thaana</source> - <translation type="unfinished"></translation> + <translation>Thaana</translation> </message> <message> <location line="+3"/> <source>Devanagari</source> - <translation type="unfinished"></translation> + <translation>Devanagari</translation> </message> <message> <location line="+3"/> <source>Bengali</source> - <translation type="unfinished"></translation> + <translation>Bengalska</translation> </message> <message> <location line="+3"/> <source>Gurmukhi</source> - <translation type="unfinished"></translation> + <translation>Gurmukhi</translation> </message> <message> <location line="+3"/> <source>Gujarati</source> - <translation type="unfinished"></translation> + <translation>Gujarati</translation> </message> <message> <location line="+3"/> <source>Oriya</source> - <translation type="unfinished"></translation> + <translation type="unfinished">oriya</translation> </message> <message> <location line="+3"/> <source>Tamil</source> - <translation type="unfinished"></translation> + <translation>Tamilska</translation> </message> <message> <location line="+3"/> <source>Telugu</source> - <translation type="unfinished"></translation> + <translation>TeluÅ¡ka</translation> </message> <message> <location line="+3"/> <source>Kannada</source> - <translation type="unfinished"></translation> + <translation type="unfinished">kannada</translation> </message> <message> <location line="+3"/> <source>Malayalam</source> - <translation type="unfinished"></translation> + <translation type="unfinished">malayalam</translation> </message> <message> <location line="+3"/> <source>Sinhala</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Sinhala</translation> </message> <message> <location line="+3"/> <source>Thai</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tajski</translation> </message> <message> <location line="+3"/> <source>Lao</source> - <translation type="unfinished"></translation> + <translation type="unfinished">LaoÅ¡ka</translation> </message> <message> <location line="+3"/> <source>Tibetan</source> - <translation type="unfinished"></translation> + <translation type="unfinished">tibetansko</translation> </message> <message> <location line="+3"/> <source>Myanmar</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Mjanmar</translation> </message> <message> <location line="+3"/> <source>Georgian</source> - <translation type="unfinished"></translation> + <translation type="unfinished">gruzijsko</translation> </message> <message> <location line="+3"/> <source>Khmer</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Kmersko</translation> </message> <message> <location line="+3"/> <source>Simplified Chinese</source> - <translation type="unfinished"></translation> + <translation>Poenostavljena kitajska</translation> </message> <message> <location line="+3"/> <source>Traditional Chinese</source> - <translation type="unfinished"></translation> + <translation>Tradicionalna kitajska</translation> </message> <message> <location line="+3"/> <source>Japanese</source> - <translation type="unfinished"></translation> + <translation>Japonska</translation> </message> <message> <location line="+3"/> <source>Korean</source> - <translation type="unfinished"></translation> + <translation>Korejska</translation> </message> <message> <location line="+3"/> <source>Vietnamese</source> - <translation type="unfinished"></translation> + <translation>Vietnamska</translation> </message> <message> <location line="+3"/> <source>Symbol</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Znak</translation> </message> <message> <location line="+3"/> <source>Ogham</source> - <translation type="unfinished"></translation> + <translation>Oghamska</translation> </message> <message> <location line="+3"/> <source>Runic</source> - <translation type="unfinished"></translation> + <translation>Runska</translation> </message> </context> <context> <name>QFontDialog</name> <message> - <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/> + <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+774"/> <source>&Font</source> - <translation type="unfinished"></translation> + <translation>&Pisava</translation> </message> <message> <location line="+1"/> <source>Font st&yle</source> - <translation type="unfinished"></translation> + <translation>&Slog pisave</translation> </message> <message> <location line="+1"/> <source>&Size</source> - <translation type="unfinished"></translation> + <translation>&Velikost</translation> </message> <message> - <location line="+1"/> + <location line="+4"/> <source>Effects</source> - <translation type="unfinished"></translation> + <translation>UÄinki</translation> </message> <message> - <location line="+1"/> + <location line="+2"/> <source>Stri&keout</source> - <translation type="unfinished"></translation> + <translation>P&reÄrtaj</translation> </message> <message> <location line="+1"/> <source>&Underline</source> - <translation type="unfinished"></translation> + <translation>Po&dÄrtaj</translation> </message> <message> <location line="+1"/> <source>Sample</source> - <translation type="unfinished"></translation> + <translation>Vzorec</translation> </message> <message> <location line="+1"/> <source>Wr&iting System</source> - <translation type="unfinished"></translation> + <translation>S&istem pisanja</translation> </message> <message> - <location line="-604"/> - <location line="+247"/> + <location line="-607"/> + <location line="+257"/> <source>Select Font</source> - <translation type="unfinished"></translation> + <translation>Izberite pisavo</translation> </message> </context> <context> <name>QFtp</name> <message> - <location filename="../src/network/access/qftp.cpp" line="+826"/> + <location filename="../src/network/access/qftp.cpp" line="+828"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/> <source>Not connected</source> - <translation type="unfinished"></translation> + <translation>Brez povezave</translation> </message> <message> - <location line="+65"/> + <location line="+68"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+65"/> <source>Host %1 not found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj %1 ni bil najden</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+4"/> <source>Connection refused to host %1</source> - <translation type="unfinished"></translation> + <translation>Povezava z gostiteljem %1 je bila zavrnjena</translation> </message> <message> <location line="+4"/> <source>Connection timed out to host %1</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za povezavo z gostiteljem %1 je potekel</translation> </message> <message> <location line="+104"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+102"/> <location line="+1451"/> <source>Connected to host %1</source> - <translation type="unfinished"></translation> + <translation>Povezan z gostiteljem %1</translation> </message> <message> <location line="+219"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="-1290"/> <source>Connection refused for data connection</source> - <translation type="unfinished"></translation> + <translation>Podatkovna povezava je bila zavrnjena</translation> </message> <message> <location line="+178"/> @@ -1999,97 +2224,106 @@ Do you want to delete it anyway?</source> <location filename="../src/qt3support/network/q3ftp.cpp" line="+195"/> <location line="+728"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> - <location line="+889"/> + <location line="+891"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/> <source>Connecting to host failed: %1</source> - <translation type="unfinished"></translation> + <translation>Povezovanje z gostiteljem %1 ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Login failed: %1</source> - <translation type="unfinished"></translation> + <translation>Prijava ni uspela: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Listing directory failed: %1</source> - <translation type="unfinished"></translation> + <translation>Izpis seznama map ni uspel: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Changing directory failed: %1</source> - <translation type="unfinished"></translation> + <translation>Spreminjanje mape ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Downloading file failed: %1</source> - <translation type="unfinished"></translation> + <translation>Prejemanje datoteke ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Uploading file failed: %1</source> - <translation type="unfinished"></translation> + <translation>PoÅ¡iljanje datoteke ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Removing file failed: %1</source> - <translation type="unfinished"></translation> + <translation>Odstranjevanje datoteke ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Creating directory failed: %1</source> - <translation type="unfinished"></translation> + <translation>Ustvarjanje mape ni uspelo: +%1</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/> <source>Removing directory failed: %1</source> - <translation type="unfinished"></translation> + <translation>Odstranjevanje mape ni uspelo: +%1</translation> </message> <message> <location line="+28"/> <location filename="../src/qt3support/network/q3ftp.cpp" line="+25"/> <location line="+250"/> <source>Connection closed</source> - <translation type="unfinished"></translation> + <translation>Povezava je bila prekinjena</translation> </message> <message> <location filename="../src/qt3support/network/q3ftp.cpp" line="-11"/> <source>Host %1 found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj %1 je bil najden</translation> </message> <message> <location line="+4"/> <source>Connection to %1 closed</source> - <translation type="unfinished"></translation> + <translation>Povezava s %1 je bila prekinjena</translation> </message> <message> <location line="+3"/> <source>Host found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj je bil najden</translation> </message> <message> <location line="+2"/> <source>Connected to host</source> - <translation type="unfinished"></translation> + <translation>Povezan z gostiteljem</translation> </message> </context> <context> @@ -2097,7 +2331,7 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> </context> <context> @@ -2105,87 +2339,97 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/> <location line="+9"/> - <location line="+64"/> - <location line="+31"/> - <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/> + <location line="+80"/> + <location line="+32"/> + <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+165"/> <location line="+9"/> - <location line="+40"/> + <location line="+56"/> <location line="+27"/> <source>Host not found</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ najti gostitelja</translation> </message> <message> - <location line="-44"/> + <location line="-45"/> <location line="+39"/> <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-34"/> <location line="+29"/> <source>Unknown address type</source> - <translation type="unfinished"></translation> + <translation>Neznana vrsta naslova</translation> </message> <message> - <location line="+8"/> + <location line="+10"/> <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-19"/> <location line="+27"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> + </message> + <message> + <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-71"/> + <source>No host name given</source> + <translation type="unfinished">Podano ni bilo nobeno ime gostitelja</translation> + </message> + <message> + <location line="+0"/> + <source>Invalid hostname</source> + <translation type="unfinished">Neveljavno ime gostitelja</translation> </message> </context> <context> <name>QHttp</name> <message> - <location filename="../src/network/access/qhttp.cpp" line="+1574"/> + <location filename="../src/network/access/qhttp.cpp" line="+1577"/> <location line="+820"/> - <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/> + <location filename="../src/qt3support/network/q3http.cpp" line="+1159"/> <location line="+567"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> <location line="-568"/> <location filename="../src/qt3support/network/q3http.cpp" line="-370"/> <source>Request aborted</source> - <translation type="unfinished"></translation> + <translation>Zahteva prekinjena</translation> </message> <message> <location line="+579"/> <location filename="../src/qt3support/network/q3http.cpp" line="+381"/> <source>No server set to connect to</source> - <translation type="unfinished"></translation> + <translation>Strežnik za povezavo ni nastavljen</translation> </message> <message> <location line="+164"/> <location filename="../src/qt3support/network/q3http.cpp" line="+56"/> <source>Wrong content length</source> - <translation type="unfinished"></translation> + <translation>NapaÄna dolžina vsebine</translation> </message> <message> <location line="+4"/> <location filename="../src/qt3support/network/q3http.cpp" line="+4"/> <source>Server closed connection unexpectedly</source> - <translation type="unfinished"></translation> + <translation>Strežnik je nepriÄakovano prekinil povezavo</translation> </message> <message> <location line="+179"/> <source>Unknown authentication method</source> - <translation type="unfinished"></translation> + <translation>Neznan naÄin overjanja</translation> </message> <message> <location line="+183"/> <source>Error writing response to device</source> - <translation type="unfinished"></translation> + <translation>Napaka pri pisanju odziva na napravo</translation> </message> <message> - <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/> + <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+560"/> <location filename="../src/qt3support/network/q3http.cpp" line="+38"/> <source>Connection refused</source> - <translation type="unfinished"></translation> + <translation>Povezava je zavrnjena</translation> </message> <message> <location filename="../src/network/access/qhttp.cpp" line="-304"/> <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/> <location filename="../src/qt3support/network/q3http.cpp" line="+3"/> <source>Host %1 not found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj %1 ni bil najden</translation> </message> <message> <location line="+20"/> @@ -2193,13 +2437,13 @@ Do you want to delete it anyway?</source> <location line="+19"/> <location filename="../src/qt3support/network/q3http.cpp" line="+3"/> <source>HTTP request failed</source> - <translation type="unfinished"></translation> + <translation>Zahtevek HTTP ni uspel</translation> </message> <message> <location line="+73"/> <location filename="../src/qt3support/network/q3http.cpp" line="+69"/> <source>Invalid HTTP response header</source> - <translation type="unfinished"></translation> + <translation>Neveljavna glava odgovora HTTP</translation> </message> <message> <location line="+125"/> @@ -2207,83 +2451,83 @@ Do you want to delete it anyway?</source> <location filename="../src/qt3support/network/q3http.cpp" line="+40"/> <location line="+47"/> <source>Invalid HTTP chunked body</source> - <translation type="unfinished"></translation> + <translation>Neveljavno razdeljeno telo HTTP</translation> </message> <message> <location filename="../src/qt3support/network/q3http.cpp" line="+294"/> <source>Host %1 found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj %1 je bil najden</translation> </message> <message> <location line="+3"/> <source>Connected to host %1</source> - <translation type="unfinished"></translation> + <translation>Povezan z gostiteljem %1</translation> </message> <message> <location line="+3"/> <source>Connection to %1 closed</source> - <translation type="unfinished"></translation> + <translation>Povezava s %1 je bila prekinjena</translation> </message> <message> <location line="+8"/> <source>Host found</source> - <translation type="unfinished"></translation> + <translation>Gostitelj je bil najden</translation> </message> <message> <location line="+3"/> <source>Connected to host</source> - <translation type="unfinished"></translation> + <translation>Povezan z gostiteljem</translation> </message> <message> <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/> <location filename="../src/qt3support/network/q3http.cpp" line="+3"/> <source>Connection closed</source> - <translation type="unfinished"></translation> + <translation>Povezava je bila prekinjena</translation> </message> <message> <location filename="../src/network/access/qhttp.cpp" line="-135"/> <source>Proxy authentication required</source> - <translation type="unfinished"></translation> + <translation>Potrebna je overitev pri posredniku</translation> </message> <message> <location line="+4"/> <source>Authentication required</source> - <translation type="unfinished"></translation> + <translation>Potrebna je overitev</translation> </message> <message> <location line="-138"/> <source>Connection refused (or timed out)</source> - <translation type="unfinished"></translation> + <translation>Povezava je bila zavrnjena (ali pa je potekel Äas)</translation> </message> <message> <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/> <source>Proxy requires authentication</source> - <translation type="unfinished"></translation> + <translation>Posrednik zahteva overitev</translation> </message> <message> <location line="+3"/> <source>Host requires authentication</source> - <translation type="unfinished"></translation> + <translation>Gostitelj zahteva overitev</translation> </message> <message> <location line="+3"/> <source>Data corrupted</source> - <translation type="unfinished"></translation> + <translation>Podatki so okvarjeni</translation> </message> <message> <location line="+3"/> <source>Unknown protocol specified</source> - <translation type="unfinished"></translation> + <translation>Naveden je bil neznan protokol</translation> </message> <message> <location line="+3"/> <source>SSL handshake failed</source> - <translation type="unfinished"></translation> + <translation>Rokovanje SSL ni uspelo</translation> </message> <message> - <location filename="../src/network/access/qhttp.cpp" line="-2263"/> + <location filename="../src/network/access/qhttp.cpp" line="-2266"/> <source>HTTPS connection requested but SSL support not compiled in</source> - <translation type="unfinished"></translation> + <translation>Zahtevana je bila povezava HTTPS, a podpora za SSL ni bila vgrajena</translation> </message> </context> <context> @@ -2291,211 +2535,221 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/network/socket/qhttpsocketengine.cpp" line="-89"/> <source>Did not receive HTTP response from proxy</source> - <translation type="unfinished"></translation> + <translation>Od posrednika ni bil prejet odgovor HTTP</translation> </message> <message> <location line="+25"/> <source>Error parsing authentication request from proxy</source> - <translation type="unfinished"></translation> + <translation>Napaka pri razÄlenjevanju overitvenega zahtevka od posrednika</translation> </message> <message> <location line="+31"/> <source>Authentication required</source> - <translation type="unfinished"></translation> + <translation>Potrebna je overitev</translation> </message> <message> <location line="+27"/> <source>Proxy denied connection</source> - <translation type="unfinished"></translation> + <translation>Posrednik je zavrnil povezavo</translation> </message> <message> <location line="+10"/> <source>Error communicating with HTTP proxy</source> - <translation type="unfinished"></translation> + <translation>Napaka pri komunikaciji s posrednikom HTTP</translation> </message> <message> <location line="+23"/> <source>Proxy server not found</source> - <translation type="unfinished"></translation> + <translation>PosredniÅ¡ki strežnik ni bil najden</translation> </message> <message> <location line="+2"/> <source>Proxy connection refused</source> - <translation type="unfinished"></translation> + <translation>Povezava s posrednikom je bila zavrnjena</translation> </message> <message> <location line="+2"/> <source>Proxy server connection timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za povezavo s posredniÅ¡kim strežnikom je potekel</translation> </message> <message> <location line="+2"/> <source>Proxy connection closed prematurely</source> - <translation type="unfinished"></translation> + <translation>Povezava s posrednikom je bila prekinjena predÄasno</translation> </message> </context> <context> <name>QIBaseDriver</name> <message> - <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/> + <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1491"/> <source>Error opening database</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odpiranju podatkovne zbirke</translation> </message> <message> <location line="+54"/> <source>Could not start transaction</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ zaÄeti transakcije</translation> </message> <message> <location line="+13"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+13"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> </context> <context> <name>QIBaseResult</name> <message> - <location line="-1097"/> + <location line="-1149"/> <source>Unable to create BLOB</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ustvariti BLOB-a</translation> </message> <message> <location line="+6"/> <source>Unable to write BLOB</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zapisati BLOB-a</translation> </message> <message> <location line="+14"/> <source>Unable to open BLOB</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti BLOB-a</translation> </message> <message> <location line="+16"/> <source>Unable to read BLOB</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prebrati BLOB-a</translation> </message> <message> <location line="+125"/> - <location line="+189"/> + <location line="+187"/> <source>Could not find array</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ najti polja</translation> </message> <message> - <location line="-157"/> + <location line="-155"/> <source>Could not get array data</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ pridobiti podatkov iz polja</translation> </message> <message> - <location line="+212"/> + <location line="+210"/> <source>Could not get query info</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ pridobiti podatkov o poizvedbi</translation> </message> <message> <location line="+20"/> <source>Could not start transaction</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ zaÄeti transakcije</translation> </message> <message> <location line="+19"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> - <location line="+33"/> + <location line="+42"/> <source>Could not allocate statement</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ dodeliti prostora za izjavo</translation> </message> <message> <location line="+5"/> <source>Could not prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ pripraviti izjave</translation> </message> <message> <location line="+5"/> - <location line="+7"/> + <location line="+11"/> <source>Could not describe input statement</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ opisati vhodne izjave</translation> </message> <message> - <location line="+10"/> + <location line="+14"/> <source>Could not describe statement</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ opisati izjave</translation> </message> <message> <location line="+115"/> <source>Unable to close statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zakljuÄiti izjave</translation> </message> <message> <location line="+8"/> <source>Unable to execute query</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti poizvedbe</translation> </message> <message> <location line="+46"/> <source>Could not fetch next item</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ pridobiti sledeÄe postavke</translation> </message> <message> - <location line="+160"/> + <location line="+197"/> <source>Could not get statement info</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ pridobiti podatkov o izjavi</translation> </message> </context> <context> <name>QIODevice</name> <message> - <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/> + <location filename="../src/corelib/global/qglobal.cpp" line="+2046"/> <source>Permission denied</source> - <translation type="unfinished"></translation> + <translation>Nimate dovoljenja</translation> </message> <message> <location line="+3"/> <source>Too many open files</source> - <translation type="unfinished"></translation> + <translation>PreveÄ odprtih datotek</translation> </message> <message> <location line="+3"/> <source>No such file or directory</source> - <translation type="unfinished"></translation> + <translation>Ta datoteka ali mapa ne obstaja</translation> </message> <message> <location line="+3"/> <source>No space left on device</source> - <translation type="unfinished"></translation> + <translation>Ni prostora na napravi</translation> </message> <message> - <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/> + <location filename="../src/corelib/io/qiodevice.cpp" line="+1561"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> </context> <context> <name>QInputContext</name> <message> - <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/> + <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+256"/> <source>XIM</source> - <translation type="unfinished"></translation> + <translation>XIM</translation> + </message> + <message> + <location line="+4"/> + <source>FEP</source> + <translation>FEP</translation> </message> <message> <location line="+23"/> <source>XIM input method</source> - <translation type="unfinished"></translation> + <translation>NaÄin za vnaÅ¡anje XIM</translation> </message> <message> <location line="+4"/> <source>Windows input method</source> - <translation type="unfinished"></translation> + <translation>NaÄin za vnaÅ¡anje Windows</translation> </message> <message> <location line="+4"/> <source>Mac OS X input method</source> - <translation type="unfinished"></translation> + <translation>NaÄin za vnaÅ¡anje Mac OS X</translation> + </message> + <message> + <location line="+4"/> + <source>S60 FEP input method</source> + <translation>NaÄin za vnaÅ¡anje S60 FEP</translation> </message> </context> <context> @@ -2503,296 +2757,295 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/> <source>Enter a value:</source> - <translation type="unfinished"></translation> + <translation>Vnesite vrednost:</translation> </message> </context> <context> <name>QLibrary</name> <message> - <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/> + <location filename="../src/corelib/plugin/qlibrary.cpp" line="+383"/> <source>Could not mmap '%1': %2</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ izvesti funkcije mmap za »%1«: %2</translation> </message> <message> <location line="+22"/> <source>Plugin verification data mismatch in '%1'</source> - <translation type="unfinished"></translation> + <translation>Neujemanje podatkov za potrjevanje vstavkov v »%1«</translation> </message> <message> <location line="+6"/> <source>Could not unmap '%1': %2</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ izvesti funkcije unmap za »%1«: %2</translation> </message> <message> - <location line="+302"/> + <location line="+341"/> <source>The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]</source> - <translation type="unfinished"></translation> + <translation>Vstavek »%1« uporablja nezdružljivo knjižnico Qt. (%2.%3.%4) [%5]</translation> </message> <message> <location line="+20"/> <source>The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"</source> - <translation type="unfinished"></translation> + <translation>Vstavek »%1« uporablja nezdružljivo knjižnico Qt. PriÄakovan je bil kljuÄ gradnje »%2«, dobljen je bil »%3«</translation> </message> <message> - <location line="+340"/> + <location line="+365"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> - <location line="-377"/> - <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/> + <location line="-402"/> + <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+343"/> <source>The shared library was not found.</source> - <translation type="unfinished"></translation> + <translation>Deljena knjižnica ni bila najdena.</translation> </message> <message> <location line="+2"/> <source>The file '%1' is not a valid Qt plugin.</source> - <translation type="unfinished"></translation> + <translation>Datoteka »%1« ni veljaven vstavek Qt.</translation> </message> <message> <location line="+43"/> <source>The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)</source> - <translation type="unfinished"></translation> + <translation>Vstavek »%1« uporablja nezdružljivo knjižnico Qt. (Ni moÄ meÅ¡ati knjižnic za razhroÅ¡Äevanje in izdajo.)</translation> </message> <message> - <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/> - <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/> + <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+236"/> + <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+87"/> <source>Cannot load library %1: %2</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ naložiti knjižnice %1: %2</translation> </message> <message> - <location line="+16"/> - <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+26"/> + <location line="+17"/> + <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+22"/> <source>Cannot unload library %1: %2</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odstraniti knjižnice %1: %2</translation> </message> <message> - <location line="+31"/> + <location line="+34"/> <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/> <source>Cannot resolve symbol "%1" in %2: %3</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razreÅ¡iti simbola »%1« v %2: %3</translation> </message> </context> <context> <name>QLineEdit</name> <message> - <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/> + <location filename="../src/gui/widgets/qlineedit.cpp" line="+1980"/> <source>&Undo</source> - <translation type="unfinished"></translation> + <translation>&Razveljavi</translation> </message> <message> <location line="+4"/> <source>&Redo</source> - <translation type="unfinished"></translation> + <translation>&Uveljavi</translation> </message> <message> <location line="+7"/> <source>Cu&t</source> - <translation type="unfinished"></translation> + <translation>&Izreži</translation> </message> <message> - <location line="+4"/> + <location line="+5"/> <source>&Copy</source> - <translation type="unfinished"></translation> + <translation>S&kopiraj</translation> </message> <message> - <location line="+4"/> + <location line="+5"/> <source>&Paste</source> - <translation type="unfinished"></translation> + <translation>Pri&lepi</translation> </message> <message> <location line="+5"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i</translation> </message> <message> <location line="+6"/> <source>Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> </context> <context> <name>QLocalServer</name> <message> - <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/> - <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/> + <location filename="../src/network/socket/qlocalserver.cpp" line="+224"/> + <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+256"/> <source>%1: Name error</source> - <translation type="unfinished"></translation> + <translation>%1: napaka v imenu</translation> </message> <message> <location filename="../src/network/socket/qlocalserver_unix.cpp" line="-8"/> <source>%1: Permission denied</source> - <translation type="unfinished"></translation> + <translation>%1: nimate dovoljenja</translation> </message> <message> <location line="+12"/> <source>%1: Address in use</source> - <translation type="unfinished"></translation> + <translation>%1: naslov je že v uporabi</translation> </message> <message> <location line="+5"/> - <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/> <source>%1: Unknown error %2</source> - <translation type="unfinished"></translation> + <translation>%1: neznana napaka %2</translation> </message> </context> <context> <name>QLocalSocket</name> <message> <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/> - <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/> + <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+139"/> <source>%1: Connection refused</source> - <translation type="unfinished"></translation> + <translation>%1: povezava je bila zavrnjena</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: Remote closed</source> - <translation type="unfinished"></translation> + <translation>%1: oddaljeni je prekinil</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/> - <location line="+43"/> + <location line="+45"/> <source>%1: Invalid name</source> - <translation type="unfinished"></translation> + <translation>%1: neveljavno ime</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: Socket access error</source> - <translation type="unfinished"></translation> + <translation>%1: napaka pri dostopu do vtiÄnice</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: Socket resource error</source> - <translation type="unfinished"></translation> + <translation>%1: napaka vira vtiÄnice</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: Socket operation timed out</source> - <translation type="unfinished"></translation> + <translation>%1: Äas za dejanje na vtiÄnici je potekel</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: Datagram too large</source> - <translation type="unfinished"></translation> + <translation>%1: datagram je prevelik</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> - <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-48"/> + <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-50"/> <source>%1: Connection error</source> - <translation type="unfinished"></translation> + <translation>%1: napaka povezave</translation> </message> <message> <location line="+3"/> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/> <source>%1: The socket operation is not supported</source> - <translation type="unfinished"></translation> + <translation>%1: dejanje na vtiÄnici ni podprto</translation> </message> <message> <location line="+4"/> <source>%1: Unknown error</source> - <translation type="unfinished"></translation> + <translation>%1: neznana napaka</translation> </message> <message> <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/> <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+10"/> <source>%1: Unknown error %2</source> - <translation type="unfinished"></translation> + <translation>%1: neznana napaka %2</translation> </message> </context> <context> <name>QMYSQLDriver</name> <message> - <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/> + <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1261"/> <source>Unable to open database '</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti podatkovne zbirke »</translation> </message> <message> - <location line="+7"/> + <location line="+11"/> <source>Unable to connect</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ vzpostaviti povezave</translation> </message> <message> - <location line="+127"/> + <location line="+151"/> <source>Unable to begin transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaÄeti transakcije</translation> </message> <message> <location line="+17"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+17"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> </context> <context> <name>QMYSQLResult</name> <message> - <location line="-922"/> + <location line="-969"/> <source>Unable to fetch data</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti podatkov</translation> </message> <message> - <location line="+176"/> + <location line="+183"/> <source>Unable to execute query</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti poizvedbe</translation> </message> <message> <location line="+6"/> <source>Unable to store result</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ shraniti rezultata</translation> </message> <message> - <location line="+190"/> + <location line="+191"/> <location line="+8"/> <source>Unable to prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pripraviti izjave</translation> </message> <message> - <location line="+34"/> + <location line="+37"/> <source>Unable to reset statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ponastaviti izjave</translation> </message> <message> - <location line="+87"/> + <location line="+86"/> <source>Unable to bind value</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti vrednosti</translation> </message> <message> <location line="+11"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> <message> <location line="+14"/> <location line="+21"/> <source>Unable to bind outvalues</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti izhodnih vrednosti</translation> </message> <message> <location line="-12"/> <source>Unable to store statement results</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ shraniti rezultatov izjave</translation> </message> <message> <location line="-253"/> <source>Unable to execute next query</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti sledeÄe poizvedbe</translation> </message> <message> <location line="+10"/> <source>Unable to store next result</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ shraniti sledeÄega rezultata</translation> </message> </context> <context> @@ -2800,7 +3053,7 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/> <source>(Untitled)</source> - <translation type="unfinished"></translation> + <translation>(neimenovano)</translation> </message> </context> <context> @@ -2808,92 +3061,92 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/> <source>%1 - [%2]</source> - <translation type="unfinished"></translation> + <translation>%1 - [%2]</translation> </message> <message> <location line="+72"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> <location line="-18"/> <source>Minimize</source> - <translation type="unfinished"></translation> + <translation>PomanjÅ¡aj</translation> </message> <message> <location line="+13"/> <source>Restore Down</source> - <translation type="unfinished"></translation> + <translation>Obnovi navzdol</translation> </message> <message> <location line="+707"/> <source>&Restore</source> - <translation type="unfinished"></translation> + <translation>&Obnovi</translation> </message> <message> <location line="+3"/> <source>&Move</source> - <translation type="unfinished"></translation> + <translation>&Premakni</translation> </message> <message> <location line="+1"/> <source>&Size</source> - <translation type="unfinished"></translation> + <translation>&Velikost</translation> </message> <message> <location line="+1"/> <source>Mi&nimize</source> - <translation type="unfinished"></translation> + <translation>Po&manjÅ¡aj</translation> </message> <message> <location line="+2"/> <source>Ma&ximize</source> - <translation type="unfinished"></translation> + <translation>&Razpni</translation> </message> <message> <location line="+2"/> <source>Stay on &Top</source> - <translation type="unfinished"></translation> + <translation>Ostani na &vrhu</translation> </message> <message> <location line="+3"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> <message> <location line="-787"/> <source>- [%1]</source> - <translation type="unfinished"></translation> + <translation>- [%1]</translation> </message> <message> <location line="+58"/> <source>Maximize</source> - <translation type="unfinished"></translation> + <translation>Razpni</translation> </message> <message> <location line="+3"/> <source>Unshade</source> - <translation type="unfinished"></translation> + <translation>Razvij</translation> </message> <message> <location line="+3"/> <source>Shade</source> - <translation type="unfinished"></translation> + <translation>Zvij</translation> </message> <message> <location line="+6"/> <source>Restore</source> - <translation type="unfinished"></translation> + <translation>Obnovi</translation> </message> <message> <location line="+6"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="+3"/> <source>Menu</source> - <translation type="unfinished"></translation> + <translation>Meni</translation> </message> </context> <context> @@ -2902,56 +3155,69 @@ Do you want to delete it anyway?</source> <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/> <location line="+225"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> <location line="-224"/> <location line="+225"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> <message> <location line="-223"/> <location line="+225"/> <location line="+51"/> <source>Execute</source> - <translation type="unfinished"></translation> + <translation>Izvedi</translation> + </message> +</context> +<context> + <name>QMenuBar</name> + <message> + <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+401"/> + <source>Actions</source> + <translation>Dejanja</translation> </message> </context> <context> <name>QMessageBox</name> <message> - <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/> + <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1116"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> - <location line="-853"/> - <location line="+852"/> + <location line="-848"/> + <location line="+847"/> <location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/> <location line="+8"/> <source>OK</source> - <translation type="unfinished"></translation> + <translation>V redu</translation> </message> <message> - <location line="+509"/> + <location line="+477"/> + <source><h3>About Qt</h3><p>This program uses Qt version %1.</p></source> + <translation><h3>O Qt</h3><p>Ta program uporablja Qt razliÄice %1.</p></translation> + </message> + <message> + <location line="+5"/> + <source><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p></source> + <translation><p>Qt je skupek gradnikov C++ za razvoj programov, ki teÄejo na veÄ platformah.</p><p>Qt omogoÄa isto kodo prenaÅ¡ati med platformami Linux, Mac&nbsp;OS&nbsp;X, Windows in vsemi veÄjimi variantami UNIX-a. Qt je na voljo tudi za vgrajene naprave in sicer kot Qt for Embedded Linux in Qt for Windows CE.</p><p>Qt je na voljo pod tremi možnimi licenÄnimi pogoji, ki ustrezajo razliÄnim željam uporabnikov.</p><p>Qt pod licenco GNU General Public License razliÄice 3.0 (<a href="http://www.gnu.org/licenses/gpl-3.0.html">GPLv3.0</a>) je primeren za razvoj programov Qt, ki so povsem <a href="http://www.gnu.org/philosophy/free-sw.html">prosti in odprto-kodni</a>. S to licenco se uporabnikom programa zagotovijo vse pravice in svoboÅ¡Äine, kot jih je imel izdelovalec programa.</p><p>Qt pod licenco GNU Lesser General Public License razliÄice 2.1 (<a href="http://www.gnu.org/licenses/lgpl-2.1.html">LGPLv2.1</a>) omogoÄa tudi razvoj programov, ki uporabnikom ne zagotavljajo vseh pravic in svoboÅ¡Äin, kot jih je imel izdelovalec. OmogoÄa na primer tudi razvoj zaprto-kodnih programov.</p><p>Qt pod posebno komercialno licenco je namenjen razvoju lastniÅ¡kih in zaprto-kodnih programov, kjer izdelovalec z uporabniki noÄe deliti niÄ izvorne kode ter pravic in svoboÅ¡Äin, ali pa ne more ustreÄi pogojem licenc GPLv3.0 ali LGPLv2.1.</p><p>Za pregled licenÄnih možnosti si oglejte spletno stran <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a>.</p><p>Avtorske pravice © 2009 Nokia Corporation in/ali podružnice ter zunanji prispevajoÄi.</p><p>Qt je proizvod podjetja Nokia. Za dodatne podatke si oglejte <a href="http://qt.nokia.com/">qt.nokia.com</a>.</p></translation> + </message> + <message> + <location line="+31"/> <source>About Qt</source> - <translation type="unfinished"></translation> + <translation>O Qt</translation> </message> <message> - <location line="-1605"/> + <location line="-1611"/> <source>Show Details...</source> - <translation type="unfinished"></translation> + <translation>Prikaži podrobnosti ...</translation> </message> <message> <location line="+1"/> <source>Hide Details...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1570"/> - <source><h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p></source> - <translation type="unfinished"></translation> + <translation>Skrij podrobnosti ...</translation> </message> </context> <context> @@ -2959,7 +3225,7 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/> <source>Select IM</source> - <translation type="unfinished"></translation> + <translation>Izberite naÄin vnaÅ¡anja</translation> </message> </context> <context> @@ -2967,12 +3233,12 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/> <source>Multiple input method switcher</source> - <translation type="unfinished"></translation> + <translation>Orodje za preklop med naÄini vnaÅ¡anja</translation> </message> <message> <location line="+7"/> <source>Multiple input method switcher that uses the context menu of the text widgets</source> - <translation type="unfinished"></translation> + <translation>Orodje za preklop med veÄ naÄini vnaÅ¡anja, ki uporablja priroÄni meni besedilnih gradnikov</translation> </message> </context> <context> @@ -2980,275 +3246,283 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/> <source>The remote host closed the connection</source> - <translation type="unfinished"></translation> + <translation>Oddaljen gostitelj je prekinil povezavo</translation> </message> <message> <location line="+3"/> <source>Network operation timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za omrežni postopek je potekel</translation> </message> <message> <location line="+3"/> <source>Out of resources</source> - <translation type="unfinished"></translation> + <translation>Zmanjkalo je virov</translation> </message> <message> <location line="+3"/> <source>Unsupported socket operation</source> - <translation type="unfinished"></translation> + <translation>Nepodprto dejanje za vtiÄnico</translation> </message> <message> <location line="+3"/> <source>Protocol type not supported</source> - <translation type="unfinished"></translation> + <translation>Vrsta protokola ni podprta</translation> </message> <message> <location line="+3"/> <source>Invalid socket descriptor</source> - <translation type="unfinished"></translation> + <translation>Neveljaven opisnik vtiÄnice</translation> </message> <message> <location line="+6"/> <source>Network unreachable</source> - <translation type="unfinished"></translation> + <translation>Omrežje ni dosegljivo</translation> </message> <message> <location line="+3"/> <source>Permission denied</source> - <translation type="unfinished"></translation> + <translation>Nimate dovoljenja</translation> </message> <message> <location line="+3"/> <source>Connection timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za povezavo je potekel</translation> </message> <message> <location line="+3"/> <source>Connection refused</source> - <translation type="unfinished"></translation> + <translation>Povezava je zavrnjena</translation> </message> <message> <location line="+3"/> <source>The bound address is already in use</source> - <translation type="unfinished"></translation> + <translation>Naslov za vezavo je že v uporabi</translation> </message> <message> <location line="+3"/> <source>The address is not available</source> - <translation type="unfinished"></translation> + <translation>Naslov ni na voljo</translation> </message> <message> <location line="+3"/> <source>The address is protected</source> - <translation type="unfinished"></translation> + <translation>Naslov je zaÅ¡Äiten</translation> </message> <message> <location line="+6"/> <source>Unable to send a message</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ poslati sporoÄila</translation> </message> <message> <location line="+3"/> <source>Unable to receive a message</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prejeti sporoÄila</translation> </message> <message> <location line="+3"/> <source>Unable to write</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zapisovati</translation> </message> <message> <location line="+3"/> <source>Network error</source> - <translation type="unfinished"></translation> + <translation>Napaka v omrežju</translation> </message> <message> <location line="+3"/> <source>Another socket is already listening on the same port</source> - <translation type="unfinished"></translation> + <translation>Druga vtiÄnica že posluÅ¡a na istih vratih</translation> </message> <message> <location line="-66"/> <source>Unable to initialize non-blocking socket</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ inicializirati ne-blokirne vtiÄnice</translation> </message> <message> <location line="+3"/> <source>Unable to initialize broadcast socket</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ inicializirati vtiÄnice za oddajanje</translation> </message> <message> <location line="+3"/> <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source> - <translation type="unfinished"></translation> + <translation>Poskus uporabe vtiÄnice IPv6 na platformi brez podpore za IPv6</translation> </message> <message> <location line="+21"/> <source>Host unreachable</source> - <translation type="unfinished"></translation> + <translation>Gostitelj ni dosegljiv</translation> </message> <message> <location line="+24"/> <source>Datagram was too large to send</source> - <translation type="unfinished"></translation> + <translation>Datagram je bil prevelik za poÅ¡iljanje</translation> </message> <message> <location line="+18"/> <source>Operation on non-socket</source> - <translation type="unfinished"></translation> + <translation>Dejanje na ne-vtiÄnici</translation> </message> <message> <location line="+6"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> <location line="-3"/> <source>The proxy type is invalid for this operation</source> - <translation type="unfinished"></translation> + <translation>Vrsta posrednika za to dejanje ni veljavna</translation> </message> </context> <context> <name>QNetworkAccessCacheBackend</name> <message> - <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/> + <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+66"/> <source>Error opening %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odpiranju %1</translation> + </message> +</context> +<context> + <name>QNetworkAccessDebugPipeBackend</name> + <message> + <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+195"/> + <source>Write error writing to %1: %2</source> + <translation>Napaka pri zapisovanju v %1: %2</translation> </message> </context> <context> <name>QNetworkAccessFileBackend</name> <message> - <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/> + <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/> <source>Request for opening non-local file %1</source> - <translation type="unfinished"></translation> + <translation>Zahtevek za odprtje ne-krajevne datoteke %1</translation> </message> <message> - <location line="+42"/> + <location line="+45"/> <source>Error opening %1: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odpiranju %1: %2</translation> </message> <message> - <location line="+56"/> + <location line="+38"/> <source>Write error writing to %1: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka pri zapisovanju v %1: %2</translation> </message> <message> - <location line="+33"/> + <location line="+48"/> <source>Cannot open %1: Path is a directory</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti %1: pot je mapa</translation> </message> <message> <location line="+21"/> <source>Read error reading from %1: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka pri branju iz %1: %2</translation> </message> </context> <context> <name>QNetworkAccessFtpBackend</name> <message> - <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/> + <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+131"/> <source>No suitable proxy found</source> - <translation type="unfinished"></translation> + <translation>Najden ni bil noben primeren posrednik</translation> </message> <message> <location line="+14"/> <source>Cannot open %1: is a directory</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ odpreti %1: to je mapa</translation> </message> <message> - <location line="+130"/> + <location line="+112"/> <source>Logging in to %1 failed: authentication required</source> - <translation type="unfinished"></translation> + <translation>Prijava v %1 ni uspela: potrebna je overitev</translation> </message> <message> <location line="+39"/> <source>Error while downloading %1: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka med prejemanjem %1: %2</translation> </message> <message> <location line="+2"/> <source>Error while uploading %1: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka med poÅ¡iljanjem %1: %2</translation> </message> </context> <context> <name>QNetworkAccessHttpBackend</name> <message> - <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/> + <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+585"/> <source>No suitable proxy found</source> - <translation type="unfinished"></translation> + <translation>Najden ni bil noben primeren posrednik</translation> </message> </context> <context> <name>QNetworkReply</name> <message> - <location line="+128"/> + <location line="+95"/> <source>Error downloading %1 - server replied: %2</source> - <translation type="unfinished"></translation> + <translation>Napaka med prejemanjem %1 - strežnikov odgovor: %2</translation> </message> <message> - <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/> + <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+77"/> <source>Protocol "%1" is unknown</source> - <translation type="unfinished"></translation> + <translation>Neznan protokol »%1«</translation> </message> </context> <context> <name>QNetworkReplyImpl</name> <message> - <location line="+432"/> - <location line="+22"/> + <location line="+519"/> + <location line="+28"/> <source>Operation canceled</source> - <translation type="unfinished"></translation> + <translation>Postopek je bil preklican</translation> </message> </context> <context> <name>QOCIDriver</name> <message> - <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/> + <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2076"/> <source>Unable to logon</source> - <translation type="unfinished"></translation> + <translation>Ni se moÄ prijaviti</translation> </message> <message> <location line="-144"/> <source>Unable to initialize</source> <comment>QOCIDriver</comment> - <translation type="unfinished"></translation> + <translation>Ni moÄ inicializirati</translation> </message> <message> <location line="+215"/> <source>Unable to begin transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaÄeti transakcije</translation> </message> <message> <location line="+19"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+19"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> </context> <context> <name>QOCIResult</name> <message> - <location line="-963"/> + <location line="-972"/> <location line="+161"/> <location line="+15"/> <source>Unable to bind column for batch execute</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti stolpca za paketno izvrÅ¡itev</translation> </message> <message> <location line="+15"/> <source>Unable to execute batch statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti paketne izjave</translation> </message> <message> - <location line="+302"/> + <location line="+304"/> <source>Unable to goto next</source> - <translation type="unfinished"></translation> + <translation>Ni se moÄ prestaviti na naslednjega</translation> </message> <message> <location line="+59"/> @@ -3258,210 +3532,236 @@ Do you want to delete it anyway?</source> <message> <location line="+15"/> <source>Unable to prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pripraviti izjave</translation> </message> <message> - <location line="+36"/> + <location line="+26"/> + <source>Unable to get statement type</source> + <translation>Ni moÄ pridobiti vrste izjave</translation> + </message> + <message> + <location line="+20"/> <source>Unable to bind value</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti vrednosti</translation> </message> <message> <location line="+19"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> </context> <context> <name>QODBCDriver</name> <message> - <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/> + <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1783"/> <source>Unable to connect</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ vzpostaviti povezave</translation> </message> <message> - <location line="+6"/> - <source>Unable to connect - Driver doesn't support all needed functionality</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+242"/> + <location line="+238"/> <source>Unable to disable autocommit</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ onemogoÄiti samodejnega udejanjanja</translation> </message> <message> <location line="+17"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+17"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> <message> <location line="+15"/> <source>Unable to enable autocommit</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ omogoÄiti samodejnega udejanjanja</translation> + </message> + <message> + <location line="-281"/> + <source>Unable to connect - Driver doesn't support all functionality required</source> + <translation>Ni se moÄ povezati - gonilnik ne podpira vseh potrebnih zmožnosti</translation> </message> </context> <context> <name>QODBCResult</name> <message> - <location line="-1218"/> - <location line="+349"/> + <location line="-926"/> + <location line="+346"/> <source>QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration</source> - <translation type="unfinished"></translation> + <translation>QODBCResult::reset: ni moÄ nastaviti 'SQL_CURSOR_STATIC' kot lastnosti izjave. Preverite nastavitve gonilnika ODBC</translation> </message> <message> - <location line="-332"/> - <location line="+626"/> + <location line="-329"/> + <location line="+623"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> <message> - <location line="-555"/> + <location line="-547"/> <source>Unable to fetch next</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti sledeÄega</translation> </message> <message> - <location line="+279"/> + <location line="+271"/> <source>Unable to prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pripraviti izjave</translation> </message> <message> <location line="+268"/> <source>Unable to bind variable</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti spremenljivke</translation> </message> <message> - <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/> - <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/> - <location line="+578"/> + <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+190"/> + <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/> + <location line="+576"/> <source>Unable to fetch last</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti zadnjega</translation> </message> <message> - <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/> + <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-670"/> <source>Unable to fetch</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti</translation> </message> <message> <location line="+44"/> <source>Unable to fetch first</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti prvega</translation> </message> <message> <location line="+19"/> <source>Unable to fetch previous</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti predhodnega</translation> </message> </context> <context> <name>QObject</name> <message> - <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/> - <source>Home</source> - <translation type="unfinished"></translation> + <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-101"/> + <source>Invalid hostname</source> + <translation>Neveljavno ime gostitelja</translation> </message> <message> <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/> <source>Operation not supported on %1</source> - <translation type="unfinished"></translation> + <translation>Dejanje na %1 ni podprto</translation> </message> <message> - <location line="+53"/> + <location line="+57"/> <source>Invalid URI: %1</source> + <translation>Neveljaven URI: %1</translation> + </message> + <message> + <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+60"/> + <source>Socket error on %1: %2</source> + <translation>Napaka vtiÄnice na %1: %2</translation> + </message> + <message> + <location line="+15"/> + <source>Remote host closed the connection prematurely on %1</source> + <translation>Oddaljen gostitelj je predÄasno prekinil povezavo na %1</translation> + </message> + <message> + <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/> + <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/> + <source>No host name given</source> + <translation>Podano ni bilo nobeno ime gostitelja</translation> + </message> + <message> + <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+60"/> + <source>audio equalizer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/> - <source>Write error writing to %1: %2</source> + <location line="+2"/> + <source>Bass boost</source> <translation type="unfinished"></translation> </message> <message> - <location line="+57"/> - <source>Read error reading from %1: %2</source> + <location line="+2"/> + <source>Distance Attenuation</source> <translation type="unfinished"></translation> </message> <message> - <location line="+31"/> - <source>Socket error on %1: %2</source> + <location line="+2"/> + <location line="+2"/> + <source>Environmental Reverb</source> <translation type="unfinished"></translation> </message> <message> - <location line="+15"/> - <source>Remote host closed the connection prematurely on %1</source> + <location line="+2"/> + <source>Loudness</source> <translation type="unfinished"></translation> </message> <message> - <location line="+53"/> - <source>Protocol error: packet of size 0 received</source> + <location line="+2"/> + <source>Source Orientation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/> - <location line="+57"/> - <source>No host name given</source> + <location line="+2"/> + <source>Stereo Widening</source> <translation type="unfinished"></translation> </message> </context> <context> <name>QPPDOptionsModel</name> <message> - <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/> + <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1198"/> <source>Name</source> - <translation type="unfinished"></translation> + <translation>Ime</translation> </message> <message> <location line="+2"/> <source>Value</source> - <translation type="unfinished"></translation> + <translation>Vrednost</translation> </message> </context> <context> <name>QPSQLDriver</name> <message> - <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/> + <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+782"/> <source>Unable to connect</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ vzpostaviti povezave</translation> </message> <message> <location line="+49"/> <source>Could not begin transaction</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ zaÄeti transakcije</translation> </message> <message> - <location line="+17"/> + <location line="+30"/> <source>Could not commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ udejaniti transakcije</translation> </message> <message> <location line="+16"/> <source>Could not rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni bilo moÄ razveljaviti transakcije</translation> </message> <message> - <location line="+358"/> + <location line="+374"/> <source>Unable to subscribe</source> - <translation type="unfinished"></translation> + <translation>Ni se moÄ naroÄiti</translation> </message> <message> <location line="+32"/> <source>Unable to unsubscribe</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ preklicati naroÄnine</translation> </message> </context> <context> <name>QPSQLResult</name> <message> - <location line="-1058"/> + <location line="-1085"/> <source>Unable to create query</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ustvariti poizvedbe</translation> </message> <message> - <location line="+374"/> + <location line="+372"/> <source>Unable to prepare statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pripraviti izjave</translation> </message> </context> <context> @@ -3469,102 +3769,102 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/> <source>Centimeters (cm)</source> - <translation type="unfinished"></translation> + <translation>Centimetri (cm)</translation> </message> <message> <location line="+0"/> <source>Millimeters (mm)</source> - <translation type="unfinished"></translation> + <translation>Milimetri (mm)</translation> </message> <message> <location line="+0"/> <source>Inches (in)</source> - <translation type="unfinished"></translation> + <translation>Palci (in)</translation> </message> <message> <location line="+0"/> <source>Points (pt)</source> - <translation type="unfinished"></translation> + <translation>Pike (pt)</translation> </message> <message> <location filename="../src/gui/dialogs/qpagesetupwidget.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Paper</source> - <translation type="unfinished"></translation> + <translation>Papir</translation> </message> <message> <location/> <source>Page size:</source> - <translation type="unfinished"></translation> + <translation>Velikost strani:</translation> </message> <message> <location/> <source>Width:</source> - <translation type="unfinished"></translation> + <translation>Å irina:</translation> </message> <message> <location/> <source>Height:</source> - <translation type="unfinished"></translation> + <translation>ViÅ¡ina:</translation> </message> <message> <location/> <source>Paper source:</source> - <translation type="unfinished"></translation> + <translation>Vir papirja:</translation> </message> <message> <location/> <source>Orientation</source> - <translation type="unfinished"></translation> + <translation>Usmeritev</translation> </message> <message> <location/> <source>Portrait</source> - <translation type="unfinished"></translation> + <translation>PokonÄno</translation> </message> <message> <location/> <source>Landscape</source> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> <location/> <source>Reverse landscape</source> - <translation type="unfinished"></translation> + <translation>Obrnjeno ležeÄe</translation> </message> <message> <location/> <source>Reverse portrait</source> - <translation type="unfinished"></translation> + <translation>Obrnjeno pokonÄno</translation> </message> <message> <location/> <source>Margins</source> - <translation type="unfinished"></translation> + <translation>Robovi</translation> </message> <message> <location/> <source>top margin</source> - <translation type="unfinished"></translation> + <translation>vrhnji rob</translation> </message> <message> <location/> <source>left margin</source> - <translation type="unfinished"></translation> + <translation>levi rob</translation> </message> <message> <location/> <source>right margin</source> - <translation type="unfinished"></translation> + <translation>desni rob</translation> </message> <message> <location/> <source>bottom margin</source> - <translation type="unfinished"></translation> + <translation>spodnji rob</translation> </message> </context> <context> @@ -3572,438 +3872,441 @@ Do you want to delete it anyway?</source> <message> <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+24"/> <source>Unknown error</source> - <translation type="unfinished"></translation> + <translation>Neznana napaka</translation> </message> <message> - <location line="-68"/> + <location line="-113"/> <source>The plugin was not loaded.</source> - <translation type="unfinished"></translation> + <translation>Vstavek ni bil naložen.</translation> </message> </context> <context> <name>QPrintDialog</name> <message> - <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/> + <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+108"/> <source>locally connected</source> - <translation type="unfinished"></translation> + <translation>krajevno povezan</translation> </message> <message> <location line="+23"/> <location line="+225"/> <source>Aliases: %1</source> - <translation type="unfinished"></translation> + <translation>Vzdevki: %1</translation> </message> <message> <location line="+223"/> <location line="+199"/> <source>unknown</source> - <translation type="unfinished"></translation> + <translation>neznano</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/> <source>A0 (841 x 1189 mm)</source> - <translation type="unfinished"></translation> + <translation>A0 (841 x 1189 mm)</translation> </message> <message> <location line="+1"/> <source>A1 (594 x 841 mm)</source> - <translation type="unfinished"></translation> + <translation>A1 (594 x 841 mm)</translation> </message> <message> <location line="+1"/> <source>A2 (420 x 594 mm)</source> - <translation type="unfinished"></translation> + <translation>A2 (420 x 594 mm)</translation> </message> <message> <location line="+1"/> <source>A3 (297 x 420 mm)</source> - <translation type="unfinished"></translation> + <translation>A3 (297 x 420 mm)</translation> </message> <message> <location line="+1"/> <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source> - <translation type="unfinished"></translation> + <translation>A4 (210 x 297 mm, 8,26 x 11,7 palcev)</translation> </message> <message> <location line="+1"/> <source>A5 (148 x 210 mm)</source> - <translation type="unfinished"></translation> + <translation>A5 (148 x 210 mm)</translation> </message> <message> <location line="+1"/> <source>A6 (105 x 148 mm)</source> - <translation type="unfinished"></translation> + <translation>A6 (105 x 148 mm)</translation> </message> <message> <location line="+1"/> <source>A7 (74 x 105 mm)</source> - <translation type="unfinished"></translation> + <translation>A7 (74 x 105 mm)</translation> </message> <message> <location line="+1"/> <source>A8 (52 x 74 mm)</source> - <translation type="unfinished"></translation> + <translation>A8 (52 x 74 mm)</translation> </message> <message> <location line="+1"/> <source>A9 (37 x 52 mm)</source> - <translation type="unfinished"></translation> + <translation>A9 (37 x 52 mm)</translation> </message> <message> <location line="+1"/> <source>B0 (1000 x 1414 mm)</source> - <translation type="unfinished"></translation> + <translation>B0 (1000 x 1414 mm)</translation> </message> <message> <location line="+1"/> <source>B1 (707 x 1000 mm)</source> - <translation type="unfinished"></translation> + <translation>B1 (707 x 1000 mm)</translation> </message> <message> <location line="+1"/> <source>B2 (500 x 707 mm)</source> - <translation type="unfinished"></translation> + <translation>B2 (500 x 707 mm)</translation> </message> <message> <location line="+1"/> <source>B3 (353 x 500 mm)</source> - <translation type="unfinished"></translation> + <translation>B3 (353 x 500 mm)</translation> </message> <message> <location line="+1"/> <source>B4 (250 x 353 mm)</source> - <translation type="unfinished"></translation> + <translation>B4 (250 x 353 mm)</translation> </message> <message> <location line="+1"/> <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source> - <translation type="unfinished"></translation> + <translation>B5 (176 x 250 mm, 6,93 x 9,84 palcev)</translation> </message> <message> <location line="+1"/> <source>B6 (125 x 176 mm)</source> - <translation type="unfinished"></translation> + <translation>B6 (125 x 176 mm)</translation> </message> <message> <location line="+1"/> <source>B7 (88 x 125 mm)</source> - <translation type="unfinished"></translation> + <translation>B7 (88 x 125 mm)</translation> </message> <message> <location line="+1"/> <source>B8 (62 x 88 mm)</source> - <translation type="unfinished"></translation> + <translation>B8 (62 x 88 mm)</translation> </message> <message> <location line="+1"/> <source>B9 (44 x 62 mm)</source> - <translation type="unfinished"></translation> + <translation>B9 (44 x 62 mm)</translation> </message> <message> <location line="+1"/> <source>B10 (31 x 44 mm)</source> - <translation type="unfinished"></translation> + <translation>B10 (31 x 44 mm)</translation> </message> <message> <location line="+1"/> <source>C5E (163 x 229 mm)</source> - <translation type="unfinished"></translation> + <translation>C5E (163 x 229 mm)</translation> </message> <message> <location line="+1"/> <source>DLE (110 x 220 mm)</source> - <translation type="unfinished"></translation> + <translation>DLE (110 x 220 mm)</translation> </message> <message> <location line="+1"/> <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source> - <translation type="unfinished"></translation> + <translation>Executive (7,5 x 10 palcev, 191 x 254 mm)</translation> </message> <message> <location line="+1"/> <source>Folio (210 x 330 mm)</source> - <translation type="unfinished"></translation> + <translation>Folio (210 x 330 mm)</translation> </message> <message> <location line="+1"/> <source>Ledger (432 x 279 mm)</source> - <translation type="unfinished"></translation> + <translation>Ledger (432 x 279 mm)</translation> </message> <message> <location line="+1"/> <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source> - <translation type="unfinished"></translation> + <translation>Legal (8,5 x 14 palcev, 216 x 356 mm)</translation> </message> <message> <location line="+1"/> <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source> - <translation type="unfinished"></translation> + <translation>Letter (8,5 x 11 palcev, 216 x 279 mm)</translation> </message> <message> <location line="+1"/> <source>Tabloid (279 x 432 mm)</source> - <translation type="unfinished"></translation> + <translation>Tabloid (279 x 432 mm)</translation> </message> <message> <location line="+1"/> <source>US Common #10 Envelope (105 x 241 mm)</source> - <translation type="unfinished"></translation> + <translation>US Common #10 Envelope (105 x 241 mm)</translation> </message> <message> - <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/> + <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+259"/> <source>OK</source> - <translation type="unfinished"></translation> + <translation>V redu</translation> </message> <message> - <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/> + <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+112"/> <location line="+13"/> <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/> <source>Print</source> - <translation type="unfinished"></translation> + <translation>Natisni</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-357"/> <source>Print To File ...</source> - <translation type="unfinished"></translation> + <translation>Natisni v datoteko ...</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+19"/> <source>Print range</source> - <translation type="unfinished"></translation> + <translation>Natisni obseg</translation> </message> <message> <location line="-2"/> <source>Print all</source> - <translation type="unfinished"></translation> + <translation>Natisni vse</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+80"/> <source>File %1 is not writable. Please choose a different file name.</source> - <translation type="unfinished"></translation> + <translation>V datoteko %1 ni moÄ pisati. +Izberite drugo ime datoteke.</translation> </message> <message> <location line="+4"/> <source>%1 already exists. Do you want to overwrite it?</source> - <translation type="unfinished"></translation> + <translation>%1 že obstaja. +Ali jo želite nadomestiti?</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-227"/> <source>File exists</source> - <translation type="unfinished"></translation> + <translation>Datoteka obstaja</translation> </message> <message> <location line="+1"/> <source><qt>Do you want to overwrite it?</qt></source> - <translation type="unfinished"></translation> + <translation><qt>Ali jo želite nadomestiti?</qt></translation> </message> <message> <location line="+227"/> <source>Print selection</source> - <translation type="unfinished"></translation> + <translation>Natisni izbor</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/> <source>%1 is a directory. Please choose a different file name.</source> - <translation type="unfinished"></translation> + <translation>%1 je mapa. +Izberite drugo ime datoteke.</translation> </message> <message> <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/> <source>A0</source> - <translation type="unfinished"></translation> + <translation>A0</translation> </message> <message> <location line="+1"/> <source>A1</source> - <translation type="unfinished"></translation> + <translation>A1</translation> </message> <message> <location line="+1"/> <source>A2</source> - <translation type="unfinished"></translation> + <translation>A2</translation> </message> <message> <location line="+1"/> <source>A3</source> - <translation type="unfinished"></translation> + <translation>A3</translation> </message> <message> <location line="+1"/> <source>A4</source> - <translation type="unfinished"></translation> + <translation>A4</translation> </message> <message> <location line="+1"/> <source>A5</source> - <translation type="unfinished"></translation> + <translation>A5</translation> </message> <message> <location line="+1"/> <source>A6</source> - <translation type="unfinished"></translation> + <translation>A6</translation> </message> <message> <location line="+1"/> <source>A7</source> - <translation type="unfinished"></translation> + <translation>A7</translation> </message> <message> <location line="+1"/> <source>A8</source> - <translation type="unfinished"></translation> + <translation>A8</translation> </message> <message> <location line="+1"/> <source>A9</source> - <translation type="unfinished"></translation> + <translation>A9</translation> </message> <message> <location line="+1"/> <source>B0</source> - <translation type="unfinished"></translation> + <translation>B0</translation> </message> <message> <location line="+1"/> <source>B1</source> - <translation type="unfinished"></translation> + <translation>B1</translation> </message> <message> <location line="+1"/> <source>B2</source> - <translation type="unfinished"></translation> + <translation>B2</translation> </message> <message> <location line="+1"/> <source>B3</source> - <translation type="unfinished"></translation> + <translation>B3</translation> </message> <message> <location line="+1"/> <source>B4</source> - <translation type="unfinished"></translation> + <translation>B4</translation> </message> <message> <location line="+1"/> <source>B5</source> - <translation type="unfinished"></translation> + <translation>B5</translation> </message> <message> <location line="+1"/> <source>B6</source> - <translation type="unfinished"></translation> + <translation>B6</translation> </message> <message> <location line="+1"/> <source>B7</source> - <translation type="unfinished"></translation> + <translation>B7</translation> </message> <message> <location line="+1"/> <source>B8</source> - <translation type="unfinished"></translation> + <translation>B8</translation> </message> <message> <location line="+1"/> <source>B9</source> - <translation type="unfinished"></translation> + <translation>B9</translation> </message> <message> <location line="+1"/> <source>B10</source> - <translation type="unfinished"></translation> + <translation>B10</translation> </message> <message> <location line="+1"/> <source>C5E</source> - <translation type="unfinished"></translation> + <translation>C5E</translation> </message> <message> <location line="+1"/> <source>DLE</source> - <translation type="unfinished"></translation> + <translation>DLE</translation> </message> <message> <location line="+1"/> <source>Executive</source> - <translation type="unfinished"></translation> + <translation>Executive</translation> </message> <message> <location line="+1"/> <source>Folio</source> - <translation type="unfinished"></translation> + <translation>Folio</translation> </message> <message> <location line="+1"/> <source>Ledger</source> - <translation type="unfinished"></translation> + <translation>Ledger</translation> </message> <message> <location line="+1"/> <source>Legal</source> - <translation type="unfinished"></translation> + <translation>Legal</translation> </message> <message> <location line="+1"/> <source>Letter</source> - <translation type="unfinished"></translation> + <translation>Letter</translation> </message> <message> <location line="+1"/> <source>Tabloid</source> - <translation type="unfinished"></translation> + <translation>Tabloid</translation> </message> <message> <location line="+1"/> <source>US Common #10 Envelope</source> - <translation type="unfinished"></translation> + <translation>US Common #10 Envelope</translation> </message> <message> <location line="+1"/> <source>Custom</source> - <translation type="unfinished"></translation> + <translation>Po meri</translation> </message> <message> - <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-522"/> + <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-524"/> <location line="+68"/> <source>&Options >></source> - <translation type="unfinished"></translation> + <translation>&Možnosti »</translation> </message> <message> <location line="-63"/> <source>&Print</source> - <translation type="unfinished"></translation> + <translation>Na&tisni</translation> </message> <message> <location line="+67"/> <source>&Options <<</source> - <translation type="unfinished"></translation> + <translation>&Možnosti «</translation> </message> <message> <location line="+253"/> <source>Print to File (PDF)</source> - <translation type="unfinished"></translation> + <translation>Natisni v datoteko (PDF)</translation> </message> <message> <location line="+1"/> <source>Print to File (Postscript)</source> - <translation type="unfinished"></translation> + <translation>Natisni v datoteko (PostScript)</translation> </message> <message> - <location line="+45"/> + <location line="+47"/> <source>Local file</source> - <translation type="unfinished"></translation> + <translation>Krajevna datoteka</translation> </message> <message> <location line="+1"/> <source>Write %1 file</source> - <translation type="unfinished"></translation> + <translation>ZapiÅ¡i datoteko %1</translation> </message> <message> <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/> <source>The 'From' value cannot be greater than the 'To' value.</source> - <translation type="unfinished"></translation> + <translation>Vrednost »Od« ne more biti veÄja od vrednosti »Do«.</translation> </message> </context> <context> @@ -4012,107 +4315,102 @@ Please choose a different file name.</source> <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/> <location line="+12"/> <source>Page Setup</source> - <translation type="unfinished"></translation> + <translation>Nastavitve strani</translation> </message> <message> - <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/> + <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+246"/> <source>%1%</source> - <translation type="unfinished"></translation> + <translation>%1 %</translation> </message> <message> - <location line="+79"/> + <location line="+68"/> <source>Print Preview</source> - <translation type="unfinished"></translation> + <translation>Ogled tiskanja</translation> </message> <message> - <location line="+29"/> + <location line="+30"/> <source>Next page</source> - <translation type="unfinished"></translation> + <translation>Naslednja stran</translation> </message> <message> <location line="+1"/> <source>Previous page</source> - <translation type="unfinished"></translation> + <translation>Predhodna stran</translation> </message> <message> <location line="+1"/> <source>First page</source> - <translation type="unfinished"></translation> + <translation>&Prva stran</translation> </message> <message> <location line="+1"/> <source>Last page</source> - <translation type="unfinished"></translation> + <translation>&Zadnja stran</translation> </message> <message> <location line="+9"/> <source>Fit width</source> - <translation type="unfinished"></translation> + <translation>Prilagodi &Å¡irini</translation> </message> <message> <location line="+1"/> <source>Fit page</source> - <translation type="unfinished"></translation> + <translation>Prilagodi strani</translation> </message> <message> <location line="+11"/> <source>Zoom in</source> - <translation type="unfinished"></translation> + <translation>PoveÄaj</translation> </message> <message> <location line="+1"/> <source>Zoom out</source> - <translation type="unfinished"></translation> + <translation>ZmanjÅ¡aj</translation> </message> <message> <location line="+6"/> <source>Portrait</source> - <translation type="unfinished"></translation> + <translation>PokonÄno</translation> </message> <message> <location line="+1"/> <source>Landscape</source> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> <location line="+10"/> <source>Show single page</source> - <translation type="unfinished"></translation> + <translation>Prikaži enojno stran</translation> </message> <message> <location line="+1"/> <source>Show facing pages</source> - <translation type="unfinished"></translation> + <translation>Prikaži dve strani</translation> </message> <message> <location line="+1"/> <source>Show overview of all pages</source> - <translation type="unfinished"></translation> + <translation>Prikaži ogled vseh strani</translation> </message> <message> <location line="+15"/> <source>Print</source> - <translation type="unfinished"></translation> + <translation>Natisni</translation> </message> <message> <location line="+1"/> <source>Page setup</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Close</source> - <translation type="unfinished"></translation> + <translation>Nastavitve strani</translation> </message> <message> - <location line="+151"/> + <location line="+150"/> <source>Export to PDF</source> - <translation type="unfinished"></translation> + <translation>Izvozi v PDF</translation> </message> <message> <location line="+3"/> <source>Export to PostScript</source> - <translation type="unfinished"></translation> + <translation>Izvozi v PostScript</translation> </message> </context> <context> @@ -4120,17 +4418,17 @@ Please choose a different file name.</source> <message> <location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Page</source> - <translation type="unfinished"></translation> + <translation>Stran</translation> </message> <message> <location/> <source>Advanced</source> - <translation type="unfinished"></translation> + <translation>Napredno</translation> </message> </context> <context> @@ -4138,97 +4436,97 @@ Please choose a different file name.</source> <message> <location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Copies</source> - <translation type="unfinished"></translation> + <translation>Izvodi</translation> </message> <message> <location/> <source>Print range</source> - <translation type="unfinished"></translation> + <translation>Obseg tiskanja</translation> </message> <message> <location/> <source>Print all</source> - <translation type="unfinished"></translation> + <translation>Natisni vse</translation> </message> <message> <location/> <source>Pages from</source> - <translation type="unfinished"></translation> + <translation>Strani od</translation> </message> <message> <location/> <source>to</source> - <translation type="unfinished"></translation> + <translation>do</translation> </message> <message> <location/> <source>Selection</source> - <translation type="unfinished"></translation> + <translation>Izbor</translation> </message> <message> <location/> <source>Output Settings</source> - <translation type="unfinished"></translation> + <translation>Nastavitve izpisa</translation> </message> <message> <location/> <source>Copies:</source> - <translation type="unfinished"></translation> + <translation>Izvodi:</translation> </message> <message> <location/> <source>Collate</source> - <translation type="unfinished"></translation> + <translation>Združi</translation> </message> <message> <location/> <source>Reverse</source> - <translation type="unfinished"></translation> + <translation>V nasprotno smer</translation> </message> <message> <location/> <source>Options</source> - <translation type="unfinished"></translation> + <translation>Možnosti</translation> </message> <message> <location/> <source>Color Mode</source> - <translation type="unfinished"></translation> + <translation>Barvni naÄin</translation> </message> <message> <location/> <source>Color</source> - <translation type="unfinished"></translation> + <translation>Barva</translation> </message> <message> <location/> <source>Grayscale</source> - <translation type="unfinished"></translation> + <translation>Sivinsko</translation> </message> <message> <location/> <source>Duplex Printing</source> - <translation type="unfinished"></translation> + <translation>Dvostransko tiskanje</translation> </message> <message> <location/> <source>None</source> - <translation type="unfinished"></translation> + <translation>Brez</translation> </message> <message> <location/> <source>Long side</source> - <translation type="unfinished"></translation> + <translation>Dolga stranica</translation> </message> <message> <location/> <source>Short side</source> - <translation type="unfinished"></translation> + <translation>Kratka stranica</translation> </message> </context> <context> @@ -4236,118 +4534,118 @@ Please choose a different file name.</source> <message> <location filename="../src/gui/dialogs/qprintwidget.ui"/> <source>Form</source> - <translation type="unfinished"></translation> + <translation>Obrazec</translation> </message> <message> <location/> <source>Printer</source> - <translation type="unfinished"></translation> + <translation>Tiskalnik</translation> </message> <message> <location/> <source>&Name:</source> - <translation type="unfinished"></translation> + <translation>&Ime:</translation> </message> <message> <location/> <source>P&roperties</source> - <translation type="unfinished"></translation> + <translation>&Lastnosti ...</translation> </message> <message> <location/> <source>Location:</source> - <translation type="unfinished"></translation> + <translation>Lokacija:</translation> </message> <message> <location/> <source>Preview</source> - <translation type="unfinished"></translation> + <translation>Ogled</translation> </message> <message> <location/> <source>Type:</source> - <translation type="unfinished"></translation> + <translation>Vrsta:</translation> </message> <message> <location/> <source>Output &file:</source> - <translation type="unfinished"></translation> + <translation>Izhodna d&atoteka:</translation> </message> <message> <location/> <source>...</source> - <translation type="unfinished"></translation> + <translation>...</translation> </message> </context> <context> <name>QProcess</name> <message> - <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/> - <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/> + <location filename="../src/corelib/io/qprocess_unix.cpp" line="+402"/> + <location filename="../src/corelib/io/qprocess_win.cpp" line="+137"/> <source>Could not open input redirection for reading</source> - <translation type="unfinished"></translation> + <translation>Preusmeritve vhoda ni bilo moÄ odpreti za branje</translation> </message> <message> <location line="+12"/> - <location filename="../src/corelib/io/qprocess_win.cpp" line="+36"/> + <location filename="../src/corelib/io/qprocess_win.cpp" line="+20"/> <source>Could not open output redirection for writing</source> - <translation type="unfinished"></translation> + <translation>Preusmeritve izhoda ni bilo moÄ odpreti za pisanje</translation> </message> <message> - <location line="+235"/> + <location line="+239"/> <source>Resource error (fork failure): %1</source> - <translation type="unfinished"></translation> + <translation>Napaka vira (spodletela odcepitev): %1</translation> </message> <message> - <location line="+259"/> - <location line="+53"/> + <location line="+252"/> + <location line="+52"/> <location line="+74"/> - <location line="+67"/> - <location filename="../src/corelib/io/qprocess_win.cpp" line="+422"/> + <location line="+66"/> + <location filename="../src/corelib/io/qprocess_win.cpp" line="+406"/> <location line="+50"/> <location line="+75"/> <location line="+42"/> <location line="+54"/> <source>Process operation timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za dejanje procesa je potekel</translation> </message> <message> - <location filename="../src/corelib/io/qprocess.cpp" line="+533"/> + <location filename="../src/corelib/io/qprocess.cpp" line="+851"/> <location line="+52"/> <location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/> <location line="+50"/> <source>Error reading from process</source> - <translation type="unfinished"></translation> + <translation>Napaka pri branju iz procesa</translation> </message> <message> <location line="+47"/> - <location line="+779"/> + <location line="+826"/> <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/> <source>Error writing to process</source> - <translation type="unfinished"></translation> + <translation>Napak pri pisanju v proces</translation> </message> <message> - <location line="-709"/> + <location line="-756"/> <source>Process crashed</source> - <translation type="unfinished"></translation> + <translation>Program se je sesul</translation> </message> <message> - <location line="+912"/> + <location line="+959"/> <source>No program defined</source> - <translation type="unfinished"></translation> + <translation>DoloÄenega ni nobenega programa</translation> </message> <message> - <location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/> - <source>Process failed to start</source> - <translation type="unfinished"></translation> + <location filename="../src/corelib/io/qprocess_win.cpp" line="-360"/> + <source>Process failed to start: %1</source> + <translation>Proces se ni uspel zagnati: %1</translation> </message> </context> <context> <name>QProgressDialog</name> <message> - <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/> + <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+196"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> </context> <context> @@ -4355,7 +4653,7 @@ Please choose a different file name.</source> <message> <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-8"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> </context> <context> @@ -4363,357 +4661,717 @@ Please choose a different file name.</source> <message> <location line="+12"/> <source>Check</source> - <translation type="unfinished"></translation> + <translation>OznaÄi</translation> </message> </context> <context> <name>QRegExp</name> <message> - <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/> + <location filename="../src/corelib/tools/qregexp.cpp" line="+65"/> <source>no error occurred</source> - <translation type="unfinished"></translation> + <translation>ni nobene napake</translation> </message> <message> <location line="+1"/> <source>disabled feature used</source> - <translation type="unfinished"></translation> + <translation>uporabljena onemogoÄena zmožnost</translation> </message> <message> <location line="+1"/> <source>bad char class syntax</source> - <translation type="unfinished"></translation> + <translation>napaÄna sintaksa znakovnega razreda</translation> </message> <message> <location line="+1"/> <source>bad lookahead syntax</source> - <translation type="unfinished"></translation> + <translation>napaÄna sintaksa pogleda naprej</translation> </message> <message> <location line="+1"/> <source>bad repetition syntax</source> - <translation type="unfinished"></translation> + <translation>napaÄna sintaksa ponavljanja</translation> </message> <message> <location line="+1"/> <source>invalid octal value</source> - <translation type="unfinished"></translation> + <translation>neveljavna osmiÅ¡ka vrednost</translation> </message> <message> <location line="+1"/> <source>missing left delim</source> - <translation type="unfinished"></translation> + <translation>manjkajoÄ levi razmejitelj</translation> </message> <message> <location line="+1"/> <source>unexpected end</source> - <translation type="unfinished"></translation> + <translation>nepriÄakovan konece</translation> </message> <message> <location line="+1"/> <source>met internal limit</source> - <translation type="unfinished"></translation> + <translation>dosežena notranja omejitev</translation> + </message> + <message> + <location line="+1"/> + <source>invalid interval</source> + <translation>neveljaven interval</translation> + </message> + <message> + <location line="+1"/> + <source>invalid category</source> + <translation>neveljavna kategorija</translation> </message> </context> <context> <name>QSQLite2Driver</name> <message> - <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/> - <source>Error to open database</source> - <translation type="unfinished"></translation> + <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+391"/> + <source>Error opening database</source> + <translation>Napaka pri odpiranju podatkovne zbirke</translation> </message> <message> <location line="+41"/> <source>Unable to begin transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaÄeti transakcije</translation> </message> <message> <location line="+17"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+17"/> - <source>Unable to rollback Transaction</source> - <translation type="unfinished"></translation> + <source>Unable to rollback transaction</source> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> </context> <context> <name>QSQLite2Result</name> <message> - <location line="-323"/> + <location line="-319"/> <source>Unable to fetch results</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti rezultatov</translation> </message> <message> - <location line="+147"/> + <location line="+143"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> </context> <context> <name>QSQLiteDriver</name> <message> - <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/> + <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+544"/> <source>Error opening database</source> - <translation type="unfinished"></translation> + <translation>Napaka pri odpiranju podatkovne zbirke</translation> </message> <message> <location line="+11"/> <source>Error closing database</source> - <translation type="unfinished"></translation> + <translation>Napaka pri zapiranju podatkovne zbirke</translation> </message> <message> <location line="+20"/> <source>Unable to begin transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zaÄeti transakcije</translation> </message> <message> <location line="+15"/> <source>Unable to commit transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ udejaniti transakcije</translation> </message> <message> <location line="+15"/> <source>Unable to rollback transaction</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ razveljaviti transakcije</translation> </message> </context> <context> <name>QSQLiteResult</name> <message> - <location line="-400"/> + <location line="-408"/> <location line="+66"/> <location line="+8"/> <source>Unable to fetch row</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ pridobiti vrstice</translation> </message> <message> - <location line="+63"/> + <location line="+59"/> <source>Unable to execute statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ izvesti izjave</translation> </message> <message> <location line="+20"/> <source>Unable to reset statement</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ ponastaviti izjave</translation> </message> <message> <location line="+45"/> <source>Unable to bind parameters</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ prikleniti parametrov</translation> </message> <message> <location line="+7"/> <source>Parameter count mismatch</source> - <translation type="unfinished"></translation> + <translation>Neujemanje v Å¡tevilu parametrov</translation> </message> <message> - <location line="-208"/> + <location line="-204"/> <source>No query</source> + <translation>Brez poizvedbe</translation> + </message> +</context> +<context> + <name>QScriptBreakpointsModel</name> + <message> + <location filename="../src/scripttools/debugging/qscriptbreakpointsmodel.cpp" line="+455"/> + <source>ID</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Location</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Condition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Ignore-count</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Single-shot</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Hit-count</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QScriptBreakpointsWidget</name> + <message> + <location filename="../src/scripttools/debugging/qscriptbreakpointswidget.cpp" line="+298"/> + <source>New</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Delete</source> + <translation type="unfinished">IzbriÅ¡i</translation> + </message> +</context> +<context> + <name>QScriptDebugger</name> + <message> + <location filename="../src/scripttools/debugging/qscriptdebugger.cpp" line="+885"/> + <location line="+1013"/> + <source>Go to Line</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-1012"/> + <source>Line:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+791"/> + <source>Interrupt</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Shift+F5</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Continue</source> + <translation type="unfinished">Nadaljuj</translation> + </message> + <message> + <location line="+2"/> + <source>F5</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Step Into</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>F11</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Step Over</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>F10</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Step Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Shift+F11</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Run to Cursor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Ctrl+F10</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+16"/> + <source>Run to New Script</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>Toggle Breakpoint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>F9</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>Clear Debug Output</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+13"/> + <source>Clear Error Log</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+13"/> + <source>Clear Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>&Find in Script...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Ctrl+F</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>Find &Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>F3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+13"/> + <source>Find &Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Shift+F3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>Ctrl+G</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>Debug</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QScriptDebuggerCodeFinderWidget</name> + <message> + <location filename="../src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp" line="+141"/> + <source>Close</source> + <translation type="unfinished">Zapri</translation> + </message> + <message> + <location line="+13"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>Case Sensitive</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>Whole words</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source><img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QScriptDebuggerLocalsModel</name> + <message> + <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/> + <source>Name</source> + <translation type="unfinished">Ime</translation> + </message> + <message> + <location line="+2"/> + <source>Value</source> + <translation type="unfinished">Vrednost</translation> + </message> +</context> +<context> + <name>QScriptDebuggerStackModel</name> + <message> + <location filename="../src/scripttools/debugging/qscriptdebuggerstackmodel.cpp" line="+161"/> + <source>Level</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Name</source> + <translation type="unfinished">Ime</translation> + </message> + <message> + <location line="+2"/> + <source>Location</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QScriptEdit</name> + <message> + <location filename="../src/scripttools/debugging/qscriptedit.cpp" line="+411"/> + <source>Toggle Breakpoint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Disable Breakpoint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Enable Breakpoint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+4"/> + <source>Breakpoint Condition:</source> <translation type="unfinished"></translation> </message> </context> <context> + <name>QScriptEngineDebugger</name> + <message> + <location filename="../src/scripttools/debugging/qscriptenginedebugger.cpp" line="+523"/> + <source>Loaded Scripts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Breakpoints</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Stack</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Locals</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Debug Output</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Error Log</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+12"/> + <source>Search</source> + <translation type="unfinished">IÅ¡Äi</translation> + </message> + <message> + <location line="+7"/> + <source>View</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>Qt Script Debugger</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QScriptNewBreakpointWidget</name> + <message> + <location filename="../src/scripttools/debugging/qscriptbreakpointswidget.cpp" line="-223"/> + <source>Close</source> + <translation type="unfinished">Zapri</translation> + </message> +</context> +<context> <name>QScrollBar</name> <message> - <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/> + <location filename="../src/gui/widgets/qscrollbar.cpp" line="+454"/> <source>Scroll here</source> - <translation type="unfinished"></translation> + <translation>Premakni sem</translation> </message> <message> <location line="+2"/> <source>Left edge</source> - <translation type="unfinished"></translation> + <translation>Levi rob</translation> </message> <message> <location line="+0"/> <source>Top</source> - <translation type="unfinished"></translation> + <translation>Vrh</translation> </message> <message> <location line="+1"/> <source>Right edge</source> - <translation type="unfinished"></translation> + <translation>Desni rob</translation> </message> <message> <location line="+0"/> <source>Bottom</source> - <translation type="unfinished"></translation> + <translation>Dno</translation> </message> <message> <location line="+2"/> <source>Page left</source> - <translation type="unfinished"></translation> + <translation>Za stran levo</translation> </message> <message> <location line="+0"/> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+143"/> <source>Page up</source> - <translation type="unfinished"></translation> + <translation>Za stran gor</translation> </message> <message> <location line="+1"/> <source>Page right</source> - <translation type="unfinished"></translation> + <translation>Za stran desno</translation> </message> <message> <location line="+0"/> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+4"/> <source>Page down</source> - <translation type="unfinished"></translation> + <translation>Za stran dol</translation> </message> <message> <location line="+2"/> <source>Scroll left</source> - <translation type="unfinished"></translation> + <translation>Premakni levo</translation> </message> <message> <location line="+0"/> <source>Scroll up</source> - <translation type="unfinished"></translation> + <translation>Premakni gor</translation> </message> <message> <location line="+1"/> <source>Scroll right</source> - <translation type="unfinished"></translation> + <translation>Premakni desno</translation> </message> <message> <location line="+0"/> <source>Scroll down</source> - <translation type="unfinished"></translation> + <translation>Premakni dol</translation> </message> <message> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-6"/> <source>Line up</source> - <translation type="unfinished"></translation> + <translation>V vrsto</translation> </message> <message> <location line="+4"/> <source>Position</source> - <translation type="unfinished"></translation> + <translation>Položaj</translation> </message> <message> <location line="+4"/> <source>Line down</source> - <translation type="unfinished"></translation> + <translation>Za vrstico dol</translation> </message> </context> <context> <name>QSharedMemory</name> <message> - <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/> + <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+223"/> <source>%1: unable to set key on lock</source> - <translation type="unfinished"></translation> + <translation>%1: ni moÄ nastaviti kljuÄa na zaklep</translation> </message> <message> <location line="+81"/> <source>%1: create size is less then 0</source> - <translation type="unfinished"></translation> + <translation>%1: velikost je manjÅ¡a od 0</translation> </message> <message> <location line="+168"/> - <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/> + <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+155"/> <source>%1: unable to lock</source> - <translation type="unfinished"></translation> + <translation>%1: ni moÄ zakleniti</translation> </message> <message> <location line="+22"/> <source>%1: unable to unlock</source> - <translation type="unfinished"></translation> + <translation>%1: ni moÄ odkleniti</translation> </message> <message> - <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/> + <location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+83"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+80"/> <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/> <source>%1: permission denied</source> - <translation type="unfinished"></translation> + <translation>%1: nimate dovoljenja</translation> </message> <message> - <location line="+4"/> + <location line="-16"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+4"/> <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-22"/> <source>%1: already exists</source> - <translation type="unfinished"></translation> + <translation>%1: že obstaja</translation> </message> <message> <location line="+4"/> - <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/> <source>%1: doesn't exists</source> - <translation type="unfinished"></translation> + <translation>%1: ne obstaja</translation> </message> <message> - <location line="+6"/> - <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/> + <location line="+8"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+10"/> + <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+18"/> <source>%1: out of resources</source> - <translation type="unfinished"></translation> + <translation>%1: zmanjkalo je virov</translation> </message> <message> - <location line="+4"/> + <location line="+7"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+4"/> <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+7"/> <source>%1: unknown error %2</source> - <translation type="unfinished"></translation> + <translation>%1: neznana napaka %2</translation> </message> <message> - <location line="+21"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+21"/> <source>%1: key is empty</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>%1: unix key file doesn't exists</source> - <translation type="unfinished"></translation> + <translation>%1: kljuÄ je prazen</translation> </message> <message> - <location line="+7"/> + <location line="+15"/> <source>%1: ftok failed</source> - <translation type="unfinished"></translation> + <translation>%1: funkcija ftok ni uspela</translation> </message> <message> - <location line="+51"/> + <location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+56"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+51"/> <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/> <source>%1: unable to make key</source> - <translation type="unfinished"></translation> + <translation>%1: ni moÄ ustvariti kljuÄa</translation> </message> <message> - <location line="+20"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="-97"/> + <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-31"/> + <source>%1: doesn't exist</source> + <translation>%1: ne obstaja</translation> + </message> + <message> + <location line="+39"/> + <source>%1: UNIX key file doesn't exist</source> + <translation>%1: UNIX-ova zaklepna datoteka ne obstaja</translation> + </message> + <message> + <location line="+78"/> <source>%1: system-imposed size restrictions</source> - <translation type="unfinished"></translation> + <translation>%1: sistemsko vsiljene omejitve velikosti</translation> </message> <message> <location line="+53"/> <source>%1: not attached</source> - <translation type="unfinished"></translation> + <translation>%1: ni pripeto</translation> </message> <message> - <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-27"/> + <location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="-67"/> + <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+4"/> <source>%1: invalid size</source> - <translation type="unfinished"></translation> + <translation>%1: neveljavna velikost</translation> </message> <message> - <location line="+68"/> + <location line="+40"/> + <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+63"/> <source>%1: key error</source> - <translation type="unfinished"></translation> + <translation>%1: napaka kljuÄa</translation> </message> <message> - <location line="+38"/> + <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+32"/> <source>%1: size query failed</source> - <translation type="unfinished"></translation> + <translation>%1: poizvedba po velikosti ni uspela</translation> </message> </context> <context> <name>QShortcut</name> <message> - <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/> + <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/> <source>Space</source> - <translation type="unfinished"></translation> + <translation>Preslednica</translation> </message> <message> <location line="+1"/> <source>Esc</source> - <translation type="unfinished"></translation> + <translation>Esc</translation> </message> <message> <location line="+1"/> <source>Tab</source> - <translation type="unfinished"></translation> + <translation>Tabulator</translation> </message> <message> <location line="+1"/> @@ -4723,142 +5381,142 @@ Please choose a different file name.</source> <message> <location line="+1"/> <source>Backspace</source> - <translation type="unfinished"></translation> + <translation>VraÄalka</translation> </message> <message> <location line="+1"/> <source>Return</source> - <translation type="unfinished"></translation> + <translation>Return</translation> </message> <message> <location line="+1"/> <source>Enter</source> - <translation type="unfinished"></translation> + <translation>Vnesi</translation> </message> <message> <location line="+1"/> <source>Ins</source> - <translation type="unfinished"></translation> + <translation>Ins</translation> </message> <message> <location line="+1"/> <source>Del</source> - <translation type="unfinished"></translation> + <translation>Del</translation> </message> <message> <location line="+1"/> <source>Pause</source> - <translation type="unfinished"></translation> + <translation>Premor</translation> </message> <message> <location line="+1"/> <source>Print</source> - <translation type="unfinished"></translation> + <translation>Natisni</translation> </message> <message> <location line="+1"/> <source>SysReq</source> - <translation type="unfinished"></translation> + <translation>SysReq</translation> </message> <message> <location line="+1"/> <source>Home</source> - <translation type="unfinished"></translation> + <translation>ZaÄetek</translation> </message> <message> <location line="+1"/> <source>End</source> - <translation type="unfinished"></translation> + <translation>Konec</translation> </message> <message> <location line="+1"/> <source>Left</source> - <translation type="unfinished"></translation> + <translation>Levo</translation> </message> <message> <location line="+1"/> <source>Up</source> - <translation type="unfinished"></translation> + <translation>Gor</translation> </message> <message> <location line="+1"/> <source>Right</source> - <translation type="unfinished"></translation> + <translation>Desno</translation> </message> <message> <location line="+1"/> <source>Down</source> - <translation type="unfinished"></translation> + <translation>Dol</translation> </message> <message> <location line="+1"/> <source>PgUp</source> - <translation type="unfinished"></translation> + <translation>PgUp</translation> </message> <message> <location line="+1"/> <source>PgDown</source> - <translation type="unfinished"></translation> + <translation>PgDown</translation> </message> <message> <location line="+1"/> <source>CapsLock</source> - <translation type="unfinished"></translation> + <translation>CapsLock</translation> </message> <message> <location line="+1"/> <source>NumLock</source> - <translation type="unfinished"></translation> + <translation>NumLock</translation> </message> <message> <location line="+1"/> <source>ScrollLock</source> - <translation type="unfinished"></translation> + <translation>ScrollLock</translation> </message> <message> <location line="+1"/> <source>Menu</source> - <translation type="unfinished"></translation> + <translation>Meni</translation> </message> <message> <location line="+1"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="+3"/> <source>Back</source> - <translation type="unfinished"></translation> + <translation>Predhodna</translation> </message> <message> <location line="+1"/> <source>Forward</source> - <translation type="unfinished"></translation> + <translation>Naslednja</translation> </message> <message> <location line="+1"/> <source>Stop</source> - <translation type="unfinished"></translation> + <translation>Ustavi</translation> </message> <message> <location line="+1"/> <source>Refresh</source> - <translation type="unfinished"></translation> + <translation>Osveži</translation> </message> <message> <location line="+1"/> <source>Volume Down</source> - <translation type="unfinished"></translation> + <translation>TiÅ¡e</translation> </message> <message> <location line="+1"/> <source>Volume Mute</source> - <translation type="unfinished"></translation> + <translation>Tiho</translation> </message> <message> <location line="+1"/> <source>Volume Up</source> - <translation type="unfinished"></translation> + <translation>Glasneje</translation> </message> <message> <location line="+1"/> @@ -4868,12 +5526,12 @@ Please choose a different file name.</source> <message> <location line="+1"/> <source>Bass Up</source> - <translation type="unfinished"></translation> + <translation>VeÄ basov</translation> </message> <message> <location line="+1"/> <source>Bass Down</source> - <translation type="unfinished"></translation> + <translation>Manj basov</translation> </message> <message> <location line="+1"/> @@ -4888,162 +5546,162 @@ Please choose a different file name.</source> <message> <location line="+1"/> <source>Media Play</source> - <translation type="unfinished"></translation> + <translation>Predvajaj veÄpredstavnost</translation> </message> <message> <location line="+1"/> <source>Media Stop</source> - <translation type="unfinished"></translation> + <translation>Ustavi veÄpredstavnost</translation> </message> <message> <location line="+1"/> <source>Media Previous</source> - <translation type="unfinished"></translation> + <translation>Predhodna veÄpredstavnost</translation> </message> <message> <location line="+1"/> <source>Media Next</source> - <translation type="unfinished"></translation> + <translation>Naslednja veÄpredstavnost</translation> </message> <message> <location line="+1"/> <source>Media Record</source> - <translation type="unfinished"></translation> + <translation>Snemaj veÄpredstavnost</translation> </message> <message> <location line="+2"/> <source>Favorites</source> - <translation type="unfinished"></translation> + <translation>Priljubljeno</translation> </message> <message> <location line="+1"/> <source>Search</source> - <translation type="unfinished"></translation> + <translation>IÅ¡Äi</translation> </message> <message> <location line="+1"/> <source>Standby</source> - <translation type="unfinished"></translation> + <translation>V pripravljenost</translation> </message> <message> <location line="+1"/> <source>Open URL</source> - <translation type="unfinished"></translation> + <translation>Odpri URL</translation> </message> <message> <location line="+1"/> <source>Launch Mail</source> - <translation type="unfinished"></translation> + <translation>Zaženi poÅ¡to</translation> </message> <message> <location line="+1"/> <source>Launch Media</source> - <translation type="unfinished"></translation> + <translation>Zaženi veÄpredstavnost</translation> </message> <message> <location line="+1"/> <source>Launch (0)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (0)</translation> </message> <message> <location line="+1"/> <source>Launch (1)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (1)</translation> </message> <message> <location line="+1"/> <source>Launch (2)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (2)</translation> </message> <message> <location line="+1"/> <source>Launch (3)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (3)</translation> </message> <message> <location line="+1"/> <source>Launch (4)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (4)</translation> </message> <message> <location line="+1"/> <source>Launch (5)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (5)</translation> </message> <message> <location line="+1"/> <source>Launch (6)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (6)</translation> </message> <message> <location line="+1"/> <source>Launch (7)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (7)</translation> </message> <message> <location line="+1"/> <source>Launch (8)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (8)</translation> </message> <message> <location line="+1"/> <source>Launch (9)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (9)</translation> </message> <message> <location line="+1"/> <source>Launch (A)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (A)</translation> </message> <message> <location line="+1"/> <source>Launch (B)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (B)</translation> </message> <message> <location line="+1"/> <source>Launch (C)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (C)</translation> </message> <message> <location line="+1"/> <source>Launch (D)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (D)</translation> </message> <message> <location line="+1"/> <source>Launch (E)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (E)</translation> </message> <message> <location line="+1"/> <source>Launch (F)</source> - <translation type="unfinished"></translation> + <translation>Zaženi (F)</translation> </message> <message> <location line="+4"/> <source>Print Screen</source> - <translation type="unfinished"></translation> + <translation>Natisni zaslon</translation> </message> <message> <location line="+1"/> <source>Page Up</source> - <translation type="unfinished"></translation> + <translation>Za stran gor</translation> </message> <message> <location line="+1"/> <source>Page Down</source> - <translation type="unfinished"></translation> + <translation>Za stran dol</translation> </message> <message> <location line="+1"/> <source>Caps Lock</source> - <translation type="unfinished"></translation> + <translation>Caps Lock</translation> </message> <message> <location line="+1"/> <source>Num Lock</source> - <translation type="unfinished"></translation> + <translation>Num Lock</translation> </message> <message> <location line="+1"/> @@ -5058,111 +5716,111 @@ Please choose a different file name.</source> <message> <location line="+1"/> <source>Insert</source> - <translation type="unfinished"></translation> + <translation>Vstavi</translation> </message> <message> <location line="+1"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Escape</source> - <translation type="unfinished"></translation> + <translation>Escape</translation> </message> <message> <location line="+1"/> <source>System Request</source> - <translation type="unfinished"></translation> + <translation>Sistemska zahteva</translation> </message> <message> <location line="+4"/> <source>Select</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Izberi</translation> </message> <message> <location line="+1"/> <source>Yes</source> - <translation type="unfinished"></translation> + <translation>Da</translation> </message> <message> <location line="+1"/> <source>No</source> - <translation type="unfinished"></translation> + <translation>Ne</translation> </message> <message> <location line="+4"/> <source>Context1</source> - <translation type="unfinished"></translation> + <translation>Kontekst1</translation> </message> <message> <location line="+1"/> <source>Context2</source> - <translation type="unfinished"></translation> + <translation>Kontekst2</translation> </message> <message> <location line="+1"/> <source>Context3</source> - <translation type="unfinished"></translation> + <translation>Kontekst3</translation> </message> <message> <location line="+1"/> <source>Context4</source> - <translation type="unfinished"></translation> + <translation>Kontekst4</translation> </message> <message> <location line="+1"/> <source>Call</source> - <translation type="unfinished"></translation> + <translation type="unfinished">PokliÄi</translation> </message> <message> <location line="+1"/> <source>Hangup</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Odloži</translation> </message> <message> <location line="+1"/> <source>Flip</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Obrni</translation> </message> <message> - <location line="+527"/> - <location line="+122"/> + <location line="+561"/> + <location line="+135"/> <source>Ctrl</source> - <translation type="unfinished"></translation> + <translation>Ctrl</translation> </message> <message> - <location line="-121"/> - <location line="+125"/> + <location line="-134"/> + <location line="+138"/> <source>Shift</source> - <translation type="unfinished"></translation> + <translation>Shift</translation> </message> <message> - <location line="-124"/> - <location line="+122"/> + <location line="-137"/> + <location line="+135"/> <source>Alt</source> - <translation type="unfinished"></translation> + <translation>Alt</translation> </message> <message> - <location line="-121"/> - <location line="+117"/> + <location line="-134"/> + <location line="+130"/> <source>Meta</source> - <translation type="unfinished"></translation> + <translation>Meta</translation> </message> <message> - <location line="-25"/> + <location line="-40"/> <source>+</source> - <translation type="unfinished"></translation> + <translation>+</translation> </message> <message> - <location line="+46"/> + <location line="+61"/> <source>F%1</source> - <translation type="unfinished"></translation> + <translation>F%1</translation> </message> <message> - <location line="-720"/> + <location line="-767"/> <source>Home Page</source> - <translation type="unfinished"></translation> + <translation>DomaÄa stran</translation> </message> </context> <context> @@ -5170,27 +5828,27 @@ Please choose a different file name.</source> <message> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+151"/> <source>Page left</source> - <translation type="unfinished"></translation> + <translation>Za stran levo</translation> </message> <message> <location line="+0"/> <source>Page up</source> - <translation type="unfinished"></translation> + <translation>Za stran gor</translation> </message> <message> <location line="+2"/> <source>Position</source> - <translation type="unfinished"></translation> + <translation>Položaj</translation> </message> <message> <location line="+3"/> <source>Page right</source> - <translation type="unfinished"></translation> + <translation>Za stran desno</translation> </message> <message> <location line="+0"/> <source>Page down</source> - <translation type="unfinished"></translation> + <translation>Za stran dol</translation> </message> </context> <context> @@ -5198,72 +5856,105 @@ Please choose a different file name.</source> <message> <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-67"/> <source>Connection to proxy refused</source> - <translation type="unfinished"></translation> + <translation>Povezava s posrednikom je bila zavrnjena</translation> </message> <message> <location line="+4"/> <source>Connection to proxy closed prematurely</source> - <translation type="unfinished"></translation> + <translation>Povezava s posrednikom je bila prekinjena predÄasno</translation> </message> <message> <location line="+4"/> <source>Proxy host not found</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ najti gostitelja posrednika</translation> </message> <message> <location line="+5"/> <source>Connection to proxy timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za povezavo s posrednikom je potekel</translation> </message> <message> <location line="+17"/> <source>Proxy authentication failed</source> - <translation type="unfinished"></translation> + <translation>NeuspeÅ¡no overjanje posrednika</translation> </message> <message> <location line="+1"/> <source>Proxy authentication failed: %1</source> - <translation type="unfinished"></translation> + <translation>NeuspeÅ¡no overjanje posrednika: %1</translation> </message> <message> <location line="+9"/> <source>SOCKS version 5 protocol error</source> - <translation type="unfinished"></translation> + <translation>Napaka protokola SOCKS razliÄice 5</translation> </message> <message> <location line="+19"/> <source>General SOCKSv5 server failure</source> - <translation type="unfinished"></translation> + <translation>SploÅ¡na napaka strežnika SOCKSv5</translation> </message> <message> <location line="+4"/> <source>Connection not allowed by SOCKSv5 server</source> - <translation type="unfinished"></translation> + <translation>Strežnik SOCKSv5 ne dovoljuje povezave</translation> </message> <message> <location line="+16"/> <source>TTL expired</source> - <translation type="unfinished"></translation> + <translation>TTL je zapadel</translation> </message> <message> <location line="+4"/> <source>SOCKSv5 command not supported</source> - <translation type="unfinished"></translation> + <translation>Ukaz SOCKSv5 ni podprt</translation> </message> <message> <location line="+4"/> <source>Address type not supported</source> - <translation type="unfinished"></translation> + <translation>Vrsta naslova ni podprta</translation> </message> <message> <location line="+5"/> <source>Unknown SOCKSv5 proxy error code 0x%1</source> - <translation type="unfinished"></translation> + <translation>Neznana koda napake posrednika SOCKSv5: 0x%1</translation> </message> <message> <location line="+685"/> <source>Network operation timed out</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za omrežni postopek je potekel</translation> + </message> +</context> +<context> + <name>QSoftKeyManager</name> + <message> + <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+78"/> + <source>Ok</source> + <translation>V redu</translation> + </message> + <message> + <location line="+3"/> + <source>Select</source> + <translation>Izbor</translation> + </message> + <message> + <location line="+3"/> + <source>Done</source> + <translation>Opravljeno</translation> + </message> + <message> + <location line="+3"/> + <source>Options</source> + <translation>Možnosti</translation> + </message> + <message> + <location line="+3"/> + <source>Cancel</source> + <translation>PrekliÄi</translation> + </message> + <message> + <location line="+151"/> + <source>Exit</source> + <translation type="unfinished">KonÄaj</translation> </message> </context> <context> @@ -5271,12 +5962,12 @@ Please choose a different file name.</source> <message> <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-574"/> <source>More</source> - <translation type="unfinished"></translation> + <translation>VeÄ</translation> </message> <message> <location line="+2"/> <source>Less</source> - <translation type="unfinished"></translation> + <translation>Manj</translation> </message> </context> <context> @@ -5284,114 +5975,137 @@ Please choose a different file name.</source> <message> <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i</translation> </message> <message> <location line="+1"/> <source>Delete this record?</source> - <translation type="unfinished"></translation> + <translation>Ali izbriÅ¡em ta zapis?</translation> </message> <message> <location line="+1"/> <location line="+16"/> <location line="+36"/> <source>Yes</source> - <translation type="unfinished"></translation> + <translation>Da</translation> </message> <message> <location line="-51"/> <location line="+16"/> <location line="+36"/> <source>No</source> - <translation type="unfinished"></translation> + <translation>Ne</translation> </message> <message> <location line="-44"/> <source>Insert</source> - <translation type="unfinished"></translation> + <translation>Vstavi</translation> </message> <message> <location line="+2"/> <source>Update</source> - <translation type="unfinished"></translation> + <translation>Posodobi</translation> </message> <message> <location line="+4"/> <source>Save edits?</source> - <translation type="unfinished"></translation> + <translation>&Shranmi urejan?.</translation> </message> <message> <location line="+3"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> <message> <location line="+32"/> <source>Confirm</source> - <translation type="unfinished"></translation> + <translation>Potrdi</translation> </message> <message> <location line="+1"/> <source>Cancel your edits?</source> - <translation type="unfinished"></translation> + <translation>Ali želite preklicati urejanja?</translation> </message> </context> <context> <name>QSslSocket</name> <message> - <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/> + <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+546"/> <source>Unable to write data: %1</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ zapisati podatkov: %1</translation> </message> <message> <location line="+119"/> <source>Error while reading: %1</source> - <translation type="unfinished"></translation> + <translation>Napaka med branjem: %1</translation> </message> <message> <location line="+96"/> <source>Error during SSL handshake: %1</source> - <translation type="unfinished"></translation> + <translation>Napaka med rokovanjem SSL: %1</translation> </message> <message> - <location line="-524"/> + <location line="-501"/> <source>Error creating SSL context (%1)</source> - <translation type="unfinished"></translation> + <translation>Napaka pri ustvarjanju konteksta SSL (%1)</translation> </message> <message> <location line="+25"/> <source>Invalid or empty cipher list (%1)</source> - <translation type="unfinished"></translation> + <translation>Neveljaven ali prazen seznam Å¡ifer (%1)</translation> </message> <message> <location line="+62"/> <source>Error creating SSL session, %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri ustvarjanju seje SSL: %1</translation> </message> <message> <location line="+15"/> <source>Error creating SSL session: %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri ustvarjanju seje SSL: %1</translation> </message> <message> <location line="-61"/> <source>Cannot provide a certificate with no key, %1</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ priskrbeti potrdila brez kljuÄa, %1</translation> </message> <message> <location line="+7"/> <source>Error loading local certificate, %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri nalaganju krajevnega potrdila, %1</translation> </message> <message> <location line="+12"/> <source>Error loading private key, %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri nalaganju zasebnega kljuÄa, %1</translation> </message> <message> <location line="+7"/> <source>Private key does not certificate public key, %1</source> - <translation type="unfinished"></translation> + <translation>Zasebni kljuÄ ne potrjuje javnega kljuÄa, %1</translation> + </message> +</context> +<context> + <name>QStateMachine</name> + <message> + <location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+998"/> + <source>Missing initial state in compound state '%1'</source> + <translation>V sestavljenem stanju »%1« manjka zaÄetno stanje</translation> + </message> + <message> + <location line="+7"/> + <source>Missing default state in history state '%1'</source> + <translation>V zgodovinskem stanju »%1« manjka privzeto stanje</translation> + </message> + <message> + <location line="+7"/> + <source>No common ancestor for targets and source of transition from state '%1'</source> + <translation>Za cilje in zaÄetek prehoda iz stanja »%1« ni skupnega prednika</translation> + </message> + <message> + <location line="+4"/> + <source>Unknown error</source> + <translation>Neznana napaka</translation> </message> </context> <context> @@ -5400,29 +6114,29 @@ Please choose a different file name.</source> <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/> <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/> <source>%1: out of resources</source> - <translation type="unfinished"></translation> + <translation>%1: zmanjkalo je virov</translation> </message> <message> <location line="-13"/> <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+4"/> <source>%1: permission denied</source> - <translation type="unfinished"></translation> + <translation>%1: nimate dovoljenja</translation> </message> <message> <location line="+4"/> <source>%1: already exists</source> - <translation type="unfinished"></translation> + <translation>%1: že obstaja</translation> </message> <message> <location line="+4"/> <source>%1: does not exist</source> - <translation type="unfinished"></translation> + <translation>%1: ne obstaja</translation> </message> <message> <location line="+9"/> <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/> <source>%1: unknown error %2</source> - <translation type="unfinished"></translation> + <translation>%1: neznana napaka %2</translation> </message> </context> <context> @@ -5430,12 +6144,12 @@ Please choose a different file name.</source> <message> <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/> <source>Unable to open connection</source> - <translation type="unfinished"></translation> + <translation>Ni moÄ vzpostaviti povezave</translation> </message> <message> <location line="+5"/> <source>Unable to use database</source> - <translation type="unfinished"></translation> + <translation>Podatkovne zbirke ni moÄ uporabljati</translation> </message> </context> <context> @@ -5443,12 +6157,12 @@ Please choose a different file name.</source> <message> <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="-326"/> <source>Scroll Left</source> - <translation type="unfinished"></translation> + <translation>Premakni levo</translation> </message> <message> <location line="+0"/> <source>Scroll Right</source> - <translation type="unfinished"></translation> + <translation>Premakni desno</translation> </message> </context> <context> @@ -5456,50 +6170,50 @@ Please choose a different file name.</source> <message> <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/> <source>Operation on socket is not supported</source> - <translation type="unfinished"></translation> + <translation>Dejanje na vtiÄnici ni podprto</translation> </message> </context> <context> <name>QTextControl</name> <message> - <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/> + <location filename="../src/gui/text/qtextcontrol.cpp" line="+2001"/> <source>&Undo</source> - <translation type="unfinished"></translation> + <translation>&Razveljavi</translation> </message> <message> <location line="+2"/> <source>&Redo</source> - <translation type="unfinished"></translation> + <translation>&Uveljavi</translation> </message> <message> <location line="+4"/> <source>Cu&t</source> - <translation type="unfinished"></translation> + <translation>&Izreži</translation> </message> <message> <location line="+5"/> <source>&Copy</source> - <translation type="unfinished"></translation> + <translation>S&kopiraj</translation> </message> <message> <location line="+7"/> <source>Copy &Link Location</source> - <translation type="unfinished"></translation> + <translation>Skopiraj &povezavo do lokacije</translation> </message> <message> <location line="+6"/> <source>&Paste</source> - <translation type="unfinished"></translation> + <translation>Pri&lepi</translation> </message> <message> <location line="+3"/> <source>Delete</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i</translation> </message> <message> <location line="+7"/> <source>Select All</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> </context> <context> @@ -5508,34 +6222,34 @@ Please choose a different file name.</source> <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+254"/> <location line="+6"/> <source>Press</source> - <translation type="unfinished"></translation> + <translation>Pritisni</translation> </message> <message> <location line="-4"/> <location line="+8"/> <source>Open</source> - <translation type="unfinished"></translation> + <translation>Odpri</translation> </message> </context> <context> <name>QUdpSocket</name> <message> - <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/> + <location filename="../src/network/socket/qudpsocket.cpp" line="+179"/> <source>This platform does not support IPv6</source> - <translation type="unfinished"></translation> + <translation>Ta platforma ne podpira IPv6</translation> </message> </context> <context> <name>QUndoGroup</name> <message> - <location filename="../src/gui/util/qundogroup.cpp" line="+386"/> + <location filename="../src/gui/util/qundogroup.cpp" line="+385"/> <source>Undo</source> - <translation type="unfinished"></translation> + <translation>Razveljavi</translation> </message> <message> <location line="+28"/> <source>Redo</source> - <translation type="unfinished"></translation> + <translation>Uveljavi</translation> </message> </context> <context> @@ -5543,20 +6257,20 @@ Please choose a different file name.</source> <message> <location filename="../src/gui/util/qundoview.cpp" line="+101"/> <source><empty></source> - <translation type="unfinished"></translation> + <translation><prazno></translation> </message> </context> <context> <name>QUndoStack</name> <message> - <location filename="../src/gui/util/qundostack.cpp" line="+834"/> + <location filename="../src/gui/util/qundostack.cpp" line="+832"/> <source>Undo</source> - <translation type="unfinished"></translation> + <translation>Razveljavi</translation> </message> <message> <location line="+27"/> <source>Redo</source> - <translation type="unfinished"></translation> + <translation>Uveljavi</translation> </message> </context> <context> @@ -5564,774 +6278,1086 @@ Please choose a different file name.</source> <message> <location filename="../src/gui/text/qtextcontrol.cpp" line="+884"/> <source>LRM Left-to-right mark</source> - <translation type="unfinished"></translation> + <translation>LRM (oznaka z-leve-na-desno)</translation> </message> <message> <location line="+1"/> <source>RLM Right-to-left mark</source> - <translation type="unfinished"></translation> + <translation>RLM (oznaka z-desne-na-levo)</translation> </message> <message> <location line="+1"/> <source>ZWJ Zero width joiner</source> - <translation type="unfinished"></translation> + <translation>ZWJ (združevalec s Å¡irino niÄ)</translation> </message> <message> <location line="+1"/> <source>ZWNJ Zero width non-joiner</source> - <translation type="unfinished"></translation> + <translation>ZWNJ (ne-združevalec s Å¡irino niÄ)</translation> </message> <message> <location line="+1"/> <source>ZWSP Zero width space</source> - <translation type="unfinished"></translation> + <translation>ZWSP (presledek s Å¡irino niÄ)</translation> </message> <message> <location line="+1"/> <source>LRE Start of left-to-right embedding</source> - <translation type="unfinished"></translation> + <translation>LRE (zaÄetek vgrajevanja z leve na desno)</translation> </message> <message> <location line="+1"/> <source>RLE Start of right-to-left embedding</source> - <translation type="unfinished"></translation> + <translation>RLE (zaÄetek vgrajevanja z desne na levo)</translation> </message> <message> <location line="+1"/> <source>LRO Start of left-to-right override</source> - <translation type="unfinished"></translation> + <translation>LRO (zaÄetek nadomeÅ¡Äanja z leve na desno)</translation> </message> <message> <location line="+1"/> <source>RLO Start of right-to-left override</source> - <translation type="unfinished"></translation> + <translation>RLO (zaÄetek nadomeÅ¡Äanja z desne na levo)</translation> </message> <message> <location line="+1"/> <source>PDF Pop directional formatting</source> - <translation type="unfinished"></translation> + <translation>PDF (odstrani oblikovanje usmerjenosti)</translation> </message> <message> <location line="+6"/> <source>Insert Unicode control character</source> - <translation type="unfinished"></translation> + <translation>Vstavi kontrolni znak Unicode</translation> </message> </context> <context> <name>QWebFrame</name> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+706"/> <source>Request cancelled</source> - <translation type="unfinished"></translation> + <translation>Zahtevek je bil preklican</translation> </message> <message> <location line="+17"/> <source>Request blocked</source> - <translation type="unfinished"></translation> + <translation>Zahtevek je bil blokiran</translation> </message> <message> <location line="+7"/> <source>Cannot show URL</source> - <translation type="unfinished"></translation> + <translation>Lokacije ni moÄ prikazati</translation> </message> <message> <location line="+6"/> - <source>Frame load interruped by policy change</source> - <translation type="unfinished"></translation> + <source>Frame load interrupted by policy change</source> + <translation>Nalaganje okvirja je bilo prekinjeno zaradi spremembe pravil</translation> </message> <message> <location line="+6"/> <source>Cannot show mimetype</source> - <translation type="unfinished"></translation> + <translation>Vrste MIME ni moÄ prikazati</translation> </message> <message> <location line="+6"/> <source>File does not exist</source> - <translation type="unfinished"></translation> + <translation>Datoteka ne obstaja</translation> </message> </context> <context> <name>QWebPage</name> <message> - <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+382"/> + <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+403"/> <source>Bad HTTP request</source> - <translation type="unfinished"></translation> + <translation>NapaÄen zahtevek HTTP</translation> </message> <message> - <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/> + <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+41"/> <source>Submit</source> <comment>default label for Submit buttons in forms on web pages</comment> - <translation type="unfinished"></translation> + <translation>PoÅ¡lji</translation> </message> <message> <location line="+5"/> <source>Submit</source> <comment>Submit (input element) alt text for <input> elements with no alt, title, or value</comment> - <translation type="unfinished"></translation> + <translation>PoÅ¡lji</translation> </message> <message> <location line="+5"/> <source>Reset</source> <comment>default label for Reset buttons in forms on web pages</comment> - <translation type="unfinished"></translation> + <translation>Ponastavi</translation> </message> <message> <location line="+10"/> <source>This is a searchable index. Enter search keywords: </source> <comment>text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index'</comment> - <translation type="unfinished"></translation> + <translation>To je stvarno kazalo z iskanjem. Vnesite iskane besede: </translation> </message> <message> <location line="+5"/> <source>Choose File</source> <comment>title for file button used in HTML forms</comment> - <translation type="unfinished"></translation> + <translation>Izberite datoteko</translation> </message> <message> <location line="+5"/> <source>No file selected</source> <comment>text to display in file button used in HTML forms when no file is selected</comment> - <translation type="unfinished"></translation> + <translation>Datoteka ni izbrana</translation> </message> <message> <location line="+5"/> <source>Open in New Window</source> <comment>Open in New Window context menu item</comment> - <translation type="unfinished"></translation> + <translation>Odpri v novem oknu</translation> </message> <message> <location line="+5"/> <source>Save Link...</source> <comment>Download Linked File context menu item</comment> - <translation type="unfinished"></translation> + <translation>Shrani povezavo ...</translation> </message> <message> <location line="+5"/> <source>Copy Link</source> <comment>Copy Link context menu item</comment> - <translation type="unfinished"></translation> + <translation>Skopiraj povezavo</translation> </message> <message> <location line="+5"/> <source>Open Image</source> <comment>Open Image in New Window context menu item</comment> - <translation type="unfinished"></translation> + <translation>Odpri sliko</translation> </message> <message> <location line="+5"/> <source>Save Image</source> <comment>Download Image context menu item</comment> - <translation type="unfinished"></translation> + <translation>Shrani sliko</translation> </message> <message> <location line="+5"/> <source>Copy Image</source> <comment>Copy Link context menu item</comment> - <translation type="unfinished"></translation> + <translation>Kopiraj sliko</translation> </message> <message> <location line="+5"/> <source>Open Frame</source> <comment>Open Frame in New Window context menu item</comment> - <translation type="unfinished"></translation> + <translation>Odpri okvir</translation> </message> <message> <location line="+5"/> <source>Copy</source> <comment>Copy context menu item</comment> - <translation type="unfinished"></translation> + <translation>Skopiraj</translation> </message> <message> <location line="+5"/> <source>Go Back</source> <comment>Back context menu item</comment> - <translation type="unfinished"></translation> + <translation>Pojdi nazaj</translation> </message> <message> <location line="+5"/> <source>Go Forward</source> <comment>Forward context menu item</comment> - <translation type="unfinished"></translation> + <translation>Pojdi naprej</translation> </message> <message> <location line="+5"/> <source>Stop</source> <comment>Stop context menu item</comment> - <translation type="unfinished"></translation> + <translation>Ustavi</translation> </message> <message> <location line="+5"/> <source>Reload</source> <comment>Reload context menu item</comment> - <translation type="unfinished"></translation> + <translation>Znova naloži</translation> </message> <message> <location line="+5"/> <source>Cut</source> <comment>Cut context menu item</comment> - <translation type="unfinished"></translation> + <translation>Izreži</translation> </message> <message> <location line="+5"/> <source>Paste</source> <comment>Paste context menu item</comment> - <translation type="unfinished"></translation> + <translation>Prilepi</translation> </message> <message> <location line="+5"/> <source>No Guesses Found</source> <comment>No Guesses Found context menu item</comment> - <translation type="unfinished"></translation> + <translation>Najdenega ni nobenega ugibanja</translation> </message> <message> <location line="+5"/> <source>Ignore</source> <comment>Ignore Spelling context menu item</comment> - <translation type="unfinished"></translation> + <translation>Prezri</translation> </message> <message> <location line="+5"/> <source>Add To Dictionary</source> <comment>Learn Spelling context menu item</comment> - <translation type="unfinished"></translation> + <translation>Dodaj v slovar</translation> </message> <message> <location line="+5"/> <source>Search The Web</source> <comment>Search The Web context menu item</comment> - <translation type="unfinished"></translation> + <translation>IÅ¡Äite po spletu</translation> </message> <message> <location line="+5"/> <source>Look Up In Dictionary</source> <comment>Look Up in Dictionary context menu item</comment> - <translation type="unfinished"></translation> + <translation>PoiÅ¡Äi v slovarju</translation> </message> <message> <location line="+5"/> <source>Open Link</source> <comment>Open Link context menu item</comment> - <translation type="unfinished"></translation> + <translation>Odpri povezavo</translation> </message> <message> <location line="+5"/> <source>Ignore</source> <comment>Ignore Grammar context menu item</comment> - <translation type="unfinished"></translation> + <translation>Prezri</translation> </message> <message> <location line="+5"/> <source>Spelling</source> <comment>Spelling and Grammar context sub-menu item</comment> - <translation type="unfinished"></translation> + <translation>ÄŒrkovanje</translation> </message> <message> <location line="+5"/> <source>Show Spelling and Grammar</source> <comment>menu item title</comment> - <translation type="unfinished"></translation> + <translation>Prikaži Ärkovanje in slovnico</translation> </message> <message> <location line="+1"/> <source>Hide Spelling and Grammar</source> <comment>menu item title</comment> - <translation type="unfinished"></translation> + <translation>Skrij Ärkovanje in slovnico</translation> </message> <message> <location line="+5"/> <source>Check Spelling</source> <comment>Check spelling context menu item</comment> - <translation type="unfinished"></translation> + <translation>Preveri Ärkovanje</translation> </message> <message> <location line="+5"/> <source>Check Spelling While Typing</source> <comment>Check spelling while typing context menu item</comment> - <translation type="unfinished"></translation> + <translation>Preveri Ärkovanje med tipkanjem</translation> </message> <message> <location line="+5"/> <source>Check Grammar With Spelling</source> <comment>Check grammar with spelling context menu item</comment> - <translation type="unfinished"></translation> + <translation>Preveri slovnico in Ärkovanje</translation> </message> <message> <location line="+5"/> <source>Fonts</source> <comment>Font context sub-menu item</comment> - <translation type="unfinished"></translation> + <translation>Pisave</translation> </message> <message> <location line="+5"/> <source>Bold</source> <comment>Bold context menu item</comment> - <translation type="unfinished"></translation> + <translation>Polkrepko</translation> </message> <message> <location line="+5"/> <source>Italic</source> <comment>Italic context menu item</comment> - <translation type="unfinished"></translation> + <translation>LežeÄe</translation> </message> <message> <location line="+5"/> <source>Underline</source> <comment>Underline context menu item</comment> - <translation type="unfinished"></translation> + <translation>PodÄrtano</translation> </message> <message> <location line="+5"/> <source>Outline</source> <comment>Outline context menu item</comment> - <translation type="unfinished"></translation> + <translation>Obris</translation> </message> <message> <location line="+5"/> <source>Direction</source> <comment>Writing direction context sub-menu item</comment> - <translation type="unfinished"></translation> + <translation>Smer</translation> </message> <message> <location line="+5"/> <source>Text Direction</source> <comment>Text direction context sub-menu item</comment> - <translation type="unfinished"></translation> + <translation>Smer besedila</translation> </message> <message> <location line="+5"/> <source>Default</source> <comment>Default writing direction context menu item</comment> - <translation type="unfinished"></translation> + <translation>Privzeta</translation> </message> <message> <location line="+5"/> - <source>LTR</source> + <source>Left to Right</source> <comment>Left to Right context menu item</comment> - <translation type="unfinished"></translation> + <translation>Z leve na desno</translation> </message> <message> <location line="+5"/> - <source>RTL</source> + <source>Right to Left</source> <comment>Right to Left context menu item</comment> - <translation type="unfinished"></translation> + <translation>Z desne na levo</translation> + </message> + <message> + <location line="+105"/> + <source>Loading...</source> + <comment>Media controller status message when the media is loading</comment> + <translation>Nalaganje ...</translation> </message> <message> <location line="+5"/> + <source>Live Broadcast</source> + <comment>Media controller status message when watching a live broadcast</comment> + <translation>Prenos v živo</translation> + </message> + <message> + <location line="+8"/> + <source>Audio Element</source> + <comment>Media controller element</comment> + <translation>ZvoÄni element</translation> + </message> + <message> + <location line="+2"/> + <source>Video Element</source> + <comment>Media controller element</comment> + <translation>Video element</translation> + </message> + <message> + <location line="+2"/> + <source>Mute Button</source> + <comment>Media controller element</comment> + <translation>Gumb za utiÅ¡anje</translation> + </message> + <message> + <location line="+2"/> + <source>Unmute Button</source> + <comment>Media controller element</comment> + <translation>Gumb za preklic utiÅ¡anja</translation> + </message> + <message> + <location line="+2"/> + <source>Play Button</source> + <comment>Media controller element</comment> + <translation>Gumb za predvajanje</translation> + </message> + <message> + <location line="+2"/> + <source>Pause Button</source> + <comment>Media controller element</comment> + <translation>Gumb za premor</translation> + </message> + <message> + <location line="+2"/> + <source>Slider</source> + <comment>Media controller element</comment> + <translation>Drsnik</translation> + </message> + <message> + <location line="+2"/> + <source>Slider Thumb</source> + <comment>Media controller element</comment> + <translation>RoÄka na drsniku</translation> + </message> + <message> + <location line="+2"/> + <source>Rewind Button</source> + <comment>Media controller element</comment> + <translation>Gumb za previjanje</translation> + </message> + <message> + <location line="+2"/> + <source>Return to Real-time Button</source> + <comment>Media controller element</comment> + <translation>Gumb za vrnitev na resniÄni Äas</translation> + </message> + <message> + <location line="+2"/> + <source>Elapsed Time</source> + <comment>Media controller element</comment> + <translation>PreteÄeni Äas</translation> + </message> + <message> + <location line="+2"/> + <source>Remaining Time</source> + <comment>Media controller element</comment> + <translation>Preostali Äas</translation> + </message> + <message> + <location line="+2"/> + <source>Status Display</source> + <comment>Media controller element</comment> + <translation>Prikaz stanja</translation> + </message> + <message> + <location line="+2"/> + <source>Fullscreen Button</source> + <comment>Media controller element</comment> + <translation>Gumb za cel zaslon</translation> + </message> + <message> + <location line="+2"/> + <source>Seek Forward Button</source> + <comment>Media controller element</comment> + <translation>Gumb za pomik naprej</translation> + </message> + <message> + <location line="+2"/> + <source>Seek Back Button</source> + <comment>Media controller element</comment> + <translation>Gumb za pomik nazaj</translation> + </message> + <message> + <location line="+8"/> + <source>Audio element playback controls and status display</source> + <comment>Media controller element</comment> + <translation>Nadzor in prikaz stanja elementa za predvajanje zvoka</translation> + </message> + <message> + <location line="+2"/> + <source>Video element playback controls and status display</source> + <comment>Media controller element</comment> + <translation>Nadzor in prikaz stanja elementa za predvajanje videa</translation> + </message> + <message> + <location line="+2"/> + <source>Mute audio tracks</source> + <comment>Media controller element</comment> + <translation>UtiÅ¡aj zvoÄne sledi</translation> + </message> + <message> + <location line="+2"/> + <source>Unmute audio tracks</source> + <comment>Media controller element</comment> + <translation>PrekliÄi utiÅ¡anje zvoÄnih sledi</translation> + </message> + <message> + <location line="+2"/> + <source>Begin playback</source> + <comment>Media controller element</comment> + <translation>ZaÄni predvajanje</translation> + </message> + <message> + <location line="+2"/> + <source>Pause playback</source> + <comment>Media controller element</comment> + <translation>Prekini predvajanje</translation> + </message> + <message> + <location line="+2"/> + <source>Movie time scrubber</source> + <comment>Media controller element</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Movie time scrubber thumb</source> + <comment>Media controller element</comment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Rewind movie</source> + <comment>Media controller element</comment> + <translation>Previj film</translation> + </message> + <message> + <location line="+2"/> + <source>Return streaming movie to real-time</source> + <comment>Media controller element</comment> + <translation>Povrni film na resniÄni Äas</translation> + </message> + <message> + <location line="+2"/> + <source>Current movie time</source> + <comment>Media controller element</comment> + <translation>Trenutni Äas filma</translation> + </message> + <message> + <location line="+2"/> + <source>Remaining move time</source> + <comment>Media controller element</comment> + <translation>Preostali Äas filma</translation> + </message> + <message> + <location line="+2"/> + <source>Current movie status</source> + <comment>Media controller element</comment> + <translation>Trenutno stanje filma</translation> + </message> + <message> + <location line="+2"/> + <source>Play movie in full-screen mode</source> + <comment>Media controller element</comment> + <translation>Predvajaj film Äez ves zaslon</translation> + </message> + <message> + <location line="+2"/> + <source>Seek quickly back</source> + <comment>Media controller element</comment> + <translation>Hitro se pomakni nazaj</translation> + </message> + <message> + <location line="+2"/> + <source>Seek quickly forward</source> + <comment>Media controller element</comment> + <translation>Hitro se pomakni naprej</translation> + </message> + <message> + <location line="+9"/> + <source>Indefinite time</source> + <comment>Media time description</comment> + <translation>NedoloÄen Äas</translation> + </message> + <message> + <location line="+9"/> + <source>%1 days %2 hours %3 minutes %4 seconds</source> + <comment>Media time description</comment> + <translation>%1 dni %2 ur %3 minut %4 sekund</translation> + </message> + <message> + <location line="+4"/> + <source>%1 hours %2 minutes %3 seconds</source> + <comment>Media time description</comment> + <translation>%1 ur %2 minut %3 sekund</translation> + </message> + <message> + <location line="+4"/> + <source>%1 minutes %2 seconds</source> + <comment>Media time description</comment> + <translation>%1 minut %2 sekund</translation> + </message> + <message> + <location line="+3"/> + <source>%1 seconds</source> + <comment>Media time description</comment> + <translation>%1 sekund</translation> + </message> + <message> + <location line="-210"/> <source>Inspect</source> <comment>Inspect Element context menu item</comment> - <translation type="unfinished"></translation> + <translation>Preglej.</translation> </message> <message> <location line="+5"/> <source>No recent searches</source> <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment> - <translation type="unfinished"></translation> + <translation>Ni nedavnih iskanj</translation> </message> <message> <location line="+5"/> <source>Recent searches</source> <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment> - <translation type="unfinished"></translation> + <translation>Nedavna iskanja</translation> </message> <message> <location line="+5"/> <source>Clear recent searches</source> <comment>menu item in Recent Searches menu that empties menu's contents</comment> - <translation type="unfinished"></translation> + <translation>PoÄisti nedavna iskanja</translation> </message> <message> <location line="+75"/> <source>Unknown</source> <comment>Unknown filesize FTP directory listing item</comment> - <translation type="unfinished"></translation> + <translation>Neznana</translation> </message> <message> <location line="+5"/> <source>%1 (%2x%3 pixels)</source> <comment>Title string for images</comment> - <translation type="unfinished"></translation> + <translation>%1 (%2×%3 pik)</translation> </message> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+185"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+170"/> <source>Web Inspector - %2</source> - <translation type="unfinished"></translation> + <translation>Web Inspector - %2</translation> </message> <message> <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/> <source>Scroll here</source> - <translation type="unfinished"></translation> + <translation>Premakni sem</translation> </message> <message> <location line="+3"/> <source>Left edge</source> - <translation type="unfinished"></translation> + <translation>Levi rob</translation> </message> <message> <location line="+0"/> <source>Top</source> - <translation type="unfinished"></translation> + <translation>Vrh</translation> </message> <message> <location line="+1"/> <source>Right edge</source> - <translation type="unfinished"></translation> + <translation>Desni rob</translation> </message> <message> <location line="+0"/> <source>Bottom</source> - <translation type="unfinished"></translation> + <translation>Dno</translation> </message> <message> <location line="+3"/> <source>Page left</source> - <translation type="unfinished"></translation> + <translation>Za stran levo</translation> </message> <message> <location line="+0"/> <source>Page up</source> - <translation type="unfinished"></translation> + <translation>Za stran gor</translation> </message> <message> <location line="+1"/> <source>Page right</source> - <translation type="unfinished"></translation> + <translation>Za stran desno</translation> </message> <message> <location line="+0"/> <source>Page down</source> - <translation type="unfinished"></translation> + <translation>Za stran dol</translation> </message> <message> <location line="+3"/> <source>Scroll left</source> - <translation type="unfinished"></translation> + <translation>Premakni levo</translation> </message> <message> <location line="+0"/> <source>Scroll up</source> - <translation type="unfinished"></translation> + <translation>Premakni gor</translation> </message> <message> <location line="+1"/> <source>Scroll right</source> - <translation type="unfinished"></translation> + <translation>Premakni desno</translation> </message> <message> <location line="+0"/> <source>Scroll down</source> - <translation type="unfinished"></translation> + <translation>Premakni dol</translation> </message> <message numerus="yes"> <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/> <source>%n file(s)</source> <comment>number of chosen file</comment> - <translation type="unfinished"> - <numerusform></numerusform> + <translation> + <numerusform>%n datotek</numerusform> + <numerusform>%n datotek</numerusform> + <numerusform>%n datotek</numerusform> + <numerusform>%n datotek</numerusform> </translation> </message> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1601"/> <source>JavaScript Alert - %1</source> - <translation type="unfinished"></translation> + <translation>Opozorilo JavaScript - %1</translation> </message> <message> <location line="+15"/> <source>JavaScript Confirm - %1</source> - <translation type="unfinished"></translation> + <translation>Potrditev JavaScript - %1</translation> </message> <message> <location line="+17"/> <source>JavaScript Prompt - %1</source> - <translation type="unfinished"></translation> + <translation>Poziv JavaScript - %1</translation> + </message> + <message> + <location line="+25"/> + <source>JavaScript Problem - %1</source> + <translation>Težava JavaScript - %1</translation> </message> <message> - <location line="+333"/> + <location line="+0"/> + <source>The script on this page appears to have a problem. Do you want to stop the script?</source> + <translation>Kot kaže ima skript na tej strani težavo. Ali želite ustaviti skript?</translation> + </message> + <message> + <location line="+381"/> <source>Move the cursor to the next character</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na naslednji znak</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the previous character</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na prejÅ¡nji znak</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the next word</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec v naslednjo besedo</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the previous word</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec v prejÅ¡njo besedo</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the next line</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec v naslednjo vrstico</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the previous line</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec v prejÅ¡njo vrstico</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the start of the line</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na zaÄetek vrstice</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the end of the line</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na konec vrstice</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the start of the block</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na zaÄetek bloka</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the end of the block</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na konec bloka</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the start of the document</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na zaÄetek dokumenta</translation> </message> <message> <location line="+3"/> <source>Move the cursor to the end of the document</source> - <translation type="unfinished"></translation> + <translation>Premakni kazalec na konec dokumenta</translation> </message> <message> <location line="+3"/> <source>Select all</source> - <translation type="unfinished"></translation> + <translation>Izberi vse</translation> </message> <message> <location line="+3"/> <source>Select to the next character</source> - <translation type="unfinished"></translation> + <translation>Izberi do naslednjega znaka</translation> </message> <message> <location line="+3"/> <source>Select to the previous character</source> - <translation type="unfinished"></translation> + <translation>Izberi do prejÅ¡njega znaka</translation> </message> <message> <location line="+3"/> <source>Select to the next word</source> - <translation type="unfinished"></translation> + <translation>Izberi do naslednje besede</translation> </message> <message> <location line="+3"/> <source>Select to the previous word</source> - <translation type="unfinished"></translation> + <translation>Izberi do prejÅ¡nje besede</translation> </message> <message> <location line="+3"/> <source>Select to the next line</source> - <translation type="unfinished"></translation> + <translation>Izberi do naslednje vrstice</translation> </message> <message> <location line="+3"/> <source>Select to the previous line</source> - <translation type="unfinished"></translation> + <translation>Izberi do prejÅ¡nje vrstice</translation> </message> <message> <location line="+3"/> <source>Select to the start of the line</source> - <translation type="unfinished"></translation> + <translation>Izberi do zaÄetka vrstice</translation> </message> <message> <location line="+3"/> <source>Select to the end of the line</source> - <translation type="unfinished"></translation> + <translation>Izberi do konca vrstice</translation> </message> <message> <location line="+3"/> <source>Select to the start of the block</source> - <translation type="unfinished"></translation> + <translation>Izberi do zaÄetka bloka</translation> </message> <message> <location line="+3"/> <source>Select to the end of the block</source> - <translation type="unfinished"></translation> + <translation>Izberi do konca bloka</translation> </message> <message> <location line="+3"/> <source>Select to the start of the document</source> - <translation type="unfinished"></translation> + <translation>Izberi do zaÄetka dokumenta</translation> </message> <message> <location line="+3"/> <source>Select to the end of the document</source> - <translation type="unfinished"></translation> + <translation>Izberi do konca dokumenta</translation> </message> <message> <location line="+3"/> <source>Delete to the start of the word</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i do zaÄetka besede</translation> </message> <message> <location line="+3"/> <source>Delete to the end of the word</source> - <translation type="unfinished"></translation> + <translation>IzbriÅ¡i do konca besede</translation> </message> <message> <location line="+33"/> <source>Insert a new paragraph</source> - <translation type="unfinished"></translation> + <translation>Vstavi nov odstavek</translation> </message> <message> <location line="+3"/> <source>Insert a new line</source> - <translation type="unfinished"></translation> + <translation>Vstavi novo vrstico</translation> + </message> + <message> + <location line="+4"/> + <source>Paste and Match Style</source> + <translation>Prilepi in uskladi slog</translation> + </message> + <message> + <location line="+3"/> + <source>Remove formatting</source> + <translation>Odstrani oblikovanje</translation> + </message> + <message> + <location line="+4"/> + <source>Strikethrough</source> + <translation>PreÄrtano</translation> + </message> + <message> + <location line="+4"/> + <source>Subscript</source> + <translation>Podpisano</translation> + </message> + <message> + <location line="+4"/> + <source>Superscript</source> + <translation>Nadpisano</translation> + </message> + <message> + <location line="+4"/> + <source>Insert Bulleted List</source> + <translation>Vstavi navadni seznam</translation> + </message> + <message> + <location line="+4"/> + <source>Insert Numbered List</source> + <translation>Vstavi oÅ¡tevilÄeni seznam</translation> + </message> + <message> + <location line="+4"/> + <source>Indent</source> + <translation>Zamakni</translation> + </message> + <message> + <location line="+3"/> + <source>Outdent</source> + <translation>Odzamakni</translation> + </message> + <message> + <location line="+3"/> + <source>Center</source> + <translation>Sredinsko</translation> + </message> + <message> + <location line="+3"/> + <source>Justify</source> + <translation>Obojestransko</translation> + </message> + <message> + <location line="+3"/> + <source>Align Left</source> + <translation>Poravnaj levo</translation> + </message> + <message> + <location line="+3"/> + <source>Align Right</source> + <translation>Poravnaj desno</translation> </message> </context> <context> <name>QWhatsThisAction</name> <message> - <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/> + <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+527"/> <source>What's This?</source> - <translation type="unfinished"></translation> + <translation>Kaj je to?</translation> </message> </context> <context> <name>QWidget</name> <message> - <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/> + <location filename="../src/gui/kernel/qwidget.cpp" line="+5655"/> <source>*</source> - <translation type="unfinished"></translation> + <translation>*</translation> </message> </context> <context> <name>QWizard</name> <message> - <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/> + <location filename="../src/gui/dialogs/qwizard.cpp" line="+649"/> <source>Go Back</source> - <translation type="unfinished"></translation> + <translation>Pojdi nazaj</translation> </message> <message> <location line="+3"/> <source>Continue</source> - <translation type="unfinished"></translation> + <translation>Nadaljuj</translation> </message> <message> <location line="+5"/> <source>Commit</source> - <translation type="unfinished"></translation> + <translation>Uveljavi</translation> </message> <message> <location line="+2"/> <source>Done</source> - <translation type="unfinished"></translation> + <translation>Opravljeno</translation> </message> <message> <location line="+4"/> <source>Help</source> - <translation type="unfinished"></translation> + <translation>PomoÄ</translation> </message> <message> <location line="-14"/> <source>< &Back</source> - <translation type="unfinished"></translation> + <translation>< Na&zaj</translation> </message> <message> <location line="+10"/> <source>&Finish</source> - <translation type="unfinished"></translation> + <translation>&ZakljuÄi</translation> </message> <message> <location line="+2"/> <source>Cancel</source> - <translation type="unfinished"></translation> + <translation>PrekliÄi</translation> </message> <message> <location line="+2"/> <source>&Help</source> - <translation type="unfinished"></translation> + <translation>&PomoÄ</translation> </message> <message> <location line="-8"/> <source>&Next</source> - <translation type="unfinished"></translation> + <translation>&Naprej</translation> </message> <message> <location line="+0"/> <source>&Next ></source> - <translation type="unfinished"></translation> + <translation>&Naprej ></translation> </message> </context> <context> <name>QWorkspace</name> <message> - <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/> + <location filename="../src/gui/widgets/qworkspace.cpp" line="+1089"/> <source>&Restore</source> - <translation type="unfinished"></translation> + <translation>&Obnovi</translation> </message> <message> <location line="+1"/> <source>&Move</source> - <translation type="unfinished"></translation> + <translation>&Premakni</translation> </message> <message> <location line="+1"/> <source>&Size</source> - <translation type="unfinished"></translation> + <translation>&Velikost</translation> </message> <message> <location line="+2"/> <source>Mi&nimize</source> - <translation type="unfinished"></translation> + <translation>Po&manjÅ¡aj</translation> </message> <message> <location line="+2"/> <source>Ma&ximize</source> - <translation type="unfinished"></translation> + <translation>&Razpni</translation> </message> <message> <location line="+2"/> <source>&Close</source> - <translation type="unfinished"></translation> + <translation>&Zapri</translation> </message> <message> <location line="+6"/> <source>Stay on &Top</source> - <translation type="unfinished"></translation> + <translation>Ostani na &vrhu</translation> </message> <message> <location line="+3"/> <location line="+1059"/> <source>Sh&ade</source> - <translation type="unfinished"></translation> + <translation>Zvi&j</translation> </message> <message> <location line="-278"/> <location line="+60"/> <source>%1 - [%2]</source> - <translation type="unfinished"></translation> + <translation>%1 - [%2]</translation> </message> <message> - <location line="-1837"/> + <location line="-1832"/> <source>Minimize</source> - <translation type="unfinished"></translation> + <translation>PomanjÅ¡aj</translation> </message> <message> <location line="+2"/> <source>Restore Down</source> - <translation type="unfinished"></translation> + <translation>Obnovi navzdol</translation> </message> <message> <location line="-4"/> <source>Close</source> - <translation type="unfinished"></translation> + <translation>Zapri</translation> </message> <message> - <location line="+2053"/> + <location line="+2048"/> <source>&Unshade</source> - <translation type="unfinished"></translation> + <translation>Razv&ij</translation> </message> </context> <context> @@ -6339,151 +7365,151 @@ Please choose a different file name.</source> <message> <location filename="../src/xml/sax/qxml.cpp" line="+58"/> <source>no error occurred</source> - <translation type="unfinished"></translation> + <translation>ni nobene napake</translation> </message> <message> <location line="+1"/> <source>error triggered by consumer</source> - <translation type="unfinished"></translation> + <translation>napako povzroÄil uporabnik</translation> </message> <message> <location line="+1"/> <source>unexpected end of file</source> - <translation type="unfinished"></translation> + <translation>nepriÄakovan konec datoteke</translation> </message> <message> <location line="+1"/> <source>more than one document type definition</source> - <translation type="unfinished"></translation> + <translation>veÄ kot ena definicija vrste dokumenta</translation> </message> <message> <location line="+1"/> <source>error occurred while parsing element</source> - <translation type="unfinished"></translation> + <translation>napaka med analiziranjem elementa</translation> </message> <message> <location line="+1"/> <source>tag mismatch</source> - <translation type="unfinished"></translation> + <translation>neprimerna oznaka</translation> </message> <message> <location line="+1"/> <source>error occurred while parsing content</source> - <translation type="unfinished"></translation> + <translation>napaka med analiziranje vsebine</translation> </message> <message> <location line="+1"/> <source>unexpected character</source> - <translation type="unfinished"></translation> + <translation>nepriÄakovan znak</translation> </message> <message> <location line="+1"/> <source>invalid name for processing instruction</source> - <translation type="unfinished"></translation> + <translation>nepravilno ime za ukaz obdelave</translation> </message> <message> <location line="+1"/> <source>version expected while reading the XML declaration</source> - <translation type="unfinished"></translation> + <translation>priÄakovana razliÄica med branjem deklaracije XML</translation> </message> <message> <location line="+1"/> <source>wrong value for standalone declaration</source> - <translation type="unfinished"></translation> + <translation>napaÄna vrednost za samostojno deklaracijo</translation> </message> <message> <location line="+1"/> <source>encoding declaration or standalone declaration expected while reading the XML declaration</source> - <translation type="unfinished"></translation> + <translation>deklaracija kodiranja ali samostojna deklaracija je bila priÄakovana med branjem deklaracije XML</translation> </message> <message> <location line="+1"/> <source>standalone declaration expected while reading the XML declaration</source> - <translation type="unfinished"></translation> + <translation>samostojna deklaracija priÄakovana med branjem deklaracije XML</translation> </message> <message> <location line="+1"/> <source>error occurred while parsing document type definition</source> - <translation type="unfinished"></translation> + <translation>napaka med analiziranjem vrste definicije dokumenta</translation> </message> <message> <location line="+1"/> <source>letter is expected</source> - <translation type="unfinished"></translation> + <translation>priÄakovana je Ärka</translation> </message> <message> <location line="+1"/> <source>error occurred while parsing comment</source> - <translation type="unfinished"></translation> + <translation>napaka med analiziranjem komentarja</translation> </message> <message> <location line="+1"/> <source>error occurred while parsing reference</source> - <translation type="unfinished"></translation> + <translation>napaka med analiziranjem reference</translation> </message> <message> <location line="+1"/> <source>internal general entity reference not allowed in DTD</source> - <translation type="unfinished"></translation> + <translation>referenca notranje sploÅ¡ne entitete ni dovoljena v DTD</translation> </message> <message> <location line="+1"/> <source>external parsed general entity reference not allowed in attribute value</source> - <translation type="unfinished"></translation> + <translation>referenca zunanje analizirane sploÅ¡ne entitete ni dovoljena v vrednosti atributa</translation> </message> <message> <location line="+1"/> <source>external parsed general entity reference not allowed in DTD</source> - <translation type="unfinished"></translation> + <translation>referenca zunanje analizirane sploÅ¡ne entitete ni dovoljena v DTD</translation> </message> <message> <location line="+1"/> <source>unparsed entity reference in wrong context</source> - <translation type="unfinished"></translation> + <translation>referenca neanalizirane entitete v napaÄnem kontekstu</translation> </message> <message> <location line="+1"/> <source>recursive entities</source> - <translation type="unfinished"></translation> + <translation>rekurzivne entitete</translation> </message> <message> <location line="+1"/> <source>error in the text declaration of an external entity</source> - <translation type="unfinished"></translation> + <translation>napaka v besedilni deklaraciji zunanje entitete</translation> </message> </context> <context> <name>QXmlStream</name> <message> - <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/> - <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/> + <location filename="../src/corelib/xml/qxmlstream.cpp" line="+611"/> + <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1770"/> <source>Extra content at end of document.</source> - <translation type="unfinished"></translation> + <translation>Dodatna vsebina na koncu dokumenta.</translation> </message> <message> - <location line="+222"/> + <location line="+271"/> <source>Invalid entity value.</source> - <translation type="unfinished"></translation> + <translation>Neveljavna vrednost entitete.</translation> </message> <message> - <location line="+107"/> + <location line="+109"/> <source>Invalid XML character.</source> - <translation type="unfinished"></translation> + <translation>Neveljaven znak XML.</translation> </message> <message> <location line="+259"/> <source>Sequence ']]>' not allowed in content.</source> - <translation type="unfinished"></translation> + <translation>Zaporedje »]]>« v vsebini ni dovoljeno.</translation> </message> <message> <location line="+309"/> <source>Namespace prefix '%1' not declared</source> - <translation type="unfinished"></translation> + <translation>Predpona imenskega prostora »%1« ni deklarirana</translation> </message> <message> <location line="+78"/> <source>Attribute redefined.</source> - <translation type="unfinished"></translation> + <translation>Atribut je redefiniran.</translation> </message> <message> <location line="+115"/> @@ -6493,22 +7519,22 @@ Please choose a different file name.</source> <message> <location line="+28"/> <source>Invalid XML version string.</source> - <translation type="unfinished"></translation> + <translation>Neveljaven niz razliÄice XML.</translation> </message> <message> <location line="+2"/> <source>Unsupported XML version.</source> - <translation type="unfinished"></translation> + <translation>Nepodprta razliÄica XML.</translation> </message> <message> <location line="+23"/> <source>%1 is an invalid encoding name.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavno ime kodiranja.</translation> </message> <message> <location line="+7"/> <source>Encoding %1 is unsupported</source> - <translation type="unfinished"></translation> + <translation>Kodiranje %1 ni podprto</translation> </message> <message> <location line="+16"/> @@ -6518,52 +7544,52 @@ Please choose a different file name.</source> <message> <location line="+2"/> <source>Invalid attribute in XML declaration.</source> - <translation type="unfinished"></translation> + <translation>Neveljaven atribut v deklaraciji XML.</translation> </message> <message> <location line="+16"/> <source>Premature end of document.</source> - <translation type="unfinished"></translation> + <translation>PredÄasen konec dokumenta.</translation> </message> <message> <location line="+2"/> <source>Invalid document.</source> - <translation type="unfinished"></translation> + <translation>Neveljaven dokument..</translation> </message> <message> <location line="+40"/> <source>Expected </source> - <translation type="unfinished"></translation> + <translation>PriÄakovan</translation> </message> <message> <location line="+11"/> <source>, but got '</source> - <translation type="unfinished"></translation> + <translation>, vendar prejel '</translation> </message> <message> <location line="+4"/> <source>Unexpected '</source> - <translation type="unfinished"></translation> + <translation>NepriÄakovan '</translation> </message> <message> - <location line="+210"/> + <location line="+225"/> <source>Expected character data.</source> - <translation type="unfinished"></translation> + <translation>PriÄakoval znakovne podatke.</translation> </message> <message> <location filename="../src/corelib/xml/qxmlstream_p.h" line="-995"/> <source>Recursive entity detected.</source> - <translation type="unfinished"></translation> + <translation>Zaznana je bila rekurzivna entiteta.</translation> </message> <message> <location line="+516"/> <source>Start tag expected.</source> - <translation type="unfinished"></translation> + <translation>PriÄakovana je bila zaÄetna oznaka.</translation> </message> <message> <location line="+222"/> <source>XML declaration not at start of document.</source> - <translation type="unfinished"></translation> + <translation>Deklaracija XML ni na zaÄetku dokumenta.</translation> </message> <message> <location line="-31"/> @@ -6573,63 +7599,63 @@ Please choose a different file name.</source> <message> <location line="+34"/> <source>%1 is an invalid processing instruction name.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavno ime ukaza obdelave.</translation> </message> <message> <location line="+11"/> <source>Invalid processing instruction name.</source> - <translation type="unfinished"></translation> + <translation>Neveljavno ime ukaza obdelave.</translation> </message> <message> - <location filename="../src/corelib/xml/qxmlstream.cpp" line="-521"/> + <location filename="../src/corelib/xml/qxmlstream.cpp" line="-536"/> <location line="+12"/> <location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/> <location line="+53"/> <source>Illegal namespace declaration.</source> - <translation type="unfinished"></translation> + <translation>Neveljavna deklaracija imenskega prostora.</translation> </message> <message> <location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/> <source>Invalid XML name.</source> - <translation type="unfinished"></translation> + <translation>Neveljavno ime XML.</translation> </message> <message> <location line="+23"/> <source>Opening and ending tag mismatch.</source> - <translation type="unfinished"></translation> + <translation>ZaÄetni in zakljuÄni oznaki se ne ujemata.</translation> </message> <message> <location line="+18"/> <source>Reference to unparsed entity '%1'.</source> - <translation type="unfinished"></translation> + <translation>Referenca na nerazÄlenjeno entiteto »%1«.</translation> </message> <message> <location line="-13"/> <location line="+61"/> <location line="+40"/> <source>Entity '%1' not declared.</source> - <translation type="unfinished"></translation> + <translation>Entiteta »%1« ni deklarirana.</translation> </message> <message> <location line="-26"/> <source>Reference to external entity '%1' in attribute value.</source> - <translation type="unfinished"></translation> + <translation>Referenca na zunanjo entiteto »%1« v vrednosti lastnosti.</translation> </message> <message> <location line="+40"/> <source>Invalid character reference.</source> - <translation type="unfinished"></translation> + <translation>Neveljavna znakovna referenca.</translation> </message> <message> <location filename="../src/corelib/xml/qxmlstream.cpp" line="-75"/> <location filename="../src/corelib/xml/qxmlstream_p.h" line="-823"/> <source>Encountered incorrectly encoded content.</source> - <translation type="unfinished"></translation> + <translation>Naletel na napaÄno zakodirano vsebino.</translation> </message> <message> <location line="+274"/> <source>The standalone pseudo attribute must appear after the encoding.</source> - <translation type="unfinished"></translation> + <translation>Samostojni psevdo-atribut se mora pojaviti za kodiranjem.</translation> </message> <message> <location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/> @@ -6640,19 +7666,9 @@ Please choose a different file name.</source> <context> <name>QtXmlPatterns</name> <message> - <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/> - <source>An %1-attribute with value %2 has already been declared.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>An %1-attribute must have a valid %2 as value, which %3 isn't.</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/> <source>Network timeout.</source> - <translation type="unfinished"></translation> + <translation>ÄŒas za omrežje je potekel.</translation> </message> <message> <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/> @@ -6662,73 +7678,58 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/> <source>Year %1 is invalid because it begins with %2.</source> - <translation type="unfinished"></translation> + <translation>Leto %1 ni veljavno, ker se zaÄne z %2.</translation> </message> <message> <location line="+19"/> <source>Day %1 is outside the range %2..%3.</source> - <translation type="unfinished"></translation> + <translation>Dan %1 je izven obsega %2..%3.</translation> </message> <message> <location line="+7"/> <source>Month %1 is outside the range %2..%3.</source> - <translation type="unfinished"></translation> + <translation>Mesec %1 je izven obsega %2..%3.</translation> </message> <message> <location line="+10"/> <source>Overflow: Can't represent date %1.</source> - <translation type="unfinished"></translation> + <translation>PrekoraÄitev: ni moÄ predstaviti datuma %1.</translation> </message> <message> <location line="+9"/> <source>Day %1 is invalid for month %2.</source> - <translation type="unfinished"></translation> + <translation>Dan %1 za mesec %2 ni veljaven.</translation> </message> <message> <location line="+49"/> <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source> - <translation type="unfinished"></translation> + <translation>ÄŒas 24:%1:%2.%3 ni veljaven. Ura je 24, vendar minute, sekunde in milisekunde niso vse 0; </translation> </message> <message> <location line="+13"/> <source>Time %1:%2:%3.%4 is invalid.</source> - <translation type="unfinished"></translation> + <translation>ÄŒas %1:%2:%3.%4 ni veljaven.</translation> </message> <message> <location line="+115"/> <source>Overflow: Date can't be represented.</source> - <translation type="unfinished"></translation> + <translation>PrekoraÄitev: datuma ni moÄ predstaviti.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/> <location line="+15"/> <source>At least one component must be present.</source> - <translation type="unfinished"></translation> + <translation>Prisotna mora biti vsaj ena komponenta.</translation> </message> <message> <location line="-7"/> <source>At least one time component must appear after the %1-delimiter.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/> - <source>No operand in an integer division, %1, can be %2.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>The first operand in an integer division, %1, cannot be infinity (%2).</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>The second operand in a division, %1, cannot be zero (%2).</source> - <translation type="unfinished"></translation> + <translation>Za razmejiteljem %1 se mora pojaviti vsaj ena Äasovna komponenta.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/> <source>%1 is not a valid value of type %2.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavna vrednost vrste %2.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/> @@ -6738,83 +7739,83 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/> <source>Integer division (%1) by zero (%2) is undefined.</source> - <translation type="unfinished"></translation> + <translation>Deljenje celega Å¡tevila (%1) z niÄ (%2) ni doloÄeno.</translation> </message> <message> <location line="+7"/> <source>Division (%1) by zero (%2) is undefined.</source> - <translation type="unfinished"></translation> + <translation>Deljenje (%1) z niÄ (%2) ni doloÄeno.</translation> </message> <message> <location line="+7"/> <source>Modulus division (%1) by zero (%2) is undefined.</source> - <translation type="unfinished"></translation> + <translation>Ostanek deljenja (%1) z niÄ (%2) ni doloÄen.</translation> </message> <message> <location line="+122"/> <location line="+32"/> <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source> - <translation type="unfinished"></translation> + <translation>Deljenje vrednosti vrste %1 z %2 (ni Å¡tevilo) ni dovoljeno.</translation> </message> <message> <location line="-20"/> <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source> - <translation type="unfinished"></translation> + <translation>Deljenje vrednosti vrste %1 z %2 ali %3 (pozitivna ali negativna niÄ) ni dovoljeno.</translation> </message> <message> <location line="+32"/> <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source> - <translation type="unfinished"></translation> + <translation>Množenje vrednosti vrste %1 z %2 ali %3 (pozitivna ali negativna neskonÄnost) ni dovoljeno.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/> <source>A value of type %1 cannot have an Effective Boolean Value.</source> - <translation type="unfinished"></translation> + <translation>Vrednost vrste %1 ne more imeti dejanske logiÄne vrednosti.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/> <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source> - <translation type="unfinished"></translation> + <translation>Dejanske logiÄne vrednosti ni moÄ izraÄunati za zaporedje, ki vsebuje dve ali veÄ atomiÄnih vrednosti.</translation> </message> <message> <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/> <source>Value %1 of type %2 exceeds maximum (%3).</source> - <translation type="unfinished"></translation> + <translation>Vrednost %1 vrste %2 presega maksimum (%3).</translation> </message> <message> <location line="+9"/> <source>Value %1 of type %2 is below minimum (%3).</source> - <translation type="unfinished"></translation> + <translation>Vrednost %1 vrste %2 je pod minimumom (%3).</translation> </message> <message> <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/> <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source> - <translation type="unfinished"></translation> + <translation>Vrednost vrste %1 mora vsebovati sodo Å¡tevilo Å¡tevk. Vrednost %2 temu ne zadoÅ¡Äa.</translation> </message> <message> <location line="+19"/> <source>%1 is not valid as a value of type %2.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljavna kot vrednost vrste %2.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/> <source>Operator %1 cannot be used on type %2.</source> - <translation type="unfinished"></translation> + <translation>Operatorja %1 ni moÄ uporabiti na vrsti %2.</translation> </message> <message> <location line="+17"/> <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source> - <translation type="unfinished"></translation> + <translation>Operatorja %1 ni moÄ uporabiti na atomiÄnih vrednostih vrst %2 in %3.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/> <source>The namespace URI in the name for a computed attribute cannot be %1.</source> - <translation type="unfinished"></translation> + <translation>URI imenskega prostora v imenu izraÄunane lastnosti ne more biti %1.</translation> </message> <message> <location line="+9"/> <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source> - <translation type="unfinished"></translation> + <translation>Ime izraÄunane lastnosti ne more imeti URI-ja imenskega prostora %1 s krajevnim imenom %2.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/> @@ -6827,49 +7828,14 @@ Please choose a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/> - <source>No casting is possible with %1 as the target type.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>It is not possible to cast from %1 to %2.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+27"/> - <source>Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>It's not possible to cast the value %1 of type %2 to %3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Failure when casting from %1 to %2: %3</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/> <source>A comment cannot contain %1</source> - <translation type="unfinished"></translation> + <translation>Komentar ne more vsebovati %1</translation> </message> <message> <location line="+6"/> <source>A comment cannot end with a %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/> - <source>No comparisons can be done involving the type %1.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+14"/> - <source>Operator %1 is not available between atomic values of type %2 and %3.</source> - <translation type="unfinished"></translation> + <translation>Komentar se ne more konÄati z %1.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/> @@ -6877,14 +7843,14 @@ Please choose a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/> + <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+162"/> <source>A library module cannot be evaluated directly. It must be imported from a main module.</source> - <translation type="unfinished"></translation> + <translation>Modula knjižnice ni moÄ ovrednotiti neposredno. Uvoziti ga je potrebno iz glavnega modula.</translation> </message> <message> <location line="+40"/> <source>No template by name %1 exists.</source> - <translation type="unfinished"></translation> + <translation>Predloga z imenom %1 ne obstaja.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/> @@ -6914,7 +7880,7 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/> <source>The data of a processing instruction cannot contain the string %1</source> - <translation type="unfinished"></translation> + <translation>Podatki ukaza za obdelavo ne morejo vsebovati niza %1</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/> @@ -6930,46 +7896,47 @@ Please choose a different file name.</source> <location line="+12"/> <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/> <source>%1 is an invalid %2</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljaven %2</translation> </message> <message numerus="yes"> <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/> <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source> - <translation type="unfinished"> + <translation> + <numerusform>%1 potrebuje najveÄ %n argumentov. %2 zato ni veljavno.</numerusform> + <numerusform></numerusform> + <numerusform></numerusform> <numerusform></numerusform> </translation> </message> <message numerus="yes"> <location line="+11"/> <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source> - <translation type="unfinished"> + <translation> + <numerusform>%1 potrebuje najmanj %n argumentov. %2 zato ni veljavno.</numerusform> + <numerusform></numerusform> + <numerusform></numerusform> <numerusform></numerusform> </translation> </message> <message> <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/> <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source> - <translation type="unfinished"></translation> + <translation>Prvi argument za %1 ne more biti vrste %2. Mora biti Å¡tevilÄne vrste, xs:yearMonthDuration ali xs:dayTimeDuration.</translation> </message> <message> <location line="+74"/> <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source> - <translation type="unfinished"></translation> + <translation>Prvi argument za %1 ne more biti vrste %2. Mora biti vrste %3, %4 ali %5.</translation> </message> <message> <location line="+91"/> <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source> - <translation type="unfinished"></translation> + <translation>Drugi argument za %1 ne more biti vrste %2. Mora biti vrste %3, %4 ali %5.</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/> <source>%1 is not a valid XML 1.0 character.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/> - <source>The first argument to %1 cannot be of type %2.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljaven znak XML 1.0.</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/> @@ -6979,7 +7946,7 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/> <source>%1 was called.</source> - <translation type="unfinished"></translation> + <translation>%1 je bila klicana.</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/> @@ -6999,27 +7966,27 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/> <source>%1 matches newline characters</source> - <translation type="unfinished"></translation> + <translation>%1 se ujema z znaki za novo vrstico</translation> </message> <message> <location line="+4"/> <source>%1 and %2 match the start and end of a line.</source> - <translation type="unfinished"></translation> + <translation>%1 in %2 se ujemata z zaÄetkom in koncem vrstice.</translation> </message> <message> <location line="+6"/> <source>Matches are case insensitive</source> - <translation type="unfinished"></translation> + <translation>Ujemanja niso obÄutljiva na velikost Ärk</translation> </message> <message> <location line="+4"/> <source>Whitespace characters are removed, except when they appear in character classes</source> - <translation type="unfinished"></translation> + <translation>Znaki za presledke so odstranjeni, razen ko se pojavijo v znakovnih razredih</translation> </message> <message> - <location line="+99"/> + <location line="+100"/> <source>%1 is an invalid regular expression pattern: %2</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljaven vzorec regularnega izraza: %2</translation> </message> <message> <location line="+30"/> @@ -7029,12 +7996,12 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/> <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source> - <translation type="unfinished"></translation> + <translation>ÄŒe je prvi argument prazno zaporedje, ali pa niz z dolžino niÄ (brez imenskega prostora), predpone ni moÄ doloÄiti. DoloÄena je bila predpona %1.</translation> </message> <message> - <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/> + <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/> <source>It will not be possible to retrieve %1.</source> - <translation type="unfinished"></translation> + <translation>%1 ne bo možno pridobiti.</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/> @@ -7042,14 +8009,14 @@ Please choose a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/> + <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/> <source>The default collection is undefined</source> - <translation type="unfinished"></translation> + <translation>Privzeta zbirka ni doloÄena.</translation> </message> <message> <location line="+13"/> <source>%1 cannot be retrieved</source> - <translation type="unfinished"></translation> + <translation>%1 ni moÄ pridobiti</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/> @@ -7074,69 +8041,69 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/> <source>The item %1 did not match the required type %2.</source> - <translation type="unfinished"></translation> + <translation>Postavka %1 se ne ujema z zahtevano vrsto %2.</translation> </message> <message> - <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/> - <location line="+7253"/> + <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+352"/> + <location line="+7323"/> <source>%1 is an unknown schema type.</source> - <translation type="unfinished"></translation> + <translation>%1 ni znana vrsta sheme.</translation> </message> <message> - <location line="-6971"/> + <location line="-7041"/> <source>Only one %1 declaration can occur in the query prolog.</source> <translation type="unfinished"></translation> </message> <message> <location line="+188"/> <source>The initialization of variable %1 depends on itself</source> - <translation type="unfinished"></translation> + <translation>Inicializacija spremenljivke %1 je odvisna od same sebe.</translation> </message> <message> <location line="+63"/> <source>No variable by name %1 exists</source> - <translation type="unfinished"></translation> + <translation>Spremenljivka z imenom %1 ne obstaja</translation> </message> <message> <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/> <source>The variable %1 is unused</source> - <translation type="unfinished"></translation> + <translation>Spremenljivka %1 ni uporabljena</translation> </message> <message> <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2841"/> <source>Version %1 is not supported. The supported XQuery version is 1.0.</source> - <translation type="unfinished"></translation> + <translation>RazliÄica %1 ni podprta. Podpra razliÄica XQuery je 1.0.</translation> </message> <message> <location line="+16"/> <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source> - <translation type="unfinished"></translation> + <translation>Kodiranje %1 ni veljavno. Vsebovati mora le znake latinske abecede, ne sme vsebovati presledkov in se mora ujemati z regularnim izrazom %2.</translation> </message> <message> <location line="+55"/> <source>No function with signature %1 is available</source> - <translation type="unfinished"></translation> + <translation>Na voljo ni nobene funkcije s podpisom %1</translation> </message> <message> <location line="+72"/> <location line="+10"/> <source>A default namespace declaration must occur before function, variable, and option declarations.</source> - <translation type="unfinished"></translation> + <translation>Deklaracije privzetega imenskega prostora se mora pojaviti pred deklaracijami funkcij, spremenljivk in možnosti.</translation> </message> <message> <location line="+10"/> <source>Namespace declarations must occur before function, variable, and option declarations.</source> - <translation type="unfinished"></translation> + <translation>Deklaracije imenskih prostorov se morajo pojaviti pred deklaracijami funkcij, spremenljivk in možnosti.</translation> </message> <message> <location line="+11"/> <source>Module imports must occur before function, variable, and option declarations.</source> - <translation type="unfinished"></translation> + <translation>Uvozi modulov se morajo pojaviti pred deklaracijami funkcij, spremenljivk in možnosti.</translation> </message> <message> <location line="+200"/> <source>It is not possible to redeclare prefix %1.</source> - <translation type="unfinished"></translation> + <translation>Predpone %1 ni moÄ znova deklarirati.</translation> </message> <message> <location line="+18"/> @@ -7146,7 +8113,7 @@ Please choose a different file name.</source> <message> <location line="+95"/> <source>The name of an option must have a prefix. There is no default namespace for options.</source> - <translation type="unfinished"></translation> + <translation>Ime možnosti mora vsebovati predpono. Privzeti imenski prostor za možnosti ne obstaja.</translation> </message> <message> <location line="+171"/> @@ -7156,27 +8123,22 @@ Please choose a different file name.</source> <message> <location line="+13"/> <source>The target namespace of a %1 cannot be empty.</source> - <translation type="unfinished"></translation> + <translation>Ciljni imenski prostor za %1 ne sme biti prazen.</translation> </message> <message> <location line="+8"/> <source>The module import feature is not supported</source> - <translation type="unfinished"></translation> + <translation>Zmožnost uvažanja modulov ni podprta</translation> </message> <message> <location line="+52"/> <source>No value is available for the external variable by name %1.</source> - <translation type="unfinished"></translation> + <translation>Za zunanjo spremenljivko z imenom %1 ni na voljo nobene vrednosti.</translation> </message> <message> - <location line="-4154"/> - <source>A construct was encountered which only is allowed in XQuery.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+118"/> + <location line="-4036"/> <source>A template by name %1 has already been declared.</source> - <translation type="unfinished"></translation> + <translation>Predloga z imenom %1 je že bila deklarirana.</translation> </message> <message> <location line="+3581"/> @@ -7186,7 +8148,7 @@ Please choose a different file name.</source> <message> <location line="+29"/> <source>The value of attribute %1 must of type %2, which %3 isn't.</source> - <translation type="unfinished"></translation> + <translation>Vrednost lastnosti %1 mora biti vrste %2, %3 pa to ni.</translation> </message> <message> <location line="+75"/> @@ -7196,7 +8158,7 @@ Please choose a different file name.</source> <message> <location line="+312"/> <source>A variable by name %1 has already been declared.</source> - <translation type="unfinished"></translation> + <translation>Spremenljivka z imenom %1 je že bila deklarirana.</translation> </message> <message> <location line="+135"/> @@ -7206,32 +8168,32 @@ Please choose a different file name.</source> <message> <location line="+9"/> <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source> - <translation type="unfinished"></translation> + <translation>Imenski prostor za uporabniÅ¡ko doloÄeno funkcijo ne sme biti prazen (poskusite z vnaprej doloÄeno predpono %1, ki obstaja za take primere)</translation> </message> <message> <location line="+9"/> <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source> - <translation type="unfinished"></translation> + <translation>Imenski prostor %1 je rezerviran, zato ga uporabniÅ¡ko doloÄene funkcije ne smejo uporabiti. Poskusite z vnaprej doloÄeno predpono %2, ki obstaja za take primere.</translation> </message> <message> <location line="+12"/> <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source> - <translation type="unfinished"></translation> + <translation>Imenski prostor uporabniÅ¡ko doloÄene funkcije v modulu knjižnice mora biti enak imenskemu prostoru modula. Z drugimi besedami, moral bi biti %1, namesto %2.</translation> </message> <message> <location line="+34"/> <source>A function already exists with the signature %1.</source> - <translation type="unfinished"></translation> + <translation>Funkcija s podpisom %1 že obstaja.</translation> </message> <message> <location line="+23"/> <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source> - <translation type="unfinished"></translation> + <translation>Zunanje funkcije niso podprte. Vse podprte funkcije je moÄ uporabiti neposredno, brez da bi jih najprej deklarirali kot zunanje.</translation> </message> <message> <location line="+37"/> <source>An argument by name %1 has already been declared. Every argument name must be unique.</source> - <translation type="unfinished"></translation> + <translation>Argument z imenom %1 je že bil deklariran. Vsako ime argumenta mora biti edinstveno.</translation> </message> <message> <location line="+179"/> @@ -7251,7 +8213,7 @@ Please choose a different file name.</source> <message> <location line="+9"/> <source>In an XSL-T pattern, function %1 cannot have a third argument.</source> - <translation type="unfinished"></translation> + <translation>V XSL-T vzorcu funkcija %1 ne more imeti tretjega argumenta.</translation> </message> <message> <location line="+10"/> @@ -7271,44 +8233,59 @@ Please choose a different file name.</source> <message> <location line="+44"/> <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source> - <translation type="unfinished"></translation> + <translation>Ime spremenljivke priklenjene v izrazu »for« se mora razlikovati od spremenljivke položaja. Spremenljivki z imenom %1 zato trÄita.</translation> </message> <message> - <location line="+758"/> + <location line="+778"/> <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+39"/> + <location line="+40"/> <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source> <translation type="unfinished"></translation> </message> <message> - <location line="+267"/> + <location line="+269"/> <source>Each name of a template parameter must be unique; %1 is duplicated.</source> <translation type="unfinished"></translation> </message> <message> <location line="+129"/> <source>The %1-axis is unsupported in XQuery</source> - <translation type="unfinished"></translation> + <translation>Os %1 v XQuery ni podprta</translation> </message> <message> - <location line="+1150"/> + <location line="+1197"/> <source>%1 is not a valid name for a processing-instruction.</source> <translation type="unfinished"></translation> </message> <message> - <location line="-7029"/> + <location line="-7099"/> <source>%1 is not a valid numeric literal.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+6165"/> - <source>No function by name %1 is available.</source> + <location line="-152"/> + <source>W3C XML Schema identity constraint selector</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>W3C XML Schema identity constraint field</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+4"/> + <source>A construct was encountered which is disallowed in the current language(%1).</source> <translation type="unfinished"></translation> </message> <message> + <location line="+6380"/> + <source>No function by name %1 is available.</source> + <translation>Na voljo ni nobene funkcije z imenom %1.</translation> + </message> + <message> <location line="+102"/> <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source> <translation type="unfinished"></translation> @@ -7316,7 +8293,7 @@ Please choose a different file name.</source> <message> <location line="+7"/> <source>%1 is an invalid namespace URI.</source> - <translation type="unfinished"></translation> + <translation>%1 ni veljaven URI imenskega prostora.</translation> </message> <message> <location line="+6"/> @@ -7326,17 +8303,17 @@ Please choose a different file name.</source> <message> <location line="+7"/> <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source> - <translation type="unfinished"></translation> + <translation>Imenski prostor %1 je lahko navezan le na %2 (in je, v vsakem primeru, preddeklariran)</translation> </message> <message> <location line="+8"/> <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source> - <translation type="unfinished"></translation> + <translation>Predpona %1 je lahko navezana le na %2 (in je, v vsakem primeru, preddeklarirana)</translation> </message> <message> <location line="+15"/> <source>Two namespace declaration attributes have the same name: %1.</source> - <translation type="unfinished"></translation> + <translation>Dva atributa deklaracije imenskega prostora imata isto ime: %1</translation> </message> <message> <location line="+89"/> @@ -7346,7 +8323,7 @@ Please choose a different file name.</source> <message> <location line="+16"/> <source>An attribute by name %1 has already appeared on this element.</source> - <translation type="unfinished"></translation> + <translation>Atribut z imenom %1 se je v tem elementu že pojavil.</translation> </message> <message> <location line="+61"/> @@ -7356,7 +8333,7 @@ Please choose a different file name.</source> <message> <location line="+458"/> <source>The name %1 does not refer to any schema type.</source> - <translation type="unfinished"></translation> + <translation>Ime %1 se ne nanaÅ¡a na nobeno vrsto sheme.</translation> </message> <message> <location line="+10"/> @@ -7377,47 +8354,47 @@ Please choose a different file name.</source> <message> <location line="+48"/> <source>The name of an extension expression must be in a namespace.</source> - <translation type="unfinished"></translation> + <translation>Ime razÅ¡iritvenega izraza mora biti v imenskem prostoru.</translation> </message> <message> <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/> <source>empty</source> - <translation type="unfinished"></translation> + <translation>prazno</translation> </message> <message> <location line="+2"/> <source>zero or one</source> - <translation type="unfinished"></translation> + <translation>niÄ ali en</translation> </message> <message> <location line="+2"/> <source>exactly one</source> - <translation type="unfinished"></translation> + <translation>toÄno en</translation> </message> <message> <location line="+2"/> <source>one or more</source> - <translation type="unfinished"></translation> + <translation>en ali veÄ</translation> </message> <message> <location line="+2"/> <source>zero or more</source> - <translation type="unfinished"></translation> + <translation>niÄ ali veÄ</translation> </message> <message> <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/> <source>Required type is %1, but %2 was found.</source> - <translation type="unfinished"></translation> + <translation>Zahtevana vrsta je %1, najdena pa je bila %2.</translation> </message> <message> <location line="+44"/> <source>Promoting %1 to %2 may cause loss of precision.</source> - <translation type="unfinished"></translation> + <translation>PoviÅ¡anje %1 v %2 lahko povzroÄi izgubo natanÄnosti.</translation> </message> <message> <location line="+49"/> <source>The focus is undefined.</source> - <translation type="unfinished"></translation> + <translation>Fokus ni definiran.</translation> </message> <message> <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/> @@ -7427,7 +8404,7 @@ Please choose a different file name.</source> <message> <location line="+7"/> <source>An attribute by name %1 has already been created.</source> - <translation type="unfinished"></translation> + <translation>Atribut z imenom %1 je že bil ustvarjen.</translation> </message> <message> <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/> @@ -7440,9 +8417,9 @@ Please choose a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/> + <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+344"/> <source>%1 is an unsupported encoding.</source> - <translation type="unfinished"></translation> + <translation>%1 ni podprto kodiranje.</translation> </message> <message> <location line="+16"/> @@ -7457,7 +8434,7 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/> <source>Ambiguous rule match.</source> - <translation type="unfinished"></translation> + <translation>Dvoumno ujemanje s pravilom.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/> @@ -7467,32 +8444,27 @@ Please choose a different file name.</source> <message> <location line="+11"/> <source>The prefix must be a valid %1, which %2 is not.</source> - <translation type="unfinished"></translation> + <translation></translation> </message> <message> <location line="+14"/> <source>The prefix %1 cannot be bound.</source> - <translation type="unfinished"></translation> + <translation>Predpone %1 ni moÄ navezati.</translation> </message> <message> <location line="+10"/> <source>Only the prefix %1 can be bound to %2 and vice versa.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/> - <source>Circularity detected</source> - <translation type="unfinished"></translation> + <translation>Na %2 je lahko navezana le predpona %1 in obratno.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/> <source>The parameter %1 is required, but no corresponding %2 is supplied.</source> - <translation type="unfinished"></translation> + <translation>Potreben je parameter %1, vendar ustrezen %2 ni bil podan.</translation> </message> <message> <location line="-71"/> <source>The parameter %1 is passed, but no corresponding %2 exists.</source> - <translation type="unfinished"></translation> + <translation>Podan je bil parameter %1, vendar ustrezen %2 ne obstaja.</translation> </message> <message> <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/> @@ -7502,22 +8474,22 @@ Please choose a different file name.</source> <message> <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/> <source>Element %1 is not allowed at this location.</source> - <translation type="unfinished"></translation> + <translation>Element %1 na tej lokaciji ni dovoljen.</translation> </message> <message> <location line="+9"/> <source>Text nodes are not allowed at this location.</source> - <translation type="unfinished"></translation> + <translation>Besedilna vozliÅ¡Äa na tej lokaciji niso dovoljena.</translation> </message> <message> <location line="+20"/> <source>Parse error: %1</source> - <translation type="unfinished"></translation> + <translation>Napaka pri razÄlenjevanju: %1</translation> </message> <message> <location line="+62"/> <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn't.</source> - <translation type="unfinished"></translation> + <translation>Vrednost lastnosti razliÄice XSL-T mora biti vrednost vrste %1, %2 pa to ni.</translation> </message> <message> <location line="+20"/> @@ -7527,12 +8499,12 @@ Please choose a different file name.</source> <message> <location line="+108"/> <source>Unknown XSL-T attribute %1.</source> - <translation type="unfinished"></translation> + <translation>Neznana XSL-T lastnost %1.</translation> </message> <message> <location line="+23"/> <source>Attribute %1 and %2 are mutually exclusive.</source> - <translation type="unfinished"></translation> + <translation>Lastnosti %1 in %2 sta medsebojno izkljuÄujoÄi.</translation> </message> <message> <location line="+166"/> @@ -7542,12 +8514,12 @@ Please choose a different file name.</source> <message> <location line="+72"/> <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source> - <translation type="unfinished"></translation> + <translation>ÄŒe element %1 nima lastnosti %2, ne more imeti lastnosti %3 ali %4.</translation> </message> <message> <location line="+9"/> <source>Element %1 must have at least one of the attributes %2 or %3.</source> - <translation type="unfinished"></translation> + <translation>Element %1 mora imeti vsaj eno izmed lastnosti %2 in %3.</translation> </message> <message> <location line="+28"/> @@ -7555,139 +8527,1511 @@ Please choose a different file name.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/> - <source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source> + <location line="+123"/> + <source>Element %1 must come last.</source> + <translation>Element %1 mora biti zadnji.</translation> + </message> + <message> + <location line="+24"/> + <source>At least one %1-element must occur before %2.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>Only one %1-element can appear.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+31"/> + <source>At least one %1-element must occur inside %2.</source> + <translation></translation> + </message> + <message> + <location line="+58"/> + <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+13"/> + <source>Element %1 must have either a %2-attribute or a sequence constructor.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+125"/> + <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+270"/> + <source>Element %1 cannot have children.</source> + <translation>Element %1 ne more imeti podelementov.</translation> + </message> + <message> + <location line="+434"/> + <source>Element %1 cannot have a sequence constructor.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+86"/> + <location line="+9"/> + <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>A parameter in a function cannot be declared to be a tunnel.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+149"/> + <source>This processor is not Schema-aware and therefore %1 cannot be used.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+57"/> + <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn't.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+48"/> + <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source> + <translation>Vrednost lastnosti %1 elementa %2 mora biti %3 ali %4 in ne %5.</translation> + </message> + <message> + <location line="+20"/> + <source>Attribute %1 cannot have the value %2.</source> + <translation>Lastnost %1 ne more imeti vrednosti %2.</translation> + </message> + <message> + <location line="+58"/> + <source>The attribute %1 can only appear on the first %2 element.</source> + <translation>Lastnost %1 se lahko pojavi le pri prvem elementu %2.</translation> + </message> + <message> + <location line="+99"/> + <source>At least one %1 element must appear as child of %2.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/> + <source>empty particle cannot be derived from non-empty particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>derived particle is missing element %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>derived element %1 is missing value constraint as defined in base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>derived element %1 has weaker value constraint than base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>fixed value constraint of element %1 differs from value constraint in base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>derived element %1 cannot be nillable as base element is not nillable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>block constraints of derived element %1 must not be more weaker than in the base element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>simple type of derived element %1 cannot be validly derived from base element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>complex type of derived element %1 cannot be validly derived from base element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+24"/> + <source>element %1 is missing in derived particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>element %1 does not match namespace constraint of wildcard in base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>wildcard in derived particle is not a valid subset of wildcard in base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>processContent of wildcard in derived particle is weaker than wildcard in base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+240"/> + <source>derived particle allows content that is not allowed in the base particle</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdschemachecker.cpp" line="+227"/> + <source>%1 has inheritance loop in its base type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <location line="+24"/> + <source>circular inheritance of base type %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>circular inheritance of union %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+25"/> + <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+31"/> + <source>base type of simple type %1 cannot be complex type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>simple type %1 cannot have direct base type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+33"/> + <location line="+9"/> + <source>simple type %1 is not allowed to have base type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+12"/> + <source>simple type %1 can only have simple atomic type as base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>simple type %1 cannot derive from %2 as the latter defines restriction as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+13"/> + <location line="+484"/> + <source>variety of item type of %1 must be either atomic or union</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-474"/> + <location line="+483"/> + <source>variety of member types of %1 must be atomic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-470"/> + <location line="+451"/> + <source>%1 is not allowed to derive from %2 by list as the latter defines it as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-431"/> + <source>simple type %1 is only allowed to have %2 facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>base type of simple type %1 must have variety of type list</source> <translation type="unfinished"></translation> </message> <message> <location line="+6"/> - <source>Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes.</source> + <source>base type of simple type %1 has defined derivation by restriction as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>item type of base type does not match item type of %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <location line="+93"/> + <source>simple type %1 contains not allowed facet type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-72"/> + <location line="+413"/> + <source>%1 is not allowed to derive from %2 by union as the latter defines it as final</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-404"/> + <source>%1 is not allowed to have any facets</source> <translation type="unfinished"></translation> </message> <message> <location line="+8"/> - <source>Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes.</source> + <source>base type %1 of simple type %2 must have variety of union</source> <translation type="unfinished"></translation> </message> <message> <location line="+9"/> - <source>Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes.</source> + <source>base type %1 of simple type %2 is not allowed to have restriction in %3 attribute</source> <translation type="unfinished"></translation> </message> <message> - <location line="+13"/> - <source>XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is.</source> + <location line="+18"/> + <source>member type %1 cannot be derived from member type %2 of %3's base type %4</source> <translation type="unfinished"></translation> </message> <message> - <location line="+12"/> - <source>The attribute %1 must appear on element %2.</source> + <location line="+65"/> + <source>derivation method of %1 must be extension because the base type %2 is a simple type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+30"/> + <source>complex type %1 has duplicated element %2 in its content model</source> <translation type="unfinished"></translation> </message> <message> <location line="+8"/> - <source>The element with local name %1 does not exist in XSL-T.</source> + <source>complex type %1 has non-deterministic content</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+123"/> - <source>Element %1 must come last.</source> + <location line="+21"/> + <source>attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3</source> <translation type="unfinished"></translation> </message> <message> - <location line="+24"/> - <source>At least one %1-element must occur before %2.</source> + <location line="+37"/> + <source>content model of complex type %1 is not a valid extension of content model of %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>complex type %1 must have simple content</source> <translation type="unfinished"></translation> </message> <message> <location line="+7"/> - <source>Only one %1-element can appear.</source> + <source>complex type %1 must have the same simple type as its base class %2</source> <translation type="unfinished"></translation> </message> <message> - <location line="+31"/> - <source>At least one %1-element must occur inside %2.</source> + <location line="+67"/> + <source>complex type %1 cannot be derived from base type %2%3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>complex type %1 with simple content cannot be derived from complex base type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+35"/> + <source>item type of simple type %1 cannot be a complex type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+44"/> + <source>member type of simple type %1 cannot be a complex type</source> <translation type="unfinished"></translation> </message> <message> + <location line="+8"/> + <source>%1 is not allowed to have a member type with the same name as itself</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+83"/> + <location line="+29"/> + <location line="+34"/> + <source>%1 facet collides with %2 facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-20"/> + <source>%1 facet must have the same value as %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+37"/> + <source>%1 facet must be equal or greater than %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+19"/> + <location line="+125"/> + <location line="+55"/> + <location line="+12"/> + <location line="+91"/> <location line="+58"/> - <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source> + <location line="+34"/> + <location line="+35"/> + <source>%1 facet must be less than or equal to %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-389"/> + <source>%1 facet contains invalid regular expression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>unknown notation %1 used in %2 facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+20"/> + <source>%1 facet contains invalid value %2: %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+22"/> + <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>%1 facet cannot be %2 if %3 facet of base type is %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+20"/> + <location line="+55"/> + <location line="+230"/> + <source>%1 facet must be less than or equal to %2 facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-257"/> + <location line="+134"/> + <location line="+82"/> + <source>%1 facet must be less than %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-201"/> + <location line="+79"/> + <source>%1 facet and %2 facet cannot appear together</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-27"/> + <location line="+12"/> + <location line="+113"/> + <source>%1 facet must be greater than %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-86"/> + <location line="+58"/> + <source>%1 facet must be less than %2 facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-42"/> + <location line="+58"/> + <source>%1 facet must be greater than or equal to %2 facet of base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+113"/> + <source>simple type contains not allowed facet %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+12"/> + <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+16"/> + <source>only %1 and %2 facets are allowed when derived by union</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+23"/> + <location line="+16"/> + <source>%1 contains %2 facet with invalid data: %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+24"/> + <source>attribute group %1 contains attribute %2 twice</source> + <translation>skupina lastnosti %1 dvakrat vsebuje lastnost %2</translation> + </message> + <message> + <location line="+9"/> + <source>attribute group %1 contains two different attributes that both have types derived from %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+23"/> + <source>complex type %1 contains attribute %2 twice</source> + <translation>kompleksna vrsta %1 dvakrat vsebuje lastnost %2</translation> + </message> + <message> + <location line="+9"/> + <source>complex type %1 contains two different attributes that both have types derived from %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>complex type %1 contains attribute %2 that has value constraint but type that inherits from %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+43"/> + <source>element %1 is not allowed to have a value constraint if its base type is complex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>element %1 is not allowed to have a value constraint if its type is derived from %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <location line="+11"/> + <source>value constraint of element %1 is not of elements type: %2</source> <translation type="unfinished"></translation> </message> <message> <location line="+13"/> - <source>Element %1 must have either a %2-attribute or a sequence constructor.</source> + <source>element %1 is not allowed to have substitution group affiliation as it is no global element</source> <translation type="unfinished"></translation> </message> <message> - <location line="+125"/> - <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source> + <location line="+28"/> + <source>type of element %1 cannot be derived from type of substitution group affiliation</source> <translation type="unfinished"></translation> </message> <message> - <location line="+270"/> - <source>Element %1 cannot have children.</source> + <location line="+41"/> + <source>value constraint of attribute %1 is not of attributes type: %2</source> <translation type="unfinished"></translation> </message> <message> - <location line="+434"/> - <source>Element %1 cannot have a sequence constructor.</source> + <location line="+9"/> + <source>attribute %1 has value constraint but has type derived from %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+56"/> + <source>%1 attribute in derived complex type must be %2 like in base type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>attribute %1 in derived complex type must have %2 value constraint like in base type</source> <translation type="unfinished"></translation> </message> <message> - <location line="+86"/> <location line="+9"/> - <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source> + <source>attribute %1 in derived complex type must have the same %2 value constraint like in base type</source> <translation type="unfinished"></translation> </message> <message> + <location line="+7"/> + <source>attribute %1 in derived complex type must have %2 value constraint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>processContent of base wildcard must be weaker than derived wildcard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+39"/> <location line="+15"/> - <source>A parameter in a function cannot be declared to be a tunnel.</source> + <source>element %1 exists twice with different types</source> + <translation>element %1 obstaja dvakrat, z razliÄnima vrstama</translation> + </message> + <message> + <location line="+28"/> + <source>particle contains non-deterministic wildcards</source> <translation type="unfinished"></translation> </message> <message> - <location line="+149"/> - <source>This processor is not Schema-aware and therefore %1 cannot be used.</source> + <location filename="../src/xmlpatterns/schema/qxsdschemahelper.cpp" line="+691"/> + <location line="+63"/> + <source>base attribute %1 is required but derived attribute is not</source> <translation type="unfinished"></translation> </message> <message> - <location line="+57"/> - <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn't.</source> + <location line="-57"/> + <source>type of derived attribute %1 cannot be validly derived from type of base attribute</source> <translation type="unfinished"></translation> </message> <message> - <location line="+48"/> - <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source> + <location line="+28"/> + <source>value constraint of derived attribute %1 does not match value constraint of base attribute</source> <translation type="unfinished"></translation> </message> <message> - <location line="+20"/> - <source>Attribute %1 cannot have the value %2.</source> + <location line="+5"/> + <source>derived attribute %1 does not exists in the base definition</source> <translation type="unfinished"></translation> </message> <message> - <location line="+58"/> - <source>The attribute %1 can only appear on the first %2 element.</source> + <location line="+11"/> + <source>derived attribute %1 does not match the wildcard in the base definition</source> <translation type="unfinished"></translation> </message> <message> - <location line="+99"/> - <source>At least one %1 element must appear as child of %2.</source> + <location line="+17"/> + <source>base attribute %1 is required but missing in derived definition</source> <translation type="unfinished"></translation> </message> -</context> -<context> - <name>VolumeSlider</name> <message> - <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+67"/> - <source>Muted</source> + <location line="+9"/> + <source>derived definition contains an %1 element that does not exists in the base definition</source> <translation type="unfinished"></translation> </message> <message> <location line="+5"/> + <source>derived wildcard is not a subset of the base wildcard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+23"/> + <source>attribute %1 from base type is missing in derived type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>type of derived attribute %1 differs from type of base attribute</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>base definition contains an %1 element that is missing in the derived definition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+169"/> + <source>can not process unknown element %1, expected elements are: %2</source> + <translation>ni moÄ obdelati neznanega elementa %1, priÄakovani elementi so: %2</translation> + </message> + <message> + <location line="+13"/> + <source>element %1 is not allowed in this scope, possible elements are: %2</source> + <translation>element %1 v tem obsegu ni dovoljen, možni elementi so: %2</translation> + </message> + <message> + <location line="+16"/> + <source>child element is missing in that scope, possible child elements are: %1</source> + <translation>v tem obsegu manjka podelement, možni podelementi so: %1</translation> + </message> + <message> + <location line="+127"/> + <source>document is not a XML schema</source> + <translation>dokument ni shema XML</translation> + </message> + <message> + <location line="+22"/> + <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4</source> + <translation>lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4</translation> + </message> + <message> + <location line="+6"/> + <source>%1 attribute of %2 element contains invalid content: {%3}</source> + <translation>lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3}</translation> + </message> + <message> + <location line="+26"/> + <source>target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <location line="+11"/> + <source>target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+237"/> + <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>%1 element without %2 attribute is not allowed inside schema without target namespace</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+833"/> + <location line="+158"/> + <source>%1 element is not allowed inside %2 element if %3 attribute is present</source> + <translation>element %1 znotraj elementa %2 ni dovoljen, Äe je prisotna lastnost %3</translation> + </message> + <message> + <location line="-97"/> + <location line="+119"/> + <location line="+92"/> + <source>%1 element has neither %2 attribute nor %3 child element</source> + <translation>element %1 nima niti lastnosti %2 niti podelementa %3</translation> + </message> + <message> + <location line="+835"/> + <location line="+1474"/> + <location line="+232"/> + <location line="+7"/> + <location line="+260"/> + <location line="+17"/> + <location line="+258"/> + <location line="+6"/> + <location line="+17"/> + <location line="+6"/> + <location line="+17"/> + <location line="+11"/> + <location line="+11"/> + <location line="+11"/> + <source>%1 element with %2 child element must not have a %3 attribute</source> + <translation>element %1 s podelementom %2 ne sme imeti lastnosti %3</translation> + </message> + <message> + <location line="-1325"/> + <source>%1 attribute of %2 element must be %3 or %4</source> + <translation>lastnost %1 elementa %2 mora biti %3 ali %4</translation> + </message> + <message> + <location line="+36"/> + <source>%1 attribute of %2 element must have a value of %3</source> + <translation>lastnost %1 elementa %2 mora imeti vrednost %3</translation> + </message> + <message> + <location line="+7"/> + <location line="+34"/> + <source>%1 attribute of %2 element must have a value of %3 or %4</source> + <translation>lastnost %1 elementa %2 mora imeti vrednost %3 ali %4</translation> + </message> + <message> + <location line="+319"/> + <location line="+129"/> + <location line="+9"/> + <location line="+7"/> + <location line="+7"/> + <location line="+327"/> + <location line="+203"/> + <location line="+6"/> + <location line="+6"/> + <location line="+6"/> + <location line="+6"/> + <location line="+6"/> + <location line="+6"/> + <location line="+77"/> + <source>%1 element must not have %2 and %3 attribute together</source> + <translation>element %1 hkrati ne sme imeti lastnosti %2 in %3</translation> + </message> + <message> + <location line="-768"/> + <location line="+222"/> + <source>content of %1 attribute of %2 element must not be from namespace %3</source> + <translation>vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3</translation> + </message> + <message> + <location line="-215"/> + <location line="+222"/> + <source>%1 attribute of %2 element must not be %3</source> + <translation>lastnost %1 elementa %2 ne sme biti %3</translation> + </message> + <message> + <location line="-64"/> + <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+187"/> + <source>specifying use='prohibited' inside an attribute group has no effect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+353"/> + <source>%1 element must have either %2 or %3 attribute</source> + <translation>element %1 mora imeti lastnost %2 ali %3</translation> + </message> + <message> + <location line="+554"/> + <source>%1 element must have either %2 attribute or %3 or %4 as child element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+55"/> + <source>%1 element requires either %2 or %3 attribute</source> + <translation>element %1 potrebuje vsaj lastnost %2 ali %3</translation> + </message> + <message> + <location line="+19"/> + <source>text or entity references not allowed inside %1 element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+41"/> + <location line="+112"/> + <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+126"/> + <source>%1 element is not allowed in this context</source> + <translation>element %1 v tem kontekstu ni dovoljen</translation> + </message> + <message> + <location line="+53"/> + <source>%1 attribute of %2 element has larger value than %3 attribute</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+25"/> + <source>prefix of qualified name %1 is not defined</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+65"/> + <location line="+61"/> + <source>%1 attribute of %2 element must either contain %3 or the other values</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+131"/> + <source>component with id %1 has been defined previously</source> + <translation>komponenta z ID-jem %1 je že bila definirana</translation> + </message> + <message> + <location line="+17"/> + <source>element %1 already defined</source> + <translation>element %1 je že definiran</translation> + </message> + <message> + <location line="+11"/> + <source>attribute %1 already defined</source> + <translation>lastnost %1 je že definirana</translation> + </message> + <message> <location line="+15"/> - <source>Volume: %1%</source> + <source>type %1 already defined</source> + <translation>vrsta %1 je že definirana</translation> + </message> + <message> + <location line="+23"/> + <source>attribute group %1 already defined</source> + <translation>skupina lastnosti %1 je že definirana</translation> + </message> + <message> + <location line="+11"/> + <source>element group %1 already defined</source> + <translation>skupina elementov %1 je že definirana</translation> + </message> + <message> + <location line="+11"/> + <source>notation %1 already defined</source> + <translation>zapis %1 je že definiran</translation> + </message> + <message> + <location line="+11"/> + <source>identity constraint %1 already defined</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+11"/> + <source>duplicated facets in simple type %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/> + <source>%1 references unknown %2 or %3 element %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>%1 references identity constraint %2 that is no %3 or %4 element</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>%1 has a different number of fields from the identity constraint %2 that it references</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+23"/> + <source>base type %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+84"/> + <source>item type %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+31"/> + <source>member type %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+28"/> + <location line="+408"/> + <location line="+30"/> + <source>type %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-416"/> + <source>base type %1 of complex type cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>%1 cannot have complex base type that has a %2</source> + <translation></translation> + </message> + <message> + <location line="+279"/> + <source>content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+101"/> + <source>type of %1 element must be a simple type, %2 is not</source> + <translation>vrsta elementa %1 mora biti preprosta, %2 to ni</translation> + </message> + <message> + <location line="+62"/> + <source>substitution group %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>substitution group %1 has circular definition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+120"/> + <location line="+7"/> + <source>duplicated element names %1 in %2 element</source> + <translation>podvojeni imeni elementov %1 v elementu %2</translation> + </message> + <message> + <location line="+29"/> + <location line="+52"/> + <location line="+71"/> + <location line="+28"/> + <source>reference %1 of %2 element cannot be resolved</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-138"/> + <source>circular group reference for %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+16"/> + <source>%1 element is not allowed in this scope</source> + <translation>element %1 v tem obsegu ni dovoljen</translation> + </message> + <message> + <location line="+5"/> + <source>%1 element cannot have %2 attribute with value other than %3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>%1 element cannot have %2 attribute with value other than %3 or %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+91"/> + <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+25"/> + <source>attribute group %1 has circular reference</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+131"/> + <source>%1 attribute in %2 must have %3 use like in base type %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+52"/> + <source>attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>%1 has attribute wildcard but its base type %2 has not</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+48"/> + <source>enumeration facet contains invalid content: {%1} is not a value of type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>namespace prefix of qualified name %1 is not defined</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+51"/> + <location line="+18"/> + <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdtypechecker.cpp" line="+233"/> + <location line="+7"/> + <location line="+21"/> + <source>%1 is not valid according to %2</source> + <translation>%1 glede na %2 ni veljaven</translation> + </message> + <message> + <location line="+167"/> + <source>string content does not match the length facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>string content does not match the minLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>string content does not match the maxLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>string content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>string content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>signed integer content does not match the maxInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>signed integer content does not match the maxExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>signed integer content does not match the minInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>signed integer content does not match the minExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>signed integer content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>signed integer content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>signed integer content does not match in the totalDigits facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>unsigned integer content does not match the maxInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>unsigned integer content does not match the maxExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>unsigned integer content does not match the minInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>unsigned integer content does not match the minExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>unsigned integer content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>unsigned integer content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>unsigned integer content does not match in the totalDigits facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>double content does not match the maxInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>double content does not match the maxExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>double content does not match the minInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>double content does not match the minExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>double content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>double content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>decimal content does not match in the fractionDigits facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>decimal content does not match in the totalDigits facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>date time content does not match the maxInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>date time content does not match the maxExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>date time content does not match the minInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>date time content does not match the minExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>date time content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>date time content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>duration content does not match the maxInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>duration content does not match the maxExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>duration content does not match the minInclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>duration content does not match the minExclusive facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>duration content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>duration content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+27"/> + <source>boolean content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>binary content does not match the length facet</source> <translation type="unfinished"></translation> </message> + <message> + <location line="+8"/> + <source>binary content does not match the minLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>binary content does not match the maxLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>binary content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+27"/> + <source>invalid QName content: %1</source> + <translation>neveljavna vsebina QName: %1</translation> + </message> + <message> + <location line="+17"/> + <source>QName content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>QName content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+36"/> + <source>notation content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+19"/> + <source>list content does not match length facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>list content does not match minLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <source>list content does not match maxLength facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+90"/> + <source>list content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>list content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+39"/> + <source>union content is not listed in the enumeration facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>union content does not match pattern facet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+15"/> + <source>data of type %1 are not allowed to be empty</source> + <translation>podatki vrste %1 ne smejo biti prazni</translation> + </message> + <message> + <location filename="../src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp" line="+160"/> + <source>element %1 is missing child element</source> + <translation>elementu %1 manjka podelement</translation> + </message> + <message> + <location line="+16"/> + <source>there is one IDREF value with no corresponding ID: %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+27"/> + <source>loaded schema file is invalid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+16"/> + <source>%1 contains invalid data</source> + <translation>%1 vsebuje neveljavne podatke</translation> + </message> + <message> + <location line="+13"/> + <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+22"/> + <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>no schema defined for validation</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>no definition for element %1 available</source> + <translation>definicija za element %1 ni na voljo</translation> + </message> + <message> + <location line="+18"/> + <location line="+49"/> + <location line="+142"/> + <source>specified type %1 is not known to the schema</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-176"/> + <source>element %1 is not defined in this scope</source> + <translation>element %1 v tem obsegu ni definiran</translation> + </message> + <message> + <location line="+43"/> + <source>declaration for element %1 does not exist</source> + <translation>deklaracija elementa %1 ne obstaja</translation> + </message> + <message> + <location line="+12"/> + <source>element %1 contains invalid content</source> + <translation>element %1 vsebuje neveljavno vsebino</translation> + </message> + <message> + <location line="+73"/> + <source>element %1 is declared as abstract</source> + <translation>element %1 je deklariran kot abstrakten</translation> + </message> + <message> + <location line="+7"/> + <source>element %1 is not nillable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>attribute %1 contains invalid data: %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> + <source>element contains content although it is nillable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>fixed value constrained not allowed if element is nillable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+32"/> + <source>specified type %1 is not validly substitutable with element type %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+23"/> + <source>complex type %1 is not allowed to be abstract</source> + <translation>kompleksna vrsta %1 ne sme biti abstraktna</translation> + </message> + <message> + <location line="+21"/> + <source>element %1 contains not allowed attributes</source> + <translation>element %1 vsebuje nedovoljene lastnosti</translation> + </message> + <message> + <location line="+6"/> + <location line="+97"/> + <source>element %1 contains not allowed child element</source> + <translation>element %1 vsebuje nedovoljen podelement</translation> + </message> + <message> + <location line="-76"/> + <location line="+93"/> + <source>content of element %1 does not match its type definition: %2</source> + <translation>vsebina elementa %1 ne ustreza zanj doloÄeni vrsti: %2</translation> + </message> + <message> + <location line="-85"/> + <location line="+92"/> + <location line="+41"/> + <source>content of element %1 does not match defined value constraint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-73"/> + <source>element %1 contains not allowed child content</source> + <translation>element %1 vsebuje nedovoljeno vsebino v podelementih</translation> + </message> + <message> + <location line="+41"/> + <source>element %1 contains not allowed text content</source> + <translation>element %1 vsebuje nedovoljeno besedilno vsebino</translation> + </message> + <message> + <location line="+18"/> + <source>element %1 can not contain other elements, as it has a fixed content</source> + <translation>element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino</translation> + </message> + <message> + <location line="+43"/> + <source>element %1 is missing required attribute %2</source> + <translation>elementu %1 manjka obvezna lastnost %2</translation> + </message> + <message> + <location line="+29"/> + <source>attribute %1 does not match the attribute wildcard</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>declaration for attribute %1 does not exist</source> + <translation>deklaracija lastnosti %1 ne obstaja</translation> + </message> + <message> + <location line="+6"/> + <source>element %1 contains two attributes of type %2</source> + <translation>element %1 vsebuje dve lastnosti vrste %2</translation> + </message> + <message> + <location line="+11"/> + <source>attribute %1 contains invalid content</source> + <translation>lastnost %1 vsebuje neveljavno vsebino</translation> + </message> + <message> + <location line="+7"/> + <source>element %1 contains unknown attribute %2</source> + <translation>element %1 vsebuje neznano lastnost %2</translation> + </message> + <message> + <location line="+40"/> + <location line="+46"/> + <source>content of attribute %1 does not match its type definition: %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-38"/> + <location line="+46"/> + <source>content of attribute %1 does not match defined value constraint</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+88"/> + <source>non-unique value found for constraint %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+20"/> + <source>key constraint %1 contains absent fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+18"/> + <source>key constraint %1 contains references nillable element %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+40"/> + <source>no referenced value found for key reference %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+64"/> + <source>more than one value found for field %1</source> + <translation>za polje %1 je bila najdena veÄ kot ena vrednost</translation> + </message> + <message> + <location line="+20"/> + <source>field %1 has no simple type</source> + <translation>polje %1 nima preproste vrste</translation> + </message> + <message> + <location line="+73"/> + <source>ID value '%1' is not unique</source> + <translation>Vrednost ID »%1« ni edinstvena</translation> + </message> + <message> + <location line="+11"/> + <source>'%1' attribute contains invalid QName content: %2</source> + <translation>Lastnost »%1« vsebuje neveljavno vsebino QName: %2</translation> + </message> </context> </TS> diff --git a/translations/qtconfig_untranslated.ts b/translations/qtconfig_untranslated.ts deleted file mode 100644 index 62a74b8..0000000 --- a/translations/qtconfig_untranslated.ts +++ /dev/null @@ -1,885 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name>MainWindow</name> - <message> - <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/> - <source>Desktop Settings (Default)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Choose style and palette based on your desktop settings.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+144"/> - <source>On The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+33"/> - <location line="+1"/> - <location line="+38"/> - <location line="+1"/> - <source>Auto (default)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-38"/> - <source>Choose audio output automatically.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <location line="+1"/> - <source>aRts</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Experimental aRts support for GStreamer.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+31"/> - <source>Phonon GStreamer backend not available.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Choose render method automatically</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <location line="+1"/> - <source>X11</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Use X11 Overlays</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <location line="+1"/> - <source>OpenGL</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Use OpenGL if avaiable</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <location line="+1"/> - <source>Software</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Use simple software rendering</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+27"/> - <source>No changes to be saved.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Saving changes...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+48"/> - <source>Over The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Off The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Root</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+466"/> - <source>Select a Directory</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+17"/> - <source><h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <location line="+1"/> - <location line="+8"/> - <source>Qt Configuration</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> - <source>Save Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Save changes to settings?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>&Yes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>&No</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>&Cancel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MainWindowBase</name> - <message> - <location filename="../tools/qtconfig/mainwindowbase.ui"/> - <source>Qt Configuration</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Appearance</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>GUI Style</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select GUI &Style:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Build Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&3-D Effects:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Window Back&ground:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Tune Palette...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Please use the KDE Control Center to set the palette.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Preview</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select &Palette:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Active Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Inactive Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Disabled Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Fonts</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Default Font</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Style:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Point Size:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>F&amily:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Sample Text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Font Substitution</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>S&elect or Enter a Family:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Current Substitutions:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Up</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Down</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Remove</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select s&ubstitute Family:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Add</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Interface</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Feel Settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source> ms</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Double Click Interval:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>No blinking</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Cursor Flash Time:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source> lines</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Wheel &Scroll Lines:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Resolve symlinks in URLs</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>GUI Effects</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Enable</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Alt+E</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Menu Effect:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>C&omboBox Effect:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&ToolTip Effect:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Tool&Box Effect:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Disable</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Animate</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Fade</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Global Strut</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Minimum &Width:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Minimum Hei&ght:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source> pixels</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Enhanced support for languages written right-to-left</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>XIM Input Style:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>On The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Over The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Off The Spot</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Root</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Default Input Method:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Printer</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Enable Font embedding</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Font Paths</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Press the <b>Browse</b> button or enter a directory and press Enter to add them to the list.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Phonon</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Phonon</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Current Version:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Not available</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Website:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://phonon.kde.org"><span style=" text-decoration: underline; color:#0000ff;">http://phonon.kde.org</span></a></p></body></html></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About GStreamer</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://gstreamer.freedesktop.org/"><span style=" text-decoration: underline; color:#0000ff;">http://gstreamer.freedesktop.org/</span></a></p></body></html></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>GStreamer backend settings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Preferred audio sink:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Preferred render method:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Note: changes to these settings may prevent applications from starting up correctly.</span></p></body></html></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Ctrl+S</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>E&xit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Exit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About &Qt</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>About Qt</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PaletteEditorAdvancedBase</name> - <message> - <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui"/> - <source>Tune Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Edit Palette</b><p>Change the palette of the current widget or form.</p><p>Use a generated palette or select colors for each color group and each color role.</p><p>The palette can be tested with different widget layouts in the preview section.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select &Palette:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Active Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Inactive Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Disabled Palette</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Auto</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Build inactive palette from active</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Build disabled palette from active</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Central color &roles</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Choose central color role</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Select a color role.</b><p>Available central roles are: <ul> <li>Window - general background color.</li> <li>WindowText - general foreground color. </li> <li>Base - used as background color for e.g. text entry widgets, usually white or another light color. </li> <li>Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. </li> <li>Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. </li> <li>ButtonText - a foreground color used with the Button color. </li> <li>Highlight - a color to indicate a selected or highlighted item. </li> <li>HighlightedText - a text color that contrasts to Highlight. </li> <li>BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. </li> </ul> </p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>WindowText</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Button</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Base</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Text</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>BrightText</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>ButtonText</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Highlight</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>HighlightedText</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Select Color:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Choose a color</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Choose a color for the selected central color role.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>3-D shadow &effects</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Build &from button color</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Generate shadings</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Check to let 3D-effect colors be calculated from button-color.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Choose 3D-effect color role</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><b>Select a color role.</b><p>Available effect roles are: <ul> <li>Light - lighter than Button color. </li> <li>Midlight - between Button and Light. </li> <li>Mid - between Button and Dark. </li> <li>Dark - darker than Button. </li> <li>Shadow - a very dark color. </li> </ul></source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Light</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Midlight</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Mid</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Dark</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Shadow</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Select Co&lor:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Choose a color for the selected effect color role.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>OK</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close dialog and apply all changes.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Cancel</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Close dialog and discard all changes.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PreviewFrame</name> - <message> - <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/> - <source>Desktop settings will only take effect after an application restart.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>PreviewWidgetBase</name> - <message> - <location filename="../tools/qtconfig/previewwidgetbase.ui"/> - <source>Preview Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>ButtonGroup</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>RadioButton1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>RadioButton2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>RadioButton3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>ButtonGroup2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>CheckBox1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>CheckBox2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>LineEdit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>ComboBox</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>PushButton</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><p> -<a href="http://qt.nokia.com">http://qt.nokia.com</a> -</p> -<p> -<a href="http://www.kde.org">http://www.kde.org</a> -</p></source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/qvfb_untranslated.ts b/translations/qvfb_untranslated.ts deleted file mode 100644 index cc18132..0000000 --- a/translations/qvfb_untranslated.ts +++ /dev/null @@ -1,325 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0"> -<context> - <name>AnimationSaveWidget</name> - <message> - <location filename="../tools/qvfb/qvfb.cpp" line="+850"/> - <location line="+204"/> - <source>Record</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-202"/> - <source>Reset</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+18"/> - <source>Save in MPEG format (requires netpbm package installed)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <location line="+206"/> - <source>Click record to begin recording.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-115"/> - <location line="+147"/> - <source>Finished saving.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-63"/> - <source>Paused. Click record to resume, or save if done.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Pause</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Recording...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+40"/> - <source>Saving... </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <location line="+4"/> - <source>Save animation...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Save canceled.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+9"/> - <source>Save failed!</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>Config</name> - <message> - <location filename="../tools/qvfb/config.ui"/> - <source>Configure</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Size</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>176x220 "SmartPhone"</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>240x320 "PDA"</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>320x240 "TV" / "QVGA"</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>640x480 "VGA"</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>800x600</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>1024x768</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Custom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Depth</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>1 bit monochrome</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>4 bit grayscale</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>8 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>12 (16) bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>15 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>16 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>18 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>24 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>32 bit</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>32 bit ARGB</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Skin</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>None</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Emulate touch screen (no mouse move)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source><p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Gamma</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Blue</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>1.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Green</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>All</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Red</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>Set all to 1.0</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&OK</source> - <translation type="unfinished"></translation> - </message> - <message> - <location/> - <source>&Cancel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>DeviceSkin</name> - <message> - <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/> - <source>The image file '%1' could not be loaded.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+64"/> - <source>The skin directory '%1' does not contain a configuration file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>The skin configuration file '%1' could not be opened.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>The skin configuration file '%1' could not be read: %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+70"/> - <source>Syntax error: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+21"/> - <source>The skin "up" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+10"/> - <source>The skin "down" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+11"/> - <source>The skin "closed" image file '%1' does not exist.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>The skin cursor image file '%1' does not exist.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+25"/> - <source>Syntax error in area definition: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+38"/> - <source>Mismatch in number of areas, expected %1, got %2.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>QVFb</name> - <message> - <location filename="../tools/qvfb/qvfb.cpp" line="-487"/> - <source>Browse...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+126"/> - <source>Load Custom Skin...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>All QVFB Skins (*.skin)</source> - <translation type="unfinished"></translation> - </message> -</context> -</TS> diff --git a/translations/translations.pri b/translations/translations.pri index 480849f..b7924cd 100644 --- a/translations/translations.pri +++ b/translations/translations.pri @@ -21,7 +21,7 @@ LRELEASE = $$fixPath($$QT_BUILD_TREE/bin/lrelease) ###### Qt Libraries -QT_TS = de fr zh_CN untranslated ar es iw ja_JP pl pt ru sk sv uk zh_TW da +QT_TS = ar da de es fr iw ja_JP pl pt ru sk sl sv uk zh_CN zh_TW ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \ -I../include -I../include/Qt \ @@ -30,19 +30,21 @@ ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \ activeqt \ corelib \ gui \ + multimedia \ network \ opengl \ plugins \ qt3support \ script \ + scripttools \ sql \ svg \ xml \ xmlpatterns \ - -ts $$prependAll($$[QT_INSTALL_TRANSLATIONS]/qt_,$$QT_TS,.ts)) + -ts $$prependAll($$QT_SOURCE_TREE/translations/qt_,$$QT_TS,.ts)) ts-qt.depends = sub-tools -qm-qt.commands = $$LRELEASE $$prependAll($$[QT_INSTALL_TRANSLATIONS]/qt_,$$QT_TS,.ts) +qm-qt.commands = $$LRELEASE $$prependAll($$QT_SOURCE_TREE/translations/qt_,$$QT_TS,.ts) qm-qt.depends = sub-tools ###### Designer diff --git a/util/webkit/mkdist-webkit b/util/webkit/mkdist-webkit index 74a4f65..34a2ec7 100755 --- a/util/webkit/mkdist-webkit +++ b/util/webkit/mkdist-webkit @@ -5,7 +5,7 @@ die() { exit 1 } -default_tag="qtwebkit-4.6-snapshot-24092009" +default_tag="qtwebkit-4.6-snapshot-30092009-2" if [ $# -eq 0 ]; then tag="$default_tag" |