summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_delegate_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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>
* 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>
| * | Forward more load parameters in OpenURLAllan Sandfeld Jensen2016-10-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-211-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/delegated_frame_node.h src/webengine/api/qquickwebenginecontextmenudata.cpp Change-Id: I163488d0d32cd981351608b2886f12e547e24672
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Michal Klocek2016-08-311-0/+1
| |\| | | | | | | | | | Change-Id: Ic739ab9db0851cc13467168840ea2549996432f8
| | * Fix crash when trying to navigate in new window but is blockedAllan Sandfeld Jensen2016-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Adaptations to Chromium 53Allan Sandfeld Jensen2016-09-141-2/+2
| | | | | | | | | | | | | | | Change-Id: I15053486edfd42ee607250b4f14fb6eaa325c959 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Add dialog requests to qml apiMichal Klocek2016-08-311-2/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-08-021-12/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Switch WebContentsAdapter to using shared pointersAllan Sandfeld Jensen2016-07-011-12/+5
| | | | | | | | | | | | | | | | | | 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>
* | Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-04-111-0/+28
|\| | | | | | | Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
| * Implement CheckMediaAccessPermissionAllan Sandfeld Jensen2016-04-051-0/+14
| | | | | | | | | | | | | | | | | | | | | | 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>
| * Avoid triggering extra urlChanged signalAdam Kallai2016-04-011-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix recentlyAudible Widgets and Quick API.Alexandru Croitor2016-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Clean up FaviconManager and fix icon url in NavigationEntryPeter Varga2016-03-111-17/+3
| | | | | | | | | | | | Change-Id: I56a109c9071ef581c6a51b5b7b8ce5a2464c6a76 Task-number: QTBUG-51179 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Fix loadProgress 100Allan Sandfeld Jensen2016-03-071-0/+1
| | | | | | | | | | | | | | | | | | 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>
* | Basic adaptation to Chromium 49Allan Sandfeld Jensen2016-03-071-5/+2
| | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-02-201-3/+12
|\| | | | | | | Change-Id: If884b8b8bc087a6a726476b49cdb48a0efaa173e
| * Fix double LoadFinished on URL errorsAllan Sandfeld Jensen2016-02-101-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Optimize FaviconManager related iterationsPeter Varga2016-02-091-1/+2
| | | | | | | | | | | | | | | | | | - 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>
* | Merge branch '5.6' into devAllan Sandfeld Jensen2016-02-041-0/+11
|\| | | | | | | Change-Id: I0bb971f01ee1e02da768f336680c8ec0254ab2b0
| * Widgets: Improve geometryChangeRequested signalSzabolcs David2016-01-191-0/+11
| | | | | | | | | | | | | | | | | | 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>
* | Add FaviconManager to corePeter Varga2016-02-031-16/+31
| | | | | | | | | | | | | | | | | | 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>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
| | | | | | | | | | | | | | | | | | 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.Alexandru Croitor2015-12-151-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-12-031-0/+1
|\| | | | | | | Change-Id: I052fdc4245e25e58457d51f6e49703bc7dd8ff00
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-11-201-0/+1
| |\ | | | | | | | | | Change-Id: I20e36d0e18dd26365557a4093436e9660e30e173
| | * Let new pages use the custom user agent settingKai Koehne2015-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The default is UA_OVERRIDE_INHERIT, which means that it will only use the override value if there's a previous NavigationEntry. Task-number: QTBUG-48891 Change-Id: Id5269b5ad2a4b0a78379c2b7df3c3e901cd2a485 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | Add support for html color inputAdam Kallai2015-12-021-0/+10
|/ / | | | | | | | | Change-Id: I501125631946f70aae1ff039b0e5bcb9198e7242 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Use web_cache componentAllan Sandfeld Jensen2015-10-281-0/+7
| | | | | | | | | | | | | | | | | | Use the web_cache component which monitors and adjusts the web cache, so that the memory use is limited across multiple renderer processes. Change-Id: I9faa060d48f99a3c527fe0e0963bbe86db4b502c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Fix ABI breakage due to fullscreen featureAllan Sandfeld Jensen2015-10-191-10/+7
| | | | | | | | | | | | | | | | | | | | | | We can not add a new virtual method without breaking ABI on some platforms, instead we need to use a setter. The API now uses a request object, and a separate signal for canceling, since canceling can not be rejected. Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | add RequestClose web actionJoerg Bornemann2015-10-091-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Web pages can set the onbeforeunload handler to let the user confirm whether to leave the page or not. Until now, only when leaving the page via a link, a confirmation was shown. Before actually closing a web page, applications can now trigger the RequestClose web action. This will give the use the chance to confirm or deny the close request. If the request is confirmed, the signal windowCloseRequested is emitted. Task-number: QTBUG-36155 Change-Id: Icc1fabc37a2ac537f674c2f00bc8966e4dc4e610 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | External URL supportAllan Sandfeld Jensen2015-09-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for launching external URLs such as mailto: They are also routed through navigationRequested like they would have been in QtWebKit. [ChangeLog][QtWebEngineCore] External links such as mailto: are now handled. By default they launch using QDesktopServices. Change-Id: I83ed96e2330d54cae57f03648d471a8da9a82a30 Task-number: QTBUG-47143 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Allan Sandfeld Jensen2015-09-241-0/+5
|\| | | | | | | Change-Id: Ice3d6e88238940a62d75e7c67f63b626285fccb0
| * Fix assert on exitAllan Sandfeld Jensen2015-09-101-0/+5
| | | | | | | | | | | | | | | | | | | | Remove frame loading error-page when frame is deleted, and make sure WebContents is destroyed before the observer so the observer can observe the full live-span including deletions.. Task-number: QTBUG-47945 Change-Id: I56bec611b8bfbfc6f75a1bc2108efbc80a81729b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Rebasing on Chromium 45Allan Sandfeld Jensen2015-08-251-3/+4
| | | | | | | | | | | | | | Fixing the minor differences needed to work with Chromium 45. Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Update BrowserContext and WebContentsDelegate for Chromium 44Allan Sandfeld Jensen2015-07-011-5/+14
| | | | | | | | | | | | | | Adds and changes interfaces to work with Chromium 44. Change-Id: Id7c02e7b1be255d591f7ac5449dde5823c261eb5 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Permission Management for Chromium 44Allan Sandfeld Jensen2015-07-011-21/+2
| | | | | | | | | | | | | | Implementing the new PermissionManager API. Change-Id: If0fdac24b8fec561a898aba009345576b5ce7fc6 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Trivial changes for Chromium 44Allan Sandfeld Jensen2015-06-231-1/+1
| | | | | | | | | | Change-Id: I8261b201f1d6623eff3427b68b8d098c17d293d3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>