summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_delegate_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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-151-32/+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>
* Basic adaptations for 65-basedAllan Sandfeld Jensen2018-03-151-1/+1
| | | | | Change-Id: I121b14d6a44e80f5eea4b159c58f7010d472926e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove credentials from view-source URLsPeter Varga2018-03-141-8/+19
| | | | | | Task-number: QTBUG-65997 Change-Id: Icb55326c51f1dfff77e8e862e9ced619be17ead1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix loadStarted signal after an in-page navigationv5.11.0-beta2Peter Varga2018-03-081-1/+1
| | | | | | | | | | | In-page navigations does not trigger loadFinished thus m_lastLoadProgress is not reset to -1. Do not ignore loadStarted signal if m_lastLoadProgress is set to 100 because it can mean a new navigation after an in-page one. Task-number: QTBUG-66869 Change-Id: I2b556fe7e3e097c338bdd7ca47e7384722e7eca9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid use-after-free of ProtocolHandlerRegistryJüri Valdmann2018-03-081-1/+1
| | | | | Change-Id: Ib84a80472a93f53f3675cb8c2db6fa377322b86b Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Expose actual URL for data URLs instead of the virtual URL in the APIPeter Varga2018-02-211-1/+30
| | | | | | | | | | | Chromium considers the actual URL as "scary" therefore prefers to pass a simpler URL via the WebContents::GetVisibleURL() content API function. For data URLs, use the actual URL instead to keep their anchor information. Task-number: QTBUG-64972 Change-Id: I74db3e5dd22a728656a58e50a4e3fba93b82dae2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add support for registerProtocolHandlerJüri Valdmann2018-02-131-0/+36
| | | | | | | | | | | | | | | | | | | 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 remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-02-021-0/+7
|\ | | | | | | | | | | | | | | | | | | | | | | 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 random crashes on exitMichal Klocek2018-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Destroy WebContentsDelegateQt before WebContents, since it references already partly deleted WebContentsAdapterClient object. This prevents calls by navigation handling on already destructed web contents adapter client. Task-number: QTBUG-65647 Task-number: QTBUG-47945 Change-Id: I0ed5887b337a43ab89ecbfe05130691b5f1f37ec Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 63Allan Sandfeld Jensen2018-01-251-11/+1
| | | | | | | | | | Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 62Allan Sandfeld Jensen2018-01-251-2/+1
| | | | | | | | | | Change-Id: I49cd3c419d4dd1180144c3c07bdd9a628ab73caa Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2018-01-171-4/+21
|\| | | | | | | | | | | | | | | | | | | 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-081-4/+21
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/api/qwebengineurlrequestjob.cpp src/core/browser_context_adapter.cpp src/core/renderer/user_resource_controller.cpp src/core/web_engine_context.cpp src/webenginewidgets/api/qwebenginepage.cpp Change-Id: I5278e5e22e1776d42975fc94d70ff8ca4f81fb9a
| | * Fix favicon update from JavaScriptPeter Varga2017-12-131-0/+3
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-64967 Change-Id: Ida79d6cdb682d510e9a2e91e3e3ca263acf34a99 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
| | * Fix Message Bubble position for High-DPIPeter Varga2017-12-051-4/+18
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-64812 Change-Id: I9df71253cf6c541622e431b1ff444fc49269d0c3 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Introduce devtools frontendAllan Sandfeld Jensen2017-12-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to use devtools without using the remote-debugger Task-number: QTBUG-47899 Task-number: QTBUG-50725 Task-number: QTBUG-50766 Change-Id: Id32e13f773372d9917599ebbb64ab4af61bbf1d8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Allan Sandfeld Jensen2017-11-301-18/+15
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2017-11-291-18/+15
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/web_event_factory.cpp src/core/web_event_factory.h src/webengine/render_widget_host_view_qt_delegate_quick.h Change-Id: Ic43787e2689c81b501ed395a990190eb67d83a2b
| | * | Stop preserving aborted navigation entriesJüri Valdmann2017-11-141-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the scenario 1. user enters url "http://localhost:8000/" A new navigation entry is created and committed in the NavigationController. 2. user enters url "http://localhost:8000/download.bin" A new navigation entry is created and a download is triggered, but the pending navigation entry in the NavigationController is neither committed nor discarded (since our WebContentsDelegate's ShouldPreserveAbortedURLs() returns true). 3. user enters url "http://localhost:8000/download.bin" At this point the NavigationController will have "http://localhost:8000/" as the committed navigation entry and "http://localhost:8000/download.bin" as the pending entry. NavigateToPendingEntry will see that the user is trying to navigate again to the same URL as the last pending entry and will therefore identify this new navigation as a reload. However Blink interprets 'reload' to mean reloading the last committed entry, i.e. "http://localhost:8000/", and so we end up trying to download "http://localhost:8000/" instead of "http://localhost:8000/download.bin" as the user might have expected. The patch removes the ShouldPreserveAbortedURLs override and relies on the default implementation which always returns false. As a result the pending navigation entry in step 2 above is discarded once the download has been triggered and the unexpected behavior in step 3 is no longer triggered. Removing the override resurrects QTBUG-48995 where, for example, calling QWebEnginePage::setUrl triggers first a urlChanged signal for the *old* URL. The patch adds url and title properties to WebContentsDelegateQt so that property change signals are triggered only if the properties have actually changed. A consequence of this fix is that the first urlChanged signal is delivered directly from the setUrl/load method and not asynchronously once the loading starts (this is also how Chrome's URL bar is updated). Task-number: QTBUG-63388 Change-Id: Icfa300b165e5e56f1fbc8978a00a237c263df183 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | | Expose an option to hide internal IP addresses from WebRTCAllan Sandfeld Jensen2017-11-291-2/+2
|/ / / | | | | | | | | | | | | | | | Task-number: QTBUG-57505 Change-Id: I8d8f906311ce94b2d9df67cb4479b70c8961c3a6 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devAllan Sandfeld Jensen2017-10-271-4/+11
|\| | | | | | | | | | | Change-Id: Ibc1c881a67bf088ba6fb044e2553c74c7e9e24ca
| * | Adaptations to 61-basedAllan Sandfeld Jensen2017-10-251-2/+6
| | | | | | | | | | | | | | | Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * | Mark redirecting URLs as visitedSzabolcs David2017-10-171-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the whole redirect chain of finished navigations in the database of visited links. Chrome does the same thing, except that it implements NavigationURLLoaderDelegate::OnRequestRedirected() for this purpose. Task-number: QTBUG-63579 Change-Id: Iff46c33de14c5e1a7386bd1e2860c832e24d5083 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Merge branch '5.10' into devAllan Sandfeld Jensen2017-10-131-1/+1
|\| | | | | | | | | | | Change-Id: I3a411e4019a5ec2f7d1a967b62a00ad7cf92f6f4
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-291-1/+1
| |\| | | | | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| | * Add LICENSE.ChromiumKai Koehne2017-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The mentioned LICENSE file is not available; add it under the name LICENSE.Chromium. Task-number: QTBUG-60006 Change-Id: Ib2b3cb64467046c7ba1f53b0bbe14c3ec5a5291d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Implement geometryChangeRequested signal in the Quick APISzabolcs David2017-10-051-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium includes the size of the frame in the requested geometry, but QWindow::setGeometry() and the related properties of QML Window expect a size without frame. This patch - fixes the geometry handling in Demobrowser example. - implements a new signal in the QML API which sends both frameless and extended geometries to the application, because QML doesn't have capability to determine the size of the frame and handle extended geometry correctly. Task-number: QTBUG-51181 Change-Id: I8595593aecca33d7cd46986c7abbad0cc7c18ec2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Add Setting to allow passing unknown URL schemes to QDesktopServicesViktor Engelmann2017-09-181-5/+36
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new enum UnknownUrlSchemePolicy was added to WebEngineSettings, QWebEngineSettings and QQuickWebEngineSettings. WebContentsDelegate now has a new attribute of that type, which can be read and written through the public APIs Q(Quick)WebEngineSettings::unknownUrlSchemeNavigationPolicy and Q(Quick)WebEngineSettings::setUnknownUrlSchemeNavigationPolicy. This way, one can control, whether URLs with unknown schemes are passed to QDesktopServices. WebContentsAdapterClient::navigationRequested is called on these requests, so this allows more fine-grained control over the schemes and origins, that are allowed. Task-number: QTBUG-58627 Change-Id: Ie81d9503456d63ea1ed5606483254acf437cd8f7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-1/+9
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-1/+0
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Emit loadProgress only between loadStarted and loadFinishedViktor Engelmann2017-08-221-9/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now track the values we send to the loadProgress signal. We store the last value in a new int WebContentsDelegateQt::m_lastLoadProgress and only send values that are >= m_lastLoadProgress to ensure monotonicity. A value < 0 indicates that no loading is going on. Only on loadStarted it is set to 0 (and a loadProgress is emitted with progress 0) and on loadFinished, it is set to -1 (and a loadProgress is emitted with progress 100). This way, we ensure that you first get a loadStarted signal, at least two loadProgress signals (0 and 100) and a loadFinished signal AND all loadProgress signals come in a monotonous order. Task-number: QTBUG-57839 Task-number: QTBUG-61815 Change-Id: I219d3bffbd5691adb892a11b79647ba9e1ed248e Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Suppress extra loadStarted signal for data URL with specified base URLPeter Varga2017-07-131-0/+10
| | | | | | | | | | | | | | | | | | In these cases two NavigationHandles are created. One for the data URL and another one for the base URL. Suppress the loadStarted signal for data URL one since it is expected to be informed about the base URL. Change-Id: I1a3006cf552a26b8419bd76454e26c0e33c2e898 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devAllan Sandfeld Jensen2017-07-051-1/+6
|\| | | | | | | Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
| * Store Target URL in WebContentsDelegateQt::WebContentsCreatedViktor Engelmann2017-05-301-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When opening a new window, for example by using the JavaScript method window.open('...'), the requested url is not stored in the content::WebContents object we get in WebContentsDelegateQt::createWindow (at this point, it should at least be stored as pending request in the WebContents' NavigationController, but it is not). Because of this, the QQuickWebEngineNewViewRequest object in QQuickWebEngineViewPrivate::adoptNewWindow never contained the url. We have access to the target url in WebContentsDelegateQt::WebContentsCreated, so now we store it there in a new property m_initialTargetUrl, from where WebContentsDelegateQt::createWindow takes it and passes it to WebContentsAdapter::adoptNewWindow as a new parameter. [ChangeLog][WebEngine] Fix WebEngineNewViewRequest::requestedUrl being empty when opening window from JavaScript Task-number: QTBUG-57675 Change-Id: I7e2c7866899baade17ce2517e6be8b2b2709699e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Navigation event adaptations for Chromium 58Allan Sandfeld Jensen2017-06-141-39/+55
| | | | | | | | | | Change-Id: Ieef29fa09c8b4733737840ce6260ac6e87e7dca0 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Simple adaptations for Chromium 58Allan Sandfeld Jensen2017-06-141-1/+1
| | | | | | | | | | Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 57Allan Sandfeld Jensen2017-06-141-1/+1
| | | | | | | | | | Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Handle ViewHostMsg_Focus message from chromiumViktor Engelmann2017-05-241-0/+7
|/ | | | | | | | | | | | | | | | | | | | | | Calling the method window.focus() in javascript causes chromium to send a ViewHostMsg_Focus message, which is received by RenderViewHost, which then calls RenderViewHost::OnFocus. This calls WebContentsDelegate::ActivateContents, which does nothing in the default implementation. We now override this method in WebContentsDelegateQt::ActivateContents and call Focus() on the WebContents object IF the new WebEngineSettings value AllowWindowActivationFromJavaScript is true (by default, it is false). This in turn calls QWebEnginePagePrivate::focusContainer. The WebEnginePage now calls QWidget::activateWindow() in addition to QWidget::setFocus, to make sure the window is also activated (which it might not be, if multiple windows are open). For the QML side, a new boolean Property allowWindowActivationFromJavaScript was added. Task-number: QTBUG-58800 Change-Id: Iabf5d4d15236c77838a3886de81e9dafcaf49f5d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Adaptations for Chromium 56Allan Sandfeld Jensen2017-03-271-2/+2
| | | | | Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Rename WebCoreVisitedLinksManager to VisitedLinksManagerQtAllan Sandfeld Jensen2017-03-261-1/+1
| | | | | | | | Rename to follow our standard naming. This class was one of our oldest and probably predates our standard naming convention. Change-Id: I32dfbad9611b789ad13114d9692b07045806f7c0 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Allan Sandfeld Jensen2017-03-021-1/+1
|\ | | | | | | Change-Id: Iff6ab3c287c58d8ec84a1513460bfce5218e8a61
| * Pass <input type="file"> result to correct RenderFrameHostViktor Engelmann2017-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In WebContentsDelegateQt::RunFileChooser, we get a content::RenderFrameHost*, to which chromium wants us to pass the files that were selected. We now store that pointer in the FilePickerController, so that we can pass the files there in FilePickerController::filesSelectedInChooser. The attribute content::WebContents *m_contents is no longer needed then, because that was only used to obtain the main frame to which the files were sent (this caused problems when the file input was inside an iframe - we sent the result to the wrong frame in that case, so the file input object remained blocked). Task-number: QTBUG-59168 Change-Id: Ic2fdacb225e5a1a9e46ced6a1e4a9ff428f18a62 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-1/+1
|/ | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Rework and fix loadVisuallyCommitted signalPeter Varga2016-11-251-0/+16
| | | | | | | | | | | - Remove RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout message and use WebContentsObserver::DidFirstVisuallyNonEmptyPaint instead. - The order of the DidFirstVisuallyNonEmptyPaint and OnSwapCompositorFrame events is not guaranteed. Check for both events to do not miss to send any loadVisuallyCommitted signal. Change-Id: Ic733b3e9a6fae64b1d827e8e07514f180273cf8c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Allan Sandfeld Jensen2016-11-251-1/+1
|\ | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: Ib9c9eca457c1c42dab948e6cb56d44b57d5da32a
| * Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-11-241-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/api/qwebengineurlrequestinfo.cpp src/core/api/qwebengineurlrequestinfo.h src/core/core_gyp_generator.pro Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
| | * ResourceType ABI/API fixupAllan Sandfeld Jensen2016-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Important Changes] The enum value ResourceTypeUnknown has changed value since there was a mismatch between 5.6 and 5.7+ definitions. In general any unknown ResourceType value should handled as unknown for forward compatibility, since more types are and can be added in later Qt versions. Change-Id: I0a9f8a2129d4549deeae01e199f432fbbf1bbb9e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-111-1/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h src/core/gl_surface_qt.cpp src/core/print_view_manager_qt.cpp src/core/web_contents_delegate_qt.cpp src/core/web_engine_context.cpp src/webengine/doc/src/qtwebengine-overview.qdoc src/webengine/doc/src/qtwebengine-platform-notes.qdoc src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp src/webenginewidgets/webenginewidgets.pro sync.profile Change-Id: I44495f4d899580c882d6b86d68d7f6b77c8e91f6
| * | Fix hang when dragging files from file picker onto QWebEngineViewJoerg Bornemann2016-10-261-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The method WebContentsAdapter::updateDragPosition actively waits for the UpdateDragCursor message, sent by the renderer. This active wait does not work whenever we're currently in a base::MessageLoop::RunTask call, because of its internal recursion guard nestable_tasks_allowed. Add a check for nestable_tasks_allowed and bail out if we know that the active wait will fail. This fixes the hang. Ensure that the modal file picker dialog is shown outside of base::MessageLoop::RunTask. This enables drag 'n drop updates from the file picker to QWebEngineView. Task-number: QTBUG-56488 Change-Id: Ia13ada9c19e7780e12ca633ab1caeac352aca2a9 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>