[webkit-changes] [290154] trunk

2022-02-18 Thread j_pascoe
Title: [290154] trunk








Revision 290154
Author j_pas...@apple.com
Date 2022-02-18 12:37:00 -0800 (Fri, 18 Feb 2022)


Log Message
[WebAuthn] Add credentialID to _WKWebAuthenticationAssertionResponse and userHandle in getAllLocalAuthenticatorCredentials
https://bugs.webkit.org/show_bug.cgi?id=236657
rdar://problem/88979279

Reviewed by Brent Fulgham.

Source/WebKit:

Modified API tests to verify new fields present and populated.

* UIProcess/API/APIWebAuthenticationAssertionResponse.cpp:
(API::WebAuthenticationAssertionResponse::credentialID const):
* UIProcess/API/APIWebAuthenticationAssertionResponse.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
(-[_WKWebAuthenticationAssertionResponse credentialID]):
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(getAllLocalAuthenticatorCredentialsImpl):

Tools:

Adjusted existing API tests, GetAllCredential and MultipleAccounts, to test for new fields
being returned and that they match the values expected. These values stem from testUserEntityBundleBase64
and testAssertionMessageLongBase64.

* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.cpp
trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (290153 => 290154)

--- trunk/Source/WebKit/ChangeLog	2022-02-18 20:30:09 UTC (rev 290153)
+++ trunk/Source/WebKit/ChangeLog	2022-02-18 20:37:00 UTC (rev 290154)
@@ -1,3 +1,23 @@
+2022-02-18  J Pascoe  
+
+[WebAuthn] Add credentialID to _WKWebAuthenticationAssertionResponse and userHandle in getAllLocalAuthenticatorCredentials
+https://bugs.webkit.org/show_bug.cgi?id=236657
+rdar://problem/88979279
+
+Reviewed by Brent Fulgham.
+
+Modified API tests to verify new fields present and populated.
+
+* UIProcess/API/APIWebAuthenticationAssertionResponse.cpp:
+(API::WebAuthenticationAssertionResponse::credentialID const):
+* UIProcess/API/APIWebAuthenticationAssertionResponse.h:
+* UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h:
+* UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.mm:
+(-[_WKWebAuthenticationAssertionResponse credentialID]):
+* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
+* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
+(getAllLocalAuthenticatorCredentialsImpl):
+
 2022-02-18  Tim Horton  
 
 Client-set minimum effective device width is not respected if AllowViewportShrinkToFitContent is enabled


Modified: trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.cpp (290153 => 290154)

--- trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.cpp	2022-02-18 20:30:09 UTC (rev 290153)
+++ trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.cpp	2022-02-18 20:37:00 UTC (rev 290154)
@@ -58,6 +58,18 @@
 return data;
 }
 
+RefPtr WebAuthenticationAssertionResponse::credentialID() const
+{
+RefPtr data;
+if (auto* rawId = m_response->rawId()) {
+rawId->ref();
+data = "" char*>(rawId->data()), rawId->byteLength(), [] (unsigned char*, const void* data) {
+static_cast(const_cast(data))->deref();
+}, rawId);
+}
+return data;
+}
+
 } // namespace API
 
 #endif // ENABLE(WEB_AUTHN)


Modified: trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.h (290153 => 290154)

--- trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.h	2022-02-18 20:30:09 UTC (rev 290153)
+++ trunk/Source/WebKit/UIProcess/API/APIWebAuthenticationAssertionResponse.h	2022-02-18 20:37:00 UTC (rev 290154)
@@ -44,6 +44,7 @@
 RefPtr userHandle() const;
 bool synchronizable() const { return m_response->synchronizable(); }
 const WTF::String& group() const { return m_response->group(); }
+RefPtr credentialID() const;
 
 void setLAContext(LAContext *context) { m_response->setLAContext(context); }
 


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h (290153 => 290154)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationAssertionResponse.h	2022-02-18 20:30:09 UTC (rev 290153)
+++ 

[webkit-changes] [290166] trunk/Websites/bugs.webkit.org/template/en/default/ queue.json.tmpl

2022-02-18 Thread dino
Title: [290166] trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl








Revision 290166
Author d...@apple.com
Date 2022-02-18 13:32:03 -0800 (Fri, 18 Feb 2022)


Log Message
Temporarily adding JSON output for request queue to see if it works.
Will remove it immediately after testing.

Unreviewed.

* template/en/default/queue.json.tmpl: Added.

Added Paths

trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl




Diff

Added: trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl (0 => 290166)

--- trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	(rev 0)
+++ trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 21:32:03 UTC (rev 290166)
@@ -0,0 +1,47 @@
+[%# This Source Code Form is subject to the terms of the Mozilla Public
+  # License, v. 2.0. If a copy of the MPL was not distributed with this
+  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+  #
+  # This Source Code Form is "Incompatible With Secondary Licenses", as
+  # defined by the Mozilla Public License, v. 2.0. #%]
+
+[% RAWPERL %]
+my @display_columns = ('requester', 'requestee', 'type', 'created', 'category',
+   'restricted', 'bug_id', 'bug_summary', 'attach_id',
+   'attach_summary', 'attach_mimetype', 'attach_ispatch');
+my $requests= $stash->get('requests');
+my $time_filter = $context->filter('time', [ '%Y-%m-%dT%H:%M:%SZ', 'UTC' ]);
+my $mail_filter = $context->filter('email');
+
+my @results;
+foreach my $request (@$requests) {
+my %item = ();
+foreach my $column (@display_columns) {
+my $val;
+if ( $column eq 'created' ) {
+$val = $time_filter->( $request->{$column} );
+}
+elsif ( $column =~ /^requeste/ ) {
+$val = $request->{$column} ? {
+email => $request->{$column}->email
+} : undef;
+}
+elsif ( $column =~ /_id$/ ) {
+$val = $request->{$column} ? 0 + $request->{$column} : undef;
+}
+elsif ( $column =~ /^(restricted|attach_ispatch)$/ ) {
+$val = $request->{$column} ? \1 : \0;
+}
+else {
+$val = $request->{$column};
+}
+$item{$column} = $val;
+}
+push @results, \%item;
+}
+{
+use feature 'state';
+state $json = JSON::XS->new->utf8->ascii;
+$output .= $json->encode( \@results );
+}
+[% END %]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290168] trunk/Websites/bugs.webkit.org/template/en/default/ queue.json.tmpl

