summaryrefslogtreecommitdiffstats
path: root/src/core/profile_io_data_qt.h
Commit message (Collapse)AuthorAgeFilesLines
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-131-1/+6
| | | | | | Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 1d988d971bc4270ba3d148e8e2c143bf8f625b6e)
* Remove outdated QT_VERSION_CHECKsAllan Sandfeld Jensen2021-07-091-5/+0
| | | | | | | Change-Id: I4c4b78af0bd7da5912b5e0136f9cfdb3c4268a7e Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io> (cherry picked from commit e62dde53f093dd2c404a65cf99e854081396632b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Clean up includes, forward declarations and friends in core apiPeter Varga2021-07-081-0/+1
| | | | | | | Change-Id: I58e2dc2443bca75b0d315694c9f6503251a7be02 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 8c30f95f2a9b5de6d638f68bd3ab2bdaac7e1995) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Clean up header includes and forward declarations in corePeter Varga2021-02-041-1/+0
| | | | | Change-Id: Ia90172f47f0f6349de9a21f6567bda92a156216c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove even more remains of non network service codePeter Varga2021-01-251-1/+0
| | | | | Change-Id: I6fa93ca7ee18f2ac6ae64d59c4dba30b82a6aa54 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* 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-1/+0
| | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 84Allan Sandfeld Jensen2021-01-131-1/+4
| | | | | Change-Id: I359805d0bea84147fca6de2e2c7b17b4dcb17bc7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Return valid path in Profile::GetPath() for incognito profilesAllan Sandfeld Jensen2020-06-291-0/+2
| | | | | | | | | | | | | 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-1/+20
| | | | | | | | | | 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-10/+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-48/+0
| | | | | | 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-8/+4
| | | | | Change-Id: Ia11429880d6a40561bccd2feaddcae584cd34dac Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-8/+0
| | | | | | | | | | 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/+1
| | | | | | | 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-35/+0
| | | | | | | | 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>
* Implement proxy config for network serviceJüri Valdmann2019-12-051-0/+2
| | | | | Change-Id: Iaf0d68394eb0555ee1a14a8b7488567645d0f2df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Experimental network-service supportAllan Sandfeld Jensen2019-12-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | 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/+3
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
| * Fix life cycle issue of QWebEngineUrlRequestInterceptorMichal Klocek2019-10-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+17
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Use ProtocolHandlerRegistry with network serviceJüri Valdmann2019-10-111-1/+8
| | | | | | | | | | 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-0/+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-0/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: I64b46801bbaac4e96e32fece30f24f1d6cfc97a4
| | * Fix use-after-free of HostResolverJüri Valdmann2019-07-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Port from QMutex::Recursive to QRecursiveMutexMarc Mutz2019-07-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+0
|/ / | | | | | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Fix -Wmismatched-tags warningPeter Varga2019-03-271-1/+1
| | | | | | | | | | Change-Id: I671e02850109e26c60771f583a3b5f29a1220452 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix disabling http cache after 73-basedPeter Varga2019-03-231-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix -no-ssl buildv5.13.0-beta1Peter Varga2019-03-071-0/+4
| | | | | | | | | | Change-Id: I978f70545484060218f5243c74978c85bc603c16 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Tie client certificate stores to profilesAllan Sandfeld Jensen2019-03-011-0/+3
| | | | | | | | | | | | | | | | 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-3/+2
|\| | | | | | | Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
| * Fix recreation of cookie store and channel id serviceMichal Klocek2019-01-091-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+3
| | | | | | | | | | | | | | | | 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/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | 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/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Move QWebEngineUrlRequestInterceptor::intercept to ui threadMichal Klocek2019-02-041-0/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently interceptor sufferers thread safety issues, when custom profiles are deleted, interceptor is set to be nullptr, however it can be still referenced in IO thread. Since profile was split to ui and io part, where io part can outlive the ui part, this can boost thread safety issues. Since QWebEngineUrlRequestInterceptor is living on ui thread simplify the logic move intercept call to ui thread. This fixes the issue of referencing interceptor in io thread. Add new method to install interceptor setUrlRequestInterceptor, and deprecate old one. Update interceptor install method name on page to match the profile one. Task-number: QTBUG-69844 Change-Id: I5dd2b6b734fd91906cccc6c1408ffbe7b1b4250c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2019-01-181-1/+4
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/net/network_delegate_qt.cpp src/core/profile_io_data_qt.cpp src/core/web_engine_context.h tests/auto/core/qwebengineurlrequestinterceptor/tst_qwebengineurlrequestinterceptor.cpp Change-Id: Id98e3f52f548ceb5b68abd80aedd6ae59db72cc0
| * Lock profile mutex during interceptRequestJüri Valdmann2019-01-021-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes setRequestInterceptor take effect atomically, so it's always safe to delete the interceptor after unsetting it from the profile. On the other hand, we run into a deadlock if the user code tries to wait for a profile operation on the UI thread to finish. It seems quite unlikely though that user code would do that and it would probably still be easier for users to understand and debug than the current non-deterministic use-after-free problems. Task-number: QTBUG-72260 Change-Id: I1784a9d9f00029d440508f0bb076d1081a326758 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-181-0/+3
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/delegated_frame_node.cpp src/core/profile_adapter.cpp src/core/profile_io_data_qt.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp Change-Id: I35ec8480e758bbcb6c5942a5401cb1b6dbdcc428
| * Fix missing TransportSecurityPersisterMichal Klocek2018-12-041-0/+3
| | | | | | | | | | | | | | | | | | Commit d603b7055 introduced TrasnsportSecurityPersister, however it did not survive merge form 5.11 to 5.12. Task-number: QTBUG-69605 Change-Id: I6357af25afcfd5c08aae77695bd2131f1cef6b71 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devAllan Sandfeld Jensen2018-11-051-1/+1
|\| | | | | | | | | | | | | | | | | Conflicts: src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter_client.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: Ibd011c40839c09469218ac4c71a13d0a0b1c9778
| * Merge remote-tracking branch 'origin/5.11' into 5.12Allan Sandfeld Jensen2018-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.json src/3rdparty src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h src/core/login_delegate_qt.cpp src/core/login_delegate_qt.h src/core/net/url_request_context_getter_qt.cpp src/core/net/url_request_context_getter_qt.h src/core/qtwebengine.gni 3rdparty changes: 616a7f558c7e This is expected for us, so don't report it as an error. c30febceaa1b Do not write <protocol>.json to source directory 9e68e4f2d92c Remove incomplete logic to detect AMD K2 CPU's e0ed41c8e90a FIXUP: This is expected for us, so don't report it as an error. f9fd9109b4b7 Fix --single-process --disable-gpu combination not to hit asserts f305d65cc27e Reduce severity level of messages when kDisableGpu switch is used 5e3e5074bb78 Work around MSVC2017 optimizer bug when printing a page usind Pdfium 34f52ec3bae8 Bump maximum number of custom isolated world ids f7a2f8153c82 Fix hunspell::NodeReader::affix_id_for_leaf bounds check 1e80090f7044 Fix resolve_proxy service permissions 2e498629651d Add proxy_resolver_manifest Change-Id: I2b176c80aa315a0ae0a22b5707694fdcd407407b
* | Add setRequestInterceptor to QWebEnginePageAllan Sandfeld Jensen2018-10-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to make page specific intercepts, and is at the same time safer by running in the UI-thread. [ChangeLog][QtWebEngineWidgets][QWebEnginePage] Added setRequestInterceptor, similar to the same call on profile except it operates on a per-page basis and on the UI-thread. Change-Id: Id5a7173156c25d0f030f00b6ef314d283c7c8cdd Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Make it possible to enable OCSP on LinuxAllan Sandfeld Jensen2018-10-171-0/+3
|/ | | | | | | | | | | | | The code follows Chromium and also set a CertNetFetcher on both Linux and macOS, but it appears to be currently unused. [ChangeLog][QWebEngineProfile] A profile can now be designated to download OCSP records and thus enable OCSP verification on Linux. Task-number: QTBUG-58059 Task-number: QTBUG-71164 Change-Id: I84fd34d4351cb7aa4417ce4058f97bad4b8d0cd4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Unfriend NetworkDeleagte from ProfileIODataMichal Klocek2018-08-101-1/+3
| | | | | | | | | | | | | | Directly accessing IOProfileData's m_requestInterceptor from NetworkDelegateQt is not thread safe, unfriend the class. This change does not fix the issue of thread safety of accessing the requestinterceptor from NetworkDelegateQt, it is just a cleanup for following commit. Task-number: QTBUG-69844 Change-Id: I488f8968b38ad200178cea2cb0304e1c93aec711 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Rename BrowserContextAdapter to ProfileAdapterMichal Klocek2018-07-091-5/+4
| | | | | | | | | Follow change of BrowserContextQt to ProfileQt. Fix wrong naming usage of browserContext instead of browserContextAdapter. Change-Id: I75fdac685d9bffd44f0144921d3e87305d6d44c9 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-261-3/+5
| | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Refactor out ProfileIODataQtMichal Klocek2018-05-251-0/+145
Currently we can crash due to use-after-free of browser context, it happens due to fact that resource context has pointer to browser context which is destroyed on ui thread, while resource context is destroyed on io thread. We used url request getter to maintain objects destruction on io thread. Refactor the code and create profile io data, which will live on io thread, move all the objects currently maintained by url request getter qt to newly created class. Fix destruction order and remove references to browser context from resource context. Compared to url request getter, profile io data is not ref counted class and uses weak pointer factory to handle all "generate" requests. Task-number: QTBUG-67865 Change-Id: Iee4fec854eda1c1600d26e991657d4877cbc966f Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>