blob: b0542264e31ee614d2d473fd980df3d82f0331b6 [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 "sync/internal_api/test/sync_manager_for_profile_sync_test.h"
#include "sync/internal_api/public/test/test_user_share.h"
#include "sync/internal_api/public/user_share.h"
#include "sync/syncable/directory.h"
namespace syncer {
SyncManagerForProfileSyncTest::SyncManagerForProfileSyncTest(
std::string name,
base::Closure init_callback)
: SyncManagerImpl(name),
init_callback_(init_callback) {}
SyncManagerForProfileSyncTest::~SyncManagerForProfileSyncTest() {}
void SyncManagerForProfileSyncTest::NotifyInitializationSuccess() {
UserShare* user_share = GetUserShare();
syncable::Directory* directory = user_share->directory.get();
if (!init_callback_.is_null())
init_callback_.Run();
ModelTypeSet early_download_types;
early_download_types.PutAll(ControlTypes());
early_download_types.PutAll(PriorityUserTypes());
for (ModelTypeSet::Iterator it = early_download_types.First();
it.Good(); it.Inc()) {
if (!directory->InitialSyncEndedForType(it.Get())) {
syncer::TestUserShare::CreateRoot(it.Get(), user_share);
}
}
SyncManagerImpl::NotifyInitializationSuccess();
}
} // namespace syncer