[webkit-changes] [290976] trunk/Source
Title: [290976] trunk/Source Revision 290976 Author simon.fra...@apple.com Date 2022-03-07 23:28:30 -0800 (Mon, 07 Mar 2022) Log Message Rename VolatilityState to SetNonVolatileResult https://bugs.webkit.org/show_bug.cgi?id=237562 Reviewed by Tim Horton. Pure rename. I want to use VolatilityState to actually reflect state. Source/WebCore: * platform/graphics/ConcreteImageBuffer.h: * platform/graphics/ImageBuffer.h: * platform/graphics/ImageBufferBackend.h: (WebCore::ImageBufferBackend::setNonVolatile): * platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: (WebCore::ImageBufferIOSurfaceBackend::setNonVolatile): * platform/graphics/cg/ImageBufferIOSurfaceBackend.h: * platform/graphics/cocoa/IOSurface.h: * platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::state const): (WebCore::IOSurface::setVolatile): (WebCore::operator<<): Source/WebKit: * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::markSurfaceNonVolatile): (WebKit::RemoteRenderingBackend::swapToValidFrontBuffer): * Shared/RemoteLayerTree/RemoteLayerBackingStore.h: * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::setBufferNonVolatile): (WebKit::RemoteLayerBackingStore::didMakeFrontBufferNonVolatile): * UIProcess/ViewSnapshotStore.h: * UIProcess/mac/ViewSnapshotStoreMac.mm: (WebKit::ViewSnapshot::setVolatile): (WebKit::ViewSnapshot::asLayerContents): * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::markSurfaceNonVolatile): * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h trunk/Source/WebCore/platform/graphics/ImageBuffer.h trunk/Source/WebCore/platform/graphics/ImageBufferBackend.h trunk/Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp trunk/Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.h trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm trunk/Source/WebKit/UIProcess/ViewSnapshotStore.h trunk/Source/WebKit/UIProcess/mac/ViewSnapshotStoreMac.mm trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h Diff Modified: trunk/Source/WebCore/ChangeLog (290975 => 290976) --- trunk/Source/WebCore/ChangeLog 2022-03-08 07:18:39 UTC (rev 290975) +++ trunk/Source/WebCore/ChangeLog 2022-03-08 07:28:30 UTC (rev 290976) @@ -1,3 +1,25 @@ +2022-03-07 Simon Fraser + +Rename VolatilityState to SetNonVolatileResult +https://bugs.webkit.org/show_bug.cgi?id=237562 + +Reviewed by Tim Horton. + +Pure rename. I want to use VolatilityState to actually reflect state. + +* platform/graphics/ConcreteImageBuffer.h: +* platform/graphics/ImageBuffer.h: +* platform/graphics/ImageBufferBackend.h: +(WebCore::ImageBufferBackend::setNonVolatile): +* platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp: +(WebCore::ImageBufferIOSurfaceBackend::setNonVolatile): +* platform/graphics/cg/ImageBufferIOSurfaceBackend.h: +* platform/graphics/cocoa/IOSurface.h: +* platform/graphics/cocoa/IOSurface.mm: +(WebCore::IOSurface::state const): +(WebCore::IOSurface::setVolatile): +(WebCore::operator<<): + 2022-03-07 Tim Horton Fix the build Modified: trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h (290975 => 290976) --- trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2022-03-08 07:18:39 UTC (rev 290975) +++ trunk/Source/WebCore/platform/graphics/ConcreteImageBuffer.h 2022-03-08 07:28:30 UTC (rev 290976) @@ -298,11 +298,11 @@ return true; // Just claim we succeedded. } -VolatilityState setNonVolatile() override +SetNonVolatileResult setNonVolatile() override { if (auto* backend = ensureBackendCreated()) return backend->setNonVolatile(); -return VolatilityState::Valid; +return SetNonVolatileResult::Valid; } std::unique_ptr createFlusher() override Modified: trunk/Source/WebCore/platform/graphics/ImageBuffer.h (290975 => 290976) --- trunk/Source/WebCore/platform/graphics/ImageBuffer.h 2022-03-08 07:18:39 UTC (rev 290975) +++ trunk/Source/WebCore/platform/graphics/ImageBuffer.h 2022-03-08 07:28:30 UTC (rev 290976) @@ -92,7 +92,7 @@ // Returns true on success. virtual bool setVolatile() = 0; -virtual VolatilityState setNonVolatile() = 0; +virtual SetNonVolatileResult setNonVolatile() = 0; virtual std::unique_ptr createFlusher() = 0; Modified:
[webkit-changes] [290975] trunk/Source/JavaScriptCore
Title: [290975] trunk/Source/_javascript_Core Revision 290975 Author e...@apple.com Date 2022-03-07 23:18:39 -0800 (Mon, 07 Mar 2022) Log Message [XCBuild] Emit a discovered dependency file from offlineasm https://bugs.webkit.org/show_bug.cgi?id=237329 Reviewed by Keith Miller. Xcode needs to know what files offlineasm uses and produces in order to schedule it correctly in incremental builds. Rather than use generated xcfilelists like WebKit does elsewhere in the project, emit a depfile from offlineasm based on the parse tree's source files. Discovered dependency files ("depfiles") are Makefile-formatted files which list the inputs used to produce an output. They are emitting during the build to a temporary directory, and ensure that subsequent incremental builds will re-run offlineasm when any of the included sources change. This is the same mechanism clang uses to track header dependencies. Unfortunately, the legacy build system will refuse to execute a script phase or rule that emits a depfile. To work around this, convert the offlineasm pipeline to be based on build rules, to be used by XCBuild only. The idea is that LowLevelInterpreter.asm is listed as a source build file in JSCLLIntSettingsExtractor, JSCLLIntOffsetsExtractor, and _javascript_Core. Each target uses a build rule to generate its respective header from LowLevelInterpreter.asm. Xcode schedules these rule executions before any clang tasks. The legacy build system avoids executing the rules via EXCLUDED_SOURCE_FILE_NAMES, and instead uses the existing build phases, which have "(Legacy)" in their names and are now no-ops under XCBuild. Aside from working around the legacy build system's limitations, using build rules is probably a superior way to express what we're doing, as it gives Xcode the opportunity to compile other objects in parallel, and could be easily extended to compile multiple discrete asm files should the need arise. * Configurations/ToolExecutable.xcconfig: Build rules are XCBuild-only. * _javascript_Core.xcodeproj/project.pbxproj: Add build rules, rename legacy scripts. * offlineasm/asm.rb: Add --depfile flag. * offlineasm/generate_offset_extractor.rb: Add --depfile flag. * offlineasm/generate_settings_extractor.rb: Add --depfile flag. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/_javascript_Core.xcconfig trunk/Source/_javascript_Core/Configurations/ToolExecutable.xcconfig trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/offlineasm/asm.rb trunk/Source/_javascript_Core/offlineasm/generate_offset_extractor.rb trunk/Source/_javascript_Core/offlineasm/generate_settings_extractor.rb trunk/Source/_javascript_Core/offlineasm/parser.rb Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290974 => 290975) --- trunk/Source/_javascript_Core/ChangeLog 2022-03-08 06:41:39 UTC (rev 290974) +++ trunk/Source/_javascript_Core/ChangeLog 2022-03-08 07:18:39 UTC (rev 290975) @@ -1,3 +1,42 @@ +2022-03-07 Elliott Williams + +[XCBuild] Emit a discovered dependency file from offlineasm +https://bugs.webkit.org/show_bug.cgi?id=237329 + +Reviewed by Keith Miller. + +Xcode needs to know what files offlineasm uses and produces in order to schedule it +correctly in incremental builds. Rather than use generated xcfilelists like WebKit does +elsewhere in the project, emit a depfile from offlineasm based on the parse tree's source +files. + +Discovered dependency files ("depfiles") are Makefile-formatted files which list the inputs +used to produce an output. They are emitting during the build to a temporary directory, and +ensure that subsequent incremental builds will re-run offlineasm when any of the included +sources change. This is the same mechanism clang uses to track header dependencies. + +Unfortunately, the legacy build system will refuse to execute a script phase or rule that +emits a depfile. To work around this, convert the offlineasm pipeline to be based on build +rules, to be used by XCBuild only. The idea is that LowLevelInterpreter.asm is listed as a +source build file in JSCLLIntSettingsExtractor, JSCLLIntOffsetsExtractor, and +_javascript_Core. Each target uses a build rule to generate its respective header from +LowLevelInterpreter.asm. Xcode schedules these rule executions before any clang tasks. + +The legacy build system avoids executing the rules via EXCLUDED_SOURCE_FILE_NAMES, and +instead uses the existing build phases, which have "(Legacy)" in their names and are now +no-ops under XCBuild. + +Aside from working around the legacy build system's limitations, using build rules is +probably a superior way to express what we're doing, as it gives Xcode the opportunity to +compile other objects in parallel, and
[webkit-changes] [290973] branches/safari-613-branch/Source/WebKit
Title: [290973] branches/safari-613-branch/Source/WebKit Revision 290973 Author repst...@apple.com Date 2022-03-07 21:18:54 -0800 (Mon, 07 Mar 2022) Log Message Cherry-pick r290961. rdar://problem/89912760 [macCatalyst] Compilation error: WebContentProcess.xib: error: macOS xibs do not support target device type "ipad". https://bugs.webkit.org/show_bug.cgi?id=237549 rdar://89912760 Patch by Richard Houle on 2022-03-07 Reviewed by Alexey Proskuryakov. Xcode for macOS 12.5 complains that we bundle Mac XIBs inside our macCatalyst builds. * Configurations/BaseXPCService.xcconfig: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290961 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-613-branch/Source/WebKit/ChangeLog branches/safari-613-branch/Source/WebKit/Configurations/BaseXPCService.xcconfig Diff Modified: branches/safari-613-branch/Source/WebKit/ChangeLog (290972 => 290973) --- branches/safari-613-branch/Source/WebKit/ChangeLog 2022-03-08 03:27:30 UTC (rev 290972) +++ branches/safari-613-branch/Source/WebKit/ChangeLog 2022-03-08 05:18:54 UTC (rev 290973) @@ -1,5 +1,34 @@ 2022-03-07 Russell Epstein +Cherry-pick r290961. rdar://problem/89912760 + +[macCatalyst] Compilation error: WebContentProcess.xib: error: macOS xibs do not support target device type "ipad". +https://bugs.webkit.org/show_bug.cgi?id=237549 +rdar://89912760 + +Patch by Richard Houle on 2022-03-07 +Reviewed by Alexey Proskuryakov. + +Xcode for macOS 12.5 complains that we bundle Mac XIBs inside our macCatalyst builds. + +* Configurations/BaseXPCService.xcconfig: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290961 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2022-03-07 Richard Houle + +[macCatalyst] Compilation error: WebContentProcess.xib: error: macOS xibs do not support target device type "ipad". +https://bugs.webkit.org/show_bug.cgi?id=237549 +rdar://89912760 + +Reviewed by Alexey Proskuryakov. + +Xcode for macOS 12.5 complains that we bundle Mac XIBs inside our macCatalyst builds. + +* Configurations/BaseXPCService.xcconfig: + +2022-03-07 Russell Epstein + Cherry-pick r285688. rdar://problem/85307256 [macOS] Add required methods to IOKit message filter Modified: branches/safari-613-branch/Source/WebKit/Configurations/BaseXPCService.xcconfig (290972 => 290973) --- branches/safari-613-branch/Source/WebKit/Configurations/BaseXPCService.xcconfig 2022-03-08 03:27:30 UTC (rev 290972) +++ branches/safari-613-branch/Source/WebKit/Configurations/BaseXPCService.xcconfig 2022-03-08 05:18:54 UTC (rev 290973) @@ -43,8 +43,9 @@ APP_ICON_Production = ; EXCLUDED_SOURCE_FILE_NAMES[sdk=embedded*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)) *.xib MediaFormatReader.bundle; -EXCLUDED_SOURCE_FILE_NAMES[sdk=macos*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)); +EXCLUDED_SOURCE_FILE_NAMES[sdk=macos*] = $(EXCLUDED_SOURCE_FILE_NAMES_$(CONFIGURATION)) $(EXCLUDED_SOURCE_FILE_NAMES_$(WK_PLATFORM_NAME)); EXCLUDED_SOURCE_FILE_NAMES_Production = WebKit.icns; +EXCLUDED_SOURCE_FILE_NAMES_maccatalyst = *.xib; OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH) $(WK_RELOCATABLE_FRAMEWORKS_LDFLAGS); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290972] trunk/Source/WebCore
Title: [290972] trunk/Source/WebCore Revision 290972 Author timothy_hor...@apple.com Date 2022-03-07 19:27:30 -0800 (Mon, 07 Mar 2022) Log Message Fix the build * platform/graphics/GraphicsContext.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/GraphicsContext.h Diff Modified: trunk/Source/WebCore/ChangeLog (290971 => 290972) --- trunk/Source/WebCore/ChangeLog 2022-03-08 03:07:25 UTC (rev 290971) +++ trunk/Source/WebCore/ChangeLog 2022-03-08 03:27:30 UTC (rev 290972) @@ -1,3 +1,9 @@ +2022-03-07 Tim Horton + +Fix the build + +* platform/graphics/GraphicsContext.h: + 2022-03-07 Per Arne Vollan Preconnecting after process swap is a page load time improvement on some devices Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (290971 => 290972) --- trunk/Source/WebCore/platform/graphics/GraphicsContext.h 2022-03-08 03:07:25 UTC (rev 290971) +++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h 2022-03-08 03:27:30 UTC (rev 290972) @@ -429,7 +429,7 @@ virtual void drawNativeImage(NativeImage&, const FloatSize& selfSize, const FloatRect& destRect, const FloatRect& srcRect, const ImagePaintingOptions& = { }) = 0; -virtual void drawSystemImage(SystemImage&, const FloatRect&); +WEBCORE_EXPORT virtual void drawSystemImage(SystemImage&, const FloatRect&); WEBCORE_EXPORT ImageDrawResult drawImage(Image&, const FloatPoint& destination, const ImagePaintingOptions& = { ImageOrientation::FromImage }); WEBCORE_EXPORT ImageDrawResult drawImage(Image&, const FloatRect& destination, const ImagePaintingOptions& = { ImageOrientation::FromImage }); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290971] trunk/Source/WebKit
Title: [290971] trunk/Source/WebKit Revision 290971 Author bfulg...@apple.com Date 2022-03-07 19:07:25 -0800 (Mon, 07 Mar 2022) Log Message Remove remnants of WebKit.Plugin.64.xpc service https://bugs.webkit.org/show_bug.cgi?id=237555 Reviewed by Alexey Proskuryakov. Although plugins have been disabled for a number of years, the actual code behind this feature was only removed this cycle (see Bugs 232462, 234354, and 234379). I noticed a few remaining bits of the removed plugin process that should also be cleaned up. * Scripts/process-entitlements.sh: * Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm: (WebKit::XPCServiceEventHandler): * Shared/mac/AuxiliaryProcessMac.mm: (WebKit::sandboxDirectory): (WebKit::applySandbox): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Scripts/process-entitlements.sh trunk/Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm trunk/Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290970 => 290971) --- trunk/Source/WebKit/ChangeLog 2022-03-08 03:00:21 UTC (rev 290970) +++ trunk/Source/WebKit/ChangeLog 2022-03-08 03:07:25 UTC (rev 290971) @@ -1,3 +1,22 @@ +2022-03-07 Brent Fulgham + +Remove remnants of WebKit.Plugin.64.xpc service +https://bugs.webkit.org/show_bug.cgi?id=237555 + + +Reviewed by Alexey Proskuryakov. + +Although plugins have been disabled for a number of years, the actual code behind this +feature was only removed this cycle (see Bugs 232462, 234354, and 234379). I noticed a few +remaining bits of the removed plugin process that should also be cleaned up. + +* Scripts/process-entitlements.sh: +* Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm: +(WebKit::XPCServiceEventHandler): +* Shared/mac/AuxiliaryProcessMac.mm: +(WebKit::sandboxDirectory): +(WebKit::applySandbox): + 2022-03-07 Per Arne Vollan Preconnecting after process swap is a page load time improvement on some devices Modified: trunk/Source/WebKit/Scripts/process-entitlements.sh (290970 => 290971) --- trunk/Source/WebKit/Scripts/process-entitlements.sh 2022-03-08 03:00:21 UTC (rev 290970) +++ trunk/Source/WebKit/Scripts/process-entitlements.sh 2022-03-08 03:07:25 UTC (rev 290971) @@ -38,7 +38,7 @@ fi fi -mac_process_webcontent_or_plugin_entitlements +mac_process_webcontent_shared_entitlements } function mac_process_webcontent_captiveportal_entitlements() @@ -75,7 +75,7 @@ fi fi -mac_process_webcontent_or_plugin_entitlements +mac_process_webcontent_shared_entitlements } function mac_process_gpu_entitlements() @@ -175,19 +175,8 @@ fi } -function mac_process_plugin_entitlements() +function mac_process_webcontent_shared_entitlements() { -plistbuddy Add :com.apple.security.cs.allow-jitbool YES -plistbuddy Add :com.apple.security.cs.allow-unsigned-executable-memory bool YES -plistbuddy Add :com.apple.security.cs.disable-library-validation bool YES -plistbuddy Add :com.apple.security.files.user-selected.read-write bool YES -plistbuddy Add :com.apple.security.print bool YES - -mac_process_webcontent_or_plugin_entitlements -} - -function mac_process_webcontent_or_plugin_entitlements() -{ if [[ "${WK_USE_RESTRICTED_ENTITLEMENTS}" == YES ]] then if (( "${TARGET_MAC_OS_X_VERSION_MAJOR}" >= 101400 )) @@ -334,30 +323,6 @@ fi } -function maccatalyst_process_plugin_entitlements() -{ -plistbuddy Add :com.apple.security.cs.allow-jitbool YES -plistbuddy Add :com.apple.security.cs.allow-unsigned-executable-memory bool YES -plistbuddy Add :com.apple.security.cs.disable-library-validation bool YES -plistbuddy Add :com.apple.security.files.user-selected.read-write bool YES -plistbuddy Add :com.apple.security.print bool YES - -if [[ "${WK_USE_RESTRICTED_ENTITLEMENTS}" == YES ]] -then -if (( "${TARGET_MAC_OS_X_VERSION_MAJOR}" >= 11 )) -then -plistbuddy Add :com.apple.security.cs.jit-write-allowlist bool YES -fi -fi - -if (( "${TARGET_MAC_OS_X_VERSION_MAJOR}" >= 12 )) -then -plistbuddy Add :com.apple.private.verified-jit bool YES -plistbuddy Add :com.apple.security.cs.single-jit bool YES -fi -} - - # # iOS Family entitlements # @@ -534,17 +499,6 @@ plistbuddy Add :com.apple.symptom_analytics.configure bool YES } -function ios_family_process_plugin_entitlements() -{ -plistbuddy Add :com.apple.private.verified-jit bool YES -plistbuddy Add :com.apple.security.cs.allow-jitbool YES -
[webkit-changes] [290970] trunk/Tools
Title: [290970] trunk/Tools Revision 290970 Author ddkil...@apple.com Date 2022-03-07 19:00:21 -0800 (Mon, 07 Mar 2022) Log Message Fix Release builds for sanitizers by defining RELEASE_WITHOUT_OPTIMIZATIONS Reviewed by Kate Cheney. * sanitizer/sanitizer.xcconfig: (OTHER_CFLAGS): Add `-DRELEASE_WITHOUT_OPTIMIZATIONS` so Release builds at lower optimization levels don't fail. Modified Paths trunk/Tools/ChangeLog trunk/Tools/sanitizer/sanitizer.xcconfig Diff Modified: trunk/Tools/ChangeLog (290969 => 290970) --- trunk/Tools/ChangeLog 2022-03-08 02:12:38 UTC (rev 290969) +++ trunk/Tools/ChangeLog 2022-03-08 03:00:21 UTC (rev 290970) @@ -1,3 +1,15 @@ +2022-03-07 David Kilzer + +Fix Release builds for sanitizers by defining RELEASE_WITHOUT_OPTIMIZATIONS + + + +Reviewed by Kate Cheney. + +* sanitizer/sanitizer.xcconfig: +(OTHER_CFLAGS): Add `-DRELEASE_WITHOUT_OPTIMIZATIONS` so Release +builds at lower optimization levels don't fail. + 2022-03-07 Jean-Yves Avenard Add ability to convert FragmentedSharedBuffer to CMBlockBuffer Modified: trunk/Tools/sanitizer/sanitizer.xcconfig (290969 => 290970) --- trunk/Tools/sanitizer/sanitizer.xcconfig 2022-03-08 02:12:38 UTC (rev 290969) +++ trunk/Tools/sanitizer/sanitizer.xcconfig 2022-03-08 03:00:21 UTC (rev 290970) @@ -11,7 +11,7 @@ GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Production = 1; GCC_OPTIMIZATION_LEVEL_OVERRIDE_NO_Release = 1; -OTHER_CFLAGS = $(inherited) -fno-omit-frame-pointer -g $(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_ADDRESS_SANITIZER)) $(WK_UNDEFINED_BEHAVIOR_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_UNDEFINED_BEHAVIOR_SANITIZER)); +OTHER_CFLAGS = $(inherited) -DRELEASE_WITHOUT_OPTIMIZATIONS -fno-omit-frame-pointer -g $(WK_ADDRESS_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_ADDRESS_SANITIZER)) $(WK_UNDEFINED_BEHAVIOR_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_UNDEFINED_BEHAVIOR_SANITIZER)); OTHER_CPLUSPLUSFLAGS = $(inherited) $(WK_ADDRESS_SANITIZER_OTHER_CPLUSPLUSFLAGS_$(WK_ENABLE_ADDRESS_SANITIZER)); // Workaround for . ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290969] trunk/Source
Title: [290969] trunk/Source Revision 290969 Author pvol...@apple.com Date 2022-03-07 18:12:38 -0800 (Mon, 07 Mar 2022) Log Message Preconnecting after process swap is a page load time improvement on some devices https://bugs.webkit.org/show_bug.cgi?id=237055 Reviewed by Geoffrey Garen. Source/WebCore: Export method. * platform/network/NetworkLoadMetrics.h: Source/WebKit: On some devices we see that doing a second preconnect on HTTP/1.1 is a significant page load time improvement. This is due to the fact that most page loads on HTTP/1.1 will open several connections, and having two preconnected connections instead of one, will speed up page load time. This patch implements this by starting a second preconnect after the first has finished. It is important to wait until the first preconnect has finished, otherwise the second preconnect will go to waste, since the underlying network layer does not yet know if this is HTTP/1.1 or not. Since we do not see page load time improvement on iOS with this behavior, it is currently only enabled for macOS. The next step is to investigate why it does not seem to be a page load time improvement on iOS. We probably need to make sure the main resource load has started before we start the second preconect. This will avoid that the second preconnect returns immediately. * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::sendH2Ping): (WebKit::NetworkConnectionToWebProcess::preconnectTo): * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::preconnectTo): * NetworkProcess/PreconnectTask.cpp: (WebKit::PreconnectTask::PreconnectTask): (WebKit::PreconnectTask::didFinishLoading): (WebKit::PreconnectTask::didFailLoading): (WebKit::PreconnectTask::didFinish): * NetworkProcess/PreconnectTask.h: * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: (WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource): Source/WTF: Add ENABLE guard for this behavior. * wtf/PlatformEnableCocoa.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/PlatformEnableCocoa.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/NetworkLoadMetrics.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/PreconnectTask.cpp trunk/Source/WebKit/NetworkProcess/PreconnectTask.h trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp Diff Modified: trunk/Source/WTF/ChangeLog (290968 => 290969) --- trunk/Source/WTF/ChangeLog 2022-03-08 01:39:15 UTC (rev 290968) +++ trunk/Source/WTF/ChangeLog 2022-03-08 02:12:38 UTC (rev 290969) @@ -1,3 +1,15 @@ +2022-03-07 Per Arne Vollan + +Preconnecting after process swap is a page load time improvement on some devices +https://bugs.webkit.org/show_bug.cgi?id=237055 + + +Reviewed by Geoffrey Garen. + +Add ENABLE guard for this behavior. + +* wtf/PlatformEnableCocoa.h: + 2022-03-07 Chris Dumez Optimize the passing of data across threads Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (290968 => 290969) --- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2022-03-08 01:39:15 UTC (rev 290968) +++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2022-03-08 02:12:38 UTC (rev 290969) @@ -758,3 +758,7 @@ #define ENABLE_ARKIT_INLINE_PREVIEW_ANIMATIONS_CONTROL 1 #define ENABLE_ARKIT_INLINE_PREVIEW_AUDIO_CONTROL 1 #endif + +#if !defined(ENABLE_ADDITIONAL_PRECONNECT_ON_HTTP_1X) && PLATFORM(MAC) +#define ENABLE_ADDITIONAL_PRECONNECT_ON_HTTP_1X 1 +#endif Modified: trunk/Source/WebCore/ChangeLog (290968 => 290969) --- trunk/Source/WebCore/ChangeLog 2022-03-08 01:39:15 UTC (rev 290968) +++ trunk/Source/WebCore/ChangeLog 2022-03-08 02:12:38 UTC (rev 290969) @@ -1,3 +1,15 @@ +2022-03-07 Per Arne Vollan + +Preconnecting after process swap is a page load time improvement on some devices +https://bugs.webkit.org/show_bug.cgi?id=237055 + + +Reviewed by Geoffrey Garen. + +Export method. + +* platform/network/NetworkLoadMetrics.h: + 2022-03-07 Jean-Yves Avenard Add ability to convert FragmentedSharedBuffer to CMBlockBuffer Modified: trunk/Source/WebCore/platform/network/NetworkLoadMetrics.h (290968 => 290969) --- trunk/Source/WebCore/platform/network/NetworkLoadMetrics.h 2022-03-08 01:39:15 UTC (rev 290968) +++ trunk/Source/WebCore/platform/network/NetworkLoadMetrics.h 2022-03-08 02:12:38 UTC (rev 290969) @@ -65,7 +65,7 @@ public: WEBCORE_EXPORT NetworkLoadMetrics(); -static const NetworkLoadMetrics& emptyMetrics(); +WEBCORE_EXPORT static const NetworkLoadMetrics& emptyMetrics(); WEBCORE_EXPORT NetworkLoadMetrics isolatedCopy() const; Modified: trunk/Source/WebKit/ChangeLog (290968 => 290969) --- trunk/Source/WebKit/ChangeLog 2022-03-08 01:39:15 UTC (rev
[webkit-changes] [290968] trunk
Title: [290968] trunk Revision 290968 Author j...@apple.com Date 2022-03-07 17:39:15 -0800 (Mon, 07 Mar 2022) Log Message Add ability to convert FragmentedSharedBuffer to CMBlockBuffer https://bugs.webkit.org/show_bug.cgi?id=237075 Source/WebCore: rdar://89338447 Reviewed by Jer Noble. Add FragmentedSharedBuffer::getContiguousData and FragmentedSharedBuffer::createCMBlockBuffer methods. API tests added for getContiguousData. createCMBlockBuffer will be used in a follow-up patch. * platform/SharedBuffer.cpp: (WebCore::FragmentedSharedBuffer::getContiguousData const): * platform/SharedBuffer.h: * platform/cocoa/SharedBufferCocoa.mm: (WebCore::FreeSharedBuffer): (WebCore::FragmentedSharedBuffer::createCMBlockBuffer const): Tools: Reviewed by Jer Noble. * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/SharedBuffer.cpp trunk/Source/WebCore/platform/SharedBuffer.h trunk/Source/WebCore/platform/cocoa/SharedBufferCocoa.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (290967 => 290968) --- trunk/Source/WebCore/ChangeLog 2022-03-08 01:28:40 UTC (rev 290967) +++ trunk/Source/WebCore/ChangeLog 2022-03-08 01:39:15 UTC (rev 290968) @@ -1,3 +1,24 @@ +2022-03-07 Jean-Yves Avenard + +Add ability to convert FragmentedSharedBuffer to CMBlockBuffer +https://bugs.webkit.org/show_bug.cgi?id=237075 +rdar://89338447 + +Reviewed by Jer Noble. + +Add FragmentedSharedBuffer::getContiguousData and +FragmentedSharedBuffer::createCMBlockBuffer methods. + +API tests added for getContiguousData. +createCMBlockBuffer will be used in a follow-up patch. + +* platform/SharedBuffer.cpp: +(WebCore::FragmentedSharedBuffer::getContiguousData const): +* platform/SharedBuffer.h: +* platform/cocoa/SharedBufferCocoa.mm: +(WebCore::FreeSharedBuffer): +(WebCore::FragmentedSharedBuffer::createCMBlockBuffer const): + 2022-03-07 Andres Gonzalez Fix for elements in isolated tree mode. Modified: trunk/Source/WebCore/platform/SharedBuffer.cpp (290967 => 290968) --- trunk/Source/WebCore/platform/SharedBuffer.cpp 2022-03-08 01:28:40 UTC (rev 290967) +++ trunk/Source/WebCore/platform/SharedBuffer.cpp 2022-03-08 01:39:15 UTC (rev 290968) @@ -152,6 +152,26 @@ return { element->segment.copyRef(), position - element->beginPosition }; } +Ref FragmentedSharedBuffer::getContiguousData(size_t position, size_t length) const +{ +if (position >= m_size) +return SharedBuffer::create(); +length = std::min(m_size - position, length); +const DataSegmentVectorEntry* element = getSegmentForPosition(position); +size_t offsetInSegment = position - element->beginPosition; +ASSERT(element->segment->size() > offsetInSegment); +if (element->segment->size() - offsetInSegment >= length) +return SharedBufferDataView { element->segment.copyRef(), offsetInSegment, length }.createSharedBuffer(); +Vector combinedData; +combinedData.reserveInitialCapacity(length); +combinedData.append(element->segment->data() + offsetInSegment, element->segment->size() - offsetInSegment); +for (++element; combinedData.size() < length && element != m_segments.end(); element++) { +auto canCopy = std::min(length - combinedData.size(), element->segment->size()); +combinedData.append(element->segment->data(), canCopy); +} +return SharedBuffer::create(WTFMove(combinedData)); +} + const FragmentedSharedBuffer::DataSegmentVectorEntry* FragmentedSharedBuffer::getSegmentForPosition(size_t position) const { RELEASE_ASSERT(position < m_size); Modified: trunk/Source/WebCore/platform/SharedBuffer.h (290967 => 290968) --- trunk/Source/WebCore/platform/SharedBuffer.h 2022-03-08 01:28:40 UTC (rev 290967) +++ trunk/Source/WebCore/platform/SharedBuffer.h 2022-03-08 01:39:15 UTC (rev 290968) @@ -54,6 +54,7 @@ #if USE(FOUNDATION) OBJC_CLASS NSArray; OBJC_CLASS NSData; +typedef struct OpaqueCMBlockBuffer* CMBlockBufferRef; #endif namespace WTF { @@ -149,6 +150,7 @@ #if USE(FOUNDATION) WEBCORE_EXPORT RetainPtr createNSDataArray() const; WEBCORE_EXPORT static Ref create(NSData*); +WEBCORE_EXPORT RetainPtr createCMBlockBuffer() const; #endif #if USE(CF) WEBCORE_EXPORT static Ref create(CFDataRef); @@ -194,6 +196,7 @@ // begin and end take O(1) time, this takes O(log(N)) time. WEBCORE_EXPORT SharedBufferDataView getSomeData(size_t position) const; +WEBCORE_EXPORT Ref getContiguousData(size_t position, size_t length) const; WEBCORE_EXPORT String toHexString() const; @@ -246,7 +249,7 @@ // Combines all the segments into a Vector and returns that vector after clearing the FragmentedSharedBuffer. WEBCORE_EXPORT Vector takeData(); -const
[webkit-changes] [290967] branches/safari-613-branch/Source/WebKit
Title: [290967] branches/safari-613-branch/Source/WebKit Revision 290967 Author repst...@apple.com Date 2022-03-07 17:28:40 -0800 (Mon, 07 Mar 2022) Log Message Cherry-pick r285688. rdar://problem/85307256 [macOS] Add required methods to IOKit message filter https://bugs.webkit.org/show_bug.cgi?id=233012 Reviewed by Brent Fulgham. Add required methods to IOKit message filter on macOS. * WebProcess/com.apple.WebProcess.sb.in: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285688 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-613-branch/Source/WebKit/ChangeLog branches/safari-613-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in Diff Modified: branches/safari-613-branch/Source/WebKit/ChangeLog (290966 => 290967) --- branches/safari-613-branch/Source/WebKit/ChangeLog 2022-03-08 01:26:23 UTC (rev 290966) +++ branches/safari-613-branch/Source/WebKit/ChangeLog 2022-03-08 01:28:40 UTC (rev 290967) @@ -1,5 +1,33 @@ 2022-03-07 Russell Epstein +Cherry-pick r285688. rdar://problem/85307256 + +[macOS] Add required methods to IOKit message filter +https://bugs.webkit.org/show_bug.cgi?id=233012 + + +Reviewed by Brent Fulgham. + +Add required methods to IOKit message filter on macOS. + +* WebProcess/com.apple.WebProcess.sb.in: + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285688 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2021-11-11 Per Arne + +[macOS] Add required methods to IOKit message filter +https://bugs.webkit.org/show_bug.cgi?id=233012 + + +Reviewed by Brent Fulgham. + +Add required methods to IOKit message filter on macOS. + +* WebProcess/com.apple.WebProcess.sb.in: + +2022-03-07 Russell Epstein + Cherry-pick r290765. rdar://problem/89232969 Throw proper exception on failed removeEntry() calls Modified: branches/safari-613-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (290966 => 290967) --- branches/safari-613-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2022-03-08 01:26:23 UTC (rev 290966) +++ branches/safari-613-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2022-03-08 01:28:40 UTC (rev 290967) @@ -131,7 +131,9 @@ (iokit-method-number 0 47 +#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120300 48 +#endif ) #endif ) @@ -164,7 +166,24 @@ 30 31 40 +#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120300 41 +43 +49 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +268 +269 +513 +#else 42 43 48 @@ -184,7 +203,7 @@ 268 269 512 -513 +#endif ) #endif ) @@ -192,11 +211,16 @@ (if (equal? (param "CPU") "arm64") (allow iokit-external-method (iokit-method-number +#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 120300 +44 +45 +47 +#else 43 44 45 46 -47 +#endif ) ) ) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290965] trunk
Title: [290965] trunk Revision 290965 Author andresg...@apple.com Date 2022-03-07 16:32:44 -0800 (Mon, 07 Mar 2022) Log Message Fix for elements in isolated tree mode. https://bugs.webkit.org/show_bug.cgi?id=237483 rdar://89530022 Reviewed by Chris Fleizach. Source/WebCore: Test: accessibility/dropdown-value.html AXObjectCache was not updating the isolated tree for AXMenuListValueChanged notifications. Added handleMenuListValueChanged() for this purpose. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::performDeferredCacheUpdate): (WebCore::AXObjectCache::handleMenuListValueChanged): (WebCore::AXObjectCache::updateIsolatedTree): * accessibility/AXObjectCache.h: LayoutTests: * accessibility/dropdown-value-expected.txt: Added. * accessibility/dropdown-value.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AXObjectCache.cpp trunk/Source/WebCore/accessibility/AXObjectCache.h Added Paths trunk/LayoutTests/accessibility/dropdown-value-expected.txt trunk/LayoutTests/accessibility/dropdown-value.html Diff Modified: trunk/LayoutTests/ChangeLog (290964 => 290965) --- trunk/LayoutTests/ChangeLog 2022-03-08 00:00:31 UTC (rev 290964) +++ trunk/LayoutTests/ChangeLog 2022-03-08 00:32:44 UTC (rev 290965) @@ -1,3 +1,14 @@ +2022-03-07 Andres Gonzalez + +Fix for elements in isolated tree mode. +https://bugs.webkit.org/show_bug.cgi?id=237483 +rdar://89530022 + +Reviewed by Chris Fleizach. + +* accessibility/dropdown-value-expected.txt: Added. +* accessibility/dropdown-value.html: Added. + 2022-03-07 Mark Lam Remove TestExpectations for imported/w3c/web-platform-tests/IndexedDB/key-generators/reading-autoincrement-indexes-cursors.any.worker.html. Added: trunk/LayoutTests/accessibility/dropdown-value-expected.txt (0 => 290965) --- trunk/LayoutTests/accessibility/dropdown-value-expected.txt (rev 0) +++ trunk/LayoutTests/accessibility/dropdown-value-expected.txt 2022-03-08 00:32:44 UTC (rev 290965) @@ -0,0 +1,7 @@ +select default value: AXValue: dog +PASS axSelect.stringValue === 'AXValue: cat' +PASS axSelect.stringValue === 'AXValue: dog' +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/accessibility/dropdown-value.html (0 => 290965) --- trunk/LayoutTests/accessibility/dropdown-value.html (rev 0) +++ trunk/LayoutTests/accessibility/dropdown-value.html 2022-03-08 00:32:44 UTC (rev 290965) @@ -0,0 +1,33 @@ + + + + + + + + +