diff --git a/browser_patches/webkit/BUILD_NUMBER b/browser_patches/webkit/BUILD_NUMBER index 4d7f96f2a7..415cec6d7a 100644 --- a/browser_patches/webkit/BUILD_NUMBER +++ b/browser_patches/webkit/BUILD_NUMBER @@ -1,2 +1,2 @@ -1562 -Changed: dkolesa@igalia.com Wed Oct 13 02:55:22 PM CEST 2021 +1563 +Changed: dkolesa@igalia.com Thu Oct 14 06:42:16 PM CEST 2021 diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index 0b2b752e7c..3375d19fa9 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="79ff5b510aab1e5c1da404c1bdd27dbe528cd88b" +BASE_REVISION="3c65cb188f1e0b0d2a5905bb3988642991e1b1aa" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index 8da9a7ef76..dc53ddeec8 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -1,25 +1,8 @@ -diff --git a/LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt b/LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt -index cbb208d223b268773e436526cc5618fb84efd979..9f581297f823c9aa2a078bdfc569e96fc00ef7a8 100644 ---- a/LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt -+++ b/LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt -@@ -11,8 +11,8 @@ PASS Test remove while update pending. - PASS Test aborting a remove operation. - PASS Test remove with a start at the duration. - PASS Test remove transitioning readyState from 'ended' to 'open'. --PASS Test removing all appended data. --PASS Test removing beginning of appended data. --FAIL Test removing the middle of appended data. assert_equals: Buffered ranges after remove(). expected "{ [0.095, 0.997) [3.298, 6.548) }" but got "{ [0.095, 0.975) [3.298, 6.548) }" --FAIL Test removing the end of appended data. assert_equals: Buffered ranges after remove(). expected "{ [0.095, 1.022) }" but got "{ [0.095, 0.995) }" -+FAIL Test removing all appended data. assert_equals: Initial buffered range. expected "{ [0.095, 6.548) }" but got "{ [0.000, 6.548) }" -+FAIL Test removing beginning of appended data. assert_equals: Initial buffered range. expected "{ [0.095, 6.548) }" but got "{ [0.000, 6.548) }" -+FAIL Test removing the middle of appended data. assert_equals: Initial buffered range. expected "{ [0.095, 6.548) }" but got "{ [0.000, 6.548) }" -+FAIL Test removing the end of appended data. assert_equals: Initial buffered range. expected "{ [0.095, 6.548) }" but got "{ [0.000, 6.548) }" - diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt -index b32c30f110f6a29e2c816f87c556a12fdbe0d6c8..c1b272fc91084525bcedcba03e4935c423f074c3 100644 +index 8b9182ced101951a8d005b06b7e17c1961ada076..e5ab9784176273b80b7e28bb1bdac12ca7a5c5dc 100644 --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -1330,22 +1330,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS +@@ -1346,22 +1346,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json @@ -48,10 +31,10 @@ index b32c30f110f6a29e2c816f87c556a12fdbe0d6c8..c1b272fc91084525bcedcba03e4935c4 ${JAVASCRIPTCORE_DIR}/inspector/protocol/ServiceWorker.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Target.json diff --git a/Source/JavaScriptCore/DerivedSources.make b/Source/JavaScriptCore/DerivedSources.make -index ecbce67f78c0034c166f50d5892a6f08c5da40d6..6dc35a802288d982ae2a28bdec5992bb930afaea 100644 +index c927a54ef7538eb95d53567f8617eeab81552f0e..b57c538382f500c8a035b253327f1ae12ccccabd 100644 --- a/Source/JavaScriptCore/DerivedSources.make +++ b/Source/JavaScriptCore/DerivedSources.make -@@ -275,22 +275,27 @@ INSPECTOR_DOMAINS := \ +@@ -281,22 +281,27 @@ INSPECTOR_DOMAINS := \ $(JavaScriptCore)/inspector/protocol/CSS.json \ $(JavaScriptCore)/inspector/protocol/Canvas.json \ $(JavaScriptCore)/inspector/protocol/Console.json \ @@ -2067,7 +2050,7 @@ index d8677555342ee0168223a0bc3ef54603b1a23460..b9ee7198a702cbc0241de3a33b65a694 41323A1D2665288B00B38623 /* packet_sequencer.cc in Sources */, 4131BF2D234B88200028A615 /* rtc_stats_collector.cc in Sources */, diff --git a/Source/WTF/Scripts/Preferences/WebPreferences.yaml b/Source/WTF/Scripts/Preferences/WebPreferences.yaml -index 2518fd512a0b281d19e5aeda135c177cc7ef3b56..c08f06b332d8dc7dc0a20a26a4c55a136762302f 100644 +index b929c9d72addb6500e98e1b0ad535bd018c547cc..8141987b4c4100f00a5db487c6ce83f7035d288c 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferences.yaml @@ -1031,7 +1031,7 @@ InspectorStartsAttached: @@ -2098,10 +2081,10 @@ index 2518fd512a0b281d19e5aeda135c177cc7ef3b56..c08f06b332d8dc7dc0a20a26a4c55a13 type: bool humanReadableName: "Private Click Measurement" diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -index b112647604fda9dadf4464949f21eea799f25e5e..65eb67ea8ce68e8b946e6cff88c2446270698016 100644 +index f85b7875b5d9b73e68cd5a7a3dcc8a8487fb05aa..b9b5123902b83d55d0f60bb3449e1cc3b5271b48 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -@@ -379,7 +379,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -405,7 +405,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -2110,7 +2093,7 @@ index b112647604fda9dadf4464949f21eea799f25e5e..65eb67ea8ce68e8b946e6cff88c24462 WebCore: default: false -@@ -756,9 +756,9 @@ MaskWebGLStringsEnabled: +@@ -784,9 +784,9 @@ MaskWebGLStringsEnabled: WebKitLegacy: default: true WebKit: @@ -2122,7 +2105,7 @@ index b112647604fda9dadf4464949f21eea799f25e5e..65eb67ea8ce68e8b946e6cff88c24462 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. MediaCapabilitiesExtensionsEnabled: -@@ -1170,7 +1170,7 @@ SpeechRecognitionEnabled: +@@ -1210,7 +1210,7 @@ SpeechRecognitionEnabled: WebKitLegacy: default: false WebKit: @@ -2313,7 +2296,7 @@ index 4a12b5a4393fe2bbe39673e3fa547c9d6976abd7..678b777736019debbd25fcd72fd34f3d if (Systemd_FOUND) diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index e430f32514b90b19391761036682bea3fae8b189..6263cc379879cb765c4dd8cb1776dcdc43482b69 100644 +index f71b524b2dc3a34132699275de5618ee69df8325..c38afe320bc2756cd95423be328217fbebaea551 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -384,7 +384,7 @@ @@ -2338,10 +2321,10 @@ index 643ef0fcdf4f3ce4a1f27bc0cc6e179b7143bbd4..f6ee05b80ebc200d0db74fc7e975d96c if (Systemd_FOUND) diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index ddd463194427a70e94656a26c1eb9355e31c869c..63ef453bad949d6ebcfd77fee6e6f53a0ae9c988 100644 +index 5c773a489da19cc2085ecce713eb007b200f8852..f64d32049c71a4109071260ada20cb2260b8c329 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make -@@ -778,6 +778,10 @@ JS_BINDING_IDLS := \ +@@ -783,6 +783,10 @@ JS_BINDING_IDLS := \ $(WebCore)/dom/Slotable.idl \ $(WebCore)/dom/StaticRange.idl \ $(WebCore)/dom/StringCallback.idl \ @@ -2352,7 +2335,7 @@ index ddd463194427a70e94656a26c1eb9355e31c869c..63ef453bad949d6ebcfd77fee6e6f53a $(WebCore)/dom/Text.idl \ $(WebCore)/dom/TextDecoder.idl \ $(WebCore)/dom/TextDecoderStream.idl \ -@@ -1315,9 +1319,6 @@ JS_BINDING_IDLS := \ +@@ -1320,9 +1324,6 @@ JS_BINDING_IDLS := \ ADDITIONAL_BINDING_IDLS = \ DocumentTouch.idl \ GestureEvent.idl \ @@ -2363,7 +2346,7 @@ index ddd463194427a70e94656a26c1eb9355e31c869c..63ef453bad949d6ebcfd77fee6e6f53a vpath %.in $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) diff --git a/Source/WebCore/Modules/geolocation/Geolocation.cpp b/Source/WebCore/Modules/geolocation/Geolocation.cpp -index b3679c221f372456a189e74a7dfa63b7544d568e..607588cba7862eb0a43f6501ff41a754f52c2d27 100644 +index e272ecdef2a7d066a121ec366a9906d4b8db14c7..f922d861134d44958c58e6332fb3d029da150921 100644 --- a/Source/WebCore/Modules/geolocation/Geolocation.cpp +++ b/Source/WebCore/Modules/geolocation/Geolocation.cpp @@ -371,8 +371,9 @@ bool Geolocation::shouldBlockGeolocationRequests() @@ -2377,23 +2360,8 @@ index b3679c221f372456a189e74a7dfa63b7544d568e..607588cba7862eb0a43f6501ff41a754 return false; } -diff --git a/Source/WebCore/Modules/mediasource/MediaSource.cpp b/Source/WebCore/Modules/mediasource/MediaSource.cpp -index 71729ccbe9416732dc1958c2c099c1e166bc1cc5..0fdbf9f804176e06418be5e05f885bea99d1399b 100644 ---- a/Source/WebCore/Modules/mediasource/MediaSource.cpp -+++ b/Source/WebCore/Modules/mediasource/MediaSource.cpp -@@ -323,8 +323,8 @@ ExceptionOr MediaSource::clearLiveSeekableRange() - - const MediaTime& MediaSource::currentTimeFudgeFactor() - { -- // Allow hasCurrentTime() to be off by as much as 100ms. -- static NeverDestroyed fudgeFactor(1, 10); -+ // Allow hasCurrentTime() to be off by as much as the length of two 24fps video frames -+ static NeverDestroyed fudgeFactor(2002, 24000); - return fudgeFactor; - } - diff --git a/Source/WebCore/Modules/notifications/Notification.idl b/Source/WebCore/Modules/notifications/Notification.idl -index d031bb73cda05092105d604dc608f89f6c834e8e..e4880a9de94ab76be48af35f28085c5cd00e91b1 100644 +index 9cb784861fc5439c3594b144649a43641cbcda70..d191134c15f30757c3cd35ab1b033a1c2b80d80e 100644 --- a/Source/WebCore/Modules/notifications/Notification.idl +++ b/Source/WebCore/Modules/notifications/Notification.idl @@ -34,6 +34,7 @@ @@ -2475,10 +2443,10 @@ index 9f4daefcd385d534149f0a5a6ce0e8016e25638f..37f64495ec9b316bbf0a5e3212917d43 set(CSS_VALUE_PLATFORM_DEFINES "HAVE_OS_DARK_MODE_SUPPORT=1") diff --git a/Source/WebCore/SourcesCocoa.txt b/Source/WebCore/SourcesCocoa.txt -index a4c0a7627c3781dfcd04906fc523309c90730c2c..ff9dc2e7ec90e22e6d23fec922e07916c50b555c 100644 +index 76041fce66cb94da6d55b04b93938e73bf8fc98c..46639efd91dbc303b8e7a25112fbdf6932fdf577 100644 --- a/Source/WebCore/SourcesCocoa.txt +++ b/Source/WebCore/SourcesCocoa.txt -@@ -601,3 +601,9 @@ platform/graphics/angle/ANGLEUtilities.cpp @no-unify +@@ -602,3 +602,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 @@ -2540,10 +2508,10 @@ index 9f85e4986c53a1cc8d63b3394d3f7295832af387..1228fda7c688c5b24cecaf07e21437d3 __ZN7WebCore14DocumentLoaderD2Ev __ZN7WebCore14DocumentLoader17clearMainResourceEv diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674166f3b57 100644 +index d6cfaf1cd834865802f3210d4e5667a89a38d8cd..b396e003edfe624149b876488ea9f8769a288266 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -5379,6 +5379,14 @@ +@@ -5408,6 +5408,14 @@ 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, ); }; }; @@ -2558,7 +2526,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 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, ); }; }; -@@ -16774,6 +16782,14 @@ +@@ -16848,6 +16856,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 = ""; }; @@ -2573,7 +2541,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 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 = ""; }; -@@ -22405,7 +22421,12 @@ +@@ -22507,7 +22523,12 @@ 93D6B7A62551D3ED0058DD3A /* DummySpeechRecognitionProvider.h */, 1AF326770D78B9440068F0C4 /* EditorClient.h */, 93C09A800B064F00005ABD4D /* EventHandler.cpp */, @@ -2586,7 +2554,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 E0FEF371B27C53EAC1C1FBEE /* EventSource.cpp */, E0FEF371B17C53EAC1C1FBEE /* EventSource.h */, E0FEF371B07C53EAC1C1FBEE /* EventSource.idl */, -@@ -28228,6 +28249,8 @@ +@@ -28337,6 +28358,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2595,7 +2563,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, BCBB8AB513F1AFB000734DF0 /* PODInterval.h */, -@@ -30454,6 +30477,7 @@ +@@ -30572,6 +30595,7 @@ BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */, AD6E71AA1668899D00320C13 /* DocumentSharedObjectPool.cpp */, AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, @@ -2603,7 +2571,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, -@@ -31465,6 +31489,7 @@ +@@ -31587,6 +31611,7 @@ 93C4F6EB1108F9A50099D0DB /* AccessibilityScrollbar.h in Headers */, 29489FC712C00F0300D83F0F /* AccessibilityScrollView.h in Headers */, 0709FC4E1025DEE30059CDBA /* AccessibilitySlider.h in Headers */, @@ -2611,7 +2579,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 29D7BCFA1444AF7D0070619C /* AccessibilitySpinButton.h in Headers */, 69A6CBAD1C6BE42C00B836E9 /* AccessibilitySVGElement.h in Headers */, AAC08CF315F941FD00F1E188 /* AccessibilitySVGRoot.h in Headers */, -@@ -33554,6 +33579,7 @@ +@@ -33684,6 +33709,7 @@ 6E4ABCD5138EA0B70071D291 /* JSHTMLUnknownElement.h in Headers */, E44614170CD6826900FADA75 /* JSHTMLVideoElement.h in Headers */, 81BE20D311F4BC3200915DFA /* JSIDBCursor.h in Headers */, @@ -2619,7 +2587,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 7C3D8EF01E0B21430023B084 /* JSIDBCursorDirection.h in Headers */, C585A68311D4FB08004C3E4B /* JSIDBDatabase.h in Headers */, C585A69711D4FB13004C3E4B /* JSIDBFactory.h in Headers */, -@@ -35657,9 +35683,11 @@ +@@ -35809,9 +35835,11 @@ B2C3DA3A0D006C1D00EF6F26 /* TextCodec.h in Headers */, 26E98A10130A9FCA008EB7B2 /* TextCodecASCIIFastPath.h in Headers */, DF95B14A24FDAFD300B1F4D7 /* TextCodecCJK.h in Headers */, @@ -2631,7 +2599,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 B2C3DA400D006C1D00EF6F26 /* TextCodecUserDefined.h in Headers */, B2C3DA420D006C1D00EF6F26 /* TextCodecUTF16.h in Headers */, 9343CB8212F25E510033C5EE /* TextCodecUTF8.h in Headers */, -@@ -36605,6 +36633,7 @@ +@@ -36763,6 +36791,7 @@ 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */, 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, @@ -2639,7 +2607,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 6E72F54C229DCD0C00B3E151 /* ExtensionsGLANGLE.cpp in Sources */, 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 5130F2F624AEA60A00E1D0A0 /* GameControllerSoftLink.mm in Sources */, -@@ -36674,6 +36703,7 @@ +@@ -36832,6 +36861,7 @@ 6E72F54F229DCD1300B3E151 /* TemporaryANGLESetting.cpp in Sources */, CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2647,7 +2615,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 538EC8031F96AF81004D22A8 /* UnifiedSource1-mm.mm in Sources */, 538EC8021F96AF81004D22A8 /* UnifiedSource1.cpp in Sources */, 538EC8051F96AF81004D22A8 /* UnifiedSource2-mm.mm in Sources */, -@@ -36722,6 +36752,7 @@ +@@ -36880,6 +36910,7 @@ 538EC8881F993F9C004D22A8 /* UnifiedSource23.cpp in Sources */, DE5F85801FA1ABF4006DB63A /* UnifiedSource24-mm.mm in Sources */, 538EC8891F993F9D004D22A8 /* UnifiedSource24.cpp in Sources */, @@ -2655,7 +2623,7 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 DE5F85811FA1ABF4006DB63A /* UnifiedSource25-mm.mm in Sources */, 538EC88A1F993F9D004D22A8 /* UnifiedSource25.cpp in Sources */, DE5F85821FA1ABF4006DB63A /* UnifiedSource26-mm.mm in Sources */, -@@ -37254,6 +37285,7 @@ +@@ -37412,6 +37443,7 @@ 2D8B92F1203D13E1009C868F /* UnifiedSource516.cpp in Sources */, 2D8B92F2203D13E1009C868F /* UnifiedSource517.cpp in Sources */, 2D8B92F3203D13E1009C868F /* UnifiedSource518.cpp in Sources */, @@ -2664,10 +2632,10 @@ index ff29a16f3d70f24d17fc8a92f64d7e19e9608d63..7db9fd4316859487cf5efea89fd1b674 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 1d87f1a991c22f8fa302ad0460ccf52588f28eee..d11ddd775d1c5ecf07814ae05c4f50813015dce6 100644 +index e174b2fb4d536f92270c74da477eea7ed1018060..0ae6f36d1cf2289cc882f4614a73407db725f202 100644 --- a/Source/WebCore/accessibility/AccessibilityObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityObject.cpp -@@ -59,6 +59,7 @@ +@@ -60,6 +60,7 @@ #include "HTMLParserIdioms.h" #include "HTMLTextAreaElement.h" #include "HitTestResult.h" @@ -2675,7 +2643,7 @@ index 1d87f1a991c22f8fa302ad0460ccf52588f28eee..d11ddd775d1c5ecf07814ae05c4f5081 #include "LocalizedStrings.h" #include "MathMLNames.h" #include "NodeList.h" -@@ -3348,10 +3349,15 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const +@@ -3349,10 +3350,15 @@ AccessibilityObjectInclusion AccessibilityObject::defaultObjectInclusion() const if (useParentData ? m_isIgnoredFromParentData.isPresentationalChildOfAriaRole : isPresentationalChildOfAriaRole()) return AccessibilityObjectInclusion::IgnoreObject; @@ -2695,7 +2663,7 @@ index 1d87f1a991c22f8fa302ad0460ccf52588f28eee..d11ddd775d1c5ecf07814ae05c4f5081 { AXComputedObjectAttributeCache* attributeCache = nullptr; diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h -index d7eb0c6ffa780ac23f7d7deece89fcf3f4c311fd..1d661e29bfff93b1c3a8b4a7f8dec6fac3cd7a45 100644 +index 5d5b299c16165945783cdb771183be7a806b9add..315653baa1343265ff42c0b880574c81026843c6 100644 --- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h +++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h @@ -109,6 +109,8 @@ namespace WebCore { @@ -2707,7 +2675,7 @@ index d7eb0c6ffa780ac23f7d7deece89fcf3f4c311fd..1d661e29bfff93b1c3a8b4a7f8dec6fa macro(DocumentTimeline) \ macro(EnterPictureInPictureEvent) \ macro(ExtendableEvent) \ -@@ -180,6 +182,7 @@ namespace WebCore { +@@ -181,6 +183,7 @@ namespace WebCore { macro(NavigatorMediaDevices) \ macro(NavigatorPermissions) \ macro(NavigatorUserMedia) \ @@ -2716,7 +2684,7 @@ index d7eb0c6ffa780ac23f7d7deece89fcf3f4c311fd..1d661e29bfff93b1c3a8b4a7f8dec6fa macro(OffscreenCanvas) \ macro(OffscreenCanvasRenderingContext2D) \ diff --git a/Source/WebCore/css/MediaQueryEvaluator.cpp b/Source/WebCore/css/MediaQueryEvaluator.cpp -index 958560dfcb0157bac98e952f6e5f3eb13c00f2cb..bfa187355977a6f0fe1163ecd12fc9bfe3f59508 100644 +index d47391fbefc085666f7e4d4b2f63703e86a6766a..2ba34113b3f1d8103a96443067629c9319792499 100644 --- a/Source/WebCore/css/MediaQueryEvaluator.cpp +++ b/Source/WebCore/css/MediaQueryEvaluator.cpp @@ -840,7 +840,11 @@ static bool prefersContrastEvaluate(CSSValue* value, const CSSToLengthConversion @@ -2958,7 +2926,7 @@ index 9dd41d6366512fd385937a7608bd3fc9b5b90f60..d6bb529fb891a65c8f6dcc6cff1e718c #endif // USE(LIBWPE) diff --git a/Source/WebCore/html/FileInputType.cpp b/Source/WebCore/html/FileInputType.cpp -index e0ff53963b570cb1dffd304919cdaf7c4a137404..02d69f4a5e57b6a222c0d9ca9f2373192460e81b 100644 +index 40b012a9adfbd4f5e265880509e36642669a683c..8b8e44114491fff5750bf7ddd5ff685f8c662781 100644 --- a/Source/WebCore/html/FileInputType.cpp +++ b/Source/WebCore/html/FileInputType.cpp @@ -36,6 +36,7 @@ @@ -2969,7 +2937,7 @@ index e0ff53963b570cb1dffd304919cdaf7c4a137404..02d69f4a5e57b6a222c0d9ca9f237319 #include "LocalizedStrings.h" #include "MIMETypeRegistry.h" #include "RenderFileUploadControl.h" -@@ -212,6 +213,11 @@ void FileInputType::handleDOMActivateEvent(Event& event) +@@ -213,6 +214,11 @@ void FileInputType::handleDOMActivateEvent(Event& event) if (input.isDisabledFormControl()) return; @@ -3209,7 +3177,7 @@ index a7ca7162d791ed7fba8cc91c21a2cf3af6e69a7e..0ce597e692a429832a29571928fc66cc { if (is(context)) diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h -index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25cef24aed8 100644 +index 8e65c4eb10233521f48c7f4b120ad2c8909a07ba..c2dcc2e690366bc169d87f5d202745a5b8bc02e2 100644 --- a/Source/WebCore/inspector/InspectorInstrumentation.h +++ b/Source/WebCore/inspector/InspectorInstrumentation.h @@ -31,6 +31,7 @@ @@ -3220,7 +3188,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c #include "CSSSelector.h" #include "CanvasBase.h" #include "CanvasRenderingContext.h" -@@ -44,6 +45,7 @@ +@@ -45,6 +46,7 @@ #include "HitTestResult.h" #include "InspectorInstrumentationPublic.h" #include "Page.h" @@ -3228,7 +3196,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c #include "ResourceLoader.h" #include "ResourceLoaderIdentifier.h" #include "StorageArea.h" -@@ -76,6 +78,7 @@ class DOMWrapperWorld; +@@ -77,6 +79,7 @@ class DOMWrapperWorld; class Document; class DocumentLoader; class EventListener; @@ -3236,7 +3204,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c class HTTPHeaderMap; class InspectorTimelineAgent; class InstrumentingAgents; -@@ -186,6 +189,7 @@ public: +@@ -187,6 +190,7 @@ public: static void didRecalculateStyle(Document&); static void didScheduleStyleRecalculation(Document&); static void applyUserAgentOverride(Frame&, String&); @@ -3244,7 +3212,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void applyEmulatedMedia(Frame&, String&); static void willSendRequest(Frame*, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*); -@@ -195,6 +199,7 @@ public: +@@ -196,6 +200,7 @@ public: static void didReceiveData(Frame*, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength); static void didFinishLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const NetworkLoadMetrics&, ResourceLoader*); static void didFailLoading(Frame*, DocumentLoader*, ResourceLoaderIdentifier, const ResourceError&); @@ -3252,7 +3220,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void willSendRequest(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, ResourceRequest&); static void didReceiveResourceResponse(WorkerOrWorkletGlobalScope&, ResourceLoaderIdentifier, const ResourceResponse&); -@@ -221,11 +226,11 @@ public: +@@ -222,11 +227,11 @@ public: static void frameDetachedFromParent(Frame&); static void didCommitLoad(Frame&, DocumentLoader*); static void frameDocumentUpdated(Frame&); @@ -3265,7 +3233,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) static void defaultAppearanceDidChange(Page&, bool useDarkAppearance); #endif -@@ -235,7 +240,10 @@ public: +@@ -236,7 +241,10 @@ public: static bool shouldInterceptRequest(const Frame&, const ResourceRequest&); static bool shouldInterceptResponse(const Frame&, const ResourceResponse&); static void interceptRequest(ResourceLoader&, Function&&); @@ -3277,7 +3245,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void addMessageToConsole(Page&, std::unique_ptr); static void addMessageToConsole(WorkerOrWorkletGlobalScope&, std::unique_ptr); -@@ -312,6 +320,12 @@ public: +@@ -313,6 +321,12 @@ public: static void layerTreeDidChange(Page*); static void renderLayerDestroyed(Page*, const RenderLayer&); @@ -3290,7 +3258,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void frontendCreated(); static void frontendDeleted(); static bool hasFrontends() { return InspectorInstrumentationPublic::hasFrontends(); } -@@ -328,6 +342,8 @@ public: +@@ -329,6 +343,8 @@ public: static void registerInstrumentingAgents(InstrumentingAgents&); static void unregisterInstrumentingAgents(InstrumentingAgents&); @@ -3299,7 +3267,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c private: static void didClearWindowObjectInWorldImpl(InstrumentingAgents&, Frame&, DOMWrapperWorld&); static bool isDebuggerPausedImpl(InstrumentingAgents&); -@@ -405,6 +421,7 @@ private: +@@ -406,6 +422,7 @@ private: static void didRecalculateStyleImpl(InstrumentingAgents&); static void didScheduleStyleRecalculationImpl(InstrumentingAgents&, Document&); static void applyUserAgentOverrideImpl(InstrumentingAgents&, String&); @@ -3307,7 +3275,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void applyEmulatedMediaImpl(InstrumentingAgents&, String&); static void willSendRequestImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, ResourceRequest&, const ResourceResponse& redirectResponse, const CachedResource*); -@@ -416,6 +433,7 @@ private: +@@ -417,6 +434,7 @@ private: static void didReceiveDataImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const uint8_t* data, int dataLength, int encodedDataLength); static void didFinishLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const NetworkLoadMetrics&, ResourceLoader*); static void didFailLoadingImpl(InstrumentingAgents&, ResourceLoaderIdentifier, DocumentLoader*, const ResourceError&); @@ -3315,7 +3283,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void willLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void didLoadXHRSynchronouslyImpl(InstrumentingAgents&); static void scriptImportedImpl(InstrumentingAgents&, ResourceLoaderIdentifier, const String& sourceString); -@@ -426,11 +444,11 @@ private: +@@ -427,11 +445,11 @@ private: static void frameDetachedFromParentImpl(InstrumentingAgents&, Frame&); static void didCommitLoadImpl(InstrumentingAgents&, Frame&, DocumentLoader*); static void frameDocumentUpdatedImpl(InstrumentingAgents&, Frame&); @@ -3328,7 +3296,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) static void defaultAppearanceDidChangeImpl(InstrumentingAgents&, bool useDarkAppearance); #endif -@@ -441,6 +459,10 @@ private: +@@ -442,6 +460,10 @@ private: static bool shouldInterceptResponseImpl(InstrumentingAgents&, const ResourceResponse&); static void interceptRequestImpl(InstrumentingAgents&, ResourceLoader&, Function&&); static void interceptResponseImpl(InstrumentingAgents&, const ResourceResponse&, ResourceLoaderIdentifier, CompletionHandler)>&&); @@ -3339,7 +3307,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static void addMessageToConsoleImpl(InstrumentingAgents&, std::unique_ptr); -@@ -512,6 +534,12 @@ private: +@@ -513,6 +535,12 @@ private: static void layerTreeDidChangeImpl(InstrumentingAgents&); static void renderLayerDestroyedImpl(InstrumentingAgents&, const RenderLayer&); @@ -3352,7 +3320,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c static InstrumentingAgents& instrumentingAgents(Page&); static InstrumentingAgents& instrumentingAgents(WorkerOrWorkletGlobalScope&); -@@ -1030,6 +1058,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(Frame& frame, Strin +@@ -1031,6 +1059,13 @@ inline void InspectorInstrumentation::applyUserAgentOverride(Frame& frame, Strin applyUserAgentOverrideImpl(*agents, userAgent); } @@ -3366,7 +3334,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c inline void InspectorInstrumentation::applyEmulatedMedia(Frame& frame, String& media) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1080,7 +1115,7 @@ inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(Documen +@@ -1081,7 +1116,7 @@ inline void InspectorInstrumentation::didReceiveThreadableLoaderResponse(Documen if (auto* agents = instrumentingAgents(documentThreadableLoader.document())) didReceiveThreadableLoaderResponseImpl(*agents, documentThreadableLoader, identifier); } @@ -3375,7 +3343,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c inline void InspectorInstrumentation::didReceiveData(Frame* frame, ResourceLoaderIdentifier identifier, const uint8_t* data, int dataLength, int encodedDataLength) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1118,6 +1153,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& +@@ -1119,6 +1154,13 @@ inline void InspectorInstrumentation::didFailLoading(WorkerOrWorkletGlobalScope& didFailLoadingImpl(instrumentingAgents(globalScope), identifier, nullptr, error); } @@ -3389,7 +3357,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c inline void InspectorInstrumentation::continueAfterXFrameOptionsDenied(Frame& frame, ResourceLoaderIdentifier identifier, DocumentLoader& loader, const ResourceResponse& response) { // Treat the same as didReceiveResponse. -@@ -1208,13 +1250,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(Frame& frame) +@@ -1209,13 +1251,6 @@ inline void InspectorInstrumentation::frameDocumentUpdated(Frame& frame) frameDocumentUpdatedImpl(*agents, frame); } @@ -3403,7 +3371,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c inline void InspectorInstrumentation::frameStartedLoading(Frame& frame) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1243,6 +1278,13 @@ inline void InspectorInstrumentation::frameClearedScheduledNavigation(Frame& fra +@@ -1244,6 +1279,13 @@ inline void InspectorInstrumentation::frameClearedScheduledNavigation(Frame& fra frameClearedScheduledNavigationImpl(*agents, frame); } @@ -3417,7 +3385,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) inline void InspectorInstrumentation::defaultAppearanceDidChange(Page& page, bool useDarkAppearance) { -@@ -1288,13 +1330,29 @@ inline void InspectorInstrumentation::interceptRequest(ResourceLoader& loader, F +@@ -1289,13 +1331,29 @@ inline void InspectorInstrumentation::interceptRequest(ResourceLoader& loader, F interceptRequestImpl(*agents, loader, WTFMove(handler)); } @@ -3448,7 +3416,7 @@ index 29202a1156980a486aab96530b55b55a45053187..797ed925a9c78a701c42c37b8d46d25c inline void InspectorInstrumentation::didOpenDatabase(Database& database) { FAST_RETURN_IF_NO_FRONTENDS(void()); -@@ -1673,6 +1731,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren +@@ -1674,6 +1732,42 @@ inline void InspectorInstrumentation::renderLayerDestroyed(Page* page, const Ren renderLayerDestroyedImpl(*agents, renderLayer); } @@ -3600,7 +3568,7 @@ index f76114ce98f42a7ff906a48d0420b96305d36914..e3be41d7e9e5d2ae5872424df2ed6cbf + } diff --git a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp -index 9e8df2ecb01048361b244f850f9bcec99a519e19..ddb1a86815b9089ad88bc5d16cea6f1a09052940 100644 +index d2c0cb6cfd184f158c4a62d8be2efb5750192c3c..264d13c746524b7147be3ff7662b9c413e6f7af7 100644 --- a/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorDOMAgent.cpp @@ -62,12 +62,16 @@ @@ -3992,7 +3960,7 @@ index 3386cb879f1178c1b9635775c9a0e864f5b94c52..d2350182f5f061855e8ca172779ad60e class Page; class SecurityOrigin; diff --git a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp -index 37468432577f64e3d18bc3667ca298f43a3bf503..1b1eb9737c87246c1e6b88875d031cf4aa26efff 100644 +index 44e084a28842fbc562893761d71e4c74274ebb18..89328f6a4678adf7e1564c5681d80ca872ab47cf 100644 --- a/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp @@ -45,6 +45,7 @@ @@ -4363,10 +4331,10 @@ index 8f6fbcc293aebf8b9d5c945d2829a1527b74bc7f..34e6726d970400c28f1812cdf5ceddb3 std::unique_ptr m_frontendDispatcher; diff --git a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d449a2061 100644 +index c894067585eb1e3dc79276d9d0e4f7562c84d801..ed6495297c2ec9cf4a186a6535c222f375a7d6c0 100644 --- a/Source/WebCore/inspector/agents/InspectorPageAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorPageAgent.cpp -@@ -32,19 +32,25 @@ +@@ -32,20 +32,26 @@ #include "config.h" #include "InspectorPageAgent.h" @@ -4380,6 +4348,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d #include "DOMWrapperWorld.h" #include "Document.h" #include "DocumentLoader.h" + #include "ElementInlines.h" +#include "FocusController.h" #include "Frame.h" #include "FrameLoadRequest.h" @@ -4392,7 +4361,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d #include "HTMLNames.h" #include "ImageBuffer.h" #include "InspectorClient.h" -@@ -55,19 +61,28 @@ +@@ -56,19 +62,28 @@ #include "MIMETypeRegistry.h" #include "MemoryCache.h" #include "Page.h" @@ -4421,7 +4390,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d #include #include #include -@@ -80,11 +95,15 @@ +@@ -81,11 +96,15 @@ #include "LegacyWebArchive.h" #endif @@ -4438,7 +4407,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d static bool decodeBuffer(const uint8_t* buffer, unsigned size, const String& textEncodingName, String* result) { if (buffer) { -@@ -234,6 +253,8 @@ Protocol::Page::ResourceType InspectorPageAgent::resourceTypeJSON(InspectorPageA +@@ -235,6 +254,8 @@ Protocol::Page::ResourceType InspectorPageAgent::resourceTypeJSON(InspectorPageA return Protocol::Page::ResourceType::Beacon; case WebSocketResource: return Protocol::Page::ResourceType::WebSocket; @@ -4447,7 +4416,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d case OtherResource: return Protocol::Page::ResourceType::Other; #if ENABLE(APPLICATION_MANIFEST) -@@ -321,6 +342,7 @@ InspectorPageAgent::InspectorPageAgent(PageAgentContext& context, InspectorClien +@@ -322,6 +343,7 @@ InspectorPageAgent::InspectorPageAgent(PageAgentContext& context, InspectorClien , m_frontendDispatcher(makeUnique(context.frontendRouter)) , m_backendDispatcher(Inspector::PageBackendDispatcher::create(context.backendDispatcher, this)) , m_inspectedPage(context.inspectedPage) @@ -4455,7 +4424,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d , m_client(client) , m_overlay(overlay) { -@@ -352,12 +374,20 @@ Protocol::ErrorStringOr InspectorPageAgent::enable() +@@ -353,12 +375,20 @@ Protocol::ErrorStringOr InspectorPageAgent::enable() defaultAppearanceDidChange(m_inspectedPage.defaultUseDarkAppearance()); #endif @@ -4476,7 +4445,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d setShowPaintRects(false); #if !PLATFORM(IOS_FAMILY) -@@ -406,6 +436,22 @@ Protocol::ErrorStringOr InspectorPageAgent::reload(std::optional&& i +@@ -407,6 +437,22 @@ Protocol::ErrorStringOr InspectorPageAgent::reload(std::optional&& i return { }; } @@ -4499,7 +4468,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d Protocol::ErrorStringOr InspectorPageAgent::navigate(const String& url) { UserGestureIndicator indicator { ProcessingUserGesture }; -@@ -426,6 +472,13 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideUserAgent(const String +@@ -427,6 +473,13 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideUserAgent(const String return { }; } @@ -4513,7 +4482,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page::Setting setting, std::optional&& value) { auto& inspectedPageSettings = m_inspectedPage.settings(); -@@ -439,6 +492,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -440,6 +493,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setAuthorAndUserStylesEnabledInspectorOverride(value); return { }; @@ -4526,7 +4495,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d case Protocol::Page::Setting::ICECandidateFilteringEnabled: inspectedPageSettings.setICECandidateFilteringEnabledInspectorOverride(value); return { }; -@@ -464,6 +523,36 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -465,6 +524,36 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setNeedsSiteSpecificQuirksInspectorOverride(value); return { }; @@ -4563,7 +4532,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d case Protocol::Page::Setting::ScriptEnabled: inspectedPageSettings.setScriptEnabledInspectorOverride(value); return { }; -@@ -476,6 +565,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page +@@ -477,6 +566,12 @@ Protocol::ErrorStringOr InspectorPageAgent::overrideSetting(Protocol::Page inspectedPageSettings.setShowRepaintCounterInspectorOverride(value); return { }; @@ -4576,7 +4545,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d case Protocol::Page::Setting::WebRTCEncryptionEnabled: inspectedPageSettings.setWebRTCEncryptionEnabledInspectorOverride(value); return { }; -@@ -696,9 +791,13 @@ Protocol::ErrorStringOr> InspectorP +@@ -697,9 +792,13 @@ Protocol::ErrorStringOr> InspectorP return { { content, base64Encoded } }; } @@ -4592,7 +4561,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d return { }; } -@@ -801,15 +900,16 @@ Protocol::ErrorStringOr InspectorPageAgent::setShowPaintRects(bool show) +@@ -802,15 +901,16 @@ Protocol::ErrorStringOr InspectorPageAgent::setShowPaintRects(bool show) return { }; } @@ -4614,7 +4583,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d } void InspectorPageAgent::frameNavigated(Frame& frame) -@@ -817,13 +917,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame) +@@ -818,13 +918,23 @@ void InspectorPageAgent::frameNavigated(Frame& frame) m_frontendDispatcher->frameNavigated(buildObjectForFrame(&frame)); } @@ -4641,18 +4610,18 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d } Frame* InspectorPageAgent::frameForId(const Protocol::Network::FrameId& frameId) -@@ -835,20 +945,18 @@ String InspectorPageAgent::frameId(Frame* frame) +@@ -836,20 +946,18 @@ String InspectorPageAgent::frameId(Frame* frame) { if (!frame) return emptyString(); - return m_frameToIdentifier.ensure(frame, [this, frame] { - auto identifier = IdentifiersFactory::createIdentifier(); -- m_identifierToFrame.set(identifier, makeWeakPtr(frame)); +- m_identifierToFrame.set(identifier, frame); - return identifier; - }).iterator->value; + + String identifier = globalIDForFrame(*frame); -+ m_identifierToFrame.set(identifier, makeWeakPtr(frame)); ++ m_identifierToFrame.set(identifier, frame); + return identifier; } @@ -4668,7 +4637,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d } Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const Protocol::Network::FrameId& frameId) -@@ -859,11 +967,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const +@@ -860,11 +968,6 @@ Frame* InspectorPageAgent::assertFrame(Protocol::ErrorString& errorString, const return frame; } @@ -4680,7 +4649,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d void InspectorPageAgent::frameStartedLoading(Frame& frame) { m_frontendDispatcher->frameStartedLoading(frameId(&frame)); -@@ -884,6 +987,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame) +@@ -885,6 +988,12 @@ void InspectorPageAgent::frameClearedScheduledNavigation(Frame& frame) m_frontendDispatcher->frameClearedScheduledNavigation(frameId(&frame)); } @@ -4693,7 +4662,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d #if ENABLE(DARK_MODE_CSS) || HAVE(OS_DARK_MODE_SUPPORT) void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) { -@@ -893,13 +1002,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) +@@ -894,13 +1003,22 @@ void InspectorPageAgent::defaultAppearanceDidChange(bool useDarkAppearance) void InspectorPageAgent::didClearWindowObjectInWorld(Frame& frame, DOMWrapperWorld& world) { @@ -4719,7 +4688,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d } void InspectorPageAgent::didPaint(RenderObject& renderer, const LayoutRect& rect) -@@ -943,6 +1061,52 @@ void InspectorPageAgent::didRecalculateStyle() +@@ -944,6 +1062,52 @@ void InspectorPageAgent::didRecalculateStyle() m_overlay->update(); } @@ -4772,7 +4741,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d Ref InspectorPageAgent::buildObjectForFrame(Frame* frame) { ASSERT_ARG(frame, frame); -@@ -1056,6 +1220,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) +@@ -1057,6 +1221,12 @@ void InspectorPageAgent::applyUserAgentOverride(String& userAgent) userAgent = m_userAgentOverride; } @@ -4785,7 +4754,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d void InspectorPageAgent::applyEmulatedMedia(String& media) { if (!m_emulatedMedia.isEmpty()) -@@ -1079,11 +1249,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: +@@ -1080,11 +1250,13 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotNode(Protocol::DOM:: return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4800,7 +4769,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d IntRect rectangle(x, y, width, height); auto snapshot = snapshotFrameRect(m_inspectedPage.mainFrame(), rectangle, WTFMove(options)); -@@ -1094,6 +1266,47 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i +@@ -1095,6 +1267,47 @@ Protocol::ErrorStringOr InspectorPageAgent::snapshotRect(int x, int y, i return snapshot->toDataURL("image/png"_s, std::nullopt, PreserveResolution::Yes); } @@ -4848,7 +4817,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d #if ENABLE(WEB_ARCHIVE) && USE(CF) Protocol::ErrorStringOr InspectorPageAgent::archive() { -@@ -1106,7 +1319,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() +@@ -1107,7 +1320,6 @@ Protocol::ErrorStringOr InspectorPageAgent::archive() } #endif @@ -4856,7 +4825,7 @@ index 762d4cadc00706dff00fe421b2f5d3ff8ec38ff0..5e8ed43bac580dfb4ae9a09cfd012e7d Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::optional&& width, std::optional&& height) { if (width.has_value() != height.has_value()) -@@ -1121,6 +1333,604 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt +@@ -1122,6 +1334,604 @@ Protocol::ErrorStringOr InspectorPageAgent::setScreenSizeOverride(std::opt m_inspectedPage.mainFrame().setOverrideScreenSize(FloatSize(width.value_or(0), height.value_or(0))); return { }; } @@ -5619,12 +5588,12 @@ index b51addb1bd8f2cce69560799cd1d952d2de42838..8c1e6148457a24c56a5b464a70da0ea1 } // namespace WebCore diff --git a/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp b/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp -index cc8667c104d37ae21d8015440ecac01c1c74dc55..d4c97d12e00e2eb27bc1fbc226d2e1a1ef9db65c 100644 +index c13374b161eebbf67860a0009bec14a35c53299f..aed9a5566b52b56cf93d660872b54e20eb9c44f1 100644 --- a/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp +++ b/Source/WebCore/inspector/agents/InspectorWorkerAgent.cpp @@ -168,7 +168,11 @@ void InspectorWorkerAgent::connectToWorkerInspectorProxy(WorkerInspectorProxy& p - m_connectedProxies.set(proxy.identifier(), makeWeakPtr(proxy)); + m_connectedProxies.set(proxy.identifier(), proxy); - m_frontendDispatcher->workerCreated(proxy.identifier(), proxy.url().string(), proxy.name()); + ASSERT(is(proxy.scriptExecutionContext())); @@ -5809,10 +5778,10 @@ index 16edb3bc689b8e2dde17597b642b706c1343e1f5..f363b2ca2410f22cff8d6ad908a88527 private: diff --git a/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp b/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp -index 7fa3f0aa11c5f48b9e76ff21f8b0ccad324bcb7f..65b5523af9c2a4a5dba61726d802f1cde49a2ee3 100644 +index 44c85f83d3d2140a0b28dec23e21d7b3b9522897..f23c08520e67b7a17bcd50c3b4a9c57180f05d00 100644 --- a/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp +++ b/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp -@@ -268,7 +268,7 @@ void LineLayout::updateFormattingRootGeometryAndInvalidate() +@@ -269,7 +269,7 @@ void LineLayout::updateFormattingRootGeometryAndInvalidate() auto updateGeometry = [&](auto& root) { root.setContentBoxWidth(flow.contentLogicalWidth()); @@ -5844,7 +5813,7 @@ 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 f9f392cb84d8202b2b9ecef0de16451803f37b63..8bb3711babbdff4c36f49da5e67e56514e3b6507 100644 +index 460060c1897ee1697b8dc7ebc32df8856bcfa8e1..5e281a519ec0de3e3de442771167f3a8fad2d5b4 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp @@ -1467,8 +1467,6 @@ void DocumentLoader::detachFromFrame() @@ -5857,7 +5826,7 @@ index f9f392cb84d8202b2b9ecef0de16451803f37b63..8bb3711babbdff4c36f49da5e67e5651 } diff --git a/Source/WebCore/loader/DocumentLoader.h b/Source/WebCore/loader/DocumentLoader.h -index 9fc4137a6900e24a1a82cec7cc75793d347e9812..341dec55a51249a34952887f8a4685f5a999b1d7 100644 +index 4fbfd7120199d27cfa87bdd596737106bce08db0..4f769e266eb4d33ca9c8fa553a4d763a549681be 100644 --- a/Source/WebCore/loader/DocumentLoader.h +++ b/Source/WebCore/loader/DocumentLoader.h @@ -168,9 +168,13 @@ public: @@ -5875,7 +5844,7 @@ index 9fc4137a6900e24a1a82cec7cc75793d347e9812..341dec55a51249a34952887f8a4685f5 DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 4b9515f370fb22c259e29767d968c49236e97423..a43336929d2ff4b4281d746372c0254ed92404d0 100644 +index b92736ccdc4e3d6574cfbd6d1064c1a40abbfdc8..0b482088952ca4ddc21c80cc25aa0f7a2063f0bc 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp @@ -1168,6 +1168,7 @@ void FrameLoader::loadInSameDocument(const URL& url, SerializedScriptValue* stat @@ -5923,7 +5892,7 @@ index 4b9515f370fb22c259e29767d968c49236e97423..a43336929d2ff4b4281d746372c0254e } void FrameLoader::dispatchOnloadEvents() -@@ -3200,6 +3209,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3201,6 +3210,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (m_frame.page()) checkLoadComplete(); @@ -5932,7 +5901,7 @@ index 4b9515f370fb22c259e29767d968c49236e97423..a43336929d2ff4b4281d746372c0254e } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, bool shouldContinue) -@@ -3962,9 +3973,6 @@ String FrameLoader::referrer() const +@@ -3963,9 +3974,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5942,7 +5911,7 @@ index 4b9515f370fb22c259e29767d968c49236e97423..a43336929d2ff4b4281d746372c0254e Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -3973,13 +3981,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -3974,13 +3982,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { @@ -5975,7 +5944,7 @@ index e2ecd1afc35ba6d312388c828ea4ce1ddc23acfc..b2bcda2e6990d621e5003819c7d8d03c virtual bool shouldPerformSecurityChecks() const { return false; } virtual bool havePerformedSecurityChecks(const ResourceResponse&) const { return false; } diff --git a/Source/WebCore/loader/PolicyChecker.cpp b/Source/WebCore/loader/PolicyChecker.cpp -index 87e26409bd399d5435a668dc6867eabe7cf5d622..40f0276fb7ec244583cb1925e931fa8da109709a 100644 +index d0805795af21d39fc6858d4ac0168745f011fec4..34db61fe02ea27453f2e4646415a97bf0fcb647a 100644 --- a/Source/WebCore/loader/PolicyChecker.cpp +++ b/Source/WebCore/loader/PolicyChecker.cpp @@ -46,6 +46,7 @@ @@ -6017,7 +5986,7 @@ index 87e26409bd399d5435a668dc6867eabe7cf5d622..40f0276fb7ec244583cb1925e931fa8d return; case PolicyAction::Use: + InspectorInstrumentation::didCheckNewWindowPolicy(frame.get(), true); - function(request, makeWeakPtr(formState.get()), frameName, navigationAction, ShouldContinuePolicyCheck::Yes); + function(request, formState, frameName, navigationAction, ShouldContinuePolicyCheck::Yes); return; } diff --git a/Source/WebCore/loader/ProgressTracker.cpp b/Source/WebCore/loader/ProgressTracker.cpp @@ -6043,7 +6012,7 @@ index fa84c366c63175f9fb4730eb85c4677fc3d6368f..ecf5b8dc97e35910baf493424e673155 void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response) diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h -index 4cfcb1681f17309ac4a7fc0b219acef95957b79d..93bb87fb16d3c9e43fc84fa47e8a8aba5b19918a 100644 +index ccbdfa4963e40396c79ea9639cb5a079b4f3ed26..b8952ccaaeb9e38391fb806c458ec0578c123e80 100644 --- a/Source/WebCore/page/ChromeClient.h +++ b/Source/WebCore/page/ChromeClient.h @@ -306,7 +306,7 @@ public: @@ -6056,10 +6025,10 @@ index 4cfcb1681f17309ac4a7fc0b219acef95957b79d..93bb87fb16d3c9e43fc84fa47e8a8aba #if ENABLE(INPUT_TYPE_COLOR) diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp -index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382edbc8afb2 100644 +index 61935b3413b322f2ca7d4582b4a463bc2db8b820..f2a68901ac20c0f46ff82083b8e40174e137771c 100644 --- a/Source/WebCore/page/EventHandler.cpp +++ b/Source/WebCore/page/EventHandler.cpp -@@ -134,6 +134,7 @@ +@@ -137,6 +137,7 @@ #if ENABLE(TOUCH_EVENTS) && !ENABLE(IOS_TOUCH_EVENTS) #include "PlatformTouchEvent.h" @@ -6067,7 +6036,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e #endif #if ENABLE(MAC_GESTURE_EVENTS) -@@ -793,9 +794,7 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve +@@ -796,9 +797,7 @@ bool EventHandler::handleMousePressEvent(const MouseEventWithHitTestResults& eve m_mousePressNode = event.targetNode(); m_frame.document()->setFocusNavigationStartingNode(event.targetNode()); @@ -6077,7 +6046,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e m_mousePressed = true; m_selectionInitiationState = HaveNotStartedSelection; -@@ -835,8 +834,6 @@ VisiblePosition EventHandler::selectionExtentRespectingEditingBoundary(const Vis +@@ -838,8 +837,6 @@ VisiblePosition EventHandler::selectionExtentRespectingEditingBoundary(const Vis return adjustedTarget->renderer()->positionForPoint(LayoutPoint(selectionEndPoint), nullptr); } @@ -6086,7 +6055,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e #if !PLATFORM(IOS_FAMILY) bool EventHandler::supportsSelectionUpdatesOnMouseDrag() const -@@ -858,8 +855,10 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e +@@ -861,8 +858,10 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e Ref protectedFrame(m_frame); @@ -6097,7 +6066,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e RefPtr targetNode = event.targetNode(); if (event.event().button() != LeftButton || !targetNode) -@@ -880,7 +879,9 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e +@@ -883,7 +882,9 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e ASSERT(mouseDownMayStartSelect() || m_mouseDownMayStartAutoscroll); #endif @@ -6107,7 +6076,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e if (m_mouseDownMayStartAutoscroll && !panScrollInProgress()) { m_autoscrollController->startAutoscrollForSelection(renderer); -@@ -897,6 +898,8 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e +@@ -900,6 +901,8 @@ bool EventHandler::handleMouseDraggedEvent(const MouseEventWithHitTestResults& e return true; } @@ -6116,7 +6085,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e bool EventHandler::eventMayStartDrag(const PlatformMouseEvent& event) const { // This is a pre-flight check of whether the event might lead to a drag being started. Be careful -@@ -928,6 +931,8 @@ bool EventHandler::eventMayStartDrag(const PlatformMouseEvent& event) const +@@ -931,6 +934,8 @@ bool EventHandler::eventMayStartDrag(const PlatformMouseEvent& event) const return targetElement && page->dragController().draggableElement(&m_frame, targetElement.get(), result.roundedPointInInnerNodeFrame(), state); } @@ -6125,7 +6094,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e void EventHandler::updateSelectionForMouseDrag() { if (!supportsSelectionUpdatesOnMouseDrag()) -@@ -1022,7 +1027,6 @@ void EventHandler::updateSelectionForMouseDrag(const HitTestResult& hitTestResul +@@ -1025,7 +1030,6 @@ void EventHandler::updateSelectionForMouseDrag(const HitTestResult& hitTestResul if (oldSelection != newSelection && HTMLElement::isImageOverlayText(newSelection.start().containerNode()) && HTMLElement::isImageOverlayText(newSelection.end().containerNode())) invalidateClick(); } @@ -6133,7 +6102,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e void EventHandler::lostMouseCapture() { -@@ -1070,9 +1074,7 @@ bool EventHandler::handleMouseReleaseEvent(const MouseEventWithHitTestResults& e +@@ -1073,9 +1077,7 @@ bool EventHandler::handleMouseReleaseEvent(const MouseEventWithHitTestResults& e // on the selection, the selection goes away. However, if we are // editing, place the caret. if (m_mouseDownWasSingleClickInSelection && m_selectionInitiationState != ExtendedSelection @@ -6143,7 +6112,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e && m_frame.selection().isRange() && event.event().button() != RightButton) { VisibleSelection newSelection; -@@ -2039,10 +2041,8 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent& platformMouseE +@@ -2042,10 +2044,8 @@ bool EventHandler::handleMouseMoveEvent(const PlatformMouseEvent& platformMouseE swallowEvent = !dispatchMouseEvent(eventNames().mousemoveEvent, mouseEvent.targetNode(), 0, platformMouseEvent, FireMouseOverOut::Yes); @@ -6154,7 +6123,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e return swallowEvent; } -@@ -4103,7 +4103,14 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr +@@ -4106,7 +4106,14 @@ bool EventHandler::handleDrag(const MouseEventWithHitTestResults& event, CheckDr if (!m_frame.document()) return false; @@ -6170,7 +6139,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e auto hasNonDefaultPasteboardData = HasNonDefaultPasteboardData::No; if (dragState().shouldDispatchEvents) { -@@ -4511,7 +4518,8 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) +@@ -4517,7 +4524,8 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) allTouchReleased = false; } @@ -6180,7 +6149,7 @@ index 1e9a2fed735035989f296e3edf89454dce0dea5e..ebee3fef88efb55d0d5a1082c75e382e PlatformTouchPoint::State pointState = point.state(); LayoutPoint pagePoint = documentPointForWindowPoint(m_frame, point.pos()); -@@ -4638,6 +4646,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) +@@ -4644,6 +4652,9 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event) changedTouches[pointState].m_touches->append(WTFMove(touch)); changedTouches[pointState].m_targets.add(touchTarget); } @@ -6269,7 +6238,7 @@ index 602631bb7cd10860b1a3121043c97d8efe44761d..867320c576201d35124a186ac60c2927 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 8172af68997d8a03b8ac98055f7a3a856d4b393c..46a91ecfc6f21d5efbd2938c9716318c74e6d6cf 100644 +index 8e0a19a664e62b7c3ee4dcf88be77ab5ba2737ed..cd5213633c4f68f6ca5ba36cbb42f38d69deb747 100644 --- a/Source/WebCore/page/Frame.cpp +++ b/Source/WebCore/page/Frame.cpp @@ -39,6 +39,7 @@ @@ -6279,8 +6248,8 @@ index 8172af68997d8a03b8ac98055f7a3a856d4b393c..46a91ecfc6f21d5efbd2938c9716318c +#include "ComposedTreeIterator.h" #include "DOMWindow.h" #include "DocumentTimeline.h" - #include "DocumentType.h" -@@ -71,6 +72,7 @@ + #include "DocumentTimelinesController.h" +@@ -73,6 +74,7 @@ #include "NavigationScheduler.h" #include "Navigator.h" #include "NodeList.h" @@ -6288,7 +6257,7 @@ index 8172af68997d8a03b8ac98055f7a3a856d4b393c..46a91ecfc6f21d5efbd2938c9716318c #include "NodeTraversal.h" #include "Page.h" #include "ProcessWarming.h" -@@ -189,6 +191,7 @@ Frame::Frame(Page& page, HTMLFrameOwnerElement* ownerElement, UniqueRefinit(); @@ -6296,7 +6265,7 @@ index 8172af68997d8a03b8ac98055f7a3a856d4b393c..46a91ecfc6f21d5efbd2938c9716318c } Ref Frame::create(Page* page, HTMLFrameOwnerElement* ownerElement, UniqueRef&& client) -@@ -374,7 +377,7 @@ void Frame::orientationChanged() +@@ -377,7 +380,7 @@ void Frame::orientationChanged() int Frame::orientation() const { if (m_page) @@ -6305,7 +6274,7 @@ index 8172af68997d8a03b8ac98055f7a3a856d4b393c..46a91ecfc6f21d5efbd2938c9716318c return 0; } #endif // ENABLE(ORIENTATION_EVENTS) -@@ -1167,6 +1170,362 @@ DataDetectionResultsStorage& Frame::dataDetectionResults() +@@ -1170,6 +1173,362 @@ DataDetectionResultsStorage& Frame::dataDetectionResults() #endif @@ -6799,10 +6768,10 @@ 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 88533b3d2b37182e16052fed129368a46e4229af..8988ea228a3baf26e8886512b619aba2f12cf5ff 100644 +index 00613fa6876a6be6a9261332161e496822af4182..a3a90eb6ea410f87d95833804cb7d025ec33f6f5 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp -@@ -465,6 +465,37 @@ void Page::setOverrideViewportArguments(const std::optional& +@@ -466,6 +466,37 @@ void Page::setOverrideViewportArguments(const std::optional& document->updateViewportArguments(); } @@ -6840,7 +6809,7 @@ index 88533b3d2b37182e16052fed129368a46e4229af..8988ea228a3baf26e8886512b619aba2 ScrollingCoordinator* Page::scrollingCoordinator() { if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled()) { -@@ -1293,10 +1324,6 @@ void Page::didCommitLoad() +@@ -1294,10 +1325,6 @@ void Page::didCommitLoad() m_isEditableRegionEnabled = false; #endif @@ -6851,7 +6820,7 @@ index 88533b3d2b37182e16052fed129368a46e4229af..8988ea228a3baf26e8886512b619aba2 resetSeenPlugins(); resetSeenMediaEngines(); -@@ -3270,6 +3297,16 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) +@@ -3274,6 +3301,16 @@ void Page::setUseDarkAppearanceOverride(std::optional valueOverride) #endif } @@ -6869,10 +6838,10 @@ index 88533b3d2b37182e16052fed129368a46e4229af..8988ea228a3baf26e8886512b619aba2 { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba7da3e6f2 100644 +index ec7711fe3bdd79f7eab0330f1be3be0dcac09fe7..9697e9cd2f6d28c316ca1b8ab69031b0f2a2f7d9 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h -@@ -257,6 +257,9 @@ public: +@@ -265,6 +265,9 @@ public: const std::optional& overrideViewportArguments() const { return m_overrideViewportArguments; } WEBCORE_EXPORT void setOverrideViewportArguments(const std::optional&); @@ -6882,7 +6851,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba static void refreshPlugins(bool reload); WEBCORE_EXPORT PluginData& pluginData(); void clearPluginData(); -@@ -309,6 +312,10 @@ public: +@@ -317,6 +320,10 @@ public: DragCaretController& dragCaretController() const { return *m_dragCaretController; } #if ENABLE(DRAG_SUPPORT) DragController& dragController() const { return *m_dragController; } @@ -6893,7 +6862,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba #endif FocusController& focusController() const { return *m_focusController; } #if ENABLE(CONTEXT_MENUS) -@@ -467,6 +474,8 @@ public: +@@ -475,6 +482,8 @@ public: WEBCORE_EXPORT void effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel); bool defaultUseDarkAppearance() const { return m_useDarkAppearance; } void setUseDarkAppearanceOverride(std::optional); @@ -6902,7 +6871,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba #if ENABLE(TEXT_AUTOSIZING) float textAutosizingWidth() const { return m_textAutosizingWidth; } -@@ -851,6 +860,11 @@ public: +@@ -859,6 +868,11 @@ public: WEBCORE_EXPORT Vector> editableElementsInRect(const FloatRect&) const; @@ -6914,7 +6883,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -939,6 +953,9 @@ private: +@@ -947,6 +961,9 @@ private: #if ENABLE(DRAG_SUPPORT) const std::unique_ptr m_dragController; @@ -6924,7 +6893,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba #endif const std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1018,6 +1035,7 @@ private: +@@ -1026,6 +1043,7 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6932,7 +6901,7 @@ index 94f8b8da9206963788c5161653e505ccc0053839..c25ad796c6977cef4f18d8ff1aeb4bba #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1183,6 +1201,11 @@ private: +@@ -1191,6 +1209,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -7071,7 +7040,7 @@ index 3bec0aef174336939838fb1069fffbcb9f3d5604..566ef3806be3c5ccf1bb951251c2a90d RefPtr SocketProvider::createWebSocketChannel(Document&, WebSocketChannelClient&) diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp -index 1dbd153b960ec2cd325d79820332d28eec564c13..8a2e724923d5135a9cea03cf909a1e18d44b8e99 100644 +index d88516747a44d6ada4ead0c6990e73b9142b1a1c..c2ed7258fbaddcdbc6344c2cbe71a98c2ac454c2 100644 --- a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp +++ b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp @@ -292,6 +292,8 @@ bool ContentSecurityPolicy::protocolMatchesSelf(const URL& url) const @@ -7388,10 +7357,10 @@ index d47d193e8bee85c2d2a35e218decdd84b7212dc1..a1cd2f3b8f025436b596d1b1081357d9 #endif diff --git a/Source/WebCore/platform/ScrollableArea.h b/Source/WebCore/platform/ScrollableArea.h -index 413bba0b559290b7d4d365ffc65c9080a6971d9b..40f318c28cd9ff38b533a5f1b9330a5ef5dec02a 100644 +index 30d39180788fd753125c4b5864d43f3030f02ebf..303916b2d1d8e42138cc6a5c88e17d61a30c34a2 100644 --- a/Source/WebCore/platform/ScrollableArea.h +++ b/Source/WebCore/platform/ScrollableArea.h -@@ -102,7 +102,7 @@ public: +@@ -101,7 +101,7 @@ public: void doPostThumbMoveSnapping(ScrollbarOrientation); #if ENABLE(TOUCH_EVENTS) @@ -7500,19 +7469,6 @@ index 98ec71d24d30d3124d5ed41237186f4b9f037681..6c644cf82481446bc861d93c0b9934cf return true; #else return false; -diff --git a/Source/WebCore/platform/graphics/SourceBufferPrivate.h b/Source/WebCore/platform/graphics/SourceBufferPrivate.h -index dc3c1bbf8945515b21b588a59485113affd6c9bf..f5974dff71422b23431a4fb3ea6c975be45873b4 100644 ---- a/Source/WebCore/platform/graphics/SourceBufferPrivate.h -+++ b/Source/WebCore/platform/graphics/SourceBufferPrivate.h -@@ -150,7 +150,7 @@ public: - protected: - // The following method should never be called directly and be overridden instead. - WEBCORE_EXPORT virtual void append(Vector&&); -- virtual MediaTime timeFudgeFactor() const { return {1, 10}; } -+ virtual MediaTime timeFudgeFactor() const { return {2002, 24000}; } - virtual bool isActive() const { return false; } - virtual bool isSeeking() const { return false; } - virtual MediaTime currentMediaTime() const { return { }; } diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp index 4db603a94f3af1b1bce94ab0f1ae36054c004fcc..c1820f48eb86348f8ca678fde636244e8c91267e 100644 --- a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp @@ -7625,143 +7581,6 @@ index 8677d106bf2d0f53044b47fba0e6736efcd3aeb6..9b28f9d917536d2c2699f613adf296bb Vector data(const PixelBuffer&, const String& mimeType, std::optional quality); WEBCORE_EXPORT String dataURL(CGImageRef, CFStringRef destinationUTI, const String& mimeType, std::optional quality); -diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp -index 381bb722273793f69cbfbfa174672eaf1ee781dc..d09472dc0d2a7e8c065204ac65ab0b5f041b9c5c 100644 ---- a/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp -+++ b/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp -@@ -183,6 +183,15 @@ RefPtr MediaSampleGStreamer::getRGBAImageData() const - return JSC::Uint8ClampedArray::tryCreate(WTFMove(bufferStorage), 0, byteLength); - } - -+void MediaSampleGStreamer::extendToTheBeginning() -+{ -+ // Only to be used with the first sample, as a hack for lack of support for edit lists. -+ // See AppendPipeline::appsinkNewSample() -+ ASSERT(m_dts == MediaTime::zeroTime()); -+ m_duration += m_pts; -+ m_pts = MediaTime::zeroTime(); -+} -+ - void MediaSampleGStreamer::setTimestamps(const MediaTime& presentationTime, const MediaTime& decodeTime) - { - m_pts = presentationTime; -diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h b/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h -index 96676ffaa32fd6c15c06543b4535fa86f7d2c9f0..d7a49b96fc33342fc03452340b5614a69dfc3803 100644 ---- a/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h -+++ b/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.h -@@ -42,6 +42,7 @@ public: - static Ref createFakeSample(GstCaps*, MediaTime pts, MediaTime dts, MediaTime duration, const FloatSize& presentationSize, const AtomString& trackId); - static Ref createImageSample(PixelBuffer&&, const IntSize& destinationSize = { }, double frameRate = 1); - -+ void extendToTheBeginning(); - MediaTime presentationTime() const override { return m_pts; } - MediaTime decodeTime() const override { return m_dts; } - MediaTime duration() const override { return m_duration; } -diff --git a/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp b/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp -index 5b896414c3aed331be9e052d8d0103e00b585bba..2cab8b19d143e78bd227f224c64be051707ba70f 100644 ---- a/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp -+++ b/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp -@@ -375,72 +375,21 @@ void AppendPipeline::handleEndOfAppend() - sourceBufferPrivate().didReceiveAllPendingSamples(); - } - --static GstClockTime bufferTimeToStreamTimeClamped(const GstSegment* segment, GstClockTime bufferTime) --{ -- guint64 streamTime; -- int result = gst_segment_to_stream_time_full(segment, GST_FORMAT_TIME, bufferTime, &streamTime); -- if (!result) { -- GST_ERROR("Couldn't map buffer time %" GST_TIME_FORMAT " to segment %" GST_PTR_FORMAT, GST_TIME_ARGS(bufferTime), segment); -- return bufferTime; -- } -- if (result < 0) -- return 0; // Clamp negative timestamps down to zero. -- return streamTime; --} -- - void AppendPipeline::appsinkNewSample(const Track& track, GRefPtr&& sample) - { - ASSERT(isMainThread()); - -- GstBuffer* buffer = gst_sample_get_buffer(sample.get()); -- if (UNLIKELY(!buffer)) { -+ if (UNLIKELY(!gst_sample_get_buffer(sample.get()))) { - GST_WARNING("Received sample without buffer from appsink."); - return; - } - -- if (!GST_BUFFER_PTS_IS_VALID(buffer)) { -+ if (!GST_BUFFER_PTS_IS_VALID(gst_sample_get_buffer(sample.get()))) { - // When demuxing Vorbis, matroskademux creates several PTS-less frames with header information. We don't need those. - GST_DEBUG("Ignoring sample without PTS: %" GST_PTR_FORMAT, gst_sample_get_buffer(sample.get())); - return; - } - -- GstSegment* segment = gst_sample_get_segment(sample.get()); -- bool hasMappedTime = false; -- GstClockTime pts = GST_BUFFER_PTS(buffer); -- GstClockTime dts = GST_BUFFER_DTS(buffer); -- GstClockTime duration = GST_BUFFER_DURATION(buffer); -- if (segment && (segment->time || segment->start)) { -- // MP4 has the concept of edit lists, where some buffer time needs to be offsetted, often very slightly, -- // to get exact timestamps. -- pts = bufferTimeToStreamTimeClamped(segment, GST_BUFFER_PTS(buffer)); -- dts = bufferTimeToStreamTimeClamped(segment, GST_BUFFER_DTS(buffer)); -- GST_TRACE_OBJECT(track.appsinkPad.get(), "Mapped buffer to segment, PTS %" GST_TIME_FORMAT " -> %" GST_TIME_FORMAT " DTS %" GST_TIME_FORMAT " -> %" GST_TIME_FORMAT, -- GST_TIME_ARGS(GST_BUFFER_PTS(buffer)), GST_TIME_ARGS(pts), GST_TIME_ARGS(GST_BUFFER_DTS(buffer)), GST_TIME_ARGS(dts)); -- hasMappedTime = true; -- } else if (!dts && pts > 0 && pts <= 100'000'000) { -- // Because a track presentation time starting at some close to zero, but not exactly zero time can cause unexpected -- // results for applications, we extend the duration of this first sample to the left so that it starts at zero. -- // This is relevant for files that should have an edit list but don't, or when using GStreamer < 1.16, where -- // edit lists are not parsed in push-mode. -- -- GST_DEBUG("Extending first sample of track '%s' to make it start at PTS=0 %" GST_PTR_FORMAT, track.trackId.string().utf8().data(), buffer); -- duration += pts; -- pts = 0; -- hasMappedTime = true; -- } -- -- if (hasMappedTime) { -- sample = adoptGRef(gst_sample_make_writable(sample.leakRef())); -- GRefPtr newBuffer = gst_sample_get_buffer(sample.get()); -- // Unset the buffer temporarily to ensure the buffer has refcount of 1 if possible when gst_buffer_make_writable is called, therefore avoiding a copy. -- gst_sample_set_buffer(sample.get(), nullptr); -- newBuffer = adoptGRef(gst_buffer_make_writable(newBuffer.leakRef())); -- GST_BUFFER_PTS(newBuffer.get()) = pts; -- GST_BUFFER_DTS(newBuffer.get()) = dts; -- GST_BUFFER_DURATION(newBuffer.get()) = duration; -- gst_sample_set_buffer(sample.get(), newBuffer.get()); -- } -- - auto mediaSample = MediaSampleGStreamer::create(WTFMove(sample), track.presentationSize, track.trackId); - - GST_TRACE("append: trackId=%s PTS=%s DTS=%s DUR=%s presentationSize=%.0fx%.0f", -@@ -450,6 +399,25 @@ void AppendPipeline::appsinkNewSample(const Track& track, GRefPtr&& s - mediaSample->duration().toString().utf8().data(), - mediaSample->presentationSize().width(), mediaSample->presentationSize().height()); - -+ // Hack, rework when GStreamer >= 1.16 becomes a requirement: -+ // We're not applying edit lists. GStreamer < 1.16 doesn't emit the correct segments to do so. -+ // GStreamer fix in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/commit/c2a0da8096009f0f99943f78dc18066965be60f9 -+ // Also, in order to apply them we would need to convert the timestamps to stream time, which we're not currently -+ // doing for consistency between GStreamer versions. -+ // -+ // In consequence, the timestamps we're handling here are unedited track time. In track time, the first sample is -+ // guaranteed to have DTS == 0, but in the case of streams with B-frames, often PTS > 0. Edit lists fix this by -+ // offsetting all timestamps by that amount in movie time, but we can't do that if we don't have access to them. -+ // (We could assume the track PTS of the sample with track DTS = 0 is the offset, but we don't have any guarantee -+ // we will get appended that sample first, or ever). -+ // -+ // Because a track presentation time starting at some close to zero, but not exactly zero time can cause unexpected -+ // results for applications, we extend the duration of this first sample to the left so that it starts at zero. -+ if (mediaSample->decodeTime() == MediaTime::zeroTime() && mediaSample->presentationTime() > MediaTime::zeroTime() && mediaSample->presentationTime() <= MediaTime(1, 10)) { -+ GST_DEBUG("Extending first sample to make it start at PTS=0"); -+ mediaSample->extendToTheBeginning(); -+ } -+ - m_sourceBufferPrivate.didReceiveSample(mediaSample.get()); - } - diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp index 2e46b61536c835dfcacf9f79e10e6d59ae7a3836..fa0c72d80d83c58a8407e78988de010fe97d7c38 100644 --- a/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp @@ -8622,7 +8441,7 @@ index 311aef2d80fe7336cd8e5113c39d950db8f4394c..995545c175a9b22145f82c7efa8ef539 kCFStreamSSLPeerName, kCFStreamSSLLevel, diff --git a/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm b/Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm -index 8e4a2860ee811906ec8655ca71939263e3932ca0..f2f7e53ec577716fa8562fadf6953c4acd4459e7 100644 +index b28ebbddea4fba00a321d18d20bef45bd0392ac7..7291be7bb171ad99142147270389152b1bd34eb5 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 @@ -8923,7 +8742,7 @@ index aae6c99dd052985a43718846b68536454050c234..7e2e5d0c1de90f1454f7fdb71a40ab71 bool PlatformKeyboardEvent::currentCapsLockState() diff --git a/Source/WebCore/platform/win/PasteboardWin.cpp b/Source/WebCore/platform/win/PasteboardWin.cpp -index b94ee27baae83c0285533fc1c6abb4229816eda0..a242d40c5fc2fccdd0273f58287a3fcd85cbd01d 100644 +index c5445385a77ac12c09ef24866473d62cb679455a..392b3825d81e53f020ef7276ec7681a49c9baade 100644 --- a/Source/WebCore/platform/win/PasteboardWin.cpp +++ b/Source/WebCore/platform/win/PasteboardWin.cpp @@ -1134,7 +1134,21 @@ void Pasteboard::writeCustomData(const Vector& data) @@ -9394,10 +9213,10 @@ index 0000000000000000000000000000000000000000..cf2b51f6f02837a1106f4d999f2f130e + +} // namespace WebCore diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp -index 399398af5fb3521a25aab79d19a61afbce899e83..728abac89cae65e7801679369e3b498b2096eb9b 100644 +index 02c5c15cf6878190c5a2e22282293c4fecd8a80c..d4fbcde2e0c432d2f6f61da722bdd59dbb91e5dc 100644 --- a/Source/WebCore/rendering/RenderLayer.cpp +++ b/Source/WebCore/rendering/RenderLayer.cpp -@@ -2603,7 +2603,7 @@ LayoutRect RenderLayer::getRectToExpose(const LayoutRect& visibleRect, const Lay +@@ -2604,7 +2604,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(); @@ -9453,7 +9272,7 @@ index 694008e0451edc5770142a0a6d9eed52b04ded80..ec93869f9486bdf7bd3bb56478c62469 WEBCORE_EXPORT WTF::TextStream& operator<<(WTF::TextStream&, ScrollAlignment::Behavior); diff --git a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp -index db155aca3f73d96511f010290d6a221649f8c9f1..223d2a7525d3ac99eca24a42dd9f1d88bc435189 100644 +index 5d7b5ea146168df4d0497b2141f3b3d8d130b067..9255e8a434907fe1d69a5dc98a98c78369292ad4 100644 --- a/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp @@ -76,6 +76,11 @@ @@ -9510,7 +9329,7 @@ index daeba5d84582c506391b2eca143710d23a17de12..cd68dd1d1b7e7d952040e6546a66fbbb 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 25ff11bc28092e25ec21ae62abd1788b90dba70b..58a591da5304f72bfe5519389a63a6d3f3685917 100644 +index f95062614e9640c3cd629d7394cbeb85982b54c8..9a203eb7d62e5d0b98c73b521e3fb4434a15261e 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp @@ -26,7 +26,6 @@ @@ -9636,7 +9455,7 @@ index c0661ec5746af36f36ce03edef02dce66890a758..b45a8c263b424b1d4714d14241f5afcd ClearPrevalentResource(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () Async ClearUserInteraction(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () Async diff --git a/Source/WebKit/NetworkProcess/NetworkSession.h b/Source/WebKit/NetworkProcess/NetworkSession.h -index d554db142d6c59ade46dd083d5db17322dce984d..1cafb806e19a77ba383d3d86adc2d4aab07daf25 100644 +index 47d1dd7c17f075169bacfdf52f61743641a77d42..322b0381600672526128a777dcb26ff3afa22e68 100644 --- a/Source/WebKit/NetworkProcess/NetworkSession.h +++ b/Source/WebKit/NetworkProcess/NetworkSession.h @@ -168,6 +168,9 @@ public: @@ -9717,7 +9536,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 dd91e78a5b1609151eab11e6406df659d1bd5010..8fa3da5d7908c77cabef16d3c7aafedc904688b2 100644 +index c84ead430ab15d94fd8ef2533d6e492872b6e12b..06bffb27005e00041d22673ababe603885307e84 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 @@ -9788,7 +9607,7 @@ index 47c84e483fa93672815651b3d2196a2b56cb02ab..bc5603f78e5a4d8499bd2795d2da6ed6 void deleteLocalStorageEntriesForOrigins(const Vector&); Vector getLocalStorageOriginDetailsCrossThreadCopy() const; diff --git a/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp b/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp -index 08f61abd7aab58dcf4dc31f3610db1d7deeab411..2bc41e6c517d7dcacd13b12a681ec1de51a39b28 100644 +index 6fd703a5e5b2d01435985eab3aedc1e0d1a93b13..fada96efb033be24f8659019f2e11b697085c32a 100644 --- a/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp +++ b/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp @@ -245,6 +245,50 @@ void StorageManagerSet::getLocalStorageOrigins(PAL::SessionID sessionID, GetOrig @@ -9864,10 +9683,10 @@ index d602a5f90999fc7f440e2468d40332625ed37083..577b76728f762e7f5aa509531a65eaab void didReceiveMessage(IPC::Connection&, IPC::Decoder&); diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -index 5bcb98a6d888eceebeb1e245c687c6ca572b6a20..56725b7e351bf3e1692bec5970b73a5adfb9a060 100644 +index 4e9a53195f1cafc101f775edf0557265f2aa0d9f..329d38f2d1d16cc01cbb306c6976a5a853076077 100644 --- a/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm +++ b/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm -@@ -720,7 +720,7 @@ static inline void processServerTrustEvaluation(NetworkSessionCocoa& session, Se +@@ -718,7 +718,7 @@ static inline void processServerTrustEvaluation(NetworkSessionCocoa& session, Se NegotiatedLegacyTLS negotiatedLegacyTLS = NegotiatedLegacyTLS::No; if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { @@ -9876,7 +9695,7 @@ index 5bcb98a6d888eceebeb1e245c687c6ca572b6a20..56725b7e351bf3e1692bec5970b73a5a return completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]); NSURLSessionTaskTransactionMetrics *metrics = task._incompleteTaskMetrics.transactionMetrics.lastObject; -@@ -957,6 +957,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END +@@ -951,6 +951,13 @@ ALLOW_DEPRECATED_DECLARATIONS_END resourceResponse.setDeprecatedNetworkLoadMetrics(WebCore::copyTimingData(taskMetrics, networkDataTask->networkLoadMetrics())); @@ -10181,10 +10000,10 @@ index 9873026a091fdf2974be1a1e734e6f5b30a7d7c5..17f2905841f190ab2e18862c5df477c4 } return makeUnique(channel, request, soupSession(), soupMessage.get(), protocol); diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake -index 572a9c6e02e30c94e298ac1ee35632f010bfc6b2..88adffd061d1f224a6266a77c0bf99927ad0851d 100644 +index 88c560cc9f62ce5c5e9cdef9d470de47fad45ae4..c3f101ee43d6f665d5b092a38d99719911354ad3 100644 --- a/Source/WebKit/PlatformGTK.cmake +++ b/Source/WebKit/PlatformGTK.cmake -@@ -463,6 +463,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -464,6 +464,9 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GSTREAMER_PBUTILS_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -10194,7 +10013,7 @@ index 572a9c6e02e30c94e298ac1ee35632f010bfc6b2..88adffd061d1f224a6266a77c0bf9992 ) if (USE_WPE_RENDERER) -@@ -516,6 +519,9 @@ if (USE_LIBWEBRTC) +@@ -517,6 +520,9 @@ if (USE_LIBWEBRTC) list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/" "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc" @@ -10204,7 +10023,7 @@ index 572a9c6e02e30c94e298ac1ee35632f010bfc6b2..88adffd061d1f224a6266a77c0bf9992 ) endif () -@@ -530,6 +536,12 @@ if (ENABLE_MEDIA_STREAM) +@@ -531,6 +537,12 @@ if (ENABLE_MEDIA_STREAM) ) endif () @@ -10218,7 +10037,7 @@ index 572a9c6e02e30c94e298ac1ee35632f010bfc6b2..88adffd061d1f224a6266a77c0bf9992 set(WebKit2GTK_ENUM_GENERATION_HEADERS ${WebKit2GTK_INSTALLED_HEADERS}) list(REMOVE_ITEM WebKit2GTK_ENUM_GENERATION_HEADERS ${WebKit2Gtk_DERIVED_SOURCES_DIR}/webkit2/WebKitEnumTypes.h) diff --git a/Source/WebKit/PlatformWPE.cmake b/Source/WebKit/PlatformWPE.cmake -index cc1e5966c90f16c8bd821f00699af38bf659a829..4f79415118a7143a91839ecf4de2a09fd64f8e64 100644 +index f4cd5bef402b0c63e1fbb7a07132900ce6f738bb..e8287cc0173859a248ceb5e1d04f586f1e0e2943 100644 --- a/Source/WebKit/PlatformWPE.cmake +++ b/Source/WebKit/PlatformWPE.cmake @@ -166,6 +166,7 @@ set(WPE_API_INSTALLED_HEADERS @@ -10229,7 +10048,7 @@ index cc1e5966c90f16c8bd821f00699af38bf659a829..4f79415118a7143a91839ecf4de2a09f ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitPolicyDecision.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitRectangle.h ${WEBKIT_DIR}/UIProcess/API/wpe/WebKitResponsePolicyDecision.h -@@ -290,6 +291,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES +@@ -291,6 +292,7 @@ list(APPEND WebKit_INCLUDE_DIRECTORIES "${WEBKIT_DIR}/UIProcess/API/wpe" "${WEBKIT_DIR}/UIProcess/CoordinatedGraphics" "${WEBKIT_DIR}/UIProcess/geoclue" @@ -10237,7 +10056,7 @@ index cc1e5966c90f16c8bd821f00699af38bf659a829..4f79415118a7143a91839ecf4de2a09f "${WEBKIT_DIR}/UIProcess/gstreamer" "${WEBKIT_DIR}/UIProcess/linux" "${WEBKIT_DIR}/UIProcess/soup" -@@ -312,8 +314,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +@@ -313,8 +315,17 @@ list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS} @@ -10452,7 +10271,7 @@ index f2f3979fcac9dfd97d0e0ead600fe35eb8defd40..ac91412e1a96bdf521b1890a66e465dc NSEvent* nativeEvent() const { return m_nativeEvent.get(); } #elif PLATFORM(GTK) diff --git a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp -index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566781d08ce 100644 +index 2bb58ffb74287265ccc3855744fad5dd01e2c953..a0d65b6248b4e4c460e32d41b3027e83f376baa2 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp @@ -119,6 +119,10 @@ @@ -10466,7 +10285,7 @@ index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566 // FIXME: Seems like we could use std::tuple to cut down the code below a lot! namespace IPC { -@@ -1372,6 +1376,9 @@ void ArgumentCoder::encode(Encoder& encoder, const WindowFeature +@@ -1375,6 +1379,9 @@ void ArgumentCoder::encode(Encoder& encoder, const WindowFeature encoder << windowFeatures.resizable; encoder << windowFeatures.fullscreen; encoder << windowFeatures.dialog; @@ -10476,7 +10295,7 @@ index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566 } bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& windowFeatures) -@@ -1400,6 +1407,12 @@ bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& win +@@ -1403,6 +1410,12 @@ bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& win return false; if (!decoder.decode(windowFeatures.dialog)) return false; @@ -10489,7 +10308,7 @@ index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566 return true; } -@@ -1413,6 +1426,11 @@ void ArgumentCoder::encode(Encoder& encoder, const DragData& dragData) +@@ -1416,6 +1429,11 @@ void ArgumentCoder::encode(Encoder& encoder, const DragData& dragData) #if PLATFORM(COCOA) encoder << dragData.pasteboardName(); encoder << dragData.fileNames(); @@ -10501,7 +10320,7 @@ index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566 #endif encoder << dragData.dragDestinationActionMask(); encoder << dragData.pageID(); -@@ -1436,9 +1454,16 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) +@@ -1439,9 +1457,16 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) if (!decoder.decode(applicationFlags)) return false; @@ -10519,7 +10338,7 @@ index 867f6d548b9e2984ec71f33da02898723971cd0d..c80cdfdf660f31541cdd274c87aa6566 if (!decoder.decode(pasteboardName)) return false; -@@ -1454,8 +1479,14 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) +@@ -1457,8 +1482,14 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) if (!decoder.decode(pageID)) return false; @@ -10672,7 +10491,7 @@ index 3dbe10d49b4de34636900efe31fb57e7e60e341c..1457cbaad0bf5c3b17902fd8c2f243a2 const WebCore::IntPoint& globalPosition() const { return m_globalPosition; } float deltaX() const { return m_deltaX; } diff --git a/Source/WebKit/Shared/WebPageCreationParameters.cpp b/Source/WebKit/Shared/WebPageCreationParameters.cpp -index ad411b806298a4b85e8785bbf475ff2d93cf17ef..05f95934ccc7c052bc721a51b5b19c2dc9f8de11 100644 +index cbca908e38360d1d9c99442e093fa089151e96d6..98cef85c15d88bd2fbcca564c939968f72347838 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.cpp +++ b/Source/WebKit/Shared/WebPageCreationParameters.cpp @@ -156,6 +156,8 @@ void WebPageCreationParameters::encode(IPC::Encoder& encoder) const @@ -10697,7 +10516,7 @@ index ad411b806298a4b85e8785bbf475ff2d93cf17ef..05f95934ccc7c052bc721a51b5b19c2d return std::nullopt; diff --git a/Source/WebKit/Shared/WebPageCreationParameters.h b/Source/WebKit/Shared/WebPageCreationParameters.h -index 4a05d60b2ace122401348bba9aa1da1746b89240..26b82cd757fd3e4fb032e9d6901895fced4e19eb 100644 +index eb1ee0959a513db8257d64addceea509b7a3e86e..11f614ece8472a186deb11b04d127336b59f86d4 100644 --- a/Source/WebKit/Shared/WebPageCreationParameters.h +++ b/Source/WebKit/Shared/WebPageCreationParameters.h @@ -252,6 +252,8 @@ struct WebPageCreationParameters { @@ -11013,10 +10832,10 @@ index 85d6f74114f4e7f82d9502d1b99d69098d6a49b6..6896c9756edb233dda46c7031e1af699 return WebTouchEvent(); } diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index c4a84e1fb6f466b8fbd54e6ca46c472422b3b0c8..93aa2bcd610d6583551bba17027d17e02e04b6eb 100644 +index 55319cbb57ae4abad3e32dfbfdb5ff2a8c741543..aeda255610c78cd66e253b57d248fbd56a2c5297 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt -@@ -310,11 +310,14 @@ Shared/XR/XRDeviceProxy.cpp +@@ -313,11 +313,14 @@ Shared/XR/XRDeviceProxy.cpp UIProcess/AuxiliaryProcessProxy.cpp UIProcess/BackgroundProcessResponsivenessTimer.cpp @@ -11031,7 +10850,7 @@ index c4a84e1fb6f466b8fbd54e6ca46c472422b3b0c8..93aa2bcd610d6583551bba17027d17e0 UIProcess/LegacyGlobalSettings.cpp UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp UIProcess/MediaKeySystemPermissionRequestProxy.cpp -@@ -323,6 +326,7 @@ UIProcess/PageLoadState.cpp +@@ -326,6 +329,7 @@ UIProcess/PageLoadState.cpp UIProcess/ProcessAssertion.cpp UIProcess/ProcessThrottler.cpp UIProcess/ProvisionalPageProxy.cpp @@ -11039,7 +10858,7 @@ index c4a84e1fb6f466b8fbd54e6ca46c472422b3b0c8..93aa2bcd610d6583551bba17027d17e0 UIProcess/ResponsivenessTimer.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp -@@ -363,6 +367,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -366,6 +370,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -11048,7 +10867,7 @@ index c4a84e1fb6f466b8fbd54e6ca46c472422b3b0c8..93aa2bcd610d6583551bba17027d17e0 UIProcess/WebPageProxy.cpp UIProcess/WebPasteboardProxy.cpp UIProcess/WebPreferences.cpp -@@ -484,7 +490,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -487,7 +493,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -11061,10 +10880,10 @@ index c4a84e1fb6f466b8fbd54e6ca46c472422b3b0c8..93aa2bcd610d6583551bba17027d17e0 UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index 3722ef8f5f3ec7c0cabf5f709e29d56bdcc71b73..29f26062ab408cfc520ae8418dd7757e0d20f5ab 100644 +index 057883ab00cfd700b2e4136a2c73ef0d9420bf70..cc3cac19061c793a93d5d8049a9a13642363cd26 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt -@@ -274,6 +274,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm +@@ -275,6 +275,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm UIProcess/API/Cocoa/_WKAttachment.mm UIProcess/API/Cocoa/_WKAutomationSession.mm UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm @@ -11072,7 +10891,7 @@ index 3722ef8f5f3ec7c0cabf5f709e29d56bdcc71b73..29f26062ab408cfc520ae8418dd7757e UIProcess/API/Cocoa/_WKContentRuleListAction.mm UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm UIProcess/API/Cocoa/_WKCustomHeaderFields.mm @no-unify -@@ -447,6 +448,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm +@@ -448,6 +449,7 @@ UIProcess/Inspector/ios/WKInspectorHighlightView.mm UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm @@ -11081,10 +10900,10 @@ index 3722ef8f5f3ec7c0cabf5f709e29d56bdcc71b73..29f26062ab408cfc520ae8418dd7757e UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm UIProcess/Inspector/mac/WKInspectorViewController.mm diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt -index eb59de7ba5bc69f414d2a72038b629d7a7b2ad4d..5ffba950e0592576f408e5e16c9ad02701063e11 100644 +index 5c954eef9ae1b2f94ef008b2a38af8894b0c9ac5..8cff85356bf3f8b5c2cd4a9246a487831c78883d 100644 --- a/Source/WebKit/SourcesGTK.txt +++ b/Source/WebKit/SourcesGTK.txt -@@ -126,6 +126,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify +@@ -127,6 +127,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify UIProcess/API/glib/WebKitBackForwardList.cpp @no-unify UIProcess/API/glib/WebKitBackForwardListItem.cpp @no-unify @@ -11092,7 +10911,7 @@ index eb59de7ba5bc69f414d2a72038b629d7a7b2ad4d..5ffba950e0592576f408e5e16c9ad027 UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify UIProcess/API/glib/WebKitCookieManager.cpp @no-unify UIProcess/API/glib/WebKitCredential.cpp @no-unify -@@ -240,6 +241,7 @@ UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp +@@ -241,6 +242,7 @@ UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp UIProcess/cairo/BackingStoreCairo.cpp @no-unify @@ -11100,7 +10919,7 @@ index eb59de7ba5bc69f414d2a72038b629d7a7b2ad4d..5ffba950e0592576f408e5e16c9ad027 UIProcess/glib/WebPageProxyGLib.cpp UIProcess/glib/WebProcessPoolGLib.cpp UIProcess/glib/WebProcessProxyGLib.cpp -@@ -257,6 +259,7 @@ UIProcess/gtk/ClipboardGtk4.cpp @no-unify +@@ -258,6 +260,7 @@ UIProcess/gtk/ClipboardGtk4.cpp @no-unify UIProcess/gtk/WebDateTimePickerGtk.cpp UIProcess/gtk/GtkSettingsManager.cpp UIProcess/gtk/HardwareAccelerationManager.cpp @@ -11108,7 +10927,7 @@ index eb59de7ba5bc69f414d2a72038b629d7a7b2ad4d..5ffba950e0592576f408e5e16c9ad027 UIProcess/gtk/KeyBindingTranslator.cpp UIProcess/gtk/PointerLockManager.cpp @no-unify UIProcess/gtk/PointerLockManagerWayland.cpp @no-unify -@@ -269,6 +272,8 @@ UIProcess/gtk/WaylandCompositor.cpp @no-unify +@@ -270,6 +273,8 @@ UIProcess/gtk/WaylandCompositor.cpp @no-unify UIProcess/gtk/WebColorPickerGtk.cpp UIProcess/gtk/WebContextMenuProxyGtk.cpp UIProcess/gtk/WebDataListSuggestionsDropdownGtk.cpp @@ -11118,7 +10937,7 @@ index eb59de7ba5bc69f414d2a72038b629d7a7b2ad4d..5ffba950e0592576f408e5e16c9ad027 UIProcess/gtk/WebPasteboardProxyGtk.cpp UIProcess/gtk/WebPopupMenuProxyGtk.cpp diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt -index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab524609772675f 100644 +index 8a1c30f32f3b9350a306bef530ecb3340c1f29c7..6c2ac1bbe2a770c6c8dafbe4ee5a2f04a30e7af4 100644 --- a/Source/WebKit/SourcesWPE.txt +++ b/Source/WebKit/SourcesWPE.txt @@ -86,6 +86,7 @@ Shared/glib/ProcessExecutablePathGLib.cpp @@ -11129,7 +10948,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 Shared/libwpe/NativeWebKeyboardEventLibWPE.cpp Shared/libwpe/NativeWebMouseEventLibWPE.cpp Shared/libwpe/NativeWebTouchEventLibWPE.cpp -@@ -118,6 +119,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify +@@ -120,6 +121,7 @@ UIProcess/API/glib/WebKitAuthenticationRequest.cpp @no-unify UIProcess/API/glib/WebKitAutomationSession.cpp @no-unify UIProcess/API/glib/WebKitBackForwardList.cpp @no-unify UIProcess/API/glib/WebKitBackForwardListItem.cpp @no-unify @@ -11137,7 +10956,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 UIProcess/API/glib/WebKitContextMenuClient.cpp @no-unify UIProcess/API/glib/WebKitCookieManager.cpp @no-unify UIProcess/API/glib/WebKitCredential.cpp @no-unify -@@ -152,6 +154,7 @@ UIProcess/API/glib/WebKitOptionMenu.cpp @no-unify +@@ -154,6 +156,7 @@ UIProcess/API/glib/WebKitOptionMenu.cpp @no-unify UIProcess/API/glib/WebKitOptionMenuItem.cpp @no-unify UIProcess/API/glib/WebKitPermissionRequest.cpp @no-unify UIProcess/API/glib/WebKitPlugin.cpp @no-unify @@ -11145,7 +10964,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 UIProcess/API/glib/WebKitPolicyDecision.cpp @no-unify UIProcess/API/glib/WebKitPrivate.cpp @no-unify UIProcess/API/glib/WebKitProtocolHandler.cpp @no-unify -@@ -183,6 +186,7 @@ UIProcess/API/wpe/InputMethodFilterWPE.cpp @no-unify +@@ -185,6 +188,7 @@ UIProcess/API/wpe/InputMethodFilterWPE.cpp @no-unify UIProcess/API/wpe/PageClientImpl.cpp @no-unify UIProcess/API/wpe/TouchGestureController.cpp @no-unify UIProcess/API/wpe/WebKitColor.cpp @no-unify @@ -11153,7 +10972,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 UIProcess/API/wpe/WebKitInputMethodContextWPE.cpp @no-unify UIProcess/API/wpe/WebKitPopupMenu.cpp @no-unify UIProcess/API/wpe/WebKitRectangle.cpp @no-unify -@@ -199,6 +203,7 @@ UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +@@ -201,6 +205,7 @@ UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp UIProcess/geoclue/GeoclueGeolocationProvider.cpp @@ -11161,7 +10980,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 UIProcess/glib/WebPageProxyGLib.cpp UIProcess/glib/WebProcessPoolGLib.cpp UIProcess/glib/WebProcessProxyGLib.cpp -@@ -221,6 +226,11 @@ UIProcess/linux/MemoryPressureMonitor.cpp +@@ -223,6 +228,11 @@ UIProcess/linux/MemoryPressureMonitor.cpp UIProcess/soup/WebCookieManagerProxySoup.cpp UIProcess/soup/WebProcessPoolSoup.cpp @@ -11173,7 +10992,7 @@ index 2a4f406abb8afb304ee38d62b3a2bf760894cda6..fee65b63f3f1de3fe72f05b1eab52460 UIProcess/wpe/WebPageProxyWPE.cpp WebProcess/GPU/media/gstreamer/VideoLayerRemoteGStreamer.cpp -@@ -249,6 +259,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp +@@ -251,6 +261,8 @@ WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp @@ -11223,7 +11042,7 @@ index bc05fe15f5eacdac6f25cde2a6a488fb84c3e03c..79a9082771d4af4ad31157fac8ca2e2a bool m_shouldTakeUIBackgroundAssertion { true }; bool m_shouldCaptureDisplayInUIProcess { DEFAULT_CAPTURE_DISPLAY_IN_UI_PROCESS }; diff --git a/Source/WebKit/UIProcess/API/APIUIClient.h b/Source/WebKit/UIProcess/API/APIUIClient.h -index 2db0f569cb2250589e7ec16058dafb5a6a4e7bf0..14eb20db0123a6025d2ddacc1dbda1b01d03ab60 100644 +index 549102eb5feeab009bf9477532d4f9d501ea8e5b..a0cd676d3a736e70ff5513626bd34ba02f45e2d2 100644 --- a/Source/WebKit/UIProcess/API/APIUIClient.h +++ b/Source/WebKit/UIProcess/API/APIUIClient.h @@ -94,6 +94,7 @@ public: @@ -11290,7 +11109,7 @@ index 026121d114c5fcad84c1396be8d692625beaa3bd..edd6e5cae033124c589959a42522fde0 } #endif diff --git a/Source/WebKit/UIProcess/API/C/WKPage.cpp b/Source/WebKit/UIProcess/API/C/WKPage.cpp -index 701f1a29088d8420160c73e0cd9efd32dcc6f23d..faa86b2da83dbe77541d8d6c64a553c7555e8697 100644 +index 1fb2f27ad2b921a88eacad8c79684b68521e67ec..3a39258ee0765de211b09e34a78d9a5f6a741b5d 100644 --- a/Source/WebKit/UIProcess/API/C/WKPage.cpp +++ b/Source/WebKit/UIProcess/API/C/WKPage.cpp @@ -1776,6 +1776,13 @@ void WKPageSetPageUIClient(WKPageRef pageRef, const WKPageUIClientBase* wkClient @@ -11391,7 +11210,7 @@ index afa925f36c29db9c23921298dead9cce737500d6..42d396342acdb6d39830f611df0ee40e NS_ASSUME_NONNULL_END diff --git a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm -index ec7cd55cecfaa78078d058379fcf69999432a204..48bbe03b28dad58dadcbcf22df1ee8797d91613a 100644 +index 9ba69f7d06a5d66bb1aaf8d7471b0455afeffbcc..879becf9c90f302fdebc2287d2a346449db2590d 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -42,6 +42,7 @@ @@ -11991,7 +11810,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 f094f53893944955f79839c25d9dee925df4700e..143e3d189cbe7520082354c975c8eecc2861923f 100644 +index 4e5d73257144b51dd42a4efacc70eefcce853e95..eef10d6772ca98525717ad1834aa78cb6846a5eb 100644 --- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp +++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp @@ -32,6 +32,7 @@ @@ -12106,7 +11925,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 9f05f513ab2f15471ce095cafd15b9c26ec73863..a50d42ca5502f2ae7a73e199dc55068a37cac81c 100644 +index 9204440b028fd175af6f0feb1c780ea7cb938dd8..8d6b56f2f7a92b12a7e7b13ba6bdbc6de0df31c2 100644 --- a/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp @@ -250,6 +250,8 @@ void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool @@ -12252,7 +12071,7 @@ index b7d2741c4b2c1ad4e34a1fab48fec61af1c6102d..eac99e94eec2e093fa3a1f2356f8d75e #include #include diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp -index 44a423b97769a5e8bc1fd11aae3b428284fe820b..78b9491d7298daa64e3edc3d8335b4c9070f0cdd 100644 +index 6c3e1c955042055b3016e04e4bc9c400c5a5c905..4371a9da51f6b55be180c86c9e9518894fd8728f 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp @@ -32,8 +32,11 @@ @@ -12301,7 +12120,7 @@ index 44a423b97769a5e8bc1fd11aae3b428284fe820b..78b9491d7298daa64e3edc3d8335b4c9 + } // namespace WebKit diff --git a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h -index 8ab8db715db64616a15a06bb2b4760a40ad5f254..107cac00fe80483c893b30b40e1fa8c28043ddc4 100644 +index ca30000e1a06b85886716c8d991ef485963fd635..e178dc92338312823553719495ea7b67f4b853d7 100644 --- a/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h +++ b/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h @@ -166,6 +166,17 @@ private: @@ -12854,7 +12673,7 @@ index 454c61ffdefecc476d1560c7c43f5b5d345f281d..6de7509037b7683ddd403ee247bdf284 class PopUpSOAuthorizationSession final : public SOAuthorizationSession { public: diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -index 329db791cf432724636342800504b08ea89db0e3..5d2b8aa95a5a9daae91c111803becf13f96acfa4 100644 +index e679695a3fe1a0aef28dd5af0248d6906f341987..7a8898483f4a22d668a54c56a840fed98a4c4a3e 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h @@ -94,6 +94,7 @@ private: @@ -12874,7 +12693,7 @@ index 329db791cf432724636342800504b08ea89db0e3..5d2b8aa95a5a9daae91c111803becf13 bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRequestGeolocationPermissionForFrameDecisionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index 11b7a4058a5b641ab884a976577cf2103bcb6bdd..d64b09b1892f04023780782da636c621144a91b5 100644 +index 107fa24ce14753407dfacf05608486b5d9da2eed..30452ec6fc8b0c2c13e60c61e1aea919df720c27 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm @@ -106,6 +106,7 @@ void UIDelegate::setDelegate(id delegate) @@ -12902,7 +12721,7 @@ index 11b7a4058a5b641ab884a976577cf2103bcb6bdd..d64b09b1892f04023780782da636c621 { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index c727c20dac664d8d505675ab6ffb525e35f5e2b1..77055723d3168f7cc22b91dede5a18bfc07303cd 100644 +index 915b7f4c648e2fe0198efd15b55ff451181ad6f7..994a1eb25362a259f33e9307833f66d1d7573b8d 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm @@ -35,6 +35,7 @@ @@ -12981,7 +12800,7 @@ index c727c20dac664d8d505675ab6ffb525e35f5e2b1..77055723d3168f7cc22b91dede5a18bf #if PLATFORM(IOS_FAMILY) diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm -index a39f6d02cf6f09e4e1815078f3565cb99b691a9e..8631a52ec2c49eb9a27bafdadccd4c8cc9846c8a 100644 +index 4c211f5fcebcd1141847de8111ea12480c7036f3..a692dd10f01465ca45e270551ed52f7dc8a31df3 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm @@ -449,7 +449,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process @@ -13005,7 +12824,7 @@ index a39f6d02cf6f09e4e1815078f3565cb99b691a9e..8631a52ec2c49eb9a27bafdadccd4c8c m_activationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationDidBecomeActiveNotification object:NSApp queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) { diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h -index 262d56fd976fb3b47b725b8ebd66da6342d684a5..85e7a05fd644eb31fd4e4177c9b615f629e77ee1 100644 +index 590b87c1c5c2c09ace8b9f1710db937842b156c5..920e083b18aeedb6d993f2e94de9e757b94ec9c3 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h +++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h @@ -514,6 +514,9 @@ public: @@ -13019,7 +12838,7 @@ index 262d56fd976fb3b47b725b8ebd66da6342d684a5..85e7a05fd644eb31fd4e4177c9b615f6 void saveBackForwardSnapshotForCurrentItem(); void saveBackForwardSnapshotForItem(WebBackForwardListItem&); diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm -index 755e6a6c2fa5a4bdb0f2364220a940754a68b993..c86e7b6fbd23b11770c643985ba3c0d78b5f104a 100644 +index 402d2ccb37e5d2731c70601ec308cd6627354df7..d9565418da60426d794f16f9053e88ca8ad7c55b 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm @@ -2615,6 +2615,11 @@ WebCore::DestinationColorSpace WebViewImpl::colorSpace() @@ -13054,7 +12873,7 @@ index 755e6a6c2fa5a4bdb0f2364220a940754a68b993..c86e7b6fbd23b11770c643985ba3c0d7 { NSWindow *window = [m_view window]; diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp -index 038d9ee2f41cdeba4ae7b597311b663a58b6d629..5be10b7bbdc8b28db255baf7a4187cfd761fa83d 100644 +index 89d38d344b08cb3ed6cc7db62bc4c5162e0f28f0..3c2de7a336a028f6c8371ddeeca528a9989bd486 100644 --- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp +++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp @@ -32,13 +32,16 @@ @@ -13210,7 +13029,7 @@ index b23a45ff7d313317d8ba64fb430ebba3b6adef71..8419b69c5e278cf88a3ab6b98c335edd } // namespace WebKit diff --git a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp -index 46384e42f91e14c122154cb90750d29eb2d46e0d..80ce910e0c5caffb92bf25e334ff6b0244730f8e 100644 +index eb0cfc3757cee17105bc4373a0877d86c89859d3..21fda5454cf8218ffedac88aa1a7b4627d9d5fa0 100644 --- a/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp +++ b/Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp @@ -42,8 +42,10 @@ @@ -13226,7 +13045,7 @@ index 46384e42f91e14c122154cb90750d29eb2d46e0d..80ce910e0c5caffb92bf25e334ff6b02 using namespace WebCore; @@ -56,7 +58,10 @@ DownloadProxy::DownloadProxy(DownloadProxyMap& downloadProxyMap, WebsiteDataStor , m_request(resourceRequest) - , m_originatingPage(makeWeakPtr(originatingPage)) + , m_originatingPage(originatingPage) , m_frameInfo(API::FrameInfo::create(FrameInfoData { frameInfoData }, originatingPage)) + , m_uuid(createCanonicalUUIDString()) { @@ -13623,7 +13442,7 @@ index 0000000000000000000000000000000000000000..4ec8b96bbbddf8a7b042f53a8068754a +cairo_status_t cairo_image_surface_write_to_jpeg_mem(cairo_surface_t *sfc, unsigned char **data, size_t *len, int quality); diff --git a/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp b/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp new file mode 100644 -index 0000000000000000000000000000000000000000..aebef768c2dbe9e41a6673284cf0cf3faa5bc66a +index 0000000000000000000000000000000000000000..b8f95cffbc548e7d6c13e2664587d97d71c9e3fa --- /dev/null +++ b/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp @@ -0,0 +1,293 @@ @@ -13856,7 +13675,7 @@ index 0000000000000000000000000000000000000000..aebef768c2dbe9e41a6673284cf0cf3f + if (!m_encoder && !m_screencast) + return; + -+ RunLoop::main().dispatchAfter(Seconds(1.0 / ScreencastEncoder::fps), [agent = makeWeakPtr(this)]() mutable { ++ RunLoop::main().dispatchAfter(Seconds(1.0 / ScreencastEncoder::fps), [agent = WeakPtr { this }]() mutable { + if (!agent) + return; + @@ -14644,7 +14463,7 @@ index 0000000000000000000000000000000000000000..e2ce910f3fd7f587add552275b7e7176 + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/Inspector/InspectorTargetProxy.cpp b/Source/WebKit/UIProcess/Inspector/InspectorTargetProxy.cpp -index 6928ca2fbfb6939062e3cd14bb7ba6f2fdc87f5f..621b99e233ed5cf504fedbd3ca3209c03bcd611f 100644 +index cfcacce0122bb03fa47fd8580cfbedfb2ad37d48..5619cbd7e4e842be0d8e2db2c64a7e0028838808 100644 --- a/Source/WebKit/UIProcess/Inspector/InspectorTargetProxy.cpp +++ b/Source/WebKit/UIProcess/Inspector/InspectorTargetProxy.cpp @@ -27,11 +27,10 @@ @@ -14672,7 +14491,7 @@ index 6928ca2fbfb6939062e3cd14bb7ba6f2fdc87f5f..621b99e233ed5cf504fedbd3ca3209c0 +std::unique_ptr InspectorTargetProxy::create(ProvisionalPageProxy& provisionalPage, const String& targetId) { - auto target = InspectorTargetProxy::create(provisionalPage.page(), targetId, type); -- target->m_provisionalPage = makeWeakPtr(provisionalPage); +- target->m_provisionalPage = provisionalPage; - return target; + return makeUnique(provisionalPage.page(), &provisionalPage, targetId, Inspector::InspectorTargetType::Page); } @@ -14680,7 +14499,7 @@ index 6928ca2fbfb6939062e3cd14bb7ba6f2fdc87f5f..621b99e233ed5cf504fedbd3ca3209c0 -InspectorTargetProxy::InspectorTargetProxy(WebPageProxy& page, const String& targetId, Inspector::InspectorTargetType type) +InspectorTargetProxy::InspectorTargetProxy(WebPageProxy& page, ProvisionalPageProxy* provisionalPage, const String& targetId, Inspector::InspectorTargetType type) : m_page(page) -+ , m_provisionalPage(makeWeakPtr(provisionalPage)) ++ , m_provisionalPage(provisionalPage) , m_identifier(targetId) , m_type(type) { @@ -16689,10 +16508,10 @@ index 7a14cfba15c103a2d4fe263fa49d25af3c396ec2..3ee0e154349661632799057c71f1d1f1 BOOL result = ::CreateProcess(0, commandLine.data(), 0, 0, true, 0, 0, 0, &startupInfo, &processInformation); diff --git a/Source/WebKit/UIProcess/PageClient.h b/Source/WebKit/UIProcess/PageClient.h -index 7a1a3876f1b77081f1bd228195d698fa0ffcd804..495b48ff8ec12bb68c629e29fff8a98a1b2c0a33 100644 +index b66a7f38cd6f3b337f205356acda448100c3fca8..3f5c15caee1a7c033729ff90db3dbb7eb38c001a 100644 --- a/Source/WebKit/UIProcess/PageClient.h +++ b/Source/WebKit/UIProcess/PageClient.h -@@ -323,6 +323,11 @@ public: +@@ -324,6 +324,11 @@ public: virtual void selectionDidChange() = 0; #endif @@ -17016,7 +16835,7 @@ index 0000000000000000000000000000000000000000..6d04f9290135069359ce6bf872654648 + +#endif // ENABLE(REMOTE_INSPECTOR) diff --git a/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp b/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp -index e42dbf1281d36fef2e303e707d5b5baf166ee152..80fab5d4ac007f0d2da9f58bee03a5ab3c845b83 100644 +index 53cadd34ab9280e20f73f1a2ba3bc13d1a541938..d354d017ff7307a2356ffa626e1c202efbda1090 100644 --- a/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp +++ b/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp @@ -37,6 +37,8 @@ @@ -17736,7 +17555,7 @@ index 0000000000000000000000000000000000000000..48c9ccc420c1b4ae3259e1d5ba17fd8f + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad43b25897 100644 +index 71fadfded6f4e9d0d37019224448fdc03878706d..03584d8288f405581dad67828be7a21fa610f0eb 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp @@ -246,6 +246,9 @@ @@ -18002,7 +17821,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3057,7 +3201,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3059,7 +3203,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -18011,7 +17830,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad const EventNames& names = eventNames(); for (auto& touchPoint : touchStartEvent.touchPoints()) { IntPoint location = touchPoint.location(); -@@ -3090,7 +3234,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent +@@ -3092,7 +3236,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent m_touchAndPointerEventTracking.touchStartTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchMoveTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchEndTracking = TrackingType::Synchronous; @@ -18020,7 +17839,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } TrackingType WebPageProxy::touchEventTrackingType(const WebTouchEvent& touchStartEvent) const -@@ -3479,6 +3623,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3481,6 +3625,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A policyAction = PolicyAction::Download; if (policyAction != PolicyAction::Use || !frame.isMainFrame() || !navigation) { @@ -18029,15 +17848,15 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad receivedPolicyDecision(policyAction, navigation, WTFMove(policies), WTFMove(navigationAction), WTFMove(sender)); return; } -@@ -3545,6 +3691,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3547,6 +3693,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A - void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, Variant, Ref>&& navigationActionOrResponse, Ref&& sender, std::optional sandboxExtensionHandle, WillContinueLoadInNewProcess willContinueLoadInNewProcess) + void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, std::optional sandboxExtensionHandle, WillContinueLoadInNewProcess willContinueLoadInNewProcess) { + m_inspectorController->didReceivePolicyDecision(action, navigation ? navigation->navigationID() : 0); if (!hasRunningProcess()) { sender->send(PolicyDecision { sender->identifier(), isNavigatingToAppBoundDomain(), PolicyAction::Ignore, 0, std::nullopt, std::nullopt }); return; -@@ -4267,6 +4414,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -4269,6 +4416,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -18049,7 +17868,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { m_pluginScaleFactor = pluginScaleFactor; -@@ -4600,6 +4752,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) +@@ -4602,6 +4754,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) return; m_navigationState->didDestroyNavigation(navigationID); @@ -18057,7 +17876,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -4822,6 +4975,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -4824,6 +4977,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -18066,7 +17885,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad // 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; -@@ -5271,7 +5426,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(FrameIdentifier frameID, +@@ -5273,7 +5428,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) { @@ -18082,7 +17901,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, -@@ -5808,6 +5970,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5810,6 +5972,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa auto* originatingPage = m_process->webPage(originatingPageID); auto originatingFrameInfo = API::FrameInfo::create(WTFMove(originatingFrameInfoData), originatingPage); auto mainFrameURL = m_mainFrame ? m_mainFrame->url() : URL(); @@ -18090,7 +17909,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad auto completionHandler = [this, protectedThis = Ref { *this }, mainFrameURL, request, reply = WTFMove(reply), privateClickMeasurement = navigationActionData.privateClickMeasurement] (RefPtr newPage) mutable { if (!newPage) { reply(std::nullopt, std::nullopt); -@@ -5851,6 +6014,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -5853,6 +6016,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -18098,7 +17917,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } void WebPageProxy::exitFullscreenImmediately() -@@ -5886,6 +6050,10 @@ void WebPageProxy::closePage() +@@ -5888,6 +6052,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -18109,7 +17928,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -5922,6 +6090,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -5924,6 +6092,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 { @@ -18118,7 +17937,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -5943,6 +6113,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -5945,6 +6115,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -18127,7 +17946,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad 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 { -@@ -5966,6 +6138,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -5968,6 +6140,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -18136,7 +17955,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad 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 { -@@ -6126,6 +6300,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -6128,6 +6302,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -18145,7 +17964,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. m_process->stopResponsivenessTimer(); -@@ -7350,6 +7526,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7360,6 +7536,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (auto* automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -18154,7 +17973,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } break; } -@@ -7364,10 +7542,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7374,10 +7552,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) pageClient().wheelEventWasNotHandledByWebCore(oldestProcessedEvent); } @@ -18171,7 +17990,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad break; } -@@ -7376,7 +7557,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7386,7 +7567,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()); @@ -18179,7 +17998,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); auto event = m_keyEventQueue.takeFirst(); MESSAGE_CHECK(m_process, type == event.type()); -@@ -7395,7 +7575,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7405,7 +7585,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); @@ -18187,7 +18006,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad pageClient().doneWithKeyEvent(event, handled); if (!handled) m_uiClient->didNotHandleKeyEvent(this, event); -@@ -7404,6 +7583,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7414,6 +7593,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (!canProcessMoreKeyEvents) { if (auto* automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -18195,7 +18014,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad } break; } -@@ -7758,7 +7938,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -7768,7 +7948,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%{public}s", processTerminationReasonToString(reason)); @@ -18207,7 +18026,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -8129,6 +8312,7 @@ static const Vector& mediaRelatedIOKitClasses() +@@ -8141,6 +8324,7 @@ static const Vector& mediaRelatedIOKitClasses() WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -18215,7 +18034,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -8322,6 +8506,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -8334,6 +8518,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.shouldRelaxThirdPartyCookieBlocking = m_configuration->shouldRelaxThirdPartyCookieBlocking(); parameters.canUseCredentialStorage = m_canUseCredentialStorage; @@ -18224,7 +18043,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad #if PLATFORM(GTK) parameters.gtkSettings = GtkSettingsManager::singleton().settingsState(); #endif -@@ -8402,6 +8588,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even +@@ -8414,6 +8600,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even void WebPageProxy::didReceiveAuthenticationChallengeProxy(Ref&& authenticationChallenge, NegotiatedLegacyTLS negotiatedLegacyTLS) { @@ -18239,7 +18058,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -8495,6 +8689,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -8507,6 +8701,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -18256,7 +18075,7 @@ index 61c07f6dfb9b46365d767e4133cbd68da0d32a7c..ed37d94c013546f041d179df01767dad // 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 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24f743a1c7 100644 +index cc0024ab9f5b7d6829ffa202531b15d569e40019..33d6d492cd9ee319ea71cf3534c86ca55d6b8597 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -39,6 +39,7 @@ @@ -18339,7 +18158,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemesButNotAppLinks, API::Object* userData = nullptr); RefPtr loadFile(const String& fileURL, const String& resourceDirectoryURL, API::Object* userData = nullptr); RefPtr loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow); -@@ -1163,6 +1183,7 @@ public: +@@ -1165,6 +1185,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -18347,7 +18166,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1237,14 +1258,20 @@ public: +@@ -1239,14 +1260,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -18369,7 +18188,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 #endif void processDidBecomeUnresponsive(); -@@ -1488,6 +1515,8 @@ public: +@@ -1490,6 +1517,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -18378,7 +18197,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 #endif #if ENABLE(WEB_CRYPTO) -@@ -2602,6 +2631,7 @@ private: +@@ -2601,6 +2630,7 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -18386,7 +18205,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 #if PLATFORM(COCOA) WeakObjCPtr m_cocoaView; -@@ -2856,6 +2886,20 @@ private: +@@ -2861,6 +2891,20 @@ private: unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; WebCore::IntRect m_currentDragCaretRect; WebCore::IntRect m_currentDragCaretEditableElementRect; @@ -18407,7 +18226,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 #endif PageLoadState m_pageLoadState; -@@ -3064,6 +3108,9 @@ private: +@@ -3069,6 +3113,9 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -18418,7 +18237,7 @@ index 751cc479ec9fd69cd373077372801750e79b2c2d..7f59cb23d1ecc7b7d62f88fd5a475c24 #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 72e56dffe6e5f40b3ea532eade3fd198d8def0e5..14de52fd14ae37eef90f1e444b87f7098e250efe 100644 +index 5edf31d343aed8d72169db97352e5b71f7285088..2c04a896db54b560381e400ba0a7d5deae7c5c04 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.messages.in +++ b/Source/WebKit/UIProcess/WebPageProxy.messages.in @@ -29,6 +29,7 @@ messages -> WebPageProxy { @@ -18429,7 +18248,7 @@ index 72e56dffe6e5f40b3ea532eade3fd198d8def0e5..14de52fd14ae37eef90f1e444b87f709 #if ENABLE(NETSCAPE_PLUGIN_API) UnavailablePluginButtonClicked(uint32_t pluginUnavailabilityReason, String mimeType, String pluginURLString, String pluginspageAttributeURLString, String frameURLString, String pageURLString) -@@ -180,6 +181,7 @@ messages -> WebPageProxy { +@@ -181,6 +182,7 @@ messages -> WebPageProxy { #endif PageScaleFactorDidChange(double scaleFactor) @@ -18437,7 +18256,7 @@ index 72e56dffe6e5f40b3ea532eade3fd198d8def0e5..14de52fd14ae37eef90f1e444b87f709 PluginScaleFactorDidChange(double zoomFactor) PluginZoomFactorDidChange(double zoomFactor) -@@ -308,10 +310,12 @@ messages -> WebPageProxy { +@@ -309,10 +311,12 @@ messages -> WebPageProxy { StartDrag(struct WebCore::DragItem dragItem, WebKit::ShareableBitmap::Handle dragImage) SetPromisedDataForImage(String pasteboardName, WebKit::SharedMemory::IPCHandle imageHandle, String filename, String extension, String title, String url, String visibleURL, WebKit::SharedMemory::IPCHandle archiveHandle, String originIdentifier) #endif @@ -18453,7 +18272,7 @@ index 72e56dffe6e5f40b3ea532eade3fd198d8def0e5..14de52fd14ae37eef90f1e444b87f709 DidPerformDragOperation(bool handled) #endif diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index 3fd42ea7a2efb2da942c9baa37e577f7a1b727dd..0f287f8d78314c90dc800c9cf5269e73a46ee059 100644 +index 36de58802ce6ec94bf4fcc8f2ce41ff9be736ecf..5de5b6898aae83d10c8f81ef385cc8c393d37f2c 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp @@ -512,6 +512,14 @@ void WebProcessPool::establishWorkerContextConnectionToNetworkProcess(NetworkPro @@ -18487,7 +18306,7 @@ index 3fd42ea7a2efb2da942c9baa37e577f7a1b727dd..0f287f8d78314c90dc800c9cf5269e73 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 8d47a63f6ca76b41ec86ea7c44172d730a042ba9..5b9c16ea1c21b81ce3be808ecf3e6dfb47a90a57 100644 +index 5c5966eccb9e8a2ca02c1a289e1b81820d73d92c..9dc817102fa7146c15a8ce7355dba9d84dfdfa60 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -145,6 +145,11 @@ HashMap& WebProcessProxy::allProcesses() @@ -18503,7 +18322,7 @@ index 8d47a63f6ca76b41ec86ea7c44172d730a042ba9..5b9c16ea1c21b81ce3be808ecf3e6dfb { return allProcesses().get(identifier); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.h b/Source/WebKit/UIProcess/WebProcessProxy.h -index 9cf23ad8929dbe9a803c0ac004aa33dc2f2c671e..3566f2cde126a555645915257e9e46c43d34eb58 100644 +index 139517bdb24b54c48edfbbeb013de929a5f14ef6..91c6db9cb4d8ad4375c39a4c2409664c37497d70 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.h +++ b/Source/WebKit/UIProcess/WebProcessProxy.h @@ -142,6 +142,7 @@ public: @@ -18515,10 +18334,10 @@ index 9cf23ad8929dbe9a803c0ac004aa33dc2f2c671e..3566f2cde126a555645915257e9e46c4 WebConnection* webConnection() const { return m_webConnection.get(); } diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp -index 7befd60e0ff41ae59477fd5038c0f63f45367101..919f0b6d942d2d169bcacb73f3e8fb77d8ad21fc 100644 +index 1d55079d2146b827cd428394f02373aebe7e829d..fd1566037aac5c943b4cd8b42e1ad6dc96109e7c 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp -@@ -2210,6 +2210,17 @@ void WebsiteDataStore::renameOriginInWebsiteData(URL&& oldName, URL&& newName, O +@@ -2219,6 +2219,17 @@ void WebsiteDataStore::renameOriginInWebsiteData(URL&& oldName, URL&& newName, O networkProcess().renameOriginInWebsiteData(m_sessionID, oldName, newName, dataTypes, WTFMove(completionHandler)); } @@ -18537,7 +18356,7 @@ index 7befd60e0ff41ae59477fd5038c0f63f45367101..919f0b6d942d2d169bcacb73f3e8fb77 void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index 408c7da7ce7febc083cde70e6b5a092713140783..135fea19d7aae70b9805f791b4088ab932774080 100644 +index 95d2d00f0ab077082234c654c101f0378489a0ee..68bf8ceee17042bfc5aa4e43ba84a5d364795fbe 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -87,6 +87,7 @@ class SecKeyProxyStore; @@ -18573,7 +18392,7 @@ index 408c7da7ce7febc083cde70e6b5a092713140783..135fea19d7aae70b9805f791b4088ab9 class WebsiteDataStore : public API::ObjectImpl, public Identified, public CanMakeWeakPtr { public: static Ref defaultDataStore(); -@@ -290,11 +302,13 @@ public: +@@ -291,11 +303,13 @@ public: const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; } #endif @@ -18588,7 +18407,7 @@ index 408c7da7ce7febc083cde70e6b5a092713140783..135fea19d7aae70b9805f791b4088ab9 void setNetworkProxySettings(WebCore::SoupNetworkProxySettings&&); const WebCore::SoupNetworkProxySettings& networkProxySettings() const { return m_networkProxySettings; } void setCookiePersistentStorage(const String&, SoupCookiePersistentStorageType); -@@ -353,6 +367,14 @@ public: +@@ -354,6 +368,14 @@ public: static WTF::String defaultJavaScriptConfigurationDirectory(); static bool http3Enabled(); @@ -18603,7 +18422,7 @@ index 408c7da7ce7febc083cde70e6b5a092713140783..135fea19d7aae70b9805f791b4088ab9 void resetQuota(CompletionHandler&&); void clearStorage(CompletionHandler&&); -@@ -440,9 +462,11 @@ private: +@@ -441,9 +463,11 @@ private: WebCore::CurlProxySettings m_proxySettings; #endif @@ -18616,7 +18435,7 @@ index 408c7da7ce7febc083cde70e6b5a092713140783..135fea19d7aae70b9805f791b4088ab9 WebCore::SoupNetworkProxySettings m_networkProxySettings; String m_cookiePersistentStoragePath; SoupCookiePersistentStorageType m_cookiePersistentStorageType { SoupCookiePersistentStorageType::SQLite }; -@@ -470,6 +494,11 @@ private: +@@ -471,6 +495,11 @@ private: RefPtr m_cookieStore; RefPtr m_networkProcess; @@ -19248,7 +19067,7 @@ index 0000000000000000000000000000000000000000..d0f9827544994e450e24e3f7a427c35e + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index 9c32434b8013b9fc3fba8b9469d66862319fa3cc..8e50a03d77929d83c35ccd97e01c98dd619edd1d 100644 +index e363634facbeae8e8a7af46fa4f5b1877b19ad6d..9d2f7c65f527f00a227c42764180e4cec776422d 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm @@ -437,6 +437,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) @@ -19449,7 +19268,7 @@ index 0000000000000000000000000000000000000000..721826c8c98fc85b68a4f45deaee69c1 + +#endif diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.h b/Source/WebKit/UIProcess/mac/PageClientImplMac.h -index eafdd47a28fba8c3e90208afd423e2b0122724dd..7c7ed49eefe88be44089d5a2d641e2245047fa93 100644 +index d37c28feb1a57edfb4a8f4d898342d196c7a8802..c64611d78fe184acd76f38ad316473622676bae3 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.h +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.h @@ -53,6 +53,8 @@ class PageClientImpl final : public PageClientImplCocoa @@ -19483,7 +19302,7 @@ index eafdd47a28fba8c3e90208afd423e2b0122724dd..7c7ed49eefe88be44089d5a2d641e224 void navigationGestureWillEnd(bool willNavigate, WebBackForwardListItem&) override; void navigationGestureDidEnd(bool willNavigate, WebBackForwardListItem&) override; diff --git a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm -index 26a098b9aae3da922922aa89c989233909c61196..29e06313c2d826e171204e5bebfb397b2d69513c 100644 +index 7f156ddefacf710df45786ac65da8944f09d12d7..1b081af5542220ffb400a3cf6a6be6fa2f06ae48 100644 --- a/Source/WebKit/UIProcess/mac/PageClientImplMac.mm +++ b/Source/WebKit/UIProcess/mac/PageClientImplMac.mm @@ -81,6 +81,7 @@ @@ -19616,7 +19435,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 a95a57048b7889e1d1d7b63b9a2f10607b4ad491..5ea0886b67604e607b5eea88a1236c39580c1017 100644 +index 34545198eefe10fc7d2ec9eb4ad0adf4035440c6..2b72c71418b3a97a075c93ce73c6eecffc4f73a6 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm @@ -362,6 +362,12 @@ void WebContextMenuProxyMac::getShareMenuItem(CompletionHandler WebChromeClient::createDateTimeChooser(DateTime +@@ -841,6 +843,13 @@ std::unique_ptr WebChromeClient::createDateTimeChooser(DateTime #endif @@ -21107,7 +20926,7 @@ index 13d638748e10b5df37f907b83a1d593e4befb3af..a07de293a2de72e532d14414160e0bb4 void WebFrameLoaderClient::didRestoreFromBackForwardCache() diff --git a/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm b/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm -index 6a7d683dcf066d7d3d5604f4328ca8cf9aef50c8..661014539a45fa745604adeaa4f0614bb696f278 100644 +index 8086318e989c479c3eebdb13a33b0891e0fbf4aa..2be4279c7c3f783d0a8e00eebcbb5a58a5b38c92 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm +++ b/Source/WebKit/WebProcess/WebCoreSupport/mac/WebDragClientMac.mm @@ -127,7 +127,8 @@ static WebCore::CachedImage* cachedImage(Element& element) @@ -21248,7 +21067,7 @@ index 0000000000000000000000000000000000000000..9b413bb8150a1633d29b6e2606127c9c + +#endif // ENABLE(DRAG_SUPPORT) diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp -index 33ac2e1d763105b82442ab34f5bc35406407bd89..b53ee311909fe125421b875b0ffe035c8bf8bf47 100644 +index 712b7138a00419f32edc9fa1ee67b6b32bc46486..9dcaa5d97b6d693ac339e2c4ac8c697c768d89a0 100644 --- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp +++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp @@ -38,6 +38,7 @@ @@ -21359,7 +21178,7 @@ index 4f727e418b082eebe86711294bb0f26f9c74d7d1..3e713db9bbd2a2bc78bdc464cfa02ca4 #if USE(COORDINATED_GRAPHICS) void layerFlushTimerFired(); diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp b/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp -index cdba5ae658de5bda9ef87a2b6ebc99a44d33d658..90d718d74188fcb2ae05ba7b1dd741054d061366 100644 +index a534407d0366761acace9d8849b8fcac2be35efe..2a6ef9a83096fc6e815095438c02bdca62b435f5 100644 --- a/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp +++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp @@ -27,6 +27,7 @@ @@ -21385,7 +21204,7 @@ index cdba5ae658de5bda9ef87a2b6ebc99a44d33d658..90d718d74188fcb2ae05ba7b1dd74105 { if (m_hasRemovedMessageReceiver) diff --git a/Source/WebKit/WebProcess/WebPage/DrawingArea.h b/Source/WebKit/WebProcess/WebPage/DrawingArea.h -index ba3ed840b341f9e6b84e80c451a40379fcb412eb..0a28547f21dbd8129bbe05e0226017dfb81bba7b 100644 +index 5e0b9759c6cce01169be4e76cf8ede98fc57cb9b..67c1d7debaf4674bd3b816c7d28da9d7074a9d2f 100644 --- a/Source/WebKit/WebProcess/WebPage/DrawingArea.h +++ b/Source/WebKit/WebProcess/WebPage/DrawingArea.h @@ -144,6 +144,9 @@ public: @@ -21469,7 +21288,7 @@ index f127d64d005ab7b93875591b94a5899205e91579..df0de26e4dc449a0fbf93e7037444df4 uint64_t m_navigationID; }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp -index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2f21a6b7e 100644 +index 7f434420444e3c6948a4737fbebe52aa4464c34f..892f36750aad1558efebf1b1a853563c9aed499f 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp @@ -897,6 +897,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) @@ -21587,7 +21406,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 } void WebPage::listenForLayoutMilestones(OptionSet milestones) -@@ -3285,6 +3294,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) +@@ -3290,6 +3299,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) send(Messages::WebPageProxy::DidReceiveEvent(static_cast(touchEvent.type()), handled)); } @@ -21692,7 +21511,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 #endif void WebPage::cancelPointer(WebCore::PointerID pointerId, const WebCore::IntPoint& documentPoint) -@@ -3361,6 +3468,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m +@@ -3366,6 +3473,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m m_inspectorTargetController->sendMessageToTargetBackend(targetId, message); } @@ -21704,7 +21523,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -3599,6 +3711,7 @@ void WebPage::didCompletePageTransition() +@@ -3604,6 +3716,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -21712,7 +21531,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -4400,7 +4513,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -4405,7 +4518,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -21721,7 +21540,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags) { if (!m_page) { -@@ -6717,6 +6830,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe +@@ -6722,6 +6835,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -21732,7 +21551,7 @@ index d9476f7f06aad045397663c5e89ed17259306d31..fac67b58b49802f75699dc8d978d1ba2 return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87395981dc 100644 +index 53961a03a52c3819bca29e0b717dbc5008f9fe5c..000832e52db721b72a5cb5beb6f212b920834c91 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h @@ -121,6 +121,10 @@ typedef struct _AtkObject AtkObject; @@ -21746,7 +21565,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 #if PLATFORM(GTK) || PLATFORM(WPE) #include "InputMethodState.h" #endif -@@ -981,11 +985,11 @@ public: +@@ -983,11 +987,11 @@ public: void clearSelection(); void restoreSelectionInFocusedEditableElement(); @@ -21760,7 +21579,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 void performDragControllerAction(DragControllerAction, const WebCore::DragData&, SandboxExtension::Handle&&, Vector&&); #endif -@@ -999,6 +1003,9 @@ public: +@@ -1001,6 +1005,9 @@ public: void didStartDrag(); void dragCancelled(); OptionSet allowedDragSourceActions() const { return m_allowedDragSourceActions; } @@ -21770,7 +21589,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 #endif void beginPrinting(WebCore::FrameIdentifier, const PrintInfo&); -@@ -1236,6 +1243,7 @@ public: +@@ -1238,6 +1245,7 @@ public: void connectInspector(const String& targetId, Inspector::FrontendChannel::ConnectionType); void disconnectInspector(const String& targetId); void sendMessageToTargetBackend(const String& targetId, const String& message); @@ -21778,7 +21597,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 void insertNewlineInQuotedContent(); -@@ -1597,6 +1605,7 @@ private: +@@ -1599,6 +1607,7 @@ private: // Actions void tryClose(CompletionHandler&&); void platformDidReceiveLoadParameters(const LoadParameters&); @@ -21786,7 +21605,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 void loadRequest(LoadParameters&&); NO_RETURN void loadRequestWaitingForProcessLaunch(LoadParameters&&, URL&&, WebPageProxyIdentifier, bool); void loadData(LoadParameters&&); -@@ -1634,6 +1643,7 @@ private: +@@ -1636,6 +1645,7 @@ private: void updatePotentialTapSecurityOrigin(const WebTouchEvent&, bool wasHandled); #elif ENABLE(TOUCH_EVENTS) void touchEvent(const WebTouchEvent&); @@ -21794,7 +21613,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 #endif void cancelPointer(WebCore::PointerID, const WebCore::IntPoint&); -@@ -1757,9 +1767,7 @@ private: +@@ -1759,9 +1769,7 @@ private: void countStringMatches(const String&, OptionSet, uint32_t maxMatchCount); void replaceMatches(const Vector& matchIndices, const String& replacementText, bool selectionOnly, CompletionHandler&&); @@ -21804,7 +21623,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); void setTextForActivePopupMenu(int32_t index); -@@ -2294,6 +2302,7 @@ private: +@@ -2296,6 +2304,7 @@ private: UserActivity m_userActivity; uint64_t m_pendingNavigationID { 0 }; @@ -21813,7 +21632,7 @@ index 77bf02e7aefa1341d2f8363a2df48f830f15d282..b0c9940055e92ff45ac5b2abdd79fa87 bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index 8afc4ea5e3cd01c2ac3a4a341f316a9a211332e1..684cba31d57e4480ea1deca446251285d90318d0 100644 +index 782ff282baa3dd8a38b0a8aca319332a9a3c8139..aea7be17f5e774bd8062b9805701650dd8547cff 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in +++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in @@ -136,6 +136,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType @@ -21865,7 +21684,7 @@ index 8afc4ea5e3cd01c2ac3a4a341f316a9a211332e1..684cba31d57e4480ea1deca446251285 RequestDragStart(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) RequestAdditionalItemsForDragSession(WebCore::IntPoint clientPosition, WebCore::IntPoint globalPosition, OptionSet allowedActionsMask) diff --git a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm -index c255f38c358a0c5c4e17a6621d7b37dde45f61e5..e50cba5f7cee151f590142e6467a3bb464be99c6 100644 +index b3c48bbb4a28b80cdcc1b89800780a7db90a2516..727e875ab7991fe26503bd30a4776412dbe47f62 100644 --- a/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm +++ b/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm @@ -836,21 +836,37 @@ String WebPage::platformUserAgent(const URL&) const @@ -22006,7 +21825,7 @@ index 4b078549dc4202fbb6c272ef205ab394e3947163..baf9ec17836fea22c478c4a58368a466 - (void)touch:(WebEvent *)event { diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm -index c264afa862fe89cfd8805791faa22fe433509957..001358608a38690490bcf40c1620600d79bcdd43 100644 +index 6d697dd87bd706ba9da7439f2db2d5c15a44dd31..19b69693368f06948b26807de61d80fdbfbcf817 100644 --- a/Source/WebKitLegacy/mac/WebView/WebView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebView.mm @@ -4040,7 +4040,7 @@ IGNORE_WARNINGS_END @@ -22059,7 +21878,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index c2909db8dab499dcc85c3689de1625b18d5ffe44..6a0d7264e333724521861330390542e6c1293bfa 100644 +index 0cea3ba03a4c045e353e533a73272edaaf0d4f5b..c35e7461ff24ef0704ca3e7284282e9e33afcb99 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake @@ -5,6 +5,7 @@ WEBKIT_OPTION_BEGIN() @@ -22135,7 +21954,7 @@ index c2909db8dab499dcc85c3689de1625b18d5ffe44..6a0d7264e333724521861330390542e6 # Finalize the value for all options. Do not attempt to use an option before diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index d500079612f3d0e1028c5bdc5b11860aa044a85c..4c80f18b2c1e70cc3812ae545eeb18af1ad1f26a 100644 +index 8933dc3eeef31c26eaff32a4ab7685d969293003..38023a9b333a670a9b3c03ee0d30d68c6f62f55e 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -3,6 +3,7 @@ include(VersioningUtils) @@ -22816,10 +22635,10 @@ index feb2a397e42a368c4179ecb31d6d192063f19a07..867ccf2c09a1be59872f77fd83eff530 decidePolicyForMediaKeySystemPermissionRequest }; diff --git a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm b/Tools/WebKitTestRunner/mac/EventSenderProxy.mm -index 296c902f375b1189f45ee56bb3ffd4d826dd26f6..45d8ca4bdd18e2467b26b0c6998b4dc58dde7634 100644 +index eb11426f54f1406f5343dfdf1457d0b388c47dc3..0e207d103077306ff6c1fffde50a69fc89ba0268 100644 --- a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm +++ b/Tools/WebKitTestRunner/mac/EventSenderProxy.mm -@@ -977,4 +977,51 @@ void EventSenderProxy::scaleGestureEnd(double scale) +@@ -786,4 +786,51 @@ void EventSenderProxy::scaleGestureEnd(double scale) #endif // ENABLE(MAC_GESTURE_EVENTS)