summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_delegate_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | Merge remote-tracking branch 'origin/5.5' into devAndras Becsi2015-05-111-3/+0
|\| | | | | | | Change-Id: I122ca8d3438333c6b41f751c47b1ce1f9a7066b9
| * Widgets: Use overridden show()Szabolcs David2015-04-271-3/+0
| | | | | | | | | | | | | | | | Notify client about the show() after RWHVQD creation. The WasShown(...) hack is not necessary anymore in the core layer. Change-Id: I221b2d027ee83d81d70191419bc4fa8d41231674 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devPierre Rossi2015-03-221-3/+4
|\| | | | | | | Change-Id: Icc27b58763c9aeac9f940fa17d3381fe1f4659ac
| * Fix geolocation (and slight cleanup)Pierre Rossi2015-03-181-3/+4
| | | | | | | | | | | | | | | | Cleanup is mostly to avoid tripping on an assert when calling GeolocationProvider::GetInstance() from outside the UI thread. Change-Id: Id9c964c1cf952a7c867e5154dd2c05e17733a842 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-03-171-0/+6
|\| | | | | | | Change-Id: If633943dec55dd13b3912f61ce5dbc2402ae97c9
| * Support middle click navigationSzabolcs David2015-03-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | When the user does a middle click on a link which originally opens a new tab (target="_blank"), the newly created RenderView is hidden, so the new tab has no visible content. We need to unhide it explicitly. This also adds background tab support for the Quick example browsers and fixes the profile mismatching warning in the case when we adopt a new tab without WebContents. Change-Id: Ia3c2e752a4784d32133cee0ff278c2849b151582 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devAllan Sandfeld Jensen2015-03-161-0/+18
|\| | | | | | | | | | | | | Conflicts: src/webengine/ui_delegates_manager.h Change-Id: I989280b6008fbc4844ed86d6d16f7e7aa6ba8db9
| * Support HTML5 form validation featurePeter Varga2015-03-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | HTML5 provides built-in form validation that is supported by chromium. The form validation messages should be shown by the browser therefore new MessageBubble UI element has been added to Quick and Widget implementations. This patch implements chromium's form validation events and shows the messages in a MessageBubble. Change-Id: I0c8f4f102823117e2bfb16ff8a4c503635491939 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devAllan Sandfeld Jensen2015-03-131-1/+15
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/webengine/api/qquickwebengineview_p_p.h src/webengine/ui_delegates_manager.cpp src/webengine/ui_delegates_manager.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: I8052de4d3b2e68a950832226f6f99e2aafca5505
| * Add testsupport QML API and error page signalsPeter Varga2015-03-061-1/+11
| | | | | | | | | | | | | | | | | | | | | | The testsupport API is used for test those features that are not planned to be accessible via the public API. For example, signals of the chromium's error page should not be visible for the develepor but it is important to test whether the error page is loaded properly. Change-Id: Ie5b3265a207d05649cabd624a001a6ffe2e45971 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| * Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+4
| | | | | | | | | | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Refactor FilePickerControllerAdam Kallai2015-03-051-4/+7
|/ | | | | | | | | Move FilePickerController classes to the QtWebEngine core to providing common functionality of files selecetion for WebEngine and WebEngineWidgtes. Change-Id: I6ab407095460ef5b63b454f7d62b98215383fc21 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Simplify access to WebContents from adapter.Pierre Rossi2015-02-051-1/+1
| | | | | | Change-Id: I42cc8b28dd9aef9d23b83a43a60d8d59c16f4b1d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Propagate unhandled key events to the QtWebEngine view's parentJocelyn Turcotte2015-02-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | This allows applications to receive unhandled key events from the page by setting an event handler on the view's parent widget/item, like it was possible with QtWebKit. This is different in that events first have to asynchronously go through the QtWebEngineProcess. If the WebEngine view has the keyboard focus, the events will be consumed inconditionally by the RenderWidgetHostViewQtDelegates, and a copy will be resent to the view's parent if it wasn't consumed. This sends it to the parent instead of the QWebEngineView directly since those are only unhandled events, unlike with other widgets where you can first intercept events. It is done that way also in cases where the QWebEngineView would be be the focus widget directly in the future, instead of the RWHV. If applications want to intercept key events before they reach the page, they need to use an event filter on the QWebEngineView's children or globally on the application. Change-Id: I3b48f5212d3f238a1c0497cec1db6ae3badbad26 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Handle multiple feature requestsAllan Sandfeld Jensen2015-02-041-6/+16
| | | | | | | | This patch makes it possible to have multiple outstanding feature requests and adds hooks for chromium to cancel requests. Change-Id: Icbeb30aa39ace090d853a29aefaeebbe726fe251 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Add Qt WebEngine Quick API for allowing certificate errorsPaulo Pinheiro2015-02-021-1/+1
| | | | | | | | | This adds API for overriding some certificate errors. Once overridden any identical error for the same hostname and certificate will use the same override. Change-Id: Idf9e968edca18751cbdab744880480750d0c1bd4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Introduce ASSERT_ENUMS_MATCH macroPierre Rossi2015-01-221-2/+2
| | | | | | | | For our common use case of compile-time checking enums that we want to keep in sync. Change-Id: I102d737ad986bf3dfff4d11a91afa3f3819a7947 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Improve geolocation permission securityAllan Sandfeld Jensen2015-01-221-2/+9
| | | | | | | | Ensure we only grant permission to the origin the user replied to, otherwise we might get a race exploit. Change-Id: I4f737148f4e41432c160b81c324531e9cde0edc6 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * scoped_refptr operator for implicit conversion to pointer has been disabled upstream: https://codereview.chromium.org/510323002 * Group permission API as done upstream: https://codereview.chromium.org/622793002 * content_worker gyp target has been removed upstream. * GetPageThumbnailData moved to DevToolsManagerDelegate. * ui/ui_resources has been renamed to ui/resources * WebPreferences and ResourceType have moved inside content. * Merge ResourceBundle's InitSharedInstanceLocaleOnly with InitSharedInstanceWithLocale(): https://codereview.chromium.org/457103003 * Remove obsolete accessibility events. * AX_EVENT_SELECTED_TEXT_CHANGED has been renamed to AX_EVENT_TEXT_SELECTION_CHANGED * AX_ROLE_MATH_ELEMENT was removed upstream. https://codereview.chromium.org/695133002 * Screen::IsDIPEnabled has been removed upstream. https://codereview.chromium.org/672823002 * Update DevToolsHttpHandlerDelegateQt according to ShellDevToolsManagerDelegate. * Various functionality from DevToolsHttpHandler was moved to DevToolsManagerDelegate https://codereview.chromium.org/560323005 * DevToolsHttpHandler::Start expects a scoped_ptr now. * Make sure event_factory_evdev.h is not included when USE_OZONE is not defined * ErrorPageParams was moved into namespace error_page. * Media Access is now handled by ContentBrowserClient::CheckMediaAccessPermission * SpecialStoragePolicy moved to namespace storage * Add implementation for new pure virtual function BrowserContext::GetSSLHostStateDelegate. * RenderPass::Id was renamed to RenderPass::RenderPassId * Include view_messages.h for ViewHostMsg_TextInputState_Param * CERT_UNABLE_TO_CHECK_REVOCATION has been deprecated by Chromium: https://codereview.chromium.org/449743002 * MailboxManager::ConsumeTexture only takes the mailbox as an argument * Replace RWHVQt::TextInputStateChanged with RWHVQt::TextInputTypeChanged. * RenderWidgetHostView::ScrollOffsetChanged has been removed. * SkBitmap::Config was removed upstream. * CopyFromCompositingSurfaceCallback has become an own type. * AcceleratedSurfaceInitialized only takes route_id as an argument. * ServerBoundCertService has been renamed to ChannelIDService. Related API has been renamed accordingly. * TextureImageTransportSurface was removed upstream. * Update MediaCaptureDispatcher::OnMediaRequestStateChanged signature. * AudioStream related functions are gone upstream. https://codereview.chromium.org/569713002 * Add implementation for RenderWidgetHostViewQt::GetLastScrollOffset. * Include generic touch_device implementation. * switches::kDisableDesktopNotifications was removed upstream. https://codereview.chromium.org/607843002 * PageTransition moved to ui. * Messages headers are not guarded. Including them multiple times does hurt. * ScaleGestureDetector does not create a standalone GestureDetector anymore. https://codereview.chromium.org/501503003 * MotionEvent::Cancel and Clone are not virtual anymore. https://codereview.chromium.org/502993004 * Exclude os_exchange_data_provider_mac from build. * Remove argument from ScopedClipboardWriter ctor. https://codereview.chromium.org/558913003 * Remove ShowPopupMenu override from WebContentsQt. The function is not pure virtual anymore, and we never implemented any specifics. * Do not use clang on desktop linux. * Request functions in ContentBrowserClient were merged into RequestPermission. * ninja: use configure.py --bootstrap instead of bootstrap.py Change-Id: I3575612826db7845461a949b4e737264bb4e8d88 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Widgets: Implement mouse lock permission APISzabolcs David2015-01-161-2/+1
| | | | | | | | | If the user grants the permission with mouse click on the feature permission bar, the RenderWidgetHostView loses the focus but the focus is necessary for the pointer lock. Change-Id: Ifafd86b472e400c5690194dce2ea8a829a51c313 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>