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 "mojo/edk/js/handle.h" | 5 #include "mojo/edk/js/handle.h" |
6 | 6 |
7 #include "mojo/edk/js/handle_close_observer.h" | 7 #include "mojo/edk/js/handle_close_observer.h" |
8 | 8 |
9 namespace mojo { | 9 namespace mojo { |
10 namespace edk { | 10 namespace edk { |
| 11 namespace js { |
11 | 12 |
12 gin::WrapperInfo HandleWrapper::kWrapperInfo = { gin::kEmbedderNativeGin }; | 13 gin::WrapperInfo HandleWrapper::kWrapperInfo = { gin::kEmbedderNativeGin }; |
13 | 14 |
14 HandleWrapper::HandleWrapper(MojoHandle handle) | 15 HandleWrapper::HandleWrapper(MojoHandle handle) |
15 : handle_(mojo::Handle(handle)) { | 16 : handle_(mojo::Handle(handle)) { |
16 } | 17 } |
17 | 18 |
18 HandleWrapper::~HandleWrapper() { | 19 HandleWrapper::~HandleWrapper() { |
19 NotifyCloseObservers(); | 20 NotifyCloseObservers(); |
20 } | 21 } |
(...skipping 11 matching lines...) Expand all Loading... |
32 close_observers_.RemoveObserver(observer); | 33 close_observers_.RemoveObserver(observer); |
33 } | 34 } |
34 | 35 |
35 void HandleWrapper::NotifyCloseObservers() { | 36 void HandleWrapper::NotifyCloseObservers() { |
36 if (!handle_.is_valid()) | 37 if (!handle_.is_valid()) |
37 return; | 38 return; |
38 | 39 |
39 FOR_EACH_OBSERVER(HandleCloseObserver, close_observers_, OnWillCloseHandle()); | 40 FOR_EACH_OBSERVER(HandleCloseObserver, close_observers_, OnWillCloseHandle()); |
40 } | 41 } |
41 | 42 |
| 43 } // namespace js |
42 } // namespace edk | 44 } // namespace edk |
43 } // namespace mojo | 45 } // namespace mojo |
44 | 46 |
45 namespace gin { | 47 namespace gin { |
46 | 48 |
47 v8::Handle<v8::Value> Converter<mojo::Handle>::ToV8(v8::Isolate* isolate, | 49 v8::Handle<v8::Value> Converter<mojo::Handle>::ToV8(v8::Isolate* isolate, |
48 const mojo::Handle& val) { | 50 const mojo::Handle& val) { |
49 if (!val.is_valid()) | 51 if (!val.is_valid()) |
50 return v8::Null(isolate); | 52 return v8::Null(isolate); |
51 return mojo::edk::HandleWrapper::Create(isolate, val.value()).ToV8(); | 53 return mojo::edk::js::HandleWrapper::Create(isolate, val.value()).ToV8(); |
52 } | 54 } |
53 | 55 |
54 bool Converter<mojo::Handle>::FromV8(v8::Isolate* isolate, | 56 bool Converter<mojo::Handle>::FromV8(v8::Isolate* isolate, |
55 v8::Handle<v8::Value> val, | 57 v8::Handle<v8::Value> val, |
56 mojo::Handle* out) { | 58 mojo::Handle* out) { |
57 if (val->IsNull()) { | 59 if (val->IsNull()) { |
58 *out = mojo::Handle(); | 60 *out = mojo::Handle(); |
59 return true; | 61 return true; |
60 } | 62 } |
61 | 63 |
62 gin::Handle<mojo::edk::HandleWrapper> handle; | 64 gin::Handle<mojo::edk::js::HandleWrapper> handle; |
63 if (!Converter<gin::Handle<mojo::edk::HandleWrapper> >::FromV8( | 65 if (!Converter<gin::Handle<mojo::edk::js::HandleWrapper>>::FromV8( |
64 isolate, val, &handle)) | 66 isolate, val, &handle)) |
65 return false; | 67 return false; |
66 | 68 |
67 *out = handle->get(); | 69 *out = handle->get(); |
68 return true; | 70 return true; |
69 } | 71 } |
70 | 72 |
71 v8::Handle<v8::Value> Converter<mojo::MessagePipeHandle>::ToV8( | 73 v8::Handle<v8::Value> Converter<mojo::MessagePipeHandle>::ToV8( |
72 v8::Isolate* isolate, mojo::MessagePipeHandle val) { | 74 v8::Isolate* isolate, mojo::MessagePipeHandle val) { |
73 return Converter<mojo::Handle>::ToV8(isolate, val); | 75 return Converter<mojo::Handle>::ToV8(isolate, val); |
74 } | 76 } |
75 | 77 |
76 bool Converter<mojo::MessagePipeHandle>::FromV8(v8::Isolate* isolate, | 78 bool Converter<mojo::MessagePipeHandle>::FromV8(v8::Isolate* isolate, |
77 v8::Handle<v8::Value> val, | 79 v8::Handle<v8::Value> val, |
78 mojo::MessagePipeHandle* out) { | 80 mojo::MessagePipeHandle* out) { |
79 return Converter<mojo::Handle>::FromV8(isolate, val, out); | 81 return Converter<mojo::Handle>::FromV8(isolate, val, out); |
80 } | 82 } |
81 | 83 |
82 | |
83 } // namespace gin | 84 } // namespace gin |
OLD | NEW |