diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-03-12 15:51:11 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-03-13 10:13:37 +0100 |
commit | 6e356d55c8eabcc96223e25182458b78378dd5a4 (patch) | |
tree | c13b6a0c52a253966ae588c2252b33d5f8392a60 /src/core/web_contents_delegate_qt.cpp | |
parent | f4c03d68cff2b107fe19dfe210e0207215c04f2d (diff) | |
parent | 2cf54e48922a7d379fb7e212966d05bc402e475d (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.cpp | 16 |
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 |