summaryrefslogtreecommitdiffstats
path: root/src/core/profile_io_data_qt.h
Commit message (Collapse)AuthorAgeFilesLines
* 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>