#include "chrome/browser/extensions/extension_sync_data.h"
#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/extensions/extension_service.h"
#include "components/crx_file/id_util.h"
#include "components/sync/model/sync_data.h"
#include "components/sync/protocol/app_specifics.pb.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/protocol/extension_specifics.pb.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest_url_handlers.h"
StringOrdinal;
namespace extensions {
namespace {
std::string GetExtensionSpecificsLogMessage(
const sync_pb::ExtensionSpecifics& specifics) { … }
enum BadSyncDataReason { … };
void RecordBadSyncData(BadSyncDataReason reason) { … }
}
ExtensionSyncData::LinkedAppIconInfo::LinkedAppIconInfo() { … }
ExtensionSyncData::LinkedAppIconInfo::~LinkedAppIconInfo() { … }
ExtensionSyncData::ExtensionSyncData()
: … { … }
ExtensionSyncData::ExtensionSyncData(const Extension& extension,
bool enabled,
int disable_reasons,
bool incognito_enabled,
bool remote_install,
const GURL& update_url)
: … { … }
ExtensionSyncData::ExtensionSyncData(const Extension& extension,
bool enabled,
int disable_reasons,
bool incognito_enabled,
bool remote_install,
const GURL& update_url,
const StringOrdinal& app_launch_ordinal,
const StringOrdinal& page_ordinal,
LaunchType launch_type)
: … { … }
ExtensionSyncData::ExtensionSyncData(const ExtensionSyncData& other) = default;
ExtensionSyncData::~ExtensionSyncData() { … }
std::unique_ptr<ExtensionSyncData> ExtensionSyncData::CreateFromSyncData(
const syncer::SyncData& sync_data) { … }
std::unique_ptr<ExtensionSyncData> ExtensionSyncData::CreateFromSyncChange(
const syncer::SyncChange& sync_change) { … }
syncer::SyncData ExtensionSyncData::GetSyncData() const { … }
syncer::SyncChange ExtensionSyncData::GetSyncChange(
syncer::SyncChange::SyncChangeType change_type) const { … }
void ExtensionSyncData::ToExtensionSpecifics(
sync_pb::ExtensionSpecifics* specifics) const { … }
void ExtensionSyncData::ToAppSpecifics(sync_pb::AppSpecifics* specifics) const { … }
bool ExtensionSyncData::PopulateFromExtensionSpecifics(
const sync_pb::ExtensionSpecifics& specifics) { … }
bool ExtensionSyncData::PopulateFromAppSpecifics(
const sync_pb::AppSpecifics& specifics) { … }
bool ExtensionSyncData::PopulateFromSyncData(
const syncer::SyncData& sync_data) { … }
}