summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-151-0/+9
|\ | | | | | | Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
| * Doc: Extend documentation of callbacksTamas Zakor2019-02-081-0/+9
| | | | | | | | | | | | | | | | Warn about callbacks on QWebEnginePage destruction. Task-number: QTBUG-72816 Change-Id: I8dbc297a8f364bc237b0672a63325af8da197e01 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Web Notifications APIKirill Burtsev2019-02-068-2/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-052-6/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h Change-Id: I3da791a82dab56fd7535ba1e4c0ab1d9ca74f547
| * | Delete WebContentsAdapterClient::dpiScale()Jüri Valdmann2019-02-012-6/+0
| | | | | | | | | | | | | | | | | | | | | It's always 1. Change-Id: I1c3d5bc3080da90379f03b6d0819c5656334751e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Move QWebEngineUrlRequestInterceptor::intercept to ui threadMichal Klocek2019-02-044-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently interceptor sufferers thread safety issues, when custom profiles are deleted, interceptor is set to be nullptr, however it can be still referenced in IO thread. Since profile was split to ui and io part, where io part can outlive the ui part, this can boost thread safety issues. Since QWebEngineUrlRequestInterceptor is living on ui thread simplify the logic move intercept call to ui thread. This fixes the issue of referencing interceptor in io thread. Add new method to install interceptor setUrlRequestInterceptor, and deprecate old one. Update interceptor install method name on page to match the profile one. Task-number: QTBUG-69844 Change-Id: I5dd2b6b734fd91906cccc6c1408ffbe7b1b4250c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-011-2/+0
|\ \ \ | |/ / |/| / | |/ Change-Id: I2889e49fe9f71bfc996689feb0f350e09569f611
| * Remove QWebFrame commentsKai Koehne2019-01-301-2/+0
| | | | | | | | | | Change-Id: I82855788542dc7b659eb8d83565b6f32d89d0ea5 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Implement touch text selection for QQuickWebEngineViewPeter Varga2019-01-311-0/+5
| | | | | | | | | | | | | | | | Touch handle and touch selection menu are not implemented for widget. Task-number: QTBUG-59999 Change-Id: Ia492e58b83d3ad38cdf6877d468724c399f34367 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add API to set default download pathTamas Zakor2019-01-302-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add functions and property to set the default download location in QWebEngineProfile and QQuickWebEngineProfile. Also add new test for check uniquifying download filename. Update plugins.qmltypes to 1.9 [ChangeLog][Profile][QtWebEngine][QtWebEngineWidgets] Add functions and property to set the default download location in QWebEngineProfile and QQuickWebEngineProfile. Task-number: QTBUG-66262 Task-number: QTBUG-72176 Change-Id: I7fa93b66c326766b176aec24d453dd75602b91de Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-221-2/+4
|\| | | | | | | Change-Id: Ib374079ded76e43d4b72f725bbf16fe353ef827e
| * Remove download items internally when API objects are deletedAllan Sandfeld Jensen2019-01-211-2/+4
| | | | | | | | | | | | | | | | | | | | We were never removing internal download item. [ChangeLog][Behavioral Changes] Deleting a download item will now also cancel it if it is still in progress. Change-Id: I2fab497d7acf7ca6ca17f4a61e106b1c18bfb333 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2019-01-181-3/+3
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/net/network_delegate_qt.cpp src/core/profile_io_data_qt.cpp src/core/web_engine_context.h tests/auto/core/qwebengineurlrequestinterceptor/tst_qwebengineurlrequestinterceptor.cpp Change-Id: Id98e3f52f548ceb5b68abd80aedd6ae59db72cc0
| * Do not force wrapping of tooltipsKai Koehne2019-01-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | QToolTip does wrap aggressively if HTML text is shown, which <p>...</p> enforces. Anyhow, this is not the default behavior for most browsers. This reverts part of b43774a9b89ed9. Fixes: QTBUG-72021 Change-Id: Iea0480c51f7c35c466bf3064423b2a81ee5b926c Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Docs: Correct documentation of QWebEnginePage::print()Szabolcs David2019-01-071-4/+1
| | | | | | | | | | | | | | | | Task-number: QTBUG-68561 Change-Id: I4284725bc64f78dc4df39d88885d6a463c8efa62 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-181-1/+2
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/delegated_frame_node.cpp src/core/profile_adapter.cpp src/core/profile_io_data_qt.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp Change-Id: I35ec8480e758bbcb6c5942a5401cb1b6dbdcc428
| * Document and safeguard usage of custom schemesAlexandru Croitor2018-12-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change improves the documentation of QWebEngineUrlSchemeHandler to notify the requirement of registering a custom scheme before installing a custom scheme handler. Also start showing warnings when QWebEngineProfile::installUrlSchemeHandler() is called before a scheme is registered. Also show warnings when installing the handler using QML. Task-number: QTBUG-72079 Change-Id: If249592ea43fe2f9ad587a6ff4e8c9dedcc5d3d3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Move printing operation to a new threadSzabolcs David2018-12-102-90/+24
| | | | | | | | | | | | | | | | | | | | | | Printing operations were blocking the UI thread, so applications were irresponsive when printing in large size or high resolution. Introduce a new worker for the painting logic and use shared pointers to carry the data around and avoid copying PDF data between threads. Task-number: QTBUG-68561 Change-Id: I30633380b75acd14f1a1df87985c99540168a9f1 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devAllan Sandfeld Jensen2018-11-057-89/+142
|\| | | | | | | | | | | | | | | | | Conflicts: src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter_client.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: Ibd011c40839c09469218ac4c71a13d0a0b1c9778
| * Keep visibility of WebContents when restoring historyPeter Varga2018-10-291-0/+2
| | | | | | | | | | | | | | | | | | For restoring history a new WebContents is needed to be created. Make it visible if the old WebContents was. Task-number: QTBUG-71400 Change-Id: Ica10545e11413eb4da553f4976f9bf0c20125846 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Stop showing speculative framesJüri Valdmann2018-10-294-73/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium creates "speculative" frames (RenderFrameHost and company) for pending cross-process navigations (and maybe other navigations too). For example, a redirect from http://qt.io to https://qt.io will trigger this, as described in the bug report. These speculative frames are loading in the background and only shown once they are officially ready (as decided by the RenderFrameHostManager and signaled to WebContentsObserver::RenderViewHostChanged). At least, this is how it's supposed to work and how it works in Chrome. In WebEngine, however, we actually show these speculative frames as soon as they are created and before they are ready. This runs into the problem that the if the speculative frame is dropped (instead of committed), then Chromium will not ask us to re-show the old frame (since it hasn't actually asked to us to show the new frame, it naturally assumes we are still showing the old one). Fixes: QTBUG-68727 Change-Id: I9d53035ce60e3a002d5412d4473d940a32644b5d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Unify updating navigation actionsSzabolcs David2018-10-232-9/+2
| | | | | | | | | | | | | | | | | | | | On the Quick side, navigation actions were dependent on the context menu. They were only updated when requesting a new context menu and this is obviously wrong if an action is tied to a button or another type of UI element. Change-Id: I5f14b019b66215f16d027fb57d76f052b1604365 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Allow client certificates without opensslAllan Sandfeld Jensen2018-10-234-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | We don't use OpenSSL, but only depended on it because QtNetwork didn't define QSslCertificate without an SSL backend. I changed that in QtNetwork 5.12, so we only rely on a QtNetwork SSL backend with older Qt versions. Task-number: QTBUG-54877 Change-Id: I16f3077235f5c48610597868608ef2e5ca2efa99 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Move the profiles' url scheme handler API to coreJüri Valdmann2018-10-312-45/+5
| | | | | | | | | | | | | | | | | | | | Implementation of the url scheme handler API in QWebEngineProfile and QQuickWebEngineProfile is exactly identical, so move it to the ProfileAdapter instead. Change-Id: I01baf1c4e5b3c393675adefb0470def90b8b2813 Task-number: QTBUG-71215 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add setRequestInterceptor to QWebEnginePageAllan Sandfeld Jensen2018-10-174-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to make page specific intercepts, and is at the same time safer by running in the UI-thread. [ChangeLog][QtWebEngineWidgets][QWebEnginePage] Added setRequestInterceptor, similar to the same call on profile except it operates on a per-page basis and on the UI-thread. Change-Id: Id5a7173156c25d0f030f00b6ef314d283c7c8cdd Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Make it possible to enable OCSP on LinuxAllan Sandfeld Jensen2018-10-172-0/+38
|/ | | | | | | | | | | | | The code follows Chromium and also set a CertNetFetcher on both Linux and macOS, but it appears to be currently unused. [ChangeLog][QWebEngineProfile] A profile can now be designated to download OCSP records and thus enable OCSP verification on Linux. Task-number: QTBUG-58059 Task-number: QTBUG-71164 Change-Id: I84fd34d4351cb7aa4417ce4058f97bad4b8d0cd4 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Doc: Add link from QWEClientCertSelection to related signalLeena Miettinen2018-10-041-1/+5
| | | | | | Task-number: QTBUG-70496 Change-Id: I393001986714cd39dee2ac4fae8433cde1383ef8 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix QWebEngineView changed properties emit on setPageKirill Burtsev2018-10-013-18/+65
| | | | | | | | | | QWebEngineView now also emits url, title, icon and selection changes on setPage in the save way when url changes. Before, those updates were only forwarded from current page. Fixes: QTBUG-69300 Change-Id: If827205094423bc00064a123ddb143b6002d2e7c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-09-271-1/+8
|\ | | | | | | | | | | | | | | | | Conflicts: configure.json configure.pri src/3rdparty Change-Id: I2e0614b33596fe66999508556c464ed84acc8e2f
| * Doc: Mention that profile storage paths must be set before useLeena Miettinen2018-09-241-1/+8
| | | | | | | | | | | | Task-number: QTBUG-66871 Change-Id: I246d667dfe341a6bfe7a74b24286403bec4dde8b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix QWebEnginePage emit zero loadProgress before loadStartedKirill Burtsev2018-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | Restore expected behavior for QWebEnginePage loading progress. This was missing after queuing progress notification signals change. Add missing state transition to loadSignalsOrder test. Change-Id: Id1d94f8391b83decc8057c5108d2d19c38258965 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Allan Sandfeld Jensen2018-09-171-0/+2
|\| | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/core_common.pri Change-Id: I36dc3a70aa653e6c8a610c787b615034180a6127
| * Document world ID limitAllan Sandfeld Jensen2018-08-271-0/+2
| | | | | | | | | | | | | | | | | | The max was bumbed from 11 to 256, now document it. Task-number: QTBUG-69904 Change-Id: I6cbf64afe3409c4722d7a903d833124880b32bc0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Correct cert to certificateAllan Sandfeld Jensen2018-09-124-27/+27
| | | | | | | | | | Change-Id: I7534aa6cd0c2a95403ad997095d5de76216f228e Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix issues with qml bindings accessing non-existing adapterMichal Klocek2018-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have currently two levels of initialization for WebEngineView: the profile initialization and the adapter initialization. The adapter initialization is delayed to first navigation request to pick the right initial site instance and avoid creating dummy/blank WebContents, which in turn would start unnecessary render process. Profile initialization is delayed to make sure we avoid unnecessary default profile creations. Created profiles use filestorage. Unfortunately qml will call QQuickItem::componentComplete() only when the root element is completed and the bindings can be already in use by that time. Profile initialization has to take place before adapter initialization. Construct adapter together with WebEngineView, but create and initialize profile before adapter initialization. Go through WebEngineView and fix emitting signals based on adapter initialization. Most of the signals are emitted on initializationFinished(). Task-number: QTBUG-70248 Change-Id: I2acd8bff761c692a360733cbf537de53e1295695 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Improve QWebEngineUrlScheme APIJüri Valdmann2018-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following feedback from 5.12 API review: - Use enum class for Syntax - Add Q_FLAG for Flags - Mark constructor from name as explicit - Rename Secure to SecureScheme - Rename Local to LocalScheme - Rename addScheme to registerScheme - Rename findScheme to schemeByName Task-number: QTBUG-70247 Change-Id: Iae332c8d9843349506e8a4b07d70f0d234597375 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Avoid reattach of page before deleting itAllan Sandfeld Jensen2018-09-053-9/+10
| | | | | | | | | | | | | | | | | | Also fixes potential double delete if you do delete a view's implied page. Change-Id: Ib74128c0801f992694f4a5d8c148974039a6c7b2 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Zakor Tamas <ztamas@inf.u-szeged.hu>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Michael Brüning2018-08-212-1/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure.json examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc mkspecs/features/platform.prf src/3rdparty src/core/media_capture_devices_dispatcher.cpp src/core/net/url_request_context_getter_qt.cpp src/core/net/url_request_context_getter_qt.h src/core/web_contents_adapter.cpp Change-Id: I467133ba455b1f85f6bb61793794c31cb1094541
| * Add threading and security note for print()Michal Klocek2018-07-201-0/+5
| | | | | | | | | | | | | | | | | | Adds note for QWebEnginePage::print(...) function. Change-Id: I52ec78ccfc5c4eeb98ee69f9aaab01b380f97a81 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * Forward mouse and keyboard modifiers from QDropEventJüri Valdmann2018-07-131-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-69231 Change-Id: I35b503dae7e2d90b26b6e61a4c7c260e45df2b62 Reviewed-by: Filipe Azevedo <filipe.azevedo@kdab.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Make WebChannel an optional featureMichal Klocek2018-08-091-0/+12
| | | | | | | | | | | | | | Add webengine-webchannel feature. Change-Id: I600572180f8169aafe79cf0408527cc087d9a007 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Add printRequest()Michal Klocek2018-08-093-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds printRequested() signal for web content. This signal is emitted on javascript window.print(). This change updates also qt printview manager implementation, fixes a corner case and warnings about ipc unconsumed attachments. Task-number: QTBUG-69237 Task-number: QTBUG-53745 Change-Id: I0c47b732e27e929ac6db237fb562b7d5f9b959c2 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix running webengine without default profileMichal Klocek2018-08-031-2/+2
| | | | | | | | | | | | | | | | | | If default profile is not needed do not create by accident one in ~QWebEngineProfilePrivate. Task-number: QTBUG-66068 Change-Id: Ib4131268686178560f3a89dce41e59eb57613e17 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add QWebEngineUrlScheme classJüri Valdmann2018-08-021-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Public API for the new url/url_util_qt extension to Chromium, which allows to integrate custom schemes into Chromium's url parsing library and security model. Previously custom schemes would be treated as 'unknown' schemes and rely on fallback behavior in Chromium. [ChangeLog][Custom Schemes] Added the QWebEngineUrlScheme class for configuring how custom schemes are parsed and which security restrictions should apply. Task-number: QTBUG-62536 Change-Id: I7d8b9da3ad742f568b82ccc6a2456ad35e84069b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Add QWebEngineDownloadItem page/view accessorAllan Sandfeld Jensen2018-08-025-1/+23
| | | | | | | | | | | | | | | | | | | | To be able to determine where a download was triggered. [ChangeLog][DownloadItem] Added a page/view accessor to tell were the download was triggered. Change-Id: I21843a545a3e0eb66f5e5fa8a50e77564f2118a7 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Add DNS prefetchingAllan Sandfeld Jensen2018-08-012-0/+3
| | | | | | | | | | | | | | | | | | | | | | Turns out we did no have DNS prefetching. It requires an extra component. The same component can also do pre-connect, but we do not enable that, as it requires a predictive browsing backend. [ChangeLog][Settings] DnsPrefetchEnabled added, but disabled by default. Change-Id: Ieb036435b9f1a72a7be302e38e89e0c347c7176b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix build with '-no-feature-action' configurationValentin Fokin2018-07-184-0/+58
| | | | | | | | | | | | Task-number: QTBUG-56117 Change-Id: Ia097db769d0914f989860048db4ba628737f39c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Rename BrowserAdapterClient to ProfileAdapterClientMichal Klocek2018-07-094-44/+44
| | | | | | | | | | Change-Id: I1f8c0d2e59c2565b24c8c636553f1b70bcd31774 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Rename BrowserContextAdapter to ProfileAdapterMichal Klocek2018-07-095-64/+64
| | | | | | | | | | | | | | | | | | 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>
* | Enable client certificate storeAllan Sandfeld Jensen2018-07-085-1/+241
| | | | | | | | | | | | | | | | | | | | | | | | Creates the default client cerficate store for the platform and when given a choice of client certificates forwards to the choice to the application. Only a Widgets API for now. Task-number: QTBUG-54877 Change-Id: Ie15152398d5769579fa0c07e3e3035c2374e9940 Reviewed-by: Michal Klocek <michal.klocek@qt.io>