summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/indexed_db/leveldb/leveldb_database.cc5
-rw-r--r--third_party/leveldatabase/env_chromium.cc8
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(