summaryrefslogtreecommitdiffstats
path: root/src/webengine
Commit message (Collapse)AuthorAgeFilesLines
...
* | Remove keeping browser context as shared pointer in web context adapterMichal Klocek2018-05-184-5/+36
|/ | | | | | | | | | | | | | | | | | | In widgets we document that web contents can not out live browser context ie. WebEngineProfile can not be deleted before WebEnginePage which uses it. In qml we can not be sure the order in which objects are garbage collected. We used shared pointers to keep order of destruction. Unfortunately shared pointers do not work well with corner cases, and we added more and more code to deal with that (shutdown methods + qpointers wrapping qsharedpointers). In order to remove growing complexity remove usage of shared pointers to keep strict deletion order. Remove shared pointer from WebContentsAdapter and simply track the WebContents, that is used by the given BrowserContext. Force deletion of webcontents first. Change-Id: I05f886a0094d971b03f9a35e12c4b4672f0fe4ce Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Update plugins.qmltypesKai Koehne2018-04-172-16/+34
| | | | | | Task-number: QTBUG-66905 Change-Id: I149a0d6a9b16ddc55c52200b7dce2b5e37409e9d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make sure we can build with -no-feature-draganddropJoerg Bornemann2018-04-172-0/+11
| | | | | | Change-Id: Ib6763a8a3e1ac1ac98caef39f7e6e75c18344424 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crash on launching and quitting nanobrowser with devtools openAllan Sandfeld Jensen2018-04-171-6/+7
| | | | | | | | | Make sure it is opened after initialization of the inspected content, and deleted when the inspected content is closed. Task-number: QTBUG-67642 Change-Id: Ie7218bc437e8c529205ceb7744c4aa0c9ffe6c75 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Document process model switchesJüri Valdmann2018-04-171-0/+57
| | | | | | | Task-number: QTBUG-65561 Change-Id: I39b318b65c692c6b0fa9c81865fcaef5c7ee691c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@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-135-46/+46
| | | | | | | | | | | 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>
* Avoid creating temporary blank WebContentsJüri Valdmann2018-04-063-148/+92
| | | | | | | | | | | | | | | | | | | | | - 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>
* Remove an unnecessary ContextMenu SeparatorValentin Fokin2018-04-051-1/+1
| | | | | | | | | 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-052-5/+3
| | | | | | | | | | | | | 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>
* Doc: Drop the use of QT_PLUGIN_PATH in documentation configTopi Reinio2018-03-273-47/+4
| | | | | | | | | | | | | This caused build issues in certain configurations. We don't actually need it, as we can rely on the base Qt include path instead. Also move the custom module header under src/webengine/doc and rename it. Task-number: QTBUG-67342 Change-Id: Id5e809202ddaa285bfcc341a36b0b3d5a7ade436 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Document verbose logging flagAllan Sandfeld Jensen2018-03-221-0/+4
| | | | | | Change-Id: I162032de8a13d920ad28a8dd2eeaec6c7594586f Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Remove MediaNone, CanDoNone flags from QWebEngineContextMenuDataValentin Fokin2018-03-223-12/+0
| | | | | | Task-number: QTBUG-66994 Change-Id: I8e5ce23e2326fff078e11cadc70274641eeef132 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add registration of QQuickWebEngineDownloadItem / 1.7Kai Koehne2018-03-201-0/+2
| | | | | | | | | | Explicitly register the new property added in 7219986a18d45d. Because of QTBUG-50990 this is strictly speaking not necessary at runtime, but makes sure that qmlplugindump also generates metadata about the new property. Change-Id: Idcc286aa7b25eb50d0f37cda8ee718d65a51e7f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update Chromium version in documentationKai Koehne2018-03-201-1/+1
| | | | | | Task-number: QTBUG-64873 Change-Id: Ie7f9eaef2535cd7540473c7aee75fb183b80a796 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations to form validationAllan Sandfeld Jensen2018-03-158-278/+4
| | | | | | | | 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>
* Clarify Windows build requirementsJoerg Bornemann2018-03-121-1/+1
| | | | | | | | [ChangeLog][QtWebEngine] QtWebEngine requires Visual Studio 2017. Task-number: QTBUG-66596 Change-Id: Ib9961afef17bc095bdf983cb06981e16963157c1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Describe functions for inspecting web content in Features topicLeena Miettinen2018-03-121-0/+9
| | | | | | | | | | Add a short description and links to the new QWebEnginePage functions and WebEngineView QML properties. Task-number: QTBUG-66780 Change-Id: I205d1d922caac1c82a11054055ec44924942249d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Expand docs for WebEngineDownloadItemJüri Valdmann2018-03-121-6/+69
| | | | | Change-Id: I82619627b7dd1fbb86d8f0363de2f6e9666b44d4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Bump QtWebEngine import versionKai Koehne2018-03-081-3/+3
| | | | | Change-Id: Ice026456c9dcc1688ef76cf3f556342b7a0a2ecf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Rename protocol() to scheme() in QWERPHPermissionRequestJüri Valdmann2018-03-081-1/+1
| | | | | | | | | Scheme refers to a part of a URL. Protocol refers to a formal standard for communication over a network. Therefore scheme is more accurate here, since registerProtocolHandler only defines simple aliases. Change-Id: I71a1511aa92e41c3e3aca4c0403f54af6d91c563 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move quota and registerProtocolHandler permission classes to coreJüri Valdmann2018-03-084-110/+19
| | | | | | | | | | | | | | | | | | | | | | | - 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 documentation build to work with Clang-enabled QDocTopi Reinio2018-03-082-0/+51
| | | | | | | | | | | | | | | | | Since Qt 5.11, QDoc uses Clang to parse C++ code for documentation. As we have a combined documentation project under src/webengine that covers also webenginewidgets, qmake does not pass the full set of include paths required for Clang to parse also webenginewidgets documentation. Fix this by adding the required include paths in qtwebengine.qdocconf, and by using a custom module header, used for doc builds, to pull in also the QtWebEngineWidgets module header which Clang needs. Task-number: QTBUG-66398 Change-Id: I1da547745c0c06762be216ae55724508b5d6a700 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove unused QQuickWebEngineView::setDevicePixelRatioJüri Valdmann2018-03-062-9/+0
| | | | | Change-Id: Ia202d41907bd7e5925f8995a2ca373ffe5ef03e8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Fix incorrect spelling in qtwebengines_dictionariesKai Koehne2018-03-061-1/+1
| | | | | | | Change-Id: I5eeed33591501b7218bca204c78594dd02de1dc7 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Doc: Document qualified -webengine-proprietary-codecsKai Koehne2018-03-021-1/+1
| | | | | | | | -proprietary-codecs still works, but the more qualified variant is preferred. Change-Id: I17eb023a9c13073f10106cf3e78cf080e97955da Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix some QDoc warningsJüri Valdmann2018-03-021-1/+1
| | | | | Change-Id: I1af130982db78184fca763dd61568f350d8a2d42 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Replace accessibility private API usage with QQmlPropertyv5.11.0-beta1Alexandru Croitor2018-02-221-8/+10
| | | | | | | | | | | | Previously enabling accessibility for the QtQuick WebEngineView was done by calling QuickAccessibleAttached::qmlAttachedProperties() which is a private API call. Instead of that, set the Accessibility attached properties by using QQmlProperty. Task-number: QTBUG-63098 Change-Id: Ibc927c1fce121dee56d8a21af412056d98c82c4d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fixup merge of downloadType from 5.10.1Allan Sandfeld Jensen2018-02-213-9/+22
| | | | | | | | | | | | | 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>
* Add documentation about using Qt Quick Compiler with qrc .js filesAlexandru Croitor2018-02-202-0/+18
| | | | | | | | | | Application developer need to make sure that they skip processing .js files by the Qt Quick Compiler, if the files will be loaded inside HTML pages. Task-number: QTBUG-66155 Change-Id: I09a3c6fa1f31b60a09d30012c6e15ae872bac639 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-181-0/+4
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I230e21638604fe75b6f1d6b7877f9bc4b2d2c020
| * Fix crash on accessing WebEngineView properties too earlyPeter Varga2018-02-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | WebContentsAdapter is not created together with the QQuickWebEngineView. Thus querying a view property can lead to a crash if it uses the adapter. This fix adds the missing guards for contentSize and scrollPosition as it is done for similar WebEngineView properties. Task-number: QTBUG-65942 Change-Id: I9c2668a059b08325629f5730608280ba7f3669cf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Allow disabling cache of off-the-record profilesAllan Sandfeld Jensen2018-02-151-3/+4
| | | | | | | | | | Change-Id: Ib319f46465e9f330ef5f2c7a5b2f6a3d50c33c00 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Fix javascriptCanPaste NOTIFY signalJüri Valdmann2018-02-131-1/+1
| | | | | | | | | | Change-Id: Ic3f1e11f42f26e7800524dd88f707200ef3b7705 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add support for registerProtocolHandlerJüri Valdmann2018-02-136-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge dev into 5.11Oswald Buddenhagen2018-02-062-25/+27
|\ \ | | | | | | | | | Change-Id: Iad50b7865d6861bb15b85e6abe455aae2802ea4b
| * \ Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Allan Sandfeld Jensen2018-02-062-25/+27
| |\ \ | | | | | | | | | | | | refs/staging/dev
| | * \ Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-02-022-25/+27
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/download_manager_delegate_qt.cpp src/core/download_manager_delegate_qt.h src/core/render_widget_host_view_qt.cpp src/core/web_contents_adapter.cpp src/webengine/api/qquickwebengineview.cpp tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp Change-Id: I2308414ce257ae5bb0fc9f6493aa111a267ff39b
| | | * | Fix crashes of url load qml testsMichal Klocek2018-01-312-22/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we can get QuickWebEngineViewPrivate::loadFinished while still being in RenderFrameHostImpl::OnDidStopLoading, unfortunately if user connects onLoadingChanged signal with new url load request this will end up in DiscardUnusedFrame and delete on RenderFrameHostImpl which is still on the bottom of the stack. Use QTimer::singleShot to return to the event loop before emitting load handling signals. Post all load handling calls with singleShot to avoid out of order load "signals" delivery in some cases. Emitting signals should be done from WebContentsAdapterClient to make sure the destruction of WebConentAdapterClient prevents emitting signals on already deleted adapter. Task-numbmer: QTBUG-65813 Change-Id: I93263876fb14bd959ba951463c8aeb5155f04a4f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | Merge dev into 5.11Oswald Buddenhagen2018-02-061-2/+8
|\| | | | | | | | | | | | | | | | | | | Change-Id: Iaa5a467096e4915bbb5a7b0486fb08101af3749e
| * | | | Merge remote-tracking branch 'origin/5.11' into devAllan Sandfeld Jensen2018-02-0210-127/+474
| |\ \ \ \ | | |/ / / | |/| | | | | | | | Change-Id: I454bb7216b013cc9aa9ee660893fe37034fd50e1
| * | | | Adaptations for Chromium 63Allan Sandfeld Jensen2018-01-251-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | | | QuotaPermissionController: Rename cancel() to reject()Jüri Valdmann2018-02-031-1/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | Better matches our public API and other classes. Task-number: QTBUG-62783 Change-Id: I75f54802325b0ed029528d3ca5af0f0cd7ee01df Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Expose JavascriptCanPaste attributeKai Koehne2018-02-022-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expose an attribute to enable the execCommand("paste") functionality, which is by default disabled due to security concerns. [ChangeLog][General] Added JavaScriptCanPaste attribute that enables JavaScript 'execCommand("paste")'. Task-number: QTBUG-64056 Change-Id: I1a414021e020473dd15946fff91fb103d871e961 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Add EditFlags and MediaFlags to Quick and Widget APIValentin Fokin2018-02-024-6/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - EditFlags shows the available edit actions - MediaFlags shows the status and available actions of the current media element - Update the documentations - Register ContextMenuRequest 1.1 - Update plugins.qmltypes [ChangeLog][QtWebEngine][QtWebEngineWidgets] Add EditFlags and MediaFlags to the APIs Change-Id: Ia7603696a291df5465c5e612adc2456f5f6cb479 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Make default context menus look more like chrome's oneValentin Fokin2018-02-023-121/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Implement EditFlags in ContextMenuData - Unify Quick and Widget default context menus - Add workaround for QTBUG-65044 - Update the SimpleBrowser example and its documentation [ChangeLog][QtWebEngine][QtWebEngineWidgets] Unify Quick and Widget default context menus Task-number: QTBUG-62414 Change-Id: I16a380f9f17e160497dfb8ac9c172341eb28c6c8 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Unset inspectedView when devTools are not visibleSzabolcs David2018-02-011-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | The webview in quicknanobrowser shows devtools related information, for example: resolution appears in the top right corner when resizing the window. Change-Id: I494450f4976155f995bcb7e843d82ba081d91493 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-01-176-19/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/webengine/api/qquickwebengineview_p_p.h src/webenginewidgets/api/qwebenginepage_p.h tests/auto/quick/qmltests/data/TestWebEngineView.qml Change-Id: Id2acc92e8d0364bdaaf5a63ea2d2cb9cd533ade3
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2018-01-163-11/+21
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/web_contents_adapter.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp tests/auto/widgets/qwebenginedownloads/tst_qwebenginedownloads.cpp tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp Change-Id: I56c093ebab5ee8b577783ce71761719159cd3ddd