| Summary: | AX: Build with isolated tree enable is broken since r284075 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Carlos Garcia Campos <cgarcia> | ||||||||||||||||
| Component: | Accessibility | Assignee: | Nobody <webkit-unassigned> | ||||||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||||||
| Severity: | Normal | CC: | aboxhall, achristensen, andresg_22, apinheiro, cdumez, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer | ||||||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||||||
| Version: | WebKit Nightly Build | ||||||||||||||||||
| Hardware: | All | ||||||||||||||||||
| OS: | All | ||||||||||||||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=231629 | ||||||||||||||||||
| Attachments: |
|
||||||||||||||||||
Created attachment 441054 [details]
Patch
(In reply to Carlos Garcia Campos from comment #2) > Created attachment 441054 [details] > Patch --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ a/Source/WebCore/accessibility/AccessibilityObject.cpp -uint64_t AccessibilityObject::sessionID() const +PAL::SessionID AccessibilityObject::sessionID() const { ... - return 0; + return PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); } Can we do return { }; instead? --- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h +++ a/Source/WebCore/accessibility/AccessibilityObjectInterface.h @@ -34,6 +34,7 @@ #include "TextIteratorBehavior.h" #include "VisibleSelection.h" #include "Widget.h" +#include <pal/SessionID.h> Can we do a forward declaration of SessionID instead of a full include here? Since this file is included quite a bit, this may have a build time impact. There is some ongoing work to improve build time and it seems that forward declaring things help. --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp -uint64_t AXIsolatedObject::sessionID() const +PAL::SessionID AXIsolatedObject::sessionID() const { ... + return PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); } Can we do return { }; instead? +PAL::SessionID AXIsolatedObject::sessionIDAttributeValue(AXPropertyName propertyName) const +{ ... + [] (auto&) { return PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); } + ); +} Same as above. (In reply to Andres Gonzalez from comment #3) > (In reply to Carlos Garcia Campos from comment #2) > > Created attachment 441054 [details] > > Patch > > --- a/Source/WebCore/accessibility/AccessibilityObject.cpp > +++ a/Source/WebCore/accessibility/AccessibilityObject.cpp > > -uint64_t AccessibilityObject::sessionID() const > +PAL::SessionID AccessibilityObject::sessionID() const > { > ... > - return 0; > + return > PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); > } > > Can we do return { }; instead? I don't think so. SessionID() = delete; > --- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h > +++ a/Source/WebCore/accessibility/AccessibilityObjectInterface.h > @@ -34,6 +34,7 @@ > #include "TextIteratorBehavior.h" > #include "VisibleSelection.h" > #include "Widget.h" > +#include <pal/SessionID.h> > > Can we do a forward declaration of SessionID instead of a full include here? > Since this file is included quite a bit, this may have a build time impact. > There is some ongoing work to improve build time and it seems that forward > declaring things help. Let me try. > --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp > +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp > > -uint64_t AXIsolatedObject::sessionID() const > +PAL::SessionID AXIsolatedObject::sessionID() const > { > ... > + return > PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); > } > > Can we do return { }; instead? > > +PAL::SessionID AXIsolatedObject::sessionIDAttributeValue(AXPropertyName > propertyName) const > +{ > ... > + [] (auto&) { return > PAL::SessionID(PAL::SessionID::SessionConstants::HashTableEmptyValueID); } > + ); > +} > > Same as above. Created attachment 441066 [details]
Patch
So, forward declaration worked for me locally, but it seems to be failing in the bots, maybe it worked for me thanks to unified builds. (In reply to Carlos Garcia Campos from comment #6) > So, forward declaration worked for me locally, but it seems to be failing in > the bots, maybe it worked for me thanks to unified builds. what's the error? Does it need to be included in WebAccessibilitWrapperMac.mm since now we call a SessionID method there? Created attachment 441190 [details]
Patch
(In reply to Andres Gonzalez from comment #7) > (In reply to Carlos Garcia Campos from comment #6) > > So, forward declaration worked for me locally, but it seems to be failing in > > the bots, maybe it worked for me thanks to unified builds. > > what's the error? Does it need to be included in > WebAccessibilitWrapperMac.mm since now we call a SessionID method there? Still fails: CompileC /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/UnifiedSource5-mm.o /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler cd /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/Source/WebCore export LANG=en_US.US-ASCII /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -target arm64-apple-macos11.0 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++1z -stdlib=libc++ -fobjc-weak -gmodules -Wno-trigraphs -fno-exceptions -fno-rtti -fno-sanitize=vptr -fpascal-strings -O0 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wunreachable-code -Wno-implicit-atomic-properties -Wno-objc-interface-ivars -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -DBUILDING_WEBKIT -DGL_SILENCE_DEPRECATION=1 -DGLES_SILENCE_DEPRECATION=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-generated-files.hmap -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-own-target-headers.hmap -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-all-target-headers.hmap -iquote /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-project-headers.hmap -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/include -IPAL -IForwardingHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/libxslt -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/libxml2 -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/DerivedSources/WebCore -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/local/include -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include/webrtc -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/local/include/webrtc -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/local/include/webrtc/sdk/objc/Framework/Headers -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/Source/WebCore -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources-normal/arm64 -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources/arm64 -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wconditional-uninitialized -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -Wvla -Wno-unknown-warning-option -Wliteral-conversion -Wthread-safety -F/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -include /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/PrecompiledHeaders/WebCorePrefix-ffvuycgpgqmrgwckroztacgbwjza/WebCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/UnifiedSource5-mm.d --serialize-diagnostics /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/UnifiedSource5-mm.dia -c /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm.mm -o /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/UnifiedSource5-mm.o In file included from /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm.mm:1: In file included from /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/Source/WebCore/WebCorePrefix.h:68: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/algorithm:640: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3005:38: error: incomplete type 'PAL::SessionID' used in type trait expression : public integral_constant<bool, __is_constructible(_Tp, _Args...)> ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3060:14: note: in instantiation of template class 'std::__1::is_constructible<PAL::SessionID, const PAL::SessionID &>' requested here : public is_constructible<_Tp, ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3066:7: note: in instantiation of template class 'std::__1::is_copy_constructible<PAL::SessionID>' requested here = is_copy_constructible<_Tp>::value; ^ (In reply to Carlos Garcia Campos from comment #9) > (In reply to Andres Gonzalez from comment #7) > > (In reply to Carlos Garcia Campos from comment #6) > > > So, forward declaration worked for me locally, but it seems to be failing in > > > the bots, maybe it worked for me thanks to unified builds. > > > > what's the error? Does it need to be included in > > WebAccessibilitWrapperMac.mm since now we call a SessionID method there? > > Still fails: > > CompileC > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/ > UnifiedSource5-mm.o > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm. > mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler > cd > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/Source/ > WebCore > export LANG=en_US.US-ASCII > > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault. > xctoolchain/usr/bin/clang -x objective-c++ -target arm64-apple-macos11.0 > -fmessage-length=0 -fdiagnostics-show-note-include-stack > -fmacro-backtrace-limit=0 -std=gnu++1z -stdlib=libc++ -fobjc-weak -gmodules > -Wno-trigraphs -fno-exceptions -fno-rtti -fno-sanitize=vptr -fpascal-strings > -O0 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes > -Wunreachable-code -Wno-implicit-atomic-properties -Wno-objc-interface-ivars > -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wnon-virtual-dtor > -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match > -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function > -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value > -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow > -Wno-four-char-constants -Wno-conversion -Wconstant-conversion > -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion > -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wsign-compare > -Wno-shorten-64-to-32 -Wnewline-eof -Wno-selector -Wno-strict-selector-match > -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions > -DBUILDING_WEBKIT -DGL_SILENCE_DEPRECATION=1 -DGLES_SILENCE_DEPRECATION=1 > -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk -fstrict-aliasing -Wprotocol > -Wdeprecated-declarations -Winvalid-offsetof -g -fvisibility=hidden > -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion > -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing > -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body > -iquote > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-generated-files.hmap > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-own-target-headers. > hmap > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-all-target-headers. > hmap -iquote > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/WebCore-project-headers.hmap > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/include -IPAL -IForwardingHeaders > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/libxslt > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/libxml2 > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/DerivedSources/WebCore > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/usr/local/include > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/usr/local/include/WebKitAdditions > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/local/include/WebKitAdditions > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/usr/local/include > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/local/include > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/usr/local/include/webrtc > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/local/include/webrtc > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/usr/local/include/webrtc/sdk/objc/Framework/Headers > -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/local/include/webrtc/sdk/objc/Framework/ > Headers > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > Source/WebCore > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources-normal/arm64 > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources/arm64 > -I/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/DerivedSources -Wall -Wextra > -Wcast-qual -Wchar-subscripts -Wconditional-uninitialized -Wextra-tokens > -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn > -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings > -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare > -Wimplicit-fallthrough -Wvla -Wno-unknown-warning-option > -Wliteral-conversion -Wthread-safety > -F/Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug -iframework > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/System/Library/PrivateFrameworks -iframework > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks -isystem > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/System.framework/ > PrivateHeaders -include > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/PrecompiledHeaders/WebCorePrefix-ffvuycgpgqmrgwckroztacgbwjza/ > WebCorePrefix.h -MMD -MT dependencies -MF > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/ > UnifiedSource5-mm.d --serialize-diagnostics > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/ > UnifiedSource5-mm.dia -c > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm. > mm -o > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/arm64/ > UnifiedSource5-mm.o > In file included from > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/ > WebKitBuild/Debug/DerivedSources/WebCore/unified-sources/UnifiedSource5-mm. > mm:1: > In file included from > /Volumes/Data/worker/macOS-AppleSilicon-Big-Sur-Debug-Build-EWS/build/Source/ > WebCore/WebCorePrefix.h:68: > In file included from > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/algorithm:640: > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3005:38: error: > incomplete type 'PAL::SessionID' used in type trait expression > : public integral_constant<bool, __is_constructible(_Tp, _Args...)> > ^ > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3060:14: note: > in instantiation of template class > 'std::__1::is_constructible<PAL::SessionID, const PAL::SessionID &>' > requested here > : public is_constructible<_Tp, > ^ > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ > Developer/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:3066:7: note: > in instantiation of template class > 'std::__1::is_copy_constructible<PAL::SessionID>' requested here > = is_copy_constructible<_Tp>::value; > ^ Ah sorry. Last try: could you please #include in AXIsolatedTree.h? It may be needed there to size the Variant that now includes SessionID. Created attachment 441349 [details]
Patch
Created attachment 441351 [details]
Patch
Created attachment 441353 [details]
Patch
I'm getting the same test failures in other bugs with patches unrelated to a11y. Created attachment 441861 [details]
Patch
EWS is finally green here, it's the same patch, so it was a problem in the bots. Win failure is unrelated and I got the same in the other pathes attached to other bugs. (In reply to Carlos Garcia Campos from comment #16) > EWS is finally green here, it's the same patch, so it was a problem in the > bots. Win failure is unrelated and I got the same in the other pathes > attached to other bugs. R+ -ed the latest patch. Sorry for all the trouble. Committed r284529 (243271@main): <https://commits.webkit.org/243271@main> |
It happens at least with GCC: In file included from WebCore/DerivedSources/unified-sources/UnifiedSource-aba958d6-7.cpp:8: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: In member function ‘void WebCore::AXIsolatedObject::initializeAttributeData(WebCore::AXCoreObject&, bool)’: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:415:64: error: cannot convert ‘uint64_t’ {aka ‘long unsigned int’} to ‘WebCore::AXPropertyValueVariant&&’ {aka ‘std::variant<std::nullptr_t, WTF::String, bool, int, unsigned int, double, float, long unsigned int, WebCore::Color, WTF::URL, WebCore::LayoutRect, WebCore::FloatRect, long unsigned int, 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>&&’} 415 | setProperty(AXPropertyName::SessionID, object.sessionID()); | ~~~~~~~~~~~~~~~~^~ | | | uint64_t {aka long unsigned int} In file included from ../../Source/WebCore/accessibility/atspi/AccessibilityObjectComponentAtspi.cpp:24, from WebCore/DerivedSources/unified-sources/UnifiedSource-aba958d6-7.cpp:6: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:77:38: note: initializing argument 2 of ‘void WebCore::AXIsolatedObject::setProperty(WebCore::AXPropertyName, WebCore::AXPropertyValueVariant&&, bool)’ 77 | void setProperty(AXPropertyName, AXPropertyValueVariant&&, bool shouldRemove = false); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from WebCore/DerivedSources/unified-sources/UnifiedSource-aba958d6-7.cpp:8: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: In member function ‘void WebCore::AXIsolatedObject::setObjectProperty(WebCore::AXPropertyName, WebCore::AXCoreObject*)’: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:469:51: error: cannot convert ‘WebCore::AXID’ {aka ‘long unsigned int’} to ‘WebCore::AXPropertyValueVariant&&’ {aka ‘std::variant<std::nullptr_t, WTF::String, bool, int, unsigned int, double, float, long unsigned int, WebCore::Color, WTF::URL, WebCore::LayoutRect, WebCore::FloatRect, long unsigned int, 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>&&’} 469 | setProperty(propertyName, object->objectID()); | ~~~~~~~~~~~~~~~~^~ | | | WebCore::AXID {aka long unsigned int} In file included from ../../Source/WebCore/accessibility/atspi/AccessibilityObjectComponentAtspi.cpp:24, from WebCore/DerivedSources/unified-sources/UnifiedSource-aba958d6-7.cpp:6: ../../Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:77:38: note: initializing argument 2 of ‘void WebCore::AXIsolatedObject::setProperty(WebCore::AXPropertyName, WebCore::AXPropertyValueVariant&&, bool)’ 77 | void setProperty(AXPropertyName, AXPropertyValueVariant&&, bool shouldRemove = false); | ^~~~~~~~~~~~~~~~~~~~~~~~ The problem seems to be that AXPropertyValueVariant contains the same type twice (in 64 bit systems) AXID (size_t -> long unsigned int) and uint64_t -> long unsigned int. That's actuallt allowed but makes the access ambiguous. Since uint64_t is only used for SessionID, I think we can explicitly use SessionID instead.