Bug 1698098 - Make use of nsBaseHashtable::Clone. r=xpcom-reviewers,mccr8

Differential Revision: https://phabricator.services.mozilla.com/D107617
This commit is contained in:
Simon Giesecke 2021-03-19 09:01:46 +00:00
parent e0393699f5
commit 6ae9169f08
5 changed files with 9 additions and 25 deletions

View File

@ -102,11 +102,7 @@ KeyframeEffect::KeyframeEffect(Document* aDocument,
mTarget.mPseudoType},
mKeyframes(aOther.mKeyframes.Clone()),
mProperties(aOther.mProperties.Clone()),
mBaseValues(aOther.mBaseValues.Count()) {
for (auto iter = aOther.mBaseValues.ConstIter(); !iter.Done(); iter.Next()) {
mBaseValues.InsertOrUpdate(iter.Key(), RefPtr{iter.Data()});
}
}
mBaseValues(aOther.mBaseValues.Clone()) {}
JSObject* KeyframeEffect::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) {

View File

@ -79,11 +79,10 @@ class ObserverTable : public nsTHashMap<nsPtrHashKey<IProgressObserver>,
ObserverTable() = default;
ObserverTable(const ObserverTable& aOther) {
ObserverTable(const ObserverTable& aOther)
: nsTHashMap<nsPtrHashKey<IProgressObserver>, WeakPtr<IProgressObserver>>(
aOther.Clone()) {
NS_WARNING("Forced to copy ObserverTable due to nested notifications");
for (auto iter = aOther.ConstIter(); !iter.Done(); iter.Next()) {
this->InsertOrUpdate(iter.Key(), iter.Data());
}
}
private:

View File

@ -107,11 +107,8 @@ SandboxBroker::~SandboxBroker() {
SandboxBroker::Policy::Policy() = default;
SandboxBroker::Policy::~Policy() = default;
SandboxBroker::Policy::Policy(const Policy& aOther) {
for (auto iter = aOther.mMap.ConstIter(); !iter.Done(); iter.Next()) {
mMap.InsertOrUpdate(iter.Key(), iter.Data());
}
}
SandboxBroker::Policy::Policy(const Policy& aOther)
: mMap(aOther.mMap.Clone()) {}
// Chromium
// sandbox/linux/syscall_broker/broker_file_permission.cc

View File

@ -424,13 +424,8 @@ nsresult TelemetryOrigin::GetOriginSnapshot(bool aClear, JSContext* aCx,
gMetricToOriginBag->SwapElements(copy);
} else {
auto iter = gMetricToOriginBag->ConstIter();
for (; !iter.Done(); iter.Next()) {
OriginBag& bag = copy.LookupOrInsert(iter.Key());
auto originIt = iter.Data().ConstIter();
for (; !originIt.Done(); originIt.Next()) {
bag.InsertOrUpdate(originIt.Key(), originIt.Data());
}
for (const auto& entry : *gMetricToOriginBag) {
copy.InsertOrUpdate(entry.GetKey(), entry.GetData().Clone());
}
}
}

View File

@ -328,10 +328,7 @@ struct CachedFullHashResponse {
CachedFullHashResponse& operator=(const CachedFullHashResponse& aOther) {
negativeCacheExpirySec = aOther.negativeCacheExpirySec;
fullHashes.Clear();
for (auto iter = aOther.fullHashes.ConstIter(); !iter.Done(); iter.Next()) {
fullHashes.InsertOrUpdate(iter.Key(), iter.Data());
}
fullHashes = aOther.fullHashes.Clone();
return *this;
}