summaryrefslogtreecommitdiffstats
path: root/src/core/browser_accessibility_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-7/+17
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Update accessibility roles and test after 88-basedBalazs Egedi2021-05-021-1/+7
| | | | | | Change-Id: I0a4f93945c013f83b5398a7282a8ea723040d699 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 87Allan Sandfeld Jensen2021-01-131-2/+0
| | | | | Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 84Allan Sandfeld Jensen2021-01-131-20/+12
| | | | | Change-Id: I359805d0bea84147fca6de2e2c7b17b4dcb17bc7 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 83Allan Sandfeld Jensen2020-09-091-1/+0
| | | | | Change-Id: I63ed851426b18623d549ceaf87f1b6eeec527966 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Chromium 81-based adaptationsAllan Sandfeld Jensen2020-09-091-3/+6
| | | | | Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix -no-accessibility buildPeter Varga2020-04-291-2/+2
| | | | | | | | | | | | WebEngine is built without -DQT_NO_ACCESSIBILITY. qtgui-config.h defines it but accessibility_activation_observer.h didn't include it if accessibility was disabled. Also replace all occurrences of QT_NO_ACCESSIBILITY by QT_CONFIG(accessibility) in core. Change-Id: I5e5e14885e04cd542ec9e52d770f7070e8edbf8b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 80Allan Sandfeld Jensen2020-04-071-9/+15
| | | | | Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Update accessibility roles and test after 79-basedPeter Varga2020-03-081-18/+23
| | | | | Change-Id: I23bd548db07c6332170e9d304977e5974c7f049f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-2/+13
| | | | | | | | Fixes: QTBUG-80737 Fixes: QTBUG-81556 Fixes: QTBUG-81614 Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix widget accessibility on macOSPeter Varga2020-01-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macOS Accessibility queries the window for the focused accessibility element. The window forwards the query to the widget with active focus. This widget is the RWHVQtDelegateWidget if a web element is focused in QWebEngineView. Therefore, a QAccessibleWidget interface has been implemented for the RWHVQtDelegateWidget to forward the request to the QWebEngineView. The focused accessibility element expected to be returned by the QAccessibleInterface::focusChild() method. In case of the macOS accessibility backend, it is called by the accessibilityFocusedUIElement() NSAccessibility API function. It expects the focused web accessibility element otherwise VoiceOver won't focus properly. The focused web accessiblity element is looked up by the new BrowserAccessibilityQt::focusChild() method. RenderWidgetHostviewQtDelegateWidget::focusChild() and QWebengineViewAccessible::focusChild() methods have been also implemented to forward it. This patch depends on a focusChild() fix in qtbase: a132e02540 Fix QAccessibleWidget::focusChild() to return focused descendant Microsoft Narrator also uses focusChild() to query the current focused element when it starts but it is still functional without this fix. Task-number: QTBUG-78284 Task-number: QTBUG-81539 Change-Id: I3c4861e58622ccbb5046c60c4efcc19842400a88 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix conversion of tabpanel aria rolePeter Varga2020-01-151-1/+1
| | | | | | Task-number: QTBUG-78284 Change-Id: Ie3bf247752308fb104ab0f244736bd3a8d070762 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-6/+6
| | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 76Allan Sandfeld Jensen2019-10-111-1/+1
| | | | | Change-Id: Id6d18a3854b572334dc1d65f1916b8991a740cd2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-1/+7
| | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-041-1/+2
|\ | | | | | | Change-Id: I1dd136df7004b11e2f38a2ec4e82a6fa81627479
| * Fix crash in tst_Spellchecking::spellcheckJüri Valdmann2019-02-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test tst_Spellchecking::spellcheck crashes when run with QT_LOGGING_RULES=qt.accessibility.cache.debug=true which triggers debug output from QAccessible::registerAccessibleInterface and QAccessible::deleteAccessibleInterface These functions are called during the construction/destruction of BrowserAccessibilityQt. The problem is that BrowserAccessibilityQt is not necessarily in a valid state at these times: BrowserAccessibilityQt relies on it's manager to be *fully* initialized yet BrowserAccessibilityQt may be constructed/destructed *during* the managers construction/destruction. The solution is to override QAccessibleInterface::isValid to return true only if the manager is in a valid state too. This disables the debug output and avoids the crash. Fixes: QTBUG-72878 Change-Id: Icffe4e503145133c24535fb094bbcb606568e57c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-0/+7
|/ | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Add accessibility_tree_formatter_qtAllan Sandfeld Jensen2018-09-251-3/+11
| | | | | | | | | | | Needed by chrome://accessibility Updates chromium to related change: 224fc0748a Do not assert on --disable-gpu 0ba5e6626a FIXUP: Add ifdefs to exclude ATL and accessibility from the build Change-Id: Ida0b03048ab6aa04686251d16ccfbf4855a37690 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-221-5/+68
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 68Allan Sandfeld Jensen2018-09-221-7/+4
| | | | | | Together-with: Tamas Zakor<ztamas@inf.u-szeged.hu> Change-Id: I805246b6f01cb151fff48588744408c676d87c14 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-261-4/+4
| | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 66Allan Sandfeld Jensen2018-06-261-188/+201
| | | | | Change-Id: Iee88721a50036d4ef85a23dd1708d4fb84218708 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update tst_QWebEngineAccessibility::roles() auto test for Chromium 65Peter Varga2018-04-051-0/+1
| | | | | Change-Id: Ibca5362c9d1e388885132259fa95a9f575f45fc8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Basic adaptations for 64-basedAllan Sandfeld Jensen2018-03-151-1/+3
| | | | | Change-Id: I11e2da206e4e59872a38c178f57a5879c1bbf229 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 63Allan Sandfeld Jensen2018-01-251-2/+2
| | | | | Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 62Allan Sandfeld Jensen2018-01-251-16/+2
| | | | | Change-Id: I49cd3c419d4dd1180144c3c07bdd9a628ab73caa Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations to 61-basedAllan Sandfeld Jensen2017-10-251-13/+41
| | | | | Change-Id: I5cb198445f283c6cea8187a1a2883896df0ee918 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update accessibility roles and tests for Chromium 60Peter Varga2017-10-041-0/+4
| | | | | Change-Id: I8ef0b65fe365f468eeb3336e9bd2569e49257113 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-291-1/+1
|\ | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| * 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>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-2/+2
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-3/+3
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Update accessibility roles for Chromium 58Peter Varga2017-07-131-0/+46
| | | | | | | | | | Change-Id: Id696dd7e56105a67b62b6d045e5af004de19ef79 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Update accessibility roles and add auto test for themPeter Varga2017-06-281-8/+8
| | | | | | | | | | Change-Id: I9fc39abd83b394a0241dba3340bc370c8b570481 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Simple adaptations for Chromium 58Allan Sandfeld Jensen2017-06-141-4/+4
|/ | | | | Change-Id: I7c2c85973b03fdbd2eafb5339f33a3758d53e924 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-3/+3
| | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations to Chromium 51Allan Sandfeld Jensen2016-06-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | A few remaining details need to be changed to port to 51: - AX_STATE_FOCUSED no longer exist and is now queried from the accessibility manager. - OnDuplicateSection no longer exist and is no longer needed on Windows. - Vorbis and AAC codecs are no longer included as supported in chrome_content_client.cc so we match that. - Blink is no longer started lazy and the method WebKitInitialized no longer exists in RenderProcessObserver. We must therefore get rid of the observer, and can mark qrc immediately. - Chromium will now use gpu memory buffers for video by default on both Linux and OS X. It however no longer works for us on either platforms, and since it doesn't give us any performance benefits, we might as well disable it. Change-Id: Ie0ee361f05a1e2207fcc5b88f98f9026ccd45f78 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Porting browser_accessibility_qt to Chromium 49Allan Sandfeld Jensen2016-03-071-89/+7
| | | | | | | | | | Blink now handles those rules, which means we don't have to. It however also means 'name' now contains inner-text like it is supposed to on paragraph elements. Task-number: QTBUG-51173 Change-Id: I5afbd56ac5787bbdac96e5a83af150ccbcac37e2 Reviewed-by: Michael Brüning <michael.bruning@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>
* Fix QAccessible name and description calculationAdam Kallai2015-08-261-4/+82
| | | | | | | | | | | | | | | The logic was removed in 1881f56d65b3981b176d99262f5266cf9ff76be3. There is no platform independent implementation in Chromium for calculating Accessible name which follow the W3C Accessibility standard. We need to apply this logic in order to get Accessible name and description correctly. It also fixes the QWebEngineAccessibility test cases. Change-Id: I733c6311301c43610b7a9aaf22c73c2e5d368c70 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Update accessibility for Chromium 44Allan Sandfeld Jensen2015-06-231-105/+5
| | | | | | | | Remove previously unused types chromium has removed. Change-Id: I75749e56035a0168385961d80260243379bbddf4 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Add public QtWebEngineCore C++ APIAndras Becsi2015-06-081-1/+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>
* Merge remote-tracking branch 'origin/5.4' into 5.5Andras Becsi2015-04-151-0/+1
|\ | | | | | | Change-Id: I1e414bb2252ee4b2204ef50a9d122d1d1504115d
| * Enable building Qt WebEngine without accessiblity enabled.Stephan Binner2015-03-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5 Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Fix building Qt WebEngine without accessiblity enabledStephan Binner2015-03-041-1/+1
| | | | | | | | | | Change-Id: Idb9a384da3aaa118a9b0fb773ca5ba94b96f6bbc Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+1
| | | | | | | | | | | | | | | | 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>
* | Enable building Qt WebEngine without accessiblity enabled.Michael Brüning2015-01-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Update Chromium to version 40.0.2214.28 and ninja to 1.5.3.Zeno Albisser2015-01-201-2/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>