| Index: sky/engine/bindings/dart_event_listener.cc
|
| diff --git a/sky/engine/bindings/dart_event_listener.cc b/sky/engine/bindings/dart_event_listener.cc
|
| index 8f3835a09933605ef4222362411a4c9ddc911905..2c16f656c8efe62938fc3b3b3985d2cbf725984c 100644
|
| --- a/sky/engine/bindings/dart_event_listener.cc
|
| +++ b/sky/engine/bindings/dart_event_listener.cc
|
| @@ -8,6 +8,7 @@
|
| #include "sky/engine/core/events/Event.h"
|
| #include "sky/engine/tonic/dart_api_scope.h"
|
| #include "sky/engine/tonic/dart_error.h"
|
| +#include "sky/engine/tonic/dart_exception_factory.h"
|
| #include "sky/engine/tonic/dart_gc_visitor.h"
|
| #include "sky/engine/tonic/dart_isolate_scope.h"
|
|
|
| @@ -66,4 +67,18 @@ void DartEventListener::Finalize(void* isolate_callback_data,
|
| listener->deref(); // Balances ref in DartEventListener::DartEventListener
|
| }
|
|
|
| +PassRefPtr<EventListener>
|
| +DartConverter<EventListener*>::FromArgumentsWithNullCheck(
|
| + Dart_NativeArguments args,
|
| + int index,
|
| + Dart_Handle& exception) {
|
| + Dart_Handle handle = Dart_GetNativeArgument(args, index);
|
| + if (Dart_IsNull(handle)) {
|
| + DartState* state = DartState::Current();
|
| + exception = state->exception_factory().CreateNullArgumentException(index);
|
| + return nullptr;
|
| + }
|
| + return FromDart(handle);
|
| +}
|
| +
|
| } // namespace blink
|
|
|