mshtml: Added support for focusin event.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
1dc502c5b4
commit
a86a4e6557
|
@ -3858,7 +3858,7 @@ static HRESULT WINAPI HTMLElement4_put_onfocusin(IHTMLElement4 *iface, VARIANT v
|
||||||
{
|
{
|
||||||
HTMLElement *This = impl_from_IHTMLElement4(iface);
|
HTMLElement *This = impl_from_IHTMLElement4(iface);
|
||||||
|
|
||||||
FIXME("(%p)->(%s) semi-stub\n", This, debugstr_variant(&v));
|
TRACE("(%p)->(%s)\n", This, debugstr_variant(&v));
|
||||||
|
|
||||||
return set_node_event(&This->node, EVENTID_FOCUSIN, &v);
|
return set_node_event(&This->node, EVENTID_FOCUSIN, &v);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1328,7 +1328,19 @@ HRESULT ensure_doc_nsevent_handler(HTMLDocumentNode *doc, eventid_t eid)
|
||||||
|
|
||||||
TRACE("%s\n", debugstr_w(event_info[eid].name));
|
TRACE("%s\n", debugstr_w(event_info[eid].name));
|
||||||
|
|
||||||
if(!doc->nsdoc || doc->event_vector[eid] || !(event_info[eid].flags & (EVENT_DEFAULTLISTENER|EVENT_BIND_TO_BODY)))
|
if(!doc->nsdoc)
|
||||||
|
return S_OK;
|
||||||
|
|
||||||
|
switch(eid) {
|
||||||
|
case EVENTID_FOCUSIN:
|
||||||
|
doc->event_vector[eid] = TRUE;
|
||||||
|
eid = EVENTID_FOCUS;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(doc->event_vector[eid] || !(event_info[eid].flags & (EVENT_DEFAULTLISTENER|EVENT_BIND_TO_BODY)))
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
if(event_info[eid].flags & EVENT_BIND_TO_BODY) {
|
if(event_info[eid].flags & EVENT_BIND_TO_BODY) {
|
||||||
|
|
|
@ -337,6 +337,16 @@ static nsresult NSAPI handle_htmlevent(nsIDOMEventListener *iface, nsIDOMEvent *
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
|
/* If we fine need for more special cases here, we may consider handling it in a more generic way. */
|
||||||
|
switch(eid) {
|
||||||
|
case EVENTID_FOCUS:
|
||||||
|
if(doc->event_vector[EVENTID_FOCUSIN])
|
||||||
|
fire_event(doc, EVENTID_FOCUSIN, TRUE, node, NULL, NULL);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
fire_event(doc, eid, TRUE, node, event, NULL);
|
fire_event(doc, eid, TRUE, node, event, NULL);
|
||||||
|
|
||||||
node_release(node);
|
node_release(node);
|
||||||
|
|
Loading…
Reference in New Issue