[webkit-changes] [290976] trunk/Source

2022-03-07 Thread simon . fraser
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

2022-03-07 Thread emw
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

2022-03-07 Thread repstein
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

2022-03-07 Thread timothy_horton
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

2022-03-07 Thread bfulgham
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

2022-03-07 Thread ddkilzer
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

2022-03-07 Thread pvollan
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

2022-03-07 Thread jya
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

2022-03-07 Thread repstein
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

2022-03-07 Thread andresg_22
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 @@
+
+
+
+
+
+
+
+
+