Igalia / wolvic-chromium

The official GitHub mirror of the Chromium source
https://chromium.googlesource.com/chromium/src/
BSD 3-Clause "New" or "Revised" License
11 stars 7 forks source link

Implement autocomplete's Login #89

Closed mshin-wolvic closed 7 months ago

mshin-wolvic commented 7 months ago
mshin-wolvic commented 7 months ago
  • I'm a bit scared of adding so much amount of code (even knowing that there are many dummy implementations). Can't we just inherit from another existing clients?

Unfortunately, password manager component has Stubxxx, Mockxxx for test only and there is no inheritable client.

  • I don't have a clear idea of how all the actors interact in this whole process, it'd be nice if you could write some brief document explaining how all this work.

OK, I will share the document.

  • What's the "crash issue" that forces us to implement the WolvicSignClient?

We don't actually use Identity or Signin of Chromium components, but PasswordManager is tightly close to them without null check. So when this is null, it crashes.

See code here.

void AccountFetcherService::Initialize(
...
  repeating_timer_ = std::make_unique<signin::PersistentRepeatingTimer>(
      signin_client_->GetPrefs(), AccountFetcherService::kLastUpdatePref,

https://source.chromium.org/chromium/chromium/src/+/main:components/signin/internal/identity_manager/account_fetcher_service.cc;l=103?q=AccountFetcherService::Initialize&ss=chromium%2Fchromium%2Fsrc

This will only go through initialization and will no longer work, but we should provide a dummy client to avoid null access.

mshin-wolvic commented 7 months ago

OK, I will share the document.

  • What's the "crash issue" that forces us to implement the WolvicSignClient?