summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Port d_ptr of QWebEngineUrlRequestInfo to std::unique_ptrPeter Varga2022-12-052-4/+15
| | | | | | | | | Fix compiler warning about deprecated QScopedPointer::take. Pick-to: 6.4 Change-Id: I71f714e0dd301db51580b5e03d860d6d214a84b3 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add Support for Client Hints HeadersAllan Sandfeld Jensen2022-12-044-1/+261
| | | | | | | | | [ChangeLog][WebEngineCore] Client hint headers now added to HTTP requests Fixes: QTBUG-107451 Change-Id: I450fe1fe782b702fc81a3d90c82c0ece6a19ea45 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix -no-opengl buildPeter Varga2022-12-011-5/+7
| | | | | | Pick-to: 6.4 Change-Id: I65e4f7e045c55868000f67e32227b372f990af1c Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Pump up temporally warning limit for qdocMichal Klocek2022-11-291-1/+1
| | | | | | | | | | | | | | | | | | qDoc on ci throws some "Unable to parse JavaScript" warnings for new examples. However this issue will be gone after removing JavaScript support form qdoc qtools change: ecf918398579030c9ba16f843595cfdbe774c00b The newer qdoc comes form qt5 change: 271cd0608c84016a285116fe1295d7d2e60f1c87 Task-number: QTBUG-106275 Task-number: QTQAINFRA-4926 Change-Id: I74bb515146587361d804ee6be8d2d37c4dd29671 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add client certificate exampleMichal Klocek2022-11-291-0/+3
| | | | | | | Task-number: QTBUG-106497 Pick-to: 6.4 Change-Id: I39e39a991362940bb35052d28254b7b12acaa105 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for 106-basedAllan Sandfeld Jensen2022-11-2864-403/+361
| | | | | | 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-2864-1008/+640
| | | | | | Change-Id: Ieb44b5c98b3342adca38916d8b77c54e8ed8e1d7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add MessagingAPIMessageFilter to RenderProcessHostMartin Negyokru2022-11-251-0/+2
| | | | | | | | | | | | | This class handles messaging api-specific IPCs from the renderer e.g.'chrome.runtime.connect' that is required for communication with extensions. It was separated from ExtensionMessageFilter in: https://chromium-review.googlesource.com/c/chromium/src/+/3318572 . Since then the hangout services extension is broken. Task-number: QTBUG-51185 Task-number: QTBUG-61676 Change-Id: I3fd885afa4fece9ee92bd7644cd1adca3c44a491 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix Chromium version documentationAllan Sandfeld Jensen2022-11-241-3/+12
| | | | | | | | | | | Stop listing a number we forget to update, and document the process we use for selecting Chrome versions and patches levels. Pick-to: 6.4 Fixes: QTBUG-105146 Change-Id: I1cd632ef3fe3a4b1bf10a702a344ff69b2552d61 Reviewed-by: Vladimir Minenko <vladimir.minenko@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix build with disabled webengine_extensionsPeter Varga2022-11-244-11/+11
| | | | | | | | | | | | | PDF viewer depends on extensions. Guard these dependencies to make able to build with disabled webengine_extensions and enabled webengine_printing_and_pdf. The PDF Viewer is not expected to work with this configuration but the build should pass and loading a PDF should result a download. Pick-to: 6.4 Change-Id: I4d75e356951c82333ec3dbcd7b6271b9305de3df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix build with -no-vulkanPeter Varga2022-11-241-0/+5
| | | | | Change-Id: I379f4122521f3b35759c6da6d2291f851941555a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Simplify mime-type listAllan Sandfeld Jensen2022-11-231-19/+27
| | | | | | | | | | A complex list of mime-types seems to confuse Discord, and this also lowers our entropy leak. Pick-to: 6.4 Fixes: QTBUG-108265 Change-Id: Ic33d908c4d3c5efe93b086c7b52f39d81a748b32 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu>
* Minor. Remove Override from client certificate storeMichal Klocek2022-11-225-27/+27
| | | | | | | | | Change 'Override" in favor of 'Qt' so it matches the rest of the source base. Pick-to: 6.4 Change-Id: I0ba614ed3017a8d7e0ba5fc703b3f04c28b5ead7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Return both application and system certificatesAllan Sandfeld Jensen2022-11-221-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | For the certificate choice return both application and system certificates. Add unit test to cover the case on Linux. Unfortunately it requires adding the user certificate to the nss data store, which is not not nice, however porting the certificate manger from Chromium is a bigger task. Test runs only if the machine has pk12utils installed. During the test the user certificate is imported into the nss database with the nickname 'qwebengineclientcertificatestore'. This can be removed later with: ninja remove-user-personal-certificate and verified with: certutil -d sql:$HOME/.pki/nssdb -L Pick-to: 6.4 Change-Id: I475fddc68ea56304980f6c835ed4cfed4b093ad4 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Emphasize in-memory and system stored client certificatesMichal Klocek2022-11-221-5/+7
| | | | | | | Task-number: QTBUG-106497 Pick-to: 6.4 Change-Id: If03062a5ab6cf5f6d14329637f44b5ea7675f65a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Update the docs related to the FaviconMichal Klocek2022-11-221-6/+23
| | | | | | | Fixes: QTBUG-106501 Pick-to: 6.4 Change-Id: Ib70020d947b3010d22315db3bd32c017e55f71c7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Emphasize QtNetwork is not usedMichal Klocek2022-11-221-0/+3
| | | | | | | Fixes: QTBUG-106510 Pick-to: 6.4 Change-Id: Ib6a63fb5796c437c14ba0885507a3cf6bf9d89f9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add WebGL featureMichal Klocek2022-11-221-0/+11
| | | | | | | Fixes: QTBUG-106503 Pick-to: 6.4 Change-Id: I280be8707e803b6f01dbdffb76ab9cbce182b7af Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add Local Storage featureMichal Klocek2022-11-181-0/+26
| | | | | | | Fixes: QTBUG-106502 Pick-to: 6.4 Change-Id: I01dcec5e76db7921fc2597e6921e3bc6a6424aa8 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add webengine-spellchecker build switch docsMichal Klocek2022-11-181-0/+9
| | | | | | | Fixes: QTBUG-106500 Pick-to: 6.4 Change-Id: I7a6fabd3526bd2aa164ac992be8cfd145106d7df Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Improve html5 geo location docsMichal Klocek2022-11-181-7/+9
| | | | | | | Task-number: QTBUG-106498 Pick-to: 6.4 Change-Id: I7e2b9d6b5cc3a3a9593303684d8f9eaf19f37dc8 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Improve QWebEngineClientCertificateStore documentationMichal Klocek2022-11-182-1/+20
| | | | | | | Fixes: QTBUG-106497 Pick-to: 6.4 Change-Id: Ic10d2d54722b071eaacd9f7cb74b08c8ecedcd65 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Add hardware acceleration featureMichal Klocek2022-11-181-0/+15
| | | | | | | Fixes: QTBUG-106496 Pick-to: 6.4 Change-Id: Ie1f74d5c9878f6079089007c1cc79a427e85bd70 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Fix feature listing order in docsMichal Klocek2022-11-181-63/+64
| | | | | | | | We keep features in alphabetic order. Pick-to: 6.4 Change-Id: I4716f3f71dd16e2f01f5f3ca8650ed3d1c25fe64 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Minor. Remove unsued qtwebengine_extensions_features.gniMichal Klocek2022-11-171-27/+0
| | | | | | Pick-to: 6.4 Change-Id: I7e2806bfc8367a4137d1e489741ea044376e4203 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix probabilistic signature schemeMichal Klocek2022-11-171-2/+2
| | | | | | | | We failed to support pss, which ended up in handshake failures Pick-to: 6.4 Change-Id: I12c50d6a5f2dcf32d47708a958e2fe5a18316986 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make client certifcate work without CAMichal Klocek2022-11-171-5/+14
| | | | | | | | | | | | | | | | | | | | Check for expired certificate, they will most likely fail during authentication, so no point of selecting them. According to rfc5246 certificate authorities list in certificate request can be empty. "If the certificate_authorities list is empty, then the client MAY send any certificate of the appropriat ClientCertificateType, unless there is some external arrangement to the contrary." https://datatracker.ietf.org/doc/html/rfc5246#section-7.4.4 Support empty CA list. Pick-to: 6.4 Change-Id: I0ae3cbd7b0cd13ef943b431c81c3edea5ae9162d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add Vulkan rendering supportPeter Varga2022-11-1016-30/+677
| | | | | | | | | | Updates 3rdparty: * 8b7ce4ef70d Make GrVkImage external Task-number: QTBUG-107669 Change-Id: If7fbe1f20538598dd1d4f3a67be17c9f7d06a3cd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update ChromiumMichael Brüning2022-11-031-1/+1
| | | | | | | | | | Sumbmodule src/3rdparty 24df9c9b..9457651e: > [Backport] CVE-2022-3723: Type Confusion in V8 Task-number: QTBUG-108106 Change-Id: Ic6ae78e84df7198e5729f1377b60d774e1b1e5fa Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Mention WebSockets in docsSzabolcs David2022-11-031-0/+16
| | | | | | | | | | | | | | | | QtWebChannel has an example for a use case of HTML web sockets and connectivity of the native side of application. We don't need to create a new example of our own by mentioning this. However, the chat client application uses JS libraries served from remote, so we have to enable LocalContentCanAccessRemoteUrls setting to make it work out of the box in WebEngine example browsers. Desktop Chrome works the same way by default. Task-number: QTBUG-106505 Change-Id: I9020d0a09a88de16d32af063aee5d55c9837f484 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Normalize page namesKai Köhne2022-11-021-1/+1
| | | | | | | | | | | | | | qdoc does enforce lowercase file names for .html pages, and also replaces underscore with a dash. Make sure that the original \page name already is normalized, so that it's easier to search. This was done by find . -name "*.qdoc" -exec perl -p -i -E "s/\\\page (.*)/\\\page \L\1/ && s/_/-/g" {} ; Change-Id: I15ee29a8c1f41074671bcd1b4d67810ab0670255 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Luca Di Sera <luca.disera@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Fix inputFieldOverridesShortcuts unit testMichal Klocek2022-10-261-1/+1
| | | | | | | | | | | Since a818d49aa58c7ff871f89f7db4b1234402092994 in qtdeclarative we should explicitly ignore the event. Fixes: QTBUG-108008 Pick-to: 6.4 Change-Id: I1b9beabb39e19df8af86b8cadaafb21eef9dc4a8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Various clean-ups in core/rendererPeter Varga2022-10-2015-76/+53
| | | | | Change-Id: I21fbbc639d6d321913b12ed856d98fdfa2d8f474 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix build with disabled spellcheckerPeter Varga2022-10-181-1/+2
| | | | | | Change-Id: Ia85cbfb7def14710ed217feab0fa51f3230d4dd2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu>
* Only warn the user about conditions that are not metMichael Brüning2022-10-181-1/+4
| | | | | | | | | | | | | | | When loaded from a plugin, we printed a warning about setting the application attribute Qt::AA_ShareOpenGLContexts and choosing OpenGLRhi as the scene graph renderer interface even when those conditions were already met. This patch checks if these conditions are already met before printing the warning. Change-Id: Iee06fa4560e022f0611f07a082513dc91c8065c9 Pick-to: 6.4 6.3 Fixes: QTBUG-103958 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix fullscreen request blocking after running fileChooserMartin Negyokru2022-10-141-0/+4
| | | | | | | | | | | Chromium blocks fullscreen requests while the fileSelectListener is alive. Release it manually after the accept/reject signal. Fixes: QTBUG-106975 Pick-to: 6.3 6.4 Change-Id: Iac4868b8ab0268b8ddb94912286155af73ebd343 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Add devtools file system supportMartin Negyokru2022-10-145-11/+193
| | | | | | | | | | Use Chrome's DevToolsFileHelper implementation. Enable downloading contents from devtools. Enable editing and saving files with devtools workspace. Task-number: QTBUG-85171 Change-Id: I987c667a59c12792c35a802326596e5799f42290 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu>
* Cleanup and document webEngineArgs command line optionMichal Klocek2022-10-125-27/+40
| | | | | | | | | | | Fix usage of badcode vs code. This commit amends 82357352b49fdcba80727feec441053f676b5af2. Fixes: QTBUG-107502 Pick-to: 6.4 Change-Id: I50be8b37a81f33ef8e8dff3985d00f562542031a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support navigator.userAgentDataSzabolcs David2022-10-114-0/+15
| | | | | | | | | | | | Use embedder_support component to generate user agent metadata and support this API. ContentBrowserClientQt::GetUserAgentMetadata() has been implemented only for safe-keeping, because we always override that value in RendererPreferences. Task-number: QTBUG-107260 Task-number: QTBUG-107451 Change-Id: Ibbcd8d9c1e9c2c0ebacf97f4b9d4ed1aa55dc881 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Port from container::count() and length() to size() - V4Marc Mutz2022-10-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to handle typedefs and accesses through pointers, too: const std::string o = "object"; auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); }; auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) { auto exprOfDeclaredType = [&](auto decl) { return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o); }; return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes)))); }; auto renameMethod = [&] (ArrayRef<StringRef> classes, StringRef from, StringRef to) { return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)), callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))), changeTo(cat(access(o, cat(to)), "()")), cat("use '", to, "' instead of '", from, "'")); }; renameMethod(<classes>, "count", "size"); renameMethod(<classes>, "length", "size"); a.k.a qt-port-to-std-compatible-api V4 with config Scope: 'Container'. Change-Id: I3e6fef8eca212da0c4f0b464545ba96183b4476f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support window system proxy resolverMichal Klocek2022-10-113-7/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far we supported v8 proxy resolver and 'older' WinHttp based proxy resolver, which involves pulling (directly) WinHttpGetIEProxyConfigForCurrentUser and does not support (according to Chromium authors) Name Resolution Proxy Table. With 102 we are able to use windows system proxy resolver in form of 'modern' service using also WinHTTP APIs. This is going to replace later default old implementation. Add same switches as Chromium supports: * --winhttp-system-proxy-resolver to use older WinHttp resolver instead of v8 resolver (note v8 resolver does not work in single-process) * --use-system-proxy-resolver to use 'new' proxy system resolver service Note as new service requires minimum windows 10 1604 or later build, application needs correct manifest, otherwise it will silently fallback to older 'direct' WinHttp resolver. Note to test the 'new' proxy resolver, following pac file can be served to windows proxy configuration to prove that pac script is actually resolved: function FindProxyForURL(url,host) { if (dnsDomainIs(host, "qt.io")) return "DIRECT" return "PROXY localhost:6666" } Task-number: QTBUG-104436 Change-Id: Ib2625c5ab5e618c8fdebd1bdc1cda928639a5dd5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-0714-29/+29
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I4b5f85df579532c2af938fe70db945ba273782fb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Do not intercept websocket connection when there is no associated frameMartin Negyokru2022-10-031-2/+1
| | | | | | | | | This fix is based on chrome's implementation. Fixes: QTBUG-107144 Pick-to: 6.4 Change-Id: If042e4156b8a4bdb27a210c4db94e3a6198aed7d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Note DNS prefetches can overrule remote access permissionAllan Sandfeld Jensen2022-09-291-1/+2
| | | | | | | Pick-to: 6.4 6.3 Fixes: QTBUG-106967 Change-Id: I0407258403ec3b76ce694e0f592fe57b4f45c746 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Work-around GNOME bug misidentifying HTML contentAllan Sandfeld Jensen2022-09-211-1/+4
| | | | | | | | | | Correct application/x-extension-html to text/html Fixes: QTBUG-97392 Fixes: QTBUG-106688 Pick-to: 6.4 6.3 5.15 Change-Id: I0d65c6950c5ba1504586cf564268463c5d4cd483 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix client certificate regression on LinuxAllan Sandfeld Jensen2022-09-201-2/+3
| | | | | | | | | The system certificate store was never generated after the define switched to being a BUILDFLAG Pick-to: 6.4 6.3 Change-Id: I2efa54bd397e2dde55c249747f73a9ffb08e80ea Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix os_crypt setup on windowsMichal Klocek2022-09-151-2/+2
| | | | | | | | | This parts were never compiled on windows. This amends 0ca4eba961. Change-Id: I683badfaf6e8be1cec808f3340e3980e167fbcdb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Check QT_OPENGL for softwareMichal Klocek2022-09-151-0/+7
| | | | | | | | | | | | According to qt docs this variable should have same effect like setting Qt::AA_UseSoftwareOpenGL on application, therefore read that in case of detecting the software mode. Pick-to: 6.4 6.4.0 6.3 Task-number: QTBUG-106095 Change-Id: I00fa8f0607ca44533c445434d1a35a1524bab679 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid crashing with unparented accessibilityAllan Sandfeld Jensen2022-09-141-6/+6
| | | | | | | | | | We do not get the automation id in this case then, but we have run without it before. Fixes: QTBUG-106588 Pick-to: 6.4 6.3 Change-Id: Ib65f1aaff1d7ef260df56c7de7198b0679e0d644 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Make opengl module name check more relaxedMichal Klocek2022-09-131-1/+1
| | | | | | | | | | | The module filename can be different depending on windows platform for example "openglsw32.dll", "openglsw32.DLL", "openglsw32". Make check more relaxed. Fixes: QTBUG-106095 Pick-to: 6.4 6.4.0 6.3 5.15 Change-Id: I0abd5f61df2a44b395c8a81511e4d3bc807e1537 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>