haikuwebkit/Source/cmake/FindATKBridge.cmake

93 lines
3.4 KiB
CMake
Raw Permalink Normal View History

# Copyright (C) 2019, 2020 Igalia S.L.
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#[=======================================================================[.rst:
FindATKBridge
-------------
Find the ATK-SPI2 bridge headers and libraries.
Imported Targets
^^^^^^^^^^^^^^^^
``ATK::Bridge``
The ATK SPI2 bridge library, if found.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables in your project:
``ATKBridge_FOUND``
true if (the requested version of) the ATK SPI2 bridge is available.
``ATKBridge_VERSION``
the version of the ATK SPI2 bridge.
``ATKBridge_LIBRARIES``
the libraries to link against to use the ATK SPI2 bridge.
``ATKBridge_INCLUDE_DIRS``
where to find the ATK SPI2 bridge headers.
``ATKBridge_COMPILE_OPTIONS``
this should be passed to target_compile_options(), if the target
is not used for linking.
#]=======================================================================]
[CMake] Find modules should find pkg-config with find_package(PkgConfig QUIET) https://bugs.webkit.org/show_bug.cgi?id=208948 Reviewed by Michael Catanzaro. * Source/cmake/FindATK.cmake: * Source/cmake/FindATKBridge.cmake: * Source/cmake/FindATSPI.cmake: * Source/cmake/FindCairo.cmake: * Source/cmake/FindCairoGL.cmake: * Source/cmake/FindEGL.cmake: * Source/cmake/FindEnchant.cmake: * Source/cmake/FindFontconfig.cmake: * Source/cmake/FindGDK3.cmake: * Source/cmake/FindGLIB.cmake: * Source/cmake/FindGObjectIntrospection.cmake: * Source/cmake/FindGStreamer.cmake: * Source/cmake/FindGTK3.cmake: * Source/cmake/FindGTKUnixPrint.cmake: * Source/cmake/FindHarfBuzz.cmake: * Source/cmake/FindLibEpoxy.cmake: * Source/cmake/FindLibNotify.cmake: * Source/cmake/FindLibPSL.cmake: * Source/cmake/FindLibSoup.cmake: * Source/cmake/FindLibseccomp.cmake: * Source/cmake/FindLibsecret.cmake: * Source/cmake/FindLibtasn1.cmake: * Source/cmake/FindLibxkbcommon.cmake: * Source/cmake/FindNghttp2.cmake: * Source/cmake/FindOpenGL.cmake: * Source/cmake/FindOpenGLES2.cmake: * Source/cmake/FindOpenJPEG.cmake: * Source/cmake/FindSQLite3.cmake: * Source/cmake/FindWOFF2Dec.cmake: * Source/cmake/FindWPE.cmake: * Source/cmake/FindWPEBackend-fdo.cmake: * Source/cmake/FindWayland.cmake: * Source/cmake/FindWaylandProtocols.cmake: * Source/cmake/FindWebP.cmake: Canonical link: https://commits.webkit.org/221925@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-12 21:42:19 +00:00
find_package(PkgConfig QUIET)
pkg_check_modules(PC_ATK_BRIDGE QUIET atk-bridge-2.0)
set(ATKBridge_COMPILE_OPTIONS ${PC_ATK_BRIDGE_CFLAGS_OTHER})
set(ATKBridge_VERSION ${PC_ATK_BRIDGE_VERSION})
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
find_path(ATKBridge_INCLUDE_DIR
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
NAMES atk-bridge.h
HINTS ${PC_ATK_BRIDGE_INCLUDEDIR} ${PC_ATK_BRIDGE_INCLUDE_DIR}
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
PATH_SUFFIXES at-spi2-atk/2.0
)
find_library(ATKBridge_LIBRARY
NAMES ${ATKBridge_NAMES} atk-bridge-2.0
HINTS ${PC_ATK_BRIDGE_LIBDIR} ${PC_ATK_BRIDGE_LIBRARY_DIRS}
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ATKBridge
FOUND_VAR ATKBridge_FOUND
REQUIRED_VARS ATKBridge_LIBRARY ATKBridge_INCLUDE_DIR
VERSION_VAR ATKBridge_VERSION
[WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. .: Add ENABLE_ACCESSIBILITY public option to WPE. * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: Source/WebCore: Use USE(ATK) instead of PLATFORM(GTK) for ATK related code and use ATK when available for WPE port too. * PlatformWPE.cmake: * SourcesWPE.txt: * accessibility/AXObjectCache.h: * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers): * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canSetValueAttribute const): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange const): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityObjectInterface.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::indexForVisiblePosition const): (WebCore::AccessibilityRenderObject::shouldNotifyActiveDescendant const): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored const): * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored const): * accessibility/atk/WebKitAccessible.cpp: (webkitAccessibleGetAttributes): * accessibility/wpe/AXObjectCacheWPE.cpp: Removed. * accessibility/wpe/AccessibilityObjectWPE.cpp: Removed. * editing/FrameSelection.h: Source/WebKit: Rename WebKitWebViewBaseAccessible as WebKitWebViewAccessible and move it to glib removing its dependency on GTK. WPEView now implements get_accessible to return its associated WebKitWebViewAccessible. * PlatformWPE.cmake: * SourcesGTK.txt: * SourcesWPE.txt: * UIProcess/API/glib/WebKitWebViewAccessible.cpp: Added. (webkitWebViewAccessibleInitialize): (webkitWebViewAccessibleRefStateSet): (webkitWebViewAccessibleGetIndexInParent): (webkit_web_view_accessible_class_init): (webkitWebViewAccessibleNew): (webkitWebViewAccessibleSetWebView): * UIProcess/API/glib/WebKitWebViewAccessible.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseDispose): (webkitWebViewBaseGetAccessible): * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Removed. * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Removed. * UIProcess/API/wpe/PageClientImpl.cpp: (WebKit::PageClientImpl::accessible): * UIProcess/API/wpe/PageClientImpl.h: * UIProcess/API/wpe/WPEView.cpp: (WKWPE::m_backend): (WKWPE::View::~View): (WKWPE::View::accessible): * UIProcess/API/wpe/WPEView.h: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/wpe/WebPageProxyWPE.cpp: (WebKit::WebPageProxy::bindAccessibilityTree): Call atk_socket_embed() with the given plug ID. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::platformInitialize): Create the WebKitWebPageAccessibilityObject and send BindAccessibilityTree message to the UI process. * WebProcess/wpe/WebProcessMainWPE.cpp: (WebKit::initializeAccessibility): Implement AtkUtil interface and initialize the atk bridge. Tools: Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: LayoutTests: Unskip accessibility tests that are passing now and add platform specific results. * platform/wpe/TestExpectations: * platform/wpe/accessibility/add-children-pseudo-element-expected.txt: Added. * platform/wpe/accessibility/aria-fallback-roles-expected.txt: Added. * platform/wpe/accessibility/aria-hidden-negates-no-visibility-expected.txt: Added. * platform/wpe/accessibility/aria-label-on-label-element-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Added. * platform/wpe/accessibility/aria-labelledby-overrides-label-expected.txt: Added. * platform/wpe/accessibility/aria-option-role-expected.txt: Added. * platform/wpe/accessibility/aria-roledescription-expected.txt: Added. * platform/wpe/accessibility/aria-switch-sends-notification-expected.txt: Added. * platform/wpe/accessibility/aria-tab-roles-expected.txt: Added. * platform/wpe/accessibility/aria-table-attributes-expected.txt: Added. * platform/wpe/accessibility/aria-table-content-expected.txt: Added. * platform/wpe/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/wpe/accessibility/auto-fill-crash-expected.txt: Added. * platform/wpe/accessibility/button-with-aria-haspopup-role-expected.txt: Added. * platform/wpe/accessibility/color-well-expected.txt: Added. * platform/wpe/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added. * platform/wpe/accessibility/dimensions-include-descendants-expected.txt: Added. * platform/wpe/accessibility/double-nested-inline-element-missing-from-tree-expected.txt: Added. * platform/wpe/accessibility/empty-image-with-title-expected.txt: Added. * platform/wpe/accessibility/file-upload-button-stringvalue-expected.txt: Added. * platform/wpe/accessibility/help-text-expected.txt: Added. * platform/wpe/accessibility/image-link-expected.txt: Added. * platform/wpe/accessibility/image-map1-expected.txt: Added. * platform/wpe/accessibility/image-map2-expected.txt: Added. * platform/wpe/accessibility/inline-continuations-expected.txt: Added. * platform/wpe/accessibility/label-with-pseudo-elements-expected.txt: Added. * platform/wpe/accessibility/list-detection-expected.txt: Added. * platform/wpe/accessibility/lists-expected.txt: Added. * platform/wpe/accessibility/math-multiscript-attributes-expected.txt: Added. * platform/wpe/accessibility/media-emits-object-replacement-expected.txt: Added. * platform/wpe/accessibility/menu-list-crash2-expected.txt: Added. * platform/wpe/accessibility/minimal-table-with-aria-is-data-table-expected.txt: Added. * platform/wpe/accessibility/press-targets-center-point-expected.txt: Added. * platform/wpe/accessibility/radio-button-title-label-expected.txt: Added. * platform/wpe/accessibility/render-counter-text-expected.txt: Added. * platform/wpe/accessibility/roles-computedRoleString-expected.txt: Added. * platform/wpe/accessibility/roles-exposed-expected.txt: Added. * platform/wpe/accessibility/set-selected-text-range-contenteditable-expected.txt: Added. * platform/wpe/accessibility/svg-remote-element-expected.txt: Added. * platform/wpe/accessibility/tabindex-elements-are-accessible-expected.txt: Added. * platform/wpe/accessibility/table-attributes-expected.txt: Added. * platform/wpe/accessibility/table-cell-spans-expected.txt: Added. * platform/wpe/accessibility/table-cells-expected.txt: Added. * platform/wpe/accessibility/table-cells-roles-expected.txt: Added. * platform/wpe/accessibility/table-column-headers-with-captions-expected.txt: Added. * platform/wpe/accessibility/table-one-cell-expected.txt: Added. * platform/wpe/accessibility/table-roles-hierarchy-expected.txt: Added. * platform/wpe/accessibility/table-sections-expected.txt: Added. * platform/wpe/accessibility/table-with-rules-expected.txt: Added. * platform/wpe/accessibility/text-alternative-calculation-hidden-nodes-expected.txt: Added. * platform/wpe/accessibility/transformed-element-expected.txt: Added. Canonical link: https://commits.webkit.org/212158@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-05-21 12:45:08 +00:00
)
if (ATKBridge_LIBRARY AND NOT TARGET ATK::Bridge)
add_library(ATK::Bridge UNKNOWN IMPORTED GLOBAL)
set_target_properties(ATK::Bridge PROPERTIES
IMPORTED_LOCATION "${ATKBridge_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${ATKBridge_COMPILE_OPTIONS}"
INTERFACE_INCLUDE_DIRECTORIES "${ATKBridge_INCLUDE_DIR}"
)
endif ()
mark_as_advanced(ATKBridge_INCLUDE_DIR ATKBridge_LIBRARY)
if (ATKBridge_FOUND)
set(ATKBridge_LIBRARIES ${ATKBridge_LIBRARY})
set(ATKBridge_INCLUDE_DIRS ${ATKBridge_INCLUDE_DIR})
endif ()