Bug 1394578 - Use gHashTable->EntryCount() to size aDomPrefs, not aCapacity(). r=glandium
As is done in pref_SavePrefs().
The confusion here is because a Vector can fill 100% of its capacity, but a
hash table cannot go past 75% of its capacity.
MozReview-Commit-ID: 5JMbmtrxMGN
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -3642,17 +3642,17 @@ Preferences::GetPreference(dom::Pref* aD
if (pref && pref->HasAdvisablySizedValues()) {
pref->ToDomPref(aDomPref);
}
}
void
Preferences::GetPreferences(InfallibleTArray<dom::Pref>* aDomPrefs)
{
- aDomPrefs->SetCapacity(gHashTable->Capacity());
+ aDomPrefs->SetCapacity(gHashTable->EntryCount());
for (auto iter = gHashTable->Iter(); !iter.Done(); iter.Next()) {
auto pref = static_cast<PrefHashEntry*>(iter.Get());
if (pref->HasAdvisablySizedValues()) {
dom::Pref* setting = aDomPrefs->AppendElement();
pref->ToDomPref(setting);
}
}