Set "defaultPrevented" when "preventDefault()" is called
This commit is contained in:
parent
e9b344b200
commit
94818aef26
3 changed files with 6 additions and 21 deletions
|
@ -19,8 +19,7 @@ v8::Persistent<v8::ObjectTemplate> template_;
|
||||||
|
|
||||||
Event::Event()
|
Event::Event()
|
||||||
: sender_(NULL),
|
: sender_(NULL),
|
||||||
message_(NULL),
|
message_(NULL) {
|
||||||
prevent_default_(false) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Event::~Event() {
|
Event::~Event() {
|
||||||
|
@ -52,8 +51,9 @@ void Event::WebContentsDestroyed() {
|
||||||
message_ = NULL;
|
message_ = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Event::PreventDefault() {
|
void Event::PreventDefault(v8::Isolate* isolate) {
|
||||||
prevent_default_ = true;
|
GetWrapper(isolate)->Set(StringToV8(isolate, "defaultPrevented"),
|
||||||
|
v8::True(isolate));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Event::SendReply(const base::string16& json) {
|
bool Event::SendReply(const base::string16& json) {
|
||||||
|
|
|
@ -24,14 +24,11 @@ class Event : public Wrappable,
|
||||||
void SetSenderAndMessage(content::WebContents* sender, IPC::Message* message);
|
void SetSenderAndMessage(content::WebContents* sender, IPC::Message* message);
|
||||||
|
|
||||||
// event.PreventDefault().
|
// event.PreventDefault().
|
||||||
void PreventDefault();
|
void PreventDefault(v8::Isolate* isolate);
|
||||||
|
|
||||||
// event.sendReply(json), used for replying synchronous message.
|
// event.sendReply(json), used for replying synchronous message.
|
||||||
bool SendReply(const base::string16& json);
|
bool SendReply(const base::string16& json);
|
||||||
|
|
||||||
// Whether event.preventDefault() is called.
|
|
||||||
bool prevent_default() const { return prevent_default_; }
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Event();
|
Event();
|
||||||
virtual ~Event();
|
virtual ~Event();
|
||||||
|
@ -47,8 +44,6 @@ class Event : public Wrappable,
|
||||||
content::WebContents* sender_;
|
content::WebContents* sender_;
|
||||||
IPC::Message* message_;
|
IPC::Message* message_;
|
||||||
|
|
||||||
bool prevent_default_;
|
|
||||||
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(Event);
|
DISALLOW_COPY_AND_ASSIGN(Event);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -98,17 +98,7 @@ bool EventEmitter::Emit(v8::Isolate* isolate,
|
||||||
node::MakeCallback(isolate, GetWrapper(isolate), "emit", args.size(),
|
node::MakeCallback(isolate, GetWrapper(isolate), "emit", args.size(),
|
||||||
&args[0]);
|
&args[0]);
|
||||||
|
|
||||||
if (use_native_event) {
|
return event->Get(StringToV8(isolate, "defaultPrevented"))->BooleanValue();
|
||||||
Handle<Event> native_event;
|
|
||||||
if (ConvertFromV8(isolate, event, &native_event))
|
|
||||||
return native_event->prevent_default();
|
|
||||||
}
|
|
||||||
|
|
||||||
v8::Handle<v8::Value> prevent_default =
|
|
||||||
event->GetHiddenValue(StringToSymbol(isolate, "prevent_default"));
|
|
||||||
if (prevent_default.IsEmpty())
|
|
||||||
return false;
|
|
||||||
return prevent_default->BooleanValue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace mate
|
} // namespace mate
|
||||||
|
|
Loading…
Add table
Reference in a new issue