diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-01-29 15:57:18 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-01-31 21:31:45 +0000 |
commit | ef1f608f76f02f11b4bdcc8d52fa41cdf4cdf5c3 (patch) | |
tree | 047a52a007af9f835f077d5061861557296ae7a8 /src/webenginewidgets/api/qwebenginescriptcollection.cpp | |
parent | 23c652c3c1680f42adfd5c6500280b103ce1d095 (diff) |
Preserve webchannel and userscripts when restoring history
Most page-state is set in webcontentsadapter::initialize except user
scripts and webchannel. This patch ensures those are initialized too
when changing to a new adapter during history restore.
Change-Id: I4dca23ddab50480b1a72252a038834ce1802ad77
Task-number: QTBUG-50751
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: David Rosca <nowrep@gmail.com>
Diffstat (limited to 'src/webenginewidgets/api/qwebenginescriptcollection.cpp')
-rw-r--r-- | src/webenginewidgets/api/qwebenginescriptcollection.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebenginescriptcollection.cpp b/src/webenginewidgets/api/qwebenginescriptcollection.cpp index 9967cde85..117c35b5a 100644 --- a/src/webenginewidgets/api/qwebenginescriptcollection.cpp +++ b/src/webenginewidgets/api/qwebenginescriptcollection.cpp @@ -220,3 +220,15 @@ void QWebEngineScriptCollectionPrivate::reserve(int capacity) { m_scriptController->reserve(m_contents, capacity); } + +void QWebEngineScriptCollectionPrivate::rebindToContents(QtWebEngineCore::WebContentsAdapter *page) +{ + Q_ASSERT(m_contents); + Q_ASSERT(page); + Q_ASSERT(m_contents != page); + + Q_FOREACH (const UserScript &script, m_scriptController->registeredScripts(m_contents)) { + m_scriptController->addUserScript(script, page); + } + m_contents = page; +} |