Skip to content

Bug 2081839 - Require profile authentication to manage credit cards on Android Automotive OS - #436

Closed
JohnOberhauser wants to merge 2 commits into
mozilla-firefox:autolandfrom
JohnOberhauser:Bug-2081839
Closed

JohnOberhauser wants to merge 2 commits into
mozilla-firefox:autolandfrom
JohnOberhauser:Bug-2081839

Conversation

@JohnOberhauser

@JohnOberhauser JohnOberhauser commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Part 1: On Android Automotive OS with the automotive-sensitive-data Nimbus feature enabled, credit card management now uses the AutomotiveSensitiveDataAuthenticator check from bug 2081834 instead of the once-only payment methods setup prompt. Cancelling the setup prompt or failing authentication keeps credit card management closed. Other devices are unchanged.

Part 2: On the Compose Autofill settings screen (enableComposeAutofillSettings), "Manage cards" now goes through the same verifyCredentialsOrShowSetupWarning check as the classic screen; before, it opened credit card management without any authentication on every device. This also fixes the screen so the item can be reached and tapped: it now scrolls, no longer adds the bottom system bar inset twice, and passes the click handler as onClick instead of onIconClick.


Lando: link
Bugzilla: bug 2081839

⚠️ This pull request has 3 warnings.
🚫 This pull request has 2 blockers.

@mozilla-code-review mozilla-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

23 issues have been found in this revision.

23 issues are located outside of the files touched by the patch:

  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:339 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:421 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:327 Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • memory/replace/dmd/DMD.h:85 Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:411 Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsTSubstring.h:22 Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]
  • xpcom/threads/TimerThreadMonitor.h:68 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:69 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:71 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:72 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:70 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.

@mozilla-code-review
mozilla-code-review Bot dismissed their stale review November 6, 2026 00:54

This review is now deprecated.

@mozilla-code-review mozilla-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

23 issues have been found in this revision.

23 issues are located outside of the files touched by the patch:

  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:339 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:421 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:327 Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • memory/replace/dmd/DMD.h:85 Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:411 Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsTSubstring.h:22 Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]
  • xpcom/threads/TimerThreadMonitor.h:68 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:69 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:71 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:72 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:70 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.

@JohnOberhauser

Copy link
Copy Markdown
Contributor Author

@mozilla-code-review
mozilla-code-review Bot dismissed their stale review November 6, 2026 17:11

This review is now deprecated.

@mozilla-code-review

Copy link
Copy Markdown

Previous issues have been fixed. This pull request is 🆗

@mozilla-code-review

Copy link
Copy Markdown

No new issues detected. This pull request is 🆗

@JohnOberhauser
JohnOberhauser marked this pull request as ready for review November 6, 2026 17:17
@lando-web
lando-web Bot requested a review from a team November 6, 2026 17:17

@t-p-white t-p-white left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm 🚀

lando-worker Bot pushed a commit that referenced this pull request Nov 13, 2026
…n Android Automotive OS r=twhite

**Part 1:** On Android Automotive OS with the `automotive-sensitive-data` Nimbus feature enabled, credit card management now uses the `AutomotiveSensitiveDataAuthenticator` check from bug 2081834 instead of the once-only payment methods setup prompt. Cancelling the setup prompt or failing authentication keeps credit card management closed. Other devices are unchanged.

**Part 2:** On the Compose Autofill settings screen (`enableComposeAutofillSettings`), "Manage cards" now goes through the same `verifyCredentialsOrShowSetupWarning` check as the classic screen; before, it opened credit card management without any authentication on every device. This also fixes the screen so the item can be reached and tapped: it now scrolls, no longer adds the bottom system bar inset twice, and passes the click handler as `onClick` instead of `onIconClick`.

Pull request: #436
@lando-worker

lando-worker Bot commented Nov 13, 2026

Copy link
Copy Markdown

Pull request closed by commit 574dab7

@lando-worker lando-worker Bot closed this Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants