diff options
Diffstat (limited to 'WebCore/platform/qt')
-rw-r--r-- | WebCore/platform/qt/ClipboardQt.cpp | 4 | ||||
-rw-r--r-- | WebCore/platform/qt/ContextMenuQt.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/qt/CookieJarQt.cpp | 15 | ||||
-rw-r--r-- | WebCore/platform/qt/DragDataQt.cpp | 4 | ||||
-rw-r--r-- | WebCore/platform/qt/FileSystemQt.cpp | 6 | ||||
-rw-r--r-- | WebCore/platform/qt/Localizations.cpp | 106 | ||||
-rw-r--r-- | WebCore/platform/qt/PasteboardQt.cpp | 12 | ||||
-rw-r--r-- | WebCore/platform/qt/PlatformKeyboardEventQt.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/qt/PlatformMouseEventQt.cpp | 37 | ||||
-rw-r--r-- | WebCore/platform/qt/PlatformScreenQt.cpp | 36 | ||||
-rw-r--r-- | WebCore/platform/qt/PopupMenuQt.cpp | 7 | ||||
-rw-r--r-- | WebCore/platform/qt/QWebPageClient.h | 72 | ||||
-rw-r--r-- | WebCore/platform/qt/QWebPopup.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/qt/RenderThemeQt.cpp | 24 | ||||
-rw-r--r-- | WebCore/platform/qt/ScrollViewQt.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/qt/SearchPopupMenuQt.cpp | 4 | ||||
-rw-r--r-- | WebCore/platform/qt/TemporaryLinkStubs.cpp | 7 | ||||
-rw-r--r-- | WebCore/platform/qt/WheelEventQt.cpp | 55 | ||||
-rw-r--r-- | WebCore/platform/qt/WidgetQt.cpp | 16 |
19 files changed, 340 insertions, 73 deletions
diff --git a/WebCore/platform/qt/ClipboardQt.cpp b/WebCore/platform/qt/ClipboardQt.cpp index 666ad18..9d2c452 100644 --- a/WebCore/platform/qt/ClipboardQt.cpp +++ b/WebCore/platform/qt/ClipboardQt.cpp @@ -239,8 +239,6 @@ static CachedImage* getCachedImage(Element* element) void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, const String& title, Frame* frame) { ASSERT(frame); - Q_UNUSED(url); - Q_UNUSED(title); //WebCore::writeURL(m_writableDataObject.get(), url, title, true, false); if (!m_writableData) @@ -262,8 +260,10 @@ void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, co return; QList<QUrl> urls; + urls.append(url); urls.append(fullURL); + m_writableData->setText(title); m_writableData->setUrls(urls); #ifndef QT_NO_CLIPBOARD if (!isForDragging()) diff --git a/WebCore/platform/qt/ContextMenuQt.cpp b/WebCore/platform/qt/ContextMenuQt.cpp index 063a46b..9b1a054 100644 --- a/WebCore/platform/qt/ContextMenuQt.cpp +++ b/WebCore/platform/qt/ContextMenuQt.cpp @@ -61,7 +61,7 @@ void ContextMenu::insertItem(unsigned position, ContextMenuItem& item) m_items.insert(position, item); } -void ContextMenu::setPlatformDescription(PlatformMenuDescription menu) +void ContextMenu::setPlatformDescription(PlatformMenuDescription) { // doesn't make sense } diff --git a/WebCore/platform/qt/CookieJarQt.cpp b/WebCore/platform/qt/CookieJarQt.cpp index 40d9309..a27a06e 100644 --- a/WebCore/platform/qt/CookieJarQt.cpp +++ b/WebCore/platform/qt/CookieJarQt.cpp @@ -28,6 +28,7 @@ #include "config.h" #include "CookieJar.h" +#include "Cookie.h" #include "Document.h" #include "KURL.h" #include "PlatformString.h" @@ -47,6 +48,8 @@ namespace WebCore { #if QT_VERSION >= 0x040400 static QNetworkCookieJar *cookieJar(const Document *document) { + if (!document) + return 0; Frame *frame = document->frame(); if (!frame) return 0; @@ -128,6 +131,18 @@ bool cookiesEnabled(const Document* document) #endif } +bool getRawCookies(const Document*, const KURL&, Vector<Cookie>& rawCookies) +{ + // FIXME: Not yet implemented + rawCookies.clear(); + return false; // return true when implemented +} + +void deleteCookie(const Document*, const KURL&, const String&) +{ + // FIXME: Not yet implemented +} + } // vim: ts=4 sw=4 et diff --git a/WebCore/platform/qt/DragDataQt.cpp b/WebCore/platform/qt/DragDataQt.cpp index 7b1eff8..b0611e6 100644 --- a/WebCore/platform/qt/DragDataQt.cpp +++ b/WebCore/platform/qt/DragDataQt.cpp @@ -119,7 +119,7 @@ bool DragData::containsURL() const return m_platformDragData->hasUrls(); } -String DragData::asURL(String* title) const +String DragData::asURL(String*) const { if (!m_platformDragData) return String(); @@ -128,7 +128,7 @@ String DragData::asURL(String* title) const if (urls.isEmpty()) return String(); - return urls.first().toString(); + return encodeWithURLEscapeSequences(urls.first().toString()); } PassRefPtr<DocumentFragment> DragData::asFragment(Document* doc) const diff --git a/WebCore/platform/qt/FileSystemQt.cpp b/WebCore/platform/qt/FileSystemQt.cpp index 28d3ca7..4093fad 100644 --- a/WebCore/platform/qt/FileSystemQt.cpp +++ b/WebCore/platform/qt/FileSystemQt.cpp @@ -81,7 +81,7 @@ bool makeAllDirectories(const String& path) String pathByAppendingComponent(const String& path, const String& component) { - return QDir(path).filePath(component); + return QDir::toNativeSeparators(QDir(path).filePath(component)); } String homeDirectoryPath() @@ -117,7 +117,9 @@ Vector<String> listDirectory(const String& path, const String& filter) CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle) { - QFile *temp = new QTemporaryFile(QLatin1String(prefix)); + QTemporaryFile* tempFile = new QTemporaryFile(QLatin1String(prefix)); + tempFile->setAutoRemove(false); + QFile* temp = tempFile; if (temp->open(QIODevice::ReadWrite)) { handle = temp; return String(temp->fileName()).utf8(); diff --git a/WebCore/platform/qt/Localizations.cpp b/WebCore/platform/qt/Localizations.cpp index d1853fc..77cac57 100644 --- a/WebCore/platform/qt/Localizations.cpp +++ b/WebCore/platform/qt/Localizations.cpp @@ -362,5 +362,111 @@ String mediaElementLiveBroadcastStateText() return QCoreApplication::translate("QWebPage", "Live Broadcast", "Media controller status message when watching a live broadcast"); } +#if ENABLE(VIDEO) + +String localizedMediaControlElementString(const String& name) +{ + if (name == "AudioElement") + return QCoreApplication::translate("QWebPage", "Audio Element", "Media controller element"); + if (name == "VideoElement") + return QCoreApplication::translate("QWebPage", "Video Element", "Media controller element"); + if (name == "MuteButton") + return QCoreApplication::translate("QWebPage", "Mute Button", "Media controller element"); + if (name == "UnMuteButton") + return QCoreApplication::translate("QWebPage", "Unmute Button", "Media controller element"); + if (name == "PlayButton") + return QCoreApplication::translate("QWebPage", "Play Button", "Media controller element"); + if (name == "PauseButton") + return QCoreApplication::translate("QWebPage", "Pause Button", "Media controller element"); + if (name == "Slider") + return QCoreApplication::translate("QWebPage", "Slider", "Media controller element"); + if (name == "SliderThumb") + return QCoreApplication::translate("QWebPage", "Slider Thumb", "Media controller element"); + if (name == "RewindButton") + return QCoreApplication::translate("QWebPage", "Rewind Button", "Media controller element"); + if (name == "ReturnToRealtimeButton") + return QCoreApplication::translate("QWebPage", "Return to Real-time Button", "Media controller element"); + if (name == "CurrentTimeDisplay") + return QCoreApplication::translate("QWebPage", "Elapsed Time", "Media controller element"); + if (name == "TimeRemainingDisplay") + return QCoreApplication::translate("QWebPage", "Remaining Time", "Media controller element"); + if (name == "StatusDisplay") + return QCoreApplication::translate("QWebPage", "Status Display", "Media controller element"); + if (name == "FullscreenButton") + return QCoreApplication::translate("QWebPage", "Fullscreen Button", "Media controller element"); + if (name == "SeekForwardButton") + return QCoreApplication::translate("QWebPage", "Seek Forward Button", "Media controller element"); + if (name == "SeekBackButton") + return QCoreApplication::translate("QWebPage", "Seek Back Button", "Media controller element"); + + return String(); +} + +String localizedMediaControlElementHelpText(const String& name) +{ + if (name == "AudioElement") + return QCoreApplication::translate("QWebPage", "Audio element playback controls and status display", "Media controller element"); + if (name == "VideoElement") + return QCoreApplication::translate("QWebPage", "Video element playback controls and status display", "Media controller element"); + if (name == "MuteButton") + return QCoreApplication::translate("QWebPage", "Mute audio tracks", "Media controller element"); + if (name == "UnMuteButton") + return QCoreApplication::translate("QWebPage", "Unmute audio tracks", "Media controller element"); + if (name == "PlayButton") + return QCoreApplication::translate("QWebPage", "Begin playback", "Media controller element"); + if (name == "PauseButton") + return QCoreApplication::translate("QWebPage", "Pause playback", "Media controller element"); + if (name == "Slider") + return QCoreApplication::translate("QWebPage", "Movie time scrubber", "Media controller element"); + if (name == "SliderThumb") + return QCoreApplication::translate("QWebPage", "Movie time scrubber thumb", "Media controller element"); + if (name == "RewindButton") + return QCoreApplication::translate("QWebPage", "Rewind movie", "Media controller element"); + if (name == "ReturnToRealtimeButton") + return QCoreApplication::translate("QWebPage", "Return streaming movie to real-time", "Media controller element"); + if (name == "CurrentTimeDisplay") + return QCoreApplication::translate("QWebPage", "Current movie time", "Media controller element"); + if (name == "TimeRemainingDisplay") + 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") + return QCoreApplication::translate("QWebPage", "Play movie in full-screen mode", "Media controller element"); + if (name == "SeekForwardButton") + return QCoreApplication::translate("QWebPage", "Seek quickly back", "Media controller element"); + if (name == "SeekBackButton") + return QCoreApplication::translate("QWebPage", "Seek quickly forward", "Media controller element"); + + ASSERT_NOT_REACHED(); + return String(); +} + +String localizedMediaTimeDescription(float time) +{ + if (!isfinite(time)) + return QCoreApplication::translate("QWebPage", "Indefinite time", "Media time description"); + + int seconds = (int)fabsf(time); + int days = seconds / (60 * 60 * 24); + int hours = seconds / (60 * 60); + int minutes = (seconds / 60) % 60; + seconds %= 60; + + if (days) { + return QCoreApplication::translate("QWebPage", "%1 days %2 hours %3 minutes %4 seconds", "Media time description").arg(days).arg(hours).arg(minutes).arg(seconds); + } + + if (hours) { + return QCoreApplication::translate("QWebPage", "%1 hours %2 minutes %3 seconds", "Media time description").arg(hours).arg(minutes).arg(seconds); + } + + if (minutes) { + return QCoreApplication::translate("QWebPage", "%1 minutes %2 seconds", "Media time description").arg(minutes).arg(seconds); + } + + return QCoreApplication::translate("QWebPage", "%1 seconds", "Media time description").arg(seconds); +} +#endif // ENABLE(VIDEO) + } // vim: ts=4 sw=4 et diff --git a/WebCore/platform/qt/PasteboardQt.cpp b/WebCore/platform/qt/PasteboardQt.cpp index 969de62..209a573 100644 --- a/WebCore/platform/qt/PasteboardQt.cpp +++ b/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/WebCore/platform/qt/PlatformKeyboardEventQt.cpp b/WebCore/platform/qt/PlatformKeyboardEventQt.cpp index 935882a..37ea681 100644 --- a/WebCore/platform/qt/PlatformKeyboardEventQt.cpp +++ b/WebCore/platform/qt/PlatformKeyboardEventQt.cpp @@ -217,7 +217,7 @@ static int windowsKeyCodeForKeyEvent(unsigned int keycode, bool isKeypad = false case Qt::Key_F9: return VK_F9; case Qt::Key_F10: - return VK_F11; + return VK_F10; case Qt::Key_F11: return VK_F11; case Qt::Key_F12: diff --git a/WebCore/platform/qt/PlatformMouseEventQt.cpp b/WebCore/platform/qt/PlatformMouseEventQt.cpp index 6c1d82d..e486e68 100644 --- a/WebCore/platform/qt/PlatformMouseEventQt.cpp +++ b/WebCore/platform/qt/PlatformMouseEventQt.cpp @@ -31,9 +31,46 @@ #include <wtf/CurrentTime.h> #include <QMouseEvent> +#include <QGraphicsSceneMouseEvent> namespace WebCore { +PlatformMouseEvent::PlatformMouseEvent(QGraphicsSceneMouseEvent* event, int clickCount) +{ + m_timestamp = WTF::currentTime(); + + switch (event->type()) { + case QEvent::GraphicsSceneMouseDoubleClick: + case QEvent::GraphicsSceneMousePress: + m_eventType = MouseEventPressed; + break; + case QEvent::GraphicsSceneMouseRelease: + m_eventType = MouseEventReleased; + break; + case QEvent::GraphicsSceneMouseMove: + default: + m_eventType = MouseEventMoved; + } + + m_position = IntPoint(event->pos().toPoint()); + m_globalPosition = IntPoint(event->screenPos()); + + if (event->button() == Qt::LeftButton || (event->buttons() & Qt::LeftButton)) + m_button = LeftButton; + else if (event->button() == Qt::RightButton || (event->buttons() & Qt::RightButton)) + m_button = RightButton; + else if (event->button() == Qt::MidButton || (event->buttons() & Qt::MidButton)) + m_button = MiddleButton; + else + m_button = NoButton; + + m_clickCount = clickCount; + m_shiftKey = (event->modifiers() & Qt::ShiftModifier) != 0; + m_ctrlKey = (event->modifiers() & Qt::ControlModifier) != 0; + m_altKey = (event->modifiers() & Qt::AltModifier) != 0; + m_metaKey = (event->modifiers() & Qt::MetaModifier) != 0; +} + PlatformMouseEvent::PlatformMouseEvent(QInputEvent* event, int clickCount) { m_timestamp = WTF::currentTime(); diff --git a/WebCore/platform/qt/PlatformScreenQt.cpp b/WebCore/platform/qt/PlatformScreenQt.cpp index 5dc0963..7ba8350 100644 --- a/WebCore/platform/qt/PlatformScreenQt.cpp +++ b/WebCore/platform/qt/PlatformScreenQt.cpp @@ -36,42 +36,54 @@ #include "FrameView.h" #include "HostWindow.h" #include "Widget.h" +#include "QWebPageClient.h" #include <QApplication> #include <QDesktopWidget> namespace WebCore { +static int screenNumber(Widget* w) +{ + if (!w) + return 0; + + QWebPageClient* client = w->root()->hostWindow()->platformPageClient(); + return client ? client->screenNumber() : 0; +} + int screenDepth(Widget* w) { - QDesktopWidget* d = QApplication::desktop(); - QWidget *view = w ? w->root()->hostWindow()->platformWindow() : 0; - int screenNumber = view ? d->screenNumber(view) : 0; - return d->screen(screenNumber)->depth(); + return QApplication::desktop()->screen(screenNumber(w))->depth(); } int screenDepthPerComponent(Widget* w) { - QWidget *view = w ? w->root()->hostWindow()->platformWindow() : 0; - return view ? view->depth() : QApplication::desktop()->screen(0)->depth(); + if (w) { + QWebPageClient* client = w->root()->hostWindow()->platformPageClient(); + + if (client) { + QWidget* view = QWidget::find(client->winId()); + if (view) + return view->depth(); + } + } + return QApplication::desktop()->screen(0)->depth(); } bool screenIsMonochrome(Widget* w) { - QDesktopWidget* d = QApplication::desktop(); - QWidget *view = w ? w->root()->hostWindow()->platformWindow(): 0; - int screenNumber = view ? d->screenNumber(view) : 0; - return d->screen(screenNumber)->numColors() < 2; + return QApplication::desktop()->screen(screenNumber(w))->numColors() < 2; } FloatRect screenRect(Widget* w) { - QRect r = QApplication::desktop()->screenGeometry(w ? w->root()->hostWindow()->platformWindow(): 0); + QRect r = QApplication::desktop()->screenGeometry(screenNumber(w)); return FloatRect(r.x(), r.y(), r.width(), r.height()); } FloatRect screenAvailableRect(Widget* w) { - QRect r = QApplication::desktop()->availableGeometry(w ? w->root()->hostWindow()->platformWindow(): 0); + QRect r = QApplication::desktop()->availableGeometry(screenNumber(w)); return FloatRect(r.x(), r.y(), r.width(), r.height()); } diff --git a/WebCore/platform/qt/PopupMenuQt.cpp b/WebCore/platform/qt/PopupMenuQt.cpp index 11dfe41..b44f2ec 100644 --- a/WebCore/platform/qt/PopupMenuQt.cpp +++ b/WebCore/platform/qt/PopupMenuQt.cpp @@ -30,6 +30,7 @@ #include "FrameView.h" #include "HostWindow.h" #include "PopupMenuClient.h" +#include "QWebPageClient.h" #include "QWebPopup.h" #include <QAction> @@ -59,7 +60,7 @@ void PopupMenu::clear() m_popup->clear(); } -void PopupMenu::populate(const IntRect& r) +void PopupMenu::populate(const IntRect&) { clear(); Q_ASSERT(client()); @@ -85,13 +86,13 @@ void PopupMenu::populate(const IntRect& r) void PopupMenu::show(const IntRect& r, FrameView* v, int index) { - QWidget* window = v->hostWindow()->platformWindow(); + QWebPageClient* client = v->hostWindow()->platformPageClient(); populate(r); QRect rect = r; rect.moveTopLeft(v->contentsToWindow(r.topLeft())); rect.setHeight(m_popup->sizeHint().height()); - m_popup->setParent(window); + m_popup->setParent(QWidget::find(client->winId())); m_popup->setGeometry(rect); m_popup->setCurrentIndex(index); m_popup->exec(); diff --git a/WebCore/platform/qt/QWebPageClient.h b/WebCore/platform/qt/QWebPageClient.h new file mode 100644 index 0000000..09f7886 --- /dev/null +++ b/WebCore/platform/qt/QWebPageClient.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) + * + * 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 QWebPageClient_h +#define QWebPageClient_h + +#include <QRect> + +class QWebPageClient { +public: + virtual void scroll(int dx, int dy, const QRect&) = 0; + virtual void update(const QRect&) = 0; + + inline void resetCursor() + { +#ifndef QT_NO_CURSOR + if (!cursor().bitmap() && cursor().shape() == m_lastCursor.shape()) + return; + updateCursor(m_lastCursor); +#endif + } + + inline void setCursor(const QCursor& cursor) + { +#ifndef QT_NO_CURSOR + m_lastCursor = cursor; + if (!cursor.bitmap() && cursor.shape() == this->cursor().shape()) + return; + updateCursor(cursor); +#endif + } + + virtual int screenNumber() const = 0; + virtual WId winId() const = 0; + + virtual QObject* pluginParent() const = 0; + +protected: +#ifndef QT_NO_CURSOR + virtual QCursor cursor() const = 0; + virtual void updateCursor(const QCursor& cursor) = 0; +#endif + +private: +#ifndef QT_NO_CURSOR + QCursor m_lastCursor; +#endif +}; + +#endif diff --git a/WebCore/platform/qt/QWebPopup.cpp b/WebCore/platform/qt/QWebPopup.cpp index f437c27..d077079 100644 --- a/WebCore/platform/qt/QWebPopup.cpp +++ b/WebCore/platform/qt/QWebPopup.cpp @@ -71,7 +71,7 @@ void QWebPopup::hidePopup() return; m_popupVisible = false; - m_client->hidePopup(); + m_client->popupDidHide(); } void QWebPopup::activeChanged(int index) diff --git a/WebCore/platform/qt/RenderThemeQt.cpp b/WebCore/platform/qt/RenderThemeQt.cpp index 3fe67b2..b61d356 100644 --- a/WebCore/platform/qt/RenderThemeQt.cpp +++ b/WebCore/platform/qt/RenderThemeQt.cpp @@ -44,6 +44,7 @@ #include "Page.h" #include "RenderBox.h" #include "RenderTheme.h" +#include "UserAgentStyleSheets.h" #include "qwebpage.h" #include <QApplication> @@ -172,7 +173,7 @@ bool RenderThemeQt::supportsHover(const RenderStyle*) const return true; } -bool RenderThemeQt::supportsFocusRing(const RenderStyle* style) const +bool RenderThemeQt::supportsFocusRing(const RenderStyle*) const { return true; // Qt provides this through the style } @@ -274,7 +275,7 @@ Color RenderThemeQt::platformInactiveSelectionForegroundColor() const return pal.brush(QPalette::Inactive, QPalette::HighlightedText).color(); } -void RenderThemeQt::systemFont(int propId, FontDescription& fontDescription) const +void RenderThemeQt::systemFont(int, FontDescription&) const { // no-op } @@ -387,7 +388,7 @@ bool RenderThemeQt::paintRadio(RenderObject* o, const RenderObject::PaintInfo& i return paintButton(o, i, r); } -void RenderThemeQt::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element* e) const +void RenderThemeQt::adjustButtonStyle(CSSStyleSelector* selector, RenderStyle* style, Element*) const { // Ditch the border. style->resetBorder(); @@ -572,7 +573,7 @@ bool RenderThemeQt::paintMenuList(RenderObject* o, const RenderObject::PaintInfo QStyleOptionComboBox opt; if (p.widget) opt.initFrom(p.widget); - ControlPart appearance = applyTheme(opt, o); + applyTheme(opt, o); const QPoint topLeft = r.topLeft(); p.painter->translate(topLeft); @@ -584,8 +585,7 @@ bool RenderThemeQt::paintMenuList(RenderObject* o, const RenderObject::PaintInfo return false; } -void RenderThemeQt::adjustMenuListButtonStyle(CSSStyleSelector* selector, RenderStyle* style, - Element* e) const +void RenderThemeQt::adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle* style, Element*) const { // WORKAROUND because html.css specifies -webkit-border-radius for <select> so we override it here // see also http://bugs.webkit.org/show_bug.cgi?id=18399 @@ -772,13 +772,7 @@ ControlPart RenderThemeQt::applyTheme(QStyleOption& option, RenderObject* o) con String RenderThemeQt::extraMediaControlsStyleSheet() { - QFile platformStyleSheet(QLatin1String(":/webcore/css/mediaControls-extras.css")); - if (platformStyleSheet.open(QFile::ReadOnly)) { - QByteArray sheetData = platformStyleSheet.readAll(); - return QString::fromUtf8(sheetData.constData(), sheetData.length()); - } - - return String(); + return String(mediaControlsQtUserAgentStyleSheet, sizeof(mediaControlsQtUserAgentStyleSheet)); } // Helper class to transform the painter's world matrix to the object's content area, scaled to 0,0,100,100 @@ -887,13 +881,13 @@ bool RenderThemeQt::paintMediaPlayButton(RenderObject* o, const RenderObject::Pa return false; } -bool RenderThemeQt::paintMediaSeekBackButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r) +bool RenderThemeQt::paintMediaSeekBackButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { // We don't want to paint this at the moment. return false; } -bool RenderThemeQt::paintMediaSeekForwardButton(RenderObject* o, const RenderObject::PaintInfo& paintInfo, const IntRect& r) +bool RenderThemeQt::paintMediaSeekForwardButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { // We don't want to paint this at the moment. return false; diff --git a/WebCore/platform/qt/ScrollViewQt.cpp b/WebCore/platform/qt/ScrollViewQt.cpp index 48885d3..ccbd751 100644 --- a/WebCore/platform/qt/ScrollViewQt.cpp +++ b/WebCore/platform/qt/ScrollViewQt.cpp @@ -53,7 +53,7 @@ void ScrollView::adjustWidgetsPreventingBlittingCount(int delta) parent()->adjustWidgetsPreventingBlittingCount(delta); } -void ScrollView::platformAddChild(Widget* child) +void ScrollView::platformAddChild(Widget*) { adjustWidgetsPreventingBlittingCount(1); } diff --git a/WebCore/platform/qt/SearchPopupMenuQt.cpp b/WebCore/platform/qt/SearchPopupMenuQt.cpp index 7822b2c..187a5de 100644 --- a/WebCore/platform/qt/SearchPopupMenuQt.cpp +++ b/WebCore/platform/qt/SearchPopupMenuQt.cpp @@ -29,11 +29,11 @@ SearchPopupMenu::SearchPopupMenu(PopupMenuClient* client) { } -void SearchPopupMenu::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems) +void SearchPopupMenu::saveRecentSearches(const AtomicString&, const Vector<String>&) { } -void SearchPopupMenu::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems) +void SearchPopupMenu::loadRecentSearches(const AtomicString&, Vector<String>&) { } diff --git a/WebCore/platform/qt/TemporaryLinkStubs.cpp b/WebCore/platform/qt/TemporaryLinkStubs.cpp index 8ef598f..814f961 100644 --- a/WebCore/platform/qt/TemporaryLinkStubs.cpp +++ b/WebCore/platform/qt/TemporaryLinkStubs.cpp @@ -100,7 +100,7 @@ void getSupportedKeySizes(Vector<String>&) notImplemented(); } -String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String &challengeString, const KURL &url) +String signedPublicKeyAndChallengeString(unsigned, const String&, const KURL&) { return String(); } @@ -114,11 +114,6 @@ float userIdleTime() } #endif -void prefetchDNS(const String& hostname) -{ - notImplemented(); -} - } // vim: ts=4 sw=4 et diff --git a/WebCore/platform/qt/WheelEventQt.cpp b/WebCore/platform/qt/WheelEventQt.cpp index 9534f20..66118e1 100644 --- a/WebCore/platform/qt/WheelEventQt.cpp +++ b/WebCore/platform/qt/WheelEventQt.cpp @@ -25,9 +25,48 @@ #include <qapplication.h> #include <QWheelEvent> +#include <QGraphicsSceneWheelEvent> namespace WebCore { +void PlatformWheelEvent::applyDelta(int delta, Qt::Orientation orientation) +{ + if (orientation == Qt::Horizontal) { + m_deltaX = (delta / 120); + m_deltaY = 0; + } else { + m_deltaX = 0; + m_deltaY = (delta / 120); + } + + m_wheelTicksX = m_deltaX; + m_wheelTicksY = m_deltaY; + + // Use the same single scroll step as QTextEdit + // (in QTextEditPrivate::init [h,v]bar->setSingleStep) + static const float cDefaultQtScrollStep = 20.f; + m_deltaX *= QApplication::wheelScrollLines() * cDefaultQtScrollStep; + m_deltaY *= QApplication::wheelScrollLines() * cDefaultQtScrollStep; +} + +PlatformWheelEvent::PlatformWheelEvent(QGraphicsSceneWheelEvent* e) +#ifdef QT_NO_WHEELEVENT +{ + Q_UNUSED(e); +} +#else + : m_position(e->pos().toPoint()) + , m_globalPosition(e->screenPos()) + , m_granularity(ScrollByPixelWheelEvent) + , m_isAccepted(false) + , m_shiftKey(e->modifiers() & Qt::ShiftModifier) + , m_ctrlKey(e->modifiers() & Qt::ControlModifier) + , m_altKey(e->modifiers() & Qt::AltModifier) + , m_metaKey(e->modifiers() & Qt::MetaModifier) +{ + applyDelta(e->delta(), e->orientation()); +} +#endif // QT_NO_WHEELEVENT PlatformWheelEvent::PlatformWheelEvent(QWheelEvent* e) #ifdef QT_NO_WHEELEVENT @@ -44,21 +83,7 @@ PlatformWheelEvent::PlatformWheelEvent(QWheelEvent* e) , m_altKey(e->modifiers() & Qt::AltModifier) , m_metaKey(e->modifiers() & Qt::MetaModifier) { - if (e->orientation() == Qt::Horizontal) { - m_deltaX = (e->delta() / 120); - m_deltaY = 0; - } else { - m_deltaX = 0; - m_deltaY = (e->delta() / 120); - } - m_wheelTicksX = m_deltaX; - m_wheelTicksY = m_deltaY; - - // use the same single scroll step as QTextEdit (in - // QTextEditPrivate::init [h,v]bar->setSingleStep ) - static const float cDefaultQtScrollStep = 20.f; - m_deltaX *= QApplication::wheelScrollLines() * cDefaultQtScrollStep; - m_deltaY *= QApplication::wheelScrollLines() * cDefaultQtScrollStep; + applyDelta(e->delta(), e->orientation()); } #endif // QT_NO_WHEELEVENT diff --git a/WebCore/platform/qt/WidgetQt.cpp b/WebCore/platform/qt/WidgetQt.cpp index 0fb6c37..e9c99a4 100644 --- a/WebCore/platform/qt/WidgetQt.cpp +++ b/WebCore/platform/qt/WidgetQt.cpp @@ -30,6 +30,7 @@ */ #include "config.h" +#include "Widget.h" #include "Cursor.h" #include "Font.h" @@ -37,8 +38,8 @@ #include "HostWindow.h" #include "IntRect.h" #include "ScrollView.h" -#include "Widget.h" #include "NotImplemented.h" +#include "QWebPageClient.h" #include "qwebframe.h" #include "qwebframe_p.h" @@ -81,15 +82,10 @@ void Widget::setFocus() void Widget::setCursor(const Cursor& cursor) { #ifndef QT_NO_CURSOR - QWidget* widget = root()->hostWindow()->platformWindow(); - - if (!widget) - return; - - if (!cursor.impl().bitmap() && widget->cursor().shape() == cursor.impl().shape()) - return; + QWebPageClient* pageClient = root()->hostWindow()->platformPageClient(); - QCoreApplication::postEvent(widget, new SetCursorEvent(cursor.impl())); + if (pageClient) + pageClient->setCursor(cursor.impl()); #endif } @@ -105,7 +101,7 @@ void Widget::hide() platformWidget()->hide(); } -void Widget::paint(GraphicsContext *, const IntRect &rect) +void Widget::paint(GraphicsContext*, const IntRect&) { } |