blob: e2f88c4c8b007adb3e096e8fadb26822270972e7 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/sync/base/extensions_activity.h"
namespace syncer {
ExtensionsActivity::Record::Record() : bookmark_write_count(0U) {}
ExtensionsActivity::Record::~Record() = default;
ExtensionsActivity::ExtensionsActivity() = default;
ExtensionsActivity::~ExtensionsActivity() = default;
void ExtensionsActivity::GetAndClearRecords(Records* buffer) {
base::AutoLock lock(records_lock_);
buffer->clear();
buffer->swap(records_);
}
void ExtensionsActivity::PutRecords(const Records& records) {
base::AutoLock lock(records_lock_);
for (const auto& id_and_record : records) {
const std::string& id = id_and_record.first;
const Record& record = id_and_record.second;
records_[id].extension_id = record.extension_id;
records_[id].bookmark_write_count += record.bookmark_write_count;
}
}
void ExtensionsActivity::UpdateRecord(const std::string& extension_id) {
base::AutoLock lock(records_lock_);
Record& record = records_[extension_id];
record.extension_id = extension_id;
record.bookmark_write_count++;
}
} // namespace syncer