| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: Ida702fd5fa05a32d6cd7fc737aa061da74b675a0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: Ieef29fa09c8b4733737840ce6260ac6e87e7dca0
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| | |
Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| |
| |
| |
| |
| | |
Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I78240d7956de4716757761fc6517f031b4adb822
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| | |
Change-Id: Iff6ab3c287c58d8ec84a1513460bfce5218e8a61
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
| |
The simplest adaptations to API and build changes in Chromium 55
Change-Id: I923fa188690a04902492317807f72f006bcab9c6
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty
Change-Id: Ib9c9eca457c1c42dab948e6cb56d44b57d5da32a
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/core/api/qwebengineurlrequestinfo.cpp
src/core/api/qwebengineurlrequestinfo.h
src/core/core_gyp_generator.pro
Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[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>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds a number of missing load url parameters following the example
of the shell and android webviews in Chromium.
Change-Id: Ice27ab3efc550b8b7cfa6a5386aaf09574428a56
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
src/core/delegated_frame_node.h
src/webengine/api/qquickwebenginecontextmenudata.cpp
Change-Id: I163488d0d32cd981351608b2886f12e547e24672
|
| |\|
| | |
| | |
| | | |
Change-Id: Ic739ab9db0851cc13467168840ea2549996432f8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ensure that if QWebEnginePage::createWindow returns 'this' that we fall
back to navigating in current tab.
Change-Id: Idffe25dcafaaf3c824815b3cf1f0e400eaec2923
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I15053486edfd42ee607250b4f14fb6eaa325c959
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce qml APIs to support custom dialogs:
* http and proxy authentication
* javascript dialogs
* file pickers
* color pickers
* form validation messages
[ChangeLog][QtWebEngine][QML] Added ability to provide custom dialogs
for HTTP and proxy authentication, JavaScript alerts, file and color
picking, and form validation messages.
Task-number: QTBUG-51190
Change-Id: I559ca59264750feb36ba7d3dba0bf0647509306d
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\|
| |
| |
| | |
Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes access of label of MediaStream tracks
Also fixes the logged error:
WebContentsDelegate::CheckMediaAccessPermission: Not supported.
Change-Id: I3fee9ccd9e8b2e5cbd6b707336cc61425a44ba31
Task-number: QTBUG-52216
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Chromium usually clears the pending entry when it fails,
so that an arbitrary URL is not left visible above a committed page.
However, it does preserve the pending entry in some cases,
such as on the initial navigation of an unmodified blank tab.
So in other cases Chromium clears the pending entry
(if the navigation is not in progress), and it does force the UI (URL bar)
to refresh.
In our case we allow failed URLs to stick around in the URL bar
but only when alternate error pages are used.
Change-Id: I26e81e7a99415aa184880dcb647a06d977584119
Task-number: QTBUG-48995
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rename all uses of wasRecentlyAudible to recentlyAudible.
Add missing recentlyAudible properties.
Change QtQuick slots to simple functions.
Change affected demobrowser example.
Adjust documentation for the API.
Change-Id: I5a6f7b8384c0b7e34afaa5c412a5543c210d3ef9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I56a109c9071ef581c6a51b5b7b8ce5a2464c6a76
Task-number: QTBUG-51179
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After upgrading to Chromium 49 we no longer get the last progress
signal with 100% completed.
Task-number: QTBUG-51173
Change-Id: I304e8833a0e707199cfa56a078b0c4d79c1b5c30
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Converts types, callbacks and headers to match Chromium 49.
Task-number: QTBUG-51173
Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: If884b8b8bc087a6a726476b49cdb48a0efaa173e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RenderFrameDeleted was called before DidFinishLoad, which meant
m_loadingErrorFrameList was empty and wouldn't detect the page loaded
was an error page. Instead this patch relies on the chromium error-page
url which we already asserted.
Additonally we delay emitting the loadFinished signal until the error
page is also done loading, since the error-page can be considered part
of the load, and we otherwise have a race condition on toPlainText.
Finally we were not getting error-pages when blocking requests because
we reported them as aborted them instead of blocked.
Change-Id: I945eb838b7f080d4e146f18354e8986e1b88b5cd
Task-number: QTBUG-50752
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Replace foreach with for
- Fix expensive iteration over QMap::keys() and QMap::values()
Change-Id: Ia7f6803af7f5e609ec57bc4115bec17f43668937
Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I0bb971f01ee1e02da768f336680c8ec0254ab2b0
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use this signal to notify the user on JavaScript window move/resize
requests. It works only for windows opened by JavaScript (according to
the Chromium browser's behavior).
Change-Id: I7fdeda4c252cc4badb36b74ed61d947be690f45a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new icon manager uses the WebContents::DownloadImage() API for
downloading icons. It proposes the best quality among the available
favicons via the iconChanged signal.
Change-Id: I66a014365b6f6560ff34d40ee870aee84e4e70e4
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update files using old header.LGPL3 to use header.LGPL
Update files using old header.FLD to use new header.FDL
Update files using old header.BSD to use new header.BSD
Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for checking if audio is played in a page, as well
as the ability to (un)mute the audio.
Modify demobrowser example to show (muted) in the tab title, if
the tab is muted, or (audible) if there is audio playing in the tab.
Fix HTML5 audio/video (un)mute to also work.
Change-Id: I7213645e67be2f9da1c5f96cdf6c7eef5341ae4b
Task-number: QTBUG-48788
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I052fdc4245e25e58457d51f6e49703bc7dd8ff00
|