diff --git a/browser_patches/webkit/BUILD_NUMBER b/browser_patches/webkit/BUILD_NUMBER index ff93fa8e40..bbbec54c90 100644 --- a/browser_patches/webkit/BUILD_NUMBER +++ b/browser_patches/webkit/BUILD_NUMBER @@ -1,2 +1,2 @@ -1683 -Changed: lushnikov@chromium.org Fri Jul 15 01:26:12 MSK 2022 +1684 +Changed: dkolesa@igalia.com Mon Jul 18 05:10:54 PM CEST 2022 diff --git a/browser_patches/webkit/UPSTREAM_CONFIG.sh b/browser_patches/webkit/UPSTREAM_CONFIG.sh index e9b9596ce5..f8b571d72c 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="cdfaa09d52b4459bf6f8e31a957eaa42ae152f52" +BASE_REVISION="273d610500568994a594191403c869ffe26098e2" diff --git a/browser_patches/webkit/patches/bootstrap.diff b/browser_patches/webkit/patches/bootstrap.diff index 771efc55d9..d0642a4563 100644 --- a/browser_patches/webkit/patches/bootstrap.diff +++ b/browser_patches/webkit/patches/bootstrap.diff @@ -1,8 +1,8 @@ diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt -index 0aa6bbc263dcefd52c5660a3c16a517116b2482d..73a0bfbd99e77e4a00f590a4c206b2cf808e7e90 100644 +index f4ba2716faef9cb274216129be2fb63693d9e914..693f4608efda4974b8fcd8ce8287132481e6ad18 100644 --- a/Source/JavaScriptCore/CMakeLists.txt +++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -1354,22 +1354,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS +@@ -1356,22 +1356,27 @@ set(JavaScriptCore_INSPECTOR_DOMAINS ${JAVASCRIPTCORE_DIR}/inspector/protocol/CSS.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Canvas.json ${JAVASCRIPTCORE_DIR}/inspector/protocol/Console.json @@ -2078,7 +2078,7 @@ index e4b94b59216277aae01696e6d4846abf8f287dce..8cbe085788ba582ee4615faef20769b6 isa = XCConfigurationList; buildConfigurations = ( diff --git a/Source/WTF/Scripts/Preferences/WebPreferences.yaml b/Source/WTF/Scripts/Preferences/WebPreferences.yaml -index 9c27623ec7e1920934b405b436986e4a5bc38cac..c01b0e85b0872f5d8ca8ebf54e44cf0bc7d5ed36 100644 +index 704adf1bb71721cebd3e20341e3e625511bfd0dd..9bb4573b65d2c6f80661687f3e446786c4aa9eb0 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferences.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferences.yaml @@ -977,7 +977,7 @@ InspectorStartsAttached: @@ -2109,10 +2109,10 @@ index 9c27623ec7e1920934b405b436986e4a5bc38cac..c01b0e85b0872f5d8ca8ebf54e44cf0b type: bool humanReadableName: "Private Click Measurement" diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -index a43b45b39821866e4585ba164ed0e7d526322fcc..477fbfe6469573b1d4eae321d55e62b2ddd81d03 100644 +index 7f6f23cf1dfdffdbd3ef9ce7167a9c5a5456977b..d365a4f6379cffd9615b67b2646b0a4a0907edff 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml -@@ -503,7 +503,7 @@ CrossOriginOpenerPolicyEnabled: +@@ -515,7 +515,7 @@ CrossOriginOpenerPolicyEnabled: WebKitLegacy: default: false WebKit: @@ -2121,7 +2121,7 @@ index a43b45b39821866e4585ba164ed0e7d526322fcc..477fbfe6469573b1d4eae321d55e62b2 WebCore: default: false -@@ -880,9 +880,9 @@ MaskWebGLStringsEnabled: +@@ -892,9 +892,9 @@ MaskWebGLStringsEnabled: WebKitLegacy: default: true WebKit: @@ -2133,7 +2133,7 @@ index a43b45b39821866e4585ba164ed0e7d526322fcc..477fbfe6469573b1d4eae321d55e62b2 # FIXME: This is on by default in WebKit2. Perhaps we should consider turning it on for WebKitLegacy as well. MediaCapabilitiesExtensionsEnabled: -@@ -1390,7 +1390,7 @@ SpeechRecognitionEnabled: +@@ -1402,7 +1402,7 @@ SpeechRecognitionEnabled: WebKitLegacy: default: false WebKit: @@ -2142,15 +2142,15 @@ index a43b45b39821866e4585ba164ed0e7d526322fcc..477fbfe6469573b1d4eae321d55e62b2 default: false WebCore: default: false -@@ -1505,6 +1505,7 @@ UseGPUProcessForDisplayCapture: +@@ -1517,6 +1517,7 @@ UseGPUProcessForDisplayCapture: WebKit: - default: false + default: true +# Playwright: force-disable on Windows UseGPUProcessForWebGLEnabled: type: bool humanReadableName: "GPU Process: WebGL" -@@ -1515,7 +1516,7 @@ UseGPUProcessForWebGLEnabled: +@@ -1527,7 +1528,7 @@ UseGPUProcessForWebGLEnabled: defaultValue: WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT) && PLATFORM(IOS_FAMILY) && !HAVE(UIKIT_WEBKIT_INTERNALS)": true @@ -2160,10 +2160,10 @@ index a43b45b39821866e4585ba164ed0e7d526322fcc..477fbfe6469573b1d4eae321d55e62b2 UserGesturePromisePropagationEnabled: diff --git a/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml b/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml -index 99592d0a68455523687283922de64a402d5798cc..1f3763602771886a05410212b435b057a601c8f8 100644 +index 2fbfa9c27c16b4884cd5d9341ccb405acb4c9187..b67bc8c581c2b98ed76d1a255c76d5771080b34c 100644 --- a/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml +++ b/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml -@@ -918,6 +918,7 @@ UseCGDisplayListsForDOMRendering: +@@ -930,6 +930,7 @@ UseCGDisplayListsForDOMRendering: WebKit: default: true @@ -2171,7 +2171,7 @@ index 99592d0a68455523687283922de64a402d5798cc..1f3763602771886a05410212b435b057 UseGPUProcessForCanvasRenderingEnabled: type: bool humanReadableName: "GPU Process: Canvas Rendering" -@@ -928,7 +929,7 @@ UseGPUProcessForCanvasRenderingEnabled: +@@ -940,7 +941,7 @@ UseGPUProcessForCanvasRenderingEnabled: defaultValue: WebKit: "ENABLE(GPU_PROCESS_BY_DEFAULT)": true @@ -2181,7 +2181,7 @@ index 99592d0a68455523687283922de64a402d5798cc..1f3763602771886a05410212b435b057 UseGPUProcessForMediaEnabled: diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h -index 5ad56f9bc9b46939b719a2a8bcfe5196286fc22f..b9e2ca132f66c60dce682c857356147b7442846b 100644 +index 1db561ba6e2db93225956abb259db78e0c024351..b86aaa95fca156ef7d58023c396d54e144f1d6fb 100644 --- a/Source/WTF/wtf/PlatformEnable.h +++ b/Source/WTF/wtf/PlatformEnable.h @@ -416,7 +416,7 @@ @@ -2203,7 +2203,7 @@ index 5ad56f9bc9b46939b719a2a8bcfe5196286fc22f..b9e2ca132f66c60dce682c857356147b #if !defined(ENABLE_TOUCH_ACTION_REGIONS) diff --git a/Source/WTF/wtf/PlatformEnableCocoa.h b/Source/WTF/wtf/PlatformEnableCocoa.h -index e9da69939ce7a62192eade02a76fb08d34ec7b8d..9f22d3dc4f1b9efb77298bed17290c5ccd2c769a 100644 +index 6cae83fbec34044f7f142c15778f5caa2e8a1fc4..d2c9592ad45e4258e9f20b3fc2f688e3642c0092 100644 --- a/Source/WTF/wtf/PlatformEnableCocoa.h +++ b/Source/WTF/wtf/PlatformEnableCocoa.h @@ -247,7 +247,7 @@ @@ -2216,7 +2216,7 @@ index e9da69939ce7a62192eade02a76fb08d34ec7b8d..9f22d3dc4f1b9efb77298bed17290c5c #endif diff --git a/Source/WTF/wtf/PlatformHave.h b/Source/WTF/wtf/PlatformHave.h -index 7aa4768eff3e9ecb7d508454ee1c219d6580d03c..7eddd4f90e78f80b6c01b8b387729caf2c0387cb 100644 +index aeb447bf9c3f58bfceb5070450a2d0211769b293..6cd3332f64ae6c1c32a33fddc52dff3576244b40 100644 --- a/Source/WTF/wtf/PlatformHave.h +++ b/Source/WTF/wtf/PlatformHave.h @@ -426,7 +426,7 @@ @@ -2229,10 +2229,10 @@ index 7aa4768eff3e9ecb7d508454ee1c219d6580d03c..7eddd4f90e78f80b6c01b8b387729caf #endif diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make -index 9beb572a6bfdeb66d8b9fd162fd4743be7b86a71..7489dc76b793a1b6257971c5bb0a88d7c0da0f59 100644 +index 8e0fa01deda72cb7abde61793297f8073077f93a..441d7c0fca693c5c187f1d129e7d5bdcaa280f14 100644 --- a/Source/WebCore/DerivedSources.make +++ b/Source/WebCore/DerivedSources.make -@@ -979,6 +979,10 @@ JS_BINDING_IDLS := \ +@@ -986,6 +986,10 @@ JS_BINDING_IDLS := \ $(WebCore)/dom/Slotable.idl \ $(WebCore)/dom/StaticRange.idl \ $(WebCore)/dom/StringCallback.idl \ @@ -2243,7 +2243,7 @@ index 9beb572a6bfdeb66d8b9fd162fd4743be7b86a71..7489dc76b793a1b6257971c5bb0a88d7 $(WebCore)/dom/Text.idl \ $(WebCore)/dom/TextDecoder.idl \ $(WebCore)/dom/TextDecoderStream.idl \ -@@ -1527,9 +1531,6 @@ JS_BINDING_IDLS := \ +@@ -1534,9 +1538,6 @@ JS_BINDING_IDLS := \ ADDITIONAL_BINDING_IDLS = \ DocumentTouch.idl \ GestureEvent.idl \ @@ -2331,7 +2331,7 @@ index 0c77d35ce6fe7ea21a48bb4c900fcd6954aa6112..2494f912e5b5245b6f023a6ec0c3256f +JSTouchList.cpp +// Playwright end diff --git a/Source/WebCore/SourcesGTK.txt b/Source/WebCore/SourcesGTK.txt -index 056cd00dbfea467406d320a08c8830db58576c57..6b98a733712963618cce1c253361035adb6d87f6 100644 +index a2504495796d1d625afd0092ffd21739be30470f..275cf56761472c1b8ddd60b3b49c5fe62db6ca79 100644 --- a/Source/WebCore/SourcesGTK.txt +++ b/Source/WebCore/SourcesGTK.txt @@ -38,6 +38,9 @@ accessibility/atspi/AccessibilityObjectValueAtspi.cpp @@ -2344,7 +2344,7 @@ index 056cd00dbfea467406d320a08c8830db58576c57..6b98a733712963618cce1c253361035a editing/atspi/FrameSelectionAtspi.cpp editing/gtk/EditorGtk.cpp -@@ -136,3 +139,10 @@ platform/xdg/MIMETypeRegistryXdg.cpp +@@ -138,3 +141,10 @@ platform/xdg/MIMETypeRegistryXdg.cpp rendering/RenderThemeAdwaita.cpp rendering/RenderThemeGtk.cpp @@ -2356,7 +2356,7 @@ index 056cd00dbfea467406d320a08c8830db58576c57..6b98a733712963618cce1c253361035a +JSSpeechSynthesisEventInit.cpp +// Playwright: end. diff --git a/Source/WebCore/SourcesWPE.txt b/Source/WebCore/SourcesWPE.txt -index 6340e966311f7b97fe623248c93545a4c09837ee..3b8b82c411ea7270b481e0b0f7527d4a717ca292 100644 +index 3351067102d0e96e185ec0e6ac01bf7273346de3..f0642fcebbce63a54f66a1847fc254601dc280ef 100644 --- a/Source/WebCore/SourcesWPE.txt +++ b/Source/WebCore/SourcesWPE.txt @@ -38,11 +38,16 @@ accessibility/atspi/AccessibilityObjectValueAtspi.cpp @@ -2376,7 +2376,7 @@ index 6340e966311f7b97fe623248c93545a4c09837ee..3b8b82c411ea7270b481e0b0f7527d4a page/linux/ResourceUsageOverlayLinux.cpp page/linux/ResourceUsageThreadLinux.cpp -@@ -91,8 +96,19 @@ platform/text/LocaleICU.cpp +@@ -93,8 +98,19 @@ platform/text/LocaleICU.cpp platform/unix/LoggingUnix.cpp @@ -2409,10 +2409,10 @@ index 82f617e0d496ee71ffc2f2ce4c00ddc0e640f0de..ad47858a0ba283ed44a486dbee29c10a __ZN7WebCore14DocumentLoaderD2Ev __ZN7WebCore14DocumentLoader17clearMainResourceEv diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd298fbd2748 100644 +index b7da6a4966c8fa48229cb893f0c05968e40cb297..fb11134b128e47b3cef2b9e76c43960a8a8e6d3a 100644 --- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj -@@ -5557,6 +5557,13 @@ +@@ -5571,6 +5571,13 @@ EDE3A5000C7A430600956A37 /* ColorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE3A4FF0C7A430600956A37 /* ColorMac.h */; settings = {ATTRIBUTES = (Private, ); }; }; EDEC98030AED7E170059137F /* WebCorePrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = EDEC98020AED7E170059137F /* WebCorePrefix.h */; }; EFCC6C8F20FE914400A2321B /* CanvasActivityRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = EFCC6C8D20FE914000A2321B /* CanvasActivityRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -2426,7 +2426,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 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, ); }; }; -@@ -17950,6 +17957,14 @@ +@@ -18024,6 +18031,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 = ""; }; @@ -2441,7 +2441,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 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 = ""; }; -@@ -24644,6 +24659,11 @@ +@@ -24751,6 +24766,11 @@ BC4A5324256055590028C592 /* TextDirectionSubmenuInclusionBehavior.h */, 2D4F96F11A1ECC240098BF88 /* TextIndicator.cpp */, 2D4F96F21A1ECC240098BF88 /* TextIndicator.h */, @@ -2453,7 +2453,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 F48570A42644C76D00C05F71 /* TranslationContextMenuInfo.h */, F4E1965F21F26E4E00285078 /* UndoItem.cpp */, 2ECDBAD521D8906300F00ECD /* UndoItem.h */, -@@ -30459,6 +30479,8 @@ +@@ -30570,6 +30590,8 @@ 29E4D8DF16B0940F00C84704 /* PlatformSpeechSynthesizer.h */, 1AD8F81A11CAB9E900E93E54 /* PlatformStrategies.cpp */, 1AD8F81911CAB9E900E93E54 /* PlatformStrategies.h */, @@ -2462,7 +2462,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 0FD7C21D23CE41E30096D102 /* PlatformWheelEvent.cpp */, 935C476A09AC4D4F00A6AAB4 /* PlatformWheelEvent.h */, BCBB8AB513F1AFB000734DF0 /* PODInterval.h */, -@@ -32772,6 +32794,7 @@ +@@ -32915,6 +32937,7 @@ AD6E71AB1668899D00320C13 /* DocumentSharedObjectPool.h */, 6BDB5DC1227BD3B800919770 /* DocumentStorageAccess.cpp */, 6BDB5DC0227BD3B800919770 /* DocumentStorageAccess.h */, @@ -2470,7 +2470,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 7CE7FA5B1EF882300060C9D6 /* DocumentTouch.cpp */, 7CE7FA591EF882300060C9D6 /* DocumentTouch.h */, A8185F3209765765005826D9 /* DocumentType.cpp */, -@@ -37067,6 +37090,8 @@ +@@ -37214,6 +37237,8 @@ 1AD8F81B11CAB9E900E93E54 /* PlatformStrategies.h in Headers */, 0F7D07331884C56C00B4AF86 /* PlatformTextTrack.h in Headers */, 074E82BB18A69F0E007EF54C /* PlatformTimeRanges.h in Headers */, @@ -2479,7 +2479,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 CDD08ABD277E542600EA3755 /* PlatformTrackConfiguration.h in Headers */, CD1F9B022700323D00617EB6 /* PlatformVideoColorPrimaries.h in Headers */, CD1F9B01270020B700617EB6 /* PlatformVideoColorSpace.h in Headers */, -@@ -38211,6 +38236,7 @@ +@@ -38359,6 +38384,7 @@ 0F54DD081881D5F5003EEDBB /* Touch.h in Headers */, 71B7EE0D21B5C6870031C1EF /* TouchAction.h in Headers */, 0F54DD091881D5F5003EEDBB /* TouchEvent.h in Headers */, @@ -2487,7 +2487,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 0F54DD0A1881D5F5003EEDBB /* TouchList.h in Headers */, 070334D71459FFD5008D8D45 /* TrackBase.h in Headers */, BE88E0C21715CE2600658D98 /* TrackListBase.h in Headers */, -@@ -39169,6 +39195,7 @@ +@@ -39302,6 +39328,7 @@ 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */, 2D22830323A8470700364B7E /* CursorMac.mm in Sources */, 5CBD59592280E926002B22AA /* CustomHeaderFields.cpp in Sources */, @@ -2495,7 +2495,7 @@ index 851539e420ed5e841b69b1bcbf55aa3db4026044..4c6bf9dd1027eda33a19490de7ffbd29 7CE6CBFD187F394900D46BF5 /* FormatConverter.cpp in Sources */, 5130F2F624AEA60A00E1D0A0 /* GameControllerSoftLink.mm in Sources */, 51A4BB0A1954D61600FA5C2E /* Gamepad.cpp in Sources */, -@@ -39245,6 +39272,9 @@ +@@ -39378,6 +39405,9 @@ C1692DD223D23ABD006E88F7 /* SystemBattery.mm in Sources */, CE88EE262414467B007F29C2 /* TextAlternativeWithRange.mm in Sources */, 51DF6D800B92A18E00C2DC85 /* ThreadCheck.mm in Sources */, @@ -2654,12 +2654,12 @@ index 0000000000000000000000000000000000000000..dd2d8452302999e4a89b0bc18e842645 + +#endif // ENABLE(ACCESSIBILITY) && !USE(ATK) && !USE(ATSPI) diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h -index 8a81d9d56d0184e9d1ebabf2ec00e2d6aba2aa60..7790111683bcf27b9683159752a6a4e9e8e15ed6 100644 +index d9d5ef0042bf1c55d10961b2303e43e5c84ee92c..73bfe0258ce3aa6ded04d07626d01b18ec7b9ec2 100644 --- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h +++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h -@@ -151,6 +151,8 @@ namespace WebCore { - macro(DataTransferItem) \ - macro(DataTransferItemList) \ +@@ -157,6 +157,8 @@ namespace WebCore { + macro(DecompressionStreamDecoder) \ + macro(DecompressionStreamTransform) \ macro(DelayNode) \ + macro(DeviceMotionEvent) \ + macro(DeviceOrientationEvent) \ @@ -2909,7 +2909,7 @@ index e060d8178fe501a0c6d47d4affaf4d422d15e358..5064f6ae31464a109b3dad0fc69e1866 #endif // USE(LIBWPE) diff --git a/Source/WebCore/html/FileInputType.cpp b/Source/WebCore/html/FileInputType.cpp -index 6c66b97447a8bd2b80f02d1e14f98ede75e1a1ce..0cdbaaf33cf88f2e3f23ac62c36db0c6ef4eee6f 100644 +index 007f9ad8e0db8c1cb90993338037f4e64684eb00..2e9505445354f65b84243dac6b31ab6b4215a4e1 100644 --- a/Source/WebCore/html/FileInputType.cpp +++ b/Source/WebCore/html/FileInputType.cpp @@ -38,6 +38,7 @@ @@ -5496,7 +5496,7 @@ index 4877a8fd398b0100ca3ed29aee9529281c7d19e7..e2e6c1c3ff04cb07c088ae666573008d DocumentWriter& writer() const { return m_writer; } diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp -index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cdd8876644 100644 +index 2c546e05e080c67f6d51190df244ae1e5832c5d2..783170c3df966a91f48318c58f080d5f0a3fb535 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp @@ -1173,6 +1173,7 @@ void FrameLoader::loadInSameDocument(URL url, RefPtr stat @@ -5507,7 +5507,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd m_frame.document()->statePopped(stateObject ? stateObject.releaseNonNull() : SerializedScriptValue::nullValue()); m_client->dispatchDidPopStateWithinPage(); -@@ -1609,6 +1610,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1610,6 +1611,8 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t const String& httpMethod = loader->request().httpMethod(); if (shouldPerformFragmentNavigation(isFormSubmission, httpMethod, policyChecker().loadType(), newURL)) { @@ -5516,7 +5516,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd RefPtr oldDocumentLoader = m_documentLoader; NavigationAction action { *m_frame.document(), loader->request(), InitiatedByMainFrame::Unknown, policyChecker().loadType(), isFormSubmission }; -@@ -1638,7 +1641,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t +@@ -1639,7 +1642,9 @@ void FrameLoader::loadWithDocumentLoader(DocumentLoader* loader, FrameLoadType t } RELEASE_ASSERT(!isBackForwardLoadType(policyChecker().loadType()) || history().provisionalItem()); @@ -5526,7 +5526,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd continueLoadAfterNavigationPolicy(request, formState.get(), navigationPolicyDecision, allowNavigationToInvalidURL); completionHandler(); }, PolicyDecisionMode::Asynchronous); -@@ -2806,12 +2811,17 @@ String FrameLoader::userAgent(const URL& url) const +@@ -2807,12 +2812,17 @@ String FrameLoader::userAgent(const URL& url) const String FrameLoader::navigatorPlatform() const { @@ -5546,7 +5546,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd } void FrameLoader::dispatchOnloadEvents() -@@ -3218,6 +3228,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) +@@ -3223,6 +3233,8 @@ void FrameLoader::receivedMainResourceError(const ResourceError& error) checkCompleted(); if (m_frame.page()) checkLoadComplete(); @@ -5555,7 +5555,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd } void FrameLoader::continueFragmentScrollAfterNavigationPolicy(const ResourceRequest& request, bool shouldContinue) -@@ -3993,9 +4005,6 @@ String FrameLoader::referrer() const +@@ -3998,9 +4010,6 @@ String FrameLoader::referrer() const void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() { @@ -5565,7 +5565,7 @@ index 9cecfc8b4d9265f1813fa926619b602b000ad151..6c4888a955b03d6532c97ac0848bd1cd Vector> worlds; ScriptController::getAllWorlds(worlds); for (auto& world : worlds) -@@ -4004,13 +4013,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() +@@ -4009,13 +4018,13 @@ void FrameLoader::dispatchDidClearWindowObjectsInAllWorlds() void FrameLoader::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld& world) { @@ -5632,7 +5632,7 @@ index a2c6d72b5ba0f04a49ca6dc710ef6fa5e0125c33..759b0d34b7db839027063a1b6ce8fb0f void ProgressTracker::incrementProgress(ResourceLoaderIdentifier identifier, const ResourceResponse& response) diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h -index 81a36fc8222e4345aa3474056e164757f8fe94ed..23be7d3bb2a8679227b7876599eafc2f685c51df 100644 +index 88923781352599e1ce9b9621ac490c70d14605dd..dde90e5a9f822797fd9cea1b0cd9e726bbfcee04 100644 --- a/Source/WebCore/page/ChromeClient.h +++ b/Source/WebCore/page/ChromeClient.h @@ -320,7 +320,7 @@ public: @@ -6407,7 +6407,7 @@ index a782c3be51ca113a52482c5a10583c8fa64724ef..1d82dff81be5c5492efb3bfe77d2f259 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 de25751f14adf743297540fd29eba3d3d7858b29..df582c3eb67d7189539b7039793fa82abd4b1542 100644 +index 030f4d11ef6cbe42db1c4cf345aedef2cc4a4a88..e8b136d253074ad7e36d4101c790896c320735f0 100644 --- a/Source/WebCore/page/Page.cpp +++ b/Source/WebCore/page/Page.cpp @@ -486,6 +486,37 @@ void Page::setOverrideViewportArguments(const std::optional& @@ -6477,7 +6477,7 @@ index de25751f14adf743297540fd29eba3d3d7858b29..df582c3eb67d7189539b7039793fa82a { if (insets == m_fullscreenInsets) diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h -index 46b7e4b9f3a0034f5a98939ba0dd8798d1102a50..600af3524de15a3cf7b8cc8a229eff0e03e3c5ff 100644 +index 8ec42d3bc9067f3befb954e18896026b51fc54c4..b77c119036bd59091fc9670041f413b0c45e829c 100644 --- a/Source/WebCore/page/Page.h +++ b/Source/WebCore/page/Page.h @@ -282,6 +282,9 @@ public: @@ -6522,7 +6522,7 @@ index 46b7e4b9f3a0034f5a98939ba0dd8798d1102a50..600af3524de15a3cf7b8cc8a229eff0e #if ENABLE(DEVICE_ORIENTATION) && PLATFORM(IOS_FAMILY) DeviceOrientationUpdateProvider* deviceOrientationUpdateProvider() const { return m_deviceOrientationUpdateProvider.get(); } #endif -@@ -1030,6 +1044,9 @@ private: +@@ -1029,6 +1043,9 @@ private: #if ENABLE(DRAG_SUPPORT) const std::unique_ptr m_dragController; @@ -6532,7 +6532,7 @@ index 46b7e4b9f3a0034f5a98939ba0dd8798d1102a50..600af3524de15a3cf7b8cc8a229eff0e #endif const std::unique_ptr m_focusController; #if ENABLE(CONTEXT_MENUS) -@@ -1109,6 +1126,7 @@ private: +@@ -1108,6 +1125,7 @@ private: bool m_useElevatedUserInterfaceLevel { false }; bool m_useDarkAppearance { false }; std::optional m_useDarkAppearanceOverride; @@ -6540,7 +6540,7 @@ index 46b7e4b9f3a0034f5a98939ba0dd8798d1102a50..600af3524de15a3cf7b8cc8a229eff0e #if ENABLE(TEXT_AUTOSIZING) float m_textAutosizingWidth { 0 }; -@@ -1286,6 +1304,11 @@ private: +@@ -1285,6 +1303,11 @@ private: #endif std::optional m_overrideViewportArguments; @@ -6664,7 +6664,7 @@ index a204ceb7d50a08631dd6e90cd11a2202571e4d76..af8cce6a1732fd7455ff362961e0ebcd } diff --git a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp -index 882c974316404ffb3f35640922c7b032a60f8152..b76888b2d241f77b29276523fb3b1d49e52214b7 100644 +index 72d375593b3158f64dd58abf83f4ef4c9f9e2860..51cc084891e19ad626f84fdf02f5e2f4195e76d2 100644 --- a/Source/WebCore/page/csp/ContentSecurityPolicy.cpp +++ b/Source/WebCore/page/csp/ContentSecurityPolicy.cpp @@ -298,6 +298,8 @@ bool ContentSecurityPolicy::allowContentSecurityPolicySourceStarToMatchAnyProtoc @@ -6982,7 +6982,7 @@ index 44799e0b2a93cbcf25f4315d62a3d95896c02f3d..29277223448a0936a16f975970ab60d7 #endif diff --git a/Source/WebCore/platform/ScrollableArea.h b/Source/WebCore/platform/ScrollableArea.h -index 78a23f64c6bd7bdfe37c41b77dc5682e868f6233..fff6c69423d9709e8142c6549db5d798a7a71ae6 100644 +index af3c23adfd34dc6a90916210f12cabe44ccc164f..0e571391b418ab80d487a01238e44c7bee649c6a 100644 --- a/Source/WebCore/platform/ScrollableArea.h +++ b/Source/WebCore/platform/ScrollableArea.h @@ -102,7 +102,7 @@ public: @@ -7095,7 +7095,7 @@ index b9f5a43f03f9708014d5f9fbf043b16357f4878e..58ab030548916e850d9fa1c28f97e5f5 #else return false; diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp -index fab94e0ac0f4ab8f7d7decec53adb1f3ac7a6e07..56193e30522a6fe87e1a7bf01beeae9b9fdb5fbf 100644 +index 97f733ef9af5558ef7375ab2b74c8d4c6e6d8502..cd201b0155a4e12576c2bd1af8b45c4be1101763 100644 --- a/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp +++ b/Source/WebCore/platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp @@ -48,6 +48,13 @@ @@ -7116,7 +7116,7 @@ index fab94e0ac0f4ab8f7d7decec53adb1f3ac7a6e07..56193e30522a6fe87e1a7bf01beeae9b return cairo_surface_write_to_png_stream(image, writeFunction, output) == CAIRO_STATUS_SUCCESS; } --Vector data(cairo_surface_t* image, const String& mimeType, std::optional) +-Vector encodeData(cairo_surface_t* image, const String& mimeType, std::optional) +static Vector encodeJpeg(cairo_surface_t* image, int quality) +{ + if (cairo_surface_get_type(image) != CAIRO_SURFACE_TYPE_IMAGE) { @@ -7177,7 +7177,7 @@ index fab94e0ac0f4ab8f7d7decec53adb1f3ac7a6e07..56193e30522a6fe87e1a7bf01beeae9b + return output; +} + -+Vector data(cairo_surface_t* image, const String& mimeType, std::optional quality) ++Vector encodeData(cairo_surface_t* image, const String& mimeType, std::optional quality) { + if (mimeType == "image/jpeg"_s) { + int qualityPercent = 100; @@ -7190,22 +7190,18 @@ index fab94e0ac0f4ab8f7d7decec53adb1f3ac7a6e07..56193e30522a6fe87e1a7bf01beeae9b if (!image || !encodeImage(image, mimeType, &encodedImage)) return { }; diff --git a/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h b/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h -index 8677d106bf2d0f53044b47fba0e6736efcd3aeb6..9b28f9d917536d2c2699f613adf296bbdd965969 100644 +index 60f0d686606b9c94cdf3724eba84fe8e8dbac8e2..890148409cb12ae3b846e59423435705658f3a95 100644 --- a/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h +++ b/Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.h -@@ -36,10 +36,10 @@ class PixelBuffer; +@@ -38,7 +38,7 @@ WEBCORE_EXPORT uint8_t verifyImageBufferIsBigEnough(const void* buffer, size_t b - WEBCORE_EXPORT uint8_t verifyImageBufferIsBigEnough(const void* buffer, size_t bufferSize); + RetainPtr utiFromImageBufferMIMEType(const String& mimeType); + CFStringRef jpegUTI(); +-Vector encodeData(CGImageRef, const String& mimeType, std::optional quality); ++WEBCORE_EXPORT Vector encodeData(CGImageRef, const String& mimeType, std::optional quality); + Vector encodeData(const PixelBuffer&, const String& mimeType, std::optional quality); --CFStringRef jpegUTI(); -+WEBCORE_EXPORT CFStringRef jpegUTI(); - WEBCORE_EXPORT RetainPtr utiFromImageBufferMIMEType(const String&); - --Vector data(CGImageRef, CFStringRef destinationUTI, std::optional quality); -+WEBCORE_EXPORT Vector data(CGImageRef, CFStringRef destinationUTI, std::optional quality); - Vector data(const PixelBuffer&, const String& mimeType, std::optional quality); - - WEBCORE_EXPORT String dataURL(CGImageRef, CFStringRef destinationUTI, const String& mimeType, std::optional quality); + WEBCORE_EXPORT String dataURL(CGImageRef, const String& mimeType, std::optional quality); diff --git a/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h index b60f9a64bacc8282860da6de299b75aeb295b9b5..55bd017c03c6478ca334bd5ef164160fef5d5302 100644 --- a/Source/WebCore/platform/graphics/filters/software/FEComponentTransferSoftwareApplier.h @@ -9042,7 +9038,7 @@ index 77597632a0e3f5dbac4ed45312c401496cf2387d..c3861e47242b15234101ca02a83f2766 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 1a0d54c572fe654e88fb78e316ef5d05fdab717c..701aadf1fe35c58ff67ba898f15743baae1428d2 100644 +index 3c29aa2cfbe5976a56441edf9771f938f5a88550..6aafe31234922ea526d363c6aada0ec83dde2501 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.cpp +++ b/Source/WebKit/NetworkProcess/NetworkProcess.cpp @@ -529,6 +529,12 @@ void NetworkProcess::destroySession(PAL::SessionID sessionID) @@ -9059,7 +9055,7 @@ index 1a0d54c572fe654e88fb78e316ef5d05fdab717c..701aadf1fe35c58ff67ba898f15743ba void NetworkProcess::dumpResourceLoadStatistics(PAL::SessionID sessionID, CompletionHandler&& completionHandler) { diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h -index c0d5646aa8964318a999f9a107c493855b2cee7d..35a225a2527732d4d483e07313eac6b7ec4dec86 100644 +index 474442eba3572155ac43f51809c180b037313a91..9f686de939dad5e68d58f1dbb1a4ba1a5c352b4f 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.h +++ b/Source/WebKit/NetworkProcess/NetworkProcess.h @@ -36,6 +36,7 @@ @@ -9088,7 +9084,7 @@ index c0d5646aa8964318a999f9a107c493855b2cee7d..35a225a2527732d4d483e07313eac6b7 void clearPrevalentResource(PAL::SessionID, RegistrableDomain&&, CompletionHandler&&); void clearUserInteraction(PAL::SessionID, RegistrableDomain&&, CompletionHandler&&); diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in -index 34334c3b4fdf491271702fd46b0676e01a34f1e4..7ce428cb543a07ac2559d56de7484e02772f6cb9 100644 +index 8d57e5d0f214a419f4fb4364a35c693425a1a578..625df742514d6836d46846c3293f06de82ddb881 100644 --- a/Source/WebKit/NetworkProcess/NetworkProcess.messages.in +++ b/Source/WebKit/NetworkProcess/NetworkProcess.messages.in @@ -77,6 +77,8 @@ messages -> NetworkProcess LegacyReceiver { @@ -9582,7 +9578,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 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436dd1c1db21 100644 +index 45f31504c0945236135bb476517d02a742c07ecb..2cd05dd4bda73f8e44e456ef3a8ce3af87875aca 100644 --- a/Source/WebKit/Shared/WebCoreArgumentCoders.cpp +++ b/Source/WebKit/Shared/WebCoreArgumentCoders.cpp @@ -123,6 +123,10 @@ @@ -9596,7 +9592,7 @@ index 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436d // FIXME: Seems like we could use std::tuple to cut down the code below a lot! namespace IPC { -@@ -1303,6 +1307,9 @@ void ArgumentCoder::encode(Encoder& encoder, const WindowFeature +@@ -1297,6 +1301,9 @@ void ArgumentCoder::encode(Encoder& encoder, const WindowFeature encoder << windowFeatures.resizable; encoder << windowFeatures.fullscreen; encoder << windowFeatures.dialog; @@ -9606,7 +9602,7 @@ index 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436d } bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& windowFeatures) -@@ -1331,6 +1338,12 @@ bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& win +@@ -1325,6 +1332,12 @@ bool ArgumentCoder::decode(Decoder& decoder, WindowFeatures& win return false; if (!decoder.decode(windowFeatures.dialog)) return false; @@ -9619,7 +9615,7 @@ index 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436d return true; } -@@ -1344,6 +1357,11 @@ void ArgumentCoder::encode(Encoder& encoder, const DragData& dragData) +@@ -1338,6 +1351,11 @@ void ArgumentCoder::encode(Encoder& encoder, const DragData& dragData) #if PLATFORM(COCOA) encoder << dragData.pasteboardName(); encoder << dragData.fileNames(); @@ -9631,7 +9627,7 @@ index 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436d #endif encoder << dragData.dragDestinationActionMask(); encoder << dragData.pageID(); -@@ -1367,9 +1385,16 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) +@@ -1361,9 +1379,16 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) if (!decoder.decode(applicationFlags)) return false; @@ -9649,7 +9645,7 @@ index 99ffa8b82f520c65d42bd102a9f7f2a26e68bd87..023bddefda4145020e96970888f0436d if (!decoder.decode(pasteboardName)) return false; -@@ -1385,8 +1410,14 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) +@@ -1379,8 +1404,14 @@ bool ArgumentCoder::decode(Decoder& decoder, DragData& dragData) if (!decoder.decode(pageID)) return false; @@ -10143,7 +10139,7 @@ index 90df093a49c09dc670dfea55077c77d889dd1c1b..6ffd51532e29b941b8dc10f545b7f5b8 return WebTouchEvent(); } diff --git a/Source/WebKit/Sources.txt b/Source/WebKit/Sources.txt -index 176db7b86ea45229243298e6e1817ee5940d72c3..9b52cae9b11e75cd2a30a1774a2626923afab8f8 100644 +index befdbea94785276dc3c86890ec0f2b6e47ffefd9..2bb6111385bf87b5d120220812587d06bea850b8 100644 --- a/Source/WebKit/Sources.txt +++ b/Source/WebKit/Sources.txt @@ -398,11 +398,14 @@ Shared/XR/XRDeviceProxy.cpp @@ -10161,7 +10157,7 @@ index 176db7b86ea45229243298e6e1817ee5940d72c3..9b52cae9b11e75cd2a30a1774a262692 UIProcess/LegacyGlobalSettings.cpp UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp UIProcess/MediaKeySystemPermissionRequestProxy.cpp -@@ -411,6 +414,7 @@ UIProcess/PageLoadState.cpp +@@ -412,6 +415,7 @@ UIProcess/PageLoadState.cpp UIProcess/ProcessAssertion.cpp UIProcess/ProcessThrottler.cpp UIProcess/ProvisionalPageProxy.cpp @@ -10169,7 +10165,7 @@ index 176db7b86ea45229243298e6e1817ee5940d72c3..9b52cae9b11e75cd2a30a1774a262692 UIProcess/ResponsivenessTimer.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp -@@ -452,6 +456,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp +@@ -453,6 +457,8 @@ UIProcess/WebOpenPanelResultListenerProxy.cpp UIProcess/WebPageDiagnosticLoggingClient.cpp UIProcess/WebPageGroup.cpp UIProcess/WebPageInjectedBundleClient.cpp @@ -10178,7 +10174,7 @@ index 176db7b86ea45229243298e6e1817ee5940d72c3..9b52cae9b11e75cd2a30a1774a262692 UIProcess/WebPageProxy.cpp UIProcess/WebPasteboardProxy.cpp UIProcess/WebPreferences.cpp -@@ -575,7 +581,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp +@@ -576,7 +582,11 @@ UIProcess/Inspector/WebInspectorUtilities.cpp UIProcess/Inspector/WebPageDebuggable.cpp UIProcess/Inspector/WebPageInspectorController.cpp @@ -10191,7 +10187,7 @@ index 176db7b86ea45229243298e6e1817ee5940d72c3..9b52cae9b11e75cd2a30a1774a262692 UIProcess/Media/AudioSessionRoutingArbitratorProxy.cpp UIProcess/Media/MediaUsageManager.cpp diff --git a/Source/WebKit/SourcesCocoa.txt b/Source/WebKit/SourcesCocoa.txt -index 14bb808bb4d659faaca9df623a2ed3213dccf3ee..e36d2ea060310a90a73a0f8af7d96040152122ac 100644 +index 962fbd29e20660a0e07b872bb94708c6bc11472b..b4c695ba9a3577c725077146b82929192f443389 100644 --- a/Source/WebKit/SourcesCocoa.txt +++ b/Source/WebKit/SourcesCocoa.txt @@ -279,6 +279,7 @@ UIProcess/API/Cocoa/_WKApplicationManifest.mm @@ -10313,47 +10309,54 @@ index 24962250ca5c823c8679a94455bfb303b01e72c0..9783d5f1bb82aa307c1cfdf6ca4861ab WebProcess/WebPage/AcceleratedSurface.cpp diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp -index a16fe13c08576194ec8c43e9dae62a20566904be..f1bc17b878c3103475fa371e05f53cce3a27cff1 100644 +index b400b02094eb9ea2863406e9395c02768af2a146..c94b1dfb0be675e740a1179c0aaa5758e30f9ae3 100644 --- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp +++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp -@@ -54,6 +54,9 @@ Ref ProcessPoolConfiguration::copy() +@@ -53,6 +53,10 @@ Ref ProcessPoolConfiguration::copy() + copy->m_ignoreSynchronousMessagingTimeoutsForTesting = this->m_ignoreSynchronousMessagingTimeoutsForTesting; copy->m_attrStyleEnabled = this->m_attrStyleEnabled; copy->m_shouldThrowExceptionForGlobalConstantRedeclaration = this->m_shouldThrowExceptionForGlobalConstantRedeclaration; - copy->m_overrideLanguages = this->m_overrideLanguages; +#if PLATFORM(MAC) + copy->m_forceOverlayScrollbars = this->m_forceOverlayScrollbars; +#endif ++ copy->m_overrideLanguages = this->m_overrideLanguages; /* playwright revert fb205fb */ copy->m_alwaysRunsAtBackgroundPriority = this->m_alwaysRunsAtBackgroundPriority; copy->m_shouldTakeUIBackgroundAssertion = this->m_shouldTakeUIBackgroundAssertion; copy->m_shouldCaptureDisplayInUIProcess = this->m_shouldCaptureDisplayInUIProcess; diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h -index 490c7181fe91a9cc050b84a8bf24471db075354b..e4e31e2e06fea50ef760650faada7a46e582fd63 100644 +index 57fec1703102930b8d29271d0deccff2b980b086..db0769075e7c07863b051885f445b292bccc709c 100644 --- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h +++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h -@@ -102,6 +102,11 @@ public: - const Vector& overrideLanguages() const { return m_overrideLanguages; } - void setOverrideLanguages(Vector&& languages) { m_overrideLanguages = WTFMove(languages); } +@@ -99,6 +99,16 @@ public: + bool shouldThrowExceptionForGlobalConstantRedeclaration() const { return m_shouldThrowExceptionForGlobalConstantRedeclaration; } + void setShouldThrowExceptionForGlobalConstantRedeclaration(bool shouldThrow) { m_shouldThrowExceptionForGlobalConstantRedeclaration = shouldThrow; } +#if PLATFORM(MAC) + bool forceOverlayScrollbars() const { return m_forceOverlayScrollbars; } + void setForceOverlayScrollbars(bool forceOverlayScrollbars) { m_forceOverlayScrollbars = forceOverlayScrollbars; } +#endif ++ ++ /* playwright revert fb205fb */ ++ const Vector& overrideLanguages() const { return m_overrideLanguages; } ++ void setOverrideLanguages(Vector&& languages) { m_overrideLanguages = WTFMove(languages); } ++ /* end playwright revert fb205fb */ + bool alwaysRunsAtBackgroundPriority() const { return m_alwaysRunsAtBackgroundPriority; } void setAlwaysRunsAtBackgroundPriority(bool alwaysRunsAtBackgroundPriority) { m_alwaysRunsAtBackgroundPriority = alwaysRunsAtBackgroundPriority; } -@@ -178,6 +183,9 @@ private: +@@ -174,6 +184,10 @@ private: + bool m_ignoreSynchronousMessagingTimeoutsForTesting { false }; bool m_attrStyleEnabled { false }; bool m_shouldThrowExceptionForGlobalConstantRedeclaration { true }; - Vector m_overrideLanguages; +#if PLATFORM(MAC) + bool m_forceOverlayScrollbars { false }; +#endif ++ Vector m_overrideLanguages; /* playwright revert fb205fb */ bool m_alwaysRunsAtBackgroundPriority { false }; 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 4e48757e4d41547798c74f0b16734d6aa71992e5..2188b93b42c2364347c04ab2be3d3e7b279e1710 100644 +index 68e80682d1d0c003493e20a63d634aa8e0526a7d..67d6f7f1e370a537e1f539f58d5555462d7a0e78 100644 --- a/Source/WebKit/UIProcess/API/APIUIClient.h +++ b/Source/WebKit/UIProcess/API/APIUIClient.h @@ -106,6 +106,7 @@ public: @@ -10364,6 +10367,35 @@ index 4e48757e4d41547798c74f0b16734d6aa71992e5..2188b93b42c2364347c04ab2be3d3e7b virtual void setStatusText(WebKit::WebPageProxy*, const WTF::String&) { } virtual void mouseDidMoveOverElement(WebKit::WebPageProxy&, const WebKit::WebHitTestResultData&, OptionSet, Object*) { } +diff --git a/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp b/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp +index ea48784147548a7ac6840445f225aef79dc825a4..e245546937667b82375f8bd778e5f41e5c61b818 100644 +--- a/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp ++++ b/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp +@@ -145,17 +145,18 @@ void WKContextConfigurationSetIgnoreSynchronousMessagingTimeoutsForTesting(WKCon + toImpl(configuration)->setIgnoreSynchronousMessagingTimeoutsForTesting(ignore); + } + +-WKArrayRef WKContextConfigurationCopyOverrideLanguages(WKContextConfigurationRef) ++/* playwright revert fb205fb */ ++WKArrayRef WKContextConfigurationCopyOverrideLanguages(WKContextConfigurationRef configuration) + { +- // FIXME: Delete this function. +- return toAPI(&API::Array::create().leakRef()); ++ return toAPI(&API::Array::createStringArray(toImpl(configuration)->overrideLanguages()).leakRef()); + } + +-void WKContextConfigurationSetOverrideLanguages(WKContextConfigurationRef, WKArrayRef) ++void WKContextConfigurationSetOverrideLanguages(WKContextConfigurationRef configuration, WKArrayRef overrideLanguages) + { +- // Use +[WKWebView _setOverrideLanguagesForTesting:] instead. +- // FIXME: Delete this function. ++ toImpl(configuration)->setOverrideLanguages(toImpl(overrideLanguages)->toStringVector()); + } ++/* end playwright revert fb205fb */ ++ + + bool WKContextConfigurationProcessSwapsOnNavigation(WKContextConfigurationRef configuration) + { diff --git a/Source/WebKit/UIProcess/API/C/WKInspector.cpp b/Source/WebKit/UIProcess/API/C/WKInspector.cpp index e1465edd29caf3109c17d44bb3c88aaba98cfbb5..32d569d3240c583334b8b6512407430fd448ae75 100644 --- a/Source/WebKit/UIProcess/API/C/WKInspector.cpp @@ -10525,7 +10557,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 b8bf936e2eb8ca4dc0f445099dfb899395950bdb..30a2af76de0daac450c7afbb8a2dfe8116147b11 100644 +index 65e8eb74725e8b87f0ee14b1a9be9d25412a7102..958cb747889508a1096f43eeb68f24cea63e6bb8 100644 --- a/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm +++ b/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm @@ -47,6 +47,7 @@ @@ -11720,6 +11752,43 @@ index c2221efc00618c2ec4d20a88c59840767bd52ff5..71f1cd7e07c705a7c830ff5c4f7d7f98 #include #include #include +diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp +index e660f7ef5f3a4395180284ea7788a8cdaf00cb8e..3fa42bad166933b032478650add698ead0220148 100644 +--- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp ++++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp +@@ -123,7 +123,11 @@ void AuxiliaryProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& lau + launchOptions.processCmdPrefix = String::fromUTF8(processCmdPrefix); + #endif // ENABLE(DEVELOPER_MODE) && (PLATFORM(GTK) || PLATFORM(WPE)) + ++/* playwright revert 50f8fee */ ++#if 0 + populateOverrideLanguagesLaunchOptions(launchOptions); ++#endif ++/* end playwright revert 50f8fee */ + + platformGetLaunchOptions(launchOptions); + } +diff --git a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h +index ed26655cceb69694641c4a3a81fb082b7067180f..2d557296f0a1667c5e8fed0b2ff06d9fe33a7012 100644 +--- a/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h ++++ b/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h +@@ -181,12 +181,15 @@ protected: + static RefPtr fetchAudioComponentServerRegistrations(); + #endif + ++ /* playwright revert 50f8fee - make protected to allow use from WebProcessProxy */ ++ Vector platformOverrideLanguages() const; ++ /* end playwright revert 50f8fee */ ++ + private: + virtual void connectionWillOpen(IPC::Connection&); + virtual void processWillShutDown(IPC::Connection&) = 0; + + void populateOverrideLanguagesLaunchOptions(ProcessLauncher::LaunchOptions&) const; +- Vector platformOverrideLanguages() const; + + ResponsivenessTimer m_responsivenessTimer; + Vector m_pendingMessages; diff --git a/Source/WebKit/UIProcess/BackingStore.h b/Source/WebKit/UIProcess/BackingStore.h index d3a707a6b440421565144a56e586fa2723fe41c3..6e2492539efdf476452873f069bdaa34163f4a30 100644 --- a/Source/WebKit/UIProcess/BackingStore.h @@ -11893,7 +11962,7 @@ index 454c61ffdefecc476d1560c7c43f5b5d345f281d..59f93c79167d3d392b46ff5243494b02 class PopUpSOAuthorizationSession final : public SOAuthorizationSession { public: diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h -index 20b08ac2df75f589bbbe29e2f924c92f33cf2242..2aaa37a18eb31ade4ff8d7fb8b85fee612bb47f1 100644 +index 9d6aa518ea6933af528b0bb56b89dc16b2085411..333ef27d1783a66ebcf19920ea0f37dc22368e62 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.h +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.h @@ -95,6 +95,7 @@ private: @@ -11904,7 +11973,7 @@ index 20b08ac2df75f589bbbe29e2f924c92f33cf2242..2aaa37a18eb31ade4ff8d7fb8b85fee6 void presentStorageAccessConfirmDialog(const WTF::String& requestingDomain, const WTF::String& currentDomain, CompletionHandler&&); void requestStorageAccessConfirm(WebPageProxy&, WebFrameProxy*, const WebCore::RegistrableDomain& requestingDomain, const WebCore::RegistrableDomain& currentDomain, CompletionHandler&&) final; void decidePolicyForGeolocationPermissionRequest(WebPageProxy&, WebFrameProxy&, const FrameInfoData&, Function&) final; -@@ -198,6 +199,7 @@ private: +@@ -199,6 +200,7 @@ private: bool webViewRunJavaScriptAlertPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRunJavaScriptTextInputPanelWithPromptDefaultTextInitiatedByFrameCompletionHandler : 1; @@ -11913,7 +11982,7 @@ index 20b08ac2df75f589bbbe29e2f924c92f33cf2242..2aaa37a18eb31ade4ff8d7fb8b85fee6 bool webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler : 1; bool webViewRequestGeolocationPermissionForFrameDecisionHandler : 1; diff --git a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm -index be5ac6eefad0e4b6f3c02bb5c60765dbfb7eb1ff..dfc01d10998ec98d0affd93c4f17653586c1444b 100644 +index a0a646412aa6ab10cb6b505cd35164dfa3a56200..e7ab24857b612bd48bba044bb43c6d93eebf88ae 100644 --- a/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm +++ b/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm @@ -111,6 +111,7 @@ void UIDelegate::setDelegate(id delegate) @@ -11924,7 +11993,7 @@ index be5ac6eefad0e4b6f3c02bb5c60765dbfb7eb1ff..dfc01d10998ec98d0affd93c4f176535 m_delegateMethods.webViewRequestStorageAccessPanelUnderFirstPartyCompletionHandler = [delegate respondsToSelector:@selector(_webView:requestStorageAccessPanelForDomain:underCurrentDomain:completionHandler:)]; m_delegateMethods.webViewRunBeforeUnloadConfirmPanelWithMessageInitiatedByFrameCompletionHandler = [delegate respondsToSelector:@selector(_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:)]; m_delegateMethods.webViewRequestGeolocationPermissionForOriginDecisionHandler = [delegate respondsToSelector:@selector(_webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:)]; -@@ -411,6 +412,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St +@@ -412,6 +413,15 @@ void UIDelegate::UIClient::runJavaScriptPrompt(WebPageProxy& page, const WTF::St }).get()]; } @@ -11941,7 +12010,7 @@ index be5ac6eefad0e4b6f3c02bb5c60765dbfb7eb1ff..dfc01d10998ec98d0affd93c4f176535 { if (!m_uiDelegate) diff --git a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm -index 6f380789014dc0f6ffa648055760370ff22391a9..f6e6d4054b5c75af0effd8e8b36a3d2c5941b212 100644 +index 2859ca0b2f7df0c162e4060cd0d60a7829c9f048..81af89730d8033481728f657f6fbdcb99c17fbba 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm @@ -37,6 +37,7 @@ @@ -12058,7 +12127,7 @@ index 1234f6f1344764cdb086ba6b9d05680d23dff34b..a04ecc1d18e5787624af5a8663706448 void saveBackForwardSnapshotForCurrentItem(); void saveBackForwardSnapshotForItem(WebBackForwardListItem&); diff --git a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm -index 5f2b6e47d3c87347cb494716152cccafafd0ec7f..d30ffdfa97dc8a130dce3d62713a46571d52192a 100644 +index 39e4da5d1a7b4e817726ba45ae7595a31d8547ec..795afed10b3a059daa1b1525ce5f6a8e9924e574 100644 --- a/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm +++ b/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm @@ -2783,6 +2783,11 @@ WebCore::DestinationColorSpace WebViewImpl::colorSpace() @@ -12073,7 +12142,7 @@ index 5f2b6e47d3c87347cb494716152cccafafd0ec7f..d30ffdfa97dc8a130dce3d62713a4657 ASSERT(m_colorSpace); return WebCore::DestinationColorSpace { [m_colorSpace CGColorSpace] }; -@@ -4769,6 +4774,18 @@ static RetainPtr takeWindowSnapshot(CGSWindowID windowID, bool captu +@@ -4770,6 +4775,18 @@ static RetainPtr takeWindowSnapshot(CGSWindowID windowID, bool captu return adoptCF(CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, imageOptions)); } @@ -12662,7 +12731,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..dcd6d6283cfce4be647846514736c16dadb95263 +index 0000000000000000000000000000000000000000..01077e377ec3da3518e25ef1dbc969a0b03dcfc2 --- /dev/null +++ b/Source/WebKit/UIProcess/Inspector/Agents/InspectorScreencastAgent.cpp @@ -0,0 +1,304 @@ @@ -12940,7 +13009,7 @@ index 0000000000000000000000000000000000000000..dcd6d6283cfce4be647846514736c16d + transformedImageRef = adoptCF(CGBitmapContextCreateImage(context.get())); + imagePtr = transformedImageRef.get(); + } -+ auto data = WebCore::data(imagePtr, WebCore::jpegUTI(), m_screencastQuality * 0.1); ++ auto data = WebCore::encodeData(imagePtr, "image/jpeg"_s, m_screencastQuality * 0.1); + + // Do not send the same frame over and over. + auto cryptoDigest = PAL::CryptoDigest::create(PAL::CryptoDigest::Algorithm::SHA_1); @@ -16019,18 +16088,10 @@ index 684b9616573761123fbcc0d94be29de519ecced6..51ff18323ece0ee15c87d63a1d6fd604 namespace WebKit { diff --git a/Source/WebKit/UIProcess/WebContextMenuProxy.h b/Source/WebKit/UIProcess/WebContextMenuProxy.h -index 72443b5a8da3abba60042c09d4b2c9d42acf9221..bcf13bc87801d5fcfa7f8178a8adf8fc4a50bb44 100644 +index be46daa094f16baf6bd52f9cf651c119b1e1b858..bee096090050e87158764f45e1ba128071ba25bb 100644 --- a/Source/WebKit/UIProcess/WebContextMenuProxy.h +++ b/Source/WebKit/UIProcess/WebContextMenuProxy.h -@@ -33,6 +33,7 @@ - #include - #include - -+OBJC_CLASS NSArray; - OBJC_CLASS NSMenu; - - namespace WebKit { -@@ -45,6 +46,7 @@ public: +@@ -46,6 +46,7 @@ public: virtual ~WebContextMenuProxy(); virtual void show(); @@ -16703,7 +16764,7 @@ index 0000000000000000000000000000000000000000..48c9ccc420c1b4ae3259e1d5ba17fd8f + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp -index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404be6c0306a 100644 +index 32040a2b6b9b7e7a2e243023bee6333e4540933b..a5d09ba08b5c30f33ec09857f9555b0fca057220 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit/UIProcess/WebPageProxy.cpp @@ -246,6 +246,9 @@ @@ -16727,7 +16788,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::addAllMessageReceivers() -@@ -1044,6 +1051,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) +@@ -1052,6 +1059,7 @@ void WebPageProxy::finishAttachingToWebProcess(ProcessLaunchReason reason) m_pageLoadState.didSwapWebProcesses(); if (reason != ProcessLaunchReason::InitialProcess) m_drawingArea->waitForBackingStoreUpdateOnNextPaint(); @@ -16735,7 +16796,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::didAttachToRunningProcess() -@@ -1397,6 +1405,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() +@@ -1405,6 +1413,21 @@ WebProcessProxy& WebPageProxy::ensureRunningProcess() return m_process; } @@ -16757,7 +16818,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b RefPtr WebPageProxy::loadRequest(ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData) { if (m_isClosed) -@@ -1956,6 +1979,31 @@ void WebPageProxy::setControlledByAutomation(bool controlled) +@@ -1964,6 +1987,31 @@ void WebPageProxy::setControlledByAutomation(bool controlled) websiteDataStore().networkProcess().send(Messages::NetworkProcess::SetSessionIsControlledByAutomation(m_websiteDataStore->sessionID(), m_controlledByAutomation), 0); } @@ -16789,7 +16850,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b void WebPageProxy::createInspectorTarget(const String& targetId, Inspector::InspectorTargetType type) { MESSAGE_CHECK(m_process, !targetId.isEmpty()); -@@ -2148,6 +2196,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpd +@@ -2156,6 +2204,25 @@ void WebPageProxy::updateActivityState(OptionSet flagsToUpd { bool wasVisible = isViewVisible(); m_activityState.remove(flagsToUpdate); @@ -16815,7 +16876,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b if (flagsToUpdate & ActivityState::IsFocused && pageClient().isViewFocused()) m_activityState.add(ActivityState::IsFocused); if (flagsToUpdate & ActivityState::WindowIsActive && pageClient().isViewWindowActive()) -@@ -2770,6 +2837,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -2778,6 +2845,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag { if (!hasRunningProcess()) return; @@ -16824,7 +16885,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b #if PLATFORM(GTK) UNUSED_PARAM(dragStorageName); UNUSED_PARAM(sandboxExtensionHandle); -@@ -2780,6 +2849,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag +@@ -2788,6 +2857,8 @@ void WebPageProxy::performDragControllerAction(DragControllerAction action, Drag m_process->assumeReadAccessToBaseURL(*this, url); ASSERT(dragData.platformData()); @@ -16833,7 +16894,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b send(Messages::WebPage::PerformDragControllerAction(action, dragData.clientPosition(), dragData.globalPosition(), dragData.draggingSourceOperationMask(), *dragData.platformData(), dragData.flags())); #else send(Messages::WebPage::PerformDragControllerAction(action, dragData, sandboxExtensionHandle, sandboxExtensionsForUpload)); -@@ -2795,18 +2866,41 @@ void WebPageProxy::didPerformDragControllerAction(std::optional dragOperationMask) { if (!hasRunningProcess()) -@@ -2815,6 +2909,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo +@@ -2823,6 +2917,24 @@ void WebPageProxy::dragEnded(const IntPoint& clientPosition, const IntPoint& glo setDragCaretRect({ }); } @@ -16903,7 +16964,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b void WebPageProxy::didPerformDragOperation(bool handled) { pageClient().didPerformDragOperation(handled); -@@ -2827,8 +2939,18 @@ void WebPageProxy::didStartDrag() +@@ -2835,8 +2947,18 @@ void WebPageProxy::didStartDrag() discardQueuedMouseEvents(); send(Messages::WebPage::DidStartDrag()); @@ -16923,7 +16984,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b void WebPageProxy::dragCancelled() { if (hasRunningProcess()) -@@ -2933,16 +3055,38 @@ void WebPageProxy::processNextQueuedMouseEvent() +@@ -2941,16 +3063,38 @@ void WebPageProxy::processNextQueuedMouseEvent() m_process->startResponsivenessTimer(); } @@ -16968,7 +17029,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&& action) -@@ -3106,7 +3250,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) +@@ -3114,7 +3258,7 @@ static TrackingType mergeTrackingTypes(TrackingType a, TrackingType b) void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent) { @@ -16977,7 +17038,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b for (auto& touchPoint : touchStartEvent.touchPoints()) { IntPoint location = touchPoint.location(); auto updateTrackingType = [this, location](TrackingType& trackingType, EventTrackingRegions::EventType eventType) { -@@ -3138,7 +3282,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent +@@ -3146,7 +3290,7 @@ void WebPageProxy::updateTouchEventTracking(const WebTouchEvent& touchStartEvent m_touchAndPointerEventTracking.touchStartTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchMoveTracking = TrackingType::Synchronous; m_touchAndPointerEventTracking.touchEndTracking = TrackingType::Synchronous; @@ -16986,7 +17047,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } TrackingType WebPageProxy::touchEventTrackingType(const WebTouchEvent& touchStartEvent) const -@@ -3527,6 +3671,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3535,6 +3679,8 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A policyAction = PolicyAction::Download; if (policyAction != PolicyAction::Use || !frame.isMainFrame() || !navigation) { @@ -16995,7 +17056,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b receivedPolicyDecision(policyAction, navigation, navigation->websitePolicies(), WTFMove(navigationAction), WTFMove(sender)); return; } -@@ -3597,6 +3743,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A +@@ -3605,6 +3751,7 @@ void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, A void WebPageProxy::receivedPolicyDecision(PolicyAction action, API::Navigation* navigation, RefPtr&& websitePolicies, std::variant, Ref>&& navigationActionOrResponse, Ref&& sender, WillContinueLoadInNewProcess willContinueLoadInNewProcess, std::optional sandboxExtensionHandle) { @@ -17003,7 +17064,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b if (!hasRunningProcess()) { sender->send(PolicyDecision { sender->identifier(), isNavigatingToAppBoundDomain(), PolicyAction::Ignore, 0, std::nullopt, std::nullopt }); return; -@@ -4371,6 +4518,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) +@@ -4379,6 +4526,11 @@ void WebPageProxy::pageScaleFactorDidChange(double scaleFactor) m_pageScaleFactor = scaleFactor; } @@ -17015,7 +17076,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b void WebPageProxy::pluginScaleFactorDidChange(double pluginScaleFactor) { m_pluginScaleFactor = pluginScaleFactor; -@@ -4772,6 +4924,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) +@@ -4790,6 +4942,7 @@ void WebPageProxy::didDestroyNavigation(uint64_t navigationID) return; m_navigationState->didDestroyNavigation(navigationID); @@ -17023,7 +17084,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::didStartProvisionalLoadForFrame(FrameIdentifier frameID, FrameInfoData&& frameInfo, ResourceRequest&& request, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) -@@ -4997,6 +5150,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p +@@ -5015,6 +5168,8 @@ void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref&& p m_failingProvisionalLoadURL = { }; @@ -17032,7 +17093,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b // 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; -@@ -5520,7 +5675,14 @@ void WebPageProxy::decidePolicyForNavigationActionAsync(FrameIdentifier frameID, +@@ -5538,7 +5693,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) { @@ -17048,7 +17109,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref&& process, PageIdentifier webPageID, FrameIdentifier frameID, FrameInfoData&& frameInfo, -@@ -6110,6 +6272,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -6128,6 +6290,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa if (originatingPage) openerAppInitiatedState = originatingPage->lastNavigationWasAppInitiated(); @@ -17056,7 +17117,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b auto completionHandler = [this, protectedThis = Ref { *this }, mainFrameURL, request, reply = WTFMove(reply), privateClickMeasurement = navigationActionData.privateClickMeasurement, openerAppInitiatedState = WTFMove(openerAppInitiatedState)] (RefPtr newPage) mutable { if (!newPage) { reply(std::nullopt, std::nullopt); -@@ -6156,6 +6319,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa +@@ -6174,6 +6337,7 @@ void WebPageProxy::createNewPage(FrameInfoData&& originatingFrameInfoData, WebPa void WebPageProxy::showPage() { m_uiClient->showPage(this); @@ -17064,7 +17125,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } void WebPageProxy::exitFullscreenImmediately() -@@ -6215,6 +6379,10 @@ void WebPageProxy::closePage() +@@ -6233,6 +6397,10 @@ void WebPageProxy::closePage() if (isClosed()) return; @@ -17075,7 +17136,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b WEBPAGEPROXY_RELEASE_LOG(Process, "closePage:"); pageClient().clearAllEditCommands(); m_uiClient->close(this); -@@ -6251,6 +6419,8 @@ void WebPageProxy::runJavaScriptAlert(FrameIdentifier frameID, FrameInfoData&& f +@@ -6269,6 +6437,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 { @@ -17084,7 +17145,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b page.m_uiClient->runJavaScriptAlert(page, message, frame, WTFMove(frameInfo), [reply = WTFMove(reply), completion = WTFMove(completion)]() mutable { reply(); completion(); -@@ -6272,6 +6442,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& +@@ -6290,6 +6460,8 @@ void WebPageProxy::runJavaScriptConfirm(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17093,7 +17154,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b 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 { -@@ -6295,6 +6467,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& +@@ -6313,6 +6485,8 @@ void WebPageProxy::runJavaScriptPrompt(FrameIdentifier frameID, FrameInfoData&& if (auto* automationSession = process().processPool().automationSession()) automationSession->willShowJavaScriptDialog(*this); } @@ -17102,7 +17163,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b 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 { -@@ -6422,6 +6596,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf +@@ -6440,6 +6614,8 @@ void WebPageProxy::runBeforeUnloadConfirmPanel(FrameIdentifier frameID, FrameInf return; } } @@ -17111,7 +17172,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b // Since runBeforeUnloadConfirmPanel() can spin a nested run loop we need to turn off the responsiveness timer and the tryClose timer. m_process->stopResponsivenessTimer(); -@@ -7689,6 +7865,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7719,6 +7895,8 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (auto* automationSession = process().processPool().automationSession()) automationSession->mouseEventsFlushedForPage(*this); didFinishProcessingAllPendingMouseEvents(); @@ -17120,7 +17181,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } break; } -@@ -7703,10 +7881,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7733,10 +7911,13 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) pageClient().wheelEventWasNotHandledByWebCore(oldestProcessedEvent); } @@ -17137,7 +17198,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b break; } -@@ -7715,7 +7896,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7745,7 +7926,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()); @@ -17145,7 +17206,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); auto event = m_keyEventQueue.takeFirst(); MESSAGE_CHECK(m_process, type == event.type()); -@@ -7734,7 +7914,6 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7764,7 +7944,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); @@ -17153,7 +17214,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b pageClient().doneWithKeyEvent(event, handled); if (!handled) m_uiClient->didNotHandleKeyEvent(this, event); -@@ -7743,6 +7922,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) +@@ -7773,6 +7952,7 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) if (!canProcessMoreKeyEvents) { if (auto* automationSession = process().processPool().automationSession()) automationSession->keyboardEventsFlushedForPage(*this); @@ -17161,7 +17222,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b } break; } -@@ -8076,7 +8256,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) +@@ -8106,7 +8286,10 @@ void WebPageProxy::dispatchProcessDidTerminate(ProcessTerminationReason reason) { WEBPAGEPROXY_RELEASE_LOG_ERROR(Loading, "dispatchProcessDidTerminate: reason=%{public}s", processTerminationReasonToString(reason)); @@ -17173,7 +17234,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b if (m_loaderClient) handledByClient = reason != ProcessTerminationReason::RequestedByClient && m_loaderClient->processDidCrash(*this); else -@@ -8410,6 +8593,7 @@ static Span gpuMachServices() +@@ -8440,6 +8623,7 @@ static Span gpuMachServices() WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& process, DrawingAreaProxy& drawingArea, RefPtr&& websitePolicies) { @@ -17181,7 +17242,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b WebPageCreationParameters parameters; parameters.processDisplayName = configuration().processDisplayName(); -@@ -8603,6 +8787,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc +@@ -8633,6 +8817,8 @@ WebPageCreationParameters WebPageProxy::creationParameters(WebProcessProxy& proc parameters.httpsUpgradeEnabled = preferences().upgradeKnownHostsToHTTPSEnabled() ? m_configuration->httpsUpgradeEnabled() : false; @@ -17190,7 +17251,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b #if PLATFORM(IOS) // FIXME: This is also being passed over the to WebProcess via the PreferencesStore. parameters.allowsDeprecatedSynchronousXMLHttpRequestDuringUnload = allowsDeprecatedSynchronousXMLHttpRequestDuringUnload(); -@@ -8675,6 +8861,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even +@@ -8705,6 +8891,14 @@ void WebPageProxy::gamepadActivity(const Vector& gamepadDatas, Even void WebPageProxy::didReceiveAuthenticationChallengeProxy(Ref&& authenticationChallenge, NegotiatedLegacyTLS negotiatedLegacyTLS) { @@ -17205,7 +17266,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b if (negotiatedLegacyTLS == NegotiatedLegacyTLS::Yes) { m_navigationClient->shouldAllowLegacyTLS(*this, authenticationChallenge.get(), [this, protectedThis = Ref { *this }, authenticationChallenge] (bool shouldAllowLegacyTLS) { if (shouldAllowLegacyTLS) -@@ -8768,6 +8962,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge +@@ -8798,6 +8992,15 @@ void WebPageProxy::requestGeolocationPermissionForFrame(GeolocationIdentifier ge request->deny(); }; @@ -17222,7 +17283,7 @@ index 344876578cdac5ae78037eea02c327685d28387c..9e286d0275be0d7d88200a0df53a404b // 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 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90ca6ec366 100644 +index 7dc91fc143fb74699da0fa3afeb382e8fc9e94d9..20bd170fd24735940e7d66bc0176aaadcc73e57e 100644 --- a/Source/WebKit/UIProcess/WebPageProxy.h +++ b/Source/WebKit/UIProcess/WebPageProxy.h @@ -39,6 +39,7 @@ @@ -17305,7 +17366,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 RefPtr loadRequest(WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldAllowExternalSchemesButNotAppLinks, API::Object* userData = nullptr); RefPtr loadFile(const String& fileURL, const String& resourceDirectoryURL, bool isAppInitiated = true, API::Object* userData = nullptr); RefPtr loadData(const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData = nullptr, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow); -@@ -1214,6 +1234,7 @@ public: +@@ -1226,6 +1246,7 @@ public: #endif void pageScaleFactorDidChange(double); @@ -17313,7 +17374,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 void pluginScaleFactorDidChange(double); void pluginZoomFactorDidChange(double); -@@ -1301,14 +1322,20 @@ public: +@@ -1315,14 +1336,20 @@ public: void didStartDrag(); void dragCancelled(); void setDragCaretRect(const WebCore::IntRect&); @@ -17335,7 +17396,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 #endif void processDidBecomeUnresponsive(); -@@ -1559,6 +1586,8 @@ public: +@@ -1573,6 +1600,8 @@ public: #if PLATFORM(COCOA) || PLATFORM(GTK) RefPtr takeViewSnapshot(std::optional&&); @@ -17344,7 +17405,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 #endif #if ENABLE(WEB_CRYPTO) -@@ -2736,6 +2765,7 @@ private: +@@ -2753,6 +2782,7 @@ private: String m_overrideContentSecurityPolicy; RefPtr m_inspector; @@ -17352,7 +17413,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 #if PLATFORM(COCOA) WeakObjCPtr m_cocoaView; -@@ -3005,6 +3035,20 @@ private: +@@ -3022,6 +3052,20 @@ private: unsigned m_currentDragNumberOfFilesToBeAccepted { 0 }; WebCore::IntRect m_currentDragCaretRect; WebCore::IntRect m_currentDragCaretEditableElementRect; @@ -17373,7 +17434,7 @@ index 052c66963ce52bc2c585c4ead8b6533d8914ce39..6441b2d38a87f02a912098019caa3f90 #endif PageLoadState m_pageLoadState; -@@ -3217,6 +3261,9 @@ private: +@@ -3234,6 +3278,9 @@ private: RefPtr messageBody; }; Vector m_pendingInjectedBundleMessages; @@ -17419,7 +17480,7 @@ index 98967f6eda918d3e0da553e5a88e035db9cfb23e..a34a228d4244ce59d8079d26d0326058 DidPerformDragOperation(bool handled) #endif diff --git a/Source/WebKit/UIProcess/WebProcessCache.cpp b/Source/WebKit/UIProcess/WebProcessCache.cpp -index d18d9e197f8a366cd5efeaa63600bec4e7f1d9d6..3c9db1f1cb5523923ec010f935d883932daa5f1a 100644 +index a87227253e0f52388407d9c16a62a27cb35059fe..fbfbb6ef783e214707801963f61dc27f50819957 100644 --- a/Source/WebKit/UIProcess/WebProcessCache.cpp +++ b/Source/WebKit/UIProcess/WebProcessCache.cpp @@ -81,6 +81,10 @@ bool WebProcessCache::canCacheProcess(WebProcessProxy& process) const @@ -17434,10 +17495,33 @@ index d18d9e197f8a366cd5efeaa63600bec4e7f1d9d6..3c9db1f1cb5523923ec010f935d88393 } diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp -index e17d147b4b50ac6902fd85ed3ce65cddd89c5887..3ae71ebf5ff3dfd4c2ec294b3e8b36a9cd6879b0 100644 +index bc71c0ee252375990a89a4982040263942e06813..45f5d2352a6682fdc56dddba0f5cddb5b078f5da 100644 --- a/Source/WebKit/UIProcess/WebProcessPool.cpp +++ b/Source/WebKit/UIProcess/WebProcessPool.cpp -@@ -520,6 +520,14 @@ void WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess(Remo +@@ -364,17 +364,19 @@ void WebProcessPool::setCustomWebContentServiceBundleIdentifier(const String& cu + m_configuration->setCustomWebContentServiceBundleIdentifier(customWebContentServiceBundleIdentifier); + } + ++/* playwright revert fb205fb */ + void WebProcessPool::setOverrideLanguages(Vector&& languages) + { +- WebKit::setOverrideLanguages(WTFMove(languages)); ++ m_configuration->setOverrideLanguages(WTFMove(languages)); + + LOG_WITH_STREAM(Language, stream << "WebProcessPool is setting OverrideLanguages: " << languages); +- sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged(overrideLanguages())); ++ sendToAllProcesses(Messages::WebProcess::UserPreferredLanguagesChanged(m_configuration->overrideLanguages())); + #if USE(SOUP) + for (auto networkProcess : NetworkProcessProxy::allNetworkProcesses()) +- networkProcess->send(Messages::NetworkProcess::UserPreferredLanguagesChanged(overrideLanguages()), 0); ++ networkProcess->send(Messages::NetworkProcess::UserPreferredLanguagesChanged(m_configuration->overrideLanguages()), 0); + #endif + } ++/* end playwright revert fb205fb */ + + void WebProcessPool::fullKeyboardAccessModeChanged(bool fullKeyboardAccessEnabled) + { +@@ -521,6 +523,14 @@ void WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess(Remo RefPtr requestingProcess = requestingProcessIdentifier ? WebProcessProxy::processForIdentifier(*requestingProcessIdentifier) : nullptr; WebProcessPool* processPool = requestingProcess ? &requestingProcess->processPool() : processPools()[0]; @@ -17452,8 +17536,17 @@ index e17d147b4b50ac6902fd85ed3ce65cddd89c5887..3ae71ebf5ff3dfd4c2ec294b3e8b36a9 ASSERT(processPool); WebProcessProxy* remoteWorkerProcessProxy { nullptr }; +@@ -793,7 +803,7 @@ void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDa + #endif + + parameters.cacheModel = LegacyGlobalSettings::singleton().cacheModel(); +- parameters.overrideLanguages = overrideLanguages(); ++ parameters.overrideLanguages = configuration().overrideLanguages(); /* playwright revert fb205fb */ + LOG_WITH_STREAM(Language, stream << "WebProcessPool is initializing a new web process with overrideLanguages: " << parameters.overrideLanguages); + + parameters.urlSchemesRegisteredAsEmptyDocument = copyToVector(m_schemesToRegisterAsEmptyDocument); diff --git a/Source/WebKit/UIProcess/WebProcessProxy.cpp b/Source/WebKit/UIProcess/WebProcessProxy.cpp -index e3bca858c06e2e4d2f078fcc7c683ffc18a58b3b..b8c2f10c98d150f547eee9249270395c5f08be75 100644 +index e6233b1ec6514964e1f906a56955efad94ce3707..6acb5d3cf0914e54d3975402c3b3a18c2b03c557 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.cpp +++ b/Source/WebKit/UIProcess/WebProcessProxy.cpp @@ -147,6 +147,11 @@ HashMap& WebProcessProxy::allProcesses() @@ -17468,8 +17561,35 @@ index e3bca858c06e2e4d2f078fcc7c683ffc18a58b3b..b8c2f10c98d150f547eee9249270395c WebProcessProxy* WebProcessProxy::processForIdentifier(ProcessIdentifier identifier) { return allProcesses().get(identifier); +@@ -416,6 +421,26 @@ void WebProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOpt + if (WebKit::isInspectorProcessPool(processPool())) + launchOptions.extraInitializationData.add("inspector-process"_s, "1"_s); + ++ /* playwright revert fb205fb, 50f8fee */ ++ LOG(Language, "WebProcessProxy is getting launch options."); ++ auto overrideLanguages = m_processPool->configuration().overrideLanguages(); ++ if (overrideLanguages.isEmpty()) { ++ LOG(Language, "overrideLanguages() reports empty. Calling platformOverrideLanguages()"); ++ overrideLanguages = platformOverrideLanguages(); ++ } ++ if (!overrideLanguages.isEmpty()) { ++ StringBuilder languageString; ++ for (size_t i = 0; i < overrideLanguages.size(); ++i) { ++ if (i) ++ languageString.append(','); ++ languageString.append(overrideLanguages[i]); ++ } ++ LOG_WITH_STREAM(Language, stream << "Setting WebProcess's launch OverrideLanguages to " << languageString); ++ launchOptions.extraInitializationData.add("OverrideLanguages"_s, languageString.toString()); ++ } else ++ LOG(Language, "overrideLanguages is still empty. Not setting WebProcess's launch OverrideLanguages."); ++ /* end playwright revert fb205fb, 50f8fee */ ++ + launchOptions.nonValidInjectedCodeAllowed = shouldAllowNonValidInjectedCode(); + + if (isPrewarmed()) diff --git a/Source/WebKit/UIProcess/WebProcessProxy.h b/Source/WebKit/UIProcess/WebProcessProxy.h -index 4e99baca3b593cf8071b5982fb872e0c6dcf1830..570921d07003475219ba1e1920f1323e3d062fa2 100644 +index abffeea475cd298870eb3f3c385e9b411c88113a..7b4fa6254fd2a384645c574a3df3f51e711506e9 100644 --- a/Source/WebKit/UIProcess/WebProcessProxy.h +++ b/Source/WebKit/UIProcess/WebProcessProxy.h @@ -146,6 +146,7 @@ public: @@ -17498,7 +17618,7 @@ index 3d2ce5f9b8f1bc2d297c83b64c8008b454777e5c..85eddc707cceee9c5b201e01ddca1547 void WebsiteDataStore::hasAppBoundSession(CompletionHandler&& completionHandler) const { diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h -index 95b4e5420580a75befeb6365bf9efb960faa1b1b..507869c00ac303b8a517661c3aac31a2d16a9c3c 100644 +index ddc7ff82dc9cea71c999af037c0e665ebca41d67..8db6875b2882bfabdad2a38421f6b1e48b139993 100644 --- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h +++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h @@ -88,6 +88,7 @@ class SecKeyProxyStore; @@ -17559,8 +17679,8 @@ index 95b4e5420580a75befeb6365bf9efb960faa1b1b..507869c00ac303b8a517661c3aac31a2 + void resetQuota(CompletionHandler&&); void clearStorage(CompletionHandler&&); - -@@ -455,9 +473,11 @@ private: + #if PLATFORM(IOS_FAMILY) +@@ -458,9 +476,11 @@ private: WebCore::CurlProxySettings m_proxySettings; #endif @@ -17573,7 +17693,7 @@ index 95b4e5420580a75befeb6365bf9efb960faa1b1b..507869c00ac303b8a517661c3aac31a2 WebCore::SoupNetworkProxySettings m_networkProxySettings; String m_cookiePersistentStoragePath; SoupCookiePersistentStorageType m_cookiePersistentStorageType { SoupCookiePersistentStorageType::SQLite }; -@@ -485,6 +505,10 @@ private: +@@ -488,6 +508,10 @@ private: RefPtr m_cookieStore; RefPtr m_networkProcess; @@ -18209,10 +18329,10 @@ index 0000000000000000000000000000000000000000..d0f9827544994e450e24e3f7a427c35e + +} // namespace WebKit diff --git a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -index 8739382008f49e3dc58e3a7a73bb2432081b7726..bf9d909afbd09db070ea381ba3bfcfb04b54c28e 100644 +index 1c1273786a388abdb30ba898915440b2106f333c..ba360fd6f530e4a5a693fa1b4f14808f451dc55b 100644 --- a/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm +++ b/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm -@@ -439,6 +439,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) +@@ -438,6 +438,8 @@ IntRect PageClientImpl::rootViewToAccessibilityScreen(const IntRect& rect) void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool eventWasHandled) { @@ -18565,7 +18685,7 @@ index 496290a54e38ca2931f579fa14e04e6cc3cb747e..5ce3691dcac88c29a33f004a3894e69a } diff --git a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h -index 29b621bd947974bf0d84552bfe502f497f0a1301..986988431e717aff12ed8b3a78bf454394208d99 100644 +index 0ff5b643de021c6c959412fe25c293fac673fb9b..39bd77283931909133ef9834b40aabae5714f948 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h @@ -68,6 +68,7 @@ private: @@ -18577,7 +18697,7 @@ index 29b621bd947974bf0d84552bfe502f497f0a1301..986988431e717aff12ed8b3a78bf4543 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 e829701eb37c3cebbe9ce419ab958348c347d894..2231f387bdaf5314e61f3b8edb05b129b2658a30 100644 +index c887bf039915f555679279b05b25c8340b52fb82..b825b7177f20d9bed1d2a13c3700b7995c95c499 100644 --- a/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm +++ b/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm @@ -465,6 +465,12 @@ void WebContextMenuProxyMac::getShareMenuItem(CompletionHandler WebChromeClient::createDateTimeChooser(DateTime - - #endif - -+#if ENABLE(ORIENTATION_EVENTS) && !PLATFORM(IOS_FAMILY) -+int WebChromeClient::deviceOrientation() const { -+ // Only overrides are supported for non-iOS platforms. -+ return 0; -+} -+#endif -+ - void WebChromeClient::runOpenPanel(Frame& frame, FileChooser& fileChooser) - { - if (m_page.activeOpenPanelResultListener()) diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebDragClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebDragClient.cpp index 2eb0886f13ed035a53b8eaa60605de4dfe53fbe3..c46393209cb4f80704bbc9268fad4371347d5b30 100644 --- a/Source/WebKit/WebProcess/WebCoreSupport/WebDragClient.cpp @@ -20437,7 +20543,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 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa95de0790 100644 +index e03238a43b669be85d721a509decc56b80fc03e8..35a37c55376bb99f583f06a9cd27fba716cd785f 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp +++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp @@ -940,6 +940,9 @@ WebPage::WebPage(PageIdentifier pageID, WebPageCreationParameters&& parameters) @@ -20450,7 +20556,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa updateThrottleState(); } -@@ -1714,6 +1717,22 @@ void WebPage::platformDidReceiveLoadParameters(const LoadParameters& loadParamet +@@ -1715,6 +1718,22 @@ void WebPage::platformDidReceiveLoadParameters(const LoadParameters& loadParamet } #endif @@ -20473,7 +20579,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa void WebPage::loadRequest(LoadParameters&& loadParameters) { WEBPAGE_RELEASE_LOG(Loading, "loadRequest: navigationID=%" PRIu64 ", shouldTreatAsContinuingLoad=%u, lastNavigationWasAppInitiated=%d, existingNetworkResourceLoadIdentifierToResume=%" PRIu64, loadParameters.navigationID, static_cast(loadParameters.shouldTreatAsContinuingLoad), loadParameters.request.isAppInitiated(), valueOrDefault(loadParameters.existingNetworkResourceLoadIdentifierToResume).toUInt64()); -@@ -1990,17 +2009,13 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) +@@ -1991,17 +2010,13 @@ void WebPage::setSize(const WebCore::IntSize& viewSize) view->resize(viewSize); m_drawingArea->setNeedsDisplay(); @@ -20492,7 +20598,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa // Viewport properties have no impact on zero sized fixed viewports. if (m_viewSize.isEmpty()) -@@ -2017,20 +2032,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2018,20 +2033,18 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg ViewportAttributes attr = computeViewportAttributes(viewportArguments, minimumLayoutFallbackWidth, deviceWidth, deviceHeight, 1, m_viewSize); @@ -20520,7 +20626,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa #if USE(COORDINATED_GRAPHICS) m_drawingArea->didChangeViewportAttributes(WTFMove(attr)); -@@ -2038,7 +2051,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg +@@ -2039,7 +2052,6 @@ void WebPage::sendViewportAttributesChanged(const ViewportArguments& viewportArg send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); #endif } @@ -20528,7 +20634,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa void WebPage::scrollMainFrameIfNotAtMaxScrollPosition(const IntSize& scrollOffset) { -@@ -2323,6 +2335,7 @@ void WebPage::scaleView(double scale) +@@ -2324,6 +2336,7 @@ void WebPage::scaleView(double scale) } m_page->setViewScaleFactor(scale); @@ -20536,7 +20642,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa scalePage(pageScale, scrollPositionAtNewScale); } -@@ -2502,17 +2515,13 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum +@@ -2503,17 +2516,13 @@ void WebPage::viewportPropertiesDidChange(const ViewportArguments& viewportArgum viewportConfigurationChanged(); #endif @@ -20555,7 +20661,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa } void WebPage::listenForLayoutMilestones(OptionSet milestones) -@@ -3426,6 +3435,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) +@@ -3427,6 +3436,104 @@ void WebPage::touchEvent(const WebTouchEvent& touchEvent) send(Messages::WebPageProxy::DidReceiveEvent(static_cast(touchEvent.type()), handled)); } @@ -20660,7 +20766,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa #endif void WebPage::cancelPointer(WebCore::PointerID pointerId, const WebCore::IntPoint& documentPoint) -@@ -3502,6 +3609,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m +@@ -3503,6 +3610,11 @@ void WebPage::sendMessageToTargetBackend(const String& targetId, const String& m m_inspectorTargetController->sendMessageToTargetBackend(targetId, message); } @@ -20672,7 +20778,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa void WebPage::insertNewlineInQuotedContent() { Ref frame = CheckedRef(m_page->focusController())->focusedOrMainFrame(); -@@ -3742,6 +3854,7 @@ void WebPage::didCompletePageTransition() +@@ -3743,6 +3855,7 @@ void WebPage::didCompletePageTransition() void WebPage::show() { send(Messages::WebPageProxy::ShowPage()); @@ -20680,7 +20786,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa } void WebPage::setIsTakingSnapshotsForApplicationSuspension(bool isTakingSnapshotsForApplicationSuspension) -@@ -4600,7 +4713,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana +@@ -4601,7 +4714,7 @@ NotificationPermissionRequestManager* WebPage::notificationPermissionRequestMana #if ENABLE(DRAG_SUPPORT) @@ -20689,7 +20795,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa void WebPage::performDragControllerAction(DragControllerAction action, const IntPoint& clientPosition, const IntPoint& globalPosition, OptionSet draggingSourceOperationMask, SelectionData&& selectionData, OptionSet flags) { if (!m_page) { -@@ -7010,6 +7123,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe +@@ -7023,6 +7136,9 @@ Ref WebPage::createDocumentLoader(Frame& frame, const ResourceRe WebsitePoliciesData::applyToDocumentLoader(WTFMove(*m_pendingWebsitePolicies), documentLoader); m_pendingWebsitePolicies = std::nullopt; } @@ -20700,7 +20806,7 @@ index 1e056ead7bdb7b5b78ac1bbaf5523e24a9cff483..021ec188d7cf5ba39c6a72b5aa4311fa return documentLoader; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.h b/Source/WebKit/WebProcess/WebPage/WebPage.h -index 483d6a87cb493adedbe1cb4a470676b60351fa8e..0e4ad272f59d8999bc0ca5be37ef5f08fb7dd77b 100644 +index da33af918ffb06141abb610c2c84f6d313cc055c..f7067c1ad58e6d7e1d132283fef7303d26cbd41b 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.h +++ b/Source/WebKit/WebProcess/WebPage/WebPage.h @@ -117,6 +117,10 @@ @@ -20762,9 +20868,9 @@ index 483d6a87cb493adedbe1cb4a470676b60351fa8e..0e4ad272f59d8999bc0ca5be37ef5f08 #endif void cancelPointer(WebCore::PointerID, const WebCore::IntPoint&); -@@ -1836,9 +1846,7 @@ private: - - void requestRectForFoundTextRange(const WebFoundTextRange&, CompletionHandler&&); +@@ -1838,9 +1848,7 @@ private: + void addLayerForFindOverlay(CompletionHandler&&); + void removeLayerForFindOverlay(CompletionHandler&&); -#if USE(COORDINATED_GRAPHICS) void sendViewportAttributesChanged(const WebCore::ViewportArguments&); @@ -20772,7 +20878,7 @@ index 483d6a87cb493adedbe1cb4a470676b60351fa8e..0e4ad272f59d8999bc0ca5be37ef5f08 void didChangeSelectedIndexForActivePopupMenu(int32_t newIndex); void setTextForActivePopupMenu(int32_t index); -@@ -2381,6 +2389,7 @@ private: +@@ -2383,6 +2391,7 @@ private: UserActivity m_userActivity; uint64_t m_pendingNavigationID { 0 }; @@ -20781,7 +20887,7 @@ index 483d6a87cb493adedbe1cb4a470676b60351fa8e..0e4ad272f59d8999bc0ca5be37ef5f08 bool m_mainFrameProgressCompleted { false }; diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in -index ba168de76718bb7b4aef2f56f5e66b1494b50126..78b3e10a9a764a0a50dabeb690c7941430cbe7fd 100644 +index d2f2f9e9c740a25096c013114257f018f7c3e420..11158855b408fe2876757f1bf1c130e96d7fc301 100644 --- a/Source/WebKit/WebProcess/WebPage/WebPage.messages.in +++ b/Source/WebKit/WebProcess/WebPage/WebPage.messages.in @@ -139,6 +139,7 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType @@ -20808,7 +20914,7 @@ index ba168de76718bb7b4aef2f56f5e66b1494b50126..78b3e10a9a764a0a50dabeb690c79414 LoadRequestWaitingForProcessLaunch(struct WebKit::LoadParameters loadParameters, URL resourceDirectoryURL, WebKit::WebPageProxyIdentifier pageID, bool checkAssumedReadAccessToResourceURL) LoadData(struct WebKit::LoadParameters loadParameters) LoadSimulatedRequestAndResponse(struct WebKit::LoadParameters loadParameters, WebCore::ResourceResponse simulatedResponse) -@@ -343,10 +346,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -345,10 +348,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType AddMIMETypeWithCustomContentProvider(String mimeType) # Drag and drop. @@ -20821,7 +20927,7 @@ index ba168de76718bb7b4aef2f56f5e66b1494b50126..78b3e10a9a764a0a50dabeb690c79414 PerformDragControllerAction(enum:uint8_t WebKit::DragControllerAction action, WebCore::DragData dragData, WebKit::SandboxExtension::Handle sandboxExtensionHandle, Vector sandboxExtensionsForUpload) #endif #if ENABLE(DRAG_SUPPORT) -@@ -355,6 +358,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType +@@ -357,6 +360,10 @@ GenerateSyntheticEditingCommand(enum:uint8_t WebKit::SyntheticEditingCommandType DragCancelled() #endif @@ -20925,7 +21031,7 @@ index c77ff78cd3cd9627d1ae7b930c81457094645200..88746359159a76b169b7e6dcbee4fb34 } diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp -index d694ce0d933ff26cfe1faa67d4458eec8a97371f..22d7cd177807b4432b8d2c145e1832fd654f2600 100644 +index aa91e10c9f28e11fd8a6416a5cad80355140ef54..6b653a95eb2f59d87ade3dc59103ec7178da3a6a 100644 --- a/Source/WebKit/WebProcess/WebProcess.cpp +++ b/Source/WebKit/WebProcess/WebProcess.cpp @@ -92,6 +92,7 @@ @@ -20961,10 +21067,10 @@ index 8987c3964a9308f2454759de7f8972215a3ae416..bcac0afeb94ed8123d1f9fb0b932c849 SetProcessDPIAware(); return true; diff --git a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm -index 294e83317c044f75927ab868cf5b821b4f1fe157..08fcf9bd9d064fa78ac32d9808ffc3bce6c8dbbe 100644 +index 81093dca5a3f4cf8fa7a71551b9d7b11d7513d9e..0e62bc13f72397239c80bfbc3a272286d1fcb39f 100644 --- a/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm +++ b/Source/WebKitLegacy/mac/WebView/WebHTMLView.mm -@@ -4189,7 +4189,7 @@ static BOOL currentScrollIsBlit(NSView *clipView) +@@ -4205,7 +4205,7 @@ static BOOL currentScrollIsBlit(NSView *clipView) _private->handlingMouseDownEvent = NO; } @@ -21027,7 +21133,7 @@ index 0000000000000000000000000000000000000000..dd6a53e2d57318489b7e49dd7373706d + LIBVPX_LIBRARIES +) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 337ac4df65636502a2b20a323c24033027536247..fe405d811fcdc2640e242fac1191d62c89517add 100644 +index ddfc5296ed48974ac104e299f6f2ecbeb541870b..19c6d2a254270dfd4d9e0adfeddcf25bc92b1b1a 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake @@ -11,8 +11,13 @@ if (${CMAKE_VERSION} VERSION_LESS "3.20" AND NOT ${CMAKE_GENERATOR} STREQUAL "Ni @@ -21125,7 +21231,7 @@ index 337ac4df65636502a2b20a323c24033027536247..fe405d811fcdc2640e242fac1191d62c include(GStreamerDependencies) # Finalize the value for all options. Do not attempt to use an option before -@@ -280,7 +298,8 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") +@@ -276,7 +294,8 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") set(BUILD_REVISION "tarball") endif () @@ -21136,7 +21242,7 @@ index 337ac4df65636502a2b20a323c24033027536247..fe405d811fcdc2640e242fac1191d62c SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1) diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake -index 1e87cb5c724113c1e35ac00b23589d08504f7dda..8fa4cf877351163ea17ca1931a0c2eefdc57c915 100644 +index 02dc572ae989650889da204aad10dc4a95322893..48ef331aab07749b147370354271bff1177f0bd5 100644 --- a/Source/cmake/OptionsWPE.cmake +++ b/Source/cmake/OptionsWPE.cmake @@ -9,8 +9,13 @@ if (${CMAKE_VERSION} VERSION_LESS "3.20" AND NOT ${CMAKE_GENERATOR} STREQUAL "Ni @@ -21223,7 +21329,7 @@ index 1e87cb5c724113c1e35ac00b23589d08504f7dda..8fa4cf877351163ea17ca1931a0c2eef WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON) # Private options specific to the WPE port. -@@ -301,7 +324,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") +@@ -298,7 +321,7 @@ if (NOT EXISTS "${TOOLS_DIR}/glib/apply-build-revision-to-files.py") endif () SET_AND_EXPOSE_TO_BUILD(HAVE_ACCESSIBILITY ${ENABLE_ACCESSIBILITY}) @@ -21879,10 +21985,10 @@ index ef4407cfc114e602d98ed81724da504f453e258f..448dd483715162baba484f756fbcc1d7 + add_subdirectory(Playwright/win) endif () diff --git a/Tools/Scripts/build-webkit b/Tools/Scripts/build-webkit -index b4e8c0496caa9912bf9b7e0d9a8db03161b70e7c..12954131704cb3a3b8ccfe15c60c3919067d72a9 100755 +index a57650013a47b4c8beaa9cfeefb7cd3728ddfbe7..34fe866ba2308ae8cf4db2b303a9e336e02fc6d4 100755 --- a/Tools/Scripts/build-webkit +++ b/Tools/Scripts/build-webkit -@@ -256,7 +256,7 @@ if (isAppleCocoaWebKit()) { +@@ -263,7 +263,7 @@ if (isAppleCocoaWebKit()) { push @projects, ("Source/WebKit"); if (!isEmbeddedWebKit()) { @@ -21892,7 +21998,7 @@ index b4e8c0496caa9912bf9b7e0d9a8db03161b70e7c..12954131704cb3a3b8ccfe15c60c3919 # WebInspectorUI must come after JavaScriptCore and WebCore but before WebKit and WebKit2 my $webKitIndex = first { $projects[$_] eq "Source/WebKitLegacy" } 0..$#projects; diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py -index b89ba43ffcd69913df78824f96c2495da8d46b02..40a43040f58db7cfaa71814e8ce4afc877a471cb 100644 +index 6081a66f2bc433f84916ba11c45f0dae7c42320a..5ac17fca4330cbea74225754295623fd0b60a0f4 100644 --- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py +++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py @@ -74,10 +74,8 @@ class Git(Scm): @@ -23049,10 +23155,10 @@ index 0000000000000000000000000000000000000000..fb739f862252dcdda61aa08e8e4861f8 + +#endif // !USE(ATSPI) && !USE(ATK) diff --git a/Tools/WebKitTestRunner/PlatformGTK.cmake b/Tools/WebKitTestRunner/PlatformGTK.cmake -index 8e434fbb2d6c04528922d50b3e1dd36bf945557e..aa021b3f97769a7f4e4b32001430b54f20e55c0e 100644 +index a87adedcc0e1b67220f04e517097aae8fc640340..c087e9c65d0481253443fb0fb25b032c97f6e4c5 100644 --- a/Tools/WebKitTestRunner/PlatformGTK.cmake +++ b/Tools/WebKitTestRunner/PlatformGTK.cmake -@@ -38,6 +38,9 @@ list(APPEND WebKitTestRunnerInjectedBundle_SOURCES +@@ -42,6 +42,9 @@ list(APPEND WebKitTestRunnerInjectedBundle_SOURCES InjectedBundle/atspi/AccessibilityNotificationHandler.cpp InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp @@ -23077,10 +23183,24 @@ index 4f3640a8b93897d69604ee8ba38cd07561720ad2..eafdffd4196008949287344534400b0f InjectedBundle/wpe/InjectedBundleWPE.cpp InjectedBundle/wpe/TestRunnerWPE.cpp diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp -index 0ca9c821eda81adfdeab20e652e3b5003eefa423..9e64e6f9d94726ac63d5edfbf7c6f1871b6aa6c8 100644 +index c132facfcbb1b3ed9e46229bfb04ff6af32d4d6b..0a14f460b83164bb11ea4e1c1eb6a06d1f8300ba 100644 --- a/Tools/WebKitTestRunner/TestController.cpp +++ b/Tools/WebKitTestRunner/TestController.cpp -@@ -874,6 +874,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) +@@ -596,6 +596,13 @@ WKRetainPtr TestController::generateContextConfigurat + WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(configuration.get(), true); + WKContextConfigurationSetIgnoreSynchronousMessagingTimeoutsForTesting(configuration.get(), options.ignoreSynchronousMessagingTimeouts()); + ++ /* playwright revert fb205fb */ ++ auto overrideLanguages = adoptWK(WKMutableArrayCreate()); ++ for (auto& language : options.overrideLanguages()) ++ WKArrayAppendItem(overrideLanguages.get(), toWK(language).get()); ++ WKContextConfigurationSetOverrideLanguages(configuration.get(), overrideLanguages.get()); ++ /* end playwright revert fb205fb */ ++ + if (options.shouldEnableProcessSwapOnNavigation()) { + WKContextConfigurationSetProcessSwapsOnNavigation(configuration.get(), true); + if (options.enableProcessSwapOnWindowOpen()) +@@ -869,6 +876,7 @@ void TestController::createWebViewWithOptions(const TestOptions& options) 0, // requestStorageAccessConfirm shouldAllowDeviceOrientationAndMotionAccess, runWebAuthenticationPanel, @@ -23088,6 +23208,23 @@ index 0ca9c821eda81adfdeab20e652e3b5003eefa423..9e64e6f9d94726ac63d5edfbf7c6f187 decidePolicyForSpeechRecognitionPermissionRequest, decidePolicyForMediaKeySystemPermissionRequest, nullptr, // requestWebAuthenticationNoGesture +diff --git a/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm b/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm +index 6cfd0d4b3c2f183a623621bbacdff6dc7a3a495c..87aa4f1c0022cf4d3d37e518339116efc0da5d20 100644 +--- a/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm ++++ b/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm +@@ -205,11 +205,7 @@ void TestController::platformCreateWebView(WKPageConfigurationRef, const TestOpt + [copiedConfiguration _setApplicationManifest:[_WKApplicationManifest applicationManifestFromJSON:text manifestURL:nil documentURL:nil]]; + } + +- auto overrideLanguages = options.overrideLanguages(); +- NSMutableArray *overrideLanguagesForAPI = [NSMutableArray arrayWithCapacity:overrideLanguages.size()]; +- for (auto& language : overrideLanguages) +- [overrideLanguagesForAPI addObject:[NSString stringWithUTF8String:language.c_str()]]; +- [TestRunnerWKWebView _setOverrideLanguagesForTesting:overrideLanguagesForAPI]; ++ /* playwright: removed overrideLanguages block here (playwright revert fb205fb) */ + + m_mainWebView = makeUnique(copiedConfiguration.get(), options); + finishCreatingPlatformWebView(m_mainWebView.get(), options); diff --git a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm b/Tools/WebKitTestRunner/mac/EventSenderProxy.mm index b0a503013185f29feeca47e4313b27e349973c02..ee1f87780a99b2b626b1ada984d6310975076019 100644 --- a/Tools/WebKitTestRunner/mac/EventSenderProxy.mm @@ -23145,7 +23282,7 @@ index b0a503013185f29feeca47e4313b27e349973c02..ee1f87780a99b2b626b1ada984d63109 + } // namespace WTR diff --git a/Tools/glib/dependencies/apt b/Tools/glib/dependencies/apt -index dbf1d28ab1e501e26af3a188465267e3b1d521a6..7f9221377839579a9c6bf57a84c7cb164691a1f4 100644 +index c3898e86e8c3e018400dd11b0722bfa01b6cb561..7f9221377839579a9c6bf57a84c7cb164691a1f4 100644 --- a/Tools/glib/dependencies/apt +++ b/Tools/glib/dependencies/apt @@ -1,17 +1,17 @@ @@ -23169,11 +23306,10 @@ index dbf1d28ab1e501e26af3a188465267e3b1d521a6..7f9221377839579a9c6bf57a84c7cb16 if [[ $? -ne 0 ]]; then return fi -@@ -56,9 +56,12 @@ PACKAGES=( - libwayland-dev +@@ -57,9 +57,11 @@ PACKAGES=( libwebp-dev libwoff-dev -+ libxml2-utils + libxml2-utils + libxcb-glx0-dev libxslt1-dev ninja-build