Index: components/leveldb/env_mojo.h |
diff --git a/components/leveldb/env_mojo.h b/components/leveldb/env_mojo.h |
index 8af9ef4aebcd0e0a8dfe927e291ef21ea56db948..569bcfe5ccb9e1eb0238acafa2571c46c229dfa8 100644 |
--- a/components/leveldb/env_mojo.h |
+++ b/components/leveldb/env_mojo.h |
@@ -7,6 +7,7 @@ |
#include "components/filesystem/public/interfaces/directory.mojom.h" |
#include "components/leveldb/leveldb_mojo_proxy.h" |
+#include "third_party/leveldatabase/env_chromium.h" |
#include "third_party/leveldatabase/src/include/leveldb/env.h" |
namespace leveldb { |
@@ -16,7 +17,7 @@ namespace leveldb { |
// synchronous and block on responses from the filesystem service. That's fine |
// since, for the most part, they merely open files or check for a file's |
// existence. |
-class MojoEnv : public leveldb::Env { |
+class MojoEnv : public Env, public leveldb_env::UMALogger { |
public: |
MojoEnv(scoped_refptr<LevelDBMojoProxy> file_thread, |
LevelDBMojoProxy::OpaqueDir* dir); |
@@ -50,6 +51,13 @@ class MojoEnv : public leveldb::Env { |
void StartThread(void (*function)(void* arg), void* arg) override; |
private: |
+ void RecordErrorAt(leveldb_env::MethodID method) const override; |
+ void RecordOSError(leveldb_env::MethodID method, |
+ base::File::Error error) const override; |
+ |
+ void RecordFileError(leveldb_env::MethodID method, |
+ filesystem::mojom::FileError error) const; |
+ |
scoped_refptr<LevelDBMojoProxy> thread_; |
LevelDBMojoProxy::OpaqueDir* dir_; |