RESOLVED FIXED 233004
AX: Add missing AXID variant to AXPropertyValueVariant
https://bugs.webkit.org/show_bug.cgi?id=233004
Summary AX: Add missing AXID variant to AXPropertyValueVariant
Tyler Wilcock
Reported 2021-11-11 10:25:55 PST
In this method: void AXIsolatedObject::setObjectProperty(AXPropertyName propertyName, AXCoreObject* object) { if (object) setProperty(propertyName, object->objectID()); else setProperty(propertyName, nullptr, true); } We set properties with AXID values. However, there is no AXID variant in AXPropertyValueVariant, so none of these property lookups ever returned values.
Attachments
Patch (2.30 KB, patch)
2021-11-11 10:27 PST, Tyler Wilcock
ews-feeder: commit-queue-
Radar WebKit Bug Importer
Comment 1 2021-11-11 10:26:09 PST
Tyler Wilcock
Comment 2 2021-11-11 10:27:58 PST
EWS
Comment 3 2021-11-11 15:50:28 PST
Committed r285686 (244161@main): <https://commits.webkit.org/244161@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 443970 [details].
Carlos Garcia Campos
Comment 4 2021-11-17 00:51:24 PST
hmm, this broke the build here with isolated tree enabled, I don't know if it's because of GCC: Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:482:51: error: cannot convert ‘WebCore::AXID’ {aka ‘long unsigned int’} to ‘WebCore::AXPropertyValueVariant&&’ {aka ‘std::variant<std::nullptr_t, long unsigned int, WTF::String, bool, int, unsigned int, double, float, long unsigned int, WebCore::Color, WTF::URL, WebCore::LayoutRect, WebCore::FloatRect, PAL::SessionID, WebCore::IntPoint, WTF::OptionSet<WebCore::SpeakAs>, std::pair<unsigned int, unsigned int>, WTF::Vector<WebCore::AccessibilityText, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<long unsigned int, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<std::pair<long unsigned int, long unsigned int>, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WTF::Vector<WTF::String, 0, WTF::CrashOnOverflow, 16, WTF::FastMalloc>, WebCore::Path, WTF::OptionSet<WebCore::AXAncestorFlag> >&&’} 482 | setProperty(propertyName, object->objectID()); | ~~~~~~~~~~~~~~~~^~ | | | WebCore::AXID {aka long unsigned int} Maybe the problem is that we now have long unsigned int twice AXID and uint64_t.
Tyler Wilcock
Comment 5 2021-11-17 08:11:08 PST
Sorry for causing more GTK breakage, Carlos. Indeed, it must be a difference in the way GCC and Clang handle size_t in this case. Just to reconfirm the results of this patch with Clang + Mac, I ran the tests one more time (run-webkit-tests --no-retry --release --accessibility-isolated-tree accessibility/): My main is currently at revision: https://github.com/WebKit/WebKit/commit/ce9ed8749594cb74cb8b154c56c91a8fe0bac858 Main with r285686: 161 text failures, 3 crashes, 8 timeouts Main without r285686: 197 text failures, 1 crash, 11 timeouts I also ran the tests with your latest AXID ObjectIdentifier patch (https://bugs.webkit.org/attachment.cgi?id=444509&action=prettypatch) + main and got: 160 text failures, 2 crashes, 9 timeouts Which seems good to me. Thanks for fixing this in https://bugs.webkit.org/show_bug.cgi?id=233248!
Note You need to log in before you can comment on or make changes to this bug.