mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-24 12:46:35 +01:00
Fix crash when restoring history of internal pages with QtWebEngine 5.8
Closes #2302
This commit is contained in:
parent
0148b7aaff
commit
8e16efc1bf
@ -258,12 +258,6 @@ QRect WebView::scrollBarGeometry(Qt::Orientation orientation) const
|
||||
return s && s->isVisible() ? s->geometry() : QRect();
|
||||
}
|
||||
|
||||
void WebView::restoreHistory(const QByteArray &data)
|
||||
{
|
||||
QDataStream stream(data);
|
||||
stream >> *history();
|
||||
}
|
||||
|
||||
QWidget *WebView::inputWidget() const
|
||||
{
|
||||
return m_rwhvqt ? m_rwhvqt : const_cast<WebView*>(this);
|
||||
|
@ -60,8 +60,6 @@ public:
|
||||
QPointF mapToViewport(const QPointF &pos) const;
|
||||
QRect scrollBarGeometry(Qt::Orientation orientation) const;
|
||||
|
||||
void restoreHistory(const QByteArray &data);
|
||||
|
||||
void addNotification(QWidget* notif);
|
||||
bool eventFilter(QObject *obj, QEvent *event);
|
||||
|
||||
|
@ -300,11 +300,6 @@ void WebTab::attach(BrowserWindow* window)
|
||||
m_tabIcon->updateIcon();
|
||||
}
|
||||
|
||||
void WebTab::setHistoryData(const QByteArray &data)
|
||||
{
|
||||
m_webView->restoreHistory(data);
|
||||
}
|
||||
|
||||
QByteArray WebTab::historyData() const
|
||||
{
|
||||
if (isRestored()) {
|
||||
@ -413,7 +408,18 @@ void WebTab::restoreTab(const WebTab::SavedTab &tab)
|
||||
void WebTab::p_restoreTab(const QUrl &url, const QByteArray &history, int zoomLevel)
|
||||
{
|
||||
m_webView->load(url);
|
||||
m_webView->restoreHistory(history);
|
||||
|
||||
// Restoring history of internal pages crashes QtWebEngine 5.8
|
||||
static const QStringList blacklistedSchemes = {
|
||||
QSL("view-source"),
|
||||
QSL("chrome")
|
||||
};
|
||||
|
||||
if (!blacklistedSchemes.contains(url.scheme())) {
|
||||
QDataStream stream(history);
|
||||
stream >> *m_webView->history();
|
||||
}
|
||||
|
||||
m_webView->setZoomLevel(zoomLevel);
|
||||
m_webView->setFocus();
|
||||
}
|
||||
|
@ -73,7 +73,6 @@ public:
|
||||
void detach();
|
||||
void attach(BrowserWindow* window);
|
||||
|
||||
void setHistoryData(const QByteArray &data);
|
||||
QByteArray historyData() const;
|
||||
|
||||
void stop();
|
||||
|
Loading…
Reference in New Issue
Block a user