2022-02-18 Thread dino
Title: [290168] trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl








Revision 290168
Author d...@apple.com
Date 2022-02-18 14:01:40 -0800 (Fri, 18 Feb 2022)


Log Message
Revert 290166.

Removed Paths

trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl




Diff

Deleted: trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl (290167 => 290168)

--- trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 21:38:57 UTC (rev 290167)
+++ trunk/Websites/bugs.webkit.org/template/en/default/queue.json.tmpl	2022-02-18 22:01:40 UTC (rev 290168)
@@ -1,47 +0,0 @@
-[%# This Source Code Form is subject to the terms of the Mozilla Public
-  # License, v. 2.0. If a copy of the MPL was not distributed with this
-  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-  #
-  # This Source Code Form is "Incompatible With Secondary Licenses", as
-  # defined by the Mozilla Public License, v. 2.0. #%]
-
-[% RAWPERL %]
-my @display_columns = ('requester', 'requestee', 'type', 'created', 'category',
-   'restricted', 'bug_id', 'bug_summary', 'attach_id',
-   'attach_summary', 'attach_mimetype', 'attach_ispatch');
-my $requests= $stash->get('requests');
-my $time_filter = $context->filter('time', [ '%Y-%m-%dT%H:%M:%SZ', 'UTC' ]);
-my $mail_filter = $context->filter('email');
-
-my @results;
-foreach my $request (@$requests) {
-my %item = ();
-foreach my $column (@display_columns) {
-my $val;
-if ( $column eq 'created' ) {
-$val = $time_filter->( $request->{$column} );
-}
-elsif ( $column =~ /^requeste/ ) {
-$val = $request->{$column} ? {
-email => $request->{$column}->email
-} : undef;
-}
-elsif ( $column =~ /_id$/ ) {
-$val = $request->{$column} ? 0 + $request->{$column} : undef;
-}
-elsif ( $column =~ /^(restricted|attach_ispatch)$/ ) {
-$val = $request->{$column} ? \1 : \0;
-}
-else {
-$val = $request->{$column};
-}
-$item{$column} = $val;
-}
-push @results, \%item;
-}
-{
-use feature 'state';
-state $json = JSON::XS->new->utf8->ascii;
-$output .= $json->encode( \@results );
-}
-[% END %]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290172] tags/Safari-613.1.17.0.6/

2022-02-18 Thread alancoon
Title: [290172] tags/Safari-613.1.17.0.6/








Revision 290172
Author alanc...@apple.com
Date 2022-02-18 14:37:33 -0800 (Fri, 18 Feb 2022)


Log Message
Tag Safari-613.1.17.0.6.

Added Paths

tags/Safari-613.1.17.0.6/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290180] trunk/Source/WebKit

2022-02-18 Thread pvollan
Title: [290180] trunk/Source/WebKit








Revision 290180
Author pvol...@apple.com
Date 2022-02-18 16:18:58 -0800 (Fri, 18 Feb 2022)


Log Message
[iOS] Add access to required Mach service in the Network process
https://bugs.webkit.org/show_bug.cgi?id=236853


Reviewed by Darin Adler.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (290179 => 290180)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:03:05 UTC (rev 290179)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:18:58 UTC (rev 290180)
@@ -1,3 +1,13 @@
+2022-02-18  Per Arne Vollan  
+
+[iOS] Add access to required Mach service in the Network process
+https://bugs.webkit.org/show_bug.cgi?id=236853
+
+
+Reviewed by Darin Adler.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
+
 2022-02-18  Robert Jenner  
 
 Unreviewed, reverting r290149.


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (290179 => 290180)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2022-02-19 00:03:05 UTC (rev 290179)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2022-02-19 00:18:58 UTC (rev 290180)
@@ -215,6 +215,10 @@
 (allow mach-lookup
(global-name "com.apple.nehelper"))
 
+;; 
+(allow mach-lookup
+(global-name "com.apple.networkserviceproxy.fetch-token"))
+   
 (allow-well-known-system-group-container-literal-read
"/systemgroup.com.apple.nsurlstoragedresources/Library/dafsaData.bin")
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290145] trunk/Source/ThirdParty/ANGLE

2022-02-18 Thread sbarati
Title: [290145] trunk/Source/ThirdParty/ANGLE








Revision 290145
Author sbar...@apple.com
Date 2022-02-18 10:59:32 -0800 (Fri, 18 Feb 2022)


Log Message
Remove ANGLE-static.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=236827

Reviewed by Dean Jackson.

It was unused.

* ANGLE.xcodeproj/project.pbxproj:
* Configurations/ANGLE-static.xcconfig: Removed.
* Configurations/Base.xcconfig:

Modified Paths

trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig


Removed Paths

trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (290144 => 290145)

--- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2022-02-18 18:54:31 UTC (rev 290144)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj	2022-02-18 18:59:32 UTC (rev 290145)
@@ -1003,7 +1003,6 @@
 		31B1571F236B7FAE00CAA4FD /* SystemInfo_ios.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SystemInfo_ios.cpp; sourceTree = ""; };
 		31B15721236B803300CAA4FD /* SystemInfo_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemInfo_internal.h; sourceTree = ""; };
 		31CDFDEE24917F8900486F27 /* ANGLE-dynamic.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "ANGLE-dynamic.xcconfig"; sourceTree = ""; };
-		31CDFDEF24917F8900486F27 /* ANGLE-static.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "ANGLE-static.xcconfig"; sourceTree = ""; };
 		31CDFDF42491819E00486F27 /* libANGLE-shared.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "libANGLE-shared.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
 		5C1BAA961DFB60FF002906BB /* gl3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gl3.h; path = include/GLES3/gl3.h; sourceTree = ""; };
 		5C1BAA971DFB60FF002906BB /* gl3platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gl3platform.h; path = include/GLES3/gl3platform.h; sourceTree = ""; };
@@ -2693,7 +2692,6 @@
 			isa = PBXGroup;
 			children = (
 31CDFDEE24917F8900486F27 /* ANGLE-dynamic.xcconfig */,
