summaryrefslogtreecommitdiffstats
path: root/src/core/profile_io_data_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash in UI thread after deletion of profile io data on IO threadKirill Burtsev2021-07-221-5/+7
| | | | | | | | | | | | | | Access happen if io data was removed in io thread by posted task earlier than shutdown call. Ammends a5e627160c ==853575==ERROR: AddressSanitizer: heap-use-after-free on address ... READ of size 1 at 0x6120001946c0 thread T0 #0 QtWebEngineCore::ProfileIODataQt::shutdownOnUIThread() profile_io_data_qt.cpp:109:9 #1 QtWebEngineCore::ProfileQt::~ProfileQt() profile_qt.cpp:117:22 Change-Id: Ia5b7710553e80cbb95bde0855093d31a60781c2b Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 95a166e60bf8a23001adc3cdbd90a3b10340b11f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-131-2/+6
| | | | | | Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 1d988d971bc4270ba3d148e8e2c143bf8f625b6e)
* Remove deprecated useforglobalcertificateverificationPeter Varga2021-07-061-3/+0
| | | | | | | | | | | | | It enabled an unrecommended OCSP path on Linux [ChangeLog] (Q)WebEngineSettings::useForGlobalCertificateVerification has been removed. Task-number: QTBUG-91467 Change-Id: I9f5d1ad5e4fcb59abd31e6a133ded7bf8319c811 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> (cherry picked from commit 8f7a386a5228428122813ebea1d7489783b00633) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix crashes on profile clearHttpCacheMichal Klocek2021-06-251-0/+6
| | | | | | | | | | | | | | | | | | | | Destorying profile while clearCahceHttp is running ends badly. Fix issue reported by address sanitizer: ================================================================= ==561623==ERROR: AddressSanitizer: global-buffer-overflow on address .... #0 content::BrowserContext::GetBrowsingDataRemover(content::BrowserContext*) #1 QtWebEngineCore::ProfileIODataQt::removeBrowsingDataRemoverObserver() #2 QtWebEngineCore::BrowsingDataRemoverObserverQt::OnBrowsingDataRemoverDone(unsigned long) #3 ontent::BrowsingDataRemoverImpl::~BrowsingDataRemoverImpl() #5 std::default_delete<base::SupportsUserData::Data>::operator()(base::SupportsUserData::Data*) =================================================================== Change-Id: Ic021a5e4a0a841f3528cd77952493f4a627b81a6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a5e627160cf9a05ce0dd92e541d44b1861eb84c0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Allow leaving OCSP offAllan Sandfeld Jensen2021-05-031-0/+3
| | | | | | | | | | This form of OCSP is not good, so try to at least allow it to be disabled, until we remove it. Fixes: QTBUG-91467 Change-Id: Ied9e8c4960e6ea1503dea39ebbced2ad1af08d5d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 86Allan Sandfeld Jensen2021-01-131-1/+1
| | | | | Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 85Allan Sandfeld Jensen2021-01-131-2/+0
| | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 84Allan Sandfeld Jensen2021-01-131-11/+9
| | | | | Change-Id: I359805d0bea84147fca6de2e2c7b17b4dcb17bc7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Re-enable client certificate handling when Qt is build without SSLAllan Sandfeld Jensen2020-08-041-1/+1
| | | | | | | | We only need the QSslCertificate which is always available. Task-number: QTBUG-85117 Change-Id: I32e2034060e610ac049d8e3b2a03660e9bf7e7a4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Return valid path in Profile::GetPath() for incognito profilesAllan Sandfeld Jensen2020-06-291-3/+5
| | | | | | | | | | | | | Parts of Chromium depends on it for temporary directories it creates. This also changes the logic of depending on it being empty as indicating an in memory profile, so it required a bit of cleaning up. Note this does subtly change the return value of off-the-record profiles. Task-number: QTBUG-62957 Change-Id: Iec6e24556128c515fce27803171a766b8a9d92e3 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Avoid the network context reset during http cache clearTamas Zakor2020-04-231-0/+38
| | | | | | | | | | Reinstate BrowsingDataRemoverObserverQt() to check if http cache clearing is in-progress or done. ProfileIODataQt::resetNetworkContext() should not be called during http cache clearing because it causes an assert. Call it after the clearing is done. Change-Id: I6750341ff23f704ba547c913f40b0cec92b1cc43 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Cleanup interceptors in profileMichal Klocek2020-04-201-43/+0
| | | | | Change-Id: Ibc6d63845601b8189ac38bacc77885327284c81f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* ProfileIODataQt: remove more remains of non network service codeJüri Valdmann2020-04-101-184/+1
| | | | | | Task-number: QTBUG-83394 Change-Id: Ib1b4431ac75ae7e988bf62580e2bfb690840f54a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* ProfileIODataQt: remove remains of non network service codeKirill Burtsev2020-03-141-40/+7
| | | | | Change-Id: Ia11429880d6a40561bccd2feaddcae584cd34dac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix cookie persistency settingsAllan Sandfeld Jensen2020-03-031-2/+2
| | | | | | | Changed to match our settings from non-networkservice. Change-Id: Ib4813b2513dcae4b77d393ea1cd6d8db61852edd Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Improvements to dynamic update of profilesAllan Sandfeld Jensen2020-03-021-2/+3
| | | | | | | | | Avoid reseting network-context on accept-language change, and trigger update of url-loaders when customer schemes change, but not when a set of none are cleared. Change-Id: Iad268b7066cfd3854348f9a103120c4a104be7af Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-7/+2
| | | | | | | | Fixes: QTBUG-80737 Fixes: QTBUG-81556 Fixes: QTBUG-81614 Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-12/+7
| | | | | | | | | | Including removal of renderer service. [ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and XSSAuditingEnabled no longer has any effect. Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix changing profile settings with network serviceJüri Valdmann2020-02-261-0/+13
| | | | | | | Fixes: QTBUG-81558 Change-Id: I6f6d1b927d0f20d99477dce21697d4a03f61c059 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove non-NetworkService support classesAllan Sandfeld Jensen2020-02-041-445/+3
| | | | | | | | Removes much of the specific code for non-networksupport, classes that won't work or even compile with 78/79 based. Change-Id: I150794a55164998fa3d0031757718081fa7d7d9a Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Switch network-service to default onAllan Sandfeld Jensen2020-01-301-3/+3
| | | | | | | | | Task-number: QTBUG-79890 Task-number: QTBUG-81556 Task-number: QTBUG-81557 Task-number: QTBUG-81614 Change-Id: I4c81ca1b1fb9c9595c1f670706948fcbe65bcd33 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Prospective build fix for missing QVariant includeMichael Brüning2019-12-101-0/+1
| | | | | | | | QVariant seems to be missing from the indirect includes now. Change-Id: Ic945b99bbe34726b28d1e272988d8cb0d4c2ea76 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement proxy config for network serviceJüri Valdmann2019-12-051-8/+12
| | | | | Change-Id: Iaf0d68394eb0555ee1a14a8b7488567645d0f2df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Experimental network-service supportAllan Sandfeld Jensen2019-12-051-0/+71
| | | | | | | | | | | | | | | | | | | | | | Is default off, enable with --enable-network-service. Done: * Basic browsing * Basic profile settings * Custom URL schemes * UI-thread interceptors * CookieStore API * CookieStore filters * CookieStore changed events Missing: * deprecated interceptors * complete profile settings * cleanup of system network-context * proxy settings Change-Id: I6af92da40147b968a938d1263df54c4cfe7bcf6d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge branch '5.13' into 5.14Allan Sandfeld Jensen2019-10-301-1/+9
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
| * FIXUP: Fix page and profile interceptors initializationMichal Klocek2019-10-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Previous commit showed an issue when interceptors are set before URLRequestContextGetterQt is created. The initial initialization was done on updateStorageSettings() which only affected profile interceptor initialization. Add explicit updateRequestInterceptor call to have profile and page interceptors initialized. This fixes also the issue of not set properly 'deprecated' flag. Change-Id: I0dda9eff67a2d779f4c9693920077a5aac2d9122 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix life cycle issue of QWebEngineUrlRequestInterceptorMichal Klocek2019-10-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Since 5e92adf intercept() is called on ui thread, however this patch does not consider deletion of interceptor while io thread still process the request and for examples checks interceptor's deprecated property. Fix it. Note this only fixes issue for interceptors which are not deprecated therefore run on ui thread. Change-Id: I5d5909065563e57a0cacb81fd04271b3f88596de Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-6/+46
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 76Allan Sandfeld Jensen2019-10-111-16/+16
| | | | | | | | | | Change-Id: Id6d18a3854b572334dc1d65f1916b8991a740cd2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Use ProtocolHandlerRegistry with network serviceJüri Valdmann2019-10-111-7/+1
| | | | | | | | | | Change-Id: Ia7448fb1406536822dd245cfdb6fe7c1cf19e211 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-09-241-5/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/glibc/glibc.cpp src/3rdparty src/core/configure.json src/core/profile_io_data_qt.cpp src/webengine/configure.json src/webenginewidgets/api/qwebenginepage.cpp tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I3e1781048c3cb09bfbf7427dfc5dd1fec11a2b97
| * Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-08-111-1/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: I64b46801bbaac4e96e32fece30f24f1d6cfc97a4
| | * Fix use-after-free of HostResolverJüri Valdmann2019-07-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Create one HostResolver per profile to avoid use-after-free in NetworkHintsMessageFilter (5.12) or NetworkContext (5.13). Fixes: QTBUG-75884 Change-Id: Ic1a2973b4fb0aed6bd0fa1bb9a1d7c3012c30fe0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Fix automatic NTLM authentication by backporting server white list supportAllan Sandfeld Jensen2019-05-291-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support --auth-server-whitelist Read it and pass it to an HttpAuthPreference. Change-Id: I37c23f4d777ff11b2c0480fa9c28ea6fbe029737 Task-number: QTBUG-75539 Task-number: QTBUG-57729 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit b81d7095825cdd4f486e83894c801e596f248936) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Port from QMutex::Recursive to QRecursiveMutexMarc Mutz2019-07-311-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also port from QMutexLocker to std::lock_guard, as the former will not support QRecursiveMutex going forward. Add a guard for Qt < 5.14 to fall back to the old implementation, as this module has to compile against the latest LTS, too. Change-Id: Ib247135326ed199fd5fc783e906e7e3018687570 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-20/+14
| | | | | | | | | | | | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Adaptations for Chromium 74Allan Sandfeld Jensen2019-07-101-1/+0
|/ / | | | | | | | | Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Support --auth-server-whitelistAllan Sandfeld Jensen2019-05-031-8/+8
| | | | | | | | | | | | | | | | Read it and pass it to an HttpAuthPreference. Change-Id: I37c23f4d777ff11b2c0480fa9c28ea6fbe029737 Fixes: QTBUG-75539 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix disabling http cache after 73-basedPeter Varga2019-03-231-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BrowserDataRemoverImpl::Remove() indirectly calls TransportSecurityState::DeleteAllDynamicDataSince() which notifies by a callback about the finished deletion since: https://chromium-review.googlesource.com/c/chromium/src/+/1335939 During the deletion the ProfileIODataQt::requestStorageGeneration() should not be called because it deletes net::TransporSecurityPersister which background_runner is where the finished deletion callback is scheduled. Change-Id: I4782d701f706ed7c8e104a78ba84a27183166fa4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-1/+1
| | | | | | | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-5/+4
| | | | | | | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix -no-ssl buildv5.13.0-beta1Peter Varga2019-03-071-0/+10
| | | | | | | | | | Change-Id: I978f70545484060218f5243c74978c85bc603c16 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Tie client certificate stores to profilesAllan Sandfeld Jensen2019-03-011-1/+10
| | | | | | | | | | | | | | | | Move the client certificate store from being global to being tied to individual profiles. Change-Id: Ib21ae14c501b7d0612b84ae7535120291aeeada2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-151-95/+74
|\| | | | | | | Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
| * Shutdown ProxyResolutionSerivceMichal Klocek2019-02-111-0/+3
| | | | | | | | | | | | | | | | Shut down the ProxyResolutionService before regenerating storage, it may have pending URLRequests. Change-Id: If79efc0bc942762dc48a50a12d74593ff1ee3989 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Reinstate CT verification using known logsAllan Sandfeld Jensen2019-02-041-2/+11
| | | | | | | | | | | | | | | | Lost in the transition to Chromium 69 as the function we were using no longer exists. Reimplemented by how it is now done in NetworkContext. Change-Id: I05c986f2941c7d5f2b8641adc8c619ec3f75e0b1 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Fix recreation of cookie store and channel id serviceMichal Klocek2019-01-091-88/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Cleanup client cert store filesAllan Sandfeld Jensen2019-02-111-0/+12
| | | | | | | | | | | | | | | | The files were not in the right places and wasn't split correctly in domains. Change-Id: Ia0d3b1c8f9bc6082f338a09cb64c4bb4b1aa16ad Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/dev' into 5.13Michael Brüning2019-02-051-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h Change-Id: I3da791a82dab56fd7535ba1e4c0ab1d9ca74f547
| * | Add extension system and PDF viewer to Qt WebEngineMichael Brüning2019-02-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the Chromium extensiuon system to Qt WebEngine. Currently, it only exposes internal APIs to the internal PDF viewer extension. To load a PDF, simply navigate to it. This feature can be configured via the webengine-extensions flag and is turned on by default. Needs patch in Chromium 71-based to build. Adaptations to 71-based from 69-based include: * Flag out update installation, add crx file dependency * Move PostTask over to 71-based implementation * Move extensions API providers to 71-based implementaion * Don't use custom guest view and mime handler view delegates * Adapt the URLRequestResourceBundleJob to match new interface * Move extension system initialization to end of profile constructor Change-Id: I4fa5149057291bb5847f048534c11820cd7ff58c Fixes: QTBUG-50556 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>