Closed Bug 1393332 Opened 6 years ago Closed 7 months ago

Add infrastructure to import Credit Cards from Chrome

Categories

(Firefox :: Migration, defect, P3)

defect

Tracking

()

RESOLVED FIXED
115 Branch
Tracking Status
relnote-firefox --- 115+
firefox115 --- fixed

People

(Reporter: chsiang, Assigned: zcharris)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [form autofill])

User Story

We would like to help Chromes users immediately feel like home when they migrate to Firefox by giving them an option to import all their autofill data.

[Success Criteria]
In the import wizard, add an option for Chrome users to import Saved Addresses and Credit Cards

Attachments

(2 files)

Attached image image.png
      No description provided.
User Story: (updated)
Component: Form Manager → Migration
Product: Toolkit → Firefox
Whiteboard: [form autofill]
Priority: -- → P3
Severity: normal → S3
Assignee: nobody → zcharris

One thing we're going to want to do here is introduce a new resource type for credit cards, as this information is considered sensitive enough to not include it under the FORMDATA umbrella.

Let's start with the credit card importing, and then move on to addresses.

Here's what I'd start with:

  1. So the first step is to add a new value to resourceTypes here: https://searchfox.org/mozilla-central/rev/f40d29a11f2eb4685256b59934e637012ea6fb78/browser/components/migration/MigrationUtils.sys.mjs#114-124 . Let's add a new PAYMENT_METHODS resource type to this list, with the value of 0x0100.
  2. Next add a "payment_methods" mapping (lowercase) to https://searchfox.org/mozilla-central/rev/f40d29a11f2eb4685256b59934e637012ea6fb78/browser/components/migration/content/migration.js#24-32. Let's set the value to "browser-data-payment-methods". That's going to come into play in the next step.
  3. That value we just added is for the strings we're going to introduce in this step. Let's do the same as this: https://searchfox.org/mozilla-central/rev/f40d29a11f2eb4685256b59934e637012ea6fb78/browser/locales/en-US/browser/migration.ftl#162-165, but use browser-data-payment-methods-checkbox and browser-data-payment-methods-label, and set the value for those two as Payment methods
  4. Next, we're going to clone GetBookmarksResource but call it GetPaymentMethodsResource: https://searchfox.org/mozilla-central/rev/f40d29a11f2eb4685256b59934e637012ea6fb78/browser/components/migration/ChromeProfileMigrator.sys.mjs#355-426
  5. Make sure the returned object type is MigrationUtils.resourceTypes.PAYMENT_METHODS. The migrate function in there is going to do the work that you've proven out. We're going to do the SQLite query, decrypt the data. Let's get that far, and then we'll work on inserting those credit cards into the Firefox database.
Attachment #9315182 - Attachment description: WIP: Bug 1393332 - Import Saved Addresses and Credit Cards from Chrome → WIP: Bug 1393332 - Import Saved Addresses and Credit Cards from Chrome r?mconley...
Attachment #9315182 - Attachment description: WIP: Bug 1393332 - Import Saved Addresses and Credit Cards from Chrome r?mconley... → Bug 1393332 - Import Saved Addresses and Credit Cards from Chrome r?mconley

Quick update here - we're going to generalize a bit, and change the type from "CREDITCARDS" to "PAYMENT_METHODS". I've updated comment 2 to suit.

Summary: Import Saved Addresses and Credit Cards from Chrome → Import Credit Cards from Chrome
Attachment #9315182 - Attachment description: Bug 1393332 - Import Saved Addresses and Credit Cards from Chrome r?mconley → WIP: Bug 1393332 - Import Credit Cards from Chrome r?mconley
Blocks: 1826149
Attachment #9315182 - Attachment description: WIP: Bug 1393332 - Import Credit Cards from Chrome r?mconley → Bug 1393332 - Import Credit Cards from Chrome r?mconley
Attachment #9315182 - Attachment description: Bug 1393332 - Import Credit Cards from Chrome r?mconley → Bug 1393332 - Import Credit Cards from Chrome r?mconley!

The UI will be added in a different bug, which I'll link to here shortly.

Summary: Import Credit Cards from Chrome → Add infrastructure to import Credit Cards from Chrome

Ah, I forgot it was already filed - the UI will be added in bug 1826149.

Attachment #9315182 - Attachment description: Bug 1393332 - Import Credit Cards from Chrome r?mconley! → Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r?mconley!
Pushed by mconley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f7f2b8abcf6c
Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod
Attachment #9315182 - Attachment description: Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r?mconley! → Bug 1393332 - Import Credit Cards from Chrome r?mconley!
Attachment #9315182 - Attachment description: Bug 1393332 - Import Credit Cards from Chrome r?mconley! → Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r?mconley
Pushed by mconley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b18e7995e7cd
Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod

Backed out for causing xpcshell failures on test_Chrome_credit_cards.js

Backout link

Push with failures

Failure log

Attachment #9315182 - Attachment description: Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r?mconley → Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r?mconley!
Pushed by mconley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a3165d792ed7
Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → 115 Branch

Release Note Request (optional, but appreciated)
[Why is this notable]:

Users coming from other Chrome-based browsers will now be able to import credit card data saved in those old browsers.

[Affects Firefox for Android]:

No.

[Suggested wording]:

Migrating from another browser? Now you can bring over payment methods you've saved in Chrome-based browsers to Firefox.

[Links (documentation, blog post, etc)]:

N/A.

relnote-firefox: --- → ?
Flags: needinfo?(zcharris)

Thanks, added to Fx115 the Nightly release notes. Keeping the relnote? flag open to keep it on the radar for inclusion in our final release notes.

See Also: → 1839418
You need to log in before you can comment on or make changes to this bug.