-31CDFDEF24917F8900486F27 /* ANGLE-static.xcconfig */,
 FFE0D91526A0B4E80071ADAE /* AngleMetalLib.xcconfig */,
 5D7C59C61208C68B001C873E /* Base.xcconfig */,
 5D7C59C71208C68B001C873E /* DebugRelease.xcconfig */,


Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (290144 => 290145)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2022-02-18 18:54:31 UTC (rev 290144)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2022-02-18 18:59:32 UTC (rev 290145)
@@ -1,3 +1,16 @@
+2022-02-18  Saam Barati  
+
+Remove ANGLE-static.xcconfig
+https://bugs.webkit.org/show_bug.cgi?id=236827
+
+Reviewed by Dean Jackson.
+
+It was unused.
+
+* ANGLE.xcodeproj/project.pbxproj:
+* Configurations/ANGLE-static.xcconfig: Removed.
+* Configurations/Base.xcconfig:
+
 2022-02-18  Adrian Perez de Castro  
 
 [CMake] Cannot find OpenGL when system provides opengl.pc instead of gl.pc


Deleted: trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig (290144 => 290145)

--- trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig	2022-02-18 18:54:31 UTC (rev 290144)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig	2022-02-18 18:59:32 UTC (rev 290145)
@@ -1,31 +0,0 @@
-#include "Version.xcconfig"
-#include "WebKitTargetConditionals.xcconfig"
-
-PRODUCT_NAME = ANGLE;
-EXECUTABLE_PREFIX = lib;
-
-ANGLE_OTHER_LDFLAGS = -allowable_client WebCore -allowable_client WebCoreTestSupport $(ANGLE_OTHER_LDFLAGS_$(WK_PLATFORM_NAME));
-ANGLE_OTHER_LDFLAGS_iphoneos = -framework IOSurface -lz;
-ANGLE_OTHER_LDFLAGS_iphonesimulator = $(ANGLE_OTHER_LDFLAGS_iphoneos);
-ANGLE_OTHER_LDFLAGS_watchos = $(ANGLE_OTHER_LDFLAGS_iphoneos);
-ANGLE_OTHER_LDFLAGS_watchsimulator = $(ANGLE_OTHER_LDFLAGS_iphonesimulator);
-ANGLE_OTHER_LDFLAGS_appletvos = $(ANGLE_OTHER_LDFLAGS_iphoneos);
-ANGLE_OTHER_LDFLAGS_appletvsimulator = $(ANGLE_OTHER_LDFLAGS_iphonesimulator);
-ANGLE_OTHER_LDFLAGS_maccatalyst = -framework IOKit -framework IOSurface -lz;
-ANGLE_OTHER_LDFLAGS_macosx = -framework IOKit -framework IOSurface -lz;
-
-INSTALL_PATH = $(ANGLE_INSTALL_PATH_PREFIX)/usr/local/lib;
-
-HEADER_SEARCH_PATHS = include src src/common/third_party/numerics third_party/base src/common/third_party/base third_party/zlib/google;
-
-ANGLE_HEADERS_FOLDER_PATH = /usr/local/include/ANGLE;
-
-PUBLIC_HEADERS_FOLDER_PATH = $(ANGLE_INSTALL_PATH_PREFIX)/usr/local/include/ANGLE;
-
-GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) LIBGLESV2_IMPLEMENTATION 

[webkit-changes] [290184] trunk/Source

2022-02-18 Thread j_pascoe
Title: [290184] trunk/Source








Revision 290184
Author j_pas...@apple.com
Date 2022-02-18 16:28:13 -0800 (Fri, 18 Feb 2022)


Log Message
[WebAuthn] Support for conditional mediation
https://bugs.webkit.org/show_bug.cgi?id=236820
rdar://84821947

Reviewed by Brent Fulgham and Chris Dumez.

This patch adds support for conditional mediation, as defined in the
credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional

Source/WebCore:

* Modules/credentialmanagement/BasicCredential.cpp:
(WebCore::BasicCredential::isConditionalMediationAvailable):
* Modules/credentialmanagement/BasicCredential.h:
* Modules/credentialmanagement/BasicCredential.idl:
* Modules/credentialmanagement/CredentialRequestOptions.h:
* Modules/credentialmanagement/CredentialRequestOptions.idl:
* Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
* Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
(WebCore::AuthenticatorCoordinator::isConditionalMediationAvailable const):
* Modules/webauthn/AuthenticatorCoordinator.h:
* Modules/webauthn/AuthenticatorCoordinatorClient.h:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

* Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
* UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configurationAssertionRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
* UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::isConditionalMediationAvailable):
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
* UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
* WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::getAssertion):
* WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.cpp
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.h
trunk/Source/WebCore/Modules/credentialmanagement/BasicCredential.idl
trunk/Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h
trunk/Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.idl
trunk/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
trunk/Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.h
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in
trunk/Source/WebKit/WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp
trunk/Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp
trunk/Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (290183 => 290184)

--- trunk/Source/WebCore/ChangeLog	2022-02-19 00:27:04 UTC (rev 290183)
+++ trunk/Source/WebCore/ChangeLog	2022-02-19 00:28:13 UTC (rev 290184)
@@ -1,3 +1,29 @@
+2022-02-18  J Pascoe  
+
+[WebAuthn] Support for conditional mediation
+https://bugs.webkit.org/show_bug.cgi?id=236820
+rdar://84821947
+
+Reviewed by Brent Fulgham and Chris Dumez.
+
+This patch adds support for conditional mediation, as defined in the
+credentials management spec: https://w3c.github.io/webappsec-credential-management/#dom-credentialmediationrequirement-conditional
+
+* Modules/credentialmanagement/BasicCredential.cpp:
+(WebCore::BasicCredential::isConditionalMediationAvailable):
+* Modules/credentialmanagement/BasicCredential.h:
+* Modules/credentialmanagement/BasicCredential.idl:
+* Modules/credentialmanagement/CredentialRequestOptions.h:
+* Modules/credentialmanagement/CredentialRequestOptions.idl:
+* 

[webkit-changes] [290150] trunk/Source/WebCore

2022-02-18 Thread commit-queue
Title: [290150] trunk/Source/WebCore








Revision 290150
Author commit-qu...@webkit.org
Date 2022-02-18 12:17:45 -0800 (Fri, 18 Feb 2022)


