Chromium Code Reviews| Index: content/common/mojo/mojo_shell_connection_impl.cc |
| diff --git a/content/common/mojo/mojo_shell_connection_impl.cc b/content/common/mojo/mojo_shell_connection_impl.cc |
| index 25c8be1c0e7eae4a06dcdab0f5bbb078502246f2..8d66522ecd54bd6f2d75813280bf3e64afe576cd 100644 |
| --- a/content/common/mojo/mojo_shell_connection_impl.cc |
| +++ b/content/common/mojo/mojo_shell_connection_impl.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/command_line.h" |
| #include "base/lazy_instance.h" |
| +#include "base/process/process_handle.h" |
|
Ben Goodger (Google)
2015/11/24 06:42:40
??
Fady Samuel
2015/11/24 13:32:06
Done.
|
| #include "base/threading/thread_local.h" |
| #include "mojo/application/public/cpp/application_delegate.h" |
| #include "mojo/application/public/cpp/application_impl.h" |
| @@ -85,6 +86,11 @@ void MojoShellConnectionImpl::RemoveListener(Listener* listener) { |
| listeners_.erase(it); |
| } |
| +void MojoShellConnectionImpl::OnDestroy() { |
| + for (auto listener : listeners_) |
| + listener->OnDestroy(); |
| +} |
| + |
| // static |
| MojoShellConnection* MojoShellConnection::Get() { |
| return lazy_tls_ptr.Pointer()->Get(); |
| @@ -92,6 +98,7 @@ MojoShellConnection* MojoShellConnection::Get() { |
| // static |
| void MojoShellConnection::Destroy() { |
| + static_cast<MojoShellConnectionImpl*>(Get())->OnDestroy(); |
|
Ben Goodger (Google)
2015/11/24 06:42:40
can this be done in ~MojoShellConnectionImpl?
Fady Samuel
2015/11/24 13:32:06
Done.
|
| // This joins the shell controller thread. |
| delete Get(); |
| lazy_tls_ptr.Pointer()->Set(nullptr); |