Changeset 286093 in webkit
- Timestamp:
- Nov 19, 2021, 11:52:57 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 6 edited
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/SourcesGTK.txt (modified) (1 diff)
-
Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp (modified) (3 diffs)
-
Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.h (modified) (4 diffs)
-
Source/WebCore/accessibility/atspi/AccessibilityObjectImageAtspi.cpp (added)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r286091 r286093 1 2021-11-19 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK][a11y] Add implementation of image interface when building with ATSPI 4 https://bugs.webkit.org/show_bug.cgi?id=232782 5 6 Reviewed by Adrian Perez de Castro. 7 8 * SourcesGTK.txt: 9 * accessibility/atspi/AccessibilityObjectAtspi.cpp: 10 (WebCore::AccessibilityObjectAtspi::interfacesForObject): 11 (WebCore::AccessibilityObjectAtspi::path): 12 (WebCore::AccessibilityObjectAtspi::buildInterfaces const): 13 * accessibility/atspi/AccessibilityObjectAtspi.h: 14 * accessibility/atspi/AccessibilityObjectImageAtspi.cpp: Added. 15 (WebCore::AccessibilityObjectAtspi::imageDescription const): 16 1 17 2021-11-19 Commit Queue <commit-queue@webkit.org> 2 18 -
trunk/Source/WebCore/SourcesGTK.txt
r286059 r286093 47 47 accessibility/atspi/AccessibilityObjectHyperlinkAtspi.cpp 48 48 accessibility/atspi/AccessibilityObjectHypertextAtspi.cpp 49 accessibility/atspi/AccessibilityObjectImageAtspi.cpp 49 50 accessibility/atspi/AccessibilityObjectTextAtspi.cpp 50 51 accessibility/atspi/AccessibilityObjectValueAtspi.cpp -
trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp
r286059 r286093 94 94 if (coreObject.roleValue() == AccessibilityRole::WebArea) 95 95 interfaces.add(Interface::Document); 96 97 if (coreObject.isImage()) 98 interfaces.add(Interface::Image); 96 99 97 100 return interfaces; … … 491 494 if (m_interfaces.contains(Interface::Document)) 492 495 interfaces.append({ const_cast<GDBusInterfaceInfo*>(&webkit_document_interface), &s_documentFunctions }); 496 if (m_interfaces.contains(Interface::Image)) 497 interfaces.append({ const_cast<GDBusInterfaceInfo*>(&webkit_image_interface), &s_imageFunctions }); 493 498 m_path = atspiRoot->atspi().registerObject(*this, WTFMove(interfaces)); 494 499 } … … 1133 1138 if (m_interfaces.contains(Interface::Document)) 1134 1139 g_variant_builder_add(builder, "s", webkit_document_interface.name); 1140 if (m_interfaces.contains(Interface::Image)) 1141 g_variant_builder_add(builder, "s", webkit_image_interface.name); 1135 1142 } 1136 1143 -
trunk/Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.h
r286059 r286093 43 43 ~AccessibilityObjectAtspi() = default; 44 44 45 enum class Interface : uint 8_t {45 enum class Interface : uint16_t { 46 46 Accessible = 1 << 0, 47 47 Component = 1 << 1, … … 51 51 Hypertext = 1 << 5, 52 52 Action = 1 << 6, 53 Document = 1 << 7 53 Document = 1 << 7, 54 Image = 1 << 8 54 55 }; 55 56 const OptionSet<Interface>& interfaces() const { return m_interfaces; } … … 176 177 String documentLocale() const; 177 178 179 String imageDescription() const; 180 178 181 static OptionSet<Interface> interfacesForObject(AXCoreObject&); 179 182 … … 186 189 static GDBusInterfaceVTable s_actionFunctions; 187 190 static GDBusInterfaceVTable s_documentFunctions; 191 static GDBusInterfaceVTable s_imageFunctions; 188 192 189 193 AXCoreObject* m_axObject { nullptr }; -
trunk/Tools/ChangeLog
r286084 r286093 1 2021-11-19 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK][a11y] Add implementation of image interface when building with ATSPI 4 https://bugs.webkit.org/show_bug.cgi?id=232782 5 6 Reviewed by Adrian Perez de Castro. 7 8 Add unit tests for the image interface. 9 10 * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp: 11 (testImageBasic): 12 (beforeAll): 13 1 14 2021-11-19 Alex Christensen <achristensen@webkit.org> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp
r286059 r286093 2002 2002 } 2003 2003 2004 static void testImageBasic(AccessibilityTest* test, gconstpointer) 2005 { 2006 test->showInWindow(800, 600); 2007 GUniquePtr<char> baseDir(g_strdup_printf("file://%s/", Test::getResourcesDir().data())); 2008 test->loadHtml( 2009 "<html>" 2010 " <body>" 2011 " <img style='position:absolute; left:1; top:1' src='blank.ico' width=5 height=5 alt='This is a blank icon' lang='en'></img>" 2012 " </body>" 2013 "</html>", 2014 baseDir.get()); 2015 test->waitUntilLoadFinished(); 2016 2017 auto testApp = test->findTestApplication(); 2018 g_assert_true(ATSPI_IS_ACCESSIBLE(testApp.get())); 2019 2020 auto documentWeb = test->findDocumentWeb(testApp.get()); 2021 g_assert_true(ATSPI_IS_ACCESSIBLE(documentWeb.get())); 2022 g_assert_cmpint(atspi_accessible_get_child_count(documentWeb.get(), nullptr), ==, 1); 2023 2024 auto img = adoptGRef(atspi_accessible_get_child_at_index(documentWeb.get(), 0, nullptr)); 2025 g_assert_true(ATSPI_IS_IMAGE(img.get())); 2026 GUniquePtr<AtspiRect> rect(atspi_image_get_image_extents(ATSPI_IMAGE(img.get()), ATSPI_COORD_TYPE_WINDOW, nullptr)); 2027 g_assert_nonnull(rect.get()); 2028 g_assert_cmpuint(rect->x, ==, 1); 2029 g_assert_cmpuint(rect->y, ==, 1); 2030 g_assert_cmpuint(rect->width, ==, 5); 2031 g_assert_cmpuint(rect->height, ==, 5); 2032 GUniquePtr<AtspiPoint> point(atspi_image_get_image_position(ATSPI_IMAGE(img.get()), ATSPI_COORD_TYPE_WINDOW, nullptr)); 2033 g_assert_nonnull(point.get()); 2034 g_assert_cmpuint(rect->x, ==, point->x); 2035 g_assert_cmpuint(rect->y, ==, point->y); 2036 GUniquePtr<AtspiPoint> size(atspi_image_get_image_size(ATSPI_IMAGE(img.get()), nullptr)); 2037 g_assert_nonnull(size.get()); 2038 g_assert_cmpuint(size->x, ==, rect->width); 2039 g_assert_cmpuint(size->y, ==, rect->height); 2040 2041 GUniquePtr<char> description(atspi_image_get_image_description(ATSPI_IMAGE(img.get()), nullptr)); 2042 g_assert_cmpstr(description.get(), ==, "This is a blank icon"); 2043 #if USE(ATSPI) 2044 GUniquePtr<char> locale(atspi_image_get_image_locale(ATSPI_IMAGE(img.get()), nullptr)); 2045 g_assert_cmpstr(locale.get(), ==, "en"); 2046 #endif 2047 } 2048 2004 2049 void beforeAll() 2005 2050 { … … 2027 2072 AccessibilityTest::add("WebKitAccessibility", "action/basic", testActionBasic); 2028 2073 AccessibilityTest::add("WebKitAccessibility", "document/basic", testDocumentBasic); 2074 AccessibilityTest::add("WebKitAccessibility", "image/basic", testImageBasic); 2029 2075 } 2030 2076
Note:
See TracChangeset
for help on using the changeset viewer.