summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-01-11 11:20:38 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-01-11 11:20:38 +0000
commit84f0bed975eb1be4c4db1c47acde4e9ce9eb4628 (patch)
tree9c92be621cebd95670780175d0e6e32703595082 /src/core
parent3ccbfd5cfb4864903bddac0fb9481d11c42a9f53 (diff)
parent3fe3c36039a68df52ce072af034ada6b4b946cb4 (diff)
Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6
Diffstat (limited to 'src/core')
-rw-r--r--src/core/render_widget_host_view_qt.cpp4
-rw-r--r--src/core/web_contents_adapter_client.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 2e67b0e89..fbfa12e91 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -755,6 +755,10 @@ bool RenderWidgetHostViewQt::forwardEvent(QEvent *event)
Focus(); // Fall through.
case QEvent::MouseButtonRelease:
case QEvent::MouseMove:
+ // Skip second MouseMove event when a window is being adopted, so that Chromium
+ // can properly handle further move events.
+ if (m_adapterClient->isBeingAdopted())
+ return false;
handleMouseEvent(static_cast<QMouseEvent*>(event));
break;
case QEvent::KeyPress:
diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h
index f2a05c575..117e21e25 100644
--- a/src/core/web_contents_adapter_client.h
+++ b/src/core/web_contents_adapter_client.h
@@ -207,6 +207,7 @@ public:
virtual void focusContainer() = 0;
virtual void unhandledKeyEvent(QKeyEvent *event) = 0;
virtual void adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition, bool userGesture, const QRect & initialGeometry) = 0;
+ virtual bool isBeingAdopted() = 0;
virtual void close() = 0;
virtual void windowCloseRejected() = 0;
virtual bool contextMenuRequested(const WebEngineContextMenuData&) = 0;