ReactOS  0.4.14-dev-41-g31d7680
mshtml_private.h
Go to the documentation of this file.
1 /*
2  * Copyright 2005-2009 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef _MSHTML_PRIVATE_H_
20 #define _MSHTML_PRIVATE_H_
21 
22 #include <wine/config.h>
23 
24 #include <assert.h>
25 #include <stdarg.h>
26 #include <stdio.h>
27 #include <math.h>
28 
29 #define WIN32_NO_STATUS
30 #define _INC_WINDOWS
31 
32 #define COBJMACROS
33 #define NONAMELESSUNION
34 #define NONAMELESSSTRUCT
35 
36 #include <windef.h>
37 #include <winbase.h>
38 #include <winreg.h>
39 #include <wingdi.h>
40 #include <ole2.h>
41 #include <docobjectservice.h>
42 #include <mshtmhst.h>
43 #include <mshtmcid.h>
44 #include <mshtmdid.h>
45 #include <perhist.h>
46 #include <objsafe.h>
47 #include <htiframe.h>
48 #include <tlogstg.h>
49 #include <shdeprecated.h>
50 #include <shlguid.h>
51 #define NO_SHLWAPI_REG
52 #include <shlwapi.h>
53 #include <optary.h>
54 #include <idispids.h>
55 #include <wininet.h>
56 #include <nsiface.h>
57 
58 #include <wine/debug.h>
59 #include <wine/list.h>
60 #include <wine/unicode.h>
61 
63 
64 #define NS_ERROR_GENERATE_FAILURE(module,code) \
65  ((nsresult) (((UINT32)(1u<<31)) | ((UINT32)(module+0x45)<<16) | ((UINT32)(code))))
66 
67 #define NS_OK ((nsresult)0x00000000L)
68 #define NS_ERROR_FAILURE ((nsresult)0x80004005L)
69 #define NS_ERROR_OUT_OF_MEMORY ((nsresult)0x8007000EL)
70 #define NS_ERROR_NOT_IMPLEMENTED ((nsresult)0x80004001L)
71 #define NS_NOINTERFACE ((nsresult)0x80004002L)
72 #define NS_ERROR_INVALID_POINTER ((nsresult)0x80004003L)
73 #define NS_ERROR_NULL_POINTER NS_ERROR_INVALID_POINTER
74 #define NS_ERROR_NOT_AVAILABLE ((nsresult)0x80040111L)
75 #define NS_ERROR_INVALID_ARG ((nsresult)0x80070057L)
76 #define NS_ERROR_UNEXPECTED ((nsresult)0x8000ffffL)
77 
78 #define NS_ERROR_MODULE_NETWORK 6
79 
80 #define NS_BINDING_ABORTED NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 2)
81 #define NS_ERROR_UNKNOWN_PROTOCOL NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 18)
82 
83 #define NS_FAILED(res) ((res) & 0x80000000)
84 #define NS_SUCCEEDED(res) (!NS_FAILED(res))
85 
86 #define NSAPI WINAPI
87 
88 #define MSHTML_E_NODOC 0x800a025c
89 
90 typedef struct HTMLDOMNode HTMLDOMNode;
92 typedef struct BSCallback BSCallback;
94 
95 #define TID_LIST \
96  XIID(NULL) \
97  XDIID(DispCEventObj) \
98  XDIID(DispCPlugins) \
99  XDIID(DispDOMChildrenCollection) \
100  XDIID(DispHTMLAnchorElement) \
101  XDIID(DispHTMLAreaElement) \
102  XDIID(DispHTMLAttributeCollection) \
103  XDIID(DispHTMLBody) \
104  XDIID(DispHTMLButtonElement) \
105  XDIID(DispHTMLCommentElement) \
106  XDIID(DispHTMLCurrentStyle) \
107  XDIID(DispHTMLDocument) \
108  XDIID(DispHTMLDOMAttribute) \
109  XDIID(DispHTMLDOMTextNode) \
110  XDIID(DispHTMLElementCollection) \
111  XDIID(DispHTMLEmbed) \
112  XDIID(DispHTMLFormElement) \
113  XDIID(DispHTMLGenericElement) \
114  XDIID(DispHTMLFrameElement) \
115  XDIID(DispHTMLHeadElement) \
116  XDIID(DispHTMLHistory) \
117  XDIID(DispHTMLIFrame) \
118  XDIID(DispHTMLImg) \
119  XDIID(DispHTMLInputElement) \
120  XDIID(DispHTMLLabelElement) \
121  XDIID(DispHTMLLinkElement) \
122  XDIID(DispHTMLLocation) \
123  XDIID(DispHTMLMetaElement) \
124  XDIID(DispHTMLNavigator) \
125  XDIID(DispHTMLObjectElement) \
126  XDIID(DispHTMLOptionElement) \
127  XDIID(DispHTMLScreen) \
128  XDIID(DispHTMLScriptElement) \
129  XDIID(DispHTMLSelectElement) \
130  XDIID(DispHTMLStyle) \
131  XDIID(DispHTMLStyleElement) \
132  XDIID(DispHTMLStyleSheet) \
133  XDIID(DispHTMLStyleSheetRulesCollection) \
134  XDIID(DispHTMLStyleSheetsCollection) \
135  XDIID(DispHTMLTable) \
136  XDIID(DispHTMLTableCell) \
137  XDIID(DispHTMLTableRow) \
138  XDIID(DispHTMLTextAreaElement) \
139  XDIID(DispHTMLTitleElement) \
140  XDIID(DispHTMLUnknownElement) \
141  XDIID(DispHTMLWindow2) \
142  XDIID(DispHTMLXMLHttpRequest) \
143  XDIID(HTMLDocumentEvents) \
144  XDIID(HTMLElementEvents2) \
145  XIID(IHTMLAnchorElement) \
146  XIID(IHTMLAreaElement) \
147  XIID(IHTMLAttributeCollection) \
148  XIID(IHTMLAttributeCollection2) \
149  XIID(IHTMLAttributeCollection3) \
150  XIID(IHTMLBodyElement) \
151  XIID(IHTMLBodyElement2) \
152  XIID(IHTMLButtonElement) \
153  XIID(IHTMLCommentElement) \
154  XIID(IHTMLCurrentStyle) \
155  XIID(IHTMLCurrentStyle2) \
156  XIID(IHTMLCurrentStyle3) \
157  XIID(IHTMLCurrentStyle4) \
158  XIID(IHTMLDocument2) \
159  XIID(IHTMLDocument3) \
160  XIID(IHTMLDocument4) \
161  XIID(IHTMLDocument5) \
162  XIID(IHTMLDOMAttribute) \
163  XIID(IHTMLDOMAttribute2) \
164  XIID(IHTMLDOMChildrenCollection) \
165  XIID(IHTMLDOMImplementation) \
166  XIID(IHTMLDOMNode) \
167  XIID(IHTMLDOMNode2) \
168  XIID(IHTMLDOMTextNode) \
169  XIID(IHTMLDOMTextNode2) \
170  XIID(IHTMLElement) \
171  XIID(IHTMLElement2) \
172  XIID(IHTMLElement3) \
173  XIID(IHTMLElement4) \
174  XIID(IHTMLElementCollection) \
175  XIID(IHTMLEmbedElement) \
176  XIID(IHTMLEventObj) \
177  XIID(IHTMLFiltersCollection) \
178  XIID(IHTMLFormElement) \
179  XIID(IHTMLFrameBase) \
180  XIID(IHTMLFrameBase2) \
181  XIID(IHTMLFrameElement3) \
182  XIID(IHTMLGenericElement) \
183  XIID(IHTMLHeadElement) \
184  XIID(IHTMLIFrameElement) \
185  XIID(IHTMLIFrameElement2) \
186  XIID(IHTMLIFrameElement3) \
187  XIID(IHTMLImageElementFactory) \
188  XIID(IHTMLImgElement) \
189  XIID(IHTMLInputElement) \
190  XIID(IHTMLLabelElement) \
191  XIID(IHTMLLinkElement) \
192  XIID(IHTMLLocation) \
193  XIID(IHTMLMetaElement) \
194  XIID(IHTMLMimeTypesCollection) \
195  XIID(IHTMLObjectElement) \
196  XIID(IHTMLObjectElement2) \
197  XIID(IHTMLOptionElement) \
198  XIID(IHTMLOptionElementFactory) \
199  XIID(IHTMLPluginsCollection) \
200  XIID(IHTMLRect) \
201  XIID(IHTMLScreen) \
202  XIID(IHTMLScriptElement) \
203  XIID(IHTMLSelectElement) \
204  XIID(IHTMLSelectionObject) \
205  XIID(IHTMLSelectionObject2) \
206  XIID(IHTMLStorage) \
207  XIID(IHTMLStyle) \
208  XIID(IHTMLStyle2) \
209  XIID(IHTMLStyle3) \
210  XIID(IHTMLStyle4) \
211  XIID(IHTMLStyle5) \
212  XIID(IHTMLStyle6) \
213  XIID(IHTMLStyleElement) \
214  XIID(IHTMLStyleSheet) \
215  XIID(IHTMLStyleSheetRulesCollection) \
216  XIID(IHTMLStyleSheetsCollection) \
217  XIID(IHTMLTable) \
218  XIID(IHTMLTable2) \
219  XIID(IHTMLTable3) \
220  XIID(IHTMLTableCell) \
221  XIID(IHTMLTableRow) \
222  XIID(IHTMLTextAreaElement) \
223  XIID(IHTMLTextContainer) \
224  XIID(IHTMLTitleElement) \
225  XIID(IHTMLTxtRange) \
226  XIID(IHTMLUniqueName) \
227  XIID(IHTMLWindow2) \
228  XIID(IHTMLWindow3) \
229  XIID(IHTMLWindow4) \
230  XIID(IHTMLWindow5) \
231  XIID(IHTMLWindow6) \
232  XIID(IHTMLXMLHttpRequest) \
233  XIID(IHTMLXMLHttpRequestFactory) \
234  XIID(IOmHistory) \
235  XIID(IOmNavigator)
236 
237 typedef enum {
238 #define XIID(iface) iface ## _tid,
239 #define XDIID(iface) iface ## _tid,
240 TID_LIST
241 #undef XIID
242 #undef XDIID
244 } tid_t;
245 
248 
249 #define MSHTML_DISPID_CUSTOM_MIN 0x60000000
250 #define MSHTML_DISPID_CUSTOM_MAX 0x6fffffff
251 #define MSHTML_CUSTOM_DISPID_CNT (MSHTML_DISPID_CUSTOM_MAX-MSHTML_DISPID_CUSTOM_MIN)
252 
253 typedef struct DispatchEx DispatchEx;
254 
255 typedef struct {
259  HRESULT (*populate_props)(DispatchEx*);
260  /* We abuse this vtbl for EventTarget functions to avoid separated vtbl. */
261  event_target_t **(*get_event_target_ptr)(DispatchEx*);
264 
265 typedef struct {
269  const tid_t* const iface_tids;
271 
272 struct DispatchEx {
273  IDispatchEx IDispatchEx_iface;
274 
276 
279 };
280 
281 typedef struct {
284 
285 typedef struct {
286  void *vtbl;
288  void *callbacks;
290 
292 
293 typedef struct {
294  nsresult (NSAPI *traverse)(void*,void*,nsCycleCollectionTraversalCallback*);
295  nsresult (NSAPI *unlink)(void*);
296  void (NSAPI *delete_cycle_collectable)(void*);
297 } CCObjCallback;
298 
299 DEFINE_GUID(IID_nsXPCOMCycleCollectionParticipant, 0x9674489b,0x1f6f,0x4550,0xa7,0x30, 0xcc,0xae,0xdd,0x10,0x4c,0xf9);
300 
307 
319 
320 typedef enum {
325 
327 
328 typedef struct HTMLWindow HTMLWindow;
334 typedef struct NSContainer NSContainer;
336 
337 typedef enum {
340 } SCRIPTMODE;
341 
342 typedef struct ScriptHost ScriptHost;
343 
344 typedef enum {
350 
351 typedef struct {
356 } global_prop_t;
357 
358 typedef struct {
361 } EventTarget;
362 
363 typedef struct {
365  IHTMLOptionElementFactory IHTMLOptionElementFactory_iface;
366 
368 
371 
372 typedef struct {
374  IHTMLImageElementFactory IHTMLImageElementFactory_iface;
375 
377 
380 
381 typedef struct {
383  IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory_iface;
384 
386 
389 
390 struct HTMLLocation {
392  IHTMLLocation IHTMLLocation_iface;
393 
395 
397 };
398 
399 typedef struct {
401  IOmHistory IOmHistory_iface;
402 
404 
406 } OmHistory;
407 
408 typedef struct {
411 } windowref_t;
412 
413 typedef struct nsChannelBSC nsChannelBSC;
414 
415 struct HTMLWindow {
417  IHTMLWindow3 IHTMLWindow3_iface;
418  IHTMLWindow4 IHTMLWindow4_iface;
419  IHTMLWindow5 IHTMLWindow5_iface;
420  IHTMLWindow6 IHTMLWindow6_iface;
422  IDispatchEx IDispatchEx_iface;
425  IObjectIdentity IObjectIdentity_iface;
426 
428 
431 };
432 
435 
438 
443 
444  READYSTATE readystate;
447 
454 
456 
458 
459  struct list children;
461  struct list entry;
462 };
463 
467 
469 
471 
472  IHTMLEventObj *event;
473 
477  IHTMLScreen *screen;
479  IHTMLStorage *session_storage;
480 
483 
487 
489 
491 
494  struct list bindings;
495 };
496 
497 typedef enum {
501 } USERMODE;
502 
503 typedef struct _cp_static_data_t {
510 
511 typedef struct {
512  const IID *riid;
514 } cpc_entry_t;
515 
516 typedef struct ConnectionPointContainer {
518 
524 
525 struct ConnectionPoint {
527 
529 
530  union {
534  } *sinks;
536 
537  const IID *iid;
539 };
540 
541 struct HTMLDocument {
542  IHTMLDocument2 IHTMLDocument2_iface;
543  IHTMLDocument3 IHTMLDocument3_iface;
544  IHTMLDocument4 IHTMLDocument4_iface;
545  IHTMLDocument5 IHTMLDocument5_iface;
546  IHTMLDocument6 IHTMLDocument6_iface;
547  IHTMLDocument7 IHTMLDocument7_iface;
563  IDispatchEx IDispatchEx_iface;
569 
571  IDispatchEx *dispex;
572 
575 
577 
579 
582 };
583 
585 {
586  return IUnknown_QueryInterface(This->unk_impl, riid, ppv);
587 }
588 
590 {
591  return IUnknown_AddRef(This->unk_impl);
592 }
593 
595 {
596  return IUnknown_Release(This->unk_impl);
597 }
598 
604 
606 
608 
610 
623 
624  DOCHOSTUIINFO hostinfo;
625 
627  IHTMLEditServices *editsvcs;
628 
631 
641 
644 
646 };
647 
649 
650 struct NSContainer {
658 
663 
666 
668 
670 
673 
675 
677 };
678 
679 typedef struct {
680  HRESULT (*qi)(HTMLDOMNode*,REFIID,void**);
681  void (*destructor)(HTMLDOMNode*);
684  HRESULT (*handle_event)(HTMLDOMNode*,DWORD,nsIDOMEvent*,BOOL*);
686  event_target_t **(*get_event_target_ptr)(HTMLDOMNode*);
688  HRESULT (*put_disabled)(HTMLDOMNode*,VARIANT_BOOL);
689  HRESULT (*get_disabled)(HTMLDOMNode*,VARIANT_BOOL*);
690  HRESULT (*get_document)(HTMLDOMNode*,IDispatch**);
691  HRESULT (*get_readystate)(HTMLDOMNode*,BSTR*);
694  HRESULT (*bind_to_tree)(HTMLDOMNode*);
697  BOOL (*is_text_edit)(HTMLDOMNode*);
698 } NodeImplVtbl;
699 
700 struct HTMLDOMNode {
702  IHTMLDOMNode IHTMLDOMNode_iface;
703  IHTMLDOMNode2 IHTMLDOMNode2_iface;
705 
707 
711 };
712 
713 static inline void node_addref(HTMLDOMNode *node)
714 {
715  IHTMLDOMNode_AddRef(&node->IHTMLDOMNode_iface);
716 }
717 
718 static inline void node_release(HTMLDOMNode *node)
719 {
720  IHTMLDOMNode_Release(&node->IHTMLDOMNode_iface);
721 }
722 
723 typedef struct {
726 
727  IHTMLElement IHTMLElement_iface;
728  IHTMLElement2 IHTMLElement2_iface;
729  IHTMLElement3 IHTMLElement3_iface;
730  IHTMLElement4 IHTMLElement4_iface;
731 
737 } HTMLElement;
738 
739 #define HTMLELEMENT_TIDS \
740  IHTMLDOMNode_tid, \
741  IHTMLDOMNode2_tid, \
742  IHTMLElement_tid, \
743  IHTMLElement2_tid, \
744  IHTMLElement3_tid, \
745  IHTMLElement4_tid
746 
748 #define HTMLELEMENT_CPC {&DIID_HTMLElementEvents2, &HTMLElementEvents2_data}
750 
751 typedef struct {
753 
754  IHTMLTextContainer IHTMLTextContainer_iface;
756 
759 
760  IHTMLFrameBase IHTMLFrameBase_iface;
761  IHTMLFrameBase2 IHTMLFrameBase2_iface;
762 
764 
767 };
768 
770 
774 
776 
778 
780 
782 
786 
787  IHTMLDOMImplementation *dom_implementation;
788 
792 
794  unsigned elem_vars_size;
795  unsigned elem_vars_cnt;
796 
798 
800 
802  struct list range_list;
804 };
805 
809 
818 IOmNavigator *OmNavigator_Create(void) DECLSPEC_HIDDEN;
821 HRESULT create_dom_implementation(IHTMLDOMImplementation**) DECLSPEC_HIDDEN;
822 
823 HRESULT create_storage(IHTMLStorage**) DECLSPEC_HIDDEN;
824 
832 
835 
837 
839 
842 
845 
850 
854 
858 
860 
862 
864 void close_gecko(void) DECLSPEC_HIDDEN;
867 void release_nsio(void) DECLSPEC_HIDDEN;
868 BOOL is_gecko_path(const char*) DECLSPEC_HIDDEN;
870 
871 void init_node_cc(void) DECLSPEC_HIDDEN;
872 
874 
876 
879 
880 void *nsalloc(size_t) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN;
881 void nsfree(void*) DECLSPEC_HIDDEN;
882 
888 
893 
895 
897 {
898  V_VT(p) = VT_BSTR;
899  return return_nsstr(nsres, nsstr, &V_BSTR(p));
900 }
901 
909 char *get_nscategory_entry(const char*,const char*) DECLSPEC_HIDDEN;
910 
917 
920 
925 
930 
933 
935 
938 
939 
942  IHTMLAttributeCollection IHTMLAttributeCollection_iface;
943  IHTMLAttributeCollection2 IHTMLAttributeCollection2_iface;
944  IHTMLAttributeCollection3 IHTMLAttributeCollection3_iface;
945 
947 
949  struct list attrs;
950 };
951 
952 typedef struct {
954  IHTMLDOMAttribute IHTMLDOMAttribute_iface;
955  IHTMLDOMAttribute2 IHTMLDOMAttribute2_iface;
956 
958 
960 
963  struct list entry;
965 
967 
995 
1000 
1003 
1009 
1012 
1015 
1017 
1023 
1025 
1026 IHTMLElementCollection *create_all_collection(HTMLDOMNode*,BOOL) DECLSPEC_HIDDEN;
1029 
1030 #define ATTRFLAG_CASESENSITIVE 0x0001
1031 #define ATTRFLAG_ASSTRING 0x0002
1032 #define ATTRFLAG_EXPANDURL 0x0004
1033 
1036 
1040 
1041 /* commands */
1042 typedef struct {
1046 } cmdtable_t;
1047 
1049 
1051 
1052 /* timer */
1053 #define UPDATE_UI 0x0001
1054 #define UPDATE_TITLE 0x0002
1055 
1059 
1061 
1062 /* editor */
1072 
1074 
1075 typedef struct task_t task_t;
1076 typedef void (*task_proc_t)(task_t*);
1077 
1078 struct task_t {
1082  struct list entry;
1083 };
1084 
1085 typedef struct {
1088 } docobj_task_t;
1089 
1090 typedef struct {
1092  struct list task_list;
1094 } thread_data_t;
1095 
1098 
1103 
1106 
1107 const char *debugstr_mshtml_guid(const GUID*) DECLSPEC_HIDDEN;
1108 
1109 DEFINE_GUID(CLSID_AboutProtocol, 0x3050F406, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1110 DEFINE_GUID(CLSID_JSProtocol, 0x3050F3B2, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1111 DEFINE_GUID(CLSID_MailtoProtocol, 0x3050F3DA, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1112 DEFINE_GUID(CLSID_ResProtocol, 0x3050F3BC, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1113 DEFINE_GUID(CLSID_SysimageProtocol, 0x76E67A63, 0x06E9, 0x11D2, 0xA8,0x40, 0x00,0x60,0x08,0x05,0x93,0x82);
1114 
1115 DEFINE_GUID(CLSID_CMarkup,0x3050f4fb,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
1116 
1117 DEFINE_OLEGUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0);
1118 
1119 DEFINE_GUID(CLSID_JScript, 0xf414c260,0x6ac0,0x11cf, 0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58);
1120 DEFINE_GUID(CLSID_VBScript, 0xb54f3741,0x5b07,0x11cf, 0xa4,0xb0,0x00,0xaa,0x00,0x4a,0x55,0xe8);
1121 
1122 DEFINE_GUID(IID_UndocumentedScriptIface,0x719c3050,0xf9d3,0x11cf,0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa0);
1123 DEFINE_GUID(IID_IDispatchJS,0x719c3050,0xf9d3,0x11cf,0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa6);
1124 
1125 /* memory allocation functions */
1126 
1127 static inline void * __WINE_ALLOC_SIZE(1) heap_alloc(size_t len)
1128 {
1129  return HeapAlloc(GetProcessHeap(), 0, len);
1130 }
1131 
1132 static inline void * __WINE_ALLOC_SIZE(1) heap_alloc_zero(size_t len)
1133 {
1135 }
1136 
1137 static inline void * __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t len)
1139  return HeapReAlloc(GetProcessHeap(), 0, mem, len);
1140 }
1141 
1142 static inline void * __WINE_ALLOC_SIZE(2) heap_realloc_zero(void *mem, size_t len)
1143 {
1145 }
1146 
1147 static inline BOOL heap_free(void *mem)
1148 {
1149  return HeapFree(GetProcessHeap(), 0, mem);
1150 }
1151 
1153 {
1154  LPWSTR ret = NULL;
1155 
1156  if(str) {
1157  DWORD size;
1158 
1159  size = (strlenW(str)+1)*sizeof(WCHAR);
1160  ret = heap_alloc(size);
1161  if(ret)
1162  memcpy(ret, str, size);
1163  }
1164 
1165  return ret;
1166 }
1167 
1168 static inline LPWSTR heap_strndupW(LPCWSTR str, unsigned len)
1169 {
1170  LPWSTR ret = NULL;
1171 
1172  if(str) {
1173  ret = heap_alloc((len+1)*sizeof(WCHAR));
1174  if(ret)
1175  {
1176  memcpy(ret, str, len*sizeof(WCHAR));
1177  ret[len] = 0;
1178  }
1179  }
1180 
1181  return ret;
1182 }
1183 
1184 static inline char *heap_strdupA(const char *str)
1185 {
1186  char *ret = NULL;
1187 
1188  if(str) {
1189  DWORD size;
1190 
1191  size = strlen(str)+1;
1192  ret = heap_alloc(size);
1193  if(ret)
1194  memcpy(ret, str, size);
1195  }
1196 
1197  return ret;
1198 }
1199 
1200 static inline WCHAR *heap_strdupAtoW(const char *str)
1201 {
1202  LPWSTR ret = NULL;
1203 
1204  if(str) {
1205  DWORD len;
1206 
1207  len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
1208  ret = heap_alloc(len*sizeof(WCHAR));
1209  if(ret)
1210  MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
1211  }
1212 
1213  return ret;
1214 }
1215 
1216 static inline char *heap_strdupWtoA(LPCWSTR str)
1217 {
1218  char *ret = NULL;
1219 
1220  if(str) {
1221  DWORD size = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
1222  ret = heap_alloc(size);
1223  if(ret)
1225  }
1226 
1227  return ret;
1228 }
1229 
1230 static inline WCHAR *heap_strdupUtoW(const char *str)
1231 {
1232  WCHAR *ret = NULL;
1233 
1234  if(str) {
1235  size_t len;
1236 
1237  len = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
1238  ret = heap_alloc(len*sizeof(WCHAR));
1239  if(ret)
1240  MultiByteToWideChar(CP_UTF8, 0, str, -1, ret, len);
1241  }
1242 
1243  return ret;
1244 }
1245 
1246 static inline char *heap_strdupWtoU(const WCHAR *str)
1247 {
1248  char *ret = NULL;
1249 
1250  if(str) {
1251  size_t size = WideCharToMultiByte(CP_UTF8, 0, str, -1, NULL, 0, NULL, NULL);
1252  ret = heap_alloc(size);
1253  if(ret)
1255  }
1256 
1257  return ret;
1258 }
1259 
1260 static inline char *heap_strndupWtoU(LPCWSTR str, unsigned len)
1261 {
1262  char *ret = NULL;
1263  DWORD size;
1264 
1265  if(str && len) {
1267  ret = heap_alloc(size + 1);
1268  if(ret) {
1270  ret[size] = '\0';
1271  }
1272  }
1273 
1274  return ret;
1275 }
1276 
1277 static inline void windowref_addref(windowref_t *ref)
1278 {
1279  InterlockedIncrement(&ref->ref);
1280 }
1281 
1282 static inline void windowref_release(windowref_t *ref)
1283 {
1284  if(!InterlockedDecrement(&ref->ref))
1285  heap_free(ref);
1286 }
1287 
1292 
1294 
1295 #include "binding.h"
1296 #include "htmlevent.h"
1297 #include "htmlscript.h"
1298 #include "htmlstyle.h"
1299 #include "pluginhost.h"
1300 #include "resource.h"
1301 
1302 #endif /* _MSHTML_PRIVATE_H_ */
HTMLElement * elem
IOleInPlaceUIWindow * ip_window
DEFINE_OLEGUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0)
HTMLImageElementFactory * image_factory
ICustomDoc ICustomDoc_iface
HRESULT get_dispids(tid_t, DWORD *, DISPID **) DECLSPEC_HIDDEN
Definition: dispex.c:389
void HTMLFrameBase_destructor(HTMLFrameBase *) DECLSPEC_HIDDEN
#define HRESULT
Definition: msvc.h:9
dispex_prop_type_t
HRESULT set_task_timer(HTMLInnerWindow *, DWORD, BOOL, IDispatch *, LONG *) DECLSPEC_HIDDEN
Definition: task.c:169
HRESULT replace_node_by_html(nsIDOMHTMLDocument *, nsIDOMNode *, const WCHAR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:98
HRESULT HTMLElement_handle_event(HTMLDOMNode *, DWORD, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlelem.c:3815
IHTMLDOMNode2 IHTMLDOMNode2_iface
HRESULT HTMLDOMNode_QI(HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmlnode.c:1142
struct list plugin_hosts
IMonikerProp IMonikerProp_iface
HRESULT get_htmldoc_classinfo(ITypeInfo **typeinfo) DECLSPEC_HIDDEN
Definition: dispex.c:172
nsIWebBrowser * webbrowser
HTMLAttributeCollection * attrs
IConnectionPointContainer IConnectionPointContainer_iface
Definition: ieframe.h:53
#define REFIID
Definition: guiddef.h:118
JSContext * get_context_from_document(nsIDOMHTMLDocument *) DECLSPEC_HIDDEN
Definition: mutation.c:758
BOOL load_gecko(void) DECLSPEC_HIDDEN
Definition: nsembed.c:742
DispatchEx dispex
static void windowref_release(windowref_t *ref)
BOOL nsACString_Init(nsACString *str, const char *data) DECLSPEC_HIDDEN
Definition: nsembed.c:788
void update_doc(HTMLDocument *, DWORD) DECLSPEC_HIDDEN
Definition: view.c:62
HTMLDocumentObj * doc_obj
static LPWSTR heap_strndupW(LPCWSTR str, unsigned len)
IDispatchEx IDispatchEx_iface
struct list range_list
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
nsIDOMHTMLDocument * nsdoc
CLSID CLSID_AboutProtocol
#define WideCharToMultiByte
Definition: compat.h:101
nsISupportsWeakReference nsISupportsWeakReference_iface
Definition: scsiwmi.h:51
#define __cdecl
Definition: accygwin.h:79
#define TID_LIST
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
HTMLDocumentNode * doc
void HTMLFrameBase_Init(HTMLFrameBase *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
struct list script_queue
nsIWebBrowserFocus * focus
BOOL is_gecko_path(const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:1108
HRESULT elem_string_attr_setter(HTMLElement *, const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:186
const IID * riid
IHTMLStyleSheetsCollection * HTMLStyleSheetsCollection_Create(nsIDOMStyleSheetList *) DECLSPEC_HIDDEN
struct list bindings
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
HRESULT HTMLTextAreaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltextarea.c:498
IPersistStreamInit IPersistStreamInit_iface
HRESULT do_query_service(IUnknown *, REFGUID, REFIID, void **) DECLSPEC_HIDDEN
Definition: main.c:141
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
IConnectionPoint IConnectionPoint_iface
Definition: events.c:34
IOleClientSite * client
IPersistFile IPersistFile_iface
struct list script_hosts
nsrefcnt(__cdecl *ccref_incr)(nsCycleCollectingAutoRefCnt *
#define NSAPI
unsigned parser_callback_cnt
REFIID riid
Definition: precomp.h:44
HRESULT HTMLObjectElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlobject.c:764
UINT32 nsACString_GetData(const nsACString *, const char **) DECLSPEC_HIDDEN
Definition: nsembed.c:807
nsIXMLHttpRequest * create_nsxhr(nsIDOMWindow *nswindow) DECLSPEC_HIDDEN
Definition: nsembed.c:2156
#define REFCLSID
Definition: guiddef.h:117
IUnknown * browser_service
void set_statustext(HTMLDocumentObj *, INT, LPCWSTR) DECLSPEC_HIDDEN
Definition: main.c:104
#define CP_ACP
Definition: compat.h:99
nsIDocumentObserver nsIDocumentObserver_iface
HTMLInnerWindow * window
void HTMLDocument_LockContainer(HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
Definition: oleobj.c:1183
IOleDocument IOleDocument_iface
IHTMLDOMAttribute2 IHTMLDOMAttribute2_iface
void * nsalloc(size_t) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN
Definition: nsembed.c:778
tid_t
Definition: ieframe.h:311
const dispex_static_data_vtbl_t * vtbl
HRESULT HTMLOuterWindow_Create(HTMLDocumentObj *, nsIDOMWindow *, HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:2945
nsIDOMHTMLIFrameElement * nsiframe
void(* task_proc_t)(task_t *)
nsresult create_nsfile(const PRUnichar *, nsIFile **) DECLSPEC_HIDDEN
Definition: nsembed.c:72
HTMLOuterWindow * window
IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory_iface
cp_static_data_t * data
static HDC
Definition: imagelist.c:92
HRESULT create_element(HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:275
nsIWebNavigation * navigation
REFIID LPVOID * ppv
Definition: atlbase.h:39
NSContainer * parent
HRESULT HTMLTitleElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlhead.c:163
static const CLSID CLSID_JScript
Definition: activex.c:57
SCRIPTMODE scriptmode
USERMODE
void dispex_unlink(DispatchEx *) DECLSPEC_HIDDEN
Definition: dispex.c:1689
#define unlink
Definition: syshdrs.h:54
static LPWSTR heap_strdupW(LPCWSTR str)
HTMLOuterWindow * content_window
void init_editor(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:1202
void dispex_traverse(DispatchEx *, nsCycleCollectionTraversalCallback *) DECLSPEC_HIDDEN
Definition: dispex.c:1674
HTMLInnerWindow * window
ITravelLog * travel_log
IViewObjectEx IViewObjectEx_iface
struct list entry
void detach_ranges(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: txtrange.c:1747
IObjectIdentity IObjectIdentity_iface
HRESULT HTMLTxtRange_Create(HTMLDocumentNode *, nsIDOMRange *, IHTMLTxtRange **) DECLSPEC_HIDDEN
Definition: txtrange.c:1722
static void size_t len
static void windowref_addref(windowref_t *ref)
static BOOL heap_free(void *mem)
IDispatchEx * dispex
DWORD LCID
Definition: nls.h:13
HRESULT get_frame_by_name(HTMLOuterWindow *, const WCHAR *, BOOL, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:343
static char * heap_strdupWtoU(const WCHAR *str)
OLECHAR * BSTR
Definition: compat.h:1934
IHTMLTextContainer IHTMLTextContainer_iface
HRESULT HTMLXMLHttpRequestFactory_Create(HTMLInnerWindow *, HTMLXMLHttpRequestFactory **) DECLSPEC_HIDDEN
nsWeakReference * weak_reference
EventTarget event_target
__IHTMLWindow2_FWD_DEFINED__ typedef interface IHTMLWindow2 IHTMLWindow2
Definition: mshtmhst.idl:64
void HTMLDocument_Persist_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: persist.c:1089
void close_gecko(void) DECLSPEC_HIDDEN
Definition: nsembed.c:1076
HRESULT create_nselem(HTMLDocumentNode *, const WCHAR *, nsIDOMHTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:246
HTMLDocument basedoc
void HTMLDocument_Hlink_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: hlink.c:106
#define BOOL
Definition: nt_native.h:43
nsIDOMHTMLElement * nselem
#define DWORD
Definition: nt_native.h:44
int32_t INT
Definition: typedefs.h:56
short VARIANT_BOOL
Definition: compat.h:1931
void release_dispex(DispatchEx *) DECLSPEC_HIDDEN
Definition: dispex.c:1706
HTMLFrameBase * frame_element
Definition: send.c:47
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:70
void init_binding_ui(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:935
IPropertyNotifySink * propnotif
static void node_addref(HTMLDOMNode *node)
event_target_t * ptr
IHTMLLocation IHTMLLocation_iface
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
HTMLDocumentNode * doc_node
HTMLOuterWindow * window
HRESULT HTMLLoadOptions_Create(IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: loadopts.c:173
HRESULT HTMLIFrame_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmliframe.c:586
const CLSID CLSID_VBScript
IOleInPlaceSite * ipsite
ConnectionPointContainer * cp_container
void hide_tooltip(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:386
BOOL dispex_query_interface(DispatchEx *, REFIID, void **) DECLSPEC_HIDDEN
Definition: dispex.c:1656
void set_dirty(HTMLDocument *, VARIANT_BOOL) DECLSPEC_HIDDEN
Definition: editor.c:81
IOleContainer IOleContainer_iface
HRESULT HTMLOptionElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmloption.c:437
HRESULT handle_link_click_event(HTMLElement *, nsAString *, nsAString *, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlanchor.c:123
IOmHistory IOmHistory_iface
IHTMLWindow5 IHTMLWindow5_iface
global_prop_type_t type
IServiceProvider IServiceProvider_iface
static void node_release(HTMLDOMNode *node)
struct __thread_data thread_data_t
Definition: msvcrt.h:196
HTMLOuterWindow * parent
void handle_edit_load(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:482
IHTMLStorage * session_storage
HRESULT get_client_disp_property(IOleClientSite *, DISPID, VARIANT *) DECLSPEC_HIDDEN
Definition: oleobj.c:811
DEFINE_GUID(IID_nsXPCOMCycleCollectionParticipant, 0x9674489b, 0x1f6f, 0x4550, 0xa7, 0x30, 0xcc, 0xae, 0xdd, 0x10, 0x4c, 0xf9)
static char * heap_strdupWtoA(LPCWSTR str)
void HTMLElement_destructor(HTMLDOMNode *) DECLSPEC_HIDDEN
Definition: htmlelem.c:3764
HRESULT HTMLCurrentStyle_Create(HTMLElement *, IHTMLCurrentStyle **) DECLSPEC_HIDDEN
#define CP_UTF8
Definition: nls.h:20
dispex_prop_type_t get_dispid_type(DISPID) DECLSPEC_HIDDEN
Definition: dispex.c:464
HTMLOptionElementFactory * option_factory
void TargetContainer_Init(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: oleobj.c:1121
unsigned int UINT32
task_proc_t proc
IOleDocumentView IOleDocumentView_iface
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
GLuint color
Definition: glext.h:6243
global_prop_t * global_props
HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument *, HTMLDocumentObj *, HTMLInnerWindow *, HTMLDocumentNode **) DECLSPEC_HIDDEN
Definition: htmldoc.c:4620
IHTMLAttributeCollection2 IHTMLAttributeCollection2_iface
HTMLInnerWindow * pending_window
void set_document_navigation(HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
Definition: oleobj.c:193
unsigned elem_vars_cnt
IOleCommandTarget IOleCommandTarget_iface
HRESULT HTMLElement_clone(HTMLDOMNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmlelem.c:3793
HWND get_thread_hwnd(void) DECLSPEC_HIDDEN
Definition: task.c:338
HRESULT nsuri_to_url(LPCWSTR, BOOL, BSTR *) DECLSPEC_HIDDEN
Definition: nsio.c:175
nsIController * editor_controller
void set_download_state(HTMLDocumentObj *, int) DECLSPEC_HIDDEN
Definition: persist.c:170
ITargetContainer ITargetContainer_iface
NSContainer * nscontainer
HRESULT HTMLTable_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltable.c:1065
IHTMLDOMImplementation * dom_implementation
struct list sibling_entry
ITravelLogClient ITravelLogClient_iface
HRESULT HTMLFrameBase_QI(HTMLFrameBase *, REFIID, void **) DECLSPEC_HIDDEN
IDispatch * disp
const WCHAR * str
IInternetHostSecurityManager IInternetHostSecurityManager_iface
nsIDOMNode * nsnode
HRESULT ProtocolFactory_Create(REFCLSID, REFIID, void **) DECLSPEC_HIDDEN
Definition: protocol.c:1038
IDispatch ** sinks
Definition: events.c:38
void nsfree(void *) DECLSPEC_HIDDEN
Definition: nsembed.c:783
IHTMLElement2 IHTMLElement2_iface
HRESULT HTMLSelectElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlselect.c:709
smooth NULL
Definition: ftsmooth.c:416
IHTMLElement4 IHTMLElement4_iface
struct list selection_list
WINE_DEFAULT_DEBUG_CHANNEL(mshtml)
IHTMLElementCollection * create_all_collection(HTMLDOMNode *, BOOL) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:654
nsIWebBrowserChrome nsIWebBrowserChrome_iface
HTMLOuterWindow * get_target_window(HTMLOuterWindow *, nsAString *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlanchor.c:45
ConnectionPoint * cps
HRESULT HTMLDocument_Create(IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmldoc.c:4821
void detach_selection(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: selection.c:347
HRESULT HTMLStyleElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
void release_nsio(void) DECLSPEC_HIDDEN
Definition: nsio.c:4085
UINT get_document_charset(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: htmldoc.c:96
static HRESULT return_nsstr_variant(nsresult nsres, nsAString *nsstr, VARIANT *p)
void init_dispex(DispatchEx *, IUnknown *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: dispex.c:1737
#define inline
Definition: module.h:38
IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface
void release_typelib(void) DECLSPEC_HIDDEN
Definition: apps.c:155
WCHAR * filter
void ConnectionPointContainer_Destroy(ConnectionPointContainer *) DECLSPEC_HIDDEN
Definition: events.c:442
HRESULT nscolor_to_str(LPCWSTR color, BSTR *ret) DECLSPEC_HIDDEN
Definition: htmlbody.c:111
IDispatchEx IDispatchEx_iface
void remove_target_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:107
void HTMLDocument_Window_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: olewnd.c:265
static WCHAR ** task_list
Definition: taskkill.c:34
HRESULT HTMLLabelElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1526
void register_nsservice(nsIComponentRegistrar *, nsIServiceManager *) DECLSPEC_HIDDEN
Definition: nsservice.c:372
HRESULT HTMLDOMTextNode_Create(HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmltextnode.c:352
HTMLInnerWindow * inner_window
tid_t
nsISupports * DECLSPEC_HIDDEN
IOleControl IOleControl_iface
HRESULT elem_string_attr_getter(HTMLElement *, const WCHAR *, BOOL, BSTR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:162
void HTMLDocument_Service_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: service.c:409
IHTMLFrameBase2 IHTMLFrameBase2_iface
HRESULT HTMLGenericElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlgeneric.c:162
IDispatchEx IDispatchEx_iface
HRESULT HTMLLinkElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmllink.c:437
IHTMLDocument6 IHTMLDocument6_iface
void update_title(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:70
static void bind_event(EventTarget *event_target, eventid_t eid)
Definition: htmlevent.c:1357
HDC get_display_dc(void) DECLSPEC_HIDDEN
Definition: main.c:166
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
IUnknown * webbrowser
HRESULT HTMLSelectionObject_Create(HTMLDocumentNode *, nsISelection *, IHTMLSelectionObject **) DECLSPEC_HIDDEN
Definition: selection.c:325
void call_property_onchanged(ConnectionPointContainer *, DISPID) DECLSPEC_HIDDEN
Definition: conpoint.c:342
UINT cp_from_charset_string(BSTR) DECLSPEC_HIDDEN
Definition: main.c:38
IOleCommandTarget * client_cmdtrg
HRESULT HTMLLocation_Create(HTMLInnerWindow *, HTMLLocation **) DECLSPEC_HIDDEN
Definition: htmllocation.c:622
IHlinkTarget IHlinkTarget_iface
HRESULT nsnode_to_nsstring(nsIDOMNode *, nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:1000
GLsizeiptr size
Definition: glext.h:5919
static DISPID get_dispid(IDispatch *disp, const char *name)
Definition: automation.c:522
HTMLInnerWindow * window
#define GetProcessHeap()
Definition: compat.h:395
IOleAdviseHolder * advise_holder
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HRESULT start_binding(HTMLInnerWindow *, BSCallback *, IBindCtx *) DECLSPEC_HIDDEN
Definition: navigate.c:762
HRESULT create_storage(IHTMLStorage **) DECLSPEC_HIDDEN
Definition: htmlstorage.c:188
HTMLXMLHttpRequestFactory * xhr_factory
HRESULT HTMLCommentElement_Create(HTMLDocumentNode *, nsIDOMNode *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlcomment.c:179
static WCHAR * heap_strdupAtoW(const char *str)
__wchar_t WCHAR
Definition: xmlstorage.h:180
dispex_static_data_t * data
void release_document_mutation(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: mutation.c:743
nsITooltipListener nsITooltipListener_iface
DWORD sinks_size
Definition: events.c:39
struct list entry
LONG HRESULT
Definition: typedefs.h:77
IHTMLDocument5 IHTMLDocument5_iface
static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, VARTYPE vtResult)
Definition: automation.c:864
HRESULT remove_attribute(DispatchEx *, DISPID, VARIANT_BOOL *) DECLSPEC_HIDDEN
Definition: dispex.c:1249
HTMLDocument basedoc
BOOL variant_to_nscolor(const VARIANT *v, nsAString *nsstr) DECLSPEC_HIDDEN
Definition: htmlbody.c:142
void init_document_mutation(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: mutation.c:726
const cpc_entry_t * cpc_entries
void HTMLDOMNode_Init(HTMLDocumentNode *, HTMLDOMNode *, nsIDOMNode *) DECLSPEC_HIDDEN
Definition: htmlnode.c:1196
HRESULT HTMLBodyElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlbody.c:869
struct _cp_static_data_t cp_static_data_t
static WCHAR * heap_strdupUtoW(const char *str)
IServiceProvider IServiceProvider_iface
IHTMLDocument4 IHTMLDocument4_iface
unsigned short WORD
Definition: ntddk_ex.h:93
nsIEmbeddingSiteWindow nsIEmbeddingSiteWindow_iface
HRESULT get_doc_elem_by_id(HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmldoc.c:23
unsigned long DWORD
Definition: ntddk_ex.h:95
ISupportErrorInfo ISupportErrorInfo_iface
HRESULT HTMLMetaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlmeta.c:244
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
IHTMLElement3 IHTMLElement3_iface
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
nsCycleCollectingAutoRefCnt ccref
HRESULT editor_exec_cut(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:881
ConnectionPointContainer cp_container
void ConnectionPointContainer_Init(ConnectionPointContainer *, IUnknown *, const cpc_entry_t *) DECLSPEC_HIDDEN
Definition: conpoint.c:421
void show_tooltip(HTMLDocumentObj *, DWORD, DWORD, LPCWSTR) DECLSPEC_HIDDEN
Definition: view.c:368
READYSTATE readystate
HRESULT HTMLImageElementFactory_Create(HTMLInnerWindow *, HTMLImageElementFactory **) DECLSPEC_HIDDEN
Definition: htmlimg.c:972
HTMLDocumentObj * doc
IHTMLFrameBase IHTMLFrameBase_iface
void(* on_advise)(IUnknown *, struct _cp_static_data_t *)
IHTMLWindow3 IHTMLWindow3_iface
HRESULT HTMLScreen_Create(IHTMLScreen **) DECLSPEC_HIDDEN
Definition: htmlscreen.c:234
int ret
nsIURIContentListener nsIURIContentListener_iface
IOleInPlaceFrame * frame
HRESULT get_elem_source_index(HTMLElement *, LONG *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:740
HRESULT editor_is_dirty(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:1209
IHTMLScreen * screen
#define InterlockedDecrement
Definition: armddk.h:52
void notif_focus(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:130
nsIDOMWindow * nswindow
IHTMLStyleSheet * HTMLStyleSheet_Create(nsIDOMStyleSheet *) DECLSPEC_HIDDEN
IOleUndoManager * undomgr
#define V_VT(A)
Definition: oleauto.h:211
HRESULT editor_exec_paste(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:892
HTMLDOMNode node
uint32_t entry
Definition: isohybrid.c:63
void abort_window_bindings(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1775
nsIEditor * editor
HRESULT get_elem(HTMLDocumentNode *, nsIDOMElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4078
void HTMLDocumentNode_SecMgr_Init(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: secmgr.c:230
HRESULT get_node(HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmlnode.c:1339
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum GLsizei len
Definition: glext.h:6722
HRESULT get_node_text(HTMLDOMNode *, BSTR *) DECLSPEC_HIDDEN
Definition: txtrange.c:515
Definition: _list.h:228
void(__cdecl *ccref_init)(nsCycleCollectingAutoRefCnt *
IWindowForBindingUI IWindowForBindingUI_iface
ICatInformation * catmgr
HTMLElement element
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: nsembed.c:831
task_proc_t destr
nsICommandParams * create_nscommand_params(void) DECLSPEC_HIDDEN
Definition: nsembed.c:865
IInternetSecurityManager * secmgr
const tid_t *const iface_tids
void nsACString_InitDepend(nsACString *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:797
void init_nsio(nsIComponentManager *, nsIComponentRegistrar *) DECLSPEC_HIDDEN
Definition: nsio.c:4048
nsIURIContentListener * content_listener
static ULONG htmldoc_release(HTMLDocument *This)
LONG get_task_target_magic(void) DECLSPEC_HIDDEN
Definition: task.c:139
#define V_BSTR(A)
Definition: oleauto.h:226
EventTarget event_target
HTMLLocation * location
ConnectionPointContainer * container
HRESULT HTMLButtonElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1843
IUnknown * unk_impl
HTMLStyle * runtime_style
IHTMLEventObj * event
IOmNavigator * OmNavigator_Create(void) DECLSPEC_HIDDEN
Definition: omnavigator.c:1079
void do_ns_command(HTMLDocument *, const char *, nsICommandParams *) DECLSPEC_HIDDEN
Definition: olecmd.c:24
struct ConnectionPointContainer * forward_container
IHTMLDocument7 IHTMLDocument7_iface
HTMLDocumentObj * doc
dispex_dynamic_data_t * dynamic_data
IHTMLElement IHTMLElement_iface
global_prop_type_t
struct stdole::EXCEPINFO EXCEPINFO
void get_editor_controller(NSContainer *) DECLSPEC_HIDDEN
Definition: nsembed.c:1029
HRESULT dispex_get_dynid(DispatchEx *, const WCHAR *, DISPID *) DECLSPEC_HIDDEN
Definition: dispex.c:568
static VARIANTARG static DISPID
Definition: ordinal.c:49
IAdviseSink * view_sink
HINSTANCE hInst
Definition: dxdiag.c:13
IHTMLDOMAttribute IHTMLDOMAttribute_iface
HINSTANCE get_shdoclc(void) DECLSPEC_HIDDEN
Definition: main.c:155
#define InterlockedIncrement
Definition: armddk.h:53
const GLdouble * v
Definition: gl.h:2040
HRESULT HTMLDOMAttribute_Create(const WCHAR *, HTMLElement *, DISPID, HTMLDOMAttribute **) DECLSPEC_HIDDEN
Definition: htmlattr.c:473
HRESULT async_start_doc_binding(HTMLOuterWindow *, HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1758
HRESULT create_history(HTMLInnerWindow *, OmHistory **) DECLSPEC_HIDDEN
Definition: omnavigator.c:334
const char * debugstr_mshtml_guid(const GUID *) DECLSPEC_HIDDEN
Definition: main.c:535
nsresult get_nsinterface(nsISupports *, REFIID, void **) DECLSPEC_HIDDEN
Definition: nsembed.c:907
HRESULT update_window_doc(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3033
IObjectSafety IObjectSafety_iface
dispex_data_t * data
cp_static_data_t * desc
HTMLDocumentObj * doc_obj
IDocObjectService * doc_object_service
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *, HTMLAttributeCollection **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4827
void handle_edit_event(HTMLDocument *, nsIDOMEvent *) DECLSPEC_HIDDEN
Definition: editor.c:384
struct nsCycleCollectionTraversalCallback nsCycleCollectionTraversalCallback
void flush_pending_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:88
nsChannelBSC * bscallback
cp_static_data_t HTMLElementEvents2_data
Definition: htmlelem.c:3845
HTMLElement element
char * get_nscategory_entry(const char *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:898
OmHistory * history
IHTMLWindow6 IHTMLWindow6_iface
#define HeapReAlloc
Definition: compat.h:393
nsIWritableVariant * create_nsvariant(void) DECLSPEC_HIDDEN
Definition: nsembed.c:882
HTMLOuterWindow * outer_window
const IID * iid
IHTMLDOMNode IHTMLDOMNode_iface
HRESULT search_window_props(HTMLInnerWindow *, BSTR, DWORD, DISPID *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:2513
windowref_t * window_ref
static ULONG htmldoc_addref(HTMLDocument *This)
static HRESULT htmldoc_query_interface(HTMLDocument *This, REFIID riid, void **ppv)
nsIBaseWindow * window
void nsACString_Finish(nsACString *) DECLSPEC_HIDDEN
Definition: nsembed.c:812
nsIDOMHTMLFrameElement * nsframe
IHTMLOptionElementFactory IHTMLOptionElementFactory_iface
void HTMLDocument_OleCmd_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: olecmd.c:950
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
DWORD mshtml_tls
Definition: main.c:31
void set_ready_state(HTMLOuterWindow *, READYSTATE) DECLSPEC_HIDDEN
Definition: persist.c:450
void HTMLDocument_View_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: view.c:875
HTMLDocumentNode * doc
event_target_t * body_event_target
unsigned int UINT
Definition: ndis.h:50
HTMLDOMNode node
#define HEAP_ZERO_MEMORY
Definition: compat.h:123
void init_node_cc(void) DECLSPEC_HIDDEN
Definition: htmlnode.c:1328
nsresult get_elem_attr_value(nsIDOMHTMLElement *, const WCHAR *, nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: htmlelem.c:143
IHTMLDocument2 IHTMLDocument2_iface
HTMLElement * unsafe_impl_from_IHTMLElement(IHTMLElement *) DECLSPEC_HIDDEN
Definition: htmlelem.c:1962
void call_docview_84(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: oleobj.c:173
IHTMLWindow4 IHTMLWindow4_iface
HTMLInnerWindow * window
IDocHostUIHandler * hostui
HRESULT HTMLImgElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlimg.c:726
ScriptHost * script_host
#define MultiByteToWideChar
Definition: compat.h:100
IObjectWithSite IObjectWithSite_iface
HRESULT HTMLElement_Create(HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4032
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
IPersistHistory IPersistHistory_iface
HRESULT HTMLScriptElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlscript.c:458
void NSContainer_Release(NSContainer *) DECLSPEC_HIDDEN
Definition: nsembed.c:2107
SCRIPTMODE
HRESULT HTMLFormElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlform.c:785
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
Definition: mem.c:156
IHTMLAttributeCollection IHTMLAttributeCollection_iface
IPersistMoniker IPersistMoniker_iface
struct stdole::DISPPARAMS DISPPARAMS
IHTMLWindow2 IHTMLWindow2_iface
HRESULT push_task(task_t *, task_proc_t, task_proc_t, LONG) DECLSPEC_HIDDEN
Definition: task.c:39
void HTMLElement_Init(HTMLElement *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: htmlelem.c:4008
static void * __WINE_ALLOC_SIZE(1) heap_alloc(size_t len)
HRESULT setup_edit_mode(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: editor.c:1221
HRESULT get_elem_attr_value_by_dispid(HTMLElement *, DISPID, DWORD, VARIANT *) DECLSPEC_HIDDEN
Definition: htmlelem.c:621
HRESULT nsresult
Definition: nsiface.idl:39
WCHAR PRUnichar
Definition: nsiface.idl:48
unsigned int ULONG
Definition: retypes.h:1
#define const
Definition: zconf.h:230
IUnknown * outer
HRESULT HTMLElement_QI(HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmlelem.c:3738
void init_mutation(nsIComponentManager *) DECLSPEC_HIDDEN
Definition: mutation.c:774
unsigned elem_vars_size
nsIInterfaceRequestor nsIInterfaceRequestor_iface
HRESULT editor_exec_copy(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:870
HRESULT set_frame_doc(HTMLFrameBase *, nsIDOMDocument *) DECLSPEC_HIDDEN
Definition: htmlframebase.c:26
static char * heap_strdupA(const char *str)
HRESULT HTMLAnchorElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlanchor.c:798
const cpc_entry_t * cp_entries
HTMLInnerWindow * window
HRESULT HTMLInputElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1332
void get_top_window(HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:59
IOleInPlaceActiveObject IOleInPlaceActiveObject_iface
HRESULT HTMLHeadElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlhead.c:323
thread_data_t * get_thread_data(BOOL) DECLSPEC_HIDDEN
Definition: task.c:352
IOleObject IOleObject_iface
HRESULT call_set_active_object(IOleInPlaceUIWindow *, IOleInPlaceActiveObject *) DECLSPEC_HIDDEN
Definition: view.c:398
HRESULT create_pending_window(HTMLOuterWindow *, nsChannelBSC *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3009
IHTMLEditServices * editsvcs
const NodeImplVtbl * vtbl
IHTMLElementCollection * create_collection_from_htmlcol(HTMLDocumentNode *, nsIDOMHTMLCollection *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:705
IProvideClassInfo IProvideClassInfo_iface
GLfloat GLfloat p
Definition: glext.h:8902
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LONG target_magic
IHTMLDocument3 IHTMLDocument3_iface
unsigned readystate_pending
static char * heap_strndupWtoU(LPCWSTR str, unsigned len)
void HTMLTextContainer_Init(HTMLTextContainer *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: htmltextcont.c:172
DispatchEx dispex
DispatchEx dispex
void show_context_menu(HTMLDocumentObj *, DWORD, POINT *, IDispatch *) DECLSPEC_HIDDEN
Definition: olecmd.c:929
void HTMLDOMNode_destructor(HTMLDOMNode *) DECLSPEC_HIDDEN
Definition: htmlnode.c:1172
void HTMLDocument_OleObj_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: oleobj.c:1199
DOCHOSTUIINFO hostinfo
void nsACString_SetData(nsACString *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:802
IHTMLAttributeCollection3 IHTMLAttributeCollection3_iface
DispatchEx dispex
IHTMLPrivateWindow IHTMLPrivateWindow_iface
HRESULT clear_task_timer(HTMLInnerWindow *, BOOL, DWORD) DECLSPEC_HIDDEN
Definition: task.c:201
#define HeapFree(x, y, z)
Definition: compat.h:394
IHTMLImageElementFactory IHTMLImageElementFactory_iface
HRESULT HTMLAreaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlarea.c:443
HTMLStyle * style
HRESULT wrap_iface(IUnknown *, IUnknown *, IUnknown **) DECLSPEC_HIDDEN
Definition: ifacewrap.c:310
HRESULT get_readystate_string(READYSTATE, BSTR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:205
struct ConnectionPointContainer ConnectionPointContainer
HRESULT HTMLOptionElementFactory_Create(HTMLInnerWindow *, HTMLOptionElementFactory **) DECLSPEC_HIDDEN
Definition: htmloption.c:618
IHTMLElementCollection * create_collection_from_nodelist(HTMLDocumentNode *, nsIDOMNodeList *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:670
HRESULT create_dom_implementation(IHTMLDOMImplementation **) DECLSPEC_HIDDEN
Definition: omnavigator.c:168
HRESULT HTMLTableRow_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltablerow.c:444
struct list children
HRESULT dispex_get_dprop_ref(DispatchEx *, const WCHAR *, BOOL, VARIANT **) DECLSPEC_HIDDEN
Definition: dispex.c:555
const cmdtable_t editmode_cmds[]
Definition: editor.c:1179
HRESULT create_nscontainer(HTMLDocumentObj *, NSContainer **) DECLSPEC_HIDDEN
Definition: nsembed.c:2076
HRESULT HTMLFrameElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlframe.c:311
HRESULT HTMLTableCell_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
nsDocumentEventListener * nsevent_listener
ConnectionPointContainer cp_container
HTMLInnerWindow * window
void set_viewer_zoom(NSContainer *, float) DECLSPEC_HIDDEN
Definition: nsembed.c:1130
HTMLOuterWindow * nswindow_to_window(const nsIDOMWindow *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3099
nsIContextMenuListener nsIContextMenuListener_iface
Definition: dlist.c:348
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
HRESULT HTMLEmbedElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlembed.c:260
void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode *target, nsIDOMEvent *nsevent, IDispatch *script_this)
Definition: htmlevent.c:1195