Log Message
[TextureMapper] Refactor TextureMapperPlatformLayerProxy into specializable implementations
https://bugs.webkit.org/show_bug.cgi?id=236836

Patch by Zan Dobersek  on 2022-02-18
Reviewed by Alejandro G. Castro.

Turn TextureMapperPlatformLayerProxy into an abstract class from which
different specializations can then be derived. Current implementation is
spun off into the TextureMapperPlatformLayerProxyGL class, and type
traits specialization facilities are provided for future parallel
implementations (e.g. a DMABuf-consuming proxy class).

Existing uses of TextureMapperPlatformLayerProxy are updated to use
the TextureMapperPlatformLayerProxyGL class instead. Downcasting is
done as necessary, with asserts checking for the expected implementation
type.

No change in functionality, only refactoring existing code.

* platform/TextureMapper.cmake:
* platform/graphics/gstreamer/GStreamerVideoFrameHolder.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
* platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::MediaPlayerPrivateHolePunch):
(WebCore::MediaPlayerPrivateHolePunch::pushNextHolePunchBuffer):
* platform/graphics/nicosia/NicosiaImageBufferPipe.cpp:
(Nicosia::NicosiaImageBufferPipeSource::handle):
* platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp:
(Nicosia::ContentLayerTextureMapperImpl::createFactory):
(Nicosia::ContentLayerTextureMapperImpl::ContentLayerTextureMapperImpl):
* platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.h:
* platform/graphics/nicosia/texmap/NicosiaGCGLANGLELayer.cpp:
(Nicosia::GCGLANGLELayer::swapBuffersIfNeeded):
* platform/graphics/nicosia/texmap/NicosiaGCGLLayer.cpp:
(Nicosia::GCGLLayer::swapBuffersIfNeeded):
* platform/graphics/texmap/TextureMapperGCGLPlatformLayer.cpp:
(WebCore::TextureMapperGCGLPlatformLayer::TextureMapperGCGLPlatformLayer):
(WebCore::TextureMapperGCGLPlatformLayer::swapBuffersIfNeeded):
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::~TextureMapperPlatformLayerProxy): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::invalidate): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::getAvailableBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::appendToUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::releaseUnusedBuffersTimerFired): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::scheduleUpdateOnCompositorThread): Deleted.
(WebCore::TextureMapperPlatformLayerProxy::compositorThreadUpdateTimerFired): Deleted.
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(WebCore::TextureMapperPlatformLayerProxy::isGLBased const):
(WebCore::TextureMapperPlatformLayerProxy::isDMABufBased const):
(WebCore::TextureMapperPlatformLayerProxy::WTF_RETURNS_LOCK):
(WebCore::TextureMapperPlatformLayerProxy::WTF_GUARDED_BY_LOCK): Deleted.
* platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp: Copied from Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp.
(WebCore::TextureMapperPlatformLayerProxyGL::~TextureMapperPlatformLayerProxyGL):
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxyGL::invalidate):
(WebCore::TextureMapperPlatformLayerProxyGL::pushNextBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::getAvailableBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::appendToUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleReleaseUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxyGL::releaseUnusedBuffersTimerFired):
(WebCore::TextureMapperPlatformLayerProxyGL::swapBuffer):
(WebCore::TextureMapperPlatformLayerProxyGL::dropCurrentBufferWhilePreservingTexture):
(WebCore::TextureMapperPlatformLayerProxyGL::scheduleUpdateOnCompositorThread):
(WebCore::TextureMapperPlatformLayerProxyGL::compositorThreadUpdateTimerFired):
* platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h: Copied from 

[webkit-changes] [290178] trunk

2022-02-18 Thread wenson_hsieh
Title: [290178] trunk








Revision 290178
Author wenson_hs...@apple.com
Date 2022-02-18 15:50:27 -0800 (Fri, 18 Feb 2022)


Log Message
[Live Text] Add a mechanism to inject images into image overlays
https://bugs.webkit.org/show_bug.cgi?id=236842

Reviewed by Aditya Keerthi.

Source/WebCore:

To support additional behaviors around the "Copy Cropped Image" context menu item on macOS, add a new image
overlay helper method to install a temporary image element within the image overlay shadow root of a host image.
See below for more details.

Test: fast/images/text-recognition/image-overlay-cropped-image.html

* dom/ImageOverlay.cpp:
(WebCore::ImageOverlay::imageOverlayCroppedImageIdentifier):
(WebCore::ImageOverlay::imageOverlayCroppedImageBackdropIdentifier):
(WebCore::ImageOverlay::isOverlayText):
(WebCore::ImageOverlay::removeOverlaySoonIfNeeded):
(WebCore::ImageOverlay::installImageOverlayStyleSheet):

Pull out logic for installing the UA style sheet for image overlays into a helper method, so that we can ensure
the stylesheet in both cases where the `CroppedImage` is installed first, or Live Text is injected first.

(WebCore::ImageOverlay::updateSubtree):

Refactor this method to not completely remove the image overlay root container in the case where the Live Text
subtree needs to be regenerated; this prevents us from inadvertently removing the cropped image overlay elements
when updating Live Text elements in the UA shadow root.

(WebCore::ImageOverlay::CroppedImage::install):

Add a method to install a cropped image overlay into the given host element. This creates a new blob URL using
the given image data and MIME type, and uses it to insert an image element within the image overlay root
container that's absolutely positioned over the given crop rect (normalized relative to the image).

This inserted image is presented over another dimming element that fades in and out as `setVisibility()` is
called. Finally, `install` returns a `unique_ptr` to a RAII object that can be used to fade the cropped image
backdrop in or out; when destroyed, this RAII object immediately disconnects both the backdrop and the image
element, and revokes the temporary blob URL created during `install()`.

(WebCore::ImageOverlay::CroppedImage::CroppedImage):
(WebCore::ImageOverlay::CroppedImage::~CroppedImage):
(WebCore::ImageOverlay::CroppedImage::setVisibility):
* dom/ImageOverlay.h:
* dom/ShadowRoot.h:

Add a `using TreeScope::getElementById;` here to make it possible to call `getElementById` on `ShadowRoot`
without having to cast to a `TreeScope`.

