[webkit-changes] [290290] trunk/Source
Title: [290290] trunk/Source Revision 290290 Author rmoris...@apple.com Date 2022-02-21 22:53:58 -0800 (Mon, 21 Feb 2022) Log Message [JSC] Format the output of --reportTotalPhaseTimes=1 more nicely https://bugs.webkit.org/show_bug.cgi?id=237005 Reviewed by Saam Barati. Source/_javascript_Core: Before this patch: [B3] moveConstants total ms: 64.307583 max ms: 1.703167 [B3] lowerToAir total ms: 151.297782 max ms: 5.426375 [B3] generateToAir total ms: 1623.987166 max ms: 92.826750 [B3] simplifyCFG total ms: 11.760463 max ms: 1.088083 [B3] Air::lowerMacros total ms: 5.975679 max ms: 0.382000 After this patch: total ms: 66.328 max ms: 2.283 [B3] moveConstants total ms: 148.097 max ms: 5.361 [B3] lowerToAir total ms: 1619.115 max ms: 96.307 [Total B3] generateToAir total ms: 11.959 max ms: 1.185 [Air] simplifyCFG total ms:6.519 max ms: 0.697 [Air] Air::lowerMacros Concretely there are two changes: - use FixedWidthDouble (also introduced to WTF in this patch) to line-up the total times. This makes it possible to see at a glance which phases are worth optimizing and which aren't. - Tag phases more precisely, and in particular replace [B3] by [Air] where relevant, and give different tags to measurements that correspond to groups of phases instead of a single phase (e.g. generateToAir). * _javascript_Core.xcodeproj/project.pbxproj: * b3/B3Compile.cpp: (JSC::B3::compile): * b3/B3FixSSA.cpp: * b3/B3Generate.cpp: (JSC::B3::prepareForGeneration): (JSC::B3::generateToAir): * b3/B3PhaseScope.cpp: (JSC::B3::PhaseScope::PhaseScope): * b3/B3PhaseScope.h: * b3/B3TimingScope.h: Removed. (JSC::B3::TimingScope::TimingScope): Deleted. * b3/B3VariableLiveness.cpp: (JSC::B3::VariableLiveness::VariableLiveness): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackByLinearScan.cpp: * b3/air/AirGenerate.cpp: (JSC::B3::Air::prepareForGeneration): (JSC::B3::Air::generateWithAlreadyAllocatedRegisters): * b3/air/AirLiveness.h: (JSC::B3::Air::Liveness::Liveness): * b3/air/AirPhaseScope.cpp: (JSC::B3::Air::PhaseScope::PhaseScope): * b3/air/AirPhaseScope.h: * tools/CompilerTimingScope.cpp: Source/WTF: Add FixedWidthDouble, which allows easily printing a double with some whitespace to pad it out if it is smaller than expected. Its design roughly follows RawPointer which similarly allows special formatting of a kind of number. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/FixedWidthDouble.h: Added. (WTF::FixedWidthDouble::FixedWidthDouble): (WTF::FixedWidthDouble::value const): (WTF::FixedWidthDouble::width const): (WTF::FixedWidthDouble::precision const): * wtf/PrintStream.cpp: (WTF::printInternal): * wtf/PrintStream.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/b3/B3Compile.cpp trunk/Source/_javascript_Core/b3/B3FixSSA.cpp trunk/Source/_javascript_Core/b3/B3Generate.cpp trunk/Source/_javascript_Core/b3/B3PhaseScope.cpp trunk/Source/_javascript_Core/b3/B3PhaseScope.h trunk/Source/_javascript_Core/b3/B3VariableLiveness.cpp trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersAndStackByLinearScan.cpp trunk/Source/_javascript_Core/b3/air/AirGenerate.cpp trunk/Source/_javascript_Core/b3/air/AirLiveness.h trunk/Source/_javascript_Core/b3/air/AirPhaseScope.cpp trunk/Source/_javascript_Core/b3/air/AirPhaseScope.h trunk/Source/_javascript_Core/tools/CompilerTimingScope.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/WTF.xcodeproj/project.pbxproj trunk/Source/WTF/wtf/CMakeLists.txt trunk/Source/WTF/wtf/PrintStream.cpp trunk/Source/WTF/wtf/PrintStream.h Added Paths trunk/Source/WTF/wtf/FixedWidthDouble.h Removed Paths trunk/Source/_javascript_Core/b3/B3TimingScope.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (290289 => 290290) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-22 06:43:37 UTC (rev 290289) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-22 06:53:58 UTC (rev 290290) @@ -1,3 +1,57 @@ +2022-02-21 Robin Morisset + +[JSC] Format the output of --reportTotalPhaseTimes=1 more nicely +https://bugs.webkit.org/show_bug.cgi?id=237005 + +Reviewed by Saam Barati. + +Before this patch: +[B3] moveConstants total ms: 64.307583 max ms: 1.703167 +[B3] lowerToAir total ms: 151.297782 max ms: 5.426375 +[B3] generateToAir total ms: 1623.987166 max ms: 92.826750 +[B3] simplifyCFG total ms: 11.760463 max ms: 1.088083 +[B3] Air::lowerMacros total ms: 5.975679 max ms: 0.382000 + +After this patch: +total ms: 66.328 max ms: 2.283 [B3] moveConstants +total ms: 148.097 max ms: 5.361 [B3] lowerToAir +total ms: 1619.115 max ms: 96.307 [Total B3] generateToAir +
[webkit-changes] [290289] trunk/Tools
Title: [290289] trunk/Tools Revision 290289 Author commit-qu...@webkit.org Date 2022-02-21 22:43:37 -0800 (Mon, 21 Feb 2022) Log Message Use ArgumentParser for parsing args in generate-compile-commands https://bugs.webkit.org/show_bug.cgi?id=236995 Patch by Brandon Stewart on 2022-02-21 Reviewed by Alexey Proskuryakov. Use argument parser instead of sys.argv[1] for getting build dir. * Scripts/generate-compile-commands: Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/generate-compile-commands Diff Modified: trunk/Tools/ChangeLog (290288 => 290289) --- trunk/Tools/ChangeLog 2022-02-22 04:57:51 UTC (rev 290288) +++ trunk/Tools/ChangeLog 2022-02-22 06:43:37 UTC (rev 290289) @@ -1,3 +1,14 @@ +2022-02-21 Brandon Stewart + +Use ArgumentParser for parsing args in generate-compile-commands +https://bugs.webkit.org/show_bug.cgi?id=236995 + +Reviewed by Alexey Proskuryakov. + +Use argument parser instead of sys.argv[1] for getting build dir. + +* Scripts/generate-compile-commands: + 2022-02-21 Wenson Hsieh [iOS] Adjust some behaviors around the "Markup Image" action in the callout bar Modified: trunk/Tools/Scripts/generate-compile-commands (290288 => 290289) --- trunk/Tools/Scripts/generate-compile-commands 2022-02-22 04:57:51 UTC (rev 290288) +++ trunk/Tools/Scripts/generate-compile-commands 2022-02-22 06:43:37 UTC (rev 290289) @@ -33,7 +33,20 @@ import sys import glob import json +import argparse +# Get command line args +parser = argparse.ArgumentParser(description='Generate compile_commands.json', +usage=""" + make r EXPORT_COMPILE_COMMANDS=YES + generate-compile-commands WebKitBuild/Release + + https://trac.webkit.org/wiki/Clangd + """) + +parser.add_argument('built_products_dir', help='path to the build directory containing generated compile commands (ex: WebKitBuild/Release)') +opts = parser.parse_args() + # Change to the root of WebKit Directory file_dir = os.path.dirname(os.path.realpath(__file__)) base_dir = file_dir + "/../../" @@ -40,7 +53,7 @@ os.chdir(base_dir) # Check compile_commands folder exists -compile_commands_dir = sys.argv[1] + "/compile_commands/" +compile_commands_dir = opts.built_products_dir + "/compile_commands/" if not os.path.exists(compile_commands_dir): print("Please specify the build directory with compile_commands.") ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290288] trunk/Source/WebKit
Title: [290288] trunk/Source/WebKit Revision 290288 Author achristen...@apple.com Date 2022-02-21 20:57:51 -0800 (Mon, 21 Feb 2022) Log Message Allow adattributiond to start on iOS devices https://bugs.webkit.org/show_bug.cgi?id=237009 Reviewed by Per Arne Vollan. There were three more problems preventing it from starting: 1. The code signature said to look for a sandbox profile with "webkit" in the name, but the profile had "WebKit" in the name. These names are case sensitive. 2. The sandbox profile would not let it load the WebKit framework, so dyld would fail and the process would fail to launch. I added the framework directories that the XPC services are allowed to access. 3. Once it started, it would crash inside WTF::initializeMainThread when calling WTF::pageSize which requires access to the hw.pagesize_compat syscall. As a starting point, I'm going to allow all the syscalls that the network process currently has access to, which is enough to get it to respond without crashing. 4. We need access to com.apple.diagnosticd and com.apple.analyticsd in order to be able to generate crash reports. This is quite useful. Yes, I know I said there were only three problems, but the 4th is so useful I thought I'd put it in the list. * Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: * Scripts/process-entitlements.sh: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb trunk/Source/WebKit/Scripts/process-entitlements.sh Diff Modified: trunk/Source/WebKit/ChangeLog (290287 => 290288) --- trunk/Source/WebKit/ChangeLog 2022-02-22 04:57:01 UTC (rev 290287) +++ trunk/Source/WebKit/ChangeLog 2022-02-22 04:57:51 UTC (rev 290288) @@ -1,5 +1,27 @@ 2022-02-21 Alex Christensen +Allow adattributiond to start on iOS devices +https://bugs.webkit.org/show_bug.cgi?id=237009 + + +Reviewed by Per Arne Vollan. + +There were three more problems preventing it from starting: +1. The code signature said to look for a sandbox profile with "webkit" in the name, but the profile had "WebKit" in the name. + These names are case sensitive. +2. The sandbox profile would not let it load the WebKit framework, so dyld would fail and the process would fail to launch. + I added the framework directories that the XPC services are allowed to access. +3. Once it started, it would crash inside WTF::initializeMainThread when calling WTF::pageSize which requires access to the hw.pagesize_compat syscall. + As a starting point, I'm going to allow all the syscalls that the network process currently has access to, + which is enough to get it to respond without crashing. +4. We need access to com.apple.diagnosticd and com.apple.analyticsd in order to be able to generate crash reports. This is quite useful. +Yes, I know I said there were only three problems, but the 4th is so useful I thought I'd put it in the list. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb: +* Scripts/process-entitlements.sh: + +2022-02-21 Alex Christensen + Improve const correctness for SecurityOrigin accessors https://bugs.webkit.org/show_bug.cgi?id=236983 Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb (290287 => 290288) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb 2022-02-22 04:57:01 UTC (rev 290287) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb 2022-02-22 04:57:51 UTC (rev 290288) @@ -73,6 +73,37 @@ (allow file-read* file-write* (subpath "/var/mobile/Library/com.apple.webkit.addattributiond")) +(allow file-read* file-map-executable +(subpath "/System/Library/Frameworks") +(subpath "/System/Library/PrivateFrameworks")) + +(with-filter (system-attribute apple-internal) +(allow mach-lookup +(global-name "com.apple.analyticsd") +(global-name "com.apple.diagnosticd"))) + +(deny sysctl* (with telemetry)) +(allow sysctl-read +(sysctl-name +"hw.activecpu" +"hw.machine" +"hw.memsize" +"hw.ncpu" +"hw.pagesize_compat" +"kern.bootargs" +"kern.hostname" +"kern.maxfilesperproc" +"kern.osproductversion" +"kern.osrelease" +"kern.ostype" +"kern.osvariant_status" +"kern.osversion" +"kern.secure_kernel" +"kern.version" +"vm.footprint_suspend") +(sysctl-name-prefix "kern.proc.pid.") +) + (allow-read-write-directory-contents (param "DARWIN_USER_CACHE_DIR")) (allow-read-write-directory-contents (param "DARWIN_USER_TEMP_DIR")) Modified: trunk/Source/WebKit/Scripts/process-entitlements.sh (290287 => 290288) --- trunk/Source/WebKit/Scripts/process-entitlements.sh 2022-02-22 04:57:01
[webkit-changes] [290287] trunk/Source
Title: [290287] trunk/Source Revision 290287 Author achristen...@apple.com Date 2022-02-21 20:57:01 -0800 (Mon, 21 Feb 2022) Log Message Improve const correctness for SecurityOrigin accessors https://bugs.webkit.org/show_bug.cgi?id=236983 Reviewed by Chris Dumez. Source/WebCore: * loader/SubresourceLoader.h: * loader/cache/CachedResource.h: (WebCore::CachedResource::origin const): (WebCore::CachedResource::origin): * loader/cache/CachedResourceRequest.h: (WebCore::CachedResourceRequest::origin const): (WebCore::CachedResourceRequest::origin): Source/WebKit: * UIProcess/Notifications/WebNotification.h: (WebKit::WebNotification::origin const): (WebKit::WebNotification::origin): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/SubresourceLoader.h trunk/Source/WebCore/loader/cache/CachedResource.h trunk/Source/WebCore/loader/cache/CachedResourceRequest.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h Diff Modified: trunk/Source/WebCore/ChangeLog (290286 => 290287) --- trunk/Source/WebCore/ChangeLog 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebCore/ChangeLog 2022-02-22 04:57:01 UTC (rev 290287) @@ -1,3 +1,18 @@ +2022-02-21 Alex Christensen + +Improve const correctness for SecurityOrigin accessors +https://bugs.webkit.org/show_bug.cgi?id=236983 + +Reviewed by Chris Dumez. + +* loader/SubresourceLoader.h: +* loader/cache/CachedResource.h: +(WebCore::CachedResource::origin const): +(WebCore::CachedResource::origin): +* loader/cache/CachedResourceRequest.h: +(WebCore::CachedResourceRequest::origin const): +(WebCore::CachedResourceRequest::origin): + 2022-02-21 Brandon Stewart Ensure layer has backing during traversal Modified: trunk/Source/WebCore/loader/SubresourceLoader.h (290286 => 290287) --- trunk/Source/WebCore/loader/SubresourceLoader.h 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebCore/loader/SubresourceLoader.h 2022-02-22 04:57:01 UTC (rev 290287) @@ -52,7 +52,8 @@ CachedResource* cachedResource() const override { return m_resource; }; WEBCORE_EXPORT const HTTPHeaderMap* originalHeaders() const; -SecurityOrigin* origin() const { return m_origin.get(); } +const SecurityOrigin* origin() const { return m_origin.get(); } +SecurityOrigin* origin() { return m_origin.get(); } #if PLATFORM(IOS_FAMILY) void startLoading() override; Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (290286 => 290287) --- trunk/Source/WebCore/loader/cache/CachedResource.h 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebCore/loader/cache/CachedResource.h 2022-02-22 04:57:01 UTC (rev 290287) @@ -229,7 +229,8 @@ void loadFrom(const CachedResource&); -SecurityOrigin* origin() const { return m_origin.get(); } +const SecurityOrigin* origin() const { return m_origin.get(); } +SecurityOrigin* origin() { return m_origin.get(); } AtomString initiatorName() const { return m_initiatorName; } bool canDelete() const { return !hasClients() && !m_loader && !m_preloadCount && !m_handleCount && !m_resourceToRevalidate && !m_proxyResource; } Modified: trunk/Source/WebCore/loader/cache/CachedResourceRequest.h (290286 => 290287) --- trunk/Source/WebCore/loader/cache/CachedResourceRequest.h 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebCore/loader/cache/CachedResourceRequest.h 2022-02-22 04:57:01 UTC (rev 290287) @@ -97,7 +97,8 @@ void setOrigin(Ref&& origin) { m_origin = WTFMove(origin); } RefPtr releaseOrigin() { return WTFMove(m_origin); } -SecurityOrigin* origin() const { return m_origin.get(); } +const SecurityOrigin* origin() const { return m_origin.get(); } +SecurityOrigin* origin() { return m_origin.get(); } String&& releaseFragmentIdentifier() { return WTFMove(m_fragmentIdentifier); } void clearFragmentIdentifier() { m_fragmentIdentifier = { }; } Modified: trunk/Source/WebKit/ChangeLog (290286 => 290287) --- trunk/Source/WebKit/ChangeLog 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebKit/ChangeLog 2022-02-22 04:57:01 UTC (rev 290287) @@ -1,3 +1,14 @@ +2022-02-21 Alex Christensen + +Improve const correctness for SecurityOrigin accessors +https://bugs.webkit.org/show_bug.cgi?id=236983 + +Reviewed by Chris Dumez. + +* UIProcess/Notifications/WebNotification.h: +(WebKit::WebNotification::origin const): +(WebKit::WebNotification::origin): + 2022-02-21 Wenson Hsieh [iOS] Adjust some behaviors around the "Markup Image" action in the callout bar Modified: trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h (290286 => 290287) --- trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h 2022-02-22 04:03:59 UTC (rev 290286) +++ trunk/Source/WebKit/UIProcess/Notifications/WebNotification.h 2022-02-22 04:57:01 UTC
[webkit-changes] [290286] trunk
Title: [290286] trunk Revision 290286 Author wenson_hs...@apple.com Date 2022-02-21 20:03:59 -0800 (Mon, 21 Feb 2022) Log Message [iOS] Adjust some behaviors around the "Markup Image" action in the callout bar https://bugs.webkit.org/show_bug.cgi?id=236980 Reviewed by Aditya Keerthi. Source/WebKit: Adjust the following behaviors around the "Markup Image" callout bar item on iOS: 1. The item should be present as long as the selection range contains a single image item (not only if the selection range exactly encompasses a single image element. 2. The item should appear in the callout bar before other WebKit-client-provided menu controller items. This patch also adds a new API test to exercise these behaviors and, in doing so, also refactors logic around determining whether or not to show this item so that it's dependent on a WebKit internal feature instead of just the system feature flag (with the default value of the internal feature being equal to whether or not the system feature is enabled). This means we can run tests for these features without requiring the system feature flag to be enabled. See below for more details. Test: ImageAnalysisTests.MenuControllerItems * Platform/cocoa/TextRecognitionUtilities.mm: (WebKit::makeTextRecognitionResult): Drive-by fix for some API tests: only attempt to send the platform image analysis result over IPC if it is a `VKCImageAnalysis`. In some API tests, we use mock objects here instead, which currently causes the IPC message send to fail due to encoding failure. * Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm: (WebKit::defaultImageAnalysisMarkupEnabled): * Shared/WebPreferencesDefaultValues.h: Make the new internal feature flag default to the system feature flag. * UIProcess/ios/WKActionSheetAssistant.h: * UIProcess/ios/WKActionSheetAssistant.mm: (-[WKActionSheetAssistant defaultActionsForLinkSheet:]): (-[WKActionSheetAssistant defaultActionsForImageSheet:]): Consult a new delegate method (`-actionSheetAssistantShouldIncludeCopyCroppedImageAction:`) instead of checking the system feature flag directly. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView updateImageAnalysisMarkupMenuItems:]): Append the "Markup Image" item at the start of the list of additional menu items. (-[WKContentView canPerformImageAnalysisMarkup]): Check the internal feature instead of the system feature flag. (-[WKContentView performImageAnalysisMarkup:]): Now that this action can be triggered even when the current selection doens't encompass only a single image, we need to use `replaceWithPasteboardData()` instead, passing in the element context of the image element we want to replace. (-[WKContentView actionSheetAssistantShouldIncludeCopyCroppedImageAction:]): Only attempt to show the new items if the internal feature is enabled. Consulted by `WKActionSheetAssistant` above. * UIProcess/mac/WebContextMenuProxyMac.mm: (WebKit::WebContextMenuProxyMac::setupServicesMenu): Check the internal feature instead of the system feature flag. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getPlatformEditorState const): Make a minor adjustment here to bail early only if we find multiple image elements in the selected range, rather than bailing if we find anything that's not an image element. Source/WTF: Add a WebKit internal feature flag to control whether or not the "Markup Image" and related "Copy Cropped Image" menu items should be enabled on iOS and macOS. This enables us to test these features in API and layout tests without requiring the corresponding system feature flag to be enabled. * Scripts/Preferences/WebPreferencesInternal.yaml: Tools: Add an API test to verify that "Markup Image" appears as the first non-default callout bar item when a single image element is in the selection range. The test is comprised of three parts: 1. Select just a single image, and expect the "Markup Image" item. 2. Select all images in the document, and expect no "Markup Image" item. 3. Select a single image and some surrounding text, and expect the "Markup Image" item. See WebKit/ChangeLog for more details. * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::createWebViewWithTextRecognitionEnhancements): (TestWebKitAPI::swizzledSetMenuItems): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/multiple-images.html: Add some text before and after each image so that we can select a single image alongside some text, and exercise the changes in `WebPage::getPlatformEditorState` (see WebKit changes for more information). Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/cocoa/TextRecognitionUtilities.mm trunk/Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h trunk/Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h
[webkit-changes] [290285] trunk/Source/WebCore
Title: [290285] trunk/Source/WebCore Revision 290285 Author commit-qu...@webkit.org Date 2022-02-21 19:57:42 -0800 (Mon, 21 Feb 2022) Log Message Ensure layer has backing during traversal https://bugs.webkit.org/show_bug.cgi?id=236858 Patch by Brandon Stewart on 2022-02-21 Reviewed by Simon Fraser. Ensure the layer has a backing attached to it before trying to append the node id. * rendering/RenderLayerCompositor.cpp: (WebCore::collectStationaryLayerRelatedOverflowNodes): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (290284 => 290285) --- trunk/Source/WebCore/ChangeLog 2022-02-22 03:36:52 UTC (rev 290284) +++ trunk/Source/WebCore/ChangeLog 2022-02-22 03:57:42 UTC (rev 290285) @@ -1,3 +1,16 @@ +2022-02-21 Brandon Stewart + +Ensure layer has backing during traversal +https://bugs.webkit.org/show_bug.cgi?id=236858 + +Reviewed by Simon Fraser. + +Ensure the layer has a backing attached to it before trying to append +the node id. + +* rendering/RenderLayerCompositor.cpp: +(WebCore::collectStationaryLayerRelatedOverflowNodes): + 2022-02-21 Cameron McCormack Make input element UA shadow tree creation lazy Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (290284 => 290285) --- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2022-02-22 03:36:52 UTC (rev 290284) +++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2022-02-22 03:57:42 UTC (rev 290285) @@ -3442,7 +3442,7 @@ static void collectStationaryLayerRelatedOverflowNodes(const RenderLayer& layer, const RenderLayer&, Vector& scrollingNodes) { ASSERT(layer.isComposited()); - + auto appendOverflowLayerNodeID = [] (const RenderLayer& overflowLayer) { ASSERT(overflowLayer.isComposited()); auto scrollingNodeID = overflowLayer.backing()->scrollingNodeIDForRole(ScrollCoordinationRole::Scrolling); @@ -3459,6 +3459,9 @@ if (isContainingBlockChain && isPaintOrderAncestor) return AncestorTraversal::Stop; +if (!ancestorLayer.isComposited()) +return AncestorTraversal::Stop; + if (seenPaintOrderAncestor && !isContainingBlockChain && ancestorLayer.hasCompositedScrollableOverflow()) appendOverflowLayerNodeID(ancestorLayer); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290284] trunk
Title: [290284] trunk Revision 290284 Author hey...@apple.com Date 2022-02-21 19:36:52 -0800 (Mon, 21 Feb 2022) Log Message Make input element UA shadow tree creation lazy https://bugs.webkit.org/show_bug.cgi?id=236747 Reviewed by Aditya Keerthi. Source/WebCore: We currently delay InputType creation for parser inserted elements until just after the attributes have been set, so that we don't wastefully create an InputType and the UA shadow tree creation if a non-text type="" was specified on the tag. We don't do anything similar for script inserted input elements. We could make the InputType creation lazy, but most of the wasted time is due to the shadow tree creation. This patch makes InputType shadow tree creation lazy by delaying it until one of the following happens: 1. the element is inserted into the document 2. the type="" or value="" attributes are changed before the element is inserted into the document 3. any DOM methods that need access to the innerTextElement() are called on the element before the element is inserted into the document Not all places where we call innerTextElement() on the HTMLInputElement are safe to lazily create the shadow trees, so we have two accessors: - innerTextElement() returns the inner text element if it's been created already - innerTextElementCreatingShadowSubtreeIfNeeded will perform the lazy shadow tree construction if it hasn't already been done Since the existing createShadowSubtreeAndUpdateInnerTextElementEditability function has more responsibility than just creating the subtree and ensuring the editability is set appropriately, it's renamed to a more manageable createShadowSubtree. This change is a 0.5% progression on Speedometer 2. Test: fast/forms/lazy-shadow-tree-creation.html * html/BaseDateAndTimeInputType.h: * html/BaseDateAndTimeInputType.cpp: (WebCore::BaseDateAndTimeInputType::createShadowSubtree): (WebCore::BaseDateAndTimeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): * html/ColorInputType.h: * html/ColorInputType.cpp: (WebCore::ColorInputType::createShadowSubtree): (WebCore::ColorInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): * html/FileInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::createShadowSubtree): (WebCore::FileInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): * html/InputType.cpp: (WebCore::InputType::createShadowSubtree): (WebCore::InputType::createShadowSubtreeAndUpdateInnerTextElementEditability): * html/RangeInputType.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::createShadowSubtree): (WebCore::RangeInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): * html/SearchInputType.h: * html/SearchInputType.cpp: (WebCore::SearchInputType::createShadowSubtree): (WebCore::SearchInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): Renamed createShadowSubtreeAndUpdateInnerTextElementEditability to createShadowSubtree and remove the "isInnerTextElementEditable" argument, since we can ask the element() for its value if needed. createShadowSubtree is now also responsible for creating the shadow root. * html/TextFieldInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::createShadowSubtree): (WebCore::TextFieldInputType::createShadowSubtreeAndUpdateInnerTextElementEditability): Renamed. Ensure all shadow tree state is up to date now that it can be created later. * html/InputType.h: * html/InputType.cpp: (WebCore::InputType::createShadowSubtree): (WebCore::InputType::hasCreatedShadowSubtree const): New functions to create the shadow subtree if it hasn't been done already, and to query whether it's been done. * html/HTMLInputElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::innerTextElementCreatingShadowSubtreeIfNeeded): * html/HTMLTextAreaElement.h: * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::innerTextElementCreatingShadowSubtreeIfNeeded): * html/HTMLTextFormControlElement.h: * html/InputType.h: * html/InputType.cpp: (WebCore::InputType::innerTextElementCreatingShadowSubtreeIfNeeded): New functions to first create the shadow subtree before returning innerTextElement(). HTMLTextAreaElement never lazily creates its shadow subtree and so just returns innerTextElement(). * html/HTMLInputElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::createShadowSubtreeAndUpdateInnerTextElementEditability): Deleted. Just call through to m_inputType->createShadowTree() directly. (WebCore::HTMLInputElement::HTMLInputElement): (WebCore::HTMLInputElement::create): (WebCore::HTMLInputElement::initializeInputType): (WebCore::HTMLInputElement::updateType): Don't immediately create the shadow tree. (WebCore::HTMLInputElement::didFinishInsertingNode): Create the shadow subtree now that the element's been inserted. No need to call dataListMayHaveChanged since TextFieldInputType::createShadowSubtree will now do this. *
[webkit-changes] [290283] trunk
Title: [290283] trunk Revision 290283 Author ysuz...@apple.com Date 2022-02-21 18:16:28 -0800 (Mon, 21 Feb 2022) Log Message [JSC] Fix ShadowRealm unwinding https://bugs.webkit.org/show_bug.cgi?id=237001 Reviewed by Saam Barati. JSTests: * test262/expectations.yaml: Source/_javascript_Core: This patch fixes a crash bug found by test262. Regardless of it is RemoteFunction, we should handle it as the same way to the other normal host functions except for setting m_seenRemoteFunction = true flag. Previously, we are early returning, this is wrong since we should stop unwinding if the caller is entry frame. * interpreter/Interpreter.cpp: (JSC::UnwindFunctor::operator() const): Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/test262/expectations.yaml trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/interpreter/Interpreter.cpp Diff Modified: trunk/JSTests/ChangeLog (290282 => 290283) --- trunk/JSTests/ChangeLog 2022-02-22 02:12:13 UTC (rev 290282) +++ trunk/JSTests/ChangeLog 2022-02-22 02:16:28 UTC (rev 290283) @@ -1,5 +1,14 @@ 2022-02-21 Yusuke Suzuki +[JSC] Fix ShadowRealm unwinding +https://bugs.webkit.org/show_bug.cgi?id=237001 + +Reviewed by Saam Barati. + +* test262/expectations.yaml: + +2022-02-21 Yusuke Suzuki + [JSC] Temporal.PlainDate should validate input range https://bugs.webkit.org/show_bug.cgi?id=236936 Modified: trunk/JSTests/test262/expectations.yaml (290282 => 290283) --- trunk/JSTests/test262/expectations.yaml 2022-02-22 02:12:13 UTC (rev 290282) +++ trunk/JSTests/test262/expectations.yaml 2022-02-22 02:16:28 UTC (rev 290283) @@ -828,8 +828,6 @@ test/built-ins/ShadowRealm/WrappedFunction/name-throws-typeerror.js: default: 'Test262Error: expect a TypeError on name getter throwing Expected a TypeError but got a Error' strict mode: 'Test262Error: expect a TypeError on name getter throwing Expected a TypeError but got a Error' -test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proxied-observes-boundary.js: - strict mode: 'Bad exit code: 11' test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-from-caller-realm.js: default: 'Test262Error: throws TypeError if arguments are not wrappable Expected a TypeError but got a different error constructor with the same name' strict mode: 'Test262Error: throws TypeError if arguments are not wrappable Expected a TypeError but got a different error constructor with the same name' Modified: trunk/Source/_javascript_Core/ChangeLog (290282 => 290283) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-22 02:12:13 UTC (rev 290282) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-22 02:16:28 UTC (rev 290283) @@ -1,5 +1,20 @@ 2022-02-21 Yusuke Suzuki +[JSC] Fix ShadowRealm unwinding +https://bugs.webkit.org/show_bug.cgi?id=237001 + +Reviewed by Saam Barati. + +This patch fixes a crash bug found by test262. Regardless of it is RemoteFunction, +we should handle it as the same way to the other normal host functions except +for setting m_seenRemoteFunction = true flag. Previously, we are early returning, +this is wrong since we should stop unwinding if the caller is entry frame. + +* interpreter/Interpreter.cpp: +(JSC::UnwindFunctor::operator() const): + +2022-02-21 Yusuke Suzuki + [JSC] Temporal.PlainDate should validate input range https://bugs.webkit.org/show_bug.cgi?id=236936 Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (290282 => 290283) --- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-22 02:12:13 UTC (rev 290282) +++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2022-02-22 02:16:28 UTC (rev 290283) @@ -611,11 +611,10 @@ } #endif -if (!m_callFrame->isWasmFrame() && JSC::isRemoteFunction(m_vm, m_callFrame->jsCallee()) && !m_isTermination) { +if (!m_callFrame->isWasmFrame() && JSC::isRemoteFunction(m_vm, m_callFrame->jsCallee()) && !m_isTermination) { // Continue searching for a handler, but mark that a marshalling function was on the stack so that we can // translate the exception before jumping to the handler. const_cast(this)->m_seenRemoteFunction = true; -return StackVisitor::Continue; } notifyDebuggerOfUnwinding(m_vm, m_callFrame); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290282] trunk
Title: [290282] trunk Revision 290282 Author ysuz...@apple.com Date 2022-02-21 18:12:13 -0800 (Mon, 21 Feb 2022) Log Message [JSC] Temporal.PlainDate should validate input range https://bugs.webkit.org/show_bug.cgi?id=236936 Reviewed by Darin Adler. JSTests: * stress/temporal-plaindate.js: (shouldThrow): Source/_javascript_Core: Implement https://tc39.es/proposal-temporal/#sec-temporal-isodatetimewithinlimits check in PlainDate to validate input range. For example, 0x7fff year should be rejected since it is larger than ECMAScript datetime representation value. This is checked via ISODateTimeWithinLimits in the spec. We also remove isValid assertions in ExactTime. This should not be checked in these accessors, rather, we should call that function when we would like to check, since PlainDate can represent a bit smaller value than ExactTime's minValue (minValue - nsPerDay). We also extend ExactTime::fromISOPartsAndOffset to handle values via Int128 to accept int32_t range years. By using Int128 for nanoseconds, we can even represent int32_t max / min years. And we remove `ASSERT(y >= -99 && y <= 99)` check since this is not necessary. * runtime/ISO8601.cpp: (JSC::ISO8601::ExactTime::fromISOPartsAndOffset): (JSC::ISO8601::isDateTimeWithinLimits): * runtime/ISO8601.h: (JSC::ISO8601::ExactTime::ExactTime): Deleted. (JSC::ISO8601::ExactTime::fromEpochSeconds): Deleted. (JSC::ISO8601::ExactTime::fromEpochMilliseconds): Deleted. (JSC::ISO8601::ExactTime::fromEpochMicroseconds): Deleted. (JSC::ISO8601::ExactTime::epochSeconds const): Deleted. (JSC::ISO8601::ExactTime::epochMilliseconds const): Deleted. (JSC::ISO8601::ExactTime::epochMicroseconds const): Deleted. (JSC::ISO8601::ExactTime::epochNanoseconds const): Deleted. (JSC::ISO8601::ExactTime::nanosecondsFraction const): Deleted. (JSC::ISO8601::ExactTime::asString const): Deleted. (JSC::ISO8601::ExactTime::isValid const): Deleted. (JSC::ISO8601::ExactTime::operator< const): Deleted. (JSC::ISO8601::ExactTime::operator<= const): Deleted. (JSC::ISO8601::ExactTime::operator== const): Deleted. (JSC::ISO8601::ExactTime::operator!= const): Deleted. (JSC::ISO8601::ExactTime::operator>= const): Deleted. (JSC::ISO8601::ExactTime::operator> const): Deleted. * runtime/TemporalPlainDate.cpp: (JSC::toPlainDate): Source/WTF: Add code to allow dataLog(Int128). * wtf/Int128.cpp: (WTF::printInternal): * wtf/Int128.h: Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/temporal-plaindate.js trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ISO8601.cpp trunk/Source/_javascript_Core/runtime/ISO8601.h trunk/Source/_javascript_Core/runtime/TemporalPlainDate.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Int128.cpp trunk/Source/WTF/wtf/Int128.h Diff Modified: trunk/JSTests/ChangeLog (290281 => 290282) --- trunk/JSTests/ChangeLog 2022-02-22 02:01:09 UTC (rev 290281) +++ trunk/JSTests/ChangeLog 2022-02-22 02:12:13 UTC (rev 290282) @@ -1,5 +1,15 @@ 2022-02-21 Yusuke Suzuki +[JSC] Temporal.PlainDate should validate input range +https://bugs.webkit.org/show_bug.cgi?id=236936 + +Reviewed by Darin Adler. + +* stress/temporal-plaindate.js: +(shouldThrow): + +2022-02-21 Yusuke Suzuki + [JSC] ShadowRealm wrapArgument should check exceptions https://bugs.webkit.org/show_bug.cgi?id=236984 Modified: trunk/JSTests/stress/temporal-plaindate.js (290281 => 290282) --- trunk/JSTests/stress/temporal-plaindate.js 2022-02-22 02:01:09 UTC (rev 290281) +++ trunk/JSTests/stress/temporal-plaindate.js 2022-02-22 02:12:13 UTC (rev 290282) @@ -110,6 +110,14 @@ shouldThrow(() => { new Temporal.PlainDate(2007, -Infinity, 1); }, RangeError); shouldThrow(() => { new Temporal.PlainDate(2007, 1, Infinity); }, RangeError); shouldThrow(() => { new Temporal.PlainDate(2007, 1, -Infinity); }, RangeError); +shouldThrow(() => { new Temporal.PlainDate(0x43530, 9, 14); }, RangeError); +shouldBe(String(new Temporal.PlainDate(0x43530, 9, 13)), `275760-09-13`); +shouldThrow(() => { new Temporal.PlainDate(-0x425cd, 4, 19); }, RangeError); +shouldBe(String(new Temporal.PlainDate(-0x425cd, 4, 20)), `-271821-04-20`); +shouldThrow(() => { new Temporal.PlainDate(0x8000, 1, 1); }, RangeError); +shouldThrow(() => { new Temporal.PlainDate(-0x8000, 1, 1); }, RangeError); +shouldThrow(() => { new Temporal.PlainDate(0x7fff, 1, 1); }, RangeError); +shouldThrow(() => { new Temporal.PlainDate(-0x7fff, 1, 1); }, RangeError); let failures = [ "", Modified: trunk/Source/_javascript_Core/ChangeLog (290281 => 290282) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-22 02:01:09 UTC (rev 290281) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-22 02:12:13 UTC (rev 290282) @@ -1 +1,45 @@ +2022-02-21 Yusuke Suzuki + +[JSC] Temporal.PlainDate should validate input range +https://bugs.webkit.org/show_bug.cgi?id=236936 + +Reviewed by Darin
[webkit-changes] [290281] trunk/LayoutTests
Title: [290281] trunk/LayoutTests Revision 290281 Author jon...@apple.com Date 2022-02-21 18:01:09 -0800 (Mon, 21 Feb 2022) Log Message Unreviewed gardening for the GPU Process bots. * css3/color-filters/color-filter-text-decoration-shadow.html: * fast/gradients/conic-gradient-alpha-unpremultiplied.html: * fast/gradients/conic-gradient-alpha.html: * fast/gradients/linear-two-hints-angle.html: * fast/scrolling/overflow-inside-foreignobject.html: * gpu-process/TestExpectations: * imported/blink/svg/custom/crisp-edges-leak.svg: * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/css3/color-filters/color-filter-text-decoration-shadow.html trunk/LayoutTests/fast/gradients/conic-gradient-alpha-unpremultiplied.html trunk/LayoutTests/fast/gradients/conic-gradient-alpha.html trunk/LayoutTests/fast/gradients/linear-two-hints-angle.html trunk/LayoutTests/fast/scrolling/overflow-inside-foreignobject.html trunk/LayoutTests/gpu-process/TestExpectations trunk/LayoutTests/imported/blink/svg/custom/crisp-edges-leak.svg trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (290280 => 290281) --- trunk/LayoutTests/ChangeLog 2022-02-22 01:48:11 UTC (rev 290280) +++ trunk/LayoutTests/ChangeLog 2022-02-22 02:01:09 UTC (rev 290281) @@ -1,5 +1,17 @@ 2022-02-21 Jon Lee +Unreviewed gardening for the GPU Process bots. +* css3/color-filters/color-filter-text-decoration-shadow.html: +* fast/gradients/conic-gradient-alpha-unpremultiplied.html: +* fast/gradients/conic-gradient-alpha.html: +* fast/gradients/linear-two-hints-angle.html: +* fast/scrolling/overflow-inside-foreignobject.html: +* gpu-process/TestExpectations: +* imported/blink/svg/custom/crisp-edges-leak.svg: +* platform/ios/TestExpectations: + +2022-02-21 Jon Lee + Add test name to the image diff template https://bugs.webkit.org/show_bug.cgi?id=237003 Modified: trunk/LayoutTests/css3/color-filters/color-filter-text-decoration-shadow.html (290280 => 290281) --- trunk/LayoutTests/css3/color-filters/color-filter-text-decoration-shadow.html 2022-02-22 01:48:11 UTC (rev 290280) +++ trunk/LayoutTests/css3/color-filters/color-filter-text-decoration-shadow.html 2022-02-22 02:01:09 UTC (rev 290281) @@ -6,7 +6,7 @@ - +
[webkit-changes] [290280] trunk
Title: [290280] trunk Revision 290280 Author jon...@apple.com Date 2022-02-21 17:48:11 -0800 (Mon, 21 Feb 2022) Log Message Add test name to the image diff template https://bugs.webkit.org/show_bug.cgi?id=237003 Reviewed by Sam Weinig. Tools: * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.write_image_diff_files): LayoutTests: Include the test name in the page. Workflow to update fuzzy match data becomes easier to copy-paste the name there instead of from the location bar. * fast/harness/image-diff-template-expected.txt: * fast/harness/image-diff-template.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/harness/image-diff-template-expected.txt trunk/LayoutTests/fast/harness/image-diff-template.html trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py Diff Modified: trunk/LayoutTests/ChangeLog (290279 => 290280) --- trunk/LayoutTests/ChangeLog 2022-02-22 01:42:45 UTC (rev 290279) +++ trunk/LayoutTests/ChangeLog 2022-02-22 01:48:11 UTC (rev 290280) @@ -1 +1,12 @@ +2022-02-21 Jon Lee + +Add test name to the image diff template +https://bugs.webkit.org/show_bug.cgi?id=237003 + +Reviewed by Sam Weinig. + +Include the test name in the page. Workflow to update fuzzy match data becomes easier to copy-paste the name there instead of from the location bar. +* fast/harness/image-diff-template-expected.txt: +* fast/harness/image-diff-template.html: + == Rolled over to ChangeLog-2022-02-22 == Modified: trunk/LayoutTests/fast/harness/image-diff-template-expected.txt (290279 => 290280) --- trunk/LayoutTests/fast/harness/image-diff-template-expected.txt 2022-02-22 01:42:45 UTC (rev 290279) +++ trunk/LayoutTests/fast/harness/image-diff-template-expected.txt 2022-02-22 01:48:11 UTC (rev 290280) @@ -1,4 +1,5 @@ CONSOLE MESSAGE: ReferenceError: Can't find variable: __FUZZY_DATA__ +Test path: __TEST_NAME__ Pixel difference: __PIXEL_DIFF__ Fuzzy match: Click to toggle between ranges and values Modified: trunk/LayoutTests/fast/harness/image-diff-template.html (290279 => 290280) --- trunk/LayoutTests/fast/harness/image-diff-template.html 2022-02-22 01:42:45 UTC (rev 290279) +++ trunk/LayoutTests/fast/harness/image-diff-template.html 2022-02-22 01:48:11 UTC (rev 290280) @@ -59,6 +59,10 @@ + +Test path: +__TEST_NAME__ + Pixel difference: __PIXEL_DIFF__ Modified: trunk/Tools/ChangeLog (290279 => 290280) --- trunk/Tools/ChangeLog 2022-02-22 01:42:45 UTC (rev 290279) +++ trunk/Tools/ChangeLog 2022-02-22 01:48:11 UTC (rev 290280) @@ -1 +1,11 @@ +2022-02-21 Jon Lee + +Add test name to the image diff template +https://bugs.webkit.org/show_bug.cgi?id=237003 + +Reviewed by Sam Weinig. + +* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: +(TestResultWriter.write_image_diff_files): + == Rolled over to ChangeLog-2022-02-22 == Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py (290279 => 290280) --- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py 2022-02-22 01:42:45 UTC (rev 290279) +++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py 2022-02-22 01:48:11 UTC (rev 290280) @@ -196,6 +196,7 @@ image_diff_file = self._filesystem.read_text_file(image_diff_template) html = image_diff_file.replace('__TITLE__', self._test_name) +html = html.replace('__TEST_NAME__', self._test_name) html = html.replace('__PREFIX__', self._output_testname('')) if not diff_percent_text: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290279] trunk/Source/WebKit
Title: [290279] trunk/Source/WebKit Revision 290279 Author commit-qu...@webkit.org Date 2022-02-21 17:42:45 -0800 (Mon, 21 Feb 2022) Log Message Fix racy parallel build of WebKit2-4.0.gir https://bugs.webkit.org/show_bug.cgi?id=232935 Patch by Alexander Kanavin on 2022-02-21 Reviewed by Michael Catanzaro. This is a target and not a command because it's used to build another .gir and a .typelib, which would trigger two racy parallel builds when using command (e.g. command would run twice, target runs only once). * PlatformGTK.cmake: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/PlatformGTK.cmake Diff Modified: trunk/Source/WebKit/ChangeLog (290278 => 290279) --- trunk/Source/WebKit/ChangeLog 2022-02-22 01:37:17 UTC (rev 290278) +++ trunk/Source/WebKit/ChangeLog 2022-02-22 01:42:45 UTC (rev 290279) @@ -1,3 +1,16 @@ +2022-02-21 Alexander Kanavin + +Fix racy parallel build of WebKit2-4.0.gir +https://bugs.webkit.org/show_bug.cgi?id=232935 + +Reviewed by Michael Catanzaro. + +This is a target and not a command because it's used to build another .gir +and a .typelib, which would trigger two racy parallel builds when using command +(e.g. command would run twice, target runs only once). + +* PlatformGTK.cmake: + 2022-02-21 Myles C. Maxfield Sort WebCore and WebKit Xcode project files Modified: trunk/Source/WebKit/PlatformGTK.cmake (290278 => 290279) --- trunk/Source/WebKit/PlatformGTK.cmake 2022-02-22 01:37:17 UTC (rev 290278) +++ trunk/Source/WebKit/PlatformGTK.cmake 2022-02-22 01:42:45 UTC (rev 290279) @@ -670,8 +670,9 @@ set(GIR_SOURCES_TOP_DIRS "--sources-top-dirs=${CMAKE_BINARY_DIR}") endif () -add_custom_command( -OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir +# This is a target and not a command because it's used to build another .gir +# and a .typelib, which would trigger two racy parallel builds when using command +add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir DEPENDS WebKit DEPENDS ${CMAKE_BINARY_DIR}/_javascript_Core-${WEBKITGTK_API_VERSION}.gir COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS= @@ -719,7 +720,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir DEPENDS ${CMAKE_BINARY_DIR}/_javascript_Core-${WEBKITGTK_API_VERSION}.gir -DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir +DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}" ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}" @@ -781,7 +782,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib -DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir +DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib ) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290278] trunk/Source/WebCore
Title: [290278] trunk/Source/WebCore Revision 290278 Author wenson_hs...@apple.com Date 2022-02-21 17:37:17 -0800 (Mon, 21 Feb 2022) Log Message Add test coverage for the pasteboard writing codepath added in r289839 https://bugs.webkit.org/show_bug.cgi?id=236944 Reviewed by Aditya Keerthi. Add test coverage for the changes in r289839 in the case where `ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)` is turned on. To do this, we set the platform image analysis results to a new internal mock object, `FakeImageAnalysisResult`, that returns a string for a given NSRange. This code is then exercised by several existing layout tests that copy and paste text inside image overlays: - fast/images/text-recognition/image-overlay-line-wrapping.html - fast/images/text-recognition/image-overlay-text-without-leading-whitespace.html - fast/images/text-recognition/mac/copy-image-overlay-text-with-context-menu.html * testing/Internals.cpp: (WebCore::Internals::installImageOverlay): * testing/Internals.h: * testing/Internals.mm: (-[FakeImageAnalysisResult initWithString:]): (-[FakeImageAnalysisResult _attributedStringForRange:]): (WebCore::Internals::fakeImageAnalysisResultForTesting): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebCore/testing/Internals.mm Diff Modified: trunk/Source/WebCore/ChangeLog (290277 => 290278) --- trunk/Source/WebCore/ChangeLog 2022-02-22 01:13:21 UTC (rev 290277) +++ trunk/Source/WebCore/ChangeLog 2022-02-22 01:37:17 UTC (rev 290278) @@ -1,3 +1,27 @@ +2022-02-21 Wenson Hsieh + +Add test coverage for the pasteboard writing codepath added in r289839 +https://bugs.webkit.org/show_bug.cgi?id=236944 + +Reviewed by Aditya Keerthi. + +Add test coverage for the changes in r289839 in the case where `ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)` is turned +on. To do this, we set the platform image analysis results to a new internal mock object, +`FakeImageAnalysisResult`, that returns a string for a given NSRange. This code is then exercised by several +existing layout tests that copy and paste text inside image overlays: + +- fast/images/text-recognition/image-overlay-line-wrapping.html +- fast/images/text-recognition/image-overlay-text-without-leading-whitespace.html +- fast/images/text-recognition/mac/copy-image-overlay-text-with-context-menu.html + +* testing/Internals.cpp: +(WebCore::Internals::installImageOverlay): +* testing/Internals.h: +* testing/Internals.mm: +(-[FakeImageAnalysisResult initWithString:]): +(-[FakeImageAnalysisResult _attributedStringForRange:]): +(WebCore::Internals::fakeImageAnalysisResultForTesting): + 2022-02-21 Myles C. Maxfield Sort WebCore and WebKit Xcode project files Modified: trunk/Source/WebCore/testing/Internals.cpp (290277 => 290278) --- trunk/Source/WebCore/testing/Internals.cpp 2022-02-22 01:13:21 UTC (rev 290277) +++ trunk/Source/WebCore/testing/Internals.cpp 2022-02-22 01:37:17 UTC (rev 290278) @@ -5876,6 +5876,9 @@ , blocks.map([] (auto& block) { return TextRecognitionBlockData { block.text, getQuad(block) }; }) +#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS) +, fakeImageAnalysisResultForTesting(lines) +#endif }); #else UNUSED_PARAM(blocks); Modified: trunk/Source/WebCore/testing/Internals.h (290277 => 290278) --- trunk/Source/WebCore/testing/Internals.h 2022-02-22 01:13:21 UTC (rev 290277) +++ trunk/Source/WebCore/testing/Internals.h 2022-02-22 01:37:17 UTC (rev 290278) @@ -48,6 +48,7 @@ #endif OBJC_CLASS DDScannerResult; +OBJC_CLASS VKCImageAnalysis; namespace WebCore { @@ -1278,6 +1279,10 @@ ExceptionOr markerAt(Node&, const String& markerType, unsigned index); ExceptionOr scrollableAreaForNode(Node*) const; +#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS) +static RetainPtr fakeImageAnalysisResultForTesting(const Vector&); +#endif + #if ENABLE(DATA_DETECTION) static DDScannerResult *fakeDataDetectorResultForTesting(); #endif Modified: trunk/Source/WebCore/testing/Internals.mm (290277 => 290278) --- trunk/Source/WebCore/testing/Internals.mm 2022-02-22 01:13:21 UTC (rev 290277) +++ trunk/Source/WebCore/testing/Internals.mm 2022-02-22 01:37:17 UTC (rev 290278) @@ -46,6 +46,7 @@ #import #import #import +#import #if PLATFORM(IOS_FAMILY) #import @@ -55,6 +56,36 @@ #import #endif +#import + +#if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS) + +@interface FakeImageAnalysisResult : NSObject +- (instancetype)initWithString:(NSString *)fullText; +@end + +@implementation FakeImageAnalysisResult { +RetainPtr _string; +} + +- (instancetype)initWithString:(NSString *)string +{ +if (!(self = [super init])) +return nil; + +_string = adoptNS([[NSMutableAttributedString alloc] initWithString:string]); +return self; +} +
[webkit-changes] [290277] trunk/Source
Title: [290277] trunk/Source Revision 290277 Author mmaxfi...@apple.com Date 2022-02-21 17:13:21 -0800 (Mon, 21 Feb 2022) Log Message Sort WebCore and WebKit Xcode project files https://bugs.webkit.org/show_bug.cgi?id=237010 Unreviewed. Source/WebCore: No new tests because there is no behavior change. * WebCore.xcodeproj/project.pbxproj: Source/WebKit: * WebKit.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebCore/ChangeLog (290276 => 290277) --- trunk/Source/WebCore/ChangeLog 2022-02-22 01:07:16 UTC (rev 290276) +++ trunk/Source/WebCore/ChangeLog 2022-02-22 01:13:21 UTC (rev 290277) @@ -1 +1,12 @@ +2022-02-21 Myles C. Maxfield + +Sort WebCore and WebKit Xcode project files +https://bugs.webkit.org/show_bug.cgi?id=237010 + +Unreviewed. + +No new tests because there is no behavior change. + +* WebCore.xcodeproj/project.pbxproj: + == Rolled over to ChangeLog-2022-02-22 == Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (290276 => 290277) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2022-02-22 01:07:16 UTC (rev 290276) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2022-02-22 01:13:21 UTC (rev 290277) @@ -34514,6 +34514,8 @@ 2D29386B235F6B6900C7F3B2 /* ExceptionDetails.h in Headers */, 93D196311D6CAB7600FC7E47 /* ExceptionOr.h in Headers */, 837FB3451F9EA06D00D0FC31 /* ExtendableMessageEvent.h in Headers */, +FE0BCF3527C0661000BFB2DB /* ExtendedDOMClientIsoSubspaces.h in Headers */, +FE0BCF3427C0661000BFB2DB /* ExtendedDOMIsoSubspaces.h in Headers */, E47E276516036ED200EE2AFB /* ExtensionStyleSheets.h in Headers */, 5C4304B1191AC908000E2BC0 /* EXTShaderTextureLOD.h in Headers */, 7728694F14F8882500F484DC /* EXTTextureFilterAnisotropic.h in Headers */, @@ -35188,7 +35190,6 @@ 714C7C6D1FDADAF600F2BEE1 /* JSAnimationPlaybackEventInit.h in Headers */, 71025EDE1F99F1EC004A250C /* JSAnimationTimeline.h in Headers */, A1956F1C2331A6770057E9D2 /* JSApplePayCancelEvent.h in Headers */, -FE0BCF3527C0661000BFB2DB /* ExtendedDOMClientIsoSubspaces.h in Headers */, A1DF5A991F7EC8C00058A477 /* JSApplePayContactField.h in Headers */, 9596B93825DEEF0300ED2CFA /* JSApplePayCouponCodeChangedEvent.h in Headers */, 95EAD583266EF53B004B9CF1 /* JSApplePayCouponCodeDetails.h in Headers */, @@ -37111,7 +37112,6 @@ 078E094417D16E1C00420AA1 /* RTCSessionDescriptionRequest.h in Headers */, 3135910B1E7DDC7300F30630 /* RTCSignalingState.h in Headers */, 078E092A17D14D1C00420AA1 /* RTCStatsReport.h in Headers */, -FE0BCF3427C0661000BFB2DB /* ExtendedDOMIsoSubspaces.h in Headers */, 5E2C43681BCEE3770001E2BC /* RTCTrackEvent.h in Headers */, 078E094717D16E1C00420AA1 /* RTCVoidRequest.h in Headers */, 5824ABA31AE81116009074B7 /* RubyElement.h in Headers */, Modified: trunk/Source/WebKit/ChangeLog (290276 => 290277) --- trunk/Source/WebKit/ChangeLog 2022-02-22 01:07:16 UTC (rev 290276) +++ trunk/Source/WebKit/ChangeLog 2022-02-22 01:13:21 UTC (rev 290277) @@ -1,3 +1,12 @@ +2022-02-21 Myles C. Maxfield + +Sort WebCore and WebKit Xcode project files +https://bugs.webkit.org/show_bug.cgi?id=237010 + +Unreviewed. + +* WebKit.xcodeproj/project.pbxproj: + 2022-02-21 Aditya Keerthi [iOS] Fix the internal build after rdar://88354008 Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (290276 => 290277) --- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2022-02-22 01:07:16 UTC (rev 290276) +++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2022-02-22 01:13:21 UTC (rev 290277) @@ -12836,9 +12836,9 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( -51E9049B27BCB9D400929E7E /* LaunchServicesSPI.h in Headers */, 51E9049527BCB3C900929E7E /* ICAppBundle.h in Headers */, 51E9049D27BCB9D400929E7E /* InstallCoordinationSPI.h in Headers */, +51E9049B27BCB9D400929E7E /* LaunchServicesSPI.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -13240,11 +13240,13 @@ 9197940523DBC4BB00257892 /* InspectorBrowserAgent.h in Headers */, 996B2B9D25E257FF00719379 /* InspectorExtensionDelegate.h in Headers */, A5E391FD2183C1F800C8FB31 /* InspectorTargetProxy.h in Headers */, +51E9049C27BCB9D400929E7E /* InstallCoordinationSPI.h in Headers */, C5BCE5DF1C50766A00CDE3FA /* InteractionInformationAtPosition.h in Headers */, 2D4D2C811DF60BF3002EB10C /* InteractionInformationRequest.h in Headers */, A31F60A425CC7DB900AF14F4 /* IPCSemaphore.h in Headers */, 9B47908F253151CC00EC11AB /* JSIPCBinding.h in Headers */, C1663E5B24AEAA2F00C6A3B2 /* LaunchServicesDatabaseXPCConstants.h in
[webkit-changes] [290276] trunk/Source/WebCore/PAL
Title: [290276] trunk/Source/WebCore/PAL Revision 290276 Author mmaxfi...@apple.com Date 2022-02-21 17:07:16 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Fix build https://bugs.webkit.org/show_bug.cgi?id=237008 Unreviewed. If you add a header to PAL that WebKit needs to #include, you'd better mark the header as Private. * PAL.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (290275 => 290276) --- trunk/Source/WebCore/PAL/ChangeLog 2022-02-22 00:22:50 UTC (rev 290275) +++ trunk/Source/WebCore/PAL/ChangeLog 2022-02-22 01:07:16 UTC (rev 290276) @@ -1,3 +1,14 @@ +2022-02-21 Myles C. Maxfield + +[WebGPU] Fix build +https://bugs.webkit.org/show_bug.cgi?id=237008 + +Unreviewed. + +If you add a header to PAL that WebKit needs to #include, you'd better mark the header as Private. + +* PAL.xcodeproj/project.pbxproj: + 2022-02-21 Elliott Williams [XCBuild] Use native build phases to copy PAL's headers Modified: trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj (290275 => 290276) --- trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj 2022-02-22 00:22:50 UTC (rev 290275) +++ trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj 2022-02-22 01:07:16 UTC (rev 290276) @@ -40,6 +40,7 @@ 1C19E6B5273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E6B4273F85AF004B17B0 /* WebGPUConvertToBackingContext.cpp */; }; 1C19E6BA27405E32004B17B0 /* WebGPUExternalTextureImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C19E6B927405E32004B17B0 /* WebGPUExternalTextureImpl.cpp */; }; 1C36C52E2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C36C52C2743011A006DA4C1 /* WebGPUDowncastConvertToBackingContext.cpp */; }; + 1C469C7A27C46E1300DEB594 /* WebGPUShaderModuleCompilationHint.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CEF45AA27BB101F00C3A6BC /* WebGPUShaderModuleCompilationHint.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1C4876D81F8D7F4E00CCEEBD /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C4876D61F8D7F4E00CCEEBD /* Logging.cpp */; }; 1C5C57C927571531003B540D /* TextCodecICU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5C57BD27571524003B540D /* TextCodecICU.cpp */; }; 1C5C57CA27571531003B540D /* TextCodecUserDefined.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5C57B72757151E003B540D /* TextCodecUserDefined.cpp */; }; @@ -1912,6 +1913,7 @@ DD20DE3027BC90D80093D175 /* NSResponderSPI.h in Headers */, DD20DE3127BC90D80093D175 /* NSScrollerImpSPI.h in Headers */, DD20DE3227BC90D80093D175 /* NSScrollingInputFilterSPI.h in Headers */, +1C469C7A27C46E1300DEB594 /* WebGPUShaderModuleCompilationHint.h in Headers */, DD20DE3327BC90D80093D175 /* NSScrollingMomentumCalculatorSPI.h in Headers */, DD20DE3427BC90D80093D175 /* NSScrollViewSPI.h in Headers */, DD20DE3527BC90D80093D175 /* NSServicesRolloverButtonCellSPI.h in Headers */, ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290275] trunk/Source/WebKit
Title: [290275] trunk/Source/WebKit Revision 290275 Author akeer...@apple.com Date 2022-02-21 16:22:50 -0800 (Mon, 21 Feb 2022) Log Message [iOS] Fix the internal build after rdar://88354008 https://bugs.webkit.org/show_bug.cgi?id=236999 Unreviewed build fix. Mark deprecated implementations. * UIProcess/API/ios/WKWebViewIOS.mm: * UIProcess/ios/WKContentViewInteraction.mm: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (290274 => 290275) --- trunk/Source/WebKit/ChangeLog 2022-02-22 00:05:45 UTC (rev 290274) +++ trunk/Source/WebKit/ChangeLog 2022-02-22 00:22:50 UTC (rev 290275) @@ -1 +1,13 @@ +2022-02-21 Aditya Keerthi + +[iOS] Fix the internal build after rdar://88354008 +https://bugs.webkit.org/show_bug.cgi?id=236999 + +Unreviewed build fix. + +Mark deprecated implementations. + +* UIProcess/API/ios/WKWebViewIOS.mm: +* UIProcess/ios/WKContentViewInteraction.mm: + == Rolled over to ChangeLog-2022-02-22 == Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm (290274 => 290275) --- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm 2022-02-22 00:05:45 UTC (rev 290274) +++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm 2022-02-22 00:22:50 UTC (rev 290275) @@ -3558,10 +3558,12 @@ return nil; } +ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN - (NSInteger)offsetFromPosition:(UITextPosition *)from toPosition:(UITextPosition *)toPosition inDocument:(_UITextSearchDocumentIdentifier)document { return [_contentView offsetFromPosition:from toPosition:toPosition inDocument:document]; } +ALLOW_DEPRECATED_IMPLEMENTATIONS_END - (void)performTextSearchWithQueryString:(NSString *)string usingOptions:(_UITextSearchOptions *)options resultAggregator:(id<_UITextSearchAggregator>)aggregator { Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (290274 => 290275) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-02-22 00:05:45 UTC (rev 290274) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2022-02-22 00:22:50 UTC (rev 290275) @@ -10413,10 +10413,12 @@ _page->didEndTextSearchOperation(); } +ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN - (NSInteger)offsetFromPosition:(UITextPosition *)from toPosition:(UITextPosition *)toPosition inDocument:(_UITextSearchDocumentIdentifier)document { return [self offsetFromPosition:from toPosition:toPosition]; } +ALLOW_DEPRECATED_IMPLEMENTATIONS_END - (void)requestRectForFoundTextRange:(UITextRange *)range completionHandler:(void (^)(CGRect))completionHandler { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290274] trunk/Source/WebGPU
Title: [290274] trunk/Source/WebGPU Revision 290274 Author mmaxfi...@apple.com Date 2022-02-21 16:05:45 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Fix release build https://bugs.webkit.org/show_bug.cgi?id=237004 Unreviewed. If you include WTF, you must have set NDEBUG in release builds. * Configurations/Base.xcconfig: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/Configurations/Base.xcconfig Diff Modified: trunk/Source/WebGPU/ChangeLog (290273 => 290274) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 23:24:21 UTC (rev 290273) +++ trunk/Source/WebGPU/ChangeLog 2022-02-22 00:05:45 UTC (rev 290274) @@ -1,5 +1,16 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Fix release build +https://bugs.webkit.org/show_bug.cgi?id=237004 + +Unreviewed. + +If you include WTF, you must have set NDEBUG in release builds. + +* Configurations/Base.xcconfig: + +2022-02-21 Myles C. Maxfield + [WebGPU] Fix iOS build https://bugs.webkit.org/show_bug.cgi?id=237000 Modified: trunk/Source/WebGPU/Configurations/Base.xcconfig (290273 => 290274) --- trunk/Source/WebGPU/Configurations/Base.xcconfig 2022-02-21 23:24:21 UTC (rev 290273) +++ trunk/Source/WebGPU/Configurations/Base.xcconfig 2022-02-22 00:05:45 UTC (rev 290274) @@ -115,6 +115,8 @@ DEBUG_DEFINES = NDEBUG; DEBUG_DEFINES[config=Debug] = ; +GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES); + GCC_OPTIMIZATION_LEVEL = 3; GCC_OPTIMIZATION_LEVEL[config=Debug] = 0; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290273] trunk/Source/WebGPU
Title: [290273] trunk/Source/WebGPU Revision 290273 Author mmaxfi...@apple.com Date 2022-02-21 15:24:21 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Fix iOS build https://bugs.webkit.org/show_bug.cgi?id=237000 The lowPower selector doesn't exist on iOS. Unreviewed. * WebGPU/Instance.mm: (WebGPU::sortedDevices): (WebGPU::Instance::requestAdapter): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Instance.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290272 => 290273) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 23:11:34 UTC (rev 290272) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 23:24:21 UTC (rev 290273) @@ -1,5 +1,18 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Fix iOS build +https://bugs.webkit.org/show_bug.cgi?id=237000 + +The lowPower selector doesn't exist on iOS. + +Unreviewed. + +* WebGPU/Instance.mm: +(WebGPU::sortedDevices): +(WebGPU::Instance::requestAdapter): + +2022-02-21 Myles C. Maxfield + [WebGPU] Tracer bullet part 12: Migrate from C function callbacks to blocks https://bugs.webkit.org/show_bug.cgi?id=236934 Modified: trunk/Source/WebGPU/WebGPU/Instance.mm (290272 => 290273) --- trunk/Source/WebGPU/WebGPU/Instance.mm 2022-02-21 23:11:34 UTC (rev 290272) +++ trunk/Source/WebGPU/WebGPU/Instance.mm 2022-02-21 23:24:21 UTC (rev 290273) @@ -80,6 +80,7 @@ case WGPUPowerPreference_Undefined: return devices; case WGPUPowerPreference_LowPower: +#if PLATFORM(MAC) || PLATFORM(MACCATALYST) return [devices sortedArrayWithOptions:NSSortStable usingComparator:^NSComparisonResult (id obj1, id obj2) { if (obj1.lowPower == obj2.lowPower) @@ -88,7 +89,11 @@ return NSOrderedAscending; return NSOrderedDescending; }]; +#else +return devices; +#endif case WGPUPowerPreference_HighPerformance: +#if PLATFORM(MAC) || PLATFORM(MACCATALYST) return [devices sortedArrayWithOptions:NSSortStable usingComparator:^NSComparisonResult (id obj1, id obj2) { if (obj1.lowPower == obj2.lowPower) @@ -97,6 +102,9 @@ return NSOrderedDescending; return NSOrderedAscending; }]; +#else +return devices; +#endif default: return nil; } @@ -107,9 +115,9 @@ #if PLATFORM(MAC) || PLATFORM(MACCATALYST) NSArray> *devices = MTLCopyAllDevices(); #else -NSArray> *devices = [NSArray array]; +NSMutableArray> *devices = [NSMutableArray array]; if (id device = MTLCreateSystemDefaultDevice()) -[devices append:device]; +[devices addObject:device]; #endif // FIXME: Deal with options->compatibleSurface. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290271] branches/safari-614.1.5-branch/Source/WebKit
Title: [290271] branches/safari-614.1.5-branch/Source/WebKit Revision 290271 Author kocsen_ch...@apple.com Date 2022-02-21 15:11:23 -0800 (Mon, 21 Feb 2022) Log Message Cherry-pick r290237. rdar://problem/58057431 Turn WebGL in GPU Process on by default https://bugs.webkit.org/show_bug.cgi?id=236382 rdar://58057431 Reviewed by Tim Horton. * Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultUseGPUProcessForWebGLEnabled): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290237 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-614.1.5-branch/Source/WebKit/ChangeLog branches/safari-614.1.5-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp Diff Modified: branches/safari-614.1.5-branch/Source/WebKit/ChangeLog (290270 => 290271) --- branches/safari-614.1.5-branch/Source/WebKit/ChangeLog 2022-02-21 22:09:38 UTC (rev 290270) +++ branches/safari-614.1.5-branch/Source/WebKit/ChangeLog 2022-02-21 23:11:23 UTC (rev 290271) @@ -1,3 +1,29 @@ +2022-02-21 Alan Coon + +Cherry-pick r290237. rdar://problem/58057431 + +Turn WebGL in GPU Process on by default +https://bugs.webkit.org/show_bug.cgi?id=236382 +rdar://58057431 + +Reviewed by Tim Horton. + +* Shared/WebPreferencesDefaultValues.cpp: +(WebKit::defaultUseGPUProcessForWebGLEnabled): + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290237 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2022-02-19 Jon Lee + +Turn WebGL in GPU Process on by default +https://bugs.webkit.org/show_bug.cgi?id=236382 +rdar://58057431 + +Reviewed by Tim Horton. + +* Shared/WebPreferencesDefaultValues.cpp: +(WebKit::defaultUseGPUProcessForWebGLEnabled): + 2022-02-19 Chris Dumez Optimize DOM storage event dispatch Modified: branches/safari-614.1.5-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp (290270 => 290271) --- branches/safari-614.1.5-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp 2022-02-21 22:09:38 UTC (rev 290270) +++ branches/safari-614.1.5-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp 2022-02-21 23:11:23 UTC (rev 290271) @@ -188,7 +188,7 @@ bool defaultUseGPUProcessForWebGLEnabled() { -#if PLATFORM(WIN) +#if (ENABLE(GPU_PROCESS_BY_DEFAULT) && PLATFORM(IOS_FAMILY)) || PLATFORM(WIN) bool defaultValue = true; #else bool defaultValue = false; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290270] trunk/Source/WebGPU
Title: [290270] trunk/Source/WebGPU Revision 290270 Author mmaxfi...@apple.com Date 2022-02-21 14:09:38 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 12: Migrate from C function callbacks to blocks https://bugs.webkit.org/show_bug.cgi?id=236934 Reviewed by Dean Jackson. For all the C function pointer / userdata pairs, simply create a parallel entry point which accepts a block instead. * WebGPU/Adapter.mm: (wgpuAdapterRequestDeviceWithBlock): * WebGPU/Buffer.mm: (wgpuBufferMapAsyncWithBlock): * WebGPU/CommandEncoder.mm: (wgpuCommandEncoderSetLabel): * WebGPU/ComputePipeline.mm: (wgpuComputePipelineSetLabel): * WebGPU/Device.mm: (wgpuDeviceCreateComputePipelineAsyncWithBlock): (wgpuDeviceCreateRenderPipelineAsyncWithBlock): (wgpuDevicePopErrorScopeWithBlock): (wgpuDeviceSetDeviceLostCallbackWithBlock): (wgpuDeviceSetUncapturedErrorCallbackWithBlock): * WebGPU/Instance.mm: (wgpuInstanceRequestAdapterWithBlock): * WebGPU/Queue.mm: (wgpuQueueOnSubmittedWorkDoneWithBlock): (wgpuQueueSetLabel): * WebGPU/RenderPipeline.mm: (wgpuRenderPipelineSetLabel): * WebGPU/ShaderModule.mm: (wgpuShaderModuleGetCompilationInfoWithBlock): (wgpuShaderModuleSetLabel): * WebGPU/Surface.mm: (wgpuSurfaceGetPreferredFormat): * WebGPU/SwapChain.mm: (wgpuSwapChainPresent): * WebGPU/WebGPUExt.h: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Adapter.mm trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/CommandEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/Device.mm trunk/Source/WebGPU/WebGPU/Instance.mm trunk/Source/WebGPU/WebGPU/Queue.mm trunk/Source/WebGPU/WebGPU/RenderPipeline.mm trunk/Source/WebGPU/WebGPU/ShaderModule.mm trunk/Source/WebGPU/WebGPU/Surface.mm trunk/Source/WebGPU/WebGPU/SwapChain.mm trunk/Source/WebGPU/WebGPU/WebGPUExt.h Diff Modified: trunk/Source/WebGPU/ChangeLog (290269 => 290270) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 22:06:36 UTC (rev 290269) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 22:09:38 UTC (rev 290270) @@ -1,5 +1,44 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 12: Migrate from C function callbacks to blocks +https://bugs.webkit.org/show_bug.cgi?id=236934 + +Reviewed by Dean Jackson. + +For all the C function pointer / userdata pairs, simply create a parallel entry point which accepts a block instead. + +* WebGPU/Adapter.mm: +(wgpuAdapterRequestDeviceWithBlock): +* WebGPU/Buffer.mm: +(wgpuBufferMapAsyncWithBlock): +* WebGPU/CommandEncoder.mm: +(wgpuCommandEncoderSetLabel): +* WebGPU/ComputePipeline.mm: +(wgpuComputePipelineSetLabel): +* WebGPU/Device.mm: +(wgpuDeviceCreateComputePipelineAsyncWithBlock): +(wgpuDeviceCreateRenderPipelineAsyncWithBlock): +(wgpuDevicePopErrorScopeWithBlock): +(wgpuDeviceSetDeviceLostCallbackWithBlock): +(wgpuDeviceSetUncapturedErrorCallbackWithBlock): +* WebGPU/Instance.mm: +(wgpuInstanceRequestAdapterWithBlock): +* WebGPU/Queue.mm: +(wgpuQueueOnSubmittedWorkDoneWithBlock): +(wgpuQueueSetLabel): +* WebGPU/RenderPipeline.mm: +(wgpuRenderPipelineSetLabel): +* WebGPU/ShaderModule.mm: +(wgpuShaderModuleGetCompilationInfoWithBlock): +(wgpuShaderModuleSetLabel): +* WebGPU/Surface.mm: +(wgpuSurfaceGetPreferredFormat): +* WebGPU/SwapChain.mm: +(wgpuSwapChainPresent): +* WebGPU/WebGPUExt.h: + +2022-02-21 Myles C. Maxfield + [WebGPU] Tracer bullet part 11: Implement shader creation methods https://bugs.webkit.org/show_bug.cgi?id=236933 Modified: trunk/Source/WebGPU/WebGPU/Adapter.mm (290269 => 290270) --- trunk/Source/WebGPU/WebGPU/Adapter.mm 2022-02-21 22:06:36 UTC (rev 290269) +++ trunk/Source/WebGPU/WebGPU/Adapter.mm 2022-02-21 22:09:38 UTC (rev 290270) @@ -158,3 +158,10 @@ callback(status, device ? new WGPUDeviceImpl { device.releaseNonNull() } : nullptr, message, userdata); }); } + +void wgpuAdapterRequestDeviceWithBlock(WGPUAdapter adapter, WGPUDeviceDescriptor const * descriptor, WGPURequestDeviceBlockCallback callback) +{ +adapter->adapter->requestDevice(descriptor, [callback] (WGPURequestDeviceStatus status, RefPtr&& device, const char* message) { +callback(status, device ? new WGPUDeviceImpl { device.releaseNonNull() } : nullptr, message); +}); +} Modified: trunk/Source/WebGPU/WebGPU/Buffer.mm (290269 => 290270) --- trunk/Source/WebGPU/WebGPU/Buffer.mm 2022-02-21 22:06:36 UTC (rev 290269) +++ trunk/Source/WebGPU/WebGPU/Buffer.mm 2022-02-21 22:09:38 UTC (rev 290270) @@ -107,6 +107,13 @@ }); } +void wgpuBufferMapAsyncWithBlock(WGPUBuffer buffer, WGPUMapModeFlags mode, size_t offset, size_t size, WGPUBufferMapBlockCallback callback) +{ +buffer->buffer->mapAsync(mode, offset, size, [callback]
[webkit-changes] [290269] trunk
Title: [290269] trunk Revision 290269 Author ysuz...@apple.com Date 2022-02-21 14:06:36 -0800 (Mon, 21 Feb 2022) Log Message [JSC] ShadowRealm wrapArgument should check exceptions https://bugs.webkit.org/show_bug.cgi?id=236984 JSTests: Reviewed by Alexey Shvayka. * stress/exception-in-wrap-argument-for-shadow-realm.js: Added. (shouldThrow): Source/_javascript_Core: rdar://89226554 Reviewed by Alexey Shvayka. We should check exceptions after wrapArgument. * runtime/JSRemoteFunction.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSRemoteFunction.cpp Added Paths trunk/JSTests/stress/exception-in-wrap-argument-for-shadow-realm.js Diff Modified: trunk/JSTests/ChangeLog (290268 => 290269) --- trunk/JSTests/ChangeLog 2022-02-21 22:00:19 UTC (rev 290268) +++ trunk/JSTests/ChangeLog 2022-02-21 22:06:36 UTC (rev 290269) @@ -1,5 +1,15 @@ 2022-02-21 Yusuke Suzuki +[JSC] ShadowRealm wrapArgument should check exceptions +https://bugs.webkit.org/show_bug.cgi?id=236984 + +Reviewed by Alexey Shvayka. + +* stress/exception-in-wrap-argument-for-shadow-realm.js: Added. +(shouldThrow): + +2022-02-21 Yusuke Suzuki + [JSC] Update test262 https://bugs.webkit.org/show_bug.cgi?id=236990 Added: trunk/JSTests/stress/exception-in-wrap-argument-for-shadow-realm.js (0 => 290269) --- trunk/JSTests/stress/exception-in-wrap-argument-for-shadow-realm.js (rev 0) +++ trunk/JSTests/stress/exception-in-wrap-argument-for-shadow-realm.js 2022-02-21 22:06:36 UTC (rev 290269) @@ -0,0 +1,20 @@ +function shouldThrow(func, errorMessage) { +var errorThrown = false; +var error = null; +try { +func(); +} catch (e) { +errorThrown = true; +error = e; +} +if (!errorThrown) +throw new Error('not thrown'); +if (String(error) !== errorMessage) +throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(() => { +let realm = new ShadowRealm(); +let f = realm.evaluate(`new Proxy(()=>{}, {});`); +f({}); +}, `TypeError: value passing between realms must be callable or primitive`); Modified: trunk/Source/_javascript_Core/ChangeLog (290268 => 290269) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-21 22:00:19 UTC (rev 290268) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-21 22:06:36 UTC (rev 290269) @@ -1,5 +1,18 @@ 2022-02-21 Yusuke Suzuki +[JSC] ShadowRealm wrapArgument should check exceptions +https://bugs.webkit.org/show_bug.cgi?id=236984 +rdar://89226554 + +Reviewed by Alexey Shvayka. + +We should check exceptions after wrapArgument. + +* runtime/JSRemoteFunction.cpp: +(JSC::JSC_DEFINE_HOST_FUNCTION): + +2022-02-21 Yusuke Suzuki + [JSC] Add explicit exception check after appendWithoutSideEffects https://bugs.webkit.org/show_bug.cgi?id=236986 rdar://88258776 Modified: trunk/Source/_javascript_Core/runtime/JSRemoteFunction.cpp (290268 => 290269) --- trunk/Source/_javascript_Core/runtime/JSRemoteFunction.cpp 2022-02-21 22:00:19 UTC (rev 290268) +++ trunk/Source/_javascript_Core/runtime/JSRemoteFunction.cpp 2022-02-21 22:06:36 UTC (rev 290269) @@ -126,6 +126,7 @@ MarkedArgumentBuffer args; for (unsigned i = 0; i < callFrame->argumentCount(); ++i) { JSValue wrappedValue = wrapArgument(globalObject, targetGlobalObject, callFrame->uncheckedArgument(i)); +RETURN_IF_EXCEPTION(scope, { }); args.append(wrappedValue); } if (UNLIKELY(args.hasOverflowed())) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290267] trunk/Source/WebGPU
Title: [290267] trunk/Source/WebGPU Revision 290267 Author mmaxfi...@apple.com Date 2022-02-21 13:34:13 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 11: Implement shader creation methods https://bugs.webkit.org/show_bug.cgi?id=236933 Reviewed by Dean Jackson. This implements Device::createShaderModule() and Device::createComputePipeline(). The async versions (neither the WebGPU nor the Metal flavor) aren't implemented yet; this is just the first basic implementation. * WebGPU/ComputePipeline.mm: (WebGPU::createLibrary): (WebGPU::createConstantValues): (WebGPU::createFunction): (WebGPU::createComputePipelineState): (WebGPU::Device::createComputePipeline): (WebGPU::Device::createComputePipelineAsync): * WebGPU/PipelineLayout.h: * WebGPU/PipelineLayout.mm: (WebGPU::PipelineLayout::operator== const): (WebGPU::PipelineLayout::operator!= const): * WebGPU/ShaderModule.h: (WebGPU::ShaderModule::create): * WebGPU/ShaderModule.mm: (WebGPU::findShaderModuleParameters): (WebGPU::ShaderModule::createLibrary): (WebGPU::earlyCompileShaderModule): (WebGPU::Device::createShaderModule): (WebGPU::ShaderModule::ShaderModule): (WebGPU::CompilationMessageData::CompilationMessageData): (WebGPU::convertMessages): (WebGPU::ShaderModule::getCompilationInfo): (WebGPU::ShaderModule::setLabel): (WebGPU::ShaderModule::convertPipelineLayout): (WebGPU::ShaderModule::ast const): (WebGPU::ShaderModule::pipelineLayoutHint const): (WebGPU::ShaderModule::entryPointInformation const): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/PipelineLayout.h trunk/Source/WebGPU/WebGPU/PipelineLayout.mm trunk/Source/WebGPU/WebGPU/ShaderModule.h trunk/Source/WebGPU/WebGPU/ShaderModule.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290266 => 290267) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 21:32:31 UTC (rev 290266) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 21:34:13 UTC (rev 290267) @@ -1,5 +1,43 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 11: Implement shader creation methods +https://bugs.webkit.org/show_bug.cgi?id=236933 + +Reviewed by Dean Jackson. + +This implements Device::createShaderModule() and Device::createComputePipeline(). The async versions (neither +the WebGPU nor the Metal flavor) aren't implemented yet; this is just the first basic implementation. + +* WebGPU/ComputePipeline.mm: +(WebGPU::createLibrary): +(WebGPU::createConstantValues): +(WebGPU::createFunction): +(WebGPU::createComputePipelineState): +(WebGPU::Device::createComputePipeline): +(WebGPU::Device::createComputePipelineAsync): +* WebGPU/PipelineLayout.h: +* WebGPU/PipelineLayout.mm: +(WebGPU::PipelineLayout::operator== const): +(WebGPU::PipelineLayout::operator!= const): +* WebGPU/ShaderModule.h: +(WebGPU::ShaderModule::create): +* WebGPU/ShaderModule.mm: +(WebGPU::findShaderModuleParameters): +(WebGPU::ShaderModule::createLibrary): +(WebGPU::earlyCompileShaderModule): +(WebGPU::Device::createShaderModule): +(WebGPU::ShaderModule::ShaderModule): +(WebGPU::CompilationMessageData::CompilationMessageData): +(WebGPU::convertMessages): +(WebGPU::ShaderModule::getCompilationInfo): +(WebGPU::ShaderModule::setLabel): +(WebGPU::ShaderModule::convertPipelineLayout): +(WebGPU::ShaderModule::ast const): +(WebGPU::ShaderModule::pipelineLayoutHint const): +(WebGPU::ShaderModule::entryPointInformation const): + +2022-02-21 Myles C. Maxfield + [WebGPU] Tracer bullet part 10: Implement setLabel() and Metal accessors https://bugs.webkit.org/show_bug.cgi?id=236910 Modified: trunk/Source/WebGPU/WebGPU/ComputePipeline.mm (290266 => 290267) --- trunk/Source/WebGPU/WebGPU/ComputePipeline.mm 2022-02-21 21:32:31 UTC (rev 290266) +++ trunk/Source/WebGPU/WebGPU/ComputePipeline.mm 2022-02-21 21:34:13 UTC (rev 290267) @@ -29,17 +29,150 @@ #import "BindGroupLayout.h" #import "Device.h" +#import "PipelineLayout.h" +#import "ShaderModule.h" namespace WebGPU { +struct LibraryCreationResult { +id library; +WGSL::Reflection::EntryPointInformation entryPointInformation; // FIXME: This is big. Don't copy this around. +}; + +static std::optional createLibrary(id device, const ShaderModule& shaderModule, const PipelineLayout& pipelineLayout, const String& entryPoint, NSString *label) +{ +if (shaderModule.library()) { +if (const auto* pipelineLayoutHint = shaderModule.pipelineLayoutHint(entryPoint)) { +if (*pipelineLayoutHint == pipelineLayout) { +if (const auto* entryPointInformation = shaderModule.entryPointInformation(entryPoint)) +return { { shaderModule.library(), *entryPointInformation } }; +} +}
[webkit-changes] [290266] trunk/Source/WebGPU
Title: [290266] trunk/Source/WebGPU Revision 290266 Author mmaxfi...@apple.com Date 2022-02-21 13:32:31 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 10: Implement setLabel() and Metal accessors https://bugs.webkit.org/show_bug.cgi?id=236910 Reviewed by Dean Jackson. By adding a few various trivial functions in classes that need them, this patch completely finishes the implementation of CommandBuffer, QuerySet, RenderBundle, Sampler, and TextureView classes (other than their creation functions). * WebGPU/Buffer.mm: (WebGPU::Buffer::setLabel): * WebGPU/CommandBuffer.h: (WebGPU::CommandBuffer::commandBuffer const): * WebGPU/CommandBuffer.mm: (WebGPU::CommandBuffer::CommandBuffer): (WebGPU::CommandBuffer::setLabel): * WebGPU/CommandEncoder.mm: (WebGPU::CommandEncoder::CommandEncoder): (WebGPU::CommandEncoder::setLabel): * WebGPU/ComputePassEncoder.mm: (WebGPU::ComputePassEncoder::ComputePassEncoder): (WebGPU::ComputePassEncoder::setLabel): * WebGPU/ComputePipeline.h: (WebGPU::ComputePipeline::computePipelineState const): * WebGPU/ComputePipeline.mm: (WebGPU::ComputePipeline::ComputePipeline): (WebGPU::ComputePipeline::setLabel): * WebGPU/QuerySet.h: (WebGPU::QuerySet::counterSampleBuffer const): * WebGPU/QuerySet.mm: (WebGPU::QuerySet::QuerySet): (WebGPU::QuerySet::setLabel): * WebGPU/Queue.mm: (WebGPU::Queue::Queue): (WebGPU::Queue::setLabel): * WebGPU/RenderBundle.h: (WebGPU::RenderBundle::indirectCommandBuffer const): * WebGPU/RenderBundle.mm: (WebGPU::RenderBundle::RenderBundle): (WebGPU::RenderBundle::setLabel): * WebGPU/RenderBundleEncoder.mm: (WebGPU::RenderBundleEncoder::RenderBundleEncoder): (WebGPU::RenderBundleEncoder::setLabel): * WebGPU/RenderPassEncoder.mm: (WebGPU::RenderPassEncoder::RenderPassEncoder): (WebGPU::RenderPassEncoder::setLabel): * WebGPU/RenderPipeline.h: (WebGPU::RenderPipeline::renderPipelineState const): * WebGPU/RenderPipeline.mm: (WebGPU::RenderPipeline::RenderPipeline): (WebGPU::RenderPipeline::setLabel): * WebGPU/Sampler.mm: (WebGPU::Sampler::setLabel): * WebGPU/ShaderModule.h: (WebGPU::ShaderModule::library const): * WebGPU/ShaderModule.mm: (WebGPU::ShaderModule::ShaderModule): (WebGPU::ShaderModule::setLabel): * WebGPU/Texture.h: (WebGPU::Texture::texture const): * WebGPU/Texture.mm: (WebGPU::Texture::Texture): (WebGPU::Texture::setLabel): * WebGPU/TextureView.mm: (WebGPU::TextureView::setLabel): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/CommandBuffer.h trunk/Source/WebGPU/WebGPU/CommandBuffer.mm trunk/Source/WebGPU/WebGPU/CommandEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePipeline.h trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/QuerySet.h trunk/Source/WebGPU/WebGPU/QuerySet.mm trunk/Source/WebGPU/WebGPU/Queue.mm trunk/Source/WebGPU/WebGPU/RenderBundle.h trunk/Source/WebGPU/WebGPU/RenderBundle.mm trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPipeline.h trunk/Source/WebGPU/WebGPU/RenderPipeline.mm trunk/Source/WebGPU/WebGPU/Sampler.mm trunk/Source/WebGPU/WebGPU/ShaderModule.h trunk/Source/WebGPU/WebGPU/ShaderModule.mm trunk/Source/WebGPU/WebGPU/Texture.h trunk/Source/WebGPU/WebGPU/Texture.mm trunk/Source/WebGPU/WebGPU/TextureView.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290265 => 290266) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 21:29:03 UTC (rev 290265) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 21:32:31 UTC (rev 290266) @@ -1,5 +1,73 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 10: Implement setLabel() and Metal accessors +https://bugs.webkit.org/show_bug.cgi?id=236910 + +Reviewed by Dean Jackson. + +By adding a few various trivial functions in classes that need them, this patch completely finishes the +implementation of CommandBuffer, QuerySet, RenderBundle, Sampler, and TextureView classes (other than +their creation functions). + +* WebGPU/Buffer.mm: +(WebGPU::Buffer::setLabel): +* WebGPU/CommandBuffer.h: +(WebGPU::CommandBuffer::commandBuffer const): +* WebGPU/CommandBuffer.mm: +(WebGPU::CommandBuffer::CommandBuffer): +(WebGPU::CommandBuffer::setLabel): +* WebGPU/CommandEncoder.mm: +(WebGPU::CommandEncoder::CommandEncoder): +(WebGPU::CommandEncoder::setLabel): +* WebGPU/ComputePassEncoder.mm: +(WebGPU::ComputePassEncoder::ComputePassEncoder): +(WebGPU::ComputePassEncoder::setLabel): +* WebGPU/ComputePipeline.h: +(WebGPU::ComputePipeline::computePipelineState const): +* WebGPU/ComputePipeline.mm: +(WebGPU::ComputePipeline::ComputePipeline): +(WebGPU::ComputePipeline::setLabel): +* WebGPU/QuerySet.h: +(WebGPU::QuerySet::counterSampleBuffer const): +*
[webkit-changes] [290265] trunk
Title: [290265] trunk Revision 290265 Author ysuz...@apple.com Date 2022-02-21 13:29:03 -0800 (Mon, 21 Feb 2022) Log Message [JSC] Add explicit exception check after appendWithoutSideEffects https://bugs.webkit.org/show_bug.cgi?id=236986 rdar://88258776 Reviewed by Saam Barati. JSTests: * stress/array-to-string-oom.js: Added. Source/_javascript_Core: Add exception check after JSStringJoiner::appendWithoutSideEffects call since JSString::value can throw OOM error. * runtime/ArrayPrototype.cpp: (JSC::JSC_DEFINE_HOST_FUNCTION): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::append): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp trunk/Source/_javascript_Core/runtime/JSStringJoiner.h Added Paths trunk/JSTests/stress/array-to-string-oom.js Diff Modified: trunk/JSTests/ChangeLog (290264 => 290265) --- trunk/JSTests/ChangeLog 2022-02-21 21:27:46 UTC (rev 290264) +++ trunk/JSTests/ChangeLog 2022-02-21 21:29:03 UTC (rev 290265) @@ -1,5 +1,15 @@ 2022-02-21 Yusuke Suzuki +[JSC] Add explicit exception check after appendWithoutSideEffects +https://bugs.webkit.org/show_bug.cgi?id=236986 +rdar://88258776 + +Reviewed by Saam Barati. + +* stress/array-to-string-oom.js: Added. + +2022-02-21 Yusuke Suzuki + [JSC] Add CalendarDateTime parsing https://bugs.webkit.org/show_bug.cgi?id=236886 Added: trunk/JSTests/stress/array-to-string-oom.js (0 => 290265) --- trunk/JSTests/stress/array-to-string-oom.js (rev 0) +++ trunk/JSTests/stress/array-to-string-oom.js 2022-02-21 21:29:03 UTC (rev 290265) @@ -0,0 +1,6 @@ +try { +$vm.haveABadTime(); +const ten = 10; +const s = ten.toLocaleString().repeat(2 ** 30 - 1); +[s].toString(); +} catch { } Modified: trunk/Source/_javascript_Core/ChangeLog (290264 => 290265) --- trunk/Source/_javascript_Core/ChangeLog 2022-02-21 21:27:46 UTC (rev 290264) +++ trunk/Source/_javascript_Core/ChangeLog 2022-02-21 21:29:03 UTC (rev 290265) @@ -1,5 +1,20 @@ 2022-02-21 Yusuke Suzuki +[JSC] Add explicit exception check after appendWithoutSideEffects +https://bugs.webkit.org/show_bug.cgi?id=236986 +rdar://88258776 + +Reviewed by Saam Barati. + +Add exception check after JSStringJoiner::appendWithoutSideEffects call since JSString::value can throw OOM error. + +* runtime/ArrayPrototype.cpp: +(JSC::JSC_DEFINE_HOST_FUNCTION): +* runtime/JSStringJoiner.h: +(JSC::JSStringJoiner::append): + +2022-02-21 Yusuke Suzuki + [JSC] Add CalendarDateTime parsing https://bugs.webkit.org/show_bug.cgi?id=236886 Modified: trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp (290264 => 290265) --- trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2022-02-21 21:27:46 UTC (rev 290264) +++ trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp 2022-02-21 21:29:03 UTC (rev 290265) @@ -636,7 +636,6 @@ if (LIKELY(canUseFastJoin(thisArray))) { const LChar comma = ','; -scope.release(); bool isCoW = isCopyOnWrite(thisArray->indexingMode()); JSImmutableButterfly* immutableButterfly = nullptr; Modified: trunk/Source/_javascript_Core/runtime/JSStringJoiner.h (290264 => 290265) --- trunk/Source/_javascript_Core/runtime/JSStringJoiner.h 2022-02-21 21:27:46 UTC (rev 290264) +++ trunk/Source/_javascript_Core/runtime/JSStringJoiner.h 2022-02-21 21:29:03 UTC (rev 290265) @@ -152,6 +152,7 @@ auto scope = DECLARE_THROW_SCOPE(vm); bool success = appendWithoutSideEffects(globalObject, value); +RETURN_IF_EXCEPTION(scope, void()); if (!success) { JSString* jsString = value.toString(globalObject); RETURN_IF_EXCEPTION(scope, void()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290264] trunk/Source/WebGPU
Title: [290264] trunk/Source/WebGPU Revision 290264 Author mmaxfi...@apple.com Date 2022-02-21 13:27:46 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 9: Basic implementation of bindings https://bugs.webkit.org/show_bug.cgi?id=236903 Reviewed by Dean Jackson. This is a basic implementation of the BindGroup, BindGroupLayout, and PipelineLayout methods. Eventually we'll want to suballocate multiple BindGroups so they coexist within the same Buffer, but this is an initial simple implementation that doesn't do that. * WebGPU/BindGroup.h: (WebGPU::BindGroup::vertexArgumentBuffer const): (WebGPU::BindGroup::fragmentArgumentBuffer const): (WebGPU::BindGroup::computeArgumentBuffer const): * WebGPU/BindGroup.mm: (WebGPU::bufferIsPresent): (WebGPU::samplerIsPresent): (WebGPU::textureViewIsPresent): (WebGPU::Device::createBindGroup): (WebGPU::BindGroup::BindGroup): (WebGPU::BindGroup::setLabel): * WebGPU/BindGroupLayout.h: (WebGPU::BindGroupLayout::vertexArgumentEncoder const): (WebGPU::BindGroupLayout::fragmentArgumentEncoder const): (WebGPU::BindGroupLayout::computeArgumentEncoder const): * WebGPU/BindGroupLayout.mm: (WebGPU::isPresent): (WebGPU::createArgumentDescriptor): (WebGPU::Device::createBindGroupLayout): (WebGPU::BindGroupLayout::BindGroupLayout): (WebGPU::BindGroupLayout::setLabel): (WebGPU::BindGroupLayout::encodedLength const): * WebGPU/Buffer.h: (WebGPU::Buffer::buffer const): * WebGPU/Buffer.mm: (WebGPU::Buffer::Buffer): * WebGPU/PipelineLayout.h: (WebGPU::PipelineLayout::create): (WebGPU::PipelineLayout::numberOfBindGroupLayouts const): (WebGPU::PipelineLayout::bindGroupLayout const): * WebGPU/PipelineLayout.mm: (WebGPU::Device::createPipelineLayout): (WebGPU::PipelineLayout::PipelineLayout): (WebGPU::PipelineLayout::setLabel): * WebGPU/Sampler.h: (WebGPU::Sampler::samplerState const): * WebGPU/Sampler.mm: (WebGPU::Sampler::Sampler): * WebGPU/TextureView.h: (WebGPU::TextureView::texture const): * WebGPU/TextureView.mm: (WebGPU::TextureView::TextureView): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/BindGroup.h trunk/Source/WebGPU/WebGPU/BindGroup.mm trunk/Source/WebGPU/WebGPU/BindGroupLayout.h trunk/Source/WebGPU/WebGPU/BindGroupLayout.mm trunk/Source/WebGPU/WebGPU/Buffer.h trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/PipelineLayout.h trunk/Source/WebGPU/WebGPU/PipelineLayout.mm trunk/Source/WebGPU/WebGPU/Sampler.h trunk/Source/WebGPU/WebGPU/Sampler.mm trunk/Source/WebGPU/WebGPU/TextureView.h trunk/Source/WebGPU/WebGPU/TextureView.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290263 => 290264) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 21:20:12 UTC (rev 290263) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 21:27:46 UTC (rev 290264) @@ -1,5 +1,59 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 9: Basic implementation of bindings +https://bugs.webkit.org/show_bug.cgi?id=236903 + +Reviewed by Dean Jackson. + +This is a basic implementation of the BindGroup, BindGroupLayout, and PipelineLayout methods. +Eventually we'll want to suballocate multiple BindGroups so they coexist within the same Buffer, +but this is an initial simple implementation that doesn't do that. + +* WebGPU/BindGroup.h: +(WebGPU::BindGroup::vertexArgumentBuffer const): +(WebGPU::BindGroup::fragmentArgumentBuffer const): +(WebGPU::BindGroup::computeArgumentBuffer const): +* WebGPU/BindGroup.mm: +(WebGPU::bufferIsPresent): +(WebGPU::samplerIsPresent): +(WebGPU::textureViewIsPresent): +(WebGPU::Device::createBindGroup): +(WebGPU::BindGroup::BindGroup): +(WebGPU::BindGroup::setLabel): +* WebGPU/BindGroupLayout.h: +(WebGPU::BindGroupLayout::vertexArgumentEncoder const): +(WebGPU::BindGroupLayout::fragmentArgumentEncoder const): +(WebGPU::BindGroupLayout::computeArgumentEncoder const): +* WebGPU/BindGroupLayout.mm: +(WebGPU::isPresent): +(WebGPU::createArgumentDescriptor): +(WebGPU::Device::createBindGroupLayout): +(WebGPU::BindGroupLayout::BindGroupLayout): +(WebGPU::BindGroupLayout::setLabel): +(WebGPU::BindGroupLayout::encodedLength const): +* WebGPU/Buffer.h: +(WebGPU::Buffer::buffer const): +* WebGPU/Buffer.mm: +(WebGPU::Buffer::Buffer): +* WebGPU/PipelineLayout.h: +(WebGPU::PipelineLayout::create): +(WebGPU::PipelineLayout::numberOfBindGroupLayouts const): +(WebGPU::PipelineLayout::bindGroupLayout const): +* WebGPU/PipelineLayout.mm: +(WebGPU::Device::createPipelineLayout): +(WebGPU::PipelineLayout::PipelineLayout): +(WebGPU::PipelineLayout::setLabel): +* WebGPU/Sampler.h: +(WebGPU::Sampler::samplerState const): +* WebGPU/Sampler.mm: +(WebGPU::Sampler::Sampler): +*
[webkit-changes] [290263] trunk/LayoutTests
Title: [290263] trunk/LayoutTests Revision 290263 Author hironori.fu...@sony.com Date 2022-02-21 13:20:12 -0800 (Mon, 21 Feb 2022) Log Message [WinCairo] Unreviewed test gardening * platform/wincairo/TestExpectations: * platform/wincairo/fast/css/font-face-implicit-local-font-expected.txt: * platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt: * platform/wincairo/fast/text/international/bidi-override-expected.txt: * platform/wincairo/fast/text/international/text-combine-image-test-expected.txt: * platform/wincairo/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/wincairo/TestExpectations trunk/LayoutTests/platform/wincairo/fast/css/font-face-implicit-local-font-expected.txt trunk/LayoutTests/platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt trunk/LayoutTests/platform/wincairo/fast/text/international/bidi-override-expected.txt trunk/LayoutTests/platform/wincairo/fast/text/international/text-combine-image-test-expected.txt trunk/LayoutTests/platform/wincairo/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (290262 => 290263) --- trunk/LayoutTests/ChangeLog 2022-02-21 20:49:00 UTC (rev 290262) +++ trunk/LayoutTests/ChangeLog 2022-02-21 21:20:12 UTC (rev 290263) @@ -1,3 +1,14 @@ +2022-02-21 Fujii Hironori + +[WinCairo] Unreviewed test gardening + +* platform/wincairo/TestExpectations: +* platform/wincairo/fast/css/font-face-implicit-local-font-expected.txt: +* platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt: +* platform/wincairo/fast/text/international/bidi-override-expected.txt: +* platform/wincairo/fast/text/international/text-combine-image-test-expected.txt: +* platform/wincairo/fast/text/whitespace/nbsp-mode-and-linewraps-expected.txt: + 2022-02-21 Rob Buis Null check parent node in outdentParagraph Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (290262 => 290263) --- trunk/LayoutTests/platform/wincairo/TestExpectations 2022-02-21 20:49:00 UTC (rev 290262) +++ trunk/LayoutTests/platform/wincairo/TestExpectations 2022-02-21 21:20:12 UTC (rev 290263) @@ -390,13 +390,6 @@ webkit.org/b/219842 fast/events/wheel/wheel-events-become-non-cancelable.html [ Skip ] # Needs WebGL video texture support -webgl/1.0.3/conformance/extensions/oes-texture-float-with-video.html [ Skip ] -webgl/1.0.3/conformance/extensions/oes-texture-half-float-with-video.html [ Skip ] -webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html [ Skip ] -webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba.html [ Skip ] -webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html [ Skip ] -webgl/1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-video.html [ Skip ] -webgl/1.0.x/conformance/textures/misc/texture-corner-case-videos.html [ Skip ] webgl/2.0.0/conformance/extensions/oes-texture-float-with-video.html [ Skip ] webgl/2.0.0/conformance/extensions/oes-texture-half-float-with-video.html [ Skip ] webgl/2.0.0/conformance/textures/image_bitmap_from_video [ Skip ] @@ -531,7 +524,6 @@ css3/masking/clip-path-reference.html [ ImageOnlyFailure ] css3/masking/mask-repeat-space-border.html [ ImageOnlyFailure ] css3/masking/mask-repeat-space-content.html [ ImageOnlyFailure ] -css3/masking/mask-repeat-space-padding.html [ ImageOnlyFailure ] fast/css/absolute-child-with-percent-height-inside-relative-parent.html [ Failure ] fast/css/background-image-with-baseurl.html [ Failure ] @@ -826,7 +818,6 @@ http/tests/misc/form-submit-file-cross-site.html [ Skip ] http/tests/misc/link-rel-icon-beforeload.html [ Failure ] http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml [ Failure ] -http/tests/misc/submit-post-keygen.html [ Skip ] http/tests/misc/timer-vs-loading.html [ Skip ] http/tests/misc/webtiming-cross-origin-and-back1.html [ Failure Pass ] http/tests/misc/webtiming-no-origin.html [ Failure Pass ] @@ -848,6 +839,7 @@ http/tests/plugins [ Skip ] http/tests/pointer-lock [ Skip ] http/tests/preconnect [ Skip ] +http/tests/push-api [ Skip ] http/tests/preload [ Skip ] http/tests/quicklook [ Skip ] http/tests/referrer-policy-iframe [ Skip ] @@ -996,7 +988,7 @@ imported/blink/compositing/video/video-controls-layer-creation-squashing.html [ Skip ] -# WinCairo DRT and WTR don't support pixel dump yet +# WinCairo DRT doesn't support pixel dump yet webkit.org/b/215041 webgl/smell-test.html [ Skip ] webkit.org/b/215041 webgl/webgl-backing-store-size-update.html [ Skip ] webkit.org/b/215041 webgl/webgl-border.html [ Skip ] @@ -1682,6 +1674,8 @@ userscripts [ Skip ] webanimations [ Skip ] webexposed [ Skip ] +webgl/1.0.3 [ Skip ] +webgl/1.0.x [ Skip ]
[webkit-changes] [290262] trunk/Source/WebGPU
Title: [290262] trunk/Source/WebGPU Revision 290262 Author mmaxfi...@apple.com Date 2022-02-21 12:49:00 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 8: Basic implementation of device creation routines https://bugs.webkit.org/show_bug.cgi?id=236902 Reviewed by Dean Jackson. This is a basic implementation of the Instance, Adapter, and Device methods. Device limits are not implemented yet, so for now we claim every limits is 0. * WebGPU/Adapter.mm: (WebGPU::Adapter::Adapter): (WebGPU::Adapter::enumerateFeatures): (WebGPU::Adapter::getLimits): (WebGPU::Adapter::getProperties): (WebGPU::Adapter::hasFeature): (WebGPU::deviceMeetsRequiredLimits): (WebGPU::Adapter::requestDevice): * WebGPU/Device.h: * WebGPU/Device.mm: (WebGPU::Device::create): (WebGPU::Device::Device): (WebGPU::Device::destroy): (WebGPU::Device::enumerateFeatures): (WebGPU::Device::getLimits): (WebGPU::Device::getQueue): (WebGPU::Device::hasFeature): (WebGPU::Device::popErrorScope): (WebGPU::Device::pushErrorScope): (WebGPU::Device::setDeviceLostCallback): (WebGPU::Device::setUncapturedErrorCallback): (WebGPU::Device::setLabel): * WebGPU/Instance.mm: (WebGPU::sortedDevices): (WebGPU::Instance::requestAdapter): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Adapter.mm trunk/Source/WebGPU/WebGPU/Device.h trunk/Source/WebGPU/WebGPU/Device.mm trunk/Source/WebGPU/WebGPU/Instance.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290261 => 290262) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 20:42:43 UTC (rev 290261) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 20:49:00 UTC (rev 290262) @@ -1,5 +1,41 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 8: Basic implementation of device creation routines +https://bugs.webkit.org/show_bug.cgi?id=236902 + +Reviewed by Dean Jackson. + +This is a basic implementation of the Instance, Adapter, and Device methods. Device limits are not +implemented yet, so for now we claim every limits is 0. + +* WebGPU/Adapter.mm: +(WebGPU::Adapter::Adapter): +(WebGPU::Adapter::enumerateFeatures): +(WebGPU::Adapter::getLimits): +(WebGPU::Adapter::getProperties): +(WebGPU::Adapter::hasFeature): +(WebGPU::deviceMeetsRequiredLimits): +(WebGPU::Adapter::requestDevice): +* WebGPU/Device.h: +* WebGPU/Device.mm: +(WebGPU::Device::create): +(WebGPU::Device::Device): +(WebGPU::Device::destroy): +(WebGPU::Device::enumerateFeatures): +(WebGPU::Device::getLimits): +(WebGPU::Device::getQueue): +(WebGPU::Device::hasFeature): +(WebGPU::Device::popErrorScope): +(WebGPU::Device::pushErrorScope): +(WebGPU::Device::setDeviceLostCallback): +(WebGPU::Device::setUncapturedErrorCallback): +(WebGPU::Device::setLabel): +* WebGPU/Instance.mm: +(WebGPU::sortedDevices): +(WebGPU::Instance::requestAdapter): + +2022-02-21 Myles C. Maxfield + [WebGPU] Tracer bullet part 7: Clean up includes a bit https://bugs.webkit.org/show_bug.cgi?id=236900 Modified: trunk/Source/WebGPU/WebGPU/Adapter.mm (290261 => 290262) --- trunk/Source/WebGPU/WebGPU/Adapter.mm 2022-02-21 20:42:43 UTC (rev 290261) +++ trunk/Source/WebGPU/WebGPU/Adapter.mm 2022-02-21 20:49:00 UTC (rev 290262) @@ -34,38 +34,95 @@ Adapter::Adapter(id device) : m_device(device) { -UNUSED_VARIABLE(m_device); } Adapter::~Adapter() = default; -size_t Adapter::enumerateFeatures(WGPUFeatureName* features) +size_t Adapter::enumerateFeatures(WGPUFeatureName*) { -UNUSED_PARAM(features); +// We support no optional features right now. return 0; } bool Adapter::getLimits(WGPUSupportedLimits* limits) { -UNUSED_PARAM(limits); +if (limits->nextInChain != nullptr) +return false; + +// FIXME: Implement this. +limits->limits = { }; return true; } void Adapter::getProperties(WGPUAdapterProperties* properties) { -UNUSED_PARAM(properties); +// FIXME: What should the vendorID and deviceID be? +properties->vendorID = 0; +properties->deviceID = 0; +properties->name = m_device.name.UTF8String; +properties->driverDescription = ""; +properties->adapterType = m_device.hasUnifiedMemory ? WGPUAdapterType_IntegratedGPU : WGPUAdapterType_DiscreteGPU; +properties->backendType = WGPUBackendType_Metal; } -bool Adapter::hasFeature(WGPUFeatureName feature) +bool Adapter::hasFeature(WGPUFeatureName) { -UNUSED_PARAM(feature); +// We support no optional features right now. return false; } +static bool deviceMeetsRequiredLimits(id , const WGPURequiredLimits& requiredLimits) +{ +// FIXME: Implement this. +return !requiredLimits.nextInChain +&& !requiredLimits.limits.maxTextureDimension1D +&& !requiredLimits.limits.maxTextureDimension2D +&&
[webkit-changes] [290261] trunk/Tools
Title: [290261] trunk/Tools Revision 290261 Author jbed...@apple.com Date 2022-02-21 12:42:43 -0800 (Mon, 21 Feb 2022) Log Message [webkitcorepy] Support local library in existing path https://bugs.webkit.org/show_bug.cgi?id=236978 Reviewed by Dewei Zhu. * Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version. * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: (AutoInstall.register): Handle case where library is in an exisiting sys.path. Canonical link: https://commits.webkit.org/247586@main Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/libraries/webkitcorepy/setup.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py Diff Modified: trunk/Tools/ChangeLog (290260 => 290261) --- trunk/Tools/ChangeLog 2022-02-21 20:11:29 UTC (rev 290260) +++ trunk/Tools/ChangeLog 2022-02-21 20:42:43 UTC (rev 290261) @@ -1,3 +1,16 @@ +2022-02-21 Jonathan Bedard + +[webkitcorepy] Support local library in existing path +https://bugs.webkit.org/show_bug.cgi?id=236978 + + +Reviewed by Dewei Zhu. + +* Scripts/libraries/webkitcorepy/setup.py: Bump version. +* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. +* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: +(AutoInstall.register): Handle case where library is in an exisiting sys.path. + 2022-02-17 Jonathan Bedard [run-webkit-tests] Use Python 3 (Part 1) Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (290260 => 290261) --- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2022-02-21 20:11:29 UTC (rev 290260) +++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2022-02-21 20:42:43 UTC (rev 290261) @@ -30,7 +30,7 @@ setup( name='webkitcorepy', -version='0.13.0', +version='0.13.1', description='Library containing various Python support classes and functions.', long_description=readme(), classifiers=[ Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (290260 => 290261) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2022-02-21 20:11:29 UTC (rev 290260) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2022-02-21 20:42:43 UTC (rev 290261) @@ -44,7 +44,7 @@ from webkitcorepy.editor import Editor from webkitcorepy.file_lock import FileLock -version = Version(0, 13, 0) +version = Version(0, 13, 1) from webkitcorepy.autoinstall import Package, AutoInstall if sys.version_info > (3, 0): Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py (290260 => 290261) --- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2022-02-21 20:11:29 UTC (rev 290260) +++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py 2022-02-21 20:42:43 UTC (rev 290261) @@ -563,16 +563,18 @@ if local: if package.name == 'autoinstalled': raise ValueError("local package name 'autoinstalled' is forbidden") -libraries = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__ +containing_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +libraries = os.path.dirname(containing_path) checkout_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(libraries for candidate in [ +containing_path, os.path.join(libraries, package.pypi_name), os.path.join(checkout_root, 'Internal', 'Tools', 'Scripts', 'libraries', package.pypi_name), ]: -if candidate in sys.path: -return package if not os.path.isdir(os.path.join(candidate, package.name)): continue +if candidate in sys.path: +return [package] sys.path.insert(0, candidate) return [package] else: ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290259] trunk/Source/WebGPU
Title: [290259] trunk/Source/WebGPU Revision 290259 Author mmaxfi...@apple.com Date 2022-02-21 12:03:53 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 7: Clean up includes a bit https://bugs.webkit.org/show_bug.cgi?id=236900 Reviewed by Dean Jackson. We can put includes that literally every file uses into a single place. * WebGPU/Adapter.h: * WebGPU/Adapter.mm: * WebGPU/BindGroup.h: * WebGPU/BindGroup.mm: * WebGPU/BindGroupLayout.h: * WebGPU/BindGroupLayout.mm: * WebGPU/Buffer.h: * WebGPU/Buffer.mm: * WebGPU/CommandBuffer.h: * WebGPU/CommandBuffer.mm: * WebGPU/CommandEncoder.h: * WebGPU/CommandEncoder.mm: * WebGPU/ComputePassEncoder.h: * WebGPU/ComputePassEncoder.mm: * WebGPU/ComputePipeline.h: * WebGPU/ComputePipeline.mm: * WebGPU/Device.h: * WebGPU/Device.mm: * WebGPU/Instance.h: * WebGPU/Instance.mm: * WebGPU/PipelineLayout.h: * WebGPU/PipelineLayout.mm: * WebGPU/QuerySet.h: * WebGPU/QuerySet.mm: * WebGPU/Queue.h: * WebGPU/Queue.mm: * WebGPU/RenderBundle.h: * WebGPU/RenderBundle.mm: * WebGPU/RenderBundleEncoder.h: * WebGPU/RenderBundleEncoder.mm: * WebGPU/RenderPassEncoder.h: * WebGPU/RenderPassEncoder.mm: * WebGPU/RenderPipeline.h: * WebGPU/RenderPipeline.mm: * WebGPU/Sampler.h: * WebGPU/Sampler.mm: * WebGPU/ShaderModule.h: * WebGPU/ShaderModule.mm: * WebGPU/Surface.h: * WebGPU/Surface.mm: * WebGPU/SwapChain.h: * WebGPU/SwapChain.mm: * WebGPU/Texture.h: * WebGPU/Texture.mm: * WebGPU/TextureView.h: * WebGPU/TextureView.mm: * WebGPU/config.h: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Adapter.h trunk/Source/WebGPU/WebGPU/Adapter.mm trunk/Source/WebGPU/WebGPU/BindGroup.h trunk/Source/WebGPU/WebGPU/BindGroup.mm trunk/Source/WebGPU/WebGPU/BindGroupLayout.h trunk/Source/WebGPU/WebGPU/BindGroupLayout.mm trunk/Source/WebGPU/WebGPU/Buffer.h trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/CommandBuffer.h trunk/Source/WebGPU/WebGPU/CommandBuffer.mm trunk/Source/WebGPU/WebGPU/CommandEncoder.h trunk/Source/WebGPU/WebGPU/CommandEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePassEncoder.h trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePipeline.h trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/Device.h trunk/Source/WebGPU/WebGPU/Device.mm trunk/Source/WebGPU/WebGPU/Instance.h trunk/Source/WebGPU/WebGPU/Instance.mm trunk/Source/WebGPU/WebGPU/PipelineLayout.h trunk/Source/WebGPU/WebGPU/PipelineLayout.mm trunk/Source/WebGPU/WebGPU/QuerySet.h trunk/Source/WebGPU/WebGPU/QuerySet.mm trunk/Source/WebGPU/WebGPU/Queue.h trunk/Source/WebGPU/WebGPU/Queue.mm trunk/Source/WebGPU/WebGPU/RenderBundle.h trunk/Source/WebGPU/WebGPU/RenderBundle.mm trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.h trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPassEncoder.h trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPipeline.h trunk/Source/WebGPU/WebGPU/RenderPipeline.mm trunk/Source/WebGPU/WebGPU/Sampler.h trunk/Source/WebGPU/WebGPU/Sampler.mm trunk/Source/WebGPU/WebGPU/ShaderModule.h trunk/Source/WebGPU/WebGPU/ShaderModule.mm trunk/Source/WebGPU/WebGPU/Surface.h trunk/Source/WebGPU/WebGPU/Surface.mm trunk/Source/WebGPU/WebGPU/SwapChain.h trunk/Source/WebGPU/WebGPU/SwapChain.mm trunk/Source/WebGPU/WebGPU/Texture.h trunk/Source/WebGPU/WebGPU/Texture.mm trunk/Source/WebGPU/WebGPU/TextureView.h trunk/Source/WebGPU/WebGPU/TextureView.mm trunk/Source/WebGPU/WebGPU/config.h Diff Modified: trunk/Source/WebGPU/ChangeLog (290258 => 290259) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 19:58:46 UTC (rev 290258) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 20:03:53 UTC (rev 290259) @@ -1,5 +1,62 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 7: Clean up includes a bit +https://bugs.webkit.org/show_bug.cgi?id=236900 + +Reviewed by Dean Jackson. + +We can put includes that literally every file uses into a single place. + +* WebGPU/Adapter.h: +* WebGPU/Adapter.mm: +* WebGPU/BindGroup.h: +* WebGPU/BindGroup.mm: +* WebGPU/BindGroupLayout.h: +* WebGPU/BindGroupLayout.mm: +* WebGPU/Buffer.h: +* WebGPU/Buffer.mm: +* WebGPU/CommandBuffer.h: +* WebGPU/CommandBuffer.mm: +* WebGPU/CommandEncoder.h: +* WebGPU/CommandEncoder.mm: +* WebGPU/ComputePassEncoder.h: +* WebGPU/ComputePassEncoder.mm: +* WebGPU/ComputePipeline.h: +* WebGPU/ComputePipeline.mm: +* WebGPU/Device.h: +* WebGPU/Device.mm: +* WebGPU/Instance.h: +* WebGPU/Instance.mm: +* WebGPU/PipelineLayout.h: +* WebGPU/PipelineLayout.mm: +* WebGPU/QuerySet.h: +* WebGPU/QuerySet.mm: +* WebGPU/Queue.h: +* WebGPU/Queue.mm: +* WebGPU/RenderBundle.h: +* WebGPU/RenderBundle.mm: +* WebGPU/RenderBundleEncoder.h: +*
[webkit-changes] [290258] trunk/Source/WebGPU
Title: [290258] trunk/Source/WebGPU Revision 290258 Author mmaxfi...@apple.com Date 2022-02-21 11:58:46 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 6: Give a RunLoop to Instance https://bugs.webkit.org/show_bug.cgi?id=236899 Reviewed by Dean Jackson. The shared header has a function, wgpuInstanceProcessEvents(), which is supposed to synchronously call all outstanding callbacks. A natural way to do this is to hook this up to [NSRunLoop runMode:beforeDate:]. * WebGPU/Instance.h: (WebGPU::Instance::runLoop const): (WebGPU::Instance::create): Deleted. * WebGPU/Instance.mm: (WebGPU::Instance::create): (WebGPU::Instance::Instance): (WebGPU::Instance::createSurface): (WebGPU::Instance::processEvents): (wgpuCreateInstance): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Instance.h trunk/Source/WebGPU/WebGPU/Instance.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290257 => 290258) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 19:48:07 UTC (rev 290257) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 19:58:46 UTC (rev 290258) @@ -1,5 +1,26 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 6: Give a RunLoop to Instance +https://bugs.webkit.org/show_bug.cgi?id=236899 + +Reviewed by Dean Jackson. + +The shared header has a function, wgpuInstanceProcessEvents(), which is supposed +to synchronously call all outstanding callbacks. A natural way to do this is to +hook this up to [NSRunLoop runMode:beforeDate:]. + +* WebGPU/Instance.h: +(WebGPU::Instance::runLoop const): +(WebGPU::Instance::create): Deleted. +* WebGPU/Instance.mm: +(WebGPU::Instance::create): +(WebGPU::Instance::Instance): +(WebGPU::Instance::createSurface): +(WebGPU::Instance::processEvents): +(wgpuCreateInstance): + +2022-02-21 Myles C. Maxfield + [WebGPU] Tracer bullet part 5: Give Metal objects to WebGPU objects https://bugs.webkit.org/show_bug.cgi?id=236898 Modified: trunk/Source/WebGPU/WebGPU/Instance.h (290257 => 290258) --- trunk/Source/WebGPU/WebGPU/Instance.h 2022-02-21 19:48:07 UTC (rev 290257) +++ trunk/Source/WebGPU/WebGPU/Instance.h 2022-02-21 19:58:46 UTC (rev 290258) @@ -26,6 +26,7 @@ #pragma once #import "WebGPU.h" +#import #import #import #import @@ -40,10 +41,7 @@ class Instance : public RefCounted { WTF_MAKE_FAST_ALLOCATED; public: -static Ref create() -{ -return adoptRef(*new Instance()); -} +static RefPtr create(const WGPUInstanceDescriptor*); ~Instance(); @@ -51,8 +49,12 @@ void processEvents(); void requestAdapter(const WGPURequestAdapterOptions*, WTF::Function&&, const char*)>&& callback); +NSRunLoop *runLoop() const { return m_runLoop; } + private: -Instance(); +Instance(NSRunLoop *); + +NSRunLoop *m_runLoop; }; } // namespace WebGPU Modified: trunk/Source/WebGPU/WebGPU/Instance.mm (290257 => 290258) --- trunk/Source/WebGPU/WebGPU/Instance.mm 2022-02-21 19:48:07 UTC (rev 290257) +++ trunk/Source/WebGPU/WebGPU/Instance.mm 2022-02-21 19:58:46 UTC (rev 290258) @@ -34,12 +34,30 @@ namespace WebGPU { -Instance::Instance() = default; +static constexpr NSString *runLoopMode = @"kCFRunLoopWebGPUMode"; +RefPtr Instance::create(const WGPUInstanceDescriptor* descriptor) +{ +if (descriptor->nextInChain) +return nullptr; + +NSRunLoop *runLoop = NSRunLoop.currentRunLoop; +if (!runLoop) +return nullptr; + +return adoptRef(*new Instance(runLoop)); +} + +Instance::Instance(NSRunLoop *runLoop) +: m_runLoop(runLoop) +{ +} + Instance::~Instance() = default; RefPtr Instance::createSurface(const WGPUSurfaceDescriptor* descriptor) { +// FIXME: Implement this. UNUSED_PARAM(descriptor); return Surface::create(); } @@ -46,6 +64,15 @@ void Instance::processEvents() { +// NSRunLoops are not thread-safe, but then again neither is WebGPU. +// If the caller does all the necessary synchronization themselves, this will be safe. +// In that situation, we have to make sure we're using the run loop we were created on, +// so tasks that were queued up on one thread actually get executed here, even if +// this is executing on a different thread. +BOOL result; +do { +result = [m_runLoop runMode:runLoopMode beforeDate:[NSDate date]]; +} while (result); } void Instance::requestAdapter(const WGPURequestAdapterOptions* options, WTF::Function&&, const char*)>&& callback) @@ -64,8 +91,8 @@ WGPUInstance wgpuCreateInstance(const WGPUInstanceDescriptor* descriptor) { -UNUSED_PARAM(descriptor); -return new WGPUInstanceImpl { WebGPU::Instance::create() }; +auto result = WebGPU::Instance::create(descriptor); +return result ? new WGPUInstanceImpl { result.releaseNonNull() } : nullptr; } WGPUProc wgpuGetProcAddress(WGPUDevice device, const
[webkit-changes] [290257] trunk
Title: [290257] trunk Revision 290257 Author an...@apple.com Date 2022-02-21 11:48:07 -0800 (Mon, 21 Feb 2022) Log Message [CSS Container Queries] Support nested container queries https://bugs.webkit.org/show_bug.cgi?id=236963 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt: Added. * web-platform-tests/css/css-contain/container-queries/container-nested.html: Added. Source/WebCore: "Style rules defined on an element inside multiple nested container queries apply when all of the wrapping container queries are true for that element." https://drafts.csswg.org/css-contain-3/#container-rule Test: imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html * style/ElementRuleCollector.cpp: (WebCore::Style::ElementRuleCollector::collectMatchingRulesForList): (WebCore::Style::ElementRuleCollector::containerQueriesMatch): All nested queries need to match. (WebCore::Style::ElementRuleCollector::containerQueryMatches): Deleted. * style/ElementRuleCollector.h: * style/RuleSet.h: (WebCore::Style::RuleSet::hasContainerQueries const): (WebCore::Style:: const): (WebCore::Style::RuleSet::containerQueryFor const): Deleted. Return all nested queries. Don't unnecessarily copy FilteredContainerQuery, refer to the StyleRuleContainer instead. * style/RuleSetBuilder.cpp: (WebCore::Style::RuleSetBuilder::addChildRules): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/style/ElementRuleCollector.cpp trunk/Source/WebCore/style/ElementRuleCollector.h trunk/Source/WebCore/style/RuleSet.h trunk/Source/WebCore/style/RuleSetBuilder.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (290256 => 290257) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-21 19:32:30 UTC (rev 290256) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-21 19:48:07 UTC (rev 290257) @@ -1,3 +1,13 @@ +2022-02-21 Antti Koivisto + +[CSS Container Queries] Support nested container queries +https://bugs.webkit.org/show_bug.cgi?id=236963 + +Reviewed by Simon Fraser. + +* web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt: Added. +* web-platform-tests/css/css-contain/container-queries/container-nested.html: Added. + 2022-02-21 Noam Rosenthal PerformanceObserver: buffered flag not working in Paint Timing Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt (0 => 290257) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested-expected.txt 2022-02-21 19:48:07 UTC (rev 290257) @@ -0,0 +1,16 @@ + +PASS Nearest +PASS Nearest, outer failing +PASS Nearest, inner failing +PASS Outer named, inner named +PASS Outer named, inner named (reverse) +PASS Failing outer name +PASS Failing inner name +PASS Outer named, inner nearest +PASS Inner named, outer nearest +PASS Inner named, outer nearest (reverse) +PASS Three levels +PASS Three levels, middle fail +PASS Named inner invalidation +PASS Nearest outer invalidation + Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html (0 => 290257) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-nested.html 2022-02-21 19:48:07 UTC (rev 290257) @@ -0,0 +1,235 @@ + +@container (nested) + + +#outer { + container-name: outer; + container-type: size; + width: 100px; + height: 100px; +} + +#inner { + container-name: inner; + container-type: size; + width: 50px; + height: 50px; +} + + + + + + + + setup(() => assert_implements_container_queries()); + + + + + @container size(width: 50px) { +@container size(height: 50px) { + #child { --nearest:true; } +} + } + + + test(() => { +assert_equals(getComputedStyle(child).getPropertyValue('--nearest'), 'true'); + }, 'Nearest'); + + + + + @container size(width: 70px) { +@container size(height: 50px) { + #child { --nearest-outer-fail:true; } +} + } + + + test(() => { +assert_equals(getComputedStyle(child).getPropertyValue('--nearest-outer-fail'), ''); + }, 'Nearest, outer failing'); + + + + + @container size(width: 50px) { +@container size(height: 70px) { + #child { --nearest-inner-fail:true; } +}
[webkit-changes] [290256] trunk/Source/WebGPU
Title: [290256] trunk/Source/WebGPU Revision 290256 Author mmaxfi...@apple.com Date 2022-02-21 11:32:30 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 5: Give Metal objects to WebGPU objects https://bugs.webkit.org/show_bug.cgi?id=236898 Reviewed by Dean Jackson. Each WebGPU object gets its own backing Metal object. * WebGPU/Adapter.h: (WebGPU::Adapter::create): * WebGPU/Adapter.mm: (WebGPU::Adapter::Adapter): * WebGPU/BindGroup.h: (WebGPU::BindGroup::create): * WebGPU/BindGroup.mm: (WebGPU::Device::createBindGroup): (WebGPU::BindGroup::BindGroup): * WebGPU/BindGroupLayout.h: (WebGPU::BindGroupLayout::create): * WebGPU/BindGroupLayout.mm: (WebGPU::Device::createBindGroupLayout): (WebGPU::BindGroupLayout::BindGroupLayout): * WebGPU/Buffer.h: (WebGPU::Buffer::create): * WebGPU/Buffer.mm: (WebGPU::Device::createBuffer): (WebGPU::Buffer::Buffer): * WebGPU/CommandBuffer.h: (WebGPU::CommandBuffer::create): * WebGPU/CommandBuffer.mm: (WebGPU::CommandBuffer::CommandBuffer): * WebGPU/CommandEncoder.h: (WebGPU::CommandEncoder::create): * WebGPU/CommandEncoder.mm: (WebGPU::Device::createCommandEncoder): (WebGPU::CommandEncoder::CommandEncoder): (WebGPU::CommandEncoder::beginComputePass): (WebGPU::CommandEncoder::beginRenderPass): (WebGPU::CommandEncoder::finish): * WebGPU/ComputePassEncoder.h: (WebGPU::ComputePassEncoder::create): * WebGPU/ComputePassEncoder.mm: (WebGPU::ComputePassEncoder::ComputePassEncoder): * WebGPU/ComputePipeline.h: (WebGPU::ComputePipeline::create): * WebGPU/ComputePipeline.mm: (WebGPU::Device::createComputePipeline): (WebGPU::ComputePipeline::ComputePipeline): (WebGPU::ComputePipeline::getBindGroupLayout): * WebGPU/Device.h: (WebGPU::Device::create): Deleted. * WebGPU/Device.mm: (WebGPU::Device::create): (WebGPU::Device::Device): (WebGPU::Device::getQueue): * WebGPU/Instance.h: * WebGPU/Instance.mm: (WebGPU::Instance::requestAdapter): (wgpuInstanceRequestAdapter): * WebGPU/QuerySet.h: (WebGPU::QuerySet::create): * WebGPU/QuerySet.mm: (WebGPU::Device::createQuerySet): (WebGPU::QuerySet::QuerySet): * WebGPU/Queue.h: (WebGPU::Queue::create): * WebGPU/Queue.mm: (WebGPU::Queue::Queue): * WebGPU/RenderBundle.h: (WebGPU::RenderBundle::create): * WebGPU/RenderBundle.mm: (WebGPU::RenderBundle::RenderBundle): * WebGPU/RenderBundleEncoder.h: (WebGPU::RenderBundleEncoder::create): * WebGPU/RenderBundleEncoder.mm: (WebGPU::Device::createRenderBundleEncoder): (WebGPU::RenderBundleEncoder::RenderBundleEncoder): (WebGPU::RenderBundleEncoder::finish): * WebGPU/RenderPassEncoder.h: (WebGPU::RenderPassEncoder::create): * WebGPU/RenderPassEncoder.mm: (WebGPU::RenderPassEncoder::RenderPassEncoder): * WebGPU/RenderPipeline.h: (WebGPU::RenderPipeline::create): * WebGPU/RenderPipeline.mm: (WebGPU::Device::createRenderPipeline): (WebGPU::RenderPipeline::RenderPipeline): (WebGPU::RenderPipeline::getBindGroupLayout): * WebGPU/Sampler.h: (WebGPU::Sampler::create): * WebGPU/Sampler.mm: (WebGPU::Device::createSampler): (WebGPU::Sampler::Sampler): * WebGPU/ShaderModule.h: (WebGPU::ShaderModule::create): * WebGPU/ShaderModule.mm: (WebGPU::Device::createShaderModule): (WebGPU::ShaderModule::ShaderModule): * WebGPU/SwapChain.mm: (WebGPU::SwapChain::getCurrentTextureView): * WebGPU/Texture.h: (WebGPU::Texture::create): * WebGPU/Texture.mm: (WebGPU::Device::createTexture): (WebGPU::Texture::Texture): (WebGPU::Texture::createView): * WebGPU/TextureView.h: (WebGPU::TextureView::create): * WebGPU/TextureView.mm: (WebGPU::TextureView::TextureView): * WebGPU/config.h: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/Adapter.h trunk/Source/WebGPU/WebGPU/Adapter.mm trunk/Source/WebGPU/WebGPU/BindGroup.h trunk/Source/WebGPU/WebGPU/BindGroup.mm trunk/Source/WebGPU/WebGPU/BindGroupLayout.h trunk/Source/WebGPU/WebGPU/BindGroupLayout.mm trunk/Source/WebGPU/WebGPU/Buffer.h trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/CommandBuffer.h trunk/Source/WebGPU/WebGPU/CommandBuffer.mm trunk/Source/WebGPU/WebGPU/CommandEncoder.h trunk/Source/WebGPU/WebGPU/CommandEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePassEncoder.h trunk/Source/WebGPU/WebGPU/ComputePassEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePipeline.h trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/Device.h trunk/Source/WebGPU/WebGPU/Device.mm trunk/Source/WebGPU/WebGPU/Instance.h trunk/Source/WebGPU/WebGPU/Instance.mm trunk/Source/WebGPU/WebGPU/QuerySet.h trunk/Source/WebGPU/WebGPU/QuerySet.mm trunk/Source/WebGPU/WebGPU/Queue.h trunk/Source/WebGPU/WebGPU/Queue.mm trunk/Source/WebGPU/WebGPU/RenderBundle.h trunk/Source/WebGPU/WebGPU/RenderBundle.mm trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.h trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPassEncoder.h trunk/Source/WebGPU/WebGPU/RenderPassEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPipeline.h trunk/Source/WebGPU/WebGPU/RenderPipeline.mm trunk/Source/WebGPU/WebGPU/Sampler.h
[webkit-changes] [290255] trunk/Source/WebGPU
Title: [290255] trunk/Source/WebGPU Revision 290255 Author mmaxfi...@apple.com Date 2022-02-21 11:23:34 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 4: Move Device's construction methods to the files of the things they create https://bugs.webkit.org/show_bug.cgi?id=236891 Reviewed by Dean Jackson. Device is kind of a factory object, and has lots of methods which create other objects in the API. To avoid Device.cpp becoming a catch-all place for tons of unrelated creation routines, this patch moves the routine that creates an X into X.mm. * WebGPU/BindGroup.mm: (WebGPU::Device::createBindGroup): * WebGPU/BindGroupLayout.mm: (WebGPU::Device::createBindGroupLayout): * WebGPU/Buffer.mm: (WebGPU::Device::createBuffer): * WebGPU/CommandEncoder.mm: (WebGPU::Device::createCommandEncoder): * WebGPU/ComputePipeline.mm: (WebGPU::Device::createComputePipeline): (WebGPU::Device::createComputePipelineAsync): * WebGPU/Device.mm: (WebGPU::Device::createBindGroup): Deleted. (WebGPU::Device::createBindGroupLayout): Deleted. (WebGPU::Device::createBuffer): Deleted. (WebGPU::Device::createCommandEncoder): Deleted. (WebGPU::Device::createComputePipeline): Deleted. (WebGPU::Device::createComputePipelineAsync): Deleted. (WebGPU::Device::createPipelineLayout): Deleted. (WebGPU::Device::createQuerySet): Deleted. (WebGPU::Device::createRenderBundleEncoder): Deleted. (WebGPU::Device::createRenderPipeline): Deleted. (WebGPU::Device::createRenderPipelineAsync): Deleted. (WebGPU::Device::createSampler): Deleted. (WebGPU::Device::createShaderModule): Deleted. (WebGPU::Device::createSwapChain): Deleted. (WebGPU::Device::createTexture): Deleted. * WebGPU/PipelineLayout.mm: (WebGPU::Device::createPipelineLayout): * WebGPU/QuerySet.mm: (WebGPU::Device::createQuerySet): * WebGPU/RenderBundleEncoder.mm: (WebGPU::Device::createRenderBundleEncoder): * WebGPU/RenderPipeline.mm: (WebGPU::Device::createRenderPipeline): (WebGPU::Device::createRenderPipelineAsync): * WebGPU/Sampler.mm: (WebGPU::Device::createSampler): * WebGPU/ShaderModule.mm: (WebGPU::Device::createShaderModule): * WebGPU/SwapChain.mm: (WebGPU::Device::createSwapChain): * WebGPU/Texture.mm: (WebGPU::Device::createTexture): Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU/BindGroup.mm trunk/Source/WebGPU/WebGPU/BindGroupLayout.mm trunk/Source/WebGPU/WebGPU/Buffer.mm trunk/Source/WebGPU/WebGPU/CommandEncoder.mm trunk/Source/WebGPU/WebGPU/ComputePipeline.mm trunk/Source/WebGPU/WebGPU/Device.mm trunk/Source/WebGPU/WebGPU/PipelineLayout.mm trunk/Source/WebGPU/WebGPU/QuerySet.mm trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm trunk/Source/WebGPU/WebGPU/RenderPipeline.mm trunk/Source/WebGPU/WebGPU/Sampler.mm trunk/Source/WebGPU/WebGPU/ShaderModule.mm trunk/Source/WebGPU/WebGPU/SwapChain.mm trunk/Source/WebGPU/WebGPU/Texture.mm Diff Modified: trunk/Source/WebGPU/ChangeLog (290254 => 290255) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 19:15:35 UTC (rev 290254) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 19:23:34 UTC (rev 290255) @@ -1,5 +1,62 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 4: Move Device's construction methods to the files of the things they create +https://bugs.webkit.org/show_bug.cgi?id=236891 + +Reviewed by Dean Jackson. + +Device is kind of a factory object, and has lots of methods which create +other objects in the API. To avoid Device.cpp becoming a catch-all place +for tons of unrelated creation routines, this patch moves the routine that +creates an X into X.mm. + +* WebGPU/BindGroup.mm: +(WebGPU::Device::createBindGroup): +* WebGPU/BindGroupLayout.mm: +(WebGPU::Device::createBindGroupLayout): +* WebGPU/Buffer.mm: +(WebGPU::Device::createBuffer): +* WebGPU/CommandEncoder.mm: +(WebGPU::Device::createCommandEncoder): +* WebGPU/ComputePipeline.mm: +(WebGPU::Device::createComputePipeline): +(WebGPU::Device::createComputePipelineAsync): +* WebGPU/Device.mm: +(WebGPU::Device::createBindGroup): Deleted. +(WebGPU::Device::createBindGroupLayout): Deleted. +(WebGPU::Device::createBuffer): Deleted. +(WebGPU::Device::createCommandEncoder): Deleted. +(WebGPU::Device::createComputePipeline): Deleted. +(WebGPU::Device::createComputePipelineAsync): Deleted. +(WebGPU::Device::createPipelineLayout): Deleted. +(WebGPU::Device::createQuerySet): Deleted. +(WebGPU::Device::createRenderBundleEncoder): Deleted. +(WebGPU::Device::createRenderPipeline): Deleted. +(WebGPU::Device::createRenderPipelineAsync): Deleted. +(WebGPU::Device::createSampler): Deleted. +(WebGPU::Device::createShaderModule): Deleted. +(WebGPU::Device::createSwapChain): Deleted. +(WebGPU::Device::createTexture): Deleted. +* WebGPU/PipelineLayout.mm: +
[webkit-changes] [290254] trunk/Source/WebCore
Title: [290254] trunk/Source/WebCore Revision 290254 Author zimmerm...@webkit.org Date 2022-02-21 11:15:35 -0800 (Mon, 21 Feb 2022) Log Message [LBSE] Implement SVG2 rules to establish a stacking context https://bugs.webkit.org/show_bug.cgi?id=236193 Reviewed by Rob Buis. Follow the rules specified in https://www.w3.org/TR/SVG2/render.html#RenderingOrder, when to create a stacking context. This is necessary to enforce layer creation. Unlike SVG 1.1, SVG2 defines its whole rendering model, as well as painting operations such as masking/clipping around the 'stacking-context' term that stems from CSS. The definition is backwards compatible with SVG 1.1, except for un-spec'ed territory missing from SVG 1.1, that's now specified for SVG2 (e.g. + stacking context). LBSE handles clipping / masking / etc. via RenderLayer, which is also responsbile for for stacking-context managment. Therefore we need to follow the existing rules to enforce a stacking context / RenderLayer creation in StyleAdjuster, by enforcing a non-auto 'used z-index'. Covered by existing tests, no change in behaviour. * style/StyleAdjuster.cpp: (WebCore::Style::Adjuster::adjustSVGElementStyle): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/style/StyleAdjuster.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (290253 => 290254) --- trunk/Source/WebCore/ChangeLog 2022-02-21 18:57:52 UTC (rev 290253) +++ trunk/Source/WebCore/ChangeLog 2022-02-21 19:15:35 UTC (rev 290254) @@ -1,3 +1,27 @@ +2022-02-21 Nikolas Zimmermann + +[LBSE] Implement SVG2 rules to establish a stacking context +https://bugs.webkit.org/show_bug.cgi?id=236193 + +Reviewed by Rob Buis. + +Follow the rules specified in https://www.w3.org/TR/SVG2/render.html#RenderingOrder, +when to create a stacking context. This is necessary to enforce layer creation. + +Unlike SVG 1.1, SVG2 defines its whole rendering model, as well as painting operations +such as masking/clipping around the 'stacking-context' term that stems from CSS. +The definition is backwards compatible with SVG 1.1, except for un-spec'ed territory +missing from SVG 1.1, that's now specified for SVG2 (e.g. + stacking context). + +LBSE handles clipping / masking / etc. via RenderLayer, which is also responsbile for +for stacking-context managment. Therefore we need to follow the existing rules to enforce +a stacking context / RenderLayer creation in StyleAdjuster, by enforcing a non-auto 'used z-index'. + +Covered by existing tests, no change in behaviour. + +* style/StyleAdjuster.cpp: +(WebCore::Style::Adjuster::adjustSVGElementStyle): + 2022-02-21 Myles C. Maxfield [WebGPU] Tracer bullet part 2: Fix infinite recursion in GPUDevice::ref() Modified: trunk/Source/WebCore/style/StyleAdjuster.cpp (290253 => 290254) --- trunk/Source/WebCore/style/StyleAdjuster.cpp 2022-02-21 18:57:52 UTC (rev 290253) +++ trunk/Source/WebCore/style/StyleAdjuster.cpp 2022-02-21 19:15:35 UTC (rev 290254) @@ -9,7 +9,7 @@ * Copyright (c) 2011, Code Aurora Forum. All rights reserved. * Copyright (C) Research In Motion Limited 2011. All rights reserved. * Copyright (C) 2012, 2013 Google Inc. All rights reserved. - * Copyright (C) 2014 Igalia S.L. + * Copyright (C) 2014, 2020, 2022 Igalia S.L. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -632,7 +632,45 @@ if (!isPositioningAllowed) style.setPosition(RenderStyle::initialPosition()); -// LegacyRenderSVGRoot handles zooming for the whole SVG subtree, so foreignObject content should +#if ENABLE(LAYER_BASED_SVG_ENGINE) +// SVG2: A new stacking context must be established at an SVG element for its descendants if: +// - it is the root element +// - the "z-index" property applies to the element and its computed value is an integer +// - the element is an outermost svg element, or a "foreignObject", "image", "marker", "mask", "pattern", "symbol" or "use" element +// - the element is an inner "svg" element and the computed value of its "overflow" property is a value other than visible +// - the element is subject to explicit clipping: +// - the "clip" property applies to the element and it has a computed value other than auto +// - the "clip-path" property applies to the element and it has a computed value other than none +// - the "mask" property applies to the element and it has a computed value other than none +// - the "filter" property applies to the element and it has a computed value other than none +// - a property defined in another specification is applied and that property is defined to establish a stacking context in SVG +// +// Some of the rules above were already enforced in StyleResolver::adjustRenderStyle() - for those cases assertions were
[webkit-changes] [290253] trunk/Source/WebGPU
Title: [290253] trunk/Source/WebGPU Revision 290253 Author mmaxfi...@apple.com Date 2022-02-21 10:57:52 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 3: Tweak WGSL API https://bugs.webkit.org/show_bug.cgi?id=236889 Reviewed by Dean Jackson. - Give SuccessfulCheck a move constructor - Use UniqueRef instead of std::unique_ptr - Allow specialization constants to be looked up by name - Model missing pipeline layouts as absent from the HashMap, rather than using an optional type * WGSL/WGSL.cpp: (WGSL::prepare): (WGSL::SuccessfulCheck::~SuccessfulCheck): Deleted. * WGSL/WGSL.h: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WGSL/WGSL.cpp trunk/Source/WebGPU/WGSL/WGSL.h Diff Modified: trunk/Source/WebGPU/ChangeLog (290252 => 290253) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 18:55:08 UTC (rev 290252) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 18:57:52 UTC (rev 290253) @@ -1,5 +1,22 @@ 2022-02-21 Myles C. Maxfield +[WebGPU] Tracer bullet part 3: Tweak WGSL API +https://bugs.webkit.org/show_bug.cgi?id=236889 + +Reviewed by Dean Jackson. + +- Give SuccessfulCheck a move constructor +- Use UniqueRef instead of std::unique_ptr +- Allow specialization constants to be looked up by name +- Model missing pipeline layouts as absent from the HashMap, rather than using an optional type + +* WGSL/WGSL.cpp: +(WGSL::prepare): +(WGSL::SuccessfulCheck::~SuccessfulCheck): Deleted. +* WGSL/WGSL.h: + +2022-02-21 Myles C. Maxfield + [WebGPU] WebGPU.xcodeproj cannot be opened on Big Sur's Xcode https://bugs.webkit.org/show_bug.cgi?id=236982 Modified: trunk/Source/WebGPU/WGSL/WGSL.cpp (290252 => 290253) --- trunk/Source/WebGPU/WGSL/WGSL.cpp 2022-02-21 18:55:08 UTC (rev 290252) +++ trunk/Source/WebGPU/WGSL/WGSL.cpp 2022-02-21 18:57:52 UTC (rev 290253) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Apple Inc. All rights reserved. + * Copyright (c) 2021-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,8 +39,23 @@ return FailedCheck { { }, { } }; } -SuccessfulCheck::~SuccessfulCheck() +SuccessfulCheck::SuccessfulCheck(SuccessfulCheck&&) = default; + +SuccessfulCheck::~SuccessfulCheck() = default; + +PrepareResult prepare(const AST& ast, const HashMap& pipelineLayouts) { +UNUSED_PARAM(ast); +UNUSED_PARAM(pipelineLayouts); +return { String(), { } }; } +PrepareResult prepare(const AST& ast, const String& entryPointName, const std::optional& pipelineLayouts) +{ +UNUSED_PARAM(ast); +UNUSED_PARAM(entryPointName); +UNUSED_PARAM(pipelineLayouts); +return { String(), { } }; } + +} Modified: trunk/Source/WebGPU/WGSL/WGSL.h (290252 => 290253) --- trunk/Source/WebGPU/WGSL/WGSL.h 2022-02-21 18:55:08 UTC (rev 290252) +++ trunk/Source/WebGPU/WGSL/WGSL.h 2022-02-21 18:57:52 UTC (rev 290253) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Apple Inc. All rights reserved. + * Copyright (c) 2021-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -57,9 +58,11 @@ class AST; struct SuccessfulCheck { +SuccessfulCheck() = delete; +SuccessfulCheck(SuccessfulCheck&&); ~SuccessfulCheck(); Vector warnings; -std::unique_ptr ast; +UniqueRef ast; }; struct FailedCheck { @@ -193,10 +196,12 @@ }; struct EntryPointInformation { +// FIXME: This can probably be factored better. String mangledName; std::optional defaultLayout; // If the input PipelineLayout is nullopt, the compiler computes a layout and returns it. https://gpuweb.github.io/gpuweb/#default-pipeline-layout HashMap, size_t> bufferLengthLocations; // Metal buffer identity -> offset within helper buffer where its size needs to lie -Vector specializationConstants; +HashMap specializationConstants; +HashMap specializationConstantIndices; // Points into specializationConstantsByIndex std::variant typedEntryPoint; }; @@ -209,7 +214,7 @@ // These are not allowed to fail. // All failures must have already been caught in check(). -PrepareResult prepare(const AST&, const HashMap>&); +PrepareResult prepare(const AST&, const HashMap&); PrepareResult prepare(const AST&, const String& entryPointName, const std::optional&); } // namespace WGSL ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290252] trunk/Source/WebCore
Title: [290252] trunk/Source/WebCore Revision 290252 Author mmaxfi...@apple.com Date 2022-02-21 10:55:08 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] Tracer bullet part 2: Fix infinite recursion in GPUDevice::ref() https://bugs.webkit.org/show_bug.cgi?id=236888 Reviewed by Dean Jackson. refEventTarget() calls ref() which called refEventTarget(). The solution is to tell GPUDevice that it's using RefCounted::ref(). * Modules/WebGPU/GPUDevice.cpp: * Modules/WebGPU/GPUDevice.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h Diff Modified: trunk/Source/WebCore/ChangeLog (290251 => 290252) --- trunk/Source/WebCore/ChangeLog 2022-02-21 18:23:38 UTC (rev 290251) +++ trunk/Source/WebCore/ChangeLog 2022-02-21 18:55:08 UTC (rev 290252) @@ -1,3 +1,16 @@ +2022-02-21 Myles C. Maxfield + +[WebGPU] Tracer bullet part 2: Fix infinite recursion in GPUDevice::ref() +https://bugs.webkit.org/show_bug.cgi?id=236888 + +Reviewed by Dean Jackson. + +refEventTarget() calls ref() which called refEventTarget(). The solution is +to tell GPUDevice that it's using RefCounted::ref(). + +* Modules/WebGPU/GPUDevice.cpp: +* Modules/WebGPU/GPUDevice.h: + 2022-02-21 Rob Buis Null check parent node in outdentParagraph Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp (290251 => 290252) --- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp 2022-02-21 18:23:38 UTC (rev 290251) +++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp 2022-02-21 18:55:08 UTC (rev 290252) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Apple Inc. All rights reserved. + * Copyright (C) 2021-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -58,9 +58,12 @@ #include "JSGPUOutOfMemoryError.h" #include "JSGPURenderPipeline.h" #include "JSGPUValidationError.h" +#include namespace WebCore { +WTF_MAKE_ISO_ALLOCATED_IMPL(GPUDevice); + GPUDevice::~GPUDevice() = default; String GPUDevice::label() const Modified: trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h (290251 => 290252) --- trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h 2022-02-21 18:23:38 UTC (rev 290251) +++ trunk/Source/WebCore/Modules/WebGPU/GPUDevice.h 2022-02-21 18:55:08 UTC (rev 290252) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Apple Inc. All rights reserved. + * Copyright (C) 2021-2022 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -37,6 +37,7 @@ #include "ScriptExecutionContext.h" #include #include +#include #include #include @@ -73,7 +74,8 @@ class GPUTexture; struct GPUTextureDescriptor; -class GPUDevice : public ActiveDOMObject, public EventTargetWithInlineData { +class GPUDevice : public RefCounted, public ActiveDOMObject, public EventTargetWithInlineData { +WTF_MAKE_ISO_ALLOCATED(GPUDevice); public: static Ref create(ScriptExecutionContext* scriptExecutionContext, Ref&& backing) { @@ -122,6 +124,9 @@ PAL::WebGPU::Device& backing() { return m_backing; } const PAL::WebGPU::Device& backing() const { return m_backing; } +using RefCounted::ref; +using RefCounted::deref; + private: GPUDevice(ScriptExecutionContext* scriptExecutionContext, Ref&& backing) : ActiveDOMObject { scriptExecutionContext } @@ -140,7 +145,7 @@ void derefEventTarget() final { deref(); } LostPromise m_lostPromise; -Ref&& m_backing; +Ref m_backing; }; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290251] trunk/Source/WebGPU
Title: [290251] trunk/Source/WebGPU Revision 290251 Author mmaxfi...@apple.com Date 2022-02-21 10:23:38 -0800 (Mon, 21 Feb 2022) Log Message [WebGPU] WebGPU.xcodeproj cannot be opened on Big Sur's Xcode https://bugs.webkit.org/show_bug.cgi?id=236982 Unreviewed. Just change the project version number from 55 to 51, like the rest of the projects in WebKit. * WebGPU.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/WebGPU.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebGPU/ChangeLog (290250 => 290251) --- trunk/Source/WebGPU/ChangeLog 2022-02-21 18:10:40 UTC (rev 290250) +++ trunk/Source/WebGPU/ChangeLog 2022-02-21 18:23:38 UTC (rev 290251) @@ -1,3 +1,14 @@ +2022-02-21 Myles C. Maxfield + +[WebGPU] WebGPU.xcodeproj cannot be opened on Big Sur's Xcode +https://bugs.webkit.org/show_bug.cgi?id=236982 + +Unreviewed. + +Just change the project version number from 55 to 51, like the rest of the projects in WebKit. + +* WebGPU.xcodeproj/project.pbxproj: + 2022-02-18 Myles C. Maxfield [WebGPU] Any object-creation function that takes a descriptor can fail Modified: trunk/Source/WebGPU/WebGPU.xcodeproj/project.pbxproj (290250 => 290251) --- trunk/Source/WebGPU/WebGPU.xcodeproj/project.pbxproj 2022-02-21 18:10:40 UTC (rev 290250) +++ trunk/Source/WebGPU/WebGPU.xcodeproj/project.pbxproj 2022-02-21 18:23:38 UTC (rev 290251) @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 51; objects = { /* Begin PBXBuildFile section */ ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290250] trunk/Source/WebKit
Title: [290250] trunk/Source/WebKit Revision 290250 Author pvol...@apple.com Date 2022-02-21 10:10:40 -0800 (Mon, 21 Feb 2022) Log Message [macOS] Remove resource access in sandbox for older OS versions https://bugs.webkit.org/show_bug.cgi?id=236975 Reviewed by Brent Fulgham. Remove access to some resources in sandbox for older OS versions. Access to these resources were initially added in https://trac.webkit.org/changeset/290180/webkit and https://trac.webkit.org/changeset/290066/webkit, and was only intended to land on a branch. * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: * WebProcess/com.apple.WebProcess.sb.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (290249 => 290250) --- trunk/Source/WebKit/ChangeLog 2022-02-21 18:07:18 UTC (rev 290249) +++ trunk/Source/WebKit/ChangeLog 2022-02-21 18:10:40 UTC (rev 290250) @@ -1,3 +1,17 @@ +2022-02-21 Per Arne Vollan + +[macOS] Remove resource access in sandbox for older OS versions +https://bugs.webkit.org/show_bug.cgi?id=236975 + +Reviewed by Brent Fulgham. + +Remove access to some resources in sandbox for older OS versions. Access to these resources were initially +added in https://trac.webkit.org/changeset/290180/webkit and https://trac.webkit.org/changeset/290066/webkit, +and was only intended to land on a branch. + +* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: +* WebProcess/com.apple.WebProcess.sb.in: + 2022-02-21 Simon Lewis Change IPC encoding of boolean type to use one bit Modified: trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in (290249 => 290250) --- trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2022-02-21 18:07:18 UTC (rev 290249) +++ trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2022-02-21 18:10:40 UTC (rev 290250) @@ -114,20 +114,6 @@ (allow mach-lookup (global-name "com.apple.coreservices.launchservicesd")) #endif -#if !PLATFORM(MAC) || __MAC_OS_X_VERSION_MIN_REQUIRED < 13 -(allow mach-lookup -(global-name -"com.apple.analyticsd.messagetracer" -"com.apple.appsleep" -"com.apple.bsd.dirhelper" -"com.apple.espd" -"com.apple.secinitd" -"com.apple.system.DirectoryService.libinfo_v1" -"com.apple.system.logger" -"com.apple.system.opendirectoryd.membership" -"com.apple.xpc.activity.unmanaged")) -#endif - #if !ENABLE(CFPREFS_DIRECT_MODE) (allow mach-lookup (global-name "com.apple.cfprefsd.agent") Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (290249 => 290250) --- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2022-02-21 18:07:18 UTC (rev 290249) +++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2022-02-21 18:10:40 UTC (rev 290250) @@ -1872,57 +1872,6 @@ (disable-syscall-inference) #endif -#if !PLATFORM(MAC) || __MAC_OS_X_VERSION_MIN_REQUIRED < 13 -(define (syscall-unix-older-macOS) -(syscall-number -SYS___pthread_markcancel -SYS_abort_with_payload -SYS_chmod_extended -SYS_connect_nocancel -SYS_connectx -SYS_fgetattrlist ;; -SYS_fileport_makeport -SYS_fstat64_extended ;; -SYS_getpeername -SYS_getsockopt -SYS_guarded_write_np -SYS_lstat64_extended -SYS_lstat_extended -SYS_memorystatus_control ;; Needed for memory measurement infrastructure, see -SYS_mkdirat -SYS_open_dprotected_np ;; -SYS_pipe -SYS_process_policy -SYS_psynch_rw_rdlock ;; -SYS_pwrite -SYS_quotactl ;; -SYS_recvfrom -SYS_recvfrom_nocancel -SYS_rmdir -SYS_select -SYS_select_nocancel -SYS_sem_post -SYS_sem_wait -SYS_sendmsg_nocancel -SYS_sendto_nocancel -#if __MAC_OS_X_VERSION_MIN_REQUIRED < 12 -SYS_setattrlist ;; rdar://problem/74162777 -#endif -SYS_setpriority -SYS_setrlimit -SYS_setsockopt -SYS_shutdown -SYS_sigreturn -SYS_socketpair -SYS_stat64_extended ;; -SYS_terminate_with_payload ;; -SYS_thread_selfusage -#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 11 -SYS_ulock_wait2 ;; -#endif -)) -#endif - (define (syscall-unix-common) (syscall-number SYS___disable_threadsignal @@ -1970,7 +1919,6 @@ SYS_kdebug_trace SYS_kdebug_trace64 SYS_kdebug_trace_string ;; Needed for performance sampling, see . -SYS_kevent ;; SYS_kevent_id SYS_kevent_qos SYS_kqueue ;; See . Remove after is resolved. @@ -2046,6 +1994,7 @@ SYS_guarded_open_np
[webkit-changes] [290249] trunk
Title: [290249] trunk Revision 290249 Author commit-qu...@webkit.org Date 2022-02-21 10:07:18 -0800 (Mon, 21 Feb 2022) Log Message Null check parent node in outdentParagraph https://bugs.webkit.org/show_bug.cgi?id=235914 Patch by Rob Buis on 2022-02-21 Reviewed by Wenson Hsieh. Source/WebCore: Null check parent node of enclosing node in outdentParagraph. Test: editing/execCommand/outdent-paragraph-crash.html * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): LayoutTests: * editing/execCommand/outdent-paragraph-crash-expected.txt: Added. * editing/execCommand/outdent-paragraph-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/IndentOutdentCommand.cpp Added Paths trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash-expected.txt trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (290248 => 290249) --- trunk/LayoutTests/ChangeLog 2022-02-21 17:56:12 UTC (rev 290248) +++ trunk/LayoutTests/ChangeLog 2022-02-21 18:07:18 UTC (rev 290249) @@ -1,3 +1,13 @@ +2022-02-21 Rob Buis + +Null check parent node in outdentParagraph +https://bugs.webkit.org/show_bug.cgi?id=235914 + +Reviewed by Wenson Hsieh. + +* editing/execCommand/outdent-paragraph-crash-expected.txt: Added. +* editing/execCommand/outdent-paragraph-crash.html: Added. + 2022-02-21 Tyler Wilcock AX: Add test for r290130 (https://trac.webkit.org/changeset/290130/webkit) Added: trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash-expected.txt (0 => 290249) --- trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash-expected.txt (rev 0) +++ trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash-expected.txt 2022-02-21 18:07:18 UTC (rev 290249) @@ -0,0 +1 @@ +Test passes if it does not crash. Added: trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html (0 => 290249) --- trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html (rev 0) +++ trunk/LayoutTests/editing/execCommand/outdent-paragraph-crash.html 2022-02-21 18:07:18 UTC (rev 290249) @@ -0,0 +1,44 @@ + + + + +:read-only::-webkit-scrollbar { + --a: var(--b), var(--c); +} + + +if (window.testRunner) { +testRunner.waitUntilDone(); +testRunner.dumpAsText(); +} +_onload_ = async () => { + visualViewport._onresize_ = () => { +document.execCommand('Outdent'); +document.write("Test passes if it does not crash."); +testRunner.notifyDone(); + }; + let blockquote = document.createElement('blockquote'); + document.body.append(blockquote); + let p = document.createElement('p'); + blockquote.append(p); + document.body.append(document.createElement('object')); + blockquote.append(document.createElement('iframe')); + let blockquote2 = document.createElement('blockquote'); + document.documentElement.append(document.createElement('object')); + p.append(blockquote2); + blockquote2.append(document.createElement('iframe')); + document.body.innerHTML += ''; + document.execCommand('SelectAll'); + let animation = new Animation(); + animation.play(); + await animation.ready; + document.designMode = 'on'; + if (window.caches) +await caches.has('d'); + document.body.replaceChildren(); +}; + + + + + Modified: trunk/Source/WebCore/ChangeLog (290248 => 290249) --- trunk/Source/WebCore/ChangeLog 2022-02-21 17:56:12 UTC (rev 290248) +++ trunk/Source/WebCore/ChangeLog 2022-02-21 18:07:18 UTC (rev 290249) @@ -1,3 +1,17 @@ +2022-02-21 Rob Buis + +Null check parent node in outdentParagraph +https://bugs.webkit.org/show_bug.cgi?id=235914 + +Reviewed by Wenson Hsieh. + +Null check parent node of enclosing node in outdentParagraph. + +Test: editing/execCommand/outdent-paragraph-crash.html + +* editing/IndentOutdentCommand.cpp: +(WebCore::IndentOutdentCommand::outdentParagraph): + 2022-02-21 Noam Rosenthal PerformanceObserver: buffered flag not working in Paint Timing Modified: trunk/Source/WebCore/editing/IndentOutdentCommand.cpp (290248 => 290249) --- trunk/Source/WebCore/editing/IndentOutdentCommand.cpp 2022-02-21 17:56:12 UTC (rev 290248) +++ trunk/Source/WebCore/editing/IndentOutdentCommand.cpp 2022-02-21 18:07:18 UTC (rev 290249) @@ -133,7 +133,7 @@ VisiblePosition visibleEndOfParagraph = endOfParagraph(visibleStartOfParagraph); RefPtr enclosingNode = downcast(enclosingNodeOfType(visibleStartOfParagraph.deepEquivalent(), )); -if (!enclosingNode || !enclosingNode->parentNode()->hasEditableStyle()) // We can't outdent if there is no place to go! +if (!enclosingNode || !enclosingNode->parentNode() ||
[webkit-changes] [290248] trunk
Title: [290248] trunk Revision 290248 Author ysuz...@apple.com Date 2022-02-21 09:56:12 -0800 (Mon, 21 Feb 2022) Log Message [JSC] Add CalendarDateTime parsing https://bugs.webkit.org/show_bug.cgi?id=236886 Reviewed by Dean Jackson. JSTests: * stress/temporal-instant.js: * stress/temporal-plaindate.js: * stress/temporal-plaintime.js: Source/_javascript_Core: This patch adds calendar parsing code to ISO8601 so that Temporal.Instant / Temporal.PlainDate / Temporal.PlainTime can parse string with calendar correctly via "from" methods. Currently, we are just ignoring these calendar values, but we should create a calendar instance from that in a subsequent patch. * runtime/ISO8601.cpp: (JSC::ISO8601::canBeCalendar): (JSC::ISO8601::canBeTimeZone): (JSC::ISO8601::parseTimeZone): (JSC::ISO8601::parseCalendar): (JSC::ISO8601::parseTime): (JSC::ISO8601::parseDateTime): (JSC::ISO8601::parseCalendarTime): (JSC::ISO8601::parseCalendarDateTime): (JSC::ISO8601::parseInstant): * runtime/ISO8601.h: * runtime/TemporalPlainDate.cpp: (JSC::TemporalPlainDate::from): * runtime/TemporalPlainTime.cpp: (JSC::TemporalPlainTime::from): Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/temporal-instant.js trunk/JSTests/stress/temporal-plaindate.js trunk/JSTests/stress/temporal-plaintime.js trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/ISO8601.cpp trunk/Source/_javascript_Core/runtime/ISO8601.h trunk/Source/_javascript_Core/runtime/TemporalPlainDate.cpp trunk/Source/_javascript_Core/runtime/TemporalPlainTime.cpp Diff Modified: trunk/JSTests/ChangeLog (290247 => 290248) --- trunk/JSTests/ChangeLog 2022-02-21 17:50:40 UTC (rev 290247) +++ trunk/JSTests/ChangeLog 2022-02-21 17:56:12 UTC (rev 290248) @@ -1,3 +1,14 @@ +2022-02-21 Yusuke Suzuki + +[JSC] Add CalendarDateTime parsing +https://bugs.webkit.org/show_bug.cgi?id=236886 + +Reviewed by Dean Jackson. + +* stress/temporal-instant.js: +* stress/temporal-plaindate.js: +* stress/temporal-plaintime.js: + 2022-02-19 Commit Queue Unreviewed, reverting r290194 and r290210. Modified: trunk/JSTests/stress/temporal-instant.js (290247 => 290248) --- trunk/JSTests/stress/temporal-instant.js 2022-02-21 17:50:40 UTC (rev 290247) +++ trunk/JSTests/stress/temporal-instant.js 2022-02-21 17:56:12 UTC (rev 290248) @@ -313,8 +313,7 @@ shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30+00')}`, '1976-11-18T15:23:30Z'); shouldBe(`${Temporal.Instant.from('1976-11-18T15Z')}`, '1976-11-18T15:00:00Z'); // ignores any specified calendar -// FIXME: parse calendar -// shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.123456789Z[u-ca=discord]')}`, '1976-11-18T15:23:30.123456789Z'); +shouldBe(`${Temporal.Instant.from('1976-11-18T15:23:30.123456789Z[u-ca=discord]')}`, '1976-11-18T15:23:30.123456789Z'); // no junk at end of string shouldThrow(() => Temporal.Instant.from('1976-11-18T15:23:30.123456789Zjunk'), RangeError); Modified: trunk/JSTests/stress/temporal-plaindate.js (290247 => 290248) --- trunk/JSTests/stress/temporal-plaindate.js 2022-02-21 17:50:40 UTC (rev 290247) +++ trunk/JSTests/stress/temporal-plaindate.js 2022-02-21 17:56:12 UTC (rev 290248) @@ -47,7 +47,6 @@ shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09t03:24:30')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30')), `2007-01-09`); -shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30Z')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30+20:20:59')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30-20:20:59')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09T03:24:30\u221220:20:59')), `2007-01-09`); @@ -77,6 +76,9 @@ shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[+01:00:00.123456789]')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[-01:00]')), `2007-01-09`); shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[\u221201:00]')), `2007-01-09`); +shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[u-ca=japanese]')), `2007-01-09`); +shouldBe(String(Temporal.PlainDate.from('2007-01-09 03:24:30+01:00[Europe/Brussels][u-ca=japanese]')), `2007-01-09`); +shouldBe(String(Temporal.PlainDate.from('2007-01-09[u-ca=japanese]')), `2007-01-09`); { let date = Temporal.PlainDate.from('2007-01-09T03:24:30+01:00[Europe/Brussels]') shouldBe(date === Temporal.PlainDate.from(date), false); @@ -142,6 +144,9 @@ "2007-01-09 03:24:30+01:00[02:.123456789]", "2007-01-09 03:24:30+01:00[0200:00.123456789]", "2007-01-09 03:24:30+01:00[02:00:60.123456789]", +"2007-01-09T03:24:30Z", // UTCDesignator +"2007-01-09 03:24:30[u-ca=japanese][Europe/Brussels]", +"2007-01-09
[webkit-changes] [290247] trunk
Title: [290247] trunk Revision 290247 Author n...@webkit.org Date 2022-02-21 09:50:40 -0800 (Mon, 21 Feb 2022) Log Message PerformanceObserver: buffered flag not working in Paint Timing https://bugs.webkit.org/show_bug.cgi?id=225305 Reviewed by Simon Fraser. LayoutTests/imported/w3c: * web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt: This test now passes Source/WebCore: Include paint entries when collecting buffered performance entries. A previously failing W3C test is now marked as passing. * page/Performance.cpp: (WebCore::Performance::appendBufferedEntriesByType const): Add the existing FCP entry Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Performance.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (290246 => 290247) --- trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-21 17:07:45 UTC (rev 290246) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2022-02-21 17:50:40 UTC (rev 290247) @@ -1,3 +1,13 @@ +2022-02-21 Noam Rosenthal + +PerformanceObserver: buffered flag not working in Paint Timing +https://bugs.webkit.org/show_bug.cgi?id=225305 + + +Reviewed by Simon Fraser. + +* web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt: This test now passes + 2022-02-20 Tim Nguyen Rebaseline inert-focus-in-frames.html after r290197. Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt (290246 => 290247) --- trunk/LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt 2022-02-21 17:07:45 UTC (rev 290246) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/paint-timing/fcp-only/buffered-flag.window-expected.txt 2022-02-21 17:50:40 UTC (rev 290247) @@ -1,5 +1,3 @@ -Harness Error (TIMEOUT), message = null +PASS PerformanceObserver with buffered flag sees previous FCP entry. -TIMEOUT PerformanceObserver with buffered flag sees previous FCP entry. Test timed out - Modified: trunk/Source/WebCore/ChangeLog (290246 => 290247) --- trunk/Source/WebCore/ChangeLog 2022-02-21 17:07:45 UTC (rev 290246) +++ trunk/Source/WebCore/ChangeLog 2022-02-21 17:50:40 UTC (rev 290247) @@ -1,3 +1,18 @@ +2022-02-21 Noam Rosenthal + +PerformanceObserver: buffered flag not working in Paint Timing +https://bugs.webkit.org/show_bug.cgi?id=225305 + + +Reviewed by Simon Fraser. + +Include paint entries when collecting buffered performance entries. + +A previously failing W3C test is now marked as passing. + +* page/Performance.cpp: +(WebCore::Performance::appendBufferedEntriesByType const): Add the existing FCP entry + 2022-02-21 Alan Bujtas [IFC][Integration] Take vertical-rl writing mode value into account when converting visual margin/border/padding value to logical Modified: trunk/Source/WebCore/page/Performance.cpp (290246 => 290247) --- trunk/Source/WebCore/page/Performance.cpp 2022-02-21 17:07:45 UTC (rev 290246) +++ trunk/Source/WebCore/page/Performance.cpp 2022-02-21 17:50:40 UTC (rev 290247) @@ -218,6 +218,9 @@ if (entryType == "resource") entries.appendVector(m_resourceTimingBuffer); +if (entryType == "paint" && m_firstContentfulPaint) +entries.append(m_firstContentfulPaint); + if (m_userTiming) { if (entryType.isNull() || entryType == "mark") entries.appendVector(m_userTiming->getMarks()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290246] trunk/Source/WebKit
Title: [290246] trunk/Source/WebKit Revision 290246 Author commit-qu...@webkit.org Date 2022-02-21 09:07:45 -0800 (Mon, 21 Feb 2022) Log Message Change IPC encoding of boolean type to use one bit https://bugs.webkit.org/show_bug.cgi?id=236801 rdar://85811396 Patch by Simon Lewis on 2022-02-21 Reviewed by Chris Dumez. This patch ensures that only the lower bit is set in a boolean for IPC messages. * Platform/IPC/ArgumentCoder.h: (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::decode): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/IPC/ArgumentCoder.h Diff Modified: trunk/Source/WebKit/ChangeLog (290245 => 290246) --- trunk/Source/WebKit/ChangeLog 2022-02-21 15:46:11 UTC (rev 290245) +++ trunk/Source/WebKit/ChangeLog 2022-02-21 17:07:45 UTC (rev 290246) @@ -1,3 +1,17 @@ +2022-02-21 Simon Lewis + +Change IPC encoding of boolean type to use one bit +https://bugs.webkit.org/show_bug.cgi?id=236801 +rdar://85811396 + +Reviewed by Chris Dumez. + +This patch ensures that only the lower bit is set in a boolean for IPC messages. + +* Platform/IPC/ArgumentCoder.h: +(IPC::ArgumentCoder::encode): +(IPC::ArgumentCoder::decode): + 2022-02-21 Sihui Liu Fetching website data may get wrong record after migrating data to general storage directory Modified: trunk/Source/WebKit/Platform/IPC/ArgumentCoder.h (290245 => 290246) --- trunk/Source/WebKit/Platform/IPC/ArgumentCoder.h 2022-02-21 15:46:11 UTC (rev 290245) +++ trunk/Source/WebKit/Platform/IPC/ArgumentCoder.h 2022-02-21 17:07:45 UTC (rev 290246) @@ -76,6 +76,25 @@ } }; +template<> +struct ArgumentCoder { +template +static void encode(Encoder& encoder, bool value) +{ +uint8_t data = "" ? 1 : 0; +encoder << data; +} + +template +static std::optional decode(Decoder& decoder) +{ +uint8_t data; +if (decoder.decodeFixedLengthData(, sizeof(uint8_t), alignof(uint8_t))) +return !!data; // This ensures that only the lower bit is set in a boolean for IPC messages +return std::nullopt; +} +}; + template struct ArgumentCoder>> { template ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [290245] trunk/LayoutTests
Title: [290245] trunk/LayoutTests Revision 290245 Author tyle...@apple.com Date 2022-02-21 07:46:11 -0800 (Mon, 21 Feb 2022) Log Message AX: Add test for r290130 (https://trac.webkit.org/changeset/290130/webkit) https://bugs.webkit.org/show_bug.cgi?id=236848 Reviewed by Chris Fleizach. * accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added. * accessibility/dynamically-changing-iframe-remains-accessible.html: Added. * accessibility/resources/purple-pineapple-text.html: Added so we can switch iframe source between multiple simple documents. * platform/ios/TestExpectations: Enable new test. * platform/mac-wk1/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added. * resources/accessibility-helper.js: (sleep): Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/glib/TestExpectations trunk/LayoutTests/platform/ios/TestExpectations trunk/LayoutTests/platform/win/TestExpectations trunk/LayoutTests/resources/accessibility-helper.js Added Paths trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible.html trunk/LayoutTests/accessibility/resources/purple-pineapple-text.html trunk/LayoutTests/platform/ios/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt trunk/LayoutTests/platform/mac-wk1/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (290244 => 290245) --- trunk/LayoutTests/ChangeLog 2022-02-21 15:24:30 UTC (rev 290244) +++ trunk/LayoutTests/ChangeLog 2022-02-21 15:46:11 UTC (rev 290245) @@ -1,3 +1,20 @@ +2022-02-21 Tyler Wilcock + +AX: Add test for r290130 (https://trac.webkit.org/changeset/290130/webkit) +https://bugs.webkit.org/show_bug.cgi?id=236848 + +Reviewed by Chris Fleizach. + +* accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added. +* accessibility/dynamically-changing-iframe-remains-accessible.html: Added. +* accessibility/resources/purple-pineapple-text.html: +Added so we can switch iframe source between multiple simple documents. +* platform/ios/TestExpectations: +Enable new test. +* platform/mac-wk1/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt: Added. +* resources/accessibility-helper.js: +(sleep): Added. + 2022-02-20 Jon Lee Unreviewed gardening for GPU Process bots Added: trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt (0 => 290245) --- trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt (rev 0) +++ trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible-expected.txt 2022-02-21 15:46:11 UTC (rev 290245) @@ -0,0 +1,30 @@ +This test ensures that an iframe that changes its document dynamically remains accessible. + +Beginning search traversal from the body element. + +AXRole: AXTextField +text-input-outside-iframe + +AXRole: AXScrollArea + +AXRole: AXWebArea + +AXRole: AXGroup + +AXRole: AXStaticText +AXValue: Purple pineapple + +AXRole: AXScrollArea + +AXRole: AXWebArea + +AXRole: AXGroup + +AXRole: AXStaticText +AXValue: Purple pineapple + +Traversed 9 elements. +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible.html (0 => 290245) --- trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible.html (rev 0) +++ trunk/LayoutTests/accessibility/dynamically-changing-iframe-remains-accessible.html 2022-02-21 15:46:11 UTC (rev 290245) @@ -0,0 +1,71 @@ + + + + + + + + + + +