| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The src/core/renderer directory is meant to contain files that would be
in the renderer process and the chrome/renderer subdirectory in chromium,
but a few classes from the browser process and the renderer_host dir
has snuck in.
This patch cleans up the structure so that classes in the browser that
serves as host classes for renderer classes goes in renderer_host.
Change-Id: I9333b1322e2246d4da9b4e8cfe6be604f6d996bf
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| | |
Change-Id: I15053486edfd42ee607250b4f14fb6eaa325c959
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Idf8a511ba26d263fd9d014d87d5e1101d706da71
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
User may miss the URL scheme (eg. http://) when type a view-source url
into the browser's location bar (eg. view-source:qt.io). This is not
handled by the Chromium thus will produce an empty view-source page.
The new autocompletion extends the incomplete view-source URL thus it
will provide valid URL if it is possible (eg. view-source:http://qt.io/)
Change-Id: I3edcd271cd0a971c9754e875db8f2a55a9a545de
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Renders the content to a PDF document and then renders this on a
QPrinter-backed QPainter using the PDFium library.
PDFium bitmap to QImage conversion based on work by Paulo Pinheiro
<paulvap.os@gmail.com>.
[ChangeLog][QtWebEngineWidgets][Printing] Enables printing QWebPage
content on a QPrinter. Currently does not support previewing the
document. Widgets only for the moment.
Change-Id: I9a5264433093379aee90f5e4f69bf2aee8814f2b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The focusOnNavigationEnabled setting allows changing the behavior of
whether a WebEngine view (widget or quick) will automatically get
focus, whenever a navigation action happens (load, reload, previous
history entry, etc).
The default behavior before this patch was to always grab the focus.
[ChangeLog][QtWebEngine][General] Add focusOnNavigationEnabled setting
which allows controlling whether a web view will receive focus on a
navigation request. Previously the view always received the focus.
Task-number: QTBUG-52999
Change-Id: I6d30d973a41b53011131f21dcecbf6ec4d652759
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also blacklist tst_QWebEnginePage::comboBoxPopupPositionAfterChildMove()
and comboBoxPopupPositionAfterMove().
Conflicts:
.qmake.conf
src/3rdparty
src/core/render_widget_host_view_qt.cpp
src/core/resources/resources.gyp
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
src/webenginewidgets/render_widget_host_view_qt_delegate_widget.h
tests/auto/widgets/qwebenginepage/BLACKLIST
tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
tools/qmake/mkspecs/features/functions.prf
Task-number: QTBUG-55158
Change-Id: I1d73ac9b3ca5293ad3c7e3a56f4c395da930e6f4
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/core/resources/resources.gyp
src/webengine/doc/src/qtwebengine-overview.qdoc
src/webenginewidgets/api/qwebenginepage.cpp
src/webenginewidgets/api/qwebenginescriptcollection.cpp
src/webenginewidgets/api/qwebenginescriptcollection_p.h
tests/auto/widgets/qwebenginepage/BLACKLIST
And readded newly in 5.6 enabled tests to the BLACKLIST.
Change-Id: I4ab1fc54ebfaaf940df81b0d8d6bdd15cae8b7c4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QExplicitSharedDataPointer is meant for value objects, not for shared
objects. Instead switch to using QSharedPointer.
Change-Id: Ib3791bbcfde627a67508f2819e141d8c538a4a50
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously if a selection was made on a web page, and afterwards a find
operation is executed, the selection in the web page would be cleared,
but the call to selectedText() would still return the old selection.
Make sure selectedText() is always cleared, when starting a find
operation, as well as when stopping one.
Change-Id: If78f0fa1dd836a52184015e749ef5a84b9f784cd
Task-number: QTBUG-54071
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QtWebEngineQML][QQuickWebEngineView] View Source feature is
now supported
[ChangeLog][QtWebEngineWidgets][QWebEnginePage] View Source feature is
now supported
Change-Id: Icc16da71fc6ec95880897fc9744dd8be8c004e00
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With this property the user gets the requested download's type.
In other words, the user can identify the download where it comes from
based on the type.
Update public API list as well.
Change-Id: I2b066d7eb4df1134266ad67ade0066e3bcc2b454
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add the convenience method QWebEnginePage::save for saving pages without
the need to explicitly handle download requests.
Task-number: QTBUG-51798
Change-Id: I8910ce8cb7c9370d72f2b209c4d2de07c614f6d6
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I1ecb615b8df1303c27b6609970502920123b3610
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When dropping files we created a DropData object with file URLs and the
text set to a newline-separated list of file URLs. This is inconsistent
with what Chromium does and web developers expect.
Fill DropData only with one kind of data at a time.
Task-number: QTBUG-53573
Change-Id: Ia808ad62389e0dc01b02c6b06182ee697f11ad40
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/core/browser_context_adapter.cpp
src/core/web_contents_adapter.cpp
src/webengine/doc/src/qtwebengine-platform-notes.qdoc
tests/auto/widgets/qwebenginepage/BLACKLIST
Change-Id: I768fc954a9a2147fc3669961286163a0a824def3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Chromium fails silently - except for a log entry - when the size of
the content is larger than 2 MB. This was causing trouble because the
user was not informed about the failed load at all.
Task-number: QTBUG-53414
Change-Id: I80f3f36b5eac72f3809538c19ff314068b75b61d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|