summaryrefslogtreecommitdiffstats
path: root/src/core/profile_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add API to override User Agent Client HintsSzabolcs David2023-12-141-0/+6
| | | | | | | | | | | Implement QWebEngineClientHints class to provide API for each user agent client hints. Task-number: QTBUG-112826 Task-number: QTBUG-112825 Change-Id: I3091d60fb363bbafc16c8e48195c1fd82e8a81bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Chromium 118 adaptationsAllan Sandfeld Jensen2023-12-091-2/+2
| | | | | Change-Id: I8eea99a472cc597ff9864b570c90b28b79b3751e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Clean up header includes around ProfileQtPeter Varga2023-09-131-26/+2
| | | | | | Change-Id: I51e6e52ebb36b57c18537b054db6f3d25f75a4fc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix crashing PDF viewer after changing the storage pathSzabolcs David2023-08-021-1/+23
| | | | | | | | | | | | | Changing the storage path (and recreating PrefService) caused a crash in the extension system, because the pointer of the old PrefService was dangling in ExtensionPrefs. Recreating it as well seems to be the nicest way to update its dangling part. Pick-to: 6.5 6.6 Task-number: QTBUG-115188 Change-Id: I46321b1737432c7d1cd6ec41c76e7803e69f2011 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove setPushServiceEndpoint from APIMichal Klocek2022-12-221-6/+1
| | | | | | | | | | Use setPushServiceEnabled instead. Update also getter and documentation. Task-number: QTBUG-107442 Pick-to: 6.5 Change-Id: I299ce88b06edef0f1a0088fb10f4a142056039be Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add Support for Client Hints HeadersAllan Sandfeld Jensen2022-12-041-1/+2
| | | | | | | | | [ChangeLog][WebEngineCore] Client hint headers now added to HTTP requests Fixes: QTBUG-107451 Change-Id: I450fe1fe782b702fc81a3d90c82c0ece6a19ea45 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-281-4/+5
| | | | | | Change-Id: I2fe91c06ce91dfaace7825a0589b56ee375479b6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Enable Push MessagingSzabolcs David2022-09-121-1/+32
| | | | | | | | | | | | | | | | | | Use Chrome's implementation of PushMessagingService. This feature relies on notification permissions, so it is not different from Web Notification from end-users perspective. We don't persist push subscriptions, because it seems these have to be consistent with persisting notification permissions. Make address of push service configurable by a profile setting. It is empty by default - which means the feature is disabled until the user sets the address of a push service. Task-number: QTBUG-98904 Task-number: QTBUG-53457 Change-Id: If44f459fecf2da482c28fee5562f62fe40de103e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Update ChromiumAllan Sandfeld Jensen2022-06-131-0/+11
| | | | | | | | | | | | Submodule src/3rdparty 6559e00a3..88398c89a7b: > Fix broken bundled zlib for cross compilation > FIXUP: Fix url_utils for QtWebEngine > Make sure we do not compile minizip from 3rdparty > Trim down some dependencies of push messaging Pick-to: 6.4 Change-Id: I3062f536fd144d00f72ea783ddcc56931a46a98f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement File System Access permission APISzabolcs David2022-05-261-0/+6
| | | | | | | | | | | | Allow web pages to safely access the local file system by exposing a permission API. Permissions are stored in-memory. The built-in access rules are the same as the behavior of Chrome: JS can't request access to system libraries, sensitive directories and the application itself. Task-number: QTBUG-97829 Change-Id: Ic675422cafbad5a90243b4fa8f0749c46afa192c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chrome 96Allan Sandfeld Jensen2022-03-291-19/+1
| | | | | Change-Id: I40039658762b8788a0be57bd186efab71f3e4448 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 91Allan Sandfeld Jensen2021-12-021-31/+1
| | | | | Change-Id: Ie0236697615fd67e4f53df3dca013ce39628cc29 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-4/+5
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Replace FaviconManager with Chromium's Favicon ComponentPeter Varga2021-06-041-0/+18
| | | | | | Task-number: QTBUG-51184 Change-Id: Ie050cb23f2c86841a66ec384bfbcdf0713cffa7c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Do not flush messages form profile destructorMichal Klocek2021-02-231-2/+0
| | | | | | | | | | | | | Flush ui messages in profile adapter instead, otherwise we will refer to already destroyed adapter (which we track by qpointer), if some ui messages are being processed. Note profile adapter owns profile so it should be fine to notify about coming browser context destruction. Pick-to: 5.15 Change-Id: Idaa29a459c984ca73d1f5f9ca61b96c9b4017259 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crashes on BrowserContext destructionMichal Klocek2021-02-161-0/+1
| | | | | | | | | | | | | When destroying WebEngineProile we send notifications like content::BrowserContext::NotifyWillBeDestroyed, this works well with global profile where there is no more render process around, moreover we still pump ui messages before we destroy profile. However, with user profiles we destruct BorwserContext and there can be still RenderProcessHost using it. Flush messages before running BrowserContext destructor. Change-Id: I4d8cda2bc1e2ae3dc0781bf3570a36db7d07223a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update chromium + simplify snapshotAllan Sandfeld Jensen2020-03-111-1/+0
| | | | | | | | | | | | | | | | Simplifies our snapshoting and includes among other files the chrome command-line preference store, which we can use with minor adaptations. Submodule src/3rdparty 07787da4..4ea22135: > Fix build for expanded sources > Merge "Merge remote-tracking branch 'origin/upstream-master' into 79-based" into 79-based > Don't trigger quad blending for opacity > FIXUP: Fix build with gcc 5 > [Backport] Allow restricted clock_nanosleep in Linux sandbox Change-Id: Ibdf7b24c0fbe920edd61f550913dca02ed67cd20 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-0/+5
| | | | | | | | 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-20/+16
| | | | | | | | | | 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>
* Remove non-NetworkService support classesAllan Sandfeld Jensen2020-02-041-14/+1
| | | | | | | | 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>
* Merge branch '5.13' into 5.14Allan Sandfeld Jensen2019-10-301-0/+1
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
| * FIXUP: Fix page and profile interceptors initializationMichal Klocek2019-10-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-20/+5
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-0/+8
| | | | | | | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Persistent storage of preferences between app runsLeander Beernaert2019-06-131-63/+26
|/ | | | | | | | | | | | | | | | | | | | | We can now persist the user preferences to disk at application exit so they are correctly remembered for the next run. The preferences are stored in dataPath()/user_prefs.json. This is managed via the PrefServiceAdapter class. It's not possible to test this in a correct pattern as we require the app to exit properly to be able to guarantee that the preferences are written to disk. The code added in ~PrefServiceAdapter() does not provide any guarantees in the next profile construction that the previous preferences have been written to disk. Fixes: QTBUG-75740 Change-Id: I96bb3037707d90b05b3dfab4f083702351923aee Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-04-301-1/+3
|\ | | | | | | Change-Id: I051052a70a6e764202a90d77fc1a0f73688d3704
| * Take BrowsingDataRemoverDelegateQt instance ownership by ProfileQtKirill Burtsev2019-04-121-1/+3
| | | | | | | | | | | | | | Delegate assumed to be owned and released by BrowserContext instance Change-Id: I1b5dc3ad2ace6f5c40b9f56e7ed7eb6b23b60925 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-4/+25
| | | | | | | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix undefined behavior with extensions disabledAllan Sandfeld Jensen2019-02-151-0/+2
| | | | | | | | | | | | | | Return null as GuestManager. Change-Id: Idcc0a98cd80a38b27dba3d8c04b96af5e0904cad Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix incorrect include of pref_names.hMichal Klocek2019-02-081-1/+1
| | | | | | | | | | | | | | | | kShowInternalAccessibilityTree is not spellchecker related feature. Task-number: QTBUG-73562 Change-Id: Iac2b0d235aae93bcffebe923bfde036d67293074 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Web Notifications APIKirill Burtsev2019-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements API for end-user notifications. Co-authored by Allan Sandfeld Jensen [ChangeLog][Profile] Support for Web Notifications API for end-user notifications through QWebEngineNotification Task-number: QTBUG-50995 Fixes: QTBUG-51191 Change-Id: Icebaaa05275a713e801f1f8ecdaaec725fa264c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/dev' into 5.13Michael Brüning2019-02-051-2/+53
|\ \ | | | | | | | | | | | | | | | | | | | | | 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-2/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Add proxy switches handlingMichal Klocek2019-02-041-1/+6
|/ / | | | | | | | | | | | | | | | | | | | | This change adds switches for proxy: https://www.chromium.org/developers/design-documents/network-settings [ChangeLog] Uses proxy switches for initial proxy configuration Fixes: QTBUG-71229 Change-Id: I1bc02f20c20d737234c650a18f0e0f7c1c63a464 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* / Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-2/+9
|/ | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-221-1/+1
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Rename BrowserContextAdapter to ProfileAdapterMichal Klocek2018-07-091-6/+6
| | | | | | | | | 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>
* Migrate from BUILDFLAG to QT_CONFIGMichal Klocek2018-07-021-5/+5
| | | | | | | | | | | During configuration we mapped qt webengine fetures to chromium ones and passed them to gn. We used BUILDFLAG to optionally compile code in core. Use QT_CONFIG directly for qt files and add config sanity checks to make sure requested features are present. Change-Id: I930df114ac9aec8e73139ea9135925fc3ad8e39c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-261-2/+3
| | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 66Allan Sandfeld Jensen2018-06-261-1/+0
| | | | | Change-Id: Iee88721a50036d4ef85a23dd1708d4fb84218708 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Refactor out ProfileIODataQtMichal Klocek2018-05-251-22/+34
| | | | | | | | | | | | | | | | | | | | | | 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>
* Rename BrowserContextQt to ProfileQtMichal Klocek2018-05-251-0/+257
Following commits are going to introduce ProfileIODataQt and to keep things self documented just rename the class so it reflects Chromium one. Fix minor style issues in profile_qt.h Presort include headers as requested on review. Change-Id: If58f5aec8ac64cfaf30642195838a77497b75244 Reviewed-by: Kai Koehne <kai.koehne@qt.io>