diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2020-04-21 17:15:24 +0200 |
---|---|---|
committer | Jüri Valdmann <juri.valdmann@qt.io> | 2020-04-26 18:10:27 +0200 |
commit | d4004e30ba9a09f75a810d4734dd6be18616b5e5 (patch) | |
tree | a8596487a8d85a463c5f311c8a7af22a93afef1d /src/core/web_contents_adapter_client.h | |
parent | 80771d0af9d50df86cf78bb67dad4611a0fb0f7b (diff) |
Fix crash if createWindow returns this for AddNewContents
For a QWebEnginePage subclass where createWindow returns the this-pointer, we
get a crash in WebContentsDelegateQt::AddNewContents because AddNewContents
expects the adapter to be adopted already, but QWebEnginePage delays adoption.
Revert 3855015600 by getting rid of the delayed adoption code path. It's not
needed anymore with the delayed initialization of the WebContentsAdapter.
Revert 8a4091c210 by forcing adoption of the adapter even when it doesn't have
contents. This no longer results in a crash since OpenURLFromTab ensures that
the adapter is initialized before use. However, it does result in a behavior
change since return-this now consistently overrides the adapter, so, e.g.
navigation history is now always cleared whereas previously it was only cleared
by the AddNewContents code path. Fixed with new approach in next patch.
Fixes: QTBUG-80596
Change-Id: I4d2230c1bffcf2d77fa59ded9be51da49a820474
Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
Diffstat (limited to 'src/core/web_contents_adapter_client.h')
0 files changed, 0 insertions, 0 deletions