26#define NS_APPSTARTUPNOTIFIER_CONTRACTID "@mozilla.org/embedcomp/appstartup-notifier;1"
27#define NS_WEBBROWSER_CONTRACTID "@mozilla.org/embedding/browser/nsWebBrowser;1"
28#define NS_COMMANDPARAMS_CONTRACTID "@mozilla.org/embedcomp/command-params;1"
29#define NS_HTMLSERIALIZER_CONTRACTID "@mozilla.org/layout/contentserializer;1?mimetype=text/html"
30#define NS_EDITORCONTROLLER_CONTRACTID "@mozilla.org/editor/editorcontroller;1"
31#define NS_PREFERENCES_CONTRACTID "@mozilla.org/preferences;1"
32#define NS_VARIANT_CONTRACTID "@mozilla.org/variant;1"
33#define NS_CATEGORYMANAGER_CONTRACTID "@mozilla.org/categorymanager;1"
34#define NS_XMLHTTPREQUEST_CONTRACTID "@mozilla.org/xmlextras/xmlhttprequest;1"
35#define NS_SCRIPTSECURITYMANAGER_CONTRACTID "@mozilla.org/scriptsecuritymanager;1"
37#define PR_UINT32_MAX 0xffffffff
39#define NS_STRING_CONTAINER_INIT_DEPEND 0x0002
40#define NS_CSTRING_CONTAINER_INIT_DEPEND 0x0002
66static const WCHAR wszNsContainer[] = {
'N',
's',
'C',
'o',
'n',
't',
'a',
'i',
'n',
'e',
'r',0};
82 WARN(
"NS_NewLocalFile failed: %08x\n", nsres);
103 *
ppv = &
This->nsISimpleEnumerator_iface;
105 TRACE(
"(%p)->(IID_nsISimpleEnumerator %p)\n",
This,
ppv);
106 *
ppv = &
This->nsISimpleEnumerator_iface;
136 nsISupports_Release(
This->value);
162 *_retval =
This->value;
187 nsISupports_AddRef(
value);
189 return &
ret->nsISimpleEnumerator_iface;
199 TRACE(
"(IID_nsIDirectoryServiceProvider %p)\n",
result);
202 TRACE(
"(IID_nsIDirectoryServiceProvider2 %p)\n",
result);
226 static const WCHAR wine_geckoW[] = {
'\\',
'w',
'i',
'n',
'e',
'_',
'g',
'e',
'c',
'k',
'o',0};
235 ERR(
"SHGetFolderPath failed: %08x\n",
hres);
246 ERR(
"Exists failed: %08x\n", nsres);
253 ERR(
"Create failed: %08x\n", nsres);
264 if(!
strcmp(prop,
"ProfD")) {
286 if(!
strcmp(prop,
"APluginsDL")) {
293 static const WCHAR gecko_pluginW[] = {
'\\',
'g',
'e',
'c',
'k',
'o',
'\\',
'p',
'l',
'u',
'g',
'i',
'n',0};
312 nsIFile_Release(
file);
339 static const WCHAR wszTHIS[] = {
'T',
'H',
'I',
'S',0};
352 nsres = nsIBaseWindow_SetSize(
This->window,
355 WARN(
"SetSize failed: %08x\n", nsres);
364 nsIWebBrowserFocus_Activate(
This->focus);
396 static const WCHAR controlW[] = {
'\\',
'c',
'o',
'n',
't',
'r',
'o',
'l',
'.',
'e',
'x',
'e',0};
397 static const WCHAR argsW[] =
398 {
' ',
'a',
'p',
'p',
'w',
'i',
'z',
'.',
'c',
'p',
'l',
' ',
'i',
'n',
's',
't',
'a',
'l',
'l',
'_',
'g',
'e',
'c',
'k',
'o',0};
401 memcpy(app+
len, controlW,
sizeof(controlW));
428 size_t len, gre_path_len;
433 static const WCHAR pathW[] = {
'P',
'A',
'T',
'H',0};
434 static const WCHAR warnW[] = {
'w',
'a',
'r',
'n',0};
435 static const WCHAR xpcom_debug_breakW[] =
436 {
'X',
'P',
'C',
'O',
'M',
'_',
'D',
'E',
'B',
'U',
'G',
'_',
'B',
'R',
'E',
'A',
'K',0};
437 static const WCHAR nspr_log_modulesW[] =
438 {
'N',
'S',
'P',
'R',
'_',
'L',
'O',
'G',
'_',
'M',
'O',
'D',
'U',
'L',
'E',
'S',0};
439 static const WCHAR debug_formatW[] = {
'a',
'l',
'l',
':',
'%',
'd',0};
454 gre_path_len =
strlenW(gre_path);
463 || (
ptr[gre_path_len] &&
ptr[gre_path_len] !=
';')) {
474 static const WCHAR xul_dllW[] = {
'\\',
'x',
'u',
'l',
'.',
'd',
'l',
'l',0};
490#define NS_DLSYM(func) \
491 func = (void *)GetProcAddress(xul_handle, #func); \
493 ERR("Could not GetProcAddress(" #func ") failed\n")
501 NS_DLSYM(NS_CStringContainerFinish);
528 static const WCHAR wszVersion[] = {
'\\',
'V',
'E',
'R',
'S',
'I',
'O',
'N',0};
536 ERR(
"Could not open VERSION file\n");
559 HKEY hkey = mshtml_key;
561 static const WCHAR wszGeckoPath[] =
562 {
'G',
'e',
'c',
'k',
'o',
'P',
'a',
't',
'h',0};
572 if(hkey != mshtml_key)
589 static const WCHAR wszMshtmlKey[] = {
590 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
'W',
'i',
'n',
'e',
591 '\\',
'M',
'S',
'H',
'T',
'M',
'L',0};
608 nsres = nsIPrefBranch_SetBoolPref(pref, pref_name,
val);
617 nsres = nsIPrefBranch_SetIntPref(pref, pref_name,
val);
626 nsres = nsIPrefBranch_SetCharPref(pref, pref_name,
val);
637 static const WCHAR international_keyW[] =
638 {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
639 '\\',
'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
640 '\\',
'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
641 '\\',
'I',
'n',
't',
'e',
'r',
'n',
'a',
't',
'i',
'o',
'n',
'a',
'l',0};
664 &IID_nsIPrefBranch, (
void**)&pref);
666 ERR(
"Could not get preference service: %08x\n", nsres);
675 nsIPrefBranch_Release(pref);
693 ERR(
"NS_InitXPCOM2 failed: %08x\n", nsres);
705 nsres = nsIServiceManager_QueryInterface(
pServMgr, &IID_nsIComponentManager, (
void**)&
pCompMgr);
707 ERR(
"Could not get nsIComponentManager: %08x\n", nsres);
709 nsres = NS_GetComponentRegistrar(®istrar);
713 ERR(
"NS_GetComponentRegistrar failed: %08x\n", nsres);
719 &IID_nsICategoryManager, (
void**)&
cat_mgr);
721 ERR(
"Could not get category manager service: %08x\n", nsres);
725 nsIComponentRegistrar_Release(registrar);
738 0, 0, { (
DWORD_PTR)(__FILE__
": load_gecko") }
747 static DWORD loading_thread;
757 if(!loading_thread) {
768 MESSAGE(
"Could not load wine-gecko. HTML rendering will be disabled.\n");
814 NS_CStringContainerFinish(
str);
838 NS_StringContainerFinish(
str);
860 case NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR:
862 case NS_ERROR_DOM_SYNTAX_ERR:
876 ERR(
"failed: %08x\n", nsres);
903 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
907 ERR(
"Could not get nsICommandParams\n");
920 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
923 ERR(
"Could not get nsIVariant\n");
942 nsres = nsISupports_QueryInterface(iface, &IID_nsIInterfaceRequestor, (
void**)&iface_req);
946 nsres = nsIInterfaceRequestor_GetInterface(iface_req,
riid,
ppv);
947 nsIInterfaceRequestor_Release(iface_req);
960 nsIDOMNode_HasChildNodes(nsnode, &has_children);
962 nsres = nsIDOMNode_GetNodeType(nsnode, &
type);
964 ERR(
"GetType failed: %08x\n", nsres);
968 if(
type != DOCUMENT_NODE) {
969 nsres = nsIDOMNode_QueryInterface(nsnode, &IID_nsIContent, (
void**)&nscontent);
971 ERR(
"Could not get nsIContent interface: %08x\n", nsres);
978 nsIContentSerializer_AppendElementStart(serializer, nscontent, nscontent,
str);
981 nsIContentSerializer_AppendText(serializer, nscontent, 0, -1,
str);
984 nsres = nsIContentSerializer_AppendComment(serializer, nscontent, 0, -1,
str);
986 case DOCUMENT_NODE: {
988 nsIDOMNode_QueryInterface(nsnode, &IID_nsIDocument, (
void**)&nsdoc);
989 nsIContentSerializer_AppendDocumentStart(serializer, nsdoc,
str);
990 nsIDocument_Release(nsdoc);
993 case DOCUMENT_TYPE_NODE:
994 nsIContentSerializer_AppendDoctype(serializer, nscontent,
str);
996 case DOCUMENT_FRAGMENT_NODE:
1006 nsIDOMNode_GetChildNodes(nsnode, &node_list);
1007 nsIDOMNodeList_GetLength(node_list, &child_cnt);
1009 for(
i=0;
i<child_cnt;
i++) {
1010 nsres = nsIDOMNodeList_Item(node_list,
i, &child_node);
1013 nsIDOMNode_Release(child_node);
1015 ERR(
"Item failed: %08x\n", nsres);
1019 nsIDOMNodeList_Release(node_list);
1022 if(
type == ELEMENT_NODE)
1023 nsIContentSerializer_AppendElementEnd(serializer, nscontent,
str);
1025 if(
type != DOCUMENT_NODE)
1026 nsIContent_Release(nscontent);
1036 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
1038 (
void**)&serializer);
1040 ERR(
"Could not get nsIContentSerializer: %08x\n", nsres);
1044 nsres = nsIContentSerializer_Init(serializer, 0, 100,
NULL,
FALSE,
FALSE );
1046 ERR(
"Init failed: %08x\n", nsres);
1050 nsres = nsIContentSerializer_Flush(serializer,
str);
1052 ERR(
"Flush failed: %08x\n", nsres);
1055 nsIContentSerializer_Release(serializer);
1066 nsIEditor_Release(
This->editor);
1070 if(
This->editor_controller) {
1071 nsIController_Release(
This->editor_controller);
1076 (
void**)&editing_session);
1078 ERR(
"Could not get nsIEditingSession: %08x\n", nsres);
1082 nsres = nsIEditingSession_GetEditorForWindow(editing_session,
1083 This->doc->basedoc.window->nswindow, &
This->editor);
1084 nsIEditingSession_Release(editing_session);
1086 ERR(
"Could not get editor: %08x\n", nsres);
1090 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
1093 nsres = nsIControllerContext_SetCommandContext(ctrlctx, (
nsISupports *)
This->editor);
1095 ERR(
"SetCommandContext failed: %08x\n", nsres);
1096 nsres = nsIControllerContext_QueryInterface(ctrlctx, &IID_nsIController,
1097 (
void**)&
This->editor_controller);
1098 nsIControllerContext_Release(ctrlctx);
1100 ERR(
"Could not get nsIController interface: %08x\n", nsres);
1102 ERR(
"Could not create edit controller: %08x\n", nsres);
1124 nsIComponentManager_Release(
pCompMgr);
1127 nsIServiceManager_Release(
pServMgr);
1130 nsICategoryManager_Release(
cat_mgr);
1171 nsres = nsIDocShell_GetContentViewer(doc_shell, &content_viewer);
1173 nsIDocShell_Release(doc_shell);
1175 nsres = nsIContentViewer_SetFullZoom(content_viewer,
factor);
1177 ERR(
"SetFullZoom failed: %08x\n", nsres);
1179 nsIContentViewer_Release(content_viewer);
1246 if(!
This->nscontainer)
1249 return nsIWebBrowserChrome_QueryInterface(&
This->nscontainer->nsIWebBrowserChrome_iface,
riid,
result);
1282 *
result = &
This->nsIContextMenuListener_iface;
1285 *
result = &
This->nsIURIContentListener_iface;
1288 *
result = &
This->nsIEmbeddingSiteWindow_iface;
1294 *
result = &
This->nsIInterfaceRequestor_iface;
1297 *
result = &
This->nsISupportsWeakReference_iface;
1301 nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1328 nsIWebBrowserChrome_Release(&
This->parent->nsIWebBrowserChrome_iface);
1329 if(
This->weak_reference) {
1330 This->weak_reference->nscontainer =
NULL;
1331 nsIWeakReference_Release(&
This->weak_reference->nsIWeakReference_iface);
1352 TRACE(
"(%p)->(%p)\n",
This, aWebBrowser);
1357 if(
This->webbrowser)
1358 nsIWebBrowser_AddRef(
This->webbrowser);
1359 *aWebBrowser =
This->webbrowser;
1368 TRACE(
"(%p)->(%p)\n",
This, aWebBrowser);
1370 if(aWebBrowser !=
This->webbrowser)
1371 ERR(
"Wrong nsWebBrowser!\n");
1380 WARN(
"(%p)->(%p)\n",
This, aChromeFlags);
1388 WARN(
"(%p)->(%08x)\n",
This, aChromeFlags);
1403 WARN(
"(%p)->(%d %d)\n",
This, aCX, aCY);
1417 WARN(
"(%p)->(%p)\n",
This, _retval);
1425 WARN(
"(%p)->(%08x)\n",
This, aStatus);
1458 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1464 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1470 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1480 DWORD dwID = CONTEXT_MENU_DEFAULT;
1484 TRACE(
"(%p)->(%08x %p %p)\n",
This, aContextFlags, aEvent, aNode);
1488 nsres = nsIDOMEvent_QueryInterface(aEvent, &IID_nsIDOMMouseEvent, (
void**)&
event);
1490 ERR(
"Could not get nsIDOMMouseEvent interface: %08x\n", nsres);
1494 nsIDOMMouseEvent_GetScreenX(
event, &
pt.x);
1495 nsIDOMMouseEvent_GetScreenY(
event, &
pt.y);
1496 nsIDOMMouseEvent_Release(
event);
1498 switch(aContextFlags) {
1500 case CONTEXT_DOCUMENT:
1501 case CONTEXT_TEXT: {
1504 nsres = nsIDOMHTMLDocument_GetSelection(
This->doc->basedoc.doc_node->nsdoc, &
selection);
1509 nsres = nsISelection_GetIsCollapsed(
selection, &is_collapsed);
1512 dwID = CONTEXT_MENU_TEXTSELECT;
1517 case CONTEXT_IMAGE|CONTEXT_LINK:
1518 dwID = CONTEXT_MENU_IMAGE;
1521 dwID = CONTEXT_MENU_ANCHOR;
1524 dwID = CONTEXT_MENU_CONTROL;
1527 FIXME(
"aContextFlags=%08x\n", aContextFlags);
1559 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1565 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1571 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1583 nsIURI_GetSpec(aURI, &spec_str);
1594 return !*_retval &&
This->content_listener
1595 ? nsIURIContentListener_OnStartURIOpen(
This->content_listener, aURI, _retval)
1605 TRACE(
"(%p)->(%p %x %p %p %p)\n",
This, aContentType, aIsContentPreferred,
1606 aRequest, aContentHandler, _retval);
1608 return This->content_listener
1609 ? nsIURIContentListener_DoContent(
This->content_listener, aContentType,
1610 aIsContentPreferred, aRequest, aContentHandler, _retval)
1615 const char *aContentType,
char **aDesiredContentType,
cpp_bool *_retval)
1619 TRACE(
"(%p)->(%s %p %p)\n",
This,
debugstr_a(aContentType), aDesiredContentType, _retval);
1624 return This->content_listener
1625 ? nsIURIContentListener_IsPreferred(
This->content_listener, aContentType,
1626 aDesiredContentType, _retval)
1631 const char *aContentType,
cpp_bool aIsContentPreferred,
char **aDesiredContentType,
1637 aDesiredContentType, _retval);
1639 return This->content_listener
1640 ? nsIURIContentListener_CanHandleContent(
This->content_listener, aContentType,
1641 aIsContentPreferred, aDesiredContentType, _retval)
1650 WARN(
"(%p)->(%p)\n",
This, aLoadCookie);
1652 return This->content_listener
1653 ? nsIURIContentListener_GetLoadCookie(
This->content_listener, aLoadCookie)
1662 WARN(
"(%p)->(%p)\n",
This, aLoadCookie);
1664 return This->content_listener
1665 ? nsIURIContentListener_SetLoadCookie(
This->content_listener, aLoadCookie)
1674 TRACE(
"(%p)->(%p)\n",
This, aParentContentListener);
1676 if(
This->content_listener)
1677 nsIURIContentListener_AddRef(
This->content_listener);
1679 *aParentContentListener =
This->content_listener;
1688 TRACE(
"(%p)->(%p)\n",
This, aParentContentListener);
1690 if(aParentContentListener == &
This->nsIURIContentListener_iface)
1693 if(
This->content_listener)
1694 nsIURIContentListener_Release(
This->content_listener);
1696 This->content_listener = aParentContentListener;
1697 if(
This->content_listener)
1698 nsIURIContentListener_AddRef(
This->content_listener);
1730 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1736 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1742 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1762 ERR(
"GetWindowRect failed\n");
1771 *
cx =
r.right-
r.left;
1773 *
cy =
r.bottom-
r.top;
1783 return nsIBaseWindow_SetFocus(
This->window);
1791 TRACE(
"(%p)->(%p)\n",
This, aVisibility);
1802 TRACE(
"(%p)->(%x)\n",
This, aVisibility);
1811 WARN(
"(%p)->(%p)\n",
This, aTitle);
1828 TRACE(
"(%p)->(%p)\n",
This, aSiteWindow);
1830 *aSiteWindow =
This->hwnd;
1857 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1863 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1869 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1910 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1916 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1922 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1935 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1954 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1960 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1966 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1976 if(!
This->weak_reference) {
1978 if(!
This->weak_reference)
1982 This->weak_reference->ref = 1;
1983 This->weak_reference->nscontainer =
This;
1986 *_retval = &
This->weak_reference->nsIWeakReference_iface;
1987 nsIWeakReference_AddRef(*_retval);
2000 nsIWebBrowserSetup *wbsetup;
2007 ERR(
"Creating WebBrowser failed: %08x\n", nsres);
2013 ERR(
"SetContainerWindow failed: %08x\n", nsres);
2017 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIBaseWindow,
2018 (
void**)&nscontainer->
window);
2020 ERR(
"Could not get nsIBaseWindow interface: %08x\n", nsres);
2024 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebBrowserSetup,
2027 nsres = nsIWebBrowserSetup_SetProperty(wbsetup, SETUP_IS_CHROME_WRAPPER,
FALSE);
2028 nsIWebBrowserSetup_Release(wbsetup);
2030 ERR(
"SetProperty(SETUP_IS_CHROME_WRAPPER) failed: %08x\n", nsres);
2034 ERR(
"Could not get nsIWebBrowserSetup interface\n");
2038 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebNavigation,
2041 ERR(
"Could not get nsIWebNavigation interface: %08x\n", nsres);
2045 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebBrowserFocus,
2046 (
void**)&nscontainer->
focus);
2048 ERR(
"Could not get nsIWebBrowserFocus interface: %08x\n", nsres);
2061 if(!nscontainer->
hwnd) {
2062 WARN(
"Could not create window\n");
2066 nsres = nsIBaseWindow_InitWindow(nscontainer->
window, nscontainer->
hwnd,
NULL, 0, 0, 100, 100);
2068 nsres = nsIBaseWindow_Create(nscontainer->
window);
2070 WARN(
"Creating window failed: %08x\n", nsres);
2074 nsIBaseWindow_SetVisibility(nscontainer->
window,
FALSE);
2075 nsIBaseWindow_SetEnabled(nscontainer->
window,
FALSE);
2077 ERR(
"InitWindow failed: %08x\n", nsres);
2081 nsres = nsIWebBrowser_SetParentURIContentListener(nscontainer->
webbrowser,
2084 ERR(
"SetParentURIContentListener failed: %08x\n", nsres);
2086 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIScrollable, (
void**)&scrollable);
2088 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2089 ScrollOrientation_Y, Scrollbar_Always);
2091 ERR(
"Could not set default Y scrollbar prefs: %08x\n", nsres);
2093 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2094 ScrollOrientation_X, Scrollbar_Auto);
2096 ERR(
"Could not set default X scrollbar prefs: %08x\n", nsres);
2098 nsIScrollable_Release(scrollable);
2100 ERR(
"Could not get nsIScrollable: %08x\n", nsres);
2133 nsIWebBrowserChrome_Release(&
ret->nsIWebBrowserChrome_iface);
2146 nsIBaseWindow_SetVisibility(
This->window,
FALSE);
2147 nsIBaseWindow_Destroy(
This->window);
2149 nsIWebBrowser_SetContainerWindow(
This->webbrowser,
NULL);
2151 nsIWebBrowser_Release(
This->webbrowser);
2154 nsIWebNavigation_Release(
This->navigation);
2157 nsIBaseWindow_Release(
This->window);
2160 nsIWebBrowserFocus_Release(
This->focus);
2163 if(
This->editor_controller) {
2164 nsIController_Release(
This->editor_controller);
2169 nsIEditor_Release(
This->editor);
2173 if(
This->content_listener) {
2174 nsIURIContentListener_Release(
This->content_listener);
2183 nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
2194 nsres = nsIServiceManager_GetServiceByContractID(
pServMgr,
2196 &IID_nsIScriptSecurityManager, (
void**)&secman);
2198 ERR(
"Could not get sec manager service: %08x\n", nsres);
2202 nsres = nsIScriptSecurityManager_GetSystemPrincipal(secman, &nspri);
2203 nsIScriptSecurityManager_Release(secman);
2205 ERR(
"GetSystemPrincipal failed: %08x\n", nsres);
2209 nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_nsIGlobalObject, (
void **)&nsglo);
2212 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
2216 ERR(
"Could not get nsIXMLHttpRequest: %08x\n", nsres);
2217 nsISupports_Release(nspri);
2218 nsIGlobalObject_Release(nsglo);
2222 nsres = nsIXMLHttpRequest_Init(nsxhr, nspri,
NULL, nsglo,
NULL,
NULL);
2224 nsISupports_Release(nspri);
2225 nsIGlobalObject_Release(nsglo);
2227 ERR(
"nsIXMLHttpRequest_Init failed: %08x\n", nsres);
2228 nsIXMLHttpRequest_Release(nsxhr);
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
nsresult on_start_uri_open(NSContainer *, nsIURI *, cpp_bool *) DECLSPEC_HIDDEN
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define GetEnvironmentVariableW(x, y, z)
#define ReadFile(a, b, c, d, e)
#define INVALID_HANDLE_VALUE
#define WINE_DECLARE_DEBUG_CHANNEL(x)
#define FILE_ATTRIBUTE_NORMAL
static const WCHAR version[]
BOOL WINAPI DECLSPEC_HOTPATCH SetEnvironmentVariableW(IN LPCWSTR lpName, IN LPCWSTR lpValue)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
HRESULT WINAPI UrlUnescapeW(WCHAR *url, WCHAR *unescaped, DWORD *unescaped_len, DWORD flags)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
HRESULT WINAPI SHGetFolderPathW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint factor
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode *target, nsIDOMEvent *nsevent, IDispatch *script_this)
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
#define memcpy(s1, s2, n)
static PROCESS_INFORMATION pi
static const WCHAR pathW[]
void register_nsservice(nsIComponentRegistrar *, nsIServiceManager *) DECLSPEC_HIDDEN
#define NS_ERROR_INVALID_ARG
#define NS_ERROR_NOT_IMPLEMENTED
void init_nsio(nsIComponentManager *, nsIComponentRegistrar *) DECLSPEC_HIDDEN
#define NS_ERROR_NULL_POINTER
void hide_tooltip(HTMLDocumentObj *) DECLSPEC_HIDDEN
static void node_release(HTMLDOMNode *node)
static WCHAR * heap_strdupUtoW(const char *str)
#define NS_ERROR_OUT_OF_MEMORY
void show_tooltip(HTMLDocumentObj *, DWORD, DWORD, LPCWSTR) DECLSPEC_HIDDEN
#define NS_BINDING_ABORTED
#define NS_SUCCEEDED(res)
#define NS_ERROR_INVALID_POINTER
void init_mutation(nsIComponentManager *) DECLSPEC_HIDDEN
void show_context_menu(HTMLDocumentObj *, DWORD, POINT *, IDispatch *) DECLSPEC_HIDDEN
void release_nsio(void) DECLSPEC_HIDDEN
#define NS_ERROR_UNEXPECTED
static void set_lang(nsIPrefBranch *pref)
static BOOL load_xul(const PRUnichar *gre_path)
static nsrefcnt NSAPI nsContextMenuListener_Release(nsIContextMenuListener *iface)
static NSContainer * impl_from_nsIWebBrowserChrome(nsIWebBrowserChrome *iface)
static nsrefcnt NSAPI nsInterfaceRequestor_AddRef(nsIInterfaceRequestor *iface)
nsIWritableVariant * create_nsvariant(void)
static nsrefcnt NSAPI nsSupportsWeakReference_Release(nsISupportsWeakReference *iface)
static nsresult NSAPI nsEmbeddingSiteWindow_GetVisibility(nsIEmbeddingSiteWindow *iface, cpp_bool *aVisibility)
static const nsISimpleEnumeratorVtbl nsSingletonEnumeratorVtbl
static unsigned gecko_path_len
static nsICategoryManager * cat_mgr
static nsresult NSAPI nsWebBrowserChrome_SetWebBrowser(nsIWebBrowserChrome *iface, nsIWebBrowser *aWebBrowser)
nsresult create_nsfile(const PRUnichar *path, nsIFile **ret)
static void set_int_pref(nsIPrefBranch *pref, const char *pref_name, int val)
static nsrefcnt NSAPI nsWeakReference_AddRef(nsIWeakReference *iface)
#define NS_CSTRING_CONTAINER_INIT_DEPEND
static nsIFile **static const PRUnichar cpp_bool *static const char cpp_bool *static void *CDECL * NS_Alloc(SIZE_T)
static const nsIInterfaceRequestorVtbl nsInterfaceRequestorVtbl
nsIXMLHttpRequest * create_nsxhr(nsIDOMWindow *nswindow)
static BOOL install_wine_gecko(void)
static nsresult NSAPI nsDirectoryServiceProvider2_QueryInterface(nsIDirectoryServiceProvider2 *iface, nsIIDRef riid, void **result)
static HRESULT nsnode_to_nsstring_rec(nsIContentSerializer *serializer, nsIDOMNode *nsnode, nsAString *str)
static nsresult NSAPI nsContextMenuListener_QueryInterface(nsIContextMenuListener *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsTooltipListener_OnHideTooltip(nsITooltipListener *iface)
static void set_bool_pref(nsIPrefBranch *pref, const char *pref_name, BOOL val)
static nsresult NSAPI nsSupportsWeakReference_QueryInterface(nsISupportsWeakReference *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsURIContentListener_SetParentContentListener(nsIURIContentListener *iface, nsIURIContentListener *aParentContentListener)
static NSContainer * impl_from_nsIEmbeddingSiteWindow(nsIEmbeddingSiteWindow *iface)
nsICommandParams * create_nscommand_params(void)
static nsISimpleEnumerator * create_singleton_enumerator(nsISupports *value)
static nsresult NSAPI nsEmbeddingSiteWindow_SetDimensions(nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG x, LONG y, LONG cx, LONG cy)
static CRITICAL_SECTION cs_load_gecko
static nsresult NSAPI nsSingletonEnumerator_QueryInterface(nsISimpleEnumerator *iface, nsIIDRef riid, void **ppv)
static nsrefcnt NSAPI nsTooltipListener_AddRef(nsITooltipListener *iface)
static nsresult NSAPI nsWebBrowserChrome_DestroyBrowserWindow(nsIWebBrowserChrome *iface)
static nsSingletonEnumerator * impl_from_nsISimpleEnumerator(nsISimpleEnumerator *iface)
static nsresult NSAPI nsWeakReference_QueryReferent(nsIWeakReference *iface, const nsIID *riid, void **result)
BOOL nsAString_Init(nsAString *str, const PRUnichar *data)
static nsresult NSAPI nsTooltipListener_QueryInterface(nsITooltipListener *iface, nsIIDRef riid, void **result)
static NSContainer * impl_from_nsIURIContentListener(nsIURIContentListener *iface)
static nsrefcnt NSAPI nsContextMenuListener_AddRef(nsIContextMenuListener *iface)
static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl
HRESULT create_nscontainer(HTMLDocumentObj *doc, NSContainer **_ret)
static nsrefcnt NSAPI nsSingletonEnumerator_AddRef(nsISimpleEnumerator *iface)
#define NS_WEBBROWSER_CONTRACTID
static nsresult NSAPI nsURIContentListener_QueryInterface(nsIURIContentListener *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsWebBrowserChrome_ShowAsModal(nsIWebBrowserChrome *iface)
static nsresult NSAPI nsDirectoryServiceProvider2_GetFile(nsIDirectoryServiceProvider2 *iface, const char *prop, cpp_bool *persistent, nsIFile **_retval)
static nsrefcnt NSAPI nsDirectoryServiceProvider2_AddRef(nsIDirectoryServiceProvider2 *iface)
static const nsITooltipListenerVtbl nsTooltipListenerVtbl
static nsresult NSAPI nsURIContentListener_SetLoadCookie(nsIURIContentListener *iface, nsISupports *aLoadCookie)
static nsrefcnt NSAPI nsEmbeddingSiteWindow_AddRef(nsIEmbeddingSiteWindow *iface)
static NSContainer * impl_from_nsITooltipListener(nsITooltipListener *iface)
static nsIComponentManager * pCompMgr
static nsresult NSAPI nsInterfaceRequestor_QueryInterface(nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsWebBrowserChrome_SizeBrowserTo(nsIWebBrowserChrome *iface, LONG aCX, LONG aCY)
void NSContainer_Release(NSContainer *This)
static const nsIWebBrowserChromeVtbl nsWebBrowserChromeVtbl
static BOOL load_wine_gecko(PRUnichar *gre_path)
static CRITICAL_SECTION_DEBUG cs_load_gecko_dbg
#define NS_COMMANDPARAMS_CONTRACTID
static nsresult NSAPI nsSingletonEnumerator_HasMoreElements(nsISimpleEnumerator *iface, cpp_bool *_retval)
static const nsIURIContentListenerVtbl nsURIContentListenerVtbl
static WCHAR gecko_path[MAX_PATH]
static nsWeakReference * impl_from_nsIWeakReference(nsIWeakReference *iface)
static void set_environment(LPCWSTR gre_path)
static nsrefcnt NSAPI nsSupportsWeakReference_AddRef(nsISupportsWeakReference *iface)
static nsresult NSAPI nsURIContentListener_GetLoadCookie(nsIURIContentListener *iface, nsISupports **aLoadCookie)
nsresult get_nsinterface(nsISupports *iface, REFIID riid, void **ppv)
static const nsIWeakReferenceVtbl nsWeakReferenceVtbl
#define NS_VARIANT_CONTRACTID
static nsresult NSAPI nsEmbeddingSiteWindow_GetDimensions(nsIEmbeddingSiteWindow *iface, UINT32 flags, LONG *x, LONG *y, LONG *cx, LONG *cy)
static nsIFile * plugin_directory
static HINSTANCE xul_handle
static nsresult NSAPI nsURIContentListener_DoContent(nsIURIContentListener *iface, const nsACString *aContentType, cpp_bool aIsContentPreferred, nsIRequest *aRequest, nsIStreamListener **aContentHandler, cpp_bool *_retval)
static nsresult NSAPI nsWebBrowserChrome_GetChromeFlags(nsIWebBrowserChrome *iface, UINT32 *aChromeFlags)
#define NS_PREFERENCES_CONTRACTID
static nsresult NSAPI nsSingletonEnumerator_GetNext(nsISimpleEnumerator *iface, nsISupports **_retval)
void nsAString_InitDepend(nsAString *str, const PRUnichar *data)
static NSContainer * impl_from_nsIInterfaceRequestor(nsIInterfaceRequestor *iface)
static nsresult NSAPI nsEmbeddingSiteWindow_GetTitle(nsIEmbeddingSiteWindow *iface, PRUnichar **aTitle)
static nsresult NSAPI nsURIContentListener_IsPreferred(nsIURIContentListener *iface, const char *aContentType, char **aDesiredContentType, cpp_bool *_retval)
static nsresult NSAPI nsSupportsWeakReference_GetWeakReference(nsISupportsWeakReference *iface, nsIWeakReference **_retval)
static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuListener *iface, UINT32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode)
static nsrefcnt NSAPI nsInterfaceRequestor_Release(nsIInterfaceRequestor *iface)
static const nsIEmbeddingSiteWindowVtbl nsEmbeddingSiteWindowVtbl
static nsresult NSAPI nsEmbeddingSiteWindow_SetVisibility(nsIEmbeddingSiteWindow *iface, cpp_bool aVisibility)
static nsresult NSAPI nsURIContentListener_CanHandleContent(nsIURIContentListener *iface, const char *aContentType, cpp_bool aIsContentPreferred, char **aDesiredContentType, cpp_bool *_retval)
static nsresult NSAPI nsEmbeddingSiteWindow_SetFocus(nsIEmbeddingSiteWindow *iface)
static nsrefcnt NSAPI nsTooltipListener_Release(nsITooltipListener *iface)
static void set_string_pref(nsIPrefBranch *pref, const char *pref_name, const char *val)
static nsresult NSAPI nsWebBrowserChrome_SetChromeFlags(nsIWebBrowserChrome *iface, UINT32 aChromeFlags)
#define NS_SCRIPTSECURITYMANAGER_CONTRACTID
static NSContainer * impl_from_nsISupportsWeakReference(nsISupportsWeakReference *iface)
static nsIServiceManager * pServMgr
void get_editor_controller(NSContainer *This)
static nsresult NSAPI nsWebBrowserChrome_SetStatus(nsIWebBrowserChrome *iface, UINT32 statusType, const PRUnichar *status)
static nsresult NSAPI nsURIContentListener_GetParentContentListener(nsIURIContentListener *iface, nsIURIContentListener **aParentContentListener)
static HRESULT init_nscontainer(NSContainer *nscontainer)
static const nsIDirectoryServiceProvider2Vtbl nsDirectoryServiceProvider2Vtbl
static BOOL check_version(LPCWSTR gre_path, const char *version_string)
static nsresult NSAPI nsWebBrowserChrome_ExitModalEventLoop(nsIWebBrowserChrome *iface, nsresult aStatus)
static nsrefcnt NSAPI nsEmbeddingSiteWindow_Release(nsIEmbeddingSiteWindow *iface)
static nsIFile * profile_directory
HRESULT return_nsstr(nsresult nsres, nsAString *nsstr, BSTR *p)
static void register_nscontainer_class(void)
BOOL nsACString_Init(nsACString *str, const char *data)
void nsAString_Finish(nsAString *str)
#define NS_XMLHTTPREQUEST_CONTRACTID
static nsresult create_profile_directory(void)
static LRESULT WINAPI nsembed_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static nsIDirectoryServiceProvider2 nsDirectoryServiceProvider2
static const nsIContextMenuListenerVtbl nsContextMenuListenerVtbl
static nsresult NSAPI nsWebBrowserChrome_QueryInterface(nsIWebBrowserChrome *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsEmbeddingSiteWindow_GetSiteWindow(nsIEmbeddingSiteWindow *iface, void **aSiteWindow)
static nsresult NSAPI nsWebBrowserChrome_GetWebBrowser(nsIWebBrowserChrome *iface, nsIWebBrowser **aWebBrowser)
static nsrefcnt NSAPI nsSingletonEnumerator_Release(nsISimpleEnumerator *iface)
void nsACString_Finish(nsACString *str)
BOOL is_gecko_path(const char *path)
static NSContainer * impl_from_nsIContextMenuListener(nsIContextMenuListener *iface)
HRESULT nsnode_to_nsstring(nsIDOMNode *nsnode, nsAString *str)
static void set_preferences(void)
static BOOL init_xpcom(const PRUnichar *gre_path)
static nsresult NSAPI nsDirectoryServiceProvider2_GetFiles(nsIDirectoryServiceProvider2 *iface, const char *prop, nsISimpleEnumerator **_retval)
void nsACString_InitDepend(nsACString *str, const char *data)
UINT32 nsACString_GetData(const nsACString *str, const char **data)
static nsresult NSAPI nsURIContentListener_OnStartURIOpen(nsIURIContentListener *iface, nsIURI *aURI, cpp_bool *_retval)
#define NS_HTMLSERIALIZER_CONTRACTID
void set_viewer_zoom(NSContainer *nscontainer, float factor)
#define NS_EDITORCONTROLLER_CONTRACTID
static nsresult NSAPI nsInterfaceRequestor_GetInterface(nsIInterfaceRequestor *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsTooltipListener_OnShowTooltip(nsITooltipListener *iface, LONG aXCoord, LONG aYCoord, const PRUnichar *aTipText)
static nsresult NSAPI nsEmbeddingSiteWindow_QueryInterface(nsIEmbeddingSiteWindow *iface, nsIIDRef riid, void **result)
#define NS_CATEGORYMANAGER_CONTRACTID
static nsrefcnt NSAPI nsWeakReference_Release(nsIWeakReference *iface)
static nsrefcnt NSAPI nsWebBrowserChrome_AddRef(nsIWebBrowserChrome *iface)
static ATOM nscontainer_class
static nsresult NSAPI nsEmbeddingSiteWindow_SetTitle(nsIEmbeddingSiteWindow *iface, const PRUnichar *aTitle)
static nsrefcnt NSAPI nsDirectoryServiceProvider2_Release(nsIDirectoryServiceProvider2 *iface)
static nsresult NSAPI nsWeakReference_QueryInterface(nsIWeakReference *iface, nsIIDRef riid, void **result)
static nsrefcnt NSAPI nsURIContentListener_AddRef(nsIURIContentListener *iface)
void * nsalloc(size_t size)
void nsACString_SetData(nsACString *str, const char *data)
static nsrefcnt NSAPI nsURIContentListener_Release(nsIURIContentListener *iface)
static nsresult NSAPI nsWebBrowserChrome_IsWindowModal(nsIWebBrowserChrome *iface, cpp_bool *_retval)
static BOOL load_wine_gecko_v(PRUnichar *gre_path, HKEY mshtml_key, const char *version, const char *version_string)
static const WCHAR wszNsContainer[]
#define NS_STRING_CONTAINER_INIT_DEPEND
HRESULT map_nsresult(nsresult nsres)
static nsrefcnt NSAPI nsWebBrowserChrome_Release(nsIWebBrowserChrome *iface)
char * get_nscategory_entry(const char *category, const char *entry)
UINT32 nsAString_GetData(const nsAString *str, const PRUnichar **data)
BSTR WINAPI SysAllocString(LPCOLESTR str)
_Out_opt_ int _Out_opt_ int * cy
#define IsEqualGUID(rguid1, rguid2)
#define URL_UNESCAPE_INPLACE
nsIURIContentListener nsIURIContentListener_iface
nsIWebBrowser * webbrowser
nsIWebBrowserChrome nsIWebBrowserChrome_iface
nsIWebBrowserFocus * focus
nsIWebNavigation * navigation
LIST_ENTRY ProcessLocksList
nsISimpleEnumerator nsISimpleEnumerator_iface
NSContainer * nscontainer
nsIWeakReference nsIWeakReference_iface
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define CONTAINING_RECORD(address, type, field)
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define LOAD_WITH_ALTERED_SEARCH_PATH
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define CLASS_E_CLASSNOTAVAILABLE
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
HWND WINAPI GetDesktopWindow(void)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI SetPropW(_In_ HWND, _In_ LPCWSTR, _In_opt_ HANDLE)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
HANDLE WINAPI GetPropW(_In_ HWND, _In_ LPCWSTR)
struct _WNDCLASSEXW WNDCLASSEXW
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)