Index: mojo/bindings/js/handle.cc |
diff --git a/mojo/bindings/js/handle.cc b/mojo/bindings/js/handle.cc |
index e1d0fb04b60c063466536c04f48502c7b1423179..1c7dee608e149514e01d920f80c0183e6d60eb50 100644 |
--- a/mojo/bindings/js/handle.cc |
+++ b/mojo/bindings/js/handle.cc |
@@ -13,6 +13,24 @@ HandleWrapper::HandleWrapper(MojoHandle handle) |
} |
HandleWrapper::~HandleWrapper() { |
+ NotifyCloseObservers(); |
+} |
+ |
+void HandleWrapper::Close() { |
+ NotifyCloseObservers(); |
+ handle_.reset(); |
+} |
+ |
+void HandleWrapper::AddCloseObserver(CloseObserver* observer) { |
+ close_observers_.AddObserver(observer); |
+} |
+ |
+void HandleWrapper::RemoveCloseObserver(CloseObserver* observer) { |
+ close_observers_.RemoveObserver(observer); |
+} |
+ |
+void HandleWrapper::NotifyCloseObservers() { |
+ FOR_EACH_OBSERVER(CloseObserver, close_observers_, OnHandleClosed()); |
sky
2014/09/03 15:47:04
Should we only notify the observers if the handle
Sam McNally
2014/09/08 04:31:52
Done.
|
} |
v8::Handle<v8::Value> Converter<mojo::Handle>::ToV8(v8::Isolate* isolate, |