Closed Bug 1782083 Opened 3 years ago Closed 2 years ago

Create skeleton IdentityCredential

Categories

(Core :: DOM: Credential Management, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
106 Branch
Tracking Status
firefox106 --- fixed

People

(Reporter: bvandersloot, Assigned: bvandersloot)

References

Details

Attachments

(1 file)

let's start with a minimal Credential implementation that returns NS_ERROR_NOT_IMPLEMENTED everywhere. This ensures the first step of getting the plumbing through the credential is done correctly.

Depends on: 1782085
Priority: -- → P1
Depends on: 1782091
No longer blocks: 1782066
No longer depends on: 1782085, 1782091
Depends on: 1782091, 1782085
Blocks: 1782085, 1782091
No longer depends on: 1782085, 1782091
Depends on: 1782080
Depends on: 1782081
Blocks: 1782066

This patch creates a do-nothing IdentityCredential that gives errors when it is used.

The IdentityCredential webidl is defined here:
https://fedidcg.github.io/FedCM/#browser-api-identity-credential-interface

Accomplished here:

  • IdentityCredential class defined, including isupports and cycle-counting macros
  • Empty test added to hold the place of a mochitest folder
  • webidl of CredentialsContainer updated and IdentityCredential added
  • Logic to parse identity key from navigator.credentials.get()
  • Adding all of this to the build, including membership to the new bugzilla component DOM: Credential Management

Depends on D153587

Assignee: nobody → bvandersloot
Status: NEW → ASSIGNED
Pushed by bvandersloot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fe15584d654b Create skeleton IdentityCredential, r=dveditz,emilio

Backed out 14 changesets (bug 1782080, bug 1782083, bug 1782085, bug 1782081) for causing mochitest failures in dom/credentialmanagement/identity/tests/mochitest/test_simple.html

Backout link: https://hg.mozilla.org/integration/autoland/rev/93a9b1ba6411a636b3f34e72ecef52fe87daca81

Push with failures

Failure log

Failure log bp-hybrid bustage

/builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ --sysroot /builds/worker/fetches/MacOSX11.3.sdk -mmacosx-version-min=10.12 -stdlib=libc++ -std=gnu++17 --target=x86_64-apple-darwin -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wdeprecated-this-capture -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wenum-compare-conditional -Wno-ambiguous-reversed-operator -Wno-error=deprecated -Wno-error=deprecated-anon-enum-enum-conversion -Wno-error=deprecated-enum-enum-conversion -Wno-error=deprecated-enum-float-conversion -Wno-error=deprecated-pragma -Wno-error=deprecated-this-capture -Wno-error=deprecated-volatile -Wcomma -Wimplicit-fallthrough -Wduplicate-method-arg -Wduplicate-method-match -Wmissing-method-return-type -Wobjc-signed-char-bool -Wsemicolon-before-method-body -Wsuper-class-method-mismatch -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-psabi -Wthread-safety -Werror=unguarded-availability-new -Wno-unknown-warning-option -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -gdwarf-4 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror   -o XUL -Wl,-filelist,/builds/worker/workspace/obj-build/toolkit/library/gtest/XUL.list   -fstack-protector-strong '-Wl,-U,_OBJC_CLASS_$_NSTouchBar' '-Wl,-U,_OBJC_CLASS_$_NSSharingServicePickerTouchBarItem' '-Wl,-U,_OBJC_METACLASS_$_NSTouchBar' '-Wl,-U,_OBJC_CLASS_$_NSCustomTouchBarItem' '-Wl,-U,_OBJC_CLASS_$_NSPopoverTouchBarItem' -lresolv -Wl,-dead_strip  ../../../security/nss/lib/crmf/crmf_crmf/libcrmf.a ../../../js/src/build/libjs_static.a /builds/worker/workspace/obj-build/x86_64-apple-darwin/release/libgkrust_gtest.a ../../../security/libnss3.dylib ../../../config/external/lgpllibs/liblgpllibs.dylib ../../../mozglue/build/libmozglue.dylib -dynamiclib -install_name @rpath/XUL -compatibility_version 1 -current_version 1  -framework AudioUnit -framework CoreAudio -lbsm -framework IOSurface -framework IOKit -framework AudioToolbox -framework CoreMedia -framework VideoToolbox -Wl,-U,_VTRegisterSupplementalVideoDecoderIfAvailable -Wl,-U,_VTIsHardwareDecodeSupported -framework Vision -framework LocalAuthentication -framework Security -lm -framework Foundation -framework CoreFoundation -framework CoreLocation -framework QuartzCore -framework Carbon -framework CoreVideo -framework AddressBook -framework OpenGL -framework ServiceManagement -framework CoreServices -framework ApplicationServices -framework AppKit -framework CoreMIDI -framework SystemConfiguration -framework AVFoundation -F/builds/worker/fetches/MacOSX11.3.sdk/System/Library/PrivateFrameworks -framework CoreUI -framework CoreSymbolication -lcups -weak_framework Metal -weak_framework MediaPlayer
[task 2022-09-13T17:09:08.145Z] 17:09:08     INFO -  Undefined symbols for architecture x86_64:
[task 2022-09-13T17:09:08.146Z] 17:09:08     INFO -    "__ZN7mozilla3dom18FetchJSONStructureINS0_13IdentityTokenENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.146Z] 17:09:08     INFO -        __ZN7mozilla3dom18IdentityCredential10FetchTokenEP12nsIPrincipalRKNS0_16IdentityProviderERKNS0_24IdentityInternalManifestERKNS0_15IdentityAccountE in IdentityCredential.o
[task 2022-09-13T17:09:08.146Z] 17:09:08     INFO -    "__ZN7mozilla3dom18FetchJSONStructureINS0_24IdentityInternalManifestENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.146Z] 17:09:08     INFO -        __ZN7mozilla3dom18IdentityCredential21FetchInternalManifestEP12nsIPrincipalRKNS0_16IdentityProviderE in IdentityCredential.o
[task 2022-09-13T17:09:08.147Z] 17:09:08     INFO -    "__ZN7mozilla3dom18FetchJSONStructureINS0_19IdentityAccountListENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.147Z] 17:09:08     INFO -        __ZN7mozilla3dom18IdentityCredential16FetchAccountListEP12nsIPrincipalRKNS0_16IdentityProviderERKNS0_24IdentityInternalManifestE in IdentityCredential.o
[task 2022-09-13T17:09:08.147Z] 17:09:08     INFO -    "__ZN7mozilla3dom18FetchJSONStructureINS0_20IdentityRootManifestENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.147Z] 17:09:08     INFO -        __ZN7mozilla3dom18IdentityCredential17CheckRootManifestEP12nsIPrincipalRKNS0_16IdentityProviderE in IdentityCredential.o
[task 2022-09-13T17:09:08.148Z] 17:09:08     INFO -  ld: symbol(s) not found for architecture x86_64
[task 2022-09-13T17:09:08.148Z] 17:09:08     INFO -  clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
[task 2022-09-13T17:09:08.148Z] 17:09:08    ERROR -  gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:540: XUL] Error 1
TEST-UNEXPECTED-FAIL | dom/credentialmanagement/identity/tests/mochitest/test_simple.html | must not have an error
TEST-UNEXPECTED-FAIL | dom/credentialmanagement/identity/tests/mochitest/test_two_accounts.html | must not have an error
Flags: needinfo?(bvandersloot)

The last set of changes to the patches for 1782083 broke this stack due to a histedit error. Fixing and resubmitting.

Flags: needinfo?(bvandersloot)
Pushed by bvandersloot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1006a551ba12 Create skeleton IdentityCredential, r=dveditz,emilio

It looks like I found the issue in the definition of my templated functions and how they are specified in dom/credentialmanagement/identity/moz.build. I've modified patches in D155722 and D155723 to build locally and in https://treeherder.mozilla.org/jobs?repo=try&revision=196e53fef2718edc8711b690e0c2879a2be35060 .

Flags: needinfo?(bvandersloot)
Pushed by bvandersloot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/360809891acc Create skeleton IdentityCredential, r=dveditz,emilio
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: