summaryrefslogtreecommitdiffstats
path: root/src/core/extensions
Commit message (Collapse)AuthorAgeFilesLines
* Remove Pepper API codeAllan Sandfeld Jensen2025-10-102-0/+362
| | | | | | | Hooking a plugin-info-host similar to what chrome does. Change-Id: I91db92abd9738a01dde2ab9a5f340c126eb3efee Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix typos in coreMarcell Brauner2025-10-092-3/+3
| | | | | | | Pick-to: 6.10 6.9 6.8 Change-Id: Ia8375615ade18fa1fea3bb42fb6dc560398166d3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Kaloyan Chehlarski <kaloyan.chehlarski@qt.io>
* Use the built in ExtensionActionManagerMartin Negyokru2025-09-084-74/+10
| | | | | | | | | The built in manager is also used by extensions APIs. Task-number: QTBUG-61676 Pick-to: 6.10 Change-Id: Iebd20cc1e10e933436d3032ff1c8676f298d8353 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CRA mark src/core/extensionsSzabolcs David2025-09-0246-0/+46
| | | | | | Task-number: QTBUG-138719 Change-Id: I1782644b53aff0530cda58a3aac4b07b0ac651ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Load extensions as kUnpackedMartin Negyokru2025-08-291-4/+1
| | | | | | | | | | | | The kComponent type was meant for internal extensions, kUnpacked is more strict eg. it needs permission to run on specific urls. Extensions loaded in chrome's webui are also loaded as kUnpacked. Task-number: QTBUG-61676 Pick-to: 6.10 Change-Id: Ic075e98059d187b355f984ccc90ddd216cc7e09c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* QWebEngineExtensionManager: make signal names simplerMartin Negyokru2025-07-302-12/+12
| | | | | | | | | | Update tests accordingly. Found in API-review. Pick-to: 6.10 Change-Id: Ife361cf95db6953413fe34392caf6fce3296c42a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 134Allan Sandfeld Jensen2025-07-1410-32/+24
| | | | | | Pick-to: 6.10 Change-Id: I9615f0a095843fdf295e454a93476cf349f7fc76 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 132Allan Sandfeld Jensen2025-07-142-6/+6
| | | | | | Pick-to: 6.10 Change-Id: Id2d09604201b2c007c76328f92bb4e0c0d802cae Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update Extension WebUI page handler to support new functionalitiesAnu Aliyas2025-06-122-12/+114
| | | | | | | | | | | | Updated Extenion WebUI page handler to support thh efollowing functionalities. - Install extension - Unload and Uninstall extension - Disable extension Pick-to: 6.10 Change-Id: Ib47f2fe7cf562aa4c4148942e8f67e22d9c76455 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support chrome.management APIMartin Negyokru2025-06-118-1/+225
| | | | | | | | | | Implement ManagementAPIDelegate. Add ManagementPolicy to the extension system. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: If05aa7cb0ebfe860954e88eb794dd06aa6ae973a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support chrome.system.displayMartin Negyokru2025-06-064-0/+30
| | | | | | | | | | Add simple wrapper for DisplayInfoProvider to make it default constructable. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: I3bcb37e7fc687e2226631d2b1a6875383e0bf469 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support chrome.runtime APIMartin Negyokru2025-06-047-3/+156
| | | | | | | | | Implement RuntimeAPIDelegate methods which are required by the runtime API. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: Ic73f34bafc51abd69696a0affe5657f953391349 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add auto tests for the extension manager APIMartin Negyokru2025-06-021-1/+51
| | | | | | | | | Test QWebEngineExtension and QWebEngineExtenisonManager APIs. Pick-to: 6.10 Task-number: QTBUG-61676 Change-Id: Ib697bdca2ec1d7f9e86ab9ea88e210dfeb2e1780 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add support for extension WebUIAnu Aliyas2025-05-306-0/+279
| | | | | | | | | The WebUI can be accessed using the URL chrome://extensions This will list all the enabled and disable extensions and also provides a means to load extensions. Change-Id: Iddd61a858d100f292f7214e53a1ea753228af0b5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add API for extension managementMartin Negyokru2025-05-2913-0/+943
| | | | | | | | | | | | | | | Introduce QWebEngineExtensionManager and QWebEngineExtensionInfo. The manager has methods to load and install Chrome extensions from the filesystem. QWebEngineExtensionInfo provides information about a loaded extension. The current state of our js extension API support is very limited meaning most of the extensions downloaded from Chrome extension store won't work. Adding support for these APIs will be done in followup patches. Fixes: QTBUG-118452 Task-number: QTBUG-61676 Change-Id: I017ad5e8d2ba963afbd2f31ac36fee9451a951bd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Port to new Q_UNREACHABLE_RETURN()Marc Mutz2025-02-111-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator to convert sequences of Q_UNREACHABLE() + return into Q_UNREACHABLE_RETURN(), newly added to qtbase. const std::string unr = "unr", val = "val", ret = "ret"; auto makeUnreachableReturn = cat("Q_UNREACHABLE_RETURN(", ifBound(val, cat(node(val)), cat("")), ")"); auto ignoringSwitchCases = [](auto stmt) { return anyOf(stmt, switchCase(subStmt(stmt))); }; makeRule(stmt(ignoringSwitchCases(stmt(isExpandedFromMacro("Q_UNREACHABLE")).bind(unr)), nextStmt(returnStmt(optionally(hasReturnValue(expr().bind(val)))).bind(ret))), {changeTo(node(unr), cat(makeUnreachableReturn, ";")), // TODO: why is the ; lost w/o this? changeTo(node(ret), cat(""))}, cat("use ", makeUnreachableReturn)); a.k.a qt-use-unreachable-return. subStmt() and nextStmt() are non-standard matchers. Also made a manual scan to update the patch to 6.10. Pick-to: 6.9 Change-Id: Ic612e11dce9180f5e3e81b377985332e6f26bacb Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 130Allan Sandfeld Jensen2025-01-153-5/+15
| | | | | | Pick-to: 6.9 Change-Id: Iad9c5c12c2bb69803627df73760daf6b7d4841bd Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 128Allan Sandfeld Jensen2025-01-155-17/+17
| | | | | | Pick-to: 6.9 Change-Id: If780ef1c24b62b33b18cdf7dcf518e1fe3552283 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Remove redundant codeAllan Sandfeld Jensen2024-10-112-16/+4
| | | | | | | | | We do not pass on id to Chromium, so it is pointless to generate. Extensions are initialized from profile_qt.cpp so no reason to do it in profile_adapter.cpp Change-Id: I5e38d71a163e4cd39943bb1818c1273d6591724d Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu>
* Adaptations for Chromium 126Allan Sandfeld Jensen2024-09-266-12/+12
| | | | | | Change-Id: If920f024c9f8fe18a9f22fa97b8fb5564dfa3b61 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 124Allan Sandfeld Jensen2024-09-261-2/+2
| | | | | | Change-Id: I85322cc014b9d360d844df700a9fa6fe32a756d3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 122Michal Klocek2024-06-076-40/+28
| | | | | | | | | | | | | | | | | Includes following patches: * 340b36c Bind SpellCheckHost to a RenderFrameHost * f154285 Fix chrome://ukm webui after 122 update * 3e67d86 Adapt datalist test to new Chromium behavior after 122 adaptations * 76b532e Fix test failures in tst_accessibility * 8a9ecf5 Adapt IME test to new Chromium behavior after 122 adaptations * d65cd90 Fix to resolve the DCHECK failure during download operation * e956d1d Ensure DelegatedFrameHost's frame sink ID is registered Done-With: Anu Aliyas, Kaloyan Chehlarski, Martin Negyokru, Peter Varga Pick-to: 6.8 Change-Id: Ic5e8c0457c1633af18a8e11785041ab423e9362e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix printing from PDF pluginSzabolcs David2023-12-201-4/+4
| | | | | | | | | | | | | Update the plugin finder logic everywhere to match with Chrome. This comes with a small cleanup: collect PDF-related helper functions scattered around WebEngine in one pdf_util_qt implementation. Add auto test to catch this recurring issue earlier. Pick-to: 6.5 6.6 6.7 Task-number: QTBUG-119878 Change-Id: I03b2bd62bebf5b38afc572e0629db106d024e89d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add new API for screen capturingMartin Negyokru2023-12-151-2/+33
| | | | | | | | | | | | [ChangeLog][WebEngineCore] Add QWebEnginePage::desktopMediaRequested() signal [ChangeLog][WebEngineQuick] Add QQuickWebEngineView::desktopMediaRequested() signal Pick-to: 6.7 Fixes: QTBUG-112142 Task-number: QTBUG-70077 Change-Id: I4bfad88732b45fb68b77f7617440bcb50b248a11 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Chromium 118 adaptationsAllan Sandfeld Jensen2023-12-096-22/+31
| | | | | Change-Id: I8eea99a472cc597ff9864b570c90b28b79b3751e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Chromium 116 adaptationsAllan Sandfeld Jensen2023-12-091-1/+1
| | | | | Change-Id: Ie297e6ddef21cda8d71ef3daeaa4bcb82e806911 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Chromium 114 adaptationsAllan Sandfeld Jensen2023-12-092-63/+7
| | | | | Change-Id: I1131b2873f82d954ca47bf90bc82200d5f4cd751 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix download button of PDF viewer pluginSzabolcs David2023-08-024-0/+251
| | | | | | | | | | | | | | | | | | | The basic case of saving a PDF is easily fixed by installing PDFWebContentsHelpers in ExtensionsAPIClientQt for the proper WebContents. If the PDF file contains input elements and the user modifies them, the download button offers an option to save the modified file instead of the original. We need a minimal implementation of FileSystemDelegate, because this happens through file system access dialogs instead of normal "save as" dialogs. Pick-to: 6.6 Task-number: QTBUG-104610 Task-number: QTBUG-113149 Change-Id: I756f9fe6c72ccb129b04282b2fda05602cbf54cd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Adaptations for Chromium 112Allan Sandfeld Jensen2023-07-064-5/+6
| | | | | | Pick-to: 6.6 Change-Id: I1bb84b20a080d7f615bf0795ac2d97739e99ac1d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 110Allan Sandfeld Jensen2023-07-064-27/+33
| | | | | | Pick-to: 6.6 Change-Id: I56e1695ee4fc2b0e12da6580a5673df80bba8b6d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add InputEventObserver to child framesMartin Negyokru2023-01-171-11/+2
| | | | | | | | | | | | | | | | | | | | RenderWidgetHostViewChildFrame does not Ack mouse wheel events. RenderWidgetHostViewQt::handleWheelEvent expects Ack on every event. Origin-Agent-Cluster is a HTTP response header that instructs the browser to prevent synchronous scripting between same-site cross-origin pages. Chromium also uses this header as a hint that an origin should get its own separate resources, such as a dedicated process. That's where child frames are created. This feature is implemented in chromium 88. Add observer to child frames that responds to wheel events. Add test for wheel/scroll events on child frames. Pick-to: 6.5 Fixes: QTBUG-109348 Change-Id: I20439a9068c5c2f8416a350891a6cf8830e1a5d6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for 108-basedAllan Sandfeld Jensen2023-01-065-7/+28
| | | | | | | Pick-to: 6.5 Fixes: QTBUG-105147 Change-Id: I0022964903f3443cc97843c62468ab9be8ae2ed8 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-283-12/+13
| | | | | | Change-Id: I2fe91c06ce91dfaace7825a0589b56ee375479b6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 104-basedAllan Sandfeld Jensen2022-11-284-14/+9
| | | | | | Change-Id: Ieb44b5c98b3342adca38916d8b77c54e8ed8e1d7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix build with disabled webengine_printing_and_pdfPeter Varga2022-08-242-2/+22
| | | | | | | | Now the extensions can be enabled when printing is disabled. Pick-to: 6.4 Change-Id: I6183c795298eedf9cdf5110e580e73ba88f45828 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix PDF viewerAllan Sandfeld Jensen2022-08-113-39/+12
| | | | | | | | | | | | | | | | | | | | | | | | | It was broken after 102-based merge Submodule src/3rdparty c57592220..8496e1340: > Revert "Jumbo build mojom files" > FIXUP: Fix building with optimize_webui=false > Revert "Add remove_v8base_debug_symbols to GN" > FIXUP: Fix crashes and asserts > Add missing node modules for PDF support > [Backport] CVE-2022-2614: Use after free in Sign-In Flow > [Backport] CVE-2022-2618: Insufficient validation of untrusted input in Internals > [Backport] CVE-2022-2612: Side-channel information leakage in Keyboard input > [Backport] CVE-2022-2613: Use after free in Input > [Backport] CVE-2022-2624: Heap buffer overflow in PDF > [Backport] CVE-2022-2610: Insufficient policy enforcement in Background Fetch > [Backport] CVE-2022-2615: Insufficient policy enforcement in Cookies > [Backport] CVE-2022-2294: Heap buffer overflow in WebRTC > [Backport] CVE-2022-2478 : Use after free in PDF > Jumbo build mojom files Pick-to: 6.4 Change-Id: I4fc608c21ab8aaa508329e708446b57cccbddf76 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 102Allan Sandfeld Jensen2022-08-044-6/+3
| | | | | | Pick-to: 6.4 Change-Id: I7ef0ad616f2ea0fae482253335e95998aa2d360e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 100Allan Sandfeld Jensen2022-08-047-15/+10
| | | | | | Pick-to: 6.4 Change-Id: I217c87657f544a2e868de7291353ff1143e20902 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use SPDX license identifiersLucie Gérard2022-07-081-3/+2
| | | | | | | | | | | Ammend 9b9d789fcb8f63a8998f1eefe44f2a1c8156c362 : some files were still missing SPDX headers Pick-to: 6.4 Task-number: QTBUG-67283 Task-number: QTBUG-104589 Change-Id: Ia4d2aae636bbdb1a99c422e3b8d3f097c3af34d6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Various clean-upsPeter Varga2022-06-242-2/+0
| | | | | | Pick-to: 6.4 Change-Id: I53e04a247a25149d9f29135484c0528c706de7d8 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-2222-836/+44
| | | | | | | | | | | 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>
* Fix PluginServiceFilterQt::IsPluginAvailable()Szabolcs David2022-05-303-21/+21
| | | | | | | Query PDF settings from view-level WebEngineSettings instead of profile. Change-Id: I4ee7c99d6757d5341b1a4d47251228c1c46f99b7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chrome 98Allan Sandfeld Jensen2022-03-2912-57/+40
| | | | | Change-Id: I607604f85a111a69da77ca949dddf3399b9721b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chrome 96Allan Sandfeld Jensen2022-03-294-24/+22
| | | | | Change-Id: I40039658762b8788a0be57bd186efab71f3e4448 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 94Allan Sandfeld Jensen2021-12-023-11/+11
| | | | | Change-Id: I9fb8998a3a7762b0aea70993ca231f0bbf4f7761 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 92Allan Sandfeld Jensen2021-12-023-18/+18
| | | | | Change-Id: I1849c130ca75615802744275f6e4212a755c39b4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 91Allan Sandfeld Jensen2021-12-022-3/+4
| | | | | Change-Id: Ie0236697615fd67e4f53df3dca013ce39628cc29 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-0811-31/+37
| | | | | | 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/+1
| | | | | | Task-number: QTBUG-51184 Change-Id: Ie050cb23f2c86841a66ec384bfbcdf0713cffa7c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-04-132-0/+301
|\ | | | | | | Change-Id: Ia01415e5a44b1df9ed8b3966ff3b39a414b1563c