diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-04-01 10:27:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-08 14:00:06 +0200 |
commit | 84f31c11b77a62212451cb77adae63219e06de96 (patch) | |
tree | 97d252eee0ee8716d1a7165cd714b0d5b9552ebb /src/webenginewidgets/api/qwebengineview.cpp | |
parent | 3cb5203cb7a4bee9a867e8616c23ce635d6a8506 (diff) | |
download | qtwebengine-84f31c11b77a62212451cb77adae63219e06de96.tar.gz |
Revert part of the RenderWidgetHostViewQtDelegate refactoring
This reverts parts of commit 9c198939be1ef064d1a2430a4b9991f2fe16f359.
This does keeps the popup fixes and removes support for
QWebEnginePage::setViewportSize and QWebEnginePage::render until
we can evaluate the needs vs the cost of such feature.
Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/webenginewidgets/api/qwebengineview.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 3f3fdd7cd..c8fe9c383 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -48,6 +48,7 @@ #include <QAction> #include <QMenu> #include <QContextMenuEvent> +#include <QStackedLayout> QT_BEGIN_NAMESPACE @@ -63,6 +64,7 @@ void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page) oldView->d_func()->page = 0; } page->d_func()->view = view; + page->d_func()->adapter->reattachRWHV(); } if (view) { @@ -81,7 +83,6 @@ void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page) QObject::connect(page, &QWebEnginePage::loadProgress, view, &QWebEngineView::loadProgress); QObject::connect(page, &QWebEnginePage::loadFinished, view, &QWebEngineView::loadFinished); QObject::connect(page, &QWebEnginePage::selectionChanged, view, &QWebEngineView::selectionChanged); - page->setViewportSize(view->size()); } } @@ -94,10 +95,8 @@ QWebEngineViewPrivate::QWebEngineViewPrivate() QWebEngineView::QWebEngineView(QWidget *parent) : QWidget(*(new QWebEngineViewPrivate), parent, 0) { - setFocusPolicy(Qt::ClickFocus); - setMouseTracking(true); - setAttribute(Qt::WA_AcceptTouchEvents); - setAttribute(Qt::WA_OpaquePaintEvent); + // This causes the child RenderWidgetHostViewQtDelegateWidgets to fill this widget. + setLayout(new QStackedLayout); } QWebEngineView::~QWebEngineView() @@ -222,41 +221,15 @@ void QWebEngineView::setZoomFactor(qreal factor) bool QWebEngineView::event(QEvent *ev) { - Q_D(QWebEngineView); // We swallow spontaneous contextMenu events and synthethize those back later on when we get the // HandleContextMenu callback from chromium if (ev->type() == QEvent::ContextMenu) { ev->accept(); return true; - - // Meta calls are not safe to forward to the page, as they could be widget specific (e.g. QWidgetPrivate::_q_showIfNotHidden) - // ToolTip events need to be processed at the widget level for the tooltip to show. - } else if (ev->type() == QEvent::MetaCall - || ev->type() == QEvent::ToolTip) - return QWidget::event(ev); - if (d->page && d->page->event(ev)) - return true; - + } return QWidget::event(ev); } -void QWebEngineView::paintEvent(QPaintEvent *ev) -{ - Q_D(QWebEngineView); - if (!d->page) - return; - QPainter painter(this); - d->page->render(&painter, QRegion(ev->rect())); -} - -void QWebEngineView::resizeEvent(QResizeEvent *ev) -{ - Q_D(QWebEngineView); - if (!d->page) - return; - d->page->setViewportSize(ev->size()); -} - void QWebEngineView::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = page()->createStandardContextMenu(); |