OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "third_party/mojo/src/mojo/public/cpp/environment/environment.h" | 5 #include "mojo/public/cpp/environment/environment.h" |
6 | 6 |
7 #include "mojo/environment/default_async_waiter_impl.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "mojo/environment/default_logger_impl.h" | 8 #include "mojo/environment/default_async_waiter.h" |
9 #include "mojo/environment/default_run_loop_impl.h" | 9 #include "mojo/environment/default_logger.h" |
10 #include "mojo/environment/default_task_tracker_impl.h" | |
11 | 10 |
12 namespace mojo { | 11 namespace mojo { |
13 | 12 |
14 // These methods are intentionally not implemented so that there is a link | 13 // These methods are intentionally not implemented so that there is a link |
15 // error if someone uses them in a Chromium-environment. | 14 // error if someone uses them in a Chromium-environment. |
16 #if 0 | 15 #if 0 |
17 Environment::Environment() { | 16 Environment::Environment() { |
18 } | 17 } |
19 | 18 |
20 Environment::Environment(const MojoAsyncWaiter* default_async_waiter, | 19 Environment::Environment(const MojoAsyncWaiter* default_async_waiter, |
21 const MojoLogger* default_logger) { | 20 const MojoLogger* default_logger) { |
22 } | 21 } |
23 | 22 |
24 Environment::~Environment() { | 23 Environment::~Environment() { |
25 } | 24 } |
26 #endif | 25 #endif |
27 | 26 |
28 // static | 27 // static |
29 const MojoAsyncWaiter* Environment::GetDefaultAsyncWaiter() { | 28 const MojoAsyncWaiter* Environment::GetDefaultAsyncWaiter() { |
30 return internal::GetDefaultAsyncWaiterImpl(); | 29 return &internal::kDefaultAsyncWaiter; |
31 } | 30 } |
32 | 31 |
33 // static | 32 // static |
34 const MojoLogger* Environment::GetDefaultLogger() { | 33 const MojoLogger* Environment::GetDefaultLogger() { |
35 return internal::GetDefaultLoggerImpl(); | 34 return &internal::kDefaultLogger; |
36 } | 35 } |
37 | 36 |
38 // static | 37 // static |
39 const TaskTracker* Environment::GetDefaultTaskTracker() { | 38 void Environment::SetDefaultLogger(const MojoLogger* logger) {} |
40 return internal::GetDefaultTaskTracker(); | |
41 } | |
42 | 39 |
43 // static | 40 // static |
44 void Environment::InstantiateDefaultRunLoop() { | 41 void Environment::InstantiateDefaultRunLoop() { |
45 internal::InstantiateDefaultRunLoopImpl(); | 42 CHECK(!base::MessageLoop::current()); |
| 43 // Not leaked: accessible from |base::MessageLoop::current()|. |
| 44 base::MessageLoop* message_loop = new base::MessageLoop(); |
| 45 CHECK_EQ(message_loop, base::MessageLoop::current()); |
46 } | 46 } |
47 | 47 |
48 // static | 48 // static |
49 void Environment::DestroyDefaultRunLoop() { | 49 void Environment::DestroyDefaultRunLoop() { |
50 internal::DestroyDefaultRunLoopImpl(); | 50 CHECK(base::MessageLoop::current()); |
| 51 delete base::MessageLoop::current(); |
| 52 CHECK(!base::MessageLoop::current()); |
51 } | 53 } |
52 | 54 |
53 | |
54 | |
55 } // namespace mojo | 55 } // namespace mojo |
OLD | NEW |