diff --git a/atom/browser/api/event.cc b/atom/browser/api/event.cc index 5a0d145a9431..af49bf957a50 100644 --- a/atom/browser/api/event.cc +++ b/atom/browser/api/event.cc @@ -19,8 +19,7 @@ v8::Persistent template_; Event::Event() : sender_(NULL), - message_(NULL), - prevent_default_(false) { + message_(NULL) { } Event::~Event() { @@ -52,8 +51,9 @@ void Event::WebContentsDestroyed() { message_ = NULL; } -void Event::PreventDefault() { - prevent_default_ = true; +void Event::PreventDefault(v8::Isolate* isolate) { + GetWrapper(isolate)->Set(StringToV8(isolate, "defaultPrevented"), + v8::True(isolate)); } bool Event::SendReply(const base::string16& json) { diff --git a/atom/browser/api/event.h b/atom/browser/api/event.h index c32eb8a36aae..0f00366e38ce 100644 --- a/atom/browser/api/event.h +++ b/atom/browser/api/event.h @@ -24,14 +24,11 @@ class Event : public Wrappable, void SetSenderAndMessage(content::WebContents* sender, IPC::Message* message); // event.PreventDefault(). - void PreventDefault(); + void PreventDefault(v8::Isolate* isolate); // event.sendReply(json), used for replying synchronous message. bool SendReply(const base::string16& json); - // Whether event.preventDefault() is called. - bool prevent_default() const { return prevent_default_; } - protected: Event(); virtual ~Event(); @@ -47,8 +44,6 @@ class Event : public Wrappable, content::WebContents* sender_; IPC::Message* message_; - bool prevent_default_; - DISALLOW_COPY_AND_ASSIGN(Event); }; diff --git a/atom/browser/api/event_emitter.cc b/atom/browser/api/event_emitter.cc index 768ab5f58763..64da7a85012a 100644 --- a/atom/browser/api/event_emitter.cc +++ b/atom/browser/api/event_emitter.cc @@ -98,17 +98,7 @@ bool EventEmitter::Emit(v8::Isolate* isolate, node::MakeCallback(isolate, GetWrapper(isolate), "emit", args.size(), &args[0]); - if (use_native_event) { - Handle native_event; - if (ConvertFromV8(isolate, event, &native_event)) - return native_event->prevent_default(); - } - - v8::Handle prevent_default = - event->GetHiddenValue(StringToSymbol(isolate, "prevent_default")); - if (prevent_default.IsEmpty()) - return false; - return prevent_default->BooleanValue(); + return event->Get(StringToV8(isolate, "defaultPrevented"))->BooleanValue(); } } // namespace mate