summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_delegate_qt.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-12 15:51:11 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-13 10:13:37 +0100
commit6e356d55c8eabcc96223e25182458b78378dd5a4 (patch)
treec13b6a0c52a253966ae588c2252b33d5f8392a60 /src/core/web_contents_delegate_qt.cpp
parentf4c03d68cff2b107fe19dfe210e0207215c04f2d (diff)
parent2cf54e48922a7d379fb7e212966d05bc402e475d (diff)
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts: src/webengine/api/qquickwebengineview_p_p.h src/webengine/ui_delegates_manager.cpp src/webengine/ui_delegates_manager.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: I8052de4d3b2e68a950832226f6f99e2aafca5505
Diffstat (limited to 'src/core/web_contents_delegate_qt.cpp')
-rw-r--r--src/core/web_contents_delegate_qt.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp
index 1d63997f0..a2e6f192a 100644
--- a/src/core/web_contents_delegate_qt.cpp
+++ b/src/core/web_contents_delegate_qt.cpp
@@ -62,6 +62,8 @@
#include "content/public/common/url_constants.h"
#include "content/public/common/web_preferences.h"
+namespace QtWebEngineCore {
+
// Maps the LogSeverity defines in base/logging.h to the web engines message levels.
static WebContentsAdapterClient::JavaScriptConsoleMessageLevel mapToJavascriptConsoleMessageLevel(int32 messageLevel) {
if (messageLevel < 1)
@@ -143,6 +145,11 @@ void WebContentsDelegateQt::DidStartProvisionalLoadForFrame(content::RenderFrame
{
if (is_error_page) {
m_loadingErrorFrameList.append(render_frame_host->GetRoutingID());
+
+ // Trigger LoadStarted signal for main frame's error page only.
+ if (!render_frame_host->GetParent())
+ m_viewClient->loadStarted(toQt(validated_url), true);
+
return;
}
@@ -172,7 +179,7 @@ void WebContentsDelegateQt::DidFailLoad(content::RenderFrameHost* render_frame_h
if (m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID()) || render_frame_host->GetParent())
return;
- m_viewClient->loadFinished(false, toQt(validated_url), error_code, toQt(error_description));
+ m_viewClient->loadFinished(false /* success */ , toQt(validated_url), false /* isErrorPage */, error_code, toQt(error_description));
m_viewClient->loadProgressChanged(0);
}
@@ -181,6 +188,11 @@ void WebContentsDelegateQt::DidFinishLoad(content::RenderFrameHost* render_frame
if (m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID())) {
Q_ASSERT(validated_url.is_valid() && validated_url.spec() == content::kUnreachableWebDataURL);
m_viewClient->iconChanged(QUrl());
+
+ // Trigger LoadFinished signal for main frame's error page only.
+ if (!render_frame_host->GetParent())
+ m_viewClient->loadFinished(true /* success */, toQt(validated_url), true /* isErrorPage */);
+
return;
}
@@ -344,3 +356,5 @@ void WebContentsDelegateQt::geolocationPermissionReply(const QUrl &origin, bool
m_geolocationPermissionRequests.remove(origin);
}
}
+
+} // namespace QtWebEngineCore