mshtml: Pass DOMEvent instead of nsIDOMEvent during handle_event.
This commit is contained in:
parent
6cbe072c37
commit
277acf61d0
6 changed files with 17 additions and 17 deletions
|
@ -829,13 +829,13 @@ static void HTMLAnchorElement_unlink(DispatchEx *dispex)
|
|||
unlink_ref(&This->nsanchor);
|
||||
}
|
||||
|
||||
static HRESULT HTMLAnchorElement_handle_event(DispatchEx *dispex, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default)
|
||||
static HRESULT HTMLAnchorElement_handle_event(DispatchEx *dispex, DOMEvent *event, BOOL *prevent_default)
|
||||
{
|
||||
HTMLAnchorElement *This = impl_from_DispatchEx(dispex);
|
||||
nsAString href_str, target_str;
|
||||
nsresult nsres;
|
||||
|
||||
if(eid == EVENTID_CLICK) {
|
||||
if(event->event_id == EVENTID_CLICK) {
|
||||
nsAString_Init(&href_str, NULL);
|
||||
nsres = nsIDOMHTMLAnchorElement_GetHref(This->nsanchor, &href_str);
|
||||
if (NS_FAILED(nsres)) {
|
||||
|
@ -850,14 +850,14 @@ static HRESULT HTMLAnchorElement_handle_event(DispatchEx *dispex, eventid_t eid,
|
|||
goto fallback;
|
||||
}
|
||||
|
||||
return handle_link_click_event(&This->element, &href_str, &target_str, event, prevent_default);
|
||||
return handle_link_click_event(&This->element, &href_str, &target_str, event->nsevent, prevent_default);
|
||||
|
||||
fallback:
|
||||
nsAString_Finish(&href_str);
|
||||
nsAString_Finish(&target_str);
|
||||
}
|
||||
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, eid, event, prevent_default);
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, event, prevent_default);
|
||||
}
|
||||
|
||||
static const NodeImplVtbl HTMLAnchorElementImplVtbl = {
|
||||
|
|
|
@ -439,13 +439,13 @@ static void HTMLAreaElement_unlink(DispatchEx *dispex)
|
|||
unlink_ref(&This->nsarea);
|
||||
}
|
||||
|
||||
static HRESULT HTMLAreaElement_handle_event(DispatchEx *dispex, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default)
|
||||
static HRESULT HTMLAreaElement_handle_event(DispatchEx *dispex, DOMEvent *event, BOOL *prevent_default)
|
||||
{
|
||||
HTMLAreaElement *This = impl_from_DispatchEx(dispex);
|
||||
nsAString href_str, target_str;
|
||||
nsresult nsres;
|
||||
|
||||
if(eid == EVENTID_CLICK) {
|
||||
if(event->event_id == EVENTID_CLICK) {
|
||||
nsAString_Init(&href_str, NULL);
|
||||
nsres = nsIDOMHTMLAreaElement_GetHref(This->nsarea, &href_str);
|
||||
if (NS_FAILED(nsres)) {
|
||||
|
@ -460,14 +460,14 @@ static HRESULT HTMLAreaElement_handle_event(DispatchEx *dispex, eventid_t eid, n
|
|||
goto fallback;
|
||||
}
|
||||
|
||||
return handle_link_click_event(&This->element, &href_str, &target_str, event, prevent_default);
|
||||
return handle_link_click_event(&This->element, &href_str, &target_str, event->nsevent, prevent_default);
|
||||
|
||||
fallback:
|
||||
nsAString_Finish(&href_str);
|
||||
nsAString_Finish(&target_str);
|
||||
}
|
||||
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, eid, event, prevent_default);
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, event, prevent_default);
|
||||
}
|
||||
|
||||
static const NodeImplVtbl HTMLAreaElementImplVtbl = {
|
||||
|
|
|
@ -7001,16 +7001,16 @@ void HTMLElement_bind_event(DispatchEx *dispex, eventid_t eid)
|
|||
ensure_doc_nsevent_handler(This->node.doc, This->node.nsnode, eid);
|
||||
}
|
||||
|
||||
HRESULT HTMLElement_handle_event(DispatchEx *dispex, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default)
|
||||
HRESULT HTMLElement_handle_event(DispatchEx *dispex, DOMEvent *event, BOOL *prevent_default)
|
||||
{
|
||||
HTMLElement *This = impl_from_DispatchEx(dispex);
|
||||
|
||||
switch(eid) {
|
||||
switch(event->event_id) {
|
||||
case EVENTID_KEYDOWN: {
|
||||
nsIDOMKeyEvent *key_event;
|
||||
nsresult nsres;
|
||||
|
||||
nsres = nsIDOMEvent_QueryInterface(event, &IID_nsIDOMKeyEvent, (void**)&key_event);
|
||||
nsres = nsIDOMEvent_QueryInterface(event->nsevent, &IID_nsIDOMKeyEvent, (void**)&key_event);
|
||||
if(NS_SUCCEEDED(nsres)) {
|
||||
UINT32 code = 0;
|
||||
|
||||
|
|
|
@ -5133,7 +5133,7 @@ static HRESULT dispatch_event_object(EventTarget *event_target, DOMEvent *event,
|
|||
vtbl = dispex_get_vtbl(&target_chain[i]->dispex);
|
||||
if(!vtbl->handle_event)
|
||||
continue;
|
||||
hres = vtbl->handle_event(&target_chain[i]->dispex, event->event_id, event->nsevent, &prevent_default);
|
||||
hres = vtbl->handle_event(&target_chain[i]->dispex, event, &prevent_default);
|
||||
if(FAILED(hres) || event->stop_propagation)
|
||||
break;
|
||||
if(prevent_default)
|
||||
|
|
|
@ -131,7 +131,7 @@ typedef struct {
|
|||
nsISupports *(*get_gecko_target)(DispatchEx*);
|
||||
void (*bind_event)(DispatchEx*,eventid_t);
|
||||
EventTarget *(*get_parent_event_target)(DispatchEx*);
|
||||
HRESULT (*handle_event)(DispatchEx*,eventid_t,nsIDOMEvent*,BOOL*);
|
||||
HRESULT (*handle_event)(DispatchEx*,DOMEvent*,BOOL*);
|
||||
ConnectionPointContainer *(*get_cp_container)(DispatchEx*);
|
||||
IHTMLEventObj *(*set_current_event)(DispatchEx*,IHTMLEventObj*);
|
||||
} event_target_vtbl_t;
|
||||
|
@ -141,7 +141,7 @@ IHTMLEventObj *default_set_current_event(HTMLInnerWindow*,IHTMLEventObj*);
|
|||
nsISupports *HTMLElement_get_gecko_target(DispatchEx*);
|
||||
void HTMLElement_bind_event(DispatchEx*,eventid_t);
|
||||
EventTarget *HTMLElement_get_parent_event_target(DispatchEx*);
|
||||
HRESULT HTMLElement_handle_event(DispatchEx*,eventid_t,nsIDOMEvent*,BOOL*);
|
||||
HRESULT HTMLElement_handle_event(DispatchEx*,DOMEvent*,BOOL*);
|
||||
ConnectionPointContainer *HTMLElement_get_cp_container(DispatchEx*);
|
||||
IHTMLEventObj *HTMLElement_set_current_event(DispatchEx*,IHTMLEventObj*);
|
||||
|
||||
|
|
|
@ -944,16 +944,16 @@ static HRESULT HTMLFormElement_invoke(DispatchEx *dispex, DISPID id, LCID lcid,
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT HTMLFormElement_handle_event(DispatchEx *dispex, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default)
|
||||
static HRESULT HTMLFormElement_handle_event(DispatchEx *dispex, DOMEvent *event, BOOL *prevent_default)
|
||||
{
|
||||
HTMLFormElement *This = impl_from_DispatchEx(dispex);
|
||||
|
||||
if(eid == EVENTID_SUBMIT) {
|
||||
if(event->event_id == EVENTID_SUBMIT) {
|
||||
*prevent_default = TRUE;
|
||||
return IHTMLFormElement_submit(&This->IHTMLFormElement_iface);
|
||||
}
|
||||
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, eid, event, prevent_default);
|
||||
return HTMLElement_handle_event(&This->element.node.event_target.dispex, event, prevent_default);
|
||||
}
|
||||
|
||||
static const NodeImplVtbl HTMLFormElementImplVtbl = {
|
||||
|
|
Loading…
Add table
Reference in a new issue