static HRESULT HTMLAnchorElement_handle_event(HTMLDOMNode *iface, eventid_t eid, nsIDOMEvent *event, BOOL *prevent_default) { HTMLAnchorElement *This = impl_from_HTMLDOMNode(iface); if(eid == EVENTID_CLICK) { nsIDOMMouseEvent *mouse_event; UINT16 button; nsresult nsres; TRACE("CLICK\n"); nsres = nsIDOMEvent_QueryInterface(event, &IID_nsIDOMMouseEvent, (void**)&mouse_event); assert(nsres == NS_OK); nsres = nsIDOMMouseEvent_GetButton(mouse_event, &button); assert(nsres == NS_OK); nsIDOMMouseEvent_Release(mouse_event); switch(button) { case 0: *prevent_default = TRUE; return navigate_anchor(This); case 1: *prevent_default = TRUE; return navigate_anchor_window(This, NULL); default: *prevent_default = FALSE; return S_OK; } } return HTMLElement_handle_event(&This->element.node, eid, event, prevent_default); }
static HRESULT HTMLAnchorElement_handle_event(HTMLDOMNode *iface, eventid_t eid, BOOL *prevent_default) { HTMLAnchorElement *This = impl_from_HTMLDOMNode(iface); if(eid == EVENTID_CLICK) { TRACE("CLICK\n"); *prevent_default = TRUE; return navigate_anchor(This); } return S_OK; }