diff options
-rw-r--r-- | content/browser/indexed_db/leveldb/leveldb_database.cc | 5 | ||||
-rw-r--r-- | third_party/leveldatabase/env_chromium.cc | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/content/browser/indexed_db/leveldb/leveldb_database.cc b/content/browser/indexed_db/leveldb/leveldb_database.cc index aab1255..c78ec0d 100644 --- a/content/browser/indexed_db/leveldb/leveldb_database.cc +++ b/content/browser/indexed_db/leveldb/leveldb_database.cc @@ -103,7 +103,12 @@ static leveldb::Status OpenDB( options.create_if_missing = true; options.paranoid_checks = true; options.filter_policy = filter_policy->get(); +#if defined(OS_CHROMEOS) + // Disabled on CrOS until crbug.com/460568 is fixed. + options.reuse_logs = false; +#else options.reuse_logs = true; +#endif options.compression = leveldb::kSnappyCompression; // For info about the troubles we've run into with this parameter, see: diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc index 65d179a..42bdb42 100644 --- a/third_party/leveldatabase/env_chromium.cc +++ b/third_party/leveldatabase/env_chromium.cc @@ -896,6 +896,14 @@ Status ChromiumEnv::NewWritableFile(const std::string& fname, Status ChromiumEnv::NewAppendableFile(const std::string& fname, leveldb::WritableFile** result) { +#if defined(OS_CHROMEOS) + // Disabled until crbug.com/460568 is fixed. Technically this method shouldn't + // be called if reuse_logs is false, but a leveldb bug (fixed, but not yet in + // Chrome) still calls this function. Using default leveldb Env implementation + // to workaround this bug. + return Env::NewAppendableFile(fname, result); +#endif + *result = NULL; FilePath path = FilePath::FromUTF8Unsafe(fname); scoped_ptr<base::File> f(new base::File( |