summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | Unset currentPrinter before triggering the callback of printing operationSzabolcs David2018-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | The printer is not in use here, but we are holding its pointer - preventing users from initiating other printing operations from the printing finished callback. Change this to allow chaining print() and printToPdf() calls. Task-number: QTBUG-69222 Change-Id: I1e6242627821d57f877b587c1d760fac16c97ae2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devAllan Sandfeld Jensen2018-06-261-50/+51
|\| | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure.json src/3rdparty tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp Change-Id: Id79ff6cf01c2db3a2044881ddcbf044abdf84936
| * Fix segfault in QWebEnginePage::triggerActionJüri Valdmann2018-05-301-50/+51
| | | | | | | | | | | | | | | | Calling triggerAction for a context-menu-specific action (like DownloadLinkToDisk), when no context menu exists, will crash. Change-Id: Ife647b7a7d8ab1a0d9dcb7d3566be130516e6e63 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fine tune configure and clean up header includesMichal Klocek2018-06-122-30/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously configure was generating two config headers qtwebengine-config.h and qtwebengine-config_p.h, however those headers were never installed or included as dependency in Makefiles. Moreover, due to the name clash all features were included into qt_lib_webengine_*.pri which is QtWebEngine QML module. Move configure to core so all features belong now to qt_lib_webenginecore*.pri. Fix global includes to include qtwebenginecore-config*.h. Drop all DEFINES and use QT_CONFIG instead. Cleanup all evil looking includes in headers for webengine and webenginewidgets. Change-Id: Iddbc8bf4487d9a5f0c19a71a9569535083507756 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Use range-based for instead of Q_FOREACHJüri Valdmann2018-06-062-5/+5
| | | | | | | | | | Change-Id: Ibf016b795ff98fddfa29fb5dc63924a2d2159d71 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Michal Klocek2018-05-301-5/+0
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devAllan Sandfeld Jensen2018-05-291-5/+0
| |\| | | | | | | | | | Change-Id: I9b1f2a0317290f0855da03eca9d26878b7faeb0a
| | * Fix overeager disabling of QActions in QWebEnginePageJüri Valdmann2018-05-191-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some actions, like Copy, are never updated and therefore need to be always enabled. Task-number: QTBUG-68354 Change-Id: I6827ee719ddc55cad3e4359379d1f2980f4b9618 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Unify and simplify profile constructorsMichal Klocek2018-05-282-19/+3
|/ / | | | | | | | | | | | | Use one constructor for private profile creation. Change-Id: I57a227b6344b6e308cfd4931986fa1dede75cfce Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Michal Klocek2018-05-183-2/+12
|\| | | | | | | refs/staging/dev
| * Cleanup pdfium_document_wrapper_qt.h includeAllan Sandfeld Jensen2018-05-151-1/+4
| | | | | | | | | | | | | | | | | | Do not make it depend on a define that could break precompiled headers, instead only included it when it is valid. Task-number: QTBUG-67977 Change-Id: I65f4de89de06d7a35c8dd97e4e9bd92d8c6dca54 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Remove hardcoded size from QWebEngineView::sizeHint()Szabolcs David2018-05-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 800x600 takes more space than expected when building a layout which contains QWebEngineView. Now this function does exactly the same as QWidget::sizeHint(). Add an auto test and update examples which were depending on this hardcoded size. Change-Id: I3b34b7d37cc99a8d6a49100d6c4b66b5b6a1c999 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Disable drag&drop on eglfs for qml appMichal Klocek2018-05-042-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The drag creates raster window, which on eglfs platform can be problematic. In case of running qml based browser without backing store, this will try to create a backing store during drag event, which will abort on eglfs. Therefore avoid the drag in qml in case the platform does not support multiple windows. This patch has the side effect of disabling drag even when qml runs with backing store, i.e. using QQuickWidget and therefore creating another raster window is not an issue. [ChangeLog][Behavior Changes] Drag&Drop is now disabled for QML based applications, when platform does not support multiple top-level windows (like EGLFS). Task-number: QTBUG-57516 Change-Id: I0c2685ba90914fe1f7168c79744c55e07e589488 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Change BrowserContextAdapter to be QPointerMichal Klocek2018-05-184-19/+43
|/ | | | | | | | | | | | | | | | | | | BrowserContextAdapter is living and accessed only in UI thread, remove QSharedPointer usage and change QWebengineProfile to use QPointer. Prevent BrowserContextAdapter outliving WebEngineContext by setting globalObject as a parent to track WebEngineContext destruction. This commits tries to simplify the life cycle handling of browser context, it removes profile shutdown methods and QWebEngineBrowserContext, which was used to track profile destruction. Task-number: QTBUG-62147 Change-Id: I79f2c38a123cd053e3a59f4900afbdc759a396fe Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-04-173-0/+11
| | | | | | Change-Id: Ib6763a8a3e1ac1ac98caef39f7e6e75c18344424 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use wrappers in QtWebEngineCore public interfaceJüri Valdmann2018-04-132-6/+4
| | | | | | | | Stop exporting quota / RegisterProtocolHandler request controller classes, and use the public wrapper classes in WebContentsAdapterClient instead. Change-Id: Iaa380b6ceb4f9464fc05dd012ee5df219f11f189 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Shorten names of permission classesJüri Valdmann2018-04-133-20/+20
| | | | | | | | | | | Remove 'permission' from class and signal names, so e.g. QWebEngineQuotaPermissionRequest becomes QWebEngineQuotaRequest and quotaPermissionRequested becomes quotaRequested. Rename the internal controller classes to public name + "Controller". Change-Id: I247714ab0a2880adbf4ed8ee68f1b78838ae7a14 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Use Q_DECLARE_OPERATOR_FOR_FLAGS in public APIKai Koehne2018-04-132-0/+4
| | | | | | | | | | This allows writing something like FindFlags x = FindBackWard | FindCaseSensitively Change-Id: I88f8465dd64482ad871530fbb6d6351895fe6a3a Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid creating temporary blank WebContentsJüri Valdmann2018-04-065-52/+135
| | | | | | | | | | | | | | | | | | | | | - Avoid creating a blank WebContents for new QWebEnginePages only to replace it with a different blank WebContents moments later. This problem is already solved in QQuickWebEngineView by lazy initialization, therefore the patch moves this lazy initialization into WebContentsAdapter itself so that it can be applied to both QQuickWebEngineView and QWebEnginePage. - Try to delay WebContents creation until the first navigation so that we have enough information available to pick the right initial SiteInstance when calling WebContents::Create. This is done by triggering WebContents creation from the first call to a WebContentsAdapter::load* method. - Use the SiteInstance from WebContentsDelegate::OpenURLFromTab. This method gets a SiteInstance pointer which we should give to WebContents::Create. Task-number: QTBUG-65561 Task-number: QTBUG-67163 Change-Id: Id7b351998adefb810cf27c61a1447b61d7f4c606 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Change QWebEngineView to use another layoutSzabolcs David2018-04-051-4/+4
| | | | | | | | | QWebEngineView hides its siblings in its parent layout. (See QTBUG-66957) Change it to use QVBoxLayout for now. Change-Id: I4e89d8c06d990633adab1150de1c62552f0033a1 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove an unnecessary ContextMenu SeparatorValentin Fokin2018-04-051-1/+2
| | | | | | | | | When right clicking on a simple image there would be a separator on the top of the DefaultContextMenu. This patch fixes it by checking if the context menu has any elements in it before adding a separator. Change-Id: I6bbe91fdac9f49006be8cc73df1d97d34f3c2848 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Replace deprecated Q_FLAGS macroKai Koehne2018-04-051-2/+4
| | | | | | | | | | | | | Q_FLAGS is deprecated, and is replaced by the more powerful Q_FLAG macro. Anyhow, Q_FLAG and Q_FLAGS only makes sense if used inside a QObject or Q_GADGET. The patch therefore makes QWebEngineContextMenuData a Q_GADGET. Change-Id: Icccb373846a645272a7bf29397b930ae80be9b85 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Valentin Fokin <fokinv@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove MediaNone, CanDoNone flags from QWebEngineContextMenuDataValentin Fokin2018-03-222-12/+2
| | | | | | Task-number: QTBUG-66994 Change-Id: I8e5ce23e2326fff078e11cadc70274641eeef132 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Cleanup file locationsAllan Sandfeld Jensen2018-03-201-1/+1
| | | | | | | | Move printing and network specific classes to subdirectories so we have fewer files in the main dir. Change-Id: I675b1b8b8fd1588061104cec181087f305b44f98 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Adaptations to form validationAllan Sandfeld Jensen2018-03-153-36/+0
| | | | | | | | Form validations messages has moved entirely to being done by Blink. Change-Id: I6742c111fc59f0baba75b8b37f5d0ec9ae2fb920 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Remove broken link from web engine download item docsLeena Miettinen2018-03-131-1/+1
| | | | | | | | The doucmented enumerations are obsolete, so the link is not really useful anymore. Change-Id: I9902ed18caa2e8a7a9bbb7935cbd9bb9ae6a88c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix function signatures in docsLeena Miettinen2018-03-131-4/+4
| | | | | | | | | | | | The "request" parameter has been renamed for QWebEnginePage::fullScreenRequested() and QWebEnginePage::quotaPermissionRequested(), which causes QDoc warnings and broken docs. Change-Id: I58ada7c882e381a6ab008f5523ca7bcdfc3e8212 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Expand docs for WebEngineDownloadItemJüri Valdmann2018-03-121-8/+74
| | | | | Change-Id: I82619627b7dd1fbb86d8f0363de2f6e9666b44d4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Move quota and registerProtocolHandler permission classes to coreJüri Valdmann2018-03-085-366/+3
| | | | | | | | | | | | | | | | | | | | | | | - Move QWebEngineQuotaPermissionRequest and QWebEngineRegisterProtocolHandlerPermissionRequest to QtWebEngineCore. - Delete QQuickWebEngineQuotaPermissionRequest and QQuickWebEngineRegisterProtocolHandlerPermissionRequest. Miscellaneous cleanup: - Mark QWebEngineQuotaPermissionRequest constructors as internal for QDoc. - Remove superfluous Q_DECLARE_METATYPEs (implied by Q_GADGET). - Remove Q_UNREACHABLE from default constructor. For some reason QML seems to default construct an unused temporary object before throwing it away and copy constructing the actual object. This triggers Q_UNREACHABLE. Change-Id: Icf9f4e34996e4c64aec65b734bcb3bbd22b4dc51 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Fix doc generation for some QWebEnginePage functionsLeena Miettinen2018-03-082-26/+2
| | | | | | | | | Remove #ifdef Q_QDOC defines and fix the command signatures in \fn commands or remove the commands, where possible. Task-number: QTBUG-66709 Change-Id: Ic591b53f0d52c7c938d8651cd6610f31af0cc540 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Fix doc generation for QWebEngineView::findText()Leena Miettinen2018-03-081-6/+0
| | | | | | | | | | Removed the Q_QDOC define for the FunctorOrLambda and removed the documentation for it. Modified the signature in the \fn command for the remaining docs. Task-number: QTBUG-66398 Change-Id: I142df88fa599f1f31f50da50377267d1eea322d4 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Explicitly use custom margins for printing to pdfMichael Brüning2018-03-061-1/+3
| | | | | | | | | | | | | | | 3cec2ccb0ffdd41a41ab55d4c1ba88d4866e71d1 introduced a regression because it was assumed that the page was only printed to pdf when a filename was given. This is not the case when the pdf data is handed to the callback, though. Correct this by explicitly stating when margins should be used. Task-number: QTBUG-66654 Change-Id: I663f578ff5d01c77cc62e6f3756a17f78168a9aa Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Link QWebEngineDownloadItem SavePage-related functionsLeena Miettinen2018-03-051-2/+4
| | | | | | | | | Add see-also links between the new 5.11 function, isSavePageDownload(), and the existing related functions. Task-number: QTBUG-66777 Change-Id: I5b135ba2f69213082cd8b516f71c7c5c7124feec Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fixup merge of downloadType from 5.10.1Allan Sandfeld Jensen2018-02-213-8/+20
| | | | | | | | | | | | | In 5.11 we deprecated downloadType and at the same time ripped out most of the faulty logic. Later we partially fixed the logic in 5.10.1, but kept the 5.11 version during the merge. This restores the improved logic from 5.10.1, while keeping the property deprecated since it is still misleading at times. Change-Id: I12ee09a2b212506f7ba1a336c9c2e88aa3b1de24 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Allow disabling cache of off-the-record profilesAllan Sandfeld Jensen2018-02-151-3/+5
| | | | | Change-Id: Ib319f46465e9f330ef5f2c7a5b2f6a3d50c33c00 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Add support for registerProtocolHandlerJüri Valdmann2018-02-135-0/+211
| | | | | | | | | | | | | | | | | | | Extend initialization of URLRequestContextGetterQt to create a content::ProtocolHandlerRegistry for each content::BrowserContext and add the registry's URL request interceptor to the front of the interceptor chain. Implement methods in WebContentsDelegateQt to add/remove protocol handlers to/from the ProtocolHandlerRegistry. Add permission request signal and classes for core, quick and widgets. Add widgets autotest. Add signal handlers to quicknanobrowser and simplebrowser. Task-number: QTBUG-62783 Change-Id: I808e7eb9a1cb4d7216686deed4895de14fe46310 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>