[webkit-changes] [290154] trunk
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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 @@ + + + + +