* html/shadow/imageOverlay.css:
(img#image-overlay-cropped-image):
(div#image-overlay-cropped-image-backdrop):
* testing/Internals.cpp:
(WebCore::Internals::pngDataForTesting):
(WebCore::Internals::installCroppedImageOverlay):
(WebCore::Internals::uninstallCroppedImageOverlay):

Add internal testing support for the cropped image overlay by allowing layout tests to inject an image overlay
with hard-coded PNG data into the given element.

* testing/Internals.h:
* testing/Internals.idl:
* testing/Internals.mm:
(WebCore::Internals::pngDataForTesting):

LayoutTests:

Add a layout test that exercises the new cropped image overlay code.

* fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
* fast/images/text-recognition/image-overlay-cropped-image.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/ImageOverlay.cpp
trunk/Source/WebCore/dom/ImageOverlay.h
trunk/Source/WebCore/dom/ShadowRoot.h
trunk/Source/WebCore/html/shadow/imageOverlay.css
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl
trunk/Source/WebCore/testing/Internals.mm


Added Paths

trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt
trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image.html




Diff

Modified: trunk/LayoutTests/ChangeLog (290177 => 290178)

--- trunk/LayoutTests/ChangeLog	2022-02-18 23:42:31 UTC (rev 290177)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 23:50:27 UTC (rev 290178)
@@ -1,3 +1,15 @@
+2022-02-18  Wenson Hsieh  
+
+[Live Text] Add a mechanism to inject images into image overlays
+https://bugs.webkit.org/show_bug.cgi?id=236842
+
+Reviewed by Aditya Keerthi.
+
+Add a layout test that exercises the new cropped image overlay code.
+
+* fast/images/text-recognition/image-overlay-cropped-image-expected.txt: Added.
+* fast/images/text-recognition/image-overlay-cropped-image.html: Added.
+
 2022-02-18  Kimmo Kinnunen  
 
 WebGL GPUP: Crash when running fast/mediastream/getUserMedia-to-canvas-1.html


Added: trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt (0 => 290178)

--- trunk/LayoutTests/fast/images/text-recognition/image-overlay-cropped-image-expected.txt	(rev 

[webkit-changes] [290187] trunk/Source/WebKit

2022-02-18 Thread pvollan
Title: [290187] trunk/Source/WebKit








Revision 290187
Author pvol...@apple.com
Date 2022-02-18 16:52:16 -0800 (Fri, 18 Feb 2022)


Log Message
[iOS] Add required Mach service to the sandbox of the GPU process
https://bugs.webkit.org/show_bug.cgi?id=236860

Reviewed by Darin Adler.

* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (290186 => 290187)

--- trunk/Source/WebKit/ChangeLog	2022-02-19 00:44:12 UTC (rev 290186)
+++ trunk/Source/WebKit/ChangeLog	2022-02-19 00:52:16 UTC (rev 290187)
@@ -1,3 +1,12 @@
+2022-02-18  Per Arne Vollan  
+
+[iOS] Add required Mach service to the sandbox of the GPU process
+https://bugs.webkit.org/show_bug.cgi?id=236860
+
+Reviewed by Darin Adler.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
+
 2022-02-18  Devin Rousso  
 
 [iOS] Safari can sometimes hang while printing due to sync IPC


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb (290186 => 290187)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2022-02-19 00:44:12 UTC (rev 290186)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2022-02-19 00:52:16 UTC (rev 290187)
@@ -100,6 +100,7 @@
(global-name "com.apple.coremedia.cpe.xpc") ; Needed for HDR playback.
(global-name "com.apple.coremedia.customurlloader.xpc") ; Needed for custom media loading
(global-name "com.apple.coremedia.formatreader.xpc")
+   (global-name "com.apple.coremedia.mediaparserd.formatreader.xpc")
(global-name "com.apple.coremedia.player.xpc")
(global-name "com.apple.coremedia.remaker")
(global-name "com.apple.coremedia.remotequeue")






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290189] trunk/Source

2022-02-18 Thread pvollan
Title: [290189] trunk/Source








Revision 290189
Author pvol...@apple.com
Date 2022-02-18 17:02:27 -0800 (Fri, 18 Feb 2022)


Log Message
Move content filtering to Networking process
https://bugs.webkit.org/show_bug.cgi?id=233760


Reviewed by Brent Fulgham.

Source/WebCore:

Remove content filtering from DocumentLoader when the feature is enabled, since this takes place in the WebContent process.
Modify the ContentFilter class by removing use of the types CachedResoure and CachedRawResource, since objects of these
types are not available in the Networking process. Parameters with these types are replaced with URL parameters.
The new behavior is behind a feature flag, which is not enabled in this patch.

* WebCore.xcodeproj/project.pbxproj:
* loader/ContentFilter.cpp:
(WebCore::ContentFilter::startFilteringMainResource):
(WebCore::ContentFilter::stopFilteringMainResource):
(WebCore::ContentFilter::continueAfterResponseReceived):
(WebCore::ContentFilter::continueAfterDataReceived):
(WebCore::ContentFilter::continueAfterNotifyFinished):
(WebCore::ContentFilter::didDecide):
(WebCore::ContentFilter::deliverResourceData):
(WebCore::ContentFilter::url):
(WebCore::ContentFilter::deliverStoredResourceData):
* loader/ContentFilter.h:
(WebCore::ContentFilter::blockedError const):
(WebCore::ContentFilter::isAllowed const):
(WebCore::ContentFilter::responseReceived const):
* loader/ContentFilterClient.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::dataReceived):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::clearMainResource):
(WebCore::DocumentLoader::becomeMainResourceClient):
(WebCore::DocumentLoader::contentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterDidBlock):
(WebCore::DocumentLoader::handleContentFilterProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterWillHandleProvisionalLoadFailure):
(WebCore::DocumentLoader::contentFilterHandleProvisionalLoadFailure):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidFailProvisionalLoad):
* loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
* loader/SubstituteData.h:
(WebCore::SubstituteData::encode const):
(WebCore::SubstituteData::decode):
* platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::canHandleRequest const):

Source/WebKit:

