Closed Bug 1423714 Opened 2 years ago Closed 2 months ago

Import logins from Chrome on OS X

Categories

(Firefox :: Migration, enhancement, P1)

All
macOS
enhancement

Tracking

()

RESOLVED FIXED
Firefox 71
Tracking Status
relnote-firefox --- 70+
firefox70 + verified
firefox71 + verified

People

(Reporter: MattN, Assigned: MattN)

References

(Depends on 3 open bugs, Blocks 1 open bug)

Details

(Whiteboard: [fxgrowth])

Attachments

(3 files)

We should import logins from Chrome on OS X. https://bugs.chromium.org/p/chromium/issues/detail?id=466638 is the issue that removed OS X keychain support.

We probably need to implement the OSCrpypto backed for OS X (assuming it fits the API) https://dxr.mozilla.org/mozilla-central/search?q=path%3Aoscrypto&redirect=false

Example code: https://github.com/thanatoskira/OSXChromeDecrypt/blob/master/ChromePasswords.py
Flags: qe-verify+
Duplicate of this bug: 1555895
Whiteboard: [fxgrowth]
Assignee: nobody → MattN+bmo
Status: NEW → ASSIGNED
Priority: P2 → P1
Attachment #9091350 - Attachment description: Bug 1423714 - Import logins from Chrome on OS X → Bug 1423714 - Import logins from Chrome on macOS. r=Gijs
Attachment #9092948 - Attachment description: Bug 1423714 - Add an API to retrieve a password from Keychain by account and password. r=spohl,mstange → Bug 1423714 - Add an API to retrieve a password from Keychain by account and password. r=mstange
Attachment #9091350 - Attachment description: Bug 1423714 - Import logins from Chrome on macOS. r=Gijs → Bug 1423714 - Import logins from Chrome/Chromium on macOS. r=Gijs
Attachment #9092948 - Attachment description: Bug 1423714 - Add an API to retrieve a password from Keychain by account and password. r=mstange → Bug 1423714 - Add an API to retrieve a password from Keychain by account and service. r=mstange
Pushed by mozilla@noorenberghe.ca:
https://hg.mozilla.org/integration/autoland/rev/da575947bd02
Add an API to retrieve a password from Keychain by account and service. r=mstange
https://hg.mozilla.org/integration/autoland/rev/5014c42f9246
Add a module to decrypt Chrome/Chromium Login Data from macOS. r=Gijs
https://hg.mozilla.org/integration/autoland/rev/84da7e2b3868
Import logins from Chrome/Chromium on macOS. r=Gijs

Comment on attachment 9091350 [details]
Bug 1423714 - Import logins from Chrome/Chromium on macOS. r=Gijs

Beta/Release Uplift Approval Request

  • User impact if declined: Users who want to switch to Firefox but have their logins saved in Chrome on macOS would be less likely to use Firefox as their primary browser.

  • Is this code covered by automated tests?: Yes

  • Has the fix been verified in Nightly?: No

  • Needs manual test from QE?: Yes

  • If yes, steps to reproduce: https://jira.mozilla.com/browse/PI-293

  • Test that login import from Chrome on Windows still works

  • Test that login import from Chrome on macOS works (including with non-ASCII usernames and passwords)

  • List of other uplifts needed: None

  • Risk to taking this patch: Low

  • Why is the change risky/not risky? (and alternatives if risky): Worst case it causes a crash when a user chooses to import logins from Chrome on macOS but it shouldn't impact subsequent Firefox sessions. We could add a pref to disable this but we don't currently have one.

A reason why I'm suggesting uplift is because I think it will be valuable for the marketing around Fx70 with all the login improvements in it and because importing from other browsers isn't something that gets much testing in pre-release anyways so this is a good candidate for skipping ahead on the trains once QA has tested it.

  • String changes made/needed: None
Attachment #9091350 - Flags: approval-mozilla-beta?
Attachment #9092948 - Flags: approval-mozilla-beta?
Attachment #9092949 - Flags: approval-mozilla-beta?
QA Whiteboard: [qa-triaged]
Depends on: 1582484
Depends on: 1582486
Depends on: 1582492

We have started verifying this new functionality on the latest Nightly build on Mac 10.14. The saved passwords are successfully imported from Chrome on Mac OS, but during testing, we have found 3 issues regarding this new functionality:

  • The "enter keychain password" is required twice when importing passwords from Chrome. Logged the issue in bug 1582486.
  • The "saved passwords were successfully imported" message is wrongly displayed if the "require keychain password" panel is denied when importing passwords from Chrome. Logged in bug 1582484.
  • The "enter keychain password" panel is no longer triggered a second time if a wrong password was submitted then denied when importing passwords from Chrome. Logged in bug 1582492.

Unfortunately, we didn't have time to verify this functionality on other versions on Mac OS other than 10.14. Also, we haven't had time to verify if this functionality didn't regress anything on Windows when importing passwords from Chrome.

Considering this we recommend to not uplift this functionality in Beta 70 until we perform more testing and also until a decision is made for the issues we have found (bug 1582486, bug 1582484 and bug 1582492).

