diff --git a/browser_patches/webkit/BUILD_NUMBER b/browser_patches/webkit/BUILD_NUMBER index f39ae9fa73..e35a77875f 100644 --- a/browser_patches/webkit/BUILD_NUMBER +++ b/browser_patches/webkit/BUILD_NUMBER @@ -1,2 +1,2 @@ -1604 -Changed: yurys@chromium.org Thu, Jan 27, 2022 1:59:07 AM +1605 +Changed: dpino@igalia.com Fri Jan 28 01:07:39 UTC 2022 diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index a48dc4d8b5..d0315da657 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="77573cda704d9f2636036653ccaf367e18db4e59" +BASE_REVISION="72e357c25e134951f726b5c701034ab2c3b73466" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index e72b27a352..548789d567 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -1,8 +1,8 @@ diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt -index b98712175c9a7d9e4437ff35729a84c41ee8c64f..5b5ce85775b85502adb28fcabe4693ad59a4b8ba 100644 +index 37ce753743c353d58f66118b7837c8788e48197e..b82c7c1992b841dc0846366ded69bbe51096bd37 100644 --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -1341,22 +1341,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS +@@ -1342,22 +1342,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json @@ -502,7 +502,7 @@ index e81573fd0fffaaf6fd2af36635c78fcdf8608c69..4169e227b5fb5a3a7fb51396c4679100 // FrontendChannel FrontendChannel::ConnectionType connectionType() const; diff --git a/Source/JavaScriptCore/inspector/protocol/DOM.json b/Source/JavaScriptCore/inspector/protocol/DOM.json -index 3a91ac6b57fad7f472daa2e2107b3b483de70165..ff51e75762818b0bb5070ddf8de10e66018d63b0 100644 +index 31ef6b8ad406d5e11a566a986bb08e7562e3dc73..be2cf97da7bd3eff027faafbeda9e0ed1b10be56 100644 --- a/Source/JavaScriptCore/inspector/protocol/DOM.json +++ b/Source/JavaScriptCore/inspector/protocol/DOM.json @@ -80,6 +80,16 @@ @@ -522,10 +522,10 @@ index 3a91ac6b57fad7f472daa2e2107b3b483de70165..ff51e75762818b0bb5070ddf8de10e66 { "id": "EventListener", "type": "object", -@@ -168,6 +178,16 @@ - { "name": "borderColor", "$ref": "RGBAColor", "optional": true, "description": "The border highlight fill color (default: transparent)." }, - { "name": "marginColor", "$ref": "RGBAColor", "optional": true, "description": "The margin highlight fill color (default: transparent)." } - ] +@@ -177,6 +187,16 @@ + { "name": "pseudoId", "$ref": "CSS.PseudoId", "optional": true } + ], + "description": "An object referencing a node and a pseudo-element, primarily used to identify an animation effect target." + }, + { + "id": "FilePayload", @@ -539,7 +539,7 @@ index 3a91ac6b57fad7f472daa2e2107b3b483de70165..ff51e75762818b0bb5070ddf8de10e66 } ], "commands": [ -@@ -532,7 +552,9 @@ +@@ -541,7 +561,9 @@ "description": "Resolves JavaScript node object for given node id.", "targetTypes": ["page"], "parameters": [ @@ -550,7 +550,7 @@ index 3a91ac6b57fad7f472daa2e2107b3b483de70165..ff51e75762818b0bb5070ddf8de10e66 { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." } ], "returns": [ -@@ -599,6 +621,45 @@ +@@ -608,6 +630,45 @@ "parameters": [ { "name": "allow", "type": "boolean" } ] @@ -1954,20 +1954,20 @@ index dfe8ba87c6bed689f7f044d388b7c21b19936518..3de753ce55f0626e98d19a71c31f81f2 +_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 9acf4efd5918bc82271bc112c29d17a4babf40b3..ccb7d9aec31c97b49cb3e7472b06b11f61421cfe 100644 +index 9de6601e410b1d26b50489512a69d07697cd2151..98900ca074d5077350eb9c195ad20cbe217bdd86 100644 --- a/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig +++ b/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig -@@ -51,7 +51,7 @@ OUTPUT_ALTERNATE_ROOT_PATH = $(OUTPUT_ALTERNATE_ROOT_PATH_$(USE_SYSTEM_CONTENT_P - OUTPUT_ALTERNATE_ROOT_PATH_YES = $(DSTROOT)$(ALTERNATE_ROOT_PATH)/$(FULL_PRODUCT_NAME); +@@ -46,7 +46,7 @@ DYLIB_INSTALL_NAME_BASE_WK_RELOCATABLE_FRAMEWORKS_ = $(DYLIB_INSTALL_NAME_BASE); + 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; - PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/libwebrtc; - USE_HEADERMAP = NO; + 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 efd1b084e35f6cbab204ee1d3f4cb318459fd168..86e0796e7d202c2a93581fc0c946b82209675a1a 100644 +index 5354ce4e111c808b39fbd22fb5f147fedaa46726..99b5e1db2c997ce80fe07ef2e0d576b330a540a6 100644 --- a/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj +++ b/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj @@ -3870,6 +3870,9 @@ @@ -2015,16 +2015,16 @@ index efd1b084e35f6cbab204ee1d3f4cb318459fd168..86e0796e7d202c2a93581fc0c946b822 FB39D06E1200ED9200088E69 = { isa = PBXGroup; children = ( -@@ -17493,7 +17510,7 @@ +@@ -17494,7 +17511,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; -- shellScript = "PRIVATE_HEADERS_FOLDER_PATH=usr/local/include\n\nif [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\n PRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\n PRIVATE_HEADERS_PATH=\"${DSTROOT}${INSTALL_PATH_PREFIX%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/webrtc\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/abseil-cpp/absl\" \"${PRIVATE_HEADERS_PATH}\"\n"; -+ shellScript = "PRIVATE_HEADERS_FOLDER_PATH=usr/local/include\n\nif [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\n PRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\n PRIVATE_HEADERS_PATH=\"${DSTROOT}${INSTALL_PATH_PREFIX%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/webrtc\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/abseil-cpp/absl\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libyuv/include/\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --exclude \"src\" --exclude \"internal\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libvpx/source/libvpx/vpx\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libwebm/\" \"${PRIVATE_HEADERS_PATH}\"\n"; +- shellScript = "PRIVATE_HEADERS_FOLDER_PATH=usr/local/include\n\nif [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\n PRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\n PRIVATE_HEADERS_PATH=\"${DSTROOT}${INSTALL_PATH_PREFIX%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\necho \"#### PRIVATE_HEADERS_PATH = ${PRIVATE_HEADERS_PATH}\"\necho\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/webrtc\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/abseil-cpp/absl\" \"${PRIVATE_HEADERS_PATH}\"\n"; ++ shellScript = "PRIVATE_HEADERS_FOLDER_PATH=usr/local/include\n\nif [[ \"${DEPLOYMENT_LOCATION}\" == \"NO\" ]]; then\n PRIVATE_HEADERS_PATH=\"${TARGET_BUILD_DIR%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nelse\n PRIVATE_HEADERS_PATH=\"${DSTROOT}${INSTALL_PATH_PREFIX%/}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nfi;\n\necho \"#### PRIVATE_HEADERS_PATH = ${PRIVATE_HEADERS_PATH}\"\necho\n\nmkdir -p \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/webrtc\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/abseil-cpp/absl\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libyuv/include/\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --exclude \"src\" --exclude \"internal\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libvpx/source/libvpx/vpx\" \"${PRIVATE_HEADERS_PATH}\"\n\nrsync -av --no-owner --no-group --prune-empty-dirs --exclude \".svn\" --exclude \"usr\" --include \"*/\" --include \"*.h\" --exclude \"*\" \"${SRCROOT}/Source/third_party/libwebm/\" \"${PRIVATE_HEADERS_PATH}\"\n"; }; 5CD286461E6E154E0094FDC8 /* Check for Weak VTables and Externals */ = { isa = PBXShellScriptBuildPhase; -@@ -18636,6 +18653,7 @@ +@@ -18657,6 +18674,7 @@ 419C82F51FE20EB50040C30F /* audio_encoder_opus.cc in Sources */, 419C82F31FE20EB50040C30F /* audio_encoder_opus_config.cc in Sources */, 4140B8201E4E3383007409E6 /* audio_encoder_pcm.cc in Sources */, @@ -2032,7 +2032,7 @@ index efd1b084e35f6cbab204ee1d3f4cb318459fd168..86e0796e7d202c2a93581fc0c946b822 5CDD8FFE1E43CE3A00621E92 /* audio_encoder_pcm16b.cc in Sources */, 5CD285461E6A61D20094FDC8 /* audio_format.cc in Sources */, 41DDB26F212679D200296D47 /* audio_format_to_string.cc in Sources */, -@@ -19082,6 +19100,7 @@ +@@ -19103,6 +19121,7 @@ 417953DB216983910028266B /* metrics.cc in Sources */, 5CDD865E1E43B8B500621E92 /* min_max_operations.c in Sources */, 4189395B242A71F5007FDC41 /* min_video_bitrate_experiment.cc in Sources */, @@ -2040,7 +2040,7 @@ index efd1b084e35f6cbab204ee1d3f4cb318459fd168..86e0796e7d202c2a93581fc0c946b822 4131C387234B957D0028A615 /* moving_average.cc in Sources */, 41FCBB1521B1F7AA00A5DF27 /* moving_average.cc in Sources */, 5CD286101E6A64C90094FDC8 /* moving_max.cc in Sources */, -@@ -19312,6 +19331,7 @@ +@@ -19333,6 +19352,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 */, @@ -2080,10 +2080,10 @@ index feb5a80e0a27f12e5577582c3abdcf3c91932b1d..80392f95a6e39c4b8d314f48c4ac81ed type: bool humanReadableName: "Private Click Measurement" diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -index 8bf6b586e6f9ebd8af39f786701012db4c7b708a..c8f182987ddacf8d5b2fad4e0df6f00cae8861c0 100644 +index 98a9fa6f9816f9d45317ed1e651c2119ea491f44..a68ed3b42519efbcc9a2da151a84c5a07963ccae 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -@@ -457,7 +457,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -455,7 +455,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -2092,7 +2092,7 @@ index 8bf6b586e6f9ebd8af39f786701012db4c7b708a..c8f182987ddacf8d5b2fad4e0df6f00c WebCore: default: false -@@ -836,9 +836,9 @@ MaskWebGLStringsEnabled: +@@ -834,9 +834,9 @@ MaskWebGLStringsEnabled: WebKitLegacy: default: true WebKit: @@ -2104,7 +2104,7 @@ index 8bf6b586e6f9ebd8af39f786701012db4c7b708a..c8f182987ddacf8d5b2fad4e0df6f00c # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. MediaCapabilitiesExtensionsEnabled: -@@ -1316,7 +1316,7 @@ SpeechRecognitionEnabled: +@@ -1314,7 +1314,7 @@ SpeechRecognitionEnabled: WebKitLegacy: default: false WebKit: @@ -2114,7 +2114,7 @@ index 8bf6b586e6f9ebd8af39f786701012db4c7b708a..c8f182987ddacf8d5b2fad4e0df6f00c WebCore: default: false diff --git a/Source/WTF/wtf/DateMath.cpp b/Source/WTF/wtf/DateMath.cpp -index ebd69a4c76cd7acb0a233be552071158ca2171ca..2ee388e94a56d3de9c9fb2506d2ddead2db1ef87 100644 +index 01976e039682c467765ef77d54925dd84a4b7da1..b8c108fc4a165256f7fed2572fadac70a64770eb 100644 --- a/Source/WTF/wtf/DateMath.cpp +++ b/Source/WTF/wtf/DateMath.cpp @@ -76,9 +76,14 @@ @@ -2270,10 +2270,10 @@ index 664b0e29f6ba3ce4826e5109d73f86cc9bc6adfd..95e9875d933ff7b9219b2a1d89029b8a #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformEnableCocoa.h b/Source/WTF/wtf/PlatformEnableCocoa.h -index 7af4666a014579814cabd9160d6dd26917761d7b..a472a87e5a9723bd40ac4c888333553fe4791bd7 100644 +index e856592276aaf9b6e5c35ad391844624afa12a2b..6590f860f3894501563e9baca1713bd15224a874 100644 --- a/Source/WTF/wtf/PlatformEnableCocoa.h +++ b/Source/WTF/wtf/PlatformEnableCocoa.h -@@ -223,7 +223,7 @@ +@@ -219,7 +219,7 @@ #define ENABLE_DATA_DETECTION 1 #endif @@ -2295,7 +2295,7 @@ index 3901bfb0f5479064f4e7b67c90621ff26d74b580..5b3615a871d0d7123822394c94d5ce10 if (Journald_FOUND) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index 58c63708a34939fcdf38d495d621ee714cb38347..f6150859fd1142e813749ec6a885b0c4cecdecbe 100644 +index 8b0d16bfa57c9408ba6c85ba242c06dff70757b8..a41645d760b3dad78e50f7cc205afbdec32c0efe 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -391,7 +391,7 @@ @@ -2320,7 +2320,7 @@ index f8bedf1af5d20d9c93a96af565e416bfb0df6faa..a072e5e130822d3658cbab453aef8d16 if (Journald_FOUND) diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index b8007d1201af2ca6f32d53aed0189eaf532a2794..8b66cede53c2e78c237eef7a942b68f746dfc0f7 100644 +index 5aa8ed52d8f6c0c866c1806e1e770a8d76b73db8..5ccf6c6922db0a6de9f0221e53a49701243c41ab 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make @@ -957,6 +957,10 @@ JS_BINDING_IDLS := \ @@ -2334,7 +2334,7 @@ index b8007d1201af2ca6f32d53aed0189eaf532a2794..8b66cede53c2e78c237eef7a942b68f7 $(WebCore)/dom/Text.idl \ $(WebCore)/dom/TextDecoder.idl \ $(WebCore)/dom/TextDecoderStream.idl \ -@@ -1499,9 +1503,6 @@ JS_BINDING_IDLS := \ +@@ -1500,9 +1504,6 @@ JS_BINDING_IDLS := \ ADDITIONAL_BINDING_IDLS = \ DocumentTouch.idl \ GestureEvent.idl \ @@ -2421,10 +2421,10 @@ index cfbfe4f66dbc339e68179f4ceb48a02c3c122926..66050a7c29254f73d04273510b5e0642 set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index 2c3b4f81a52f56699cbfd412dfac0943666aeae7..7042354a987b2263b62c64772dde49e4f731a8a6 100644 +index dd404cf332079fb82a64213696952657b84369ec..0b321bc60d4206321fb2b0f687e950d5ac463970 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt -@@ -611,3 +611,9 @@ platform/graphics/angle/ANGLEUtilities.cpp @no-unify +@@ -613,3 +613,9 @@ platform/graphics/angle/ANGLEUtilities.cpp @no-unify platform/graphics/angle/ExtensionsGLANGLE.cpp @no-unify platform/graphics/angle/GraphicsContextGLANGLE.cpp @no-unify platform/graphics/angle/TemporaryANGLESetting.cpp @no-unify @@ -2474,7 +2474,7 @@ index fd058e8f614edba70fd0d104285864e768eceb5d..375547aee2755513950c253666eeb569 + +platform/wpe/SelectionData.cpp diff --git a/Source/WebCore/WebCore.order b/Source/WebCore/WebCore.order -index 33ac35df7d3d583c86d275654cadc1caf75b079a..2697718f3a9309df08493cdf78ef0abd0ceaf321 100644 +index c4898d6db6bf06552f602c4b7f0a7267e64e44f4..7cf2e30729671a89c373870c5691d337ec3f8a59 100644 --- a/Source/WebCore/WebCore.order +++ b/Source/WebCore/WebCore.order @@ -3090,7 +3090,6 @@ __ZN7WebCore14DocumentLoader23stopLoadingSubresourcesEv @@ -2486,10 +2486,10 @@ index 33ac35df7d3d583c86d275654cadc1caf75b079a..2697718f3a9309df08493cdf78ef0abd __ZN7WebCore14DocumentLoaderD2Ev __ZN7WebCore14DocumentLoader17clearMainResourceEv diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f0650f76677b 100644 +index 234aba304c5b6ba57c67498cd319c809a47c73f3..2a909cef686bb76f626d08bca3ddf32f10926a19 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -5474,6 +5474,13 @@ +@@ -5482,6 +5482,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, ); }; }; @@ -2503,7 +2503,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 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, ); }; }; -@@ -17694,6 +17701,14 @@ +@@ -17723,6 +17730,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 = ""; }; @@ -2518,7 +2518,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 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 = ""; }; -@@ -24004,7 +24019,12 @@ +@@ -24039,7 +24054,12 @@ 93D6B7A62551D3ED0058DD3A /* DummySpeechRecognitionProvider.h */, 1AF326770D78B9440068F0C4 /* EditorClient.h */, 93C09A800B064F00005ABD4D /* EventHandler.cpp */, @@ -2531,7 +2531,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 E0FEF371B27C53EAC1C1FBEE /* EventSource.cpp */, E0FEF371B17C53EAC1C1FBEE /* EventSource.h */, E0FEF371B07C53EAC1C1FBEE /* EventSource.idl */, -@@ -29950,6 +29970,8 @@ +@@ -30000,6 +30020,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2540,7 +2540,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, BCBB8AB513F1AFB000734DF0 /* PODInterval.h */, -@@ -32262,6 +32284,7 @@ +@@ -32312,6 +32334,7 @@ BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */, AD6E71AA1668899D00320C13 /* DocumentSharedObjectPool.cpp */, AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, @@ -2548,7 +2548,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, -@@ -33274,6 +33297,7 @@ +@@ -33324,6 +33347,7 @@ 93C4F6EB1108F9A50099D0DB /* AccessibilityScrollbar.h in Headers */, 29489FC712C00F0300D83F0F /* AccessibilityScrollView.h in Headers */, 0709FC4E1025DEE30059CDBA /* AccessibilitySlider.h in Headers */, @@ -2556,7 +2556,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 29D7BCFA1444AF7D0070619C /* AccessibilitySpinButton.h in Headers */, 69A6CBAD1C6BE42C00B836E9 /* AccessibilitySVGElement.h in Headers */, AAC08CF315F941FD00F1E188 /* AccessibilitySVGRoot.h in Headers */, -@@ -35400,6 +35424,7 @@ +@@ -35453,6 +35477,7 @@ 6E4ABCD5138EA0B70071D291 /* JSHTMLUnknownElement.h in Headers */, E44614170CD6826900FADA75 /* JSHTMLVideoElement.h in Headers */, 81BE20D311F4BC3200915DFA /* JSIDBCursor.h in Headers */, @@ -2564,7 +2564,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 7C3D8EF01E0B21430023B084 /* JSIDBCursorDirection.h in Headers */, C585A68311D4FB08004C3E4B /* JSIDBDatabase.h in Headers */, C585A69711D4FB13004C3E4B /* JSIDBFactory.h in Headers */, -@@ -36508,6 +36533,7 @@ +@@ -36563,6 +36588,7 @@ 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, @@ -2572,7 +2572,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, CD1F9B032700323D00617EB6 /* PlatformVideoMatrixCoefficients.h in Headers */, -@@ -38538,6 +38564,7 @@ +@@ -38596,6 +38622,7 @@ 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */, 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, @@ -2580,7 +2580,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 6E72F54C229DCD0C00B3E151 /* ExtensionsGLANGLE.cpp in Sources */, 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 5130F2F624AEA60A00E1D0A0 /* GameControllerSoftLink.mm in Sources */, -@@ -38609,6 +38636,7 @@ +@@ -38667,6 +38694,7 @@ 6E72F54F229DCD1300B3E151 /* TemporaryANGLESetting.cpp in Sources */, CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2588,7 +2588,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 538EC8031F96AF81004D22A8 /* UnifiedSource1-mm.mm in Sources */, 538EC8021F96AF81004D22A8 /* UnifiedSource1.cpp in Sources */, 538EC8051F96AF81004D22A8 /* UnifiedSource2-mm.mm in Sources */, -@@ -38657,6 +38685,7 @@ +@@ -38715,6 +38743,7 @@ 538EC8881F993F9C004D22A8 /* UnifiedSource23.cpp in Sources */, DE5F85801FA1ABF4006DB63A /* UnifiedSource24-mm.mm in Sources */, 538EC8891F993F9D004D22A8 /* UnifiedSource24.cpp in Sources */, @@ -2596,7 +2596,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 DE5F85811FA1ABF4006DB63A /* UnifiedSource25-mm.mm in Sources */, 538EC88A1F993F9D004D22A8 /* UnifiedSource25.cpp in Sources */, DE5F85821FA1ABF4006DB63A /* UnifiedSource26-mm.mm in Sources */, -@@ -39189,6 +39218,7 @@ +@@ -39247,6 +39276,7 @@ 2D8B92F1203D13E1009C868F /* UnifiedSource516.cpp in Sources */, 2D8B92F2203D13E1009C868F /* UnifiedSource517.cpp in Sources */, 2D8B92F3203D13E1009C868F /* UnifiedSource518.cpp in Sources */, @@ -2605,7 +2605,7 @@ index b081b6a19d3dd5fb67fb16e7bfa9c7586ff9f1ad..46ed7eca39ef08d10aecfdbe9616f065 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 12726d1d241c4050866a0180c6b15cde137c2734..1604eb929be75055986a80a468f503230f415966 100644 +index 95db0f344fd847ccf6144260f257fc7bf996b68e..72741e339c2d4aa7f5df4f36393570d4bdc0a03c 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp @@ -61,6 +61,7 @@ @@ -2616,7 +2616,7 @@ index 12726d1d241c4050866a0180c6b15cde137c2734..1604eb929be75055986a80a468f50323 #include "LocalizedStrings.h" #include "MathMLNames.h" #include "NodeList.h" -@@ -3611,10 +3612,15 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -3616,10 +3617,15 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (useParentData ? m_isIgnoredFromParentData.isPresentationalChildOfAriaRole : isPresentationalChildOfAriaRole()) return AccessibilityObjectInclusion::IgnoreObject; @@ -2674,7 +2674,7 @@ index 345cc24534bc0451867035faa033bdf5cd0604f6..59f4a45331219709e98bbc35c479e78b if (!value) return userPrefersReducedMotion; diff --git a/Source/WebCore/dom/DataTransfer.cpp b/Source/WebCore/dom/DataTransfer.cpp -index 1deac4f41cf49f1f882dccefd48cf6a9732f3ed9..c691eeccd75fc76f5df367b9fb5b95435e92ab79 100644 +index 86ab889bc0ea15a547357fb64dff9f10b862dc54..ec5f9a66c29431a1bbf24c4013e45042d584965c 100644 --- a/Source/WebCore/dom/DataTransfer.cpp +++ b/Source/WebCore/dom/DataTransfer.cpp @@ -494,6 +494,14 @@ Ref DataTransfer::createForDrag(const Document& document) @@ -2915,10 +2915,10 @@ index a2377bc1f2b46aa4f48816fc37061e09a49c9762..2a93fc1b820e6ac2e0d071b4b7197fca return; diff --git a/Source/WebCore/inspector/InspectorController.cpp b/Source/WebCore/inspector/InspectorController.cpp -index 833c0ba844f87bced9b2430138ec7676c883bffc..ea8adf5a94705ff9e7c1ec8301a980a4d48e83d0 100644 +index 0ea5d77fe5a35f8bcaa51b363a58db1ee0386376..75e29876dbf8812fc0b402ed9bc71f07af1b1ad9 100644 --- a/Source/WebCore/inspector/InspectorController.cpp +++ b/Source/WebCore/inspector/InspectorController.cpp -@@ -382,8 +382,8 @@ void InspectorController::inspect(Node* node) +@@ -387,8 +387,8 @@ void InspectorController::inspect(Node* node) if (!enabled()) return; @@ -2929,7 +2929,7 @@ index 833c0ba844f87bced9b2430138ec7676c883bffc..ea8adf5a94705ff9e7c1ec8301a980a4 ensureDOMAgent().inspect(node); } -@@ -524,4 +524,24 @@ void InspectorController::didComposite(Frame& frame) +@@ -529,4 +529,24 @@ void InspectorController::didComposite(Frame& frame) InspectorInstrumentation::didComposite(frame); } @@ -2955,7 +2955,7 @@ index 833c0ba844f87bced9b2430138ec7676c883bffc..ea8adf5a94705ff9e7c1ec8301a980a4 + } // namespace WebCore diff --git a/Source/WebCore/inspector/InspectorController.h b/Source/WebCore/inspector/InspectorController.h -index f6fec7cfbcbd2d7fba30bdd3138e0edfb3f69054..519786c307944a5ca4ba468513ba257b8c28def2 100644 +index 7e8752d156bd0aec787eb1c056be11f37cb16b9e..af1464e343dab656d0c817a92beca1fa2305cde2 100644 --- a/Source/WebCore/inspector/InspectorController.h +++ b/Source/WebCore/inspector/InspectorController.h @@ -101,6 +101,10 @@ public: @@ -2967,7 +2967,7 @@ index f6fec7cfbcbd2d7fba30bdd3138e0edfb3f69054..519786c307944a5ca4ba468513ba257b + WEBCORE_EXPORT void didShowNewWindow(); + // Testing support. - bool isUnderTest() const { return m_isUnderTest; } + WEBCORE_EXPORT bool isUnderTest() const; void setIsUnderTest(bool isUnderTest) { m_isUnderTest = isUnderTest; } @@ -153,6 +157,7 @@ private: bool m_isAutomaticInspection { false }; @@ -2978,7 +2978,7 @@ index f6fec7cfbcbd2d7fba30bdd3138e0edfb3f69054..519786c307944a5ca4ba468513ba257b } // namespace WebCore diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp -index 3c978e3f4421cf35a2061dfce0d1e0aae511349a..236f45965debfe32fdb7a9fd75f5d7ee0439cb51 100644 +index fa92adcea9ef8572e2aa853a2072cc645fac10fd..dc994c365d50712a9bd208a33f26f21daebbc82a 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.cpp +++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp @@ -572,6 +572,13 @@ void InspectorInstrumentation::applyUserAgentOverrideImpl(InstrumentingAgents& i @@ -3110,7 +3110,7 @@ index 3c978e3f4421cf35a2061dfce0d1e0aae511349a..236f45965debfe32fdb7a9fd75f5d7ee { if (is(context)) diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h -index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25c812d3d0 100644 +index 777a7ed4c082bd24ef719956e2a653744e0755f3..ec2d0dafb058d56955c5f5309379cd726e8b12e0 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.h +++ b/Source/WebCore/inspector/InspectorInstrumentation.h @@ -31,6 +31,7 @@ @@ -3137,7 +3137,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 class HTTPHeaderMap; class InspectorTimelineAgent; class InstrumentingAgents; -@@ -187,6 +190,7 @@ public: +@@ -189,6 +192,7 @@ public: static void didRecalculateStyle(Document&); static void didScheduleStyleRecalculation(Document&); static void applyUserAgentOverride(Frame&, String&); @@ -3145,7 +3145,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static void applyEmulatedMedia(Frame&, String&); static void willSendRequest(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*); -@@ -196,6 +200,7 @@ public: +@@ -198,6 +202,7 @@ public: static void didReceiveData(Frame*, ResourceLoaderIdentifier, const SharedBuffer&, int encodedDataLength); static void didFinishLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*); static void didFailLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&); @@ -3153,7 +3153,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static void willSendRequest(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, ResourceRequest&); static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceResponse&); -@@ -222,11 +227,11 @@ public: +@@ -224,11 +229,11 @@ public: static void frameDetachedFromParent(Frame&); static void didCommitLoad(Frame&, DocumentLoader*); static void frameDocumentUpdated(Frame&); @@ -3166,7 +3166,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) static void defaultAppearanceDidChange(Page&, bool useDarkAppearance); #endif -@@ -313,6 +318,12 @@ public: +@@ -315,6 +320,12 @@ public: static void layerTreeDidChange(Page*); static void renderLayerDestroyed(Page*, const RenderLayer&); @@ -3179,7 +3179,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static void frontendCreated(); static void frontendDeleted(); static bool hasFrontends() { return InspectorInstrumentationPublic::hasFrontends(); } -@@ -329,6 +340,8 @@ public: +@@ -331,6 +342,8 @@ public: static void registerInstrumentingAgents(InstrumentingAgents&); static void unregisterInstrumentingAgents(InstrumentingAgents&); @@ -3188,7 +3188,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 private: static void didClearWindowObjectInWorldImpl(InstrumentingAgents&, Frame&, DOMWrapperWorld&); static bool isDebuggerPausedImpl(InstrumentingAgents&); -@@ -406,6 +419,7 @@ private: +@@ -408,6 +421,7 @@ private: static void didRecalculateStyleImpl(InstrumentingAgents&); static void didScheduleStyleRecalculationImpl(InstrumentingAgents&, Document&); static void applyUserAgentOverrideImpl(InstrumentingAgents&, String&); @@ -3196,7 +3196,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static void applyEmulatedMediaImpl(InstrumentingAgents&, String&); static void willSendRequestImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*); -@@ -417,6 +431,7 @@ private: +@@ -419,6 +433,7 @@ private: static void didReceiveDataImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const SharedBuffer&, int encodedDataLength); static void didFinishLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*); static void didFailLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&); @@ -3204,7 +3204,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString); -@@ -427,11 +442,11 @@ private: +@@ -429,11 +444,11 @@ private: static void frameDetachedFromParentImpl(InstrumentingAgents&, Frame&); static void didCommitLoadImpl(InstrumentingAgents&, Frame&, DocumentLoader*); static void frameDocumentUpdatedImpl(InstrumentingAgents&, Frame&); @@ -3217,7 +3217,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) static void defaultAppearanceDidChangeImpl(InstrumentingAgents&, bool useDarkAppearance); #endif -@@ -513,6 +528,12 @@ private: +@@ -515,6 +530,12 @@ private: static void layerTreeDidChangeImpl(InstrumentingAgents&); static void renderLayerDestroyedImpl(InstrumentingAgents&, const RenderLayer&); @@ -3230,7 +3230,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 static InstrumentingAgents& instrumentingAgents(Page&); static InstrumentingAgents& instrumentingAgents(WorkerOrWorkletGlobalScope&); -@@ -1031,6 +1052,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(Frame& frame, Strin +@@ -1033,6 +1054,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(Frame& frame, Strin applyUserAgentOverrideImpl(*agents, userAgent); } @@ -3244,7 +3244,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 inline void InspectorInstrumentation::applyEmulatedMedia(Frame& frame, String& media) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1119,6 +1147,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& +@@ -1121,6 +1149,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error); } @@ -3258,7 +3258,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) { // Treat the same as didReceiveResponse. -@@ -1209,13 +1244,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(Frame& frame) +@@ -1211,13 +1246,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(Frame& frame) frameDocumentUpdatedImpl(*agents, frame); } @@ -3272,7 +3272,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 inline void InspectorInstrumentation::frameStartedLoading(Frame& frame) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1244,6 +1272,13 @@ inline void InspectorInstrumentation::frameClearedScheduledNavigation(Frame& fra +@@ -1246,6 +1274,13 @@ inline void InspectorInstrumentation::frameClearedScheduledNavigation(Frame& fra frameClearedScheduledNavigationImpl(*agents, frame); } @@ -3286,7 +3286,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) inline void InspectorInstrumentation::defaultAppearanceDidChange(Page& page, bool useDarkAppearance) { -@@ -1674,6 +1709,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren +@@ -1676,6 +1711,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren renderLayerDestroyedImpl(*agents, renderLayer); } @@ -3330,7 +3330,7 @@ index 82acced20cfd5131b2502f099a9c4fa2fdd616eb..38accfb77a0e47dd8213fe9a4b6abf25 { return context ? instrumentingAgents(*context) : nullptr; diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp -index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1d01df665 100644 +index f2eeb4979b81480cfe751f94ec108bf51f576e4b..a453677c10eb085a9560513ae604faa840d9ab71 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp @@ -62,12 +62,16 @@ @@ -3365,7 +3365,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 #include "StaticNodeList.h" #include "StyleProperties.h" #include "StyleResolver.h" -@@ -132,7 +139,8 @@ using namespace HTMLNames; +@@ -133,7 +140,8 @@ using namespace HTMLNames; static const size_t maxTextSize = 10000; static const UChar ellipsisUChar[] = { 0x2026, 0 }; @@ -3375,7 +3375,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 { if (!colorObject) return std::nullopt; -@@ -151,7 +159,7 @@ static std::optional parseColor(RefPtr&& colorObject) +@@ -152,7 +160,7 @@ static std::optional parseColor(RefPtr&& colorObject) static Color parseConfigColor(const String& fieldName, JSON::Object& configObject) { @@ -3384,7 +3384,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 } static bool parseQuad(Ref&& quadArray, FloatQuad* quad) -@@ -432,6 +440,20 @@ Node* InspectorDOMAgent::assertNode(Protocol::ErrorString& errorString, Protocol +@@ -433,6 +441,20 @@ Node* InspectorDOMAgent::assertNode(Protocol::ErrorString& errorString, Protocol return node; } @@ -3405,7 +3405,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 Document* InspectorDOMAgent::assertDocument(Protocol::ErrorString& errorString, Protocol::DOM::NodeId nodeId) { Node* node = assertNode(errorString, nodeId); -@@ -1382,16 +1404,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::highlightSelector(Ref InspectorDOMAgent::highlightSelector(Ref InspectorDOMAgent::highlightNode(Ref&& highlightInspectorObject, std::optional&& nodeId, const Protocol::Runtime::RemoteObjectId& objectId) { Protocol::ErrorString errorString; @@ -3423,7 +3423,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 if (!node) return makeUnexpected(errorString); -@@ -1593,15 +1606,136 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: +@@ -1630,15 +1643,136 @@ Protocol::ErrorStringOr InspectorDOMAgent::setInspectedNode(Protocol::DOM: return { }; } @@ -3522,7 +3522,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 + absoluteBounds.setHeight(LayoutUnit(std::max(*height, 1.0))); + } + ScrollAlignment alignment = ScrollAlignment::alignCenterIfNeeded; -+ alignment.m_disableMinThreshold = true; // Disable RenderLayer minium horizontal scroll threshold. ++ alignment.m_enableLegacyHorizontalVisibilityThreshold = true; + renderer->scrollRectToVisible(absoluteBounds, insideFixed, { SelectionRevealMode::Reveal, alignment, alignment, ShouldAllowCrossOriginScrolling::Yes }); + return { }; +} @@ -3564,7 +3564,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 if (!object) return makeUnexpected("Missing injected script for given nodeId"_s); -@@ -2839,7 +2973,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath +@@ -2876,7 +3010,7 @@ Protocol::ErrorStringOr InspectorDOMAgent::pushNodeByPath return makeUnexpected("Missing node for given path"_s); } @@ -3573,7 +3573,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 { Document* document = &node->document(); if (auto* templateHost = document->templateDocumentHost()) -@@ -2848,12 +2982,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod +@@ -2885,12 +3019,18 @@ RefPtr InspectorDOMAgent::resolveNode(Node* nod if (!frame) return nullptr; @@ -3595,7 +3595,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 } Node* InspectorDOMAgent::scriptValueAsNode(JSC::JSValue value) -@@ -2876,4 +3016,42 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT +@@ -2913,4 +3053,42 @@ Protocol::ErrorStringOr InspectorDOMAgent::setAllowEditingUserAgentShadowT return { }; } @@ -3639,7 +3639,7 @@ index 7a790bb23c8f37af57e4284b367cad9d679a434f..a8b090780ff0811a0ac7614ee6ad3da1 + } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.h b/Source/WebCore/inspector/agents/InspectorDOMAgent.h -index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55a6568545 100644 +index eec24d3eea0c6930c5be29ed653bc549c021ab42..3b0859be4b8b4247f2ebea501651d4dff917cd99 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.h +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.h @@ -57,6 +57,7 @@ namespace WebCore { @@ -3650,7 +3650,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 class DOMEditor; class Document; class Element; -@@ -86,6 +87,7 @@ public: +@@ -88,6 +89,7 @@ public: static String toErrorString(Exception&&); static String documentURLString(Document*); @@ -3658,7 +3658,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 // We represent embedded doms as a part of the same hierarchy. Hence we treat children of frame owners differently. // We also skip whitespace text nodes conditionally. Following methods encapsulate these specifics. -@@ -129,7 +131,7 @@ public: +@@ -131,7 +133,7 @@ public: Inspector::Protocol::ErrorStringOr> performSearch(const String& query, RefPtr&& nodeIds, std::optional&& caseSensitive); Inspector::Protocol::ErrorStringOr>> getSearchResults(const String& searchId, int fromIndex, int toIndex); Inspector::Protocol::ErrorStringOr discardSearchResults(const String& searchId); @@ -3667,7 +3667,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 Inspector::Protocol::ErrorStringOr>> getAttributes(Inspector::Protocol::DOM::NodeId); #if PLATFORM(IOS_FAMILY) Inspector::Protocol::ErrorStringOr setInspectModeEnabled(bool, RefPtr&& highlightConfig); -@@ -154,6 +156,10 @@ public: +@@ -156,6 +158,10 @@ public: Inspector::Protocol::ErrorStringOr focus(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::ErrorStringOr setInspectedNode(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::ErrorStringOr setAllowEditingUserAgentShadowTrees(bool); @@ -3678,7 +3678,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 // InspectorInstrumentation Inspector::Protocol::DOM::NodeId identifierForNode(Node&); -@@ -191,7 +197,7 @@ public: +@@ -195,7 +201,7 @@ public: Node* nodeForId(Inspector::Protocol::DOM::NodeId); Inspector::Protocol::DOM::NodeId boundNodeId(const Node*); @@ -3687,7 +3687,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 bool handleMousePress(); void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags); void inspect(Node*); -@@ -202,12 +208,15 @@ public: +@@ -206,12 +212,15 @@ public: void reset(); Node* assertNode(Inspector::Protocol::ErrorString&, Inspector::Protocol::DOM::NodeId); @@ -3703,7 +3703,7 @@ index 4eb63b7985721ac6ea6003c884989179c78eda00..b0e628854f24c15a25fbad6aebab1c55 private: #if ENABLE(VIDEO) void mediaMetricsTimerFired(); -@@ -236,7 +245,6 @@ private: +@@ -240,7 +249,6 @@ private: void processAccessibilityChildren(AXCoreObject&, JSON::ArrayOf&); Node* nodeForPath(const String& path); @@ -5353,7 +5353,7 @@ index 16edb3bc689b8e2dde17597b642b706c1343e1f5..f363b2ca2410f22cff8d6ad908a88527 private: diff --git a/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp b/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp -index 7d61ae508253a1ecdadbd1150ef81fefb2332038..dec4608d2d8680d96a5187f315e7db8b51d6b7b7 100644 +index 9f9c10efd706b48e08cd26828fee8acb873ce376..89e423d712201bb2e3f1df595f6344144f8d6538 100644 --- a/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp +++ b/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp @@ -307,7 +307,7 @@ void LineLayout::updateFormattingRootGeometryAndInvalidate() @@ -5388,10 +5388,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 2670371ab31f20663dcc79a4f07aa68a685fd832..f368586fec29fd4eca071e06e42ee6d884fa50f0 100644 +index 359b63851868423c37a10063501a4df06d9adbaa..3e5593c61d5a73eff267423080c29b2a79291766 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp -@@ -1467,8 +1467,6 @@ void DocumentLoader::detachFromFrame() +@@ -1471,8 +1471,6 @@ void DocumentLoader::detachFromFrame() if (!m_frame) return; @@ -5419,18 +5419,18 @@ index c2bea6f6a69b836472c0aff7a0d7070396ba6c2b..80af07d2f4327a400c85b65b640bcfa2 DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994f451eba5 100644 +index 8e3be5f9bbca2131c5c8328b4d9167a362fab780..61ea93785529207f08e7ae37fed39500af6bac3c 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp -@@ -1154,6 +1154,7 @@ void FrameLoader::loadInSameDocument(const URL& url, SerializedScriptValue* stat +@@ -1154,6 +1154,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat } m_client->dispatchDidNavigateWithinPage(); + InspectorInstrumentation::didNavigateWithinPage(m_frame); - m_frame.document()->statePopped(stateObject ? Ref { *stateObject } : SerializedScriptValue::nullValue()); + m_frame.document()->statePopped(stateObject ? stateObject.releaseNonNull() : SerializedScriptValue::nullValue()); m_client->dispatchDidPopStateWithinPage(); -@@ -1590,6 +1591,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1591,6 +1592,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t const String& httpMethod = loader->request().httpMethod(); if (shouldPerformFragmentNavigation(isFormSubmission, httpMethod, policyChecker().loadType(), newURL)) { @@ -5439,7 +5439,7 @@ index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994 RefPtr oldDocumentLoader = m_documentLoader; NavigationAction action { *m_frame.document(), loader->request(), InitiatedByMainFrame::Unknown, policyChecker().loadType(), isFormSubmission }; -@@ -1632,7 +1635,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1633,7 +1636,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t } RELEASE_ASSERT(!isBackForwardLoadType(policyChecker().loadType()) || history().provisionalItem()); @@ -5449,7 +5449,7 @@ index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994 continueLoadAfterNavigationPolicy(request, formState.get(), navigationPolicyDecision, allowNavigationToInvalidURL); completionHandler(); }, PolicyDecisionMode::Asynchronous); -@@ -2797,12 +2802,17 @@ String FrameLoader::userAgent(const URL& url) const +@@ -2798,12 +2803,17 @@ String FrameLoader::userAgent(const URL& url) const String FrameLoader::navigatorPlatform() const { @@ -5469,7 +5469,7 @@ index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994 } void FrameLoader::dispatchOnloadEvents() -@@ -3208,6 +3218,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3209,6 +3219,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (m_frame.page()) checkLoadComplete(); @@ -5478,7 +5478,7 @@ index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994 } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, bool shouldContinue) -@@ -3975,9 +3987,6 @@ String FrameLoader::referrer() const +@@ -3976,9 +3988,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5488,7 +5488,7 @@ index 2df49958f62b72ff357f2ba8ff380c9ea5760019..50a13cbc13a42476aad8be56017ff994 Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -3986,13 +3995,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -3987,13 +3996,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { @@ -5781,7 +5781,7 @@ index 8cc8df1ac26cd347924d76bdbfec92af910e1369..5df20918a9b9e0b89f8b4747f2e615c1 request.setHTTPHeaderField(HTTPHeaderName::Accept, "text/event-stream"); request.setHTTPHeaderField(HTTPHeaderName::CacheControl, "no-cache"); diff --git a/Source/WebCore/page/Frame.cpp b/Source/WebCore/page/Frame.cpp -index 86f9a7be3eba0dbf2b275c751cc843ddaa74a5c1..15551d2f74b3871470324253b755a35cf437a53c 100644 +index a47ea0d84400580cebe121c89ebc0f877247fc88..f97db5fd5276e52731663248a19032fe5cdc1783 100644 --- a/Source/WebCore/page/Frame.cpp +++ b/Source/WebCore/page/Frame.cpp @@ -39,6 +39,7 @@ @@ -5817,7 +5817,7 @@ index 86f9a7be3eba0dbf2b275c751cc843ddaa74a5c1..15551d2f74b3871470324253b755a35c return 0; } #endif // ENABLE(ORIENTATION_EVENTS) -@@ -1163,6 +1166,362 @@ DataDetectionResultsStorage& Frame::dataDetectionResults() +@@ -1150,6 +1153,362 @@ DataDetectionResultsStorage& Frame::dataDetectionResults() #endif @@ -6181,7 +6181,7 @@ index 86f9a7be3eba0dbf2b275c751cc843ddaa74a5c1..15551d2f74b3871470324253b755a35c #undef FRAME_RELEASE_LOG_ERROR diff --git a/Source/WebCore/page/Frame.h b/Source/WebCore/page/Frame.h -index 53644eb195e17cd2fd7fc41b142ad1b76e4b6ccd..05915f61ef809c19ad4a4c9b0bdd64144e6495bc 100644 +index e04c9441e3108073ad589bd8e8fa00bdd3396236..03c38ed4db722c4911dafef41b76ada0d0b339e7 100644 --- a/Source/WebCore/page/Frame.h +++ b/Source/WebCore/page/Frame.h @@ -112,8 +112,8 @@ enum { @@ -6216,7 +6216,7 @@ index 53644eb195e17cd2fd7fc41b142ad1b76e4b6ccd..05915f61ef809c19ad4a4c9b0bdd6414 WEBCORE_EXPORT NSArray *wordsInCurrentParagraph() const; WEBCORE_EXPORT CGRect renderRectForPoint(CGPoint, bool* isReplaced, float* fontSize) const; -@@ -299,6 +299,7 @@ public: +@@ -296,6 +296,7 @@ public: WEBCORE_EXPORT FloatSize screenSize() const; void setOverrideScreenSize(FloatSize&&); @@ -6224,7 +6224,7 @@ index 53644eb195e17cd2fd7fc41b142ad1b76e4b6ccd..05915f61ef809c19ad4a4c9b0bdd6414 void selfOnlyRef(); void selfOnlyDeref(); -@@ -337,7 +338,6 @@ private: +@@ -334,7 +335,6 @@ private: #if ENABLE(DATA_DETECTION) std::unique_ptr m_dataDetectionResults; #endif @@ -6232,7 +6232,7 @@ index 53644eb195e17cd2fd7fc41b142ad1b76e4b6ccd..05915f61ef809c19ad4a4c9b0bdd6414 void betterApproximateNode(const IntPoint& testPoint, const NodeQualifier&, Node*& best, Node* failedNode, IntPoint& bestPoint, IntRect& bestRect, const IntRect& testRect); bool hitTestResultAtViewportLocation(const FloatPoint& viewportLocation, HitTestResult&, IntPoint& center); -@@ -345,6 +345,7 @@ private: +@@ -342,6 +342,7 @@ private: enum class ShouldFindRootEditableElement : bool { No, Yes }; Node* qualifyingNodeAtViewportLocation(const FloatPoint& viewportLocation, FloatPoint& adjustedViewportLocation, const NodeQualifier&, ShouldApproximate, ShouldFindRootEditableElement = ShouldFindRootEditableElement::Yes); @@ -6311,7 +6311,7 @@ index 28d1fc3242174a680711027877d4153923790220..058b5309eed081fcc1e4158f66e80642 if (stateObjectType == StateObjectType::Push) { frame->loader().history().pushState(WTFMove(data), title, fullURL.string()); diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp -index 7b23b237ecf4e920de656f06a59bff35318df184..10375b21607d99279eb58237b2880f0ce1944510 100644 +index c881b26ba28dd587e17f8eb389d4250b40891ff7..c8ffdec490644d8fcb7aae9d852da5afc9f9ec85 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp @@ -470,6 +470,37 @@ void Page::setOverrideViewportArguments(const std::optional& @@ -6381,7 +6381,7 @@ index 7b23b237ecf4e920de656f06a59bff35318df184..10375b21607d99279eb58237b2880f0c { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 58443de149267d1e2374ad0bd9f9aa243fd37e4a..9f053a30d450dba4af6e7fc161d94d1624c1ac00 100644 +index be7f81390482ab9185b201689cd249165e551fdf..7cf220ddec3c51cf31eb6480793c1ca98c7a6b0c 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h @@ -271,6 +271,9 @@ public: @@ -6414,7 +6414,7 @@ index 58443de149267d1e2374ad0bd9f9aa243fd37e4a..9f053a30d450dba4af6e7fc161d94d16 #if ENABLE(TEXT_AUTOSIZING) float textAutosizingWidth() const { return m_textAutosizingWidth; } -@@ -884,6 +893,11 @@ public: +@@ -886,6 +895,11 @@ public: WEBCORE_EXPORT Vector> editableElementsInRect(const FloatRect&) const; @@ -6426,7 +6426,7 @@ index 58443de149267d1e2374ad0bd9f9aa243fd37e4a..9f053a30d450dba4af6e7fc161d94d16 #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -990,6 +1004,9 @@ private: +@@ -992,6 +1006,9 @@ private: #if ENABLE(DRAG_SUPPORT) const std::unique_ptr m_dragController; @@ -6436,7 +6436,7 @@ index 58443de149267d1e2374ad0bd9f9aa243fd37e4a..9f053a30d450dba4af6e7fc161d94d16 #endif const std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1069,6 +1086,7 @@ private: +@@ -1071,6 +1088,7 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6444,7 +6444,7 @@ index 58443de149267d1e2374ad0bd9f9aa243fd37e4a..9f053a30d450dba4af6e7fc161d94d16 #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1247,6 +1265,11 @@ private: +@@ -1249,6 +1267,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -7112,7 +7112,7 @@ index 8677d106bf2d0f53044b47fba0e6736efcd3aeb6..9b28f9d917536d2c2699f613adf296bb WEBCORE_EXPORT String dataURL(CGImageRef, CFStringRef destinationUTI, const String& mimeType, std::optional quality); diff --git a/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h -index 70a084bd9eb6375bcec4ac89b95092aad8c146b4..6bc9698129073a49e474537905600743b6a5bd35 100644 +index b60f9a64bacc8282860da6de299b75aeb295b9b5..55bd017c03c6478ca334bd5ef164160fef5d5302 100644 --- a/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h +++ b/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h @@ -23,6 +23,7 @@ @@ -7862,11 +7862,11 @@ index a34dc220bbb9a92b40dfb463e8724e81ac745b2c..8ecedd5dae88469366a619b96960598c { switch (val) { diff --git a/Source/WebCore/platform/network/HTTPHeaderMap.cpp b/Source/WebCore/platform/network/HTTPHeaderMap.cpp -index 39cb560e54bf9efd2dad6e1fb60dd0f609daf6bf..91c132460d4b466f61a8c579f70329fdde3b130f 100644 +index d80c5bd6c03df52ad1139ce434c4a4a533814ea7..41840f4de0952eb93bcde790414431e8e2846c4b 100644 --- a/Source/WebCore/platform/network/HTTPHeaderMap.cpp +++ b/Source/WebCore/platform/network/HTTPHeaderMap.cpp -@@ -205,8 +205,11 @@ void HTTPHeaderMap::add(HTTPHeaderName name, const String& value) - auto index = m_commonHeaders.findMatching([&](auto& header) { +@@ -206,8 +206,11 @@ void HTTPHeaderMap::add(HTTPHeaderName name, const String& value) + auto index = m_commonHeaders.findIf([&](auto& header) { return header.key == name; }); + // Align with Chromium and Firefox, but just for SetCookies where it is critical: @@ -7879,10 +7879,10 @@ index 39cb560e54bf9efd2dad6e1fb60dd0f609daf6bf..91c132460d4b466f61a8c579f70329fd m_commonHeaders.append(CommonHeader { name, value }); } diff --git a/Source/WebCore/platform/network/NetworkStorageSession.h b/Source/WebCore/platform/network/NetworkStorageSession.h -index 31bc15743684309822fdd8ce3873d74757b2c484..91052a0cabf088b30717247e9919510f7574694d 100644 +index 3309945bd49a690a65f73ec3ed3d7b245ac0272d..603d36fbf22900b4e9ee0b9b43baab48c79f0a29 100644 --- a/Source/WebCore/platform/network/NetworkStorageSession.h +++ b/Source/WebCore/platform/network/NetworkStorageSession.h -@@ -154,6 +154,8 @@ public: +@@ -155,6 +155,8 @@ public: NetworkingContext* context() const; #endif @@ -7926,10 +7926,10 @@ index 262e53180d6dd7c4d133ddc1daf5652bd6f31c76..d09aed9c9c58afe3c2040e1d5d683374 if constexpr (Decoder::isIPCDecoder) { std::optional> networkLoadMetrics; diff --git a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -index b28ebbddea4fba00a321d18d20bef45bd0392ac7..7291be7bb171ad99142147270389152b1bd34eb5 100644 +index 299fc4bd2ebcf707755474450a4d79dde678befe..7aa466ee71c74603d68d335846712f05816eae8d 100644 --- a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm +++ b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -@@ -466,6 +466,22 @@ void NetworkStorageSession::setCookiesFromDOM(const URL& firstParty, const SameS +@@ -475,6 +475,22 @@ void NetworkStorageSession::setCookiesFromDOM(const URL& firstParty, const SameS END_BLOCK_OBJC_EXCEPTIONS } @@ -8698,19 +8698,6 @@ index 0000000000000000000000000000000000000000..cf2b51f6f02837a1106f4d999f2f130e +}; + +} // namespace WebCore -diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp -index 096d5f177227fc9c86f2f54a605e74d5967edc5c..91ef0ae08f39f40275f913ff65ec405ea8712603 100644 ---- a/Source/WebCore/rendering/RenderLayer.cpp -+++ b/Source/WebCore/rendering/RenderLayer.cpp -@@ -2628,7 +2628,7 @@ LayoutRect RenderLayer::getRectToExpose(const LayoutRect& visibleRect, const Lay - ScrollAlignment::Behavior scrollX; - LayoutRect exposeRectX(exposeRect.x(), visibleRect.y(), exposeRect.width(), visibleRect.height()); - LayoutUnit intersectWidth = intersection(visibleRect, exposeRectX).width(); -- if (intersectWidth == exposeRect.width() || intersectWidth >= MIN_INTERSECT_FOR_REVEAL) -+ if (intersectWidth == exposeRect.width() || (intersectWidth >= MIN_INTERSECT_FOR_REVEAL && !alignX.m_disableMinThreshold)) - // If the rectangle is fully visible, use the specified visible behavior. - // If the rectangle is partially visible, but over a certain threshold, - // then treat it as fully visible to avoid unnecessary horizontal scrolling diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp index 8a1daa67c777db06b9abe95c5ba01f15c69fbdf7..2f579e5744ea0a12e65a1c4e652d176357d7ce1f 100644 --- a/Source/WebCore/rendering/RenderTextControl.cpp @@ -8745,20 +8732,8 @@ index 2e90534ffd8da83b7dc54d46fa7def16319bbb43..2493c00d58957751c65c37eb409fa8d6 // Returns the line height of the inner renderer. int innerLineHeight() const override; #endif -diff --git a/Source/WebCore/rendering/ScrollAlignment.h b/Source/WebCore/rendering/ScrollAlignment.h -index 694008e0451edc5770142a0a6d9eed52b04ded80..ec93869f9486bdf7bd3bb56478c62469d2fa58b6 100644 ---- a/Source/WebCore/rendering/ScrollAlignment.h -+++ b/Source/WebCore/rendering/ScrollAlignment.h -@@ -78,6 +78,7 @@ struct ScrollAlignment { - Behavior m_rectVisible; - Behavior m_rectHidden; - Behavior m_rectPartial; -+ bool m_disableMinThreshold = false; - }; - - WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollAlignment::Behavior); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index 8eebd22cfc8a57ac5cf7ddddccb6246bae3099cd..53571361e8cce1028e40404ca43d6cc4e200af2b 100644 +index f5b7db1603cabf8594f48c8f23a426ab972b7f39..131688cb854503eab1d51572aa52d29dc0843a7e 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -77,6 +77,11 @@ @@ -8773,7 +8748,7 @@ index 8eebd22cfc8a57ac5cf7ddddccb6246bae3099cd..53571361e8cce1028e40404ca43d6cc4 #if ENABLE(APPLE_PAY_REMOTE_UI) #include "WebPaymentCoordinatorProxyMessages.h" #endif -@@ -435,6 +440,10 @@ void NetworkConnectionToWebProcess::createSocketStream(URL&& url, String cachePa +@@ -465,6 +470,10 @@ void NetworkConnectionToWebProcess::createSocketStream(URL&& url, String cachePa if (auto* session = networkSession()) acceptInsecureCertificates = session->shouldAcceptInsecureCertificatesForWebSockets(); #endif @@ -8784,7 +8759,7 @@ index 8eebd22cfc8a57ac5cf7ddddccb6246bae3099cd..53571361e8cce1028e40404ca43d6cc4 m_networkSocketStreams.add(identifier, NetworkSocketStream::create(m_networkProcess.get(), WTFMove(url), m_sessionID, cachePartition, identifier, m_connection, WTFMove(token), acceptInsecureCertificates)); } -@@ -978,6 +987,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) +@@ -1008,6 +1017,14 @@ void NetworkConnectionToWebProcess::clearPageSpecificData(PageIdentifier pageID) #endif } @@ -8800,10 +8775,10 @@ index 8eebd22cfc8a57ac5cf7ddddccb6246bae3099cd..53571361e8cce1028e40404ca43d6cc4 void NetworkConnectionToWebProcess::removeStorageAccessForFrame(FrameIdentifier frameID, PageIdentifier pageID) { diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -index 653fd5eeb51dccb60be98516c160baa8f77e06f2..672a2e836d33d4f5c096e31ec9caee77573c5980 100644 +index 0a6e684012f399ca1f2e1e6581441c0b5b6aa08a..a97221e53302e650eb550a37605bab0251954831 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h -@@ -289,6 +289,8 @@ private: +@@ -294,6 +294,8 @@ private: void clearPageSpecificData(WebCore::PageIdentifier); @@ -8813,7 +8788,7 @@ index 653fd5eeb51dccb60be98516c160baa8f77e06f2..672a2e836d33d4f5c096e31ec9caee77 void removeStorageAccessForFrame(WebCore::FrameIdentifier, WebCore::PageIdentifier); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in -index 650b2aa683709618f589a1bd5326ddcf99173d34..ef552f2f8e7d339a487322de32ce802451c7a633 100644 +index 242835050b24970c5eac1e26bf86b5b025a80e53..7e5277d3613d45054d349ce4935202ff4d176e1f 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in @@ -66,6 +66,8 @@ messages -> NetworkConnectionToWebProcess LegacyReceiver { @@ -8826,7 +8801,7 @@ index 650b2aa683709618f589a1bd5326ddcf99173d34..ef552f2f8e7d339a487322de32ce8024 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 26bd1071994b3f827bd7d5974539af149c1622ca..5c4ae23e0ffc43d68b192806377d5d7586fb75d8 100644 +index 310c6c51a309c4548c2fd0dcb99319ca9ab84ee9..1422b8acf9f21fdc6b32957412f77a539521b708 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp @@ -26,7 +26,6 @@ @@ -8996,7 +8971,7 @@ index 73c35fc615f88a8d313848a4384875ac7d42505e..eaecae4ba4eda91ed39ecf35d075bc63 StorageManager& m_storageManager; unsigned m_quotaInBytes { 0 }; diff --git a/Source/WebKit/NetworkProcess/WebStorage/StorageArea.cpp b/Source/WebKit/NetworkProcess/WebStorage/StorageArea.cpp -index c84ead430ab15d94fd8ef2533d6e492872b6e12b..06bffb27005e00041d22673ababe603885307e84 100644 +index 0c41ab92e31f49d6a5a949a403728c2aa9d040b1..4c5b378abb10ab1ba93543477e841f4ba1243dee 100644 --- a/Source/WebKit/NetworkProcess/WebStorage/StorageArea.cpp +++ b/Source/WebKit/NetworkProcess/WebStorage/StorageArea.cpp @@ -112,6 +112,18 @@ void StorageArea::setItem(IPC::Connection::UniqueID sourceConnection, StorageAre @@ -9892,7 +9867,7 @@ index ebd51f5461fd35aa408fcde6927a16186374f6a9..fc2274d0f5b03f5ff3eb5b20060b24c4 GtkSettingsState gtkSettings; #endif diff --git a/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp b/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp -index fa0df4dee312b35a2f0906d486c031aa4827c0cd..a62103448444508ea03c21ac66f8a48e8feb60bf 100644 +index e0ba73dedb9c0aa3f9dfe17b95930832a3757d45..309e0a7ced75558611e89aad7c8276b29a5731ce 100644 --- a/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp +++ b/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp @@ -161,7 +161,9 @@ bool defaultOfflineWebApplicationCacheEnabled() @@ -10219,10 +10194,10 @@ index 85d6f74114f4e7f82d9502d1b99d69098d6a49b6..6896c9756edb233dda46c7031e1af699 return WebTouchEvent(); } diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index 44573109ae3323d69e0227bd7aa415a3cb8793f6..66b0ca8dcd4f79f56646cbb0db2408246e93d2c6 100644 +index c5c856f9cd6941ef2d4fdac2f5cd1384a1de9ce8..26863378e832b7ca2915a81c5d351d07ef84b285 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt -@@ -390,11 +390,14 @@ Shared/XR/XRDeviceProxy.cpp +@@ -391,11 +391,14 @@ Shared/XR/XRDeviceProxy.cpp UIProcess/AuxiliaryProcessProxy.cpp UIProcess/BackgroundProcessResponsivenessTimer.cpp @@ -10237,7 +10212,7 @@ index 44573109ae3323d69e0227bd7aa415a3cb8793f6..66b0ca8dcd4f79f56646cbb0db240824 UIProcess/LegacyGlobalSettings.cpp UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp UIProcess/MediaKeySystemPermissionRequestProxy.cpp -@@ -403,6 +406,7 @@ UIProcess/PageLoadState.cpp +@@ -404,6 +407,7 @@ UIProcess/PageLoadState.cpp UIProcess/ProcessAssertion.cpp UIProcess/ProcessThrottler.cpp UIProcess/ProvisionalPageProxy.cpp @@ -10245,7 +10220,7 @@ index 44573109ae3323d69e0227bd7aa415a3cb8793f6..66b0ca8dcd4f79f56646cbb0db240824 UIProcess/ResponsivenessTimer.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp -@@ -444,6 +448,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -445,6 +449,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -10254,7 +10229,7 @@ index 44573109ae3323d69e0227bd7aa415a3cb8793f6..66b0ca8dcd4f79f56646cbb0db240824 UIProcess/WebPageProxy.cpp UIProcess/WebPasteboardProxy.cpp UIProcess/WebPreferences.cpp -@@ -565,7 +571,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -566,7 +572,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -10267,10 +10242,10 @@ index 44573109ae3323d69e0227bd7aa415a3cb8793f6..66b0ca8dcd4f79f56646cbb0db240824 UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index 11f0c2405ac9474be8f8e805feebc8f1bb696002..8c9b418e4c26456fe968d0dd9ce02d5b67a97301 100644 +index 7bfee083fcf9227c7f5f8496d97ee8ab90e5aa1f..0fbd5c21e6cac0aeddcae4b2bde3557a1bb24ed8 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt -@@ -270,6 +270,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm +@@ -271,6 +271,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm UIProcess/API/Cocoa/_WKAttachment.mm UIProcess/API/Cocoa/_WKAutomationSession.mm UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm @@ -10278,7 +10253,7 @@ index 11f0c2405ac9474be8f8e805feebc8f1bb696002..8c9b418e4c26456fe968d0dd9ce02d5b UIProcess/API/Cocoa/_WKContentRuleListAction.mm UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm UIProcess/API/Cocoa/_WKCustomHeaderFields.mm @no-unify -@@ -444,6 +445,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm +@@ -445,6 +446,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm @@ -11193,7 +11168,7 @@ index 78d1578f94793e9e59a3d4d2b33e79ea8530fa04..493cdadac3873508b3efa3048638e73a #endif +int webkitWebContextExistingCount(); diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp -index 4e5d73257144b51dd42a4efacc70eefcce853e95..eef10d6772ca98525717ad1834aa78cb6846a5eb 100644 +index 10a109fb921f5dc20f08ace52595eeda55d7181a..1ff2154a7c14ef74a15c8edbba37dda7ce58fdb4 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp @@ -32,6 +32,7 @@ @@ -11308,7 +11283,7 @@ index fbab1afe9ca09f5e6a6793f5065f08fc76bfedaf..23f66f4da6229d88271e4b732414088b bool webkitWebViewIsScriptDialogRunning(WebKitWebView*, WebKitScriptDialog*); String webkitWebViewGetCurrentScriptDialogMessage(WebKitWebView*); diff --git a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp -index b89538ba8a21dad79088072edfa11d2aa1df2077..ed0808db6d125c34d8d9bef40c4ab8b4322a5068 100644 +index 5156fcf72f37b89e53c3dc59c329cb311b69c26f..2ed6ca1d9166d9a11695915dd06d32544604c7fd 100644 --- a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp @@ -251,6 +251,8 @@ void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool @@ -11408,10 +11383,10 @@ index 0000000000000000000000000000000000000000..9f1a0173a5641d6f158d815b8f7b9ea6 + +#endif diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -index 559a89bfc0279e16a7a7b2321d0b8931f224d332..dbaa0a13b4eb87deddbb67056aab7cef5cc201f6 100644 +index 573d7fed66270124e05ecf7ba45604427e0a5205..32a8dc2384eab884aa5c497f008d783d36176596 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp -@@ -2490,6 +2490,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) +@@ -2491,6 +2491,11 @@ void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) #endif } @@ -11424,7 +11399,7 @@ index 559a89bfc0279e16a7a7b2321d0b8931f224d332..dbaa0a13b4eb87deddbb67056aab7cef { ASSERT(webkitWebViewBase->priv->acceleratedBackingStore); diff --git a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h -index 187df5e92217097766a94ad21ec631273a9764fa..64720ed966eba1578fa0a869561dd7bab2e15e0e 100644 +index 9a1b30d8a0a78b97a58c4b7ab0ec405f9db3c381..86c8a2caa381220a3a4388b03740e2fb7b77df6d 100644 --- a/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h +++ b/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h @@ -27,6 +27,7 @@ @@ -12068,7 +12043,7 @@ index 8a95a3f8036bb0c664954c23ba3ecf72058ae711..dd10e28e2499cd84be2d072dc7567050 namespace WebKit { diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -index 9a033db5e7184f23054f8c2dacd4be0630a79ba6..69e036901b7bd20b27a19d03d5e112a0f83d321e 100644 +index 3d1e64c215a223fb7168ffd42be358488f5254b1..8d447e8fbaaa9bdf9ae867227f3b24b554fc7503 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h @@ -95,6 +95,7 @@ private: @@ -12079,7 +12054,7 @@ index 9a033db5e7184f23054f8c2dacd4be0630a79ba6..69e036901b7bd20b27a19d03d5e112a0 void presentStorageAccessConfirmDialog(const WTF::String& requestingDomain, const WTF::String& currentDomain, CompletionHandler&&); void requestStorageAccessConfirm(WebPageProxy&, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, CompletionHandler&&) final; void decidePolicyForGeolocationPermissionRequest(WebPageProxy&, WebFrameProxy&, const FrameInfoData&, Function&) final; -@@ -192,6 +193,7 @@ private: +@@ -193,6 +194,7 @@ private: bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler : 1; @@ -12088,7 +12063,7 @@ index 9a033db5e7184f23054f8c2dacd4be0630a79ba6..69e036901b7bd20b27a19d03d5e112a0 bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRequestGeolocationPermissionForFrameDecisionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index ddfc67d695731931eca4eb39926fb5b6e874a5a6..bf4d9f9b5caa1c93ae7d7ce650b3f9c90af7e57e 100644 +index f9d63139c03f815a6e700e9b3cc9193a7d4ed64c..38d72f827d35078dcc10eacaa3fcce5416edd6fe 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm @@ -110,6 +110,7 @@ void UIDelegate::setDelegate(id delegate) @@ -15802,7 +15777,7 @@ index 5169d71f5840b1a2ac43249683ae38ade7bb118c..124c925378a5d41bb73c84e547f1743b virtual RefPtr takeViewSnapshot(std::optional&&) = 0; #endif diff --git a/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp b/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp -index f38122a34a1cba9c4f4abc6835425969d411739a..8f7fa65c7fc548db74c4581cb69f17638075b966 100644 +index 63454a9e28f95f2621fef1cd7c5701edb69523ea..790175f6d65867c8074a47d1e42a9678b8c4ee33 100644 --- a/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp +++ b/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp @@ -644,3 +644,5 @@ bool ProvisionalPageProxy::sendMessage(UniqueRef&& encoder, Option @@ -16833,10 +16808,10 @@ index 0000000000000000000000000000000000000000..48c9ccc420c1b4ae3259e1d5ba17fd8f + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1d5eaaf27 100644 +index f240ff4902bfa1b640c0742bbb6a9dc25c740717..98c5df470279db08fc1c3a35432b4966a7113936 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp -@@ -246,6 +246,9 @@ +@@ -247,6 +247,9 @@ #if PLATFORM(GTK) #include "GtkSettingsManager.h" @@ -16846,7 +16821,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 #include #endif -@@ -613,6 +616,10 @@ WebPageProxy::~WebPageProxy() +@@ -618,6 +621,10 @@ WebPageProxy::~WebPageProxy() if (m_preferences->mediaSessionCoordinatorEnabled()) GroupActivitiesSessionNotifier::sharedNotifier().removeWebPage(*this); #endif @@ -16857,7 +16832,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::addAllMessageReceivers() -@@ -1014,6 +1021,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) +@@ -1019,6 +1026,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) m_pageLoadState.didSwapWebProcesses(); if (reason != ProcessLaunchReason::InitialProcess) m_drawingArea->waitForBackingStoreUpdateOnNextPaint(); @@ -16865,7 +16840,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::didAttachToRunningProcess() -@@ -1367,6 +1375,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() +@@ -1372,6 +1380,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() return m_process; } @@ -16887,7 +16862,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 RefPtr WebPageProxy::loadRequest(ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData) { if (m_isClosed) -@@ -1915,6 +1938,31 @@ void WebPageProxy::setControlledByAutomation(bool controlled) +@@ -1920,6 +1943,31 @@ void WebPageProxy::setControlledByAutomation(bool controlled) websiteDataStore().networkProcess().send(Messages::NetworkProcess::SetSessionIsControlledByAutomation(m_websiteDataStore->sessionID(), m_controlledByAutomation), 0); } @@ -16919,7 +16894,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 void WebPageProxy::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) { MESSAGE_CHECK(m_process, !targetId.isEmpty()); -@@ -2105,6 +2153,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpd +@@ -2110,6 +2158,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpd { bool wasVisible = isViewVisible(); m_activityState.remove(flagsToUpdate); @@ -16945,7 +16920,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 if (flagsToUpdate & ActivityState::IsFocused && pageClient().isViewFocused()) m_activityState.add(ActivityState::IsFocused); if (flagsToUpdate & ActivityState::WindowIsActive && pageClient().isViewWindowActive()) -@@ -2688,6 +2755,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -2693,6 +2760,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag { if (!hasRunningProcess()) return; @@ -16954,7 +16929,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 #if PLATFORM(GTK) UNUSED_PARAM(dragStorageName); UNUSED_PARAM(sandboxExtensionHandle); -@@ -2698,6 +2767,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -2703,6 +2772,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag m_process->assumeReadAccessToBaseURL(*this, url); ASSERT(dragData.platformData()); @@ -16963,7 +16938,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 send(Messages::WebPage::PerformDragControllerAction(action, dragData.clientPosition(), dragData.globalPosition(), dragData.draggingSourceOperationMask(), *dragData.platformData(), dragData.flags())); #else send(Messages::WebPage::PerformDragControllerAction(action, dragData, sandboxExtensionHandle, sandboxExtensionsForUpload)); -@@ -2713,18 +2784,41 @@ void WebPageProxy::didPerformDragControllerAction(std::optional dragOperationMask) { if (!hasRunningProcess()) -@@ -2733,6 +2827,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo +@@ -2738,6 +2832,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo setDragCaretRect({ }); } @@ -17033,7 +17008,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 void WebPageProxy::didPerformDragOperation(bool handled) { pageClient().didPerformDragOperation(handled); -@@ -2745,8 +2857,18 @@ void WebPageProxy::didStartDrag() +@@ -2750,8 +2862,18 @@ void WebPageProxy::didStartDrag() discardQueuedMouseEvents(); send(Messages::WebPage::DidStartDrag()); @@ -17053,7 +17028,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 void WebPageProxy::dragCancelled() { if (hasRunningProcess()) -@@ -2851,16 +2973,38 @@ void WebPageProxy::processNextQueuedMouseEvent() +@@ -2856,16 +2978,38 @@ void WebPageProxy::processNextQueuedMouseEvent() m_process->startResponsivenessTimer(); } @@ -17099,7 +17074,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3024,7 +3168,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3029,7 +3173,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -17108,7 +17083,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 const EventNames& names = eventNames(); for (auto& touchPoint : touchStartEvent.touchPoints()) { IntPoint location = touchPoint.location(); -@@ -3057,7 +3201,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent +@@ -3062,7 +3206,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent m_touchAndPointerEventTracking.touchStartTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchMoveTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchEndTracking = TrackingType::Synchronous; @@ -17117,7 +17092,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } TrackingType WebPageProxy::touchEventTrackingType(const WebTouchEvent& touchStartEvent) const -@@ -3446,6 +3590,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3451,6 +3595,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A policyAction = PolicyAction::Download; if (policyAction != PolicyAction::Use || !frame.isMainFrame() || !navigation) { @@ -17126,7 +17101,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 receivedPolicyDecision(policyAction, navigation, WTFMove(policies), WTFMove(navigationAction), WTFMove(sender)); return; } -@@ -3514,6 +3660,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3519,6 +3665,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) { @@ -17134,7 +17109,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 if (!hasRunningProcess()) { sender->send(PolicyDecision { sender->identifier(), isNavigatingToAppBoundDomain(), PolicyAction::Ignore, 0, std::nullopt, std::nullopt }); return; -@@ -4250,6 +4397,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -4255,6 +4402,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17146,7 +17121,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { m_pluginScaleFactor = pluginScaleFactor; -@@ -4597,6 +4749,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) +@@ -4602,6 +4754,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) return; m_navigationState->didDestroyNavigation(navigationID); @@ -17154,7 +17129,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -4821,6 +4974,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -4826,6 +4979,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17163,7 +17138,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 // 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; -@@ -5292,7 +5447,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(FrameIdentifier frameID, +@@ -5297,7 +5452,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) { @@ -17179,7 +17154,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, -@@ -5858,6 +6020,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5863,6 +6025,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa if (originatingPage) openerAppInitiatedState = originatingPage->lastNavigationWasAppInitiated(); @@ -17187,7 +17162,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 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); -@@ -5904,6 +6067,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5909,6 +6072,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17195,7 +17170,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } void WebPageProxy::exitFullscreenImmediately() -@@ -5939,6 +6103,10 @@ void WebPageProxy::closePage() +@@ -5944,6 +6108,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17206,7 +17181,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -5975,6 +6143,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -5980,6 +6148,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 { @@ -17215,7 +17190,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -5996,6 +6166,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -6001,6 +6171,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17224,7 +17199,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 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 { -@@ -6019,6 +6191,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -6024,6 +6196,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17233,7 +17208,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 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 { -@@ -6146,6 +6320,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -6151,6 +6325,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17242,7 +17217,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. m_process->stopResponsivenessTimer(); -@@ -7385,6 +7561,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7390,6 +7566,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (auto* automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17251,7 +17226,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } break; } -@@ -7399,10 +7577,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7404,10 +7582,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) pageClient().wheelEventWasNotHandledByWebCore(oldestProcessedEvent); } @@ -17268,7 +17243,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 break; } -@@ -7411,7 +7592,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7416,7 +7597,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()); @@ -17276,7 +17251,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); auto event = m_keyEventQueue.takeFirst(); MESSAGE_CHECK(m_process, type == event.type()); -@@ -7430,7 +7610,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7435,7 +7615,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); @@ -17284,7 +17259,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 pageClient().doneWithKeyEvent(event, handled); if (!handled) m_uiClient->didNotHandleKeyEvent(this, event); -@@ -7439,6 +7618,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7444,6 +7623,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (!canProcessMoreKeyEvents) { if (auto* automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17292,7 +17267,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 } break; } -@@ -7793,7 +7973,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -7798,7 +7978,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%{public}s", processTerminationReasonToString(reason)); @@ -17304,7 +17279,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -8185,6 +8368,7 @@ static Span mediaRelatedIOKitClasses() +@@ -8190,6 +8373,7 @@ static Span mediaRelatedIOKitClasses() WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -17312,7 +17287,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -8380,6 +8564,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -8385,6 +8569,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.shouldRelaxThirdPartyCookieBlocking = m_configuration->shouldRelaxThirdPartyCookieBlocking(); parameters.canUseCredentialStorage = m_canUseCredentialStorage; @@ -17321,7 +17296,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 #if PLATFORM(GTK) parameters.gtkSettings = GtkSettingsManager::singleton().settingsState(); #endif -@@ -8461,6 +8647,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even +@@ -8466,6 +8652,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even void WebPageProxy::didReceiveAuthenticationChallengeProxy(Ref&& authenticationChallenge, NegotiatedLegacyTLS negotiatedLegacyTLS) { @@ -17336,7 +17311,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -8554,6 +8748,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -8559,6 +8753,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17353,7 +17328,7 @@ index f4b310facb7d1045f43bb56fdf03233a6de7b677..284cf3367613a2596e5b12dde11d6ca1 // 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 8c6599da9751e283a37508f990b5e5e9c7ed1636..5f036c2c19825d85dcb4638a4963f769d4d1a968 100644 +index 0c86060b3c0b48c5e606f158506853a26ff03084..55a712771519767c6b46707456486740274ccad7 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -39,6 +39,7 @@ @@ -17475,7 +17450,7 @@ index 8c6599da9751e283a37508f990b5e5e9c7ed1636..5f036c2c19825d85dcb4638a4963f769 #endif #if ENABLE(WEB_CRYPTO) -@@ -2632,6 +2661,7 @@ private: +@@ -2636,6 +2665,7 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17483,7 +17458,7 @@ index 8c6599da9751e283a37508f990b5e5e9c7ed1636..5f036c2c19825d85dcb4638a4963f769 #if PLATFORM(COCOA) WeakObjCPtr m_cocoaView; -@@ -2896,6 +2926,20 @@ private: +@@ -2900,6 +2930,20 @@ private: unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; WebCore::IntRect m_currentDragCaretRect; WebCore::IntRect m_currentDragCaretEditableElementRect; @@ -17504,7 +17479,7 @@ index 8c6599da9751e283a37508f990b5e5e9c7ed1636..5f036c2c19825d85dcb4638a4963f769 #endif PageLoadState m_pageLoadState; -@@ -3105,6 +3149,9 @@ private: +@@ -3109,6 +3153,9 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17515,7 +17490,7 @@ index 8c6599da9751e283a37508f990b5e5e9c7ed1636..5f036c2c19825d85dcb4638a4963f769 #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 b1703f67b04267c050b05f7b47cf72519c7622e7..f665db973d9d509b45c4964ee2a3a23ab837e180 100644 +index a866e5362d96c476f8d74dcd517b1ca96a29077c..120c6301cac349929e4faa434a38880157be3936 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { @@ -17550,10 +17525,10 @@ index b1703f67b04267c050b05f7b47cf72519c7622e7..f665db973d9d509b45c4964ee2a3a23a DidPerformDragOperation(bool handled) #endif diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index 60b9411d6091208186f6075af2997ac6dcd07588..1f4ae44aa932d20650930488133ce97e4bc32a5a 100644 +index 66d49fac3ea64159b1c824a20fee419f70de3457..311a06964cf2ca6c1c6adbab5c59b4493031fbfd 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp -@@ -532,6 +532,14 @@ void WebProcessPool::establishWorkerContextConnectionToNetworkProcess(NetworkPro +@@ -539,6 +539,14 @@ void WebProcessPool::establishWorkerContextConnectionToNetworkProcess(NetworkPro // Arbitrarily choose the first process pool to host the service worker process. auto* processPool = processPools()[0]; @@ -17568,7 +17543,7 @@ index 60b9411d6091208186f6075af2997ac6dcd07588..1f4ae44aa932d20650930488133ce97e ASSERT(processPool); WebProcessProxy* serviceWorkerProcessProxy { nullptr }; -@@ -804,8 +812,12 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa +@@ -811,8 +819,12 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa #endif parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); @@ -17584,7 +17559,7 @@ index 60b9411d6091208186f6075af2997ac6dcd07588..1f4ae44aa932d20650930488133ce97e 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 4c1c4b4a50efa40c7b1af78b8b84a4f7919b10e1..5684dc51ee130b500ca802868149db5ea0c46ce1 100644 +index 3bbe03a7dae2ed6779468332c0c45c7430bd857b..e08178580e5a890867c704a9c9193c7ff5004bec 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -143,6 +143,11 @@ HashMap& WebProcessProxy::allProcesses() @@ -17634,7 +17609,7 @@ index 08cecfebfe0de44b1f5a4b5011405e1fd81509fe..6566b59b11756c7e1eee5f379e14e588 void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index 6db82c1e03f5975571955c9e5b7b606e3bf42c03..870482803cb36223dd57dcce493c059ece645e72 100644 +index 6bc69369c33832869dea1f5daa50e79faa6e7bf9..3da31804209b64b42941c951e48986377f09cbc3 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -88,6 +88,7 @@ class SecKeyProxyStore; @@ -17668,7 +17643,7 @@ index 6db82c1e03f5975571955c9e5b7b606e3bf42c03..870482803cb36223dd57dcce493c059e class WebsiteDataStore : public API::ObjectImpl, public Identified, public CanMakeWeakPtr { public: static Ref defaultDataStore(); -@@ -289,11 +299,13 @@ public: +@@ -286,11 +296,13 @@ public: const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; } #endif @@ -17683,7 +17658,7 @@ index 6db82c1e03f5975571955c9e5b7b606e3bf42c03..870482803cb36223dd57dcce493c059e void setNetworkProxySettings(WebCore::SoupNetworkProxySettings&&); const WebCore::SoupNetworkProxySettings& networkProxySettings() const { return m_networkProxySettings; } void setCookiePersistentStorage(const String&, SoupCookiePersistentStorageType); -@@ -354,6 +366,14 @@ public: +@@ -351,6 +363,14 @@ public: static WTF::String defaultJavaScriptConfigurationDirectory(); static bool http3Enabled(); @@ -17698,7 +17673,7 @@ index 6db82c1e03f5975571955c9e5b7b606e3bf42c03..870482803cb36223dd57dcce493c059e void resetQuota(CompletionHandler&&); void clearStorage(CompletionHandler&&); -@@ -437,9 +457,11 @@ private: +@@ -434,9 +454,11 @@ private: WebCore::CurlProxySettings m_proxySettings; #endif @@ -17711,7 +17686,7 @@ index 6db82c1e03f5975571955c9e5b7b606e3bf42c03..870482803cb36223dd57dcce493c059e WebCore::SoupNetworkProxySettings m_networkProxySettings; String m_cookiePersistentStoragePath; SoupCookiePersistentStorageType m_cookiePersistentStorageType { SoupCookiePersistentStorageType::SQLite }; -@@ -467,6 +489,11 @@ private: +@@ -464,6 +486,11 @@ private: RefPtr m_cookieStore; RefPtr m_networkProcess; @@ -18711,7 +18686,7 @@ index 34e2d00746ebb079719becbe781f5bc6cea1d480..bf496a6327b962f8f40c207c9e2023d2 void getContextMenuItem(const WebContextMenuItemData&, CompletionHandler&&); void getContextMenuFromItems(const Vector&, CompletionHandler&&); diff --git a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm -index d59fcb12f2d2a0adc227b0fdc256f5cafea9384c..d0c7fed1aa604741edf72b4249e67c3271f0f86e 100644 +index e1f02a70963c950a080d2ccc6dce136c2fd1c54c..e2a033a88ea44fe1d007d9b33feaf945c34ee6ba 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm @@ -370,6 +370,12 @@ void WebContextMenuProxyMac::getShareMenuItem(CompletionHandler(loadParameters.shouldTreatAsContinuingLoad), loadParameters.request.isAppInitiated(), valueOrDefault(loadParameters.existingNetworkResourceLoadIdentifierToResume).toUInt64()); +@@ -1947,17 +1966,13 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) view->resize(viewSize); m_drawingArea->setNeedsDisplay(); @@ -20633,7 +20608,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 // Viewport properties have no impact on zero sized fixed viewports. if (m_viewSize.isEmpty()) -@@ -1964,20 +1979,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -1974,20 +1989,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg ViewportAttributes attr = computeViewportAttributes(viewportArguments, minimumLayoutFallbackWidth, deviceWidth, deviceHeight, 1, m_viewSize); @@ -20661,7 +20636,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 #if USE(COORDINATED_GRAPHICS) m_drawingArea->didChangeViewportAttributes(WTFMove(attr)); -@@ -1985,7 +1998,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -1995,7 +2008,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); #endif } @@ -20669,7 +20644,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset) { -@@ -2280,6 +2292,7 @@ void WebPage::scaleView(double scale) +@@ -2290,6 +2302,7 @@ void WebPage::scaleView(double scale) } m_page->setViewScaleFactor(scale); @@ -20677,7 +20652,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 scalePage(pageScale, scrollPositionAtNewScale); } -@@ -2384,17 +2397,13 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum +@@ -2394,17 +2407,13 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum viewportConfigurationChanged(); #endif @@ -20696,7 +20671,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 } void WebPage::listenForLayoutMilestones(OptionSet milestones) -@@ -3286,6 +3295,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) +@@ -3296,6 +3305,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) send(Messages::WebPageProxy::DidReceiveEvent(static_cast(touchEvent.type()), handled)); } @@ -20801,7 +20776,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 #endif void WebPage::cancelPointer(WebCore::PointerID pointerId, const WebCore::IntPoint& documentPoint) -@@ -3362,6 +3469,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m +@@ -3372,6 +3479,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m m_inspectorTargetController->sendMessageToTargetBackend(targetId, message); } @@ -20813,7 +20788,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -3600,6 +3712,7 @@ void WebPage::didCompletePageTransition() +@@ -3610,6 +3722,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -20821,7 +20796,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -4419,7 +4532,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -4429,7 +4542,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -20830,7 +20805,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags) { if (!m_page) { -@@ -6744,6 +6857,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe +@@ -6754,6 +6867,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -20841,7 +20816,7 @@ index 6a0ec8f526b7fee07fffde5c33d1e7a9ee46d89d..068443ea78c8a24cdf4c752d330fb166 return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index 0292074efde2d7ddb6b06ab2d5b1cc1b8c85d365..4f86bf7d2de160eb2d428647da98209098986ea4 100644 +index fedbe605d526b088a9644fee2693a473b5f8f3ca..c57eb9a36d97581346ccdadf8de13e4aa9072361 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h @@ -122,6 +122,10 @@ typedef struct _AtkObject AtkObject; @@ -20922,7 +20897,7 @@ index 0292074efde2d7ddb6b06ab2d5b1cc1b8c85d365..4f86bf7d2de160eb2d428647da982090 bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index 6f91a2a774166cd2b886dfebb4bba8f51fef8f3d..ed782495fbed9ce672610dbb22f207e944d8b445 100644 +index 7b5f3d8f869e724bcd390e0727e90e599fa379b5..678015c98143291f2e69d13c675b618fdd7ab7d5 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in +++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in @@ -133,6 +133,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType @@ -21066,7 +21041,7 @@ index bb512aec34506aa588a736b6dcf6b6f3b669e342..fbcad974ad70113d527f7cac688e47d5 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index f816775a7994ab22cc2fbc26000e9d22f2fc2c6a..d0583cc13affd83d34a74a96cf14687c0eb6694d 100644 +index ee1434bda87b4391145c4689537096d06ae39880..0e20719bb128b968a5ca98d77f258f5961f62231 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -88,6 +88,7 @@ @@ -21361,7 +21336,7 @@ index 04869b0d67226fb9f7951298f32f952c94cb2837..6ceb1dafd51d4f34c2f20f4f44a1dd99 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API PRIVATE OFF) else () diff --git a/Source/cmake/OptionsWinCairo.cmake b/Source/cmake/OptionsWinCairo.cmake -index 54dc095d9f98cf0116a704e99e88333f1108c8a0..23216d79747d514c53e965618d5bf7ade8beb659 100644 +index 62b4bc6e91b180abe8ca0f749ce76bf1aba98d4d..89d9e16c7ca6ab3fa2ef7d695825437927755675 100644 --- a/Source/cmake/OptionsWinCairo.cmake +++ b/Source/cmake/OptionsWinCairo.cmake @@ -37,15 +37,36 @@ if (OpenJPEG_FOUND) @@ -21938,18 +21913,18 @@ index ef4407cfc114e602d98ed81724da504f453e258f..448dd483715162baba484f756fbcc1d7 + add_subdirectory(Playwright/win) endif () diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit -index 1e3db5a4d3e39b8d54d1681e05bf6cccb7fcd061..e4b84ef77b85eeeed645701852330f421dc20126 100755 +index b9ac72438491709f29e99a5d0395432eb519527e..7959bdca5c6ce71d4d2fc7bf61d42c4b987b7342 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit -@@ -253,7 +253,7 @@ if (isAppleCocoaWebKit()) { - push @projects, ("Source/WebKit"); +@@ -258,7 +258,7 @@ if (isAppleCocoaWebKit()) { + push @projects, ("Source/WebKit"); - if (!isEmbeddedWebKit()) { -- push @projects, ("Tools/MiniBrowser"); -+ push @projects, ("Tools/Playwright"); + if (!isEmbeddedWebKit()) { +- push @projects, ("Tools/MiniBrowser"); ++ push @projects, ("Tools/Playwright"); - # WebInspectorUI must come after JavaScriptCore and WebCore but before WebKit and WebKit2 - my $webKitIndex = first { $projects[$_] eq "Source/WebKitLegacy" } 0..$#projects; + # 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/PlatformGTK.cmake b/Tools/WebKitTestRunner/PlatformGTK.cmake index 44ebbc30033692f13543fdb50a86c921decd6a94..93edbf8c4084ff8400be2a13bbeb539a7a79f949 100644 --- a/Tools/WebKitTestRunner/PlatformGTK.cmake @@ -21975,7 +21950,7 @@ index 6d2fa822376c3c230afcd04ce86e26033c5c2e80..47693c2373e8953a02512a4db8cbf23b list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp -index b5ba4f3eaee0c1b09a21b25de03a0e9765e66129..f1829e08ddc32052093b552d4053a13295ae650a 100644 +index d95f685f8157e63b53f6e431b444bda6b5149767..7901e5387989322326d5f8e6a22a426c724f0df9 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp @@ -808,6 +808,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options)