diff options
Diffstat (limited to 'www/qt4-webkit/files/patch-libcxx')
-rw-r--r-- | www/qt4-webkit/files/patch-libcxx | 620 |
1 files changed, 620 insertions, 0 deletions
diff --git a/www/qt4-webkit/files/patch-libcxx b/www/qt4-webkit/files/patch-libcxx new file mode 100644 index 000000000000..ab695126e9fc --- /dev/null +++ b/www/qt4-webkit/files/patch-libcxx @@ -0,0 +1,620 @@ +Several upstream (as in WebKit itself) commits that fix the build with libc++, +plus a few additional changes made only for the port (the OS(FREEBSD) part for +time_t). Some of those commits had to be edited because they did not apply +cleanly to the ancient WebKit checkout present in Qt. + +Upstream commit messages: + +------------------------------------------------------------------------ +r86529 | abarth@webkit.org | 2011-05-16 09:30:58 +0300 (Mon, 16 May 2011) | 7 lines + +2011-05-15 Adam Barth <abarth@webkit.org> + + Attempt to fix Qt build. (Strict PassOwnPtr fix.) + + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::doEnd): + +------------------------------------------------------------------------ +r86530 | abarth@webkit.org | 2011-05-16 09:36:56 +0300 (Mon, 16 May 2011) | 13 lines + +2011-05-15 Adam Barth <abarth@webkit.org> + + Attempt to fix Qt build. (Strict PassOwnPtr fix.) + +* platform/network/qt/QNetworkReplyHandler.cpp: +(WebCore::QNetworkReplyWrapper::release): +(WebCore::QNetworkReplyWrapper::receiveMetaData): +(WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType): +(WebCore::QNetworkReplyHandler::release): +(WebCore::QNetworkReplyHandler::finish): +(WebCore::QNetworkReplyHandler::redirect): +(WebCore::QNetworkReplyHandler::start): + +------------------------------------------------------------------------ +r86531 | abarth@webkit.org | 2011-05-16 09:41:08 +0300 (Mon, 16 May 2011) | 7 lines + +2011-05-15 Adam Barth <abarth@webkit.org> + + Attempt to fix Qt build. (Strict PassOwnPtr fix.) + + * platform/text/qt/TextCodecQt.cpp: + (WebCore::newTextCodecQt): + +------------------------------------------------------------------------ +r86532 | abarth@webkit.org | 2011-05-16 09:46:33 +0300 (Mon, 16 May 2011) | 8 lines + +2011-05-15 Adam Barth <abarth@webkit.org> + + Attempt to fix Qt build. (Strict PassOwnPtr fix.) + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQt::GraphicsLayerQt): + (WebCore::GraphicsLayer::create): + + +------------------------------------------------------------------------ +r86533 | abarth@webkit.org | 2011-05-16 09:52:23 +0300 (Mon, 16 May 2011) | 10 lines + +2011-05-15 Adam Barth <abarth@webkit.org> + + Attempt to fix the Qt build. (Strict PassOwnPtr fix.) + + * Api/qgraphicswebview.cpp: + (QGraphicsWebViewPrivate::detachCurrentPage): + (QGraphicsWebView::setPage): + * Api/qwebpage.cpp: + (QWebPage::setView): + +------------------------------------------------------------------------ +r86537 | abarth@webkit.org | 2011-05-16 10:24:01 +0300 (Mon, 16 May 2011) | 41 lines + +2011-05-16 Adam Barth <abarth@webkit.org> + + [Qt] QtPlatformPlugin create methods should use PassOwnPtr + https://bugs.webkit.org/show_bug.cgi?id=60873 + + This change is slightly more than a build fix because the patch kind of + spidered a bit while I was trying to fix the build the "right way." + Hopefully nothing here is controversial. + + * Api/qwebpage.cpp: + (QWebPagePrivate::adjustPointForClicking): + * WebCoreSupport/ChromeClientQt.cpp: + (WebCore::ChromeClientQt::createSelectPopup): + * WebCoreSupport/FullScreenVideoQt.cpp: + (WebCore::FullScreenVideoQt::FullScreenVideoQt): + (WebCore::FullScreenVideoQt::~FullScreenVideoQt): + * WebCoreSupport/FullScreenVideoQt.h: + * WebCoreSupport/NotificationPresenterClientQt.cpp: + (WebCore::NotificationWrapper::NotificationWrapper): + (WebCore::NotificationPresenterClientQt::displayNotification): + * WebCoreSupport/PopupMenuQt.cpp: + (WebCore::PopupMenuQt::PopupMenuQt): + (WebCore::PopupMenuQt::~PopupMenuQt): + (WebCore::PopupMenuQt::show): + * WebCoreSupport/PopupMenuQt.h: + * WebCoreSupport/QtPlatformPlugin.cpp: + (WebCore::QtPlatformPlugin::createSelectInputMethod): + (WebCore::QtPlatformPlugin::createNotificationPresenter): + (WebCore::QtPlatformPlugin::createHapticFeedbackPlayer): + (WebCore::QtPlatformPlugin::createTouchModifier): + (WebCore::QtPlatformPlugin::createFullScreenVideoHandler): + * WebCoreSupport/QtPlatformPlugin.h: + (WebCore::QtPlatformPlugin::QtPlatformPlugin): +2011-05-16 Adam Barth <abarth@webkit.org> + + [Qt] QtPlatformPlugin create methods should use PassOwnPtr + https://bugs.webkit.org/show_bug.cgi?id=60873 + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::platformStart): + +------------------------------------------------------------------------ +r86538 | abarth@webkit.org | 2011-05-16 10:27:51 +0300 (Mon, 16 May 2011) | 6 lines + +2011-05-16 Adam Barth <abarth@webkit.org> + + Missing include. + + * WebCoreSupport/PopupMenuQt.h: + +------------------------------------------------------------------------ +r86540 | abarth@webkit.org | 2011-05-16 10:43:22 +0300 (Mon, 16 May 2011) | 10 lines + +2011-05-16 Adam Barth <abarth@webkit.org> + + Attempt to fix Qt build. (Strict PassOwnPtr fix.) + + This patch requires some slightly fancy footwork. + + * WebCoreSupport/InspectorClientQt.cpp: + (WebCore::InspectorClientQt::openInspectorFrontend): + (WebCore::InspectorFrontendClientQt::InspectorFrontendClientQt): + +------------------------------------------------------------------------ +r86541 | abarth@webkit.org | 2011-05-16 10:51:04 +0300 (Mon, 16 May 2011) | 7 lines + +2011-05-16 Adam Barth <abarth@webkit.org> + + Sigh. This code is somewhat crazy. + + * WebCoreSupport/InspectorClientQt.cpp: + (WebCore::InspectorClientQt::openInspectorFrontend): + +------------------------------------------------------------------------ +r86550 | abarth@webkit.org | 2011-05-16 12:30:40 +0300 (Mon, 16 May 2011) | 13 lines + +2011-05-16 Adam Barth <abarth@webkit.org> + + Partial revert of r86537. FullScreenVideoQt.h can't depend on OwnPtr.h + because moc_FullScreenVideoQt.cpp fails to include config.h. + Apparently, having moc_FullScreenVideoQt.cpp properly include config.h + is hard, so we're going back to manual new and delete for this class. + Bad times. + + * WebCoreSupport/FullScreenVideoQt.cpp: + (WebCore::FullScreenVideoQt::FullScreenVideoQt): + (WebCore::FullScreenVideoQt::~FullScreenVideoQt): + * WebCoreSupport/FullScreenVideoQt.h: + +------------------------------------------------------------------------ +r90915 | andersca@apple.com | 2011-07-13 17:11:49 +0300 (Wed, 13 Jul 2011) | 7 lines + +If a compiler has nullptr support, include <cstddef> to get the nullptr_t definition +https://bugs.webkit.org/show_bug.cgi?id=64429 + +Include the cstddef which has the nullptr_t typedef according to the C++0x standard. + +* wtf/NullPtr.h: + +------------------------------------------------------------------------ +r92556 | darin@apple.com | 2011-08-06 23:17:26 +0300 (Sat, 06 Aug 2011) | 17 lines + +Fix Timer heap implementation to work with more libraries (other versions of STL) +https://bugs.webkit.org/show_bug.cgi?id=65782 + +Reviewed by Anders Carlsson. + +No behavior change, so no tests needed. Existing tests pass. + +* platform/Timer.cpp: Added TimerHeapPointer and TimerHeapReference class +alongside the TimerHeapIterator class. Also added a swap function. Also +added a TimerHeapLessThanFunction class. +(WebCore::TimerBase::heapDecreaseKey): Pass pointers in to the TimerHeapIterator +since that's how the class works now. Pass a TimerHeapLessThanFunction object +instead of letting the library use the < operator directly. +(WebCore::TimerBase::heapPopMin): Ditto. + +* platform/Timer.h: Updated for above changes. + +------------------------------------------------------------------------ +r107489 | weinig@apple.com | 2012-02-12 01:10:24 +0200 (Sun, 12 Feb 2012) | 9 lines + +Prepare JavaScriptCore to build with libc++ +<rdar://problem/10426673> +https://bugs.webkit.org/show_bug.cgi?id=78424 + +Reviewed by Anders Carlsson. + +* wtf/NullPtr.cpp: +* wtf/NullPtr.h: +libc++ provides std::nullptr emulation, so we don't have to. + +------------------------------------------------------------------------ +--- src/3rdparty/webkit/Source/JavaScriptCore/wtf/NullPtr.h ++++ src/3rdparty/webkit/Source/JavaScriptCore/wtf/NullPtr.h +@@ -35,10 +35,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #define __has_feature(feature) 0 + #endif + +-#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION) ++#include <ciso646> ++ ++#if __has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL)) || defined(_LIBCPP_VERSION) + + #define HAVE_NULLPTR 1 + ++#include <cstddef> ++ + #else + + namespace std { +--- src/3rdparty/webkit/Source/WebCore/dom/XMLDocumentParserQt.cpp (revision 86528) ++++ src/3rdparty/webkit/Source/WebCore/dom/XMLDocumentParserQt.cpp (revision 86529) +@@ -215,7 +215,7 @@ + { + #if ENABLE(XSLT) + if (m_sawXSLTransform) { +- document()->setTransformSource(new TransformSource(m_originalSourceForTransform)); ++ document()->setTransformSource(adoptPtr(new TransformSource(m_originalSourceForTransform))); + document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets. + document()->styleSelectorChanged(RecalcStyleImmediately); + document()->setParsing(true); +--- src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h ++++ src/3rdparty/webkit/Source/WebCore/loader/icon/IconRecord.h +@@ -38,7 +38,7 @@ + #include <wtf/OwnPtr.h> + #include <wtf/text/StringHash.h> + +-#if OS(SOLARIS) ++#if OS(FREEBSD) || OS(SOLARIS) + #include <sys/types.h> // For time_t structure. + #endif + +--- src/3rdparty/webkit/Source/WebCore/page/Page.h ++++ src/3rdparty/webkit/Source/WebCore/page/Page.h +@@ -29,7 +29,7 @@ + #include <wtf/HashSet.h> + #include <wtf/Noncopyable.h> + +-#if OS(SOLARIS) ++#if OS(FREEBSD) || OS(SOLARIS) + #include <sys/time.h> // For time_t structure. + #endif + +--- src/3rdparty/webkit/Source/WebCore/platform/network/ResourceResponseBase.h ++++ src/3rdparty/webkit/Source/WebCore/platform/network/ResourceResponseBase.h +@@ -35,7 +35,7 @@ + #include <wtf/PassOwnPtr.h> + #include <wtf/RefPtr.h> + +-#if OS(SOLARIS) ++#if OS(FREEBSD) || OS(SOLARIS) + #include <sys/time.h> // For time_t structure. + #endif + +--- src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86529) ++++ src/3rdparty/webkit/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp (revision 86530) +@@ -285,7 +285,7 @@ + + Q_ASSERT(!m_sniffer); + +- m_sniffer = new QtMIMETypeSniffer(m_reply, m_advertisedMIMEType, isSupportedImageType); ++ m_sniffer = adoptPtr(new QtMIMETypeSniffer(m_reply, m_advertisedMIMEType, isSupportedImageType)); + + if (m_sniffer->isFinished()) { + receiveSniffedMIMEType(); +@@ -666,7 +666,7 @@ + if (!reply) + return; + +- m_replyWrapper = new QNetworkReplyWrapper(&m_queue, reply, m_resourceHandle->shouldContentSniff() && d->m_context->mimeSniffingEnabled(), this); ++ m_replyWrapper = adoptPtr(new QNetworkReplyWrapper(&m_queue, reply, m_resourceHandle->shouldContentSniff() && d->m_context->mimeSniffingEnabled(), this)); + + if (m_loadType == SynchronousLoad) { + m_replyWrapper->synchronousLoad(); +=================================================================== +--- src/3rdparty/webkit/Source/WebCore/platform/text/qt/TextCodecQt.cpp (revision 86530) ++++ src/3rdparty/webkit/Source/WebCore/platform/text/qt/TextCodecQt.cpp (revision 86531) +@@ -64,7 +64,7 @@ + + static PassOwnPtr<TextCodec> newTextCodecQt(const TextEncoding& encoding, const void*) + { +- return new TextCodecQt(encoding); ++ return adoptPtr(new TextCodecQt(encoding)); + } + + void TextCodecQt::registerCodecs(TextCodecRegistrar registrar) + +--- src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86532) ++++ src/3rdparty/webkit/Source/WebKit/qt/Api/qgraphicswebview.cpp (revision 86533) +@@ -504,7 +504,7 @@ + if (!d->page) + return; + +- d->page->d->client = new PageClientQGraphicsWidget(this, page); // set the page client ++ d->page->d->client = adoptPtr(new PageClientQGraphicsWidget(this, page)); + + if (d->overlay()) + d->overlay()->prepareGraphicsItemGeometryChange(); +--- src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp (revision 86532) ++++ src/3rdparty/webkit/Source/WebKit/qt/Api/qwebpage.cpp (revision 86550) +@@ -1319,7 +1319,7 @@ + void QWebPagePrivate::adjustPointForClicking(QGraphicsSceneMouseEvent* ev) + { + QtPlatformPlugin platformPlugin; +- QWebTouchModifier* touchModifier = platformPlugin.createTouchModifier(); ++ OwnPtr<QWebTouchModifier> touchModifier = platformPlugin.createTouchModifier(); + if (!touchModifier) + return; + +@@ -1328,8 +1328,7 @@ + unsigned bottomPadding = touchModifier->hitTestPaddingForTouch(QWebTouchModifier::Down); + unsigned leftPadding = touchModifier->hitTestPaddingForTouch(QWebTouchModifier::Left); + +- delete touchModifier; +- touchModifier = 0; ++ touchModifier = nullptr; + + if (!topPadding && !rightPadding && !bottomPadding && !leftPadding) + return; +@@ -2044,7 +2044,7 @@ + } + + if (view) +- d->client = new PageClientQWidget(view, this); ++ d->client = adoptPtr(new PageClientQWidget(view, this)); + } + + /*! +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h (revision 86550) +@@ -22,6 +22,8 @@ + + #include "PopupMenu.h" + #include <QObject> ++#include <wtf/OwnPtr.h> ++#include <wtf/PassOwnPtr.h> + + class QWebSelectData; + class QWebSelectMethod; +@@ -49,8 +51,8 @@ + + private: + PopupMenuClient* m_popupClient; +- QWebSelectMethod* m_popup; +- QWebSelectData* m_selectData; ++ OwnPtr<QWebSelectMethod> m_popup; ++ OwnPtr<QWebSelectData> m_selectData; + const ChromeClientQt* m_chromeClient; + }; + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h (revision 86550) +@@ -22,6 +22,7 @@ + #define QtPlatformPlugin_h + + #include <QPluginLoader> ++#include <wtf/PassOwnPtr.h> + + class QWebSelectMethod; + class QWebKitPlatformPlugin; +@@ -37,15 +38,20 @@ + + class QtPlatformPlugin { + public: +- QtPlatformPlugin() : m_loaded(false), m_plugin(0) {} ++ QtPlatformPlugin() ++ : m_loaded(false) ++ , m_plugin(0) ++ { ++ } ++ + ~QtPlatformPlugin(); + +- QWebSelectMethod* createSelectInputMethod(); +- QWebNotificationPresenter* createNotificationPresenter(); +- QWebHapticFeedbackPlayer* createHapticFeedbackPlayer(); +- QWebTouchModifier* createTouchModifier(); ++ PassOwnPtr<QWebSelectMethod> createSelectInputMethod(); ++ PassOwnPtr<QWebNotificationPresenter> createNotificationPresenter(); ++ PassOwnPtr<QWebHapticFeedbackPlayer> createHapticFeedbackPlayer(); ++ PassOwnPtr<QWebTouchModifier> createTouchModifier(); + #if ENABLE(VIDEO) && USE(QT_MULTIMEDIA) +- QWebFullScreenVideoHandler* createFullScreenVideoHandler(); ++ PassOwnPtr<QWebFullScreenVideoHandler> createFullScreenVideoHandler(); + #endif + + QWebKitPlatformPlugin* plugin(); +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp (revision 86550) +@@ -696,18 +696,18 @@ + } + #endif + +-QWebSelectMethod* ChromeClientQt::createSelectPopup() const ++PassOwnPtr<QWebSelectMethod> ChromeClientQt::createSelectPopup() const + { +- QWebSelectMethod* result = m_platformPlugin.createSelectInputMethod(); ++ OwnPtr<QWebSelectMethod> result = m_platformPlugin.createSelectInputMethod(); + if (result) +- return result; ++ return result.release(); + + #if defined(Q_WS_MAEMO_5) +- return new QtMaemoWebPopup; ++ return adoptPtr(new QtMaemoWebPopup); + #elif !defined(QT_NO_COMBOBOX) +- return new QtFallbackWebPopup(this); ++ return adoptPtr(new QtFallbackWebPopup(this)); + #else +- return 0; ++ return nullptr; + #endif + } + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp (revision 86550) +@@ -82,8 +82,6 @@ + + PopupMenuQt::PopupMenuQt(PopupMenuClient* client, const ChromeClientQt* chromeClient) + : m_popupClient(client) +- , m_popup(0) +- , m_selectData(0) + , m_chromeClient(chromeClient) + { + } +@@ -90,8 +88,6 @@ + + PopupMenuQt::~PopupMenuQt() + { +- delete m_selectData; +- delete m_popup; + } + + void PopupMenuQt::disconnectClient() +@@ -107,11 +103,11 @@ + + if (!m_popup) { + m_popup = m_chromeClient->createSelectPopup(); +- connect(m_popup, SIGNAL(didHide()), this, SLOT(didHide())); +- connect(m_popup, SIGNAL(selectItem(int, bool, bool)), this, SLOT(selectItem(int, bool, bool))); ++ connect(m_popup.get(), SIGNAL(didHide()), this, SLOT(didHide())); ++ connect(m_popup.get(), SIGNAL(selectItem(int, bool, bool)), this, SLOT(selectItem(int, bool, bool))); + } + +- if (QtFallbackWebPopup* fallback = qobject_cast<QtFallbackWebPopup*>(m_popup)) { ++ if (QtFallbackWebPopup* fallback = qobject_cast<QtFallbackWebPopup*>(m_popup.get())) { + QRect geometry(rect); + geometry.moveTopLeft(view->contentsToWindow(rect.location())); + fallback->setGeometry(geometry); +@@ -118,10 +114,8 @@ + fallback->setFont(m_popupClient->menuStyle().font().font()); + } + +- if (m_selectData) +- delete m_selectData; +- m_selectData = new SelectData(m_popupClient); +- m_popup->show(*m_selectData); ++ m_selectData = adoptPtr(new SelectData(m_popupClient)); ++ m_popup->show(*m_selectData.get()); + #endif + } + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp (revision 86550) +@@ -136,7 +136,7 @@ + Q_ASSERT(m_chromeClient); + + #if USE(QT_MULTIMEDIA) +- m_FullScreenVideoHandler = m_chromeClient->m_platformPlugin.createFullScreenVideoHandler(); ++ m_FullScreenVideoHandler = m_chromeClient->m_platformPlugin.createFullScreenVideoHandler().leakPtr(); + if (!m_FullScreenVideoHandler) + m_FullScreenVideoHandler = new DefaultFullScreenVideoHandler; + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp (revision 86550) +@@ -102,36 +102,35 @@ + return m_plugin; + } + +-QWebSelectMethod* QtPlatformPlugin::createSelectInputMethod() ++PassOwnPtr<QWebSelectMethod> QtPlatformPlugin::createSelectInputMethod() + { + QWebKitPlatformPlugin* p = plugin(); +- return p ? static_cast<QWebSelectMethod*>(p->createExtension(QWebKitPlatformPlugin::MultipleSelections)) : 0; ++ return adoptPtr(p ? static_cast<QWebSelectMethod*>(p->createExtension(QWebKitPlatformPlugin::MultipleSelections)) : 0); + } + +- +-QWebNotificationPresenter* QtPlatformPlugin::createNotificationPresenter() ++PassOwnPtr<QWebNotificationPresenter> QtPlatformPlugin::createNotificationPresenter() + { + QWebKitPlatformPlugin* p = plugin(); +- return p ? static_cast<QWebNotificationPresenter*>(p->createExtension(QWebKitPlatformPlugin::Notifications)) : 0; ++ return adoptPtr(p ? static_cast<QWebNotificationPresenter*>(p->createExtension(QWebKitPlatformPlugin::Notifications)) : 0); + } + +-QWebHapticFeedbackPlayer* QtPlatformPlugin::createHapticFeedbackPlayer() ++PassOwnPtr<QWebHapticFeedbackPlayer> QtPlatformPlugin::createHapticFeedbackPlayer() + { + QWebKitPlatformPlugin* p = plugin(); +- return p ? static_cast<QWebHapticFeedbackPlayer*>(p->createExtension(QWebKitPlatformPlugin::Haptics)) : 0; ++ return adoptPtr(p ? static_cast<QWebHapticFeedbackPlayer*>(p->createExtension(QWebKitPlatformPlugin::Haptics)) : 0); + } + +-QWebTouchModifier* QtPlatformPlugin::createTouchModifier() ++PassOwnPtr<QWebTouchModifier> QtPlatformPlugin::createTouchModifier() + { + QWebKitPlatformPlugin* p = plugin(); +- return p ? static_cast<QWebTouchModifier*>(p->createExtension(QWebKitPlatformPlugin::TouchInteraction)) : 0; ++ return adoptPtr(p ? static_cast<QWebTouchModifier*>(p->createExtension(QWebKitPlatformPlugin::TouchInteraction)) : 0); + } + + #if ENABLE(VIDEO) && USE(QT_MULTIMEDIA) +-QWebFullScreenVideoHandler* QtPlatformPlugin::createFullScreenVideoHandler() ++PassOwnPtr<QWebFullScreenVideoHandler> QtPlatformPlugin::createFullScreenVideoHandler() + { + QWebKitPlatformPlugin* p = plugin(); +- return p ? static_cast<QWebFullScreenVideoHandler*>(p->createExtension(QWebKitPlatformPlugin::FullScreenVideoPlayer)) : 0; ++ return adoptPtr(p ? static_cast<QWebFullScreenVideoHandler*>(p->createExtension(QWebKitPlatformPlugin::FullScreenVideoPlayer)) : 0); + } + #endif + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp (revision 86550) +@@ -203,8 +203,9 @@ + void InspectorClientQt::openInspectorFrontend(WebCore::InspectorController* inspectorController) + { + #if ENABLE(INSPECTOR) +- QWebView* inspectorView = new QWebView; +- InspectorClientWebPage* inspectorPage = new InspectorClientWebPage(inspectorView); ++ OwnPtr<QWebView> inspectorView = adoptPtr(new QWebView); ++ // FIXME: Where does inspectorPage get deleted? ++ InspectorClientWebPage* inspectorPage = new InspectorClientWebPage(inspectorView.get()); + inspectorView->setPage(inspectorPage); + + QWebInspector* inspector = m_inspectedWebPage->d->getOrCreateInspector(); +@@ -229,11 +230,14 @@ + inspectorPage->setProperty("_q_inspectorJavaScriptWindowObjects", inspectorJavaScriptWindowObjects); + #endif + inspectorView->page()->mainFrame()->load(inspectorUrl); +- m_inspectedWebPage->d->inspectorFrontend = inspectorView; +- inspector->d->setFrontend(inspectorView); ++ m_inspectedWebPage->d->inspectorFrontend = inspectorView.get(); ++ inspector->d->setFrontend(inspectorView.get()); + +- m_frontendClient = new InspectorFrontendClientQt(m_inspectedWebPage, inspectorView, this); +- inspectorView->page()->d->page->inspectorController()->setInspectorFrontendClient(m_frontendClient); ++ // Is 'controller' the same object as 'inspectorController' (which appears to be unused)? ++ InspectorController* controller = inspectorView->page()->d->page->inspectorController(); ++ OwnPtr<InspectorFrontendClientQt> frontendClient = adoptPtr(new InspectorFrontendClientQt(m_inspectedWebPage, inspectorView.release(), this)); ++ m_frontendClient = frontendClient.get(); ++ controller->setInspectorFrontendClient(frontendClient.release()); + m_frontendWebPage = inspectorPage; + #endif + } +@@ -297,7 +301,7 @@ + + #if ENABLE(INSPECTOR) + InspectorFrontendClientQt::InspectorFrontendClientQt(QWebPage* inspectedWebPage, PassOwnPtr<QWebView> inspectorView, InspectorClientQt* inspectorClient) +- : InspectorFrontendClientLocal(inspectedWebPage->d->page->inspectorController(), inspectorView->page()->d->page, new InspectorFrontendSettingsQt()) ++ : InspectorFrontendClientLocal(inspectedWebPage->d->page->inspectorController(), inspectorView->page()->d->page, adoptPtr(new InspectorFrontendSettingsQt())) + , m_inspectedWebPage(inspectedWebPage) + , m_inspectorView(inspectorView) + , m_destroyingInspectorView(false) +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp (revision 86550) +@@ -211,9 +211,9 @@ + QPixmap pixmap; + if (bytes.length() && pixmap.loadFromData(bytes)) { + QIcon icon(pixmap); +- wrapper->m_notificationIcon = new QSystemTrayIcon(icon); ++ wrapper->m_notificationIcon = adoptPtr(new QSystemTrayIcon(icon)); + } else +- wrapper->m_notificationIcon = new QSystemTrayIcon(); ++ wrapper->m_notificationIcon = adoptPtr(new QSystemTrayIcon()); + #endif + } + +--- src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h (revision 86536) ++++ src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h (revision 86550) +@@ -34,6 +34,7 @@ + #include "KURL.h" + #include "PlatformString.h" + #include "QtPlatformPlugin.h" ++#include <wtf/PassOwnPtr.h> + #include <wtf/RefCounted.h> + + QT_BEGIN_NAMESPACE +@@ -189,7 +190,7 @@ + virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const; + virtual void populateVisitedLinks(); + +- QWebSelectMethod* createSelectPopup() const; ++ PassOwnPtr<QWebSelectMethod> createSelectPopup() const; + + virtual void dispatchViewportDataDidChange(const ViewportArguments&) const; + +--- src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp (revision 86536) ++++ src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp (revision 86550) +@@ -950,7 +950,7 @@ bool PluginView::platformStart() + + #if USE(ACCELERATED_COMPOSITING) && !USE(TEXTURE_MAPPER) + if (shouldUseAcceleratedCompositing()) { +- m_platformLayer = new PluginGraphicsLayerQt(this); ++ m_platformLayer = adoptPtr(new PluginGraphicsLayerQt(this)); + // Trigger layer computation in RenderLayerCompositor + m_element->setNeedsStyleRecalc(SyntheticStyleChange); + } |