summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_view_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-141-0/+3
|\ | | | | | | Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
| * Set referrer on download requestsJüri Valdmann2017-09-121-0/+3
| | | | | | | | | | | | | | | | | | 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>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-22/+22
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix copying JavaScript URLsSzabolcs David2017-06-071-0/+1
|/ | | | | | | | | | | | | | Wire unfiltered link URL to the API layer. [ChangeLog][QtWebEngine] linkUrl member of QWebEngineContextMenuData and ContextMenuRequest was previously returning with "about:blank" in case of non-standard URLs. Now it contains the unvalidated URL and CopyLinkToClipboard action has been fixed to handle such URLs (like javascript:) correctly. Task-number: QTBUG-59307 Change-Id: I2e49767e1cc9ec8324d230c1bf346e21d7b8d9bb Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add two nullpointer checksViktor Engelmann2017-04-151-2/+4
| | | | | | | | | The two nullpointer checks prevent crashes that happened when one clicked on a link with target="_blank" in 56-based. Task-number: QTBUG-46713 Change-Id: I1f8a20a52726ab05a85dbca2ec49784985384d06 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix spellcheck feature checkAllan Sandfeld Jensen2017-04-041-2/+3
| | | | | | | | | 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>
* Adaptations for Chromium 56Allan Sandfeld Jensen2017-03-271-1/+2
| | | | | Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-0/+7
| | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix conversion from blink::WebDragOperation to Qt::DropActionJoerg Bornemann2017-01-181-12/+1
| | | | | | | | | | | | | | | | | | 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>
* Check RWHV for NULL before dereferencing itViktor Engelmann2017-01-031-2/+5
| | | | | | | | | | | Under exotic circumstances, the RenderWidgetHostView pointer returned by m_webContents->GetRenderWidgetHostView() can be NULL. Therefore, it must be tested for NULL, before its SetBackgroundColor method is called. Task-number: QTBUG-57826 Change-Id: I30e0d2174e80d7971f4e2b6f315a771dc1577814 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add context menu request to qml apiMichal Klocek2016-08-311-13/+13
| | | | | | | | | | | Introduce qml APIs to support custom context menus. [ChangeLog][QtWebEngine][QML] Added ability to show custom context menu. Task-number: QTBUG-52554 Change-Id: Ief0cbbbf221f4c6849e16bbba7417dccee59ad61 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-05-311-0/+2
|\ | | | | | | Change-Id: I561c00b3a844ab493a5bf0148a5923662842cf5d
| * Disabled WebEngine views should not receive focus.Alexandru Croitor2016-05-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if a QWebEngineView or a QQuickWebEngineView is disabled using setEnabled(false), after loading a web page, the views are automatically focused, and a user might see a blinking caret in an html input for example, even though the user can't interact with it. Fix consists in not calling the Focus() method whenever a view is disabled. Change-Id: I1014fb5898a5ddf01a4e9b14c3eaf5d4006e5131 Task-number: QTBUG-53159 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* | Add API for context menu dataAllan Sandfeld Jensen2016-03-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QWebEnginePage users to be able to make custom context menu or extend the default context menu, they need information about the context. This patch adds a QWebEngineContextMenuData class that contains contextual information when a context menu is being requested. This is also means we can finally generate a custom context-menu in the demobrowser the same way we did in QtWebKit. Task-number: QTBUG-51079 Change-Id: I695b8cbf648bdc7f119b0ed51ab685cf2f8de8e4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Basic adaptation to Chromium 49Allan Sandfeld Jensen2016-03-071-1/+1
| | | | | | | | | | | | | | | | 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>
* | Add spell checker supportMichal Klocek2016-02-011-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate chromium spell checker: * add spellchecker and dependencies to build * underline misspelled words in html text areas * right-click context menu shows up to 4 options to correct the misspelled word * toggle spell check from context menu * add new qml and widget api calls to qwebengineprofile to enable/disable spell check, select spell check language, get list of supported languages/dictionaries * register new qml spell check properties for QtWebEngine 1.3 * CONFIG+="no_spellcheck" to remove spellcheck support Change-Id: Ie61434ab9493597d7759a6f33794f6859c4e3a4c 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>
* | Implement drag and drop supportJoerg Bornemann2016-01-031-8/+48
|/ | | | | | | | | | Create a QDrag for drag and drop operations that are started in the web page. React on drag and drop event of QWidget and QQuickItem. Task-number: QTBUG-43008 Change-Id: If09f09de6e6d5b5f02835985a17cc6bc3262f411 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Fix selectAll on data urlAllan Sandfeld Jensen2015-09-031-0/+2
| | | | | | | | SelectAll only works when there is a focused frame, so we must ensure a frame is focused when the web-contents requests focus. Change-Id: I00d670321b29342fcd447b4b07251df776019f1c Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix a crash on new windowsJocelyn Turcotte2015-07-231-3/+6
| | | | | | | | | | Fixes a regression of 99e98f7bf6aec78fe0d647fb898e65d13ff522e4 by delaying applying the background color if the client hasn't been set on the WebContentsViewQt yet. Task-number: QTBUG-41960 Change-Id: I1c138777f616541179976570d8c29f8f4d49ecbf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Add a backgroundColor propertyJocelyn Turcotte2015-07-141-0/+7
| | | | | | | | | | | | | | | | | This also allows setting a transparent color to see through the web view's body if its background color isn't specified. The color is initially held by the top API view and is pulled by the WebContentsAdapter in order to set it on the RenderView. Since both blink and our local compositors (in the QOpenGLWidget case) need to know about this color, RWHVQt takes care of pushing it to both. The former through an IPC message and the latter directly on the RWHVQtDelegate. Task-number: QTBUG-41960 Change-Id: Ie13317b2d087f5612ad9c5fb0e05ca3e91aec9af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* add Download*ToDisk web actionsJoerg Bornemann2015-07-061-0/+1
| | | | | | | | Add the web actions DownloadLinkToDisk, DownloadImageToDisk and DownloadMediaToDisk. Change-Id: If6c9c8a3f4b95ad3032cff71ffc53a48be26e083 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-291-0/+1
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf src/webenginewidgets/api/qwebenginepage.cpp Change-Id: Idb33c92bd53fab76eee8fedb542dbf5e4a10f9e6
| * Fix crash when navigating an adopted windowAllan Sandfeld Jensen2015-06-261-0/+1
| | | | | | | | | | | | | | | | | | | | If the original opener has been closed, the factory client might point at a wrong object. To avoid that we can update it when we get the real client. It does not matter for CreateRenderWidgetHostViewQtDelegate which object it is called on. Change-Id: I7161e7436fca45c41f51cab8983d9c7214f11047 Reviewed-by: Jocelyn Turcotte (Woboq GmbH) <jturcotte@woboq.com>
* | Extend context menu actionsAllan Sandfeld Jensen2015-05-111-0/+24
|/ | | | | | | | Implements the several missing context menu actions for navigation and image and media handling. Change-Id: Ib8ea8311ea291fe2f98e509bc6f4034a5e0389c9 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>
* 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>
* Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Update License Headers for Qt WebEngine to LGPLv3.Zeno Albisser2014-08-211-15/+10
| | | | | | | Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-141-3/+3
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Get rid of the BackingStore rendering pathJocelyn Turcotte2014-04-081-2/+2
| | | | | | | | | Now that the widgets view is also using the delegated renderer, there are no supported configuration that use the BackingStore rendering path, itself on the way of deprecation in Chromium. Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Revert part of the RenderWidgetHostViewQtDelegate refactoringJocelyn Turcotte2014-04-081-0/+3
| | | | | | | | | | | This reverts parts of commit 9c198939be1ef064d1a2430a4b9991f2fe16f359. This does keeps the popup fixes and removes support for QWebEnginePage::setViewportSize and QWebEnginePage::render until we can evaluate the needs vs the cost of such feature. Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Adapt to API changes in new stable branch 1750Andras Becsi2014-03-281-1/+1
| | | | | | Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Remove WebContentsView::SetPageTitle functionAdam Kallai2014-03-271-5/+0
| | | | | | | | | The titleChanged signal is emitted in WebContentsDelegateQt::NavigationStateChanged so We do not need to send this signal in SetPageTitle function any more. Change-Id: Id9a7efa59caae7aa99a82e840061adb7c5e8832b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix unused variable suppression on WindowsZoltan Arvai2014-02-241-4/+4
| | | | | | | | | MSVC fails with undefined type error when an argument passed by reference but suppressed as normal variable. Change-Id: I93a89aea4fae5f820c9ab0d1222d63b01ca3ed3c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Avoid locking up the web view when starting a dragJocelyn Turcotte2014-02-141-0/+11
| | | | | | | | | | | We currently don't have an implementation for drag and drop and we need to explicitly call SystemDragEnded to avoid leaving the render process in an inconsisten state. See http://crbug.com/157134 Change-Id: I52220602d4e4832d11ef601589a588c91bb81285 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* [Widgets] RenderWidgetHostViewQtDelegate refactoringPierre Rossi2014-02-121-7/+7
| | | | | | | | | | | | | | | Break up the delegate implementation into two distinct subclasses. The first one offers a way for the WebPage to tap into the RenderWidgetHostView directly, while a different implementation that is backed by a top-level widget can be used to show WebUI popups on screen. This has the benefit of not having a child widget in the webview among other things. It also fixes our popups and allows them to fall outside the window frame. Change-Id: I80dc1e4f21bb91ff47c75a626d330f88eacce8c6 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add TakeFocus in WebContentsViewQt for passing on tab focus.Zeno Albisser2014-02-101-0/+5
| | | | | | | | | | Chromium calls RenderViewHostDelegate::TakeFocus when the last focusable item within the page was reached. We then have to move the focus on to the next/previous QQuickItem. Change-Id: Id0128053602ff1220c1bced1b218050b66fef659 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Move the implementation of BrowserContextQt to its own cpp fileAndras Becsi2014-02-051-0/+1
| | | | | Change-Id: Ie44a8733e3f9123c3d086f8df9ddcf2833bd235b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Moving sources to src part 1: Move files.Jocelyn Turcotte2013-11-281-0/+131
This only move files without adjusting any paths. This moves: - lib/quick -> src/webengine/api (API files) lib/quick -> src/webengine (other files) This contains the main QtWebEngine module library since <ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>. - lib/widgets -> src/webenginewidgets Also rename this directory to match its module name and rename Api to api. - lib -> src/core - process -> src/process - resources -> src/core/resources - tools/* -> tools/scripts/ The build directory is spread as follow: - build/build.pro -> src/core/gyp_run.pro - build/qmake_extras/* -> src/core/ (for the host and target .pro files) - build/qmake -> tools/qmake - Build related scripts -> tools/buildscripts Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>