diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-05-30 12:48:17 +0200 |
commit | 881da28418d380042aa95a97f0cbd42560a64f7c (patch) | |
tree | a794dff3274695e99c651902dde93d934ea7a5af /Source/WebKit/qt/WidgetSupport | |
parent | 7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff) | |
parent | 0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff) | |
download | qtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz |
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
Diffstat (limited to 'Source/WebKit/qt/WidgetSupport')
12 files changed, 127 insertions, 139 deletions
diff --git a/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h b/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h index aede68952..4e3fcf0a3 100644 --- a/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h +++ b/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h @@ -20,14 +20,12 @@ #ifndef DefaultFullScreenVideoHandler_h #define DefaultFullScreenVideoHandler_h -#include "qwebkitplatformplugin.h" +#include "qwebfullscreenvideohandler.h" namespace WebKit { class FullScreenVideoWidget; -// We do not use ENABLE or USE because moc does not expand these macros. -#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA class DefaultFullScreenVideoHandler : public QWebFullScreenVideoHandler { Q_OBJECT public: @@ -43,7 +41,6 @@ private: static bool s_shouldForceFullScreenVideoPlayback; FullScreenVideoWidget *m_fullScreenWidget; }; -#endif } // namespace WebKit diff --git a/Source/WebKit/qt/WidgetSupport/InspectorClientWebPage.h b/Source/WebKit/qt/WidgetSupport/InspectorClientWebPage.h index a6ab065e5..59cf74135 100644 --- a/Source/WebKit/qt/WidgetSupport/InspectorClientWebPage.h +++ b/Source/WebKit/qt/WidgetSupport/InspectorClientWebPage.h @@ -36,13 +36,13 @@ namespace WebKit { -class InspectorClientWebPage : public QWebPage { +class InspectorClientWebPage final : public QWebPage { Q_OBJECT friend class InspectorClientQt; public: InspectorClientWebPage(); - QWebPage* createWindow(QWebPage::WebWindowType); + QWebPage* createWindow(QWebPage::WebWindowType) final; public Q_SLOTS: void javaScriptWindowObjectCleared(); diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp index 858290f6e..7e5cb1fb7 100644 --- a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp +++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp @@ -21,6 +21,8 @@ #include "config.h" #include "PageClientQt.h" +#include "Widget.h" + #include <QGraphicsScene> #include <QGraphicsView> @@ -35,11 +37,6 @@ #include <QOpenGLWidget> #endif -#if USE(ACCELERATED_COMPOSITING) -#include "TextureMapper.h" -#include "texmap/TextureMapperLayer.h" -#endif - QWindow* QWebPageClient::ownerWindow() const { QWidget* widget = qobject_cast<QWidget*>(ownerWidget()); @@ -146,7 +143,7 @@ QStyle* PageClientQWidget::style() const QRectF PageClientQWidget::windowRect() const { - return QRectF(view->window()->geometry()); + return QRectF(view->window()->frameGeometry()); } void PageClientQWidget::setWidgetVisible(Widget* widget, bool visible) @@ -189,13 +186,12 @@ void PageClientQGraphicsWidget::repaintViewport() bool PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable() { -#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) +#if USE(TEXTURE_MAPPER_GL) QGraphicsView* graphicsView = firstGraphicsView(); if (graphicsView && graphicsView->viewport()) { - QWidget *widget = graphicsView->viewport(); + QWidget* widget = graphicsView->viewport(); #if defined(QT_OPENGL_LIB) if (widget->inherits("QGLWidget")) { - QGLWidget* glWidget = static_cast<QGLWidget*>(widget); // The GL context belonging to the QGLWidget viewport must be current when TextureMapper is being created. glWidget->makeCurrent(); @@ -204,7 +200,7 @@ bool PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable() #endif #if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) if (widget->inherits("QOpenGLWidget")) { - QOpenGLWidget *qoglWidget = static_cast<QOpenGLWidget*>(widget); + QOpenGLWidget* qoglWidget = static_cast<QOpenGLWidget*>(widget); qoglWidget->makeCurrent(); return true; } @@ -216,10 +212,10 @@ bool PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable() QOpenGLContext* PageClientQGraphicsWidget::openGLContextIfAvailable() { -#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL) +#if USE(TEXTURE_MAPPER_GL) QGraphicsView* graphicsView = firstGraphicsView(); if (graphicsView && graphicsView->viewport()) { - QWidget *widget = graphicsView->viewport(); + QWidget* widget = graphicsView->viewport(); #if defined(QT_OPENGL_LIB) if (widget->inherits("QGLWidget")) { QGLWidget* glWidget = static_cast<QGLWidget*>(widget); @@ -228,7 +224,7 @@ QOpenGLContext* PageClientQGraphicsWidget::openGLContextIfAvailable() #endif #if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) if (widget->inherits("QOpenGLWidget")) { - QOpenGLWidget *qoglWidget = static_cast<QOpenGLWidget*>(widget); + QOpenGLWidget* qoglWidget = static_cast<QOpenGLWidget*>(widget); return qoglWidget->context(); } #endif @@ -297,10 +293,9 @@ QRect PageClientQGraphicsWidget::geometryRelativeToOwnerWidget() const QPoint PageClientQGraphicsWidget::mapToOwnerWindow(const QPoint& point) const { if (const QGraphicsView* graphicsView = firstGraphicsView()) { - if (const QWidget *nativeParent = graphicsView->nativeParentWidget()) + if (const QWidget* nativeParent = graphicsView->nativeParentWidget()) return graphicsView->mapTo(nativeParent, graphicsView->mapFromScene(view->mapToScene(point))); - else - return graphicsView->mapFromScene(view->mapToScene(point)); + return graphicsView->mapFromScene(view->mapToScene(point)); } return point; } @@ -356,4 +351,3 @@ bool PageClientQGraphicsWidget::isViewVisible() #endif // QT_NO_GRAPHICSVIEW } // namespace WebCore - diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.h b/Source/WebKit/qt/WidgetSupport/PageClientQt.h index 8c7953634..cb8c3c79f 100644 --- a/Source/WebKit/qt/WidgetSupport/PageClientQt.h +++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.h @@ -21,18 +21,12 @@ #ifndef PageClientQt_h #define PageClientQt_h -#include "FrameView.h" -#include "GraphicsContext.h" -#include "IntRect.h" #include "QWebPageClient.h" -#include "TextureMapperLayerClientQt.h" -#include "TiledBackingStore.h" #include "qgraphicswebview.h" #include "qwebframe.h" #include "qwebframe_p.h" #include "qwebpage.h" #include "qwebpage_p.h" -#include <Settings.h> #include <qgraphicsscene.h> #include <qgraphicsview.h> #include <qgraphicswidget.h> @@ -44,7 +38,7 @@ namespace WebCore { -class PageClientQWidget : public QWebPageClient { +class PageClientQWidget final : public QWebPageClient { public: PageClientQWidget(QWidget* newView, QWebPage* newPage) : view(newView) @@ -52,38 +46,38 @@ public: { Q_ASSERT(view); } - virtual ~PageClientQWidget(); + ~PageClientQWidget() final; - virtual bool isQWidgetClient() const { return true; } + bool isQWidgetClient() const final { return true; } - virtual void scroll(int dx, int dy, const QRect&); - virtual void update(const QRect& dirtyRect); - virtual void repaintViewport(); - virtual void setInputMethodEnabled(bool); - virtual bool inputMethodEnabled() const; - virtual void setInputMethodHints(Qt::InputMethodHints); + void scroll(int dx, int dy, const QRect&) final; + void update(const QRect& dirtyRect) final; + void repaintViewport() final; + void setInputMethodEnabled(bool) final; + bool inputMethodEnabled() const final; + void setInputMethodHints(Qt::InputMethodHints) final; #ifndef QT_NO_CURSOR - virtual QCursor cursor() const; - virtual void updateCursor(const QCursor&); + QCursor cursor() const final; + void updateCursor(const QCursor&) final; #endif - virtual QPalette palette() const; - virtual int screenNumber() const; - virtual QObject* ownerWidget() const; - virtual QRect geometryRelativeToOwnerWidget() const; - virtual QPoint mapToOwnerWindow(const QPoint&) const; + QPalette palette() const final; + int screenNumber() const final; + QObject* ownerWidget() const final; + QRect geometryRelativeToOwnerWidget() const final; + QPoint mapToOwnerWindow(const QPoint&) const final; - virtual QObject* pluginParent() const; + QObject* pluginParent() const final; - virtual QStyle* style() const; + QStyle* style() const final; - virtual bool viewResizesToContentsEnabled() const { return false; } + bool viewResizesToContentsEnabled() const final { return false; } - virtual QRectF windowRect() const; + QRectF windowRect() const final; - virtual void setWidgetVisible(Widget*, bool visible); - virtual bool isViewVisible(); + void setWidgetVisible(Widget*, bool visible) final; + bool isViewVisible() final; QWidget* view; QWebPage* page; @@ -92,7 +86,7 @@ public: #if !defined(QT_NO_GRAPHICSVIEW) // the overlay is here for one reason only: to have the scroll-bars and other // extra UI elements appear on top of any QGraphicsItems created by CSS compositing layers -class QGraphicsItemOverlay : public QGraphicsObject { +class QGraphicsItemOverlay final : public QGraphicsObject { public: QGraphicsItemOverlay(QGraphicsWidget* view, QWebPage* p) : QGraphicsObject(view) @@ -104,12 +98,12 @@ class QGraphicsItemOverlay : public QGraphicsObject { setCacheMode(QGraphicsItem::DeviceCoordinateCache); } - QRectF boundingRect() const + QRectF boundingRect() const final { return q->boundingRect(); } - void paint(QPainter* painter, const QStyleOptionGraphicsItem* options, QWidget*) + void paint(QPainter* painter, const QStyleOptionGraphicsItem* options, QWidget*) final { page->mainFrame()->render(painter, static_cast<QWebFrame::RenderLayer>(QWebFrame::AllLayers&(~QWebFrame::ContentsLayer)), options->exposedRect.toRect()); } @@ -124,7 +118,7 @@ class QGraphicsItemOverlay : public QGraphicsObject { }; -class PageClientQGraphicsWidget : public QWebPageClient { +class PageClientQGraphicsWidget final : public QWebPageClient { public: PageClientQGraphicsWidget(QGraphicsWebView* newView, QWebPage* newPage) : view(newView) @@ -133,52 +127,50 @@ public: , overlay(0) { Q_ASSERT(view); -#if USE(ACCELERATED_COMPOSITING) // the overlay and stays alive for the lifetime of // this QGraphicsWebView as the scrollbars are needed when there's no compositing view->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption); -#endif } - virtual ~PageClientQGraphicsWidget(); + ~PageClientQGraphicsWidget() final; - virtual bool isQWidgetClient() const { return false; } + bool isQWidgetClient() const final { return false; } - virtual void scroll(int dx, int dy, const QRect&); - virtual void update(const QRect& dirtyRect); - virtual void repaintViewport(); - virtual void setInputMethodEnabled(bool); - virtual bool inputMethodEnabled() const; - virtual void setInputMethodHints(Qt::InputMethodHints); + void scroll(int dx, int dy, const QRect&) final; + void update(const QRect& dirtyRect) final; + void repaintViewport() final; + void setInputMethodEnabled(bool) final; + bool inputMethodEnabled() const final; + void setInputMethodHints(Qt::InputMethodHints) final; #ifndef QT_NO_CURSOR - virtual QCursor cursor() const; - virtual void updateCursor(const QCursor&); + QCursor cursor() const final; + void updateCursor(const QCursor&) final; #endif - virtual QPalette palette() const; - virtual int screenNumber() const; - virtual QObject* ownerWidget() const; - virtual QRect geometryRelativeToOwnerWidget() const; - virtual QPoint mapToOwnerWindow(const QPoint&) const; + QPalette palette() const final; + int screenNumber() const final; + QObject* ownerWidget() const final; + QRect geometryRelativeToOwnerWidget() const final; + QPoint mapToOwnerWindow(const QPoint&) const final; - virtual QObject* pluginParent() const; + QObject* pluginParent() const final; - virtual QStyle* style() const; + QStyle* style() const final; - virtual bool viewResizesToContentsEnabled() const { return viewResizesToContents; } + bool viewResizesToContentsEnabled() const final { return viewResizesToContents; } - virtual void setWidgetVisible(Widget*, bool); - virtual bool isViewVisible(); + void setWidgetVisible(Widget*, bool) final; + bool isViewVisible() final; #if USE(TILED_BACKING_STORE) virtual QRectF graphicsItemVisibleRect() const; #endif - virtual bool makeOpenGLContextCurrentIfAvailable(); - virtual QOpenGLContext* openGLContextIfAvailable(); + bool makeOpenGLContextCurrentIfAvailable() final; + QOpenGLContext* openGLContextIfAvailable() final; - virtual QRectF windowRect() const; + QRectF windowRect() const final; QGraphicsView* firstGraphicsView() const; diff --git a/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h b/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h index 7be9bcb8d..b606ae701 100644 --- a/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h +++ b/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h @@ -28,17 +28,17 @@ QT_BEGIN_NAMESPACE class QGraphicsWidget; QT_END_NAMESPACE -class QGraphicsWidgetPluginImpl : public QtPluginWidgetAdapter { +class QGraphicsWidgetPluginImpl final : public QtPluginWidgetAdapter { Q_OBJECT public: QGraphicsWidgetPluginImpl(QGraphicsWidget *w) : m_graphicsWidget(w) { } - virtual ~QGraphicsWidgetPluginImpl(); - virtual void update(const QRect &) OVERRIDE; - virtual void setGeometryAndClip(const QRect&, const QRect&, bool) OVERRIDE; - virtual void setVisible(bool); - virtual void setStyleSheet(const QString&) OVERRIDE { } - virtual void setWidgetParent(QObject*) OVERRIDE; - virtual QObject* handle() const OVERRIDE; + ~QGraphicsWidgetPluginImpl(); + void update(const QRect &) final; + void setGeometryAndClip(const QRect&, const QRect&, bool) final; + void setVisible(bool) final; + void setStyleSheet(const QString&) final { } + void setWidgetParent(QObject*) final; + QObject* handle() const final; private: QGraphicsWidget *m_graphicsWidget; }; diff --git a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp index 6881d9d74..b35545674 100644 --- a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp +++ b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp @@ -61,7 +61,7 @@ static QStyle::SubControl convertToQStyleSubControl(QStyleFacade::SubControl sc) switch (sc) { FOR_EACH_SUBCONTROL(CONVERT_SUBCONTROL, SEMICOLON); } - ASSERT_NOT_REACHED(); + Q_UNREACHABLE(); return QStyle::SC_None; #undef CONVERT_SUBCONTROL } @@ -118,7 +118,7 @@ static QStyle::PixelMetric convertPixelMetric(QStyleFacade::PixelMetric state) switch (state) { FOR_EACH_MAPPED_METRIC(CONVERT_METRIC, SEMICOLON); } - ASSERT_NOT_REACHED(); + Q_UNREACHABLE(); return QStyle::PM_CustomBase; #undef CONVERT_METRIC @@ -132,7 +132,7 @@ static QStyleFacade::SubControl convertToQStyleFacadeSubControl(QStyle::SubContr switch (sc) { FOR_EACH_SUBCONTROL(CONVERT_SUBCONTROL, SEMICOLON); } - ASSERT_NOT_REACHED(); + Q_UNREACHABLE(); return QStyleFacade::SC_None; #undef CONVERT_SUBCONTROL } @@ -163,9 +163,11 @@ QRect QStyleFacadeImp::buttonSubElementRect(QStyleFacade::ButtonSubElement butto QStyle::SubElement subElement = QStyle::SE_CustomBase; switch (buttonElement) { + case CheckBoxIndicator: subElement = QStyle::SE_CheckBoxIndicator; break; + case RadioButtonIndicator: subElement = QStyle::SE_RadioButtonIndicator; break; case PushButtonLayoutItem: subElement = QStyle::SE_PushButtonLayoutItem; break; case PushButtonContents: subElement = QStyle::SE_PushButtonContents; break; - default: ASSERT_NOT_REACHED(); + default: Q_UNREACHABLE(); } return style()->subElementRect(subElement, &option); } diff --git a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.h b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.h index 5ec4ec20a..9e9cf0af7 100644 --- a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.h +++ b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.h @@ -42,45 +42,45 @@ namespace WebKit { class QStyleFacadeImp : public WebCore::QStyleFacade { public: QStyleFacadeImp(QWebPageAdapter* = 0); - virtual ~QStyleFacadeImp(); + ~QStyleFacadeImp() override; static WebCore::QStyleFacade* create(QWebPageAdapter* page) { return new QStyleFacadeImp(page); } - virtual QRect buttonSubElementRect(ButtonSubElement, State, const QRect& originalRect) const; + QRect buttonSubElementRect(ButtonSubElement, State, const QRect& originalRect) const override; - virtual int findFrameLineWidth() const; - virtual int simplePixelMetric(PixelMetric, State = State_None) const; - virtual int buttonMargin(State, const QRect& originalRect) const; - virtual int sliderLength(Qt::Orientation) const; - virtual int sliderThickness(Qt::Orientation) const; - virtual int progressBarChunkWidth(const QSize&) const; - virtual void getButtonMetrics(QString* buttonFontFamily, int* buttonFontPixelSize) const; + int findFrameLineWidth() const override; + int simplePixelMetric(PixelMetric, State = State_None) const override; + int buttonMargin(State, const QRect& originalRect) const override; + int sliderLength(Qt::Orientation) const override; + int sliderThickness(Qt::Orientation) const override; + int progressBarChunkWidth(const QSize&) const override; + void getButtonMetrics(QString* buttonFontFamily, int* buttonFontPixelSize) const override; - virtual QSize comboBoxSizeFromContents(State, const QSize& contentsSize) const; - virtual QSize pushButtonSizeFromContents(State, const QSize& contentsSize) const; + QSize comboBoxSizeFromContents(State, const QSize& contentsSize) const override; + QSize pushButtonSizeFromContents(State, const QSize& contentsSize) const override; - virtual void paintButton(QPainter*, ButtonType, const WebCore::QStyleFacadeOption &proxyOption); - virtual void paintTextField(QPainter*, const WebCore::QStyleFacadeOption&); - virtual void paintComboBox(QPainter*, const WebCore::QStyleFacadeOption&); - virtual void paintComboBoxArrow(QPainter*, const WebCore::QStyleFacadeOption&); + void paintButton(QPainter*, ButtonType, const WebCore::QStyleFacadeOption &proxyOption) override; + void paintTextField(QPainter*, const WebCore::QStyleFacadeOption&) override; + void paintComboBox(QPainter*, const WebCore::QStyleFacadeOption&) override; + void paintComboBoxArrow(QPainter*, const WebCore::QStyleFacadeOption&) override; - virtual void paintSliderTrack(QPainter*, const WebCore::QStyleFacadeOption&); - virtual void paintSliderThumb(QPainter*, const WebCore::QStyleFacadeOption&); - virtual void paintInnerSpinButton(QPainter*, const WebCore::QStyleFacadeOption&, bool spinBoxUp); - virtual void paintProgressBar(QPainter*, const WebCore::QStyleFacadeOption&, double progress, double animationProgress); + void paintSliderTrack(QPainter*, const WebCore::QStyleFacadeOption&) override; + void paintSliderThumb(QPainter*, const WebCore::QStyleFacadeOption&) override; + void paintInnerSpinButton(QPainter*, const WebCore::QStyleFacadeOption&, bool spinBoxUp) override; + void paintProgressBar(QPainter*, const WebCore::QStyleFacadeOption&, double progress, double animationProgress) override; - virtual int scrollBarExtent(bool mini); - virtual bool scrollBarMiddleClickAbsolutePositionStyleHint() const; - virtual void paintScrollCorner(QPainter*, const QRect&); + int scrollBarExtent(bool mini) override; + bool scrollBarMiddleClickAbsolutePositionStyleHint() const override; + void paintScrollCorner(QPainter*, const QRect&) override; - virtual SubControl hitTestScrollBar(const WebCore::QStyleFacadeOption&, const QPoint& pos); - virtual QRect scrollBarSubControlRect(const WebCore::QStyleFacadeOption&, SubControl); - virtual void paintScrollBar(QPainter*, const WebCore::QStyleFacadeOption&); + SubControl hitTestScrollBar(const WebCore::QStyleFacadeOption&, const QPoint& pos) override; + QRect scrollBarSubControlRect(const WebCore::QStyleFacadeOption&, SubControl) override; + void paintScrollBar(QPainter*, const WebCore::QStyleFacadeOption&) override; - virtual QObject* widgetForPainter(QPainter*); + QObject* widgetForPainter(QPainter*) override; - virtual bool isValid() const { return style(); } + bool isValid() const override { return style(); } private: QStyle* style() const; diff --git a/Source/WebKit/qt/WidgetSupport/QWebUndoCommand.h b/Source/WebKit/qt/WidgetSupport/QWebUndoCommand.h index b9e616925..c96e0c3d3 100644 --- a/Source/WebKit/qt/WidgetSupport/QWebUndoCommand.h +++ b/Source/WebKit/qt/WidgetSupport/QWebUndoCommand.h @@ -27,12 +27,12 @@ class UndoStepQt; #ifndef QT_NO_UNDOCOMMAND -class QWebUndoCommand : public QUndoCommand { +class QWebUndoCommand final : public QUndoCommand { public: QWebUndoCommand(QSharedPointer<UndoStepQt>, QUndoCommand *parent = 0); - void undo(); - void redo(); + void undo() final; + void redo() final; private: QSharedPointer<UndoStepQt> m_step; diff --git a/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h b/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h index 7892d8efc..71943f0f6 100644 --- a/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h +++ b/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h @@ -26,17 +26,17 @@ QT_BEGIN_NAMESPACE class QWidget; QT_END_NAMESPACE -class QWidgetPluginImpl : public QtPluginWidgetAdapter { +class QWidgetPluginImpl final : public QtPluginWidgetAdapter { Q_OBJECT public: QWidgetPluginImpl(QWidget *w) : m_widget(w) { } - virtual ~QWidgetPluginImpl(); - virtual void update(const QRect &) OVERRIDE; - virtual void setGeometryAndClip(const QRect&, const QRect&, bool isVisible) OVERRIDE; - virtual void setVisible(bool) OVERRIDE; - virtual void setStyleSheet(const QString&) OVERRIDE; - virtual void setWidgetParent(QObject *) OVERRIDE; - virtual QObject* handle() const OVERRIDE; + ~QWidgetPluginImpl(); + void update(const QRect &) final; + void setGeometryAndClip(const QRect&, const QRect&, bool isVisible) final; + void setVisible(bool) final; + void setStyleSheet(const QString&) final; + void setWidgetParent(QObject *) final; + QObject* handle() const final; private: QWidget *m_widget; }; diff --git a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.cpp b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.cpp index 61ddacaa8..e6c83197e 100644 --- a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.cpp +++ b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.cpp @@ -71,6 +71,9 @@ void QtFallbackWebPopup::show(const QWebSelectData& data) m_combo->setGeometry(QRect(rect.left(), rect.top(), rect.width(), m_combo->sizeHint().height())); } + // adjust the size of combo box to the longest name + m_combo->adjustSize(); + m_combo->showPopupAtCursorPosition(); } diff --git a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h index 975fa4025..8ecaa3f07 100644 --- a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h +++ b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h @@ -21,8 +21,8 @@ #define QtFallbackWebPopup_h #include "qwebkitplatformplugin.h" -#include <wtf/Platform.h> #include <QtCore/QPointer> +#include <wtf/Platform.h> #ifndef QT_NO_COMBOBOX @@ -37,19 +37,19 @@ namespace WebCore { class QtWebComboBox; -class QtFallbackWebPopup : public QWebSelectMethod { +class QtFallbackWebPopup final : public QWebSelectMethod { Q_OBJECT public: QtFallbackWebPopup(const QWebPageAdapter*); ~QtFallbackWebPopup(); - virtual void show(const QWebSelectData&); - virtual void hide(); + void show(const QWebSelectData&) final; + void hide() final; - void setGeometry(const QRect& rect) { m_geometry = rect; } + void setGeometry(const QRect& rect) final { m_geometry = rect; } QRect geometry() const { return m_geometry; } - void setFont(const QFont& font) { m_font = font; } + void setFont(const QFont& font) final { m_font = font; } QFont font() const { return m_font; } private Q_SLOTS: diff --git a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h index 90b617b3d..dfed5b70a 100644 --- a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h +++ b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h @@ -28,15 +28,15 @@ namespace WebCore { -class QtWebComboBox : public QComboBox { +class QtWebComboBox final : public QComboBox { Q_OBJECT public: QtWebComboBox(); void showPopupAtCursorPosition(); - virtual bool eventFilter(QObject* watched, QEvent*); + bool eventFilter(QObject* watched, QEvent*) final; - virtual void hidePopup() OVERRIDE; + void hidePopup() final; void deleteComboBox(); Q_SIGNALS: |