Index: mojo/environment/environment.cc |
diff --git a/mojo/environment/environment.cc b/mojo/environment/environment.cc |
index 8867dd088342fc05e6af2788dd129edaefc5e306..aa7ab9834e14e2df086a716e16fe5d596f9f9860 100644 |
--- a/mojo/environment/environment.cc |
+++ b/mojo/environment/environment.cc |
@@ -10,32 +10,33 @@ |
namespace mojo { |
-// These methods are intentionally not implemented so that there is a link |
-// error if someone uses them in a Chromium-environment. |
-#if 0 |
-Environment::Environment() { |
-} |
+// TODO(vtl): Probably we should share the following async waiter and logger |
+// code with the "standalone" implementation. (The only difference is what the |
+// |internal::kDefault...| are.) |
-Environment::Environment(const MojoAsyncWaiter* default_async_waiter, |
- const MojoLogger* default_logger) { |
-} |
+const MojoAsyncWaiter* g_default_async_waiter = &internal::kDefaultAsyncWaiter; |
+const MojoLogger* g_default_logger = &internal::kDefaultLogger; |
-Environment::~Environment() { |
+// static |
+const MojoAsyncWaiter* Environment::GetDefaultAsyncWaiter() { |
+ return g_default_async_waiter; |
} |
-#endif |
// static |
-const MojoAsyncWaiter* Environment::GetDefaultAsyncWaiter() { |
- return &internal::kDefaultAsyncWaiter; |
+void Environment::SetDefaultAsyncWaiter(const MojoAsyncWaiter* async_waiter) { |
+ g_default_async_waiter = |
+ async_waiter ? async_waiter : &internal::kDefaultAsyncWaiter; |
} |
// static |
const MojoLogger* Environment::GetDefaultLogger() { |
- return &internal::kDefaultLogger; |
+ return g_default_logger; |
} |
// static |
-void Environment::SetDefaultLogger(const MojoLogger* logger) {} |
+void Environment::SetDefaultLogger(const MojoLogger* logger) { |
+ g_default_logger = logger ? logger : &internal::kDefaultLogger; |
+} |
// static |
void Environment::InstantiateDefaultRunLoop() { |