Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / sync / syncable / syncable_model_neutral_write_transaction.cc
blob9aaf74007268f7bffda9dee1d2fd942e6bbf40f0
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "sync/syncable/syncable_model_neutral_write_transaction.h"
7 #include "sync/syncable/directory.h"
9 namespace syncer {
10 namespace syncable {
12 ModelNeutralWriteTransaction::ModelNeutralWriteTransaction(
13 const tracked_objects::Location& location,
14 WriterTag writer, Directory* directory)
15 : BaseWriteTransaction(location,
16 "ModelNeutralWriteTransaction",
17 writer,
18 directory) {
19 Lock();
22 ModelNeutralWriteTransaction::~ModelNeutralWriteTransaction() {
23 directory()->CheckInvariantsOnTransactionClose(this, modified_handles_);
24 HandleUnrecoverableErrorIfSet();
25 Unlock();
28 void ModelNeutralWriteTransaction::TrackChangesTo(const EntryKernel* entry) {
29 modified_handles_.insert(entry->ref(META_HANDLE));
32 } // namespace syncer
33 } // namespace syncable