We will continue testing this new functionality on the latest Nightly 71.0a1 build and will add a new comment.

(In reply to Cosmin Muntean, Experiments QA from comment #10)

We have started verifying this new functionality on the latest Nightly build on Mac 10.14. The saved passwords are successfully imported from Chrome on Mac OS, but during testing, we have found 3 issues regarding this new functionality:

  • The "enter keychain password" is required twice when importing passwords from Chrome. Logged the issue in bug 1582486.

This seems like the expected behaviour for macOS but I added a needinfo there. Another tool I used to export logins from Chrome had the same behaviour. Note that the two prompts are slightly different.

  • The "saved passwords were successfully imported" message is wrongly displayed if the "require keychain password" panel is denied when importing passwords from Chrome. Logged in bug 1582484.

This is a long-standing issue with importing all data types from all browsers.

  • The "enter keychain password" panel is no longer triggered a second time if a wrong password was submitted then denied when importing passwords from Chrome. Logged in bug 1582492.

I think this should be an edge case and it's the user's own fault so I don't think it needs to be a blocker.

Considering this we recommend to not uplift this functionality in Beta 70 until we perform more testing and also until a decision is made for the issues we have found (bug 1582486, bug 1582484 and bug 1582492).

I wouldn't consider the above 3 issues blockers for the reasons mentioned above but I look forward to more testing when you have time. Thanks.

Depends on: 1582738

Release Note Request (optional, but appreciated)
[Why is this notable]: Users of Chrome on macOS can now import their logins into Firefox
[Affects Firefox for Android]: No
[Suggested wording]: Passwords can be imported from Chrome on macOS in addition to existing support for Windows.
[Links (documentation, blog post, etc)]: Neither of these are great for regular users at the moment:
https://wiki.mozilla.org/QA/Firefox_migrators#Supported_data_types
https://support.mozilla.org/kb/import-bookmarks-data-another-browser

relnote-firefox: --- → ?

(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #12)

[Suggested wording]: Passwords can be imported from Chrome on macOS in addition to existing support for Windows.

Added to nightly release notes.

We have tested this new functionality in the latest Nightly 71.0a1 (Build ID: 20190922213341) build on Mac 10.14, 10.13, 10.12 and 10.10. We have also verified if this functionality didn't regress anything on Windows 7 x64 and Windows 10 x64.

  • The logins are successfully imported in Firefox from Chrome on Mac OS.

Besides the issues that we have found in the first round of testing (bug 1582484, bug1582492, bug 1582486) and bug 1582738 we didn't find anything new.

You can find the test cases that we ran on all mentioned version here: Test Rail.

Flags: qe-verify+

Thanks Cosmin.

Uplift is now pending Release Process Exception approval.

Comment on attachment 9091350 [details]
Bug 1423714 - Import logins from Chrome/Chromium on macOS. r=Gijs

Let's bring this to beta 10 and re-verify there. Approved by Reese (and me)

Attachment #9091350 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9092948 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9092949 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

FYI this got uplifted to 70 so should get removed from Nightly 71 relnotes and be considered for Skyline ones.

Flags: needinfo?(pascalc)

(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #18)

FYI this got uplifted to 70 so should get removed from Nightly 71 relnotes and be considered for Skyline ones.

The feature wasn't removed or deactivated in Firefox Nightly, was it?

Flags: needinfo?(pascalc)

(In reply to Pascal Chevrel:pascalc from comment #19)

(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #18)

FYI this got uplifted to 70 so should get removed from Nightly 71 relnotes and be considered for Skyline ones.

The feature wasn't removed or deactivated in Firefox Nightly, was it?

That's correct so I guess it's fine in Fx71 Nightly relnotes but I didn't want it to carry over to Fx71 beta notes. I guess since the flag is still ? it will be considered for Fx70 notes.

(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #20)

(In reply to Pascal Chevrel:pascalc from comment #19)

(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #18)

FYI this got uplifted to 70 so should get removed from Nightly 71 relnotes and be considered for Skyline ones.

The feature wasn't removed or deactivated in Firefox Nightly, was it?

That's correct so I guess it's fine in Fx71 Nightly relnotes but I didn't want it to carry over to Fx71 beta notes. I guess since the flag is still ? it will be considered for Fx70 notes.

Don't worry, we don't carry notes over to the beta/release notes automatically, they are managed separately. That's why we don't change the flag when we add a note to the nightly release notes, in this case the feature is uplifted but in other cases the feature is behind a nightly only flag and will go into a future beta version.

We have tested this new functionality in the latest Nightly 70.0b10 (Build ID: 20190926005616) build on Mac 10.15, Mac 10.14, 10.13, 10.12 and 10.11. We have also verified if this functionality didn't regress anything on Windows 7 x64 and Windows 10 x64.

  • The logins are successfully imported in Firefox from Chrome on Mac OS.

Besides the issues that we have found in the first round of testing (bug 1582484, bug1582492, bug 1582486 and bug 1582738) we didn't find anything new.

You can find the test cases that we ran on all the mentioned versions here: Test Rail.

You need to log in before you can comment on or make changes to this bug.