Diff
Modified: trunk/ChangeLog (288730 => 288731)
--- trunk/ChangeLog 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/ChangeLog 2022-01-28 07:05:55 UTC (rev 288731)
@@ -1,3 +1,12 @@
+2022-01-27 Carlos Garcia Campos <[email protected]>
+
+ [WPE][a11y] Add option to build with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=235701
+
+ Reviewed by Adrian Perez de Castro.
+
+ * Source/cmake/OptionsWPE.cmake:
+
2022-01-27 Adrian Perez de Castro <[email protected]>
[CMake] Do not require GNU Gold usage to enable DEBUG_FISSION
Modified: trunk/Source/WebCore/ChangeLog (288730 => 288731)
--- trunk/Source/WebCore/ChangeLog 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebCore/ChangeLog 2022-01-28 07:05:55 UTC (rev 288731)
@@ -1,5 +1,15 @@
2022-01-27 Carlos Garcia Campos <[email protected]>
+ [WPE][a11y] Add option to build with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=235701
+
+ Reviewed by Adrian Perez de Castro.
+
+ * PlatformWPE.cmake:
+ * SourcesWPE.txt:
+
+2022-01-27 Carlos Garcia Campos <[email protected]>
+
[GTK][a11y] Do not set the accessibility root object on svg image page elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235705
Modified: trunk/Source/WebCore/PlatformWPE.cmake (288730 => 288731)
--- trunk/Source/WebCore/PlatformWPE.cmake 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebCore/PlatformWPE.cmake 2022-01-28 07:05:55 UTC (rev 288731)
@@ -18,6 +18,7 @@
list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/accessibility/atk"
+ "${WEBCORE_DIR}/accessibility/atspi"
"${WEBCORE_DIR}/platform/adwaita"
"${WEBCORE_DIR}/platform/audio/glib"
"${WEBCORE_DIR}/platform/glib"
@@ -38,6 +39,11 @@
)
list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS
+ accessibility/atspi/AccessibilityAtspi.h
+ accessibility/atspi/AccessibilityAtspiEnums.h
+ accessibility/atspi/AccessibilityObjectAtspi.h
+ accessibility/atspi/AccessibilityRootAtspi.h
+
platform/glib/ApplicationGLib.h
platform/graphics/wayland/PlatformDisplayWayland.h
@@ -86,3 +92,41 @@
list(APPEND WebCore_LIBRARIES ${OPENXR_LIBRARIES})
list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES ${OPENXR_INCLUDE_DIRS})
endif ()
+
+if (USE_ATSPI)
+ set(WebCore_AtspiInterfaceFiles
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Accessible.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Action.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Application.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Cache.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Collection.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Component.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/DeviceEventController.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/DeviceEventListener.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Document.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/EditableText.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Event.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Hyperlink.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Hypertext.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Image.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Registry.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Selection.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Socket.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/TableCell.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Table.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Text.xml
+ ${WEBCORE_DIR}/accessibility/atspi/xml/Value.xml
+ )
+
+ add_custom_command(
+ OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/AccessibilityAtspiInterfaces.h ${WebCore_DERIVED_SOURCES_DIR}/AccessibilityAtspiInterfaces.c
+ DEPENDS ${WebCore_AtspiInterfaceFiles}
+ COMMAND gdbus-codegen --interface-prefix=org.a11y.atspi --c-namespace=webkit --pragma-once --interface-info-header --output=${WebCore_DERIVED_SOURCES_DIR}/AccessibilityAtspiInterfaces.h ${WebCore_AtspiInterfaceFiles}
+ COMMAND gdbus-codegen --interface-prefix=org.a11y.atspi --c-namespace=webkit --interface-info-body --output=${WebCore_DERIVED_SOURCES_DIR}/AccessibilityAtspiInterfaces.c ${WebCore_AtspiInterfaceFiles}
+ VERBATIM
+ )
+
+ list(APPEND WebCore_SOURCES
+ ${WebCore_DERIVED_SOURCES_DIR}/AccessibilityAtspiInterfaces.c
+ )
+endif ()
Modified: trunk/Source/WebCore/SourcesWPE.txt (288730 => 288731)
--- trunk/Source/WebCore/SourcesWPE.txt 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebCore/SourcesWPE.txt 2022-01-28 07:05:55 UTC (rev 288731)
@@ -39,7 +39,24 @@
accessibility/atk/WebKitAccessibleInterfaceValue.cpp
accessibility/atk/WebKitAccessibleUtil.cpp
+accessibility/atspi/AccessibilityAtspi.cpp
+accessibility/atspi/AccessibilityObjectAtspi.cpp
+accessibility/atspi/AccessibilityObjectActionAtspi.cpp
+accessibility/atspi/AccessibilityObjectComponentAtspi.cpp
+accessibility/atspi/AccessibilityObjectDocumentAtspi.cpp
+accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp
+accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp
+accessibility/atspi/AccessibilityObjectImageAtspi.cpp
+accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp
+accessibility/atspi/AccessibilityObjectTableAtspi.cpp
+accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp
+accessibility/atspi/AccessibilityObjectTextAtspi.cpp
+accessibility/atspi/AccessibilityObjectValueAtspi.cpp
+accessibility/atspi/AccessibilityRootAtspi.cpp
+accessibility/atspi/AXObjectCacheAtspi.cpp
+
editing/atk/FrameSelectionAtk.cpp
+editing/atspi/FrameSelectionAtspi.cpp
editing/libwpe/EditorLibWPE.cpp
loader/soup/ResourceLoaderSoup.cpp
Modified: trunk/Source/WebKit/ChangeLog (288730 => 288731)
--- trunk/Source/WebKit/ChangeLog 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebKit/ChangeLog 2022-01-28 07:05:55 UTC (rev 288731)
@@ -1,3 +1,17 @@
+2022-01-27 Carlos Garcia Campos <[email protected]>
+
+ [WPE][a11y] Add option to build with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=235701
+
+ Reviewed by Adrian Perez de Castro.
+
+ * UIProcess/wpe/WebPageProxyWPE.cpp:
+ (WebKit::WebPageProxy::bindAccessibilityTree):
+ * WebProcess/WebPage/wpe/WebPageWPE.cpp:
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::platformDetach):
+ * WebProcess/wpe/WebProcessMainWPE.cpp:
+
2022-01-27 Antoine Quint <[email protected]>
[Model] Allow disabling interaction
Modified: trunk/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp (288730 => 288731)
--- trunk/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp 2022-01-28 07:05:55 UTC (rev 288731)
@@ -30,7 +30,7 @@
#include "InputMethodState.h"
#include "PageClientImpl.h"
-#if USE(ATK)
+#if ENABLE(ACCESSIBILITY)
#include <atk/atk.h>
#endif
@@ -47,7 +47,7 @@
void WebPageProxy::bindAccessibilityTree(const String& plugID)
{
-#if USE(ATK)
+#if ENABLE(ACCESSIBILITY)
auto* accessible = static_cast<PageClientImpl&>(pageClient()).accessible();
atk_socket_embed(ATK_SOCKET(accessible), const_cast<char*>(plugID.utf8().data()));
atk_object_notify_state_change(accessible, ATK_STATE_TRANSIENT, FALSE);
Modified: trunk/Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp (288730 => 288731)
--- trunk/Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp 2022-01-28 07:05:55 UTC (rev 288731)
@@ -43,10 +43,19 @@
// entry point to the web process, and send a message to the UI
// process to connect the two worlds through the accessibility
// object there specifically placed for that purpose (the socket).
+#if USE(ATK)
m_accessibilityObject = adoptGRef(webkitWebPageAccessibilityObjectNew(this));
GUniquePtr<gchar> plugID(atk_plug_get_id(ATK_PLUG(m_accessibilityObject.get())));
send(Messages::WebPageProxy::BindAccessibilityTree(String(plugID.get())));
+#elif USE(ATSPI)
+ if (auto* page = corePage()) {
+ m_accessibilityRootObject = AccessibilityRootAtspi::create(*page);
+ m_accessibilityRootObject->registerObject([&](const String& plugID) {
+ send(Messages::WebPageProxy::BindAccessibilityTree(plugID));
+ });
+ }
#endif
+#endif
}
void WebPage::platformReinitialize()
@@ -55,6 +64,10 @@
void WebPage::platformDetach()
{
+#if USE(ATSPI)
+ if (m_accessibilityRootObject)
+ m_accessibilityRootObject->unregisterObject();
+#endif
}
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent&)
Modified: trunk/Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp (288730 => 288731)
--- trunk/Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/WebKit/WebProcess/wpe/WebProcessMainWPE.cpp 2022-01-28 07:05:55 UTC (rev 288731)
@@ -31,7 +31,7 @@
#include "WebProcess.h"
#include <glib.h>
-#if ENABLE(ACCESSIBILITY)
+#if USE(ATK)
#include <atk-bridge.h>
#include <atk/atk.h>
#endif
@@ -43,7 +43,7 @@
namespace WebKit {
using namespace WebCore;
-#if ENABLE(ACCESSIBILITY)
+#if USE(ATK)
static void initializeAccessibility()
{
auto* atkUtilClass = ATK_UTIL_CLASS(g_type_class_ref(ATK_TYPE_UTIL));
@@ -93,7 +93,7 @@
// FIXME: This should be probably called in other processes as well.
g_set_prgname("WPEWebProcess");
-#if ENABLE(ACCESSIBILITY)
+#if USE(ATK)
initializeAccessibility();
#endif
Modified: trunk/Source/cmake/OptionsWPE.cmake (288730 => 288731)
--- trunk/Source/cmake/OptionsWPE.cmake 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Source/cmake/OptionsWPE.cmake 2022-01-28 07:05:55 UTC (rev 288731)
@@ -87,6 +87,7 @@
WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_ANGLE_WEBGL "Whether to use ANGLE as WebGL backend." PRIVATE OFF)
WEBKIT_OPTION_DEPEND(USE_ANGLE_WEBGL ENABLE_WEBGL)
+WEBKIT_OPTION_DEFINE(USE_ATSPI "Whether to use the ATSPI a11y implementation instead of ATK." PRIVATE OFF)
WEBKIT_OPTION_DEPEND(ENABLE_WEBGL2 USE_ANGLE_WEBGL)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -278,7 +279,6 @@
endif ()
SET_AND_EXPOSE_TO_BUILD(HAVE_ACCESSIBILITY ${ENABLE_ACCESSIBILITY})
-SET_AND_EXPOSE_TO_BUILD(USE_ATK ${ENABLE_ACCESSIBILITY})
SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_EGL TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_GCRYPT TRUE)
@@ -293,6 +293,10 @@
SET_AND_EXPOSE_TO_BUILD(USE_CAPSTONE ${ENABLE_DEVELOPER_MODE})
endif ()
+if (NOT USE_ATSPI)
+ SET_AND_EXPOSE_TO_BUILD(USE_ATK TRUE)
+endif ()
+
SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER_GL TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_TILED_BACKING_STORE TRUE)
Modified: trunk/Tools/ChangeLog (288730 => 288731)
--- trunk/Tools/ChangeLog 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Tools/ChangeLog 2022-01-28 07:05:55 UTC (rev 288731)
@@ -1,5 +1,14 @@
2022-01-27 Carlos Garcia Campos <[email protected]>
+ [WPE][a11y] Add option to build with ATSPI
+ https://bugs.webkit.org/show_bug.cgi?id=235701
+
+ Reviewed by Adrian Perez de Castro.
+
+ * WebKitTestRunner/PlatformWPE.cmake:
+
+2022-01-27 Carlos Garcia Campos <[email protected]>
+
[GTK][a11y] WTR: add implementation for all relation APIs with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235702
Modified: trunk/Tools/WebKitTestRunner/PlatformWPE.cmake (288730 => 288731)
--- trunk/Tools/WebKitTestRunner/PlatformWPE.cmake 2022-01-28 07:04:12 UTC (rev 288730)
+++ trunk/Tools/WebKitTestRunner/PlatformWPE.cmake 2022-01-28 07:05:55 UTC (rev 288731)
@@ -44,6 +44,10 @@
InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp
InjectedBundle/atk/AccessibilityUIElementAtk.cpp
+ InjectedBundle/atspi/AccessibilityControllerAtspi.cpp
+ InjectedBundle/atspi/AccessibilityNotificationHandler.cpp
+ InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
+
InjectedBundle/wpe/ActivateFontsWPE.cpp
InjectedBundle/wpe/InjectedBundleWPE.cpp
InjectedBundle/wpe/TestRunnerWPE.cpp
@@ -53,6 +57,7 @@
${ATK_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${WebKitTestRunner_DIR}/InjectedBundle/atk
+ ${WebKitTestRunner_DIR}/InjectedBundle/atspi
${WebKitTestRunner_DIR}/InjectedBundle/wpe
)