summaryrefslogtreecommitdiffstats
path: root/src/core/profile_io_data_qt.h
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2018-11-27 17:44:22 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2019-01-09 18:47:18 +0000
commitfc382c92021954593e6d8d07ee3f0792c4ad5c17 (patch)
tree3d0d9c6dc50bc0af61c13fb047164995e61f89a6 /src/core/profile_io_data_qt.h
parent846320f5877aafb9c7b319da6c972786805d9c30 (diff)
Fix recreation of cookie store and channel id service
As more things gets mojofy and become services, we can not simply delete parts of storage context. Therefore regenerate whole storage in case of cookie store, cache, agent settings updates. URLRequestContextStorage guards correct order of destruction. This change aims to fix some crashes during cookie store and http cache recreation when ChannelIDService gets deleted. Depending on timing this ends with different stacktraces like in cookie store manager or during ssl handshake. We still keep network delegate outside of storage context to prevent crashes when url requests end their life due to (forced) request cancellation in cancelAllUrlRequests(). Please note this is just band-aid patch, and introduction of 'profile builder' will be a proper fix. Fixes: QTBUG-71895 Change-Id: If33a7af3ebba2632ea33f32d913e1c21a4534817 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/profile_io_data_qt.h')
-rw-r--r--src/core/profile_io_data_qt.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/profile_io_data_qt.h b/src/core/profile_io_data_qt.h
index 5b416861c..2d4706bf4 100644
--- a/src/core/profile_io_data_qt.h
+++ b/src/core/profile_io_data_qt.h
@@ -105,6 +105,8 @@ public:
void updateHttpCache(); // runs on ui thread
void updateJobFactory(); // runs on ui thread
void updateRequestInterceptor(); // runs on ui thread
+ void requestStorageGeneration(); //runs on ui thread
+ void createProxyConfig(); //runs on ui thread
private:
ProfileQt *m_profile;
@@ -140,10 +142,7 @@ private:
int m_httpCacheMaxSize = 0;
bool m_initialized = false;
bool m_updateAllStorage = false;
- bool m_updateCookieStore = false;
- bool m_updateHttpCache = false;
bool m_updateJobFactory = false;
- bool m_updateUserAgent = false;
bool m_ignoreCertificateErrors = false;
base::WeakPtrFactory<ProfileIODataQt> m_weakPtrFactory; // this should be always the last member
QString m_dataPath;