summaryrefslogtreecommitdiffstats
path: root/src/core/content_browser_client_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash when clicking on a link in PDFSzabolcs David2021-09-071-1/+1
| | | | | | | | | Do not try to use WebContentsDelegate of a guest WebContents. Task-number: QTBUG-95269 Change-Id: If7bbd25bcac26c30a4ff1bee3f732ba01215ec4b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 7f4a6ff45743cecbfe0dd14ef29afd0874a2ed39)
* Remove unneeded extension -> file access privilegeAllan Sandfeld Jensen2021-08-261-5/+1
| | | | | | | | | | | It was hacked in before we got guest views working for the pdf viewer, but should no longer be needed. Change-Id: I3085c1ba591c600942e488751ada12473c6454d0 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Michael Brüning <michael.bruning@qt.io> (cherry picked from commit 5309b594a9939023ce3161e1713b534c90ef3605) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* WebEngineNavigationRequest: add accept/reject and deprecate setActionKirill Burtsev2021-07-211-3/+3
| | | | | | | | | | | | | Match naming with others and use accept/reject methods to handle request. Also, allow to use request object after call scope in QML. [ChangeLog][QWebEngineQuick][WebEngineNavigationRequest] setAction(action) is deprecated in favor of new accept/reject methods Change-Id: I83252370e2e83017008f6951f98b7ecad119e232 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 13254e7950a032ebbeb11b1cf54b850c8326fb30) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-131-45/+25
| | | | | | Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 1d988d971bc4270ba3d148e8e2c143bf8f625b6e)
* Remove QRC->file special caseAllan Sandfeld Jensen2021-07-021-2/+1
| | | | | | | | | It was marked as to be removed for Qt6 Change-Id: I059c450aa6e5cad6d48ecdd2667abff21217d7e0 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> (cherry picked from commit 01f45d0b536ac2dad7493c826907ded7a76f59d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Implement dialogs of File System Access APISzabolcs David2021-07-011-0/+7
| | | | | | | | | | | | | | Dialogs triggered by window.showOpenFilePicker() or window.showDirectoryPicker() needed different implementation than regular file picker dialogs. Since the end-users can't distinguish between HTML file picker dialogs and these file system access dialogs, we can just use the existing file picker WebEngine API and UI delegates. Task-number: QTBUG-92519 Change-Id: Ib1624f80603c4042803303274ba45d864ecb371c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 46a2f0f3137dcb46f2752130bbee6438742c27ac) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* 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-05-121-11/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webenginewidgets/printme/printhandler.cpp src/3rdparty src/core/api/qwebenginepage_p.h src/core/content_browser_client_qt.h src/core/web_contents_adapter_client.h src/core/web_contents_delegate_qt.cpp src/core/web_contents_delegate_qt.h src/webenginequick/api/qquickwebengineview_p_p.h tests/auto/quick/qmltests/data/tst_download.qml tests/auto/quick/qmltests/data/tst_viewSoure.qml tests/auto/widgets/loadsignals/tst_loadsignals.cpp tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp Change-Id: I9c1819ec15e13d4f8e244defe860e26274b5d4be
| * Fix application locales againSzabolcs David2021-04-211-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different countries (with the same language) can have different number formatting and navigator.language should report not only the language, but also the country. Locale normalization often falls back by cutting the country off, because we have common .pak files for countries with the same language. This patch: - Uses the locale resolvation only for concatenating .pak file paths and reports the full locale everywhere else. - Properly sets default ICU locale for JS number formats and prevents l10n_util::GetApplicationLocale() to set it sneakily to some resolved one. - Fixes the crashing --lang command line argument and always prefers its value over QLocale. Task-number: QTBUG-91225 Change-Id: I1c09798abdb523b80f0b7a3d69fa8d7a08c7c09a Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Report server directs in navigation typeAllan Sandfeld Jensen2021-04-191-1/+7
| | | | | | | | | | | | | | | | | | | | | | A server redirect might not have been reflected in the navigation type at this point, so also check the is_redirect value. Pick-to: 5.15.4 Fixes: QTBUG-92819 Change-Id: I711ef041de69552bc3485c9cf3db68c9e6033d6a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* | Adaptations for Chromium 88Allan Sandfeld Jensen2021-04-151-38/+24
| | | | | | | | | | Change-Id: Ie66e95dbb9fbcafe961bb98d5c277f8c32d66b96 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-04-131-0/+13
|\| | | | | | | Change-Id: Ia01415e5a44b1df9ed8b3966ff3b39a414b1563c
| * Fix embedded PDFs when plugins are disabledSzabolcs David2021-04-081-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cover all cases from https://pdfobject.com/static - Plugin placeholder is generally broken: displays garbage and crashes on interaction. Fix it and show when PDFs are included by <embed> or <object> tags. - Do not start an automatical download when the disabled PDF plugin was requested by an iframe. Show a clickable placeholder and let the end-users start it manually. - Remove unused class PluginPlaceholderQt Task-number: QTBUG-76314 Change-Id: I01a0c93ab23f54e4272f5aeb30578de0dcf18932 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-03-161-3/+58
|\| | | | | | | Change-Id: I0dd7c64669f4b130047a4a3836f62f7ee5b5f8d9
| * Fix normalization of app localesAllan Sandfeld Jensen2021-03-121-1/+6
| | | | | | | | | | | | | | | | | | Use the internal Chromium routine to get the app locale Chromium expects. Fixes: QTBUG-91715 Change-Id: I5042eb066cb6879ad69628959912f2841867b4e8 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Show PDF viewer in a guest viewSzabolcs David2021-03-061-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the basic support of guest views, implemented based on Chrome. - Embed PDF as a child frame instead of navigating to its extension WebUI. Keep the original URL (pointing to the file) to extend functionality of PDF viewer with URL parameters. - Make RenderWidgetHostInputEventRouter to work and modify most of the event forwarding logic to use that. This way WebEngine supports pages with multiple RenderWidgetHost and guest views can be interactive with user input. [ChangeLog] PDF files are opened as embedded objects, WebEngine will not navigate the content away from the requested file to present it. PDF viewer can accept URL parameters (e.g. to control zooming or fitting to view). Also, PDF viewer is interactive when displayed in a subframe. Task-number: QTBUG-80463 Task-number: QTBUG-86152 Task-number: QTBUG-90712 Change-Id: Ib1591fbd9a594891cdeace8e9dae0d3cc21a9f8e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Do not allow WebBluetooth to continueAllan Sandfeld Jensen2021-03-041-0/+9
| | | | | | | | | | | | | | | | | | We do not support it. Fixes: QTBUG-91490 Change-Id: I972e1d5cd8507571c4c2305e2f38c4345f69538e Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
| * Avoid accessing profileAdapter when profile is shutting downAllan Sandfeld Jensen2021-02-181-0/+8
| | | | | | | | | | | | | | Pick-to: 5.15.3 Task-number: QTBUG-91187 Change-Id: Icaef781025791a94c0e5dd85039c33b8ae45de99 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-02-171-83/+90
|\| | | | | | | Change-Id: Idee0142b0e33fdf8ca663f1ef1bcd8b932985043
| * Enable webrtc logging and the corresponding WebUIPeter Varga2021-02-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The corresponding WebUI is chrome://webrtc-logs It only makes sense with the hangout services extension. It seems to be only useable with meet.google.com. The behavior is same for Chrome. Uploading logs to Google is disabled in the Chromium patch. It is an extension API functionality. The WebUI only lists the previously generated logs. Pulls in the following changes: 1dda5314b02 Enable webrtcLoggingPrivate extension API for hangout extension 7d71aca116d FIXUP: Enable webrtcLoggingPrivate extension API for hangout extension Change-Id: I455fce7c8081e71967e55ab1f889df6ef91ed253 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Resolve installed interceptors right before interception pointKirill Burtsev2021-02-081-26/+8
| | | | | | | | | | | | | | | | | | | | | | | | Ammends a05bb73747. Since request processing is asynchronous, resolve interceptors right before actual interception point to accommodate cases where interceptor on profile or page was replaced or uninstalled before all instantiated InterceptedRequest's are processed. Effectively, this doesn't send url requests to uninstalled interceptors. Fixes: QTBUG-86286 Change-Id: Iaf55e5ef99d62b55f7304ee68a0c89a1469fd86f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Match Chrome behavior closer with extensionsAllan Sandfeld Jensen2021-02-051-0/+38
| | | | | | | | | | | | | | | | | | | | | | Set most of the exceptions chrome does, and register the performance manager earlier where chrome does. Needed for future extensions. Change-Id: I0d16882d87096bedb24abe1341a008d1fdacf6db Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Clean up header includes and forward declarations in corePeter Varga2021-02-041-60/+28
| | | | | | | | | | Change-Id: Ia90172f47f0f6349de9a21f6567bda92a156216c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-02-021-0/+45
|\| | | | | | | | | | | | | Conflicts: tests/auto/widgets/qwebenginedownloadrequest/tst_qwebenginedownloadrequest.cpp Change-Id: Ibf03467e398f8dcdb5f950e1a70f3e4e591003db
| * Start supporting chrome.resourcesPrivate APISzabolcs David2021-01-261-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | - Register browser interface binders for PDF viewer. Copied back this logic from the guest view implementation (from dev) to enable usage of chrome.resourcesPrivate API in the PDF viewer of 5.15. - Implement template replacements for extensions. Replace i18n placeholders in the PDF viewer HTML to prevent syntax issues and support localization. Task-number: QTBUG-90035 Change-Id: Ief5fc536435e5c183dc987462d89311dfa429970 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2021-01-251-75/+88
|\| | | | | | | | | | | Including update to 87-based Change-Id: I36b6054e00de97ab055d0bc800cff08d0408fac6
| * Enable hangout services extensionPeter Varga2021-01-201-0/+47
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog] Enable hangout services extension and implement its WebRTC desktop capture extension API dependency. Fixes: QTBUG-85731 Task-number: QTBUG-51185 Task-number: QTBUG-61676 Change-Id: I7a659c2b0039243ac8d8c58685716ffc55265e3b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Adaptations for Chromium 87Allan Sandfeld Jensen2021-01-131-5/+11
| | | | | | | | | | Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 86Allan Sandfeld Jensen2021-01-131-8/+5
| | | | | | | | | | Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 85Allan Sandfeld Jensen2021-01-131-2/+1
| | | | | | | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
| * Adaptations for Chromium 84Allan Sandfeld Jensen2021-01-131-62/+26
| | | | | | | | | | Change-Id: I359805d0bea84147fca6de2e2c7b17b4dcb17bc7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Fix build after 216c2ed5 in baseMichal Klocek2020-11-121-1/+1
| | | | | | | | | | Change-Id: If9f646d36b70494248e7d721e7473505d9e0f42d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devAllan Sandfeld Jensen2020-09-141-18/+57
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/certificate_error_controller.cpp src/core/certificate_error_controller.h src/core/compositor/compositor.cpp src/core/compositor/compositor.h src/core/compositor/display_gl_output_surface.cpp src/core/content_browser_client_qt.cpp src/core/core_chromium.pri src/core/delegated_frame_host_client_qt.cpp src/core/ozone/gl_share_context_qt.h src/core/ozone/surface_factory_qt.cpp src/core/permission_manager_qt.cpp src/core/render_widget_host_view_qt.cpp src/core/render_widget_host_view_qt.h src/core/web_engine_context.cpp src/core/web_engine_settings.cpp src/core/web_event_factory.cpp tests/auto/widgets/qwebenginedownloadrequest/tst_qwebenginedownloadrequest.cpp Change-Id: Ice14c3c350b139e800c7c7011b7cef1fc7010669
| * Adaptations for Chromium 83Allan Sandfeld Jensen2020-09-091-10/+9
| | | | | | | | | | Change-Id: I63ed851426b18623d549ceaf87f1b6eeec527966 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Chromium 81-based adaptationsAllan Sandfeld Jensen2020-09-091-12/+55
| | | | | | | | | | Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Reuse qwebenginesettings from core in qmlMichal Klocek2020-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | Drop duplicated enums. Use qwebenginesettings as private for qquickwebenginesettings. This can most likely be more optimized when profile is moved to core. Change-Id: I04bdc6c5a35556bf6d38a273cefeeee9d2a0a310 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Simplify WebEngineCertificateErrorMichal Klocek2020-08-141-9/+2
| | | | | | | | | | | | | | | | Removes certificateErrorControllerPrivate, moves error handling logic to core. Change-Id: I050f73f1e37eb9ae39ad471fe1673d2b6140cf89 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Move QWebEngineCertificateError to core and use it in QMLJüri Valdmann2020-08-141-29/+1
| | | | | | | | | | | | | | | | Update qml certificate error test. Task-number: QTBUG-74585 Change-Id: I9383052bd1e37160d03e3d66e8f2e4a749023736 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Rewrite native context handling for QtShareGLContextMichal Klocek2020-08-051-101/+1
| | | | | | | | | | Change-Id: Ie880978f2122528789d7ec23b24bb8259eee0fb8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Rename ShareGroupQtQuick to ShareGroupQtJüri Valdmann2020-06-221-8/+8
|/ | | | | | | It's not really QtQuick specific. Change-Id: I34840004837495154876d38c7c1c994c11ace9ad Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Switch away from QT_NO_OPENGLAllan Sandfeld Jensen2020-05-111-1/+1
| | | | | Change-Id: I310265dacc9b1c8d391e82b6adf52b70c037d9b9 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move request interceptor to ui threadMichal Klocek2020-04-201-10/+25
| | | | | | | | | | | | | 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>
* Delete last network service feature checksJüri Valdmann2020-04-101-10/+0
| | | | | | | | Network service is required. Task-number: QTBUG-83394 Change-Id: I8b636730eba5bd2ba5895e072e134c3b1fb786d1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 80Allan Sandfeld Jensen2020-04-071-52/+75
| | | | | Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix crash in ProxyingURLLoaderFactoryQtAllan Sandfeld Jensen2020-04-071-1/+0
| | | | | | | | | We need to be on the UI thread to walk the frame-node tree. Task-number: QTBUG-82999 Change-Id: I8011a29e91d6af92da341cbdd01fc9403c587e23 Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-19/+36
| | | | | | | | 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-164/+143
| | | | | | | | | | 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-38/+34
| | | | | | | | 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>
* Fix extensions with network-serviceAllan Sandfeld Jensen2020-01-131-2/+85
| | | | | | | | | Extension resources are now loaded through ExtensionsBrowserClientQt's LoadResourceFromResourceBundle, and permission to load extra schemes is now handled by installing subresource URL loaders. Change-Id: Id0445088607c9be019fbfc134db4e60b94e54479 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Move pdf interception to URL loaderAllan Sandfeld Jensen2019-12-171-11/+15
| | | | | | | | This should also work with network-service Change-Id: I1d38112b76f9a656cc50ffbb826db28b41cf2f85 Fixes: QTBUG-80462 Reviewed-by: Michael Brüning <michael.bruning@qt.io>