Move content filtering from the DocumentLoader class in the WebProcess to the NetworkResourceLoader class in the
Networking process. The NetworkResourceLoader is now a client of the content filter, and will send messages
to the DocumentLoader in the WebProcess to cancel the load when the content filter decided to block the load.
If the content filter is providing replacement data, this will also be sent over IPC to the WebProcess.
Data is not being sent to the WebProcess until the content filter has decided to allow the load, if content
filtering is enabled.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startContentFiltering):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::dataReceivedThroughContentFilter):
(WebKit::NetworkResourceLoader::contentFilterDidBlock):
(WebKit::NetworkResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::NetworkResourceLoader::handleProvisionalLoadFailureFromContentFilter):
* NetworkProcess/NetworkResourceLoader.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::reloadAfterUnblockedContentFilter):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::contentFilterDidBlockLoad):
(WebKit::WebResourceLoader::cancelMainResourceLoadForContentFilter):
(WebKit::WebResourceLoader::handleProvisionalLoadFailureFromContentFilter):
(WebKit::WebResourceLoader::reload):
* WebProcess/Network/WebResourceLoader.h:
* WebProcess/Network/WebResourceLoader.messages.in:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/loader/ContentFilter.cpp
trunk/Source/WebCore/loader/ContentFilter.h
trunk/Source/WebCore/loader/ContentFilterClient.h
trunk/Source/WebCore/loader/DocumentLoader.cpp
trunk/Source/WebCore/loader/DocumentLoader.h
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/loader/PolicyChecker.cpp

[webkit-changes] [290190] trunk/Source/WebGPU

2022-02-18 Thread mmaxfield
Title: [290190] trunk/Source/WebGPU








Revision 290190
Author mmaxfi...@apple.com
Date 2022-02-18 17:03:29 -0800 (Fri, 18 Feb 2022)


Log Message
[WebGPU] Any object-creation function that takes a descriptor can fail
https://bugs.webkit.org/show_bug.cgi?id=236855

Reviewed by Dean Jackson.

Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
made these methods return Refs, because I expected the failure case to cause intentional crashes
rather than return nullptr.

However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
these extra structs that it doesn't know what to do with, it has to fail. That means that it's
possible to fail in a way other than an allocation failure, which means these functions have to
return RefPtrs instead of Refs.

* WebGPU/Adapter.h:
* WebGPU/Adapter.mm:
(WebGPU::Adapter::requestDevice):
(wgpuAdapterRequestDevice):
* WebGPU/CommandEncoder.h:
* WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::beginComputePass):
(WebGPU::CommandEncoder::beginRenderPass):
(WebGPU::CommandEncoder::finish):
(wgpuCommandEncoderBeginComputePass):
(wgpuCommandEncoderBeginRenderPass):
(wgpuCommandEncoderFinish):
* WebGPU/Device.h:
* WebGPU/Device.mm:
(WebGPU::Device::createBindGroup):
(WebGPU::Device::createBindGroupLayout):
(WebGPU::Device::createBuffer):
(WebGPU::Device::createCommandEncoder):
(WebGPU::Device::createComputePipeline):
(WebGPU::Device::createComputePipelineAsync):
(WebGPU::Device::createPipelineLayout):
(WebGPU::Device::createQuerySet):
(WebGPU::Device::createRenderBundleEncoder):
(WebGPU::Device::createRenderPipeline):
(WebGPU::Device::createRenderPipelineAsync):
(WebGPU::Device::createSampler):
(WebGPU::Device::createShaderModule):
(WebGPU::Device::createSwapChain):
(WebGPU::Device::createTexture):
(WebGPU::Device::getQueue):
(wgpuDeviceCreateBindGroup):
(wgpuDeviceCreateBindGroupLayout):
(wgpuDeviceCreateBuffer):
(wgpuDeviceCreateCommandEncoder):
(wgpuDeviceCreateComputePipeline):
(wgpuDeviceCreateComputePipelineAsync):
(wgpuDeviceCreatePipelineLayout):
(wgpuDeviceCreateQuerySet):
(wgpuDeviceCreateRenderBundleEncoder):
(wgpuDeviceCreateRenderPipeline):
(wgpuDeviceCreateRenderPipelineAsync):
(wgpuDeviceCreateSampler):
(wgpuDeviceCreateShaderModule):
(wgpuDeviceCreateSwapChain):
(wgpuDeviceCreateTexture):
(wgpuDeviceGetQueue):
* WebGPU/Instance.h:
* WebGPU/Instance.mm:
(WebGPU::Instance::createSurface):
(wgpuInstanceCreateSurface):
* WebGPU/RenderBundleEncoder.h:
* WebGPU/RenderBundleEncoder.mm:
(WebGPU::RenderBundleEncoder::finish):
(wgpuRenderBundleEncoderFinish):
* WebGPU/Texture.h:
* WebGPU/Texture.mm:
(WebGPU::Texture::createView):
(wgpuTextureCreateView):

Modified Paths

trunk/Source/WebGPU/ChangeLog
trunk/Source/WebGPU/WebGPU/Adapter.h
trunk/Source/WebGPU/WebGPU/Adapter.mm
trunk/Source/WebGPU/WebGPU/CommandEncoder.h
trunk/Source/WebGPU/WebGPU/CommandEncoder.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/RenderBundleEncoder.h
trunk/Source/WebGPU/WebGPU/RenderBundleEncoder.mm
trunk/Source/WebGPU/WebGPU/Texture.h
trunk/Source/WebGPU/WebGPU/Texture.mm




Diff

Modified: trunk/Source/WebGPU/ChangeLog (290189 => 290190)

