diff options
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index b1bf33067..3d206db9f 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -200,13 +200,21 @@ void QWebEnginePagePrivate::loadFinished(bool success, const QUrl &url, bool isE Q_UNUSED(errorCode); Q_UNUSED(errorDescription); - if (isErrorPage) + if (isErrorPage) { + Q_ASSERT(settings->testAttribute(QWebEngineSettings::ErrorPageEnabled)); + Q_ASSERT(success); + Q_EMIT q->loadFinished(false); return; + } isLoading = false; if (success) explicitUrl = QUrl(); - Q_EMIT q->loadFinished(success); + // Delay notifying failure until the error-page is done loading. + // Error-pages are not loaded on failures due to abort. + if (success || errorCode == -3 /* ERR_ABORTED*/ || !settings->testAttribute(QWebEngineSettings::ErrorPageEnabled)) { + Q_EMIT q->loadFinished(success); + } updateNavigationActions(); } @@ -870,7 +878,7 @@ void QWebEnginePage::triggerAction(WebAction action, bool) break; case ToggleMediaMute: if (d->m_menuData.mediaUrl.isValid() && d->m_menuData.mediaFlags & WebEngineContextMenuData::MediaHasAudio) { - bool enable = (d->m_menuData.mediaFlags & WebEngineContextMenuData::MediaMuted); + bool enable = !(d->m_menuData.mediaFlags & WebEngineContextMenuData::MediaMuted); d->adapter->executeMediaPlayerActionAt(d->m_menuData.pos, WebContentsAdapter::MediaPlayerMute, enable); } break; |