| Index: services/preferences/public/cpp/pref_store_manager_impl.cc | 
| diff --git a/services/preferences/public/cpp/pref_store_manager_impl.cc b/services/preferences/public/cpp/pref_store_manager_impl.cc | 
| index 56846c39ca2b6ed880235fb5da690edd39839ecc..6ae0689e44e272f93f0d333f9519c0c2cf869dbf 100644 | 
| --- a/services/preferences/public/cpp/pref_store_manager_impl.cc | 
| +++ b/services/preferences/public/cpp/pref_store_manager_impl.cc | 
| @@ -58,6 +58,12 @@ void ConnectionBarrier::Create(const PrefStorePtrs& pref_store_ptrs, | 
| } | 
|  | 
| void ConnectionBarrier::Init(const PrefStorePtrs& pref_store_ptrs) { | 
| +  if (expected_connections_ == 0) { | 
| +    // Degenerate case. We don't expect this, but it could happen in | 
| +    // e.g. testing. | 
| +    callback_.Run(std::move(connections_)); | 
| +    return; | 
| +  } | 
| for (const auto& ptr : pref_store_ptrs) { | 
| ptr.second->AddObserver( | 
| base::Bind(&ConnectionBarrier::OnConnect, this, ptr.first)); | 
|  |