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};
412 memset(&si, 0,
sizeof(si));
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);
846 ERR(
"failed: %08x\n", nsres);
873 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
877 ERR(
"Could not get nsICommandParams\n");
890 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
893 ERR(
"Could not get nsIVariant\n");
912 nsres = nsISupports_QueryInterface(iface, &IID_nsIInterfaceRequestor, (
void**)&iface_req);
916 nsres = nsIInterfaceRequestor_GetInterface(iface_req,
riid,
ppv);
917 nsIInterfaceRequestor_Release(iface_req);
930 nsIDOMNode_HasChildNodes(nsnode, &has_children);
932 nsres = nsIDOMNode_GetNodeType(nsnode, &
type);
934 ERR(
"GetType failed: %08x\n", nsres);
938 if(
type != DOCUMENT_NODE) {
939 nsres = nsIDOMNode_QueryInterface(nsnode, &IID_nsIContent, (
void**)&nscontent);
941 ERR(
"Could not get nsIContent interface: %08x\n", nsres);
948 nsIContentSerializer_AppendElementStart(serializer, nscontent, nscontent,
str);
951 nsIContentSerializer_AppendText(serializer, nscontent, 0, -1,
str);
954 nsres = nsIContentSerializer_AppendComment(serializer, nscontent, 0, -1,
str);
956 case DOCUMENT_NODE: {
958 nsIDOMNode_QueryInterface(nsnode, &IID_nsIDocument, (
void**)&nsdoc);
959 nsIContentSerializer_AppendDocumentStart(serializer, nsdoc,
str);
960 nsIDocument_Release(nsdoc);
963 case DOCUMENT_TYPE_NODE:
964 nsIContentSerializer_AppendDoctype(serializer, nscontent,
str);
966 case DOCUMENT_FRAGMENT_NODE:
976 nsIDOMNode_GetChildNodes(nsnode, &node_list);
977 nsIDOMNodeList_GetLength(node_list, &child_cnt);
979 for(
i=0;
i<child_cnt;
i++) {
980 nsres = nsIDOMNodeList_Item(node_list,
i, &child_node);
983 nsIDOMNode_Release(child_node);
985 ERR(
"Item failed: %08x\n", nsres);
989 nsIDOMNodeList_Release(node_list);
992 if(
type == ELEMENT_NODE)
993 nsIContentSerializer_AppendElementEnd(serializer, nscontent,
str);
995 if(
type != DOCUMENT_NODE)
996 nsIContent_Release(nscontent);
1006 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
1008 (
void**)&serializer);
1010 ERR(
"Could not get nsIContentSerializer: %08x\n", nsres);
1014 nsres = nsIContentSerializer_Init(serializer, 0, 100,
NULL,
FALSE,
FALSE );
1016 ERR(
"Init failed: %08x\n", nsres);
1020 nsres = nsIContentSerializer_Flush(serializer,
str);
1022 ERR(
"Flush failed: %08x\n", nsres);
1025 nsIContentSerializer_Release(serializer);
1036 nsIEditor_Release(
This->editor);
1040 if(
This->editor_controller) {
1041 nsIController_Release(
This->editor_controller);
1046 (
void**)&editing_session);
1048 ERR(
"Could not get nsIEditingSession: %08x\n", nsres);
1052 nsres = nsIEditingSession_GetEditorForWindow(editing_session,
1053 This->doc->basedoc.window->nswindow, &
This->editor);
1054 nsIEditingSession_Release(editing_session);
1056 ERR(
"Could not get editor: %08x\n", nsres);
1060 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
1063 nsres = nsIControllerContext_SetCommandContext(ctrlctx, (
nsISupports *)
This->editor);
1065 ERR(
"SetCommandContext failed: %08x\n", nsres);
1066 nsres = nsIControllerContext_QueryInterface(ctrlctx, &IID_nsIController,
1067 (
void**)&
This->editor_controller);
1068 nsIControllerContext_Release(ctrlctx);
1070 ERR(
"Could not get nsIController interface: %08x\n", nsres);
1072 ERR(
"Could not create edit controller: %08x\n", nsres);
1094 nsIComponentManager_Release(
pCompMgr);
1097 nsIServiceManager_Release(
pServMgr);
1100 nsICategoryManager_Release(
cat_mgr);
1141 nsres = nsIDocShell_GetContentViewer(doc_shell, &content_viewer);
1143 nsIDocShell_Release(doc_shell);
1145 nsres = nsIContentViewer_SetFullZoom(content_viewer,
factor);
1147 ERR(
"SetFullZoom failed: %08x\n", nsres);
1149 nsIContentViewer_Release(content_viewer);
1216 if(!
This->nscontainer)
1219 return nsIWebBrowserChrome_QueryInterface(&
This->nscontainer->nsIWebBrowserChrome_iface,
riid,
result);
1252 *
result = &
This->nsIContextMenuListener_iface;
1255 *
result = &
This->nsIURIContentListener_iface;
1258 *
result = &
This->nsIEmbeddingSiteWindow_iface;
1264 *
result = &
This->nsIInterfaceRequestor_iface;
1267 *
result = &
This->nsISupportsWeakReference_iface;
1271 nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1298 nsIWebBrowserChrome_Release(&
This->parent->nsIWebBrowserChrome_iface);
1299 if(
This->weak_reference) {
1300 This->weak_reference->nscontainer =
NULL;
1301 nsIWeakReference_Release(&
This->weak_reference->nsIWeakReference_iface);
1322 TRACE(
"(%p)->(%p)\n",
This, aWebBrowser);
1327 if(
This->webbrowser)
1328 nsIWebBrowser_AddRef(
This->webbrowser);
1329 *aWebBrowser =
This->webbrowser;
1338 TRACE(
"(%p)->(%p)\n",
This, aWebBrowser);
1340 if(aWebBrowser !=
This->webbrowser)
1341 ERR(
"Wrong nsWebBrowser!\n");
1350 WARN(
"(%p)->(%p)\n",
This, aChromeFlags);
1358 WARN(
"(%p)->(%08x)\n",
This, aChromeFlags);
1373 WARN(
"(%p)->(%d %d)\n",
This, aCX, aCY);
1387 WARN(
"(%p)->(%p)\n",
This, _retval);
1395 WARN(
"(%p)->(%08x)\n",
This, aStatus);
1428 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1434 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1440 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1450 DWORD dwID = CONTEXT_MENU_DEFAULT;
1454 TRACE(
"(%p)->(%08x %p %p)\n",
This, aContextFlags, aEvent, aNode);
1458 nsres = nsIDOMEvent_QueryInterface(aEvent, &IID_nsIDOMMouseEvent, (
void**)&
event);
1460 ERR(
"Could not get nsIDOMMouseEvent interface: %08x\n", nsres);
1464 nsIDOMMouseEvent_GetScreenX(
event, &
pt.x);
1465 nsIDOMMouseEvent_GetScreenY(
event, &
pt.y);
1466 nsIDOMMouseEvent_Release(
event);
1468 switch(aContextFlags) {
1470 case CONTEXT_DOCUMENT:
1471 case CONTEXT_TEXT: {
1474 nsres = nsIDOMHTMLDocument_GetSelection(
This->doc->basedoc.doc_node->nsdoc, &
selection);
1479 nsres = nsISelection_GetIsCollapsed(
selection, &is_collapsed);
1482 dwID = CONTEXT_MENU_TEXTSELECT;
1487 case CONTEXT_IMAGE|CONTEXT_LINK:
1488 dwID = CONTEXT_MENU_IMAGE;
1491 dwID = CONTEXT_MENU_ANCHOR;
1494 dwID = CONTEXT_MENU_CONTROL;
1497 FIXME(
"aContextFlags=%08x\n", aContextFlags);
1529 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1535 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1541 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1553 nsIURI_GetSpec(aURI, &spec_str);
1564 return !*_retval &&
This->content_listener
1565 ? nsIURIContentListener_OnStartURIOpen(
This->content_listener, aURI, _retval)
1575 TRACE(
"(%p)->(%p %x %p %p %p)\n",
This, aContentType, aIsContentPreferred,
1576 aRequest, aContentHandler, _retval);
1578 return This->content_listener
1579 ? nsIURIContentListener_DoContent(
This->content_listener, aContentType,
1580 aIsContentPreferred, aRequest, aContentHandler, _retval)
1585 const char *aContentType,
char **aDesiredContentType,
cpp_bool *_retval)
1589 TRACE(
"(%p)->(%s %p %p)\n",
This,
debugstr_a(aContentType), aDesiredContentType, _retval);
1594 return This->content_listener
1595 ? nsIURIContentListener_IsPreferred(
This->content_listener, aContentType,
1596 aDesiredContentType, _retval)
1601 const char *aContentType,
cpp_bool aIsContentPreferred,
char **aDesiredContentType,
1607 aDesiredContentType, _retval);
1609 return This->content_listener
1610 ? nsIURIContentListener_CanHandleContent(
This->content_listener, aContentType,
1611 aIsContentPreferred, aDesiredContentType, _retval)
1620 WARN(
"(%p)->(%p)\n",
This, aLoadCookie);
1622 return This->content_listener
1623 ? nsIURIContentListener_GetLoadCookie(
This->content_listener, aLoadCookie)
1632 WARN(
"(%p)->(%p)\n",
This, aLoadCookie);
1634 return This->content_listener
1635 ? nsIURIContentListener_SetLoadCookie(
This->content_listener, aLoadCookie)
1644 TRACE(
"(%p)->(%p)\n",
This, aParentContentListener);
1646 if(
This->content_listener)
1647 nsIURIContentListener_AddRef(
This->content_listener);
1649 *aParentContentListener =
This->content_listener;
1658 TRACE(
"(%p)->(%p)\n",
This, aParentContentListener);
1660 if(aParentContentListener == &
This->nsIURIContentListener_iface)
1663 if(
This->content_listener)
1664 nsIURIContentListener_Release(
This->content_listener);
1666 This->content_listener = aParentContentListener;
1667 if(
This->content_listener)
1668 nsIURIContentListener_AddRef(
This->content_listener);
1700 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1706 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1712 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1732 ERR(
"GetWindowRect failed\n");
1741 *
cx =
r.right-
r.left;
1743 *
cy =
r.bottom-
r.top;
1753 return nsIBaseWindow_SetFocus(
This->window);
1761 TRACE(
"(%p)->(%p)\n",
This, aVisibility);
1772 TRACE(
"(%p)->(%x)\n",
This, aVisibility);
1781 WARN(
"(%p)->(%p)\n",
This, aTitle);
1798 TRACE(
"(%p)->(%p)\n",
This, aSiteWindow);
1800 *aSiteWindow =
This->hwnd;
1827 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1833 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1839 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1880 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1886 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1892 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1905 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1924 return nsIWebBrowserChrome_QueryInterface(&
This->nsIWebBrowserChrome_iface,
riid,
result);
1930 return nsIWebBrowserChrome_AddRef(&
This->nsIWebBrowserChrome_iface);
1936 return nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
1946 if(!
This->weak_reference) {
1948 if(!
This->weak_reference)
1952 This->weak_reference->ref = 1;
1953 This->weak_reference->nscontainer =
This;
1956 *_retval = &
This->weak_reference->nsIWeakReference_iface;
1957 nsIWeakReference_AddRef(*_retval);
1970 nsIWebBrowserSetup *wbsetup;
1977 ERR(
"Creating WebBrowser failed: %08x\n", nsres);
1983 ERR(
"SetContainerWindow failed: %08x\n", nsres);
1987 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIBaseWindow,
1988 (
void**)&nscontainer->
window);
1990 ERR(
"Could not get nsIBaseWindow interface: %08x\n", nsres);
1994 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebBrowserSetup,
1997 nsres = nsIWebBrowserSetup_SetProperty(wbsetup, SETUP_IS_CHROME_WRAPPER,
FALSE);
1998 nsIWebBrowserSetup_Release(wbsetup);
2000 ERR(
"SetProperty(SETUP_IS_CHROME_WRAPPER) failed: %08x\n", nsres);
2004 ERR(
"Could not get nsIWebBrowserSetup interface\n");
2008 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebNavigation,
2011 ERR(
"Could not get nsIWebNavigation interface: %08x\n", nsres);
2015 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIWebBrowserFocus,
2016 (
void**)&nscontainer->
focus);
2018 ERR(
"Could not get nsIWebBrowserFocus interface: %08x\n", nsres);
2031 if(!nscontainer->
hwnd) {
2032 WARN(
"Could not create window\n");
2036 nsres = nsIBaseWindow_InitWindow(nscontainer->
window, nscontainer->
hwnd,
NULL, 0, 0, 100, 100);
2038 nsres = nsIBaseWindow_Create(nscontainer->
window);
2040 WARN(
"Creating window failed: %08x\n", nsres);
2044 nsIBaseWindow_SetVisibility(nscontainer->
window,
FALSE);
2045 nsIBaseWindow_SetEnabled(nscontainer->
window,
FALSE);
2047 ERR(
"InitWindow failed: %08x\n", nsres);
2051 nsres = nsIWebBrowser_SetParentURIContentListener(nscontainer->
webbrowser,
2054 ERR(
"SetParentURIContentListener failed: %08x\n", nsres);
2056 nsres = nsIWebBrowser_QueryInterface(nscontainer->
webbrowser, &IID_nsIScrollable, (
void**)&scrollable);
2058 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2059 ScrollOrientation_Y, Scrollbar_Always);
2061 ERR(
"Could not set default Y scrollbar prefs: %08x\n", nsres);
2063 nsres = nsIScrollable_SetDefaultScrollbarPreferences(scrollable,
2064 ScrollOrientation_X, Scrollbar_Auto);
2066 ERR(
"Could not set default X scrollbar prefs: %08x\n", nsres);
2068 nsIScrollable_Release(scrollable);
2070 ERR(
"Could not get nsIScrollable: %08x\n", nsres);
2103 nsIWebBrowserChrome_Release(&
ret->nsIWebBrowserChrome_iface);
2116 nsIBaseWindow_SetVisibility(
This->window,
FALSE);
2117 nsIBaseWindow_Destroy(
This->window);
2119 nsIWebBrowser_SetContainerWindow(
This->webbrowser,
NULL);
2121 nsIWebBrowser_Release(
This->webbrowser);
2124 nsIWebNavigation_Release(
This->navigation);
2127 nsIBaseWindow_Release(
This->window);
2130 nsIWebBrowserFocus_Release(
This->focus);
2133 if(
This->editor_controller) {
2134 nsIController_Release(
This->editor_controller);
2139 nsIEditor_Release(
This->editor);
2143 if(
This->content_listener) {
2144 nsIURIContentListener_Release(
This->content_listener);
2153 nsIWebBrowserChrome_Release(&
This->nsIWebBrowserChrome_iface);
2164 nsres = nsIServiceManager_GetServiceByContractID(
pServMgr,
2166 &IID_nsIScriptSecurityManager, (
void**)&secman);
2168 ERR(
"Could not get sec manager service: %08x\n", nsres);
2172 nsres = nsIScriptSecurityManager_GetSystemPrincipal(secman, &nspri);
2173 nsIScriptSecurityManager_Release(secman);
2175 ERR(
"GetSystemPrincipal failed: %08x\n", nsres);
2179 nsres = nsIDOMWindow_QueryInterface(nswindow, &IID_nsIGlobalObject, (
void **)&nsglo);
2182 nsres = nsIComponentManager_CreateInstanceByContractID(
pCompMgr,
2186 ERR(
"Could not get nsIXMLHttpRequest: %08x\n", nsres);
2187 nsISupports_Release(nspri);
2188 nsIGlobalObject_Release(nsglo);
2192 nsres = nsIXMLHttpRequest_Init(nsxhr, nspri,
NULL, nsglo,
NULL,
NULL);
2194 nsISupports_Release(nspri);
2195 nsIGlobalObject_Release(nsglo);
2197 ERR(
"nsIXMLHttpRequest_Init failed: %08x\n", nsres);
2198 nsIXMLHttpRequest_Release(nsxhr);
int strcmp(const char *String1, const char *String2)
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 SHGetFolderPathW(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath)
HRESULT WINAPI UrlUnescapeW(LPWSTR pszUrl, LPWSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags)
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)
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_SUCCEEDED(res)
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
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)
static const WCHAR controlW[]
#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)