summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix asserts in touch handlingKai Koehne2016-01-231-1/+3
| | | | | | | | | | | Generate touch events with the "causesScrollingIfUncanceled" property set to true. This is checked by TouchEventQueue::TouchMoveSlopSuppressor Task-number: QTBUG-50511 Change-Id: I5260100db75ed7afdd7afeff8f530221c22090b0 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-071-0/+4
|\ | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/webenginewidgets/api/qwebenginepage.cpp src/webenginewidgets/api/qwebenginepage_p.h Change-Id: I050b4c7691a070e04cace2663ad633903f6d96a9
| * Fix MouseMove event handling when opening a new tab with middle click.Alexandru Croitor2015-12-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When opening a new tab by middle clicking on a link in a web page, two MouseMove events are sent to Chromium consecutively, without getting proper acknowledgment events, which causes further move events not to be handled properly. Fix consists in preventing the second move event from being sent. Change-Id: Ia0a64698476226e472faa53f75b51dfb6ed477c9 Task-number: QTBUG-50031 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Support custom mouse cursorsSzabolcs David2015-12-011-1/+7
| | | | | | | | | | | | Task-number: QTBUG-43009 Change-Id: Ic36554c5137a55d9d4b9143c204d9d4400e23ff8 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Use consistent naming of Qt-specific Chromium classesAllan Sandfeld Jensen2015-10-291-2/+3
| | | | | | | | | | | | | | | | | | Most of our Qt specific versions of Chromium classes have Qt appended, but a few observers have it prepended. This patch renames them to keep naming consistent. Change-Id: I004b61e16bc47f39a6bbc16a5f5c10585626865c Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-281-5/+7
|\| | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: I49acdd9b5ca94f2807b0c13a97f508a67f1c5750
| * Fix touch events coordinates when using custom devicePixelRatioChristophe Chapuis2015-10-271-5/+7
| | | | | | | | | | | | | | Task-number: QTBUG-48766 Change-Id: Idcae6dc84829fe96db62c6cb30ab193873d36709 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Emit a signal when the rendering process exits.Jake Petroules2015-09-101-1/+4
| | | | | | | | | | | | | | | | | | This allows users to implement a "sad tab" feature and/or track rendering process crashes using a crash reporting service. Task-number: QTBUG-48227 Change-Id: I97ef934fe5d0912cd0f41967a39052316b3c66b0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Use the default composition colors for IME compositionAndras Becsi2015-08-281-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | We should not set the background color coming from the input method event since its color scheme might not match the color scheme of the web page, which can make the entered text unreadable. Instead we should set the default as used by the aura and mac implementations of transparent background and black underline of the current editing context. Change-Id: I3a4ec5672a917b029fb57cfcc6b36bf93209af2c Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Rebasing on Chromium 45Allan Sandfeld Jensen2015-08-251-1/+1
| | | | | | | | | | | | | | Fixing the minor differences needed to work with Chromium 45. Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add a backgroundColor propertyJocelyn Turcotte2015-07-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Implement MotionEvent::GetUniqueEventId()Allan Sandfeld Jensen2015-07-011-1/+4
| | | | | | | | | | | | | | Not currently used by Chromium except asserted not to be zero. Change-Id: I8eaab67fa316c80bd5b18af46993395c06aa8801 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Update RenderWidgetHostViewQt for Chromium 44Allan Sandfeld Jensen2015-06-231-32/+11
| | | | | | | | | | | | | | | | Handle moved and refactored methods, and the removal of the short-cut to not forward events. Change-Id: I11ef205c5d575a15ee6fe8f36b8a71505d656fe8 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add public QtWebEngineCore C++ APIAndras Becsi2015-06-081-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a new public C++ API layer in preparation to make it possible to integrate with lower level Chromium features related mostly to networking operations like accessing and blocking cookies, custom request headers, etc. This API layer can be used both by Qt Widgets and Qt Quick applications with a small C++ core. It should contatain API to access features that usually run on the IO thread to make it possible to perform heavy tasks that would otherwise require costly context switches to the UI thread. Furthermore for these features a QML API does either not make sense, since they are non-UI-related, or a QML API is simply not feasible, because the API is meant for advanced usecases like web browser development (i.e. custom protocol handlers, network traffic interception cookie syncing, etc.). In the long term this layer could also make it possible to reduce code duplication in the widgets and quick layers by moving common parts to the core layer. The new API is built entirely by qmake as a separate static library which is then linked into the QtWebEngineCore library built by gyp and ninja, to prevent the build options passed to Chromium to break the API layer. As a first step this only contains the global headers for core. Change-Id: Iccf8544587cde7c0d9c6abd462e4766bf9ec81ae Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* WebEngineView does not load a url while invisibleAndras Becsi2015-04-221-0/+10
| | | | | | | | | | Notify the RenderWidgetHost about visibility changes so that we receive updates with non-empty DelegatedFrameData when a page was loaded in an invisible WebEngineView and then made visible. Task-number: QTBUG-42789 Change-Id: I4856efcd9c0ce44b66a228d5a414198df46b95eb Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Fix gesture recognitionAndras Becsi2015-03-201-0/+2
| | | | | | | | | Disable new gestures swipe and two-finger tap which seem to interfere with scroll and single finger tap in our current gesture provider code. Change-Id: Ib6d3590cafcc8bbd6ff2399d94a1ee9334070a5a Reviewed-by: Michael Brüning <michael.bruning@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>
* Propagate unhandled key events to the QtWebEngine view's parentJocelyn Turcotte2015-02-051-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Enable building Qt WebEngine without accessiblity enabled.Michael Brüning2015-01-231-1/+10
| | | | | | | | | | | | | This adds guards that for QT_NO_ACCESSIBILITY being not defined around the code that uses accessibility types. It disables the quicknanobrowser and quicktestbrowser examples which need Qt QuickControls, which has a hard dependency to accessibility being enabled. Task-number: QTBUG-43305 Change-Id: Ifa39e3ce447ebc2124f52e00b29b1d7d2231035e Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add Keyboard modifiers to MotionEventQt.Zeno Albisser2015-01-201-4/+44
| | | | | | | | | | Also fix the mapping of Ctrl and Meta keys on Mac OSX. On this platform Qt automatically maps Meta to Control and vice versa. Chromium however does not expect such behavior. Change-Id: Ia9913322ae8ae6ffd99feb6edfc91b9ea752c5cb Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* BrowserAccessibilityDelegate has been implemented in RenderFrameHostImpl.Zeno Albisser2015-01-201-63/+3
| | | | | | | | Adopt Accessibility functions from render_frame_host_impl.cc Change-Id: Ifa6752fd9daa3429d4016a91b85d7145b1fc2775 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-61/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Add Pointer Lock supportSzabolcs David2015-01-161-3/+19
| | | | | | | | | | While the mouse is locked, the cursor is hidden from the user and mouse events are still generated. The movement which is reported by the event indicates what would be the position change if the mouse would not have been locked. Change-Id: I79b3df5d7d644cd675a27e6c5a0da54e00b69da3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devAndras Becsi2014-12-011-0/+10
|\ | | | | | | | | | | | | | | | | Conflicts: src/core/access_token_store_qt.cpp src/core/access_token_store_qt.h src/core/content_browser_client_qt.cpp Change-Id: Id319ad0d87ce071e63d9c6c22b4fc35523ddfa74
| * Process touch events in sorted order.Zeno Albisser2014-11-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are mapping a single QTouchEvent to multiple MotionEventQt for Chromium. For gesture recognition it is important that these motion events are being processed in a sorted manner, as a move event might trigger a different gesture depending on how many ACTION_DOWN or ACTION_POINTER_DOWN were received before. It is particularly illegal to process an ACTION_MOVE with multiple touch points without having received a ACTION_POINTER_DOWN before. Change-Id: I75d22dd845774a14b5f590e0e0ce46263c4a49f4 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* | Avoid relying on QOpenGL classes to handle RenderPassesJocelyn Turcotte2014-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QSGLayer and get rid of RenderPassTexture so that we can render intermediate layers with the QtQuick 2D Renderer. This reintroduces the private dependency on QtQuick since the QSGLayer factory methods aren't available publically, and also that we need to use QSGImageNode instead of QSGSimpleTextureNode to use them. Since we can't subclass QSGLayer to hold a reference to SG objects directly in the nodes that use them, store them all in the wrapping DelegatedFrameNode in a SGObjects structs. This works assuming that the DelegatedFrameNode will always be at the root of our nodes, layers and textures; if the scene graph destroys the DelegatedFrameNode all child nodes will be destroyed with it. Change-Id: Iedeceb8f98eb54fd8228a677c366d6df9a270e11 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Rename DelegatedFrameNodeData to ChromiumCompositorDataJocelyn Turcotte2014-11-251-6/+6
|/ | | | | | | | | | | | This clarifies that those objects span to the lifetime of a Chromium frame rather than to the DelegatedFrameNode, which can be destroyed by the scene graph when the window is unmapped. The also avoids the confusion with the DelegatedFrameData Chromium structure name. Change-Id: Ibbeb2b10ef18704fc0934e285cca4ead23879646 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix issues on HiDPI displaysAndras Becsi2014-09-241-0/+2
| | | | | | | | | | | This patch fixes widgets rendering on HiDPI displays and notifies about the a potential device pixel ratio change when the window is moved. This addresses the blurriness when a web view is moved between an attached LoDPI screen and HiDPI screen resulting from the device pixel ratio not being updated. Change-Id: I97af0199c07deac8bbe4688c665aaa6df1608ae9 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Remove unneded OS_CHROMEOS defineAndras Becsi2014-09-231-1/+1
| | | | | Change-Id: Ia75177e8759c5ca10f74cc635d600999fb8205fb Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Bring back the mapping of touch IDs to fix flingingJocelyn Turcotte2014-09-191-7/+39
| | | | | | | | | | | This logic was removed in 3a30ed4ecc9c828641daef85f88f93baf78826b6 but was still needed by the velocity tracker used for fling gestures. Also disable swipe gestures in the gesture config since they have unwanted side-effects on the gesture detection and we don't use them. Change-Id: Icbb44a4c27e2cd243d631484d03a956e9dce64dc Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do a minor update to Chromium 37.0.2062.103Jocelyn Turcotte2014-09-101-0/+2
| | | | | | Change-Id: Ie9334cc9cdd240b2f5ceea0e31d82258045ea18c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* React to Accessibility being enabled/disabled globallyFrederik Gladhorn2014-09-011-2/+13
| | | | | Change-Id: I57a85682d132bfefcdb0e3d1b3065f0474317e32 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.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>
* Propagate the page's screen coordinates when the top-level window movedJocelyn Turcotte2014-08-201-14/+17
| | | | | | | | | | | | | | | | This fixes a regression after the 37 upgrade where the select popups would have the wrong position. Adjust to the new behavior and also avoid doing a mapToGlobal of the position received in InitAsPopup. RWHV::SetBounds has been giving us screen coordinates since the Chromium 33 update, but popup locations somehow managed to work properly through some side-effect sorcery. This also fixes the value of window.screen[XY] in JavaScript which wasn't updated when the window was moved. Change-Id: I544499bafedccfb7d389b4abc48f1386c398473f Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement RenderWidgetHostViewQt::AccessibilityViewHasFocusFrederik Gladhorn2014-08-181-0/+5
| | | | | Change-Id: I2cbb4860936c7780a749047b37d8c9852f54e7bc Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Use the unified gesture recognizerJocelyn Turcotte2014-08-141-156/+96
| | | | | | | | | | | | | | | | | | | | | | | The ui::GestureRecognizer is now tightly coupled with Aura and won't be usable on Mac or Android. Fortunately, the reason for this is that a new gesture recognizer common to both Android and Aura, ui::GestureProvider has been introduced. Using it allows us to stop pulling touch event types from Aura build files. Most of the change is about using ui::MotionEvent instead of ui::TouchEvent, and to feed them to the GestureProvider. A major difference is that the touch events sent to the renderer are not passed through the gesture recognizer only when the come back unhandled. They are instead always sent to both the renderer and the GestureProvider, and the call to OnTouchEventAck on the gesture filter tells it if the next event in the queue was handled or not, deciding if the gesture should be cancelled. Change-Id: Ifccebf85800cdf0ef29cf52b13f1bd659428e3f6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-141-77/+18
| | | | | | | | | | | | | | | 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>
* Use QSGEngine instead of the private QSGRenderContextJocelyn Turcotte2014-08-061-2/+2
| | | | | | | | | QSGEngine was added in Qt 5.4 to allow using the scene graph without QQuickWindow. Use it for our FBO as well as for the QOpenGLWidget rendering. Change-Id: If4665d4f33c9dad69d2d4269309163bb5ffbd8e3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix tab focus in the widgets and QML webviewsJocelyn Turcotte2014-08-011-0/+5
| | | | | | | | | | | | | | | | | | | | Fixes: - Make sure that we call SetInitialFocus when giving focus through Tab This does the same as would WebContents::FocusThroughTabTraversal - Implement QWebEnginePagePrivate::passOnFocus - Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView - Make sure that the widgets delegate accepts the tab focus policy Cleaups: - RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope, it doesn't have any children - We don't need to reimplement QQuickWebEngineView::forceActiveFocus since the view is now a focus scope - Do not explicitly setFocus(true) on the QQuickWebEngineView, the application should decide this through the API Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add loadVisuallyCommitted signal to the experimental Quick APISzabolcs David2014-08-011-0/+11
| | | | | | | | | This fixes the flaky QQuickWebEngineViewGraphics test and extends it with a new test case. Change-Id: I2d8a0762716cb9232fdea6473760e67ac2e7146d Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix windows build with accessibilityFrederik Gladhorn2014-07-291-33/+0
| | | | | | | | | | For now the windows build will simply use the same accessibility implementation as the rest of Qt and we don't bother with using the native implementation. Change-Id: Iaad6734834a562f2ee0bd951d299310e95a5c9e1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* On windows use blink's accessibility implementationFrederik Gladhorn2014-07-231-2/+34
| | | | | | | | | This fixes the windows build after the initial a11y patches landed. In addition blink a11y works well on this platform so there is no reason to map it to the Qt one. Since it's based on window handles they mix well. Change-Id: I4441541864bbdab126cd9412a3640c7284b98193 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix RenderWidgetHostViewQt::GetViewBoundsFrederik Gladhorn2014-07-141-1/+1
| | | | | | | | | | GetViewBounds should return the bounds of the view, not the screen rect. The view bounds are for example used to calculate the screen position of accessible objects (which gets fixed with this patch). Change-Id: I5b342113af737847c1756a13183cd2b8b8db648a Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Implement functions of BrowserAccessibilityDelegateFrederik Gladhorn2014-07-111-2/+50
| | | | | | | This is in line with how other platforms do it. Change-Id: Ia258511d3fa35387a69c81c9c02c181fc2995e6c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add core accessibilityFrederik Gladhorn2014-07-091-7/+37
| | | | | | | | | | | | | | | | This commit adds the basics to bridge the blink accessibility classes to QAccessibleInterfaces. Note that it needs two follow up commits to implement the bridging from the QWidget/Qt Quick worlds. [ChangeLog][Accessibility] QtWebEngine now has accessibility support, enabling assistive technology such as screen readers to work with it. Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix keyboard scrollingAllan Sandfeld Jensen2014-06-181-1/+6
| | | | | | | | | | | | Arrow keys and page-up/page-down was not working. These are detected on RayKeyDown events which both the Win and GTK versions sends instead of KeyDown. Also fixes a mistake in reading the length of the UTF16 text string that was using sizeof on a pointer. Change-Id: I441ef21c15430dafcaeda00d43eb9aec81cd88b8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix fling gesturesJocelyn Turcotte2014-05-191-2/+11
| | | | | | | | | | | | | | | InputHandlerProxy::HandleGestureFling assumes that the timestamp on the fling gesture is in the same system as base::TimeTicks. By giving it our smaller relative event timestamps (most often taken from a QElapsedTimer) this ends up here being calculated as a negative time on the fling animation curve. Fix the issue by applying a delta at the ui::TouchEvent conversion so that the resulting GestureFlingStart has a timestamp that can be reliably interpreted. Change-Id: I5e149bf64887305119643359495f89be6e0c3ffb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a crash when attempting to dragJocelyn Turcotte2014-05-081-3/+2
| | | | | | | | | | | | | | | | | Q_UNREACHABLE in RenderWidgetHostViewQt::GetNativeView is now called through RenderViewHostImpl::OnStartDragging since the last Chromium update. Even after removing this, OnStartDragging will now also try fetching the device pixel ratio through gfx::Screen::GetNativeScreen(). Provide a dummy implementation of gfx::Screen only to avoid the crash, the class still doesn't do anything and is filled with Q_UNREACHABLEs to catch if any of those methods are reached in a future Chromium update. Change-Id: I2e9dafab5e4622df97100dd7a859523067635118 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix double clicks needing three presses in QWebEngineViewJocelyn Turcotte2014-05-081-6/+1
| | | | | | | | | | | | | | Since Qt 5.3 QWidget has the same behavior as Qt 4 where it will replace a second MouseButtonPress event with a MouseButtonDblClick instead of sending both. Fix the issue by moving the MouseButtonDblClick ignore code up to the QtQuick code, assume that upper layers will not send MouseButtonDblClick events, and re-replace the MouseButtonDblClick event with a MouseButtonPress in the QtWidgets code. Change-Id: I529dad2de538f486b00eb900ea6d2ed849a3b1f0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>