summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/syncable/syncable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/sync/syncable/syncable.cc')
-rw-r--r--chrome/browser/sync/syncable/syncable.cc20
1 files changed, 17 insertions, 3 deletions
diff --git a/chrome/browser/sync/syncable/syncable.cc b/chrome/browser/sync/syncable/syncable.cc
index 99cc2ba..903b71d 100644
--- a/chrome/browser/sync/syncable/syncable.cc
+++ b/chrome/browser/sync/syncable/syncable.cc
@@ -352,12 +352,12 @@ EntryKernel* Directory::GetEntryByServerTag(const string& tag) {
return NULL;
}
-EntryKernel* Directory::GetEntryByHandle(const int64 metahandle) {
+EntryKernel* Directory::GetEntryByHandle(int64 metahandle) {
ScopedKernelLock lock(this);
return GetEntryByHandle(metahandle, &lock);
}
-EntryKernel* Directory::GetEntryByHandle(const int64 metahandle,
+EntryKernel* Directory::GetEntryByHandle(int64 metahandle,
ScopedKernelLock* lock) {
// Look up in memory
kernel_->needle.put(META_HANDLE, metahandle);
@@ -998,12 +998,21 @@ void BaseTransaction::Lock() {
}
BaseTransaction::BaseTransaction(Directory* directory, const char* name,
- const char* source_file, int line, WriterTag writer)
+ const char* source_file, int line, WriterTag writer)
: directory_(directory), dirkernel_(directory->kernel_), name_(name),
source_file_(source_file), line_(line), writer_(writer) {
Lock();
}
+BaseTransaction::BaseTransaction(Directory* directory)
+ : directory_(directory),
+ dirkernel_(NULL),
+ name_(NULL),
+ source_file_(NULL),
+ line_(NULL),
+ writer_(INVALID) {
+}
+
BaseTransaction::~BaseTransaction() {}
void BaseTransaction::UnlockAndLog(OriginalEntries* originals_arg) {
@@ -1098,6 +1107,11 @@ WriteTransaction::WriteTransaction(const ScopedDirLookup& scoped_dir,
originals_(new OriginalEntries) {
}
+WriteTransaction::WriteTransaction(Directory *directory)
+ : BaseTransaction(directory),
+ originals_(new OriginalEntries) {
+}
+
void WriteTransaction::SaveOriginal(EntryKernel* entry) {
if (NULL == entry)
return;