diff --git a/browser_patches/webkit/BUILD_NUMBER b/browser_patches/webkit/BUILD_NUMBER index 30cc1ccfbe..88ee4fb50e 100644 --- a/browser_patches/webkit/BUILD_NUMBER +++ b/browser_patches/webkit/BUILD_NUMBER @@ -1,2 +1,2 @@ -1623 -Changed: yurys@chromium.org Wed 30 Mar 2022 12:13:18 PM PDT +1624 +Changed: dpino@igalia.com Tue 05 Apr 2022 10:51:05 AM UTC diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index 38a9fc4907..a9dca04b1a 100644 --- a/browser_patches/webkit/UPSTREAM_CONFIG.sh +++ b/browser_patches/webkit/UPSTREAM_CONFIG.sh @@ -1,3 +1,3 @@ REMOTE_URL="https://github.com/WebKit/WebKit.git" BASE_BRANCH="main" -BASE_REVISION="6863b71663b3194fa7a650d6cc91039674bca189" +BASE_REVISION="9546be2cec957699995d4c7cb38709686db0507d" diff --git a/browser_patches/webkit/build.sh b/browser_patches/webkit/build.sh index 3036b3a27c..be921c90c1 100755 --- a/browser_patches/webkit/build.sh +++ b/browser_patches/webkit/build.sh @@ -15,7 +15,7 @@ build_gtk() { if [[ -n "${EXPORT_COMPILE_COMMANDS}" ]]; then CMAKE_ARGS="--cmakeargs=\"-DCMAKE_EXPORT_COMPILE_COMMANDS=1\"" fi - WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/GTK ./Tools/Scripts/build-webkit --gtk --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox --no-webxr MiniBrowser + WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/GTK ./Tools/Scripts/build-webkit --gtk --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox --no-webxr --cmakeargs=-DUSE_GSTREAMER_WEBRTC=FALSE --cmakeargs=-DENABLE_INTROSPECTION=OFF MiniBrowser } build_wpe() { @@ -26,7 +26,7 @@ build_wpe() { if [[ -n "${EXPORT_COMPILE_COMMANDS}" ]]; then CMAKE_ARGS="--cmakeargs=\"-DCMAKE_EXPORT_COMPILE_COMMANDS=1\"" fi - WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/WPE ./Tools/Scripts/build-webkit --wpe --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox --no-webxr --cmakeargs=-DENABLE_COG=OFF MiniBrowser + WEBKIT_JHBUILD=1 WEBKIT_JHBUILD_MODULESET=minimal WEBKIT_OUTPUTDIR=$(pwd)/WebKitBuild/WPE ./Tools/Scripts/build-webkit --wpe --release "${CMAKE_ARGS}" --touch-events --orientation-events --no-bubblewrap-sandbox --no-webxr --cmakeargs=-DENABLE_COG=OFF --cmakeargs=-DUSE_GSTREAMER_WEBRTC=FALSE --cmakeargs=-DENABLE_INTROSPECTION=OFF MiniBrowser } ensure_linux_deps() { diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index a7c26f4f2a..96abb41c0d 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -338,36 +338,50 @@ index 4b95964db4d902b4b7f4b0b4c40afea51654ff2f..966a5927702b65edb343369decafda7f bool m_isPaused { false }; }; diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp -index 76d72c7273f1bb2170485015d931b1fba92d3b5a..c0cf9588c04bfba0d6176c4d6af691bd56ca6cec 100644 +index 6e976621186326be53aedeeda618a441d7bea6a6..ab46b5e2d1688ab538ebac0f5b908dc5a49a365a 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp +++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp -@@ -168,16 +168,15 @@ void InspectorRuntimeAgent::awaitPromise(const Protocol::Runtime::RemoteObjectId +@@ -177,41 +177,38 @@ void InspectorRuntimeAgent::awaitPromise(const Protocol::Runtime::RemoteObjectId }); } --Protocol::ErrorStringOr, std::optional /* wasThrown */>> InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& /* emulateUserGesture */) -+void InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& /* emulateUserGesture */, std::optional&& awaitPromise, Ref&& callback) +-Protocol::ErrorStringOr, std::optional /* wasThrown */>> InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture) ++void InspectorRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture, std::optional&& awaitPromise, Ref&& callback) { - Protocol::ErrorString errorString; - InjectedScript injectedScript = m_injectedScriptManager.injectedScriptForObjectId(objectId); - if (injectedScript.hasNoValue()) - return makeUnexpected("Missing injected script for given objectId"_s); -- -- RefPtr result; -- std::optional wasThrown; + if (injectedScript.hasNoValue()) { + callback->sendFailure("Missing injected script for given objectId"_s); + return; + } - JSC::Debugger::TemporarilyDisableExceptionBreakpoints temporarilyDisableExceptionBreakpoints(m_debugger); +- return callFunctionOn(injectedScript, objectId, functionDeclaration, WTFMove(arguments), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(emulateUserGesture)); ++ callFunctionOn(injectedScript, objectId, functionDeclaration, WTFMove(arguments), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(emulateUserGesture), WTFMove(awaitPromise), WTFMove(callback)); + } -@@ -187,15 +186,15 @@ Protocol::ErrorStringOr, std::op +-Protocol::ErrorStringOr, std::optional /* wasThrown */>> InspectorRuntimeAgent::callFunctionOn(InjectedScript& injectedScript, const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& /* emulateUserGesture */) ++void InspectorRuntimeAgent::callFunctionOn(InjectedScript& injectedScript, const Protocol::Runtime::RemoteObjectId& objectId, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& /* emulateUserGesture */, std::optional&& awaitPromise, Ref&& callback) + { + ASSERT(!injectedScript.hasNoValue()); +- +- Protocol::ErrorString errorString; +- +- RefPtr result; +- std::optional wasThrown; +- ++ + JSC::Debugger::TemporarilyDisableExceptionBreakpoints temporarilyDisableExceptionBreakpoints(m_debugger); +- ++ + bool pauseAndMute = doNotPauseOnExceptionsAndMuteConsole.value_or(false); + if (pauseAndMute) { + temporarilyDisableExceptionBreakpoints.replace(); muteConsole(); } - +- - injectedScript.callFunctionOn(errorString, objectId, functionDeclaration, arguments ? arguments->toJSONString() : nullString(), returnByValue.value_or(false), generatePreview.value_or(false), result, wasThrown); ++ + injectedScript.callFunctionOn(objectId, functionDeclaration, arguments ? arguments->toJSONString() : nullString(), returnByValue.value_or(false), generatePreview.value_or(false), awaitPromise.value_or(false), [callback=WTFMove(callback)] (Protocol::ErrorString& errorString, RefPtr&& result, std::optional&& wasThrown, std::optional&&) { + if (!result) + callback->sendFailure(errorString); @@ -386,7 +400,7 @@ index 76d72c7273f1bb2170485015d931b1fba92d3b5a..c0cf9588c04bfba0d6176c4d6af691bd Protocol::ErrorStringOr> InspectorRuntimeAgent::getPreview(const Protocol::Runtime::RemoteObjectId& objectId) diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h -index c4f6fa5b9de54317da07c2371a7126aae1c967aa..0d549faeb1f0f80c7a6e7c208c72c6ef9cf4dbd5 100644 +index 1db64831b835df816130be4e7d42b7b213625656..5c3488200ab2df6dfc914ff780f05eba7ffd92a2 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h +++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h @@ -62,7 +62,7 @@ public: @@ -398,6 +412,15 @@ index c4f6fa5b9de54317da07c2371a7126aae1c967aa..0d549faeb1f0f80c7a6e7c208c72c6ef Protocol::ErrorStringOr releaseObject(const Protocol::Runtime::RemoteObjectId&) final; Protocol::ErrorStringOr> getPreview(const Protocol::Runtime::RemoteObjectId&) final; Protocol::ErrorStringOr>, RefPtr>>> getProperties(const Protocol::Runtime::RemoteObjectId&, std::optional&& ownProperties, std::optional&& fetchStart, std::optional&& fetchCount, std::optional&& generatePreview) final; +@@ -82,7 +82,7 @@ protected: + InspectorRuntimeAgent(AgentContext&); + + Protocol::ErrorStringOr, std::optional /* wasThrown */, std::optional /* savedResultIndex */>> evaluate(InjectedScript&, const String& expression, const String& objectGroup, std::optional&& includeCommandLineAPI, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& saveResult, std::optional&& emulateUserGesture); +- Protocol::ErrorStringOr, std::optional /* wasThrown */>> callFunctionOn(InjectedScript&, const Protocol::Runtime::RemoteObjectId&, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture); ++ void callFunctionOn(InjectedScript&, const Protocol::Runtime::RemoteObjectId&, const String& functionDeclaration, RefPtr&& arguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture, std::optional&& awaitPromise, Ref&&); + + InjectedScriptManager& injectedScriptManager() { return m_injectedScriptManager; } + diff --git a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp index 508eb02ec95c52408384a1e2b77648afd426dd9d..c0099a56794ae411fe9cdce1a65a95f1a7e37924 100644 --- a/Source/JavaScriptCore/inspector/agents/InspectorTargetAgent.cpp @@ -1879,13 +1902,13 @@ index 277feac7ce8f20ac94b6a02351f1c29f221fcef7..d9c39df7db565545108c765407ce1cda - WEBKIT_DECLARE_DIST_TARGETS(WPE wpewebkit ${TOOLS_DIR}/wpe/manifest.txt.in) -endif () diff --git a/Source/ThirdParty/libwebrtc/CMakeLists.txt b/Source/ThirdParty/libwebrtc/CMakeLists.txt -index be86666961906832f585adb43edeb381ad199222..23b1fd28ee684537fcbcc9c671e2bff827f11c53 100644 +index 0d42c17c6a85b2a9f6af319431332f7f8a709188..8899c8e85b11db81d1da14c7f27814883f75da50 100644 --- a/Source/ThirdParty/libwebrtc/CMakeLists.txt +++ b/Source/ThirdParty/libwebrtc/CMakeLists.txt -@@ -292,6 +292,11 @@ set(webrtc_SOURCES - Source/third_party/jsoncpp/source/src/lib_json/json_reader.cpp - Source/third_party/jsoncpp/source/src/lib_json/json_value.cpp - Source/third_party/jsoncpp/source/src/lib_json/json_writer.cpp +@@ -398,6 +398,11 @@ set(webrtc_SOURCES + Source/third_party/boringssl/src/ssl/tls13_server.cc + Source/third_party/boringssl/src/ssl/tls_method.cc + Source/third_party/boringssl/src/ssl/tls_record.cc +# Playwright begin + Source/third_party/libwebm/mkvmuxer/mkvmuxer.cc + Source/third_party/libwebm/mkvmuxer/mkvmuxerutil.cc @@ -1894,7 +1917,7 @@ index be86666961906832f585adb43edeb381ad199222..23b1fd28ee684537fcbcc9c671e2bff8 Source/third_party/libyuv/source/compare_common.cc Source/third_party/libyuv/source/compare_gcc.cc Source/third_party/libyuv/source/convert.cc -@@ -1754,6 +1759,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE +@@ -1857,6 +1862,10 @@ set(webrtc_INCLUDE_DIRECTORIES PRIVATE Source/third_party/libsrtp/config Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include @@ -1934,23 +1957,23 @@ index fa280a4a4fd86851ccb31f3c9de76b8ea88958dc..f995e6a5a747d2c10fb29e1fe991b11d +_vpx_codec_version_str +_vpx_codec_vp8_cx diff --git a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig -index 705982f5ec9e1580193d5681a60045b35344684d..be0ea385d08191e46b75f5b07fd6868ad467dfa2 100644 +index d5e0d020c65c61e767e35360c34cf8a322f676e1..b7e620c882ffcd8fa3cafad5c186d51668c3ebca 100644 --- a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig +++ b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig -@@ -52,7 +52,7 @@ DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(NORMAL_WEBCORE_FRAMEWORKS +@@ -53,7 +53,7 @@ DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(NORMAL_WEBCORE_FRAMEWORKS DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_YES = @loader_path/../../../; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; --HEADER_SEARCH_PATHS = Source Source/third_party/jsoncpp/source/include Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios Source/webrtc Source/webrtc/sdk/objc Source/webrtc/sdk/objc/base Source/webrtc/sdk/objc/Framework/Classes Source/third_party/libsrtp/config Source/webrtc/sdk/objc/Framework/Classes/Common Source/webrtc/sdk/objc/Framework/Classes/Video Source/webrtc/sdk/objc/Framework/Classes/PeerConnection Source/third_party/abseil-cpp Source/third_party/libvpx/source/libvpx Source/third_party/libwebm/webm_parser/include; -+HEADER_SEARCH_PATHS = Source Source/third_party/jsoncpp/source/include Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios Source/webrtc Source/webrtc/sdk/objc Source/webrtc/sdk/objc/base Source/webrtc/sdk/objc/Framework/Classes Source/third_party/libsrtp/config Source/webrtc/sdk/objc/Framework/Classes/Common Source/webrtc/sdk/objc/Framework/Classes/Video Source/webrtc/sdk/objc/Framework/Classes/PeerConnection Source/third_party/abseil-cpp Source/third_party/libvpx/source/libvpx Source/third_party/libwebm/webm_parser/include Source/third_party/libvpx/source/libvpx/third_party/libwebm; +-HEADER_SEARCH_PATHS = Source Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios Source/webrtc Source/webrtc/sdk/objc Source/webrtc/sdk/objc/base Source/webrtc/sdk/objc/Framework/Classes Source/third_party/libsrtp/config Source/webrtc/sdk/objc/Framework/Classes/Common Source/webrtc/sdk/objc/Framework/Classes/Video Source/webrtc/sdk/objc/Framework/Classes/PeerConnection Source/third_party/abseil-cpp Source/third_party/libvpx/source/libvpx Source/third_party/libwebm/webm_parser/include; ++HEADER_SEARCH_PATHS = Source Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios Source/webrtc Source/webrtc/sdk/objc Source/webrtc/sdk/objc/base Source/webrtc/sdk/objc/Framework/Classes Source/third_party/libsrtp/config Source/webrtc/sdk/objc/Framework/Classes/Common Source/webrtc/sdk/objc/Framework/Classes/Video Source/webrtc/sdk/objc/Framework/Classes/PeerConnection Source/third_party/abseil-cpp Source/third_party/libvpx/source/libvpx Source/third_party/libwebm/webm_parser/include Source/third_party/libvpx/source/libvpx/third_party/libwebm; PUBLIC_HEADERS_FOLDER_PREFIX = /usr/local/include; INSTALL_PUBLIC_HEADER_PREFIX = $(INSTALL_PATH_PREFIX)$(PUBLIC_HEADERS_FOLDER_PREFIX); diff --git a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj -index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b7490115a2f1 100644 +index 4d86771f9ef95330f2fd6a0dfac15296d095ccef..3f5d7a4689349ebc996a69ef3d98bce471ee1aeb 100644 --- a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj +++ b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj -@@ -3870,6 +3870,9 @@ +@@ -3861,6 +3861,9 @@ CDFD2FCC24C4DAF70048DAC3 /* reader.h in Headers */ = {isa = PBXBuildFile; fileRef = CDEBB40524C0191A00ADBD44 /* reader.h */; settings = {ATTRIBUTES = (Public, ); }; }; CDFD2FCD24C4DAF70048DAC3 /* status.h in Headers */ = {isa = PBXBuildFile; fileRef = CDEBB40624C0191A00ADBD44 /* status.h */; settings = {ATTRIBUTES = (Public, ); }; }; CDFD2FCE24C4DAF70048DAC3 /* webm_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = CDEBB40824C0191A00ADBD44 /* webm_parser.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -1960,7 +1983,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 /* End PBXBuildFile section */ /* Begin PBXBuildRule section */ -@@ -8308,6 +8311,9 @@ +@@ -8290,6 +8293,9 @@ CDEBB49D24C0191A00ADBD44 /* master_parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = master_parser.h; sourceTree = ""; }; CDFD2F9624C4B2F90048DAC3 /* vp9_header_parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = vp9_header_parser.h; sourceTree = ""; }; CDFD2F9A24C4B2F90048DAC3 /* vp9_header_parser.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = vp9_header_parser.cc; sourceTree = ""; }; @@ -1970,7 +1993,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 FB39D0D11200F0E300088E69 /* libwebrtc.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwebrtc.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ -@@ -15288,6 +15294,7 @@ +@@ -15229,6 +15235,7 @@ isa = PBXGroup; children = ( CDFD2F9224C4B2F90048DAC3 /* common */, @@ -1978,7 +2001,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 CDEBB19224C0191800ADBD44 /* webm_parser */, ); path = libwebm; -@@ -15422,6 +15429,16 @@ +@@ -15363,6 +15370,16 @@ path = common; sourceTree = ""; }; @@ -1995,7 +2018,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 FB39D06E1200ED9200088E69 = { isa = PBXGroup; children = ( -@@ -17496,7 +17513,7 @@ +@@ -17428,7 +17445,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -2004,7 +2027,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 }; 5CD286461E6E154E0094FDC8 /* Check for Weak VTables and Externals */ = { isa = PBXShellScriptBuildPhase; -@@ -18697,6 +18714,7 @@ +@@ -18629,6 +18646,7 @@ 419C82F51FE20EB50040C30F /* audio_encoder_opus.cc in Sources */, 419C82F31FE20EB50040C30F /* audio_encoder_opus_config.cc in Sources */, 4140B8201E4E3383007409E6 /* audio_encoder_pcm.cc in Sources */, @@ -2012,7 +2035,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 5CDD8FFE1E43CE3A00621E92 /* audio_encoder_pcm16b.cc in Sources */, 5CD285461E6A61D20094FDC8 /* audio_format.cc in Sources */, 41DDB26F212679D200296D47 /* audio_format_to_string.cc in Sources */, -@@ -19143,6 +19161,7 @@ +@@ -19075,6 +19093,7 @@ 417953DB216983910028266B /* metrics.cc in Sources */, 5CDD865E1E43B8B500621E92 /* min_max_operations.c in Sources */, 4189395B242A71F5007FDC41 /* min_video_bitrate_experiment.cc in Sources */, @@ -2020,7 +2043,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 4131C387234B957D0028A615 /* moving_average.cc in Sources */, 41FCBB1521B1F7AA00A5DF27 /* moving_average.cc in Sources */, 5CD286101E6A64C90094FDC8 /* moving_max.cc in Sources */, -@@ -19373,6 +19392,7 @@ +@@ -19305,6 +19324,7 @@ 4131C53B234C8B190028A615 /* rtc_event_rtp_packet_outgoing.cc in Sources */, 4131C552234C8B190028A615 /* rtc_event_video_receive_stream_config.cc in Sources */, 4131C554234C8B190028A615 /* rtc_event_video_send_stream_config.cc in Sources */, @@ -2029,7 +2052,7 @@ index 6afa6ab4b7011c9f97eb08afb798e77d53b9fa0c..b1f1d096635de5b3e240dabfd6d7b749 41323A1D2665288B00B38623 /* packet_sequencer.cc in Sources */, 4131BF2D234B88200028A615 /* rtc_stats_collector.cc in Sources */, diff --git a/Source/WTF/Scripts/Preferences/WebPreferences.yaml b/Source/WTF/Scripts/Preferences/WebPreferences.yaml -index 4aa67a3129804da9ff8e6a4494596c4661ff9e16..4fcf5dd448703b5d6a2d738f3cd5c88e4a0de6ac 100644 +index b66c740e8072cc59c5ba27c5ee4336416f9f1cfe..d0b201f8268c551c48291736dd94dfdcca98a636 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferences.yaml @@ -995,7 +995,7 @@ InspectorStartsAttached: @@ -2041,7 +2064,7 @@ index 4aa67a3129804da9ff8e6a4494596c4661ff9e16..4fcf5dd448703b5d6a2d738f3cd5c88e InspectorWindowFrame: type: String -@@ -1775,6 +1775,17 @@ PluginsEnabled: +@@ -1777,6 +1777,17 @@ PluginsEnabled: WebCore: default: false @@ -2060,7 +2083,7 @@ index 4aa67a3129804da9ff8e6a4494596c4661ff9e16..4fcf5dd448703b5d6a2d738f3cd5c88e type: bool humanReadableName: "Private Click Measurement" diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -index 0f63c8cb02277bcdc49b1afe7b5e531fe89ce2d5..dacc476d98100047329679cd31dc0758df2d9d4e 100644 +index 51878a8f49532b758568fbcb68a1d1fdbd856cf6..90cbb18c4790ab507683e3012f62e30ba91849ad 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml @@ -455,7 +455,7 @@ CrossOriginOpenerPolicyEnabled: @@ -2228,7 +2251,7 @@ index 07ddf3854633cb5e4ca9679359c048f13395e4ab..a0be72ba35e7afa09e8ea5976ebf600b WTF_EXPORT_PRIVATE LocalTimeOffset calculateLocalTimeOffset(double utcInMilliseconds, TimeType = UTCTime); diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h -index 6a0b9d54b5a6b5937b86f226a279cfec928174c4..d57a243e3ca23119a993b3bc78821ce9e1653740 100644 +index 411354f6c11f941d73d35c62aadd0da73ec4a5d3..853d4131e0b698465f3179a548e7653caaa5f435 100644 --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h @@ -416,7 +416,7 @@ @@ -2250,10 +2273,10 @@ index 6a0b9d54b5a6b5937b86f226a279cfec928174c4..d57a243e3ca23119a993b3bc78821ce9 #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformEnableCocoa.h b/Source/WTF/wtf/PlatformEnableCocoa.h -index 535c8baa2acae35f5fa8922bf858e2ed22536d66..f777081cc9595f0df381447e43ecde931f0091a6 100644 +index b0d2759faf139f416d441b673b19bfe3cbf638da..ec980b87235c594f8ad126d171f59abc62b6cc2b 100644 --- a/Source/WTF/wtf/PlatformEnableCocoa.h +++ b/Source/WTF/wtf/PlatformEnableCocoa.h -@@ -219,7 +219,7 @@ +@@ -223,7 +223,7 @@ #define ENABLE_DATA_DETECTION 1 #endif @@ -2275,7 +2298,7 @@ index 3901bfb0f5479064f4e7b67c90621ff26d74b580..5b3615a871d0d7123822394c94d5ce10 if (Journald_FOUND) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index 16d7aca4d82abf2f836c4bba36bf770464276f23..bd48e77956a09dae4814afb558e1dab89ff4390e 100644 +index 1bb252cb5e5e7760df48a3d3f33b78a70ad18a1f..9d7e465872e1f5d1ba5439f7e0ad0510fc6f1753 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -416,7 +416,7 @@ @@ -2299,22 +2322,6 @@ index f8bedf1af5d20d9c93a96af565e416bfb0df6faa..a072e5e130822d3658cbab453aef8d16 ) if (Journald_FOUND) -diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt -index f84b68f71946aca630d138d068f1d38d47c9cc5e..d07f228ef9404cf711380f34b8be9b9573e495fd 100644 ---- a/Source/WebCore/CMakeLists.txt -+++ b/Source/WebCore/CMakeLists.txt -@@ -545,7 +545,11 @@ set(WebCore_NON_SVG_IDL_FILES - - Modules/speech/DOMWindow+SpeechSynthesis.idl - Modules/speech/SpeechSynthesis.idl -+ Modules/speech/SpeechSynthesisErrorCode.idl -+ Modules/speech/SpeechSynthesisErrorEvent.idl -+ Modules/speech/SpeechSynthesisErrorEventInit.idl - Modules/speech/SpeechSynthesisEvent.idl -+ Modules/speech/SpeechSynthesisEventInit.idl - Modules/speech/SpeechSynthesisUtterance.idl - Modules/speech/SpeechSynthesisVoice.idl - diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make index 1ec22835adece9c3b2bc6aba6c53c4fec0027430..46ea0bfbcd6e9617efbba223b3a725d79ab7e715 100644 --- a/Source/WebCore/DerivedSources.make @@ -2405,10 +2412,10 @@ index c72759b767aa9587d737ea4029a3167f8c97f2e8..00008893eb30af407cc325baa9bc4ba7 _hasSentSpeechStart = true; _delegateCallback(SpeechRecognitionUpdate::create(_identifier, SpeechRecognitionUpdateType::SpeechStart)); diff --git a/Source/WebCore/PlatformWPE.cmake b/Source/WebCore/PlatformWPE.cmake -index f8b6c3578e152679a2e72bfd69313f6f4aa783e1..c12f77e371169058b022ca30ca13f2fbc9c54c01 100644 +index 9d021a1a887fb06779b063b525ac985f8f4ba37a..8378753eacb14e9fd34e906111352b5833032d38 100644 --- a/Source/WebCore/PlatformWPE.cmake +++ b/Source/WebCore/PlatformWPE.cmake -@@ -49,6 +49,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS +@@ -48,6 +48,7 @@ list(APPEND WebCore_PRIVATE_FRAMEWORK_HEADERS platform/graphics/wayland/PlatformDisplayWayland.h platform/graphics/wayland/WlUniquePtr.h @@ -2417,10 +2424,10 @@ index f8b6c3578e152679a2e72bfd69313f6f4aa783e1..c12f77e371169058b022ca30ca13f2fb set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index 029f6e18e1dbcc85ffd3f40fd7a6ad630fc3c236..4794ba2b029c8488f20d6d24df029b435391bfa7 100644 +index 8933b9f95b4c30df7514179b60317e389d142930..70627e779ac88f788bc771d0f8a4958a079c3fa0 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt -@@ -629,3 +629,9 @@ platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify +@@ -630,3 +630,9 @@ platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify platform/graphics/cocoa/ANGLEUtilitiesCocoa.cpp @no-unify platform/graphics/cocoa/GraphicsContextGLCocoa.mm @no-unify platform/graphics/cv/GraphicsContextGLCVCocoa.cpp @no-unify @@ -2431,10 +2438,20 @@ index 029f6e18e1dbcc85ffd3f40fd7a6ad630fc3c236..4794ba2b029c8488f20d6d24df029b43 +JSTouchList.cpp +// Playwright end diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt -index b5e58ccd7619e47c77cb7b2c6d7ba581cab02563..39521adf049731c1dc584bbe37f5451fd98f3842 100644 +index c6386a65d471071f7cc3b401898fb615afd6aa95..291cc59b1014205579ebbd772b840877f92ff3f0 100644 --- a/Source/WebCore/SourcesGTK.txt +++ b/Source/WebCore/SourcesGTK.txt -@@ -152,3 +152,10 @@ platform/xdg/MIMETypeRegistryXdg.cpp +@@ -37,6 +37,9 @@ accessibility/atspi/AccessibilityObjectValueAtspi.cpp + accessibility/atspi/AccessibilityRootAtspi.cpp + accessibility/atspi/AXObjectCacheAtspi.cpp + ++accessibility/empty/AXObjectCacheEmpty.cpp ++accessibility/empty/AccessibilityObjectEmpty.cpp ++ + editing/atspi/FrameSelectionAtspi.cpp + + editing/gtk/EditorGtk.cpp +@@ -132,3 +135,10 @@ platform/xdg/MIMETypeRegistryXdg.cpp rendering/RenderThemeAdwaita.cpp rendering/RenderThemeGtk.cpp @@ -2446,10 +2463,18 @@ index b5e58ccd7619e47c77cb7b2c6d7ba581cab02563..39521adf049731c1dc584bbe37f5451f +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt -index f8c8c70492fb09d109aed1184b7c69ca25eb2f27..8cfe779213514131a74079514f96812375896ff3 100644 +index 16d35344a30865a01257d7f9ac544e6131ddce67..88b786dd55afc9edfd4b47e033e8dfbcb770f8a4 100644 --- a/Source/WebCore/SourcesWPE.txt +++ b/Source/WebCore/SourcesWPE.txt -@@ -61,6 +61,8 @@ editing/libwpe/EditorLibWPE.cpp +@@ -37,11 +37,16 @@ accessibility/atspi/AccessibilityObjectValueAtspi.cpp + accessibility/atspi/AccessibilityRootAtspi.cpp + accessibility/atspi/AXObjectCacheAtspi.cpp + ++accessibility/empty/AXObjectCacheEmpty.cpp ++accessibility/empty/AccessibilityObjectEmpty.cpp ++ + editing/atspi/FrameSelectionAtspi.cpp + editing/libwpe/EditorLibWPE.cpp loader/soup/ResourceLoaderSoup.cpp @@ -2458,7 +2483,7 @@ index f8c8c70492fb09d109aed1184b7c69ca25eb2f27..8cfe779213514131a74079514f968123 page/linux/ResourceUsageOverlayLinux.cpp page/linux/ResourceUsageThreadLinux.cpp -@@ -105,8 +107,19 @@ platform/text/LocaleICU.cpp +@@ -86,8 +91,19 @@ platform/text/LocaleICU.cpp platform/unix/LoggingUnix.cpp @@ -2491,10 +2516,10 @@ index c4898d6db6bf06552f602c4b7f0a7267e64e44f4..7cf2e30729671a89c373870c5691d337 __ZN7WebCore14DocumentLoaderD2Ev __ZN7WebCore14DocumentLoader17clearMainResourceEv diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a26611155 100644 +index dd8ee7bc210c18b38668d2e6997e442888af508e..ed6c8dcc3e43fee9777e9bb27ecd2d1ed98ad3fd 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -5506,6 +5506,13 @@ +@@ -5518,6 +5518,13 @@ EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE3A4FF0C7A430600956A37 /* ColorMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; EDEC98030AED7E170059137F /* WebCorePrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEC98020AED7E170059137F /* WebCorePrefix.h */; }; EFCC6C8F20FE914400A2321B /* CanvasActivityRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -2508,7 +2533,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a F12171F616A8CF0B000053CA /* WebVTTElement.h in Headers */ = {isa = PBXBuildFile; fileRef = F12171F416A8BC63000053CA /* WebVTTElement.h */; }; F32BDCD92363AACA0073B6AE /* UserGestureEmulationScope.h in Headers */ = {isa = PBXBuildFile; fileRef = F32BDCD72363AACA0073B6AE /* UserGestureEmulationScope.h */; }; F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; -@@ -17772,6 +17779,14 @@ +@@ -17799,6 +17806,14 @@ EDEC98020AED7E170059137F /* WebCorePrefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCorePrefix.h; sourceTree = ""; tabWidth = 4; usesTabs = 0; }; EFB7287B2124C73D005C2558 /* CanvasActivityRecord.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CanvasActivityRecord.cpp; sourceTree = ""; }; EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanvasActivityRecord.h; sourceTree = ""; }; @@ -2523,7 +2548,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a F12171F316A8BC63000053CA /* WebVTTElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebVTTElement.cpp; sourceTree = ""; }; F12171F416A8BC63000053CA /* WebVTTElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTElement.h; sourceTree = ""; }; F32BDCD52363AAC90073B6AE /* UserGestureEmulationScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserGestureEmulationScope.cpp; sourceTree = ""; }; -@@ -24143,7 +24158,12 @@ +@@ -24172,7 +24187,12 @@ 1AF326770D78B9440068F0C4 /* EditorClient.h */, E36D701E27B71F04006531B7 /* EmptyAttachmentElementClient.h */, 93C09A800B064F00005ABD4D /* EventHandler.cpp */, @@ -2536,7 +2561,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a E0FEF371B27C53EAC1C1FBEE /* EventSource.cpp */, E0FEF371B17C53EAC1C1FBEE /* EventSource.h */, E0FEF371B07C53EAC1C1FBEE /* EventSource.idl */, -@@ -30112,6 +30132,8 @@ +@@ -30152,6 +30172,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2545,7 +2570,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, BCBB8AB513F1AFB000734DF0 /* PODInterval.h */, -@@ -32433,6 +32455,7 @@ +@@ -32475,6 +32497,7 @@ BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */, AD6E71AA1668899D00320C13 /* DocumentSharedObjectPool.cpp */, AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, @@ -2553,7 +2578,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, -@@ -33443,6 +33466,7 @@ +@@ -33483,6 +33506,7 @@ 93C4F6EB1108F9A50099D0DB /* AccessibilityScrollbar.h in Headers */, 29489FC712C00F0300D83F0F /* AccessibilityScrollView.h in Headers */, 0709FC4E1025DEE30059CDBA /* AccessibilitySlider.h in Headers */, @@ -2561,7 +2586,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 29D7BCFA1444AF7D0070619C /* AccessibilitySpinButton.h in Headers */, 69A6CBAD1C6BE42C00B836E9 /* AccessibilitySVGElement.h in Headers */, AAC08CF315F941FD00F1E188 /* AccessibilitySVGRoot.h in Headers */, -@@ -35578,6 +35602,7 @@ +@@ -35621,6 +35645,7 @@ 6E4ABCD5138EA0B70071D291 /* JSHTMLUnknownElement.h in Headers */, E44614170CD6826900FADA75 /* JSHTMLVideoElement.h in Headers */, 81BE20D311F4BC3200915DFA /* JSIDBCursor.h in Headers */, @@ -2569,7 +2594,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 7C3D8EF01E0B21430023B084 /* JSIDBCursorDirection.h in Headers */, C585A68311D4FB08004C3E4B /* JSIDBDatabase.h in Headers */, C585A69711D4FB13004C3E4B /* JSIDBFactory.h in Headers */, -@@ -36691,6 +36716,7 @@ +@@ -36741,6 +36766,7 @@ 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, @@ -2577,7 +2602,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, CD1F9B032700323D00617EB6 /* PlatformVideoMatrixCoefficients.h in Headers */, -@@ -38761,6 +38787,7 @@ +@@ -38811,6 +38837,7 @@ 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */, 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, @@ -2585,7 +2610,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 5130F2F624AEA60A00E1D0A0 /* GameControllerSoftLink.mm in Sources */, 51A4BB0A1954D61600FA5C2E /* Gamepad.cpp in Sources */, -@@ -38834,6 +38861,7 @@ +@@ -38887,6 +38914,7 @@ C1692DD223D23ABD006E88F7 /* SystemBattery.mm in Sources */, CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2593,7 +2618,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 538EC8031F96AF81004D22A8 /* UnifiedSource1-mm.mm in Sources */, 538EC8021F96AF81004D22A8 /* UnifiedSource1.cpp in Sources */, 538EC8051F96AF81004D22A8 /* UnifiedSource2-mm.mm in Sources */, -@@ -38882,6 +38910,7 @@ +@@ -38935,6 +38963,7 @@ 538EC8881F993F9C004D22A8 /* UnifiedSource23.cpp in Sources */, DE5F85801FA1ABF4006DB63A /* UnifiedSource24-mm.mm in Sources */, 538EC8891F993F9D004D22A8 /* UnifiedSource24.cpp in Sources */, @@ -2601,7 +2626,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a DE5F85811FA1ABF4006DB63A /* UnifiedSource25-mm.mm in Sources */, 538EC88A1F993F9D004D22A8 /* UnifiedSource25.cpp in Sources */, DE5F85821FA1ABF4006DB63A /* UnifiedSource26-mm.mm in Sources */, -@@ -39414,6 +39443,7 @@ +@@ -39467,6 +39496,7 @@ 2D8B92F1203D13E1009C868F /* UnifiedSource516.cpp in Sources */, 2D8B92F2203D13E1009C868F /* UnifiedSource517.cpp in Sources */, 2D8B92F3203D13E1009C868F /* UnifiedSource518.cpp in Sources */, @@ -2610,7 +2635,7 @@ index d8dc8686c498145fba37b2456617a840a27c25a6..df7c15fcd1a1fe34b6596e3d1f4d2a4a 2D8B92F5203D13E1009C868F /* UnifiedSource520.cpp in Sources */, 2D8B92F6203D13E1009C868F /* UnifiedSource521.cpp in Sources */, diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp -index 50509d6026dfacde3822a2dc6f76528a1dcf02ec..b0eedb83ddd98d560700a1573742aeb2e2e0af3d 100644 +index 895e3db2ded53c24c71c94f03c3acc501736af44..da256c70f6e08dd57087bda1004ce113440b6f43 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -61,6 +61,7 @@ @@ -2621,7 +2646,7 @@ index 50509d6026dfacde3822a2dc6f76528a1dcf02ec..b0eedb83ddd98d560700a1573742aeb2 #include "LocalizedStrings.h" #include "MathMLNames.h" #include "NodeList.h" -@@ -3626,9 +3627,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -3712,9 +3713,14 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (roleValue() == AccessibilityRole::ApplicationDialog) return AccessibilityObjectInclusion::IncludeObject; @@ -2638,6 +2663,125 @@ index 50509d6026dfacde3822a2dc6f76528a1dcf02ec..b0eedb83ddd98d560700a1573742aeb2 bool AccessibilityObject::accessibilityIsIgnored() const { AXComputedObjectAttributeCache* attributeCache = nullptr; +diff --git a/Source/WebCore/accessibility/AccessibilityObjectInterface.h b/Source/WebCore/accessibility/AccessibilityObjectInterface.h +index fe3afcba7c61f5f2e61b231b4d8cc58c7d45ec1c..6d7beed7c0113c2e98ac0469f90335748c72c124 100644 +--- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h ++++ b/Source/WebCore/accessibility/AccessibilityObjectInterface.h +@@ -57,7 +57,7 @@ typedef const struct __AXTextMarkerRange* AXTextMarkerRangeRef; + #elif USE(ATSPI) + typedef WebCore::AccessibilityObjectAtspi AccessibilityObjectWrapper; + #else +-class AccessibilityObjectWrapper; ++class AccessibilityObjectWrapper : public RefCounted {}; + #endif + + namespace PAL { +@@ -1535,6 +1535,8 @@ private: + COMPtr m_wrapper; + #elif USE(ATSPI) + RefPtr m_wrapper; ++#else ++ RefPtr m_wrapper; + #endif + virtual void detachPlatformWrapper(AccessibilityDetachmentType) = 0; + }; +diff --git a/Source/WebCore/accessibility/empty/AXObjectCacheEmpty.cpp b/Source/WebCore/accessibility/empty/AXObjectCacheEmpty.cpp +new file mode 100644 +index 0000000000000000000000000000000000000000..0233d1046f7074c11e9a3bab50f8fe8c5af7d95a +--- /dev/null ++++ b/Source/WebCore/accessibility/empty/AXObjectCacheEmpty.cpp +@@ -0,0 +1,45 @@ ++/* ++ * Copyright (C) 2022 Microsoft Corporation. ++ * ++ * 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 HOLDERS AND 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 ++ * OWNER OR 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. ++ */ ++ ++#include "config.h" ++ ++#if ENABLE(ACCESSIBILITY) && !USE(ATK) && !USE(ATSPI) ++ ++#include "AXObjectCache.h" ++ ++namespace WebCore { ++ ++void AXObjectCache::detachWrapper(AXCoreObject* obj, AccessibilityDetachmentType) { } ++void AXObjectCache::attachWrapper(AXCoreObject*) { } ++void AXObjectCache::handleScrolledToAnchor(const Node* anchorNode) { } ++void AXObjectCache::postPlatformNotification(AXCoreObject* obj, AXNotification notification) { } ++void AXObjectCache::nodeTextChangePlatformNotification(AccessibilityObject*, AXTextChange, unsigned, const String&){ } ++void AXObjectCache::frameLoadingEventPlatformNotification(AccessibilityObject* obj, AXLoadingEvent notification) { } ++void AXObjectCache::platformHandleFocusedUIElementChanged(Node*, Node* newFocusedNode) { } ++void AXObjectCache::platformPerformDeferredCacheUpdate() { } ++ ++} // namespace WebCore ++ ++#endif // ENABLE(ACCESSIBILITY) +diff --git a/Source/WebCore/accessibility/empty/AccessibilityObjectEmpty.cpp b/Source/WebCore/accessibility/empty/AccessibilityObjectEmpty.cpp +new file mode 100644 +index 0000000000000000000000000000000000000000..dd2d8452302999e4a89b0bc18e842645c939247d +--- /dev/null ++++ b/Source/WebCore/accessibility/empty/AccessibilityObjectEmpty.cpp +@@ -0,0 +1,40 @@ ++/* ++ * Copyright (C) 2022 Microsoft Corporation. ++ * ++ * 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 HOLDERS AND 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 ++ * OWNER OR 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. ++ */ ++ ++#include "config.h" ++ ++#if ENABLE(ACCESSIBILITY) && !USE(ATK) && !USE(ATSPI) ++ ++#include "AccessibilityObject.h" ++ ++namespace WebCore { ++ ++bool AccessibilityObject::accessibilityIgnoreAttachment() const { return true; } ++AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const { return AccessibilityObjectInclusion::DefaultBehavior; } ++void AccessibilityObject::detachPlatformWrapper(AccessibilityDetachmentType) { } ++ ++} // namespace WebCore ++ ++#endif // ENABLE(ACCESSIBILITY) && !USE(ATK) && !USE(ATSPI) diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h index 8fcf8f5bb6e9e4dc91af731b86bfeefdb29c3fc8..1d9b0bd63fb7bb1a82967a0076fbf27fb2c9926a 100644 --- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h @@ -2652,7 +2796,7 @@ index 8fcf8f5bb6e9e4dc91af731b86bfeefdb29c3fc8..1d9b0bd63fb7bb1a82967a0076fbf27f macro(DynamicsCompressorNode) \ macro(ExtendableEvent) \ diff --git a/Source/WebCore/css/MediaQueryEvaluator.cpp b/Source/WebCore/css/MediaQueryEvaluator.cpp -index 345cc24534bc0451867035faa033bdf5cd0604f6..59f4a45331219709e98bbc35c479e78b4726714b 100644 +index d99486302318c76f9683ba21c91bbb20a0a34478..55450f40c6212535307c63cb337da67f37a0d12a 100644 --- a/Source/WebCore/css/MediaQueryEvaluator.cpp +++ b/Source/WebCore/css/MediaQueryEvaluator.cpp @@ -856,7 +856,11 @@ static bool prefersContrastEvaluate(CSSValue* value, const CSSToLengthConversion @@ -2894,7 +3038,7 @@ index b978e2e8f8e882bbc7d0f91cad76c382508e9a3f..ba014f922a36f0fa6005b4b0bb0d3b4d #endif // USE(LIBWPE) diff --git a/Source/WebCore/html/FileInputType.cpp b/Source/WebCore/html/FileInputType.cpp -index a2906d7ce7a65e1ac4ceaf8e6426e1d013469e44..7e9aec8d1acc676e502cfb7c86ed9594843898cf 100644 +index ed202a726b20441b72f8cf1ccac7d3fa276de483..d797ef0fc42176711051f54f230a6e5c409663c5 100644 --- a/Source/WebCore/html/FileInputType.cpp +++ b/Source/WebCore/html/FileInputType.cpp @@ -36,6 +36,7 @@ @@ -3912,7 +4056,7 @@ index 72f423ff61277eef4bd356328c46d3bd9131ff65..ede5b6605b1e661b9d5d73e02fe6ae4c // InspectorInstrumentation void willRecalculateStyle(); diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4591fd619 100644 +index d1b269f8fa7d65aa484205fd5028d89457e3af17..5f439b0efe74d692296183eaac4e2b595072d1f2 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp @@ -32,20 +32,28 @@ @@ -4051,8 +4195,8 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 + Protocol::ErrorStringOr InspectorPageAgent::navigate(const String& url) { - UserGestureIndicator indicator { ProcessingUserGesture }; -@@ -427,6 +476,13 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideUserAgent(const String + Frame& frame = m_inspectedPage.mainFrame(); +@@ -428,6 +477,13 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideUserAgent(const String return { }; } @@ -4066,7 +4210,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page::Setting setting, std::optional&& value) { auto& inspectedPageSettings = m_inspectedPage.settings(); -@@ -440,6 +496,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -441,6 +497,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setAuthorAndUserStylesEnabledInspectorOverride(value); return { }; @@ -4079,7 +4223,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 case Protocol::Page::Setting::ICECandidateFilteringEnabled: inspectedPageSettings.setICECandidateFilteringEnabledInspectorOverride(value); return { }; -@@ -465,6 +527,36 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -466,6 +528,36 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setNeedsSiteSpecificQuirksInspectorOverride(value); return { }; @@ -4116,7 +4260,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 case Protocol::Page::Setting::ScriptEnabled: inspectedPageSettings.setScriptEnabledInspectorOverride(value); return { }; -@@ -477,6 +569,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -478,6 +570,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setShowRepaintCounterInspectorOverride(value); return { }; @@ -4129,7 +4273,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 case Protocol::Page::Setting::WebRTCEncryptionEnabled: inspectedPageSettings.setWebRTCEncryptionEnabledInspectorOverride(value); return { }; -@@ -697,9 +795,13 @@ Protocol::ErrorStringOr> InspectorP +@@ -698,9 +796,13 @@ Protocol::ErrorStringOr> InspectorP return { { content, base64Encoded } }; } @@ -4145,7 +4289,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 return { }; } -@@ -802,15 +904,16 @@ Protocol::ErrorStringOr InspectorPageAgent::setShowPaintRects(bool show) +@@ -803,15 +905,16 @@ Protocol::ErrorStringOr InspectorPageAgent::setShowPaintRects(bool show) return { }; } @@ -4167,7 +4311,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 } void InspectorPageAgent::frameNavigated(Frame& frame) -@@ -818,13 +921,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame) +@@ -819,13 +922,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame) m_frontendDispatcher->frameNavigated(buildObjectForFrame(&frame)); } @@ -4194,7 +4338,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 } Frame* InspectorPageAgent::frameForId(const Protocol::Network::FrameId& frameId) -@@ -836,20 +949,18 @@ String InspectorPageAgent::frameId(Frame* frame) +@@ -837,20 +950,18 @@ String InspectorPageAgent::frameId(Frame* frame) { if (!frame) return emptyString(); @@ -4221,7 +4365,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 } Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const Protocol::Network::FrameId& frameId) -@@ -860,11 +971,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const +@@ -861,11 +972,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const return frame; } @@ -4233,7 +4377,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 void InspectorPageAgent::frameStartedLoading(Frame& frame) { m_frontendDispatcher->frameStartedLoading(frameId(&frame)); -@@ -885,6 +991,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame) +@@ -886,6 +992,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame) m_frontendDispatcher->frameClearedScheduledNavigation(frameId(&frame)); } @@ -4246,7 +4390,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) { -@@ -894,13 +1006,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) +@@ -895,13 +1007,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) void InspectorPageAgent::didClearWindowObjectInWorld(Frame& frame, DOMWrapperWorld& world) { @@ -4272,7 +4416,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 } void InspectorPageAgent::didPaint(RenderObject& renderer, const LayoutRect& rect) -@@ -944,6 +1065,52 @@ void InspectorPageAgent::didRecalculateStyle() +@@ -945,6 +1066,52 @@ void InspectorPageAgent::didRecalculateStyle() m_overlay->update(); } @@ -4325,7 +4469,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 Ref InspectorPageAgent::buildObjectForFrame(Frame* frame) { ASSERT_ARG(frame, frame); -@@ -1057,6 +1224,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) +@@ -1058,6 +1225,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) userAgent = m_userAgentOverride; } @@ -4338,7 +4482,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 void InspectorPageAgent::applyEmulatedMedia(String& media) { if (!m_emulatedMedia.isEmpty()) -@@ -1080,11 +1253,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: +@@ -1081,11 +1254,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4353,7 +4497,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 IntRect rectangle(x, y, width, height); auto snapshot = snapshotFrameRect(m_inspectedPage.mainFrame(), rectangle, WTFMove(options)); -@@ -1095,6 +1270,47 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i +@@ -1096,6 +1271,47 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4401,7 +4545,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 #if ENABLE(WEB_ARCHIVE) && USE(CF) Protocol::ErrorStringOr InspectorPageAgent::archive() { -@@ -1107,7 +1323,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() +@@ -1108,7 +1324,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() } #endif @@ -4409,7 +4553,7 @@ index cb12cc694e2fabbfcc57b9843cc50726099e42ab..8035fa57c8398ea8a60aacaf111d99a4 Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::optional&& width, std::optional&& height) { if (width.has_value() != height.has_value()) -@@ -1122,6 +1337,630 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt +@@ -1123,6 +1338,630 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt m_inspectedPage.mainFrame().setOverrideScreenSize(FloatSize(width.value_or(0), height.value_or(0))); return { }; } @@ -5219,7 +5363,7 @@ index fe1cc2dbb9863cd4480476d2e21a5a229dc8a0e8..35dd7ca4cabe0d0ec76d44e260870a99 void InspectorWorkerAgent::disconnectFromWorkerInspectorProxy(WorkerInspectorProxy& proxy) diff --git a/Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp b/Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp -index 82b5d244b62964615fc4c123723514f2681b3915..2b871d024fbd99515b45d08235f81dde20df918e 100644 +index 3dd1baf1e375db6058f32dfe7fac5723bcf7eb40..dd493b99dbcbc4b0850245d5b1fa04d3dd27ea8d 100644 --- a/Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp +++ b/Source/WebCore/inspector/agents/page/PageDebuggerAgent.cpp @@ -38,6 +38,7 @@ @@ -5228,37 +5372,24 @@ index 82b5d244b62964615fc4c123723514f2681b3915..2b871d024fbd99515b45d08235f81dde #include "InstrumentingAgents.h" +#include "JSDOMWindowBase.h" #include "JSDOMWindowCustom.h" + #include "JSExecState.h" #include "Page.h" - #include "PageConsoleClient.h" -@@ -69,7 +70,11 @@ bool PageDebuggerAgent::enabled() const +@@ -74,7 +75,9 @@ Protocol::ErrorStringOr, std::op + if (injectedScript.hasNoValue()) + return makeUnexpected("Missing injected script for given callFrameId"_s); - Protocol::ErrorStringOr, std::optional /* wasThrown */, std::optional /* savedResultIndex */>> PageDebuggerAgent::evaluateOnCallFrame(const Protocol::Debugger::CallFrameId& callFrameId, const String& expression, const String& objectGroup, std::optional&& includeCommandLineAPI, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& saveResult, std::optional&& emulateUserGesture) - { -- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture && *emulateUserGesture); -+ InjectedScript injectedScript = injectedScriptManager().injectedScriptForObjectId(callFrameId); +- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), dynamicDowncast(executionContext(injectedScript.globalObject()))); + JSC::JSGlobalObject* globalObject = injectedScript.globalObject(); + Document* document = globalObject ? activeDOMWindow(*globalObject).document() : nullptr; -+ auto shouldEmulateUserGesture = emulateUserGesture && *emulateUserGesture; -+ UserGestureEmulationScope userGestureScope(m_inspectedPage, shouldEmulateUserGesture, document); - - return WebDebuggerAgent::evaluateOnCallFrame(callFrameId, expression, objectGroup, WTFMove(includeCommandLineAPI), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(saveResult), WTFMove(emulateUserGesture)); - } -@@ -121,8 +126,9 @@ void PageDebuggerAgent::unmuteConsole() - - void PageDebuggerAgent::debuggerWillEvaluate(JSC::Debugger&, const JSC::Breakpoint::Action& action) - { -+ // FIXME(playwright): we should pass proper Documnt instead of nullptr here. - if (action.emulateUserGesture) -- m_breakpointActionUserGestureEmulationScopeStack.append(makeUniqueRef(m_inspectedPage, true)); -+ m_breakpointActionUserGestureEmulationScopeStack.append(makeUniqueRef(m_inspectedPage, true, nullptr)); ++ UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), document); + return WebDebuggerAgent::evaluateOnCallFrame(injectedScript, callFrameId, expression, objectGroup, WTFMove(includeCommandLineAPI), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(saveResult), WTFMove(emulateUserGesture)); } - void PageDebuggerAgent::debuggerDidEvaluate(JSC::Debugger&, const JSC::Breakpoint::Action& action) diff --git a/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp b/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp -index de5689aa33452afd95a3292ab1808aa95e1f6b1c..c8a04181e1295b16e41d5c77055e4ec2a6b3f67b 100644 +index 5e7a1214da060ba3a168cf21b22e6c398c0e07f7..ef38546315e7e88f09738b18d44a0268a009307c 100644 --- a/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp +++ b/Source/WebCore/inspector/agents/page/PageRuntimeAgent.cpp -@@ -35,12 +35,14 @@ +@@ -35,6 +35,7 @@ #include "DOMWrapperWorld.h" #include "Document.h" #include "Frame.h" @@ -5266,6 +5397,7 @@ index de5689aa33452afd95a3292ab1808aa95e1f6b1c..c8a04181e1295b16e41d5c77055e4ec2 #include "InspectorPageAgent.h" #include "InstrumentingAgents.h" #include "JSDOMWindowCustom.h" +@@ -42,6 +43,7 @@ #include "Page.h" #include "PageConsoleClient.h" #include "ScriptController.h" @@ -5273,7 +5405,7 @@ index de5689aa33452afd95a3292ab1808aa95e1f6b1c..c8a04181e1295b16e41d5c77055e4ec2 #include "SecurityOrigin.h" #include "UserGestureEmulationScope.h" #include -@@ -102,6 +104,15 @@ void PageRuntimeAgent::didClearWindowObjectInWorld(Frame& frame, DOMWrapperWorld +@@ -103,6 +105,15 @@ void PageRuntimeAgent::didClearWindowObjectInWorld(Frame& frame, DOMWrapperWorld notifyContextCreated(pageAgent->frameId(&frame), frame.script().globalObject(world), world); } @@ -5289,31 +5421,33 @@ index de5689aa33452afd95a3292ab1808aa95e1f6b1c..c8a04181e1295b16e41d5c77055e4ec2 InjectedScript PageRuntimeAgent::injectedScriptForEval(Protocol::ErrorString& errorString, std::optional&& executionContextId) { if (!executionContextId) { -@@ -189,14 +200,24 @@ void PageRuntimeAgent::notifyContextCreated(const Protocol::Network::FrameId& fr +@@ -196,18 +207,24 @@ Protocol::ErrorStringOr, std::op + if (injectedScript.hasNoValue()) + return makeUnexpected(errorString); - Protocol::ErrorStringOr, std::optional /* wasThrown */, std::optional /* savedResultIndex */>> PageRuntimeAgent::evaluate(const String& expression, const String& objectGroup, std::optional&& includeCommandLineAPI, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& executionContextId, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& saveResult, std::optional&& emulateUserGesture) - { -- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture && *emulateUserGesture); -+ String errorString; -+ InjectedScript injectedScript = injectedScriptForEval(errorString, std::optional(executionContextId)); -+ if (!errorString.isEmpty()) -+ return makeUnexpected(errorString); -+ +- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), dynamicDowncast(executionContext(injectedScript.globalObject()))); + JSC::JSGlobalObject* globalObject = injectedScript.globalObject(); + Document* document = globalObject ? activeDOMWindow(*globalObject).document() : nullptr; -+ UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture && *emulateUserGesture, document); - return InspectorRuntimeAgent::evaluate(expression, objectGroup, WTFMove(includeCommandLineAPI), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(executionContextId), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(saveResult), WTFMove(emulateUserGesture)); ++ UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), document); + return InspectorRuntimeAgent::evaluate(injectedScript, expression, objectGroup, WTFMove(includeCommandLineAPI), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(saveResult), WTFMove(emulateUserGesture)); } -Protocol::ErrorStringOr, std::optional /* wasThrown */>> PageRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& expression, RefPtr&& optionalArguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture) +void PageRuntimeAgent::callFunctionOn(const Protocol::Runtime::RemoteObjectId& objectId, const String& expression, RefPtr&& optionalArguments, std::optional&& doNotPauseOnExceptionsAndMuteConsole, std::optional&& returnByValue, std::optional&& generatePreview, std::optional&& emulateUserGesture, std::optional&& awaitPromise, Ref&& callback) { -- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture && *emulateUserGesture); -- return InspectorRuntimeAgent::callFunctionOn(objectId, expression, WTFMove(optionalArguments), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(emulateUserGesture)); -+ InjectedScript injectedScript = injectedScriptManager().injectedScriptForObjectId(objectId); + auto injectedScript = injectedScriptManager().injectedScriptForObjectId(objectId); +- if (injectedScript.hasNoValue()) +- return makeUnexpected("Missing injected script for given objectId"_s); ++ if (injectedScript.hasNoValue()) { ++ callback->sendFailure("Missing injected script for given objectId"_s); ++ return; ++ } + +- UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), dynamicDowncast(executionContext(injectedScript.globalObject()))); +- return InspectorRuntimeAgent::callFunctionOn(injectedScript, objectId, expression, WTFMove(optionalArguments), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(emulateUserGesture)); + JSC::JSGlobalObject* globalObject = injectedScript.globalObject(); + Document* document = globalObject ? activeDOMWindow(*globalObject).document() : nullptr; -+ UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture && *emulateUserGesture, document); ++ UserGestureEmulationScope userGestureScope(m_inspectedPage, emulateUserGesture.value_or(false), document); + return InspectorRuntimeAgent::callFunctionOn(objectId, expression, WTFMove(optionalArguments), WTFMove(doNotPauseOnExceptionsAndMuteConsole), WTFMove(returnByValue), WTFMove(generatePreview), WTFMove(emulateUserGesture), WTFMove(awaitPromise), WTFMove(callback)); } @@ -5356,41 +5490,18 @@ index 6aba3a2c6e8bbb7a0bca4f07824cf4de8ce36f8e..537e3b34d6405e412bf0e2350909c9af InstrumentingAgents& m_instrumentingAgents; Page& m_inspectedPage; -diff --git a/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.cpp b/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.cpp -index 8699436e3f962b465b47aebebd601ee90152ef83..35fbd46627f68d9ebac52500bc560d4fd9866166 100644 ---- a/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.cpp -+++ b/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.cpp -@@ -38,9 +38,9 @@ - - namespace WebCore { - --UserGestureEmulationScope::UserGestureEmulationScope(Page& inspectedPage, bool emulateUserGesture) -+UserGestureEmulationScope::UserGestureEmulationScope(Page& inspectedPage, bool emulateUserGesture, Document* document) - : m_pageChromeClient(inspectedPage.chrome().client()) -- , m_gestureIndicator(emulateUserGesture ? std::optional(ProcessingUserGesture) : std::nullopt) -+ , m_gestureIndicator(emulateUserGesture ? std::optional(ProcessingUserGesture) : std::nullopt, document) - , m_emulateUserGesture(emulateUserGesture) - , m_userWasInteracting(false) - { diff --git a/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.h b/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.h -index 16edb3bc689b8e2dde17597b642b706c1343e1f5..f363b2ca2410f22cff8d6ad908a88527970ab1d8 100644 +index 11bda04703c38c0ac3c81ca8d575c453ed3430a2..d1d0d7c2002e3e4021584e6493d91ac214cd5534 100644 --- a/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.h +++ b/Source/WebCore/inspector/agents/page/UserGestureEmulationScope.h -@@ -38,12 +38,13 @@ namespace WebCore { - +@@ -39,6 +39,7 @@ namespace WebCore { class ChromeClient; + class Document; class Page; +class Document; class UserGestureEmulationScope { WTF_MAKE_NONCOPYABLE(UserGestureEmulationScope); - WTF_MAKE_FAST_ALLOCATED; - public: -- UserGestureEmulationScope(Page& inspectedPage, bool emulateUserGesture); -+ UserGestureEmulationScope(Page& inspectedPage, bool emulateUserGesture, Document* document); - ~UserGestureEmulationScope(); - - private: diff --git a/Source/WebCore/loader/CookieJar.h b/Source/WebCore/loader/CookieJar.h index 982691dd2dfe2f65201370a12302b5086703c126..4af72beb3b1405ffac78e89e7fbb2b14d6647903 100644 --- a/Source/WebCore/loader/CookieJar.h @@ -5414,10 +5525,10 @@ index 982691dd2dfe2f65201370a12302b5086703c126..4af72beb3b1405ffac78e89e7fbb2b14 protected: static SameSiteInfo sameSiteInfo(const Document&, IsForDOMCookieAccess = IsForDOMCookieAccess::No); diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp -index 36c7091678ff764ea4fe4e7a7e59075566a1f361..a4cf6541690741232034880433b16e973a017fa1 100644 +index 28de7337434bec898e1651dac42d9773749084ee..f20438e0df13513ff95a6d8f467d2300d5fc7ec5 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp -@@ -1479,8 +1479,6 @@ void DocumentLoader::detachFromFrame() +@@ -1488,8 +1488,6 @@ void DocumentLoader::detachFromFrame() if (!m_frame) return; @@ -5427,7 +5538,7 @@ index 36c7091678ff764ea4fe4e7a7e59075566a1f361..a4cf6541690741232034880433b16e97 } diff --git a/Source/WebCore/loader/DocumentLoader.h b/Source/WebCore/loader/DocumentLoader.h -index 0b079f88ff3326ed24d31c8f0c00a654e290494c..d6308c79c13e08503ba0e18dc8ce5bdc1b89fced 100644 +index c6450d5072d0efd0430b6d3e5420d2d2b3e943cb..74e9c8ea1366c8785f02d5bbd92e09528ebd4e5a 100644 --- a/Source/WebCore/loader/DocumentLoader.h +++ b/Source/WebCore/loader/DocumentLoader.h @@ -179,9 +179,13 @@ public: @@ -5445,7 +5556,7 @@ index 0b079f88ff3326ed24d31c8f0c00a654e290494c..d6308c79c13e08503ba0e18dc8ce5bdc DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 60f9b0b5bc8469e2066a477a0387c998f19492aa..58470be488c8a92c9d7d4b026baeecea8aef7885 100644 +index 96e62ba595d3c132063b5a4a9be166a043d1c119..d0fab0d5f673e6590b948153ddb70d05961dfa52 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp @@ -1157,6 +1157,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat @@ -5495,7 +5606,7 @@ index 60f9b0b5bc8469e2066a477a0387c998f19492aa..58470be488c8a92c9d7d4b026baeecea } void FrameLoader::dispatchOnloadEvents() -@@ -3201,6 +3211,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3202,6 +3212,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (m_frame.page()) checkLoadComplete(); @@ -5504,7 +5615,7 @@ index 60f9b0b5bc8469e2066a477a0387c998f19492aa..58470be488c8a92c9d7d4b026baeecea } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, bool shouldContinue) -@@ -3968,9 +3980,6 @@ String FrameLoader::referrer() const +@@ -3969,9 +3981,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5514,7 +5625,7 @@ index 60f9b0b5bc8469e2066a477a0387c998f19492aa..58470be488c8a92c9d7d4b026baeecea Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -3979,13 +3988,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -3980,13 +3989,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { @@ -5547,7 +5658,7 @@ index 29d2e3f46140aaa51160e6a28562f370e371eb21..676ddc9369050c19454fbf5faffac2b2 virtual bool shouldPerformSecurityChecks() const { return false; } virtual bool havePerformedSecurityChecks(const ResourceResponse&) const { return false; } diff --git a/Source/WebCore/loader/PolicyChecker.cpp b/Source/WebCore/loader/PolicyChecker.cpp -index 42a09fe461a14e30421fbbfb2842524d8aa5f0e4..5ae129fda0c296b0bf106306de98f39bf96b6fc2 100644 +index b24f1d47d4fb0515b3d30cf4f8628970f7e40fd1..64e4bb3281f5d8ae464448e1af410111ee5e6710 100644 --- a/Source/WebCore/loader/PolicyChecker.cpp +++ b/Source/WebCore/loader/PolicyChecker.cpp @@ -46,6 +46,7 @@ @@ -6317,7 +6428,7 @@ index 1b77026f51092001cda86e32480890395b145b2e..6026bc23508016454f331b06c9f071a8 struct SnapshotOptions { diff --git a/Source/WebCore/page/History.cpp b/Source/WebCore/page/History.cpp -index d78a7c4fed8f3d5222cc9effe412f43e48754428..56d76693da9925ec476a3a12ae177223b9d2a774 100644 +index a782c3be51ca113a52482c5a10583c8fa64724ef..1d82dff81be5c5492efb3bfe77d2f259c2f2b5db 100644 --- a/Source/WebCore/page/History.cpp +++ b/Source/WebCore/page/History.cpp @@ -33,6 +33,7 @@ @@ -6750,7 +6861,7 @@ index 9e97dd5f689e6a1a90c9069445dc3f4b8c45e840..cc3ddc3e6d656a91c5ed58e050483d37 IntSize dragImageSize(DragImageRef) { diff --git a/Source/WebCore/platform/Pasteboard.h b/Source/WebCore/platform/Pasteboard.h -index f2eb972019a402eb88ceff8f47c3e863fe3402c6..1ba4a5a92fb81364d9b27eff315dbddc93034598 100644 +index aeba0a3b44d8666ecdb221b33570d4ccda566429..44d1c0644fcdfac4095e5a991a44cfb0a23a2343 100644 --- a/Source/WebCore/platform/Pasteboard.h +++ b/Source/WebCore/platform/Pasteboard.h @@ -44,7 +44,7 @@ OBJC_CLASS NSString; @@ -7025,6 +7136,86 @@ index 09f41d601d60cb10fb996540149a1bc652fce835..d69f7dc19d76d2b9174cedb11692b4c0 return true; #else return false; +diff --git a/Source/WebCore/platform/graphics/GraphicsTypes.h b/Source/WebCore/platform/graphics/GraphicsTypes.h +index 37297831a2bf3468caec8f5200f047807666cbaf..90d5c54638cbae1f6241827e76cc9a83e64d3d9d 100644 +--- a/Source/WebCore/platform/graphics/GraphicsTypes.h ++++ b/Source/WebCore/platform/graphics/GraphicsTypes.h +@@ -80,15 +80,20 @@ struct CompositeMode { + CompositeOperator operation; + BlendMode blendMode; + +- bool operator==(const CompositeMode& other) +- { +- return operation == other.operation && blendMode == other.blendMode; +- } +- + template void encode(Encoder&) const; + template static std::optional decode(Decoder&); + }; + ++inline bool operator==(const CompositeMode& a, const CompositeMode& b) ++{ ++ return a.operation == b.operation && a.blendMode == b.blendMode; ++} ++ ++inline bool operator!=(const CompositeMode& a, const CompositeMode& b) ++{ ++ return !(a == b); ++} ++ + template + void CompositeMode::encode(Encoder& encoder) const + { +@@ -175,6 +180,11 @@ inline bool operator==(const DropShadow& a, const DropShadow& b) + return a.offset == b.offset && a.blurRadius == b.blurRadius && a.color == b.color && a.radiusMode == b.radiusMode; + } + ++inline bool operator!=(const DropShadow& a, const DropShadow& b) ++{ ++ return !(a == b); ++} ++ + template + void DropShadow::encode(Encoder& encoder) const + { +diff --git a/Source/WebCore/platform/graphics/SourceBrush.h b/Source/WebCore/platform/graphics/SourceBrush.h +index 4bd8a3b5091d128f4c23b93bd3ea1c6f2381cd03..4e96a7698fe16042cf2b6283b253cf4ae4b44f79 100644 +--- a/Source/WebCore/platform/graphics/SourceBrush.h ++++ b/Source/WebCore/platform/graphics/SourceBrush.h +@@ -79,6 +79,11 @@ inline bool operator==(const SourceBrush::Brush::LogicalGradient& a, const Sourc + return a.gradient.ptr() == b.gradient.ptr() && a.spaceTransform == b.spaceTransform; + } + ++inline bool operator!=(const SourceBrush::Brush::LogicalGradient& a, const SourceBrush::Brush::LogicalGradient& b) ++{ ++ return !(a == b); ++} ++ + inline bool operator==(const SourceBrush::Brush& a, const SourceBrush::Brush& b) + { + return WTF::switchOn(a.brush, +@@ -95,11 +100,21 @@ inline bool operator==(const SourceBrush::Brush& a, const SourceBrush::Brush& b) + ); + } + ++inline bool operator!=(const SourceBrush::Brush& a, const SourceBrush::Brush& b) ++{ ++ return !(a == b); ++} ++ + inline bool operator==(const SourceBrush& a, const SourceBrush& b) + { + return a.color() == b.color() && a.brush() == b.brush(); + } + ++inline bool operator!=(const SourceBrush& a, const SourceBrush& b) ++{ ++ return !(a == b); ++} ++ + template + void SourceBrush::Brush::LogicalGradient::encode(Encoder& encoder) const + { diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp index 4db603a94f3af1b1bce94ab0f1ae36054c004fcc..c1820f48eb86348f8ca678fde636244e8c91267e 100644 --- a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp @@ -7149,6 +7340,55 @@ index b60f9a64bacc8282860da6de299b75aeb295b9b5..55bd017c03c6478ca334bd5ef164160f namespace WebCore { +diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp +index d6942ce22541d8ec4eda1edf50c4735eaa6af644..e8aa707257aaf8bfe00fc8fd0ed9e31994b0b42d 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp +@@ -85,6 +85,24 @@ GstPad* webkitGstGhostPadFromStaticTemplate(GstStaticPadTemplate* staticPadTempl + return pad; + } + ++#if !GST_CHECK_VERSION(1, 18, 0) ++void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo* info, guint plane, gint components[GST_VIDEO_MAX_COMPONENTS]) ++{ ++ guint c, i = 0; ++ ++ /* Reverse mapping of info->plane */ ++ for (c = 0; c < GST_VIDEO_FORMAT_INFO_N_COMPONENTS(info); c++) { ++ if (GST_VIDEO_FORMAT_INFO_PLANE(info, c) == plane) { ++ components[i] = c; ++ i++; ++ } ++ } ++ ++ for (c = i; c < GST_VIDEO_MAX_COMPONENTS; c++) ++ components[c] = -1; ++} ++#endif ++ + #if ENABLE(VIDEO) + bool getVideoSizeAndFormatFromCaps(const GstCaps* caps, WebCore::IntSize& size, GstVideoFormat& format, int& pixelAspectRatioNumerator, int& pixelAspectRatioDenominator, int& stride) + { +diff --git a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h +index 5748c514f1cd3e457e885449420e9f584753d774..fab879454217eaba38e76f78515e958e2ff72b62 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h ++++ b/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h +@@ -55,6 +55,15 @@ inline bool webkitGstCheckVersion(guint major, guint minor, guint micro) + return true; + } + ++// gst_video_format_info_component() is GStreamer 1.18 API, so for older versions we use a local ++// vendored copy of the function. ++#if !GST_CHECK_VERSION(1, 18, 0) ++#define GST_VIDEO_MAX_COMPONENTS 4 ++void webkitGstVideoFormatInfoComponent(const GstVideoFormatInfo*, guint, gint components[GST_VIDEO_MAX_COMPONENTS]); ++ ++#define gst_video_format_info_component webkitGstVideoFormatInfoComponent ++#endif ++ + #define GST_VIDEO_CAPS_TYPE_PREFIX "video/" + #define GST_AUDIO_CAPS_TYPE_PREFIX "audio/" + #define GST_TEXT_CAPS_TYPE_PREFIX "text/" diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp index c35b2f0f15d9cd09b9b28be0bf44778874305738..5bc1b35e603afe5ae979ece6d3813bcb1e8492ad 100644 --- a/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp @@ -8759,7 +8999,7 @@ index 2e90534ffd8da83b7dc54d46fa7def16319bbb43..2493c00d58957751c65c37eb409fa8d6 int innerLineHeight() const override; #endif diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index dfa6e86eec6490557b23985695ad7a041896fdc6..4afcf765bcba5026e10e2256740e8954c0790ca7 100644 +index 6b932dbad440b551558427d40d6d22add0d33c07..1500e22919b854db199d2dcce4ae9107e9b6ce17 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -83,6 +83,11 @@ @@ -8774,7 +9014,7 @@ index dfa6e86eec6490557b23985695ad7a041896fdc6..4afcf765bcba5026e10e2256740e8954 #if ENABLE(APPLE_PAY_REMOTE_UI) #include "WebPaymentCoordinatorProxyMessages.h" #endif -@@ -484,6 +489,10 @@ void NetworkConnectionToWebProcess::createSocketStream(URL&& url, String cachePa +@@ -486,6 +491,10 @@ void NetworkConnectionToWebProcess::createSocketStream(URL&& url, String cachePa if (auto* session = networkSession()) acceptInsecureCertificates = session->shouldAcceptInsecureCertificatesForWebSockets(); #endif @@ -8785,7 +9025,7 @@ index dfa6e86eec6490557b23985695ad7a041896fdc6..4afcf765bcba5026e10e2256740e8954 m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token), acceptInsecureCertificates)); } -@@ -1028,6 +1037,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) +@@ -1030,6 +1039,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) #endif } @@ -8801,10 +9041,10 @@ index dfa6e86eec6490557b23985695ad7a041896fdc6..4afcf765bcba5026e10e2256740e8954 void NetworkConnectionToWebProcess::removeStorageAccessForFrame(FrameIdentifier frameID, PageIdentifier pageID) { diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -index 239d7eac1da6841cb5d7ffc10710da145e0d069b..71c7a7370521f919245c7bf3e4680b98bc2169ea 100644 +index 02fbed766529dca1c047832dfc85f9506ca8f6cd..7094f82ee6f6220e0ff2793edd8e0589468b1869 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -@@ -307,6 +307,8 @@ private: +@@ -312,6 +312,8 @@ private: void clearPageSpecificData(WebCore::PageIdentifier); @@ -8814,7 +9054,7 @@ index 239d7eac1da6841cb5d7ffc10710da145e0d069b..71c7a7370521f919245c7bf3e4680b98 void removeStorageAccessForFrame(WebCore::FrameIdentifier, WebCore::PageIdentifier); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in -index a5a2fd628c6da1ffb0b048aacfbae06aeef9943f..625cc6b1f23c83bcd26c52a976121c39b968a001 100644 +index a2629e4edb214b3d26aca78da845c65d0e5aa341..d034f3a57badda1f34729afd712db7cddbfce8bf 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in @@ -66,6 +66,8 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver { @@ -8827,7 +9067,7 @@ index a5a2fd628c6da1ffb0b048aacfbae06aeef9943f..625cc6b1f23c83bcd26c52a976121c39 RemoveStorageAccessForFrame(WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID); LogUserInteraction(WebCore::RegistrableDomain domain) diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.cpp b/Source/WebKit/NetworkProcess/NetworkProcess.cpp -index c74406a558af4e684fa4047c6083485a1e561268..eeaa0d5b75b0578f24cc41afab580f0b5579561a 100644 +index 834d19a5b63d0e53a8bf2372a9531c4a1cef68f2..e4bf20fa329d67c3433fc2b4f06086b264ed1c44 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp @@ -26,7 +26,6 @@ @@ -8881,7 +9121,7 @@ index c74406a558af4e684fa4047c6083485a1e561268..eeaa0d5b75b0578f24cc41afab580f0b void NetworkProcess::dumpResourceLoadStatistics(PAL::SessionID sessionID, CompletionHandler&& completionHandler) { diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h -index 063965a16a9414cc847572a21db2418b47bea18f..91119312d66c23157b56f323970203eae3f756e2 100644 +index d935f46ccc99ca86784f5f14e80dd70b50383b29..5215bc1baeaf9f106057071d3ead52e68d597de8 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkProcess.h @@ -37,6 +37,7 @@ @@ -8913,7 +9153,7 @@ index 063965a16a9414cc847572a21db2418b47bea18f..91119312d66c23157b56f323970203ea void clearPrevalentResource(PAL::SessionID, RegistrableDomain&&, CompletionHandler&&); void clearUserInteraction(PAL::SessionID, RegistrableDomain&&, CompletionHandler&&); diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in -index 1cf32ead60bb34fa22ef4dd39e985608f7e66b24..9e4ca8305c6dadd872f2bdfc239679bfb708527f 100644 +index 6788d65cc6a8ccd3f11f90b2d6779e21abd1cdc6..3b47b4710f055e7494cf62b869c482990d92e5d5 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in @@ -79,6 +79,11 @@ messages -> NetworkProcess LegacyReceiver { @@ -8929,10 +9169,10 @@ index 1cf32ead60bb34fa22ef4dd39e985608f7e66b24..9e4ca8305c6dadd872f2bdfc239679bf ClearPrevalentResource(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () ClearUserInteraction(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () diff --git a/Source/WebKit/NetworkProcess/NetworkSession.h b/Source/WebKit/NetworkProcess/NetworkSession.h -index fff87e84e0668930e611bc35c24f78f3225487f0..3a266d05a51da35d3369a0c7748e0c19d3101131 100644 +index faaacd8608df51e960eab481e27549d0f1323a89..fc90e558145e9957b8db7e5a6c43cd8a8af5ba7d 100644 --- a/Source/WebKit/NetworkProcess/NetworkSession.h +++ b/Source/WebKit/NetworkProcess/NetworkSession.h -@@ -193,6 +193,9 @@ public: +@@ -194,6 +194,9 @@ public: void lowMemoryHandler(WTF::Critical); @@ -8942,7 +9182,7 @@ index fff87e84e0668930e611bc35c24f78f3225487f0..3a266d05a51da35d3369a0c7748e0c19 #if ENABLE(SERVICE_WORKER) void addSoftUpdateLoader(std::unique_ptr&& loader) { m_softUpdateLoaders.add(WTFMove(loader)); } void removeSoftUpdateLoader(ServiceWorkerSoftUpdateLoader* loader) { m_softUpdateLoaders.remove(loader); } -@@ -274,6 +277,7 @@ protected: +@@ -275,6 +278,7 @@ protected: bool m_privateClickMeasurementDebugModeEnabled { false }; std::optional m_ephemeralMeasurement; bool m_isRunningEphemeralMeasurementTest { false }; @@ -9032,10 +9272,10 @@ index f57a72b6bdc3382469d69adb1b1201c7a9f07a84..c501211b094312ca44f0bf92de5d6ebc void clear(); diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -index 5dd1bc8a936ad814649218d9b40921b07bd6bf3b..63e4b225ba0fcc3424817969801c6c6a8835ed54 100644 +index 3ab4a7051a5afe368f9dd50a89f8ad4d117fc355..80f290cce292c5a401465192efd799940bc2a464 100644 --- a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm +++ b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -@@ -719,7 +719,7 @@ void NetworkSessionCocoa::setClientAuditToken(const WebCore::AuthenticationChall +@@ -720,7 +720,7 @@ void NetworkSessionCocoa::setClientAuditToken(const WebCore::AuthenticationChall if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { sessionCocoa->setClientAuditToken(challenge); @@ -9044,7 +9284,7 @@ index 5dd1bc8a936ad814649218d9b40921b07bd6bf3b..63e4b225ba0fcc3424817969801c6c6a return completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); NSURLSessionTaskTransactionMetrics *metrics = task._incompleteTaskMetrics.transactionMetrics.lastObject; -@@ -957,6 +957,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -958,6 +958,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END resourceResponse.setDeprecatedNetworkLoadMetrics(WebCore::copyTimingData(taskMetrics, networkDataTask->networkLoadMetrics())); @@ -9351,10 +9591,10 @@ index bc06eb37854c1ec72b30568e95dba6ef60c132a4..7b8fd54b740c828be204d4fedba0286f } return makeUnique(channel, request, soupSession(), soupMessage.get(), protocol); diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index a624e3e392b42d0aafcdfcd509a6f6d1d09411aa..77897cdf7617423e5d4ef19754b6cebe72f36103 100644 +index 333bfe0755dae63954db1aa8d2a94147e0234c6f..47c81e31d5ae98c625a1230c307880b4f9679157 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -468,6 +468,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -476,6 +476,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GSTREAMER_PBUTILS_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9364,7 +9604,7 @@ index a624e3e392b42d0aafcdfcd509a6f6d1d09411aa..77897cdf7617423e5d4ef19754b6cebe ) if (USE_WPE_RENDERER) -@@ -521,6 +524,9 @@ if (USE_LIBWEBRTC) +@@ -529,6 +532,9 @@ if (USE_LIBWEBRTC) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/" "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc" @@ -9374,7 +9614,7 @@ index a624e3e392b42d0aafcdfcd509a6f6d1d09411aa..77897cdf7617423e5d4ef19754b6cebe ) endif () -@@ -535,6 +541,12 @@ if (ENABLE_MEDIA_STREAM) +@@ -543,6 +549,12 @@ if (ENABLE_MEDIA_STREAM) ) endif () @@ -9388,10 +9628,10 @@ index a624e3e392b42d0aafcdfcd509a6f6d1d09411aa..77897cdf7617423e5d4ef19754b6cebe set(WebKit2GTK_ENUM_GENERATION_HEADERS ${WebKit2GTK_INSTALLED_HEADERS}) list(REMOVE_ITEM WebKit2GTK_ENUM_GENERATION_HEADERS ${WebKit2Gtk_DERIVED_SOURCES_DIR}/webkit/WebKitEnumTypes.h) diff --git a/Source/WebKit/PlatformWPE.cmake b/Source/WebKit/PlatformWPE.cmake -index a46b305d05301d6a163e1a4f7c9d99fe956e7652..f3a6d8e59bea756311b23bc7cfef35789aca0616 100644 +index c5ade3f53c47d32ebf3deb0cc4ba07dda6cc89bd..986f38b3e131a98941002071bb35553bf62aa9de 100644 --- a/Source/WebKit/PlatformWPE.cmake +++ b/Source/WebKit/PlatformWPE.cmake -@@ -177,6 +177,7 @@ set(WPE_API_INSTALLED_HEADERS +@@ -185,6 +185,7 @@ set(WPE_API_INSTALLED_HEADERS ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitOptionMenuItem.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitPermissionRequest.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitPlugin.h @@ -9399,7 +9639,7 @@ index a46b305d05301d6a163e1a4f7c9d99fe956e7652..f3a6d8e59bea756311b23bc7cfef3578 ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitPolicyDecision.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitRectangle.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitResponsePolicyDecision.h -@@ -304,6 +305,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES +@@ -312,6 +313,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES "${WEBKIT_DIR}/UIProcess/CoordinatedGraphics" "${WEBKIT_DIR}/UIProcess/Inspector/glib" "${WEBKIT_DIR}/UIProcess/geoclue" @@ -9407,7 +9647,7 @@ index a46b305d05301d6a163e1a4f7c9d99fe956e7652..f3a6d8e59bea756311b23bc7cfef3578 "${WEBKIT_DIR}/UIProcess/gstreamer" "${WEBKIT_DIR}/UIProcess/linux" "${WEBKIT_DIR}/UIProcess/soup" -@@ -326,8 +328,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -333,8 +335,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -9622,7 +9862,7 @@ index f2f3979fcac9dfd97d0e0ead600fe35eb8defd40..ac91412e1a96bdf521b1890a66e465dc NSEvent* nativeEvent() const { return m_nativeEvent.get(); } #elif PLATFORM(GTK) diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -index e60ebe2affa2fce1a1cce374f7bf888f40ebdb78..6f94d940c98137e1d14c0b5d5faf2e4dfcd0989d 100644 +index deb08e43122cc6f76dac0f441e568c46655d2d41..ebce83c78b812df709d9c7ab780854e7c90069cb 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp @@ -121,6 +121,10 @@ @@ -10278,7 +10518,7 @@ index b08d1fddac0a593cad545a8ca536129fa22a9def..5fcd862dbcfa516f23957c8252c87b7c UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm UIProcess/Inspector/mac/WKInspectorViewController.mm diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt -index cbc4b5e0a2c06e7cb189972e958ead005d614c5d..b5072730da4b21dac0815ec1f88d3c18a48d4200 100644 +index 66f9ed0b9bf775c1ec07cd19cd4b0e5476619d3c..a839e50453071074872d5b66b11d06785b6961ad 100644 --- a/Source/WebKit/SourcesGTK.txt +++ b/Source/WebKit/SourcesGTK.txt @@ -126,6 +126,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify @@ -10315,7 +10555,7 @@ index cbc4b5e0a2c06e7cb189972e958ead005d614c5d..b5072730da4b21dac0815ec1f88d3c18 UIProcess/gtk/WebPasteboardProxyGtk.cpp UIProcess/gtk/WebPopupMenuProxyGtk.cpp diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt -index cc7875e51a261aeaa1fe3f87ac6ca0c1d352eec8..55e867ee9968873accf783f1df9f2a8a3181f0d7 100644 +index 5a9adbfd1189ad99b655621f58b10f2d4573cfea..e70b3c7aaec57795ee23bfc7b8cc0b0e9fadcd2f 100644 --- a/Source/WebKit/SourcesWPE.txt +++ b/Source/WebKit/SourcesWPE.txt @@ -85,6 +85,7 @@ Shared/glib/ProcessExecutablePathGLib.cpp @@ -10592,7 +10832,7 @@ index afa925f36c29db9c23921298dead9cce737500d6..42d396342acdb6d39830f611df0ee40e NS_ASSUME_NONNULL_END diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm -index 8eeed2c825bc2d7bea83123472b7022e9ba512c0..083f5260ea1740302e6af4b28a6b135880fbec9b 100644 +index b7cf065babca1c491aa3ea3841d2468631aaedac..fe7a51512480ad6e119d621c9821738ce5847296 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -46,6 +46,7 @@ @@ -12115,7 +12355,7 @@ index 7659b1c9ff0d2f9bc50aee7ed437a759bf6e9200..2c75e4b0fae4584136cf4d649945864f { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index 58dff442a07233dbbfe23806cdaa8d059b662a7d..cf1cfa75643ef594dff085ce61c03b58a40f0cc9 100644 +index f1eca4a61151f47c867659a07e35881305c9d1f8..c724d993648b9ea4a0809626fea4b4a746482a4b 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm @@ -37,6 +37,7 @@ @@ -12126,7 +12366,7 @@ index 58dff442a07233dbbfe23806cdaa8d059b662a7d..cf1cfa75643ef594dff085ce61c03b58 #import "PlaybackSessionManagerProxy.h" #import "QuarantineSPI.h" #import "QuickLookThumbnailLoader.h" -@@ -248,9 +249,66 @@ bool WebPageProxy::scrollingUpdatesDisabledForTesting() +@@ -249,9 +250,66 @@ bool WebPageProxy::scrollingUpdatesDisabledForTesting() void WebPageProxy::startDrag(const DragItem& dragItem, const ShareableBitmap::Handle& dragImageHandle) { @@ -12194,10 +12434,10 @@ index 58dff442a07233dbbfe23806cdaa8d059b662a7d..cf1cfa75643ef594dff085ce61c03b58 #if PLATFORM(IOS_FAMILY) diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -index 6998970b1f45c5756b86a005ba53faceb51d225b..6cfb54837201aba091822ecb1bd0d4007450a3c1 100644 +index e1dd9f512ff33ae735a9ca4f5e99ce8aa2306a60..37a680d738e7d9948dee34e6ecb10fb1adf50a78 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -@@ -402,7 +402,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process +@@ -398,7 +398,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process auto screenProperties = WebCore::collectScreenProperties(); parameters.screenProperties = WTFMove(screenProperties); #if PLATFORM(MAC) @@ -12206,7 +12446,7 @@ index 6998970b1f45c5756b86a005ba53faceb51d225b..6cfb54837201aba091822ecb1bd0d400 #endif #if PLATFORM(IOS) -@@ -707,8 +707,8 @@ void WebProcessPool::registerNotificationObservers() +@@ -699,8 +699,8 @@ void WebProcessPool::registerNotificationObservers() }]; m_scrollerStyleNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSPreferredScrollerStyleDidChangeNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { @@ -12218,7 +12458,7 @@ index 6998970b1f45c5756b86a005ba53faceb51d225b..6cfb54837201aba091822ecb1bd0d400 m_activationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationDidBecomeActiveNotification object:NSApp queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h -index 86fd890db49f302f6b007e406e41808a8ec2bfb8..f3a77e41a6f3a5a68bbd89f220d1040e3ac48ee4 100644 +index 2cb199cdbef3c32403811e5f5f7f8d461bfca1ba..8fe14fd79c3d70b1448965bfd4439b026797c87f 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h +++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h @@ -504,6 +504,9 @@ public: @@ -12232,7 +12472,7 @@ index 86fd890db49f302f6b007e406e41808a8ec2bfb8..f3a77e41a6f3a5a68bbd89f220d1040e void saveBackForwardSnapshotForCurrentItem(); void saveBackForwardSnapshotForItem(WebBackForwardListItem&); diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm -index 8103a69bf8f4205020f592b8831cd4d3ac5979e6..c41894b1b99dbd812b77599cce9fc513033b474b 100644 +index 47e9dca500b106401edcbdfcbea820b35be96542..5b9381d38a94b43135aca3ef943050d85471df59 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm @@ -2682,6 +2682,11 @@ WebCore::DestinationColorSpace WebViewImpl::colorSpace() @@ -12247,7 +12487,7 @@ index 8103a69bf8f4205020f592b8831cd4d3ac5979e6..c41894b1b99dbd812b77599cce9fc513 ASSERT(m_colorSpace); return WebCore::DestinationColorSpace { [m_colorSpace CGColorSpace] }; -@@ -4685,6 +4690,18 @@ static RetainPtr takeWindowSnapshot(CGSWindowID windowID, bool captu +@@ -4683,6 +4688,18 @@ static RetainPtr takeWindowSnapshot(CGSWindowID windowID, bool captu return adoptCF(CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, imageOptions)); } @@ -15869,7 +16109,7 @@ index 7a14cfba15c103a2d4fe263fa49d25af3c396ec2..3ee0e154349661632799057c71f1d1f1 BOOL result = ::CreateProcess(0, commandLine.data(), 0, 0, true, 0, 0, 0, &startupInfo, &processInformation); diff --git a/Source/WebKit/UIProcess/PageClient.h b/Source/WebKit/UIProcess/PageClient.h -index af3151879ac0dac34c563bdefeb6904d5c504b1f..3bd07470de38cfa206a78f2ed716f5b3616a46b7 100644 +index 88e28fdf08e288e3ba2fd749f389d357006a5d03..d5b0dd2d971b4ee800cc41e6c5716861cbcdaa62 100644 --- a/Source/WebKit/UIProcess/PageClient.h +++ b/Source/WebKit/UIProcess/PageClient.h @@ -325,6 +325,11 @@ public: @@ -16902,7 +17142,7 @@ index 0000000000000000000000000000000000000000..48c9ccc420c1b4ae3259e1d5ba17fd8f + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce2a70be36 100644 +index 98fa570efb16ab3fbab94e0459f5d8a4d6b9c7f5..8f255b3cbf3cbf2b74784cdd3d89af1ad682bddb 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp @@ -248,6 +248,9 @@ @@ -17192,18 +17432,18 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce if (policyAction != PolicyAction::Use || !frame.isMainFrame() || !navigation) { + if (policyAction == PolicyAction::Download && navigation) + m_decidePolicyForResponseRequest = navigation->currentRequest(); - receivedPolicyDecision(policyAction, navigation, WTFMove(policies), WTFMove(navigationAction), WTFMove(sender)); + receivedPolicyDecision(policyAction, navigation, navigation->websitePolicies(), WTFMove(navigationAction), WTFMove(sender)); return; } -@@ -3530,6 +3676,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3532,6 +3678,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A - void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, std::optional sandboxExtensionHandle, WillContinueLoadInNewProcess willContinueLoadInNewProcess) + void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, WillContinueLoadInNewProcess willContinueLoadInNewProcess, std::optional sandboxExtensionHandle) { + m_inspectorController->didReceivePolicyDecision(action, navigation ? navigation->navigationID() : 0); if (!hasRunningProcess()) { sender->send(PolicyDecision { sender->identifier(), isNavigatingToAppBoundDomain(), PolicyAction::Ignore, 0, std::nullopt, std::nullopt }); return; -@@ -4264,6 +4411,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -4267,6 +4414,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17215,7 +17455,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { m_pluginScaleFactor = pluginScaleFactor; -@@ -4648,6 +4800,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) +@@ -4651,6 +4803,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) return; m_navigationState->didDestroyNavigation(navigationID); @@ -17223,7 +17463,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -4873,6 +5026,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -4876,6 +5029,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17232,7 +17472,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce // If the provisional page's load fails then we destroy the provisional page. if (m_provisionalPage && m_provisionalPage->mainFrame() == &frame && willContinueLoading == WillContinueLoading::No) m_provisionalPage = nullptr; -@@ -5346,7 +5501,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(FrameIdentifier frameID, +@@ -5349,7 +5504,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(FrameIdentifier frameID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfo, std::optional originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, uint64_t listenerID) { @@ -17248,7 +17488,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, -@@ -5918,6 +6080,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5936,6 +6098,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa if (originatingPage) openerAppInitiatedState = originatingPage->lastNavigationWasAppInitiated(); @@ -17256,7 +17496,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce auto completionHandler = [this, protectedThis = Ref { *this }, mainFrameURL, request, reply = WTFMove(reply), privateClickMeasurement = navigationActionData.privateClickMeasurement, openerAppInitiatedState = WTFMove(openerAppInitiatedState)] (RefPtr newPage) mutable { if (!newPage) { reply(std::nullopt, std::nullopt); -@@ -5964,6 +6127,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5982,6 +6145,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17264,7 +17504,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce } void WebPageProxy::exitFullscreenImmediately() -@@ -6021,6 +6185,10 @@ void WebPageProxy::closePage() +@@ -6039,6 +6203,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17275,7 +17515,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -6057,6 +6225,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -6075,6 +6243,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f } runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply)](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { @@ -17284,7 +17524,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -6078,6 +6248,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -6096,6 +6266,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17293,7 +17533,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply)](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { page.m_uiClient->runJavaScriptConfirm(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)](bool result) mutable { -@@ -6101,6 +6273,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -6119,6 +6291,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17302,7 +17542,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce runModalJavaScriptDialog(WTFMove(frame), WTFMove(frameInfo), message, [reply = WTFMove(reply), defaultValue](WebPageProxy& page, WebFrameProxy* frame, FrameInfoData&& frameInfo, const String& message, CompletionHandler&& completion) mutable { page.m_uiClient->runJavaScriptPrompt(page, message, defaultValue, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)](auto& result) mutable { -@@ -6228,6 +6402,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -6246,6 +6420,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17311,7 +17551,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. m_process->stopResponsivenessTimer(); -@@ -7479,6 +7655,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7497,6 +7673,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (auto* automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17320,7 +17560,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce } break; } -@@ -7493,10 +7671,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7511,10 +7689,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) pageClient().wheelEventWasNotHandledByWebCore(oldestProcessedEvent); } @@ -17337,7 +17577,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce break; } -@@ -7505,7 +7686,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7523,7 +7704,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) case WebEvent::RawKeyDown: case WebEvent::Char: { LOG(KeyHandling, "WebPageProxy::didReceiveEvent: %s (queue empty %d)", webKeyboardEventTypeString(type), m_keyEventQueue.isEmpty()); @@ -17345,7 +17585,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); auto event = m_keyEventQueue.takeFirst(); MESSAGE_CHECK(m_process, type == event.type()); -@@ -7524,7 +7704,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7542,7 +7722,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) // The call to doneWithKeyEvent may close this WebPage. // Protect against this being destroyed. Ref protect(*this); @@ -17353,7 +17593,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce pageClient().doneWithKeyEvent(event, handled); if (!handled) m_uiClient->didNotHandleKeyEvent(this, event); -@@ -7533,6 +7712,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7551,6 +7730,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (!canProcessMoreKeyEvents) { if (auto* automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17361,7 +17601,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce } break; } -@@ -7887,7 +8067,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -7905,7 +8085,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%{public}s", processTerminationReasonToString(reason)); @@ -17373,7 +17613,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -8219,6 +8402,7 @@ static Span gpuMachServices() +@@ -8237,6 +8420,7 @@ static Span gpuMachServices() WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -17381,7 +17621,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -8409,6 +8593,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -8427,6 +8611,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.httpsUpgradeEnabled = preferences().upgradeKnownHostsToHTTPSEnabled() ? m_configuration->httpsUpgradeEnabled() : false; @@ -17390,7 +17630,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce #if PLATFORM(IOS) // FIXME: This is also being passed over the to WebProcess via the PreferencesStore. parameters.allowsDeprecatedSynchronousXMLHttpRequestDuringUnload = allowsDeprecatedSynchronousXMLHttpRequestDuringUnload(); -@@ -8477,6 +8663,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even +@@ -8495,6 +8681,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even void WebPageProxy::didReceiveAuthenticationChallengeProxy(Ref&& authenticationChallenge, NegotiatedLegacyTLS negotiatedLegacyTLS) { @@ -17405,7 +17645,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -8570,6 +8764,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -8588,6 +8782,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17422,7 +17662,7 @@ index 6fd132d7173f5b8c5850f419e4fba5e17846b38e..94d105016e0a7e3adffe8073cfcec9ce // and make it one UIClient call that calls the completionHandler with false // if there is no delegate instead of returning the completionHandler diff --git a/Source/WebKit/UIProcess/WebPageProxy.h b/Source/WebKit/UIProcess/WebPageProxy.h -index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac65506cf3c 100644 +index e1626c22598649b786eeac899cdf2767e9ef3fb7..235a2dccdc2c865f57151114769263aa3e299b4e 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -39,6 +39,7 @@ @@ -17485,7 +17725,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #if PLATFORM(IOS_FAMILY) void showInspectorIndication(); -@@ -651,6 +665,11 @@ public: +@@ -652,6 +666,11 @@ public: void setPageLoadStateObserver(std::unique_ptr&&); @@ -17497,7 +17737,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 void initializeWebPage(); void setDrawingArea(std::unique_ptr&&); -@@ -678,6 +697,7 @@ public: +@@ -679,6 +698,7 @@ public: void closePage(); void addPlatformLoadParameters(WebProcessProxy&, LoadParameters&); @@ -17505,7 +17745,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemesButNotAppLinks, API::Object* userData = nullptr); RefPtr loadFile(const String& fileURL, const String& resourceDirectoryURL, bool isAppInitiated = true, API::Object* userData = nullptr); RefPtr loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow); -@@ -1201,6 +1221,7 @@ public: +@@ -1202,6 +1222,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -17513,7 +17753,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1287,14 +1308,20 @@ public: +@@ -1288,14 +1309,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -17535,7 +17775,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #endif void processDidBecomeUnresponsive(); -@@ -1543,6 +1570,8 @@ public: +@@ -1544,6 +1571,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -17544,7 +17784,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #endif #if ENABLE(WEB_CRYPTO) -@@ -2686,6 +2715,7 @@ private: +@@ -2693,6 +2722,7 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17552,7 +17792,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #if PLATFORM(COCOA) WeakObjCPtr m_cocoaView; -@@ -2950,6 +2980,20 @@ private: +@@ -2957,6 +2987,20 @@ private: unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; WebCore::IntRect m_currentDragCaretRect; WebCore::IntRect m_currentDragCaretEditableElementRect; @@ -17573,7 +17813,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #endif PageLoadState m_pageLoadState; -@@ -3159,6 +3203,9 @@ private: +@@ -3167,6 +3211,9 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17584,7 +17824,7 @@ index 06b737ae03ae2f3c1b2cd3a26b39bacb1c4e252d..786737c313a75e295dff77d9a5ee0ac6 #if PLATFORM(IOS_FAMILY) && ENABLE(DEVICE_ORIENTATION) std::unique_ptr m_webDeviceOrientationUpdateProviderProxy; diff --git a/Source/WebKit/UIProcess/WebPageProxy.messages.in b/Source/WebKit/UIProcess/WebPageProxy.messages.in -index 92a1c3ccb6079b0bbe24e2ff933601edf36aea04..500863a393afefdfb270ae26e8cb81d1b57f8523 100644 +index febde09fbfed91166df288479006a68ea7c07cc9..ca6eaf7c3247130167babd79e4d62b6434a737e8 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { @@ -17619,7 +17859,7 @@ index 92a1c3ccb6079b0bbe24e2ff933601edf36aea04..500863a393afefdfb270ae26e8cb81d1 DidPerformDragOperation(bool handled) #endif diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index f153458805ec95479284d5b6bce34875882e897b..d7e9135341d8150f1b1726540b6d5892e3e0feb2 100644 +index 4bd12a1e791a8975f08968ddc9ecde1389001325..f7e08e36d65aa4baea4e5151718104b4a6645795 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp @@ -539,6 +539,14 @@ void WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess(Remo @@ -17653,7 +17893,7 @@ index f153458805ec95479284d5b6bce34875882e897b..d7e9135341d8150f1b1726540b6d5892 parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); parameters.urlSchemesRegisteredAsSecure = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsSecure()); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp -index 2f1e6936be6145812d477faba7dc2a803784e7af..169c47ffc6e9841d735682c9c65950f5bca3b925 100644 +index 3ef75c27f295eb6b2864308225bf2865e5085149..a23282604ea92f63f4bd30927b95d576eb4435a6 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -147,6 +147,11 @@ HashMap& WebProcessProxy::allProcesses() @@ -18422,10 +18662,10 @@ index 0000000000000000000000000000000000000000..d0f9827544994e450e24e3f7a427c35e + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index 2b5f51c2d807cdf7e6ee5957d66f3a71fd82c2da..e242207d97bcb58b1d329bf29c6387e525f28193 100644 +index 8a5403f7ebf070d74bc68d001ea4bc6302c89b01..fca1ed6c6b219e4683a8651d86909a4f5dfa20ab 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -@@ -437,6 +437,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) +@@ -439,6 +439,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool eventWasHandled) { @@ -19747,10 +19987,10 @@ index 0000000000000000000000000000000000000000..c3d7cacea987ba2b094d5022c670705e + +} // namespace WebKit diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2e27cfa6a 100644 +index 73ded958227ae5cabbcafb01f9669829851598eb..16a4eaea56507a262566aecd4689692830315eb8 100644 --- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj +++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj -@@ -1270,6 +1270,7 @@ +@@ -1273,6 +1273,7 @@ 5CABDC8722C40FED001EDE8E /* APIMessageListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CABDC8322C40FA7001EDE8E /* APIMessageListener.h */; }; 5CADDE05215046BD0067D309 /* WKWebProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C74300E21500492004BFA17 /* WKWebProcess.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5CAECB6627465AE400AB78D0 /* UnifiedSource115.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CAECB5E27465AE300AB78D0 /* UnifiedSource115.cpp */; }; @@ -19758,7 +19998,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 5CAF7AA726F93AB00003F19E /* adattributiond.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CAF7AA526F93A950003F19E /* adattributiond.cpp */; }; 5CAFDE452130846300B1F7E1 /* _WKInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CAFDE422130843500B1F7E1 /* _WKInspector.h */; settings = {ATTRIBUTES = (Private, ); }; }; 5CAFDE472130846A00B1F7E1 /* _WKInspectorInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CAFDE442130843600B1F7E1 /* _WKInspectorInternal.h */; }; -@@ -1969,6 +1970,18 @@ +@@ -1972,6 +1973,18 @@ DF0C5F28252ECB8E00D921DB /* WKDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F24252ECB8D00D921DB /* WKDownload.h */; settings = {ATTRIBUTES = (Public, ); }; }; DF0C5F2A252ECB8E00D921DB /* WKDownloadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F26252ECB8E00D921DB /* WKDownloadDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; DF0C5F2B252ED44000D921DB /* WKDownloadInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DF0C5F25252ECB8E00D921DB /* WKDownloadInternal.h */; }; @@ -19777,7 +20017,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 DF462E0F23F22F5500EFF35F /* WKHTTPCookieStorePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF462E0E23F22F5300EFF35F /* WKHTTPCookieStorePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; DF462E1223F338BE00EFF35F /* WKContentWorldPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = DF462E1123F338AD00EFF35F /* WKContentWorldPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; DF84CEE4249AA24D009096F6 /* WKPDFHUDView.mm in Sources */ = {isa = PBXBuildFile; fileRef = DF84CEE2249AA21F009096F6 /* WKPDFHUDView.mm */; }; -@@ -2026,6 +2039,8 @@ +@@ -2031,6 +2044,8 @@ E5BEF6822130C48000F31111 /* WebDataListSuggestionsDropdownIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = E5BEF6802130C47F00F31111 /* WebDataListSuggestionsDropdownIOS.h */; }; E5CB07DC20E1678F0022C183 /* WKFormColorControl.h in Headers */ = {isa = PBXBuildFile; fileRef = E5CB07DA20E1678F0022C183 /* WKFormColorControl.h */; }; E5CBA76427A318E100DF7858 /* UnifiedSource120.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA75F27A3187800DF7858 /* UnifiedSource120.cpp */; }; @@ -19786,7 +20026,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 E5CBA76527A318E100DF7858 /* UnifiedSource118.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76127A3187900DF7858 /* UnifiedSource118.cpp */; }; E5CBA76627A318E100DF7858 /* UnifiedSource116.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76327A3187B00DF7858 /* UnifiedSource116.cpp */; }; E5CBA76727A318E100DF7858 /* UnifiedSource119.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E5CBA76027A3187900DF7858 /* UnifiedSource119.cpp */; }; -@@ -2042,6 +2057,9 @@ +@@ -2047,6 +2062,9 @@ EBA8D3B627A5E33F00CB7900 /* MockPushServiceConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = EBA8D3B027A5E33F00CB7900 /* MockPushServiceConnection.mm */; }; EBA8D3B727A5E33F00CB7900 /* PushServiceConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = EBA8D3B127A5E33F00CB7900 /* PushServiceConnection.mm */; }; ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A22F0FF1289FCD90085E74F /* WKBundlePageOverlay.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -19796,7 +20036,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 F409BA181E6E64BC009DA28E /* WKDragDestinationAction.h in Headers */ = {isa = PBXBuildFile; fileRef = F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */; settings = {ATTRIBUTES = (Private, ); }; }; F4299507270E234D0032298B /* StreamMessageReceiver.h in Headers */ = {isa = PBXBuildFile; fileRef = F4299506270E234C0032298B /* StreamMessageReceiver.h */; }; F42D634122A0EFDF00D2FB3A /* WebAutocorrectionData.h in Headers */ = {isa = PBXBuildFile; fileRef = F42D633F22A0EFD300D2FB3A /* WebAutocorrectionData.h */; }; -@@ -5009,6 +5027,7 @@ +@@ -5021,6 +5039,7 @@ 5CABDC8522C40FCC001EDE8E /* WKMessageListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMessageListener.h; sourceTree = ""; }; 5CADDE0D2151AA010067D309 /* AuthenticationChallengeDisposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationChallengeDisposition.h; sourceTree = ""; }; 5CAECB5E27465AE300AB78D0 /* UnifiedSource115.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource115.cpp; path = "DerivedSources/WebKit/unified-sources/UnifiedSource115.cpp"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -19804,7 +20044,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 5CAF7AA426F93A750003F19E /* adattributiond */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = adattributiond; sourceTree = BUILT_PRODUCTS_DIR; }; 5CAF7AA526F93A950003F19E /* adattributiond.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = adattributiond.cpp; sourceTree = ""; }; 5CAF7AA626F93AA50003F19E /* adattributiond.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = adattributiond.xcconfig; sourceTree = ""; }; -@@ -6440,6 +6459,19 @@ +@@ -6452,6 +6471,19 @@ DF0C5F24252ECB8D00D921DB /* WKDownload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownload.h; sourceTree = ""; }; DF0C5F25252ECB8E00D921DB /* WKDownloadInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownloadInternal.h; sourceTree = ""; }; DF0C5F26252ECB8E00D921DB /* WKDownloadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDownloadDelegate.h; sourceTree = ""; }; @@ -19824,7 +20064,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 DF462E0E23F22F5300EFF35F /* WKHTTPCookieStorePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKHTTPCookieStorePrivate.h; sourceTree = ""; }; DF462E1123F338AD00EFF35F /* WKContentWorldPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContentWorldPrivate.h; sourceTree = ""; }; DF58C6311371AC5800F9A37C /* NativeWebWheelEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeWebWheelEvent.h; sourceTree = ""; }; -@@ -6563,6 +6595,8 @@ +@@ -6579,6 +6611,8 @@ E5CB07DA20E1678F0022C183 /* WKFormColorControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKFormColorControl.h; path = ios/forms/WKFormColorControl.h; sourceTree = ""; }; E5CB07DB20E1678F0022C183 /* WKFormColorControl.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFormColorControl.mm; path = ios/forms/WKFormColorControl.mm; sourceTree = ""; }; E5CBA75F27A3187800DF7858 /* UnifiedSource120.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource120.cpp; path = "DerivedSources/WebKit/unified-sources/UnifiedSource120.cpp"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -19833,7 +20073,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 E5CBA76027A3187900DF7858 /* UnifiedSource119.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource119.cpp; path = "DerivedSources/WebKit/unified-sources/UnifiedSource119.cpp"; sourceTree = BUILT_PRODUCTS_DIR; }; E5CBA76127A3187900DF7858 /* UnifiedSource118.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource118.cpp; path = "DerivedSources/WebKit/unified-sources/UnifiedSource118.cpp"; sourceTree = BUILT_PRODUCTS_DIR; }; E5CBA76227A3187900DF7858 /* UnifiedSource117.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnifiedSource117.cpp; path = "DerivedSources/WebKit/unified-sources/UnifiedSource117.cpp"; sourceTree = BUILT_PRODUCTS_DIR; }; -@@ -6584,6 +6618,14 @@ +@@ -6600,6 +6634,14 @@ ECA680D31E6904B500731D20 /* ExtraPrivateSymbolsForTAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExtraPrivateSymbolsForTAPI.h; sourceTree = ""; }; ECBFC1DB1E6A4D66000300C7 /* ExtraPublicSymbolsForTAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtraPublicSymbolsForTAPI.h; sourceTree = ""; }; F036978715F4BF0500C3A80E /* WebColorPicker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebColorPicker.cpp; sourceTree = ""; }; @@ -19848,7 +20088,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 F409BA171E6E64B3009DA28E /* WKDragDestinationAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDragDestinationAction.h; sourceTree = ""; }; F40D1B68220BDC0F00B49A01 /* WebAutocorrectionContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WebAutocorrectionContext.h; path = ios/WebAutocorrectionContext.h; sourceTree = ""; }; F41056612130699A0092281D /* APIAttachmentCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = APIAttachmentCocoa.mm; sourceTree = ""; }; -@@ -6730,6 +6772,7 @@ +@@ -6746,6 +6788,7 @@ 3766F9EF189A1244003CF19B /* QuartzCore.framework in Frameworks */, 37694525184FC6B600CDE21F /* Security.framework in Frameworks */, 37BEC4DD1948FC6A008B4286 /* WebCore.framework in Frameworks */, @@ -19856,7 +20096,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 ); runOnlyForDeploymentPostprocessing = 0; }; -@@ -8836,6 +8879,7 @@ +@@ -8852,6 +8895,7 @@ 37C4C08318149C2A003688B9 /* Cocoa */ = { isa = PBXGroup; children = ( @@ -19864,15 +20104,15 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 1A43E826188F38E2009E4D30 /* Deprecated */, 37A5E01218BBF937000A081E /* _WKActivatedElementInfo.h */, 37A5E01118BBF937000A081E /* _WKActivatedElementInfo.mm */, -@@ -10019,6 +10063,7 @@ - children = ( +@@ -10045,6 +10089,7 @@ + E34B110F27C46D09006D2F2E /* libWebCoreTestSupport.dylib */, DDE992F4278D06D900F60D26 /* libWebKitAdditions.a */, 57A9FF15252C6AEF006A2040 /* libWTF.a */, + F33C7AC6249AD79C0018BE41 /* libwebrtc.dylib */, 5750F32A2032D4E500389347 /* LocalAuthentication.framework */, 570DAAB0230273D200E8FC04 /* NearField.framework */, 51F7BB7E274564A100C45A72 /* Security.framework */, -@@ -10536,6 +10581,12 @@ +@@ -10563,6 +10608,12 @@ children = ( 9197940423DBC4BB00257892 /* InspectorBrowserAgent.cpp */, 9197940323DBC4BB00257892 /* InspectorBrowserAgent.h */, @@ -19885,7 +20125,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 ); path = Agents; sourceTree = ""; -@@ -10544,6 +10595,7 @@ +@@ -10571,6 +10622,7 @@ isa = PBXGroup; children = ( A5D3504D1D78F0D2005124A9 /* RemoteWebInspectorUIProxyMac.mm */, @@ -19893,7 +20133,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 1CA8B935127C774E00576C2B /* WebInspectorUIProxyMac.mm */, 99A7ACE326012919006D57FD /* WKInspectorResourceURLSchemeHandler.h */, 99A7ACE42601291A006D57FD /* WKInspectorResourceURLSchemeHandler.mm */, -@@ -11090,6 +11142,12 @@ +@@ -11117,6 +11169,12 @@ BC032DC310F438260058C15A /* UIProcess */ = { isa = PBXGroup; children = ( @@ -19906,7 +20146,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 BC032DC410F4387C0058C15A /* API */, 512F588D12A8836F00629530 /* Authentication */, 9955A6E81C79809000EB6A93 /* Automation */, -@@ -11401,6 +11459,7 @@ +@@ -11428,6 +11486,7 @@ BC0C376610F807660076D7CB /* C */ = { isa = PBXGroup; children = ( @@ -19914,7 +20154,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 5123CF18133D25E60056F800 /* cg */, 6EE849C41368D9040038D481 /* mac */, BCB63477116BF10600603215 /* WebKit2_C.h */, -@@ -11991,6 +12050,11 @@ +@@ -12018,6 +12077,11 @@ BCCF085C113F3B7500C650C5 /* mac */ = { isa = PBXGroup; children = ( @@ -19926,7 +20166,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 B878B613133428DC006888E9 /* CorrectionPanel.h */, B878B614133428DC006888E9 /* CorrectionPanel.mm */, 07EF07592745A8160066EA04 /* DisplayCaptureSessionManager.h */, -@@ -12915,6 +12979,7 @@ +@@ -12942,6 +13006,7 @@ 99788ACB1F421DDA00C08000 /* _WKAutomationSessionConfiguration.h in Headers */, 990D28AC1C6420CF00986977 /* _WKAutomationSessionDelegate.h in Headers */, 990D28B11C65208D00986977 /* _WKAutomationSessionInternal.h in Headers */, @@ -19934,7 +20174,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 5C4609E7224317B4009943C2 /* _WKContentRuleListAction.h in Headers */, 5C4609E8224317BB009943C2 /* _WKContentRuleListActionInternal.h in Headers */, 1A5704F81BE01FF400874AF1 /* _WKContextMenuElementInfo.h in Headers */, -@@ -13230,6 +13295,7 @@ +@@ -13257,6 +13322,7 @@ 1A14F8E21D74C834006CBEC6 /* FrameInfoData.h in Headers */, 1AE00D611831792100087DD7 /* FrameLoadState.h in Headers */, 5C121E842410208D00486F9B /* FrameTreeNodeData.h in Headers */, @@ -19942,7 +20182,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 2D4AF0892044C3C4006C8817 /* FrontBoardServicesSPI.h in Headers */, CD78E1151DB7D7ED0014A2DE /* FullscreenClient.h in Headers */, CD19D2EA2046406F0017074A /* FullscreenTouchSecheuristic.h in Headers */, -@@ -13245,6 +13311,7 @@ +@@ -13272,6 +13338,7 @@ 410F0D4C2701EFF900F96DFC /* GPUProcessConnectionInitializationParameters.h in Headers */, 4614F13225DED875007006E7 /* GPUProcessConnectionParameters.h in Headers */, 2DA049B8180CCD0A00AAFA9E /* GraphicsLayerCARemote.h in Headers */, @@ -19950,7 +20190,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */, 1AC75A1B1B3368270056745B /* HangDetectionDisabler.h in Headers */, 57AC8F50217FEED90055438C /* HidConnection.h in Headers */, -@@ -13399,6 +13466,7 @@ +@@ -13426,6 +13493,7 @@ 413075AC1DE85F370039EC69 /* NetworkRTCMonitor.h in Headers */, 41DC45961E3D6E2200B11F51 /* NetworkRTCProvider.h in Headers */, 5C20CBA01BB1ECD800895BB1 /* NetworkSession.h in Headers */, @@ -19958,7 +20198,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 532159551DBAE7290054AA3C /* NetworkSessionCocoa.h in Headers */, 417915B92257046F00D6F97E /* NetworkSocketChannel.h in Headers */, 93085DE026E5BCFD000EC6A7 /* NetworkStorageManager.h in Headers */, -@@ -13464,6 +13532,7 @@ +@@ -13491,6 +13559,7 @@ BC1A7C581136E19C00FB7167 /* ProcessLauncher.h in Headers */, 463FD4821EB94EC000A2982C /* ProcessTerminationReason.h in Headers */, 86E67A251910B9D100004AB7 /* ProcessThrottler.h in Headers */, @@ -19966,7 +20206,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 83048AE61ACA45DC0082C832 /* ProcessThrottlerClient.h in Headers */, 2D279E1926955768004B3EEB /* PrototypeToolsSPI.h in Headers */, 517B5F81275E97B6002DC22D /* PushAppBundle.h in Headers */, -@@ -13494,6 +13563,7 @@ +@@ -13521,6 +13590,7 @@ CDAC20CA23FC2F750021DEE3 /* RemoteCDMInstanceSession.h in Headers */, CDAC20C923FC2F750021DEE3 /* RemoteCDMInstanceSessionIdentifier.h in Headers */, F451C0FE2703B263002BA03B /* RemoteDisplayListRecorderProxy.h in Headers */, @@ -19974,7 +20214,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 2D47B56D1810714E003A3AEE /* RemoteLayerBackingStore.h in Headers */, 2DDF731518E95060004F5A66 /* RemoteLayerBackingStoreCollection.h in Headers */, 1AB16AEA164B3A8800290D62 /* RemoteLayerTreeContext.h in Headers */, -@@ -13829,6 +13899,7 @@ +@@ -13860,6 +13930,7 @@ A543E30D215C8A9000279CD9 /* WebPageInspectorTargetController.h in Headers */, A543E307215AD13700279CD9 /* WebPageInspectorTargetFrontendChannel.h in Headers */, C0CE72A11247E71D00BC0EC4 /* WebPageMessages.h in Headers */, @@ -19982,7 +20222,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 2D5C9D0619C81D8F00B3C5C1 /* WebPageOverlay.h in Headers */, 46C392292316EC4D008EED9B /* WebPageProxyIdentifier.h in Headers */, BCBD3915125BB1A800D2C29F /* WebPageProxyMessages.h in Headers */, -@@ -13972,6 +14043,7 @@ +@@ -14003,6 +14074,7 @@ BCD25F1711D6BDE100169B0E /* WKBundleFrame.h in Headers */, BCF049E611FE20F600F86A58 /* WKBundleFramePrivate.h in Headers */, BC49862F124D18C100D834E1 /* WKBundleHitTestResult.h in Headers */, @@ -19990,7 +20230,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 BC204EF211C83EC8008F3375 /* WKBundleInitialize.h in Headers */, 65B86F1E12F11DE300B7DD8A /* WKBundleInspector.h in Headers */, 1A8B66B41BC45B010082DF77 /* WKBundleMac.h in Headers */, -@@ -14025,6 +14097,7 @@ +@@ -14056,6 +14128,7 @@ 5C795D71229F3757003FF1C4 /* WKContextMenuElementInfoPrivate.h in Headers */, 51A555F6128C6C47009ABCEC /* WKContextMenuItem.h in Headers */, 51A55601128C6D92009ABCEC /* WKContextMenuItemTypes.h in Headers */, @@ -19998,7 +20238,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 A1EA02381DABFF7E0096021F /* WKContextMenuListener.h in Headers */, BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */, 9FB5F395169E6A80002C25BF /* WKContextPrivateMac.h in Headers */, -@@ -14181,6 +14254,7 @@ +@@ -14212,6 +14285,7 @@ 1AB8A1F818400BB800E9AE69 /* WKPageContextMenuClient.h in Headers */, 8372DB251A674C8F00C697C5 /* WKPageDiagnosticLoggingClient.h in Headers */, 1AB8A1F418400B8F00E9AE69 /* WKPageFindClient.h in Headers */, @@ -20006,7 +20246,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 1AB8A1F618400B9D00E9AE69 /* WKPageFindMatchesClient.h in Headers */, 1AB8A1F018400B0000E9AE69 /* WKPageFormClient.h in Headers */, BC7B633712A45ABA00D174A4 /* WKPageGroup.h in Headers */, -@@ -15852,6 +15926,8 @@ +@@ -15883,6 +15957,8 @@ 51E9049727BCB3D900929E7E /* ICAppBundle.mm in Sources */, 2749F6442146561B008380BF /* InjectedBundleNodeHandle.cpp in Sources */, 2749F6452146561E008380BF /* InjectedBundleRangeHandle.cpp in Sources */, @@ -20015,8 +20255,8 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 C14D37FE24ACE086007FF014 /* LaunchServicesDatabaseManager.mm in Sources */, C1710CF724AA643200D7C112 /* LaunchServicesDatabaseObserver.mm in Sources */, 2984F588164BA095004BC0C6 /* LegacyCustomProtocolManagerMessageReceiver.cpp in Sources */, -@@ -16189,6 +16265,8 @@ - 51F060E11654318500F3282F /* WebMDNSRegisterMessageReceiver.cpp in Sources */, +@@ -16223,6 +16299,8 @@ + E3816B3D27E2463A005EAFC0 /* WebMockContentFilterManager.cpp in Sources */, 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */, 2DF6FE52212E110900469030 /* WebPage.cpp in Sources */, + D79902B1236E9404005D6F7E /* WebPageInspectorEmulationAgentMac.mm in Sources */, @@ -20025,7 +20265,7 @@ index d207ba581ebd35a89a52f1f647d92249d9da210d..33f970f3c41c000c1ab8d8ef29545bd2 BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */, 7CE9CE101FA0767A000177DE /* WebPageUpdatePreferences.cpp in Sources */, diff --git a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp -index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1daec9e54d4 100644 +index 408083c9737709f82ff0ab79c822322d21c8a938..c54d894a254d995b871a6857f93f444313522201 100644 --- a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp +++ b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp @@ -231,6 +231,11 @@ void WebLoaderStrategy::scheduleLoad(ResourceLoader& resourceLoader, CachedResou @@ -20037,10 +20277,10 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da + return; + } + + #if ENABLE(PDFJS) if (tryLoadingUsingPDFJSHandler(resourceLoader, trackingParameters)) return; - -@@ -309,7 +314,8 @@ static void addParametersShared(const Frame* frame, NetworkResourceLoadParameter +@@ -313,7 +318,8 @@ static void addParametersShared(const Frame* frame, NetworkResourceLoadParameter } } @@ -20050,7 +20290,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da { auto identifier = resourceLoader.identifier(); ASSERT(identifier); -@@ -325,7 +331,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -329,7 +335,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL RunLoop::main().dispatch([resourceLoader = Ref { resourceLoader }] { resourceLoader->didFail(resourceLoader->blockedError()); }); @@ -20059,7 +20299,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da } } -@@ -335,7 +341,6 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -339,7 +345,6 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL LOG(NetworkScheduling, "(WebProcess) WebLoaderStrategy::scheduleLoad, url '%s' will be scheduled with the NetworkProcess with priority %d, storedCredentialsPolicy %i", resourceLoader.url().string().latin1().data(), static_cast(resourceLoader.request().priority()), (int)storedCredentialsPolicy); @@ -20067,7 +20307,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da loadParameters.identifier = identifier; loadParameters.webPageProxyID = trackingParameters.webPageProxyID; loadParameters.webPageID = trackingParameters.pageID; -@@ -420,14 +425,11 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -424,14 +429,11 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL if (loadParameters.options.mode != FetchOptions::Mode::Navigate) { ASSERT(loadParameters.sourceOrigin); @@ -20085,7 +20325,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da loadParameters.isMainFrameNavigation = resourceLoader.frame() && resourceLoader.frame()->isMainFrame() && resourceLoader.options().mode == FetchOptions::Mode::Navigate; if (loadParameters.isMainFrameNavigation && document) -@@ -466,6 +468,17 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -470,6 +472,17 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } ASSERT((loadParameters.webPageID && loadParameters.webFrameID) || loadParameters.clientCredentialPolicy == ClientCredentialPolicy::CannotAskClientForCredentials); @@ -20103,7 +20343,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da std::optional existingNetworkResourceLoadIdentifierToResume; if (loadParameters.isMainFrameNavigation) -@@ -480,7 +493,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL +@@ -484,7 +497,7 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL } auto loader = WebResourceLoader::create(resourceLoader, trackingParameters); @@ -20112,7 +20352,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da } void WebLoaderStrategy::scheduleInternallyFailedLoad(WebCore::ResourceLoader& resourceLoader) -@@ -887,7 +900,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier +@@ -891,7 +904,7 @@ void WebLoaderStrategy::didFinishPreconnection(WebCore::ResourceLoaderIdentifier bool WebLoaderStrategy::isOnLine() const { @@ -20121,7 +20361,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da } void WebLoaderStrategy::addOnlineStateChangeListener(Function&& listener) -@@ -907,6 +920,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet +@@ -911,6 +924,11 @@ void WebLoaderStrategy::isResourceLoadFinished(CachedResource& resource, Complet void WebLoaderStrategy::setOnLineState(bool isOnLine) { @@ -20133,7 +20373,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da if (m_isOnLine == isOnLine) return; -@@ -915,6 +933,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) +@@ -919,6 +937,12 @@ void WebLoaderStrategy::setOnLineState(bool isOnLine) listener(isOnLine); } @@ -20147,7 +20387,7 @@ index 89f5b04696460887f3cc4604bfb2e3979f1c7ad0..b8dfe915eb13304098fb06243788c1da { WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkConnectionToWebProcess::SetCaptureExtraNetworkLoadMetricsEnabled(enabled), 0); diff --git a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h -index e07a15c59ed7378b08069a4a9b930e1825357083..8b9e151e172657e772e3d977d0a0d9de79cc1b80 100644 +index cfa563b7d34056c9375d4382ff42d55dab3daa14..baf0bdc4f441721d085ff86bd152a7ccb638d21c 100644 --- a/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h +++ b/Source/WebKit/WebProcess/Network/WebLoaderStrategy.h @@ -41,6 +41,7 @@ struct FetchOptions; @@ -20168,7 +20408,7 @@ index e07a15c59ed7378b08069a4a9b930e1825357083..8b9e151e172657e772e3d977d0a0d9de void setExistingNetworkResourceLoadIdentifierToResume(std::optional existingNetworkResourceLoadIdentifierToResume) { m_existingNetworkResourceLoadIdentifierToResume = existingNetworkResourceLoadIdentifierToResume; } -@@ -138,6 +142,7 @@ private: +@@ -140,6 +144,7 @@ private: Vector> m_onlineStateChangeListeners; std::optional m_existingNetworkResourceLoadIdentifierToResume; bool m_isOnLine { true }; @@ -20177,7 +20417,7 @@ index e07a15c59ed7378b08069a4a9b930e1825357083..8b9e151e172657e772e3d977d0a0d9de } // namespace WebKit diff --git a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp -index 99049de024b120b57cbdac531502e193a72f2ac5..a1bb45542adeb1a31db7321a52a4991f2cae264a 100644 +index 0b6804754decb67ec52996d7ac0df4eb627d6d57..bc70fec1cef6f3df5927fabb68b9c71d8882e105 100644 --- a/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp +++ b/Source/WebKit/WebProcess/Network/WebResourceLoader.cpp @@ -195,9 +195,6 @@ void WebResourceLoader::didReceiveResponse(ResourceResponse&& response, PrivateR @@ -20213,7 +20453,7 @@ index e00c722c2be5d505243d45f46001839d4eb8a977..33c0832cde6c292230397a13e70d90fb auto permissionHandlers = m_requestsPerOrigin.take(securityOrigin); diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp -index dadcecb8c083e5cd31ca3a3669f2d01049436419..7682b7016a944d213fffb584fc7911c079dcf9d3 100644 +index 3e1c90505feb96057c48fc7d10e441a0b553b1c9..ad159899e3b5a8a88ad933ca7984538e71deb361 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp @@ -417,6 +417,8 @@ void WebChromeClient::setResizable(bool resizable) @@ -20225,7 +20465,7 @@ index dadcecb8c083e5cd31ca3a3669f2d01049436419..7682b7016a944d213fffb584fc7911c0 // Notify the bundle client. m_page.injectedBundleUIClient().willAddMessageToConsole(&m_page, source, level, message, lineNumber, columnNumber, sourceID); } -@@ -840,6 +842,13 @@ std::unique_ptr WebChromeClient::createDateTimeChooser(DateTime +@@ -842,6 +844,13 @@ std::unique_ptr WebChromeClient::createDateTimeChooser(DateTime #endif @@ -20267,7 +20507,7 @@ index 2eb0886f13ed035a53b8eaa60605de4dfe53fbe3..c46393209cb4f80704bbc9268fad4371 { } diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp -index 916b69a9b42d2fca903ce99c6cbc3911887bfa91..a4c4e0839282994762378fd7897dc57f09f9a125 100644 +index f6f2d4a20758013dd06d2c96d832ec5c0461d319..1ee4a060ee714a38a3417e4974002fee1176ea38 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp +++ b/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp @@ -1582,13 +1582,6 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage() @@ -20647,7 +20887,7 @@ index f127d64d005ab7b93875591b94a5899205e91579..df0de26e4dc449a0fbf93e7037444df4 uint64_t m_navigationID; }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index eb48c7b2d138392abbf14118f8e253c0ae9f4e22..5efc0f1b847d071d7adac9f5041e4aab349675db 100644 +index 0aa7fa4d465732d834a9ad257a5153d1bb0d8b67..c3c37e4436b70186add985490c3496795f98f381 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp @@ -905,6 +905,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) @@ -20882,7 +21122,7 @@ index eb48c7b2d138392abbf14118f8e253c0ae9f4e22..5efc0f1b847d071d7adac9f5041e4aab void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -3623,6 +3735,7 @@ void WebPage::didCompletePageTransition() +@@ -3629,6 +3741,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -20890,7 +21130,7 @@ index eb48c7b2d138392abbf14118f8e253c0ae9f4e22..5efc0f1b847d071d7adac9f5041e4aab } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -4449,7 +4562,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -4467,7 +4580,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -20899,7 +21139,7 @@ index eb48c7b2d138392abbf14118f8e253c0ae9f4e22..5efc0f1b847d071d7adac9f5041e4aab void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags) { if (!m_page) { -@@ -6873,6 +6986,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe +@@ -6893,6 +7006,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -20910,10 +21150,10 @@ index eb48c7b2d138392abbf14118f8e253c0ae9f4e22..5efc0f1b847d071d7adac9f5041e4aab return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271f66dea06 100644 +index ed2e98f1195a2771cfbe036d473046d418d8a645..7cca76de1b75bcc6e86ba9e319f75deb889c40da 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h -@@ -122,6 +122,10 @@ typedef struct _AtkObject AtkObject; +@@ -117,6 +117,10 @@ #include "WebPrintOperationGtk.h" #endif @@ -20924,7 +21164,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 #if PLATFORM(GTK) || PLATFORM(WPE) #include "InputMethodState.h" #endif -@@ -1008,11 +1012,11 @@ public: +@@ -1003,11 +1007,11 @@ public: void clearSelection(); void restoreSelectionInFocusedEditableElement(); @@ -20938,7 +21178,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 void performDragControllerAction(DragControllerAction, const WebCore::DragData&, SandboxExtension::Handle&&, Vector&&); #endif -@@ -1026,6 +1030,9 @@ public: +@@ -1021,6 +1025,9 @@ public: void didStartDrag(); void dragCancelled(); OptionSet allowedDragSourceActions() const { return m_allowedDragSourceActions; } @@ -20948,7 +21188,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 #endif void beginPrinting(WebCore::FrameIdentifier, const PrintInfo&); -@@ -1262,6 +1269,7 @@ public: +@@ -1257,6 +1264,7 @@ public: void connectInspector(const String& targetId, Inspector::FrontendChannel::ConnectionType); void disconnectInspector(const String& targetId); void sendMessageToTargetBackend(const String& targetId, const String& message); @@ -20956,7 +21196,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 void insertNewlineInQuotedContent(); -@@ -1632,6 +1640,7 @@ private: +@@ -1627,6 +1635,7 @@ private: // Actions void tryClose(CompletionHandler&&); void platformDidReceiveLoadParameters(const LoadParameters&); @@ -20964,7 +21204,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 void loadRequest(LoadParameters&&); NO_RETURN void loadRequestWaitingForProcessLaunch(LoadParameters&&, URL&&, WebPageProxyIdentifier, bool); void loadData(LoadParameters&&); -@@ -1669,6 +1678,7 @@ private: +@@ -1664,6 +1673,7 @@ private: void updatePotentialTapSecurityOrigin(const WebTouchEvent&, bool wasHandled); #elif ENABLE(TOUCH_EVENTS) void touchEvent(const WebTouchEvent&); @@ -20972,7 +21212,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 #endif void cancelPointer(WebCore::PointerID, const WebCore::IntPoint&); -@@ -1803,9 +1813,7 @@ private: +@@ -1802,9 +1812,7 @@ private: void requestRectForFoundTextRange(const WebFoundTextRange&, CompletionHandler&&); @@ -20982,7 +21222,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); void setTextForActivePopupMenu(int32_t index); -@@ -2342,6 +2350,7 @@ private: +@@ -2339,6 +2347,7 @@ private: UserActivity m_userActivity; uint64_t m_pendingNavigationID { 0 }; @@ -20991,7 +21231,7 @@ index 6e5f8f0a5116e1aa262ba0ad31b2c927bc36fdcf..a69fa8c8196ae88e896c17f1d838e271 bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index fcc5b7e03425d28ec8e7b6242fd8d452b31d72dc..1e6cf482936d04ece44fe96088788a60f0ee0f99 100644 +index 97bd2d9860fdab90b164492f8a7d137001fdd700..1e182d158e987f5ad29d7edfd8b08488c8402ec4 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in +++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in @@ -144,6 +144,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType @@ -21018,7 +21258,7 @@ index fcc5b7e03425d28ec8e7b6242fd8d452b31d72dc..1e6cf482936d04ece44fe96088788a60 LoadRequestWaitingForProcessLaunch(struct WebKit::LoadParameters loadParameters, URL resourceDirectoryURL, WebKit::WebPageProxyIdentifier pageID, bool checkAssumedReadAccessToResourceURL) LoadData(struct WebKit::LoadParameters loadParameters) LoadSimulatedRequestAndResponse(struct WebKit::LoadParameters loadParameters, WebCore::ResourceResponse simulatedResponse) -@@ -337,10 +340,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -342,10 +345,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType AddMIMETypeWithCustomContentProvider(String mimeType) # Drag and drop. @@ -21031,7 +21271,7 @@ index fcc5b7e03425d28ec8e7b6242fd8d452b31d72dc..1e6cf482936d04ece44fe96088788a60 PerformDragControllerAction(enum:uint8_t WebKit::DragControllerAction action, WebCore::DragData dragData, WebKit::SandboxExtension::Handle sandboxExtensionHandle, Vector sandboxExtensionsForUpload) #endif #if ENABLE(DRAG_SUPPORT) -@@ -349,6 +352,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -354,6 +357,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType DragCancelled() #endif @@ -21043,10 +21283,10 @@ index fcc5b7e03425d28ec8e7b6242fd8d452b31d72dc..1e6cf482936d04ece44fe96088788a60 RequestDragStart(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) RequestAdditionalItemsForDragSession(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) diff --git a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -index a8ddb5f327457f12bea029ac41acf81fb8f01884..4077430c3ea4b793e6b3e33b523a895a51e255bc 100644 +index 1a789f99d89f67f80215fd1661509ce334db1861..8a8e515effd36e277e3390a9cfa829221aed859a 100644 --- a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -@@ -781,21 +781,37 @@ String WebPage::platformUserAgent(const URL&) const +@@ -783,21 +783,37 @@ String WebPage::platformUserAgent(const URL&) const bool WebPage::hoverSupportedByPrimaryPointingDevice() const { @@ -21135,7 +21375,7 @@ index bb512aec34506aa588a736b6dcf6b6f3b669e342..fbcad974ad70113d527f7cac688e47d5 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index 482198739cfda5fce662107c4e27e351d38472dd..c4001e032330587b8eba347f00650a7298a1768e 100644 +index 90fbb6dd833eaaa19522a8dcb0628119900e525c..b6bde5586e32a622943dc599415335ba1e6de029 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -92,6 +92,7 @@ @@ -21146,7 +21386,7 @@ index 482198739cfda5fce662107c4e27e351d38472dd..c4001e032330587b8eba347f00650a72 #include #include #include -@@ -356,6 +357,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter +@@ -364,6 +365,8 @@ void WebProcess::initializeProcess(const AuxiliaryProcessInitializationParameter platformInitializeProcess(parameters); updateCPULimit(); @@ -21237,7 +21477,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e8df9086b 100644 +index a6630ec67e3bcca71e8db69c3e6a2a6fa4d76919..86b0cfe667705374d29b34225b1aad170e927a8c 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake @@ -5,6 +5,7 @@ WEBKIT_OPTION_BEGIN() @@ -21248,7 +21488,7 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") -@@ -30,6 +31,10 @@ find_package(EGL) +@@ -27,6 +28,10 @@ find_package(EGL) find_package(OpenGL) find_package(OpenGLES2) @@ -21259,7 +21499,7 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e include(GStreamerDefinitions) SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE) -@@ -63,22 +68,22 @@ WEBKIT_OPTION_DEFINE(ENABLE_QUARTZ_TARGET "Whether to enable support for the Qua +@@ -60,16 +65,16 @@ WEBKIT_OPTION_DEFINE(ENABLE_QUARTZ_TARGET "Whether to enable support for the Qua WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_ANGLE_WEBGL "Whether to use ANGLE as WebGL backend." PUBLIC OFF) @@ -21279,23 +21519,16 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON) WEBKIT_OPTION_DEFINE(USE_WPE_RENDERER "Whether to enable WPE rendering" PUBLIC ON) - # Private options specific to the GTK port. Changing these options is - # completely unsupported. They are intended for use only by WebKit developers. --WEBKIT_OPTION_DEFINE(USE_ATSPI "Whether to use the ATSPI a11y implementation instead of ATK." PRIVATE ON) -+WEBKIT_OPTION_DEFINE(USE_ATSPI "Whether to use the ATSPI a11y implementation instead of ATK." PRIVATE OFF) - - WEBKIT_OPTION_DEPEND(ENABLE_3D_TRANSFORMS USE_OPENGL_OR_ES) - WEBKIT_OPTION_DEPEND(ENABLE_ASYNC_SCROLLING USE_OPENGL_OR_ES) -@@ -123,7 +128,7 @@ endif () +@@ -119,7 +124,7 @@ endif () # without approval from a GTK reviewer. There must be strong reason to support # changing the value of the option. WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON) -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PUBLIC ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD PUBLIC OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PDFJS PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK PUBLIC ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS PUBLIC ON) - WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_CRYPTO PUBLIC ON) -@@ -155,10 +160,10 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK PRIVATE ON) +@@ -152,10 +157,10 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INTELLIGENT_TRACKING_PREVENTION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21308,7 +21541,7 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MOUSE_CURSOR_SCALE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF) -@@ -166,7 +171,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P +@@ -163,7 +168,7 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION P WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21317,7 +21550,7 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_POINTER_LOCK PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ON) -@@ -174,6 +179,15 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) +@@ -171,6 +176,15 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_API_STATISTICS PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21333,8 +21566,18 @@ index bd2b4dca000512ea384689cc29d6e1458fa56e12..31489e4e41eb070bb8046ca5edfc302e include(GStreamerDependencies) # Finalize the value for all options. Do not attempt to use an option before +@@ -271,7 +285,8 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") + set(BUILD_REVISION "tarball") + endif () + +-SET_AND_EXPOSE_TO_BUILD(USE_ATSPI ${ENABLE_ACCESSIBILITY}) ++SET_AND_EXPOSE_TO_BUILD(USE_ATSPI FALSE) ++ + SET_AND_EXPOSE_TO_BUILD(HAVE_GTK_UNIX_PRINTING ${GTK_UNIX_PRINT_FOUND}) + SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) + diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index 88ab8303da973824dd730addca4d8210b39d5fd8..7a3964c24c902c92fdf72ef2e28a0eeaba67e5d7 100644 +index d1fd2f01e8a6924f0c63afe0b789b033b147ca11..80dc2c00b99f2f93520c5e8a608963a015a82f0e 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -3,6 +3,7 @@ include(VersioningUtils) @@ -21345,7 +21588,7 @@ index 88ab8303da973824dd730addca4d8210b39d5fd8..7a3964c24c902c92fdf72ef2e28a0eea set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") find_package(Cairo 1.14.0 REQUIRED) -@@ -54,10 +55,10 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF) +@@ -55,10 +56,10 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GPU_PROCESS PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INTELLIGENT_TRACKING_PREVENTION PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYER_BASED_SVG_ENGINE PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LAYOUT_FORMATTING_CONTEXT PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) @@ -21358,7 +21601,7 @@ index 88ab8303da973824dd730addca4d8210b39d5fd8..7a3964c24c902c92fdf72ef2e28a0eea WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS PRIVATE ON) -@@ -67,30 +68,48 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${EN +@@ -68,23 +69,41 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFSCREEN_CANVAS_IN_WORKERS PRIVATE ${EN WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PERIODIC_MEMORY_MONITOR PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SERVICE_WORKER PRIVATE ON) WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHAREABLE_RESOURCE PRIVATE ON) @@ -21405,14 +21648,15 @@ index 88ab8303da973824dd730addca4d8210b39d5fd8..7a3964c24c902c92fdf72ef2e28a0eea WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON) # Private options specific to the WPE port. - WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer holepunch" PRIVATE OFF) - WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunch" 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 ON) -+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) +@@ -278,7 +297,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") + endif () - if (CMAKE_SYSTEM_NAME MATCHES "Linux") + SET_AND_EXPOSE_TO_BUILD(HAVE_ACCESSIBILITY ${ENABLE_ACCESSIBILITY}) +-SET_AND_EXPOSE_TO_BUILD(USE_ATSPI ${ENABLE_ACCESSIBILITY}) ++SET_AND_EXPOSE_TO_BUILD(USE_ATSPI FALSE) + SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE) + SET_AND_EXPOSE_TO_BUILD(USE_EGL TRUE) + SET_AND_EXPOSE_TO_BUILD(USE_GCRYPT TRUE) diff --git a/Source/cmake/OptionsWin.cmake b/Source/cmake/OptionsWin.cmake index 04869b0d67226fb9f7951298f32f952c94cb2837..dce1628048dec7c861ff9aeeaacb2c62d88431bb 100644 --- a/Source/cmake/OptionsWin.cmake @@ -22074,11 +22318,1121 @@ index faad78e101e3bb91dc45ae55abf90c7f6dbe4dc6..94af5f57c389d8403991ee45c95a2ff4 # WebInspectorUI must come after JavaScriptCore and WebCore but before WebKit and WebKit2 my $webKitIndex = first { $projects[$_] eq "Source/WebKitLegacy" } 0..$#projects; +diff --git a/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityControllerEmpty.cpp b/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityControllerEmpty.cpp +new file mode 100644 +index 0000000000000000000000000000000000000000..3618075f10824beb0bc6cd8070772ab88f4e51c8 +--- /dev/null ++++ b/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityControllerEmpty.cpp +@@ -0,0 +1,84 @@ ++/* ++ * Copyright (C) 2022 Microsoft Corporation. ++ * ++ * 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 HOLDERS AND 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 ++ * OWNER OR 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. ++ */ ++ ++#include "config.h" ++ ++#if !USE(ATSPI) && !USE(ATK) ++ ++#include "AccessibilityController.h" ++#include "AccessibilityUIElement.h" ++#include ++ ++namespace WTR { ++ ++void AccessibilityController::resetToConsistentState() ++{ ++ notImplemented(); ++} ++ ++RefPtr AccessibilityController::accessibleElementById(JSStringRef id) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityController::platformName() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++void AccessibilityController::injectAccessibilityPreference(JSStringRef domain, JSStringRef key, JSStringRef value) ++{ ++ notImplemented(); ++} ++ ++Ref AccessibilityController::rootElement() ++{ ++ notImplemented(); ++ return AccessibilityUIElement::create(nullptr); ++} ++ ++RefPtr AccessibilityController::focusedElement() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityController::addNotificationListener(JSValueRef) ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityController::removeNotificationListener() ++{ ++ notImplemented(); ++ return false; ++} ++ ++} // namespace WTR ++ ++#endif // USE(ATSPI) +diff --git a/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityUIElementEmpty.cpp b/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityUIElementEmpty.cpp +new file mode 100644 +index 0000000000000000000000000000000000000000..c25ab60262398df7724612cd1397848ff90a572b +--- /dev/null ++++ b/Tools/WebKitTestRunner/InjectedBundle/empty/AccessibilityUIElementEmpty.cpp +@@ -0,0 +1,1014 @@ ++/* ++ * Copyright (C) 2022 Microsoft Corporation. ++ * ++ * 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 HOLDERS AND 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 ++ * OWNER OR 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. ++ */ ++ ++#include "config.h" ++#include "AccessibilityUIElement.h" ++ ++#if !USE(ATSPI) && !USE(ATK) ++ ++#include ++ ++namespace WTR { ++ ++AccessibilityUIElement::AccessibilityUIElement(PlatformUIElement) ++{ ++ notImplemented(); ++} ++ ++AccessibilityUIElement::AccessibilityUIElement(const AccessibilityUIElement&) ++{ ++ notImplemented(); ++} ++ ++AccessibilityUIElement::~AccessibilityUIElement() ++{ ++ notImplemented(); ++} ++ ++bool AccessibilityUIElement::isEqual(AccessibilityUIElement*) ++{ ++ notImplemented(); ++ return false; ++} ++ ++void AccessibilityUIElement::getChildren(Vector>&) ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::getChildrenWithRange(Vector>&, unsigned, unsigned) ++{ ++ notImplemented(); ++} ++ ++int AccessibilityUIElement::childrenCount() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++RefPtr AccessibilityUIElement::elementAtPoint(int, int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++unsigned AccessibilityUIElement::indexOfChild(AccessibilityUIElement*) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++ ++RefPtr AccessibilityUIElement::childAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::linkedUIElementAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::ariaOwnsElementAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::ariaControlsElementAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::disclosedRowAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::rowAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::selectedChildAtIndex(unsigned) const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++unsigned AccessibilityUIElement::selectedChildrenCount() const ++{ ++ notImplemented(); ++ return 0; ++} ++ ++RefPtr AccessibilityUIElement::selectedRowAtIndex(unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::titleUIElement() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::parentElement() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::disclosedByRow() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfLinkedUIElements() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfDocumentLinks() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfChildren() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::allAttributes() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::stringAttributeValue(JSStringRef) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::currentStateValue() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::stringDescriptionOfAttributeValue(JSStringRef) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++double AccessibilityUIElement::numberAttributeValue(JSStringRef attribute) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++JSValueRef AccessibilityUIElement::uiElementArrayAttributeValue(JSStringRef attribute) const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSValueRef AccessibilityUIElement::rowHeaders() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSValueRef AccessibilityUIElement::columnHeaders() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::uiElementAttributeValue(JSStringRef attribute) const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::boolAttributeValue(JSStringRef attribute) ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isAttributeSettable(JSStringRef attribute) ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isAttributeSupported(JSStringRef attribute) ++{ ++ notImplemented(); ++ return false; ++} ++ ++JSRetainPtr AccessibilityUIElement::parameterizedAttributeNames() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::role() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::subrole() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::roleDescription() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::computedRoleString() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::title() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::description() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::orientation() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::stringValue() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::language() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::helpText() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++double AccessibilityUIElement::x() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::y() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::width() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::height() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::clickPointX() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::clickPointY() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::intValue() const ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::minValue() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++double AccessibilityUIElement::maxValue() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++JSRetainPtr AccessibilityUIElement::valueDescription() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++int AccessibilityUIElement::insertionPointLineNumber() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++bool AccessibilityUIElement::isPressActionSupported() ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isIncrementActionSupported() ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isDecrementActionSupported() ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isEnabled() ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isRequired() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isFocused() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isSelected() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isSelectedOptionActive() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isExpanded() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isChecked() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isIndeterminate() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++int AccessibilityUIElement::hierarchicalLevel() const ++{ ++ notImplemented(); ++ return 0; ++} ++ ++JSRetainPtr AccessibilityUIElement::speakAs() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::ariaIsGrabbed() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++JSRetainPtr AccessibilityUIElement::ariaDropEffects() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++int AccessibilityUIElement::lineForIndex(int) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++JSRetainPtr AccessibilityUIElement::rangeForLine(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::rangeForPosition(int, int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::boundsForRange(unsigned, unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::stringForRange(unsigned, unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributedStringForRange(unsigned, unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::attributedStringRangeIsMisspelled(unsigned, unsigned) ++{ ++ notImplemented(); ++ return false; ++} ++ ++unsigned AccessibilityUIElement::uiElementCountForSearchPredicate(JSContextRef, AccessibilityUIElement*, bool, JSValueRef, JSStringRef, bool, bool) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++RefPtr AccessibilityUIElement::uiElementForSearchPredicate(JSContextRef, AccessibilityUIElement*, bool, JSValueRef, JSStringRef, bool, bool) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::selectTextWithCriteria(JSContextRef, JSStringRef, JSValueRef, JSStringRef, JSStringRef) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfColumnHeaders() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfRowHeaders() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfColumns() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfRows() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfVisibleCells() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributesOfHeader() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++int AccessibilityUIElement::rowCount() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++int AccessibilityUIElement::columnCount() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++int AccessibilityUIElement::indexInTable() ++{ ++ notImplemented(); ++ return 0; ++} ++ ++JSRetainPtr AccessibilityUIElement::rowIndexRange() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::columnIndexRange() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::cellForColumnAndRow(unsigned, unsigned) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::horizontalScrollbar() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::verticalScrollbar() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::selectedTextRange() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::setSelectedTextRange(unsigned, unsigned) ++{ ++ notImplemented(); ++ return false; ++} ++ ++void AccessibilityUIElement::increment() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::decrement() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::showMenu() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::press() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::setSelectedChild(AccessibilityUIElement* element) const ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::setSelectedChildAtIndex(unsigned index) const ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::removeSelectionAtIndex(unsigned index) const ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::clearSelectedChildren() const ++{ ++ notImplemented(); ++} ++ ++JSRetainPtr AccessibilityUIElement::accessibilityValue() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::documentEncoding() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::documentURI() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::url() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::addNotificationListener(JSValueRef functionCallback) ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::removeNotificationListener() ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isFocusable() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isSelectable() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isMultiSelectable() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isVisible() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isOffScreen() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isCollapsed() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isIgnored() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isSingleLine() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::isMultiLine() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::hasPopup() const ++{ ++ notImplemented(); ++ return false; ++} ++ ++JSRetainPtr AccessibilityUIElement::popupValue() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++void AccessibilityUIElement::takeFocus() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::takeSelection() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::addSelection() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::removeSelection() ++{ ++ notImplemented(); ++} ++ ++RefPtr AccessibilityUIElement::lineTextMarkerRangeForTextMarker(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++int AccessibilityUIElement::textMarkerRangeLength(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++RefPtr AccessibilityUIElement::previousTextMarker(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::nextTextMarker(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::rectsForTextMarkerRange(AccessibilityTextMarkerRange*, JSStringRef) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::stringForTextMarkerRange(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::textMarkerRangeForMarkers(AccessibilityTextMarker*, AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::endTextMarkerForBounds(int, int, int, int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::startTextMarkerForBounds(int, int, int, int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::textMarkerForPoint(int, int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::accessibilityElementForTextMarker(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributedStringForTextMarkerRange(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions(AccessibilityTextMarkerRange*, bool) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute(JSStringRef, AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return false; ++} ++ ++int AccessibilityUIElement::indexForTextMarker(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return 0; ++} ++ ++bool AccessibilityUIElement::isTextMarkerValid(AccessibilityTextMarker*) ++{ ++ notImplemented(); ++ return false; ++} ++ ++RefPtr AccessibilityUIElement::textMarkerForIndex(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::startTextMarker() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++RefPtr AccessibilityUIElement::endTextMarker() ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::setSelectedTextMarkerRange(AccessibilityTextMarkerRange*) ++{ ++ notImplemented(); ++ return false; ++} ++ ++void AccessibilityUIElement::scrollToMakeVisible() ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::scrollToGlobalPoint(int, int) ++{ ++ notImplemented(); ++} ++ ++void AccessibilityUIElement::scrollToMakeVisibleWithSubFocus(int, int, int, int) ++{ ++ notImplemented(); ++} ++ ++JSRetainPtr AccessibilityUIElement::supportedActions() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::pathDescription() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::mathPostscriptsDescription() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::mathPrescriptsDescription() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::classList() const ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::characterAtOffset(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::wordAtOffset(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::lineAtOffset(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++JSRetainPtr AccessibilityUIElement::sentenceAtOffset(int) ++{ ++ notImplemented(); ++ return nullptr; ++} ++ ++bool AccessibilityUIElement::replaceTextInRange(JSStringRef, int, int) ++{ ++ notImplemented(); ++ return false; ++} ++ ++bool AccessibilityUIElement::insertText(JSStringRef) ++{ ++ notImplemented(); ++ return false; ++} ++ ++} // namespace WTF ++ ++#endif // !USE(ATSPI) && !USE(ATK) diff --git a/Tools/WebKitTestRunner/PlatformGTK.cmake b/Tools/WebKitTestRunner/PlatformGTK.cmake -index 44ebbc30033692f13543fdb50a86c921decd6a94..93edbf8c4084ff8400be2a13bbeb539a7a79f949 100644 +index a87adedcc0e1b67220f04e517097aae8fc640340..497777c13d0d083bee65710ced9fc6f03eac3778 100644 --- a/Tools/WebKitTestRunner/PlatformGTK.cmake +++ b/Tools/WebKitTestRunner/PlatformGTK.cmake -@@ -26,6 +26,7 @@ list(APPEND WebKitTestRunner_LIBRARIES +@@ -25,6 +25,7 @@ list(APPEND WebKitTestRunner_LIBRARIES ${GLIB_LIBRARIES} Cairo::Cairo GTK::GTK @@ -22086,11 +23440,21 @@ index 44ebbc30033692f13543fdb50a86c921decd6a94..93edbf8c4084ff8400be2a13bbeb539a ) list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES +@@ -42,6 +43,9 @@ list(APPEND WebKitTestRunnerInjectedBundle_SOURCES + InjectedBundle/atspi/AccessibilityNotificationHandler.cpp + InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp + ++ InjectedBundle/empty/AccessibilityControllerEmpty.cpp ++ InjectedBundle/empty/AccessibilityUIElementEmpty.cpp ++ + InjectedBundle/gtk/ActivateFontsGtk.cpp + InjectedBundle/gtk/InjectedBundleGtk.cpp + InjectedBundle/gtk/InjectedBundleUtilities.cpp diff --git a/Tools/WebKitTestRunner/PlatformWPE.cmake b/Tools/WebKitTestRunner/PlatformWPE.cmake -index f6b59db3c0eeb0612f25e85b29495cd990add74d..69df426e74d2f1336a24e744ae25915b14982d51 100644 +index 4f3640a8b93897d69604ee8ba38cd07561720ad2..00b657a8a585d104afc346dc1126fb718564be3e 100644 --- a/Tools/WebKitTestRunner/PlatformWPE.cmake +++ b/Tools/WebKitTestRunner/PlatformWPE.cmake -@@ -31,6 +31,7 @@ list(APPEND WebKitTestRunner_LIBRARIES +@@ -30,6 +30,7 @@ list(APPEND WebKitTestRunner_LIBRARIES ${WPEBACKEND_FDO_LIBRARIES} Cairo::Cairo WebKit::WPEToolingBackends @@ -22098,11 +23462,21 @@ index f6b59db3c0eeb0612f25e85b29495cd990add74d..69df426e74d2f1336a24e744ae25915b ) list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES +@@ -43,6 +44,9 @@ list(APPEND WebKitTestRunnerInjectedBundle_SOURCES + InjectedBundle/atspi/AccessibilityNotificationHandler.cpp + InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp + ++ InjectedBundle/empty/AccessibilityControllerEmpty.cpp ++ InjectedBundle/empty/AccessibilityUIElementEmpty.cpp ++ + InjectedBundle/wpe/ActivateFontsWPE.cpp + InjectedBundle/wpe/InjectedBundleWPE.cpp + InjectedBundle/wpe/TestRunnerWPE.cpp diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp -index 5f02b0ee8c854f36e70ee52693eef80f547ee56f..c79d3b319fa7b23a806678c55643abdf1ecdd19b 100644 +index a01cea42771ae0aba9d893736445859e1b1a992d..2ca4c7d886b2c32859fc688d8f9eb0b621328c5f 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp -@@ -834,6 +834,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) +@@ -859,6 +859,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) 0, // requestStorageAccessConfirm shouldAllowDeviceOrientationAndMotionAccess, runWebAuthenticationPanel,