| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
tests/auto/quick/qmltests/qmltests.pro
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
Change-Id: I2a1e3a83e29a1d6709f3e98fda3f7b4ab7ab297e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid unnecessary unselect calls to prevent to lose active focus on an
input field during background load.
Task-number: QTBUG-64082
Change-Id: I13e8e2a96254360a78329d6ea2b6858da86a2b5a
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When renderProcessTerminated signal is emitted the invalid view of the
corresponding RenderWidgetHost is not destructed yet. Having this
invalid view during navigation leads to a crash.
The proper way to navigate on renderProcessTerminated is to schedule the
navigation with QTimer::singleShot(). Otherwise, warn the user and ignore
navigation to avoid crash.
Task-number: QTBUG-58478
Change-Id: I54ff62f5d306c8cb1fa17e29f349d1e02c4c8cec
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously when a find operation was finished by calling findText(""),
the selection buffer was cleared and calling selectedText() would
return an empty string, even though on the UI side a blue rectangle
selection was still visible.
This was due to an incorrect Unselect() call in
WebContentsAdapter::stopFinding().
With the new selection change support in the parent patch, and with the
removed Unselect() call, selectedText() now properly returns the value
of the highlighted blue selection after searching is finished.
Task-number: QTBUG-60673
Task-number: QTBUG-54071
Task-number: QTBUG-53134
Change-Id: I89e0eddb0c14af6d6c06ee878e706be65d3b0831
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Expose any custom data in the pickled form Chrome uses.
Task-number: QTBUG-61503
Change-Id: Ie89bd04f35b1dba94b91e87960cde66238d738df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Note that the Referer header still won't be sent if the download is triggered
via an anchor element with the 'download' attribute: crbug.com/455987 .
Task-number: QTBUG-61354
Change-Id: I5af971af916b2190756e3e58f19736072a213922
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I9fe9946ba47f9ef509a861963c83e275a25fffd0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DropData::file_contents and DropData::file_description_filename are
filled by Chromium if the user drags an image from a web page. Write the
file's content into a file with the suggested file name in a temporary
directory, and set the drop action to "move".
This enables users to drag images from the browser to the desktop or a
file browser.
The file is moved by the client to the target location.
The temporary directory is removed when the page is closed.
Note that Chrome doesn't use this temporary directory trick, but employs
techniques like XDS [1] on Linux to transfer the data via the native
clipboard/DnD MIME object. Unfortunately QDrag doesn't support this.
Support could be added, but I consider this solution as good enough.
[1] https://www.freedesktop.org/wiki/Specifications/XDS/
Task-number: QTBUG-60790
Change-Id: I44f2b3170a124e861ed4131c421903d895b70715
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\|
| |
| |
| |
| |
| | |
Includes sha1 bump of src/3rdparty to head of 58-based.
Change-Id: I37743c3979c1b6fb21f71eab7048e82f7aa5d78b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Chromium has since version 50 overridden the global font settings with
the settings of every web contents created, so we need to first set the
global settings in the web contents, to still follow system defaults.
Task-number: QTBUG-62146
Change-Id: If10847c81beda08ecb7bfdf7556e39b1d2989754
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This command-line argument makes it possibly to block exposure of
internal IP addresses when WebRTC access hasn't been granted, using
--force-webrtc-ip-handling-policy=default_public_interface_only
Task-number: QTBUG-57505
Change-Id: I0cddd1b20e0814811894204cb31e0c463a75f7be
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I2f2ba754111e198298b7d1a595343fcd773e05e5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the no-accessibility feature moved to qtgui-config, we don't
always include it where web_content_apapter_client.h is included, which
gives it an inconsistent binary layout.
Solve it by making the optional method always defined as it doesn't
rely on anything from accessibility.
Task-number: QTBUG-61200
Change-Id: I65f34ab2b6763f3166b945e700994bd8d019a835
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When files are dropped then it's expected that dataTransfer.files and
dataTransfer.items have the same amount of entries. That means that
whenever QMimeData contains files we must only convert those and ignore
the rest.
But while files do not allow other items before them, text and URLs may
co-exist in content::DropData.
This is consistent with the behavior of Chromium and Firefox and what
web pages expect.
Task-number: QTBUG-59690
Change-Id: Iad56aac3e071dcfa09fa5dfcc788c1c54c6eeae6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|/
|
|
|
| |
Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
|
| |
QtWebEngine supports building with last stable and last LTS Qt releases.
Guard some 5.7-5.9 API from being used when not available, and reinstate
the default features for 5.6 LTS builds.
Change-Id: Ia288a49109d011a2bee883d4a2d38d994b497d59
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
|
| |
Was changed to generated buildflag headers instead of command line
defines.
Task-number: QTBUG-59687
Change-Id: Iead64f5321d000c07172ee27a0032394527ec501
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
| |
Change-Id: I78240d7956de4716757761fc6517f031b4adb822
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\
| |
| |
| | |
Change-Id: Iff6ab3c287c58d8ec84a1513460bfce5218e8a61
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When dragging something over a WebEngineView we're waiting for the
result of the asynchronous DragTargetDragOver using a RunLoop. The
result will be delivered by a call to updateDragAction.
The RunLoop will call MessagePumpForUIQt::Run which spins a QEventLoop.
The QEventLoop will dispatch more posted QDragMoveEvent objects while
we're handling the current QDragMoveEvent. This triggers a recursion
guard's Q_ASSERT when dragging from a QtQuick item onto a WebEngineView.
When waiting for the DragTargetDragOver result we're not interested in
Qt events. Instead of using a RunLoop, implement a poor man's chromium
event loop and actively wait for updateDragAction being called.
In practice, no more than two iterations of the loop are run until
updateDragAction is called. Therefore the extra CPU and sleep times are
negligible.
Task-number: QTBUG-58920
Change-Id: Icfdf9c680c4c9987ac3dbb41fbc3e1403af0fa9f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
A restructuring of all our devtools integration classes.
Change-Id: I2a32b9b2e66c17b72aaa3bbf246a22d211409aa5
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
The simplest adaptations to API and build changes in Chromium 55
Change-Id: I923fa188690a04902492317807f72f006bcab9c6
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
We are depending on them matching but were not asserting it.
Change-Id: I86e9a9a2f516e8a149d82077884bf08b4d8aee51
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic36a80502730d404ab96dfa11ff1eb0ac6eb302d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Until now we always pretended that the left mouse button was used
and no modifier key was pressed.
Change-Id: I0f4b84ed87e7c94289c14c13a6cd12c3beda671a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RenderViewHost::DragSourceEndedAt must be called after dropping and after
canceling a drag. Otherwise scripts running on the web page do not get
properly notified.
Task-number: QTBUG-58037
Change-Id: Ia245131c59f03f3331158bea6cc2f53bce50f989
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp
Change-Id: I070173576fc4be53689ce0dd9e1fd4133f5814da
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
blink::WebDragOperation is a bit field, even if it is not used in
its blink::WebDragOperationsMask incarnation. In particular,
WebDragOperationGeneric can be set in addition to other operations.
This fixes situations where UpdateDragCursor is called with multiple
bits set in its WebDragOperationArgument and the drag action will be
spuriously ignored.
Also directly pass the WebDragOperation we get from UpdateDragCursor to
chromium's API without converting to QDropAction and then converting it
back.
Task-number: QTBUG-58037
Change-Id: I5c85699de534771f84db69abf7b98e779872a0f7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If16bfc6f0fbfd0040e13a8a3cbaa113fda10f387
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a WebEngineView is closed while a Drag-n-Drop operation
is in progress, the this pointer and its d-pointer become
invalid, so the accesses after drag->exec must be prevented
from being executed. To achieve this, a lambda function is
connected to dragSources &QObject::destroyed signal, which
invalidates a bool on the stack (and cancels the Drag-n-Drop
operation).
Task-number: QTBUG-57713
Change-Id: I9cbb5e6aba99e307d62773bc18f4fec5f79cf703
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added class QWebEngineHttpRequest, which describes a
GET or POST HTTP Request. Also added overloads of method
"load" to QWebEngineView, QWebEnginePage and WebContentsAdapter,
which issue such a request.
These can be used for example to simulate form-submissions.
Task-number: QTBUG-53314
Task-number: QTBUG-53372
Change-Id: I85ac8cdd3d1557905b35e3172b922aba356d1c41
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Important Changes] Printing to a PDF file will now emit
signal the signal pdfPrintingFinished in both QQuickWebEngineView
and QWebEnginePage.
The boolean passed with the signal to indicate if the printing and
saving of the PDF was successful. The path of the created file is
also passed to enable the user to map the signal to a print request.
Task-number: QTBUG-56677
Change-Id: Ifab5a20b048f33a8cd872165bd4d453b01708037
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added Q_PROPERTY and getter for
QQuickWebEngineNewViewRequest::m_requestedUrl
so that it can be read from QML.
Task-number: QTBUG-55590
Change-Id: I39e89690f996a1db7c9ce39103429186b26811f8
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|/
|
|
|
| |
Change-Id: I689cb8564ce04067499e4c252a6d36e70ee51930
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the actual printing using QPrinter to the WebEngineWidgets
part of the API.
The printsupport module depends on the widgets module and therefore
QtWebEngineCore also had a dependency to widgets. This is removed by
this change.
Change-Id: If6e5745709a59de18f2123b930cbe6e64390c867
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
content::DropData can have multiple contents (e.g. an <img> tag has
itself as .html property, but also the src="..." attribute as .url
property.
Therefore, we should always consider all 3 cases and not return
immediately when we have found the first content.
Task-number: QTBUG-55858
Change-Id: Ie13851e8edb9ada45184a19b6ccfe38839bb9923
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Chromium 53 now requires to call RVH::FilterDropData() before
DragTargetDragEnter and DragTargetDrop. This fixes the DCHECK and allows
Chromium to filter the dropdata's URL (via RenderProcess::FilterURL)
before proceeding.
Task-number: QTBUG-56303
Change-Id: I29ad350b0b66d2ca1daae1d6d83f6e01206d1250
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dragging things from another application onto QWebEngineView crashed.
RenderViewHost::DragTargetDrop now requires a DropData object. Save the
DropData object also in the case where we create it for a drag from
outside.
Change-Id: I8409500a4b27d06aeec02dce9856aca7e1415402
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|