[webkit-changes] [290290] trunk/Source

2022-02-21 Thread rmorisset
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

2022-02-21 Thread commit-queue
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

2022-02-21 Thread achristensen
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

2022-02-21 Thread achristensen
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

2022-02-21 Thread wenson_hsieh
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

2022-02-21 Thread commit-queue
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

2022-02-21 Thread heycam
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

2022-02-21 Thread ysuzuki
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

2022-02-21 Thread ysuzuki
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

2022-02-21 Thread jonlee
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

2022-02-21 Thread jonlee
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

2022-02-21 Thread commit-queue
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

2022-02-21 Thread wenson_hsieh
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread akeerthi
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread kocsen_chung
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread ysuzuki
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread ysuzuki
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread Hironori . Fujii
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread jbedard
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread antti
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread zimmermann
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread mmaxfield
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

2022-02-21 Thread pvollan
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

2022-02-21 Thread commit-queue
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

2022-02-21 Thread ysuzuki
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

2022-02-21 Thread noam
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

2022-02-21 Thread commit-queue
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

2022-02-21 Thread tyler_w
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 @@
+
+
+
+
+
+
+
+
+
+
+