--- trunk/Source/WebGPU/ChangeLog	2022-02-19 01:02:27 UTC (rev 290189)
+++ trunk/Source/WebGPU/ChangeLog	2022-02-19 01:03:29 UTC (rev 290190)
@@ -1,3 +1,79 @@
+2022-02-18  Myles C. Maxfield  
+
+[WebGPU] Any object-creation function that takes a descriptor can fail
+https://bugs.webkit.org/show_bug.cgi?id=236855
+
+Reviewed by Dean Jackson.
+
+Generally, we view allocation failure as catastrophic, and crash. Because of that, I originally
+made these methods return Refs, because I expected the failure case to cause intentional crashes
+rather than return nullptr.
+
+However, descriptors the shared header have a nextInChain pointer, which allows callers to pass
+in extra extension-specific structs, as a linked list. If the WebGPU implementation sees one of
+these extra structs that it doesn't know what to do with, it has to fail. That means that it's
+possible to fail in a way other than an allocation failure, which means these functions have to
+return RefPtrs instead of Refs.
+
+* WebGPU/Adapter.h:
+* WebGPU/Adapter.mm:
+(WebGPU::Adapter::requestDevice):
+(wgpuAdapterRequestDevice):
+* WebGPU/CommandEncoder.h:
+* WebGPU/CommandEncoder.mm:
+(WebGPU::CommandEncoder::beginComputePass):
+(WebGPU::CommandEncoder::beginRenderPass):
+(WebGPU::CommandEncoder::finish):
+(wgpuCommandEncoderBeginComputePass):
+(wgpuCommandEncoderBeginRenderPass):
+(wgpuCommandEncoderFinish):
+

[webkit-changes] [290143] trunk/LayoutTests

2022-02-18 Thread jonlee
Title: [290143] trunk/LayoutTests








Revision 290143
Author jon...@apple.com
Date 2022-02-18 10:52:06 -0800 (Fri, 18 Feb 2022)


Log Message
Follow up to b236802. Unreviewed.

* platform/ios/TestExpectations: Remove the test expectations.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (290142 => 290143)

--- trunk/LayoutTests/ChangeLog	2022-02-18 18:49:59 UTC (rev 290142)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 18:52:06 UTC (rev 290143)
@@ -1,5 +1,11 @@
 2022-02-18  Jon Lee  
 
+Follow up to b236802. Unreviewed.
+
+* platform/ios/TestExpectations: Remove the test expectations.
+
+2022-02-18  Jon Lee  
+
 Unreviewed gardening for GPU Process bot.
 
 * TestExpectations:


Modified: trunk/LayoutTests/platform/ios/TestExpectations (290142 => 290143)

--- trunk/LayoutTests/platform/ios/TestExpectations	2022-02-18 18:49:59 UTC (rev 290142)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2022-02-18 18:52:06 UTC (rev 290143)
@@ -3415,9 +3415,6 @@
 webkit.org/b/178588 fast/css/button-height.html [ Failure ]
 webkit.org/b/214465 imported/w3c/web-platform-tests/css/mediaqueries/mq-gamut-002.html [ ImageOnlyFailure ]
 
-webkit.org/b/236802 imported/w3c/web-platform-tests/css/css-color/t422-rgba-onscreen-b.xht [ ImageOnlyFailure ]
-webkit.org/b/236802 imported/w3c/web-platform-tests/css/css-color/t425-hsla-onscreen-b.xht [ ImageOnlyFailure ]
-
 # Passing only on iOS
 webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html [ Pass ]
 webkit.org/b/136754 css3/flexbox/csswg/ttwf-reftest-flex-wrap.html [ Pass ]






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [290151] trunk

2022-02-18 Thread timothy_horton
Title: [290151] trunk








Revision 290151
Author timothy_hor...@apple.com
Date 2022-02-18 12:21:56 -0800 (Fri, 18 Feb 2022)


Log Message
Client-set minimum effective device width is not respected if AllowViewportShrinkToFitContent is enabled
https://bugs.webkit.org/show_bug.cgi?id=236822

Reviewed by Wenson Hsieh.

Source/WebCore:

New test: fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html

Re-instate the functionality of -[WKWebView _setMinimumEffectiveDeviceWidth:]
after it was intentionally broken in favor of shrink-to-fit in r244849.

It turns out that clients sometimes need a larger manually-set minimum
than the one shrink-to-fit will choose, so instead of picking between
them, we just take the maximum of the two.

* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setViewLayoutSize):
Rename the client-set mEDW to `m_minimumEffectiveDeviceWidthForView`.

(WebCore::ViewportConfiguration::nativeWebpageParameters):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidthForShrinkToFit):
Rename to shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit to be clear that
it's only about ignoring the shrink-to-fit mEDW, not the client-set one.

Rename the shrink-to-fit-set mEDW to `m_minimumEffectiveDeviceWidthForShrinkToFit`.

(WebCore::ViewportConfiguration::description const):
(WebCore::ViewportConfiguration::setMinimumEffectiveDeviceWidth): Deleted.
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumEffectiveDeviceWidth const):
The effective-mEDW now takes the client-set value into account in all cases,
taking the maximum-of-minimums as the effective value.

(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidthForShrinkToFit const):
(WebCore::ViewportConfiguration::shouldIgnoreMinimumEffectiveDeviceWidth const): Deleted.

Source/WebKit:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::setViewportConfigurationViewLayoutSize):
Reset the separate shrink-to-fit mEDW if shrink-to-fit is not engaged.

(WebKit::WebPage::shrinkToFitContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/ViewportConfiguration.cpp
trunk/Source/WebCore/page/ViewportConfiguration.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm


Added Paths

trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width-expected.txt
trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html




Diff

Added: trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width-expected.txt (0 => 290151)

--- trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width-expected.txt	2022-02-18 20:21:56 UTC (rev 290151)
@@ -0,0 +1,11 @@
+This test verifies that a page with a large client-set minimum effective device width, no viewport, and content larger than the actual view width is scaled to fit the client-set minimum effective device width. To test manually, load the page and verify that the bar spans half the width of the page.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS minScale is expectedScale
+PASS innerWidth became 1500
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html (0 => 290151)

--- trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html	(rev 0)
+++ trunk/LayoutTests/fast/viewport/ios/shrink-to-fit-content-with-wider-minimum-device-width.html	2022-02-18 20:21:56 UTC (rev 290151)
@@ -0,0 +1,47 @@
+ 
+
+
+
+
+body, html {
+margin: 0;
+width: 100%;
+height: 100%;
+}
+
+#bar {
+width: 1000px;
+height: 100px;
+background: linear-gradient(to right, red 0%, green 50%, blue 100%);
+}
+
+#description {
+width: 300px;
+overflow: scroll;
+}
+
+
+jsTestIsAsync = true;
+
+description("This test verifies that a page with a large client-set minimum effective device width, no viewport, and content larger than the actual view width is scaled to fit the client-set minimum effective device width. To test manually, load the page and verify that the bar spans half the width of the page.");
+
+addEventListener("load", async () => {
+if (!window.testRunner)
+return;
+
+await UIHelper.setMinimumEffectiveWidth(1500);
+await UIHelper.ensureVisibleContentRectUpdate();
+minScale = (await UIHelper.minimumZoomScale()).toFixed(2);
+expectedScale = (screen.width / 1500).toFixed(2);
+shouldBe("minScale", "expectedScale");
+shouldBecomeEqual("innerWidth", "1500", finishJSTest);
+});
+
+
+
+
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (290150 => 290151)

