summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-27 18:17:09 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-28 13:54:49 +0100
commit01dce2df9868fd7ede0fcc7b253f57d1e3d4a101 (patch)
tree689d6d2dfe262c050f58538d6e63516f676dbd0d
parentc68c8cb21b47024bbc6c9d15734677318f56ca3f (diff)
parentdad0cfa3eba01b0dff698f457242f80f6eae4698 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts: .qmake.conf src/3rdparty src/core/render_widget_host_view_qt.cpp src/core/web_contents_view_qt.h src/core/web_engine_context.cpp Change-Id: I17f3a4814e88a5680dc61a6d734c171ccba00e8c
-rw-r--r--examples/webengine/recipebrowser/resources/pages/burger.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/cupcakes.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/pasta.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/pizza.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/skewers.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/soup.html1
-rw-r--r--examples/webengine/recipebrowser/resources/pages/steak.html1
-rw-r--r--examples/webengine/recipebrowser/resources/qml/RecipeList.qml2
-rw-r--r--examples/webengine/recipebrowser/resources/qml/main.qml6
m---------src/3rdparty0
-rw-r--r--src/core/common/qt_messages.h3
-rw-r--r--src/core/config/common.pri7
-rw-r--r--src/core/config/linux.pri1
-rw-r--r--src/core/config/windows.pri3
-rw-r--r--src/core/render_widget_host_view_qt.cpp6
-rw-r--r--src/core/renderer/render_view_observer_qt.cpp6
-rw-r--r--src/core/renderer/render_view_observer_qt.h1
-rw-r--r--src/core/web_contents_adapter_client.h2
-rw-r--r--src/core/web_contents_delegate_qt.cpp6
-rw-r--r--src/core/web_contents_delegate_qt.h1
-rw-r--r--src/core/web_contents_view_qt.cpp40
-rw-r--r--src/core/web_contents_view_qt.h19
-rw-r--r--src/webengine/api/qquickwebengineview.cpp8
-rw-r--r--src/webengine/api/qquickwebengineview_p_p.h2
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp13
-rw-r--r--src/webenginewidgets/api/qwebenginepage_p.h2
26 files changed, 96 insertions, 39 deletions
diff --git a/examples/webengine/recipebrowser/resources/pages/burger.html b/examples/webengine/recipebrowser/resources/pages/burger.html
index b10170cbd..6651cc0f0 100644
--- a/examples/webengine/recipebrowser/resources/pages/burger.html
+++ b/examples/webengine/recipebrowser/resources/pages/burger.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/burger.jpg" alt="Insanity Burger" title="Insanity Burger" />
+
Insanity burger
===============
diff --git a/examples/webengine/recipebrowser/resources/pages/cupcakes.html b/examples/webengine/recipebrowser/resources/pages/cupcakes.html
index e21247825..4791c7ffa 100644
--- a/examples/webengine/recipebrowser/resources/pages/cupcakes.html
+++ b/examples/webengine/recipebrowser/resources/pages/cupcakes.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/cupcakes.jpg" alt="Cupcakes" title="Cupcakes" />
+
Cupcakes
=============
diff --git a/examples/webengine/recipebrowser/resources/pages/pasta.html b/examples/webengine/recipebrowser/resources/pages/pasta.html
index 4de65292e..41ed1a756 100644
--- a/examples/webengine/recipebrowser/resources/pages/pasta.html
+++ b/examples/webengine/recipebrowser/resources/pages/pasta.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/pasta.jpg" alt="Pasta" title="Pasta" />
+
Pasta
=============
diff --git a/examples/webengine/recipebrowser/resources/pages/pizza.html b/examples/webengine/recipebrowser/resources/pages/pizza.html
index c63102934..348d809e8 100644
--- a/examples/webengine/recipebrowser/resources/pages/pizza.html
+++ b/examples/webengine/recipebrowser/resources/pages/pizza.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/pizza.jpg" alt="Pizza Diavola" title="Pizza Diavola" />
+
Pizza Diavola
=============
diff --git a/examples/webengine/recipebrowser/resources/pages/skewers.html b/examples/webengine/recipebrowser/resources/pages/skewers.html
index 6fbf90cb4..aca4c4859 100644
--- a/examples/webengine/recipebrowser/resources/pages/skewers.html
+++ b/examples/webengine/recipebrowser/resources/pages/skewers.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/skewers.jpg" alt="Grilled skewers" title="Grilled skewers" />
+
Grilled skewers
======================
diff --git a/examples/webengine/recipebrowser/resources/pages/soup.html b/examples/webengine/recipebrowser/resources/pages/soup.html
index e99f016cf..1b7027e5d 100644
--- a/examples/webengine/recipebrowser/resources/pages/soup.html
+++ b/examples/webengine/recipebrowser/resources/pages/soup.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/soup.jpg" alt="Soup" title="Soup" />
+
Soup
=============
diff --git a/examples/webengine/recipebrowser/resources/pages/steak.html b/examples/webengine/recipebrowser/resources/pages/steak.html
index c58395d10..a56313e27 100644
--- a/examples/webengine/recipebrowser/resources/pages/steak.html
+++ b/examples/webengine/recipebrowser/resources/pages/steak.html
@@ -11,6 +11,7 @@
<div id="content">
<img src="images/steak.jpg" alt="Grilled steak and rice" title="Grilled steak and rice" />
+
Grilled steak and rice
======================
diff --git a/examples/webengine/recipebrowser/resources/qml/RecipeList.qml b/examples/webengine/recipebrowser/resources/qml/RecipeList.qml
index 24be23a64..41806986c 100644
--- a/examples/webengine/recipebrowser/resources/qml/RecipeList.qml
+++ b/examples/webengine/recipebrowser/resources/qml/RecipeList.qml
@@ -48,7 +48,7 @@
**
****************************************************************************/
-import QtQuick 2.0
+import QtQuick 2.1
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Layouts 1.0
diff --git a/examples/webengine/recipebrowser/resources/qml/main.qml b/examples/webengine/recipebrowser/resources/qml/main.qml
index 2639b6b5d..a9893ed67 100644
--- a/examples/webengine/recipebrowser/resources/qml/main.qml
+++ b/examples/webengine/recipebrowser/resources/qml/main.qml
@@ -49,7 +49,7 @@
****************************************************************************/
import QtQml 2.0
-import QtQuick 2.0
+import QtQuick 2.1
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0
import QtQuick.Layouts 1.0
@@ -98,7 +98,7 @@ ApplicationWindow {
Layout.fillWidth: true
Layout.fillHeight: true
focus: true
- KeyNavigation.tab: webView
+ activeFocusOnTab: true
onRecipeSelected: function(url) {
webView.showRecipe(url)
}
@@ -109,8 +109,6 @@ ApplicationWindow {
Layout.preferredWidth: 2 * parent.width / 3
Layout.fillWidth: true
Layout.fillHeight: true
- KeyNavigation.tab: recipeList
- KeyNavigation.priority: KeyNavigation.BeforeItem
// Make sure focus is not taken by the web view, so user can continue navigating
// recipes with the keyboard.
settings.focusOnNavigationEnabled: false
diff --git a/src/3rdparty b/src/3rdparty
-Subproject d245970d5e4247e9f348b4a3be4a3a86d09c0b9
+Subproject 10fd63a07a381a3ab3b27ef8906817173e3ffbb
diff --git a/src/core/common/qt_messages.h b/src/core/common/qt_messages.h
index 1862ff29f..9add826ae 100644
--- a/src/core/common/qt_messages.h
+++ b/src/core/common/qt_messages.h
@@ -65,6 +65,9 @@ IPC_MESSAGE_ROUTED2(RenderViewObserverHostQt_DidFetchDocumentInnerText,
uint64_t /* requestId */,
base::string16 /* innerText */)
+IPC_MESSAGE_ROUTED1(RenderViewObserverQt_SetBackgroundColor,
+ uint32_t /* color */)
+
IPC_MESSAGE_ROUTED0(RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout)
//-----------------------------------------------------------------------------
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
index 56e6d547a..6f3ce75b3 100644
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -72,6 +72,13 @@ precompile_header {
gn_args += enable_precompiled_headers=false
}
+CONFIG(release, debug|release):!isDeveloperBuild() {
+ gn_args += is_official_build=true
+} else {
+ gn_args += is_official_build=false
+ !isDeveloperBuild(): gn_args += is_unsafe_developer_build=false
+}
+
CONFIG(release, debug|release) {
gn_args += is_debug=false
force_debug_info {
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index d04aea140..3eb436910 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -10,6 +10,7 @@ gn_args += \
use_bundled_fontconfig=false \
use_sysroot=false \
enable_session_service=false \
+ is_cfi=false \
toolkit_views=false \
use_ozone=true \
ozone_auto_platforms=false \
diff --git a/src/core/config/windows.pri b/src/core/config/windows.pri
index 3b42a0b9a..9eb15830d 100644
--- a/src/core/config/windows.pri
+++ b/src/core/config/windows.pri
@@ -6,7 +6,8 @@ gn_args += \
enable_session_service=false \
ninja_use_custom_environment_files=false \
is_multi_dll_chrome=false \
- win_linker_timing=true
+ win_linker_timing=true \
+ com_init_check_hook_disabled=true
isDeveloperBuild() {
gn_args += \
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index 39ec14382..414fc6582 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -40,6 +40,7 @@
#include "render_widget_host_view_qt.h"
#include "browser_accessibility_manager_qt.h"
+#include "common/qt_messages.h"
#include "compositor/compositor.h"
#include "qtwebenginecoreglobal_p.h"
#include "render_widget_host_view_qt_delegate.h"
@@ -439,6 +440,7 @@ void RenderWidgetHostViewQt::UpdateBackgroundColor()
auto color = GetBackgroundColor();
if (color) {
m_delegate->setClearColor(toQt(*color));
+ host()->Send(new RenderViewObserverQt_SetBackgroundColor(host()->GetRoutingID(), *color));
}
}
@@ -1108,7 +1110,7 @@ void RenderWidgetHostViewQt::closePopup()
// (hiding the widget and automatic memory cleanup via
// RenderWidget::CloseWidgetSoon() -> RenderWidgetHostImpl::ShutdownAndDestroyWidget(true).
host()->SetActive(false);
- host()->Blur();
+ host()->LostFocus();
}
void RenderWidgetHostViewQt::ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo &touch, content::InputEventAckState ack_result) {
@@ -1631,7 +1633,7 @@ void RenderWidgetHostViewQt::handleFocusEvent(QFocusEvent *ev)
ev->accept();
} else if (ev->lostFocus()) {
host()->SetActive(false);
- host()->Blur();
+ host()->LostFocus();
ev->accept();
}
}
diff --git a/src/core/renderer/render_view_observer_qt.cpp b/src/core/renderer/render_view_observer_qt.cpp
index 07dadfd40..2795de4b9 100644
--- a/src/core/renderer/render_view_observer_qt.cpp
+++ b/src/core/renderer/render_view_observer_qt.cpp
@@ -78,6 +78,11 @@ void RenderViewObserverQt::onFetchDocumentInnerText(quint64 requestId)
Send(new RenderViewObserverHostQt_DidFetchDocumentInnerText(routing_id(), requestId, text.Utf16()));
}
+void RenderViewObserverQt::onSetBackgroundColor(quint32 color)
+{
+ render_view()->GetWebView()->SetBaseBackgroundColor(color);
+}
+
void RenderViewObserverQt::OnDestruct()
{
delete this;
@@ -89,6 +94,7 @@ bool RenderViewObserverQt::OnMessageReceived(const IPC::Message& message)
IPC_BEGIN_MESSAGE_MAP(RenderViewObserverQt, message)
IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentMarkup, onFetchDocumentMarkup)
IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentInnerText, onFetchDocumentInnerText)
+ IPC_MESSAGE_HANDLER(RenderViewObserverQt_SetBackgroundColor, onSetBackgroundColor)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
diff --git a/src/core/renderer/render_view_observer_qt.h b/src/core/renderer/render_view_observer_qt.h
index 83c0cd265..abb472f02 100644
--- a/src/core/renderer/render_view_observer_qt.h
+++ b/src/core/renderer/render_view_observer_qt.h
@@ -55,6 +55,7 @@ public:
private:
void onFetchDocumentMarkup(quint64 requestId);
void onFetchDocumentInnerText(quint64 requestId);
+ void onSetBackgroundColor(quint32 color);
void OnDestruct() override;
diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h
index cdfcae450..beb41e17f 100644
--- a/src/core/web_contents_adapter_client.h
+++ b/src/core/web_contents_adapter_client.h
@@ -448,7 +448,7 @@ public:
virtual void didFindText(quint64 requestId, int matchCount) = 0;
virtual void didPrintPage(quint64 requestId, QSharedPointer<QByteArray>) = 0;
virtual void didPrintPageToPdf(const QString &filePath, bool success) = 0;
- virtual void passOnFocus(bool reverse) = 0;
+ virtual bool passOnFocus(bool reverse) = 0;
// returns the last QObject (QWidget/QQuickItem) based object in the accessibility
// hierarchy before going into the BrowserAccessibility tree
virtual QObject *accessibilityParentObject() = 0;
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index adc05253d..021044a71 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -704,6 +704,12 @@ void WebContentsDelegateQt::UnregisterProtocolHandler(content::WebContents *webC
registry->RemoveHandler(handler);
}
+bool WebContentsDelegateQt::TakeFocus(content::WebContents *source, bool reverse)
+{
+ Q_UNUSED(source);
+ return m_viewClient->passOnFocus(reverse);
+}
+
FaviconManager *WebContentsDelegateQt::faviconManager()
{
return m_faviconManager.data();
diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h
index ee1bca81f..1629222c2 100644
--- a/src/core/web_contents_delegate_qt.h
+++ b/src/core/web_contents_delegate_qt.h
@@ -129,6 +129,7 @@ public:
bool CheckMediaAccessPermission(content::RenderFrameHost* render_frame_host, const GURL& security_origin, blink::MediaStreamType type) override;
void RegisterProtocolHandler(content::WebContents* web_contents, const std::string& protocol, const GURL& url, bool user_gesture) override;
void UnregisterProtocolHandler(content::WebContents* web_contents, const std::string& protocol, const GURL& url, bool user_gesture) override;
+ bool TakeFocus(content::WebContents *source, bool reverse) override;
// WebContentsObserver overrides
void RenderFrameDeleted(content::RenderFrameHost *render_frame_host) override;
diff --git a/src/core/web_contents_view_qt.cpp b/src/core/web_contents_view_qt.cpp
index 7177a8713..ef7c09665 100644
--- a/src/core/web_contents_view_qt.cpp
+++ b/src/core/web_contents_view_qt.cpp
@@ -55,6 +55,7 @@
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/web_contents/web_contents_impl.h"
+#include "content/public/browser/web_contents_delegate.h"
#include "content/public/common/context_menu_params.h"
#include "ui/gfx/image/image_skia.h"
@@ -141,6 +142,22 @@ void WebContentsViewQt::SetInitialFocus()
Focus();
}
+void WebContentsViewQt::FocusThroughTabTraversal(bool reverse)
+{
+ content::WebContentsImpl *web_contents = static_cast<content::WebContentsImpl*>(m_webContents);
+ if (web_contents->ShowingInterstitialPage()) {
+ web_contents->GetInterstitialPage()->FocusThroughTabTraversal(reverse);
+ return;
+ }
+ content::RenderWidgetHostView *fullscreen_view = web_contents->GetFullscreenRenderWidgetHostView();
+ if (fullscreen_view) {
+ fullscreen_view->Focus();
+ return;
+ }
+ web_contents->GetRenderViewHost()->SetInitialFocus(reverse);
+}
+
+
ASSERT_ENUMS_MATCH(WebEngineContextMenuData::MediaTypeNone, blink::WebContextMenuData::kMediaTypeNone)
ASSERT_ENUMS_MATCH(WebEngineContextMenuData::MediaTypeImage, blink::WebContextMenuData::kMediaTypeImage)
ASSERT_ENUMS_MATCH(WebEngineContextMenuData::MediaTypeVideo, blink::WebContextMenuData::kMediaTypeVideo)
@@ -265,25 +282,22 @@ void WebContentsViewQt::UpdateDragCursor(blink::WebDragOperation dragOperation)
#endif // QT_CONFIG(draganddrop)
}
-void WebContentsViewQt::TakeFocus(bool reverse)
+void WebContentsViewQt::GotFocus(content::RenderWidgetHostImpl* render_widget_host)
{
- m_client->passOnFocus(reverse);
+ content::WebContentsImpl *web_contents = static_cast<content::WebContentsImpl*>(m_webContents);
+ web_contents->NotifyWebContentsFocused(render_widget_host);
}
-void WebContentsViewQt::FocusThroughTabTraversal(bool reverse)
+void WebContentsViewQt::LostFocus(content::RenderWidgetHostImpl* render_widget_host)
{
content::WebContentsImpl *web_contents = static_cast<content::WebContentsImpl*>(m_webContents);
- if (web_contents->ShowingInterstitialPage()) {
- web_contents->GetInterstitialPage()->FocusThroughTabTraversal(reverse);
- return;
- }
- content::RenderWidgetHostView *fullscreen_view = web_contents->GetFullscreenRenderWidgetHostView();
- if (fullscreen_view) {
- fullscreen_view->Focus();
- return;
- }
- web_contents->GetRenderViewHost()->SetInitialFocus(reverse);
+ web_contents->NotifyWebContentsLostFocus(render_widget_host);
}
+void WebContentsViewQt::TakeFocus(bool reverse)
+{
+ if (m_webContents->GetDelegate())
+ m_webContents->GetDelegate()->TakeFocus(m_webContents, reverse);
+}
} // namespace QtWebEngineCore
diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h
index 7cd3910f2..ec09f9aae 100644
--- a/src/core/web_contents_view_qt.h
+++ b/src/core/web_contents_view_qt.h
@@ -69,6 +69,7 @@ public:
void setClient(WebContentsAdapterClient* client);
WebContentsAdapterClient *client() { return m_client; }
+ // content::WebContentsView overrides:
content::RenderWidgetHostViewBase *CreateViewForWidget(content::RenderWidgetHost* render_widget_host, bool is_guest_view_hack) override;
void CreateView(const gfx::Size& initial_size, gfx::NativeView context) override;
@@ -107,6 +108,14 @@ public:
gfx::Rect GetViewBounds() const override { return gfx::Rect(); }
+ void FocusThroughTabTraversal(bool reverse) override;
+
+#if defined(OS_MACOSX)
+ void CloseTabAfterEventTracking() override { QT_NOT_YET_IMPLEMENTED }
+ bool IsEventTracking() const override { QT_NOT_YET_IMPLEMENTED; return false; }
+#endif // defined(OS_MACOSX)
+
+ // content::RenderViewHostDelegateView overrides:
void StartDragging(const content::DropData& drop_data, blink::WebDragOperationsMask allowed_ops,
const gfx::ImageSkia& image, const gfx::Vector2d& image_offset,
const content::DragEventSourceInfo& event_info,
@@ -116,16 +125,10 @@ public:
void ShowContextMenu(content::RenderFrameHost *, const content::ContextMenuParams &params) override;
+ void GotFocus(content::RenderWidgetHostImpl *render_widget_host) override;
+ void LostFocus(content::RenderWidgetHostImpl *render_widget_host) override;
void TakeFocus(bool reverse) override;
- void FocusThroughTabTraversal(bool reverse) override;
-
-
-#if defined(OS_MACOSX)
- void CloseTabAfterEventTracking() override { QT_NOT_YET_IMPLEMENTED }
- bool IsEventTracking() const override { QT_NOT_YET_IMPLEMENTED; return false; }
-#endif // defined(OS_MACOSX)
-
private:
content::WebContents *m_webContents;
WebContentsAdapterClient *m_client;
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 3290fe448..9826ebfe2 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -348,12 +348,16 @@ void QQuickWebEngineViewPrivate::runFileChooser(QSharedPointer<FilePickerControl
ui()->showFilePicker(controller);
}
-void QQuickWebEngineViewPrivate::passOnFocus(bool reverse)
+bool QQuickWebEngineViewPrivate::passOnFocus(bool reverse)
{
Q_Q(QQuickWebEngineView);
// The child delegate currently has focus, find the next one from there and give it focus.
QQuickItem *next = q->scopedFocusItem()->nextItemInFocusChain(!reverse);
- next->forceActiveFocus(reverse ? Qt::BacktabFocusReason : Qt::TabFocusReason);
+ if (next) {
+ next->forceActiveFocus(reverse ? Qt::BacktabFocusReason : Qt::TabFocusReason);
+ return true;
+ }
+ return false;
}
void QQuickWebEngineViewPrivate::titleChanged(const QString &title)
diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
index e625e0ccc..aa0a765f8 100644
--- a/src/webengine/api/qquickwebengineview_p_p.h
+++ b/src/webengine/api/qquickwebengineview_p_p.h
@@ -133,7 +133,7 @@ public:
void didFindText(quint64, int) override;
void didPrintPage(quint64 requestId, QSharedPointer<QByteArray>) override;
void didPrintPageToPdf(const QString &filePath, bool success) override;
- void passOnFocus(bool reverse) override;
+ bool passOnFocus(bool reverse) override;
void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) override;
void authenticationRequired(QSharedPointer<QtWebEngineCore::AuthenticationDialogController>) override;
void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) override;
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 696b6723f..9c6749f39 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -456,10 +456,11 @@ void QWebEnginePagePrivate::didPrintPage(quint64 requestId, QSharedPointer<QByte
#endif
}
-void QWebEnginePagePrivate::passOnFocus(bool reverse)
+bool QWebEnginePagePrivate::passOnFocus(bool reverse)
{
if (view)
- view->focusNextPrevChild(!reverse);
+ return view->focusNextPrevChild(!reverse);
+ return false;
}
void QWebEnginePagePrivate::authenticationRequired(QSharedPointer<AuthenticationDialogController> controller)
@@ -1789,9 +1790,11 @@ void QWebEnginePagePrivate::setToolTip(const QString &toolTipText)
}
// Update tooltip if text was changed.
- QString escapedTip = toolTipText.toHtmlEscaped().left(MaxTooltipLength);
- if (view->toolTip() != escapedTip)
- view->setToolTip(escapedTip);
+ QString wrappedTip = QLatin1String("<p style=\"white-space:pre\">")
+ % toolTipText.toHtmlEscaped().left(MaxTooltipLength)
+ % QLatin1String("</p>");
+ if (view->toolTip() != wrappedTip)
+ view->setToolTip(wrappedTip);
}
void QWebEnginePagePrivate::printRequested()
diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h
index 0db462a0a..5feefeb0e 100644
--- a/src/webenginewidgets/api/qwebenginepage_p.h
+++ b/src/webenginewidgets/api/qwebenginepage_p.h
@@ -127,7 +127,7 @@ public:
void didFindText(quint64 requestId, int matchCount) override;
void didPrintPage(quint64 requestId, QSharedPointer<QByteArray> result) override;
void didPrintPageToPdf(const QString &filePath, bool success) override;
- void passOnFocus(bool reverse) override;
+ bool passOnFocus(bool reverse) override;
void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) override;
void authenticationRequired(QSharedPointer<QtWebEngineCore::AuthenticationDialogController>) override;
void releaseProfile() override;