diff options
author | Valentin Fokin <fokinv@inf.u-szeged.hu> | 2017-11-21 10:39:01 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2017-12-21 13:07:32 +0000 |
commit | 10491dfcc06a3b663bcd52cc04a26f36d91b9d59 (patch) | |
tree | 3e6fdd9aa1848b624988d8146120d2a306bc1b24 /src/webenginewidgets/api | |
parent | e746be506d974f01c5d325d6068882c62714d756 (diff) |
Clean up contextMenuRequested implementation
- Get rid of the unused return value
- Instantiate event only when used
Change-Id: I01b93d133a53185c2c87f61ea688be3742511c38
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 25 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 2 |
2 files changed, 14 insertions, 13 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index c707e8ba0..976f72fa4 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -1455,35 +1455,36 @@ void QWebEnginePagePrivate::wasHidden() adapter->wasHidden(); } -bool QWebEnginePagePrivate::contextMenuRequested(const WebEngineContextMenuData &data) +void QWebEnginePagePrivate::contextMenuRequested(const WebEngineContextMenuData &data) { if (!view) - return false; + return; contextData.reset(); - QContextMenuEvent event(QContextMenuEvent::Mouse, data.position(), view->mapToGlobal(data.position())); switch (view->contextMenuPolicy()) { - case Qt::PreventContextMenu: - return false; case Qt::DefaultContextMenu: + { contextData = data; + QContextMenuEvent event(QContextMenuEvent::Mouse, data.position(), view->mapToGlobal(data.position())); view->contextMenuEvent(&event); - break; + return; + } case Qt::CustomContextMenu: contextData = data; Q_EMIT view->customContextMenuRequested(data.position()); - break; + return; case Qt::ActionsContextMenu: if (view->actions().count()) { + QContextMenuEvent event(QContextMenuEvent::Mouse, data.position(), view->mapToGlobal(data.position())); QMenu::exec(view->actions(), event.globalPos(), 0, view); - break; } - // fallthrough + return; + case Qt::PreventContextMenu: case Qt::NoContextMenu: - event.ignore(); - return false; + return; } - return true; + + Q_UNREACHABLE(); } void QWebEnginePagePrivate::navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index ec84f05e1..12bad1351 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -107,7 +107,7 @@ public: virtual bool isBeingAdopted() Q_DECL_OVERRIDE; virtual void close() Q_DECL_OVERRIDE; virtual void windowCloseRejected() Q_DECL_OVERRIDE; - virtual bool contextMenuRequested(const QtWebEngineCore::WebEngineContextMenuData &data) Q_DECL_OVERRIDE; + virtual void contextMenuRequested(const QtWebEngineCore::WebEngineContextMenuData &data) Q_DECL_OVERRIDE; virtual void navigationRequested(int navigationType, const QUrl &url, int &navigationRequestAction, bool isMainFrame) Q_DECL_OVERRIDE; virtual void requestFullScreenMode(const QUrl &origin, bool fullscreen) Q_DECL_OVERRIDE; virtual bool isFullScreenMode() const Q_DECL_OVERRIDE; |