ReactOS 0.4.15-dev-7842-g558ab78
htmlanchor.c File Reference
#include "mshtml_private.h"
Include dependency graph for htmlanchor.c:

Go to the source code of this file.

Classes

struct  HTMLAnchorElement
 

Functions

static HRESULT navigate_href_new_window (HTMLElement *element, nsAString *href_str, const WCHAR *target)
 
HTMLOuterWindowget_target_window (HTMLOuterWindow *window, nsAString *target_str, BOOL *use_new_window)
 
static HRESULT navigate_href (HTMLElement *element, nsAString *href_str, nsAString *target_str)
 
HRESULT handle_link_click_event (HTMLElement *element, nsAString *href_str, nsAString *target_str, nsIDOMEvent *event, BOOL *prevent_default)
 
static HTMLAnchorElementimpl_from_IHTMLAnchorElement (IHTMLAnchorElement *iface)
 
static HRESULT WINAPI HTMLAnchorElement_QueryInterface (IHTMLAnchorElement *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI HTMLAnchorElement_AddRef (IHTMLAnchorElement *iface)
 
static ULONG WINAPI HTMLAnchorElement_Release (IHTMLAnchorElement *iface)
 
static HRESULT WINAPI HTMLAnchorElement_GetTypeInfoCount (IHTMLAnchorElement *iface, UINT *pctinfo)
 
static HRESULT WINAPI HTMLAnchorElement_GetTypeInfo (IHTMLAnchorElement *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI HTMLAnchorElement_GetIDsOfNames (IHTMLAnchorElement *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI HTMLAnchorElement_Invoke (IHTMLAnchorElement *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI HTMLAnchorElement_put_href (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_href (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_target (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_target (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_rel (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_rel (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_rev (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_rev (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_urn (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_urn (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_Methods (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_Methods (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_name (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_name (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_host (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_host (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_hostname (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_hostname (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_pathname (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_pathname (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_port (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_port (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_protocol (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_protocol (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_search (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_search (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_hash (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_hash (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_onblur (IHTMLAnchorElement *iface, VARIANT v)
 
static HRESULT WINAPI HTMLAnchorElement_get_onblur (IHTMLAnchorElement *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_onfocus (IHTMLAnchorElement *iface, VARIANT v)
 
static HRESULT WINAPI HTMLAnchorElement_get_onfocus (IHTMLAnchorElement *iface, VARIANT *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_accessKey (IHTMLAnchorElement *iface, BSTR v)
 
static HRESULT WINAPI HTMLAnchorElement_get_accessKey (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_get_protocolLong (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_get_mimeType (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_get_nameProp (IHTMLAnchorElement *iface, BSTR *p)
 
static HRESULT WINAPI HTMLAnchorElement_put_tabIndex (IHTMLAnchorElement *iface, short v)
 
static HRESULT WINAPI HTMLAnchorElement_get_tabIndex (IHTMLAnchorElement *iface, short *p)
 
static HRESULT WINAPI HTMLAnchorElement_focus (IHTMLAnchorElement *iface)
 
static HRESULT WINAPI HTMLAnchorElement_blur (IHTMLAnchorElement *iface)
 
static HTMLAnchorElementimpl_from_HTMLDOMNode (HTMLDOMNode *iface)
 
static HRESULT HTMLAnchorElement_QI (HTMLDOMNode *iface, REFIID riid, void **ppv)
 
static HRESULT HTMLAnchorElement_handle_event (HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
 
static void HTMLAnchorElement_traverse (HTMLDOMNode *iface, nsCycleCollectionTraversalCallback *cb)
 
static void HTMLAnchorElement_unlink (HTMLDOMNode *iface)
 
HRESULT HTMLAnchorElement_Create (HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTMLElement **elem)
 

Variables

static const IHTMLAnchorElementVtbl HTMLAnchorElementVtbl
 
static const NodeImplVtbl HTMLAnchorElementImplVtbl
 
static const tid_t HTMLAnchorElement_iface_tids []
 
static dispex_static_data_t HTMLAnchorElement_dispex
 

Function Documentation

◆ get_target_window()

HTMLOuterWindow * get_target_window ( HTMLOuterWindow window,
nsAString target_str,
BOOL use_new_window 
)

Definition at line 45 of file htmlanchor.c.

46{
47 HTMLOuterWindow *top_window, *ret_window;
48 const PRUnichar *target;
50
51 static const WCHAR _parentW[] = {'_','p','a','r','e','n','t',0};
52 static const WCHAR _selfW[] = {'_','s','e','l','f',0};
53 static const WCHAR _topW[] = {'_','t','o','p',0};
54
55 *use_new_window = FALSE;
56
57 nsAString_GetData(target_str, &target);
58 TRACE("%s\n", debugstr_w(target));
59
60 if(!*target || !strcmpiW(target, _selfW)) {
61 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
62 return window;
63 }
64
65 if(!strcmpiW(target, _topW)) {
66 get_top_window(window, &top_window);
67 IHTMLWindow2_AddRef(&top_window->base.IHTMLWindow2_iface);
68 return top_window;
69 }
70
71 if(!strcmpiW(target, _parentW)) {
72 if(!window->parent) {
73 WARN("Window has no parent, treat as self\n");
74 IHTMLWindow2_AddRef(&window->base.IHTMLWindow2_iface);
75 return window;
76 }
77
78 IHTMLWindow2_AddRef(&window->parent->base.IHTMLWindow2_iface);
79 return window->parent;
80 }
81
82 get_top_window(window, &top_window);
83
84 hres = get_frame_by_name(top_window, target, TRUE, &ret_window);
85 if(FAILED(hres) || !ret_window) {
86 *use_new_window = TRUE;
87 return NULL;
88 }
89
90 IHTMLWindow2_AddRef(&ret_window->base.IHTMLWindow2_iface);
91 return ret_window;
92}
#define WARN(fmt,...)
Definition: debug.h:112
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
GLenum target
Definition: glext.h:7315
HRESULT get_frame_by_name(HTMLOuterWindow *This, const WCHAR *name, BOOL deep, HTMLOuterWindow **ret)
Definition: htmlwindow.c:343
void get_top_window(HTMLOuterWindow *window, HTMLOuterWindow **ret)
Definition: htmlwindow.c:59
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_w
Definition: kernel32.h:32
HRESULT hres
Definition: protocol.c:465
static IHTMLWindow2 * window
Definition: events.c:77
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: nsembed.c:831
WCHAR PRUnichar
Definition: nsiface.idl:48
#define strcmpiW(s1, s2)
Definition: unicode.h:39
#define TRACE(s)
Definition: solgame.cpp:4
IHTMLWindow2 IHTMLWindow2_iface
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by HTMLFormElement_submit(), and navigate_href().

◆ handle_link_click_event()

HRESULT handle_link_click_event ( HTMLElement element,
nsAString href_str,
nsAString target_str,
nsIDOMEvent event,
BOOL prevent_default 
)

Definition at line 123 of file htmlanchor.c.

125{
128 nsresult nsres;
130
131 TRACE("CLICK\n");
132
133 nsres = nsIDOMEvent_QueryInterface(event, &IID_nsIDOMMouseEvent, (void**)&mouse_event);
134 assert(nsres == NS_OK);
135
136 nsres = nsIDOMMouseEvent_GetButton(mouse_event, &button);
137 assert(nsres == NS_OK);
138
139 nsIDOMMouseEvent_Release(mouse_event);
140
141 switch(button) {
142 case 0:
143 *prevent_default = TRUE;
144 hres = navigate_href(element, href_str, target_str);
145 break;
146 case 1:
147 *prevent_default = TRUE;
149 break;
150 default:
151 *prevent_default = FALSE;
152 hres = S_OK;
153 }
154
155 nsAString_Finish(href_str);
156 nsAString_Finish(target_str);
157 return hres;
158}
signed short INT16
#define assert(x)
Definition: debug.h:53
struct _cl_event * event
Definition: glext.h:7739
static HRESULT navigate_href(HTMLElement *element, nsAString *href_str, nsAString *target_str)
Definition: htmlanchor.c:94
static HRESULT navigate_href_new_window(HTMLElement *element, nsAString *href_str, const WCHAR *target)
Definition: htmlanchor.c:29
#define S_OK
Definition: intsafe.h:52
DWORD button
Definition: button.c:166
#define NS_OK
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
void WINAPI mouse_event(_In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ ULONG_PTR)

Referenced by HTMLAnchorElement_handle_event(), and HTMLAreaElement_handle_event().

◆ HTMLAnchorElement_AddRef()

static ULONG WINAPI HTMLAnchorElement_AddRef ( IHTMLAnchorElement *  iface)
static

Definition at line 173 of file htmlanchor.c.

174{
176
177 return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
178}
static HTMLAnchorElement * impl_from_IHTMLAnchorElement(IHTMLAnchorElement *iface)
Definition: htmlanchor.c:160

◆ HTMLAnchorElement_blur()

static HRESULT WINAPI HTMLAnchorElement_blur ( IHTMLAnchorElement *  iface)
static

Definition at line 623 of file htmlanchor.c.

624{
626
627 TRACE("(%p)\n", This);
628
629 return IHTMLElement2_blur(&This->element.IHTMLElement2_iface);
630}

◆ HTMLAnchorElement_Create()

HRESULT HTMLAnchorElement_Create ( HTMLDocumentNode doc,
nsIDOMHTMLElement nselem,
HTMLElement **  elem 
)

Definition at line 798 of file htmlanchor.c.

799{
801 nsresult nsres;
802
803 ret = heap_alloc_zero(sizeof(HTMLAnchorElement));
804 if(!ret)
805 return E_OUTOFMEMORY;
806
807 ret->IHTMLAnchorElement_iface.lpVtbl = &HTMLAnchorElementVtbl;
808 ret->element.node.vtbl = &HTMLAnchorElementImplVtbl;
809
810 HTMLElement_Init(&ret->element, doc, nselem, &HTMLAnchorElement_dispex);
811
812 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLAnchorElement, (void**)&ret->nsanchor);
813 assert(nsres == NS_OK);
814
815 *elem = &ret->element;
816 return S_OK;
817}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const IHTMLAnchorElementVtbl HTMLAnchorElementVtbl
Definition: htmlanchor.c:632
static dispex_static_data_t HTMLAnchorElement_dispex
Definition: htmlanchor.c:791
static const NodeImplVtbl HTMLAnchorElementImplVtbl
Definition: htmlanchor.c:764
void HTMLElement_Init(HTMLElement *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
Definition: htmlelem.c:4008
static size_t elem
Definition: string.c:68
int ret

◆ HTMLAnchorElement_focus()

static HRESULT WINAPI HTMLAnchorElement_focus ( IHTMLAnchorElement *  iface)
static

Definition at line 614 of file htmlanchor.c.

615{
617
618 TRACE("(%p)\n", This);
619
620 return IHTMLElement2_focus(&This->element.IHTMLElement2_iface);
621}

◆ HTMLAnchorElement_get_accessKey()

static HRESULT WINAPI HTMLAnchorElement_get_accessKey ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 566 of file htmlanchor.c.

567{
569
570 TRACE("(%p)->(%p)\n", This, p);
571
572 return IHTMLElement2_get_accessKey(&This->element.IHTMLElement2_iface, p);
573}
GLfloat GLfloat p
Definition: glext.h:8902

◆ HTMLAnchorElement_get_hash()

static HRESULT WINAPI HTMLAnchorElement_get_hash ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 508 of file htmlanchor.c.

509{
511 nsAString hash_str;
512 nsresult nsres;
513
514 TRACE("(%p)->(%p)\n", This, p);
515
516 nsAString_Init(&hash_str, NULL);
517 nsres = nsIDOMHTMLAnchorElement_GetHash(This->nsanchor, &hash_str);
518 return return_nsstr(nsres, &hash_str, p);
519}
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841

◆ HTMLAnchorElement_get_host()

static HRESULT WINAPI HTMLAnchorElement_get_host ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 402 of file htmlanchor.c.

403{
405 FIXME("(%p)->(%p)\n", This, p);
406 return E_NOTIMPL;
407}
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ HTMLAnchorElement_get_hostname()

static HRESULT WINAPI HTMLAnchorElement_get_hostname ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 416 of file htmlanchor.c.

417{
419 nsAString hostname_str;
420 nsresult nsres;
421
422 TRACE("(%p)->(%p)\n", This, p);
423
424 nsAString_Init(&hostname_str, NULL);
425 nsres = nsIDOMHTMLAnchorElement_GetHostname(This->nsanchor, &hostname_str);
426 return return_nsstr(nsres, &hostname_str, p);
427}

◆ HTMLAnchorElement_get_href()

static HRESULT WINAPI HTMLAnchorElement_get_href ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 236 of file htmlanchor.c.

237{
239 nsAString href_str;
240 nsresult nsres;
242
243 TRACE("(%p)->(%p)\n", This, p);
244
245 nsAString_Init(&href_str, NULL);
246 nsres = nsIDOMHTMLAnchorElement_GetHref(This->nsanchor, &href_str);
247 if(NS_SUCCEEDED(nsres)) {
248 const PRUnichar *href;
249
250 nsAString_GetData(&href_str, &href);
251 hres = nsuri_to_url(href, TRUE, p);
252 }else {
253 ERR("GetHref failed: %08x\n", nsres);
254 hres = E_FAIL;
255 }
256
257 nsAString_Finish(&href_str);
258 return hres;
259}
#define ERR(fmt,...)
Definition: debug.h:110
#define E_FAIL
Definition: ddrawi.h:102
HRESULT nsuri_to_url(LPCWSTR, BOOL, BSTR *) DECLSPEC_HIDDEN
Definition: nsio.c:175
#define NS_SUCCEEDED(res)

◆ HTMLAnchorElement_get_Methods()

static HRESULT WINAPI HTMLAnchorElement_get_Methods ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 357 of file htmlanchor.c.

358{
360 FIXME("(%p)->(%p)\n", This, p);
361 return E_NOTIMPL;
362}

◆ HTMLAnchorElement_get_mimeType()

static HRESULT WINAPI HTMLAnchorElement_get_mimeType ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 582 of file htmlanchor.c.

583{
585 FIXME("(%p)->(%p)\n", This, p);
586 return E_NOTIMPL;
587}

◆ HTMLAnchorElement_get_name()

static HRESULT WINAPI HTMLAnchorElement_get_name ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 381 of file htmlanchor.c.

382{
384 nsAString name_str;
385 nsresult nsres;
386
387 TRACE("(%p)->(%p)\n", This, p);
388
389 nsAString_Init(&name_str, NULL);
390 nsres = nsIDOMHTMLAnchorElement_GetName(This->nsanchor, &name_str);
391
392 return return_nsstr(nsres, &name_str, p);
393}

◆ HTMLAnchorElement_get_nameProp()

static HRESULT WINAPI HTMLAnchorElement_get_nameProp ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 589 of file htmlanchor.c.

590{
592 FIXME("(%p)->(%p)\n", This, p);
593 return E_NOTIMPL;
594}

◆ HTMLAnchorElement_get_onblur()

static HRESULT WINAPI HTMLAnchorElement_get_onblur ( IHTMLAnchorElement *  iface,
VARIANT p 
)
static

Definition at line 530 of file htmlanchor.c.

531{
533
534 TRACE("(%p)->(%p)\n", This, p);
535
536 return IHTMLElement2_get_onblur(&This->element.IHTMLElement2_iface, p);
537}

◆ HTMLAnchorElement_get_onfocus()

static HRESULT WINAPI HTMLAnchorElement_get_onfocus ( IHTMLAnchorElement *  iface,
VARIANT p 
)
static

Definition at line 548 of file htmlanchor.c.

549{
551
552 TRACE("(%p)->(%p)\n", This, p);
553
554 return IHTMLElement2_get_onfocus(&This->element.IHTMLElement2_iface, p);
555}

◆ HTMLAnchorElement_get_pathname()

static HRESULT WINAPI HTMLAnchorElement_get_pathname ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 436 of file htmlanchor.c.

437{
439 FIXME("(%p)->(%p)\n", This, p);
440 return E_NOTIMPL;
441}

◆ HTMLAnchorElement_get_port()

static HRESULT WINAPI HTMLAnchorElement_get_port ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 450 of file htmlanchor.c.

451{
453 FIXME("(%p)->(%p)\n", This, p);
454 return E_NOTIMPL;
455}

◆ HTMLAnchorElement_get_protocol()

static HRESULT WINAPI HTMLAnchorElement_get_protocol ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 464 of file htmlanchor.c.

465{
467 FIXME("(%p)->(%p)\n", This, p);
468 return E_NOTIMPL;
469}

◆ HTMLAnchorElement_get_protocolLong()

static HRESULT WINAPI HTMLAnchorElement_get_protocolLong ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 575 of file htmlanchor.c.

576{
578 FIXME("(%p)->(%p)\n", This, p);
579 return E_NOTIMPL;
580}

◆ HTMLAnchorElement_get_rel()

static HRESULT WINAPI HTMLAnchorElement_get_rel ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 309 of file htmlanchor.c.

310{
312 nsAString nsstr;
313 nsresult nsres;
314
315 TRACE("(%p)->(%p)\n", This, p);
316
317 nsAString_Init(&nsstr, NULL);
318 nsres = nsIDOMHTMLAnchorElement_GetRel(This->nsanchor, &nsstr);
319 return return_nsstr(nsres, &nsstr, p);
320}

◆ HTMLAnchorElement_get_rev()

static HRESULT WINAPI HTMLAnchorElement_get_rev ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 329 of file htmlanchor.c.

330{
332 FIXME("(%p)->(%p)\n", This, p);
333 return E_NOTIMPL;
334}

◆ HTMLAnchorElement_get_search()

static HRESULT WINAPI HTMLAnchorElement_get_search ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 488 of file htmlanchor.c.

489{
491 nsAString search_str;
492 nsresult nsres;
493
494 TRACE("(%p)->(%p)\n", This, p);
495
496 nsAString_Init(&search_str, NULL);
497 nsres = nsIDOMHTMLAnchorElement_GetSearch(This->nsanchor, &search_str);
498 return return_nsstr(nsres, &search_str, p);
499}

◆ HTMLAnchorElement_get_tabIndex()

static HRESULT WINAPI HTMLAnchorElement_get_tabIndex ( IHTMLAnchorElement *  iface,
short p 
)
static

Definition at line 605 of file htmlanchor.c.

606{
608
609 TRACE("(%p)->(%p)\n", This, p);
610
611 return IHTMLElement2_get_tabIndex(&This->element.IHTMLElement2_iface, p);
612}

◆ HTMLAnchorElement_get_target()

static HRESULT WINAPI HTMLAnchorElement_get_target ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 278 of file htmlanchor.c.

279{
281 nsAString target_str;
282 nsresult nsres;
283
284 TRACE("(%p)->(%p)\n", This, p);
285
286 nsAString_Init(&target_str, NULL);
287 nsres = nsIDOMHTMLAnchorElement_GetTarget(This->nsanchor, &target_str);
288
289 return return_nsstr(nsres, &target_str, p);
290}

◆ HTMLAnchorElement_get_urn()

static HRESULT WINAPI HTMLAnchorElement_get_urn ( IHTMLAnchorElement *  iface,
BSTR p 
)
static

Definition at line 343 of file htmlanchor.c.

344{
346 FIXME("(%p)->(%p)\n", This, p);
347 return E_NOTIMPL;
348}

◆ HTMLAnchorElement_GetIDsOfNames()

static HRESULT WINAPI HTMLAnchorElement_GetIDsOfNames ( IHTMLAnchorElement *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 201 of file htmlanchor.c.

204{
206 return IDispatchEx_GetIDsOfNames(&This->element.node.event_target.dispex.IDispatchEx_iface, riid, rgszNames,
207 cNames, lcid, rgDispId);
208}
REFIID riid
Definition: atlbase.h:39

◆ HTMLAnchorElement_GetTypeInfo()

static HRESULT WINAPI HTMLAnchorElement_GetTypeInfo ( IHTMLAnchorElement *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 193 of file htmlanchor.c.

195{
197 return IDispatchEx_GetTypeInfo(&This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid,
198 ppTInfo);
199}

◆ HTMLAnchorElement_GetTypeInfoCount()

static HRESULT WINAPI HTMLAnchorElement_GetTypeInfoCount ( IHTMLAnchorElement *  iface,
UINT pctinfo 
)
static

Definition at line 187 of file htmlanchor.c.

188{
190 return IDispatchEx_GetTypeInfoCount(&This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo);
191}

◆ HTMLAnchorElement_handle_event()

static HRESULT HTMLAnchorElement_handle_event ( HTMLDOMNode iface,
DWORD  eid,
nsIDOMEvent event,
BOOL prevent_default 
)
static

Definition at line 713 of file htmlanchor.c.

714{
716 nsAString href_str, target_str;
717 nsresult nsres;
718
719 if(eid == EVENTID_CLICK) {
720 nsAString_Init(&href_str, NULL);
721 nsres = nsIDOMHTMLAnchorElement_GetHref(This->nsanchor, &href_str);
722 if (NS_FAILED(nsres)) {
723 ERR("Could not get anchor href: %08x\n", nsres);
724 goto fallback;
725 }
726
727 nsAString_Init(&target_str, NULL);
728 nsres = nsIDOMHTMLAnchorElement_GetTarget(This->nsanchor, &target_str);
729 if (NS_FAILED(nsres)) {
730 ERR("Could not get anchor target: %08x\n", nsres);
731 goto fallback;
732 }
733
734 return handle_link_click_event(&This->element, &href_str, &target_str, event, prevent_default);
735
736fallback:
737 nsAString_Finish(&href_str);
738 nsAString_Finish(&target_str);
739 }
740
741 return HTMLElement_handle_event(&This->element.node, eid, event, prevent_default);
742}
HRESULT handle_link_click_event(HTMLElement *element, nsAString *href_str, nsAString *target_str, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlanchor.c:123
static HTMLAnchorElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlanchor.c:683
HRESULT HTMLElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlelem.c:3815
@ EVENTID_CLICK
Definition: htmlevent.h:26
#define NS_FAILED(res)

◆ HTMLAnchorElement_Invoke()

static HRESULT WINAPI HTMLAnchorElement_Invoke ( IHTMLAnchorElement *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 210 of file htmlanchor.c.

213{
215 return IDispatchEx_Invoke(&This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember, riid,
216 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
217}
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531

◆ HTMLAnchorElement_put_accessKey()

static HRESULT WINAPI HTMLAnchorElement_put_accessKey ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 557 of file htmlanchor.c.

558{
560
561 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
562
563 return IHTMLElement2_put_accessKey(&This->element.IHTMLElement2_iface, v);
564}
const GLdouble * v
Definition: gl.h:2040

◆ HTMLAnchorElement_put_hash()

static HRESULT WINAPI HTMLAnchorElement_put_hash ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 501 of file htmlanchor.c.

502{
504 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
505 return E_NOTIMPL;
506}

◆ HTMLAnchorElement_put_host()

static HRESULT WINAPI HTMLAnchorElement_put_host ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 395 of file htmlanchor.c.

396{
398 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
399 return E_NOTIMPL;
400}

◆ HTMLAnchorElement_put_hostname()

static HRESULT WINAPI HTMLAnchorElement_put_hostname ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 409 of file htmlanchor.c.

410{
412 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
413 return E_NOTIMPL;
414}

◆ HTMLAnchorElement_put_href()

static HRESULT WINAPI HTMLAnchorElement_put_href ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 219 of file htmlanchor.c.

220{
222 nsAString nsstr;
223 nsresult nsres;
224
225 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
226
227 nsAString_InitDepend(&nsstr, v);
228 nsres = nsIDOMHTMLAnchorElement_SetHref(This->nsanchor, &nsstr);
229 nsAString_Finish(&nsstr);
230 if(NS_FAILED(nsres))
231 return E_FAIL;
232
233 return S_OK;
234}
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826

◆ HTMLAnchorElement_put_Methods()

static HRESULT WINAPI HTMLAnchorElement_put_Methods ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 350 of file htmlanchor.c.

351{
353 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
354 return E_NOTIMPL;
355}

◆ HTMLAnchorElement_put_name()

static HRESULT WINAPI HTMLAnchorElement_put_name ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 364 of file htmlanchor.c.

365{
367 nsAString nsstr;
368 nsresult nsres;
369
370 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
371
372 nsAString_InitDepend(&nsstr, v);
373 nsres = nsIDOMHTMLAnchorElement_SetName(This->nsanchor, &nsstr);
374 nsAString_Finish(&nsstr);
375 if(NS_FAILED(nsres))
376 return E_FAIL;
377
378 return S_OK;
379}

◆ HTMLAnchorElement_put_onblur()

static HRESULT WINAPI HTMLAnchorElement_put_onblur ( IHTMLAnchorElement *  iface,
VARIANT  v 
)
static

Definition at line 521 of file htmlanchor.c.

522{
524
525 TRACE("(%p)->()\n", This);
526
527 return IHTMLElement2_put_onblur(&This->element.IHTMLElement2_iface, v);
528}

◆ HTMLAnchorElement_put_onfocus()

static HRESULT WINAPI HTMLAnchorElement_put_onfocus ( IHTMLAnchorElement *  iface,
VARIANT  v 
)
static

Definition at line 539 of file htmlanchor.c.

540{
542
543 TRACE("(%p)->()\n", This);
544
545 return IHTMLElement2_put_onfocus(&This->element.IHTMLElement2_iface, v);
546}

◆ HTMLAnchorElement_put_pathname()

static HRESULT WINAPI HTMLAnchorElement_put_pathname ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 429 of file htmlanchor.c.

430{
432 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
433 return E_NOTIMPL;
434}

◆ HTMLAnchorElement_put_port()

static HRESULT WINAPI HTMLAnchorElement_put_port ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 443 of file htmlanchor.c.

444{
446 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
447 return E_NOTIMPL;
448}

◆ HTMLAnchorElement_put_protocol()

static HRESULT WINAPI HTMLAnchorElement_put_protocol ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 457 of file htmlanchor.c.

458{
460 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
461 return E_NOTIMPL;
462}

◆ HTMLAnchorElement_put_rel()

static HRESULT WINAPI HTMLAnchorElement_put_rel ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 292 of file htmlanchor.c.

293{
295 nsAString nsstr;
296 nsresult nsres;
297
298 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
299
300 nsAString_InitDepend(&nsstr, v);
301 nsres = nsIDOMHTMLAnchorElement_SetRel(This->nsanchor, &nsstr);
302 nsAString_Finish(&nsstr);
303 if(NS_FAILED(nsres))
304 return E_FAIL;
305
306 return S_OK;
307}

◆ HTMLAnchorElement_put_rev()

static HRESULT WINAPI HTMLAnchorElement_put_rev ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 322 of file htmlanchor.c.

323{
325 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
326 return E_NOTIMPL;
327}

◆ HTMLAnchorElement_put_search()

static HRESULT WINAPI HTMLAnchorElement_put_search ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 471 of file htmlanchor.c.

472{
474 nsAString nsstr;
475 nsresult nsres;
476
477 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
478
479 nsAString_InitDepend(&nsstr, v);
480 nsres = nsIDOMHTMLAnchorElement_SetSearch(This->nsanchor, &nsstr);
481 nsAString_Finish(&nsstr);
482 if(NS_FAILED(nsres))
483 return E_FAIL;
484
485 return S_OK;
486}

◆ HTMLAnchorElement_put_tabIndex()

static HRESULT WINAPI HTMLAnchorElement_put_tabIndex ( IHTMLAnchorElement *  iface,
short  v 
)
static

Definition at line 596 of file htmlanchor.c.

597{
599
600 TRACE("(%p)->()\n", This);
601
602 return IHTMLElement2_put_tabIndex(&This->element.IHTMLElement2_iface, v);
603}

◆ HTMLAnchorElement_put_target()

static HRESULT WINAPI HTMLAnchorElement_put_target ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 261 of file htmlanchor.c.

262{
264 nsAString nsstr;
265 nsresult nsres;
266
267 TRACE("(%p)->(%s)\n", This, debugstr_w(v));
268
269 nsAString_InitDepend(&nsstr, v);
270 nsres = nsIDOMHTMLAnchorElement_SetTarget(This->nsanchor, &nsstr);
271 nsAString_Finish(&nsstr);
272 if(NS_FAILED(nsres))
273 return E_FAIL;
274
275 return S_OK;
276}

◆ HTMLAnchorElement_put_urn()

static HRESULT WINAPI HTMLAnchorElement_put_urn ( IHTMLAnchorElement *  iface,
BSTR  v 
)
static

Definition at line 336 of file htmlanchor.c.

337{
339 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
340 return E_NOTIMPL;
341}

◆ HTMLAnchorElement_QI()

static HRESULT HTMLAnchorElement_QI ( HTMLDOMNode iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 688 of file htmlanchor.c.

689{
691
692 *ppv = NULL;
693
695 TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
696 *ppv = &This->IHTMLAnchorElement_iface;
697 }else if(IsEqualGUID(&IID_IDispatch, riid)) {
698 TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
699 *ppv = &This->IHTMLAnchorElement_iface;
700 }else if(IsEqualGUID(&IID_IHTMLAnchorElement, riid)) {
701 TRACE("(%p)->(IID_IHTMLAnchorElement %p)\n", This, ppv);
702 *ppv = &This->IHTMLAnchorElement_iface;
703 }
704
705 if(*ppv) {
706 IUnknown_AddRef((IUnknown*)*ppv);
707 return S_OK;
708 }
709
710 return HTMLElement_QI(&This->element.node, riid, ppv);
711}
const GUID IID_IUnknown
HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlelem.c:3738
REFIID LPVOID * ppv
Definition: atlbase.h:39
const GUID IID_IDispatch
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147

◆ HTMLAnchorElement_QueryInterface()

static HRESULT WINAPI HTMLAnchorElement_QueryInterface ( IHTMLAnchorElement *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 165 of file htmlanchor.c.

167{
169
170 return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
171}

◆ HTMLAnchorElement_Release()

static ULONG WINAPI HTMLAnchorElement_Release ( IHTMLAnchorElement *  iface)
static

Definition at line 180 of file htmlanchor.c.

181{
183
184 return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
185}

◆ HTMLAnchorElement_traverse()

static void HTMLAnchorElement_traverse ( HTMLDOMNode iface,
nsCycleCollectionTraversalCallback cb 
)
static

Definition at line 744 of file htmlanchor.c.

745{
747
748 if(This->nsanchor)
749 note_cc_edge((nsISupports*)This->nsanchor, "This->nsanchor", cb);
750}
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33

◆ HTMLAnchorElement_unlink()

static void HTMLAnchorElement_unlink ( HTMLDOMNode iface)
static

Definition at line 752 of file htmlanchor.c.

753{
755
756 if(This->nsanchor) {
757 nsIDOMHTMLAnchorElement *nsanchor = This->nsanchor;
758
759 This->nsanchor = NULL;
760 nsIDOMHTMLAnchorElement_Release(nsanchor);
761 }
762}

◆ impl_from_HTMLDOMNode()

static HTMLAnchorElement * impl_from_HTMLDOMNode ( HTMLDOMNode iface)
inlinestatic

Definition at line 683 of file htmlanchor.c.

684{
685 return CONTAINING_RECORD(iface, HTMLAnchorElement, element.node);
686}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by HTMLAnchorElement_handle_event(), HTMLAnchorElement_QI(), HTMLAnchorElement_traverse(), and HTMLAnchorElement_unlink().

◆ impl_from_IHTMLAnchorElement()

static HTMLAnchorElement * impl_from_IHTMLAnchorElement ( IHTMLAnchorElement *  iface)
inlinestatic

Definition at line 160 of file htmlanchor.c.

161{
162 return CONTAINING_RECORD(iface, HTMLAnchorElement, IHTMLAnchorElement_iface);
163}

Referenced by HTMLAnchorElement_AddRef(), HTMLAnchorElement_blur(), HTMLAnchorElement_focus(), HTMLAnchorElement_get_accessKey(), HTMLAnchorElement_get_hash(), HTMLAnchorElement_get_host(), HTMLAnchorElement_get_hostname(), HTMLAnchorElement_get_href(), HTMLAnchorElement_get_Methods(), HTMLAnchorElement_get_mimeType(), HTMLAnchorElement_get_name(), HTMLAnchorElement_get_nameProp(), HTMLAnchorElement_get_onblur(), HTMLAnchorElement_get_onfocus(), HTMLAnchorElement_get_pathname(), HTMLAnchorElement_get_port(), HTMLAnchorElement_get_protocol(), HTMLAnchorElement_get_protocolLong(), HTMLAnchorElement_get_rel(), HTMLAnchorElement_get_rev(), HTMLAnchorElement_get_search(), HTMLAnchorElement_get_tabIndex(), HTMLAnchorElement_get_target(), HTMLAnchorElement_get_urn(), HTMLAnchorElement_GetIDsOfNames(), HTMLAnchorElement_GetTypeInfo(), HTMLAnchorElement_GetTypeInfoCount(), HTMLAnchorElement_Invoke(), HTMLAnchorElement_put_accessKey(), HTMLAnchorElement_put_hash(), HTMLAnchorElement_put_host(), HTMLAnchorElement_put_hostname(), HTMLAnchorElement_put_href(), HTMLAnchorElement_put_Methods(), HTMLAnchorElement_put_name(), HTMLAnchorElement_put_onblur(), HTMLAnchorElement_put_onfocus(), HTMLAnchorElement_put_pathname(), HTMLAnchorElement_put_port(), HTMLAnchorElement_put_protocol(), HTMLAnchorElement_put_rel(), HTMLAnchorElement_put_rev(), HTMLAnchorElement_put_search(), HTMLAnchorElement_put_tabIndex(), HTMLAnchorElement_put_target(), HTMLAnchorElement_put_urn(), HTMLAnchorElement_QueryInterface(), and HTMLAnchorElement_Release().

◆ navigate_href()

static HRESULT navigate_href ( HTMLElement element,
nsAString href_str,
nsAString target_str 
)
static

Definition at line 94 of file htmlanchor.c.

95{
97 BOOL use_new_window;
98 const PRUnichar *href;
100
101 window = get_target_window(element->node.doc->basedoc.window, target_str, &use_new_window);
102 if(!window) {
103 if(use_new_window) {
104 const PRUnichar *target;
105 nsAString_GetData(target_str, &target);
106 return navigate_href_new_window(element, href_str, target);
107 }else {
108 return S_OK;
109 }
110 }
111
112 nsAString_GetData(href_str, &href);
113 if(*href) {
114 hres = navigate_url(window, href, window->uri_nofrag, BINDING_NAVIGATED);
115 }else {
116 TRACE("empty href\n");
117 hres = S_OK;
118 }
119 IHTMLWindow2_Release(&window->base.IHTMLWindow2_iface);
120 return hres;
121}
#define BINDING_NAVIGATED
Definition: binding.h:127
static HRESULT navigate_url(HHInfo *info, LPCWSTR surl)
Definition: help.c:193
unsigned int BOOL
Definition: ntddk_ex.h:94
HTMLOuterWindow * get_target_window(HTMLOuterWindow *window, nsAString *target_str, BOOL *use_new_window)
Definition: htmlanchor.c:45

Referenced by handle_link_click_event().

◆ navigate_href_new_window()

static HRESULT navigate_href_new_window ( HTMLElement element,
nsAString href_str,
const WCHAR target 
)
static

Definition at line 29 of file htmlanchor.c.

30{
31 const PRUnichar *href;
32 IUri *uri;
34
35 nsAString_GetData(href_str, &href);
36 hres = create_relative_uri(element->node.doc->basedoc.window, href, &uri);
37 if(FAILED(hres))
38 return hres;
39
40 hres = navigate_new_window(element->node.doc->basedoc.window, uri, target, NULL, NULL);
41 IUri_Release(uri);
42 return hres;
43}
HRESULT create_relative_uri(HTMLOuterWindow *, const WCHAR *, IUri **) DECLSPEC_HIDDEN
Definition: persist.c:163
HRESULT navigate_new_window(HTMLOuterWindow *, IUri *, const WCHAR *, request_data_t *, IHTMLWindow2 **) DECLSPEC_HIDDEN
Definition: navigate.c:2132
const char * uri
Definition: sec_mgr.c:1588

Referenced by handle_link_click_event(), and navigate_href().

Variable Documentation

◆ HTMLAnchorElement_dispex

dispex_static_data_t HTMLAnchorElement_dispex
static
Initial value:
= {
DispHTMLAnchorElement_tid,
}
static const tid_t HTMLAnchorElement_iface_tids[]
Definition: htmlanchor.c:784

Definition at line 791 of file htmlanchor.c.

Referenced by HTMLAnchorElement_Create().

◆ HTMLAnchorElement_iface_tids

const tid_t HTMLAnchorElement_iface_tids[]
static
Initial value:
= {
IHTMLAnchorElement_tid,
IHTMLUniqueName_tid,
0
}
#define HTMLELEMENT_TIDS

Definition at line 784 of file htmlanchor.c.

◆ HTMLAnchorElementImplVtbl

const NodeImplVtbl HTMLAnchorElementImplVtbl
static
Initial value:
= {
}
static HRESULT HTMLAnchorElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlanchor.c:713
static void HTMLAnchorElement_traverse(HTMLDOMNode *iface, nsCycleCollectionTraversalCallback *cb)
Definition: htmlanchor.c:744
static void HTMLAnchorElement_unlink(HTMLDOMNode *iface)
Definition: htmlanchor.c:752
static HRESULT HTMLAnchorElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlanchor.c:688
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
Definition: htmlelem.c:3793
void HTMLElement_destructor(HTMLDOMNode *iface)
Definition: htmlelem.c:3764
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **ac)
Definition: htmlelem.c:4827

Definition at line 764 of file htmlanchor.c.

Referenced by HTMLAnchorElement_Create().

◆ HTMLAnchorElementVtbl

const IHTMLAnchorElementVtbl HTMLAnchorElementVtbl
static

Definition at line 632 of file htmlanchor.c.

Referenced by HTMLAnchorElement_Create().