X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fsync_file_system%2Flocal%2Flocal_file_change_tracker.cc;h=a89a667645e4394dbe33cafef3a3cdc4d7265d46;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=6bbe60ea8867e1ddf54602a0e9fa26feae1e6e1d;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/sync_file_system/local/local_file_change_tracker.cc b/src/chrome/browser/sync_file_system/local/local_file_change_tracker.cc index 6bbe60e..a89a667 100644 --- a/src/chrome/browser/sync_file_system/local/local_file_change_tracker.cc +++ b/src/chrome/browser/sync_file_system/local/local_file_change_tracker.cc @@ -12,7 +12,9 @@ #include "base/stl_util.h" #include "chrome/browser/sync_file_system/local/local_file_sync_status.h" #include "chrome/browser/sync_file_system/syncable_file_system_util.h" +#include "third_party/leveldatabase/src/helpers/memenv/memenv.h" #include "third_party/leveldatabase/src/include/leveldb/db.h" +#include "third_party/leveldatabase/src/include/leveldb/env.h" #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" #include "webkit/browser/fileapi/file_system_context.h" #include "webkit/browser/fileapi/file_system_file_util.h" @@ -37,7 +39,8 @@ const char kMark[] = "d"; // object must be destructed on file_task_runner. class LocalFileChangeTracker::TrackerDB { public: - explicit TrackerDB(const base::FilePath& base_path); + TrackerDB(const base::FilePath& base_path, + leveldb::Env* env_override); SyncStatusCode MarkDirty(const std::string& url); SyncStatusCode ClearDirty(const std::string& url); @@ -57,6 +60,7 @@ class LocalFileChangeTracker::TrackerDB { const leveldb::Status& status); const base::FilePath base_path_; + leveldb::Env* env_override_; scoped_ptr db_; SyncStatusCode db_status_; @@ -70,10 +74,11 @@ LocalFileChangeTracker::ChangeInfo::~ChangeInfo() {} LocalFileChangeTracker::LocalFileChangeTracker( const base::FilePath& base_path, + leveldb::Env* env_override, base::SequencedTaskRunner* file_task_runner) : initialized_(false), file_task_runner_(file_task_runner), - tracker_db_(new TrackerDB(base_path)), + tracker_db_(new TrackerDB(base_path, env_override)), current_change_seq_(0), num_changes_(0) { } @@ -423,8 +428,10 @@ void LocalFileChangeTracker::RecordChangeToChangeMaps( // TrackerDB ------------------------------------------------------------------- -LocalFileChangeTracker::TrackerDB::TrackerDB(const base::FilePath& base_path) +LocalFileChangeTracker::TrackerDB::TrackerDB(const base::FilePath& base_path, + leveldb::Env* env_override) : base_path_(base_path), + env_override_(env_override), db_status_(SYNC_STATUS_OK) {} SyncStatusCode LocalFileChangeTracker::TrackerDB::Init( @@ -437,6 +444,8 @@ SyncStatusCode LocalFileChangeTracker::TrackerDB::Init( leveldb::Options options; options.max_open_files = 0; // Use minimum. options.create_if_missing = true; + if (env_override_) + options.env = env_override_; leveldb::DB* db; leveldb::Status status = leveldb::DB::Open(options, path, &db); if (status.ok()) {