ReactOS 0.4.15-dev-7918-g2a2556c
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
90typedef struct HTMLDOMNode HTMLDOMNode;
92typedef 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
237typedef enum {
238#define XIID(iface) iface ## _tid,
239#define XDIID(iface) iface ## _tid,
241#undef XIID
242#undef XDIID
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
253typedef struct DispatchEx DispatchEx;
254
255typedef struct {
256 HRESULT (*value)(DispatchEx*,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,IServiceProvider*);
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
265typedef struct {
269 const tid_t* const iface_tids;
271
274
276
279};
280
281typedef struct {
284
285typedef struct {
286 void *vtbl;
290
292
293typedef struct {
296 void (NSAPI *delete_cycle_collectable)(void*);
298
299DEFINE_GUID(IID_nsXPCOMCycleCollectionParticipant, 0x9674489b,0x1f6f,0x4550,0xa7,0x30, 0xcc,0xae,0xdd,0x10,0x4c,0xf9);
300
307
319
320typedef enum {
325
327
328typedef struct HTMLWindow HTMLWindow;
336
337typedef enum {
341
342typedef struct ScriptHost ScriptHost;
343
344typedef enum {
350
351typedef struct {
357
358typedef struct {
362
363typedef struct {
365 IHTMLOptionElementFactory IHTMLOptionElementFactory_iface;
366
368
371
372typedef struct {
374 IHTMLImageElementFactory IHTMLImageElementFactory_iface;
375
377
380
381typedef struct {
383 IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory_iface;
384
386
389
392 IHTMLLocation IHTMLLocation_iface;
393
395
397};
398
399typedef struct {
402
404
406} OmHistory;
407
408typedef struct {
412
414
417 IHTMLWindow3 IHTMLWindow3_iface;
418 IHTMLWindow4 IHTMLWindow4_iface;
419 IHTMLWindow5 IHTMLWindow5_iface;
420 IHTMLWindow6 IHTMLWindow6_iface;
426
428
431};
432
435
438
443
444 READYSTATE readystate;
447
454
456
458
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
495};
496
497typedef enum {
500 EDITMODE
502
503typedef struct _cp_static_data_t {
510
511typedef struct {
512 const IID *riid;
515
516typedef struct ConnectionPointContainer {
518
524
525struct ConnectionPoint {
527
529
530 union {
536
537 const IID *iid;
539};
540
542 IHTMLDocument2 IHTMLDocument2_iface;
543 IHTMLDocument3 IHTMLDocument3_iface;
544 IHTMLDocument4 IHTMLDocument4_iface;
545 IHTMLDocument5 IHTMLDocument5_iface;
546 IHTMLDocument6 IHTMLDocument6_iface;
547 IHTMLDocument7 IHTMLDocument7_iface;
569
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
658
663
666
668
670
673
675
677};
678
679typedef struct {
680 HRESULT (*qi)(HTMLDOMNode*,REFIID,void**);
681 void (*destructor)(HTMLDOMNode*);
686 event_target_t **(*get_event_target_ptr)(HTMLDOMNode*);
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*);
699
702 IHTMLDOMNode IHTMLDOMNode_iface;
703 IHTMLDOMNode2 IHTMLDOMNode2_iface;
705
707
711};
712
713static inline void node_addref(HTMLDOMNode *node)
714{
715 IHTMLDOMNode_AddRef(&node->IHTMLDOMNode_iface);
716}
717
718static inline void node_release(HTMLDOMNode *node)
719{
720 IHTMLDOMNode_Release(&node->IHTMLDOMNode_iface);
721}
722
723typedef struct {
726
727 IHTMLElement IHTMLElement_iface;
728 IHTMLElement2 IHTMLElement2_iface;
729 IHTMLElement3 IHTMLElement3_iface;
730 IHTMLElement4 IHTMLElement4_iface;
731
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
751typedef 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
796
798
800
804};
805
809
818IOmNavigator *OmNavigator_Create(void) DECLSPEC_HIDDEN;
821HRESULT create_dom_implementation(IHTMLDOMImplementation**) DECLSPEC_HIDDEN;
822
824
832
835
837
839
842
845
850
854
858
860
862
870
872
874
876
879
881void 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
909char *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
952typedef 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
1026IHTMLElementCollection *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 */
1042typedef 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
1075typedef struct task_t task_t;
1077
1078struct task_t {
1082 struct list entry;
1083};
1084
1085typedef struct {
1089
1090typedef struct {
1095
1098
1103
1106
1107const char *debugstr_mshtml_guid(const GUID*) DECLSPEC_HIDDEN;
1108
1109DEFINE_GUID(CLSID_AboutProtocol, 0x3050F406, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1110DEFINE_GUID(CLSID_JSProtocol, 0x3050F3B2, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1111DEFINE_GUID(CLSID_MailtoProtocol, 0x3050F3DA, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1112DEFINE_GUID(CLSID_ResProtocol, 0x3050F3BC, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
1113DEFINE_GUID(CLSID_SysimageProtocol, 0x76E67A63, 0x06E9, 0x11D2, 0xA8,0x40, 0x00,0x60,0x08,0x05,0x93,0x82);
1114
1115DEFINE_GUID(CLSID_CMarkup,0x3050f4fb,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
1116
1117DEFINE_OLEGUID(CGID_DocHostCmdPriv, 0x000214D4L, 0, 0);
1118
1119DEFINE_GUID(CLSID_JScript, 0xf414c260,0x6ac0,0x11cf, 0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58);
1120DEFINE_GUID(CLSID_VBScript, 0xb54f3741,0x5b07,0x11cf, 0xa4,0xb0,0x00,0xaa,0x00,0x4a,0x55,0xe8);
1121
1122DEFINE_GUID(IID_UndocumentedScriptIface,0x719c3050,0xf9d3,0x11cf,0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa0);
1123DEFINE_GUID(IID_IDispatchJS,0x719c3050,0xf9d3,0x11cf,0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa6);
1124
1125/* memory allocation functions */
1126
1127static inline void * __WINE_ALLOC_SIZE(1) heap_alloc(size_t len)
1128{
1129 return HeapAlloc(GetProcessHeap(), 0, len);
1130}
1131
1132static inline void * __WINE_ALLOC_SIZE(1) heap_alloc_zero(size_t len)
1133{
1135}
1136
1137static inline void * __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t len)
1138{
1139 return HeapReAlloc(GetProcessHeap(), 0, mem, len);
1140}
1141
1142static inline void * __WINE_ALLOC_SIZE(2) heap_realloc_zero(void *mem, size_t len)
1143{
1145}
1146
1147static 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
1168static 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
1184static 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
1200static 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)
1211 }
1212
1213 return ret;
1214}
1215
1216static inline char *heap_strdupWtoA(LPCWSTR str)
1217{
1218 char *ret = NULL;
1219
1220 if(str) {
1222 ret = heap_alloc(size);
1223 if(ret)
1225 }
1226
1227 return ret;
1228}
1229
1230static 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)
1241 }
1242
1243 return ret;
1244}
1245
1246static 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
1260static 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
1278{
1280}
1281
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_ */
unsigned int UINT32
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define __cdecl
Definition: accygwin.h:79
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static void * heap_realloc(void *mem, size_t len)
Definition: appwiz.h:71
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
Definition: list.h:37
const CLSID CLSID_VBScript
#define NULL
Definition: types.h:112
#define GetProcessHeap()
Definition: compat.h:736
#define CP_ACP
Definition: compat.h:109
#define HeapAlloc
Definition: compat.h:733
#define HeapReAlloc
Definition: compat.h:734
OLECHAR * BSTR
Definition: compat.h:2293
#define HeapFree(x, y, z)
Definition: compat.h:735
#define WideCharToMultiByte
Definition: compat.h:111
short VARIANT_BOOL
Definition: compat.h:2290
#define MultiByteToWideChar
Definition: compat.h:110
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
@ VT_BSTR
Definition: compat.h:2303
const cmdtable_t editmode_cmds[]
Definition: editor.c:1179
DWORD mshtml_tls
Definition: main.c:31
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
HINSTANCE hInst
Definition: dxdiag.c:13
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
const GLdouble * v
Definition: gl.h:2040
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
GLuint color
Definition: glext.h:6243
GLfloat GLfloat p
Definition: glext.h:8902
GLenum GLsizei len
Definition: glext.h:6722
cp_static_data_t HTMLElementEvents2_data
Definition: htmlelem.c:3845
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode *target, nsIDOMEvent *nsevent, IDispatch *script_this)
Definition: htmlevent.c:1195
static void bind_event(EventTarget *event_target, eventid_t eid)
Definition: htmlevent.c:1357
tid_t
Definition: ieframe.h:311
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
uint32_t entry
Definition: isohybrid.c:63
#define unlink
Definition: syshdrs.h:54
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static HDC
Definition: imagelist.c:92
static const CLSID CLSID_JScript
Definition: activex.c:57
static HRESULT invoke(IDispatch *pDispatch, LPCSTR szName, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, VARTYPE vtResult)
Definition: automation.c:840
static DISPID get_dispid(IDispatch *disp, const char *name)
Definition: automation.c:501
static HGLOBAL create_storage(void)
Definition: clipboard.c:1289
static VARIANTARG static DISPID
Definition: ordinal.c:52
CLSID CLSID_AboutProtocol
interface IHTMLWindow2 IHTMLWindow2
Definition: mshtmhst.idl:64
UINT get_document_charset(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: htmldoc.c:96
void NSContainer_Release(NSContainer *) DECLSPEC_HIDDEN
Definition: nsembed.c:2107
HRESULT get_node(HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmlnode.c:1339
void init_dispex(DispatchEx *, IUnknown *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: dispex.c:1737
HRESULT HTMLCurrentStyle_Create(HTMLElement *, IHTMLCurrentStyle **) DECLSPEC_HIDDEN
HRESULT clear_task_timer(HTMLInnerWindow *, BOOL, DWORD) DECLSPEC_HIDDEN
Definition: task.c:201
HRESULT HTMLFormElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlform.c:785
void(* task_proc_t)(task_t *)
HRESULT HTMLButtonElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1843
BOOL dispex_query_interface(DispatchEx *, REFIID, void **) DECLSPEC_HIDDEN
Definition: dispex.c:1656
HRESULT update_window_doc(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3033
void release_dispex(DispatchEx *) DECLSPEC_HIDDEN
Definition: dispex.c:1706
HRESULT HTMLOuterWindow_Create(HTMLDocumentObj *, nsIDOMWindow *, HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:2945
void nsfree(void *) DECLSPEC_HIDDEN
Definition: nsembed.c:783
void register_nsservice(nsIComponentRegistrar *, nsIServiceManager *) DECLSPEC_HIDDEN
Definition: nsservice.c:372
void HTMLDocument_View_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: view.c:875
static char * heap_strdupA(const char *str)
HRESULT get_client_disp_property(IOleClientSite *, DISPID, VARIANT *) DECLSPEC_HIDDEN
Definition: oleobj.c:811
static HRESULT return_nsstr_variant(nsresult nsres, nsAString *nsstr, VARIANT *p)
HRESULT HTMLStyleElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
HRESULT nsnode_to_nsstring(nsIDOMNode *, nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:1000
HRESULT HTMLTxtRange_Create(HTMLDocumentNode *, nsIDOMRange *, IHTMLTxtRange **) DECLSPEC_HIDDEN
Definition: txtrange.c:1722
HRESULT create_nselem(HTMLDocumentNode *, const WCHAR *, nsIDOMHTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:246
static WCHAR * heap_strdupAtoW(const char *str)
HRESULT editor_exec_cut(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:881
HRESULT HTMLElement_clone(HTMLDOMNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmlelem.c:3793
HRESULT HTMLLinkElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmllink.c:437
void HTMLDocument_OleCmd_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: olecmd.c:957
HTMLOuterWindow * nswindow_to_window(const nsIDOMWindow *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3099
HRESULT HTMLScriptElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlscript.c:458
void TargetContainer_Init(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: oleobj.c:1121
HRESULT HTMLOptionElementFactory_Create(HTMLInnerWindow *, HTMLOptionElementFactory **) DECLSPEC_HIDDEN
Definition: htmloption.c:618
void * nsalloc(size_t) __WINE_ALLOC_SIZE(1) DECLSPEC_HIDDEN
Definition: nsembed.c:778
HRESULT HTMLScreen_Create(IHTMLScreen **) DECLSPEC_HIDDEN
Definition: htmlscreen.c:234
HRESULT HTMLDocument_Create(IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmldoc.c:4821
JSContext * get_context_from_document(nsIDOMHTMLDocument *) DECLSPEC_HIDDEN
Definition: mutation.c:758
void HTMLDocument_Window_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: olewnd.c:265
BOOL nsACString_Init(nsACString *str, const char *data) DECLSPEC_HIDDEN
Definition: nsembed.c:788
void HTMLDOMNode_Init(HTMLDocumentNode *, HTMLDOMNode *, nsIDOMNode *) DECLSPEC_HIDDEN
Definition: htmlnode.c:1196
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
HRESULT search_window_props(HTMLInnerWindow *, BSTR, DWORD, DISPID *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:2513
UINT32 nsAString_GetData(const nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: nsembed.c:831
void detach_selection(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: selection.c:347
HRESULT HTMLDOMNode_QI(HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmlnode.c:1142
nsISupports * DECLSPEC_HIDDEN
HWND get_thread_hwnd(void) DECLSPEC_HIDDEN
Definition: task.c:338
HRESULT get_readystate_string(READYSTATE, BSTR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:205
tid_t
@ LAST_tid
void init_binding_ui(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:935
HRESULT get_dispids(tid_t, DWORD *, DISPID **) DECLSPEC_HIDDEN
Definition: dispex.c:389
HRESULT HTMLImageElementFactory_Create(HTMLInnerWindow *, HTMLImageElementFactory **) DECLSPEC_HIDDEN
Definition: htmlimg.c:972
void abort_window_bindings(HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1775
HRESULT HTMLAreaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlarea.c:443
HRESULT async_start_doc_binding(HTMLOuterWindow *, HTMLInnerWindow *) DECLSPEC_HIDDEN
Definition: navigate.c:1758
void init_document_mutation(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: mutation.c:726
BOOL is_gecko_path(const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:1108
static void node_addref(HTMLDOMNode *node)
HRESULT HTMLElement_handle_event(HTMLDOMNode *, DWORD, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlelem.c:3815
HRESULT set_frame_doc(HTMLFrameBase *, nsIDOMDocument *) DECLSPEC_HIDDEN
Definition: htmlframebase.c:26
HRESULT HTMLElement_QI(HTMLDOMNode *, REFIID, void **) DECLSPEC_HIDDEN
Definition: htmlelem.c:3738
void init_nsio(nsIComponentManager *, nsIComponentRegistrar *) DECLSPEC_HIDDEN
Definition: nsio.c:4048
void handle_edit_load(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:482
static char * heap_strdupWtoA(LPCWSTR str)
void dispex_traverse(DispatchEx *, nsCycleCollectionTraversalCallback *) DECLSPEC_HIDDEN
Definition: dispex.c:1674
HTMLOuterWindow * get_target_window(HTMLOuterWindow *, nsAString *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlanchor.c:45
HRESULT get_elem_attr_value_by_dispid(HTMLElement *, DISPID, DWORD, VARIANT *) DECLSPEC_HIDDEN
Definition: htmlelem.c:621
IHTMLElementCollection * create_all_collection(HTMLDOMNode *, BOOL) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:654
void init_node_cc(void) DECLSPEC_HIDDEN
Definition: htmlnode.c:1328
void set_statustext(HTMLDocumentObj *, INT, LPCWSTR) DECLSPEC_HIDDEN
Definition: main.c:111
HRESULT dispex_get_dynid(DispatchEx *, const WCHAR *, DISPID *) DECLSPEC_HIDDEN
Definition: dispex.c:568
HRESULT do_query_service(IUnknown *, REFGUID, REFIID, void **) DECLSPEC_HIDDEN
Definition: main.c:148
IHTMLElementCollection * create_collection_from_nodelist(HTMLDocumentNode *, nsIDOMNodeList *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:670
void HTMLFrameBase_destructor(HTMLFrameBase *) DECLSPEC_HIDDEN
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *, HTMLAttributeCollection **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4827
HRESULT editor_exec_copy(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:870
char * get_nscategory_entry(const char *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:898
HRESULT HTMLInputElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1332
static LPWSTR heap_strdupW(LPCWSTR str)
IHTMLStyleSheet * HTMLStyleSheet_Create(nsIDOMStyleSheet *) DECLSPEC_HIDDEN
void set_document_navigation(HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
Definition: oleobj.c:193
static void size_t len
static HRESULT htmldoc_query_interface(HTMLDocument *This, REFIID riid, void **ppv)
nsresult get_elem_attr_value(nsIDOMHTMLElement *, const WCHAR *, nsAString *, const PRUnichar **) DECLSPEC_HIDDEN
Definition: htmlelem.c:143
HRESULT create_dom_implementation(IHTMLDOMImplementation **) DECLSPEC_HIDDEN
Definition: omnavigator.c:168
struct _cp_static_data_t cp_static_data_t
nsICommandParams * create_nscommand_params(void) DECLSPEC_HIDDEN
Definition: nsembed.c:865
BOOL variant_to_nscolor(const VARIANT *v, nsAString *nsstr) DECLSPEC_HIDDEN
Definition: htmlbody.c:142
nsresult create_nsfile(const PRUnichar *, nsIFile **) DECLSPEC_HIDDEN
Definition: nsembed.c:72
HRESULT create_pending_window(HTMLOuterWindow *, nsChannelBSC *) DECLSPEC_HIDDEN
Definition: htmlwindow.c:3009
void nsAString_InitDepend(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:826
void close_gecko(void) DECLSPEC_HIDDEN
Definition: nsembed.c:1076
#define TID_LIST
HRESULT HTMLMetaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlmeta.c:244
thread_data_t * get_thread_data(BOOL) DECLSPEC_HIDDEN
Definition: task.c:352
HRESULT HTMLLabelElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlinput.c:1526
void HTMLTextContainer_Init(HTMLTextContainer *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: htmltextcont.c:172
HRESULT HTMLTable_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltable.c:1065
HRESULT HTMLTableRow_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltablerow.c:444
static BOOL heap_free(void *mem)
dispex_prop_type_t get_dispid_type(DISPID) DECLSPEC_HIDDEN
Definition: dispex.c:464
HRESULT HTMLGenericElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlgeneric.c:162
HRESULT HTMLDOMAttribute_Create(const WCHAR *, HTMLElement *, DISPID, HTMLDOMAttribute **) DECLSPEC_HIDDEN
Definition: htmlattr.c:473
#define NSAPI
static char * heap_strndupWtoU(LPCWSTR str, unsigned len)
HRESULT get_node_text(HTMLDOMNode *, BSTR *) DECLSPEC_HIDDEN
Definition: txtrange.c:515
HRESULT HTMLTitleElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlhead.c:163
void hide_tooltip(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:386
HRESULT nsuri_to_url(LPCWSTR, BOOL, BSTR *) DECLSPEC_HIDDEN
Definition: nsio.c:175
HRESULT HTMLAnchorElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlanchor.c:798
HRESULT create_nscontainer(HTMLDocumentObj *, NSContainer **) DECLSPEC_HIDDEN
Definition: nsembed.c:2076
void HTMLDocument_Service_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: service.c:409
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
void handle_edit_event(HTMLDocument *, nsIDOMEvent *) DECLSPEC_HIDDEN
Definition: editor.c:384
HRESULT HTMLSelectionObject_Create(HTMLDocumentNode *, nsISelection *, IHTMLSelectionObject **) DECLSPEC_HIDDEN
Definition: selection.c:325
void nsACString_Finish(nsACString *) DECLSPEC_HIDDEN
Definition: nsembed.c:812
HRESULT HTMLTableCell_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
HRESULT start_binding(HTMLInnerWindow *, BSCallback *, IBindCtx *) DECLSPEC_HIDDEN
Definition: navigate.c:762
IOmNavigator * OmNavigator_Create(void) DECLSPEC_HIDDEN
Definition: omnavigator.c:1079
HRESULT elem_string_attr_setter(HTMLElement *, const WCHAR *, const WCHAR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:186
void nsACString_InitDepend(nsACString *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:797
static void windowref_addref(windowref_t *ref)
HRESULT HTMLLocation_Create(HTMLInnerWindow *, HTMLLocation **) DECLSPEC_HIDDEN
Definition: htmllocation.c:622
void call_docview_84(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: oleobj.c:173
static void node_release(HTMLDOMNode *node)
void HTMLDocument_LockContainer(HTMLDocumentObj *, BOOL) DECLSPEC_HIDDEN
Definition: oleobj.c:1183
HRESULT HTMLTextAreaElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmltextarea.c:498
static WCHAR * heap_strdupUtoW(const char *str)
void show_tooltip(HTMLDocumentObj *, DWORD, DWORD, LPCWSTR) DECLSPEC_HIDDEN
Definition: view.c:368
HRESULT get_elem(HTMLDocumentNode *, nsIDOMElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4078
void call_property_onchanged(ConnectionPointContainer *, DISPID) DECLSPEC_HIDDEN
Definition: conpoint.c:342
static ULONG htmldoc_addref(HTMLDocument *This)
HTMLElement * unsafe_impl_from_IHTMLElement(IHTMLElement *) DECLSPEC_HIDDEN
Definition: htmlelem.c:1962
HRESULT get_frame_by_name(HTMLOuterWindow *, const WCHAR *, BOOL, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:343
SCRIPTMODE
@ SCRIPTMODE_ACTIVESCRIPT
@ SCRIPTMODE_GECKO
HRESULT HTMLElement_Create(HTMLDocumentNode *, nsIDOMNode *, BOOL, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:4032
HRESULT call_set_active_object(IOleInPlaceUIWindow *, IOleInPlaceActiveObject *) DECLSPEC_HIDDEN
Definition: view.c:398
void HTMLElement_destructor(HTMLDOMNode *) DECLSPEC_HIDDEN
Definition: htmlelem.c:3764
nsIXMLHttpRequest * create_nsxhr(nsIDOMWindow *nswindow) DECLSPEC_HIDDEN
Definition: nsembed.c:2156
USERMODE
@ BROWSEMODE
@ EDITMODE
@ UNKNOWN_USERMODE
void init_editor(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:1202
HRESULT HTMLXMLHttpRequestFactory_Create(HTMLInnerWindow *, HTMLXMLHttpRequestFactory **) DECLSPEC_HIDDEN
void HTMLDocumentNode_SecMgr_Init(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: secmgr.c:230
HRESULT create_element(HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlelem.c:275
void update_title(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:70
void get_editor_controller(NSContainer *) DECLSPEC_HIDDEN
Definition: nsembed.c:1029
LONG get_task_target_magic(void) DECLSPEC_HIDDEN
Definition: task.c:139
nsresult get_nsinterface(nsISupports *, REFIID, void **) DECLSPEC_HIDDEN
Definition: nsembed.c:907
HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument *, HTMLDocumentObj *, HTMLInnerWindow *, HTMLDocumentNode **) DECLSPEC_HIDDEN
Definition: htmldoc.c:4620
static void windowref_release(windowref_t *ref)
HRESULT HTMLCommentElement_Create(HTMLDocumentNode *, nsIDOMNode *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlcomment.c:179
dispex_prop_type_t
@ DISPEXPROP_CUSTOM
@ DISPEXPROP_DYNAMIC
@ DISPEXPROP_BUILTIN
HDC get_display_dc(void) DECLSPEC_HIDDEN
Definition: main.c:173
HRESULT HTMLImgElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlimg.c:726
void release_typelib(void) DECLSPEC_HIDDEN
Definition: apps.c:159
void flush_pending_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:88
HRESULT dispex_get_dprop_ref(DispatchEx *, const WCHAR *, BOOL, VARIANT **) DECLSPEC_HIDDEN
Definition: dispex.c:555
void notif_focus(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: view.c:130
void ConnectionPointContainer_Destroy(ConnectionPointContainer *) DECLSPEC_HIDDEN
Definition: events.c:442
void set_download_state(HTMLDocumentObj *, int) DECLSPEC_HIDDEN
Definition: persist.c:170
void HTMLDocument_Hlink_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: hlink.c:106
struct nsCycleCollectionTraversalCallback nsCycleCollectionTraversalCallback
static char * heap_strdupWtoU(const WCHAR *str)
void detach_ranges(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: txtrange.c:1747
void dispex_unlink(DispatchEx *) DECLSPEC_HIDDEN
Definition: dispex.c:1689
void get_top_window(HTMLOuterWindow *, HTMLOuterWindow **) DECLSPEC_HIDDEN
Definition: htmlwindow.c:59
void HTMLDocument_OleObj_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: oleobj.c:1199
HRESULT HTMLSelectElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlselect.c:709
HRESULT HTMLBodyElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlbody.c:869
IHTMLStyleSheetsCollection * HTMLStyleSheetsCollection_Create(nsIDOMStyleSheetList *) DECLSPEC_HIDDEN
HRESULT get_elem_source_index(HTMLElement *, LONG *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:740
HRESULT editor_is_dirty(HTMLDocument *) DECLSPEC_HIDDEN
Definition: editor.c:1209
static ULONG htmldoc_release(HTMLDocument *This)
void nsACString_SetData(nsACString *, const char *) DECLSPEC_HIDDEN
Definition: nsembed.c:802
HRESULT get_htmldoc_classinfo(ITypeInfo **typeinfo) DECLSPEC_HIDDEN
Definition: dispex.c:172
HRESULT HTMLFrameBase_QI(HTMLFrameBase *, REFIID, void **) DECLSPEC_HIDDEN
void set_viewer_zoom(NSContainer *, float) DECLSPEC_HIDDEN
Definition: nsembed.c:1130
HRESULT wrap_iface(IUnknown *, IUnknown *, IUnknown **) DECLSPEC_HIDDEN
Definition: ifacewrap.c:311
HRESULT HTMLFrameElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlframe.c:311
void do_ns_command(HTMLDocument *, const char *, nsICommandParams *) DECLSPEC_HIDDEN
Definition: olecmd.c:24
HRESULT setup_edit_mode(HTMLDocumentObj *) DECLSPEC_HIDDEN
Definition: editor.c:1221
void release_document_mutation(HTMLDocumentNode *) DECLSPEC_HIDDEN
Definition: mutation.c:743
void set_dirty(HTMLDocument *, VARIANT_BOOL) DECLSPEC_HIDDEN
Definition: editor.c:81
void HTMLElement_Init(HTMLElement *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
Definition: htmlelem.c:4008
void set_ready_state(HTMLOuterWindow *, READYSTATE) DECLSPEC_HIDDEN
Definition: persist.c:450
static LPWSTR heap_strndupW(LPCWSTR str, unsigned len)
HRESULT handle_link_click_event(HTMLElement *, nsAString *, nsAString *, nsIDOMEvent *, BOOL *) DECLSPEC_HIDDEN
Definition: htmlanchor.c:123
HRESULT remove_attribute(DispatchEx *, DISPID, VARIANT_BOOL *) DECLSPEC_HIDDEN
Definition: dispex.c:1249
void HTMLDocument_Persist_Init(HTMLDocument *) DECLSPEC_HIDDEN
Definition: persist.c:1089
void init_mutation(nsIComponentManager *) DECLSPEC_HIDDEN
Definition: mutation.c:774
HRESULT elem_string_attr_getter(HTMLElement *, const WCHAR *, BOOL, BSTR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:162
HRESULT create_history(HTMLInnerWindow *, OmHistory **) DECLSPEC_HIDDEN
Definition: omnavigator.c:334
HRESULT replace_node_by_html(nsIDOMHTMLDocument *, nsIDOMNode *, const WCHAR *) DECLSPEC_HIDDEN
Definition: htmlelem.c:98
HRESULT editor_exec_paste(HTMLDocument *, DWORD, VARIANT *, VARIANT *) DECLSPEC_HIDDEN
Definition: editor.c:892
HRESULT set_task_timer(HTMLInnerWindow *, DWORD, BOOL, IDispatch *, LONG *) DECLSPEC_HIDDEN
Definition: task.c:169
global_prop_type_t
@ GLOBAL_FRAMEVAR
@ GLOBAL_SCRIPTVAR
@ GLOBAL_DISPEXVAR
@ GLOBAL_ELEMENTVAR
HRESULT ProtocolFactory_Create(REFCLSID, REFIID, void **) DECLSPEC_HIDDEN
Definition: protocol.c:1038
HRESULT HTMLOptionElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmloption.c:437
void show_context_menu(HTMLDocumentObj *, DWORD, POINT *, IDispatch *) DECLSPEC_HIDDEN
Definition: olecmd.c:936
const char * debugstr_mshtml_guid(const GUID *) DECLSPEC_HIDDEN
Definition: main.c:542
HRESULT nscolor_to_str(LPCWSTR color, BSTR *ret) DECLSPEC_HIDDEN
Definition: htmlbody.c:111
BOOL load_gecko(void) DECLSPEC_HIDDEN
Definition: nsembed.c:742
HRESULT HTMLEmbedElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlembed.c:260
void release_nsio(void) DECLSPEC_HIDDEN
Definition: nsio.c:4085
HRESULT HTMLIFrame_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmliframe.c:586
HRESULT HTMLDOMTextNode_Create(HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **) DECLSPEC_HIDDEN
Definition: htmltextnode.c:352
void HTMLFrameBase_Init(HTMLFrameBase *, HTMLDocumentNode *, nsIDOMHTMLElement *, dispex_static_data_t *) DECLSPEC_HIDDEN
void HTMLDOMNode_destructor(HTMLDOMNode *) DECLSPEC_HIDDEN
Definition: htmlnode.c:1172
HRESULT push_task(task_t *, task_proc_t, task_proc_t, LONG) DECLSPEC_HIDDEN
Definition: task.c:39
IHTMLElementCollection * create_collection_from_htmlcol(HTMLDocumentNode *, nsIDOMHTMLCollection *) DECLSPEC_HIDDEN
Definition: htmlelemcol.c:705
UINT cp_from_charset_string(BSTR) DECLSPEC_HIDDEN
Definition: main.c:45
HRESULT return_nsstr(nsresult, nsAString *, BSTR *) DECLSPEC_HIDDEN
Definition: nsembed.c:841
HRESULT HTMLHeadElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlhead.c:323
UINT32 nsACString_GetData(const nsACString *, const char **) DECLSPEC_HIDDEN
Definition: nsembed.c:807
void update_doc(HTMLDocument *, DWORD) DECLSPEC_HIDDEN
Definition: view.c:62
void ConnectionPointContainer_Init(ConnectionPointContainer *, IUnknown *, const cpc_entry_t *) DECLSPEC_HIDDEN
Definition: conpoint.c:421
HRESULT HTMLObjectElement_Create(HTMLDocumentNode *, nsIDOMHTMLElement *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmlobject.c:764
HINSTANCE get_shdoclc(void) DECLSPEC_HIDDEN
Definition: main.c:162
void remove_target_tasks(LONG) DECLSPEC_HIDDEN
Definition: task.c:107
HRESULT get_doc_elem_by_id(HTMLDocumentNode *, const WCHAR *, HTMLElement **) DECLSPEC_HIDDEN
Definition: htmldoc.c:23
HRESULT HTMLLoadOptions_Create(IUnknown *, REFIID, void **) DECLSPEC_HIDDEN
Definition: loadopts.c:173
nsIWritableVariant * create_nsvariant(void) DECLSPEC_HIDDEN
Definition: nsembed.c:882
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
tid_t
Definition: msxml_private.h:44
unsigned int UINT
Definition: ndis.h:50
WCHAR PRUnichar
Definition: nsiface.idl:48
ULONG nsrefcnt
Definition: nsiface.idl:40
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
long LONG
Definition: pedump.c:60
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
#define DEFINE_OLEGUID(name, l, w1, w2)
Definition: guiddef.h:73
#define REFIID
Definition: guiddef.h:118
#define REFCLSID
Definition: guiddef.h:117
#define strlenW(s)
Definition: unicode.h:28
const WCHAR * str
DWORD LCID
Definition: nls.h:13
#define CP_UTF8
Definition: nls.h:20
#define inline
Definition: compat.h:23
nsresult(NSAPI *traverse)(void *
void nsCycleCollectionTraversalCallback * nsresult(NSAPI *unlink)(void *)
void(NSAPI *delete_cycle_collectable)(void *)
ConnectionPoint * cps
struct ConnectionPointContainer * forward_container
const cpc_entry_t * cp_entries
IConnectionPointContainer IConnectionPointContainer_iface
Definition: ieframe.h:53
cp_static_data_t * data
IConnectionPoint IConnectionPoint_iface
Definition: events.c:34
DWORD sinks_size
Definition: events.c:39
IPropertyNotifySink * propnotif
IDispatch ** sinks
Definition: events.c:38
const IID * iid
IDispatch * disp
ConnectionPointContainer * container
dispex_static_data_t * data
IDispatchEx IDispatchEx_iface
dispex_dynamic_data_t * dynamic_data
IUnknown * outer
event_target_t * ptr
DispatchEx dispex
IHTMLAttributeCollection3 IHTMLAttributeCollection3_iface
IHTMLAttributeCollection IHTMLAttributeCollection_iface
IHTMLAttributeCollection2 IHTMLAttributeCollection2_iface
IHTMLDOMAttribute2 IHTMLDOMAttribute2_iface
IHTMLDOMAttribute IHTMLDOMAttribute_iface
HTMLElement * elem
ConnectionPointContainer * cp_container
nsIDOMNode * nsnode
IHTMLDOMNode2 IHTMLDOMNode2_iface
nsCycleCollectingAutoRefCnt ccref
const NodeImplVtbl * vtbl
EventTarget event_target
HTMLDocumentNode * doc
IHTMLDOMNode IHTMLDOMNode_iface
ICatInformation * catmgr
unsigned elem_vars_cnt
struct list plugin_hosts
HTMLDOMNode node
event_target_t * body_event_target
nsIDocumentObserver nsIDocumentObserver_iface
IInternetHostSecurityManager IInternetHostSecurityManager_iface
nsIDOMHTMLDocument * nsdoc
struct list selection_list
unsigned elem_vars_size
HTMLDocument basedoc
HTMLInnerWindow * window
IHTMLDOMImplementation * dom_implementation
nsDocumentEventListener * nsevent_listener
struct list range_list
NSContainer * nscontainer
DispatchEx dispex
DOCHOSTUIINFO hostinfo
IOleClientSite * client
IUnknown * webbrowser
IOleUndoManager * undomgr
IOleInPlaceUIWindow * ip_window
IHTMLEditServices * editsvcs
IDocObjectService * doc_object_service
IOleInPlaceFrame * frame
ITravelLog * travel_log
IWindowForBindingUI IWindowForBindingUI_iface
IOleInPlaceSite * ipsite
HTMLDocument basedoc
IUnknown * browser_service
ICustomDoc ICustomDoc_iface
IAdviseSink * view_sink
IDocHostUIHandler * hostui
IOleCommandTarget * client_cmdtrg
ITargetContainer ITargetContainer_iface
IHlinkTarget IHlinkTarget_iface
IPersistHistory IPersistHistory_iface
IHTMLDocument7 IHTMLDocument7_iface
IPersistFile IPersistFile_iface
HTMLOuterWindow * window
IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless_iface
IHTMLDocument3 IHTMLDocument3_iface
IOleObject IOleObject_iface
IOleControl IOleControl_iface
IUnknown * unk_impl
IObjectWithSite IObjectWithSite_iface
IHTMLDocument2 IHTMLDocument2_iface
IPersistMoniker IPersistMoniker_iface
IPersistStreamInit IPersistStreamInit_iface
IProvideClassInfo IProvideClassInfo_iface
IHTMLDocument5 IHTMLDocument5_iface
IHTMLDocument6 IHTMLDocument6_iface
IMonikerProp IMonikerProp_iface
IOleInPlaceActiveObject IOleInPlaceActiveObject_iface
IViewObjectEx IViewObjectEx_iface
HTMLDocumentNode * doc_node
ConnectionPointContainer cp_container
IOleAdviseHolder * advise_holder
IServiceProvider IServiceProvider_iface
IOleDocument IOleDocument_iface
IOleContainer IOleContainer_iface
HTMLDocumentObj * doc_obj
IOleCommandTarget IOleCommandTarget_iface
IOleDocumentView IOleDocumentView_iface
IHTMLDocument4 IHTMLDocument4_iface
IDispatchEx IDispatchEx_iface
IObjectSafety IObjectSafety_iface
ISupportErrorInfo ISupportErrorInfo_iface
IDispatchEx * dispex
ConnectionPointContainer cp_container
IHTMLElement2 IHTMLElement2_iface
IHTMLElement IHTMLElement_iface
HTMLStyle * runtime_style
IHTMLElement3 IHTMLElement3_iface
IHTMLElement4 IHTMLElement4_iface
nsIDOMHTMLElement * nselem
HTMLAttributeCollection * attrs
HTMLDOMNode node
WCHAR * filter
HTMLStyle * style
IHTMLFrameBase IHTMLFrameBase_iface
IHTMLFrameBase2 IHTMLFrameBase2_iface
HTMLElement element
nsIDOMHTMLFrameElement * nsframe
HTMLOuterWindow * content_window
nsIDOMHTMLIFrameElement * nsiframe
HTMLInnerWindow * window
IHTMLImageElementFactory IHTMLImageElementFactory_iface
OmHistory * history
IHTMLScreen * screen
HTMLLocation * location
unsigned parser_callback_cnt
global_prop_t * global_props
HTMLDocumentNode * doc
struct list bindings
HTMLXMLHttpRequestFactory * xhr_factory
struct list script_queue
EventTarget event_target
IHTMLStorage * session_storage
struct list script_hosts
HTMLOptionElementFactory * option_factory
HTMLImageElementFactory * image_factory
nsChannelBSC * bscallback
IHTMLEventObj * event
IHTMLLocation IHTMLLocation_iface
DispatchEx dispex
HTMLInnerWindow * window
HTMLInnerWindow * window
IHTMLOptionElementFactory IHTMLOptionElementFactory_iface
struct list children
HTMLOuterWindow * parent
windowref_t * window_ref
unsigned readystate_pending
HTMLInnerWindow * pending_window
HTMLFrameBase * frame_element
struct list sibling_entry
struct list entry
READYSTATE readystate
nsIDOMWindow * nswindow
SCRIPTMODE scriptmode
IInternetSecurityManager * secmgr
HTMLDocumentObj * doc_obj
HTMLElement element
IHTMLTextContainer IHTMLTextContainer_iface
IServiceProvider IServiceProvider_iface
IHTMLPrivateWindow IHTMLPrivateWindow_iface
IHTMLWindow6 IHTMLWindow6_iface
IHTMLWindow3 IHTMLWindow3_iface
ITravelLogClient ITravelLogClient_iface
IDispatchEx IDispatchEx_iface
IHTMLWindow5 IHTMLWindow5_iface
IObjectIdentity IObjectIdentity_iface
HTMLInnerWindow * inner_window
HTMLOuterWindow * outer_window
IHTMLWindow4 IHTMLWindow4_iface
IHTMLWindow2 IHTMLWindow2_iface
IHTMLXMLHttpRequestFactory IHTMLXMLHttpRequestFactory_iface
HTMLInnerWindow * window
nsISupportsWeakReference nsISupportsWeakReference_iface
nsIURIContentListener nsIURIContentListener_iface
nsIWebBrowser * webbrowser
nsIController * editor_controller
nsIWebBrowserChrome nsIWebBrowserChrome_iface
nsWeakReference * weak_reference
nsIContextMenuListener nsIContextMenuListener_iface
HTMLDocumentObj * doc
nsIEditor * editor
nsIInterfaceRequestor nsIInterfaceRequestor_iface
nsIBaseWindow * window
nsIURIContentListener * content_listener
nsIEmbeddingSiteWindow nsIEmbeddingSiteWindow_iface
nsIWebBrowserFocus * focus
NSContainer * parent
nsITooltipListener nsITooltipListener_iface
nsIWebNavigation * navigation
const cpc_entry_t * cpc_entries
IOmHistory IOmHistory_iface
HTMLInnerWindow * window
DispatchEx dispex
Definition: scsiwmi.h:51
void(* on_advise)(IUnknown *, struct _cp_static_data_t *)
cp_static_data_t * desc
const IID * riid
dispex_data_t * data
const tid_t *const iface_tids
const dispex_static_data_vtbl_t * vtbl
HTMLDocumentObj * doc
global_prop_type_t type
ScriptHost * script_host
Definition: mem.c:156
Definition: send.c:48
task_proc_t proc
task_proc_t destr
struct list entry
LONG target_magic
HTMLOuterWindow * window
static WCHAR ** task_list
Definition: taskkill.c:35
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
Definition: dlist.c:348
Definition: pdh_main.c:94
int ret
#define HRESULT
Definition: msvc.h:7
#define __WINE_ALLOC_SIZE(x)
Definition: winnt_old.h:84
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define const
Definition: zconf.h:233