summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
Commit message (Collapse)AuthorAgeFilesLines
* Fix suggest-override warningsAllan Sandfeld Jensen2020-08-181-1/+1
| | | | | | | Also violates modern Qt code style Change-Id: Ibb12b6db18bbd2669377abe1d25034ed69a86389 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix incorrect doc for acceptNavigationRequest and add testJüri Valdmann2020-07-221-5/+4
| | | | | | | | | | | | | The function is called for all navigation requests. The original bug report was most likely due to the use relative links on a page without a base url, which indeed results in no call to acceptNavigationRequest being made. But this has nothing to do with local vs remote URLs, it's rather that relative links, which are relative to nothing, are not valid links and there thus cannot be any navigation request either. Task-number: QTBUG-48435 Change-Id: I08bd0c86d67bf1dd1d7662468321777254a7db0b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Delete unused function editorActionForKeyEventJüri Valdmann2020-05-252-23/+0
| | | | | | | Change-Id: I5fe08380e297cdf8138df0b49b3c82e741f54dd1 Pick-to: 5.15 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 3472641433d0adab3caea008f047aac9637828c4)
* Add support for clearing the feature requestAllan Sandfeld Jensen2020-05-201-7/+23
| | | | | | Task-number: QTBUG-83476 Change-Id: I63ad9801e3e97f7fdac959600c69c04d0105be1f Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Switch away from QT_NO_OPENGLAllan Sandfeld Jensen2020-05-112-4/+4
| | | | | Change-Id: I310265dacc9b1c8d391e82b6adf52b70c037d9b9 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Document early feature reply for NotificationAllan Sandfeld Jensen2020-05-051-3/+4
| | | | | | | | | Make it easier to get right by normalizing the origin and test it. Task-number: QTBUG-83476 Change-Id: Ie4562e937cbcca5a1cf24e00d340a3ac2e9e2210 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Revive Pointer Lock featureSzabolcs David2020-05-041-2/+2
| | | | | | | | | | | | | | | This change fixes several issues: - Accepting mouse lock permission from modal dialog was not working on Linux. XCB needs some time to activate the parent window after accepting the dialog and we expected to have immediate active focus. - Implementation of RenderWidgetHostViewBase::IsMouseLocked() was missing. - Fixed event.movementX/movementY by disabling ConsolidatedMovementXY feature. Calculate movement properties in WebEngine instead of blink. Task-number: QTBUG-83294 Change-Id: Ic03d05c1026a113cf5e8d22544fc508d9f285876 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.15.0' into 5.15Allan Sandfeld Jensen2020-04-304-25/+20
|\ | | | | | | Change-Id: I916838caf8c981d5dac876631a6e510ed2ffbe0e
| * Restore behavior of OpenURLFromTab if createWindow returns thisJüri Valdmann2020-04-262-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | Instead of using QSharedPointer's reference count to communicate adoption/non-adoption, change adoptNewWindow to return a adapter pointer, with null meaning non-adoption. Then change QWebEnginePage's implementation to reuse already existing adapters if possible, restoring previous behavior of OpenURLFromTab when createWindow returns this. Task-number: QTBUG-80596 Change-Id: I8ee7c31e4294aabd3207c504cba67d6171c66cb0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix crash if createWindow returns this for AddNewContentsJüri Valdmann2020-04-262-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a QWebEnginePage subclass where createWindow returns the this-pointer, we get a crash in WebContentsDelegateQt::AddNewContents because AddNewContents expects the adapter to be adopted already, but QWebEnginePage delays adoption. Revert 3855015600 by getting rid of the delayed adoption code path. It's not needed anymore with the delayed initialization of the WebContentsAdapter. Revert 8a4091c210 by forcing adoption of the adapter even when it doesn't have contents. This no longer results in a crash since OpenURLFromTab ensures that the adapter is initialized before use. However, it does result in a behavior change since return-this now consistently overrides the adapter, so, e.g. navigation history is now always cleared whereas previously it was only cleared by the AddNewContents code path. Fixed with new approach in next patch. Fixes: QTBUG-80596 Change-Id: I4d2230c1bffcf2d77fa59ded9be51da49a820474 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Forward unhandled scroll eventsAllan Sandfeld Jensen2020-04-222-1/+7
| | | | | | | | | | | | | | | | Fixes a regression in webengine stealing all wheel events. Fixes: QTBUG-81322 Change-Id: I0176627f3e13d97f55162f70fc7a969f98f4f444 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix missing QWebEnginePage::audioMutedChanged signalJüri Valdmann2020-04-291-2/+4
|/ | | | | Change-Id: Ie02da939a37575dd2b0a43440978748fd79874e4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move request interceptor to ui threadMichal Klocek2020-04-203-19/+2
| | | | | | | | | | | | | We use now network service avoid io-ui-io-ui hops, pipe proxying url loader factory directly to ui thread. This solves thread safty issues. Add deprecated request interceptor test cases. Task-number: QTBUG-83082 Task-number: QTBUG-82999 Change-Id: I38778cf1a70789c5e92e04c93d1c93e2cc4c765a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Join some features request and response functionsAllan Sandfeld Jensen2020-04-152-14/+21
| | | | | | | Will make it easier to expands with more features in the future Change-Id: Ic7c1aca23a543c95a4873471c918f74606be2053 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Allan Sandfeld Jensen2020-04-142-6/+19
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Allan Sandfeld Jensen2020-04-102-6/+19
| |\ | | | | | | | | | Change-Id: I75f7bbf5e5a4d4ed3bf7bfbfb76162de8a89e6fa
| | * Avoid HTML encodings in default JS QMessageBox'es5.14Allan Sandfeld Jensen2020-04-081-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Escape any HTML encodings, as we have no convenient way to set formating to Qt::PlainText. Fixes: QTBUG-83338 Change-Id: I4d8cb05fe643eb018d3e40119c629e7304fe0813 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| | * Doc: Fix docs for playbackRequiresUserGesture WebEngine settingLeena Miettinen2020-04-021-3/+5
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-83101 Change-Id: I7ca8271cc88c7e157c36c79e06fa378f4bce48e4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Fix builds against Qt 5.12v5.15.0-beta4Allan Sandfeld Jensen2020-04-101-0/+7
|/ / | | | | | | | | | | | | We need to provide the last update possibility for Qt 5.12. Change-Id: I3dbf327ad5ef149046744ed2db57a1d56dc8e7fd Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 80Allan Sandfeld Jensen2020-04-072-0/+4
| | | | | | | | | | Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Allan Sandfeld Jensen2020-03-035-5/+39
|\| | | | | | | | | | | | | Conflicts: tests/auto/quick/qquickwebengineview/BLACKLIST Change-Id: I365daa73d2eb422ac916c32b86c5ad0d3c32086d
| * Invalidate accessible interfaces on destruction of view or pagePeter Varga2020-02-275-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RenderWidgetHostViewQtDelegate(Widget|Quick)Accessible interfaces are forwarding their queries to the WebEngineView. In case of widget, the view also forwards the query to the page. The accessible interfaces may outlive the view and page. The interfaces are not supposed to be used after the destruction of the underlying objects. Thus, set the RenderWidgetHostViewQtDelegate and WebEngineView accessible interfaces invalid if the corresponding pointers are null. Also fix querying the root accessible interface of the web page when the render frame host is not available. This fixes crash when QT_LOGGING_RULES="qt.accessibility.cache.debug=true" is set and logger tries to pretty-print QAccessibleInterfaces during destruction. Task-number: QTBUG-78284 Change-Id: If18af0605061fcd82d019d0042dbf1c9d3a910be Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* | Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-2/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Allan Sandfeld Jensen2020-02-271-4/+3
|\| | | | | | | | | | | | | | | Conflicts: src/core/renderer_host/web_channel_ipc_transport_host.cpp tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp Change-Id: I47f2b893bc9f27cd9df641f76badc9e53b482ad4
| * Fix docs for page url request interceptorsMichal Klocek2020-02-211-4/+3
| | | | | | | | | | | | | | Profile interceptors run also on ui thread. Change-Id: Iacfce46549e7ffd821033308077ba5f4fa410575 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Jüri Valdmann2020-02-034-4/+64
|\| | | | | | | Change-Id: I349a4ecbbd9d3d121ca6564db77e417872246554
| * Fix widget accessibility on macOSPeter Varga2020-01-244-4/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS Accessibility queries the window for the focused accessibility element. The window forwards the query to the widget with active focus. This widget is the RWHVQtDelegateWidget if a web element is focused in QWebEngineView. Therefore, a QAccessibleWidget interface has been implemented for the RWHVQtDelegateWidget to forward the request to the QWebEngineView. The focused accessibility element expected to be returned by the QAccessibleInterface::focusChild() method. In case of the macOS accessibility backend, it is called by the accessibilityFocusedUIElement() NSAccessibility API function. It expects the focused web accessibility element otherwise VoiceOver won't focus properly. The focused web accessiblity element is looked up by the new BrowserAccessibilityQt::focusChild() method. RenderWidgetHostviewQtDelegateWidget::focusChild() and QWebengineViewAccessible::focusChild() methods have been also implemented to forward it. This patch depends on a focusChild() fix in qtbase: a132e02540 Fix QAccessibleWidget::focusChild() to return focused descendant Microsoft Narrator also uses focusChild() to query the current focused element when it starts but it is still functional without this fix. Task-number: QTBUG-78284 Task-number: QTBUG-81539 Change-Id: I3c4861e58622ccbb5046c60c4efcc19842400a88 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Add getter/signal to get the render process PIDFlorian Bruhin2020-02-013-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | This can useful for e.g. implementing something like the "Task manager" in Chromium or otherwise interacting with the render process (e.g. to kill it for some reason while debugging). [ChangeLog] Add a renderProcessPid() getter to (Q)WebEnginePage which allows getting the process ID of the underlying render process. Change-Id: Id5d59be9b6bd46ffc3a6aa480cb5ff7bd3b8aa31 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix deprecation warningsKirill Burtsev2020-01-191-2/+2
|/ | | | | | | | | | | Suggested changes: * endl -> Qt::endl * {} for default QFlags * QString -> QStringLiteral for QStringList::join * QNetworkReply::error -> networkError Change-Id: I03919ab0675a9beb64bd176e6c681a338b08b51e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Rework url changed logicMichal Klocek2020-01-142-9/+13
| | | | | | | | | | | | | | | | | | | | | | Due security changes to prevent url spoofing, our implementation is getting extra invalidate url requests. Unfortunately, this breaks our url handling, which now gets lots of new back and fort url changed signals and make several unit test failures. After tedious investigation of Chromium omnibox handing and trying out different approaches, it seems that only sensible solution is to follow Chromium logic and make NavigationStateChanged to update 'ui' in asynchronous matter. This change tries not break any tests and simplify url handling. The only side effect of this change is that WebEnginePage::setContent will get extra 'url' signal of initial 'urlData' and later 'baseUrl' change is emitted. Fix one of qml tests which did not expect to have url on LoadStartedStatus. Task-number: QTBUG-63388 Task-number: QTBUG-48995 Change-Id: Id347f4325c036e16bfae7bf2f694905e0f21f8d7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix Q(Quick)WebEngineDownloadItem::setDownloadDirectory()Tamas Zakor2019-12-182-5/+10
| | | | | | | | | | | | | | | | | | Keep the custom file name if the calling order of setDownloadDirectory() and setDownloadFileName() changes. Also do not emit patchChanged signal twice if setDownloadDirectory() changes the uniquifier of the file name. Add TempDir for qml auto tests what uses QTemporaryDir() to create temporary directory for downloads. See https://cgit.kde.org/messagelib.git/commit/?id=2c113dcb155b11bf2c0af3c85544962485784b26 for details. Fixes: QTBUG-80566 Change-Id: Ia76f263558eaf55cb297700407948523788c6229 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.14.0' into 5.14Allan Sandfeld Jensen2019-12-043-3/+5
|\ | | | | | | Change-Id: I4f73d4b11bee795185d4eaae718d4cfdb3112100
| * Fix 'setDownloadDirectory' for download item on 'SavePage' actionKirill Burtsev2019-11-293-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium's DownloadManager doesn't create its download items before path for saving page is confirmed. So assert inside updateDownloadPath was not correct. Moreover, the name is confusing because it's not really updating anything. Remove it and use ProfileAdapterClient::DownloadInfo timestamp to determine updated filename after directory change. Ammends recent new api for changing download directory 0884fab3b1. Fixes: QTBUG-80372 Change-Id: If9efb52979deb3cf21fc4e12989173c85e04e090 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix regression in alt attribute of copied image urlsAllan Sandfeld Jensen2019-11-301-7/+19
| | | | | | | | | | | | | | | | The linkText hasn't had the alt attribute for a long time, so instead add direct support for contextual title and alt text. Change-Id: I88e1c43374d855da7fb0d1ca42c0eb474012f0f2 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* | Support accept attribute of file inputSzabolcs David2019-11-291-5/+3
|/ | | | | | | | | Set name filters of QFileDialog and QML FileDialog to avoid presenting all file types. Task-number: QTBUG-76564 Change-Id: I321214a30bc7e875ad132b015c63282f4eb482bf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-11-141-26/+16
|\ | | | | | | Change-Id: Id70f0288cb1f2df758c9fd21f02a5c037594b25c
| * Redo scale handling of pdf when printingMichal Klocek2019-10-311-26/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 7f89bad our printer handling produces low quality images, the reason for that is the we first render with pdfium to bitmap which is fixed to twice size of pdf document in points, then it is downscaled/upscaled by qpainter. This issue is even more visible when print preview is requested on hdpi screen. Simplify the code and do the "scaling" already when rendering bitmap with pdfium. Task-number: QTBUG-75092 Fixes: QTBUG-78161 Change-Id: I616ad1f371e7d3457a04b0a254603ed235c387bc Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Reuse action for back, forward, reload web actionsMichal Klocek2019-09-261-6/+3
| | | | | | | | | | | | | | | | | | Until now back, forward, reload web action where created for context menu and bind to current webview. This change makes the binding to page instead. Change-Id: Id27db4a110e624f6ea916f31f529c21caa35668b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Deprecate QWebEngineDownloadItem path API properlyTamas Zakor2019-11-051-2/+6
| | | | | | | | | | | | | | | | Implements suggestion from 5.14 API review: - Replace QT_DEPRECATED with QT_DEPRECATED_SINCE and QT_DEPRECATED_VERSION_X Change-Id: I4d0bf8a2b535c44b5749cbd3bbab7e305bd137c6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-10-221-6/+3
| | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webengine/minimal/main.cpp src/3rdparty src/core/net/url_request_custom_job.cpp tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp Change-Id: I33994024a4be5ed787800c5718a0a443b970c36d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Rename certificate error's chain API methodKirill Burtsev2019-10-172-5/+5
| | | | | | | | | | | | | | | | Address API review and make the name to be consistent with other methods like localCertificateChain and peerCertificateChain of QSslCertificate Change-Id: I4f115846965d31ea9a20df3b7a27c6c041c52768 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-2/+2
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Move lifecycle docs to features pageJüri Valdmann2019-10-101-3/+3
| | | | | | | | | | | | | | Also fix incorrect \since versions in QML API docs. Change-Id: I87b5899d4a55832dca2cd251aeb681e4bb2de2a2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Improve Q(Quick)WebEngineDownloadItem APITamas Zakor2019-10-072-4/+4
| | | | | | | | | | | | | | | | | | | | Implements suggestions from 5.14 API review: - Replace QString with const QString & - Extend documentation Change-Id: I08365767128aa72bc7ef2356c761c2abe512e4eb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Mark new QWebEngineCertificateError methods with '\since' tagv5.14.0-beta1Kirill Burtsev2019-10-011-2/+14
| | | | | | | | | | | | Change-Id: Idf6c6448e8c8979dccd507b1ae131dc386161e94 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Allan Sandfeld Jensen2019-09-246-15/+24
|\| | | | | | | | | | | | | | | | | | | | | | | | | 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-09-121-4/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: Ib1202bcce587f9614013105c6a836344c1727cb7
| | * Reject certificate error for non-overridable errorsKirill Burtsev2019-08-291-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On certificate validation error page load is just halted meaning that no progress or load result are reported and no default error page for certificate errors is shown. Even though documentation states that 'By default, an invalid certificate will be automatically rejected' and that aligns with default implementation of certificateError method within Page and non-deferred errors in quick View, page or view silently stays in an intermediate state for non-overridable errors. Fix this inconsistent behavior by automatically rejecting certificate for every invalid case (non-overridable error, not deferred or not implemented overridable method). Change-Id: Id1cee2ee5cc45bdcb5f262a6c99c84274e6ca374 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| | * Fix reporting overridable flag for QML WebEngineCertificateError typeKirill Burtsev2019-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also remove confusion inside CertificateErrorController constructor and overridable method by matching documentation for AllowCertificateError method of ContentBrowserClient api. Change-Id: I7e10ef71a4429dcf5acc4b714a8a45f67a2ec684 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * | Fix QWebEnginePage visibility stateJüri Valdmann2019-08-202-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling view.show(); view.load(...); view.hide(); results in a WebContents in visible state because the first call to show() is delayed via a timer and never canceled so it takes effect after the hide(). Also, the page's visibility state is not updated when changing views, so that a visible QWebEngineView can be set to display a hidden QWebEnginePage. Fixes: QTBUG-77209 Change-Id: I0243c659f4039a35c36e04ea55c5972666170fd0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>