[webkit-changes] [WebKit/WebKit] 2dbfef: [Digital Identity]: navigator.identity should be i...

Marcos Cáceres noreply at github.com
Mon Mar 11 16:35:20 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2dbfef33bb52c31bed14b8fadf209338031552a5
      https://github.com/WebKit/WebKit/commit/2dbfef33bb52c31bed14b8fadf209338031552a5
  Author: Marcos Caceres <marcosc at apple.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    A LayoutTests/http/wpt/identity/identitycredentialscontainer-get-basics.https-expected.txt
    A LayoutTests/http/wpt/identity/identitycredentialscontainer-get-basics.https.html
    A LayoutTests/http/wpt/identity/identtycredentialscontainer-create-basics.https-expected.txt
    A LayoutTests/http/wpt/identity/identtycredentialscontainer-create-basics.https.html
    A LayoutTests/http/wpt/identity/identtycredentialscontainer-store-basics.https-expected.txt
    A LayoutTests/http/wpt/identity/identtycredentialscontainer-store-basics.https.html
    A LayoutTests/http/wpt/identity/idl.https-expected.txt
    A LayoutTests/http/wpt/identity/idl.https.html
    M LayoutTests/http/wpt/identity/setDigitalCredentialsEnable.https.html
    M LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.h
    M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.idl
    A Source/WebCore/Modules/identity/IdentityCredentialsContainer.cpp
    A Source/WebCore/Modules/identity/IdentityCredentialsContainer.h
    M Source/WebCore/Modules/identity/NavigatorIdentity.cpp
    M Source/WebCore/Modules/identity/NavigatorIdentity.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/bindings/js/WebCoreBuiltinNames.h
    M Tools/DumpRenderTree/TestOptions.cpp

  Log Message:
  -----------
  [Digital Identity]: navigator.identity should be implemented by a separate IdentityCredentialManager
https://bugs.webkit.org/show_bug.cgi?id=269165
rdar://123184696

Reviewed by Andy Estes.

Implements IdentityCredentialsContainer on top of CredentialsContainer by
virtualizing some of the methods of CredentialsContainer.

For IdentityCredentialsContainer, we implement the logic for:

 * navigator.identity.get()
 * navigator.identity.create() - Default to just return null.

And we defer the logic for the following to CredentialsContainer:
 * navigator.identity.store() - which just rejects with a NotSupportedError.

Adds performCommonChecks() to CredentialsContainer to DRY up the code,
and so that we can use it in IdentityCredentialsContainer.

And the DigitalCredentialsEnable preference is now set to "testable".

* LayoutTests/http/wpt/identity/identitycredentialscontainer-get-basics.https-expected.txt: Added.
* LayoutTests/http/wpt/identity/identitycredentialscontainer-get-basics.https.html: Added.
* LayoutTests/http/wpt/identity/identtycredentialscontainer-create-basics.https-expected.txt: Added.
* LayoutTests/http/wpt/identity/identtycredentialscontainer-create-basics.https.html: Added.
* LayoutTests/http/wpt/identity/identtycredentialscontainer-store-basics.https-expected.txt: Added.
* LayoutTests/http/wpt/identity/identtycredentialscontainer-store-basics.https.html: Added.
* LayoutTests/http/wpt/identity/idl.https-expected.txt: Added.
* LayoutTests/http/wpt/identity/idl.https.html: Added.
* LayoutTests/http/wpt/identity/setDigitalCredentialsEnable.https.html:
* LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt:
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h:
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp:
(WebCore::CredentialsContainer::get):
(WebCore::CredentialsContainer::isCreate):
(WebCore::CredentialsContainer::performCommonChecks):
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.h:
(WebCore::CredentialsContainer::create):
* Source/WebCore/Modules/credentialmanagement/CredentialsContainer.idl:
* Source/WebCore/Modules/identity/IdentityCredentialsContainer.cpp: Added.
(WebCore::IdentityCredentialsContainer::IdentityCredentialsContainer):
(WebCore::IdentityCredentialsContainer::get):
(WebCore::IdentityCredentialsContainer::isCreate):
* Source/WebCore/Modules/identity/IdentityCredentialsContainer.h: Copied from Source/WebCore/Modules/identity/NavigatorIdentity.h.
* Source/WebCore/Modules/identity/NavigatorIdentity.cpp:
(WebCore::NavigatorIdentity::identity):
* Source/WebCore/Modules/identity/NavigatorIdentity.h:
* Source/WebCore/Modules/model-element/ModelPlayerClient.h:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
* Tools/DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):

Canonical link: https://commits.webkit.org/275939@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list