--- 

[webkit-changes] [290155] trunk/Source/WebCore

2022-02-18 Thread mark . lam
Title: [290155] trunk/Source/WebCore








Revision 290155
Author mark@apple.com
Date 2022-02-18 12:42:39 -0800 (Fri, 18 Feb 2022)


Log Message
Fix copy-paste error in r290129.
https://bugs.webkit.org/show_bug.cgi?id=236847
rdar://problem/89155146

Reviewed by Yusuke Suzuki.

The heap server subspace name should be parameterized based on the interfaceName.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindow::subspaceForImpl):
* bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScope::subspaceForImpl):
* bindings/scripts/test/JS/JSExposedStar.cpp:
(WebCore::JSExposedStar::subspaceForImpl):
* bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
(WebCore::JSExposedToWorkerAndWindow::subspaceForImpl):
* bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScope::subspaceForImpl):
* bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScope::subspaceForImpl):
* bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::subspaceForImpl):
* bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScope::subspaceForImpl):
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
* bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
(WebCore::JSTestConditionalIncludes::subspaceForImpl):
* bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
(WebCore::JSTestConditionallyReadWrite::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
(WebCore::JSTestDefaultToJSON::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
(WebCore::JSTestDefaultToJSONFilteredByExposed::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
(WebCore::JSTestDefaultToJSONIndirectInheritance::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
(WebCore::JSTestDefaultToJSONInherit::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
(WebCore::JSTestDefaultToJSONInheritFinal::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:
(WebCore::JSTestDelegateToSharedSyntheticAttribute::subspaceForImpl):
* bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
(WebCore::JSTestDomainSecurity::subspaceForImpl):
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
* bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
* bindings/scripts/test/JS/JSTestGenerateAddOpaqueRoot.cpp:
(WebCore::JSTestGenerateAddOpaqueRoot::subspaceForImpl):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
* bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
* bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
* bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
* bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
* bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
(WebCore::JSTestLegacyFactoryFunction::subspaceForImpl):
* bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
(WebCore::JSTestLegacyNoInterfaceObject::subspaceForImpl):
* bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestLegacyOverrideBuiltIns::subspaceForImpl):
* bindings/scripts/test/JS/JSTestMapLike.cpp:

[webkit-changes] [290156] trunk

2022-02-18 Thread cdumez
Title: [290156] trunk








Revision 290156
Author cdu...@apple.com
Date 2022-02-18 12:58:46 -0800 (Fri, 18 Feb 2022)


Log Message
ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
https://bugs.webkit.org/show_bug.cgi?id=236846

Patch by Sam Sneddon  on 2022-02-18
Reviewed by Chris Dumez.

Source/WebCore:

Tests: http/wpt/push-api/onpush-disabled.html
   http/wpt/push-api/onpush-enabled.html

* Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl:

LayoutTests:

* http/wpt/push-api/onpush-disabled-expected.txt: Added.
* http/wpt/push-api/onpush-disabled.html: Added.
* http/wpt/push-api/onpush-disabled.js: Added.
(test):
* http/wpt/push-api/onpush-enabled-expected.txt: Added.
* http/wpt/push-api/onpush-enabled.html: Added.
* http/wpt/push-api/onpush-enabled.js: Added.
(test):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/push-api/ServiceWorkerGlobalScope+PushAPI.idl


Added Paths

trunk/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt
trunk/LayoutTests/http/wpt/push-api/onpush-disabled.html
trunk/LayoutTests/http/wpt/push-api/onpush-disabled.js
trunk/LayoutTests/http/wpt/push-api/onpush-enabled-expected.txt
trunk/LayoutTests/http/wpt/push-api/onpush-enabled.html
trunk/LayoutTests/http/wpt/push-api/onpush-enabled.js




Diff

Modified: trunk/LayoutTests/ChangeLog (290155 => 290156)

--- trunk/LayoutTests/ChangeLog	2022-02-18 20:42:39 UTC (rev 290155)
+++ trunk/LayoutTests/ChangeLog	2022-02-18 20:58:46 UTC (rev 290156)
@@ -1,3 +1,19 @@
+2022-02-18  Sam Sneddon  
+
+ServiceWorkerGlobalScope+PushAPI requires PushAPIEnabled
+https://bugs.webkit.org/show_bug.cgi?id=236846
+
+Reviewed by Chris Dumez.
+
+* http/wpt/push-api/onpush-disabled-expected.txt: Added.
+* http/wpt/push-api/onpush-disabled.html: Added.
+* http/wpt/push-api/onpush-disabled.js: Added.
+(test):
+* http/wpt/push-api/onpush-enabled-expected.txt: Added.
+* http/wpt/push-api/onpush-enabled.html: Added.
+* http/wpt/push-api/onpush-enabled.js: Added.
+(test):
+
 2022-02-18  Jon Lee  
 
 Follow up to b236802. Unreviewed.


Added: trunk/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt (0 => 290156)

--- trunk/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt	(rev 0)
+++ trunk/LayoutTests/http/wpt/push-api/onpush-disabled-expected.txt	2022-02-18 20:58:46 UTC (rev 290156)
@@ -0,0 +1,4 @@
+
+PASS onpush should not be exposed on ServiceWorkerGlobalScope
+PASS onpushsubscriptionchange should not be exposed on ServiceWorkerGlobalScope
+


Added: trunk/LayoutTests/http/wpt/push-api/onpush-disabled.html (0 => 290156)

--- trunk/LayoutTests/http/wpt/push-api/onpush-disabled.html	(rev 0)
+++ trunk/LayoutTests/http/wpt/push-api/onpush-disabled.html	2022-02-18 20:58:46 UTC (rev 290156)
@@ -0,0 +1,16 @@
+
+
+
+
+